关于一个程序的疑问

我在论坛中看到这样两段程序:
 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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午11:54
下一篇 2021年7月4日 下午11:54

相关推荐

发表回复

登录后才能评论