从图上看,的确是超出了整数的范围了! evenio 回答是正确的!
整数范围:-32768 -- 32767
程序的工作流程:
首次扫描:
网络1:VW80 = 5
网络2: VW80 = 3000
网络3:VW80 = 3000
第二次扫描:
网络1:不执行
网络2: VW80 = 3000*600 = 1800000 超出-32768 -- 32767范围了,程序报错!不进行运算!
网络3:VW80 = 3000 (这个就是监控所看到的!)
如果你的程序使用MUL指令输出VD80(vw80,vw82)的话,程序扫描到第三次后才能出现超出范围了,程序报错!
这个时候你的VW82(好像是VD80的低字,忘记了)就不一定是3000了;
程序你看看能不能这样改!
把网络2
MUL_I 运算的结果不要放在VW80中,改成VW82或其他未使用的地址,
网络3 将VW80改成VW82或其他未使用的地址,
这样你的HMI就不用改了!
希望能帮到你!
感觉是超出存储范围了。你把SM0.0改成沿信号触发试试