核安全级仪控系统维护软件中间件设计

2021-09-05 02:27马小军马建新
自动化仪表 2021年6期
关键词:重传下位中间件

马小军,马建新,杨 利

(北京广利核系统工程有限公司,北京 100094)

0 引言

核安全级数字化仪控系统是核电厂的“中枢神经”系统,对确保核电厂的安全、经济运行起着至关重要的作用,是构成大型核电站的关键装备之一。

核安全级数字化仪控系统主要包括工程师站、主控站、网关站、安全显示站。在该系统中,工程师站称为上位机,主控站、网关站、安全显示站称为下位机。

核电站运行的设备组态、算法组态、图形组态,经过工程师站组态,由维护软件下装到下位机,并且通过维护软件对下位机进行回读、监视、强制、释放强制、参数整定、校时、定期试验等维护操作[1]。维护软件中间件是维护软件的核心模块,对维护软件的数据传输和维护操作起到关键性作用。

本文通过对维护系统的分析,设计了维护软件中间件,主要包括下装、回读、监视、强制、释放强制、参数整定、校时、定期试验等接口。该设计满足了维护软件对不同上位机软件和不同网络传输协议下位机的适应性要求,增强了数据传输的可靠性、安全性。该中间件设计灵活、方便调用和扩展,并已成功应用到和睦系统当中。

1 核安全级仪控系统维护软件中间件

核安全级仪控系统主要包括工程师站、主控站、网关站、安全显示站。

维护软件运行在工程师站中,主要包括下装软件、监视软件、参数整定软件和定期试验软件。维护软件中间件供维护软件调用,并与下位机通信,完成下装、回读、监视、强制、释放强制、参数整定、校时、定期试验等维护操作。

核安全级仪控系统中的设备种类很多:主控站是基于链路层协议的设备;安全显示站和网关站既有基于传输层协议的设备,又有基于链路层协议的设备[2-3]。其中:有的设备的通信格式是大端,有的设备的通信格式是小端。而维护软件要与不同的下位机进行数据传输。

核安全级仪控系统对数据传输的可靠性要求极高,必须保证每条指令和数据在规定的时间内传输完成。如果在传输过程中出现异常情况,必须有处理机制[4]。因此,系统必须对数据进行完整性校验,在出现丢包时要进行重传,并在超时后作超时处理[5]。

核安全级仪控系统必须安全,传输的数据必须保密,并且不能受到黑客攻击和破坏[6]。为保证传输的数据安全和抵御黑客攻击,维护软件必须对传输的数据进行加密和解密,并防止黑客进行攻击和破坏。

根据维护软件的功能要求,并结合核安全级仪控系统的复杂性、可靠性和安全性,设计了维护软件中间件。该中间件抽象出应用协议层、数据收发层和网络协议适配层。通过应用协议层,为上层维护软件提供统一的调用接口。上层软件只负责调用下载、监视、参数整定和定期试验接口,不用关心具体实现细节,屏蔽了不同设备数据格式的复杂性,便于上层维护软件的维护。通过数据收发层和网络协议适配层的设计,可以适用不同网络传输协议的安全级设备。比如:主控站采用数据链路层协议通信;安全显示站采用用户数据报协议(user datagram protocol,UDP)通信,还可以扩充传输控制协议(transmission control protocol,TCP)等其他协议,便于维护软件的扩展。此外,该中间件通过丢包重传、超时重传、心跳机制增强了维护网络通信的可靠性,通过数据加密机制保证了数据传输的安全性。

2 核安全级仪控系统维护软件中间件设计

2.1 维护软件中间件架构设计

①软件逻辑分层。

维护软件中间件适配不同的网络协议,并为工程师站维护软件提供统一的功能调用。

软件逻辑分层具体分为三层,分别是应用协议层、数据收发层和网络协议适配层。逻辑分层如图1所示。

图1 逻辑分层示意图Fig.1 Schematic diagram of logical layering

维护软件中间件分层如表1 所示。

表1 维护软件中间件分层Tab.1 Maintenance software middleware layering

②软件模型。

软件模型主要按照面向对象的设计思路进行设计。根据逻辑分层,在应用协议层设计了CMachine、CApplicationLayerProtocol 和MachineInfo_t,在数据收发层设计了CCommunicate,在网络协议适配层设计了CNetService、CDataLinkLayerNetService、CUDPLayerNetService、CTCPLayerNetService 和CRc。

软件模型如图2 所示。

图2 软件模型示意图Fig.2 Schematic diagram of software model

静态类软件模型的具体描述如表2 所示。

表2 静态类软件模型具体描述Tab.2 Specific description of static class software model

2.2 维护软件中间件协议数据格式设计

①协议数据中主要包含目标MAC、源MAC、标识、预留位、应用数据、校验码等。

数据帧格式如表3 所示。

表3 数据帧格式Tab.3 Data frame format

目标MAC:表示数据包接收方的物理地址。

标识:采用固定值“XX”填充,作为特殊标识,表示维护协议数据。

预留位:采用固定值“0”填充,以便将来扩充协议。

