三菱PLC技术完全攻略
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 PLC的编程语言

PLC的编程语言目前常用的主要有以下几种。

(1)梯形图(Ladder Diagram,简写LAD)

LAD是最常用的PLC图形编程语言。梯形图与“继电器-接触器”控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂熟悉“继电器-接触器”的电气人员掌握,它特别适用于开关量逻辑控制。有时也把梯形图称为电路或程序。梯形图示例如图1-41所示。

图1-41 梯形图示例

LAD由触点、线圈和用方框表示的功能块组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等;线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流接触器和内部的输出条件等;功能块用来表示定时器、计数器或者数学运算等附加指令。

在分析梯形图中的逻辑关系时,为了借用“继电器-接触器”控制系统电路图的分析方法,可以想像左右两侧垂直母线(右侧垂直母线可省略)之间有一个“左正右负”的直流电源,当梯形图中X1的触点接通,有一个假想的“能流”(Power Flow)流过Y1的线圈。利用能流这一概念,可以直观、形象、更好地理解和分析梯形图,能流只能从左向右流动。

在西门子PLC中,把触点和线圈等组成的独立电路称为网络(Network),用编程软件生成的梯形图和语句表程序中有网络编号,允许以网络为单位,给梯形图加注释。在网络中,程序的逻辑运算按从左到右的方向执行,与能流的方向一致。各网络按从上创下的顺序执行,执行完成所有的网络后,返回到最上面的网络重新执行。使用编程软件可以直接生成和编辑梯形图,并将它下载到PLC中。

(2)指令表

用梯形图等图形编程虽然直观、简便,但要求PLC配置LRT显示器方可能输入图形符号。在许多小型、微型PLC的编程器中没有LRT屏幕显示,或没有较大的液晶屏幕显示,就只能用一系列PLC操作命令组成的指令程序将梯形图控制逻辑描述出来,并通过编程器输入到PLC中去。

PLC的指令表(语句表、指令字程序、助记符语言)是由若干条PLC指令组成的程序。PLC的指令类似于计算机汇编语言的形式,它是用指令的助记符来编程的。但是PLC的指令系统远比计算机汇编语言的指令系统简单得多。PLC一般有二十多条基本逻辑指令,可以编制出能替代继电器控制系统的梯形图。因此,指令表也是一种应用很广的编程语言。

PLC中最基本的运算是逻辑运算,最常用的指令是逻辑运算指令,如“与”、“或”、“非”等。这些指令再加上“输入”、“输出”和“结束”等指令,就构成了PLC的基本指令。不同厂家的PLC,指令的助记符不相同。如FX系列PLC常见指令的助记符为:

LD/LDI表示逻辑操作开始,分别为常开触点/常闭触点与左母线连接;

AND/ANI表示逻辑“与”/“与反”,分别为常开触点/常闭触点与左边的触点相串联;

OR/ORI表示逻辑“或”/“或反”,分别为常开触点/常闭触点与上边的触点相并联;

ANB/ORB表示逻辑块“与”/“或”;

…………

END表示程序结束。

指令表是梯形图的派生语言,它保持了梯形图的简单、易懂的特点,并且键入方便、编程灵活。但是指令表不如梯形图形象、直观,较难阅读,其中的逻辑关系也很难一眼看出。所以在设计时一般多使用梯形图语言;而在使用指令表编程时,也是先根据控制要求编出梯形图,然后根据梯形图转换成指令表后再写入PLC中,这种转换的规则是很简单的。在用户程序存储器中,指令按步序号顺序排列。

指令表比较适合熟悉PLC和逻辑程序设计的经验丰富的程序员,指令表可以实现某些不能用LAD或FBD实现的功能。

(3)顺序功能图(Sequential Function Chart,简写SFC)

这是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。

SFC提供了一种组织程序的图形方法,在顺序功能图中可以用别的语言嵌套编程。步、转换和动作是顺序功能图中的几种主要元件,步是一种逻辑块,即对应于特定的控制任务的编程逻辑;动作是控制任务的独立部分;转换是从一个任务变换到另一个任务的原因或条件。如图1-42所示。可以用顺序功能图来描述系统的功能,根据它可以很容易地编写出梯形图程序。

图1-42 顺序功能图

(4)功能块图

功能块图是一种类似于数字逻辑电路的编程语言,有数字电路基础的人很容易掌握。该编程语言用类似“与门”、“或门”、“非门”的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,信号是自左向右流动的。功能块图如图4-43所示。

图1-43 功能块图

(5)结构文本(Structured Text,简写ST)及其他高级编程语言

结构文本是为IEC1131-3标准创建的一种专用的高级编程语言,与FBD相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。

目前也有一些PLC可用BASIC和C等高级语言进行编程,但使用尚不普遍,本书从略。

虽然PLC有5种编程语言,但在FX2N PLC的编程软件中,用户只可以选用LAD、FBD和STL这三种编程语言,其中FBD不常用。STL程序较难阅读,其中的逻辑关系很难一眼看出,所以在设计复杂的开关量控制程序时一般都使用LAD语言。但STL可以处理某些不能用LAD处理的问题,且STL输入方便快捷,还可以为每一条语句加上注释,便于复杂程序的阅读。在设计通信、数学运算等高级应用程序时建议使用语句表语言。LAD程序中输入信号与输出信号之间的逻辑关系一目了然,易于理解,与“继电器-接触器”控制系统电路图的表达方式极为相似,设计开关量控制程序时建议选用LAD语言。