穿越电力网络物理单向隔离装置的数据传输方法及装置的制作方法

文档序号:7924546阅读:364来源:国知局
专利名称:穿越电力网络物理单向隔离装置的数据传输方法及装置的制作方法
技术领域
本发明涉及穿越网络物理隔离装置的传输技术,更具体地是指一种穿越电力网络
物理单向隔离装置的数据传输方法及装置。
背景技术
网络物理隔离装置是一种隔开两个网络的一种物理设备,而电力专用网络安全隔 离设备是其中的一种。该类隔离装置在硬件上采用非INTEL指令集的双RISC微处理器,操 作系统采用裁减的LINUX内核,取消TCP/IP协议栈,装置无IP地址及任何网络服务功能。 该装置采用软、硬件结合的"安全岛"及单向数据通信控制技术,实现了从内网向外网的单 向数据传送(正向),支持物理层数据确认,防止穿透性TCP连接。该装置在链路层实现网 络地址及端口过滤,支持应用层数据解析及特殊标记识别。该装置具有方便的用户维护管 理工具,支持非法报文的日志和审计功能。可用于电力二次系统中从安全区i、n向安全区 III的单向数据传送。它只允许数据单向自由传输,而在另一个方向,一般只允许很小的用 户数据传输(< 4字节)。应用这种网络物理装置,可以有效阻止各种计算机病毒和网络攻 击,保证被隔离装置保护的关键内部网络不受外界的干扰,攻击,破坏。
OPC是指Windows下的OLE for Process Control 1 。 0PC技术是工业自动化领域的 实时数据提供和传输技术,它是一种开放性的协议,可以让支持该技术的软件取得实时系 统的数据,实现各自的应用。该协议基于TCP/IP在网上传送实时数据。尽管因为Windows 是私营厂商的产品,0PC不是IEC, IS0这样的国际标准。但是由于Windows占据了 90%的 工业控制人机界面的市场,也集中了绝大多数工控应用与分析应用软件,所以OPC成为事 实上的主流工业标准,极大地推动着自动化信息化工业的发展。市场上目前绝大多数的成 熟的商业化软件系统都是基于TCP/IP的,TCP/IP本质上是一种双向通信的协议,在接受 端,它需要将一段一段的报文连接起来,TCP协议能够保证在IP数据包丢失时进行重发,能 够删去重复收到的IP数据包,还能保证准确地按原发送端的发送顺序重新组装数据。具有 较高的可靠性。 因为目前的用于大数量数据传输的主流协议如OPC等都要求TCP/IP的双向通信 以保证数据传输的可靠性。OPC物理隔离装置切断了TCP这个通道。从而形成了这样的局 面,DCS等控制网络与SIS网及MIS网间如不加网闸则无法隔离已入侵MIS、 SIS网的恶意 代码入侵DCS,加了网闸则DCS实时数据无法通过OPC外传至SIS、MES、ERP。所以实际上, 物理隔离装置隔断了内外侧的数据传输通道,对企业的信息化造成一定的影响。SIS应用是 电力行业目前的一种广泛应用,它需要底层DCS/PLC提供全部过程数据, 一般是使用OPC技 术,加入网隔后,这种OPC传输就不可行了 。

