在对整个梯形图程序进行转换时,首先生成nLine(行号)和nDepth 2个全局变量,然后从头开始进行转换,转换完1个梯级后。下1个梯级从第nLine(nLine=nLine+nDepth+1)行开始,直到梯形图文件结束为止。
3.2 指令表转换成梯形图
指令表转换成梯形图的过程就是根据PLC指令语句生成相应的梯形图元素链表的过程。因为梯形图和指令表程序是一一对应的关系,可按照语句对应生成相应的梯形图元素,利用在梯形图向语言表转换文件中已设计好的位图资源,建立标志符和位图之间的相应关系。转换时,将语句表以文件流的方式存入文本文件中,逐行分析,通过适当的算法处理,在视窗中画出对应的梯形图符号,直到文件结束。此外,在转换过程中,需要将程序划分为若干小节,每节对应梯形图中的1个梯级。在指令表中,梯级的划分可根据OUT指令来进行。串并联模块的划分可根据ANB和ORB指令进行。
4、软PLC程序的语法分析
在对PLC程序进行编译时,先将由PLC其他语言编写的程序转化为指令表后再进行处理。程序语言的文法通常包括I组终结符、I组非终结符、1个开始符号和1组产生式。
4.1 软PLC程序的文法设计
软PLC程序文法主要指PLC指令表语言的文法设计,PLC指令表语言与梯形图语言存在一一对应的关系。PLC的指令表程序由若干条语句组成,每条语句包括语句号、操作码和操作数。操作码是PLC指令系统中的指令代码,包括逻辑取、触点串联指令、触点并联指令指令、支路并联指令、支路串联指令和线圈驱动指令。操作数主要是PLC内部的继电器、定时器和计数器。下面是一段PLC指令表例程。
以三菱公司F1系列的逻辑指令为例来说明指令表文法的设计,并选取指令集中的一个子集来作为研究对象,该子集由逻辑取指令(LD,LDI)、触点串联指令(AND,ANI)、触点并联指令(OR,ORI)、支路并联连接指令(ORB)、支路串联连接指令(ANB)和线圈驱动指令(0UT)等基本指令组成。
上一页 [1] [2] [3] [4] [5] [6] 下一页
本文关键字:开发 PLC入门,plc技术 - PLC入门