S7 200 PLC 数据传送指令、加法指令的问题

①数据传送指令的输入数据可以是负整数吗?也就是说,可以将一个负整数用数据传送指令传送到一定的存储区域吗?比如说,可以将-2用MOV_W传送到VW100中吗?在VW100中的-2是以补码的形式表示的吗?可以将-2用MOV_B传送到VB100中吗?
② 加法指令:ADD_I输入的两个数可以是负整数吗?比如:可以将-1和-2用ADD_I进行相加吗?
③:-1和-2相加,用ADD_I和ADD_DI有什么区别吗?
④ 如果要完成10000和20000的相加,此时是不是不能使用ADD_I而只能使用ADD_DI?
----------------逐条回答,谢谢!

(1)数据传送指令的输入数据可以是负数,这个没有问题的,具体你可以编一个小程序,然后在线运行,通过状态表观察V区中的数据

(2)可以,不要忘了,负整数也是整数,不是补码形式保持的,如16位数据,可以有有符号16位整数(最高位是1时表示负数,代表符号位),无符号16位整数,最高位是数字位。可以用MOV_B将-2传到VB100中,前提是存储-2的变量是一个带符号的8位整形变量。

(3)ADD_I是16位整数相加(字相加),ADD_DI是32位整数相加(双字相加)

(4)是的,相加的结果超过了25536(这个数字可能记错了),超过了16位整数导致计算结果溢出,所以要用ADD_DI


如果你要学习,还是直接查看西门子PLC的帮助最好,西门子的帮助做的非常好,一定要常按F1,非常有用。如果你是win7安装micwin无法打开帮助,试试这个,Windowsupdate安装即可

温馨提示:答案为网友推荐,仅供参考