我在论坛中看到这样两段程序:
1:
量程是0-1.0MPA,输出的是4-20MA的电流信号
LD SM0.0
MOVD 0, AC0
MOVW AIW0, AC0
-I +6400, AC0
DTR AC0, AC0
MOVR AC0, VD0
/R 25600.0, VD0
vd0就是压力值
2:
量程是1-2.5MPA,输出的是4-20MA的电流信号
LD SM0.0
ITD AIW0, AC0
DTR AC0, AC0
*R 1.5, AC0
+R 16000.0, AC0
MOVR AC0, VD0
/R 25600.0, VD4
vd4就是压力值
这个程序我看明白了,我的疑问是第一段程序是将AIW0存入AC0然后减去6400之后才将这个结果转化为实数,而第二段程序的先将AIW的数值转化为实数之后才参与数学运算的,我想知道第一段程序是否有误?转化为实数的顺序是否对程序有影响?还有在何种情况下必须将整数转化为实数来运算?呵呵,问题有点多。
最佳答案
减去6400是因为你的输入是4-20MA 200的是对应0-20ma 所以减去6400(4ma)
转成实数 是因为计算的时候会出现小数点 所以必须转换
转化为实数的顺序对程序没有有影响
在有小数点情况下必须将整数转化为实数来运算
提问者对于答案的评价:
希望你说的是对的,转换成实数的顺序不影响计算的结果。保守的做法还是采用程序2中的,先转化成实数之后再参与计算。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348954.html