OPC客户端开发备忘录

  最近研究PC和PLC通讯,晚上睡觉冒出一些想法,觉都没睡好。于是早上起来写个备忘,纯粹是个人想法。

  以三菱PLC和PC通讯举例,我个人三菱PLC用的最多。OPC服务器选用三菱自家的MX OPC SERVER,网上可以下载到6.05版本,感兴趣的网友自己搜下就能找到。

  打算用C#作为上位机,想了几种方案。静态是我个人想的词,是预先定义好,需要持续通讯的意思。

1、opc服务器静态,opc客户端静态

  opc服务器定义所有通讯用到的标签,opc客户端激活所有项。

2、opc服务器静态,opc客户端动态

  opc服务器定义所有通讯用到的标签,opc客户端只激活当前项。

3、opc服务器动态,opc客户端动态

  opc服务器不定义标签,opc客户端根据打开的窗口,动态订阅标签,opcserver也动态创建标签。

以上三种方案,如果分层讨论,应该是:

  第一层:驱动获取数据并推送到GroupDataChange.

  第二层:客户端接收变化的Item,如果画面使用了该item则驱动界面发生变化。  

  opc服务器不管静态还是动态,只要创建后对于GroupDataChange来说都是一样的。

  疑惑的地方在于opc客户端的订阅,是一次性注册全局变量,以后不再注册,还是打开哪个画面,就注册该画面的item,关闭即消失,下次打开再重新注册?

原文地址:https://www.cnblogs.com/hryan/p/7965388.html