本发明属于自动化,具体涉及一种基于循环冗余校验(cyclicredundancy check,crc)和范德蒙里德-所罗门(reed-solomon,rs)编码的重型燃气轮机控制系统数据容错方法。
背景技术:
1、随着大数据时代的到来,工业设备数字化程度不断提高,工业生产过程对数据的准确性、可靠性和实时性的要求不断增强,但在实际工业生产过程中经常出现各种关于数据传输的问题。例如在数据传输过程中受到电磁波影响或传输网络拥塞造成数据丢失。工业中的各种数据问题导致数据的可用性降低,影响工作人员对当前工作状况的判别,使得工业生产无法正常进行,甚至会给工业生产带来不可预估的损失。
2、重型燃气轮机控制系统作为整个重型燃气轮机系统的核心,监测燃气轮机的工作状态,控制燃气轮机的启动、转速/负荷调节等过程,其性能决定着重型燃气轮机的变工况性能、经济性和安全性。在我国大力发展国产重型燃气轮机的背景下,如何保证重型燃气轮机控制系统数据传输的准确性、可靠性和实时性是研究的热点。
3、用户数据报协议(user datagram protocol,udp)是一种无连接的传输层协议,在数据传输过程中延迟小、数据传输效率高,但对传送的数据包无法保证可靠性,在网络质量差的环境下,udp协议数据包丢失严重。
技术实现思路
1、本发明的目的在于提供了一种基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法。将udp协议良好的实时性与crc循环冗余校验良好的检错能力以及范德蒙rs编码出色的纠错能力相结合,提高重型燃气轮机控制系统数据传输的效率,提高控制系统的可靠性。
2、为了实现上述目的,本发明基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法,具体步骤如下:
3、步骤1:i/o模块作为发送端将现场传送的数据分为若干数据包,数据包包括原始数据、crc循环冗余校验码和范德蒙rs编码;
4、步骤2:交换机模块传送i/o模块发送的数据包至控制器模块;
5、步骤3:控制器模块接收交换机模块传送的数据包,并判断数据包是否通过crc循环冗余校验,若通过,则标志位置0;若未通过,则标志位置1;
6、步骤4:交换机模块传送控制器模块传送的数据包至上位机模块;
7、步骤5:上位机模块进行范德蒙rs解码,并实时显示数据。
8、进一步地,步骤1所述的数据进行crc循环冗余校验编码;
9、进一步地,步骤1所述的数据进行范德蒙rs编码,编码方式为:
10、fd=c
11、其中,f代表扩展的范德蒙矩阵,由单位矩阵和范德蒙矩阵组成,d代表数据块,c代表包含冗余校验码的数据块。
12、进一步地,步骤3所述的控制器模块判断数据包是否通过crc循环冗余校验之后,需要进行以下步骤:
13、如果余数为0,表示数据无差错,标志位置0,将数据包继续传输至上位机模块;
14、如果余数不为0,则表示数据有查错,标志位置1,并根据所得余数的对应的二进制确定出错位,将出错结果存储,传输至上位机模块。
15、进一步地,步骤5所述的数据包进行范德蒙rs解码,解码方式为,
16、d=f-1c
17、其中,f-1为扩展范德蒙矩阵的逆矩阵。
18、本发明利用crc循环冗余校验良好的检错能力和范德蒙rs编码良好的纠错能力以及udp用户数据报协议的实时性与快速性,提高重型燃气轮机控制数据传输的准确性、可靠性和实时性。
1.一种基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法,其特征在于,步骤(1)中,数据需要进行crc循环冗余校验编码。
3.根据权利要求1所述的一种基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法,其特征在于,步骤(1)中,数据需要进行范德蒙rs冗余编码,编码方式为:
4.根据权利要求1所述的一种基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法,其特征在于,步骤(3)所述的控制器模块判断数据包是否进行通过crc循环冗余校验之后,如果余数为0,表示数据无差错,标志位置0,将数据包继续传输至上位机模块;如果余数不为0,则表示数据有查错,标志位置1,并根据所得余数的对应的二进制确定出错位,将出错结果存储,传输至上位机模块。
5.根据权利要求1所述的一种基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法,其特征在于,步骤(5)中,数据包传送至上位机模块需要对数据包进行范德蒙rs解码,得到原始数据,解码方式为:
6.根据权利要求1所述的一种基于crc和范德蒙rs编码的重型燃气轮机控制系统数据容错方法,其特征在于,利用crc良好的检错能力和范德蒙rs编码良好的纠错能力以及udp用户数据报协议的实时性与快速性,提高重型燃气轮机控制数据传输的准确性、可靠性和实时性。