工业控制图形化编程环境运行态数据监测系统及方法

文档序号:189889 发布日期:2021-11-02 浏览:22次 >En<

阅读说明:本技术 工业控制图形化编程环境运行态数据监测系统及方法 (Industrial control graphical programming environment operation state data monitoring system and method ) 是由 姚为正 郝俊芳 李跃鹏 康婧婧 刘威鹏 于海 张健 张群 王祺元 杨亚璞 李哲 于 2021-06-25 设计创作,主要内容包括:本发明涉及一种工业控制图形化编程环境运行态数据监测系统及方法,上位机中完成图形化程序搭建,根据所述图形化程序的存储结构,形成内存分配链表,编译后把执行代码及内存分配链表下载到目标机中;目标机创建主线程和背景线程,主线程初始化解释器并周期执行所述执行代码,背景线程负责同上位机交互数据;上位机根据配置信息向对应目标机下发动态监视命令报文;目标机在主线程代码执行周期结束后切换到所述背景线程中接收所述动态监视命令报文,解析命令报文,收集监视数据并把数据组包后发送至上位机,实时动态刷新显示。本发明实现了在程序运行过程中实时动态刷新监视数据,动态刷新监视功能不影响控制程序执行功能。(The invention relates to a system and a method for monitoring running state data of an industrial control graphical programming environment.A graphical program is built in an upper computer, a memory distribution linked list is formed according to a storage structure of the graphical program, and an execution code and the memory distribution linked list are downloaded to a target machine after compiling; the target machine creates a main thread and a background thread, the main thread initializes the interpreter and periodically executes the execution code, and the background thread is responsible for data interaction with the upper computer; the upper computer sends a dynamic monitoring command message to the corresponding target machine according to the configuration information; and the target machine is switched to the background thread to receive the dynamic monitoring command message after the execution period of the main thread code is finished, analyzes the command message, collects monitoring data, packages the data and sends the data to the upper computer, and dynamically refreshes and displays the data in real time. The invention realizes real-time dynamic refreshing of monitoring data in the program running process, and the dynamic refreshing monitoring function does not influence the execution function of the control program.)

工业控制图形化编程环境运行态数据监测系统及方法

技术领域

本发明涉及数据处理技术领域,尤其涉及一种工业控制图形化编程环境运行态数据监测系统及方法。

背景技术

图形化编程相比于传统的编程语言在于图形化编程采用“数据流”的概念,使得程序设计在完成流程图的同时也完成了程序撰写,并且用户不需要熟悉硬件实现以及具体的文本型编程语言的规则,只需要了解每个图形编程组件实现的功能,并根据目标对象的设计需求,将图形化编程组件进行组态、排列和连线锁定,就能完成复杂的应用编程设计,因此简洁直观的图形化编程方式在工业自动化控制领域也越来越受到用户的青睐。

目前大部分的图形化编程软件在编程使用方面已经很成熟,均具备高效的图形化组件编辑功能和防碰撞连线算法,但是在图形化程序的调试、分析、运行等功能方面存在用户无法直接观测图形编程各组件的实时运行态数据,不利于整体软件功能的调试;对于复杂的图形化编程设计,如果只从执行结果来看,并不能有效的帮助用户确定程序执行的正确性;一旦程序执行结果不满足预期要求,很难从设计层面分析出原因;在一些控制领域,程序一旦正常运行后是不允许做修改或者重新编译的,如果此时需要查看部分变量的输出则很难处理。

通用型图形化编程软件,只能从执行结果判断程序是否执行正确。如果执行结果无法达到预期,很难判断是那个环节出了问题。

带有显示组件的图形化编程软件,可以动态查看组件和变量,但是更换要显示的组件时都需要重新编译程序,降低了图形化程序开发效率;并且工业自动化程序运行正常后,往往不允许重新编译。

特殊的调试手段如串口打印、仿真器调试等方法,一般只在前期设计开发中使用,现场运行人员往往不具备这些专业调试技能。

发明内容

针对现有技术中存在的问题,本发明提供一种工业控制图形化编程环境运行态数据监测系统及方法,能够在图形化程序运行态下动态刷新监视数据,并且能同用户交互的软件,极大地提高用户的开发体验以及开发效率。

