labview通过OPC与PLC通讯,第一次读取值错误!
时间:10-02
整理:3721RD
点击:
我做了一个简单的调试程序,一个事件结构,内容是读取PLC中M20.0这个变量的值。
这个变量的值一直是置高(即TRUE)的。但是在运行过程中,第一次读取的却是FALSE,第二次及后面的才能读到TRUE。无论点击快慢,无论是否等待,都是这个结果。
这个是OPC变量设置的问题,在OPC变量设置中 【网络】,将缓冲区设置勾掉
把变量放在事件外面,实时读取,只是在事件时赋值到显示空间就行了
OPC建立的变亮需要实时把变量里的值读出来,不然会在变量里累积,导致读取延迟,我是这么理解的!
唔,拿出来第一次读取的还是错误的,不过有解决方案,就是像你说的放在外面,然后给事件结构加超时。这样第一次错误的数据就会进入超时结构从而无效,再点确定的时候就是正确数据了。
这个问题貌似不影响实际使用,不停地扫这个值就行了,实时性也没有那么强的要求。不过还是值得研究。
应该是你PLC中M200这个变量最开始默认状态是FALSE,当程序第一次运行时就是FALSE,你可以将这个变量的默认状态设置成TRUE
唔,那如何修改这个默认值呢?
谢谢,你说的这个我没有试过,不过应该是非常有可能的,我有时间试一下。
我也正学Labview
谢谢分享