一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于PLC编程系统的梯形图转换为结构化文本的方法与流程

2021-09-25 02:27:00 来源:中国专利 TAG:方法 转换为 系统 结构化 文本

用于plc编程系统的梯形图转换为结构化文本的方法
技术领域
1.本发明涉及系统转换方法技术领域,更具体地,涉及一种用于plc编程系统的梯形图转换为结构化文本的方法。


背景技术:

2.plc在当今的工业设备是必不可少的设备,是生产设备运行的大脑中枢。但在发展过程中,衍生出了很多plc的编程语言,iec61131

3是plc领域的国际标准,在该标准定义了五种编程语言,其中梯形图语言是一种图形化的表示语言,该表示语言是在工业控制领域是最为流行的,但由它编写的控制程序并不能被plc下位机直接执行,都需要通过转换才可以运行。目前商用plc的上位机大多都采取的是将梯形图转换成指令表语言,再对指令表语言解释执行或者编译成汇编语言后执行。但指令表语言相对而言是一种更接近于机器的语言,对于工程师来说不易阅读与编写的语言,而且商用plc各家对于指令表的执行逻辑也不尽相同,相同的控制逻辑不同的plc平台上运行的结果可能会有所不同。这种控制逻辑的不相通,工程师在理解上易出现偏差,对于工程师的要求就比较高,给企业间接增加了plc移植的困难。指令表语言是一种更接近于机器语言的低级语言,而结构化文本是一种语言类似于pascal的支持面向对象的高级语言,易于工程师阅读与进行逻辑检查。因此,亟需设计一种用于plc编程系统的梯形图转换为结构化文本的方法。


技术实现要素:

