《OPC协议在自动控制网络系统中的应用.docx》由会员分享,可在线阅读,更多相关《OPC协议在自动控制网络系统中的应用.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、OPC协议在自动控制网络系统中的应用OPC协议在自动控制网络系统中的应用导语:OPC(OLEforProcessControl,用于经过控制的对象链接与嵌入)是一个工业标准,它是许多世界领先的自动化软、硬件公司与微软公司合作的结晶。摘要:OPC(OLEforProcessControl,用于经过控制的对象链接与嵌入)是一个工业标准,它是许多世界领先的自动化软、硬件公司与微软公司合作的结晶。它由一系列用于经过控制和制造业自动化应用领域的标准接口、属性和方法组成。对于消费现场有OPC协议的企业来讲,综合自身实力选择合适自己的平安防护产品显得越来越重要。而对OPC协议的解析到指令级还不够,后续还需要
2、深度解析到OPC协议操作指令所操作的对象是否在平安范围内。关键词:自动控制网络;OPC协议;平安性中途分类号:TP9文献标识码:B前言OPC全称是OLEforProcessControl,它的出现为基于Windows的应用程序和现场经过控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断晋级,往往给用户和软件开发商带来了宏大的工作负担。通常这样也不能知足工作的实际需要,系统集成商和开发商急迫需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微
3、软公司的OLE技术为根底,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE2技术,OLE标准允许多台微机之间交换文档、图形等对象。一些与微软公司合作的自动化硬件和软件供给商结合制定了一套称为OPC标准的OLE/COM接口协议,以此来进步经过控制工业中的自动化/控制应用程序,现场系统/设备和办公室应用程序之间的互操作性。可以讲OPC是工业监控软件的现场总线,其根本思想是:每个硬件供给商为其设备开发一个通用的数据接口即OPCServer,供其它系统读写信息,客户应用软件可以以通过OPC标准的接口来读写硬件设备的信息作为OPCClient。由于硬件供给商通常将硬件驱
4、动程序封装成OPCServer单独出售,这样作为OPC数据客户端的上层应用,可以不包含任何通讯接口程序,不必关心底层硬件内部的详细细节,只需遵循OPC数据接口协议,就可以从不同的硬件供给商提供的OPC数据效劳器中获得数据。目前OPC协议有两个大类,一种是基于微软COM/DCOM技术的“Classic,另一种是基于Webservice的OPCUA。前者在DCOM协议之上,诞生较早,已广泛应用在各种工业控制系统现场,成为工业自动化领域的事实标准。后者与前者比出生较晚,但在设计时考虑了平安因素,有了加密机制,不过目前应用范围较小。本文主要讨论的是前者在工控系统中的防护。微软的DCOM协议是在网络平安
5、问题被广泛认识之前设计的,而基于DCOM协议的OPCClassic根本没有增加任何平安相关的特性,几乎所有著名的工业自动化软件(包括HMI软件、先进控制与优化软件、监控平台软件、综合集成软件等)都是基于windows平台开发,都采用或者局部采用了OPC技术,所以对使用OPC协议进展通信的工控系统进展防护也变得复杂和困难。1效劳器动态端口OPC效劳器是根据各个供给厂商的硬件所开发的,使之可以消除各个供给厂商硬件和系统的差异,进而实现不依存于硬件的系统构成。同时利用一种叫Variant的数据类型,可以不依存于硬件中固有的数据类型,按照应用程序的要求提供数据格式。OPC可以称为“软件总线,应用程序只
6、知道怎样读取OPC数据源,进而可以更加容易、通用、简单。设备驱动端(OPCServer)只知道怎样将现场数据转换为OPC统一格式的数据。高速的数据传输性能。基于分布式COM的平安性管理机制。开发本钱的降低。系统界限明确,能降低故障诊断和维护费用与大多数应用层协议不同,OPC的根底协议DCOM协议使用动态端口机制,在真正建立数据连接之前通讯双方还需要协商需要使用的端口。OPC客户端使用5568作为源端口首先向OPC效劳器的135端口提议连接,连接成功后再经过OPC效劳器分配新端口1118,并通过接口ISystemActivator的方法RemoteCreateInstance的应答报文返回给客户
7、端,之后客户端使用5569作为源端口向效劳器的1118端口提议新的连接用来后面的真正数据的传输。面临的平安威胁基于OPC协议的工控网络系统面临各种各样的威胁。在“两网交融的大背景下,工业控制系统的隔离性被打破,面临来自网络的威胁空前加剧。无用端口的开放、工业软件依赖的操作系统本身存在的平安破绽、工业协议本身平安性的缺失等等都将给工业控制网络带来宏大的平安隐患。在真正接入到企业管理网、互联网之前,基于OPC协议的工业控制系统必须参加相应的平安设备进展防护,才能进步自身网络的平安。由于OPC协议不同与传统的IT应用层协议,对OPC协议的解析深度决定了平安产品在工业控制系统平安防护中的真正作用。2平
8、安防护方案比拟2.1传统IT系统防火墙假如在基于OPC协议的工业控制系统中安装传统IT系统防火墙(以下简称:传统防火墙)进展防护,由于传统防火墙不支持OPC协议的任何解析,为了可以保证OPC业务的正常使用,不得不开放OPC效劳器的所有可开放端口,而OPC效劳器可以分配的端口号范围很广-假如OPC效劳器安装在WindowsServer2020,超过16000个端口号都可能被使用,早期的Windows版本那么超过了48000个端口号。传统防火墙部署示意图上图中传统防火墙安装在企业管理网和消费控制网的边界进展防护,由于OPC效劳器可能使用任何可使用的端口来进展真正的数据连接,而详细使用的端口号在响应
9、客户端恳求的应答报文中。传统防火墙无法识别出OPC效劳器详细使用的端口号,为确保OPC客户端可以正常连接OPC效劳器,防火墙需要配置全部端口可访问,这样的传统防火墙形同虚设,消费控制网的门口大开,几乎平安暴露在攻击者面前。2.2端口防护工业防火墙区别与传统防火墙,近年度来开展起来的专门用于防护工业控制现场的工业级防火墙根本支持了OPC的深度解析,但根据解析深度的不同,在OPC协议为根底的网络中,工业防火墙的防护才能也有所不同。对OPC进展简单解析的工业防火墙可以跟踪OPC连接建立的动态端口,最小化的开放工业控制网络的端口。如下列图:端口防护级工业防火墙部署示意图端口防护级工业防火墙同样部署在企
10、业消费网和消费控制网的边界,此时配置策略只需要配置开放OPC效劳器的135端口,当OPC客户端与效劳器建立连接时,端口防护级防火墙跟踪并解析OPC效劳器与OPC客户端协商出来的动态端口,然后自动将动态端口参加到防火墙的开放端口中,进而最小化开放消费控制网的端口,与传统防火墙相比,防护才能有了进一步提升。2.3指令防护工业防火墙端口防护工业防火墙相比传统防火墙固然提升了防护才能,但攻击者仍然可以通过建立的数据通道发送恶意的OPC操作指令,所以仅仅做到动态端口跟踪还无法保证基于OPC协议的工业控制系统的平安。所以对OPC协议的进一步解析,催生了指令级防护工业防火墙,这也是目前市面上主流的工业防火墙
11、。OPC协议的深度解析要求也参加到了工业防火墙国家标准的草稿中(此标准尚未正式发布)。部署在企业管理网和消费控制网边界处的指令级工业防火墙,深度解析OPC协议到指令级别,不仅可以跟踪OPC效劳器和OPC客户端之间协商的动态端口,最小化开放消费控制网的端口,还对OPC客户端与OPC效劳器之间传输的指令恳求进展实时检测,对于不符合平安要求的操作指令进展拦截和报警,极大提升了基于OPC协议的工业控制系统的网络平安。除了做到指令防护外,还有更人性化一点的工业防火墙内置只读模板,知足使用OPC协议的大局部业务场景,因为使用OPC协议的工业控制现场一般只是用来收集数据,使用只读模板来防护完全知足现场平安要
12、求。工业防火墙内置的只读模板一键部署,平安、方便,降低管理员维护本钱,有效保障工业控制系统数据不被恶意篡改。3OPC数据收集方案比对OPC效劳器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:自动化接口Automationinterface;自定义接口Custominterface。自动化接口通常是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC效劳器的客户应用。而自定义接口是专门为C+等高级编程语言而制定的标准接口。目前OPC数据收集方案主要分为两大类:驱动程序法(Drive)和
13、动态数据交换法(DDE)3.1驱动程序法(Drive)驱动程序法(Drive)是针对不同的设备,通过编写定制一对一的的驱动程序和接口程序的方法来进展数据收集。1、尽管可以编写定制的驱动程序和接口程序,但因为多种不同类型的控制设备和软件包需要通信,使得程序的种类迅速的增长。不同设备供给商的驱动程序之间的不一致、硬件性能不能得到广泛支持、驱动程序不能适应晋级后的硬件和发生的存取冲突(两个应用程序因为使用互相独立的驱动程序,因此不能同时访问同一设备)。2、对于开发监控程序软件的技术人员来讲,有2030%的时间是用于编写通信驱动程序。应用软件的提供者花费过多的资金开发和维护专用接口,这不仅增加了用户的
14、负担,而且在实际上并不能解决不同系统的互操作性,在某种意义上,用户被他们的软件提供者所控制。3.2动态数据交换法(DDE)DDE即动态数据交换(DynamicDataExchange),是OLE技术的前身,是在微软的Win32应用程序接口(API)上所开发的应用程序之间动态地挪动数据的一种方法。DDE协议在应用程序间传送信息,使得应用程序分享数据和采用分享的内存交换数据。动态数据交换法(DDE)的缺点硬件制造商尽管认识到需要开发软件程序以连接他们的硬件,但受限制于他们开发通信驱动程序的才能,因此程序开发的选择范围只能局限在DDE和一个专用的DDE导出表之间。选择任何一个DDE进展程序开发,都有
15、可能要么限制用户对软件的选择,要么阻碍用户对硬件的承受。且由于DDE是基于Windows的消息(Message)传递而建立的技术,所以DDE技术存在以下的问题:(1)数据的传送速度较慢。(2)没有平安性的管理机制。(3)开发难度大。(4)功能缺乏柔韧性。(5)可靠性也难以令人满意。4结论今天的工业数据通讯,主要是按照自动化系统金字塔来组织的:在塔顶的计算机层,使用标准的IT协议互联网协议。对于机器间和经过通讯分布式控制器层而言,相较传统的基于以太网的M2M现场总线系统例如:PROFINET、EtherNet/IP、EtherCAT、Modbus/TCP、CC-LinkIE、POWERLINK、SERCOSIII,而OPCUAIEC625412的重要性正在迅速进步。对于消费现场有OPC协议的企业来讲,综合自身实力选择合适自己的平安防护产品显得越来越重要。而对OPC协议的解析到指令级还不够,后续还需要深度解析到OPC协议操作指令所操作的对象是否在平安范围内,对操作对象的值进展平安检测,确保OPC协议发送的每一个字节都是可识别、可控制、平安无害的。
限制150内