数据读取方法、数据写入方法及安全控制系统与流程

阅读: 评论:0



1.本技术涉及安全控制技术领域,具体而言,涉及一种数据读取方法、数据写入方法及安全控制系统。


背景技术:



2.安全仪表系统是一种被广泛用于石化、化工等行业的安全控制系统,其主要用于报警和停车控制,当工厂在正常生产过程中发生异常工况时,安全仪表系统启动报警或停车操作,防止工况继续恶化,保障人员和设备的安全。
3.相关技术中,安全控制系统的控制器多采用1oo2d或2oo3d的表决架构,该类控制器包含有多个相同的控制通道,每个控制通道都能单独完成控制功能,控制通道间通过表决完成安全输出。但由于控制器采用的是实时操作系统,对响应时间的要求高,不允许响应时间超时,针对大规模的操作变量难以实现表决处理;同时,当外部设备对控制器的操作变量进行读操作时,由于每次需要同时读取多个控制通道,可能会因读命令异步的原因,导致各控制通道间的值不一致而显示异常的问题;当外部设备对控制器的操作变量进行写操作时,由于写命令异步的原因,可能存在某个通道的写失败或延迟,导致各控制通道间程序运行不一致的问题。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:



5.本技术实施例提供了一种数据读取方法、数据写入方法及安全控制系统,以至少解决安全控制系统中控制器的多个控制通道读写数据不一致的技术问题。
6.根据本技术实施例的一个方面,提供了一种数据读取方法,应用于安全控制系统中的通讯模块,包括:在每个控制周期内,接收来自控制器中的第一数量个控制通道发送的第一数量组第一操作变量数据;对第一数量组第一操作变量数据进行数据一致性表决,并在表决通过时,将第一操作变量数据存储至通讯模块中的第一缓存区;响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机。
7.可选地,在对第一数量组第一操作变量数据进行数据一致性表决之前,获取第一数量个控制通道的状态信息;若存在故障控制通道,禁止故障控制通道发送的第一操作变量数据参与数据一致性表决。
8.可选地,若在连续的第二数量个控制周期内的数据一致性表决的结果均为表决未通过,发出第一告警信息,第一告警信息用于提示第一数量个控制通道中的操作变量数据不一致。
9.根据本技术实施例的另一方面,还提供了一种数据写入方法,应用于安全控制系统中的通讯模块,包括:响应于上位机发送的写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的第一数量个控制通道,其中,写命令中包括待写入
的第二操作变量数据;每个控制通道用于将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果;接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机。
10.可选地,在将写命令复制为第一数量份之前,对写命令中的第二操作变量数据进行数据完整性校验;在校验通过时,将写命令复制为第一数量份;在校验未通过时,发出第二告警信息,第二告警信息用于提示第二操作变量数据不完整,需要重新写入。
11.可选地,在将写命令复制为第一数量份之前,获取第一数量个控制通道的状态信息;若存在故障控制通道,禁止向故障控制通道发送复制的写命令。
12.可选地,每个控制通道将接收到的写命令复制为第一数量份,将其中一份写命令存储至控制通道中的第二缓存区,并生成与写命令对应的表决命令,将表决命令插入表决命令队列;将其他份写命令分别发送至控制器中的其他控制通道,并将表决命令发送至控制器中的其他控制通道;在接收到其他控制通道发送的写命令以及表决命令时,将其他控制通道发送的表决命令插入表决命令队列,并将其他控制通道发送的写命令存储至第二缓存区;在每个控制周期内,检查表决命令队列是否满足预设要求,并在表决命令队列满足预设要求时,对第二缓存区中的多个写命令进行数据一致性表决。
13.可选地,第二操作变量数据中至少包括以下之一:第二操作变量的地址、数据内容、数据长度、对应的人机接口软件种类及特征码信息;每个控制通道基于接收到的写命令中的第二操作变量数据生成与写命令对应的唯一标识信息,将唯一标识信息作为表决命令。
14.可选地,每个表决命令均具有预设的有效时间段;在每个控制周期内,每个控制通道检查表决命令队列中的表决命令的数量和状态,在表决命令队列中具有第一数量个表决命令且第一数量个表决命令均处于有效时间段内时,对第二缓存区中的第一数量个写命令进行数据一致性表决。
15.可选地,对于每个控制通道,在数据一致的写命令的数量不小于第一预设阈值时,确认表决通过,将第二操作变量数据写入控制器中的操作变量数据区,并向通讯模块反馈写入成功的第一写入结果;在数据一致的写命令的数量小于预设阈值时,确认表决未通过,丢弃第二操作变量数据,并向通讯模块反馈写入失败的第二写入结果。
16.可选地,在接收到的第二写入结果的数量不小于第二预设阈值时,重新向第二写入结果对应的控制通道发送写命令。
17.根据本技术实施例的另一方面,还提供了一种安全控制系统,包括:上位机,通讯模块和控制器,其中,上位机用于向通讯模块发送用于读取目标操作变量数据的读命令;接收通讯模块反馈的目标操作变量数据;通讯模块用于在每个控制周期内,接收来自控制器中的第一数量个控制通道发送的第一数量组第一操作变量数据;对第一数量组第一操作变量数据进行数据一致性表决,并在表决通过时,将第一操作变量数据存储至通讯模块中的第一缓存区;响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机;控制器包括第一数量个控制通道,其中,每个控制通道用于在每个控制周期内向通讯
模块发送第一操作变量数据。
18.根据本技术实施例的另一方面,还提供了一种安全控制系统,包括:上位机,通讯模块和控制器,其中,上位机,用于向通讯模块发送用于写入第二操作变量数据的写命令;接收通讯模块反馈的写入结果;通讯模块,用于响应于写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的第一数量个控制通道,接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机;控制器,包括第一数量个控制通道,其中,每个控制通道用于将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果。
19.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,非易失性存储介质所在设备通过运行该程序执行上述的数据读取方法或数据写入方法。
20.根据本技术实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行上述的数据读取方法或数据写入方法。
21.在本技术实施例中,通讯模块在每个控制周期内接收来自控制器中的多个控制通道发送的多组第一操作变量数据,并对多组第一操作变量数据进行数据一致性表决,在表决通过时将第一操作变量数据存储至通讯模块中的第一缓存区,之后响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机;同时,通讯模块可以响应于上位机发送的写入第二操作变量数据的写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的多个控制通道,每个控制通道将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果,通讯模块接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机。其中,通过在读写过程引入数据一致性表决处理过程,有效解决了安全控制系统中控制器的多个控制通道读写数据不一致的技术问题。
附图说明
22.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
23.图1是根据本技术实施例的一种可选的安全控制系统的结构示意图;
24.图2是根据本技术实施例的一种可选的数据读取方法的流程示意图;
25.图3是根据本技术实施例的一种可选的数据写入方法的流程示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的
附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
27.需要说明的是,本技术的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.实施例1
29.相关技术的安全控制系统中,当外部设备对控制器的操作变量进行读操作时,每次需要同时读取多个控制通道,由于读命令异步的原因,往往会出现通道间值不一致而显示异常的问题;当外部设备对控制器的操作变量进行写操作时,由于写命令异步的原因,可能存在某个通道的写失败或延迟,此种情况下会导致控制通道间程序运行不一致,最终表决结果出错。常规的冗余控制系统是通过备用控制器拷贝工作控制器的数据,以解决数据不一致的问题,但安全控制系统控制器的冗余控制通道要求相互独立,不适合使用该方法。
30.为了解决上述问题,本技术实施例提供了一种能够更加高效且准确地对操作变量进行读写操作的安全控制系统,如图1所示,该安全控制系统中至少包括:上位机10,通讯模块11和控制器12,其中:
31.上位机10可以是计算机等终端设备,通常运行有hmi(human machine interface,人机接口)软件,用于通过通讯模块11与控制器12进行交互;
32.通讯模块11是上位机10和控制器12之间的桥梁,其中通常包括有一片用于存储操作变量镜像数据的第一缓存区;
33.控制器12中包括有多个控制通道12(a~n),多个控制通道12(a~n)之间也可以进行交互,实现对操作变量数据的一致性表决。
34.以下以安全控制系统中对操作变量的读操作过程为例,对各模块的功能进行具体说明。
35.上位机,用于向通讯模块发送用于读取目标操作变量数据的读命令;接收通讯模块反馈的目标操作变量数据。
36.通讯模块,用于在每个控制周期内,接收来自控制器中的第一数量个控制通道发送的第一数量组第一操作变量数据;对第一数量组第一操作变量数据进行数据一致性表决,并在表决通过时,将第一操作变量数据存储至通讯模块中的第一缓存区;响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机。
37.控制器,包括第一数量(n)个控制通道,其中,每个控制通道用于在每个控制周期内向通讯模块发送第一操作变量数据。
38.其中,第一操作变量数据中至少包括以下之一:第一操作变量的地址、数据内容、
数据长度、对应的hmi软件种类及特征码信息。
39.为了保证读取的操作变量数据的一致性,通讯模块需要先对第一数量个控制通道发送的第一数量组第一操作变量数据进行数据一致性表决,在表决通过时,即确认各个控制通道的第一操作变量数据一致,此时通讯模块可以将第一操作变量数据存储至第一缓存区内,以方便后续上位机读取对应的操作变量数据。
40.可选地,在对第一数量组第一操作变量数据进行数据一致性表决之前,通讯模块还可以获取第一数量个控制通道的状态信息;若存在故障控制通道,则禁止故障控制通道发送的第一操作变量数据参与数据一致性表决,避免错误数据的干扰。
41.可选地,若在连续的第二数量个控制周期内的数据一致性表决的结果均为表决未通过,发出第一告警信息,第一告警信息用于提示第一数量个控制通道中的操作变量数据不一致。其中,第二数量可以由用户根据需求自行设置,如设置为3,此处不做具体限定。通过报警方式,能够帮助用户及时发现问题。
42.当用户通过上位机的hmi软件读取控制器的目标操作变量数据时,hmi软件向通讯模块发送读命令,通讯模块从第一缓存区中查询目标操作变量数据,并将目标操作变量数据反馈至hmi软件。通过这种方式,hmi软件每次读取控制器的操作变量数据时,仅需要一次查询即可,降低了hmi软件和控制器之间的通讯开销。
43.作为一种可选的实施方式,上述结构的安全控制系统也可以实现对操作变量的写操作,其中,各模块所实现的功能具体如下:
44.上位机,用于向通讯模块发送用于写入第二操作变量数据的写命令;接收通讯模块反馈的写入结果。
45.通讯模块,用于响应于写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的第一数量个控制通道,接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机。
46.控制器,包括第一数量(n)个控制通道,其中,每个控制通道用于将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果。
47.其中,第二操作变量数据中至少包括以下之一:第二操作变量的地址、数据内容、数据长度、对应的hmi软件种类及特征码信息。
48.可选地,在将写命令复制为第一数量份之前,通讯模块可以先对写命令中的第二操作变量数据进行数据完整性校验,如进行crc(cyclic redundancy check,循环冗余码校验);在校验通过时,将写命令复制为第一数量份;在校验未通过时,发出第二告警信息,第二告警信息用于提示第二操作变量数据不完整,需要重新写入。
49.可选地,在将写命令复制为第一数量份之前,通讯模块还可以获取第一数量个控制通道的状态信息;若存在故障控制通道,则禁止向故障控制通道发送复制的写命令,避免后续该故障控制通道发送数据对其他正常控制通道造成干扰。
50.在通讯模块将第一数量份写命令分别发送至第一数量个控制通道后,作为一种可选的实施方式,每个控制通道会将接收到的写命令复制为第一数量份,将其中一份写命令存储至控制通道中的第二缓存区,并生成与写命令对应的表决命令,将表决命令插入表决
命令队列;然后将其他份写命令分别发送至控制器中的其他控制通道,并将表决命令发送至控制器中的其他控制通道;在接收到其他控制通道发送的写命令以及表决命令时,将其他控制通道发送的表决命令插入表决命令队列,并将其他控制通道发送的写命令存储至第二缓存区;在每个控制周期内,检查表决命令队列是否满足预设要求,并在表决命令队列满足预设要求时,对第二缓存区中的多个写命令进行数据一致性表决。
51.其中,为了解决数据包重复和相似命令的相互干扰问题,以提高系统的可用性,本技术实施例可以通过以下方式增加表决命令的唯一确认方式:每个控制通道基于接收到的写命令中的第二操作变量数据生成与写命令对应的唯一标识信息,将该唯一标识信息作为表决命令。例如,将第二操作变量的地址、数据长度、hmi软件种类及特征码信息转换成16进制,每种信息占4个字节,按顺序排列得到唯一标识信息。
52.可选地,为了解决数据包延迟和丢失的问题,以提高系统的可用性,可以为每个表决命令预设有效时间段,如设置为2s。在每个控制周期内,每个控制通道检查表决命令队列中的表决命令的数量和状态,在表决命令队列中具有第一数量个表决命令且第一数量个表决命令均处于有效时间段内时,即该控制通道已接收到其他所有控制通道发送的写命令及表决命令,且所有表决命令均未超时,则该控制通道可以对第二缓存区中的第一数量个写命令进行数据一致性表决。
53.可选地,在进行数据一致性表决时,对于每个控制通道,在数据一致的写命令的数量不小于第一预设阈值时,确认表决通过,此时可以将第二操作变量数据写入控制器中的操作变量数据区,并向通讯模块反馈写入成功的第一写入结果;在数据一致的写命令的数量小于预设阈值时,确认表决未通过,丢弃第二操作变量数据,并向通讯模块反馈写入失败的第二写入结果。其中,第一预设阈值可以由用户根据控制通道的数量适应性调整,此处不做具体限定。通过表决可以解决数据包错误问题,防止控制器接收错误的数据。
54.可选地,通讯模块还可以在接收到的写入失败的第二写入结果的数量不小于第二预设阈值时,重新向第二写入结果对应的控制通道发送写命令。其中,第二预设阈值同样可以由用户根据控制通道的数量适应性调整,此处不做具体限定。通过写命令重发的方式可以解决数据包丢失的问题,提高系统的可用性。
55.在本技术实施例中,通讯模块在每个控制周期内接收来自控制器中的多个控制通道发送的多组第一操作变量数据,并对多组第一操作变量数据进行数据一致性表决,在表决通过时将第一操作变量数据存储至通讯模块中的第一缓存区,之后响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机;同时,通讯模块可以响应于上位机发送的写入第二操作变量数据的写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的多个控制通道,每个控制通道将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果,通讯模块接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机。其中,通过在读写过程引入数据一致性表决处理过程,有效解决了安全控制系统中控制器的多个控制通道读写数据不一致的技术问题。
56.实施例2
57.在实施例1提供的安全控制系统的基础上,本技术实施例提供了一种由通讯模块执行的数据读取方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
58.图2是根据本技术实施例的一种可选的数据读取方法的流程示意图,如图2所示,该方法至少包括步骤s202-s206,其中:
59.步骤s202,在每个控制周期内,接收来自控制器中的第一数量个控制通道发送的第一数量组第一操作变量数据。
60.其中,控制器中共包括第一数量个控制通道,每个控制通道均会在每个控制周期内将自身的第一操作变量数据发送至通讯模块,该第一操作变量数据中至少包括以下之一:第一操作变量的地址、数据内容、数据长度、对应的hmi软件种类及特征码信息。
61.步骤s204,对第一数量组第一操作变量数据进行数据一致性表决,并在表决通过时,将第一操作变量数据存储至通讯模块中的第一缓存区。
62.为了保证读取的操作变量数据的一致性,通讯模块需要先对获取的第一数量组第一操作变量数据进行数据一致性表决,在表决通过时,即确认各个控制通道的第一操作变量数据一致,此时通讯模块可以将第一操作变量数据存储至第一缓存区内,以方便后续上位机读取对应的操作变量数据。
63.作为一种可选的实施方式,在对第一数量组第一操作变量数据进行数据一致性表决之前,通讯模块还可以获取第一数量个控制通道的状态信息;若存在故障控制通道,则禁止故障控制通道发送的第一操作变量数据参与数据一致性表决,避免错误数据的干扰。
64.可选地,若在连续的第二数量个控制周期内的数据一致性表决的结果均为表决未通过,发出第一告警信息,第一告警信息用于提示第一数量个控制通道中的操作变量数据不一致。其中,第二数量可以由用户根据需求自行设置,如设置为3,此处不做具体限定。通过报警方式,能够帮助用户及时发现问题。
65.步骤s206,响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机。
66.当用户通过上位机的hmi软件读取控制器的目标操作变量数据时,hmi软件向通讯模块发送读命令,通讯模块从第一缓存区中查询目标操作变量数据,并将目标操作变量数据反馈至hmi软件。通过这种方式,hmi软件每次读取控制器的操作变量数据时,仅需要一次查询即可,降低了hmi软件和控制器之间的通讯开销。
67.在本技术实施例中,通讯模块在每个控制周期内接收来自控制器中的多个控制通道发送的多组第一操作变量数据,并对多组第一操作变量数据进行数据一致性表决,在表决通过时将第一操作变量数据存储至通讯模块中的第一缓存区,之后响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机。其中,通过在读过程引入数据一致性表决处理过程,有效解决了安全控制系统中控制器的多个控制通道读写数据不一致的技术问题。
68.实施例3
69.在实施例1提供的安全控制系统的基础上,本技术实施例还提供了一种由通讯模块执行的数据写入方法,需要说明的是,在附图的流程图示出的步骤同样可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
70.图3是根据本技术实施例的一种可选的数据写入方法的流程示意图,如图3所示,该方法至少包括步骤s302-s304,其中:
71.步骤s302,响应于上位机发送的写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的第一数量个控制通道,其中,写命令中包括待写入的第二操作变量数据;每个控制通道用于将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果。
72.其中,第二操作变量数据中至少包括以下之一:第二操作变量的地址、数据内容、数据长度、对应的hmi软件种类及特征码信息。
73.作为一种可选的实施方式,在将写命令复制为第一数量份之前,通讯模块可以先对写命令中的第二操作变量数据进行数据完整性校验,如进行crc(cyclic redundancy check,循环冗余码校验);在校验通过时,将写命令复制为第一数量份;在校验未通过时,发出第二告警信息,第二告警信息用于提示第二操作变量数据不完整,需要重新写入。
74.可选地,在将写命令复制为第一数量份之前,通讯模块还可以获取第一数量个控制通道的状态信息;若存在故障控制通道,则禁止向故障控制通道发送复制的写命令,避免后续该故障控制通道发送数据对其他正常控制通道造成干扰。
75.在通讯模块将第一数量份写命令分别发送至第一数量个控制通道后,作为一种可选的实施方式,每个控制通道会将接收到的写命令复制为第一数量份,将其中一份写命令存储至控制通道中的第二缓存区,并生成与写命令对应的表决命令,将表决命令插入表决命令队列;然后将其他份写命令分别发送至控制器中的其他控制通道,并将表决命令发送至控制器中的其他控制通道;在接收到其他控制通道发送的写命令以及表决命令时,将其他控制通道发送的表决命令插入表决命令队列,并将其他控制通道发送的写命令存储至第二缓存区;在每个控制周期内,检查表决命令队列是否满足预设要求,并在表决命令队列满足预设要求时,对第二缓存区中的多个写命令进行数据一致性表决。
76.其中,为了解决数据包重复和相似命令的相互干扰问题,以提高系统的可用性,本技术实施例可以通过以下方式增加表决命令的唯一确认方式:每个控制通道基于接收到的写命令中的第二操作变量数据生成与写命令对应的唯一标识信息,将该唯一标识信息作为表决命令。例如,将第二操作变量的地址、数据长度、hmi软件种类及特征码信息转换成16进制,每种信息占4个字节,按顺序排列得到唯一标识信息。
77.可选地,为了解决数据包延迟和丢失的问题,以提高系统的可用性,可以为每个表决命令预设有效时间段,如设置为2s。在每个控制周期内,每个控制通道检查表决命令队列中的表决命令的数量和状态,在表决命令队列中具有第一数量个表决命令且第一数量个表决命令均处于有效时间段内时,即该控制通道已接收到其他所有控制通道发送的写命令及
表决命令,且所有表决命令均未超时,则该控制通道可以对第二缓存区中的第一数量个写命令进行数据一致性表决。
78.可选地,在进行数据一致性表决时,对于每个控制通道,在数据一致的写命令的数量不小于第一预设阈值时,确认表决通过,此时可以将第二操作变量数据写入控制器中的操作变量数据区,并向通讯模块反馈写入成功的第一写入结果;在数据一致的写命令的数量小于预设阈值时,确认表决未通过,丢弃第二操作变量数据,并向通讯模块反馈写入失败的第二写入结果。其中,第一预设阈值可以由用户根据控制通道的数量适应性调整,此处不做具体限定。通过表决可以解决数据包错误问题,防止控制器接收错误的数据。
79.步骤s304,接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机。
80.可选地,通讯模块还可以在接收到的写入失败的第二写入结果的数量不小于第二预设阈值时,重新向第二写入结果对应的控制通道发送写命令。其中,第二预设阈值同样可以由用户根据控制通道的数量适应性调整,此处不做具体限定。通过写命令重发的方式可以解决数据包丢失的问题,提高系统的可用性。
81.在本技术实施例中,通讯模块可以响应于上位机发送的写入第二操作变量数据的写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的多个控制通道,每个控制通道将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果,通讯模块接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机。其中,通过在写过程引入数据一致性表决处理过程,有效解决了安全控制系统中控制器的多个控制通道读写数据不一致的技术问题。
82.实施例4
83.根据本技术实施例,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,非易失性存储介质所在设备通过运行该程序执行实施例2中的数据读取方法或实施例3中的数据写入方法。
84.根据本技术实施例,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例2中的数据读取方法或实施例3中的数据写入方法。
85.根据本技术实施例,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行实施例2中的数据读取方法或实施例3中的数据写入方法。
86.可选地,程序运行时执行实现以下步骤:在每个控制周期内,接收来自控制器中的第一数量个控制通道发送的第一数量组第一操作变量数据;对第一数量组第一操作变量数据进行数据一致性表决,并在表决通过时,将第一操作变量数据存储至通讯模块中的第一缓存区;响应于上位机发送的用于读取目标操作变量数据的读命令,从第一缓存区中存储的所有第一操作变量数据中查询目标操作变量数据,并将目标操作变量数据反馈至上位机。
87.可选地,程序运行时执行实现以下步骤:响应于上位机发送的写命令,将写命令复制为第一数量份,并将第一数量份写命令分别发送至控制器中的第一数量个控制通道,其
中,写命令中包括待写入的第二操作变量数据;每个控制通道用于将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃第二操作变量数据,并向通讯模块反馈写入结果;接收第一数量个控制通道反馈的第一数量个写入结果,并将第一数量个写入结果反馈至上位机。
88.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
89.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
90.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
91.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
92.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
93.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
94.以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:


