一种基于数据改变的有约束条件的调用控制逻辑的方法

文档序号:6541422阅读:148来源:国知局
一种基于数据改变的有约束条件的调用控制逻辑的方法
【专利摘要】本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,特别是涉及各类自动控制系统中的控制逻辑程序的运行机制,其特征是只有在某个数据改变并通过约束条件审核后再调用与该数据相关联的控制逻辑,而不是基于对控制逻辑程序的循环运行来完成控制任务。其中,该方法包括:步骤1获取一个数据改变信息;步骤2根据该数据ID定位适用的约束条件;步骤3判断数据改变是否满足约束条件;是,则执行步骤5将该数据对应的控制逻辑加上调用标记;否则,经步骤4清除所述调用标记;步骤6判断是否还有其他未处理的数据改变信息;步骤7中,或是持续监听数据改变信息(适用多线程系统),或是进入程序其他环节(适用单线程系统)。
【专利说明】一种基于数据改变的有约束条件的调用控制逻辑的方法
【技术领域】
[0001]本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,特别是涉及各类基于计算机或MCU (Micro Control Unit微控制单元)的自动控制系统中的控制逻辑(程序)的运行机制,其特征是只有当某个数据改变并通过约束条件审核后再调用与该数据相关联的控制逻辑,而不是基于对控制逻辑或算法程序或功能块的循环运行来完成自动控制任务。
【背景技术】
[0002]控制逻辑(control logic)是各类基于计算机或MCU (Micro Control Unit微控制单元)的控制系统中软件程序的关键部分,它的作用是通过对给定的逻辑算法的运算,得出控制结论,完成相应的自动控制任务。
[0003]在工业控制、楼宇自控、机电设备控制等行业和领域,当前普遍采用PLC(可编程逻辑控制器)、DDC (直接数字控制器)等构成自动控制系统,或者是由计算机和现场控制器等构成的DCS分散控制系统,这些设备或系统中的控制程序普遍采用IEC61131系列国际标准。在ffiC61131-8(版本号:IEC / TR61131-8:2003 (E),第11-12页)中这样描述道:可编程控制器中的程序采用循环或定时循环的运行原则,并给出示意图,参见图1为现有控制逻辑运行机制示意图,其中,步骤I为循环周期的开始环节,其作用是读取所有输入数据,或称刷新输入数据;步骤2运行控制算法程序,按照自上而下、从左至右的顺序扫描运行算法程序中的所有功能块;步骤3将步骤2运算的结果进行集中输出,然后返回步骤I继续下一个周期的运行。同时,该标准IEC61131-8还指出:这种程序循环运行原则的优势是使得程序的构建与以往通过硬件逻辑电路实现相近控制功能的结构非常相近,易于学习掌握。
[0004]大量公开信息同样显示,现有的诸如组态软件的各类基于计算机的控制系统依旧采用IEC61131-3软件标准中的程序循环运行机制。
[0005]事实上,IEC61131系列标准的产生和发展是为了规范早先PLC的生产和应用,而PLC的应用场景属于分布式控制,所以,他的信息采集点及受控设备的数量有限;许多公开信息指出在通常的应用环境中PLC中的程序循环周期通常在毫秒级,因此,上述循环或定时循环的运行原则能够满足传统PLC的功能要求。
[0006]但是,随着信息技术的发展,数据的集中和控制逻辑的集中使得集中控制方案的优势越来越明显,而其劣势和风险却越来越少,大数据的应用模式已经成为必然的趋势。在这样的背景下,如果,成千上万的输入信息集中采集,以及相应的所有控制逻辑程序全部按顺序循环运行,其循环周期只要达到秒级单位,对很多自动控制任务来说就是不可接受的。这也是为什么目前通过组态模式建立的集中式监控系统仍然将控制逻辑分布在众多的现场控制器内,集中到中央服务器的数据多用于监视、查询和报表,控制逻辑并没有集中,即所谓的“分散控制,集中管理”。
[0007]综上所述,现有关于控制逻辑(程序)调用的机制沿袭自传统现场控制装置的应用需求(如:PLC、DDC等),采用了循环运行或定时循环运行的原则,所有针对应用功能编写好的控制逻辑(程序)不论是否必要都要在每个循环周期内顺序执行,这样的控制逻辑运行机制在数据量增大以及控制逻辑越来越庞大和复杂的趋势下,必然导致:①控制系统的运行效率降低、响应速度减慢;以及,②限制了控制逻辑的复杂程度(如:延时、交叉调用等需求),也就是限制了控制功能的更好实现。
[0008]本发明没有通过模拟硬件逻辑电路工作机理去改善软件程序中控制逻辑的运行机制,而是通过分析和提取人工现场控制的行为特征,即只有在现场人员所关心的信息发生改变时才决定是否进行进一步的逻辑判断或计算并得出结论。参照人在执行类似控制任务中的智能活动的行为特征,本发明设计实现了一种新的、顺应人机一体化趋势的、适合于采用数据集中方案的控制系统的控制逻辑的运行机制,极大地提高了软件程序的运行效率;同时,采用本发明方法实现的控制系统,其控制逻辑可以不需要“嵌入”到一个单向运行的数据处理程序中,使得大量的控制逻辑程序可以灵活地分类编写与封装,为智能控制系统中越来越复杂的控制逻辑的动态运行管理提供了一个良好基础。