发明内容
本发明旨在提供一种能够穿越网络物理隔离装置,实现OPC数据传输的技术。
根据本发明的一方面,提供一种穿越电力网络物理单向隔离装置的数据传输方法,其中,应用于基于WindowsPC系统的第一网络和第二网络,所述第一网络和第二网络之 间由一网络物理隔离装置隔离,该网络物理隔离装置仅允许从第一网络向第二网络单向传 输数据,该第一网络要向第二网络传输OPC数据,所述传输方法包括 在第一网络中建立第一OPC客户端,接收第一网络中的第一OPC服务器端发送的 OPC数据; 在第一网络中将所述OPC数据转换成UDP数据; 将所述UDP数据分段加上CRC码后从第一网络单向穿越所述网络物理隔离装置传 输到第二网络; 在第二网络中将所述UDP数据在CRC码校验后还原成OPC数据; 在第二网络中建立第二OPC服务器端,接收所述还原的OPC数据; 第二 OPC服务器端将还原的OPC数据提供给第二网络中的第二 OPC客户端,完成
从第一网络到第二网络的OPC数据传输。 所述第一网络的操作包括 la.初始化,建立第一 OPC客户端; lb.调用WindowsSocket接口函数并打开UDP端口 ; lc.第一 OPC服务器端读入OPC Item数据; Id.第一 OPC客户端与第一 OPC服务器端建立连接; le.创建接收线程与发送线程; If.第一OPC服务器端以及第一OPC客户端周期性地接收来自OPC数据源的数据, 并且第一 OPC服务器端刷新OPC Item数据; lg.接收线程将OPC数据放入接收队列并通知发送线程; lh.如无结束指令,重复步骤le、lf、lg。 所述第一网络的操作还包括 2a.发送线程等待所述lg步骤中的通知; 2b.依次读取由OPC客户端接收的且由接收线程放入到接收队列中的OPC数据;
2c.增加一个发送侧心跳状态信号作为OPC的一个item,每3秒中改变状态;
2d.依照预定算法把OPC数据包装成为分段的UDP数据报文;
2e.在对每一段报文中分段计算CRC值并将该值附在每一个报文尾部;
2f.调用Windows socket的发送函数,将UDP数据的报文到指定的UDP端口 ;
2g.如无结束指令,重复步骤2a、2b、2c、2d、2e。 在所述第二网络通过网络物理隔离装置的单向输出端端接收UDP数据包,在第二 网络的操作包括 3a.初始化,建立第二 OPC服务器端; 3b.在第二网络中用Windows Socket建立UDP接口并打开UDP端口 ; 3c.读入OPC Item数据,所述读入OPC Item数据与第一 OPC服务器端读入的OPC
Item数据具有一致的顺序与格式定义; 3d.接收UDP数据,确认所述UDP数据中的每一个报文的开头,读入每一个报文结 尾的CRC值; 3e.对每一个报文计算CRC值,将计算所得的CRC值与读取的CRC值比较,将CRC校验通过的UDP数据的报文放入全局数据缓冲区,分段拼接完全套数据后通知数据处理进
程处理接收到的UDP数据的报文; 3f.如无结束指令,重复3d、3e。 其特征在于,所述第二网络的操作还包括 4a.将全局数据缓冲区中的UDP数据的报文依次填入第二 0PC服务器端的OPC item-VTQ格式,转换成OPC数据,等待第二网络中的第二 OPC客户端来读取;
4b.接收端侧同样有发送端心跳状态信号并增加CRC的统计信息。
根据本发明的另一方面,提供一种穿越电力网络物理单向隔离装置的数据传输装 置,包括应用于基于Windows操作系统的第一网络和第二网络,所述第一网络和第二网络 之间由一网络物理隔离装置隔离,该网络物理隔离装置仅允许从第一网络向第二网络单向 传输数据,该第一网络要向第二网络传输OPC数据,所述数据传输装置进一步包括
第一OPC客户端,建立在第一网络中,接收第一网络中的第一OPC服务器端发送的 OPC数据; 第一数据转换器,在第一网络中将所述OPC数据依一定格式顺序转换成UDP数据, 并分段加上CRC码; UDP数据发送装置,将所述UDP数据从第一网络单向穿越所述网络物理隔离装置 传输到第二网络; UDP数据接收装置,在第二网络中接收UDP数据;
第二数据转换器,将所述UDP数据还原成OPC数据; 第二 OPC服务器端,建立在第二网络中,接收所述还原的OPC数据,第二 OPC服务 器端将还原的OPC数据提供给第二网络中的第二OPC客户端,完成从第一网络到第二网络 的OPC数据传输。 所述第一数据转换器和UDP数据发送装置集成设置,所述UDP数据接收装置和第 二数据转换器集成设置。 根据一实施例,第一数据转换器和UDP数据发送装置集成设置,UDP数据接收装置 和第二数据转换器集成设置。 本发明的技术方案提供一种能够穿越网络物理隔离装置,实现OPC数据传输的技 术,能从电力专用网络安全隔离设备内侧向外侧单向传送OPC数据的技术,具有安全、实 时、可靠、开放的优点。


