200程序问题

LDW>=  LW14, +6400
ANDW   16#7FF8, LW14
SRW    LW14, 3
MOVW   +0, LW12
DTR    LD12, LD16
-R     800.0, LD16
我没搞懂这句话有什么用

问题补充:
LD     SM0.0
MOVW   LW4, LW14

LDW<   LW14, +6400
MOVW   +0, LW10
MOVR   0.0, LD6
JMP    70

LDW>   LW14, +32000
MOVW   +32000, LW14

LDW>=  LW14, +6400
ANDW   16#7FF8, LW14
SRW    LW14, 3
MOVW   +0, LW12
DTR    LD12, LD16
-R     800.0, LD16

LD     SM0.0
*R     LD0, LD16
/R     3200.0, LD16
MOVR   LD16, LD6
TRUNC  LD16, LD12
MOVW   LW14, LW10
我觉得这个程序是在捣糨糊。。。请各位大侠给我点评吓  感激万分   这是个模拟量的转化程序

最佳答案

12位数据模拟转化为数字量的存储格式
在单极性格式中,3个连续的0使得ADC计数值每变化1个单位,数据字中则以8为单位变化。

编程的人是省去了3个变化位,和16#7FF8相与把变化位先清零,在SHR右移3位 得到12数据位值,在进行模拟量转换,本来是
(AIW0-6400.0)/25600.0 的公式,由于已经右移了3位,所以
AIW0/8=LD16   代入公式,(LD16*8-6400)/25600  变为了
(LD16-800)/3200  得到一个0-1 的数字 在乘以LD0

提问者对于答案的评价:
TKS

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc314255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