【发明内容】

[0009]本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,目的是要解决现有的控制逻辑的循环运行机制导致软件运行效率的降低以及控制逻辑的复杂程度被限制的问题。
[0010]为了实现本发明的目的,本发明所采用的技术方案包括:
[0011]1.本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于对控制系统中的控制逻辑程序的调用取决于相关的数据是否改变,以及改变的程度是否满足约束条件的要求,它包括:
[0012](I)所述控制系统中的所述控制逻辑程序的运行机制不是基于循环调用(或循环运行)的机制;
[0013](2)只有当所述控制系统采集到的某个数据改变后,并且所述的数据改变满足了与该所述数据改变相对应的预先设定的约束条件后,所述的控制系统中与该所述数据改变相对应的控制逻辑程序才被调用并运行;
[0014](3)所述约束条件与所述控制逻辑不在同一段计算机程序中,这种处理方式能够更好地适用于所述控制逻辑的独立编写与封装,为所述控制系统中大量的控制逻辑的灵活、动态的管理提供一种基础。
[0015]附图2为本发明技术方案的核心部分的逻辑流程图,详细阐明了本发明的技术方案;其中包括:步骤I获取一个数据改变信息,表明在一个控制系统中,通过数据采集机制或报告机制,逐个比对所采集的数据,对数据值发生改变的则形成数据改变信息提交本发明方法进行处理;通过步骤2,根据该所述数据的唯一身份ID选择定位该数据适用的约束条件;再经步骤3判断所述该数据改变是否满足约束条件;如果步骤3的结论为是,则执行步骤5将该数据对应的控制逻辑加上调用标记,对于多个数据对应一个控制逻辑的情形,此时,可通过简单判断避免控制逻辑的重复调用;如果步骤3的结论为否,则经步骤4清除所述调用标记,同样,对于多个数据对应一个控制逻辑的情形,可通过简单判断保证控制逻辑能够响应其中任意一个数据的调用请求;步骤6判断是否还有其他未处理的数据改变信息;步骤7中,或是持续监听数据改变信息(适用多线程系统),或是进入程序其他环节(适用单线程系统)。
[0016]2.本发明所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于适用于具备多线程处理功能的CPU或微处理器,详细说明参见图5,为本发明实施例一的逻辑流程图。
[0017]3.本发明所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息可以来自于所述控制系统自身对部分或全部输入端数据的循环采集,并且所采集的数据值与前一次采集的该数据值不同时,由此发出所述数据改变的通知信息,此时,适用于多线程系统,详细说明参见图3,为本发明实施例一的审核队列结构示意图。
[0018]4.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息也可以部分或全部来自于所述控制系统内的终端装置发现其所管辖的数据发生改变后主动向所述的控制系统发出所述数据改变的通知信息;这里所述终端装置特指能够主动发送信息的智能型的终端装置(非应答式),此时,适用于多线程系统,详细说明参见图3,为本发明实施例一的审核队列结构示意图。
[0019]5.本发明所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于适用于只具备单线程处理功能的CPU或微处理器,此种情况下,本发明方法的流程图参见图6,为本发明实施例二的逻辑流程图。
【专利附图】

