1 OPC简介
OPC,即OLE for Process Control,是一个基于微软的OLE、COM和DCOM技术的工业标准。随着九十年代自动化系统的快速发展,为了访问设备中的自动化数据,各大自动化厂家开发了各种标准的自动化软件,此过程使用了无数不同的总线系统、协议和接口。为了消除自动化软件和硬件平台之间互操作性的障碍,OPC基金会提出了OPC标准,为不同厂家的设备通讯建立了一整套开放的接口、属性和方法标准集。
虽然OPC解决了设备的跨厂商平台通讯的问题,但是它依赖于Windows的COM/DCOM技术,这使得它不能在Linux或其它系统中使用。此外,在实际应用过程中,需要对OPC客户端和服务器进行复杂的DCOM配置。而且,Windows系统中系统组件容易受到其它应用的影响,通讯不稳定,不适合远距离通讯,一般只能在厂级局域网内通讯,一旦通讯中断还需要重新配置项目,并添加数据标签。同时,OPC的安全性较低,其安全性更多的是基于Windows系统,而不是在OPC规范中定义安全机制。
为了解决以上问题,OPC基金会在OPC基础上开发出新一代OPC技术——OPC UA,实现了不同系统和不同协议设备之间的相互通信。
为区分两代OPC技术,上一代OPC技术我们一般称为OPC Classic,新一代的称为OPC UA。
2 DA和UA转换连接的必要性
目前的工业生产,尤其是制造业中,很多设备以及控制系统基本都采用OPC DA进行数据交互。随着工业4.0的快速推进以及OPC UA的迅速发展,OPC DA已经处于逐步淘汰的阶段,新的工业设备基本都支持OPC UA,信息化工厂的建设使得整个行业范围内OPC DA到OPC UA升级的需求越来越大。
在工厂的升级改造过程中,如果继续使用支持OPC DA的老旧设备和控制系统,那么将会为工厂带来额外的维护成本以及故障损失;如果直接淘汰所有老旧设备和控制系统,升级到支持OPC UA的对应产品,那么工厂将会面临巨大的采购开销以及折旧浪费等问题;而如果混合使用新旧设备,由于OPC DA和OPC UA完全不兼容,新旧设备之间无法进行数据交互,工厂无法进行数据统筹管理。
为了解决工厂的升级难题,虹科为信息化工厂建设提供一个OPC DA和OPC UA转换连接的解决方案——OPC UA Tunneller软件,该软件一共有两大功能,一个是OPC DA的远程连接,另一个是OPC DA与OPC UA的转换连接。软件的系统框架如下图所示。
对于OPC DA远程连接功能,Tunneller软件使用COM与本地OPC组件通信,但彼此之间使用安全的、基于TCP/IP的连接,通信前不需要进行复杂的DCOM配置。同时,传统OPC DA跨防火墙通信时没有固定使用范围的端口,而Tunneller软件则是选择一个专有端口进行数据传输,所以更加稳定。
此外,使用Tunneller软件进行OPC DA通信可不受到Windows DCOM更新的影响。在2021年6月8日,为了解决CVE-2021-26414中描述的安全漏洞,微软更新了Windows系统强制执行DCOM安全通信的方式,需要OPC DA的应用程序支持数据包完整性级别的身份验证。如果应用程序不支持此级别的身份验证,一旦Windows进行更新,那么OPC DA客户端无法连接远程的DA服务器,客户无法通过更改Windows的安全设置来解决此问题。
对于OPC DA和OPC UA的转换连接功能,Tunneller软件使用UA Wrapper将DA服务器包装成UA服务器实现OPC UA客户端和OPC DA服务器之间的通信。同理,Tunneller软件使用UA Proxy将UA服务器包装成DA服务器实现OPC DA客户端和OPC UA服务器之间的通信。
因此,通过使用Tunneller软件,可以解决工厂新旧设备之间数据交互问题,保证工厂设备的平稳升级。
3 服务器聚合管理与安全连接
随着工业4.0的快速推进,越来越多的企业都在用OPC UA技术构建信息化工厂的全局连接。尽管车间和现场OPC UA数据源的快速增长能够帮助工厂实现数字化、智能化和信息化,但是数据源的管理也是一大头疼的问题。
传统OPC UA连接需要每个客户端和服务器之间分别建立连接,这种方式会极大地增加一个客户端同时连接多个服务器的管理成本。之前我们就遇到过一个客户,客户大概有上万台设备,即使使用OPC UA软网关通过群管理的方式进行管理,后续会有大概上千个OPC UA服务器,而且也会增加额外的设备安装和维护成本。
此外,OPC UA是一个客户端/服务器(C/S)通信架构,需要客户端发起连接请求,通过防火墙的入站端口找到服务器,从而建立连接。然而从IT角度讲,这是不安全的。因为OPC UA客户端在北向,OPC UA服务器在南向,从北向到南向建立连接需要防火墙设置入站端口,存在潜在的安全风险,而且防火墙本身就是为了进行数据隔离。
为了降低工厂OPC UA服务器的管理成本以及保证OPC UA服务器的安全连接,虹科为信息化工厂建设提供一个服务器聚合管理和安全连接的解决方案——Data Broker软件,该软件的系统框架图如下图所示。
在信息化工厂建设过程中,Data Broker软件不仅可以聚合管理多个OPC UA服务器,还可以多级别聚合管理,即Data Broker聚合管理一定数量的OPC UA服务器后,自身也可以作为OPC UA服务器和其他的OPC UA服务器被另一个Data Broker软件再次聚合。通过单个高精度可扩展的访问点即可多级别地设置和控制OPC UA服务器,简化了系统的配置和连接,降低了服务器的维护和管理成本。对于支持低级别OPC UA的设备,Data Broker软件可以保护它们免受更高级别连接以及多个连接的影响。而且,无论OPC UA客户端处在哪一个级别上,Data Broker软件可以保留OPC UA服务器数据粒度。
在实际应用中,信息化工厂通常需要利用防火墙来保证数据的安全。Data Broker软件另一强大功能是可以使OPC UA服务器发起反向连接,从而无需打开防火墙入站端口。只允许从信任区域到不信任区域建立连接,防止打开防火墙入站端口而带来的潜在风险,最大程度地实现OT数据的安全传输。
4 实例解读
下图是我们一个用户的实际应用案例系统框架图,他们通过OPC UA构建了信息化工厂从底层设备到工厂MES/ERP系统的全局连接,实现了OT与IT之间的数据传输。
由于客户工厂中的底层设备数量和种类较多,支持的通讯协议也各不相同,为了采集底层设备的数据,不同种类设备的解决方案也各不相同。
对于不支持OPC DA 的设备,用户通过OPC Server软件来获取设备数据,并提供一个OPC DA服务器的接口以此和OPC DA客户端进行数据交互。
对于重要的OPC DA服务器,用户建立了对应的冗余服务器,OPC DA客户端通过OPC Redundancy软件实现主备服务器的快速切换,防止由于单个设备故障影响工厂的生产力;此外,用户还通过OPC Funnel软件对工厂中的多个OPC DA服务器进行聚合管理,降低服务器的管理和维护成本。
然后,通过OPC UA Tunneller软件将聚合后的OPC DA服务器转换成OPC UA服务器。
对于不支持OPC UA的设备,用户通过OPC UA SDK在设备上集成一个OPC UA服务器,最后再使用Data Broker软件完成OPC UA服务器的聚合管理以及跨防火墙的安全连接,至此通过OPC UA顺利将数据上传到工厂MES系统或云平台,与工厂ERP系统进行数据交互,完成底层设备数据的共享。
5 总结
综上所述,虹科提供的一站式OPC解决方案不仅可以实现OPC DA和OPC UA的转换连接,还可以实现OPC UA服务器的聚合管理以及跨防火墙的安全连接,解决用户信息化工厂建设过程中新旧设备之间的数据交互、传统OPC UA服务器管理和连接等难题、实现底层设备数据的共享,由此帮助用户构建信息化工厂的全局连接。