1.本发明涉及一种应用于工业自动化领域的可追溯控制方法,具体涉及一种执行器的可追溯控制方法、执行器和控制系统。
背景技术:
2.随着信息技术、大数据技术、人工智能的快速发展,传统的输入输出执行器已经不能满足新技术的需求,越来越多前沿应用更加关注于执行过程而非简单结果。同时传统执行器在触发异常事件进入错误时,在无追溯条件下只能保持错误状态或重置,不易自动恢复至正常状态。
3.另外,现代先进控制技术对于生产制造过程的关注日益增加,人们不止着眼于简单完成生产,还关心生产过程中的流程优化、安全报警、事故分析、仿真培训等等。而传统的执行器只能实现执行功能和简单记录、分析功能,难以直接展现执行过程中控制系统的变化,也难以快速重现某一操作导致的状态变化。
4.现有的执行器主要有以下几种:
5.1、可根据时间定时记录完整状态,并根据时间追溯历史状态。这种执行器使用定时策略记录状态,并且系统状态往往是平稳变化的,但是在一些操作时容易产生状态突变,若计时器间隔过大则难以准确描述特定时间点的状态;若计时器间隔过小则容易产生海量数据。同时,使用时间定时记录无法直接通过事件追溯历史状态,与实际使用场景有一定区别。系统在运行时会有很多关键事件,比如下写位号,事件确认,触发器触发等等,如果按照时间定时记录,会和事件发生瞬间有一定的偏差。对于一些变化极快的状态可能无法准确记录。
6.2、记录特定事件发生时的完整状态,根据事件或时间追溯历史状态;使用事件触发策略记录状态,采用这种方案能有效准确记录关键系统状态,并且能减少存储压力,但是无法有效体现系统变化过程。事件触发是只有预定义好的事件发生时触发,比如对于矩形波信号,在上升沿触发,那么这种方式记录的状态连成线几乎是一条直线,会失去状态变化的特征。
7.3、记录特定事件发生时的相关事件影响的状态,使用特定算法实现其他特性,并且至记录了最小状态,无法适用复杂的应用场景。
8.并且前两种方案采用完整记录的方式,但是一个系统中并非所有状态在所有事件都发生变化,使用完整记录的方式会消耗更多存储空间。
技术实现要素:
9.本发明为了克服以上技术的不足,提供了一种执行器的可追溯控制方法、执行器和控制系统,具有快速追溯、完整重现等特性,通过日志和快照的间隔存储,提供了基于时间与事件的追溯能力,并能实现完整的状态查询,也提高了存储介质利用率。
10.本发明克服其技术问题所采用的技术方案是:
11.本发明的第一个方面提出了一种执行器的可追溯控制方法,具体包括,执行器状态发生变化时,执行器存储状态快照或日志,直至执行器运行结束,其中,日志至少包括状态快照的变化;基于存储的状态快照或日志,追溯预设时间点的状态和环境。
12.进一步的,还包括环境或执行器状态发生变化时,执行器存储状态快照或日志。
13.可根据具体实施情况确定状态快照截取策略,基于执行器状态变化进行状态快照截取必不可少。
14.进一步的,所述环境或执行器状态发生变化时,执行器存储状态快照或日志,具体包括:若环境或执行器状态发生变化时,间隔时间或次数小于预设间隔,则截取当前状态快照,并将当前状态快照与上一次完整快照的变化作为日志进行存储,且间隔时间或次数累加;若环境或执行器状态发生变化时,间隔时间或次数大于等于预设间隔,则截取当前状态快照作为完整快照进行存储,且所述间隔时间或次数恢复初始值。
15.进一步的,还包括:执行器初始运行时截取完整快照进行存储。
16.进一步的,所述环境或执行器状态发生变化时,执行器存储状态快照或日志,具体包括:若环境或执行器状态发生变化时,则截取当前状态快照,并将当前状态快照与上一次状态快照的变化进行存储。
17.减少累积误差和鲁棒性差的风险,而且随机追溯到某一时间的速度较快。
18.进一步的,基于存储的状态快照或日志,追溯到设时间点的状态和环境,具体包括:查询最接近预设时间点的日志或快照,若最接近的为快照,则基于快照直接还原历史状态,若最接近的为日志,则基于日志和最接近日志的快照,得到历史状态。
19.查询最接近预设时间点的日志,则基于最近的快照和累加合并日志,得到历史状态。
20.进一步的,还包括,若执行器在运行过程中出现异常,则暂停运行,并基于存储的状态快照和日志,执行器追溯到预设时间点恢复运行。
21.故障发生时由现场操作工或工程师判断具体回溯时间点,执行器提供查看和回溯状态的能力。
22.本发明的第二个方面提出了一种执行器,用于执行上述执行器的可追溯控制方法进行控制。
23.本发明的第三个方面提出了一种控制系统,至少包括权利要求8所述的执行器,与执行器分别耦接的数据模块和快照模块,所述执行器用于从数据模块获取运行所需的状态、环境和组态,并在状态和环境发生变化时,写入快照至快照模块,以及在追溯历史状态时从快照模块获取快照。
24.进一步的,所述快照模块至少包括快照控制器、日志数据库和快照数据库,
25.所述快照控制器用于基于接收的执行器的写入快照命令,以及基于预设间隔,间隔的分别向日志数据库和快照数据库写入日志和快照,其中,日志为状态快照的变化值。
26.本发明的有益效果是:
27.1、可根据执行器状态改变或者环境发生改变时生成状态快照,可实现精准分析环境或状态变化,提供时间与事件的追溯能力;
28.2、根据快照的差值以日志的形式保存,使存储的利用率更高;
29.3、使用关系型数据库,特别是时间序列数据库分别存储日志和快照,可在异常处
理或者是需要查询时间点快速还原历史状态,实现快速溯源,并能实现完整的状态查询。
附图说明
30.图1为本发明实施例执行器的可追溯控制方法的示意图;
31.图2为本发明实施例中执行器的运行流程图;
32.图3为本发明实施例中执行器运行和环境变化示意图;
33.图4为本发明实施的的快照和日志存储示意图;
34.图5为本发明实施例中的状态回溯示意图;
35.图6为本发明实施例中的执行器执行装置启动并获取运行数量的流程图;
36.图7为本发明实施例中的对应图6所示的运行波形图;
37.图8为本发明实施例中的对应图6所示的快照和日志存储示意图;
38.图9为本发明实施例的控制系统的原理框图。
具体实施方式
39.为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
40.在描述本发明的一种执行器的可追溯控制方法、执行器和控制系统的技术方案之前,首先对涉及到本方案的一些专有名词进行解释:
41.可追溯:对于一个系统而言,可追溯意味着使用者可以在某一时间点查看系统过去的状态;
42.执行器:一种执行某一过程的硬件或软件,位于控制系统上层,拥有操作控制系统能力。其功能可以表示为:执行器(上一状态,事件)=下一状态。
43.状态:特指系统的状态,通常一个系统可以由一个状态模型描述。
44.环境:也可以称为运行时环境或环境状态,包含程序内部的参数、变量、计时器等,也包含程序外部的位号、触发器等等。环境会根据时间的变化而变化,但往往只有部分变量会在同一时间变化。
45.执行过程:是用户在组态期使用脚本、文字或图像编写的逻辑经过编译后由执行器执行的过程。执行过程需要从环境中读取变量并将产生新的变量值而影响环境。
46.状态快照:是执行器在执行某一个步骤时状态与环境的记录。
47.日志:是执行器某一时间对状态的一种记录,通常是使用两次状态快照的差值进行保存,记录与上一次快照或日志的变化。
48.由于传统执行器在触发异常事件进入错误时,在无追溯条件下只能保持错误状态或重置,不易自动恢复至正常状态,并且也难以直接展现执行过程中控制系统的变化,也难以快速重现某一操作导致的状态变化。因此本发明提出了一种执行器的可追溯控制方法、执行器和控制系统来解决上述问题,下面结合附图对本发明的技术方案进行说明。
49.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行
描述。
50.如图1所示,为本发明的执行器的可追溯控制方法的示意图,包括:
51.s1,在执行器状态发生变化时,执行器存储状态快照或日志,直至执行器运行结束,其中,日志至少包括状态快照的变化。
52.在一些实施方式中,执行器截取状态快照的策略可根据具体实施情况进行调整。但是由于状态快照包含执行器与环境两方面,所以基于执行器状态进行状态快照截取必不可少。因此,可以仅在执行器发生状态变化时,进行状态快照截取。
53.需要说明的是,若只是在执行器状态变化时进行状态快照截取,那么完整快照仅仅包括状态,如果是在环境或者执行器状态进行状态快照截取,那么完整快照除了执行器状态还包括环境。
54.如果仅仅采用在执行器发生状态变化时,截取状态快照,那么存储的日志和状态快照占用的空间更少,算法也更简单。如果采用执行器发生状态变化或环境发生改变时截取状态快照,相较而言更适合精准分析。
55.在本发明的实施例中,以执行器发生状态变化或环境发生改变时截取状态快照进行说明。
56.如图2所示为执行器的运行流程图,执行器执行开始时,根据组态编译执行逻辑并收集执行所需要的环境变量与采集频率。执行器执行过程中将记录当时的环境与执行器的操作,从而生成状态快照。
57.执行器在执行过程中会读取环境或修改环境,但这种修改往往是一小部分的,因此选择以日志的方式进行存储。日志包含状态快照的差值,还包含环境的变化与执行步骤的信息。
58.具体的,如图3所示为本发明实施例的执行器运行和环境变化示意图,图4所示为快照和日志存储示意图。若环境或执行器状态发生变化时且第一间隔小于预设间隔,则截取当前状态快照,并将当前状态快照与上一次完整快照的变化作为日志进行存储,第一间隔累加;若执行器状态发生变化时,且第一间隔大于等于预设间隔,则截取当前状态快照作为完整快照进行存储,所述第一间隔恢复初始值。
59.上述实施方式采用每隔一段时间记录一次完整快照,两次完整快照之间根据前面最近的完整快照记录差值,虽然采用本方案存储空间会更占用更多,但是随机溯源速度更快。
60.需要说明的是,每隔一段时间可以理解为间隔时间或者是间隔的日次存储次数,一般为预设间隔。在本发明的实施例中,第一间隔指代一个间隔计数的变量,可以为间隔时间,也可以是间隔次数。
61.在一些实施方式中,若环境或执行器状态发生变化时,则截取当前状态快照,并将当前状态快照与上一次状态快照的变化进行存储。
62.上述实施方式采用首个状态记录完整快照,后续相邻两个快照计算差值的方式,存储空间会更少,但是有累积误差和鲁棒性差的风险,而且随机溯源速度较慢。
63.在一些实施方式中,日志和快照分别存储在日志数据库和快照数据库中,存储可以考虑传统的关系型数据库或比较新兴的文档型数据库和时间序列数据库优选存储在时间序列数据库中,可以提高存储和查询效率。
64.s2,基于存储的状态快照或日志,追溯预设时间点的状态和环境。
65.如图5所示,首先找到回溯时间点最近的日志或快照,如果是快照则直接还原历史状态,如果是日志则向前搜索最近的快照从而计算出历史状态。
66.一般来说,若执行器的运行过程触发了异常触发条件,执行器会发出报警消息,并暂停运行,等待人工处理。故障发生时由现场操作工或工程师判断具体回溯时间点,执行器提供查看和回溯状态的能力。执行器根据回溯时间点,查找日志数据库和快照数据库中最接近回溯时间点的快照或者日志,如果是快照则直接还原历史状态,如果是日志,则向前搜索最近的快照从而计算出历史状态。历史状态包括了系统的历史状态和环境。
67.在一些实施方式中,可以用公式表示为:历史状态=f(最近快照+σ历史日志)。
68.下面以一个具体的实施例,对本发明的技术方案进行说明。
69.以图6所示的执行器执行装置启动并获取运行数量的执行器运行流程为例,执行器执行启动装置a和b,并获取总共开启的装置数的流程,图6中,t表示每步执行消耗的时间周期,虚线框中步骤表示瞬间完成,并行结束的条件为所有的分支全部运行结束。其中所应用的变量包括状态s,为了方便说明,装置a的状态也记为a,装置b的状态也记为b。
70.执行器开始运行,先进行初始化,根据组态编译执行逻辑获取执行所需要的环境变量与采集频率,开始执行记录当时的环境与执行器的操作,从而生成第一状态快照,完成时间为t0。如图7和图8所示,初始的状态a=0,b=0,e=0,s=0。在执行器的开始阶段生成的快照1,是完整的状态快照,记录了初始状态和环境。
71.执行器执行启动装置a,此时装置a的状态a=0变为a=1,完成时间为t1,进入并行流程,并行启动装置b和执行子流程p1,启动装置b的完成时间为t3,装置b的状态b=0变为b=1。同时,进入子流程p1,子流程p1的完成时间为t3。
72.并行流程执行结束,不消耗时间周期,完成时间为t3。
73.计算装置开启数量,将结果记录到状态s,完成时间为t4,执行子流程p2,完成时间为t9,完成全部流程,完成时间为t10。
74.在执行器的执行过程中,环境e会发生变化,如图7所示,在t2时,e的状态从0变为1,在t6时,e的状态从1变为0,在t9时,e的状态从0变为1。
75.根据上述执行器执行过程可得到图6所示执行器执行过程中的状态和环境的变化,根据对应状态和环境的变化,形成状态快照,并分别对应存储为日志和快照。
76.对应生成状态快照和日志如图8所示,在t0的初始化阶段,截取完整快照作为第一状态快照存储在快照数据库中,在t1时,状态a的状态变为1,截取第二状态快照,将第二状态快照和第一状态快照的变化作为日志1存储在日志数据库中,记录了状态a的变化。
77.在t2时,处于子流程p1执行的过程中,环境状态e发生变化,则截取当时的状态快照作为第三状态快照,将第三状态快照和第二状态快照的变化作为日志2存储在日志数据库中。
78.在t3时,为启动装置b的完成时间,装置b的状态由0变为1,则截取当时的状态快照作为第四状态快照,并将第四状态快照和第三状态快照的变化作为日志3顺序存储在日志数据库中。
79.在t4时,计算装置开启数量执行完成,状态s的值发生变化为,则截取当时的完整状态快照作为第五状态快照,按时间顺序存储在快照数据库中。
80.在t5时,执行子流程p2的阶段,e、s、a和b的状态均未发生变化,则不截取状态快照。
81.在t6时,由于e的状态从1变为0,则截取当前的状态快照作为第六状态快照,并将第六状态快照和第五状态快照的变化作为日志4顺序存储在日志数据库中。
82.在t7和t8时间段的p2子流程的执行阶段,e、s、a和b的状态均未发生变化,则不截取状态快照。
83.在t9时,p2子流程的执行完成时间,环境变量e发生变化,则截取当时的状态作为第七状态快照,并将第七状态快照和第六状态快照的变化作为日志5顺序存储在日志数据库中,
84.在t10时,为执行器执行完成时间,此时记录完整快照作为第八状态快照顺序存储在快照数据库中。
85.在本发明的实施例中,预设每间隔存储三次日志存储一份完整快照。
86.需要说明的是,在本发明的实施例中,执行器开始和结束阶段,均记录完整快照。在本实施例中,预设间隔为每三次日志记录一次完整快照,如果状态变化特别快,那么根据时间间隔设置完整快照的记录间隔。因此,本发明实施例,在t0、t4、t10时,记录快照,在t1、t2、t3、t6、t9时记录日志。
87.采用本技术方案,大大节省了存储空间,以图6所示的执行器的执行过程为例,一项数据占用空间为1举例,一项数据包含数据的名称、来源、数值。一份快照占用空间为4,包含a、b、s、e;若使用完整记录,则从t0-t11,完整记录占用空间为44;但采用快照和日志记录的方式可得到,本示例占用空间为17,节约61.4%空间。
88.若是在一个有500步和500个状态或环境的流程中,且快照记录周期为每100次日志记录一次快照,每一步发生一次变化,每次变化5%的状态或环境,则可节约大约94%的空间。
89.需要说明的是,结束快照可以通过结束之前的状态获得,是为了便于快速加载终态而冗余的。若忽略结束快照,则占用空间分别为13和40,节约67.5%空间。
90.如图6所示的流程还配置了异常监控,在异常情况会发出执行器消息:以执行子流程p2出现异常为例,在执行子流程p2时,要求开始时不超过三个设备同时运行,并且运行中的设备不会关闭,那么就检测s进入p2的初值,如果不符合则发出报警消息,并且检测p2运行时设备是否出现关机,即a、b、e是否存在下降沿,若存在则触发错误消息,同时暂停运行,等待人工处理。p2子流程在运行到t6时,e为下降沿,触发错误消息,导致程序暂停并发出错误消息。现场操作工或工程师处理完成错误信息后,程序从暂停中恢复,可以原地恢复,即从当前状态继续运行;也可以根据现场操作工或工程师判断的回溯时间点回溯恢复。
91.需要说明的是,在一些实施方式中,可以使用趋势数据库存储全部环境信息并使用数据库存储执行器执行信息,通过查找算法实现追溯。也是实现控制系统可追溯的一种方案。
92.与上述实施例提出的执行器的可追溯控制方法相对应,本发明还提出了一种执行器,用于运行上述执行器的可追溯控制方法。
93.另外,与上述实施例提出的执行器的可追溯控制方法相对应,本发明还提出了一种控制系统,其原理框图如图9所示,包括运行上述可追溯控制方法的执行器,与执行器分
别耦接的数据模块和快照模块,执行器用于从数据模块获取运行所需的状态、环境和组态,并在状态和环境发生变化时,写入快照至快照模块,以及在追溯历史状态时从快照模块获取快照。
94.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
95.专业人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
96.以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述做出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
技术特征:
1.一种执行器的可追溯控制方法,其特征在于,具体包括:执行器状态发生变化时,执行器存储状态快照或日志,直至执行器运行结束,其中,日志至少包括状态快照的变化;基于存储的状态快照或日志,追溯预设时间点的状态和环境。2.根据权利要求1所述的执行器的可追溯控制方法,其特征在于,还包括环境或执行器状态发生变化时,执行器存储状态快照或日志。3.根据权利要求2所述的执行器的可追溯控制方法,其特征在于,所述环境或执行器状态发生变化时,执行器存储状态快照或日志,具体包括:若环境或执行器状态发生变化时,间隔时间或次数小于预设间隔,则截取当前状态快照,并将当前状态快照与上一次完整快照的变化作为日志进行存储,且间隔时间或次数累加;若环境或执行器状态发生变化时,间隔时间或次数大于等于预设间隔,则截取当前状态快照作为完整快照进行存储,且所述间隔时间或次数恢复初始值。4.根据权利要求2所述的执行器的可追溯控制方法,其特征在于,还包括:执行器初始运行时截取完整快照进行存储。5.根据权利要求4所述的执行器的可追溯控制方法,其特征在于,所述环境或执行器状态发生变化时,执行器存储状态快照或日志,具体包括:若环境或执行器状态发生变化时,则截取当前状态快照,并将当前状态快照与上一次状态快照的变化进行存储。6.根据权利要求1-5任一项所述的执行器的可追溯控制方法,其特征在于,所述基于存储的状态快照或日志,追溯预设时间点的状态和环境,具体包括:查询最接近预设时间点的日志或状态快照,若最接近的为状态快照,则基于快照直接还原历史状态,若最接近的为日志,则基于日志和最接近日志的状态快照,得到历史状态。7.根据权利要求6所述的执行器的可追溯控制方法,其特征在于,还包括,若执行器在运行过程中出现异常,则暂停运行,并基于存储的状态快照和日志,执行器追溯到预设时间点恢复运行。8.一种执行器,其特征在于,用于执行权利要求1-7任一项所述的执行器的可追溯控制方法进行控制。9.一种控制系统,其特征在于,至少包括权利要求8所述的执行器,与执行器分别耦接的数据模块和快照模块,所述执行器用于从数据模块获取运行所需的状态、环境和组态,并在状态和环境发生变化时,写入快照至快照模块,以及在追溯历史状态时从快照模块获取快照。10.根据权利要求9所述的控制系统,其特征在于,所述快照模块至少包括快照控制器、日志数据库和快照数据库,所述快照控制器用于基于接收的执行器的写入快照命令,以及基于预设间隔,间隔的分别向日志数据库和快照数据库写入日志和快照,其中,日志为状态快照的变化值。
技术总结
本发明公开了一种执行器的可追溯控制方法、执行器和控制系统,其中,执行器的可追溯控制方法,具体包括:在环境或执行器状态发生变化时,执行器间隔存储状态快照和日志,直至执行器运行结束,其中,日志至少包括状态快照的变化,基于存储的状态快照和日志,执行器追溯到预设时间点的历史状态。本发明提供的一种执行器的可追溯控制方法、执行器和控制系统,具有快速追溯、完整重现等特性,通过日志和快照的间隔存储,提供了基于时间与事件的追溯能力,并能实现完整的状态查询,也提高了存储介质利用率。质利用率。质利用率。
技术研发人员:吴越 汪若彪 黄奕龙 施尹志 陈益锐
受保护的技术使用者:浙江中控技术股份有限公司
技术研发日:2021.12.08
技术公布日:2022/3/8