CN113641139B - 可实现异步编程的系统、控制器、控制系统、存储介质 - Google Patents
可实现异步编程的系统、控制器、控制系统、存储介质 Download PDFInfo
- Publication number
- CN113641139B CN113641139B CN202110898429.7A CN202110898429A CN113641139B CN 113641139 B CN113641139 B CN 113641139B CN 202110898429 A CN202110898429 A CN 202110898429A CN 113641139 B CN113641139 B CN 113641139B
- Authority
- CN
- China
- Prior art keywords
- message
- component
- components
- module
- control
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/048—Monitoring; Safety
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种可实现异步编程的系统、控制器、控制系统、存储介质。其中可实现异步编程的系统,包括:组件库,包括用于读取外界消息的组件以及进行逻辑运算处理的组件;场景编辑模块,可供用户选取对应的组件进行组合、设置组件之间的联动控制,实现至少一个用户定义的控制场景;消息管理模块,与消息供应渠道或消息发布渠道对应设置,负责搬运对应组件订阅的外界消息、对应组件订阅的其他组件发布的消息以及对应组件所发布的消息;消息总线,连接所有消息管理模块,实现不同控制场景内的不同组件基于消息触发的并行处理。本发明可以实现异步编程过程,实现多个控制场景内多个组件的并行触发及处理。
Description
技术领域
本发明涉及并行处理、异步编程技术,尤其涉及一种可实现异步编程的系统,以及含有该异步编程系统的控制器,基于控制器的控制系统。
背景技术
在当今主流的控制器中,基于ST语言、C语言等嵌入式语言占据着主导地位。但随着现代自动化控制的崛起,控制器需要承担的角色就越发重要,需要完成的任务也从对几个设备的控制演变为一个末端系统的逻辑中枢。
线性的过程式的编程是现在控制器的主流编程方式,当控制的系统相对简单时,这样的编程方式很直观,编程简单,但是随着工程的拓展,控制单元的复杂化,线性的编程就会在需要并行的任务上表现出劣势。例如控制器的IO端口是既定的,多个控制需求都需要排队等待IO端口的数据,会导致控制器的处理效率低下,而且控制器的每条语句的执行都是要基于一次完整循环的完成,因此为了保证控制系统的实时性,现有技术的普遍做法就是增加更多的控制器,通过硬件叠加,或者升级硬件,将更少的运行逻辑控制逻辑分配在每个独立的控制器中执行,这样将会导致控制器的硬件成本较高,且控制器之间的配合也是比较棘手的问题。
发明内容
为了解决现有技术中线性的过程式编程方式带来的效率低下的技术问题,本发明提出一种可实现异步编程的系统、控制器、控制系统、存储介质。
本发明提出的可实现异步编程的系统,包括:
组件库,包括用于读取外界消息的组件以及进行逻辑运算处理的组件;
场景编辑模块,可供用户选取对应的组件进行组合、设置组件之间的联动控制,实现至少一个用户定义的控制场景;
消息管理模块,与消息供应渠道或消息发布渠道对应设置,负责搬运对应组件订阅的外界消息、对应组件订阅的其他组件发布的消息以及对应组件所发布的消息;
消息总线,连接所有消息管理模块,实现不同控制场景内的不同组件基于消息触发的并行处理。
进一步,所述消息管理模块包括与控制场景一一对应的第一消息管理模块,所述第一消息管理模块负责从消息总线上搬运其对应的控制场景中所有组件订阅的外界消息,以及所有组件订阅的其他组件发布的消息,以及该控制场景所有组件发布的消息。
进一步,所述消息管理模块包括用于将外界消息搬运至消息总线上的第二消息管理模块。
进一步,所述组件具有可供用户设置的组件事件管理器,所述组件事件管理器包括:
判定事件单元,对消息总线所搬运的消息是否属于该组件订阅的消息进行判断,如果判定是该组件订阅的消息,则将消息传递给默认执行单元;
默认执行单元,将该组件订阅的消息作为输入进行相应的逻辑运算处理;
消息传递单元,将所述默认执行单元逻辑运算处理后的消息作为该组件发布的消息传递至所述消息总线。
进一步,所述组件库被配置为可添加用户自定义的用于实现对应逻辑运算处理的自定义组件。
进一步,所述场景编辑模块还包括与消息总线连接的定时模块,每一个定时模块可被配置成与至少一个组件对应,所述定时模块根据用户的设置进行时间间隔的统计,并在设置的时间间隔到达后发送对应的消息至消息总线,触发其对应的至少一个所述组件进行处理。
进一步,所述进行逻辑运算处理的组件包括PID组件、加法组件、乘法组件当中的至少一种。
本发明提出的可编程控制器,所述可编程控制器内设有上述技术方案所述的可实现异步编程的系统。
进一步,可编程控制器还包括与第二消息管理模块连接的数据缓存模块,所述数据缓存模块用于缓存所述外界消息,所述第二消息管理模块维护所述用于读取外界消息的组件与外界消息的对应关系。
进一步,可编程控制器还包括场景管理线程池,所述场景管理线程池为每一个控制场景分配一个独立的线程。
进一步,可编程控制器还包括线程中断模块,用于对对应的控制场景的逻辑运算处理进行中断或重启。
本发明提出的可并发处理的控制系统,包括控制器,通过所述控制器进行控制的至少一个硬件设备,所述控制器采用上述技术方案中的可编程控制器制作而成。
进一步,所述控制器包括:
逻辑启动线程,对系统管理模块进行初始化;
系统管理模块,包含所述场景管理线程池以及为各控制器内各组件的定时模块提供统一的计时标准的定时器管理者;
逻辑模块,包含至少一个所述控制逻辑;
数据输出模块,将逻辑模块的运算结果输出。
进一步,所述控制器中各逻辑模块用于读取外界消息的组件为点位组件,所述点位组件与对应的硬件设备及该硬件设备内用于暂存对应外界消息的寄存器形成一一对应关系。
进一步,所述控制器还包括协议对接模块,用于与采用不同通信协议的所述硬件设备对接,将所述硬件设备发布的外界消息转化为统一的预设格式的外界消息。
本发明提出的计算机存储介质,用于存储计算机程序,所述计算机程序运行时实现上述技术方案所述的可实现异步编程的系统。
本发明基于消息总线可以实现异步编程,使得多个模块可以并行运行,同时多个模块的调用与否都有对应的模块进行判定,将更多的算力释放出来,用于其他模块的有效计算。当该异步编程应用为控制器时,可以使得一个控制器同时对外界的多个信号进行并行处理,从而在大型工程中,不需要过多增加控制器的数量,就可以实现较好的算力,把原本控制器的处理过程中浪费在接口处理等待、过程循环和条件判断上的时间进行节约,提高控制器的处理效率。
附图说明
下面结合实施例和附图对本发明进行详细说明,其中:
图1是本发明可实现异步编程的系统的简要框图。
图2是本发明控制系统的详细框图。
图3是本发明控制系统的简要框图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
下面结合附图以及实施例对本发明的原理进行详细说明。
如图1所示,本发明提出的可实现异步编程的系统是基于消息总线实现其内部消息并发处理的系统,该系统至少包括组件库、场景编辑模块、消息管理模块以及消息总线。
组件库内设有组件,组件可以分为系统组件和自定义组件,系统组件可以是由可实现异步编程的系统的研发人员所提供的比较通用的组件,例如用来读取外界消息的组件,这是实现任意一个控制场景所必不可少的组件,以及常用的加法组件、乘法组件、PID组件等等。但是由于实际控制场景千变万化,为了适应不同的控制场景的需要,该组件库被配置为可添加用户自定义的用于实现对应逻辑运算处理的自定义组件,例如用户可以自定义火警报警组件。若是火警报警组件比较常用,则也可以将火警报警组件作为系统组件。
场景编辑模块是编程技术人员(也是可实现异步编程的系统的用户)的编辑区域,场景编辑模块可供用户选取对应的组件进行组合、设置组件之间的联动控制,实现至少一个用户定义的控制场景,该场景编辑模块可以提供图形化编程的模块,例如将组件图形化,通过拖拽组件,进行组件之间的连线,从而实现一个个控制场景。
消息管理模块与消息供应渠道或消息发布渠道对应设置,其负责搬运对应组件订阅的外界消息、对应组件订阅的其他组件发布的消息以及对应组件所发布的消息。这里所指的消息供应渠道或消息发布渠道可以是供应外界消息的渠道,如与外界硬件设备连接的端口或者是数据缓存模块,消息供应渠道或消息发布渠道也可以是控制场景,控制场景内的组件发布的消息有可能是其他控制场景内的组件或者本控制场景内的组件订阅的消息。
因而,在一个具体实施例中,消息管理模块包括第一消息管理模块和第二消息管理模块。
第一消息管理模块指的是与控制场景一一对应的消息管理模块,每一个控制场景对应设置一个第一消息管理模块,第一消息管理模块负责该控制场景所有组件订阅的消息以及所有组件发布的消息,即第一消息管理模块会从消息总线上搬运对应的控制场景中所有组件订阅的外界消息,以及所有组件订阅的其他组件发布的消息,同时,第一消息管理模块负责将其对应的控制场景所有组件发布的消息搬运到消息总线上。这里所指的其他组件是针对于订阅组件而言,非订阅组件本身的其他组件,同一个控制场景内的组件可能会订阅同一控制场景内的其他组件经过逻辑运算处理后发布的消息,那么对应的第一消息管理模块会将该控制场景内其他组件发布的消息搬运到消息总线上,又从消息总线上为订阅了该消息的组件进行搬运。
第二消息管理模块则是用来将外界消息搬运到消息总线上,第二消息管理模块可以与发布外界消息的硬件设备对应设置,也可以与用来存储外界消息的存储器对应设置。
第一消息管理模块和第二消息管理模块实现原理完全相同,仅仅只是对应的消息渠道不同而已,消息管理模块(第一、第二消息管理模块)包含消息发布单元、消息订阅单元、点位写入单元、点位读取单元。消息发布、订阅单元负责订阅消息总线中与其对应的控制场景相关的消息。同时也负责将对应的控制场景中组件发送的消息、定时器发送的消息发送到消息总线上。点位读取、写入模块负责从消息总线上读取外界消息或者是其他组件发布的消息,以及将控制场景的组件所发布的消息发送到消息总线,通知订阅组件消息变更。
消息总线维持着整个控制器中的所有消息的传递,负责将消息发送到指定的订阅的组件,负责接收所有的控制器中消息的发布,采用队列的方式存储消息队列,本发明利用了消息总线跨进程的通信机制,实现在并行的上下游之间传递消息,消息总线与消息管理模块之间的具体通信原理属于现有技术,消息总线类似于路由器,消息管理模块则类似于每个消息渠道的网卡,基于消息总线以及连接消息总线的所有消息管理模块,从而实现不同控制场景内的不同组件基于消息触发的并行处理,即实现了异步编程过程。
在一个具体实施例中,本发明的组件具有可供用户设置的组件事件管理器,组件事件管理器包括三个部分:判定事件单元、默认执行单元以及消息传递单元。判定事件单元对消息总线所搬运的消息是否属于该组件订阅的消息进行判断,如果判定是该组件订阅的消息,则将消息传递给默认执行单元。默认执行单元将该组件订阅的消息作为输入参数进行相应的逻辑运算处理。消息传递单元将默认执行单元逻辑运算处理后的消息作为该组件发布的消息,通过对应的第一消息管理模块传递至消息总线。当控制场景的消息管理模块将对应订阅的消息发送到相关的组件上,可以在判定事件单元中编写程序,即编写在满足何种条件下才会执行组件的默认执行单元,执行完毕默认执行单元后,如果还需要后续的操作,就可以通过编写消息传递单元进一步将消息发送到消息总线,发给对应的组件继续执行下一步操作。
在一个较优实施例中,场景编辑模块包括与消息总线连接的定时模块,因为时间也可以作为消息的一种,每一个定时模块可被配置成与至少一个组件对应,定时模块根据用户的设置进行时间间隔的统计,并在设置的时间间隔到达后发送对应的消息至消息总线,触发其对应的至少一个所述组件进行逻辑运算处理。定时模块具体包括判定定时器以及消息发送定时器。判定定时器判定是否到设置的时间间隔,若满足条件,将“是否满足”置“是”,“是否满足”标志位可被组件内的逻辑读取。消息发送定时器则是若满足条件,就会发送一条用户自定义的消息到消息总线,从而触发对应的组件内的逻辑运算处理。
本发明基于上述可异步编程的系统进一步提供可编程控制器,也就是说,可编程控制器内设有上述可异步编程的系统,使得用户可以对控制器实现的功能进行定制,满足用户不同场合的使用需求。
可编程控制器除了包含上述可异步编程的系统以外,还包括数据缓存模块、场景管理线程池、线程中断模块。
数据缓存模块与第二消息管理模块连接,在本实施例中,仅需要一个数据缓存模块,因而只需要一个第二消息管理模块,数据缓存模块缓存外界消息,第二消息管理模块维护用于读取外界消息的组件与外界消息的对应关系。数据缓存模块就是一个外界消息渠道,例如用户设置的外界消息可以通过数据缓存模块进行存储,外界的硬件设备发送的外界消息也可以通过数据缓存模块进行存储,一旦硬件设备产生了相应的消息,就可以通过数据缓存模块进行存储,再通过第二消息管理模块搬运到消息总线,避免控制场景中的某一个组件占用控制器IO端口而造成的阻塞。
场景管理线程池为每一个控制场景分配一个独立的线程进行处理,使得不同的控制场景可以并行处理。
每一个控制场景对应设置一个线程中断模块,线程中断模块对对应的控制场景的逻辑运算处理进行中断或重启。
如图2、图3所示,基于上述可编程控制器,本发明还可以实现可并发处理的控制系统,该控制系统具备控制器,以及通过控制器进行控制的至少一个硬件设备,进一步还可以连接一个上位机,用来接收控制器的处理结果或者处理过程中的消息。
在该控制系统中,控制器主要包含协议对接模块、数据缓存模块、消息管理模块、逻辑模块以及数据输出模块。即控制器除了具备上述可编程控制器的功能和模块以外,还可以进一步包括:逻辑启动线程、系统管理模块、逻辑模块以及数据输出模块。
逻辑启动线程对系统管理模块进行初始化,是整个控制器的程序运行的入口。
系统管理模块为每一个控制逻辑分配一个独立的线程以及为各控制器内各组件的定时模块提供统一的计时标准,具体的系统管理模块包括场景管理线程池以及计时器管理者。场景管理线程池可以初始化控制场景,维护控制场景的整个生命周期。基于消息总线的定时器与传统阻塞式的定时器不同,定时器的延迟、记事都要做到非阻塞,定时器管理者维护着所有在组件中声明的定时器,用统一的系统时钟进行时间累计。
逻辑模块则包含至少一个用户所设计的控制逻辑,一个控制逻辑具体包括初始化组件列表控制器、线程中断模块以及消息管理模块(即第一消息管理模块)、组件列表。初始化组件列表控制器负责在该控制场景内创建组件对应的实体。若干个组件进行组态化拼接后形成的对应的逻辑链,逻辑模块管理整个逻辑链的运行。线程中断模块对该控制场景的逻辑运算处理进行中断(暂停)或重启(唤醒)。消息管理模块则负责接收来自消息总线的消息并触发该控制场景内对应的组件进行相应的逻辑运算处理,以及将该控制场景内的组件发布的消息发送给消息组件,组件列表包含了组成该控制逻辑的所有组件。
数据输出模块将逻辑模块的运算结果进行输出,例如输出给上位机,上位机可以显示控制器输出的数据,进行人机交互。
在一个具体实施例中,控制器中各逻辑模块用于读取外界消息的组件为点位组件,点位组件与对应的硬件设备及该硬件设备内用于暂存对应外界消息的寄存器形成一一对应关系。当上位机下发点位变更或则逻辑运行中引起的点位变化,也就是对应的硬件设备及其对应的消息的寄存器地址边锋,第一消息管理模块会将点位通过其消息发布单元发送到消息总线,同时消息会被更新到数据缓存模块,最终通过协议对接模块发送给对应的硬件设备。
在一个较优实施例中,控制器还包括协议对接模块,协议对接模块包含多种通讯协议,因而可以与采用不同通信协议的硬件设备对接,将硬件设备发布的外界消息转化为统一的预设格式的外界消息,从而使得不同通讯协议的外界消息到了控制器内部均是统一的外界消息。
下面描述控制系统的具体运行过程。
将一个或多个硬件设备接入到协议对接模块,本发明的协议对接模块可以实现不同的通讯协议的对接,包括Modbus,bacnet,TCP/IP,MQTT但不限于上述通讯方式,硬件设备连接到控制器后就会主动的将点位数据上报。
接着进行系统初始化,控制器通过逻辑启动线程进行初始化,会将系统管理模块初始化,系统管理模块会先调用场景管理线程池,将每一个控制场景独立的运行在一个线程中并且加入到的线程池管理中。
接着每个控制场景在初始化时,会将自身的所有组件先进行初始化,组件初始化时会将自身需要订阅的消息加入到控制场景的消息管理器,同时将组件中用到的定时器加入到系统管理模块的定时器管理者中。当所有的组件初始化完毕后,控制场景会对应开启一个线程,该线程对该控制场景内的消息管理模块唯一对应,用于启动该控制场景内的消息管理模块,使消息管理模块将所有需要监听的消息进行监听。多个控制场景则会开启多个线程分别对应它们各自的消息管理模块。所有控制场景全部初始化完毕后,开启统一的定时器维护控制系统中所有的定时器记时。
由于每个逻辑模块中都有至少一个组件,也就是说每一个逻辑模块都至少包含一个组件事件管理器,组件事件管理器在接收到控制场景中发送的消息后,先通过判定事件单元进行判定,如果满足编程逻辑,就执行默认执行单元,在执行默认执行单元时可以通过消息传递单元随时将需要发布消息发送到消息总线,当前运行不阻塞,发送到消息总线的消息有独立的线程再转发到对应的订阅组件,这样就形成了并发的调用模式。
控制场景内的每个组件可以订阅多个消息,每个消息又可以被多个组件订阅,而且每个组件就是一个可以独立运行的个体,一个消息可以同时引起多个场景中多个组件同时运行,到达并行的效果。组件对消息的调用是采用异步调用,不必等待组件所有函数运行完毕,就可以继续分配下一个接收到的消息,这样就像是人的中枢神经网络做到了整体调用。
例如火警报警组件设置有多个,每个火警报警组件连接一条火警报警线路,每一条火警报警线路可以对应连接一个烟雾传感器,每个烟雾传感器设置在一个特定的空间内,例如烟雾传感器A设置在房间a内,烟雾传感器B设置在房间b内,现有的控制器仅仅是依次接收烟雾传感器A、B的信号进行处理,使得火警报警组件依次接收信号进行报警,而本发明的火警报警组件基于消息订阅,当烟雾传感器A、B的信号同时到达时,可以同时被对应的火警报警组件收到对应的信号,进而进行报警,实现控制器异步调用的方式。
再例如,多个任务通过定时模块来进行设置,从而使得不同的时间间隔执行对应的任务,由于任务所对应的组件基于消息订阅的方式,因而控制器在内部处理时,无需等到一个任务执行完毕再执行下一个任务,可以多个任务同时进行,实现控制器异步调用的方式。
以一个具体的应用实例为例,初始化过程中,控制场景A需要监听消息M1,M2。
T1时刻,消息M1到达,触发控制场景A中的组件F1进行相应的逻辑运算处理。
T2时刻,消息M2到达,触发控制场景A中的组件F2进行相应的逻辑运算处理。
T3时刻,F1执行完毕。
T4时刻,F2执行完毕。
而上述过程中,组件F1在未执行完毕的时候组件F2就可以执行,实现并行处理,无需等到F1执行完毕后才能执行F2。
本发明还保护计算机存储介质,用于存储计算机程序,该计算机程序运行时实现本发明的可实现异步编程的系统。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种可实现异步编程的系统,其特征在于,包括:
组件库,包括用于读取外界消息的组件以及进行逻辑运算处理的组件;
场景编辑模块,可供用户选取对应的组件进行组合、设置组件之间的联动控制,实现至少一个用户定义的控制场景;
消息管理模块,与消息供应渠道或消息发布渠道对应设置,负责搬运对应组件订阅的外界消息、对应组件订阅的其他组件发布的消息以及对应组件所发布的消息;所述消息管理模块包括:与控制场景一一对应的第一消息管理模块,所述第一消息管理模块负责从消息总线上搬运其对应的控制场景中所有组件订阅的外界消息,以及所有组件订阅的其他组件发布的消息,以及该控制场景所有组件发布的消息;用于将外界消息搬运至消息总线上的第二消息管理模块;
消息总线,连接所有消息管理模块,实现不同控制场景内的不同组件基于消息触发的并行处理;
所述组件具有可供用户设置的组件事件管理器,所述组件事件管理器包括:
判定事件单元,对消息总线所搬运的消息是否属于该组件订阅的消息进行判断,如果判定是该组件订阅的消息,则将消息传递给默认执行单元;
默认执行单元,将该组件订阅的消息作为输入进行相应的逻辑运算处理;
消息传递单元,将所述默认执行单元逻辑运算处理后的消息作为该组件发布的消息传递至所述消息总线。
2.如权利要求1所述的可实现异步编程的系统,其特征在于,所述组件库被配置为可添加用户自定义的用于实现对应逻辑运算处理的自定义组件。
3.如权利要求1所述的可实现异步编程的系统,其特征在于,所述场景编辑模块还包括与消息总线连接的定时模块,每一个定时模块可被配置成与至少一个组件对应,所述定时模块根据用户的设置进行时间间隔的统计,并在设置的时间间隔到达后发送对应的消息至消息总线,触发其对应的至少一个所述组件进行处理。
4.如权利要求1所述的可实现异步编程的系统,其特征在于,所述进行逻辑运算处理的组件包括PID组件、加法组件、乘法组件当中的至少一种。
5.一种可编程控制器,其特征在于,所述可编程控制器内设有如权利要求1至4任意一项所述的可实现异步编程的系统。
6.如权利要求5所述的可编程控制器,其特征在于,还包括与第二消息管理模块连接的数据缓存模块,所述数据缓存模块用于缓存所述外界消息,所述第二消息管理模块维护所述用于读取外界消息的组件与外界消息的对应关系。
7.如权利要求5所述的可编程控制器,其特征在于,还包括场景管理线程池,所述场景管理线程池为每一个控制场景分配一个独立的线程。
8.如权利要求5所述的可编程控制器,其特征在于,还包括线程中断模块,用于对对应的控制场景的逻辑运算处理进行中断或重启。
9.一种可并发处理的控制系统,包括控制器,通过所述控制器进行控制的至少一个硬件设备,其特征在于,所述控制器采用如权利要求5至8任意一项所述的可编程控制器制作而成。
10.如权利要求9所述的控制系统,其特征在于,所述控制器包括:
逻辑启动线程,对系统管理模块进行初始化;
系统管理模块,包含场景管理线程池以及为各控制器内各组件的定时模块提供统一的计时标准的定时器管理者;
逻辑模块,包含至少一个控制逻辑;
数据输出模块,将逻辑模块的运算结果输出。
11.如权利要求9所述的可并发处理的控制系统,其特征在于,所述控制器中各逻辑模块用于读取外界消息的组件为点位组件,所述点位组件与对应的硬件设备及该硬件设备内用于暂存对应外界消息的寄存器形成一一对应关系。
12.如权利要求9所述的可并发处理的控制系统,其特征在于,所述控制器还包括协议对接模块,用于与采用不同通信协议的所述硬件设备对接,将所述硬件设备发布的外界消息转化为统一的预设格式的外界消息。
13.一种计算机存储介质,用于存储计算机程序,其特征在于,所述计算机程序运行时实现如权利要求1至4任意一项所述的可实现异步编程的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110898429.7A CN113641139B (zh) | 2021-08-05 | 2021-08-05 | 可实现异步编程的系统、控制器、控制系统、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110898429.7A CN113641139B (zh) | 2021-08-05 | 2021-08-05 | 可实现异步编程的系统、控制器、控制系统、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641139A CN113641139A (zh) | 2021-11-12 |
CN113641139B true CN113641139B (zh) | 2022-11-25 |
Family
ID=78419759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110898429.7A Active CN113641139B (zh) | 2021-08-05 | 2021-08-05 | 可实现异步编程的系统、控制器、控制系统、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641139B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012081A (en) * | 1996-07-03 | 2000-01-04 | Siemens Aktiengesellschaft | Service and event synchronous/asynchronous manager |
CN101197833A (zh) * | 2006-09-28 | 2008-06-11 | 洛克威尔自动控制技术股份有限公司 | 分布式消息引擎和系统 |
CN105844450A (zh) * | 2011-12-08 | 2016-08-10 | 微软技术许可有限责任公司 | 管理远程事件的技术 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务系统 |
CN111352620A (zh) * | 2020-03-25 | 2020-06-30 | 珠海格力电器股份有限公司 | 可视化组态编程方法及系统 |
WO2020164363A1 (zh) * | 2019-02-15 | 2020-08-20 | 浙江吉利汽车研究院有限公司 | 一种实时消息总线系统及处理装置 |
CN111610765A (zh) * | 2020-05-25 | 2020-09-01 | 珠海格力电器股份有限公司 | 一种集散消息控制装置、方法和楼宇控制系统 |
CN112506915A (zh) * | 2020-10-27 | 2021-03-16 | 百果园技术(新加坡)有限公司 | 一种应用数据的管理系统以及处理方法、装置和服务器 |
CN112602063A (zh) * | 2018-04-27 | 2021-04-02 | 纳斯达克技术股份公司 | 用于应用执行的发布-订阅框架 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826987B (zh) * | 2010-04-27 | 2012-05-02 | 北京邮电大学 | 一种基于融合开放网络的混合服务支撑系统及方法 |
CN102562162B (zh) * | 2011-12-14 | 2014-05-07 | 北京邮电大学 | 一种基于事件处理的煤矿报警系统及方法 |
CN103458033B (zh) * | 2013-09-04 | 2016-05-11 | 北京邮电大学 | 事件驱动、面向服务的物联网服务提供系统及其工作方法 |
CN103944924B (zh) * | 2014-05-15 | 2017-04-19 | 重庆邮电大学 | 一种基于RESTful的泛在网发布订阅中间件模型的方法 |
CN104092767B (zh) * | 2014-07-21 | 2017-06-13 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅系统及其工作方法 |
CN104486440B (zh) * | 2014-12-25 | 2018-03-02 | 浪潮电子信息产业股份有限公司 | 一种基于消息总线的云计算管理软件交互方法 |
US10210115B2 (en) * | 2015-06-02 | 2019-02-19 | Box, Inc. | System for handling event messages for file collaboration |
CN106534107B (zh) * | 2016-11-04 | 2020-05-12 | 北方工业大学 | 一种物联网消息服务系统 |
CN106933989B (zh) * | 2017-02-22 | 2021-01-05 | 深圳云视融通科技有限公司 | 一种网上发布信息系统及方法 |
CN107360030A (zh) * | 2017-07-14 | 2017-11-17 | 陕西科技大学 | 一种dali智能照明扩展系统及扩展方法 |
US20200142985A1 (en) * | 2018-11-07 | 2020-05-07 | ZenDesk, Inc. | Asynchronously publishing events to a message bus in an event-driven computing system |
CN109889455B (zh) * | 2019-02-15 | 2020-09-11 | 浙江吉利汽车研究院有限公司 | 一种实时消息处理装置 |
CN110377413B (zh) * | 2019-07-24 | 2023-03-03 | 上海金融期货信息技术有限公司 | 基于bpmn标准的分布式任务异步调度和监控的系统 |
CN111857585A (zh) * | 2020-07-10 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 存储系统自定义业务功能配置方法、装置、设备及介质 |
-
2021
- 2021-08-05 CN CN202110898429.7A patent/CN113641139B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012081A (en) * | 1996-07-03 | 2000-01-04 | Siemens Aktiengesellschaft | Service and event synchronous/asynchronous manager |
CN101197833A (zh) * | 2006-09-28 | 2008-06-11 | 洛克威尔自动控制技术股份有限公司 | 分布式消息引擎和系统 |
CN105844450A (zh) * | 2011-12-08 | 2016-08-10 | 微软技术许可有限责任公司 | 管理远程事件的技术 |
CN107479990A (zh) * | 2017-08-11 | 2017-12-15 | 恒丰银行股份有限公司 | 一种分布式软件服务系统 |
CN112602063A (zh) * | 2018-04-27 | 2021-04-02 | 纳斯达克技术股份公司 | 用于应用执行的发布-订阅框架 |
WO2020164363A1 (zh) * | 2019-02-15 | 2020-08-20 | 浙江吉利汽车研究院有限公司 | 一种实时消息总线系统及处理装置 |
CN111352620A (zh) * | 2020-03-25 | 2020-06-30 | 珠海格力电器股份有限公司 | 可视化组态编程方法及系统 |
CN111610765A (zh) * | 2020-05-25 | 2020-09-01 | 珠海格力电器股份有限公司 | 一种集散消息控制装置、方法和楼宇控制系统 |
CN112506915A (zh) * | 2020-10-27 | 2021-03-16 | 百果园技术(新加坡)有限公司 | 一种应用数据的管理系统以及处理方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN113641139A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11675734B2 (en) | Loop thread order execution control of a multi-threaded, self-scheduling reconfigurable computing fabric | |
CN112088358B (zh) | 具有线程优先级管理的多线程自调度处理器 | |
US10990392B2 (en) | Efficient loop execution for a multi-threaded, self-scheduling reconfigurable computing fabric | |
US20210224067A1 (en) | Backpressure Control Using a Stop Signal for a Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric | |
JP4637123B2 (ja) | データ処理方法およびデータ処理ユニット、コンフィギュレーション化可能なエレメントのダイナックな再コンフィギュレーション方法、システムおよびプロセス | |
US8112559B2 (en) | Increasing available FIFO space to prevent messaging queue deadlocks in a DMA environment | |
US20230153258A1 (en) | Multi-Threaded, Self-Scheduling Reconfigurable Computing Fabric | |
EP1443392A1 (en) | Data processing system and control method thereof | |
CN110795254A (zh) | 一种基于php处理高并发io的方法 | |
US10877803B2 (en) | Control apparatus, control method and non-transitory storage medium | |
US9258246B2 (en) | Integrated circuit device and methods for performing cut-through forwarding | |
CN107491346A (zh) | 一种应用的任务处理方法、装置及系统 | |
CN113179227B (zh) | 基于队列的at指令控制方法 | |
US11061377B2 (en) | Control device | |
US8631086B2 (en) | Preventing messaging queue deadlocks in a DMA environment | |
US20160173335A1 (en) | Network interface module and a method of changing network configuration parameters within a network device | |
EP2759927B1 (en) | Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof | |
CN113641139B (zh) | 可实现异步编程的系统、控制器、控制系统、存储介质 | |
JP2008146357A (ja) | プログラマブルコントローラ、及びその支援装置 | |
CN116521324B (zh) | 中断虚拟化处理方法、装置及电子设备 | |
US10374981B1 (en) | Data transfer circuitry given multiple source elements | |
CN110955511B (zh) | 执行体及其数据处理方法 | |
US9507654B2 (en) | Data processing system having messaging | |
WO2021179222A1 (zh) | 一种调度装置、调度方法、加速系统及无人机 | |
US20220100503A1 (en) | Overlay Layer Hardware Unit for Network of Processor Cores |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |