CN103838582A - 一种基于数据改变的有约束条件的调用控制逻辑的方法 - Google Patents
一种基于数据改变的有约束条件的调用控制逻辑的方法 Download PDFInfo
- Publication number
- CN103838582A CN103838582A CN201410109953.1A CN201410109953A CN103838582A CN 103838582 A CN103838582 A CN 103838582A CN 201410109953 A CN201410109953 A CN 201410109953A CN 103838582 A CN103838582 A CN 103838582A
- Authority
- CN
- China
- Prior art keywords
- data
- steering logic
- change
- calling
- control system
- 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
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,特别是涉及各类自动控制系统中的控制逻辑程序的运行机制,其特征是只有在某个数据改变并通过约束条件审核后再调用与该数据相关联的控制逻辑,而不是基于对控制逻辑程序的循环运行来完成控制任务。其中,该方法包括:步骤1获取一个数据改变信息;步骤2根据该数据ID定位适用的约束条件;步骤3判断数据改变是否满足约束条件;是,则执行步骤5将该数据对应的控制逻辑加上调用标记;否则,经步骤4清除所述调用标记;步骤6判断是否还有其他未处理的数据改变信息;步骤7中,或是持续监听数据改变信息(适用多线程系统),或是进入程序其他环节(适用单线程系统)。
Description
技术领域
本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,特别是涉及各类基于计算机或MCU(Micro Control Unit微控制单元)的自动控制系统中的控制逻辑(程序)的运行机制,其特征是只有当某个数据改变并通过约束条件审核后再调用与该数据相关联的控制逻辑,而不是基于对控制逻辑或算法程序或功能块的循环运行来完成自动控制任务。
背景技术
控制逻辑(control logic)是各类基于计算机或MCU(Micro Control Unit微控制单元)的控制系统中软件程序的关键部分,它的作用是通过对给定的逻辑算法的运算,得出控制结论,完成相应的自动控制任务。
在工业控制、楼宇自控、机电设备控制等行业和领域,当前普遍采用PLC(可编程逻辑控制器)、DDC(直接数字控制器)等构成自动控制系统,或者是由计算机和现场控制器等构成的DCS分散控制系统,这些设备或系统中的控制程序普遍采用IEC61131系列国际标准。在IEC61131-8(版本号:IEC/TR61131-8:2003(E),第11-12页)中这样描述道:可编程控制器中的程序采用循环或定时循环的运行原则,并给出示意图,参见图1为现有控制逻辑运行机制示意图,其中,步骤1为循环周期的开始环节,其作用是读取所有输入数据,或称刷新输入数据;步骤2运行控制算法程序,按照自上而下、从左至右的顺序扫描运行算法程序中的所有功能块;步骤3将步骤2运算的结果进行集中输出,然后返回步骤1继续下一个周期的运行。同时,该标准IEC61131-8还指出:这种程序循环运行原则的优势是使得程序的构建与以往通过硬件逻辑电路实现相近控制功能的结构非常相近,易于学习掌握。
大量公开信息同样显示,现有的诸如组态软件的各类基于计算机的控制系统依旧采用IEC61131-3软件标准中的程序循环运行机制。
事实上,IEC61131系列标准的产生和发展是为了规范早先PLC的生产和应用,而PLC的应用场景属于分布式控制,所以,他的信息采集点及受控设备的数量有限;许多公开信息指出在通常的应用环境中PLC中的程序循环周期通常在毫秒级,因此,上述循环或定时循环的运行原则能够满足传统PLC的功能要求。
但是,随着信息技术的发展,数据的集中和控制逻辑的集中使得集中控制方案的优势越来越明显,而其劣势和风险却越来越少,大数据的应用模式已经成为必然的趋势。在这样的背景下,如果,成千上万的输入信息集中采集,以及相应的所有控制逻辑程序全部按顺序循环运行,其循环周期只要达到秒级单位,对很多自动控制任务来说就是不可接受的。这也是为什么目前通过组态模式建立的集中式监控系统仍然将控制逻辑分布在众多的现场控制器内,集中到中央服务器的数据多用于监视、查询和报表,控制逻辑并没有集中,即所谓的“分散控制,集中管理”。
综上所述,现有关于控制逻辑(程序)调用的机制沿袭自传统现场控制装置的应用需求(如:PLC、DDC等),采用了循环运行或定时循环运行的原则,所有针对应用功能编写好的控制逻辑(程序)不论是否必要都要在每个循环周期内顺序执行,这样的控制逻辑运行机制在数据量增大以及控制逻辑越来越庞大和复杂的趋势下,必然导致:①控制系统的运行效率降低、响应速度减慢;以及,②限制了控制逻辑的复杂程度(如:延时、交叉调用等需求),也就是限制了控制功能的更好实现。
本发明没有通过模拟硬件逻辑电路工作机理去改善软件程序中控制逻辑的运行机制,而是通过分析和提取人工现场控制的行为特征,即只有在现场人员所关心的信息发生改变时才决定是否进行进一步的逻辑判断或计算并得出结论。参照人在执行类似控制任务中的智能活动的行为特征,本发明设计实现了一种新的、顺应人机一体化趋势的、适合于采用数据集中方案的控制系统的控制逻辑的运行机制,极大地提高了软件程序的运行效率;同时,采用本发明方法实现的控制系统,其控制逻辑可以不需要“嵌入”到一个单向运行的数据处理程序中,使得大量的控制逻辑程序可以灵活地分类编写与封装,为智能控制系统中越来越复杂的控制逻辑的动态运行管理提供了一个良好基础。
发明内容
本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,目的是要解决现有的控制逻辑的循环运行机制导致软件运行效率的降低以及控制逻辑的复杂程度被限制的问题。
为了实现本发明的目的,本发明所采用的技术方案包括:
1.本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于对控制系统中的控制逻辑程序的调用取决于相关的数据是否改变,以及改变的程度是否满足约束条件的要求,它包括:
(1)所述控制系统中的所述控制逻辑程序的运行机制不是基于循环调用(或循环运行)的机制;
(2)只有当所述控制系统采集到的某个数据改变后,并且所述的数据改变满足了与该所述数据改变相对应的预先设定的约束条件后,所述的控制系统中与该所述数据改变相对应的控制逻辑程序才被调用并运行;
(3)所述约束条件与所述控制逻辑不在同一段计算机程序中,这种处理方式能够更好地适用于所述控制逻辑的独立编写与封装,为所述控制系统中大量的控制逻辑的灵活、动态的管理提供一种基础。
附图2为本发明技术方案的核心部分的逻辑流程图,详细阐明了本发明的技术方案;其中包括:步骤1获取一个数据改变信息,表明在一个控制系统中,通过数据采集机制或报告机制,逐个比对所采集的数据,对数据值发生改变的则形成数据改变信息提交本发明方法进行处理;通过步骤2,根据该所述数据的唯一身份ID选择定位该数据适用的约束条件;再经步骤3判断所述该数据改变是否满足约束条件;如果步骤3的结论为是,则执行步骤5将该数据对应的控制逻辑加上调用标记,对于多个数据对应一个控制逻辑的情形,此时,可通过简单判断避免控制逻辑的重复调用;如果步骤3的结论为否,则经步骤4清除所述调用标记,同样,对于多个数据对应一个控制逻辑的情形,可通过简单判断保证控制逻辑能够响应其中任意一个数据的调用请求;步骤6判断是否还有其他未处理的数据改变信息;步骤7中,或是持续监听数据改变信息(适用多线程系统),或是进入程序其他环节(适用单线程系统)。
2.本发明所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于适用于具备多线程处理功能的CPU或微处理器,详细说明参见图5,为本发明实施例一的逻辑流程图。
3.本发明所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息可以来自于所述控制系统自身对部分或全部输入端数据的循环采集,并且所采集的数据值与前一次采集的该数据值不同时,由此发出所述数据改变的通知信息,此时,适用于多线程系统,详细说明参见图3,为本发明实施例一的审核队列结构示意图。
4.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息也可以部分或全部来自于所述控制系统内的终端装置发现其所管辖的数据发生改变后主动向所述的控制系统发出所述数据改变的通知信息;这里所述终端装置特指能够主动发送信息的智能型的终端装置(非应答式),此时,适用于多线程系统,详细说明参见图3,为本发明实施例一的审核队列结构示意图。
5.本发明所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于适用于只具备单线程处理功能的CPU或微处理器,此种情况下,本发明方法的流程图参见图6,为本发明实施例二的逻辑流程图。
附图说明
图1为现有控制逻辑运行机制示意图;
图2为本发明技术方案的核心部分的逻辑流程图;
图3为本发明实施例一的审核队列结构示意图;
图4为本发明实施例一的执行队列结构示意图;
图5为本发明实施例一的逻辑流程图;
图6为本发明实施例二的逻辑流程图;
具体实施方式
以下详细说明本发明技术方案的实施方式:
本发明的技术方案既适用于具备多线程处理功能的CPU或微处理器,也适用于只具备单线程处理功能的CPU或微处理器,但在实施方式上有所不同,因此,以下将分两个实施例分别详细描述。其中,实施例一适用于多线程系统;实施例二适用于单线程系统。
以下将描述适用于多线程系统的实施例一。
众所周知,具备多线程处理功能的CPU或微处理器,能够使应用程序的运行更加高效,同时也提供了灵活处理程序需求的多种功能手段。
本发明在应用于多线程系统时,可以建立一个所述数据改变的“审核队列”,其作用是作为一种缓存与排队机制可以同时接收多个终端设备发来的所述数据改变的信息,有利于拓宽所述数据改变信息的来源,以及对所述数据改变信息的管理。参见图3,为本发明实施例一的审核队列结构示意图,示例了一种所述数据改变的审核队列11的建立方式,其中,审核队列11为常用计算机数据结构,审核逻辑执行模块1从审核队列11的头位置提取所述数据改变的信息,他包括:所述该数据的唯一身份ID,数据改变量,数据改变的时间戳信息,用于本发明方法判断该数据改变信息是否满足该数据对应的约束条件,所述数据改变信息被提取后将从审核队列11中移除,审核队列11的头指针将指向下一个位置;所述数据改变信息可以由控制系统中的数据循环采集模块12提供部分或全部信息,当数据循环采集模块12检测到某个数据当前值与上一次采集的该数据值不相同时,向审核队列11中插入一条该数据的所述数据改变信息;所述数据改变信息也可以由控制系统中的若干个智能终端主动报告信息通道13提供部分或全部信息,当所述智能终端检测到其所管辖的某个数据当前值与上一次采集的该数据值不相同时,将通过智能终端主动报告信息通道13向审核队列11中插入一条该数据的所述数据改变信息。审核队列11的建立可以参照如下标准C++计算机程序代码示例:
同样,本发明在应用于多线程系统时,还可以通过建立一个被调用控制逻辑的“执行队列”,其作用是作为一种缓存机制用于接收集中发送来的所述调用控制逻辑的请求,并采取先进先出的排队机制保证所有调用控制逻辑的请求有序执行,也有利于控制逻辑的动态管理,提高系统响应速度。参见图4,为本发明实施例一的执行队列结构示意图,示例了一种“执行队列”建立方式,其中,执行队列9为常用计算机数据结构(queue),采用通用的先进先出的队列管理机制,控制逻辑程序加载运行模块10从执行队列9的头位置提取信息用以完成控制逻辑程序加载运行,被提取的信息将从执行队列9中移除,并将队列头指针指向下一个位置;依据同样的通用队列管理机制,由环节5将被调用控制逻辑信息加入执队列9的队尾。
图5为本发明实施例一的逻辑流程图,详细阐明了本发明的技术方案适用于多线程系统的实施方式;其中包括:步骤1获取一个数据改变信息,表明在一个控制系统中,通过数据采集机制或报告机制,逐个比对所采集的数据,对数据值发生改变的则形成数据改变信息提交本发明方法进行处理;通过步骤2,根据该所述数据的唯一身份ID选择定位该数据适用的约束条件;再经步骤3判断所述该数据改变是否满足约束条件;如果步骤3的结论为是,则执行步骤5将该数据对应的控制逻辑信息加入执行队列,对于多个数据对应一个控制逻辑的情形,此时,可通过简单判断避免控制逻辑的重复调用;如果步骤3的结论为否,则直接进入步骤6;步骤6判断是否还有其他未处理的数据改变信息;步骤7中,仍然持续监听数据改变信息。
以下将描述适用于单线程系统的实施例二。
当所控制系统基于只具备单线程处理功能的CPU或微处理器时,可采用如下示例,参见图6为本发明实施例二的逻辑流程图实施本发明的技术方案:基于单线程系统的程序启动后,进入循环运行的首个环节,即步骤11首先刷新全部输入数据;然后在步骤12中逐个比对刷新后的数据是否有改变,如结论为否,则返回,继续比对下一个数据;如结论为是,则进入步骤1获取该数据改变信息;经步骤2根据该数据的唯一身份ID标记,定位或提取该数据适用的约束条件;通过步骤3判断该数据改变是否满足所述约束条件;如果步骤3的结论为是,则执行步骤5将该数据对应的控制逻辑加上调用标记,对于多个数据对应一个控制逻辑的情形,此时,可通过简单判断避免控制逻辑的重复调用;如果步骤3的结论为否,则经步骤4清除所述调用标记,同样,对于多个数据对应一个控制逻辑的情形,可通过简单判断保证控制逻辑能够响应其中任意一个数据的调用请求;步骤6判断是否还有其他未处理的数据改变信息;如本循环已经完成全部数据的判断,则经步骤7进入程序其他环节;以上流程包括了本发明的核心部分8,接下来按照基于单线程系统的应用程序常用方式顺序判断执行所有的控制逻辑;首先,步骤13判断“控制逻辑1”是否有所述调用标记,有,则步骤14运行该“控制逻辑1”,否则跳过;其后逐个检查并决定是否执行某个控制逻辑;步骤15判断最后一个“控制逻辑n”是否有所述调用标记,有,则步骤16运行该“控制逻辑n”,否则跳过;在步骤17集中输出结果,然后返回步骤11继续下一个循环的运行。
需要说明的是,以上实施例是用以说明本发明的技术方案,而非对其限制。
综上所述,本发明具有如下优点:
1.从控制逻辑的调用机制上解决了现有的循环运行机制导致软件运行效率降低以及控制逻辑的复杂程度被限制的问题;
2.实现了一种新的可以灵活调用控制逻辑的方案,提高控制系统的运行效率;
3.特别是为集中控制方案及充分发挥多线程系统优势打下了一个良好基础。
本发明技术方案已经用于申请人的实际工程项目中,并经过了至少2年的运行检验。
Claims (5)
1.本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于对控制系统中的控制逻辑(程序)的调用取决于相关的数据是否改变,以及改变的程度是否满足约束条件的要求,它包括:
(1)所述控制系统中的所述控制逻辑的运行机制不是基于循环调用(或循环运行)的机制;
(2)只有当所述控制系统采集到的某个数据改变后,并且该数据改变满足了与该所述数据改变相对应的预先设定的约束条件后,所述的控制系统中与该所述数据改变相对应的控制逻辑才被调用并运行。
2.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于适用于具备多线程处理功能的CPU或微处理器。
3.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息可以来自于所述控制系统自身对部分或全部输入数据的循环采集,并且当所采集的数据值与前一次采集的该数据值不同时,据此发出所述数据改变信息的通知。
4.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息也可以部分或全部来自于所述控制系统内的终端装置,当发现其所管辖的数据发生改变后主动向所述的控制系统发出所述数据改变信息的通知;这里所述终端装置特指能够主动发送信息的智能型的终端装置(非应答式)。
5.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于也适用于只具备单线程处理功能的CPU或微处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410109953.1A CN103838582A (zh) | 2014-03-24 | 2014-03-24 | 一种基于数据改变的有约束条件的调用控制逻辑的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410109953.1A CN103838582A (zh) | 2014-03-24 | 2014-03-24 | 一种基于数据改变的有约束条件的调用控制逻辑的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103838582A true CN103838582A (zh) | 2014-06-04 |
Family
ID=50802118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410109953.1A Pending CN103838582A (zh) | 2014-03-24 | 2014-03-24 | 一种基于数据改变的有约束条件的调用控制逻辑的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103838582A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163992A (zh) * | 2018-02-11 | 2019-08-23 | 苏州途驰安电子科技有限公司 | 基于监听模式的数据获取方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1187006A2 (en) * | 2000-07-06 | 2002-03-13 | Mitsubishi Denki Kabushiki Kaisha | Development of vehicular information systems |
CN101539762A (zh) * | 2009-04-24 | 2009-09-23 | 陈彦如 | 浴室智能生命保障系统 |
CN101866175A (zh) * | 2010-06-21 | 2010-10-20 | 北京机电院高技术股份有限公司 | 一种多远程地磅采集、记录方法和系统 |
-
2014
- 2014-03-24 CN CN201410109953.1A patent/CN103838582A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1187006A2 (en) * | 2000-07-06 | 2002-03-13 | Mitsubishi Denki Kabushiki Kaisha | Development of vehicular information systems |
CN101539762A (zh) * | 2009-04-24 | 2009-09-23 | 陈彦如 | 浴室智能生命保障系统 |
CN101866175A (zh) * | 2010-06-21 | 2010-10-20 | 北京机电院高技术股份有限公司 | 一种多远程地磅采集、记录方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163992A (zh) * | 2018-02-11 | 2019-08-23 | 苏州途驰安电子科技有限公司 | 基于监听模式的数据获取方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100347930C (zh) | 一种电力数据采集与监控系统及装置 | |
CN102929585B (zh) | 一种支持多主机分布式数据处理的批处理方法及系统 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN108536573B (zh) | 一种vr应用性能及用户行为监控的方法 | |
CN106293891B (zh) | 多维投资指标监督方法 | |
CN101354758A (zh) | 整合实时数据和关系数据的系统和方法 | |
CN106780149A (zh) | 一种基于定时任务调度的设备实时监测系统 | |
CN102004828A (zh) | 一种工程量计算方法 | |
CN111509728B (zh) | 一种基于多源异构虚拟负荷的优化调控方法及系统 | |
CN103645961B (zh) | 计算密集型并行任务的异常检测方法及系统 | |
CN103399798A (zh) | Plc的多任务控制方法和装置 | |
CN105183911A (zh) | 一种基于数据来源二叉树的电力系统异常数据溯源方法 | |
CN105512188A (zh) | 数据连接方法和数据连接系统 | |
CN107247827B (zh) | 基于机器学习的虚端子模型建模及自动连线方法 | |
CN109800776A (zh) | 素材标注方法、装置、终端和计算机可读存储介质 | |
CN103838582A (zh) | 一种基于数据改变的有约束条件的调用控制逻辑的方法 | |
CN109582309A (zh) | 一种用于网站界面生成的辅助设计方法 | |
CN113537942A (zh) | 一种提高样本标记数量的方法及系统 | |
CN102567206B (zh) | 一种剖析cuda程序行为的方法 | |
CN105373903B (zh) | 一种大型企业非关系型数据库性能评价方法 | |
CN117135034B (zh) | 一种用于告警智能收敛的规则分析筛选方法及装置 | |
CN112507501B (zh) | 一种电网接线结构识别方法及系统 | |
CN109032578A (zh) | 基于数据库sql代码生成方法及系统 | |
CN112925778B (zh) | 一种电热冷综合能源系统数据处理方法及系统 | |
CN106326378A (zh) | 一种实时数据库的截止期分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20140604 |