登录
首页
PLC论坛
三菱Mitsubishi
回帖
发帖
正文
主题:FX1N如何改变一个数的正负号!
点击:1301 回复:8
楼主
编辑
引用
管理
强劲型
已知D100和M1
D100永远是正数,现在要用M1的开和关决定正和负再转存到M101
比如M1断开,D100=123 转存后D101=123
M1闭合,D100=123 转存后D101=-123
听说改变最高位就是正负号,但怎样单独改写那个最高位呢?
10-07-25 01:01
1楼
编辑
引用
管理
qlin
由于在PLC中,负数用补码表示,一个直观的办法是,在M1接通时,将D100值(16位二进制数)与HFFFF进行异或运算,然后加1存入D101。
10-07-25 10:05
2楼
编辑
引用
管理
fumz78
用0减去原来的数再放到D101中去
10-07-25 12:42
3楼
编辑
引用
管理
强劲型
1楼高深型,2楼才是机灵型!
比起我的方法,一个一个的最反,快多了!
两个都高手!
10-07-25 22:28
4楼
编辑
引用
管理
qlin
3楼回答,看似简单,却显示出了功力!
我想了一下,才弄出个费力的方法。
不知还有其他方法没有,复杂简单均可。
10-07-26 09:33
5楼
编辑
引用
管理
ZHTOK
乘以负一
10-07-26 17:28
6楼
编辑
引用
管理
sankyo_feng
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
7楼
编辑
引用
管理
pxwtwo
NEG D101就可以了
10-07-27 10:51
8楼
编辑
引用
管理
强劲型
FX1N是没NGE指令的
10-07-28 02:49
工控新闻
全球视野 算领未来,施耐德电气助力数据中心把握智算机遇
人工智能赋能新型工业化痛点在哪里?
国内首台电力场景人形机器人“揭开面纱”
SICK亮相德国SPS自动化展,与客户携手共创价值
后摩尔时代的创新:在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用
罗克韦尔自动化发布年度《智能制造现状报告:生命科学版》
第一!华为云领跑工业大模型市场,加速工业数智跃迁
Arm Tech Symposia 年度技术大会顺利收官,继续构建面向未来的 AI 计算平台
更多新闻资讯