一种在线编辑即时生效的逻辑组态方法与流程

文档序号:11261828阅读:616来源:国知局
一种在线编辑即时生效的逻辑组态方法与流程

本发明属于图形化编程领域,具体涉及一种图形化程序页面的在线编辑且即时生效的方法。



背景技术:

图形化编程由于直观、易于理解、操作方便,已经在嵌入式装置程序开发中进行了应用。当前的图形化编程分为离线编辑、在线调试2个环节,即在客户端软件打开页面,进行编辑后,形成相关产物,下载到运行环境,然后进行在线调试,对于页面逻辑搭建是否正确,不能立即进行互动校验判断。而在工业过程控制领域,迫切需要连接上装置后,进行在线编程且能立即生效,在旁置跳闸出口的情况下,当新建删除符号、数据连线后,能够立即在页面上查看到数据值和效果,便于编程人员立即判断编程逻辑是否达到预期,从而增量式的修改和调试,需要一种在线编辑且即时生效的方法,本案由此产生。

目前,有的图形化编程工具实现了在线编辑的功能,但其需要用户手动选择下载操作,且下载的是整个图形化程序页面,甚至是整个应用程序。不仅操作繁琐不够流畅,而且可能给运行环境中的未修改程序带来额外扰动。



技术实现要素:

本发明的目的,在于提供一种图形化程序页面的在线编辑即时生效的方法,满足工业控制领域实时编辑调试的需求,实现所见即所得的功能。为了达成上述目的,本发明的解决方案是:

一种在线编辑即时生效的逻辑组态方法,包括如下步骤:

步骤1,客户端与装置建立通讯连接,并确认当前待编辑的图形化程序页面和运行环境中对应的图形化程序页面是否一致,若不一致,则进行同步;

步骤2,客户端获取当前页面中鼠标和键盘事件,分析出各种编辑操作,并形成报文下发给运行环境;

步骤3,运行环境解析各种编辑操作报文,即时调整页面数据区、数据连接关系和运行函数队列;

步骤4,运行环境周期上送当前编辑页面的数据区运行值,客户端在符号输入输出管脚、连接线上实时显示运行值;

步骤5,客户端和装置断开连接前,可选下发保存报文,运行环境将内存中的图形化程序页面保存为文件。

所述步骤1中,客户端通过报文通讯,比较待编辑图形化程序页面和运行环境中对应的图形化程序页面的循环冗余校验码值,确认是否一致。

所述步骤1中,运行环境包括嵌入式实时运行环境、pc机虚拟仿真运行环境,支持管理运行多个等级的任务,每个任务运行多个图形化程序页面。

所述步骤2中,通过获取待编辑页面中鼠标的单击、双击、释放事件和键盘事件,提取图形化符号的新建和删除动作、连接线的新建和删除动作、连接关系修改动作、符号属性修改动作,并生成不同种类的编辑操作报文,即时下发给运行环境。

所述步骤3中,运行环境解析新建符号报文,获取符号类型、实例名;根据符号类型从内置的符号程序库中获取其数据结构模板和功能函数指针,并在图形化程序页面的内存数据区中顺序查找大小匹配的空闲区域,分配该符号的数据区;若空闲区域空间不足,则在内存数据区的末尾创建分配;将该符号对应的函数指针、实例名和数据区地址信息添加到运行函数队列,以便实时运算任务运行调用。

所述步骤3中,运行环境解析删除符号报文,获取符号类型、实例名;根据实例名,在图形化程序页面的内存数据区中查找对应的符号数据区,并置为空闲状态;从运行函数队列中删除该符号的功能函数。

所述步骤3中,运行环境解析新建连接线报文,获取连接线源端对应的符号实例名和输出变量名、目的端对应的符号实例名和输入变量名,查找对应变量的内存区域,将目的端对应变量的引用地址设置为源端对应变量的地址,目的端符号的功能函数运行时,利用该引用地址获取源端变量的实时值参与运算。

所述步骤3中,运行环境解析删除连接线报文,获取连接线源端对应的符号实例名和输出变量名、目的端对应的符号实例名和输入变量名,查找到对应变量的内存区域,将目的端对应变量的引用地址设置为空,目的符号的功能函数运行时,利用该输入变量的默认值参与运算。

