CN113420038A - 工业控制系统的冗余数据传输方法和装置 - Google Patents

工业控制系统的冗余数据传输方法和装置 Download PDF

Info

Publication number
CN113420038A
CN113420038A CN202110964791.XA CN202110964791A CN113420038A CN 113420038 A CN113420038 A CN 113420038A CN 202110964791 A CN202110964791 A CN 202110964791A CN 113420038 A CN113420038 A CN 113420038A
Authority
CN
China
Prior art keywords
data
receiving
packet
module
area
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
Application number
CN202110964791.XA
Other languages
English (en)
Inventor
毛钦晖
吕铖灿
董乾钦
毛海波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN202110964791.XA priority Critical patent/CN113420038A/zh
Publication of CN113420038A publication Critical patent/CN113420038A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请公开了一种工业控制系统的冗余数据传输方法和装置,具体为当接收到工业控制系统的工作模块发送的数据帧时,基于当前的接收缓存区接收并存储数据帧;判断同一周期内的数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;如果数据帧完整,则将存储有数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;将有效数据区内的数据帧更新到冗余模块的实时数据区内。这样一来虽然发送和接收存在速度偏差,但通过对接收缓存区和另一个有效数据区的切换避免了数据冲突,从而解决了冗余数据传输时的冲突问题。

Description

