有一个疑难杂症。 寄存器的数据会改变,比如图中VD3992我用加法或减法,传送 做实验,在程序块中给VD3992写入476,约4分钟后就会变成1,如果VD3992是浮点数,写入476.0,约4分钟后就会变成NAN. 我确认这个VD3992只在程序中用一次(因为换了好多次地址了,都是上面的结果)。
我想问问题出在哪里,为什么在程序中用过这个寄存器地址的数据,每次改完后就会变成1或者NAN。 程序中不用到的VD3996,直接在状态表中写入数据给VD3996完全不受影响?而VD3992这个地址换了好多次了, 换过VD572,VD972,数据类型从INT32 换成REAL,就是出问题。搞不明白
图片说明:
最佳答案
VD3992的周边变量地址均查过?
你重新创建一个新项目,单独做这些验证。
交叉引用无法搜索到的变量应用,如指针的调用,V、VB、VW、VD地址区域的覆盖等。
主要real数据类型的计算,需要将参与计算的数据先转换到real类型后再进行计算。
如果,你方便给出这个程序,把程序放到论坛200smart版块上,我给你找找。
提问者对于答案的评价:
非常谢谢你,经常帮助我。我的程序太烂,不好意思晒出。 这个问题我好像发现了和物联网中添加了这个变量有关。 在物联网中删除这个变量这好了。 奇怪的是别的项目也有物联网没有这个问题
最佳答案作者回复:
解剖自己,就是提高自己的开端。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc345714.html