1.1.5 PLC的编程语言
PLC常用的5种编程语言为:梯形图(Ladder Diagram, LD)、指令表(Instruction List, IL)、功能块图(Function Block Diagram, FBD)、顺序功能图(Sequential Function Chart, SFC)、结构文本(Structured Text, ST)。不同公司生产的PLC所使用的编程语言类型不一样,其中最常用的是梯形图和指令表。
1.梯形图
梯形图是使用最多的PLC图形编程语言,示例如图1-4a所示。梯形图与继电器控制系统的电路图相似,具有直观易懂的优点,很容易被工程技术人员所熟悉和掌握。梯形图程序设计语言具有以下特点。
1)梯形图由触点、线圈和用方框表示的功能块组成。
2)梯形图中触点只有常开和常闭,触点可以是PLC输入点接的开关,也可以是PLC内部继电器的触点或内部寄存器、计数器等的状态。
3)梯形图中的触点可以任意串、并联,但线圈只能并联不能串联。
4)内部继电器、内部寄存器等均不能直接控制外部负载,只能作为中间结果使用。
5)PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态锁存器中,所以输出点的值在用户程序中可以作为条件使用。
2.指令表
指令表是使用助记符来书写程序的,又称为语句表,类似于汇编语言,但比汇编语言通俗易懂,属于PLC的基本编程语言,示例如图1-4b所示。它具有以下特点。
1)利用助记符号表示操作功能,容易记忆,便于掌握。
2)在编程设备的键盘上就可以进行编程设计,便于操作。
3)一般PLC程序的梯形图和指令表可以互相转换。
4)部分梯形图及另外几种编程语言无法表达的PLC程序,必须使用指令表才能编程。
3.功能块图
功能块图采用类似于数学逻辑门电路的图形符号,逻辑直观、使用方便,其示例如图1-5所示。该编程语言中的方框左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号从左向右流动。图1-4与图1-5逻辑功能相同。
图1-4 梯形图与指令表
a)梯形图 b)指令表
图1-5 功能块图
功能块图程序设计语言有如下特点。
1)以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易。
2)功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的操作性。
3)对控制规模较大、控制关系较复杂的系统,由于控制功能的关系可以较清楚地表达出来,因此,可以缩短编程和组态时间,也能减少调试时间。
4.顺序功能图
顺序功能图也称为流程图或状态转移图,是一种图形化的功能性说明语言,用于描述工业顺序控制程序,使用它可以对具有并行、选择等复杂结构的系统进行编程。顺序功能图程序设计语言有如下特点。
1)以功能为主线,条理清楚,便于对程序操作的理解和沟通。
2)对大型的程序,可分工设计,采用较为灵活的程序结构,以节省程序设计时间和调试时间。
3)常用于系统规模较大、程序关系较复杂的场合。
4)整个程序的扫描时间较其他程序设计语言编制的程序扫描时间要大大缩短。
5.结构文本
结构文本是一种高级的文本语言,可以用来描述功能、功能块和程序的行为,还可以在顺序功能图中描述步、动作和转换的行为。结构文本程序设计语言有如下特点。
1)采用高级语言进行编程,可以完成较复杂的控制运算。
2)需要有计算机高级程序设计语言的知识和编程技巧,对编程人员要求较高。
3)直观性和易操作性较差。
4)常用于采用功能模块等其他语言较难实现的一些控制功能的实现中。