工业控制系统的冗余数据传输方法和装置
技术领域
本申请涉及自动化技术领域,更具体地说,涉及一种工业控制系统的冗余数据传输方法和装置。
背景技术
在工业控制系统中,考虑到系统的稳定运行,一般采用热备冗余的两个工作模块同时运行,当其中一个工作模块发生故障后,可通过工作模块的切换实现系统的持续稳定运行。在热备冗余系统中,一般会有工作模块和备用模块。工作模块需要定期将本通道内的冗余数据发送给备用模块,以使备用模块能够实现与当前的工作模块的数据同步。
由于整体的冗余数据较多,因此需要分多包发送。在分包发送过程中,由于工作模块和备用模块一般异步独立运行,存在发送和接收的异步性,导致存在速度偏差,数据接收的读写之间容易产生冲突。
发明内容
有鉴于此,本申请提供一种工业控制系统的冗余数据传输方法和装置,用于在工作模块与备用模块之间传输冗余数据,以解决冗余数据传输时的冲突问题。
为了实现上述目的,现提出的方案如下:
一种工业控制系统的冗余数据传输方法,所述工业控制系统至少包括工作模块和冗余模块,所述冗余数据传输方法应用于所述冗余模块,所述冗余数据传输方法包括步骤:
当接收到所述工作模块发送的数据帧时,基于当前的接收缓存区接收并存储所述数据帧;
判断同一周期内的所述数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;
如果所述数据帧完整,则将存储有所述数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;
将所述有效数据区内的所述数据帧更新到所述冗余模块的实时数据区内。
可选的,所述基于当前的接收缓存区接收并存储所述数据帧,包括步骤:
当所述数据帧中数据包的包序号为0时,根据同时接收到的发送周期号和发送总包数更新本地的接收周期号和接收总包数,并将所述数据包存储到所述接收缓存区;
当所述数据帧中的数据包的包序号不为0时,通过对所述发送周期号与接收周期号的对比和/或通过对所述发送总包数与所述接收总包数的对比,确定此时接收的数据包是否正常,如不正常则予以丢弃,如正常则存储接收到的数据包。
可选的,所述基于当前的接收缓存区接收并存储所述数据帧,还包括步骤:
对于接收到的每个数据包进行重复性检测,当确定是被重复接收的数据包时,将其予以丢弃。
可选的,所述将存储有所述数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区,包括步骤:
申请切换接收缓冲区;
申请成功时将所述接收缓冲区设置为所述有效数据区,释放操作权限,并将原有效数据区切换为新的接收缓冲区。
一种工业控制系统的冗余数据传输装置,所述工业控制系统至少包括工作模块和冗余模块,所述冗余数据传输装置应用于所述冗余模块,所述冗余数据传输装置包括:
数据接收模块,被配置为当接收到所述工作模块发送的数据帧时,基于当前的接收缓存区接收并存储所述数据帧;
数据检测模块,被配置为判断同一周期内的所述数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;
缓存重置模块,被配置为如果所述数据帧完整,则将存储有所述数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;
数据更新模块,被配置为将所述有效数据区内的所述数据帧更新到所述冗余模块的实时数据区内。
可选的,所述数据接收模块包括:
第一接收单元,用于当所述数据帧中数据包的包序号为0时,根据同时接收到的发送周期号和发送总包数更新本地的接收周期号和接收总包数,并将所述数据包存储到所述接收缓存区;
第二接收单元,用于当所述数据帧中的数据包的包序号不为0时,通过对所述发送周期号与接收周期号的对比和/或通过对所述发送总包数与所述接收总包数的对比,确定此时接收的数据包是否正常,如不正常则予以丢弃,如正常则存储接收到的数据包。
可选的,所述数据接收模块还包括:
数据检测单元,用于对于接收到的每个数据包进行重复性检测,当确定是被重复接收的数据包时,将其予以丢弃。
可选的,所述缓存重置模块包括:
切换申请单元,用于申请切换接收缓冲区;
切换执行单元,用于申请成功时将所述接收缓冲区设置为所述有效数据区,释放操作权限,并将原有效数据区切换为新的接收缓冲区。
从上述的技术方案可以看出,本申请公开了一种工业控制系统的冗余数据传输方法和装置,具体为当接收到工业控制系统的工作模块发送的数据帧时,基于当前的接收缓存区接收并存储数据帧;判断同一周期内的数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;如果数据帧完整,则将存储有数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;将有效数据区内的数据帧更新到冗余模块的实时数据区内。这样一来虽然发送和接收存在速度偏差,但通过对接收缓存区和另一个有效数据区的切换避免了数据冲突,从而解决了冗余数据传输时的冲突问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种工业控制系统的冗余数据传输方法的流程图;
图2为本申请实施例的工作模块和冗余模块的框图;
图3为本申请实施例的一种基于当前的接收缓存区接收并存储数据帧的流程图;
图4为本申请实施例的另一种基于当前的接收缓存区接收并存储数据帧的流程图;
图5为本申请实施例的一种工业控制系统的冗余数据传输装置的框图;
图6为本申请实施例的另一种工业控制系统的冗余数据传输装置的框图;
图7为本申请实施例的又一种工业控制系统的冗余数据传输装置的框图;
图8为本申请实施例的又一种工业控制系统的冗余数据传输装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例的一种工业控制系统的冗余数据传输方法的流程图。
本实施例中所提及的工业控制系统至少包括相互热备的两个模块,分别为工作模块100和冗余模块200,如图2所示,所谓工作模块和冗余模块为相对概念而已,即当前工作的模块为工作模块,处于热备状态的模块为冗余模块。其中,该工作模块根据其运行过程中产生的实时数据产生冗余数据,该冗余数据基于本申请的冗余数据传输方法被发送至冗余模块,冗余模块在基于该冗余数据对其实时数据进行更新,以便实现热备的目的。
该工作模块基于一定的固定周期,典型如100ms,将冗余数据按数据帧的格式发送至冗余模块,该数据帧中包括多个数据包,并且包括周期号、数据包的总包数、每个数据包括的包序号、有效数据和校验码。
如图1所示,本实施例提供的冗余数据传输方法应用于上述的冗余模块包括如下步骤:
S1、基于当前的接收缓存区接收并存储数据帧。
这里的接收缓存区是指位于冗余模块中预先开辟的存储空间或者指定的寄存器等。当工作模块基于其实时数据发送冗余数据时,即基于数据帧的模式发送该冗余数据时,对该冗余数据进行检测并判断,然后将接收到的数据帧存储到该接收缓存区。具体步骤如下,如图3所示:
S11、对包序号为0的数据包予以直接接收。
即当接收到的数据包的包序号为0时,表明此时该数据包为当前的发送周期内的第一个数据包,此时接收并将该数据包存入到接收缓存区,并根据同时接收到的该数据帧的发送周期号和发送总包数,对本地存储的接收周期号和接收总包数进行更新,即将接收周期号和接收总包数与发送周期号和发送总包数进行数据同步。
通过将接收周期号/接收总包数与发送周期号/发送总包数的同步处理,可以为后续对接收到的数据帧的正确性提供检测依据,这样通过对发送周期号/发送总包数与接收周期号/接收总包数之间是否相同进行检测,即可确定是否为同一发送周期内的数据。
S12、对包序号不为0的数据包进行接收和存储。
当接收到的数据包不为0时,表明此时接收到的数据包为第一个数据包后的后续数据包,为了保证后续数据包为该第一个数据包的周期同一性,此时对后续数据包的发送周期号和发送总包数进行检测,即判断该发送周期号和发送总包数与本地存储的接收周期号和接收总包数是否一致,如果一致则确定该后续数据包为正确的数据包,反之则确定其错误的数据包,此时,将其予以丢弃,从而避免因错误数据包导致数据传输错误。
另外,在一个具体实施方式中,本实施例还包括如下步骤,如图4所示:
S13、对接收到的每个数据包进行重复性检测。
接对于接收到的每个数据包,在根据其发送周期号和发送总包数确定与第一个数据包属于同一发送周期的数据包后,对其是否与前面的数据包重复进行检测,如果通过检测发现是重复数据包则予以丢弃,反之则将其作为有效数据包进行处理。
S2、对接收到的数据帧是否完整进行判断。
在完成当前发送周期内数据帧的接收后,即在该周期的时间达到边界时,检测接收到的数据包的数量是否与该发送包总数是否匹配,如果匹配则确定数据帧在本周期内是完整的,则进行后续的处理;反之则表明该数据帧不完整,则将该数据帧予以丢弃。
S3、将接收缓存区设置为有效数据区。
即通过检测确定本周期内接收的数据帧完整的情况下,将存储有该数据帧的接收缓存区设置为有效数据区。具体通过如下步骤实现:
首先,申请切换接收缓存区。
即在数据帧完整的情况下,向系统申请ping-pong接收缓存区的切换。
然后,当申请成功时,将接收缓冲区设置为有效数据区,释放操作权限,将原有效数据区切换为新的接收缓存区,以便系统在新的周期内将从工作模块接收的数据帧存储到该新的接收缓存区。
S4、将有效数据区内的数据帧更新到实时数据区。
即将该切换后的有效数据区内的数据帧发送至该冗余模块内的实时数据区内,实现对实时数据区内的实时数据的更新,最终实现冗余数据对冗余模块的数据更新。
从上述技术方案可以看出,本实施例提供了一种工业控制系统的冗余数据传输方法,具体为当接收到工业控制系统的工作模块发送的数据帧时,基于当前的接收缓存区接收并存储数据帧;判断同一周期内的数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;如果数据帧完整,则将存储有数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;将有效数据区内的数据帧更新到冗余模块的实时数据区内。这样一来虽然发送和接收存在速度偏差,但通过对接收缓存区和另一个有效数据区的切换避免了数据冲突,从而解决了冗余数据传输时的冲突问题。
实施例二
图5为本申请实施例的一种工业控制系统的冗余数据传输装置的框图。
本实施例中所提及的工业控制系统至少包括相互热备的两个模块,分别为工作模块100和冗余模块200,如图2所示,所谓工作模块和冗余模块为相对概念而已,即当前工作的模块为工作模块,处于热备状态的模块为冗余模块。其中,该工作模块根据其运行过程中产生的实时数据产生冗余数据,该冗余数据基于本申请的冗余数据传输方法被发送至冗余模块,冗余模块在基于该冗余数据对其实时数据进行更新,以便实现热备的目的。
该工作模块基于一定的固定周期,典型如100ms,将冗余数据按数据帧的格式发送至冗余模块,该数据帧中包括多个数据包,并且包括周期号、数据包的总包数、每个数据包括的包序号、有效数据和校验码。
如图5所示,本实施例提供的冗余数据传输装置应用于上述的冗余模块,具体包括数据接收模块10、数据检测模块20、缓存重置模块30和数据更新模块40。
数据接收模块用于基于当前的接收缓存区接收并存储数据帧。
这里的接收缓存区是指位于冗余模块中预先开辟的存储空间或者指定的寄存器等。当工作模块基于其实时数据发送冗余数据时,即基于数据帧的模式发送该冗余数据时,对该冗余数据进行检测并判断,然后将接收到的数据帧存储到该接收缓存区。该模块具体第一接收单元11和第二接收单元12,如图6所示:
第一接收单元用于对包序号为0的数据包予以直接接收。
即当接收到的数据包的包序号为0时,表明此时该数据包为当前的发送周期内的第一个数据包,此时接收并将该数据包存入到接收缓存区,并根据同时接收到的该数据帧的发送周期号和发送总包数,对本地存储的接收周期号和接收总包数进行更新,即将接收周期号和接收总包数与发送周期号和发送总包数进行数据同步。
通过将接收周期号/接收总包数与发送周期号/发送总包数的同步处理,可以为后续对接收到的数据帧的正确性提供检测依据,这样通过对发送周期号/发送总包数与接收周期号/接收总包数之间是否相同进行检测,即可确定是否为同一发送周期内的数据。
第二接收单元用于对包序号不为0的数据包进行接收和存储。
当接收到的数据包不为0时,表明此时接收到的数据包为第一个数据包后的后续数据包,为了保证后续数据包为该第一个数据包的周期同一性,此时对后续数据包的发送周期号和发送总包数进行检测,即判断该发送周期号和发送总包数与本地存储的接收周期号和接收总包数是否一致,如果一致则确定该后续数据包为正确的数据包,反之则确定其错误的数据包,此时,将其予以丢弃,从而避免因错误数据包导致数据传输错误。
另外,在一个具体实施方式中,该模块还包括数据检测单元,如图7所示:
数据检测单元用于对接收到的每个数据包进行重复性检测。
接对于接收到的每个数据包,在根据其发送周期号和发送总包数确定与第一个数据包属于同一发送周期的数据包后,对其是否与前面的数据包重复进行检测,如果通过检测发现是重复数据包则予以丢弃,反之则将其作为有效数据包进行处理。
数据检测模块用于对接收到的数据帧是否完整进行判断。
在完成当前发送周期内数据帧的接收后,即在该周期的时间达到边界时,检测接收到的数据包的数量是否与该发送包总数是否匹配,如果匹配则确定数据帧在本周期内是完整的,则进行后续的处理;反之则表明该数据帧不完整,则将该数据帧予以丢弃。
缓存重置模块用于将接收缓存区设置为有效数据区。
即通过检测确定本周期内接收的数据帧完整的情况下,将存储有该数据帧的接收缓存区设置为有效数据区。该模块具体包括切换申请单元31和切换执行单元32,具体如图8所示。
切换申请单元用于申请切换接收缓存区。
即在数据帧完整的情况下,向系统申请ping-pong接收缓存区的切换。
切换执行单元用于当切换申请单元申请成功时,将接收缓冲区设置为有效数据区,释放操作权限,将原有效数据区切换为新的接收缓存区,以便系统在新的周期内将从工作模块接收的数据帧存储到该新的接收缓存区。
数据更新模块用于将有效数据区内的数据帧更新到实时数据区。
即将该切换后的有效数据区内的数据帧发送至该冗余模块内的实时数据区内,实现对实时数据区内的实时数据的更新,最终实现冗余数据对冗余模块的数据更新。
从上述技术方案可以看出,本实施例提供了一种工业控制系统的冗余数据传输装置,具体用于当接收到工业控制系统的工作模块发送的数据帧时,基于当前的接收缓存区接收并存储数据帧;判断同一周期内的数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;如果数据帧完整,则将存储有数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;将有效数据区内的数据帧更新到冗余模块的实时数据区内。这样一来虽然发送和接收存在速度偏差,但通过对接收缓存区和另一个有效数据区的切换避免了数据冲突,从而解决了冗余数据传输时的冲突问题。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种工业控制系统的冗余数据传输方法,所述工业控制系统至少包括工作模块和冗余模块,所述冗余数据传输方法应用于所述冗余模块,其特征在于,所述冗余数据传输方法包括步骤:
当接收到所述工作模块发送的数据帧时,基于当前的接收缓存区接收并存储所述数据帧;
判断同一周期内的所述数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;
如果所述数据帧完整,则将存储有所述数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;
将所述有效数据区内的所述数据帧更新到所述冗余模块的实时数据区内。
2.如权利要求1所述的冗余数据传输方法,其特征在于,所述基于当前的接收缓存区接收并存储所述数据帧,包括步骤:
当所述数据帧中数据包的包序号为0时,根据同时接收到的发送周期号和发送总包数更新本地的接收周期号和接收总包数,并将所述数据包存储到所述接收缓存区;
当所述数据帧中的数据包的包序号不为0时,通过对所述发送周期号与接收周期号的对比和/或通过对所述发送总包数与所述接收总包数的对比,确定此时接收的数据包是否正常,如不正常则予以丢弃,如正常则存储接收到的数据包。
3.如权利要求2所述的冗余数据传输方法,其特征在于,所述基于当前的接收缓存区接收并存储所述数据帧,还包括步骤:
对于接收到的每个数据包进行重复性检测,当确定是被重复接收的数据包时,将其予以丢弃。
4.如权利要求1所述的冗余数据传输方法,其特征在于,所述将存储有所述数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区,包括步骤:
申请切换接收缓冲区;
申请成功时将所述接收缓冲区设置为所述有效数据区,释放操作权限,并将原有效数据区切换为新的接收缓冲区。
5.一种工业控制系统的冗余数据传输装置,所述工业控制系统至少包括工作模块和冗余模块,所述冗余数据传输装置应用于所述冗余模块,其特征在于,所述冗余数据传输装置包括:
数据接收模块,被配置为当接收到所述工作模块发送的数据帧时,基于当前的接收缓存区接收并存储所述数据帧;
数据检测模块,被配置为判断同一周期内的所述数据帧是否完整,如果不完整,则将不完整的数据帧予以丢弃;
缓存重置模块,被配置为如果所述数据帧完整,则将存储有所述数据帧的接收缓存区设置为有效数据区,同时将其他有效数据区转换为接收缓存区;
数据更新模块,被配置为将所述有效数据区内的所述数据帧更新到所述冗余模块的实时数据区内。
6.如权利要求5所述的冗余数据传输装置,其特征在于,所述数据接收模块包括:
第一接收单元,用于当所述数据帧中数据包的包序号为0时,根据同时接收到的发送周期号和发送总包数更新本地的接收周期号和接收总包数,并将所述数据包存储到所述接收缓存区;
第二接收单元,用于当所述数据帧中的数据包的包序号不为0时,通过对所述发送周期号与接收周期号的对比和/或通过对所述发送总包数与所述接收总包数的对比,确定此时接收的数据包是否正常,如不正常则予以丢弃,如正常则存储接收到的数据包。
7.如权利要求6所述的冗余数据传输装置,其特征在于,所述数据接收模块还包括:
数据检测单元,用于对于接收到的每个数据包进行重复性检测,当确定是被重复接收的数据包时,将其予以丢弃。
8.如权利要求5所述的冗余数据传输装置,其特征在于,所述缓存重置模块包括:
切换申请单元,用于申请切换接收缓冲区;
切换执行单元,用于申请成功时将所述接收缓冲区设置为所述有效数据区,释放操作权限,并将原有效数据区切换为新的接收缓冲区。
CN202110964791.XA 2021-08-23 2021-08-23 工业控制系统的冗余数据传输方法和装置 Pending CN113420038A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110964791.XA CN113420038A (zh) 2021-08-23 2021-08-23 工业控制系统的冗余数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110964791.XA CN113420038A (zh) 2021-08-23 2021-08-23 工业控制系统的冗余数据传输方法和装置

