CN117978573A - 一种工程机械用功能安全现场总线通信方法 - Google Patents
一种工程机械用功能安全现场总线通信方法 Download PDFInfo
- Publication number
- CN117978573A CN117978573A CN202311756006.7A CN202311756006A CN117978573A CN 117978573 A CN117978573 A CN 117978573A CN 202311756006 A CN202311756006 A CN 202311756006A CN 117978573 A CN117978573 A CN 117978573A
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- determining
- sub
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 61
- 238000004891 communication Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 28
- 231100000279 safety data Toxicity 0.000 claims abstract description 14
- 230000006798 recombination Effects 0.000 claims abstract description 4
- 238000005215 recombination Methods 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 34
- 230000000295 complement effect Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims 2
- 206010009944 Colon cancer Diseases 0.000 description 31
- 238000010586 diagram Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101000879675 Streptomyces lavendulae Subtilisin inhibitor-like protein 4 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种工程机械用功能安全现场总线通信方法,属于机械现场通信领域,包括:发送方实时获取主机数据帧,组成发送的数据帧,发送的数据帧中包括两个完全一致的数据子帧;对发送的数据帧进行数据处理,获得数据拆装与重组的发送数据并向接收方发送;接收方实时接收数据并对接收数据进行数据完整性判断,确定无传输错误的接收数据;基于无传输错误的接收数据进行交叉校验,确定数据中的子帧数据是否为安全数据帧;对安全数据帧数据进行发送与接收的时间戳对比,确定有效数据帧并执行;本发明的通信方法能够解决CAN总线通信过程中数据帧传输的多种错误问题,实现了具有较高功能安全等级的电气控制系统安全总线通信,并具备可操作性强的特点。
Description
技术领域
本发明属于机械现场通信技术领域,具体涉及一种工程机械用功能安全现场总线通信方法。
背景技术
现场总线通信是工程机械产品电气控制系统的关键技术之一,总线是电气控制系统中设备间进行通信的通道,总线技术具有协议简单、成本低、安装方便、容错能力强等优点,可以在电气控制系统和外部设备间高速高效地传输大量数据,能够满足电气控制系统对高速高精度的控制要求。随着系统安全性能需求的不断提高,要求电气控制系统及相关设备具有安全功能,实现对人员、设备及环境的保护,减少安全事故的发生,确保工程机械产品的高效、安全地运行。
现有的现场总线通信技术在实际应用中受机械现场干扰常常出现数据错误、意外重发、不正确的序列、丢失、不可接受的延时、插入、伪装、寻址等总线通信的多种常见通信错误问题,虽然也采用一些现有技术进行改进,如故障上报和CAN报文校验对数据帧进行校验,以及利用序列号、时间戳和CRC实现功能安全,利用加密和数据完整性校验手段,此外还有部分企业为了解决上述问题采用大量自主研发硬件设备及对应数据一致性校验算法,但是以上现有技术均存在适应性不高、数据帧的校验限制大,安全性能等级计算、总剩余错误率计算等功能安全方面性能依然不高,不具有广泛的推广前景。
发明内容
发明目的:为了克服现有技术中的不足,本发明提供一种工程机械用功能安全现场总线通信方法,通过本发明的通信方法对CAN总线通信过程进行设计,解决数据错误、意外重发、不正确的序列、丢失、不可接受的延时、插入、伪装、寻址等总线通信的八种错误问题,实现了具有较高功能安全等级的电气控制系统安全总线,可操作性强,具有广泛的推广前景。
技术方案:第一方面本发明提供一种工程机械用功能安全现场总线通信方法,包括:
发送方实时获取主机数据帧,组成发送的数据帧;
对发送的数据帧进行数据处理,获得数据拆装与重组的发送数据并向接收方发送;
接收方实时接收数据并对接收数据进行数据完整性判断,确定无传输错误的接收数据;
基于无传输错误的接收数据进行交叉校验,确定数据中的子帧数据是否为安全数据帧;
对安全数据帧数据进行发送与接收的时间戳对比,确定有效数据帧并执行。
在进一步的实施例中,发送方实时获取主机数据帧,组成发送的数据帧中包括两个完全一致的数据子帧。
在进一步的实施例中,对发送的数据帧进行数据处理,获得数据拆装与重组的发送数据的方法包括:
根据预设的字节位阈值分别判断数据子帧的数据长度,确定发送模块对数据子帧进行分包处理或发送模块直接发送;发送模块并对数据场部分进行划分,获得拆装的数据子帧;
判断分包处理且拆装的数据子帧,确定补全数据包后发送至发送模块或直接发送至发送模块。
在进一步的实施例中,根据预设的字节位阈值分别判断数据子帧的数据长度,确定发送模块对数据子帧进行分包处理或发送模块直接发送数据子帧的方法包括:
当数据子帧小于或等于字节位阈值下限时,不进行分包处理,发送模块直接发送数据子帧;
当数据子帧大于字节位阈值下限且小于或等于上限时进行分包处理,获得分包后的数据包。
在进一步的实施例中,发送模块并对数据场部分进行划分,获得拆装的数据子帧包括:
对直接发送的数据子帧和分包后的数据包进行数据场的区别划分,其中,直接发送的数据子帧中,数据场包括:序列编号、时间戳、数据区;分包后的数据包,第一个数据包中,数据场分为序列编号、时间戳、CRC15;第二个至最后一个数据包中,数据场分为序列编号、数据区;
序列编号的区域长度为1Bytes,数值范围为0~255,序列编号用于发送数据的分包编号处理,为每个数据包分配一个序列号,连续发送的数据包之间的序列编号为加一关系;
时间戳区域记录了数据帧发起的时间,用于数据帧的超时判断。
在进一步的实施例中,判断分包处理且拆装的数据子帧,确定补全数据包后发送至发送模块或直接发送至发送模块的方法包括:
根据预设字节位判断分包后且拆装的数据子帧的数据包,确定需要补齐的数据包;
若分包后的数据包小于预设字节位,则确定需要补齐的数据包,并以FF16补齐数据包的空余字节位,直至最后一个数据包补齐时,发送至发送模块用于向接收方发送;
若分包后的数据包大于或等于预设字节位,则无不存在补齐的数据包直接发送至发送模块用于向接收方发送。
在进一步的实施例中,发送模块用于向接收方发送的方法包括:
接收数据子帧分包处理后的数据包组和直接发送的数据子帧;
将接收的数据包组按照序列编号的顺序重新组合成一串,根据时间戳发送至对应的应用模块处理为长数据;并使用CAN协议产生发送方CRC校验码;长数据的数据域存储有CRC校验码,用于与长数据同时传输;
对接收的数据子帧使用CAN协议,生成包含发送方CRC校验码和数据子帧的发送数据;
基于发送数据中两个完全一致的数据子帧,同时发送两个数据完全一致的报文安全因子PDU,用于现场总线的报文发送。
在进一步的实施例中,接收方实时接收数据并对接收数据进行数据完整性判断,确定无传输错误的接收数据的方法包括:
接收方通过接收模块接收数据后,根据接收数据重新产生一个接收方CRC校验码;
根据接收方CRC校验码对比发送方CRC校验码,判断校验值相同是否相同;
根据相同的校验值,确定无传输错误的接收数据;
其中,判断校验值相同将接收方CRC校验码、发送方CRC校验码基于CRC的残余错误率计算函数,确定校验值相同。
在进一步的实施例中,基于无传输错误的接收数据进行交叉校验,确定数据中的子帧数据是否为安全数据帧的方法为:
解析无传输错误的接收数据,确定来自两个安全通信通道的报文;
分别对两个安全通信通道的报文经过安全检测并进行交叉校验,并确定无出错的数据子帧存在的数据帧为安全数据帧;
其中,安全数据帧中地址信息中加入有标识号位置,标识号位置与发送方站点关联用于安全检测,仅目标发送方站点的标识号位置,才会被接收方响应并处理;
将两个安全通信通道的报文所关联的参量分别代入交叉冗余计算;
对安全数据帧依次进行数据完整性残余错误率计算、真实性残余错误率计算、时效性残余错误率计算、伪装残余错误率计算、总残余错误率计算,验证数据帧是否有无出错的数据子帧存在。
在进一步的实施例中,对安全数据帧数据进行发送与接收的时间戳对比,确定有效数据帧的方法包括:
根据安全数据帧分别提取出发送数据区内的时间戳和接收数据区内的时间戳;
根据预设差值阈值对比发送数据区内的时间戳和接收数据区内的时间戳,确定有效数据帧并执行。
有益效果:本发明与现有技术相比具有以下优点:
通过本发明的通信方法对CAN总线通信过程进行设计,解决数据错误、意外重发、不正确的序列、丢失、不可接受的延时、插入、伪装、寻址等总线通信的八种错误问题,
依据现有电气设计标准,结合工程机械产品相关的安全要求,在现有协议栈和物理层的基础上,参照CAN总线进行研究与设计,实现了具有较高安全等级的电气控制系统安全总线,可操作性强,具有广泛的推广前景。
附图说明
图1为本发明中总线通信方法的流程示意图;
图2为本发明中总线安全数据帧设计示意图;
图3为本发明中发送数据data(data≤2Bytes)时数据场对应数据位示意图;
图4为本发明中发送数据data(2<data≤64Bytes)时数据场对应数据位示意图;
图5为本发明中发送数据拆装重组逻辑示意图;
图6为本发明中连接认证逻辑示意图;
图7为本发明中数据提取与校验逻辑示意图;
图8为本发明总线通信数据处理的设计逻辑示意图;
图9为不同CRC在指定海明距离下所能检测的最大位长度。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
结合图1至图8进一步说明本发明的工程机械用功能安全现场总线通信方法,包括:
发送方实时获取主机数据帧,组成发送的数据帧;
对发送的数据帧进行数据处理,获得数据拆装与重组的发送数据并向接收方发送;
接收方实时接收数据并对接收数据进行数据完整性判断,确定无传输错误的接收数据;
基于无传输错误的接收数据进行交叉校验,确定数据中的子帧数据是否为安全数据帧;
对安全数据帧数据进行发送与接收的时间戳对比,确定有效数据帧并执行。
优选的,发送方实时获取主机数据帧,组成发送的数据帧中的每个安全数据帧中包含两个完全一致的子帧,实现了对数据帧的全冗余。
优选的,对发送的数据帧进行数据处理,获得数据拆装与重组的发送数据的方法包括:
根据预设的字节位阈值分别判断数据子帧的数据长度,确定发送模块对数据子帧进行分包处理或发送模块直接发送;发送模块并对数据场部分进行划分,获得拆装的数据子帧;
判断分包处理且拆装的数据子帧,确定补全数据包后发送至发送模块或直接发送至发送模块;
进一步的,根据预设的字节位阈值分别判断数据子帧的数据长度,确定发送模块对数据子帧进行分包处理或发送模块直接发送数据子帧的方法包括:
当数据子帧小于或等于字节位阈值下限时,不进行分包处理,发送模块直接发送数据子帧;
当数据子帧大于字节位阈值下限且小于或等于上限时进行分包处理,获得分包后的数据包,本实施例中的字节位阈值为2Bytes-64Bytes。
发送模块并对数据场部分进行划分,获得拆装的数据子帧包括:
对直接发送的数据子帧和分包后的数据包进行数据场的区别划分,其中,直接发送的数据子帧中,数据场包括:序列编号、时间戳、数据区;分包后的数据包,第一个数据包中,数据场分为序列编号、时间戳、CRC15;第二个至最后一个数据包中,数据场分为序列编号、数据区;
序列编号的区域长度为1Bytes,数值范围为0~255,序列编号用于发送数据的分包编号处理,为每个数据包分配一个序列号,连续发送的数据包之间的序列编号为加一关系;
时间戳区域记录了数据帧发起的时间,用于数据帧的超时判断,本实施例中设计的安全通信协议是基于点对点主从通信模式,假设主机和从机之间的通信周期100ms,可以设置时间预期窗口为95ms~105ms。
对从机而言,接收完主机发送的一组安全通信报文顿后开启时间窗计时器,如果从机接收到主机发送的下一帧安全通信报文帧在设置的时间窗口内则认为通信正常,否则认为通信异常。对主机而言,主机发送完一帧安全通信报文帧后,开启时间窗口计时器,如果主机在设置的时间窗口(95ms~105ms)内未接收到从机发送的安全通信报文帧则表明通信失败,否则认为通信正常。
CRC校验的是根据“时间戳+发送数据data”数据生成的循环冗余校验,确保数据传输过程中的完整性,因此在消息中包含元余数据,以便通过冗余检查检测数据损坏。
本实施例中按照发送数据长度,对数据帧中的数据场部分进行以下划分:
发送数据data(data≤2Bytes)时,数据场分为“序列编号+时间戳+数据区”;
发送数据data(2<data≤64Bytes)时,对数据进行拆装数据包组的处理。
第一个数据包中,数据场分为“序列编号+时间戳+CRC15”。第2~n(n≥3)个数据包中,数据场分为“序列编号+数据区”,序列编号以预先设定的方式在相邻消息之间变化区域长度为1Bytes,数值范围为0~255,序列编号主要用于发送数据的分包编号处理;该方法为每个数据包分配一个序列号,可以每发一次数据包,将序列号加一。避免通信过程中产生报文重发、不正确的序列、丢失或插入错误。
判断分包处理且拆装的数据子帧,确定补全数据包后发送至发送模块或直接发送至发送模块的方法包括:
根据预设字节位判断分包后且拆装的数据子帧的数据包,确定需要补齐的数据包;
若分包后的数据包小于预设字节位,则确定需要补齐的数据包,并以FF16补齐数据包的空余字节位,直至最后一个数据包补齐时,发送至发送模块用于向接收方发送;
若分包后的数据包大于或等于预设字节位,则无不存在补齐的数据包直接发送至发送模块用于向接收方发送;本实施例中的预设字节位为7Bytes,当存在不足7Bytes的数据包,以FF16补齐该数据包的空余字节位。
优选的,发送模块用于向接收方发送的方法包括:
接收数据子帧分包处理后的数据包组和直接发送的数据子帧;
将接收的数据包组按照序列编号的顺序重新组合成一串,根据时间戳发送至对应的应用模块处理为长数据;并使用CAN协议产生发送方CRC校验码;长数据的数据域存储有CRC校验码,用于与长数据同时传输;
对接收的数据子帧使用CAN协议,生成包含发送方CRC校验码和数据子帧的发送数据;
基于发送数据中两个完全一致的数据子帧,同时发送两个数据完全一致的报文安全因子PDU,用于现场总线的报文发送,本实施例在不同的时间利用不同的报文将安全PDU发送到相同的现场总线上,来自两个安全通信通道的报文要分别经过安全检测并进行交叉校验,以此来检测子帧数据是否出错。
优选的,接收方实时接收数据并对接收数据进行数据完整性判断,确定无传输错误的接收数据的方法包括:
接收方通过接收模块接收数据后,根据接收数据重新产生一个接收方CRC校验码;
根据接收方CRC校验码对比发送方CRC校验码,判断校验值相同是否相同;
根据相同的校验值,确定无传输错误的接收数据;
其中,判断校验值相同将接收方CRC校验码、发送方CRC校验码基于CRC的残余错误率计算函数,确定校验值相同;基于CRC的残余错误率计算的表达式为:
式中,r为安全通信报文帧CRC校验码比特数,dmin为最小海明距离,n为安全通信报文帧PDU的总比特数,Pe为比特错误概率,本发明设计的安全通信数据帧数据块长度在1Byte~64Bytes之间。根据公式1计算CRC多项式的残余错误概率时需要求得CRC多项式在数据传输块长度为16字节和64字节时最小海明距离dmin,本发明基于CAN通信协议,沿用CAN中的CRC设计值15。
本协议采用的CRC15多项式参照IEE802.3标准提供的多项式如下:
G(x)=x15+x14+x10+x8+x7+x4+x3+x0
根据图9可知,64字节时最小海明距离dmin=6
本发明是基于1EC61784-3附录A中模型C,这意味着在安全报文的双重传输并在接收方内逐字位比较情况下,未发现错误的前提条件是两个报文的损坏是相同的。CRC多项式的残余错误概率可以通过的公式1进行计算。在这种情况下,每个报文内特定的比特错误组合的概率是相同的,因此,公式1应被平方,得到以下计算公式:
式中,r为安全通信报文帧附CRC校验码比特数,dmin为最小海明距离,n-PDU的总比特数,Pe为比特错误概率,r为15,Pe为6;安全通信报文帧长度n为最大值64字节(64x 8=512bit),.代入公式2得到CRC15的残余错误率为:
RCRC(Pe)≈2.85823×10-20。
基于无传输错误的接收数据进行交叉校验,确定数据中的子帧数据是否为安全数据帧的方法为:
解析无传输错误的接收数据,确定来自两个安全通信通道的报文;
分别对两个安全通信通道的报文经过安全检测并进行交叉校验,并确定无出错的数据子帧存在的数据帧为安全数据帧;
其中,安全数据帧中地址信息中加入有标识号位置,标识号位置与发送方站点关联用于安全检测,仅目标发送方站点的标识号位置,才会被接收方响应并处理;
本实施例主机地址和从机地址分别占用1个字节,共两个字节,主机的地址为OxFF,从机的地址为0x00。对主机而言,若接收到从机安全通信报文帧PDU1中发送地址为0x00且目的地址为0xFF;同样PDU2中发送地址为0x00且目的地址为0xFF,则认为本次接收到的报文未出现非预期的报文插入、寻址错误、报文伪装错误。
将两个安全通信通道的报文所关联的参量分别代入交叉冗余计算。
对安全数据帧依次进行数据完整性残余错误率计算、真实性残余错误率计算、时效性残余错误率计算、伪装残余错误率计算、总残余错误率计算,验证数据帧是否有无出错的数据子帧存在。
数据完整性残余错误率RRI计算具体为:
根据IEC61784-3附录F可知,数据完整性残余错误率RRI的计算公式为:
RRI=RPI×V×RPU×RPFSCP (3)
式中,RRI为数据完整性的残余错误率,RPI为数据完整性的残余错误概率,V为每小时SCL对SPDU采样的最大数量(采样率)。RPU为其他惟-性字段的残余错误概率,RPFSCP-FSCP为独有的其他措施的残余错误概率假设发送器和接收器之间的通讯周期为100ms,因此每小时通讯的数量V=3600×10=36000,RPI数据完整性残余错误概率即上面计算的RCRC(Pe)的值,RPU和RPFSCP选用最大值1,代入公式3可计算出数据完整性残余错误率RPI:
RPI=2.85823×10-20×36000×1×1=1.02896×10-15。
真实性残余错误率RRA的具体计算过程为:
根据IEC61784-3附录F可知,真实性残余错误率RRA的计算公式为:
RRA=RP1×2-LA×RA×RPFSCP (4)
式中,RRA为真实性残余错误率,RPI为数据完整性的残余错误概率,LA为连接认证的比特长度,RA为方向错误安全PDU的错误概率,RPFSCP-FSCP独有的其他措施的残余错误概率,LA为16,RA按照标准选用最严苛的条件10-3/h,RPFSCP选用最大值1,代入公式4计算得到真实性残余错误率:
RRA=2.85823×10-20×2-16×10-3=4.36×10-28。
时效性残余错误率RRT的具体计算过程为:
根据IEC61784-3附录F可知时效性残余错误率RR-的计算公式为:
RRT=2-LT×w×RT×RPFSCP (5)
式中,RRT为时效性残余错误率,LT为序列号的比特长度,w为接收安全PDU时可接受的时间戳或序列号的取值范围,RT为安全PDU不正确序列发生的概率,RPFSCP-FSCP独有的其他措施的残余错误概率,LT占据3字节数据即24位,w取值为1,RT按照标准取值为10-3/h,RPFSCP选用最大值1,代入公式5中计算得到时效性残余错误率为:
RRT=2-24×1×10-3×1=5.96×10-11。
伪装残余错误率RRM的具体计算过程为:
根据IEC61784-3附录F可知伪装残余错误率RRM的计算表达式为:
RRM=2-LA×2-LT×w×2-r×RPu×2-LR×RM (6)
式中,RRM为伪装残余错误率,LA为连接认证的比特长度,LT为序列号的比特长度,W为接收安全PDU时可接受的时间戳或序列号的取值范围,r为安全通信报文帧附CRC校验码比特数,RPU为其他唯一-性字段的残余错误概率,LR-PDU中重复部分的比特长度,RM-PDU出现伪码的发生概率,RPU选用最大值1,LR为0,RM按照标准取值为10-3/h,代入公式6中计算得到伪装残余错误率为:
RPM=2-16×2-8×1×2-15×1×20×10-3=2.78×10-20。
总残余错误率的具体计算过程为:
安全通信通道的总残余错误率是单个残余错误率RRI、RRA、RRT和RRM的总和,计算公式为:
λSC=RRI+RRA+RRT+RRM (7)
式中将上面的计算结果代入公式7中可计算得出总的残余错误率为:
λSC=5.96057×10-11;
根据IEC61784-3附录F.1残余错误率与SIL的典型关系表如表1所示λSC小于10-10/h,本发明设计的方法满足SIL4要求。
表1
优选的,对安全数据帧数据进行发送与接收的时间戳对比,确定有效数据帧的方法包括:
根据安全数据帧分别提取出发送数据区内的时间戳和接收数据区内的时间戳;
根据预设差值阈值对比发送数据区内的时间戳和接收数据区内的时间戳,确定有效数据帧并执行。
综上所述,本发明的设计依据IEC61784-3:2017标准,结合工程机械产品相关的安全要求,在现有协议栈和物理层的基础上,参照CAN总线进行研究与设计,能够解决数据错误、意外重发、不正确的序列、丢失、不可接受的延时、插入、伪装、寻址等总线通信的八种错误问题,
依据现有电气设计标准,结合工程机械产品相关的安全要求,在现有协议栈和物理层的基础上,参照CAN总线进行研究与设计,实现了具有较高安全等级的电气控制系统安全总线,可操作性强,具有广泛的推广前景。
本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种工程机械用功能安全现场总线通信方法,其特征在于,包括:
发送方实时获取主机数据帧,组成发送的数据帧;
对发送的数据帧进行数据处理,获得数据拆装与重组的发送数据并向接收方发送;
接收方实时接收数据并对接收数据进行数据完整性判断,确定无传输错误的接收数据;
基于无传输错误的接收数据进行交叉校验,确定数据中的子帧数据是否为安全数据帧;
对安全数据帧数据进行发送与接收的时间戳对比,确定有效数据帧并执行。
2.根据权利要求1所述的工程机械用功能安全现场总线通信方法,其特征在于,发送方实时获取主机数据帧,组成发送的数据帧中包括两个完全一致的数据子帧。
3.根据权利要求1所述的工程机械用功能安全现场总线通信方法,其特征在于,对发送的数据帧进行数据处理,获得数据拆装与重组的发送数据的方法包括:
根据预设的字节位阈值分别判断数据子帧的数据长度,确定发送模块对数据子帧进行分包处理或发送模块直接发送;发送模块并对数据场部分进行划分,获得拆装的数据子帧;
判断分包处理且拆装的数据子帧,确定补全数据包后发送至发送模块或直接发送至发送模块。
4.根据权利要求3所述的工程机械用功能安全现场总线通信方法,其特征在于,根据预设的字节位阈值分别判断数据子帧的数据长度,确定发送模块对数据子帧进行分包处理或发送模块直接发送数据子帧的方法包括:
当数据子帧小于或等于字节位阈值下限时,不进行分包处理,发送模块直接发送数据子帧;
当数据子帧大于字节位阈值下限且小于或等于上限时进行分包处理,获得分包后的数据包。
5.根据权利要求3所述的工程机械用功能安全现场总线通信方法,其特征在于,送模块并对数据场部分进行划分,获得拆装的数据子帧包括:
对直接发送的数据子帧和分包后的数据包进行数据场的区别划分,其中,直接发送的数据子帧中,数据场包括:序列编号、时间戳、数据区;分包后的数据包,第一个数据包中,数据场分为序列编号、时间戳、CRC15;第二个至最后一个数据包中,数据场分为序列编号、数据区。
序列编号的区域长度为1Bytes,数值范围为0~255,序列编号用于发送数据的分包编号处理,为每个数据包分配一个序列号,连续发送的数据包之间的序列编号为加一关系;
时间戳区域记录了数据帧发起的时间,用于数据帧的超时判断。
6.根据权利要求1所述的工程机械用功能安全现场总线通信方法,其特征在于,判断分包处理且拆装的数据子帧,确定补全数据包后发送至发送模块或直接发送至发送模块的方法包括:
根据预设字节位判断分包后且拆装的数据子帧的数据包,确定需要补齐的数据包;
若分包后的数据包小于预设字节位,则确定需要补齐的数据包,并以FF16补齐数据包的空余字节位,直至最后一个数据包补齐时,发送至发送模块用于向接收方发送;
若分包后的数据包大于或等于预设字节位,则无不存在补齐的数据包直接发送至发送模块用于向接收方发送。
7.根据权利要求6所述的工程机械用功能安全现场总线通信方法,其特征在于,发送模块用于向接收方发送的方法包括:
接收数据子帧分包处理后的数据包组和直接发送的数据子帧;
将接收的数据包组按照序列编号的顺序重新组合成一串,根据时间戳发送至对应的应用模块处理为长数据;并使用CAN协议产生发送方CRC校验码;长数据的数据域存储有CRC校验码,用于与长数据同时传输;
对接收的数据子帧使用CAN协议,生成包含发送方CRC校验码和数据子帧的发送数据;
基于发送数据中两个完全一致的数据子帧,同时发送两个数据完全一致的报文安全因子PDU,用于现场总线的报文发送。
8.根据权利要求1所述的工程机械用功能安全现场总线通信方法,其特征在于,接收方实时接收数据并对接收数据进行数据完整性判断,确定无传输错误的接收数据的方法包括:
接收方通过接收模块接收数据后,根据接收数据重新产生一个接收方CRC校验码;
根据接收方CRC校验码对比发送方CRC校验码,判断校验值相同是否相同;
根据相同的校验值,确定无传输错误的接收数据;
其中,判断校验值相同将接收方CRC校验码、发送方CRC校验码基于CRC的残余错误率计算函数,确定校验值相同。
9.根据权利要求1所述的工程机械用功能安全现场总线通信方法,其特征在于,基于无传输错误的接收数据进行交叉校验,确定数据中的子帧数据是否为安全数据帧的方法为:
解析无传输错误的接收数据,确定为来自两个安全通信通道的报文;
分别对两个安全通信通道的报文经过安全检测并进行交叉校验,并确定无出错的数据子帧存在的数据帧为安全数据帧;
其中,安全数据帧中地址信息中加入有标识号位置,标识号位置与发送方站点关联用于安全检测,仅目标发送方站点的标识号位置,才会被接收方响应并处理;
将两个安全通信通道的报文所关联的参量分别代入交叉冗余计算;
对安全数据帧依次进行数据完整性残余错误率计算、真实性残余错误率计算、时效性残余错误率计算、伪装残余错误率计算、总残余错误率计算,验证数据帧是否有无出错的数据子帧存在。
10.根据权利要求1所述的工程机械用功能安全现场总线通信方法,其特征在于,对安全数据帧数据进行发送与接收的时间戳对比,确定有效数据帧的方法包括:
根据安全数据帧分别提取出发送数据区内的时间戳和接收数据区内的时间戳;
根据预设差值阈值对比发送数据区内的时间戳和接收数据区内的时间戳,确定有效数据帧并执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311756006.7A CN117978573A (zh) | 2023-12-19 | 2023-12-19 | 一种工程机械用功能安全现场总线通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311756006.7A CN117978573A (zh) | 2023-12-19 | 2023-12-19 | 一种工程机械用功能安全现场总线通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117978573A true CN117978573A (zh) | 2024-05-03 |
Family
ID=90848504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311756006.7A Pending CN117978573A (zh) | 2023-12-19 | 2023-12-19 | 一种工程机械用功能安全现场总线通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117978573A (zh) |
-
2023
- 2023-12-19 CN CN202311756006.7A patent/CN117978573A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545257B (zh) | 一种汽车can总线加密方法 | |
US6931581B1 (en) | Method for superimposing a sequence number in an error detection code in a data network | |
US7640480B2 (en) | Detection of errors in the communication of data | |
CN107888344B (zh) | 一种误码检测的方法、设备和系统 | |
US20080043731A1 (en) | Method And Apparatus For Generating Packet Frames For Carrying Data | |
US10425231B2 (en) | Information processing apparatus and method for authenticating message | |
RU2011108113A (ru) | Устройство и способ для формирования протокольного модуля данных мас в системе беспроводной связи | |
EP2454864B1 (de) | Vermeidung von maskerade durch verwendung von kennungssequenzen | |
CN106656424B (zh) | 一种数据传输的校验方法 | |
WO2003030437A3 (en) | Methodology for detecting lost packets | |
US7716559B2 (en) | Method for lost packet reconstruction and device for carrying out said method | |
EP2548330B1 (en) | Method of conducting safety-critical communications | |
EP2822204B1 (en) | Communication device and communication method | |
CN117978573A (zh) | 一种工程机械用功能安全现场总线通信方法 | |
KR20050086541A (ko) | 향상된 통신 프로토콜을 사용하는 통신 방법, 통신 시스템및 단말기 | |
JP3439722B2 (ja) | 特殊データ・パケットにタグ付けする方法及び特殊データ・パケット検出方法 | |
US20210373545A1 (en) | Method and reproduction unit for reproducing protected messages | |
US20150067455A1 (en) | Communication device and communication method | |
Zhou et al. | Design and implementation of functional safety fieldbus communication protocol | |
CN110198202B (zh) | 一种afdx总线消息数据源的校验方法及装置 | |
CN110392051B (zh) | 一种基于主动丢包的时间隐通道鲁棒构建方法 | |
CN113873340A (zh) | 一种数据处理方法、装置、设备、系统及存储介质 | |
Morris et al. | Critical Message Integrity Over A Shared Network | |
US20150058707A1 (en) | Communication device and communication method | |
US7469005B2 (en) | Method for synchronizing memory areas in a transmitter apparatus and a receiver apparatus, and receiver apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |