一种数据处理方法、装置、存储介质及电子设备

文档序号:1241952 发布日期:2020-08-18 浏览:13次 >En<

阅读说明:本技术 一种数据处理方法、装置、存储介质及电子设备 (Data processing method and device, storage medium and electronic equipment ) 是由 刘志勇 崔山 平志明 毛钦晖 周曼 于 2020-04-27 设计创作,主要内容包括:本发明提供了一种数据处理方法、装置、存储介质及电子设备,该数据处理方法在当特定变量的变量强制状态区模块的状态处于强制状态时,第一软切换开关断开,第二软切换开关闭合,变量工作区模块中的值被更新为强制值。在当特定变量的变量强制状态区模块的状态处于非强制状态时,第一软切换开关闭合,第二软切换开关断开,变量生产者模块向变量工作区模块实时更新其产生的值。能够降低强制操作带来的运算负荷、解决多重化表决系统的数据一致性问题,从而确保系统的整体安全性。(The invention provides a data processing method, a device, a storage medium and an electronic device. When the state of the variable forcing state area module of the specific variable is in a non-forcing state, the first soft switch is switched on, the second soft switch is switched off, and the variable producer module updates the value generated by the variable producer module to the variable working area module in real time. The method can reduce the operation load caused by forced operation and solve the problem of data consistency of the multiple voting system, thereby ensuring the overall safety of the system.)

一种数据处理方法、装置、存储介质及电子设备

技术领域

本发明涉及安全控制技术领域,具体涉及一种数据变量强制的数据处理方法、装置、存储介质及电子设备。

背景技术

在DCS(Distributed ControlSystem,分布式控制系统或集散控制系统)、PLC(Programmable Logic Controller,可编程控制系统)、SIS(Safety InstrumentedSystem,安全仪表系统或安全控制系统)等工业控制系统中,为了提高系统的安全性,通常要求控制系统具备数据变量的强制功能。

具体的,数据变量的强制功能是指:在应用程序正常运行下,数据变量的值由应用程序计算确定,而当操作人员输入强制操作命令时,需要让某个数据变量处于强制状态,其值为给定的强制值,而非应用程序计算的值。当操作员执行解除某个数据变量的强制状态后,该数据变量的值则切换到应用程序计算值。

目前,为了实现控制系统的数据变量强制,通常采用为每份数据变量额外分配一份强制值存储区域和一份强制状态存储区域的方式,通过控制器中的强制执行模块负责解析强制状态,如果数据变量对应的强制状态为强制,在执行周期内将其覆盖为强制值。而这种数据变量强制方式的执行效率较低,占用负荷大。

因此,如何提供一种数据变量强制的数据处理方法,能够提高执行效率,是本领域技术人员亟待解决的一大技术难题。

发明内容

有鉴于此,本发明实施例提供了一种数据变量强制的数据处理方法,能够提高执行效率。

为实现上述目的,本发明实施例提供如下技术方案:

一种数据变量强制的数据处理方法,应用于控制器,包括:

当特定变量的变量强制状态区模块的状态处于强制状态时,第一软切换开关断开,第二软切换开关闭合,变量工作区模块中的值被更新为强制值;

当特定变量的变量强制状态区模块的状态处于非强制状态时,第一软切换开关闭合,第二软切换开关断开,变量生产者模块向变量工作区模块实时更新其产生的值。

可选的,所述变量工作区模块包括第二变量工作区子模块以及第一变量工作区子模块,所述数据处理方法还包括:

将第二变量工作区子模块中的数据回写至第一变量工作区子模块。

可选的,还包括:

根据冗余配置,确定变量工作区的个数和空间;

和/或,

根据系统规模和变量使用数量,确定所述变量工作区的存储空间。

可选的,还包括:

对待编译的应用程序进行语义解析,对待强制数据变量的操作进行识别,生成对应的代码。

一种数据变量强制的数据处理装置,应用于控制器,包括:

第一控制单元,用于当特定变量的变量强制状态区模块的状态处于强制状态时,第一软切换开关断开,第二软切换开关闭合,变量工作区模块中的值被更新为强制值;

第二控制单元,用于当特定变量的变量强制状态区模块的状态处于非强制状态时,第一软切换开关闭合,第二软切换开关断开,变量生产者模块向变量工作区模块实时更新其产生的值。

可选的,还包括:

回写单元,用于将第二变量工作区子模块中的数据回写至第一变量工作区子模块。

可选的,还包括:

配置单元,用于根据冗余配置,确定变量工作区的个数和空间,和/或,根据系统规模和变量使用数量,确定所述变量工作区的存储空间。

可选的,还包括:

生成单元,用于对待编译的应用程序进行语义解析,对待强制数据变量的操作进行识别,生成对应的代码。