所述步骤3中,运行环境解析连接关系修改报文,即修改连接线源端、目的端的报文,转换为新建连接线、删除连接线的报文处理。

所述步骤3中,运行环境解析修改符号属性的报文,即修改符号的实例名、修改符号变量值;根据符号的旧实例名,查找到运行函数队列,将其中旧实例名修改为新实例名;对于修改符号变量值,根据符号实例名和变量名查找对应变量内存区,并写入新值。

采用上述方案后,客户端进行在线编辑逻辑组态时,只需要1-2个运行周期的时间,即可完成下发到运行环境并即时生效,同时将生效后的实时数据回传至客户端即时显示的过程;实现了在线编辑所见即所得的组态效果。同时由于仅下发编辑操作相关的符号和连线等信息,对运行环境中的图形化程序影响最小,从根本上达到无扰的效果。本发明在工业控制的应用开发中进行了应用,提高了在线编辑调试的效率。

附图说明

图1是本发明中在线编辑即时生效流程图;

图2是本发明中新建、删除符号时数据区处理示意图;

图3是本发明中新建、删除符号时运行函数队列处理示意图;

图4是本发明中新建、删除连接线时处理示意图。

具体实施方式

以下将结合附图,对本发明的技术方案进行详细说明。

如图1所示,其实现步骤如下:

(1)客户端与装置建立通讯连接,并确认当前待编辑的图形化程序页面和运行环境中对应的图形化程序页面是否一致,若不一致,则进行同步。客户端通过报文比较待编辑图形化程序页面和运行环境中对应的图形化程序页面的crc值,确认是否一致。如若不一致,可选择下载或上装,实现同步,确保一致。

(2)客户端获取当前页面中鼠标和键盘事件,分析出各种编辑操作,并形成报文下发给运行环境。通过获取待编辑页面中鼠标的单击、双击、释放事件和键盘事件,形成图形化符号的新建和删除动作、连接线的新建和删除动作、连接关系修改动作、符号属性修改动作,将上述编辑动作生成不同种类的编辑操作报文,即时下发给运行环境。

(3)运行环境根据如下详细步骤解析编辑操作报文,即时调整页面数据区、数据连接关系和运行队列。

(3.1)解析新建符号报文,运行环境的内存区处理示意如图2所示,运行环境的运行函数队列处理示意如图3所示。首先获取符号类型、实例名;根据符号类型从内置的符号程序库中获取其数据结构模板和功能函数指针,并在图形化程序页面的内存数据区中顺序查找大小匹配的空闲区域,分配该符号的数据区;若空闲区域空间不足,则在内存数据区的末尾创建分配;将该符号对应的函数指针、实例名和数据区地址信息添加到运行函数队列,以便实时运算任务运行调用。

(3.2)解析删除符号报文,获取符号类型、实例名;根据实例名,在图形化程序页面的内存数据区中查找对应的符号数据区,并置为空闲状态;若相邻的区域为空间状态,则进行合并;从运行函数队列中删除该符号的功能函数。

(3.3)解析新建连接线报文,客户端和运行环境的处理同步如图4所示。首先获取连接线源端对应的符号实例名和输出变量名、目的端对应的符号实例名和输入变量名,查找对应变量的内存区域,将目的端对应变量的引用地址设置为源端对应变量的地址,目的端符号的功能函数运行时,利用该引用地址获取源端变量的实时值参与运算。

(3.4)解析删除连接线报文,获取连接线源端对应的符号实例名和输出变量名、目的端对应的符号实例名和输入变量名,查找到对应变量的内存区域,将目的端对应变量的引用地址设置为空,目的符号的功能函数运行时,利用该输入变量的默认值参与运算。

(3.5)解析连接关系修改报文,即修改连接线源端、目的端的报文,转换为新建连接线、删除连接线的报文处理。

(3.6)解析修改符号属性的报文,即修改符号的实例名、修改符号变量值;根据符号的旧实例名,查找到运行函数队列,将其中旧实例名修改为新实例名;对于修改符号变量值,根据符号实例名和变量名查找对应变量内存区,并写入新值。

(4)运行环境周期上送当前编辑页面的数据区运行值,客户端在符号输入输出管脚、连接线上实时显示运行值。

(5)客户端和装置断开连接前,可选下发保存报文,运行环境将内存中的图形化程序页面保存为文件。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1