一种程序组态方法和系统技术方案

技术编号:33728586 阅读:95 留言:0更新日期:2022-06-08 21:23
本发明专利技术公开了一种程序组态方法,通过数据类型定义、全局变量声明、IO映射配置、程序功能定义、任务配置、录波配置、编译排错、下载运行的过程完成可编程控制器的程序组态。同时,本发明专利技术还公开一种程序组态系统,包括软件主框架、工程管理树子系统、数据类型定义子系统、全局变量定义子系统、IO配置子系统、程序组织单元子系统、任务配置子系统、录波配置子系统、编译子系统和下载调试子系统。本发明专利技术通过合理地展示树形操作节点,支持实时变量索引和调用树分析,支持程序封装复用,提升编辑效率。提升编辑效率。提升编辑效率。

【技术实现步骤摘要】
一种程序组态方法和系统


[0001]本专利技术属于嵌入式控制器领域,具体涉及控制器数据和程序的组态方法。

技术介绍

[0002]IEC61131将信息
的先进思想和技术引入到工业控制领域,弥补了传统PLC、DCS控制系统可维护性差、开放性差、兼容性差等不足,当前基于IEC61131标准的产品已经在工业领域中使用。目前,市面上的组态软件由于过于强调通用性,存在功能庞杂,操作过程繁琐难于理解的弊端。此外,在高实时性、高复杂度应用场景,基于IEC61131

3结构化文本编程或图形化编程的效率或灵活性无法满足要求,需要嵌入C/C++语言实现部分功能。因此在支持IEC61131

3的5种语言基础上,需要简化组态操作场景,支持自定义库封装,支持C/C++编程,本专利技术由此产生。

技术实现思路

[0003]本专利技术的目的是采用模板和向导的方式,简化程序组态过程,支持自定义库封装复用和IEC61131

3语言、C/C++混合编程。
[0004]一种程序组态方法,包括如下步骤:第一步:导入系统或用户预定义数据类型和编程符号库;第二步:自定义枚举、数组、结构体和类数据类型;第三步:声明全局变量,引用基本数据类型、预定义和自定义数据类型;第四步:创建若干硬件,设置硬件通道对应变量信息;第五步:定义程序组织单元,按照层级目录创建若干程序、功能块和函数,程序输入输出变量关联全局变量;第六步:配置任务,在各个子任务节点下关联程序组织单元;第七步:可选配置录波监视变量;第八步:保存工程,编译程序,下载编译产物到控制器运行。
[0005]进一步地,上述第一步中,用户预定义的数据类型和编程符号库通过步骤一、步骤二、步骤三、步骤五组合实现,可封装导出为用户库文件;新的工程支持导入若干用户库文件进行复用。
[0006]进一步地,上述第二步和第三步中,支持结构体多层级实例化子结构体、数组;支持数组成员为结构体实例。数组成员若存在连续多个变量初始值相同,则采用压缩方式存储,记录当前下标、初始值相同的连续个数、初始值。
[0007]进一步地,上述第四步中,导入硬件描述文件,设置槽号,根据描述文件中输入输出通道信息,自动形成通道地址和默认变量名,支持修改变量名,读写硬件IO数据作为特殊的程序,可关联某个任务,在不同周期的任务中执行。
[0008]进一步地,上述第五步中,程序组织单元(POU)支持使用IEC61131

3标准定义的5种语言(指令表IL、结构化文本ST、功能块图FBD、梯形图LD、顺序功能图SFC),也支持使用C/
C++语言定义。按照程序Program、功能块FunctionBlock、函数Function分类,在程序中可实例化功能块,并调用子程序、功能块、函数。在程序中可直接访问全局变量、硬件IO变量。启动后台分析线程,即时分析变量引用和子程序调用关系,刷新变量交叉索引表和层次调用树,被调用、未调用的程序节点显示不同颜色。
[0009]进一步地,上述第六步中,支持实例化创建多级中断任务、周期执行任务、循环执行任务、事件/状态触发任务,事件触发任务关联系统预定义的事件编号,状态触发任务关联全局变量和程序组织单元变量。
[0010]进一步地,上述第七步中,支持配置多组不同周期的录波变量,每组录波监视作为特殊的程序,可关联到不同的任务中执行。在线联机状态下,控制器抓取缓存一定周期变量值,打包上送到组态软件,组态软件可缓存长周期变量值,显示变量变化趋势,并可导出为数据文件、图形文件。
[0011]进一步地,上述第八步中,未被实例化的数据类型、未被调用的程序、功能块、函数不参与编译。
[0012]进一步地,上述第一步中,系统预定义的数据类型包括IEC61131

3标准的时间、日期、字符串、文件、串口和网络数据通信结构体,系统预定义的符号库包括IEC61131

