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