一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任意一项上述的数据处理方法。

一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行任意一项上述的数据处理方法。

基于上述技术方案,本发明提供了一种数据变量强制的数据处理方法、装置、存储介质及电子设备,该数据处理方法在当特定变量的变量强制状态区模块的状态处于强制状态时,第一软切换开关断开,第二软切换开关闭合,变量工作区模块中的值被更新为强制值。在当特定变量的变量强制状态区模块的状态处于非强制状态时,第一软切换开关闭合,第二软切换开关断开,变量生产者模块向变量工作区模块实时更新其产生的值。能够降低强制操作带来的运算负荷、解决多重化表决系统的数据一致性问题,从而确保系统的整体安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种数据变量强制的数据处理方法的流程示意图;

图2为本发明实施例提供的一种变量强制系统的结构示意图;

图3为本发明实施例提供的一种变量强制系统的又一结构示意图;

图4为本发明实施例提供的一种变量强制系统的又一结构示意图;

图5为本发明实施例提供的一种数据变量强制的数据处理方法的又一流程示意图;

图6为本发明实施例提供的一种数据变量强制的数据处理方法的应用流程示意图;

图7为本发明实施例提供的一种数据变量强制的数据处理装置的结构示意图;

图8为本发明实施例提供的一种电子设备的硬件示意图。

具体实施方式

发明人发现,现有的数据变量强制方式至少具有如下缺点:

①执行负荷繁重。

在中大型控制系统中,一个控制器中的数据变量个数非常庞大,可达成千上万个的规模,控制器中的强制执行模块完成所有变量的强制操作所需要的执行时间长,而通常控制器的执行周期相对较短(通常百毫秒级别),从而强制操作占用负荷比例过高。

②适用性较差。例如,不适合多重化冗余表决架构。

多重化冗余表决系统中,控制器在每个周期内都要同其它冗余控制器进行数据的同步和表决。当某个变量被强制之后,变量的计算值就被强制值覆盖,同步和表决的数据就变成了强制值。在强制阶段,应用程序执行的过程中多控制器如果发生计算不一致,其结果就不能通过相互间的表决进行及时纠正。当该变量被解除强制之后,立即切换为各自的计算值,从而导致多控制器间的不一致,影响多重化冗余表决系统的安全完整性。

除此,为了解决执行负荷繁重的问题,还可以利用FPGA等独立硬件模块替代传统的CPU运算,以能够快速及并行执行强制操作,降低了系统的运算负荷。但该方式依赖于FPGA硬件,对于原先并无FPGA单元的硬件架构,需要对控制器硬件架构进行升级改进,增加硬件成本。同时,采用FPGA硬件计算的方式也不确保多重化冗余表决架构下的数据一致性。

基于此,如图1所示,本发明实施例提供了一种数据变量强制的数据处理方法,应用于如图2所示的控制器,本方法基于现有的CPU架构,不依赖于额外的硬件模块,既能够有效降低强制操作带来的运算负荷,又能够解决多重化表决系统的数据一致性的问题,从而确保系统的整体安全性。

请参阅图2,本发明实施例提供了一种变量强制系统100,包括上位机101以及控制器102。其中,上位机101可以是上位机操作界面或命令单元,用户通过该单元进行待强制变量的读写操作,例如,该单元将用户的写强制操作转换为“使能/取消强制状态”以及“写强制值”等命令下发给控制器102。控制器102用于输入输出数据的实时处理以及控制程序的实时执行。

具体的,控制器102包括变量生产者模块103、变量消费者模块104、变量强制状态区模块105、变量工作区模块106以及强制操作逻辑模块107。

其中,变量生产者模块103用于生产特定变量,包括变量的生成、赋值、更新等操作。例如,对于I/O输入数据变量,其变量生产者模块是I/O输入处理程序。对于自定义变量、输出数据变量,其变量生产者模块是用户程序逻辑。在本实施例提供的变量强制系统中,变量生产者模块产生变量的实时值。

变量消费者模块104用于通读取特定的变量值来确定下一步行为。例如用户程序逻辑是大部分输入数据、自定义变量数据的消费者,输出处理程序是I/O输出数据变量的消费者。

变量强制状态区模块105是上位机操作界面/命令下达的使能/取消强制状态被映射到控制器中的区域,用于后续处理。变量工作区模块106是变量实体,包括该变量的值及其相关信息。强制操作逻辑模块107用于根据运行状态,选择时机对特定变量执行相关变量强制/解强制操作。

