CN116743779B - 组态数据同步更新方法、装置和内生安全工业控制器 - Google Patents
组态数据同步更新方法、装置和内生安全工业控制器 Download PDFInfo
- Publication number
- CN116743779B CN116743779B CN202311010098.4A CN202311010098A CN116743779B CN 116743779 B CN116743779 B CN 116743779B CN 202311010098 A CN202311010098 A CN 202311010098A CN 116743779 B CN116743779 B CN 116743779B
- Authority
- CN
- China
- Prior art keywords
- configuration data
- downloaded
- modules
- module
- main control
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims description 43
- 238000012795 verification Methods 0.000 claims description 19
- 238000003745 diagnosis Methods 0.000 claims description 13
- 230000000737 periodic effect Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种组态数据同步更新方法、装置和内生安全工业控制器。该方法应用于内生安全工业控制器的控制电路板及与控制电路板连接的多个主控模块;所述多个主控模块的结构不同。且该方法包括确定在位的主控模块中需要从所述控制电路板下载组态数据的多个主控模块,作为多个需下载模块;在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包;在确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包的情况下,在该控制周期的下一控制周期内,对所述多个需下载模块使用相应的全部组态数据包进行同步更新。如此能够抵御复杂的黑客攻击,安全性较高。
Description
技术领域
本发明涉及内生安全工业技术领域,尤其涉及一种组态数据同步更新方法、装置和内生安全工业控制器。
背景技术
相关技术的主控模块器分别与被控设备及上位机连接。这样主控模块器可以直接从上位机下载数据进行更新数据,以运行。但是,相关技术的主控模块器容易被黑客攻击,安全性差。
发明内容
本申请提供一种组态数据同步更新方法、装置和内生安全工业控制器,能够抵御复杂的黑客攻击,安全性较高。
本申请提供一种组态数据同步更新方法,应用于内生安全工业控制器的控制电路板,所述控制电路板用于与上位机连接,从所述上位机下载组态数据;所述内生安全工业控制器还包括与所述控制电路板连接的多个主控模块;所述多个主控模块的结构不同,且用于与被控设备连接;
所述组态数据同步更新方法包括:
确定在位的主控模块中需要从所述控制电路板下载组态数据的多个主控模块,作为多个需下载模块;
在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包;
在确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包的情况下,在该控制周期的下一控制周期内,对所述多个需下载模块使用相应的全部组态数据包进行同步更新。
进一步的,所述在控制周期向需下载模块发送组态数据包,包括:
优先向当前组态数据包未传输个数最多对应的需下载模块发送组态数据包,并将需下载模块更新为已下载模块;
在相同控制周期内,分别向已下载模块继续发送剩余传输个数的组态数据包以及向其余需下载模块发送组态数据包。
进一步的,所述确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包,包括:
确定是否存在需下载模块;
在存在需下载模块的情况下,在同一控制周期内判断已下载模块的剩余传输个数是否等于其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块的数据包个数;
若在同一控制周期内判定已下载模块的剩余传输个数等于其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块的数据包个数,则在相同控制周期内,分别向已下载模块继续发送组态数据包以及向所对应的需下载模块开始发送组态数据包;并将所对应的需下载模块更新为已下载模块,继续返回执行所述确定是否存在需下载模块,直至在不存在需下载模块的情况下,确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包。
进一步的,所述确定在位的主控模块中需要从所述控制电路板下载组态数据的多个主控模块,作为多个需下载模块,包括:
向在位的主控模块发送周期同步信号;
根据接收到的所述在位的主控模块针对所述周期同步信号返回的诊断数据,判断所述在位的主控模块是否需要进行组态数据下载;所述诊断数据用于反映所述在位的主控模块的信息与控制电路板本地存储的信息是否一致;
若判定是,则将需要进行组态数据下载的主控模块,作为多个需下载模块。
进一步的,所述诊断数据包括所述在位的主控模块中当前运行的组态数据版本号和主控模块硬件识别号;其中不同型号的主控模块具有不同的硬件识别号;
所述根据接收到的所述在位的主控模块针对所述周期同步信号返回的诊断数据,判断所述在位的主控模块是否需要进行组态数据下载,包括:
对所述在位的主控模块返回的所述诊断数据进行解析,获得所述在位的主控模块的主控模块硬件识别号Ai和所述在位的主控模块当前运行的组态数据版本号Bi;表示在位的主控模块的序号;
根据所述主控模块硬件识别号Ai与控制电路板本地存储的组态数据对应的硬件识别号Cj是否相等,确定控制电路板本地存储的组态数据与主控模块是否是一一对应的关系;
根据控制电路板本地存储的组态数据与主控模块一一对应的关系,确定所述在位的主控模块当前运行的组态数据版本号Bi与控制电路板本地存储的组态数据版本号Dj是否相等;
如果所述在位的主控模块当前运行的组态数据版本号Bi与控制电路板本地存储的组态数据版本号Dj不相等,则判定为所述在位的主控模块需要进行组态数据下载,并确定需要下载组态数据的在位的主控模块,作为多个需下载模块。
进一步的,所述在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包,包括:
根据每个控制周期针对接口总线类型和主控模块性能确定的数据传输量,确定向需下载模块相应发送Pk个组态数据包;其中,Pk表示组态数据包的总个数;表示需下载模块的序号;
在每个控制周期内根据更新规则向所述需下载模块更新一个组态数据包;
接收需下载模块针对所更新的所述组态数据包进行校验反馈的校验结果;所述校验结果用于反映需下载模块接收到的所述一个组态数据包是否正确;
解析所述校验结果为接收到的所述一个组态数据包正确,则更新用于表示组态数据包成功发送的第一数值;
根据所述第一数值及所述Pk,确定需下载模块是否已下载全部组态数据包。
进一步的,所述确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包,包括:
解析所述校验结果为接收到的所述一个组态数据包错误,则更新用于表示组态数据包连续非成功的第二数值;
确定所述第二数值是否超出预定阈值;
确定所述第二数值未超出所述预定阈值,则返回执行所述根据所述第一数值及所述Pk,确定需下载模块是否已下载全部组态数据包;
确定所述连续非成功数值超出所述预定阈值,则将该需下载模块设置为已下载全部组态数据包。
本申请的提供一种组态数据同步更新装置,应用于内生安全工业控制器的控制电路板,所述控制电路板用于与上位机连接,从所述上位机下载组态数据;所述内生安全工业控制器还包括与所述控制电路板连接的多个主控模块;所述多个主控模块的结构不同,且用于与被控设备连接;
所述组态数据同步更新装置包括:
组态数据下载的确定模块,用于确定在位的主控模块中需要从所述控制电路板下载组态数据的多个主控模块,作为多个需下载模块;
数据处理模块,用于在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包;
同步更新模块,用于在确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包的情况下,在该控制周期的下一控制周期内,对所述多个需下载模块使用相应的全部组态数据包进行同步更新。
本申请的提供一种内生安全工业控制器,包括用于与上位机连接的控制电路板及与所述控制电路板连接的多个主控模块;所述多个主控模块的结构不同;所述控制电路板用于从所述上位机下载组态数据;所述多个主控模块用于与被控设备连接;
其中,所述控制电路板包括如上所述的组态数据同步更新装置。
本申请的提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现如上任一项所述的方法。
在一些实施例中,本申请的组态数据同步更新方法,组态数据同步更新方法中使用的内生安全工业控制器包括控制电路板和多个主控模块。并且,控制电路板与上位机连接,多个主控模块与被控设备连接,且多个主控模块的结构不同。由于内生安全工业控制器是硬件电路,并不具有实际的运行程序,黑客不会攻击。由于多个主控模块是通过不同厂商和/或不同规格形成不同结构,黑客需要逐个攻击主控模块,增加黑客攻击难度。即使多个主控模块中有任一主控模块被攻击运行程序,其他主控模块依然可以正常运行程序,不受影响。如此能够抵御复杂的黑客攻击,安全性较高。
附图说明
图1所示为本申请实施例的组态数据同步更新方法的应用于内生安全工业控制器的结构示意图;
图2所示为本申请实施例的组态数据同步更新方法的流程示意图;
图3所示为本申请实施例的组态数据同步更新方法中的组态数据同步更新方法的具体流程图;
图4所示为本申请实施例的组态数据同步更新方法中的诊断数据的报文格式的示意图;
图5所示为图3所示的组态数据同步更新方法中的控制电路板判断是否存在需下载模块的流程图;
图6所示为图3所示的组态数据同步更新方法中的组态数据更新规则的控制流程图;
图7所示为本申请实施例的组态数据同步更新装置的结构示意图;
图8所示为本申请实施例提供的控制电路板的模块框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本说明书一个或多个实施例相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
为了解决上述主控模块器容易被黑客攻击运行程序,安全性差的问题,本申请实施例提供了一种组态数据同步更新方法中使用的内生安全工业控制器包括一块控制FPGA(Field-Programmable Gate Array,现场可编程门阵列,下文可简称为控制电路板)和多个主控模块。并且,控制电路板与上位机连接,多个主控模块与被控设备连接,且多个主控模块的结构不同。由于内生安全工业控制器是硬件电路,并不具有实际的运行程序,黑客不会攻击。由于多个主控模块的主控芯片是通过不同厂商和/或不同规格形成不同结构,黑客需要逐个攻击主控模块,增加黑客攻击难度。即使多个主控模块中有任一主控模块被攻击运行程序,其他主控模块依然可以正常运行程序,不受影响。如此能够抵御复杂的黑客攻击,安全性较高。
图1所示为本申请实施例的组态数据同步更新方法的应用于内生安全工业控制器的结构示意图。
如图1所示,内生安全工业控制器包括一块控制电路板和多个主控模块。内生安全工业控制器作为是工业控制系统的重要组成部分,用于控制工业现场的被控设备,从而实现工业控制系统信息安全。此内生安全工业控制器增加了内生安全网络空间防御技术,使其能够抵御复杂的网络攻击,但是同时也增加了工业控制器的硬件复杂度和软件复杂度,特别是工业控制器的组态数据更新方面。其中,被控设备可以但不限于包括传感器、电流开关及电压开关中的一者或多者。该传感器可以但不限于包括温度传感器及湿度传感器中的一者或多者。
上述多个主控模块的数量可以为2个以及2个以上的整数个,当然主控模块的数量不做限定,在此不再一一举例。
继续图1所示,一块控制电路板比如为控制FPGA。多个主控模块比如包括6块主控模块。如此,内生安全工业控制器可以由一块控制FPGA和6块主控模块组成。控制FPGA和主控模块之间通过互联总线连接。6块主控模块的硬件识别号分别为A1~A6,其对应的当前运行的组态数据版本号分别为B1~B6,其对应的每个控制周期中,主控模块与控制FPGA之间接口总线的数据传输量为N1=4KB,N2=2KB,N3=4KB,N4=2KB,N5=4KB,N6=4KB,该主控模块与控制FPGA之间接口总线的数据传输量大小是由接口总线类型和主控模块性能决定的。控制FPGA中缓存中存储的组态数据对应硬件识别号分别为C1~C6,其中A1=C1,A2=C2,A3=C3,A4=C4,A5=C5,A6=C6,缓存中组态数据版本号分别为D1~D6,其中只有B1!=D1,B2=D2,B3!=D3,B4!=D4,B5!=D5,B6!=D6,缓存中硬件识别号C1~C6对应组态数据总量为M1=1MB,M2=4MB,M3=3MB,M4=0.75MB,M5=5MB,M6=5MB。
本申请实施例的组态数据同步更新方法,应用于内生安全工业控制器的控制电路板,控制电路板用于与上位机连接,从上位机下载组态数据;内生安全工业控制器还包括与控制电路板连接的多个主控模块;多个主控模块的结构不同,且用于与被控设备连接。组态数据可以但不限于包括多个组态数据包。这样可以在一个控制周期发送一个组态数据包,在下一个控制周期内发送其余组态数据包。通过与组态数据包的个数对应的控制周期,完成组态数据包的发送及控制。
其中,控制周期用于完成单个组态数据包的发送,比如一个组态数据包相较于另一个组态数据包大,按照相对较大的组态数据包的发送所需的时间设置控制周期,此时,控制周期大于相对较大的组态数据包。当然相对较大的组态数据包可以是最大组态数据包。另外,控制周期只要满足在一个周期内单个组态数据包可以完全发送,控制周期也可以是根据用户需求进行预先设置的。
上述多个主控模块的结构不同可以反映不同的主控模块的主控芯片是不同的,如ARM的A7,M7以及H7系列,或者国产芯片GD32系列,不同的主控模块的主控芯片在一定时间内处理数据的能力是不一样的。同时,不同的主控模块和控制FPGA之间的总线可能是不一样的,所以不同的主控模块和控制FPGA之间的数据交互能力是不同的。在软件上,不同的主控模块对应的组态数据大小也是不一样的。
相关技术的内生安全工业控制器的控制电路板可以先从上位机下载组态数据。在内生安全工业控制器拥有的多个主控模块需要进行组态数据的下载时,这些多个主控模块可以从控制电路板下载组态数据。多个主控模块从控制电路板上下载所有组态数据以后,进行更新,以启动运行程序。其中,多个主控模块下载的组态数据相同,使得多个主控模块实现控制终端的相同功能。
但是,由于不同的主控模块的主控芯片(下文为方便描述,简称主控模块芯片)在一定时间内处理数据的能力是不一样的,优先下载完组态数据的主控模块芯片进行更新,启动运行程序。此时,未更新完的主控模块芯片无法启动,这样多个主控模块的同步数据不一致,导致整个内生安全工业控制器的功能和性能上出现问题,进而导致整个控制系统出现问题。
为了解决上述下载完组态数据的主控模块更新启动,并且未更新完的主控模块无法启动,会引起整个内生安全工业控制器的功能和性能上出现问题,进而导致整个控制系统出现问题,本申请实施例提供一种组态数据同步更新方法,如图2所示,该组态数据同步更新方法可以包括但不限于如下步骤110至步骤130:
步骤110,控制电路板确定在位的主控模块中需要从控制电路板下载组态数据的多个主控模块,作为多个需下载模块。
其中,多个需下载模块是指需要更新组态数据的主控模块,以完成主控模块的。当然,多个需下载模块也可以称为需要更新的主控模块。
步骤120,控制电路板在控制周期向需下载模块发送组态数据包,并确定同一控制周期内多个需下载模块是否已下载全部组态数据包。
每个需下载模块与控制电路板之间接口总线的数据传输量有限,因此通过按照每个控制周期针对接口总线类型和主控模块性能确定的数据传输量,将每个需下载模块的整个组态数据分为多个组态数据包,来传输,从而保证数据的可靠传输。
上述已下载全部组态数据包是指整个组态数据分好的所有组态数据包,用于反映需下载模块的整个组态数据。
对于上述组态数据包而言,方法还包括控制电路板采用如下公式确定多个需下载模块需要下载的Pk个组态数据包,其中,每个控制周期发送1个组态数据包。
上述确定多个需下载模块需要下载的Pk个组态数据包的计算公式为,且计算结果向上取整。
其中,Pk为组态数据包的总数,为第几个的序号,Mk为每个需下载模块对应的组态数据总数据量,单位为字节;Nk为在控制周期中,每个需下载模块与控制电路板之间接口总线的数据传输量,单位为字节,该数据传输量大小由接口总线类型和主控模块性能决定。如此,后续按照每个控制周期针对接口总线类型和主控模块性能确定的数据传输量,传输完Pk个组态数据包。
结合图1所示,本实施例中,主控模块A1,A3,A4,A5,A6对应的需下载模块对应的组态数据总数据量为M1=1MB,M3=3MB,M4=0.75MB,M5=6MB,M6=5MB,而主控模块与控制FPGA之间接口总线的数据传输量为N1=4KB,N3=4KB,N4=2KB,N5=4KB,N6=4KB,所以控制FPGA计算更新各主控模块分别需要发送组态数据包的个数为P1==250,P3==750,P4==188,P5==1500,P6==1250。如此,后续在相同的控制周期内,可以控制各组态数据包的下载。
步骤130,控制电路板在确定出在同一控制周期内多个需下载模块已下载全部组态数据包的情况下,在该控制周期的下一控制周期内,对多个需下载模块使用相应的全部组态数据包进行同步更新。其中,控制周期的下一控制周期是指该同一控制周期之后的控制周期内。
本申请实施例中,对于控制电路板而言,控制电路板是向需下载模块发送组态数据包。对于需下载模块而言,需下载模块是从控制电路板下载组态数据包。因此,在本文中两者表达同一含义,只是执行对象不同时,描述不同。
相较于多个主控模块的同步数据不一致,导致输出数据不一致,进而多个主控模块发送到被控设备的数据不一致,进而导致整个控制系统出现问题而言,在本申请实施例中,内生安全工业控制器本身的硬件结构,可以抵御复杂的黑客攻击,安全性较高。并且,确定同一控制周期内多个需下载模块是否已下载全部组态数据包,然后在该控制周期的下一控制周期内,对多个需下载模块使用相应的全部组态数据包进行同步更新。从而保证所有需下载模块同步更新,同步启动,使得所有需下载模块的同步数据一致,输出数据一致,这样可以避免引起整个内生安全工业控制器的功能和性能的问题,进而避免整个控制系统出现问题。
结合图1和图2所示,上述步骤120中控制电路板在控制周期向需下载模块发送组态数据包的步骤进一步可以包括①、控制电路板优先向当前组态数据包未传输个数最多对应的需下载模块发送组态数据包,并将需下载模块更新为已下载模块。
其中,已下载模块为已下载组态数据包的主控模块或者正在下载组态数据包的主控模块。
②、在相同控制周期内,分别向已下载模块继续发送剩余传输个数的组态数据包以及向其余需下载模块发送组态数据包。如此,可以实现在向已下载模块继续发送组态数据包的同时,相同控制周期内向所对应的需下载模块开始发送组态数据包,同步并行发送组态数据包,可以节约时间,提高数据发送效率。
结合上述步骤120中的控制电路板优先向当前组态数据包未传输个数最多对应的需下载模块发送组态数据包,并将需下载模块更新为已下载模块,上述步骤130的确定出在同一控制周期内多个需下载模块已下载全部组态数据包可以通过多种实施例实现。
在第一实施例中,包括如下(1)至(3)的步骤:
(1)、控制电路板确定是否存在需下载模块。
(2)、控制电路板在确定存在需下载模块的情况下,在同一控制周期内判断已下载模块的剩余传输个数是否等于其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块的数据包个数。
其中,剩余传输个数为需下载模块的需要下载的组态数据包的总数减去成功组态数据包数的个数。
(3)、控制电路板若在同一控制周期内判定已下载模块的剩余传输个数等于其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块的数据包个数,则在相同控制周期内,分别向已下载模块继续发送组态数据包以及所对应的需下载模块开始发送组态数据包,并将所对应的需下载模块更新为已下载模块,继续返回执行(1)的步骤,直至控制电路板在确定不存在需下载模块的情况下,确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包。如此,通过优先发未传输个数最多对应的需下载模块,再等已下载模块的剩余传输个数达到未传输个数次多对应的需下载模块的数据包个数,可以更为快速地在相同控制周期内发送组态数据包,提高未传输个数最多对应的需下载模块以及未传输个数次多对应的需下载模块,甚至其余需下载模块的组态数据包复用同一控制周期的发送效率。
以如图2为例进行举例说明:主控模块A5为当前组态数据包未传输个数最多对应的需下载模块。其中,控制FPGA计算得到的主控模块A5需要发送组态数据包的个数为1500。其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块为主控模块A6,其中,控制FPGA计算得到的主控模块A6需要发送组态数据包的个数为1250。
在相同的当前控制周期内,当主控模块A5的剩余传输个数等于主控模块A6发送组态数据包的个数,即1250时,接下来,在当前控制周期的下一个控制周期内,分别向主控模块A5继续发送一个组态数据包,以及向主控模块A6开始发送一个组态数据包。在上述下一个控制周期的下一个控制周期内,继续分别向主控模块A5继续发送一个组态数据包,以及向主控模块A6开始发送一个组态数据包,以此类推,直至达到其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块为主控模块A3,其中,控制FPGA计算得到的主控模块A3需要发送组态数据包的个数为750。
在相同的当前控制周期内,分别向主控模块A5和主控模块A6这两个已下载模块继续发送组态数据包以及向主控模块A3开始发送组态数据包。其余需下载模块同理,在此不再详细赘述。
相关技术优先下载完组态数据的主控模块芯片进行更新,启动运行程序。此时,未更新完的主控模块芯片无法启动的示例如下:
多个控制模块的主控模块芯片比如包括2个主控模块芯片。2个主控模块芯片的在一定时间内处理数据的能力是不一样的,将组态数据形成每次传输的组态数据包的个数不同。第1个主控模块芯片需要下载10个组态数据包,第2个主控模块芯片需要下载20个组态数据包。这样第1个主控模块芯片下载完10个组态数据包以后,进行更新,以启动运行程序。而,第2个主控模块芯片还在下载中组态数据包,无法进行更新。
相较于上述相关技术的示例,在本申请的示例中,对于第1个主控模块芯片需要下载10个组态数据包,第2个主控模块芯片需要下载20个组态数据包而言,每个控制周期更新一个组态数据包,第一个主控模块芯片不更新,第二个主控模块芯片先更新10个组态数据包。接着,第一个主控模块芯片更新10个组态数据包和第二个主控模块芯片更新剩余10个组态数据包。最后,第一个主控模块芯片和第二个主控模块芯片完成统一下载,更新。并且,通过对多个需下载模块使用相应的全部组态数据包进行同步更新,保证各需下载模块更新同步,以同步启动运行程序。这样可以解决下载完组态数据的主控模块芯片更新启动,并且未更新完的主控模块芯片无法启动,会引起整个内生安全工业控制器的功能和性能上的问题,进而避免整个控制系统出现问题,并且,也提高各需下载模块的性能可靠性。
在上述步骤130确定出在同一控制周期内多个需下载模块已下载全部组态数据包的第二实施例中,控制电路板确定在任一需下载模块下载剩余预设数量个组态数据包以后,控制电路板确定是否存在需下载模块。控制电路板在确定不存在需下载模块的情况下,在同一控制周期内控制所有需下载模块已下载全部组态数据包,以确定出在同一控制周期内多个需下载模块已下载全部组态数据包。其中,上述预设数量可以是根据用户需求进行设置。
上述预设数量可以大于0且小于等于需下载模块的需下载组态数据包的总数。比如预设数量为1个时,在下一个控制周期内控制所有需下载模块已下载全部组态数据包,可以更快速地完成组态数据包的下载。再比如预设数量为2个时,首先可以在相同控制周期内,分别向已下载模块发送剩余预设数量个的组态数据包。
在上述步骤130的确定出在同一控制周期内多个需下载模块已下载全部组态数据包的第三实施例中,控制电路板记录所有需下载模块,并记录下载剩余预设数量个组态数据包对应需下载模块为已下载模块,按照同样的记录方式,直到所有记录的需下载模块均记录为已下载模块,则说明在同一控制周期内判定所有已下载模块的剩余传输个数相同。接着,在同一控制周期内控制所有需下载模块已下载全部组态数据包,以确定出在同一控制周期内多个需下载模块已下载全部组态数据包。
结合图1和图2所示,上述步骤110进一步可以包括如下1)至3)的步骤:
1)、控制电路板向在位的主控模块发送周期同步信号,以使在位的主控模块收到周期同步信号后,向控制电路板返回诊断数据。
2)、控制电路板根据接收到的在位的主控模块针对周期同步信号返回的诊断数据,判断在位的主控模块是否需要进行组态数据下载;诊断数据用于反映在位的主控模块的信息与控制电路板本地存储的信息是否一致。
图3所示为本申请实施例的组态数据同步更新方法中的组态数据同步更新方法的具体流程图。
步骤210,控制FPGA向在位的主控模块发送周期同步信号,主控模块A1~A6收到周期同步信号后,向控制FPGA返回诊断数据。
该诊断数据的格式如图4所示,包含主控模块中当前运行的组态数据版本号和主控模块硬件识别号等信息,其中不同型号的主控模块具有不同的硬件识别号,如主控模块A1对应的诊断信息内容为A1+B1。
步骤220,控制FPGA接收到各主控模块返回的诊断数据,根据接收到的各主控模块返回的诊断数据判断是否需要对主控模块进行组态数据下载,以判断是否存在需下载模块。
步骤230,控制FPGA确定存在K个主控模块需要组态数据下载,将K个主控模块,作为需下载模块。
步骤240,控制FPGA确定需下载模块分别需要发送Pk个组态数据包。K为需要组态数据下载的主控模块,也就是需下载模块。该K。
步骤250,每个控制周期中,控制FPGA根据更新规则向每个主控模块发送一包数据,主控模块收到组态数据后,对其进行校验,并将校验结果发送给控制FPGA。
主控模块全部组态数据包下载完成以后,才能进行更新主控模块,而向所述需下载模块更新一个组态数据包,是实现所述需下载模块一个组态数据包的下载。
上述更新规则用于反映主控模块与控制电路板校验以后,用于更新控制电路中用于表示组态数据包成功发送的第一数值以及用于表示组态数据包连续非成功的第二数值。
步骤260,当所有需要更新的主控模块的组态数据更新完成后,返回步骤210。
图4所示为本申请实施例的组态数据同步更新方法中的诊断数据的报文格式的示意图。
如图4所示,上述诊断数据包括在位的主控模块中当前运行的组态数据版本号和主控模块硬件识别号;其中不同型号的主控模块具有不同的硬件识别号。
对应于,图5所示为图3所示的组态数据同步更新方法中的控制电路板判断是否存在需下载模块的流程图。
如图5所示,上述(2)的步骤进一步可以包括如下步骤310至步骤340:
步骤310,控制电路板接收到在位的主控模块返回的诊断数据。
步骤320,控制电路板对在位的主控模块返回的诊断数据进行解析,获得在位的主控模块的主控模块硬件识别号Ai和在位的主控模块当前运行的组态数据版本号Bi;表示在位的主控模块的序号。
步骤330,控制电路板根据主控模块硬件识别号Ai与本地存储的组态数据对应的硬件识别号Cj是否相等,确定控制电路板本地存储的组态数据与主控模块是否是一一对应的关系。
上述步骤330中,控制电路板根据主控模块硬件识别号Ai与本地存储的组态数据对应的硬件识别号Cj相等,则确定控制电路板本地存储的组态数据与主控模块一一对应关系。控制电路板根据主控模块硬件识别号Ai与本地存储的组态数据对应的硬件识别号Cj不相等,确定控制电路板本地存储的组态数据与主控模块不是一一对应关系。
结合图1所示的示例中,控制FPGA收到各主控模块返回的诊断数据后,对其进行解析获得主控模块硬件识别号Ai(A1~A6)和主控模块当前运行的组态数据版本号Bi(B1~B6),第二步:控制FPGA根据主控模块硬件识别号Ai(A1~A6)与本地存储的组态数据对应的硬件识别号Cj(C1~C6)是否相等,确定控制FPGA本地存储的组态数据与主控模块的一一对应关系。
步骤340,控制电路板根据控制电路板本地存储的组态数据与主控模块一一对应的关系,确定在位的主控模块当前运行的组态数据版本号Bi与控制电路板本地存储的组态数据版本号Dj是否相等。如果是,也就是在位的主控模块当前运行的组态数据版本号Bi与控制电路板本地存储的组态数据版本号Dj相等,说明当前在位的主控模块为最近版本,则执行步骤350。如果否,也就是在位的主控模块当前运行的组态数据版本号Bi与控制电路板本地存储的组态数据版本号Dj不相等,说明当前在位的主控模块不为最近版本,则执行步骤360。
步骤350,判定为在位的主控模块不需要进行组态数据下载,以不对多个需下载模块Ai进行组态数据更新。
步骤360,判定为在位的主控模块需要进行组态数据下载,并确定需要下载组态数据的在位的主控模块,作为多个需下载模块,以对对多个需下载模块Ai进行组态数据更新。
3)、控制电路板若判定是,也就是判定在位的主控模块需要进行组态数据下载,则将需要进行组态数据下载的主控模块,作为多个需下载模块。
结合图1所示,本实施例中的对应关系为A1=C1,A2=C2,A3=C3,A4=C4,A5=C5,A6=C6;第三步:根据控制FPGA本地存储的组态数据与主控模块的一一对应关系,确定每块主控模块当前运行的组态数据版本号Bi是否与控制FPGA本地存储的组态数据版本号Dj是否相等。如果不相等,则判定为该主控模块需要进行组态数据更新,反之则不对该主控模块进行更新。本实施例中,Bi和Dj的关系为B1!=D1,B2=D2,B3!=D3,B4!=D4,B5!=D5,B6!=D6,则判断出主控模块A1,主控模块A3,主控模块A4,主控模块A5,主控模块A6需要更新组态数据,而主控模块A2不需要更新组态数据,共有主控模块A1,主控模块A3,主控模块A4,主控模块A5,主控模块A6这5个主控模块需要被更新组态数据,并将这5个主控模块,作为多个需下载模块。其中,!=表示不等于。
结合图2所示,上述步骤120进一步可以包括如下第1步骤至第5步骤:
第1步骤,控制电路板根据每个控制周期针对接口总线类型和主控模块性能确定的数据传输量,确定向需下载模块相应发送Pk个组态数据包;其中,Pk表示组态数据包的总个数;表示需下载模块的序号;
第2步骤,控制电路板在每个控制周期内根据更新规则向需下载模块更新一个组态数据包。
第3步骤,控制电路板接收需下载模块针对所更新的组态数据包进行校验反馈的校验结果;校验结果用于反映需下载模块接收到的一个组态数据包是否正确。
第4步骤,控制电路板解析校验结果为接收到的一个组态数据包正确,则更新用于表示组态数据包成功发送的第一数值。
上述用于表示组态数据包成功发送的第一数值,说明在规定的时间内收到校验结果或者收到的校验结果是正确的。
第5步骤,控制电路板根据第一数值及Pk,确定需下载模块是否已下载全部组态数据包。如此,后续可以进行在同一控制周期内确定多个需下载模块已下载全部组态数据包。
上述第5步骤进一步可以包括在已下载模块的剩余传输个数为零的情况下,确定出需下载模块下载全部组态数据包。在已下载模块的剩余传输个数大于零的情况下,确定出需下载模块下载全部组态数据包。其中,剩余传输个数等于Pk减去用于表示组态数据包成功发送的第一数值。
结合步骤130进一步可以包括如下第1步至第4步:
第1步,控制电路板解析校验结果为接收到的一个组态数据包错误,则更新用于表示组态数据包连续非成功的第二数值。
用于表示组态数据包连续非成功的第二数值说明在规定的时间内未收到校验结果或者收到的校验结果是错误的。
第2步,控制电路板确定第二数值是否超出预定阈值。
上述预定阈值可以根据用户需求进行设置。预定阈值大于0的正整数。预定阈值越大,说明可错误的概率越高。示例性的,预定阈值可以为1。预定阈值可以为2。
用于表示组态数据包连续非成功的第二数值超出预定阈值,说明果在规定的时间内没收到校验结果或者收到的校验结果是错误的。如此,可以终止对此主控模块的更新,后续可以将此主控模块的需要更新的组态数据包数设置为0,这样可以避免因为此主控模块无法正确接收组态数据包而影响其他主控模块。
第3步,控制电路板确定第二数值未超出预定阈值,则返回执行控制电路板根据第一数值及Pk,确定需下载模块是否已下载全部组态数据包。
第4步,控制电路板确定连续非成功数值超出预定阈值,则将该需下载模块设置为已下载全部组态数据包。
图6所示为图3所示的组态数据同步更新方法中的组态数据更新规则的控制流程图。
结合图3以及如图6所示,上述步骤250进一步可以包括如下第一步至第三步:
上述用于表示组态数据包成功发送的第一数值也可以称为更新成功组态数据包数CNTi的数值。用于表示组态数据包连续非成功的第二数值也可以称为连续更新非成功组态数据包数的数值。以下可以以此进行说明。
第一步:根据每个主控模块更新组态数据需要的控制周期数Pk的大小,在控制周期内,控制FPGA向Pk(Pk>=1)最大的对应的主控模块发送1个组态数据包。该主控模块对应的更新成功组态数据包数CNTi初始值为0,连续更新非成功组态数据包数初始值为0。本实施例中,主控模块A5对应的更新组态数据需要的控制周期数P5最大,所以控制FPGA先向这两个主控模块发送一个组态数据包。
第二步:主控模块收到组态数据后对其进行校验,并将校验结果返回给控制FPGA,控制FPGA根据是否在规定时间内收到主控模块关于组态数据的正确校验结果以及收到的校验结果是否正确,来确定CNTi和大小。当控制FPGA收到校验结果为正确时,则该主控模块对应的更新成功组态数据包数CNTi自加1,连续更新非成功组态数据包数为0,反之,如果在规定的时间内没收到校验结果或者收到的校验结果是错误的,则该主控模块对应的CNTi保持不变,自加1。本控制周期中,主控模块A5收到组态数据后对其进行校验,并将校验结果发送给控制FPGA,控制FPGA根据是否在规定时间内收到主控模块关于组态数据的正确校验结果以及收到的校验结果是否正确来确定CNT5和的大小。当控制FPGA收到校验结果为正确时,则主控模块A5对应的更新成功组态数据包数CNT5自加1,连续更新非成功组态数据包数为0,反之,如果在规定的时间内没收到校验结果或者收到的校验结果是错误的,主控模块A5和A6对应的更新成功组态数据包数CNT5保持不变,连续更新非成功组态数据包数自加1。
第三步:控制FPGA根据是否超出连续更新非成功组态数据包数阈值,确定该主控模块对应的最新需要更新的组态数据包数。判断最新需要更新的组态数据包数是否都为0,如果为存在非0,则从步骤一开始下一个控制周期的组态数据更新;反之,则主控模块的组态数据更新流程结束。根据第二步得到的主控模块A5和A6对应的更新成功组态数据包数CNT5是否超出阈值(本实施例中设置为3次),得到主控模块A5对应的最新需要更新的组态数据包数。当未超出阈值时,主控模块A5对应的最新需要更新的组态数据包数分别为,反之,如果超过阈值的,则。然后判断所有主控模块的最新需要更新的组态数据包数是否都为0,如果不都为0,则跳转到第一步,等待下一个控制周期开始执行,反之,则主控模块的组态数据更新流程结束。
基于与上述方法同样的申请构思,本申请实施例还提出一种组态数据同步更新装置,如图7所示,该组态数据同步更新装置,应用于内生安全工业控制器的控制电路板,控制电路板用于与上位机连接,从上位机下载组态数据;内生安全工业控制器还包括与控制电路板连接的多个主控模块;多个主控模块的结构不同,且用于与被控设备连接。
上述组态数据同步更新装置可以包括如下模块:
组态数据下载的确定模块41,用于确定在位的主控模块中需要从控制电路板下载组态数据的多个主控模块,作为多个需下载模块;
数据处理模块42,用于在控制周期向需下载模块发送组态数据包,并确定同一控制周期内多个需下载模块是否已下载全部组态数据包;
同步更新模块43,用于在确定出在同一控制周期内多个需下载模块已下载全部组态数据包的情况下,在控制周期的下一控制周期内,对多个需下载模块使用相应的全部组态数据包进行同步更新。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,可以达到相同的技术效果,在此不再赘述。
本申请实施例还提出一种内生安全工业控制器,包括用于与上位机连接的控制电路板及与控制电路板连接的多个主控模块;多个主控模块的结构不同;控制电路板用于从上位机下载组态数据;多个主控模块用于与被控设备连接;其中,控制电路板包括如上的组态数据同步更新装置。
图8所示为本申请实施例提供的控制电路板50的模块框图。
如图8所示,控制电路板50包括一个或多个处理器51,用于实现如上所述的组态数据同步更新方法。
在一些实施例中,控制电路板50可以包括计算机可读存储介质59,计算机可读存储介质59可以存储有可被处理器51调用的程序,可以包括非易失性存储介质。在一些实施例中,控制电路板50可以包括内存58和接口57。在一些实施例中,控制电路板50还可以根据实际应用包括其他硬件。
本申请实施例的计算机可读存储介质59,其上存储有程序,该程序被处理器51执行时,用于实现如上描述的组态数据同步更新方法。
本申请可采用在一个或多个其中包含有程序代码的计算机可读存储介质59(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读存储介质59包括永久性和非永久性、可移动和非可移动媒体,可以任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质59的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请的发明构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
Claims (9)
1.一种组态数据同步更新方法,其特征在于,应用于内生安全工业控制器的控制电路板,所述控制电路板用于与上位机连接,从所述上位机下载组态数据;所述内生安全工业控制器还包括与所述控制电路板连接的多个主控模块;所述多个主控模块的结构不同,且用于与被控设备连接;
所述组态数据同步更新方法包括:
确定在位的主控模块中需要从所述控制电路板下载组态数据的多个主控模块,作为多个需下载模块;
在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包;
在确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包的情况下,在该控制周期的下一控制周期内,对所述多个需下载模块使用相应的全部组态数据包进行同步更新;
所述在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包,包括:
根据每个控制周期针对接口总线类型和主控模块性能确定的数据传输量,确定向需下载模块相应发送Pk个组态数据包;其中,Pk表示组态数据包的总个数;表示需下载模块的序号;
在每个控制周期内根据更新规则向所述需下载模块更新一个组态数据包;
接收需下载模块针对所更新的所述组态数据包进行校验反馈的校验结果;所述校验结果用于反映需下载模块接收到的所述一个组态数据包是否正确;
解析所述校验结果为接收到的所述一个组态数据包正确,则更新用于表示组态数据包成功发送的第一数值;
根据所述第一数值及所述Pk,确定需下载模块是否已下载全部组态数据包。
2.如权利要求1所述的组态数据同步更新方法,其特征在于,所述在控制周期向需下载模块发送组态数据包,包括:
优先向当前组态数据包未传输个数最多对应的需下载模块发送组态数据包,并将需下载模块更新为已下载模块;
在相同控制周期内,分别向已下载模块继续发送剩余传输个数的组态数据包以及向其余需下载模块发送组态数据包。
3.如权利要求2所述的组态数据同步更新方法,其特征在于,所述确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包,包括:
确定是否存在需下载模块;
在存在需下载模块的情况下,在同一控制周期内判断已下载模块的剩余传输个数是否等于其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块的数据包个数;
若在同一控制周期内判定已下载模块的剩余传输个数等于其余需下载模块中当前组态数据包未传输个数最多对应的需下载模块的数据包个数,则在相同控制周期内,分别向已下载模块继续发送组态数据包以及向所对应的需下载模块开始发送组态数据包;并将所对应的需下载模块更新为已下载模块,继续返回执行所述确定是否存在需下载模块,直至在不存在需下载模块的情况下,确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包。
4.如权利要求3所述的组态数据同步更新方法,其特征在于,所述确定在位的主控模块中需要从所述控制电路板下载组态数据的多个主控模块,作为多个需下载模块,包括:
向在位的主控模块发送周期同步信号;
根据接收到的所述在位的主控模块针对所述周期同步信号返回的诊断数据,判断所述在位的主控模块是否需要进行组态数据下载;所述诊断数据用于反映所述在位的主控模块的信息与控制电路板本地存储的信息是否一致;
若判定是,则将需要进行组态数据下载的主控模块,作为多个需下载模块。
5.如权利要求4所述的组态数据同步更新方法,其特征在于,所述诊断数据包括所述在位的主控模块中当前运行的组态数据版本号和主控模块硬件识别号;其中不同型号的主控模块具有不同的硬件识别号;
所述根据接收到的所述在位的主控模块针对所述周期同步信号返回的诊断数据,判断所述在位的主控模块是否需要进行组态数据下载,包括:
对所述在位的主控模块返回的所述诊断数据进行解析,获得所述在位的主控模块的主控模块硬件识别号Ai和所述在位的主控模块当前运行的组态数据版本号Bi;表示在位的主控模块的序号;
根据所述主控模块硬件识别号Ai与控制电路板本地存储的组态数据对应的硬件识别号Cj是否相等,确定控制电路板本地存储的组态数据与主控模块是否是一一对应的关系;
根据控制电路板本地存储的组态数据与主控模块一一对应的关系,确定所述在位的主控模块当前运行的组态数据版本号Bi与控制电路板本地存储的组态数据版本号Dj是否相等;
如果所述在位的主控模块当前运行的组态数据版本号Bi与控制电路板本地存储的组态数据版本号Dj不相等,则判定为所述在位的主控模块需要进行组态数据下载,并确定需要下载组态数据的在位的主控模块,作为多个需下载模块。
6.如权利要求1所述的组态数据同步更新方法,其特征在于,所述确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包,包括:
解析所述校验结果为接收到的所述一个组态数据包错误,则更新用于表示组态数据包连续非成功的第二数值;
确定所述第二数值是否超出预定阈值;
确定所述第二数值未超出所述预定阈值,则返回执行所述根据所述第一数值及所述Pk,确定需下载模块是否已下载全部组态数据包;
确定所述连续非成功数值超出所述预定阈值,则将该需下载模块设置为已下载全部组态数据包。
7.一种组态数据同步更新装置,其特征在于,应用于内生安全工业控制器的控制电路板,所述控制电路板用于与上位机连接,从所述上位机下载组态数据;所述内生安全工业控制器还包括与所述控制电路板连接的多个主控模块;所述多个主控模块的结构不同,且用于与被控设备连接;
所述组态数据同步更新装置包括:
组态数据下载的确定模块,用于确定在位的主控模块中需要从所述控制电路板下载组态数据的多个主控模块,作为多个需下载模块;
数据处理模块,用于在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包;
同步更新模块,用于在确定出在所述同一控制周期内所述多个需下载模块已下载全部组态数据包的情况下,在该控制周期的下一控制周期内,对所述多个需下载模块使用相应的全部组态数据包进行同步更新;其中,
所述在控制周期向需下载模块发送组态数据包,并确定同一控制周期内所述多个需下载模块是否已下载全部组态数据包,包括:
根据每个控制周期针对接口总线类型和主控模块性能确定的数据传输量,确定向需下载模块相应发送Pk个组态数据包;其中,Pk表示组态数据包的总个数;表示需下载模块的序号;
在每个控制周期内根据更新规则向所述需下载模块更新一个组态数据包;
接收需下载模块针对所更新的所述组态数据包进行校验反馈的校验结果;所述校验结果用于反映需下载模块接收到的所述一个组态数据包是否正确;
解析所述校验结果为接收到的所述一个组态数据包正确,则更新用于表示组态数据包成功发送的第一数值;
根据所述第一数值及所述Pk,确定需下载模块是否已下载全部组态数据包。
8.一种内生安全工业控制器,其特征在于,包括用于与上位机连接的控制电路板及与所述控制电路板连接的多个主控模块;所述多个主控模块的结构不同;所述控制电路板用于从所述上位机下载组态数据;所述多个主控模块用于与被控设备连接;
其中,所述控制电路板包括如权利要求7所述的组态数据同步更新装置。
9.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如权利要求1-6中任一项所述的组态数据同步更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311010098.4A CN116743779B (zh) | 2023-08-11 | 2023-08-11 | 组态数据同步更新方法、装置和内生安全工业控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311010098.4A CN116743779B (zh) | 2023-08-11 | 2023-08-11 | 组态数据同步更新方法、装置和内生安全工业控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116743779A CN116743779A (zh) | 2023-09-12 |
CN116743779B true CN116743779B (zh) | 2024-01-09 |
Family
ID=87904719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311010098.4A Active CN116743779B (zh) | 2023-08-11 | 2023-08-11 | 组态数据同步更新方法、装置和内生安全工业控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743779B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311772B (zh) * | 2023-11-30 | 2024-02-06 | 中控技术股份有限公司 | 一种组态更新方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216696A (zh) * | 2008-01-03 | 2008-07-09 | 浙江中控技术股份有限公司 | 控制系统组态的增量式在线下载方法 |
CN101924643A (zh) * | 2009-06-10 | 2010-12-22 | 中兴通讯股份有限公司 | 一种通信系统设备中单板软件的升级方法及系统 |
CN102707690A (zh) * | 2012-05-30 | 2012-10-03 | 浙江中控技术股份有限公司 | 一种组态数据的下载方法和下载系统 |
CN113541865A (zh) * | 2021-06-21 | 2021-10-22 | 浙江中控技术股份有限公司 | 组态传输方法、装置、电子设备和存储介质 |
CN115220755A (zh) * | 2022-06-15 | 2022-10-21 | 中国电子科技集团公司第三十研究所 | 一种基于可信度量的路由器在线升级系统 |
CN116560691A (zh) * | 2023-05-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备以及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868790B2 (en) * | 2004-02-13 | 2014-10-21 | Oracle International Corporation | Processor-memory module performance acceleration in fabric-backplane enterprise servers |
CN112463243B (zh) * | 2019-09-09 | 2022-11-18 | 英业达科技有限公司 | 基于边界扫描的在线级联加载固件系统及其方法 |
-
2023
- 2023-08-11 CN CN202311010098.4A patent/CN116743779B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216696A (zh) * | 2008-01-03 | 2008-07-09 | 浙江中控技术股份有限公司 | 控制系统组态的增量式在线下载方法 |
CN101924643A (zh) * | 2009-06-10 | 2010-12-22 | 中兴通讯股份有限公司 | 一种通信系统设备中单板软件的升级方法及系统 |
CN102707690A (zh) * | 2012-05-30 | 2012-10-03 | 浙江中控技术股份有限公司 | 一种组态数据的下载方法和下载系统 |
CN113541865A (zh) * | 2021-06-21 | 2021-10-22 | 浙江中控技术股份有限公司 | 组态传输方法、装置、电子设备和存储介质 |
CN115220755A (zh) * | 2022-06-15 | 2022-10-21 | 中国电子科技集团公司第三十研究所 | 一种基于可信度量的路由器在线升级系统 |
CN116560691A (zh) * | 2023-05-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备以及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
EPA组态软件控制链路组态模块的设计与实现;戴琼瑶;;工业控制计算机(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116743779A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437680B2 (en) | Relay apparatus, relay method, and computer program product | |
CN116743779B (zh) | 组态数据同步更新方法、装置和内生安全工业控制器 | |
US20190057214A1 (en) | Update control device, terminal, and method of controlling | |
CN112328435B (zh) | 目标数据备份和恢复的方法、装置、设备及存储介质 | |
JP7562661B2 (ja) | ソフトウェアアップグレード方法、装置、およびシステム | |
CN108563532B (zh) | 数据处理方法及相关装置 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN113381918B (zh) | 车内信号传输方法及其系统 | |
CN112165533B (zh) | 数据校验、传输方法、装置、设备、系统及存储介质 | |
EP3933573B1 (en) | Zero differential upgrade method, non-volatile storage medium and electronic device | |
US10274919B2 (en) | Method, device and computer program product for programming a plurality of control units | |
CN103488501A (zh) | 光网络终端设备及其系统软件升级方法 | |
CN112416411B (zh) | 升级方法及装置、设备端、服务器、计算机可读介质 | |
CN115335803A (zh) | 一种设备升级方法、智能设备及计算机可读存储介质 | |
CN115879111A (zh) | 一种安全启动的方法、装置和系统 | |
CN113141267B (zh) | 固件升级、信息处理方法、装置及设备 | |
CN116541047A (zh) | 固件升级方法、装置、计算机设备及计算机可读存储介质 | |
CN115129509B (zh) | 一种数据传输方法、装置、介质 | |
CN116466986A (zh) | 储能系统的设备软件升级方法、装置、通讯模块以及介质 | |
CN113568398B (zh) | 一种分散控制系统组态删除方法和系统 | |
WO2011023049A1 (zh) | 下载方法和装置 | |
CN114401218A (zh) | 一种数据报文的旁路转发方法及装置 | |
US10869216B2 (en) | System and method for managing filtering rules from a remote server | |
CN114003544A (zh) | 一种控制芯片、工作量证明系统和传输方法 | |
CN111124445B (zh) | 一种家庭网关的升级方法及家庭网关 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |