一、OPC工作原理
OPC采用客户端/服务器模式,在客户端和服务器端都各自定义了统一的符合OPC标准的接口,此接口具有不变特性。接口明确定义了客户同服务器间的COM方式的通信机制,它是连接客户同服务器的桥梁和纽带。
由设备厂家或第三方开发出现场设备的访问接口(驱动及总线协议),并将其封装到OPC服务器中(硬件驱动模块)。
客户通过OPC标准接口实现与服务器的数据交换。当OPC客户端与服务器在同一台计算机上时,客户端通过COM进行本地过程调用(LRC)服务;当客户端与服务器不在同一台计算机上时,客户端通过DCOM进行远程过程调用(RRC)服务与服务器进行通信。
当OPC客户端访问服务器时,服务器程序就会为其打开一个进程实例,此时需要考虑三种情形:
- 若OPC Server只允许一个用户访问,如果已有一个实例,则其它用户无法访问。
- 若Server允许多个用户访问,随着用户增多,实例也会增加,会占用更多计算机资源。
- 硬件抢占问题,比如串口,当一个用户使用了,其它用户就无法使用。应用程序开发人员在设计客户端OPC接口程序时必须包含释放接口的函数,否则即使OPC客户端退出与服务器的连接,服务器上对应的进程实例也不会关闭,它会继续占用服务器系统资源。
二、OPC系统配置
当OPC客户端与服务器在同一个主机上时,客户端会自动搜索并找到本机所安装的所有OPC服务器。而当OPC客户端与服务器不在同一主机上时,客户端与服务器之间以DCOM方式通讯。这时,为保证连接正确,客户端与服务器都需要分别对DC