CN113515084A - 一种编译型plc的图形化编程交互系统及交互方法 - Google Patents
一种编译型plc的图形化编程交互系统及交互方法 Download PDFInfo
- Publication number
- CN113515084A CN113515084A CN202110842732.5A CN202110842732A CN113515084A CN 113515084 A CN113515084 A CN 113515084A CN 202110842732 A CN202110842732 A CN 202110842732A CN 113515084 A CN113515084 A CN 113515084A
- Authority
- CN
- China
- Prior art keywords
- primitive
- parallel
- item
- programming
- output
- 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.)
- Granted
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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13004—Programming the plc
Abstract
一种编译型PLC的图形化编程交互系统,包括:图元库管理模块、拖拽式编程模块和实时工程管理模块。本发明实现国产替代,更在此基础上做了操作优化。本发明相较于按钮+焦点式编程方式,拖拽式编程方式使用更便捷、大大提高工程人员的开发效率。本发明采用智能语法提示采用停靠箭头指示的方式,相较于扫描整个梯形图设置全部可能放置点的臃肿方式来说,程序复杂度大大降低,提高用户体验。本发明所述自动逻辑连线的存储结构根据梯形图区域不同分别设计十字图数据结构和树形数据结构,提高程序功能实现的灵活性。
Description
技术领域
本发明涉及一种编译型PLC的图形化编程交互系统及交互方法,属于PLC图形化编程交互的技术领域。
背景技术
PLC是广大工程技术人员所熟知并广泛使用的一种用于自动化控制的数字运算控制器。在PLC中,采用图形化编辑的梯形图,由于与电气控制原理图相一致,通熟易懂,深受广大工程技术人员的青睐,成为了PLC中最流行的编程语言。当前最流行的PLC仍是国外的产品,如西门子、三菱等,因此需要研制国产化的PLC一直是相关领域的研究热点。PLC的使用除了硬件的控制器,还需要内嵌PLC用户程序,也就是每款PLC都有自己对应的编辑器,除主要基础图元与国际标准IEC 61131-3相一致外,在使用方式上各有不同,因此为了适用于国产的PLC,需要研发出对应的编辑器。
市面上国产化的PLC也不在少数,其中一部分适用于三菱编辑器GXWorks,也有一些专用的国产PLC编辑器,如南大傲拓PLC编程软件NAProV6.0、海为PLC编程软件HaiwellHappy,科威PLC编程软件KWPro,万维PLC编程软件EasyLad等,上述软件在编程体验上仍是按钮+焦点式,暂不支持拖拽和自动连线等功能,也不能跨平台操作。除此之外,德国codesys编程软件的梯形图是支持拖拽式编程的,但是,其放置区域极小,放置难;并联结构使用并联触点来专门表示,增加图元的数量,比如“常开触点”只支持串联,“并联常开触点”才支持并联,仅一个常开触点就需要两个图元;英威腾PLC的Auto Station支持从指令树到工作区的拖拽,不支持工作区内部拖拽,且删除元件后实现不了自动连线。
综上,现有的PLC编程方式越来越让人不习惯且效率低下,因此研发一种拖拽式梯形图编程方法,在满足以往的基本功能的基础上,增加更多的人性化操作成为本技术领域所研发关注的重点,从而方便国产化PLC使用起来更智能化,以适用于现代数控机床面板、平板、触摸笔记本电脑等跨平台触摸式编程的场景。
发明内容
针对现有技术的不足,本发明公开一种编译型PLC的图形化编程交互系统。
本发明还公开了上述PLC图形化编程的交互方法。
本发明的目的在于:缓解现有的梯形图编程交互方式不便于用户使用,实用性差的技术问题。
本发明详细的技术方案如下:
一种编译型PLC的图形化编程交互系统,其特征在于,包括:
图元库管理模块、拖拽式编程模块和实时工程管理模块;
所述图元库管理模块包括:固定图元库模块和自定义功能模块;所述固定图元库模块,用于存储固定指令图元,所述指令图元是基于国际标准IEC 61131-3设计的,且根据指令类型进行分类存储,其中所述分类存储数据结构至少包括三种数据:图形数据、串并联关系数据和关联变量数据;其中,所述指令类型包括但不限于:位逻辑操作指令,用于存储位变量操作的指令图元:算术运算指令,用于存储算术运算操作的指令图元;比较运算指令,用于存储变量或数值之间进行大小比较的操作指令图元;移位运算指令,用于存储按位移位操作的指令图元;定时器指令,用于存储不同功能定时器操作的指令图元;计数器指令,用于存储不同功能计数器操作的指令图元;数据块传送指令,用于存储赋值指令图元;所述自定义功能模块,用于为用户提供自定义功能接口,其中,包括自定义子程序接口,梯形图编程,封装成子程序接口;自定义中断程序接口,梯形图编程,封装成中断程序接口;自定义函数接口,C语言编程,封装成函数接口;自定义函数库接口,将类似功能的函数封装在一起形成一个函数链接库;
所述拖拽式编程模块,用于根据用户对所述固定图元和/或所述自定义功能模块的选择:进行拖拽固定图元、设置参数进行图形化编程,得到图形化程序;所述参数包括全局变量和局部变量,局部变量只在所在功能模块程序内有效,全局变量包括硬件相关的固定变量,系统变量和自定义全局变量;其中,所述硬件相关的固定变量类型包括但不仅限于开关量输入、开关量输出、模拟量输入、模拟量输出、高速脉冲输入、高速脉冲输出;所述系统变量包括但不仅限于第一次循环标志、定时器关联标志位、通讯关联标志位;所述自定义变量是指用户根据需要自定义的全局变量,在主模块和子程序模块中都有效;当设置参数时,优选双击设置区域自动弹出下拉列表选择或自定义参数,所述图形化程序中包括:多个图元、所述图元之间的连线、参数的设置;
所述拖拽式编程模块包括:拖拽式增加图元单元、拖拽式移动图元单元、拖拽式删除图元单元;
其中,拖拽式增加图元,是指通过鼠标将图元库里图元拖到编辑区指定位置;拖拽式移动图元,是指通过鼠标拖拽移动编辑区的图元,移动图元位置;拖拽式删除图元,是指通过鼠标拖拽编辑区图元放入垃圾桶中,即为删除;
所述实时工程管理模块包括:变量管理单元、自动生成工程目录索引单元、子程序管理单元、中断程序管理单元、函数管理单元和函数库管理单元。
根据本发明优选的,所述拖拽式编程模块还包括智能语法提示单元,包括:
当鼠标拖拽元素到编辑区时,未释放鼠标前,编辑区显示可以放置的位置,提示操作人员在合理的位置才能成功放置图元;
当串联连接图元时,当鼠标拖到与之串联的图元水平靠右的位置上时,则该位置会显示向右箭头提示串联,释放鼠标会自动串联;
当并联连接图元时,当鼠标拖到与之并联的图元靠下或靠右下的位置上时,则该位置会显示向下箭头提示并联,并显示并联范围提示箭头,释放鼠标时自动并联;
所述母线上只允许向右串联,不能向左串联和向下并联;
输出型图元只允许向左串联和向下并联,不能向右串联;输出型图元右侧不允许放置任何图元;
当删除复杂连接关系中的一个图元时,删除某图元后,存在多种连接关系的,则提示选择其中一种连接方式。
根据本发明优选的,所述拖拽式编程模块还包括自动逻辑连线单元,所述自动逻辑连线包括自动串联连线和自动并联连线:
自动串联连线,当执行图元串联时,被放置的图元与左侧的图元使用横线连接在一条水平线上;
自动并联连线,当执行图元并联时,会自动提示并联范围,根据并联范围提示箭头,分三种情况:
1)当在非并联结构中增加并联时,提示垂直并联时,被放置的图元与上方的图元在一条垂直线上,且连接线跨接在所并图元下方;
2)当在非并联结构中增加并联时,提示输出并联时,被放置的图元与上方的图元在一条垂直线上,但连接线左端跨接在所并图元下方,右端连线水平放置,供后续放置输出元件;
3)当在并联结构中再增加并联时,被放置的图元连接线横跨接在所并联的结构中;
图元自动对齐,水平图元保持水平对齐,并联图元垂直对齐,对齐最右侧的输出图元。
根据本发明优选的,所述拖拽式编程模块还包括变量实时定义单元、变量自动补全单元、注释区可视化提示单元和编辑区任意缩放移动单元;
所述变量实时定义单元是指:在编程过程中,对拖拽的图元进行参数设置时,根据实际需要自定义变量或者参数后,再将新变量和参数关联该图元;
所述变量自动补全单元是指:当图元需要关联变量时,图元上方位置双击提示变量下拉框,选择或者输入关键字以自动补全整个变量名称;
所述注释区可视化提示单元包括:
工程索引注释,位于编辑区最左侧,母线左侧的区域位置,在该位置有彩色阴影提示区,该区域用于输入简要的说明注释,该注释会自动在工程索引区显示;行注释,所述行指逻辑行,属于一段,所述行注释也叫段注释,在行编辑区的顶部有彩色阴影提示区,用于提示在此处进行注释编辑;
所述编辑区任意缩放移动单元,用于:
任意缩放,通过外部输入操作放大缩小编辑区的程序图元和参数;所述外部输入操作是指按住键盘Ctrl控制键,同时滚动鼠标滚轮;
上下移动,通过外部输入操作上下移动编辑区,编辑行随程序实际编辑程序所需的实际行数自动增加;所述外部输入操作是通过滚动鼠标滚轮上下移动编辑区;
左右移动,当程序超过编辑区的宽度时,未显示的部分通过左右移动显示。
根据本发明优选的,所述变量管理单元,用于在编程中对使用的全局变量进行统计和显示;
所述自动生成工程目录索引单元,用于将母线左侧区域的注释自动生成的目录索引;
所述子程序管理单元,用于在编程中对调用的子程序进行统计和显示;
所述中断程序管理单元,用于在编程中对调用的中断程序进行统计和显示;
所述函数管理单元,用于在编程中对调用的函数进行统计和显示;
所述函数库管理单元,用于在编程中对调用的函数库进行统计和显示。
一种上述PLC图形化编程的交互方法,其特征在于,至少包括:智能语法提示方法和自动逻辑连线方法;
所述智能语法提示方法包括,通过在拖拽过程中实时获得鼠标焦点的位置,根据位置做出相应提示:若拖拽的鼠标焦点在图元水平靠右的位置时,则提示向右箭头,示意向右串联;若拖拽的鼠标焦点在图元水平靠左的位置时,则提示向左箭头,示意向左串联;若拖拽的鼠标焦点位于图元垂直靠下的位置时,则提示向下箭头和并联方式箭头指示,示意向下并联及并联范围;若拖拽的鼠标焦点位于图元靠右下的位置时,则提示向下箭头和并联方式箭头指示,示意向下并联及并联范围;优选的,设定:母线开始不能向左串联、输出图元不能向右串联;
所述自动逻辑连线方法包括:用于梯形图编程中的串并联结构涉及的连线,该功能实现分成两个区域,分别是条件区和输出区;
所述条件区是指母线与输出图元之间的位逻辑图元串并联区域,所述输出区是指输出图元与按左向右计算的第一个输出分支的交点之间的区域;
所述条件区域的串并联采用十字图数据结构,所述十字图数据结构包括图元类型、连接类型、向左串联项、向右串联项、向上并联项、向下并联项、母线项,鼠标位置、增加串联项、插入串联项、增加并联项、删除当前项、删除串联项和删除并联项;所述十字图数据结构可以实现串联和并联,这样设计的数据结构简单,通过较复杂的算法来实现自动连线,但是该算法并不是本发明所要保护的内容,本发明大大降低用户操作的复杂度,提高编程效率;
所述输出区域的串并联采用树形数据结构,所述树形数据结构包括根结点、条件项和叶子项,所述条件项是指根结点与叶子项之间的位逻辑图元项,所述叶子项是指输出图元项;
优选的,所述根结点的确定方法如下:
当只有一个输出项时,则根结点即在输出项的左侧;
当增加一个输出分支时,则将输出图元拖拽放置在条件项或者叶子项的靠下位置,提示向下箭头,松开鼠标左键自动将新增输出图元并联输出,且根结点移动到停靠图元的左侧。
本发明的技术优势在于:
1、本发明相较于具有拖拽功能的德国codesys梯形图编辑器,实现国产替代,更在此基础上做了操作优化。
2、本发明相较于按钮+焦点式编程方式,拖拽式编程方式使用更便捷、大大提高工程人员的开发效率。
3、本发明采用智能语法提示采用停靠箭头指示的方式,相较于扫描整个梯形图设置全部可能放置点的臃肿方式来说,程序复杂度大大降低,提高用户体验。
4、本发明所述自动逻辑连线的存储结构根据梯形图区域不同分别设计十字图数据结构和树形数据结构,提高程序功能实现的灵活性。
附图说明
图1是编辑区智能提示功能示意图;
图2是拖拽式删除功能示意图;
图3是参数设置下拉框示意图;
图4新建位变量对话框;
图5设置常量对话框;
图6是新建变量对话框;
图7是自动连线方法区域划分示意图。
具体实施方式
下面结合实施例和说明书附图对本发明做详细的说明,但不限于此。
实施例1、
一种编译型PLC的图形化编程交互系统,包括:图元库管理模块、拖拽式编程模块和实时工程管理模块;
所述图元库管理模块包括:固定图元库模块和自定义功能模块;所述固定图元库模块,用于存储固定指令图元,所述指令图元是基于国际标准IEC 61131-3设计的,且根据指令类型进行分类存储,其中所述分类存储数据结构至少包括三种数据:图形数据、串并联关系数据和关联变量数据;其中,所述指令类型包括但不限于:位逻辑操作指令,用于存储位变量操作的指令图元;算术运算指令,用于存储算术运算操作的指令图元;比较运算指令,用于存储变量或数值之间进行大小比较的操作指令图元;移位运算指令,用于存储按位移位操作的指令图元;定时器指令,用于存储不同功能定时器操作的指令图元;计数器指令,用于存储不同功能计数器操作的指令图元;数据块传送指令,用于存储赋值指令图元;所述自定义功能模块,用于为用户提供自定义功能接口,其中,包括自定义子程序接口,梯形图编程,封装成子程序接口;自定义中断程序接口,梯形图编程,封装成中断程序接口;自定义函数接口,C语言编程,封装成函数接口;自定义函数库接口,将类似功能的函数封装在一起形成一个函数链接库;
所述拖拽式编程模块,用于根据用户对所述固定图元和/或所述自定义功能模块的选择:进行拖拽固定图元、设置参数进行图形化编程,得到图形化程序;所述参数包括全局变量和局部变量,局部变量只在所在功能模块程序内有效,全局变量包括硬件相关的固定变量,系统变量和自定义全局变量;其中,所述硬件相关的固定变量类型包括但不仅限于开关量输入、开关量输出、模拟量输入、模拟量输出、高速脉冲输入、高速脉冲输出;所述系统变量包括但不仅限于第一次循环标志、定时器关联标志位、通讯关联标志位;所述自定义变量是指用户根据需要自定义的全局变量,在主模块和子程序模块中都有效;当设置参数时,优选双击设置区域自动弹出下拉列表选择或自定义参数,所述图形化程序中包括:多个图元、所述图元之间的连线、参数的设置;
所述拖拽式编程模块包括:拖拽式增加图元单元、拖拽式移动图元单元、拖拽式删除图元单元;
其中,拖拽式增加图元,是指通过鼠标将图元库里图元拖到编辑区指定位置;拖拽式移动图元,是指通过鼠标拖拽移动编辑区的图元,移动图元位置;拖拽式删除图元,是指通过鼠标拖拽编辑区图元放入垃圾桶中,即为删除;
所述实时工程管理模块包括:变量管理单元、自动生成工程目录索引单元、子程序管理单元、中断程序管理单元、函数管理单元和函数库管理单元。
所述拖拽式编程模块还包括智能语法提示单元,包括:
当鼠标拖拽元素到编辑区时,未释放鼠标前,编辑区显示可以放置的位置,提示操作人员在合理的位置才能成功放置图元;
当串联连接图元时,当鼠标拖到与之串联的图元水平靠右的位置上时,则该位置会显示向右箭头提示串联,释放鼠标会自动串联;
当并联连接图元时,当鼠标拖到与之并联的图元靠下或靠右下的位置上时,则该位置会显示向下箭头提示并联,并显示并联范围提示箭头,释放鼠标时自动并联;
所述母线上只允许向右串联,不能向左串联和向下并联;
输出型图元只允许向左串联和向下并联,不能向右串联;输出型图元右侧不允许放置任何图元;
当删除复杂连接关系中的一个图元时,删除某图元后,存在多种连接关系的,则提示选择其中一种连接方式。
所述拖拽式编程模块还包括自动逻辑连线单元,所述自动逻辑连线包括自动串联连线和自动并联连线:
自动串联连线,当执行图元串联时,被放置的图元与左侧的图元使用横线连接在一条水平线上;
自动并联连线,当执行图元并联时,会自动提示并联范围,根据并联范围提示箭头,分三种情况:
1)当在非并联结构中增加并联时,提示垂直并联时,被放置的图元与上方的图元在一条垂直线上,且连接线跨接在所并图元下方;
2)当在非并联结构中增加并联时,提示输出并联时,被放置的图元与上方的图元在一条垂直线上,但连接线左端跨接在所并图元下方,右端连线水平放置,供后续放置输出元件;
3)当在并联结构中再增加并联时,被放置的图元连接线横跨接在所并联的结构中;
图元自动对齐,水平图元保持水平对齐,并联图元垂直对齐,对齐最右侧的输出图元。
所述拖拽式编程模块还包括变量实时定义单元、变量自动补全单元、注释区可视化提示单元和编辑区任意缩放移动单元;
所述变量实时定义单元是指:在编程过程中,对拖拽的图元进行参数设置时,根据实际需要自定义变量或者参数后,再将新变量和参数关联该图元;
所述变量自动补全单元是指:当图元需要关联变量时,图元上方位置双击提示变量下拉框,选择或者输入关键字以自动补全整个变量名称;
所述注释区可视化提示单元包括:
工程索引注释,位于编辑区最左侧,母线左侧的区域位置,在该位置有彩色阴影提示区,该区域用于输入简要的说明注释,该注释会自动在工程索引区显示;行注释,所述行指逻辑行,属于一段,所述行注释也叫段注释,在行编辑区的顶部有彩色阴影提示区,用于提示在此处进行注释编辑;
所述编辑区任意缩放移动单元,用于:
任意缩放,通过外部输入操作放大缩小编辑区的程序图元和参数;所述外部输入操作是指按住键盘Ctrl控制键,同时滚动鼠标滚轮;
上下移动,通过外部输入操作上下移动编辑区,编辑行随程序实际编辑程序所需的实际行数自动增加;所述外部输入操作是通过滚动鼠标滚轮上下移动编辑区;
左右移动,当程序超过编辑区的宽度时,未显示的部分通过左右移动显示。
所述变量管理单元,用于在编程中对使用的全局变量进行统计和显示;
所述自动生成工程目录索引单元,用于将母线左侧区域的注释自动生成的目录索引;
所述子程序管理单元,用于在编程中对调用的子程序进行统计和显示;
所述中断程序管理单元,用于在编程中对调用的中断程序进行统计和显示;
所述函数管理单元,用于在编程中对调用的函数进行统计和显示;
所述函数库管理单元,用于在编程中对调用的函数库进行统计和显示。
实施例2、
一种PLC图形化编程的交互方法,至少包括:智能语法提示方法和自动逻辑连线方法;
所述智能语法提示方法包括,通过在拖拽过程中实时获得鼠标焦点的位置,根据位置做出相应提示:若拖拽的鼠标焦点在图元水平靠右的位置时,则提示向右箭头,示意向右串联;若拖拽的鼠标焦点在图元水平靠左的位置时,则提示向左箭头,示意向左串联;若拖拽的鼠标焦点位于图元垂直靠下的位置时,则提示向下箭头和并联方式箭头指示,示意向下并联及并联范围;若拖拽的鼠标焦点位于图元靠右下的位置时,则提示向下箭头和并联方式箭头指示,示意向下并联及并联范围;优选的,设定:母线开始不能向左串联、输出图元不能向右串联;
所述自动逻辑连线方法包括:用于梯形图编程中的串并联结构涉及的连线,该功能实现分成两个区域,分别是条件区和输出区;
所述条件区是指母线与输出图元之间的位逻辑图元串并联区域,所述输出区是指输出图元与按左向右计算的第一个输出分支的交点之间的区域;
所述条件区域的串并联采用十字图数据结构,所述十字图数据结构包括图元类型、连接类型、向左串联项、向右串联项、向上并联项、向下并联项、母线项,鼠标位置、增加串联项、插入串联项、增加并联项、删除当前项、删除串联项和删除并联项;所述十字图数据结构可以实现串联和并联,这样设计的数据结构简单,通过较复杂的算法来实现自动连线,但是该算法并不是本发明所要保护的内容,本发明大大降低用户操作的复杂度,提高编程效率;
所述输出区域的串并联采用树形数据结构,所述树形数据结构包括根结点、条件项和叶子项,所述条件项是指根结点与叶子项之间的位逻辑图元项,所述叶子项是指输出图元项;
所述根结点的确定方法如下:
当只有一个输出项时,则根结点即在输出项的左侧;
当增加一个输出分支时,则将输出图元拖拽放置在条件项或者叶子项的靠下位置,提示向下箭头,松开鼠标左键自动将新增输出图元并联输出,且根结点移动到停靠图元的左侧。
应用例、
下面结合实施例1、2和附图1-7对本发明进行编辑步骤做详细的介绍:
如图1所示是编辑区智能提示功能示意图,其中P1是指当鼠标放在母线上时,提示向右箭头,表示与之串联,且串联在当前图元右边;P2是指当鼠标放在图元水平靠右位置上时,提示向右箭头,提示与之串联,且串联在当前图元右边;P3和P4是指当鼠标放在图元水平靠左位置上时,提示向左箭头,提示与之串联,且串联在当前图元左边;P5和P6是指当鼠标放在图元靠下位置,提示向下箭头和并联范围,提示与之并联,且并联在当前图元下方;P7是指当鼠标放在图元靠正下方时,提示并联在当前图元正下方;P8是指当鼠标放在图元靠右下方时,提示并联需要连接并联输出。
如图2所示是拖拽式删除功能示意图,P7是拖拽前的画面,P8是鼠标拖住“按键1”图元时,在母线左侧出现垃圾桶图标,将改图元拖到垃圾桶图标处,松开鼠标时,元件即可删除;如果未在垃圾桶图标上放下,在非提示串并联的地方放下,图元会自动回到被拖拽前的位置;如果未在垃圾桶图标上放下,在提示串并联的地方放下,相当于移动图元位置。
如图3所示是参数设置下拉框示意图,当用户将鼠标放在图元上方,并双击鼠标左键时,会弹出下拉框列表,下拉框列表中会根据图元的类型弹出相应的变量列表、新建变量或者常量。
如图4所示,例如位操作指令类型的图元,下拉提示框中显示新建变量和位变量列表,其中,所述新建变量是新建位变量;所述位变量列表中变量可以是硬件相关的开关量,或者自定义的位变量。
如图5所示,例如算术运算指令类型的图元,下拉框中提示常量、新建变量和变量列表,其中,常量选项被选中会弹出设置常量的对话框,定义常量的值。
如图6所示,新建变量选项被选中时会弹出新建变量对话框,对话框中数据类型可包括但不仅限于布尔型、字节型、短整型、整型、长整型、单精度、双精度、字符、字符串。
如图7所示是自动连线方法中区域划分示意图,其中条件区采用十字图数据结构,输出区采用树结构,其中图中标注了树结构的根结点、条件项和叶子项。
Claims (7)
1.一种编译型PLC的图形化编程交互系统,其特征在于,包括:
图元库管理模块、拖拽式编程模块和实时工程管理模块;
所述图元库管理模块包括:固定图元库模块和自定义功能模块;所述固定图元库模块,用于存储固定指令图元,所述指令图元是基于国际标准IEC 61131-3设计的,且根据指令类型进行分类存储,其中所述分类存储数据结构至少包括三种数据:图形数据、串并联关系数据和关联变量数据;其中,所述自定义功能模块,用于为用户提供自定义功能接口;
所述拖拽式编程模块,用于根据用户对所述固定图元和/或所述自定义功能模块的选择:进行拖拽固定图元、设置参数进行图形化编程,得到图形化程序;所述图形化程序中包括:多个图元、所述图元之间的连线、参数的设置;
所述拖拽式编程模块包括:拖拽式增加图元单元、拖拽式移动图元单元、拖拽式删除图元单元;
所述实时工程管理模块包括:变量管理单元、自动生成工程目录索引单元、子程序管理单元、中断程序管理单元、函数管理单元和函数库管理单元。
2.根据权利要求1所述的一种编译型PLC的图形化编程交互系统,其特征在于,所述拖拽式编程模块还包括智能语法提示单元,包括:
当鼠标拖拽元素到编辑区时,未释放鼠标前,编辑区显示可以放置的位置;
当串联连接图元时,当鼠标拖到与之串联的图元水平靠右的位置上时,则该位置会显示向右箭头提示串联,释放鼠标会自动串联;
当并联连接图元时,当鼠标拖到与之并联的图元靠下或靠右下的位置上时,则该位置会显示向下箭头提示并联,并显示并联范围提示箭头,释放鼠标时自动并联;
所述母线上只允许向右串联;
输出型图元只允许向左串联和向下并联;
当删除某图元后,存在多种连接关系的,则提示选择其中一种连接方式。
3.根据权利要求2所述的一种编译型PLC的图形化编程交互系统,其特征在于,所述拖拽式编程模块还包括自动逻辑连线单元,所述自动逻辑连线包括自动串联连线和自动并联连线:
自动串联连线,当执行图元串联时,被放置的图元与左侧的图元使用横线连接在一条水平线上;
自动并联连线,当执行图元并联时,会自动提示并联范围,根据并联范围提示箭头,分三种情况:
1)当在非并联结构中增加并联时,提示垂直并联时,被放置的图元与上方的图元在一条垂直线上,且连接线跨接在所并图元下方;
2)当在非并联结构中增加并联时,提示输出并联时,被放置的图元与上方的图元在一条垂直线上,但连接线左端跨接在所并图元下方,右端连线水平放置,供后续放置输出元件;
3)当在并联结构中再增加并联时,被放置的图元连接线横跨接在所并联的结构中;
图元自动对齐,水平图元保持水平对齐,并联图元垂直对齐,对齐最右侧的输出图元。
4.根据权利要求2所述的一种编译型PLC的图形化编程交互系统,其特征在于,所述拖拽式编程模块还包括变量实时定义单元、变量自动补全单元、注释区可视化提示单元和编辑区任意缩放移动单元;
所述变量实时定义单元是指:在编程过程中,对拖拽的图元进行参数设置时,根据实际需要自定义变量或者参数后,再将新变量和参数关联该图元;
所述变量自动补全单元是指:当图元需要关联变量时,图元上方位置双击提示变量下拉框,选择或者输入关键字以自动补全整个变量名称;
所述注释区可视化提示单元包括:
工程索引注释,位于编辑区最左侧,母线左侧的区域位置,该区域用于输入简要的说明注释;
所述编辑区任意缩放移动单元,用于:
任意缩放,通过外部输入操作放大缩小编辑区的程序图元和参数;
上下移动,通过外部输入操作上下移动编辑区,编辑行随程序实际编辑程序所需的实际行数自动增加;
左右移动,当程序超过编辑区的宽度时,未显示的部分通过左右移动显示。
5.根据权利要求1所述的一种编译型PLC的图形化编程交互系统,其特征在于,所述变量管理单元,用于在编程中对使用的全局变量进行统计和显示;
所述自动生成工程目录索引单元,用于将母线左侧区域的注释自动生成的目录索引;
所述子程序管理单元,用于在编程中对调用的子程序进行统计和显示;
所述中断程序管理单元,用于在编程中对调用的中断程序进行统计和显示;
所述函数管理单元,用于在编程中对调用的函数进行统计和显示;
所述函数库管理单元,用于在编程中对调用的函数库进行统计和显示。
6.一种PLC图形化编程的交互方法,其特征在于,至少包括:智能语法提示方法和自动逻辑连线方法;
所述智能语法提示方法包括,通过在拖拽过程中实时获得鼠标焦点的位置,根据位置做出相应提示:若拖拽的鼠标焦点在图元水平靠右的位置时,则提示向右箭头,示意向右串联;若拖拽的鼠标焦点在图元水平靠左的位置时,则提示向左箭头,示意向左串联;若拖拽的鼠标焦点位于图元垂直靠下的位置时,则提示向下箭头和并联方式箭头指示,示意向下并联及并联范围;若拖拽的鼠标焦点位于图元靠右下的位置时,则提示向下箭头和并联方式箭头指示,示意向下并联及并联范围;优选的,设定:母线开始不能向左串联、输出图元不能向右串联;
所述自动逻辑连线方法包括:条件区和输出区;
所述条件区是指母线与输出图元之间的位逻辑图元串并联区域,所述输出区是指输出图元与按左向右计算的第一个输出分支的交点之间的区域;
所述条件区域的串并联采用十字图数据结构,所述十字图数据结构包括图元类型、连接类型、向左串联项、向右串联项、向上并联项、向下并联项、母线项,鼠标位置、增加串联项、插入串联项、增加并联项、删除当前项、删除串联项和删除并联项;
所述输出区域的串并联采用树形数据结构,所述树形数据结构包括根结点、条件项和叶子项,所述条件项是指根结点与叶子项之间的位逻辑图元项,所述叶子项是指输出图元项。
7.根据权利要求6所述的一种PLC图形化编程的交互方法,其特征在于,所述根结点的确定方法如下:
当只有一个输出项时,则根结点即在输出项的左侧;
当增加一个输出分支时,则将输出图元拖拽放置在条件项或者叶子项的靠下位置,提示向下箭头,松开鼠标左键自动将新增输出图元并联输出,且根结点移动到停靠图元的左侧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842732.5A CN113515084B (zh) | 2021-07-26 | 2021-07-26 | 一种编译型plc的图形化编程交互系统及交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842732.5A CN113515084B (zh) | 2021-07-26 | 2021-07-26 | 一种编译型plc的图形化编程交互系统及交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515084A true CN113515084A (zh) | 2021-10-19 |
CN113515084B CN113515084B (zh) | 2022-10-18 |
Family
ID=78068685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110842732.5A Active CN113515084B (zh) | 2021-07-26 | 2021-07-26 | 一种编译型plc的图形化编程交互系统及交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515084B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114063501A (zh) * | 2021-11-10 | 2022-02-18 | 珠海格力电器股份有限公司 | 一种组态元件自动连接方法、装置及组态设备 |
CN114594720A (zh) * | 2022-02-07 | 2022-06-07 | 厦门聚视智创科技有限公司 | 一种plc高效编程系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090064103A1 (en) * | 2007-09-04 | 2009-03-05 | Shih Hsueh-Fu | Method for editing programmer logic controller (plc) program |
JP2009069905A (ja) * | 2007-09-10 | 2009-04-02 | Delta Electronics Inc | プログラマーロジックコントローラ(plc)プログラムの編集方法 |
CN101561671A (zh) * | 2009-06-01 | 2009-10-21 | 杭州电子科技大学 | 基于构件的梯形图设计方法 |
US20110295388A1 (en) * | 2009-02-04 | 2011-12-01 | Mitsubishi Electric Corporation | Ladder program edition device |
CN104238444A (zh) * | 2014-09-30 | 2014-12-24 | 郑州众智科技股份有限公司 | 一种基于发电机组控制器的plc梯形图的生成方法 |
CN105930583A (zh) * | 2016-04-20 | 2016-09-07 | 杭州优稳自动化系统有限公司 | 一种基于装备多领域对象模型的自动化系统及其设计方法 |
CN107798084A (zh) * | 2017-10-17 | 2018-03-13 | 广东广业开元科技有限公司 | 一种web前端页面的可视化编辑生成系统及装置 |
CN107844297A (zh) * | 2017-10-17 | 2018-03-27 | 广东广业开元科技有限公司 | 一种数据可视化实现系统及方法 |
CN109605366A (zh) * | 2018-11-09 | 2019-04-12 | 中科新松有限公司 | 机器人图形化编程交互系统及机器人 |
-
2021
- 2021-07-26 CN CN202110842732.5A patent/CN113515084B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090064103A1 (en) * | 2007-09-04 | 2009-03-05 | Shih Hsueh-Fu | Method for editing programmer logic controller (plc) program |
JP2009069905A (ja) * | 2007-09-10 | 2009-04-02 | Delta Electronics Inc | プログラマーロジックコントローラ(plc)プログラムの編集方法 |
US20110295388A1 (en) * | 2009-02-04 | 2011-12-01 | Mitsubishi Electric Corporation | Ladder program edition device |
CN101561671A (zh) * | 2009-06-01 | 2009-10-21 | 杭州电子科技大学 | 基于构件的梯形图设计方法 |
CN104238444A (zh) * | 2014-09-30 | 2014-12-24 | 郑州众智科技股份有限公司 | 一种基于发电机组控制器的plc梯形图的生成方法 |
CN105930583A (zh) * | 2016-04-20 | 2016-09-07 | 杭州优稳自动化系统有限公司 | 一种基于装备多领域对象模型的自动化系统及其设计方法 |
CN107798084A (zh) * | 2017-10-17 | 2018-03-13 | 广东广业开元科技有限公司 | 一种web前端页面的可视化编辑生成系统及装置 |
CN107844297A (zh) * | 2017-10-17 | 2018-03-27 | 广东广业开元科技有限公司 | 一种数据可视化实现系统及方法 |
CN109605366A (zh) * | 2018-11-09 | 2019-04-12 | 中科新松有限公司 | 机器人图形化编程交互系统及机器人 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114063501A (zh) * | 2021-11-10 | 2022-02-18 | 珠海格力电器股份有限公司 | 一种组态元件自动连接方法、装置及组态设备 |
CN114063501B (zh) * | 2021-11-10 | 2024-03-08 | 珠海格力电器股份有限公司 | 一种组态元件自动连接方法、装置及组态设备 |
CN114594720A (zh) * | 2022-02-07 | 2022-06-07 | 厦门聚视智创科技有限公司 | 一种plc高效编程系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113515084B (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113515084B (zh) | 一种编译型plc的图形化编程交互系统及交互方法 | |
US9971330B2 (en) | Safety relay configuration editor | |
US6369836B1 (en) | Cause effect diagram program | |
KR100224379B1 (ko) | 공정 제어 알고리즘 생성 방법 | |
CN106843124A (zh) | 一种自动化仓库三维实时监控方法和系统 | |
CN101308375A (zh) | 一种数控纵切机床加工程序模拟实现方法及其系统 | |
CN111079244B (zh) | 一种基于行为树的分布式仿真平台 | |
CN104765843B (zh) | 一种用于电力实时监控系统的图形界面控制方法 | |
KR101373442B1 (ko) | 시퀀스 프로그램 작성 장치 | |
CN110599567A (zh) | 一种轨道电子地图可视化编辑工具及地图生成方法 | |
CN112698823A (zh) | 一种图形化的机器人编程交互系统及方法 | |
CN114816189A (zh) | 一种基于云端的工业智能装备远程组态方法 | |
CN111624965A (zh) | 一种工业智能制造的组态系统 | |
CN111506997A (zh) | 一种基于bim的电力工程量计算方法 | |
JP5777842B2 (ja) | プログラミングツール | |
CN105144004B (zh) | 程序图显示装置以及程序图显示方法 | |
CN106126254A (zh) | 一种关联的平视界面游戏编辑系统与方法 | |
CN112184881B (zh) | 一种电力设备多层次全过程监视方法 | |
CN105305619A (zh) | 一种基于配电自动化的三遥配置方法和装置 | |
CN115526015B (zh) | 基于命令交互式的电网图生成方法、装置、介质及设备 | |
CN108563898B (zh) | 一种人机交互式电网单线数字化建模方法 | |
CN115545401A (zh) | 基于可视化指标模型配置的城市体检评估方法、系统及计算机设备 | |
CN112632650B (zh) | 一种非标防爆电器产品智能设计系统及方法 | |
CN103809973A (zh) | 图控界面设计系统及其图控界面设计操作方法 | |
CN114138249A (zh) | 基于列表配置的自动化设备软件无代码编程快速开发系统及其使用方法 |
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 |