一种核电站安全级仪控系统通信协议的自诊断方法与流程

文档序号:12730072阅读:495来源:国知局
一种核电站安全级仪控系统通信协议的自诊断方法与流程
本发明涉及一种用于核电站安全级仪控系统通信协议的诊断方法,特别是点对点通信协议的诊断方法。
背景技术
:核电站安全级仪控系统是核电站的“神经中枢”,是确保核电厂安全、可靠运行的最重要手段。在国外,已经商用的核电站安全级仪控系统主要有TXS、Meltac-N、Tricon和Common-Q。对于TXS,系统内冗余通道间间的通信采用基于Profibus的SINECL2通信网络;对于Meltac-N,系统内控制站之间的通信采用基于RS-485的点对点通信,;对于Tricon,系统内部通信采用基于RS-232/485的总线型通信;对于Common-Q,系统内冗余通道间表决逻辑信号的传输采用基于RS-232的HSL点对点通信。RS-232/485是现在工业控制网络中主流的串行通信接口。如图1所示是典型的核电站安全级仪控系统结构,图1中各处理单元(RPC)间需要进行逻辑符合操作,其间必然会有直接的数据交互。这类通信只涉及两个处理单元,数据量不大,但对数据通信的可靠性、实时性和安全性要求非常高。图1中虚线部分即为点对点通信网络,由于硬件元器件偶发故障以及软件自身存在的BUG都会导致以下8种通信错误出现,即数据崩溃、意外重传、错序、丢失、延迟超时、无效插入、伪装报文和错误寻址,如果没有对网络8错误进行诊断就会导致错误的网络数据被误用的可能,对整个系统核电站安全级仪控系统的安全性和稳定性造成危害,严重时会可能导致核电站意外停堆从而造成不可估量的财产损失和人身安全事故。自诊断是指系统通过设置诊断功能对故障或失效事件进行自我检测并处理的技术,自诊断技术的核心在于诊断措施以及诊断后的故障处理。典型的自诊断流程为:在运行过程中发生了故障后,系统应通过硬件或软件来识别出系统的异常情况,迅速将异常信息上报,并启动处理机制,进入降级运行或故障安全状态,直到故障被排除后,系统方能恢复正常运行状态。例如,CN103457791A一种智能变电站网络采样和控制链路的自诊断方法,能够及时发现网络运行的各类网络故障并加以定位和排除,并对网络故障信息进行管理和记录,进一步保障网络采样和网络控制在变电站应用的可靠性和安全性,提高变电站的智能化水平。CN102984097A用于平衡信道内电磁干扰降低的收发器自诊断,实现支持差分信令的通信链路传送共模信号、以及任何所检测到的诸如对应于差分信号能量的信号能量的适当处理的选择性操作提供了对应于通信链路的电磁兼容性(EMC)的测量结果。目前现有的网络自诊断技术都是针对工业标准控制网络的自诊断技术,并不适用于现有核电站安全级仪控系统中点对点的网络通信协议。技术实现要素:针对上述现有技术存在的不足,本发明提出了一种核电站安全级仪控系统通信协议的自诊断方法,可以有效判断网络通信错误。本发明提出的一种核电站安全级仪控系统通信协议的自诊断方法,该协议是基于由应用层、数据链路层和物理层构成的点对点网络协议,所述网络协议的网络数据量恒定,接口模式为全双工异步传输模式,传输介质为多膜光纤,发送方和接收方的运行周期范围为8毫秒-20毫秒,应用层数据帧格式包括目的MAC、源MAC、应用模式、TICK、报文序号、报文总长、帧有效数据长、报文帧个数、本报文帧的序页、重传位、保留区、上层数据和CRC检验码,其中目的MAC、源MAC、帧有效数据长和上层数据通过组态工具获得,应用层的数据帧的长度范围为256字节-1500字节,优选为512字节-1200字节,上层数据的数据结构包括数据值以及质量位两部分。自诊断方法具体包括以下步骤:步骤一,发送方获取目的MAC、源MAC和上层数据,并对获取的上层数据按照帧格式进行封装发送,其中首传数据帧的重传位置为0,重传数据帧的重传位置为1;步骤二,接收方若没有接收到数据帧则进入步骤六;接收方若接收到发送方发送的数据帧后,检查数据帧目的MAC和源MAC诊断错误寻址,当诊断异常时记录异常原因进入步骤七,当诊断正常时,进入步骤三;步骤三,判断数据帧TICK和报文序列号,通过检查TICK值和报文序列号的值判断是否发生重传、错序、丢失、无效插入四种网络错误,当诊断异常时记录异常原因进入步骤七,当诊断正常时进入步骤四;步骤四,利用数据帧CRC校验码检查诊断数据崩溃错误,当诊断异常时记录异常原因进入步骤七,并需要对重传数据帧里的上层数据进行比较,若不一致也认为是数据崩溃,记录异常原因进入步骤七,当诊断正常时进入步骤五;步骤五,检查数据帧应用模式和应用层协议号,若不是预先设定值则诊断为伪装报文记录异常原因进入步骤七,当诊断正常时进入步骤八;步骤六,当接收方在超过设定接收数据帧时间窗未接收到数据帧,则诊断为延时超时,记录异常原因进入步骤七;若未超过设定接收数据帧时间窗则保持当前状态并记录未接收到数据帧的时间,接收方设定的接收数据帧时间窗范围为发送方和接收方周期最大值的2-4倍。步骤七,诊断异常次数加1,若诊断异常次数累计未达到容限阈值(所述容限阈值为2-5次)则维护状态不变,否则进行故障处理:1)对接收数据帧的上层数据的质量位置为无效;2)外观提示:利用点阵显示故障具体原因。步骤八,诊断异常次数清零,进行故障恢复处理:1)对接收数据帧的上层数据的质量位置为有效;2)外观提示:点阵不在显示任何信息代表网络诊断一切正常。与现有技术相比,本发明核电站安全级仪控系统通信协议的自诊断方法,实现了对8种网络错误的诊断全覆盖;通过准确判断上层数据质量位置是否有效,从而确保错误数据不会被误用;设置合理的网络诊断故障次数容限阈值,既保证系统稳定(不会因为偶发错误而反复状态跳变),又能在确认为网络故障的情况下第一时间上报。本发明的方法,误判率极低,能有效确保核电站安全级仪控系统点对点通信质量。附图说明图1为典型的核电站安全级仪控系统结构示意图;图2为本发明核电站安全级仪控系统通信协议的自诊断方法发送处理流程框图;图3为本发明核电站安全级仪控系统通信协议的自诊断方法接收数据诊断处理流程框图。具体实施方式下面结合附图对本发明核电站安全级仪控系统通信协议的自诊断方法做进一步的描述。本发明是基于本申请人的ZL200910238712.6号专利“一种基于反应堆保护系统列间安全通讯网络协议的通信方法”所涉及的通信方法的自诊断实现方法。ZL200910238712.6号专利涉及的是一种用于系统列间通讯的安全网络协议,尤指基于反应堆保护系统列间安全通讯网络协议的通信方法。该通信协议虽然适用于核电控制系统中,但是根据IEC6178-3、IEC60880以及IEC61508对于安全网络的自诊断要求,需要对数据崩溃、意外重传、错序、丢失、延迟超时、无效插入、伪装报文和错误寻址8种网络错误的诊断全覆盖,并且还要满足网络残差率的要求。网络残差率是衡量安全网络的安全等级的重要指标。在IEC61784-3中网络残差率有明确的计算公式,这样就可以定量评估所设计网络协议的残差率,其公式如下:∧SLPe=RSL(Pe)×v×m公式符号定义∧SLPe在一定的位传输差错率下的安全层残余差错率,单位h-1Pe传输介质位差错率,在没有更好的数据支撑的情况,一般取10-2RSLPe单个安全报文的残余差错率v每小时的最大安全报文个数m在单个安全功能中允许的最大报文接收端个数单个安全报文的残余差错率RSL(Pe)是由所选用的CRC校验过程决定的,经过CRC校验的报文的残余差错率计算公式为:RCRCPe=2-r+k=dminnCnk×Pek×(1-Pe)n-k公式符号意义r附加CRC校验字符串的长度n传输数据报文的长度dmin最小海明距离海明距离:两个码字的对应比特取值不同的比特数称为这两个码字的海明距离。在一个有效编码集中,任意两个码字的海明距离的最小值称为该编码集的海明距离。举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。实施例一本发明的自诊断方法涉及接收方和发送方使用异步通信方式,接收方不能向发送方发送应答帧。网络设备的发送和接收,读取网络数据时只可以使用定期查询的方式来读取网络数据帧,不能使用中断机制读取网络数据。本发明的数据帧结构如下表所示,其中的数据帧结构是目的地址、源地址、应用层协议号、应用层数据部分和CRC校验码。其中应用层协议号在本实施例中固定为“0XAABB”。目的MAC地址源MAC地址应用层协议号应用层数据CRC校验对应用层数据帧的总长度定义为1000个字节,应用层的数据帧如下表所示:其中功能码,是对数据模式做了特定标识;应用模式,按照协议规定,固定数值为3;TICK值:每周期累加1,即为周期循环数;报文序列号:即本周期内发送报文的序列号,该字段和重传位强相关,当序列号为1代表为本周期首传数据帧,重传位0;当序列号为2代表为本周期重传数据帧,重传位1;报名长度:代表整个数据帧的长度,起始位置为目的MAC地址,终止位置为CRC校验码;本分组有效数据长度:代表上层数据的有效数据长度;分组总数:代表本组数据总包数;分组序号:代表本组数据的包号;重传位:0代表本周期首传数据帧;1代表为本周期重传数据帧。两包数据帧除了报文序列号、重传位以及CRC校验码,其他字段完全一致。保留区:数值为0,为协议扩展字段;上层数据:系统采集或需要发送的命令;CRC校验码:重传位为0,使用CRC校验值为0x04C11DB7;重传位1,使用CRC校验值为0xBA0DC66B。在本实施例中,发送方在初始化阶段获取本方运行周期为10毫秒,本地MAC为{0x01,0x05,0x03,0x07,0x0a},目的MAC为{0x02,0x03,0x05,0x0a,0x0b},接收方在初始化阶段获取本方运行周期为10毫秒,本地MAC为{0x02,0x03,0x05,0x0a,0x0b},目的MAC为{0x01,0x05,0x03,0x07,0x0a}。接收方设定的接收数据帧时间窗为20毫秒,诊断异常次数的容限阈值为3次。具体诊断方法如下:步骤一,发送方进入循环周期后,如图2所示,周期性获取上层数据并对上层数据按照协议格式进行封装,其中TICK值取值为循环周期值,从0开始。对于首传数据帧,报文序列号为0,重传位为0,使用CRC校验值为0x04C11DB7;对于重传数据帧,报文序列号为1,重传位1,使用CRC校验值为0xBA0DC66B;步骤二,接收方进入循环周期后,如图3所示,开始对接收的数据帧进行周期诊断。接收方若在当前周期没有接收到数据帧则进入步骤六;接收方若接收到发送方发送的数据帧后,则检查数据帧的目的MAC是否为{0x02,0x03,0x05,0x0a,0x0b},源MAC是否为{0x01,0x05,0x03,0x07,0x0a},若检查异常则诊断错误寻址,当诊断异常时记录异常原因进入步骤七,当检查正常时,进入步骤三;步骤三,通过诊断数据帧TICK、报文序列号和重传位判断是否发生重传、错序、丢失、无效插入四种网络错误,具体方法如下:假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X5B,报文序列号为1,重传位为0。则可诊断为数据帧丢失;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X5A,报文序列号为1,重传位为0。则可诊断为重传;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X50,报文序列号为1,重传位为0。则可诊断为错序;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X3C,报文序列号为9,重传位为0。则可诊断为无效插入;假设上一数据帧TICK值为0X5A,报文序列号为0,重传位为0,本次接收到的数据帧TICK值为0X5A,报文序列号为2,重传位为1,则可为诊断正常。根据上面诊断信息,当诊断异常时记录异常原因进入步骤七,当检查正常时,进入步骤四;步骤四,对首传数据帧和重传数据帧进行各自CRC校验和进行校验,若校验成功则对两包数据帧的上层数据进行二进制比较。若比较两包数据帧的上层数据完成一致,则诊断为正常,进入步骤五,否则诊断为数据崩溃,进入步骤七。步骤五,检查数据帧的应用模式和应用层协议号是否为预先设定值,即检查应用模式是否等于3,应用层协议号是否等于0XAABB,若不等于则诊断为伪装报文进入步骤七,否则诊断为正常进入步骤八;步骤六,若本周期没有接收到数据帧,当累计未接收到数据帧时间超过20毫秒,则诊断为延时超时进入步骤七。否则保持当前状态并记录未接收到数据帧时间,进入下一周期进行诊断。步骤七,诊断异常次数加1,若诊断异常次数累计未达到3次则维护状态不变,否则进行故障处理:1)对接收数据帧的上层数据的质量位置为0X2C,0X2C代表为本接收方置的质量位,便于查找和定位;2)外观提示:关闭代表通信正常“RUN”灯,并且利用点阵显示故障具体原因,若诊断为数据崩溃点阵显示“W001”代表,若诊断为数据意外重传点阵显示“W002”,若诊断为错序点阵显示“W003”,若诊断为丢失点阵显示“W004”,若诊断为延迟超时点阵显示“W005”,若诊断为无效插入点阵显示“W006”,若诊断为伪装报文点阵显示“W007”,若诊断为错误寻址点阵显示“W008”。故障处理完毕进入下一周期进行诊断。步骤八,诊断异常次数清零,进行故障恢复处理:1)对接收数据帧的上层数据的质量位置为有效。即对上层数据的质量位置为0;2)外观提示:点亮代表通信正常“RUN”灯,点阵不在显示任何信息代表网络诊断一切正常。故障恢复处理完毕后,进入下一周期进行诊断。实施例二在本实施例中,应用层协议号固定为“0XAABB”,应用模式固定数值为3。发送方在初始化阶段获取本方运行周期为8毫秒,本地MAC为{0x01,0x05,0x03,0x07,0x0a},目的MAC为{0x02,0x03,0x05,0x0a,0x0b},接收方在初始化阶段获取本方运行周期为8毫秒,本地MAC为{0x02,0x03,0x05,0x0a,0x0b},目的MAC为{0x01,0x05,0x03,0x07,0x0a}。接收方设定的接收数据帧时间窗为32毫秒,诊断异常次数的容限阈值为5次。具体诊断方法如下:步骤一,发送方进入循环周期后,如图2所示,周期性获取上层数据并对上层数据按照协议格式进行封装,其中TICK值取值为循环周期值,从0开始。对于首传数据帧,报文序列号为0,重传位为0,使用CRC校验值为0x04C11DB7;对于重传数据帧,报文序列号为1,重传位1,使用CRC校验值为0xBA0DC66B;步骤二,接收方进入循环周期后,如图3所示,开始对接收的数据帧进行周期诊断。接收方若在当前周期没有接收到数据帧则进入步骤六;接收方若接收到发送方发送的数据帧后,则检查数据帧的目的MAC是否为{0x02,0x03,0x05,0x0a,0x0b},源MAC是否为{0x01,0x05,0x03,0x07,0x0a},若检查异常则诊断错误寻址,当诊断异常时记录异常原因进入步骤七,当检查正常时,进入步骤三;步骤三,通过诊断数据帧TICK、报文序列号和重传位判断是否发生重传、错序、丢失、无效插入四种网络错误,具体方法如下:假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X5B,报文序列号为1,重传位为0。则可诊断为数据帧丢失;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X5A,报文序列号为1,重传位为0。则可诊断为重传;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X50,报文序列号为1,重传位为0。则可诊断为错序;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X3C,报文序列号为9,重传位为0。则可诊断为无效插入;假设上一数据帧TICK值为0X5A,报文序列号为0,重传位为0,本次接收到的数据帧TICK值为0X5A,报文序列号为2,重传位为1,则可为诊断正常。根据上面诊断信息,当诊断异常时记录异常原因进入步骤七,当检查正常时,进入步骤四;步骤四,对首传数据帧和重传数据帧进行各自CRC校验和进行校验,若校验成功则对两包数据帧的上层数据进行二进制比较。若比较两包数据帧的上层数据完成一致,则诊断为正常,进入步骤五,否则诊断为数据崩溃,进入步骤七。步骤五,检查数据帧的应用模式和应用层协议号是否为预先设定值,即检查应用模式是否等于3,应用层协议号是否等于0XAABB,若不等于则诊断为伪装报文进入步骤七,否则诊断为正常进入步骤八;步骤六,若本周期没有接收到数据帧,当累计未接收到数据帧时间超过32毫秒,则诊断为延时超时进入步骤七。否则保持当前状态并记录未接收到数据帧时间,进入下一周期进行诊断。步骤七,诊断异常次数加1,若诊断异常次数累计未达到5次则维护状态不变,否则进行故障处理:3)对接收数据帧的上层数据的质量位置为0X2C,0X2C代表为本接收方置的质量位,便于查找和定位;4)外观提示:关闭代表通信正常“RUN”灯,并且利用点阵显示故障具体原因,若诊断为数据崩溃点阵显示“W00a”代表,若诊断为数据意外重传点阵显示“W00b”,若诊断为错序点阵显示“W00c”,若诊断为丢失点阵显示“W00d”,若诊断为延迟超时点阵显示“W00e”,若诊断为无效插入点阵显示“W00f”,若诊断为伪装报文点阵显示“W00g”,若诊断为错误寻址点阵显示“W00h”。故障处理完毕进入下一周期进行诊断。步骤八,诊断异常次数清零,进行故障恢复处理:3)对接收数据帧的上层数据的质量位置为有效。即对上层数据的质量位置为0;4)外观提示:点亮代表通信正常“RUN”灯,点阵不在显示任何信息代表网络诊断一切正常。故障恢复处理完毕后,进入下一周期进行诊断。实施例三在本实施例中,应用层协议号固定为“0XAABB”,应用模式固定数值为3。发送方在初始化阶段获取本方运行周期为20毫秒,本地MAC为{0x01,0x05,0x03,0x07,0x0a},目的MAC为{0x02,0x03,0x05,0x0a,0x0b},接收方在初始化阶段获取本方运行周期为20毫秒,本地MAC为{0x02,0x03,0x05,0x0a,0x0b},目的MAC为{0x01,0x05,0x03,0x07,0x0a}。接收方设定的接收数据帧时间窗为60毫秒,诊断异常次数的容限阈值为2次。具体诊断方法如下:步骤一,发送方进入循环周期后,如图2所示,周期性获取上层数据并对上层数据按照协议格式进行封装,其中TICK值取值为循环周期值,从0开始。对于首传数据帧,报文序列号为0,重传位为0,使用CRC校验值为0x04C11DB7;对于重传数据帧,报文序列号为1,重传位1,使用CRC校验值为0xBA0DC66B;步骤二,接收方进入循环周期后,如图3所示,开始对接收的数据帧进行周期诊断。接收方若在当前周期没有接收到数据帧则进入步骤六;接收方若接收到发送方发送的数据帧后,则检查数据帧的目的MAC是否为{0x02,0x03,0x05,0x0a,0x0b},源MAC是否为{0x01,0x05,0x03,0x07,0x0a},若检查异常则诊断错误寻址,当诊断异常时记录异常原因进入步骤七,当检查正常时,进入步骤三;步骤三,通过诊断数据帧TICK、报文序列号和重传位判断是否发生重传、错序、丢失、无效插入四种网络错误,具体方法如下:假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X5B,报文序列号为1,重传位为0。则可诊断为数据帧丢失;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X5A,报文序列号为1,重传位为0。则可诊断为重传;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X50,报文序列号为1,重传位为0。则可诊断为错序;假设上一数据帧TICK值为0X5A,报文序列号为1,重传位为0,本次接收到的数据帧TICK值为0X3C,报文序列号为9,重传位为0。则可诊断为无效插入;假设上一数据帧TICK值为0X5A,报文序列号为0,重传位为0,本次接收到的数据帧TICK值为0X5A,报文序列号为2,重传位为1,则可为诊断正常。根据上面诊断信息,当诊断异常时记录异常原因进入步骤七,当检查正常时,进入步骤四;步骤四,对首传数据帧和重传数据帧进行各自CRC校验和进行校验,若校验成功则对两包数据帧的上层数据进行二进制比较。若比较两包数据帧的上层数据完成一致,则诊断为正常,进入步骤五,否则诊断为数据崩溃,进入步骤七。步骤五,检查数据帧的应用模式和应用层协议号是否为预先设定值,即检查应用模式是否等于3,应用层协议号是否等于0XAABB,若不等于则诊断为伪装报文进入步骤七,否则诊断为正常进入步骤八;步骤六,若本周期没有接收到数据帧,当累计未接收到数据帧时间超过60毫秒,则诊断为延时超时进入步骤七。否则保持当前状态并记录未接收到数据帧时间,进入下一周期进行诊断。步骤七,诊断异常次数加1,若诊断异常次数累计未达到2次则维护状态不变,否则进行故障处理:5)对接收数据帧的上层数据的质量位置为0X2C,0X2C代表为本接收方置的质量位,便于查找和定位;6)外观提示:关闭代表通信正常“RUN”灯,并且利用点阵显示故障具体原因,若诊断为数据崩溃点阵显示“W00Α”代表,若诊断为数据意外重传点阵显示“W00B”,若诊断为错序点阵显示“W00C”,若诊断为丢失点阵显示“W00D”,若诊断为延迟超时点阵显示“W00E”,若诊断为无效插入点阵显示“W00F”,若诊断为伪装报文点阵显示“W00G”,若诊断为错误寻址点阵显示“W00H”。故障处理完毕进入下一周期进行诊断。步骤八,诊断异常次数清零,进行故障恢复处理:5)对接收数据帧的上层数据的质量位置为有效。即对上层数据的质量位置为0;6)外观提示:点亮代表通信正常“RUN”灯,点阵不在显示任何信息代表网络诊断一切正常。故障恢复处理完毕后,进入下一周期进行诊断。根据IEC61508SIL3(安全完整性等级)等级标准要求,核电站安全网络需要满足残差率小于10-9。经过实际测试和插入故障,本发明的自诊断方法对于上述网络8种传输错误均可正确诊断,且网络残差率满足SIL3等级标准要求。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1