登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:FX1N如何改变一个数的正负号!

点击:1309 回复:8

已知D100和M1
D100永远是正数,现在要用M1的开和关决定正和负再转存到M101
比如M1断开,D100=123    转存后D101=123
     M1闭合,D100=123    转存后D101=-123
听说改变最高位就是正负号,但怎样单独改写那个最高位呢?
10-07-25 01:01
由于在PLC中,负数用补码表示,一个直观的办法是,在M1接通时,将D100值(16位二进制数)与HFFFF进行异或运算,然后加1存入D101。
10-07-25 10:05
用0减去原来的数再放到D101中去
10-07-25 12:42
1楼高深型,2楼才是机灵型!
比起我的方法,一个一个的最反,快多了!
两个都高手!
10-07-25 22:28
3楼回答,看似简单,却显示出了功力!
我想了一下,才弄出个费力的方法。
不知还有其他方法没有,复杂简单均可。
10-07-26 09:33
乘以负一
10-07-26 17:28
ldi m1
mov d100 d101
ld m1
MUL K-1 d100 d150  16位乘法结果占双位,这里D150是占两位的(D150,D151)
mov d150 d101  因为原来值是16位的,结果取低16位就好
最后修改:2010/7/26 21:37:29
10-07-26 21:35
NEG D101就可以了
10-07-27 10:51
FX1N是没NGE指令的
10-07-28 02:49

工控新闻

更多新闻资讯