为达到上述目的,本发明提供了一种工业控制图形化编程环境运行态数据监测方法,包括:

上位机中完成图形化程序搭建,根据所述图形化程序的存储结构,形成内存分配链表,编译后把执行代码及内存分配链表下载到对应执行工业控制的目标机中;

所述目标机根据所述内存分配链表管理内存,创建主线程和背景线程,主线程初始化解释器并周期执行所述执行代码,背景线程负责同上位机交互数据;

所述上位机根据配置信息向对应目标机下发动态监视命令报文;

所述目标机在主线程代码执行周期结束后切换到所述背景线程中接收所述动态监视命令报文,解析命令报文,收集监视数据并把数据组包后发送至上位机;

上位机接收到监视数据后,实时动态刷新显示。

进一步地,根据所述图形化程序的存储结构,形成内存分配链表,包括:

上位机获取图形化程序的存储结构,遍历图形化程序中的树结构,根据树节点形成组件,形成包含每个组件内存分配信息的内存分配链表。

进一步地,内存分配信息包括,组件所在的线程号、线程中执行序号、所在虚拟页号、唯一的数据段段号以及占用的数据空间。

进一步地,所述目标机根据所述内存分配链表管理内存包括:

所述目标机解析所述内存分配链表,根据所述内存分配链表,在内存中逐一为组件分配内存,将数据段段号同所述目标机中的内存地址关联并存入所述内存分配链表,分配内存大小满足数据空间要求。

进一步地,所述上位机根据配置信息下发动态监视命令报文包括:

按照组件在虚拟地图中的位置,按照比例划分虚拟页;

配置虚拟页单页动态监视或者虚拟页多页同时动态监视;

分别对虚拟页中的组件进行统计,将虚拟页数量、每个虚拟页中组件对应的数据段段号进行组合,添加自定义命令帧头,组合成在线监视命令报文并下发到目标机。

进一步地,收集监视数据并把数据组包后上送上位机,包括:

在背景线程中接收动态监视命令报文,根据动态监视命令中的图形化组件数据段段号,由内存分配链表获得内存地址,并读取内存地址中存储的当前的组件数据,将组件数据按虚拟页组合,添加自定义回应帧头,组合成动态监视回应报文上送上位机。

进一步地,上位机收到返回的动态监视回应报文,提取对应虚拟页的监视数据,根据组件属性的数据段段号,逐一加载对应组件的监视数据,并在上位机实时刷新显示。

另一方面提供一种工业控制图形化编程环境运行态数据监测系统,包括上位机及若干执行工业控制的目标机:

所述上位机中完成图形化程序搭建后,根据所述图形化程序的存储结构,形成内存分配链表,编译后把执行代码及内存分配链表下载到目标机中;所述上位机根据配置信息向对应目标机下发动态监视命令报文;接收到目标机发送的监视数据后,实时动态刷新显示;

所述目标机根据所述内存分配链表管理内存,创建主线程和背景线程,主线程初始化解释器并周期执行所述执行代码,背景线程负责同上位机交互数据;在主线程代码执行周期结束后切换到所述背景线程中接收所述动态监视命令报文,解析命令报文,收集监视数据并把数据组包后发送至上位机。

进一步地,上位机根据所述图形化程序的存储结构,形成内存分配链表,包括:

上位机获取图形化程序的存储结构,遍历图形化程序中的树结构,根据树节点形成组件,形成包含每个组件内存分配信息的内存分配链表。

进一步地,内存分配信息包括,组件所在的线程号、线程中执行序号、所在虚拟页号、唯一编号的数据段段号以及占用的数据空间。

进一步地,所述目标机接根据所述内存分配链表管理内存包括:

所述目标机解析所述内存分配链表,根据所述内存分配链表,在内存中逐一为组件分配内存,并将数据段段号同所述目标机中的内存地址关联,并存入所述内存分配链表,分配内存大小满足数据空间要求。

进一步地,所述上位机根据配置信息下发动态监视命令报文包括:

按照组件在虚拟地图中的位置,按照比例划分虚拟页;

配置虚拟页单页动态监视或者虚拟页多页同时动态监视;

分别对虚拟页中的组件进行统计,将虚拟页数量、每个虚拟页中组件对应的数据段段号进行组合,添加自定义命令帧头,组合成在线监视命令报文并下发到目标机。

