我现在的需求是用一个上位机程序通过OPC方式读写十几个下位PLC的数据,数据量不是特别大,PLC完成一个工序就需要读写一次,大约是每秒钟就会有几次读不同PLC,我们有点担心轮询或者DataChange事件会比较慢。所以想要找一个更好的方法。
现在我想到的办法是:在每个PLC里面做一个标志位,当PLC完成工序后就给它赋值为1,通过DataChange事件通知上位机程序,然后上位机程序再读这个PLC里面的数据,读完之后上位机再去给标志位赋值为0.
请问,还有别的什么好办法吗?OPC
现在我想到的办法是:在每个PLC里面做一个标志位,当PLC完成工序后就给它赋值为1,通过DataChange事件通知上位机程序,然后上位机程序再读这个PLC里面的数据,读完之后上位机再去给标志位赋值为0.
请问,还有别的什么好办法吗?OPC
PLC里面用布尔量更简单吧。1就是工序完成等待上位机读数据,0就是上位机读数据完成。如果用递增加一的话,需要在上位机保存上一次的数,不然不知道什么时候开始读数,那就是要把这个序列号存在数据库了。