结合图3以及图1,对本发明实施例提供的数据变量强制的数据处理方法进行说明,其中,图3中变量强制系统200中,变量生产者模块201对应图2中的变量生产者模块103,变量消费者模块202对应图2中变量消费者模块104,变量工作区模块203对应图2中变量工作区模块106,变量强制状态区模块204对应图2中变量强制状态区模块105,写强制命令模块205用于处理上位机操作界面下发的命令,包括让控制器中的某个(些)变量进入/退出强制状态,以及强制值信息。强制操作逻辑模块206包括两个软切换开关207以及208以及其它相关逻辑。具体的,软切换开关207控制强制值是否要作用于变量工作区,软切换开关208控制变量生产者的实时值是否要更新至变量工作区。如图1所示,本发明实施例提供的数据变量强制的数据处理方法,包括步骤:

S11、当特定变量的变量强制状态区模块204的状态处于强制状态时,第一软切换开关206断开,第二软切换开关207闭合,变量工作区模块203中的值被更新为强制值,此时变量生产者模块201无法实时更新变量工作区模块203的值。

S12、当特定变量的变量强制状态区模块204的状态处于非强制状态时,第一软切换开关206闭合,第二软切换开关207断开,变量生产者模块201向变量工作区模块203实时更新其产生的值,而强制值无法作用到变量工作区模块203中。

可见,本发明实施例提供的数据变量强制的数据处理方法,基于现有的CPU架构,不依赖额外的硬件模块(如FPGA),即可实现变量的强制,相较于背景技术中需要单独扫描所有变量的强制状态并进行相应的操作的方式,本方案是将强制判断直接融合到原本就存在的变量赋值逻辑中,无需采用独立的操作逻辑,进而有效降低了强制操作带来的运算负荷。

上述实施例是针对普通的控制系统,本发明实施例提供的数据变量强制的数据处理方法还可以适用于如图4所示的多重化冗余表决系统,其中,图4中变量强制系统300中,变量生产者模块301对应图3中生产者模块201,变量消费者模块302对应图3中变量消费者模块202,变量强制状态区305对应图3中变量强制状态区204,写强制命令模块306对应图3中写强制命令模块205,强制操作逻辑模块307对应图3中强制操作逻辑模块206,包括两个软切换开关308以及309以及其它相关逻辑。

结合图4,如图5所示,本发明实施例提供的数据变量强制的数据处理方法,还可以包括步骤:

S51、将第二变量工作区中的数据回写至第一变量工作区。

具体的,在本实施例中,第一变量区模块303处于强制操作逻辑模块307之后,根据强制操作逻辑,其值为变量生产者产生的实时值或强制值。表决逻辑模块310用于多重化冗余架构中其它冗余控制器的数据交互及表决计算。表决逻辑模块301将第一变量工作区303的变量值发送到其它冗余控制器中,同时也将当前其它冗余控制器中的对应值更新到冗余控制器中,将这些数据进行比较和表决计算。根据多重化系统安全策略,表决计算可以为三取二、二取一等各种算法。此处描述的表决逻辑,在具体实现时,可以为包含冗余系统间通信交互部分和表决算法计算部分的完整整体,也可以为仅包括表决算法计算的那一部分(冗余系统间通信交互部分由系统其它组件完成)。

第二变量工作区模块304是变量数据经过表决逻辑模块310之后的数值存放区域,也是变量消费者模块302可以直接进行读取操作的区域。值得一提的是,在本实施例中,第二变量工作区304可以往第一变量工作区303进行数据回写同步,如流程311。该数据回写同步的过程发生在表决逻辑模块310执行完成之后,同时相应变量处于强制状态时。

经过数据回写同步之后,第一变量工作区303的数据与第二变量工作区模块304的数据保持一致,从而实现了通过多重化表决纠正本通道可能出现的错误。需要进行特别说明的是,在本实施例中,在强制状态时,写强制值命令模块306直接作用于第二变量工作区304,因此强制操作的值也能够最终通过311过程实现对第一变量工作区303的作用,从而保证了第一变量工作区模块303与第二变量工作区模块304的数据一致性。

这种一致性对于多重化表决系统至关重要,因为假设第一变量工作区模块和第二变量工作区模块中的数据不一致,会导致第一变量工作区模块或前序逻辑导致的随机性失效或系统性故障,例如,下一个执行周期中变量消费者所使用的第二变量工作区模块会被不一致的第一变量工作区模块的值覆盖,从而导致表决逻辑带来的优势被抵消。又如,错误的第一变量工作区模块中的值会在下一个表决周期中继续参与表决,导致表决没有起到自纠错的作用。

可见,本发明实施例提供的数据变量强制的数据处理方法,能够解决多重化表决系统的数据一致性问题,从而确保系统的整体安全性。

示意性的,如图6所示,本发明实施例提供了一种数据变量强制的数据处理方法的具体应用实例。其中,可以将数据处理方法分为两个阶段,分别为:“配置及编译阶段”和“强制操作阶段”。

