在Zui近的一个项目中,编程范了个错误,跟 大家分享一下:
先看程序 (2个累加程序 ):
程序运行一切正常,正常累计
M1.5为1S脉冲
运行了一段时间后,发现MW3000的累计可以正常累计到3769后清零,MD2000总是计不到123456,这个问题郁闷了很久。
后来查看了加法指令的帮助,发现了问题:
加一个16位数,范围为-32768 to 32767,问题找到,进行测试
把MD2000给定65530,累计到65536时,数据清零,看来就是加法指令没用好啊
把程序修改为以下可以解决:
L MD 2000
+ L#1
T MD 2000
把1变为32位数
或者改为
L MD 2000
L 1
+D
T MD 2000
看似一个小小的编程问题,说明了平时的编程不严谨,对SIEMENS的指令理解的还不够透