VS2017版本下的OPC客户端程序开发(1)
OPC是什么
OPC是目前工业环境下应用最广泛的数据通讯手段。
这个说法其实太过简略,但是对于刚刚接触OPC开发的新手来说,也足够用了。
什么,你不是新手?
… …
不是新手你来这里干嘛?
OPC的诞生
OPC这玩意诞生在1995年。当时五家工业软件开发公司坐在一起吵了整整4个月,还有一家专业的软件公司坐在一边当特别顾问。没错,这个特别顾问就是微软。
微软做顾问的地方自然少不了COM技术的应用,这也是OPC技术实现中一项非常重要的内容。所幸对于使用者来说,我们不必从头开始了解COM技术的细节,就可以使用它。
OPC服务器与OPC客户端
OPC标准将针对PLC的访问变成了针对OPC服务器的访问。这使得一套按照OPC标准开发的客户端应用程序可以连接到任何一个OPC服务器,在这之前想要连接不同类型的PLC,程序员必须搞懂对应PLC的通讯协议。
OPC客户端可以做什么
通过连接不同的OPC服务器,OPC客户端可以连接不同类型的PLC,读写其中的变量,反馈到实际应用中就是读取工艺参数,自动控制动作…
如何开发OPC客户端程序
- 引用OPC相关的组件
- 使用OPC协议中定义的OPCServer,OPCGroups,OPCGroup,OPCItems,OPCItem实现数据读写。
- 如果乐意,封装一个操作OPC的类。
当然,在这之前你应当了解一下OPC通讯的基本常识。这里有几个必须弄清楚的概念,首先最重要的三个概念是OPCServer和OPCItem。
OPCServer是通讯数据的来源,它相当于工业环境中的所有PLC。
接下来是OPCItem,它相当于某台PLC中某个内存区域的某个变量。
那么什么Groups,什么Group是什么玩意?
这些东西是为了便于分类而存在的。一个实际的例子就是:工业环境下可能具备多台PLC,如果其中一台关机或者掉线,我们的应用程序又没有对这些PLC中的变量进行分组,那么有可能会产生关联性的影响 – 大面积的失去响应。
基本的OPC客户端工作的时候,一般遵循下面这样的步骤:
实例化一个OPCServer类