图1揭示了本发明的穿越电力网络物理单向隔离装置的数据传输方法的流程图;
图2揭示了本发明的穿越电力网络物理单向隔离装置的数据传输装置的结构图。
具体实施例方式
参考图1所示,本发明揭示了一种穿越电力网络物理单向隔离装置的数据传输方 法,该方法应用于基于Windows操作系统的第一网络和第二网络(也可以根据不同应用的 定义,可以称为第I安全区网和II安全区网,或称为内网和外网),第一网络和第二网络之 间由一网络物理隔离装置隔离,该网络物理隔离装置仅允许从第一网络向第二网络单向传输数据,该第一网络要向第二网络传输0PC数据,该0PC数据传输方法包括 10.在第一网络中建立第一OPC客户端,接收第一网络中的第一OPC服务器端发送
的0PC数据(过程信号,即包括每个信号的数值或状态、时标与质量位,下同); 11.在第一网络中将0PC数据转换成UDP数据; 12.将UDP数据从第一网络单向穿越网络物理隔离装置传输到第二网络; 13.在第二网络中将UDP数据还原成OPC数据; 14.在第二网络中建立第二OPC服务器端,接收还原的OPC数据; 15.第二 OPC服务器端将还原的OPC数据提供给第二网络中的第二 OPC客户端,完
成从第一网络到第二网络的OPC数据传输。 本发明主要是同时应用UDP协议与OPC协议。UDP是TCP/IP协议族的一部分,和 TCP不一样,它是一个无连接的协议,即通信的双方无需建立通信链路, 一方发送数据,另一 方接收数据,就能实现较为稳定的数据通信,由于通信双方无需建立连接,不需要握手和同 步信息,数据就能实现单向通信。电力系统网络物理隔离装置许可UDP单向通过。利用UDP 的这个特性,就能把数据从网络物理隔离装置的一端单向传送到另一端。通过网络物理隔 离装置的OPC数据传输,整个数据传输系统可以由现场数据采集系统OPC服务器端、内侧数 据采集、校验和发送软件、网络物理隔离装置、外侧数据接收软件OPC服务器端和外侧基于 实时数据的应用系统,如实时数据库组成。其中,包括2个转换的核心部件发送端转换部 件DataSender与接收端转换部件DataReceiver。 DataSender首先是一个OPC客户端软件,它能从OPC服务器端接收到需要传输的 实时数据。DataSender的主进程接收到来自OPC服务器端的数据后,放入数据全局的数据 缓冲区,同时通知另一个数据处理进程对接收到数据进行协议转换。数据处理进程读取全 局数据缓冲区中的数据,以自定义的格式把数据封装成多个UDP数据包,通过UDP协议把数 据发送到网络物理隔离装置另一端的数据接收程序DataReceiver。 DataSender位于第一网络中,第一网络进行的操作(包括DataSender以及其他的
网络元件共同的操作)包括 la.初始化,建立第一 OPC客户端; lb.建立UDP Socketu接口并打开UDP端口 ; lc.第一OPC服务器端读入OPC Item数据,并增加l个发送端状态信号,即通讯状 态心跳信号; Id.第一 OPC客户端与第一 OPC服务器端建立连接;
le.创建接收线程与发送线程; If.第一OPC服务器端以及第一OPC客户端周期性地接收来自OPC数据源的数据, 并且第一 OPC服务器端刷新OPC Item数据,而发送端心跳信号每3秒改变一下状态,由0 变l或由l变为O; lg.接收线程将OPC数据放入接收队列并通知发送线程;
lh.如无结束指令,重复步骤le、lf、lg。
2a.发送线程等待lg步骤中的通知; 2b.依次读取由OPC客户端接收的且由接收线程放入到接收队列中的OPC数据;
2c.依照预定算法把OPC数据包装成为UDP数据,所述UDP数据中的每一个报文中包括其中每个信号的数值或状态、时标与质量位; 2d.在每一个报文中分段计算CRC值并将该值附在每一个报文尾部; 2e.调用Windows socket的发送函数,将UDP数据的报文到指定的UDP端口 ; 2f.如无结束指令,重复步骤2a、2b、2c、2d、2e。 上述的过程中以每秒刷新的速度从OPC服务器端得到所有OPC Item数据,包括 数值、时间标签与质量位,并以定义好的次序分段通过UDP协议送出,每段同时送出该段的 CRC码,使用MS Windows下的WinSocket实现。用UPD将定义数据以本方法特定的数据格 式序列广播到指定端口的网络上,即到了的网络物理隔离装置输入端。UPD广播可以穿过网 络物理隔离装置,同时,标签量定义中加了一项心跳信号项用以监视发送端状态,。
DataReceiver位于第二网络中,第二网络(包括DataReceiver以及其他的网络元 件共同的操作)通过网络物理隔离装置的单向输出端端接收UDP数据包,在第二网络的操 作包括 3a.初始化,建立第二 OPC服务器端;
3b.在第二网络中用Windows Socket建立UDP接口并打开UDP端口 ; 3c.读入0PC Item数据,读入OPC Item数据与第一 OPC服务器端读入的OPC Item
数据具有一致的顺序; 3d.接收UDP数据,确认UDP数据中的每一个报文的开头,读入每一个报文结尾的 CRC值; 3e.对每一个报文计算CRC值,将计算所得的CRC值与读取的CRC值比较,将两个 CRC值相同的UDP数据的报文放入全局数据缓冲区,同时通知数据处理进程处理接收到的 UDP数据的报文; 3f.如无结束指令,重复3d、3e。 4a.将全局数据缓冲区中的UDP数据的报文依次填入第二 OPC服务器端的OPC
item-VTQ格式,转换成OPC数据,等待第二网络中的第二 OPC客户端来读取。 在第二网络中,数据处理进程解开每一个接收到的数据包,依指定格式与标签
表及还原了原始数据,并利用了OPC基金会发布的OPC通用组件动态库(DLL)它把数
据处理进程解包后得到的原始数据处理成OPC服务器。所以,对所有工业客户端而言,
DataReceiver就是一个标准的OPC服务器,以每秒刷新的方式实时提供给需要数据的OPC
客户端软件。 在网络物理隔离装置的两侧应用相同的数据传送表与格式,保证所传的数据只被 解释成同样的数据类型,从而恶意代码无法通过上述解释。同时为了减少网络物理隔离装 置通信流量,提高通信的效率,以实现实时传送的目标。本协议转换软件采用二进制数据 包传输数据,最大限度縮短了数据包的大小。本发明以多线程的方法处理数据通信,具有 很高的数据通信效率,经过现场测试,对两台具有10/lOOMb的普通网卡,intel P4 2. 8G 这样的普通PC机使用双绞线串接一个网络物理隔离装置,两头分别作为DataSender/ DataReceiver,可以稳定达到50, 000点/秒(其中模拟量为20000点)的数据传输率(其 中30%信号在1秒钟内发生了变化),每点包括原OPC信号中的数值、时间标签与质量位, 满足大多数系统对实时数据的需求。具有广泛的应用的价值。其中数据包格式为自行设计, 非开放性格式,增强了数据通信的安全性。即对最终的两端用户是开放的、标准的,中间是封闭的转换过程。同时,DataReceiver则还给出了 CRC出错的情况(如果发生,OPC对应标 签段不刷新),客户端也可以通过心跳信号来确定网闸流程前的DataSender是否处于正常 工作状态。由于采取了必要的校验方法与监视手段,其可靠性能满足单向监视类应用要求。 上述的两个接受发送模块与接受转换模块可以放置在两台windows PC内,与网络物理隔离 装置装置一起构成OPC整体式物理单向传送装置,也可以将两个模块分别安装在网闸两侧 的OPC服务器端计算机与OPC客户端计算机上。 根据需要,本方法还支持DataSender端多个OPC服务器端的情况。此外,通过更 换DLL,可以支持其他实时单向通讯协议。 参考图2所示,本发明还提供一种穿越电力网络物理单向隔离装置的数据传输
装置,应用于基于Windows操作系统的第一网络和第二网络,第一网络和第二网络之间由
一网络物理隔离装置隔离,该网络物理隔离装置仅允许从第一网络向第二网络单向传输数
据,该第一网络要向第二网络传输OPC数据,该OPC数据传输装置包括 第一 OPC客户端21 ,建立在第一网络20中,接收第一网络20中的第一 OPC服务器
端22发送的OPC数据; 第一数据转换器23,在第一网络20中将OPC数据转换成UDP数据; UDP数据发送装置24,将UDP数据从第一网络20单向穿越网络物理隔离装置40
传输到第二网络30; UDP数据接收装置31,在第二网络30中接收UDP数据;
第二数据转换器32,将UDP数据还原成OPC数据; 第二 OPC服务器端33,建立在第二网络30中,接收还原的OPC数据,第二 OPC服务 器端33将还原的OPC数据提供给第二网络30中的第二 OPC客户端34,完成从第一网络20 到第二网络30的OPC数据传输。 如上面所介绍的,在实现的过程中,第一数据转换器和UDP数据发送装置可以分 开设置,也可以集成设置。UDP数据接收装置和第二数据转换器同样可以是分开设置或者集 成设置,对网闸两侧应用而言,是限于单向接收功能的OPC标准接口装置。
本发明具有很好的实用意义。所有的信息化带动工业化项目的共同特点是要从 DCS/PLC这样的底层自动化孤岛中取得全部实时信息,然后深化处理。但是由于操作系统 的趋同化(Windows或Liunx),互连是方便了,但也给恶意代码传播创造了条件,这样的应 用可能因恶意代码的在局域网及广域网的流行而使基础自动化不安全。极大地威胁了要求 直接利用DCS等自动化信号岛的应用。这是国家有关规定的出发点。因此国家部门要求 网络隔离是必要的。然而网络的隔离又导致原有传输协议不兼容,从而无法实现全部实时 信号的单向传送。无法与市场主流标准的工控软件相连。本发明能满足上述互为矛盾的 要求,适用于所有要求通过OPC传送实时过程海量信息,同时又要保障DCS/PLC安全的单 向传输应用,不必担心恶意代码双向传染。原有的OPC客户端可以正常使用。即保护了原 有投资又保证了过程企业的信号安全。即保证了国家有关部门安全指令的执行,又保障了 对过程信号的实时传送,可以广泛应用于电力、化工、冶金的所有应用DCS/PLC又需要集中 信息管理的实时过程追溯与监视管理应用诸如SIS (Supervision Information System电 厂级过程监视与管理信息系统)、MES (Manufacturing Execution System制造执行系统)、 ERP (EnterpriseResources Planning企业资源规戈U)。
权利要求
一种穿越电力网络物理单向隔离装置的数据传输方法,应用于基于WindowsPC系统的第一网络和第二网络,所述第一网络和第二网络之间由一网络物理隔离装置隔离,该网络物理隔离装置仅允许从第一网络向第二网络单向传输数据,该第一网络要向第二网络传输OPC数据,其特征在于所述OPC数据传输方法包括,在第一网络中建立第一OPC客户端,接收第一网络中的第一OPC服务器端发送的OPC数据;在第一网络中将所述OPC数据转换成UDP数据;将所述UDP数据分段加上CRC码后从第一网络单向穿越所述网络物理隔离装置传输到第二网络;在第二网络中将所述UDP数据在CRC码校验后还原成OPC数据;在第二网络中建立第二OPC服务器端,接收所述还原的OPC数据;第二OPC服务器端将还原的OPC数据提供给第二网络中的第二OPC客户端,完成从第一网络到第二网络的OPC数据传输。
2. 如权利要求l所述的穿越电力网络物理单向隔离装置的数据传输方法,其特征在于,所述第一网络的操作包括la.初始化,建立第一 OPC客户端;lb.调用Windows Socket接口函数并打开UDP端口 ;lc.第一 OPC服务器端读入OPC Item数据;Id.第一 OPC客户端与第一 OPC服务器端建立连接;le.创建接收线程与发送线程;If.第一OPC服务器端以及第一OPC客户端周期性地接收来自OPC数据源的数据,并且第一 OPC服务器端刷新OPC Item数据;lg.接收线程将OPC数据放入接收队列并通知发送线程;lh.如无结束指令,重复步骤le、lf、lg。
3. 如权利要求2所述的穿越电力网络物理单向隔离装置的数据传输方法,其特征在于,所述第一网络的操作还包括2a.发送线程等待所述lg步骤中的通知;2b.依次读取由OPC客户端接收的且由接收线程放入到接收队列中的OPC数据;2c.增加一个发送侧心跳状态信号作为OPC的一个item,每3秒中改变状态;2d.依照预定算法把OPC数据包装成为分段的UDP数据报文;2e.在对每一段报文中分段计算CRC值并将该值附在每一个报文尾部;2f.调用Windows socket的发送函数,将UDP数据的报文到指定的UDP端口 ;2g.如无结束指令,重复步骤2a、2b、2c、2d、2e。
4. 如权利要求l所述的穿越电力网络物理单向隔离装置的数据传输方法,其特征在于,在所述第二网络通过网络物理隔离装置的单向输出端端接收UDP数据包,在第二网络的操作包括3a.初始化,建立第二 OPC服务器端;3b.在第二网络中用Windows Socket建立UDP接口并打开UDP端口 ;3c.读入0PC Item数据,所述读入OPC Item数据与第一 OPC服务器端读入的OPC Item数据具有一致的顺序与格式定义;3d.接收UDP数据,确认所述UDP数据中的每一个报文的开头,读入每一个报文结尾的 CRC值;3e.对每一个报文计算CRC值,将计算所得的CRC值与读取的CRC值比较,将CRC校验 通过的UDP数据的报文放入全局数据缓冲区,分段拼接完全套数据后通知数据处理进程处 理接收到的UDP数据的报文;3f.如无结束指令,重复3d、3e。
5. 如权利要求4所述的穿越电力网络物理单向隔离装置的数据传输方法,其特征在 于,所述第二网络的操作还包括4a.将全局数据缓冲区中的UDP数据的报文依次填入第二OPC服务器端的OPC item-VTQ格式,转换成OPC数据,等待第二网络中的第二 OPC客户端来读取; 4b.接收端侧同样有发送端心跳状态信号并增加CRC的统计信息。
6. —种穿越电力网络物理单向隔离装置的数据传输装置,包括应用于基于Windows操 作系统的第一网络和第二网络,所述第一网络和第二网络之间由一网络物理隔离装置隔 离,该网络物理隔离装置仅允许从第一网络向第二网络单向传输数据,该第一网络要向第 二网络传输OPC数据,其特征在于,所述数据传输装置进一步包括第一 OPC客户端,建立在第一网络中,接收第一网络中的第一 OPC服务器端发送的OPC 数据;第一数据转换器,在第一网络中将所述OPC数据依一定格式顺序转换成UDP数据,并分 段加上CRC码;UDP数据发送装置,将所述UDP数据从第一网络单向穿越所述网络物理隔离装置传输 到第二网络;UDP数据接收装置,在第二网络中接收UDP数据; 第二数据转换器,将所述UDP数据还原成OPC数据;第二 OPC服务器端,建立在第二网络中,接收所述还原的OPC数据,第二 OPC服务器端 将还原的OPC数据提供给第二网络中的第二OPC客户端,完成从第一网络到第二网络的OPC 数据传输。
7. 如权利要求6所述的穿越电力网络物理单向隔离装置的数据传输装置,其特征在 于,所述第一数据转换器和UDP数据发送装置集成设置,所述UDP数据接收装置和第二数据 转换器集成设置。
全文摘要
一种穿越电力网络物理单向隔离装置的数据传输方法,应用于基于WindowsPC系统的第一网络和第二网络,两网络之间由一隔离装置隔离,第一网络要向第二网络传输OPC数据,传输方法包括在第一网络中建立第一OPC客户端,接收第一网络中的第一OPC服务器端发送的OPC数据;在第一网络中将OPC数据转换成UDP数据;将UDP数据从第一网络单向穿越网络物理隔离装置传输到第二网络;在第二网络中将UDP数据还原成OPC数据;在第二网络中建立第二OPC服务器端,接收还原的OPC数据;第二OPC服务器端将还原的OPC数据提供给第二网络中的第二OPC客户端,完成从第一网络到第二网络的OPC数据传输。
文档编号H04B3/54GK101753530SQ200810207279
公开日2010年6月23日 申请日期2008年12月18日 优先权日2008年12月18日
发明者丁潮峰, 余正环, 姚少华, 聂慧明, 谢同琪, 陈又申 申请人:宝山钢铁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1