应用数据:表示应用数据信息,具体见下文描述。

校验码:循环冗余校验(cyclic redumdancy check,CRC)码的校验范围为:从协议的第一个字节到校验码的前一个字节。

②应用数据主要包括功能码、授权码、总帧数、帧序号、应用数据总长度、本帧应用数据长度、预留位。

应用数据格式如表4 所示。

表4 应用数据格式Tab.4 Application data format

功能码:表示该帧功能含义,如下装或监视等业务流程。

授权码:起始数据由下位机随机生成。下位机每次发送命令请求回复帧时生成新的授权码。工程师站发送的数据帧中填写的授权码为下位机生成的授权码。授权码可有效抵御重放攻击,校验接收到的数据是否有效。

Milk-run系统的运行模式是配送人员使用设备通过固定的路线在固定的时间段内进行小批量零件配送。Milk-run系统的路线规划在设计时必须重点考虑,合理的路线规划能有效提高其效率,保证系统的可实施性。一般Milk-run供货路线模式可以分为以下几种模式:两站式、中心仓库式、多重停靠点式、差异化停靠点式。车间Milk-run供货模式多采用1∶n的中心仓库式。

总帧数:表示当前任务的总帧数。有的任务需要由多帧发送,规定总帧数可识别是否接收完整。

帧序号:表示本帧为当前任务的第几帧。

应用数据总长度:表示当前任务的应用数据总长。应用数据总长的计算方法为计算每帧应用数据的总和。

本帧应用数据长度:表示“应用数据内容”有效数据所占的字节数,从应用数据内容开始计算。

预留位:后续扩展可使用该字段,未使用时填写默认值“0”。

2.3 维护软件中间件交互流程设计

维护软件和下位机的交互主要包括建立连接、获取连接状态、发送具体业务消息、获取具体业务消息的返回信息、断开连接。

交互流程图如图3 所示。

图3 交互流程图Fig.3 Interaction process flowchart

上位机(工程师站)与下位机具体通信过程如下。

①上位机给下位机发送连接请求。

②下位机返回连接状态。

③如果下位机返回连接成功,上位机发送业务请求(业务流程包括下装、回读、监视、强制、释放强制、参数整定、校时等);如果下位机返回连接失败,上位机则提示连接错误。

④下位机返回业务消息。

⑤业务处理完成后,上位机发送命令,断开连接。

2.4 维护软件中间件适应性设计

维护软件中间件提供大端数据和小端数据的处理模块,通过设置可以适应大、小端数据的传输。

如果下位机是基于链路层协议,则维护软件中间件通过链路层通信库与下位机进行通信。其允许应用程序不用网络协议栈来捕获与发送网络数据包。

如果下位机是基于传输层协议,则维护软件中间件通过TCP/IP 协议栈与下位机进行通信。维护软件中间件可以支持UDP 和TCP 协议。

2.5 维护软件中间件数据传输可靠性设计

①数据完整性。

为了保证数据在传输过程中的完整性,采用了CRC 方式。在数据格式中加入了CRC 字段,在收到协议数据包后,首先进行CRC 验证,确保数据的完整性。

②丢包重传机制。

在网络环境异常时,针对不可靠的传输协议,设计了丢包重传机制。当出现丢包情况时,启用丢包重传流程对丢包数据进行处理。丢包重传采用一问一答方式实现丢包重传。所有包都重传成功后,回到正常通信流程中,通知对方接收完成。如果仍然不能收到重传包,接收方就继续要求重传当前包。直到累计n次丢包后,发错误通知报文,标记通信异常,并在通知报文的异常码中标记重传失败。

③超时重传。

发送方需要对当前发出的数据包进行缓存。当检测到超时发生时,需要对当前数据包执行重发操作。累计发送n次均超时后,停止发送,并给出错误提示。

④心跳检测。

发送心跳数据的目的是通知接收方,发送方当前处于在线状态。心跳检测采用单独的线程进行通信。心跳检测不能影响正常的业务流程。

2.6 维护软件中间件数据传输安全性设计

数据发送前要进行加密,收到后要进行解密。加密、解密采用一种对称加密算法。该算法使用的密钥为私钥,以字节流的方式依次对明文中的每个字节加密,解密的时候也是依次对密文中的每个字节进行解密。该算法的特点是算法简单、运行速度快,且密钥的长度是可变的。以如今的技术,当密钥长度为128 bit时,已经无法用暴力法破解。

3 结论

针对核安全级仪控系统维护网络,本文介绍了维护软件中间件的软件架构、协议格式、交互流程,并从适应性、数据传输可靠性、数据传输安全性方面对维护软件中间件进行了设计。该设计在和睦系统中得到了充分的验证,达到了核电站仪控系统对于数据传输的可靠性、安全性要求。

猜你喜欢
重传下位中间件
发射机房监控系统之下位机
面向异构网络的多路径数据重传研究∗
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
CAN总线并发通信时下位机应用软件设计
数据链路层的选择重传协议的优化改进
中间件在高速公路领域的应用
一种支持智能环境构建的中间件