进一步地,所述目标机收集监视数据并把数据组包后上送上位机,包括:

在背景线程中接收动态监视命令报文,根据动态监视命令中的图形化组件数据段段号,由内存分配链表获得内存地址,并读取内存地址中存储的当前的组件数据,将组件数据按虚拟页组合,添加自定义回应帧头,组合成动态监视回应报文上送上位机。

进一步地,上位机收到返回的动态监视回应报文,提取对应虚拟页的监视数据,根据组件属性的数据段段号,逐一加载对应组件的监视数据,并在上位机实时刷新显示。

本发明的上述技术方案具有如下有益的技术效果:

(1)本发明用户可以自由选择图形化程序区域或者页面进行动态刷新监视,而不是无差别的对所有图形化程序动态刷新监视;能够同时支持多个区域或者多个页面一起监视,方便用户调试、分析。

(2)本发明图形化平台能够在程序运行过程中实时动态刷新监视数据,而不是在程序暂停的情况下查看;图形化平台相关功能模块化设计,不同模块间实现弱耦合,切换图形化程序显示区域或者页面时,无需重新编译程序下载,即动态刷新监视功能不影响控制程序执行功能。

(3)本发明图形化平台使用一种简单的设计方法、编译方法,将程序中不同的图形化组件同目标机中的实际内存数据关联,方便动态刷新监视功能获取对应数据;同时限制上位机和目标机之间的交互数据报文大小,减小通信数据量,提高动态监视功能响应时间。

(4)本发明降低了用户在图形化程序设计与调试过程中的难度;设备运行后,切换监测不同的图形化组件,用户无需修改编译图形化程序,可以通过监视功能随时了解设备的运行状况;用户可以根据需求将显示区域划分,同时监视多个不同组件;监视功能不影响控制程序的执行,实现了控制同监视功能的分离。

附图说明

图1是图形化编程环境运行态数据监测方法流程图;

图2内存分配链表组成示意图;

图3为4个虚拟页显示示意图;

图4为动态监视命令报文示意图;

图5为回应报文组成示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

本发明涉及工业自动化控制技术领域,提出了一种工业控制图形化编程环境运行态数据监测方法,包括上位机、目标机的具体实施方法。结合图1,该方法包括以下步骤:

(1)上位机中完成图形化程序搭建,根据所述图形化程序的存储结构,形成内存分配链表,编译后把执行代码及内存分配链表下载到对应执行工业控制的目标机中。目标机可以为一个也可以为多个。

上位机获取图形化程序的存储结构,遍历图形化程序中的树结构,根据树节点获取组件模型;根据模型参数分配对应的内存大小写入数据空间,记录在内存分配链表中,同时记录此组件所在的线程号、线程中执行序号、所在虚拟页号,并为此组件分配唯一的数据段段号,如图2所示。

目标机具有独立的IP地址,上位机通过IP地址查找目标机,建立联系。

上位机可以每次监控一台目标机,也可以监控多台目标机,进行显示切换,获取目标机的实时动态数据。

(2)所述目标机根据所述内存分配链表管理内存,创建主线程和背景线程,主线程初始化解释器并周期执行所述执行代码,背景线程负责同上位机交互数据。

目标机中运行嵌入式操作系统,通过以太网接收上位机编译的执行代码。接收执行代码后,目标机解析内存分配链表,并根据内存分配链表,在内存中逐一对图形化组件分配内存,并将组件属性中的数据段段号同实际内存地址关联,存入所述内存分配链表,更新数据空间的内容。可以通过唯一的数据段段号查找内存分配链表,获得内存地址读取数据,最终满足目标机对内存的管理与操作。

在其他功能模块初始化操作完成后,创建主线程和背景线程,主线程负责初始化加载解释器、管理程序数据,并高效周期执行代码满足控制系统的实时要求,背景线程负责同上位机交互数据。

(3)所述上位机根据配置信息向对应目标机下发动态监视命令报文。

上位机在显示图形化组件时,会按照组件在虚拟地图中的位置,按照比例划分虚拟页。用户根据需求在上位机选择虚拟页单页动态监视或者虚拟页多页同时动态监视配置,如图3所示。配置完成后上位机会分别对虚拟页中的组件进行统计,将虚拟页数量、每个虚拟页中组件对应的数据段段号进行组合,加上自定义命令帧头,组合成在线监视命令报文并通过以太网下发到目标机,如图4所示。

