恭喜,你发布的帖子
发布于 2022-05-20 09:27:36
12楼
初步看了下,一个值按浮点解释,另一个值按整数解释。
版主可以看看 7L 的截图
T52前为true,说明 VD128 > VD168
T53前为false,说明 VD132 < VD168
但根据监控, VD128 = 2.9828,VD132 = 2.9975,得出 VD132 > VD128,
都是浮点比较,不管VD168显示格式是什么,值是多少,都上面结论矛盾了,嗯,前提是期间值没变的话;
-------------------
首先,VD168是HMI下置的,那HMI上设置的值是不是监控上显示的浮点数 -1.3422,还是别的;
通过监控表查看 VD168 对应的原始的4个16进制数,通过工具转换成浮点和整型,能不能和监控上的值对应;
如果猜测是通信不停写入导致的,那去掉 HMI 等带来干扰的通信;
如果猜测是程序问题,那把中断或者是子程序,通过 rtn / jmp / 使能false,或者干脆直接删除代码,只跑这一段,看看效果;
通过编程软件手动修改VD168的值,看看监控的值和手动下置的值能不能匹配上;
判断前,通过blkmov,把 VD168 赋值给某组寄存器,判断后,再赋值给另一组寄存器,两组寄存器查看16进制数,进行比对;
等等。。。
多找方法试试,先找到问题;
-----------
也许初始化下PLC,升级下固件,或者是换个PLC,就正常了呢
请填写推广理由:
分享
只看
楼主