PLC编程语言有下述5种,常用的是梯形图和语句表这两种。
1.顺序功能图(Sequential Function Chart,简写SFC)
这是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。
SFC提供了一种组织程序的图形方法,在顺序功能图中可以用别的语言嵌套编程。步、转换和动作是顺序功能图中的几种主要元件如图1所示。可以用顺序功能图来描述系统的功能,根据它可以很容易地画出梯形图程序。


图1 顺序功能图中的几种元件
2.梯形图(Ladder Diagram,简写LAD)
LAD由触点、线圈和用方框表示的功能块组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等,线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流接触器和内部的输出条件等。功能块用来表示定时器、计数器或者数学运算等附加指令。
在分析梯形图中的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧垂直母线之间有一个左正右负的直流电源电压,当图2的梯形图中I0.1与I0.2的触点接通,或M0.3与I0.2的触点接通时,有一个假想的“能流”(Power Flow)流过Q1.1的线圈。利用能流这一概念,可以帮助我们更好地理解和分析梯形图,能流只能从左向右流动。


图2 梯形图
触点和线圈等组成的独立电路称为网络(Network),用编程软件生成的梯形图和语句表程序中有网络编号,允许以网络为单位,给梯形图加注释。在网络中,程序的逻辑运算按从左到右的方向执行,与能流的方向一致。各网络按从上到下的顺序执行,执行完成所有的网络后,返回最上面的网络重新执行。使用编程软件可以直接生成和编辑梯形图,并将它下载到PLC中。
3.功能块图(Function Block Diagram,简写FBD)
这是一种类似于数字逻辑门电路的编程语言,有数字电路基础的人很容易掌握。该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。图3所示的功能块图的控制逻辑与图2-12中的相同。国内很少有人使用FBD语言。


图3 功能块图
4.指令表(Instruction List,简写STL)
语句表比较适合熟悉PLC和逻辑程序设计的经验丰富的程序员,语句表可以实现某些不能用LAD或FBD实现的功能。
S7-200 CPU在执行程序时要用到逻辑堆栈,FBD利用FBD编辑器自动地插入处理栈操作所需要的指令。在语句表中,必须由编程人员加入这些堆栈处理指令。
5.结构文本(Structured Text,简写ST)
结构文本是为IEC1131-3标准创建的一种专用的高级编程语言,与FBD相比,它能实现复杂的数学运算,编写的程序非常简捷和紧凑。
虽然PLC有5种编程语言,但在S7-200的编程软件中,用户只可以选用LAD、FBD和STL这三种编程语言,其中FBD不常用。STL程序较难阅读,其中的逻辑关系很难一眼看出,所以在设计复杂的开关量控制程序时一般使用LAD语言。但STL可以处理某些不能用LAD处理的问题,且STL输入方便快捷,还可以为每一条语句加上注释,便于复杂程序的阅读。在设计通信、数学运算等高级应用程序时建议使用语句表语言。LAD程序中输入信号与输出信号之间的逻辑关系一目了然,易于理解,与继电器电路图的表达方式极为相似,设计开关量控制程序时建议选用LAD语言。
边实践边学习是最快的方法,我的经验。
边实践边学习是最快的方法,我的经验。