3标准定义的算术运算、逻辑运算、比较运算、双稳态运算、边沿触发器、数据类型转换函数和功能块,所述功能块包括文件操作、数据收发、指针操作、内存操作功能块。
[0013]一种程序组态系统,包括软件主框架、工程管理树子系统、数据类型定义子系统、全局变量定义子系统、IO配置子系统、程序组织单元子系统、任务配置子系统、录波配置子系统、编译子系统、下载调试子系统。
[0014]所述软件主框架,是程序组态软件的框架界面,显示软件主窗体,包括标题栏、状态栏、左/右/下停靠窗体区域、状态栏、中心窗体视图区域,采用组件方式加载各个子系统。
[0015]所述工程管理树子系统,是层次树结构,用于显示程序工程节点或用户库工程节点,程序工程节点包括若干控制器节点,控制器节点可创建若干子节点对象,默认显示数据类型子节点、全局变量子节点、IO配置子节点、程序组织单元子节点、录波配置子节点,在控制器节点右键菜单可触发编译、下载、调试等操作。用户库工程用于编辑封装用户自定义库,显示数据类型子节点、全局变量子节点、程序组织单元子节点,支持开发功能块和函数。
[0016]所述的数据类型定义子系统,支持创建枚举、数组、结构体数据类型。数组成员支持基本变量类型、指针变量类型、结构体变量类型。结构体成员支持基本变量类型、指针变量类型、子结构体变量类型、数组类型。优选地,枚举和数组采用表格显示,结构体采用层次树显示。
[0017]所述全局变量定义子系统,支持创建多级目录,分组管理变量,每个分组支持实例化基本变量、数组变量、结构体变量。全局变量包括变量名、变量类型、地址、初始值、运行值、强制值、描述属性。支持批量新建、删除、复制、粘贴、查找和替换变量功能。全局变量和数据区的某个相对地址关联,根据变量类型和对齐原则,自动分配相对地址并显示。
[0018]所述IO配置子系统,导入硬件描述文件,设置槽号,根据描述文件中输入输出通道信息,自动形成通道地址和默认变量名,支持修改变量名,IO整组数据读写可关联到某个任务下执行。
[0019]所述程序组织单元子系统,支持创建多级目录和程序组织单元(程序、功能块、功
能),程序和功能块包括输入变量、输出变量、中间变量。函数包括输入变量和返回值。程序中的输入变量和输出变量可直接通过填写地址的方式关联全局变量和IO变量,实现形参调用,也支持在程序代码体中直接读写全局变量和IO变量。程序的设计语言包括IEC61131

3标准定义的5种语言(指令表IL、结构化文本ST、功能块图FBD、梯形图LD、顺序功能图SFC),也支持使用C/C++语言定义。程序组织单元子系统有实时数据处理子线程,用于刷新程序变量和全局变量、IO变量之间的交叉引用关系,变量交互引用信息显示在底部交叉索引信息栏。
[0020]所述任务配置子系统,用于创建中断任务、周期任务、循环任务、事件触发或状态触发任务。每种任务下可关联程序、功能块,表示该任务下调用实例化的程序和功能块。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序组态方法,其特征在于,包括如下步骤:第一步:导入系统或用户预定义数据类型和编程符号库;第二步:自定义枚举、数组、结构体和类数据类型;第三步:声明全局变量,引用基本数据类型、预定义和自定义数据类型;第四步:创建若干硬件,设置硬件通道对应变量信息;第五步:定义程序组织单元,按照层级目录创建若干程序、功能块和函数,程序输入输出变量关联全局变量;第六步:配置任务,在各个子任务节点下关联程序组织单元;第七步:可选配置录波监视变量;第八步:保存工程,编译程序,下载编译产物到控制器运行。2.如权利要求1所述一种程序组态方法,其特征在于,所述第一步中,用户预定义的数据类型和编程符号库通过封装导出为用户库文件;新的工程支持导入若干用户库文件进行复用。3.如权利要求1所述一种程序组态方法,其特征在于,所述第二步和第三步中,支持结构体多层级实例化子结构体和数组;支持数组成员为结构体实例;数组成员若存在连续多个变量初始值相同,则采用压缩方式存储,记录当前下标及初始值相同的连续个数和初始值。4.如权利要求1所述一种程序组态方法,其特征在于,所述第四步中,导入硬件描述文件,设置槽号,根据描述文件中输入输出通道信息,自动形成通道地址和默认变量名,支持修改变量名,读写硬件IO数据作为特殊的程序,能够关联某个任务,在不同周期的任务中执行。5.如权利要求1所述一种程序组态方法,其特征在于,所述第五步中,程序组织单元支持使用IEC61131

3标准定义语言,也支持使用C/C++语言定义;按照程序、功能块和函数分类,在程序中能够实例化功能块,并调用子程序、功能块和函数;在程序中能够直接访问全局变量和硬件IO变量;启动后台分析线程,即时分析变量引用和子程序调用关系,刷新变量交叉索引表和层次调用树,被调用和未调用的程序节点显示不同颜色。6.如权利要求1所述一种程序组态方法,其特征在于,所述第六步中,支持实例化创建多级中断任务、周期执行任务、循环执行任务和事件/状态触发任务,事件触发任务关联系统预定义的事件编号,状态触发任务关联全局变量和程序组织单元变量。7.如权利要求1所述一种程序组态方法,其特征在于,所述第七步中,支持配置多组不同周期的录波变量,每组录波监视作为特殊的程序,能够关联到不同的任务中执行;在线联机状态下,控制器抓取缓存一定周期变量值,打包上送到组态软件,组态软件可缓存长周期变量值,显示变量变化趋势,并导出为数据文件和图形文件。8.如权利要求1所述一种程序组态方法,其特征在于,所述第八步中,未被实例化的数据类型、未被调用的程序、功能块和函数不参与编译。9.如权利要求1所述的一种程序组态方法,其特征在于,所述第一步中,系统预定义的数据类型包括IEC61131

3标准的时间、日期、字符串、文件、串口和网络数据通信结构体,系统预定义的编程符号库包括IEC61131

3标准定义的算术运算、逻辑运算、比较运算、双稳态运算、边沿触发器、数据类型转换函数和功能块,所述功能块包括文件操作、数据收发、指针
操作和内存操作功能块。10.一种程序组态系统,其特征在于:包括软件主框架、工程管理树子系统、数据类型定义子系统、全局变量定义子系统、IO配置子系统、程序组织单...

【专利技术属性】
技术研发人员:陈宏君李响张磊曾凯叶立文谭良良刘坤熊蕙洪礼鑫
申请(专利权)人:南京南瑞继保工程技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1