(4)所述目标机在主线程代码执行周期结束后切换到所述背景线程中接收所述动态监视命令报文,解析命令报文,收集监视数据并把数据组包后发送至上位机。

目标机在主线程代码执行周期结束,线程调度切换到背景线程,在背景线程中接收动态监视命令报文,根据动态监视命令中的图形化组件数据段段号,查找内存分配链表中记录的内存地址,并读取当前的组件数据,将组件数据按虚拟页组合,加上自定义回应帧头,组合成动态监视回应报文上送上位机,如图5所示。

(5)上位机接收到监视数据后,实时动态刷新显示。

上位机收到目标机返回的动态监视数据报文,提取对应虚拟页的数据,根据组件属性的数据段段号,逐一加载对应组件的数据,并在上位机实时刷新显示。

另一方面提供一种工业控制图形化编程环境运行态数据监测系统,包括上位机及若干执行工业控制的目标机:

所述上位机中完成图形化程序搭建后,根据所述图形化程序的存储结构,形成内存分配链表,编译后把执行代码及内存分配链表下载到目标机中;所述上位机根据配置信息向对应目标机下发动态监视命令报文;接收到目标机发送的监视数据后,实时动态刷新显示;

所述目标机根据所述内存分配链表管理内存,创建主线程和背景线程,主线程初始化解释器并周期执行所述执行代码,背景线程负责同上位机交互数据;在主线程代码执行周期结束后切换到所述背景线程中接收所述动态监视命令报文,解析命令报文,收集监视数据并把数据组包后发送至上位机。

进一步地,上位机根据所述图形化程序的存储结构,形成内存分配链表,包括:

上位机获取图形化程序的存储结构,遍历图形化程序中的树结构,根据树节点形成组件,形成包含每个组件内存分配信息的内存分配链表。

进一步地,内存分配信息包括,组件所在的线程号、线程中执行序号、所在虚拟页号、唯一编号的数据段段号以及占用的数据空间。

进一步地,所述目标机接根据所述内存分配链表管理内存包括:

所述目标机解析所述内存分配链表,根据所述内存分配链表,在内存中逐一为组件分配内存,并将数据段段号同所述目标机中的内存地址关联,并存入所述内存分配链表,分配内存大小满足数据空间要求。

进一步地,所述上位机根据配置信息下发动态监视命令报文包括:

按照组件在虚拟地图中的位置,按照比例划分虚拟页;

配置虚拟页单页动态监视或者虚拟页多页同时动态监视;

分别对虚拟页中的组件进行统计,将虚拟页数量、每个虚拟页中组件对应的数据段段号进行组合,添加自定义命令帧头,组合成在线监视命令报文并下发到目标机。

进一步地,所述目标机收集监视数据并把数据组包后上送上位机,包括:

在背景线程中接收动态监视命令报文,根据动态监视命令中的图形化组件数据段段号,由内存分配链表获得内存地址,并读取内存地址中存储的当前的组件数据,将组件数据按虚拟页组合,添加自定义回应帧头,组合成动态监视回应报文上送上位机。

进一步地,上位机收到返回的动态监视回应报文,提取对应虚拟页的监视数据,根据组件属性的数据段段号,逐一加载对应组件的监视数据,并在上位机实时刷新显示。

综上所述,本发明涉及一种工业控制用图形化编程环境运行态数据监测系统及方法,上位机中完成图形化程序搭建,根据所述图形化程序的存储结构,形成内存分配链表,编译后把执行代码及内存分配链表下载到目标机中;目标机创建主线程和背景线程,主线程初始化解释器并周期执行所述执行代码,背景线程负责同上位机交互数据;上位机根据配置信息向对应目标机下发动态监视命令报文;目标机在主线程代码执行周期结束后切换到所述背景线程中接收所述动态监视命令报文,解析命令报文,收集监视数据并把数据组包后发送至上位机,实时动态刷新显示。本发明实现了在程序运行过程中实时动态刷新监视数据,动态刷新监视功能不影响控制程序执行功能。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种应用程序模板的构建方法及其设备、存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!