1.一种数据读取方法,应用于安全控制系统中的通讯模块,其特征在于,包括:在每个控制周期内,接收来自控制器中的第一数量个控制通道发送的第一数量组第一操作变量数据;对所述第一数量组第一操作变量数据进行数据一致性表决,并在表决通过时,将所述第一操作变量数据存储至所述通讯模块中的第一缓存区;响应于上位机发送的用于读取目标操作变量数据的读命令,从所述第一缓存区中存储的所有所述第一操作变量数据中查询所述目标操作变量数据,并将所述目标操作变量数据反馈至所述上位机。2.根据权利要求1所述的方法,其特征在于,在对所述第一数量组第一操作变量数据进行数据一致性表决之前,所述方法还包括:获取所述第一数量个控制通道的状态信息;若存在故障控制通道,禁止所述故障控制通道发送的所述第一操作变量数据参与所述数据一致性表决。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若在连续的第二数量个所述控制周期内的所述数据一致性表决的结果均为表决未通过,发出第一告警信息,所述第一告警信息用于提示所述第一数量个控制通道中的操作变量数据不一致。4.一种数据写入方法,应用于安全控制系统中的通讯模块,其特征在于,包括:响应于上位机发送的写命令,将所述写命令复制为第一数量份,并将所述第一数量份写命令分别发送至控制器中的第一数量个控制通道,其中,所述写命令中包括待写入的第二操作变量数据;每个所述控制通道用于将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至所述控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃所述第二操作变量数据,并向所述通讯模块反馈写入结果;接收所述第一数量个控制通道反馈的第一数量个写入结果,并将所述第一数量个写入结果反馈至所述上位机。5.根据权利要求4所述的方法,其特征在于,在将所述写命令复制为第一数量份之前,所述方法还包括:对所述写命令中的所述第二操作变量数据进行数据完整性校验;在校验通过时,将所述写命令复制为第一数量份;在校验未通过时,发出第二告警信息,所述第二告警信息用于提示所述第二操作变量数据不完整,需要重新写入。6.根据权利要求4所述的方法,其特征在于,在将所述写命令复制为第一数量份之前,所述方法还包括:获取所述第一数量个控制通道的状态信息;若存在故障控制通道,禁止向所述故障控制通道发送复制的写命令。7.根据权利要求4所述的方法,其特征在于,将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至所述控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,包括:
每个所述控制通道将接收到的写命令复制为第一数量份,将其中一份写命令存储至所述控制通道中的第二缓存区,并生成与所述写命令对应的表决命令,将所述表决命令插入表决命令队列;将其他份写命令分别发送至所述控制器中的其他控制通道,并将所述表决命令发送至所述控制器中的其他控制通道;在接收到其他控制通道发送的写命令以及表决命令时,将所述其他控制通道发送的表决命令插入所述表决命令队列,并将所述其他控制通道发送的写命令存储至所述第二缓存区;在每个控制周期内,检查所述表决命令队列是否满足预设要求,并在所述表决命令队列满足所述预设要求时,对所述第二缓存区中的多个写命令进行数据一致性表决。8.根据权利要求7所述的方法,其特征在于,所述第二操作变量数据中至少包括以下之一:第二操作变量的地址、数据内容、数据长度、对应的人机接口软件种类及特征码信息;生成与所述写命令对应的表决命令,包括:每个所述控制通道基于接收到的写命令中的所述第二操作变量数据生成与所述写命令对应的唯一标识信息,将所述唯一标识信息作为所述表决命令。9.根据权利要求7所述的方法,其特征在于,每个所述表决命令均具有预设的有效时间段;在每个控制周期内,检查所述表决命令队列是否满足预设要求,并在所述表决命令队列满足所述预设要求时,对所述第二缓存区中的多个写命令进行数据一致性表决,包括:在每个控制周期内,每个所述控制通道检查所述表决命令队列中的表决命令的数量和状态,在所述表决命令队列中具有第一数量个表决命令且所述第一数量个表决命令均处于所述有效时间段内时,对所述第二缓存区中的第一数量个写命令进行数据一致性表决。10.根据权利要求7所述的方法,其特征在于,基于表决结果写入或丢弃所述第二操作变量数据,并向所述通讯模块反馈写入结果,包括:对于每个所述控制通道,在数据一致的写命令的数量不小于第一预设阈值时,确认表决通过,将所述第二操作变量数据写入所述控制器中的操作变量数据区,并向所述通讯模块反馈写入成功的第一写入结果;在数据一致的写命令的数量小于所述预设阈值时,确认表决未通过,丢弃所述第二操作变量数据,并向所述通讯模块反馈写入失败的第二写入结果。11.根据权利要求10所述的方法,其特征在于,在接收所述第一数量个控制通道反馈的第一数量个写入结果之后,所述方法还包括:在接收到的所述第二写入结果的数量不小于第二预设阈值时,重新向所述第二写入结果对应的控制通道发送所述写命令。12.一种安全控制系统,其特征在于,包括:上位机,通讯模块和控制器,其中,所述上位机,用于向所述通讯模块发送用于读取目标操作变量数据的读命令;接收所述通讯模块反馈的所述目标操作变量数据;通讯模块,用于在每个控制周期内,接收来自控制器中的第一数量个控制通道发送的第一数量组第一操作变量数据;对所述第一数量组第一操作变量数据进行数据一致性表
决,并在表决通过时,将所述第一操作变量数据存储至所述通讯模块中的第一缓存区;响应于上位机发送的用于读取目标操作变量数据的读命令,从所述第一缓存区中存储的所有所述第一操作变量数据中查询所述目标操作变量数据,并将所述目标操作变量数据反馈至所述上位机;所述控制器,包括第一数量个控制通道,其中,每个所述控制通道用于在每个所述控制周期内向所述通讯模块发送所述第一操作变量数据。13.一种安全控制系统,其特征在于,包括:上位机,通讯模块和控制器,其中,所述上位机,用于向所述通讯模块发送用于写入第二操作变量数据的写命令;接收所述通讯模块反馈的写入结果;通讯模块,用于响应于所述写命令,将所述写命令复制为第一数量份,并将所述第一数量份写命令分别发送至所述控制器中的第一数量个控制通道,接收所述第一数量个控制通道反馈的第一数量个写入结果,并将所述第一数量个写入结果反馈至所述上位机;所述控制器,包括第一数量个控制通道,其中,每个所述控制通道用于将接收到的写命令复制为第一数量份,保存其中一份写命令,并将其他份写命令分别发送至所述控制器中的其他控制通道,对自身保存的写命令以及其他控制通道发送的写命令进行数据一致性表决,基于表决结果写入或丢弃所述第二操作变量数据,并向所述通讯模块反馈写入结果。14.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,所述非易失性存储介质所在设备通过运行所述程序执行权利要求1至3中任意一项所述的数据读取方法或权利要求4至11中任意一项所述的数据写入方法。15.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被配置为通过所述计算机程序执行权利要求1至3中任意一项所述的数据读取方法或权利要求4至11中任意一项所述的数据写入方法。

技术总结


本申请公开了一种数据读取方法、数据写入方法及安全控制系统。数据读取方法包括:接收多个控制通道发送的多组第一操作变量数据并进行一致性表决,表决通过时将其存储至通讯模块的缓存区,响应于上位机的读取目标操作变量数据的读命令,从缓存区中查询目标操作变量数据并反馈至上位机;数据写入方法包括:响应于上位机的写入第二操作变量数据的写命令,将其复制为多份发送至多个控制通道,每个控制通道将写命令复制为多份,保存一份并将其他份发送至其他控制通道,对保存的写命令及其他控制通道发送的写命令进行一致性表决,基于表决结果写入或丢弃第二操作变量数据。本申请解决了安全控制系统中控制器的多个控制通道读写数据不一致的技术问题。不一致的技术问题。不一致的技术问题。


技术研发人员:

毛钦晖 毛海波 宣政 张乾斌 吕铖灿

受保护的技术使用者:

浙江中控技术股份有限公司

技术研发日:

2022.10.24

技术公布日:

2022/12/6

本文发布于:2022-12-12 02:19:37,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/32039.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   数据   变量   操作
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图