Publications (1)

Publication Number Publication Date
CN113420038A true CN113420038A (zh) 2021-09-21

Family

ID=77719052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110964791.XA Pending CN113420038A (zh) 2021-08-23 2021-08-23 工业控制系统的冗余数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN113420038A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092753A (zh) * 2017-12-15 2018-05-29 北京航天测控技术有限公司 一种采用硬件内存搬移同步的热备冗余系统
CN109005070A (zh) * 2018-08-31 2018-12-14 北京计算机技术及应用研究所 一种基于共享内存的双机冗余热备设备
CN112327600A (zh) * 2020-10-28 2021-02-05 中国核动力研究设计院 一种冗余控制器的数据同步方法、冗余控制器及仪控系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108092753A (zh) * 2017-12-15 2018-05-29 北京航天测控技术有限公司 一种采用硬件内存搬移同步的热备冗余系统
CN109005070A (zh) * 2018-08-31 2018-12-14 北京计算机技术及应用研究所 一种基于共享内存的双机冗余热备设备
CN112327600A (zh) * 2020-10-28 2021-02-05 中国核动力研究设计院 一种冗余控制器的数据同步方法、冗余控制器及仪控系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佚名: "ping-pong机制", 《HTTPS://BLOG.CSDN.NET/CHENYU201003/ARTICLE/DETAILS/81449762?UTM_MEDIUM=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-2~DEFAULT~BAIDUJS_TITLE~DEFAULT-0.NO_SEARCH_LINK&SPM=1001.2101.3001.4242》 *