【附图说明】
[0020]图1为现有控制逻辑运行机制示意图;
[0021]图2为本发明技术方案的核心部分的逻辑流程图;
[0022]图3为本发明实施例一的审核队列结构示意图;
[0023]图4为本发明实施例一的执行队列结构示意图;
[0024]图5为本发明实施例一的逻辑流程图;
[0025]图6为本发明实施例二的逻辑流程图;
【具体实施方式】
[0026]以下详细说明本发明技术方案的实施方式:
[0027]本发明的技术方案既适用于具备多线程处理功能的CPU或微处理器,也适用于只具备单线程处理功能的CPU或微处理器,但在实施方式上有所不同,因此,以下将分两个实施例分别详细描述。其中,实施例一适用于多线程系统;实施例二适用于单线程系统。
[0028]以下将描述适用于多线程系统的实施例一。
[0029]众所周知,具备多线程处理功能的CPU或微处理器,能够使应用程序的运行更加高效,同时也提供了灵活处理程序需求的多种功能手段。
[0030]本发明在应用于多线程系统时,可以建立一个所述数据改变的“审核队列”,其作用是作为一种缓存与排队机制可以同时接收多个终端设备发来的所述数据改变的信息,有利于拓宽所述数据改变信息的来源,以及对所述数据改变信息的管理。参见图3,为本发明实施例一的审核队列结构示意图,示例了一种所述数据改变的审核队列11的建立方式,其中,审核队列11为常用计算机数据结构,审核逻辑执行模块I从审核队列11的头位置提取所述数据改变的信息,他包括:所述该数据的唯一身份ID,数据改变量,数据改变的时间戳信息,用于本发明方法判断该数据改变信息是否满足该数据对应的约束条件,所述数据改变信息被提取后将从审核队列11中移除,审核队列11的头指针将指向下一个位置;所述数据改变信息可以由控制系统中的数据循环采集模块12提供部分或全部信息,当数据循环采集模块12检测到某个数据当前值与上一次采集的该数据值不相同时,向审核队列11中插入一条该数据的所述数据改变信息;所述数据改变信息也可以由控制系统中的若干个智能终端主动报告信息通道13提供部分或全部信息,当所述智能终端检测到其所管辖的某个数据当前值与上一次采集的该数据值不相同时,将通过智能终端主动报告信息通道13向审核队列11中插入一条该数据的所述数据改变信息。审核队列11的建立可以参照如下标准C++计算机程序代码不例:
【权利要求】
1.本发明公开了一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于对控制系统中的控制逻辑(程序)的调用取决于相关的数据是否改变,以及改变的程度是否满足约束条件的要求,它包括: (1)所述控制系统中的所述控制逻辑的运行机制不是基于循环调用(或循环运行)的机制; (2)只有当所述控制系统采集到的某个数据改变后,并且该数据改变满足了与该所述数据改变相对应的预先设定的约束条件后,所述的控制系统中与该所述数据改变相对应的控制逻辑才被调用并运行。
2.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于适用于具备多线程处理功能的CPU或微处理器。
3.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息可以来自于所述控制系统自身对部分或全部输入数据的循环采集,并且当所采集的数据值与前一次采集的该数据值不同时,据此发出所述数据改变信息的通知。
4.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于所述的数据改变信息也可以部分或全部来自于所述控制系统内的终端装置,当发现其所管辖的数据发生改变后主动向所述的控制系统发出所述数据改变信息的通知;这里所述终端装置特指能够主动发送信息的智能型的终端装置(非应答式)。
5.根据权利要求1所述的一种基于数据改变的有约束条件的调用控制逻辑的方法,其特征在于也适用于只具备单线程处理功能的CPU或微处理器。
【文档编号】G06F9/44GK103838582SQ201410109953
【公开日】2014年6月4日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】韩骐键, 杨雨欣 申请人:三和智控(北京)系统集成有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1