3.本发明的目的在于提供一种用于plc编程系统的梯形图转换为结构化文本的方法,针对现有的plc上位机编程软件梯形图部分所存在的问题进行的改进,编译时将梯形图转化成结构化文本而非指令表语言,再交由下位机执行,易于工程师阅读与进行逻辑检查。
4.为了实现上述目的,本发明采用以下技术方案:
5.依据本发明的一个方面,提供一种用于plc编程系统的梯形图转换为结构化文本的方法,包括以下步骤:
6.s1.将plc编程系统的梯形图分为若干个程序段,找出程序段结束元素;
7.s2.将程序段结束元素个数看作若干条平行线,将平行线上的所有元素分成块,按结构化文本的语法规定赋值;
8.s3.递归分析块的组成情况,根据块的组成情况分别处理平行线上的每一个块;
9.s4.递归、循环处理程序段中的所有线,再处理所有程序段,得到梯形图所对应的结构化文本逻辑。
10.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述s1包括以下步骤:
11.s11.将用户编写的plc编程系统的梯形图按共同一个输入和若干个输出的原则,按逻辑分为若干个程序段;
12.s12.检查并找出每一个程序段的线圈或指令作为程序段的结束元素。
13.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述s2包括以下步骤:
14.s21.将程序段中代表结束元素的所有线圈或者指令找到,每一个结束元素看作一条线,将程序段分成若干条平行线;
15.s22.对挂载在平行线的所有元素按照块的划分原则划分成若干个块;
16.s23.按结构化文本的语法规定赋值,将结束的块放在等式的左边,其余的块用and连接放在等式的右边。
17.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述s22中块的划分原则是每一平行线上由单个块组成或者由若干基本元素组成的复杂块组成。
18.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述单个块之间是串联关系,每个块是由单个触点、线圈或者指令基本元素组成。
19.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述s23包括以下步骤:
20.s231.识别出程序段结束元素,将其记为等式的左边;
21.s232.将所有的串联关系块使用and连接放在等式的右边,将右边的值赋值给左边。
22.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述s3包括以下步骤:
23.s31.处理每一个块,如果块是由基本元素组成,将等式中的相应块替换成基本元素;如果块是由基本元素组成的复杂块,按并联线组成块的原则,将复杂块中的平行线划分成并联线,并且使用or连接所有的并联线后替换等式中的复杂块;
24.s32.按串联块组成线的原则处理等式中的并联线,再按并联线组成块的原则处理并联块,等式中线上所有块用and连接,块中所有线用or连接,直至等式中的所有的线、块都由梯形图中使用的基本元素所代替。
25.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述s4包括以下步骤:
26.s41.对plc编程系统的梯形图的指令进行处理;
27.s42.依次处理掉程序段中的所有线,再处理所有程序段,将得到的所有等式拼接到一起后得到的结果即为梯形图所对应的结构化文本逻辑。
28.依据本发明的上述方面的一种用于plc编程系统的梯形图转换为结构化文本的方法,其中所述s41包括以下步骤:
29.s411.梯形图中的指令有使能和使能输出,将指令之前所元素的处理结果赋值给使能;
30.s412.梯形图中指令是一个功能块类型,需要对指令进行声明,给指令指定一个别名之后,使用别名在结构化文本中进行处理。
31.s413.指令在梯形图中的左侧接入的引脚,在结构化文本中要处理成指令的参数,梯形图中指令右侧的引脚,在结构化文本中要处理成指令的返回值或者处理结果。
32.采用上述技术方案,本发明具有以下优点:
33.本发明提供一种用于plc编程系统的梯形图转换为结构化文本的方法,针对现有的plc上位机编程软件梯形图部分所存在的问题进行的改进,编译时将梯形图转化成结构化文本而非指令表语言,易于工程师阅读与进行逻辑检查,减轻了企业plc编程系统移植的困难,实用性能强。
附图说明
34.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
35.图1是本发明用于plc编程系统的梯形图转换为结构化文本的流程图;
36.图2是本发明plc编程系统处理梯形图的逻辑流程图;
37.图3本发明简单梯形图程序段的示意图;
38.图4是本发明按串联关系将示例程序段划分为块的示意图;
39.图5是本发明示例程序中的复杂块进行并联线划分的示意图;
40.图6是本发明复杂程序段的示意图。
具体实施方式
41.以下结合说明书附图对本发明的技术方案进行具体说明,在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
42.图1示出了一种用于plc编程系统的梯形图转换为结构化文本的流程图;图2示出了本发明plc编程系统处理梯形图的逻辑流程图;一种用于plc编程系统的梯形图转换为结构化文本的方法包括以下步骤如图1所示:
43.s1.将plc编程系统的梯形图分为若干个程序段,找出程序段结束元素;
44.s2.将程序段结束元素个数看作若干条平行线,将平行线上的所有元素分成块,按结构化文本的语法规定赋值;
45.s3.递归分析块的组成情况,根据块的组成情况分别处理平行线上的每一个块;
46.s4.递归、循环处理程序段中的所有线,再处理所有程序段,得到梯形图所对应的结构化文本逻辑。
47.其中,s1包括以下步骤:s11.将用户编写的plc编程系统的梯形图按共同一个输入和若干个输出的原则,按逻辑分为若干个程序段;s12.检查并找出每一个程序段的线圈或指令作为程序段的结束元素。s2包括以下步骤:
48.s21.将程序段中代表结束元素的所有线圈或者指令找到,每一个结束元素看作一条线,将程序段分成若干条平行线;
49.s22.对挂载在平行线的所有元素按照块的划分原则划分成若干个块;
50.s23.按结构化文本的语法规定赋值,将结束的块放在等式的左边,其余的块用and连接放在等式的右边。s22中块的划分原则是每一平行线上由单个块组成或者由若干基本元素组成的复杂块组成。其中:s23包括以下步骤:s231.识别出程序段结束元素,将其记为等式的左边;s232.将所有的串联关系块使用and连接放在等式的右边,将右边的值赋值给
左边。
51.s3包括以下步骤:s31.处理每一个块,如果块是由基本元素组成,将等式中的相应块替换成基本元素;如果块是由基本元素组成的复杂块,按并联线组成块的原则,将复杂块中的平行线划分成并联线,并且使用or连接所有的并联线后替换等式中的复杂块;
52.s32.按串联块组成线的原则处理等式中的并联线,再按并联线组成块的原则处理并联块,等式中线上所有块用and连接,块中所有线用or连接,直至等式中的所有的线、块都由梯形图中使用的基本元素所代替。
53.s4包括以下步骤:s41.对plc编程系统的梯形图的指令进行处理;对于其中指令的处理,如果梯形图中的指令有使能(en)和使能输出(eno),则需要将此指令之前所元素的处理结果赋值给使能(en)。如果在梯形图中使用的指令是一个功能块类型,需要对指令进行声明,给指令指定一个别名之后,使用别名在结构化文本中进行处理。如果梯形图中使用的指令是功能类型,则可在结构化文本直接使用指令名。指令在梯形图中的左侧接入的引脚,在结构化文本中要处理成指令的参数,梯形图中指令右侧的引脚,在结构化文本中要处理成指令的返回值或者处理结果。
54.s42.依次处理掉程序段中的所有线,再处理所有程序段,将得到的所有等式拼接到一起后得到的结果即为梯形图所对应的结构化文本逻辑。
55.让用户在创建梯形图时就将控制逻辑划分为若干个独立的程序段,分别处理所有的程序段将内容转化成独立的结构化文本,最后将所有的结构化文本组成完整的程序如图2所示,处理梯形图程序段时,先将表示程序段结束的线圈或者指令找到,再将程序段划分为若干条线。
56.每一条都需要按下面的逻辑进行处理,将线上的元素划分为若干个串联的块,块可以是由触点、线圈或者指令的基本元素组成,也可以是由基本元素组成的复杂块。将线上表示结束的线圈或者指令块放在结构化文本等式的左边,将线上其余串联块使用and连接后放在等式的右边。依次处理每个块,若块是由基本元素组成的,则将基本元素替换到等式的块中;若块是由基本元素组成的复杂块,则将复杂块划分成若干条并联的线,将所有的线用or连接后替换等式中的复杂线。再处理等式中的线,将线中的元素划分成串联关系的若干块,用and连接后替换等式中的线,再按上述处理块的逻辑替换等式中的块,按“线上所有块用and连接,块中所有线用or连接”的递归逻辑处理,直至等式中不再出现块和线,全部是梯形图中的使用的触点、线圈或者指令时,程序段中的线处理完毕,依次处理掉程序段中的所有线,再处理所有程序段,将各个步骤生成的等式拼接在一起,就是梯形图所对应的结构化文本所表示的逻辑。
57.图3示出本发明简单梯形图程序段示例程序;图4示出本发明按串联关系将示例程序段划分为块的示意图;在一个具体的实施例中,梯形图程序段详细转换步骤如下:
58.首先,查找图3所示的程序段组成元素,有一个表示结束的线圈,则将程序段看成是一条线,然后,将线上的所有的元素,按串联块组成线的原则划分为4个块,分别为块1、块2、块3和块4具体如图4所示。将表示结束的线圈所在的块4放在:=等式的左边,其余的块使用and连接放在等式的右边,得到的等式为:块4:=块1and块2and块3。
59.遍历等式中的所有块,如果块是由触点、线圈或者指令基本元素组成的,直接将基本元素替换等式中的块,示例程序中的块1,块3和块4都是由基本元素组成,替换后得到的
等式为:o:=a and块2and c
60.图5示出了本发明示例程序中的复杂块进行并联线划分的示意图;等式中的复杂块为块2,复杂块按平行线划分成若干条并联的线,如图5所示,本实施例中的块2是由两条线组成,则将块2看成是线1和线2并联组成的,将线1和线2用or连接后将等式中的块2替换掉,得到等式为:o:=a and(线1or线2)and c。
61.处理等式中的线,将线上的元素按块串联组成线的原则将元素划分为块,块可以是由基本元素组成,也可以看成是基本元素组成的复杂块,按图5所示,等式中的线1和线2都只能划分为各自一个块,用块将等式中的线替换掉,得到的等式为:o:=a and(块1_线1or块1_线2)and c。
62.重复前面的步骤,遍历等式中的块的组成,发现等式中的块都是由基本元素(触点)组成的,将等式中的块使用基本元素替换后得到的等式为:
63.o:=a and(b or d)and c
64.检查等式,直到所有的块和线都被梯形图中的基本元素替换,程序结束。至此图1所示的程序段转换为结构化文本得到的等式为:
65.o:=a and(b or d)and c。
66.图6示出了本发明复杂程序段的示意图;该复杂程序段按图5的步骤流程来转化,发现图6中有两个表示结束的线圈,所以最终得到的结构化广本中,会有两个等式,等式的左边是o1和o2。分别处理每一条线,按串联块组成线,并联线组成块的原则,循环处理,将串联元素用and连接,并联元素用or连接的方式,将梯形图中的所有元素都放置至等式中,得到的等式就是梯形图所代表的结构化文本逻辑。图6示例的复杂梯形图得到的两个结构化文本等式为:
67.o1:=(h or(d or i)and c)and(b or e or f or g)and a
68.o2:=not((b or e or f or g)and a)
69.通过本方法的过程,可以使用一种统一的处理方式,使用递归循环等方式,将工程师编写的梯形图工程转化为结构化文本程序,无需考虑工程是否复杂,梯形图的组合结构是否复杂,本方法都可以将其转化成对应的结构化文本。
70.最后,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,在不脱离本发明构思的前提下还可以作出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本发明的权利要求书范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