西门子200的micro/win软件和西门子300的STEP7软件中关于减法的梯形图指令有3种,即整数的减法、双整数的减法以及浮点数的减法(也就是实数的减法),请看下图:
这是西门子200micro/win软件中我在主程序中简单写的一段程序,网络1利用SM0.1给MW0,MW2,VD0,VD4赋予了初始值。网络2就是做减法,SM0.0是一直接通的,所以这个减法就是一直在减。
可以看到SUB_I就是整数减法即16位变量的减法,用IN1-IN2的值存放在OUT中。SUB_DI就是双整数的减法即32位变量的减法,也是IN1-IN2=OUT。
上边这2种都是整数,所以IN1和IN2的值都不能带小数点。
SUB_R就是实数的减法,实数也是32为变量但是是可以带小数点的,同样也是IN1-IN2=OUT。
西门子PLC中规定实数的小数点最到后六位,所以3.141593,小数点后只有6位!
来看一下程序运行的结果吧:
这个图片就是运行后的结果,因为SM0.1就第一个扫描周期为1,所以监控的时网络1的能流看着就不通了。
网络2,计算出的结果是MW4=0,VD8=+100000,VD12=2.010183。
到这里我想您已经明白西门子200PLC中梯形图减法指令的用法了,200smartPLC软件中的指令和200mirco/win中的一样,都是SUB_I,DI,R等,所以他们的用法完全一样。
西门子300step7软件中也是和200mirco/win中的一样,也都是是SUB_I,DI,R。
在西门子的博图软件中,虽然梯形图下的SUB指令块只有一个,但是其数据类型比200和300PLC中进行了更多的细分,比如它有64位长度的实数,所以在博图软件中使用的是时候,也要保证IN1和IN2的的数据类型和与指令所选的数据类型一致!