您好,欢迎访问一九零五行业门户网

*电厂DCS通信接口方案

随着分散控制系统(dcs)的广泛应用,机组的大部分实时数据需要通过dcs送入外部系统进行处理、存储和分析。我们对吉林热电厂引进honeywell公司的tdc3000系统进行仿真时,采用仿真界面与dcs动态数学模型相分离的方案,仿真界面利用工控软件开发,而数学模型直接使用dcs中数据处理单元(dpu)的流程图组态。因此,在开发dcs动态数学模型时如何安全、方便地与实际dcs进行数据通信来采集dpu流程图组态,成为模型开发以至于整个dcs仿真系统的重点。
本文在对现场的dcs进行充分分析的基础上,对传统接口的opc(oleforprocesscontrol)通信服务器、数据传输手段和安全隔离系统进行优化改进,进一步保证了dcs与仿真系统及其他外部系统接口的安全可靠性、性、通用性和可扩展性。本文阐述的通信接口是一个通用的dcs通信接口,不但服务于dcs仿真系统,而且电厂内其他需要采集dcs数据的系统(如fmis、稳定性分析等)都可通过本接口进行数据通信。
1、系统结构
吉林热电厂原来的内网与外网之间通过安装多块网卡的网关计算机进行通信,只是一个物理连接,而且没有提供接口服务与数据隔离装置。我们在网关计算机与外网之间加入一个独立的opc服务器和一个安全隔离装置(见图1),opc服务器提供了一组通用的数据通信接口服务,使外网的用户可以很方便地访问dcs的数据,不必再针对不同的系统开发特定的通信接口,在opc服务器上利用可扩展标记语言(xml)数据流引擎进程产生xml数据流,并通过安全隔离装置传输到外部系统网。安全隔离装置中采用2个主板,每个主板上安装不同的操作系统,对内安装unix系统,对外安装windows操作系统,由此来保证内外网的隔离,再利用安装在安全隔离装置中的同步数据通信传输卡完成2个主板之间的单向数据通信。这种优化的通信系统结构,既保障了dcs的安全性,又提高了与dcs通信的方便性和通用性[1,2]。
2、独立opc服务器的实现
目前,dcs一般都采用opc数据访问接口,它是一个基于组件对象模型(com)/分布式组件对象模型(dcom)技术的工业标准,解决了自动化控制应用、现场设备系统和管理应用系统之间的互操作问题[3],但opc接口是与dcs处于同一个进程空间中,在进行数据通信时会影响dcs的可靠性。将opc接口从dcs进程空间分离出来,从而成为一个独立的opc服务器,使其可以分布在网络的其他机器上,这样既保证了dcs的可靠性,又提高了opc接口的独立性、透明性和可扩展性等性能指标。
2.ldcs与opc服务器的体系结构
dcs与opc跨进程通信的基础是采用dcom,它建立在dcerpc(远程过程调用)标准协议之上。dcs与其opc服务器的通信体系结构如图2、图3所示。
在dcs进程中,数据库存储所有现场设备点的信息,包括组态信息和从现场采集的实时数据。从图2与图3的对比可以看出,实现opc的分离主要工作就是对dcsdb对象及idcsdb接口的设计。在opc服务器进程中,点设备对象就是点集合的意思,它利用封装的idcsdb接口指针通过dcom与不同进程甚至是不同机器的dcsdb对象互相通信。xml数据流进程则利用opc接口,通过dcom与opc服务器进程中的服务器对象和组对象进行通信。
opc服务器由3种不同层次的对象组成:服务器(server)、组(group)、点(item)。这3种对象的关系如图4所示。
设备点提供opc服务器与数据源的连接,是读写数据的zui小逻辑单位,即一个点代表一个设备变量。点由若干属性组成,一个属性包含4个域:id、数据类型、标准描述、值。dcs提供的信息主要是dcs实时数据库中的数据,还有dcs的运行状态、扫描频率以及dcs关闭事件等信息。对于opc服务器而言,实时数据库是dcs的主要特征。可以把dcs实时数据库看做是点的集合,每个点又是属性的集合。每个属性有固定的结构:id、数据类型、描述和值。
2.2接口设计
dcsdb对象是dcs的一个简单抽象模型,其接口idcsdb是dcs提供给opc服务器的通信接口,其功能不但要能满足二者之间的基本通信要求,而且还要很好地将二者隔离开,从而使dcs的改变不会影响其opc服务器。设计idcsdb时要综合考虑dcs和opc二者的特点,按照opc的要求抽象出dcs的模型,而且要考虑到设计后接口使用的方便性和性。
idcsdb的接口函数设计如下:
setrange将需要读写的点的id范围先设置好,然后用getprpropdefs读取这个范围内的属性数据类型和描述,用getprpropvalues读写这个范围内的属性值,setrange(-l,null)是设置范围为dcs的全部点。利用getrange可以获取设置好的范围内的点id。getdcsstate得到dcs的运行状态是否正常。getdcsrate得到dcs实时数据的刷新频率,以此来控制数据读取频率。
2.3实现
现在的dcsdb对象还是一个com,还不能实现跨进程通信,应在此基础上封装一个接口定义文件的动态链接库并进行注册,可以用现有的dcom发布工具(如微软的接口定义语言编辑器),这里不再描述。opc服务器使用点设备对象来封装和使用idcsdb接口指针,以达到与dcs通信的目的,主要是对dcs数据库的读操作。在opc服务器的初始化阶段,用getdcsstate得到dcs的运行状态,用getdcsrate得到dcs实时数据的刷新频率,然后是与dcs数据库进行通信。
利用dcom将dcs与opc服务器进行分离,不但能满足二者之间的基本通信要求,而且很好地将二者隔离开,从而使dcs的改变不会影响其opc服务器,而opc服务器的对外接口扩展又不会影响dcs的性能,并且可以很容易地扩展1dcsdb接口,使opc与dcs的通信更加方便和。
3、xml数据流的产生与传输
xml是目前通用的数据通信格式,它可以被各种不同的操作系统、数据库软件和编程语言所识别及解释,适用于各种网络协议。采用xml作为dcs接口的数据通信媒介可以避免为每个外部系统编写不同的解释器的麻烦,有很好的可扩展性,而且xml还很容易支持订阅传输方式,可以大大缓解通信信道压力,提高数据通信效率。
3.lxml数据流引擎的体系结构
如图3所示,在xml数据流引擎进程中通过xmldb对象实现xml数据流的产生和传输,xmldb对象通过dcom协议与opc服务器进程中的opc接口进行通信。
针对opc服务器的对象层次(见图4),xml的数据模式设计如下:
利用上面的模式,在xml数据流中既包含了数据值又体现了数据结构,当外部系统接收到xml数据流后,就可以很容易地进行解释和处理了。
3.2接口设计
xml数据流引擎主要是由xmldb对象的接口ixmldb完成的,其功能是根据服务器一组一点的参数范围要求而产生不同的xml数据流。
ixmldb的接口函数设计如下:
setxmlrange将需要读取点的id范围和要生成的xml文件id通道号先设置好,然后用getxml读取这个范围内点的属性值,并根据setxmlrange所设置的xml文件id号生成xml数据流文件到通道。id范围和xml文件id通道号由管理员通过操作界面输入到的数组中。getdcsrate得到dcs实时数据的刷新频率,以此来控制数据读取频率。生成的各种xml数据流就可以直接被外部系统按要求读取和使用。
4、安全隔离技术方案
由于外部系统经常受到软件因素和人为因素的影响,虽然dcs接口是单向数据流动,但毕竟存在物理连通性。目前,采用的双网卡技术和防火墙技术从根本上没有阻断这层连接,因此dcs还是存在被攻击的安全隐患。
我们采用一种双主板嵌入式计算机作为的安全隔离装置,外部系统和dcs连接不同的主板,采用不同的操作系统和通信协议,由于主板和软件平台的差异,即使外部系统受到攻击或干扰,也不会对dcs构成威胁。
4.1安全隐患分析
1)外部网络系统均采用使用广泛、受攻击zui多、安全漏洞表现相对突出的操作系统。
2)几乎所有外部网都与internet相连,更增加了受攻击的可能性。
3)与dcs连接的网桥均采用通用产品,未能很好地解决通用性与安全性之间的关系,即通用性越高,安全性越低。
4)在dcs控制系统侧,考虑到开发和应用上的方便性及其他因素,采用通用操作系统(嵌入)的越来越多,也增加了受同一病毒攻击的可能性。
5)从计算机硬件而言,两个系统所采用的计算机cpu都是同一计算机指令系统,给各种攻击增加了机会。
4.2传统隔离技术分析
目前电厂dcs实时数据的获取方法,通常采用在网关机中安装多块网卡,分别使用不同协议通过tcp/ip协议连接dcs,通过ipx协议连接到外部网络系统。这样,实际上为数据信息在硬件上提供了物理通路,假如该网关机受到恶意程序攻击,例如使其具备路由功能,那么dcs和外部网络系统之间就等于处在同一个网络中,操作就失去了限制,即使其他程序不对dcs进行恶意破坏,网络垃圾包也会造成网络通信滞后或瘫痪。因此,采用这种网桥的方法存在极大的安全隐患,其根本原因在于采用了通用计算机、通用网卡、通用网络协议和通用操作系统,并且在物理连接上提供了数据的双向通信[4]。
防火墙是一种重要的网络安全产品,除了支持ip协议外,还支持appletalk,decnet,ipx和netbeui等通用协议。当发生入侵事件时,防火墙能够动态响应,调整安全策略,阻挡恶意报文,识别/记录/防止企图进行ip地址欺骗等手段。采取防火墙技术后,数据通信仍是双向的,从本质上处于被动防御,只有不断升级软件和硬件,才能防止已知病毒和常规攻击,而对未知病毒的防御方法是有限和滞后的。同时,作为dcs与外部系统间的网桥(或其他类似设备),如果受到攻击,即使没有攻击到dcs,也可能会在网络上增加额外数据处理量,zui终将影响dcs数据的实时传递。
对于安全性要求*的发电设备而言,是不允许发生任何一次对dcs的攻击。因此,这些方法始终存在安全漏洞,不能从根本上杜绝网络安全隐患。
4.3安全隔离装置结构
安全隔离装置安装在dcs的网关机与外部系统网络之间,在物理上保障数据的单向传输和隔离,从dcs接收数据,并存储转发到外部网络上。
安全隔离装置采用双主板嵌入式计算机。一个主板与外部网络系统连接,运行常规的windows操作系统,并且屏蔽tcp/ip协议,只支持ipx协议;另一个主板与dcs连接,运行不同的操作系统(例如unix操作系统),并且扩展一个同步数据通信传输卡,在二者之间实现数据的单向传输,支持ipx协议和tcp/ip协议。
同步数据通信传输卡采用hitachihd64570芯片为核心,配以dma和双口ram,完成数据的高速通信,通信速率达到4mbit/s,支持hdlc,sdlc,bsc等通信协议,能够充分满足数据通信的实时性要求。采用该种通信卡,从硬件上能够保证数据只由dcs到外部系统,并结合软件完成dcs数据的传输。由于采用非常规通用硬件,并在微机中单独插卡,需要配合相应软件和不同的操作系统才能完成通信功能,因而攻击者或病毒不会对其造成影响。即使在外部网络系统侧出现攻击或干扰,也不会对dcs构成威胁。
5、结语
本方案从硬件和软件2个方面为dcs提出了一个全面实用的通信接口系统,特别是在opc服务器、通信媒介和安全隔离装置3个方面采用先进技术进行优化设计,使dcs接口在系统的安全可靠性、通信的性、应用的通用性、接口的可扩展性等方面体现了优越的特性。
其它类似信息

推荐信息