具体的,401为数据变量配置及内存分配步骤,根据冗余配置选择变量工作区的个数和空间,以及根据系统规模和变量使用数量分配各个区域的存储空间。

402为应用程序编译步骤,应用程序编译程序对待编译的应用程序进行语义解析,对所有涉及可强制数据变量的操作进行识别,并生成相应的代码。对于如图6所示的多重冗余系统,语义解析与识别的逻辑为:

(1)如果是读变量数据操作,则该变量的编译地址指向变量工作区2;

(2)如果是写变量数据操作,则该变量的编译地址指向变量工作区1,同时需要根据变量强制状态区中对应值进行判断,实现强制操作逻辑中的软切换开关。即只有当变量未处于强制状态时才能赋值成功。例如,可以编译为诸如以下形式:

IF(force_status is False)THEN

Variable:=value

END_IF

Code sections...

在本实施例中,应用程序的编译器可以对上述细节进行了处理封装,因此用户在编写应用逻辑时只要写简单的一句赋值即可,无需再对是否处于强制、支持强制进行区分。

403为组态及应用程序下载步骤。上位机将经过401、402两个步骤产生的数据信息加入组态,连同编译好的应用程序下载到控制器中。

“强制操作阶段”为系统正常运行时阶段,用户在此阶段执行强制相关操作,包括:

404为上位机强制操作步骤。用户通过上位机相关界面或指令,向控制器发出对某个/些数据变量的强制操作,包括:进入/退出强制状态、写强制值。上位机将这些操作转换为向控制器下发的命令。特别地,“写强制值操作”命令不得晚于“进入强制状态命令”。

405为控制器强制执行步骤。控制器在接收到“进入/退出强制状态”命令后,更新相应变量的“变量强制状态区”(图3中的305),此后由于402阶段的编译逻辑处理,应用程序中所有对该变量的赋值操作条件均失效。控制器在接收到“写强制值操作”命令后,判断对应变量是否处于强制状态,如果是则执行写值操作。

406为控制器变量同步步骤。该步骤只在如图4所示的多重化控制系统中有效,该步骤对应于图4中的310过程以及311过程(变量工作区2往变量工作区1进行数据回写同步)。

综上,本发明实施例提供的数据处理方法,基于现有的CPU架构,不依赖于额外的硬件模块,不额外增加硬件成本。并从编译、执行、表决等多方面,既能够有效降低强制操作带来的运算负荷提升,又能够解决多重化表决系统的数据一致性问题,从而确保系统的整体安全性。

在上述实施例的基础上,如图7所示,本发明实施例还提供了一种数据变量强制的数据处理装置,包括:

第一控制单元71,用于当特定变量的变量强制状态区模块204的状态处于强制状态时,第一软切换开关206断开,第二软切换开关207闭合,变量工作区模块203中的值被更新为强制值。

第二控制单元72,用于当特定变量的变量强制状态区模块204的状态处于非强制状态时,第一软切换开关206闭合,第二软切换开关207断开,变量生产者模块201向变量工作区模块203实时更新其产生的值。

除此,本发明实施例提供的一种数据变量强制的数据处理装置,还可以包括:

回写单元,用于将第二变量工作区中的数据回写至第一变量工作区。

在上述实施例的基础上,本发明实施例提供的数据处理装置,还可以包括:

配置单元,用于根据冗余配置选择变量工作区的个数和空间,以及根据系统规模和变量使用数量,确定各个区域的存储空间。

除此,本发明实施例提供的数据处理装置,还可以包括:

生成单元,用于对待编译的应用程序进行语义解析,对所有涉及可强制数据变量的操作进行识别,并生成相应的代码。

该装置的工作原理请参见上述方法实施例,在此不重复叙述。

除此,本发明实施例提供的一种数据变量强制的数据处理装置包括处理器和存储器,上述第一控制单元以及第二控制单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高执行效率。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据处理方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述数据处理方法。

本发明实施例提供了一种设备,如图8所示,设备包括至少一个处理器71、以及与处理器连接的至少一个存储器72、总线73;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的数据处理方法。本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

综上,本发明提供了一种数据变量强制的数据处理方法、装置、存储介质及电子设备,该数据处理方法在当特定变量的变量强制状态区模块的状态处于强制状态时,第一软切换开关断开,第二软切换开关闭合,变量工作区模块中的值被更新为强制值。在当特定变量的变量强制状态区模块的状态处于非强制状态时,第一软切换开关闭合,第二软切换开关断开,变量生产者模块向变量工作区模块实时更新其产生的值。能够降低强制操作带来的运算负荷、解决多重化表决系统的数据一致性问题,从而确保系统的整体安全性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:火箭电气系统及其控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!