勇哥注:
各种设备都访问opc服务器,而C#开发的opc客户端只向opc服务端要数据。
这样opc服务器就帮我们屏蔽了底层设备的各种“方言”,我们不用懂“方言”也可以和它们通讯了。
opc的定义
如下图所示:
opc的全称是:OLE for Process Control
OLE是一种微软的技术,发展路线是: OLE-->ActiveX-->COM-->COM+
opc就是基于OLE技术的。
opc的作用就是屏蔽了下层的各种协议,上层只用访问opc服务,而不用访问具体的底层硬件。
opc的发展
按发展历史,分为两个版本:
1. opc DA
基于com组件的形式,跟windows平台强绑定
DA的意义:
DataAccess 数据取储, A&E(Alarm and Event) 报警模块
2. opc UA
opc ua不再使用ole技术,而是使用soa架构
这样可以做到跨操作系统平台。
即然是soa架构,所以传输层使用tcp工业以太网、甚至广域网都是没有问题。
那么老旧的设备是不是就不可以使用opc UA吗?
也不全是,可以使用转换软件,把opc DA的信息转为opc UA可以接受的信息。
OPC的架构:
4部分:
1。DataAccess 数据取储
2。A&E(Alarm and Event) 报警模块
3。HDA: History DataAccess 历史数据
4。opc DA的话: COM:com组件
opc UA的话: tcp/ip