Similar Documents

Publication Publication Date Title
US8046512B2 (en) Communication system with master and slave exchanging control data in predetermined communication period
US9009234B2 (en) Complex event processing system having multiple redundant event processing engines
CN110377570B (zh) 节点切换方法、装置、计算机设备及存储介质
CN102483712B (zh) 在存储器控制器处对命令进行有效调度的系统和方法
US9430221B2 (en) Device and method for updating firmware of a rackmount server system
CA2339783A1 (en) Fault tolerant computer system
US5958080A (en) Method and apparatus for detecting and recovering from errors occurring in a transmission of digital information
CN113420038A (zh) 工业控制系统的冗余数据传输方法和装置
KR101566640B1 (ko) 임의의 통신망 오류에 대처 가능한 이중화 can 통신 장치 및 방법, 그 방법을 수행하기 위한 기록 매체
CN110351122B (zh) 容灾方法、装置、系统与电子设备
JP3263671B2 (ja) 誤り検出装置
CN105553613A (zh) 一种分区间时间触发通信的数据完整性检测方法
CN105718325A (zh) 基于虚拟机集群的回滚方法及系统和服务器
JP2020145670A (ja) 1つ以上の判定要素を用いてデータコピーのクロスチェックを実行するための装置及び方法
JP5459308B2 (ja) データ転送装置及びデータ転送装置の制御方法
CN113645269B (zh) 毫米波传感器数据传输方法、装置、电子设备和存储介质
CN106992890A (zh) 一种多服务器切换方法及系统
JP4121123B2 (ja) 移動体通信方法及びシステム
JPWO2007096987A1 (ja) エラー制御装置
CN115002020B (zh) 基于ospf的数据处理方法及装置
CN111858166B (zh) 可纠错快速拟态裁决方法、裁决器、系统及介质
JPH0738593A (ja) サイクリックデータ伝送方法
JP2010124128A (ja) 通信制御システム、制御装置、被制御装置、通信制御方法及びプログラム
CN107104831A (zh) 一种多服务器切换方法及系统
JP2834006B2 (ja) 障害回復処理方式及び方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210921