买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于AOE网络和事件驱动的低代码工业控制方法_杭州极简物控科技有限公司_202110979891.X 

申请/专利权人:杭州极简物控科技有限公司

申请日:2021-08-25

公开(公告)日:2024-04-23

公开(公告)号:CN113709233B

主分类号:H04L67/125

分类号:H04L67/125;H04L12/40;H04L67/30

优先权:

专利状态码:有效-授权

法律状态:2024.04.23#授权;2021.12.14#实质审查的生效;2021.11.26#公开

摘要:本发明提供一种基于AOE网络和事件驱动的低代码工业控制方法,该方法包括以下步骤:1设计基于事件驱动的控制策略;2构建AOE网络;3利用AOE网络配置文件定义AOE网络的基本信息、变量、事件和动作,从而描述步骤2中构建的AOE网络及步骤1中设计的控制策略;4测点配置文件和通道配置文件的编写;5AOE网络的解析与执行。本发明方法采用低代码方式表达控制策略,简化开发流程:事件驱动能减少不必要计算资源和通信资源的浪费、更容易实现数字控制和多线程控制;设计完整的AOE和事件驱动控制策略执行框架,能够适应具备高度不确定性的环境。

主权项:1.一种基于AOE网络和事件驱动的低代码工业控制方法,其特征在于,包括以下步骤:1设计基于事件驱动的控制策略;2构建AOE网络;3利用AOE网络配置文件定义AOE网络的基本信息、变量、事件和动作,从而描述步骤2中构建的AOE网络及步骤1中设计的控制策略;其中,文件配置按照标准化格式,以表格信息录入的方式来完成,不需要编写代码;AOE网络基本信息包括AOE网络的ID、是否启用网络标志、AOE网络的名称、AOE网络的触发条件、AOE网络的触发条件参数、变量初始值;所述的变量指控制算法执行过程中用到的中间量;所述的事件指由测点和变量计算构成的布尔表达式;动作指策略中的无动作、计算、指令下发行为;测点指在配置文件中通过属性进行描述的、用来记录实际设备非连续量的测量点;4测点配置文件和通道配置文件的编写;所述测点配置文件的编写是将描述一个测点所需要的属性列举出来;所述通道配置文件用于描述控制器与被控对象的通信方式,并依据测点配置文件中的测点属性,给出保存测点值的寄存器信息和地址;5AOE网络的解析与执行解析AOE网络配置文件、通道配置文件和测点配置文件,将这些文件所描述的控制策略应用于实际工业控制场景中即可实现工业控制;所述的步骤1具体包括以下步骤:101预先设定所需测点,并定义所需变量,设定变量的初始值;102将控制策略按照执行的先后顺序划分为若干个动作,所述动作类型为:None,表示无动作;SetPoints,表示设点,设点动作既可以进行变量的定义,也可以把数字量或者模拟量设置给测点;Solve,表示线性方程组求解;Milp,表示稀疏混合整数线性规划问题求解;SimpleMilp,表示稠密描述的混合整数线性规划问题求解;Nlp,表示非线性规划问题求解;103确定每个动作开始执行时需要满足的事件条件和前驱动作;104确定每个动作执行完成的事件条件、事件的超时时间,以及执行失败后需要采取的措施;其中,执行完成的事件条件指动作执行后某些变量或者测点需要满足的条件;事件的超时时间指动作执行后,等待事件发生的最长时间;执行失败后需要采取的措施指动作执行失败后可以选择的几种处理措施,包括:尝试重新执行失败的动作、忽略本次失败并不影响其它动作、停止受到影响的动作、停止本次控制策略的执行;所述的步骤2具体为:确定每个动作的顺序以及动作发生、完成的事件后,用节点表示事件,事件发生导致被执行的动作作为从这个节点出发的有向边,每条有向边指向的节点表示动作完成后需要满足的事件;按照上述逻辑组织所有的节点和边,构成AOE网络拓扑;所述的步骤3具体包括以下步骤:301AOE网络基本信息的低代码表达;所述AOE网络的ID用正整数表示;是否启用网络标识用布尔值表示;AOE网络的名称用字符串表示;AOE网络的触发条件用简单重复驱动、时间驱动和事件驱动三者之一表示;AOE网络的触发条件参数根据触发条件不同而表示不同的含义:触发条件为简单重复驱动时,触发条件参数为重复驱动之间的时间间隔,用正整数表示,单位为ms;触发条件为时间驱动时,触发条件参数表示执行计划,用cron字符串表示;触发条件为事件驱动时,触发条件参数缺省;变量初始值用字符串和浮点数表示,分别表示变量名和该变量的初始值;302变量的低代码表示;所述的变量包括AOE网络ID以及该变量的定义;AOE网络ID用于指明该变量生效的AOE网络,单个变量可以在多个AOE网络中生效;变量的定义包含变量名称和变量的表达式,变量的表达式中可以使用测点值、变量和常数;303事件的低代码表示;事件包括节点所在的AOE网络、节点ID、节点名称、节点类型、超时时间、事件表达式;节点所在的AOE网络用301中定义的AOE网络的ID表示;节点ID用正整数表示;节点名称用字符串表示;节点类型用普通节点或分支节点二者之一表示,其中普通节点指在节点事件触发后,以该节点为起点的所有动作都会被执行,而分支节点为二分支节点,根据事件是否发生选择后续两个动作之一执行;超时时间用正整数表示,含义是事件发生的最长等待时间ms;事件表达式用布尔表达式表示;304动作的低代码表示;动作包括所在的AOE网络、首尾节点ID、动作名称、失败模式、动作类型、动作参数;所在的AOE网络用301中定义的AOE网络的ID表示;首尾节点ID用一对正整数表示,含义分别是这条边的起点和终点,用303中定义的节点ID表示;失败模式用重新执行失败的动作、忽略本次失败并不影响其它动作、停止受到影响的动作和停止整个控制策略四者之一表示;动作参数根据动作类型不同而表示不同的含义:动作类型为无动作时,动作参数缺省;动作类型为设点时,动作参数包括字符串和表达式,其中字符串表示变量或测点名称,表达式表示变量定义式或者测点被设置的值;动作类型为线性方程组求解、稀疏混合整数线性规划问题求解、稠密描述的混合整数线性规划问题求解和非线性规划问题求解时,动作参数为描述对应的数学模型的字符串;所述的步骤4具体包括以下步骤:401测点配置文件编写;所述测点配置文件包括所有测点的序号、点号、名称、别名、是否离散、是否计算点、默认值和备注;序号用正整数表示,从1开始连续对测点进行编号;点号用正整数表示;名称用字符串表示;别名用字符串表示,用于测点的调用,仅包含字母;是否离散用布尔值表示;是否计算点用布尔值表示;默认值用浮点数表示;402通道配置文件的编写;所述的通道配置文件包括通信方式配置和测点寄存器配置两部分,支持Modbus、IEC104、MQTT、串口作为通信方式,通信方式配置根据采用通信协议的类型而包含不同的信息;采用Modbus通信,通信方式配置包括客户端IP\服务端IP、客户端端口\服务端端口、slaveid、通信协议;采用IEC104通信,通信方式配置包括主站地址、从站地址、端口号;采用MQTT通信,通信方式配置包括服务器地址、服务器端口、订阅主题、推送主题;采用串口通信,通信方式配置包括端口号、波特率、校验位、数据位、停止位;测点寄存器配置用于给出存储测点数据的地址信息,包括序号、寄存器类型、起始地址、数据类型、新请求标志、轮询周期、点号;步骤402中,采用Modbus通信时,所述通道配置文件具体包括:通道名称、连接个数、服务端口、连接名称、测点个数、客户端IP、客户端端口、slaveid、通信协议、一次读寄存器数上限、一次读开关数上限、一次写寄存器数上限、一次写开关数上限、默认轮询周期、超时时间、通道状态测点号、序号、寄存器类型、起始地址、数据类型、新请求标志、轮询周期、点号;所述通道名称用字符串表示;连接个数用正整数表示;服务端口用正整数表示;连接名称用字符串表示;测点个数用正整数表示;客户端IP用字符串表示,格式为IPv4地址格式;客户端端口为正整数;通信协议为XA或ENCAP,其中XA表示Modbustcp协议;ENCAP是最原始的Modbusrtu;一次读寄存器数上限、一次读开关数上限、一次写寄存器数上限和一次写开关数上限均采用正整数表示;默认轮询周期和超时用正整数表示;通道状态测点号用正整数表示;序号用正整数表示,从1开始连续对测点进行编号;寄存器类型用COILS、DISCRETE、HOLDING和INPUT四者之一表示,其中COILS表示线圈寄存器,表示寄存器的单位是一位数据,类型为开关量,可进行读写;DISCRETE表示离散输入寄存器,只能读取开关量;HOLDING表示保持寄存器,该寄存器的单位是两个byte,可用于存放具体的数据量并且是可读写的;INPUT表示输入寄存器,该寄存器的单位是两个byte,只能读取保持寄存器数据;起始地址用正整数表示,根据数据类型确定测点的地址偏移;数据类型用约定的类型声明表示;新请求标志用布尔值表示;轮询周期用正整数表示,单位为ms;点号用正整数表示;所述的步骤5具体包括以下步骤:501将AOE网络配置文件解析后得到的策略保存为一个AOE向量,所述AOE向量包含一个或多个AOE网络;502对测点配置文件和通道配置文件进行解析,用于分配存放测点数据的内存空间,并按照通道配置文件中声明的通信方式建立通信连接;503根据解析得到的AOE网络的触发条件决定控制策略的启动,采用简单重复驱动和时间驱动的AOE网络按照AOE网络配置文件中定义的AOE网络的触发条件参数执行;而对于采用事件驱动的AOE网络,将首节点的事件条件作为整个AOE网络是否被触发的条件,所述首节点表示AOE网络中入度为0的节点;504根据测点配置文件里的属性和起始地址,监测测点值的变动;当测点值发生变动并引起首节点事件触发后,AOE网络启动并执行控制;505AOE网络从当前拓扑排序队列中弹出一个队首节点,等待直到队首节点的事件发生或者超时;所述队首节点指当前拓扑排序队列当中排在最前面的节点;506当弹出的节点的事件发生超时,若超时不是收到外部的AOE取消指令或者失败,回到步骤505;507当节点事件发生时,执行该事件触发的所有动作,即AOE网络中以该节点为首节点的所有边上的动作被执行,并等待动作执行的返回结果,对于结果不成功的动作,根据每个动作的失败模式采取忽略、重试、停止受影响的节点、停止AOE执行的措施;508当动作全部执行完毕后,若拓扑排序队列不为空,则返回步骤505,否则说明节点已全部弹出,AOE网络执行完毕,控制过程结束。

全文数据:

权利要求:

百度查询: 杭州极简物控科技有限公司 基于AOE网络和事件驱动的低代码工业控制方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。