第2章 S7-1200程序设计基础
2.1 S7-1200的编程语言
S7-1200使用梯形图(LAD)、函数块图(FBD)和结构化控制语言(SCL)这三种编程语言。
1.梯形图
梯形图(LAD)是使用得最多的PLC图形编程语言。梯形图与继电器电路图很相似,具有直观易懂的优点,很容易被工厂熟悉继电器控制的电气人员掌握,特别适用于数字量逻辑控制。有时把梯形图称为电路或程序。
梯形图由触点、线圈和用方框表示的指令框组成。触点代表逻辑输入条件,例如外部的开关、按钮和内部条件等。线圈通常代表逻辑运算的结果,常用来控制外部的负载和内部的标志位等。指令框用来表示定时器、计数器或者数学运算等指令。
触点和线圈等组成的电路称为程序段,英语名称为Network(网络),STEP 7自动地为程序段编号。可以在程序段编号的右边加上程序段的标题,在程序段编号下面为程序段加上注释(见图2-1)。单击编辑器工具栏上的按钮,可以显示或关闭程序段的注释。
在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象在梯形图的左右两侧垂直“电源线”之间有一个左正右负的直流电源电压,当图2-1中I0.0与I0.1的触点同时接通,或Q0.0与I0.1的触点同时接通时,有一个假想的“能流”(Power Flow)流过Q0.0的线圈。利用能流这一概念,可以借用继电器电路的术语和分析方法,帮助我们更好地理解和分析梯形图。能流只能从左往右流动。
程序段内的逻辑运算按从左往右的方向执行,与能流的方向一致。如果没有跳转指令,程序段之间按从上到下的顺序执行,执行完所有的程序段后,下一次扫描循环返回最上面的程序段1,重新开始执行。
2.函数块图
函数块图(FBD)使用类似于数字电路的图形逻辑符号来表示控制逻辑,有数字电路基础的人很容易掌握。国内很少有人使用函数块图语言。
图2-2是图2-1中的梯形图对应的函数块图,图2-2同时显示绝对地址和符号地址。
图2-1 梯形图
图2-2 函数块图
在函数块图中,用类似于与门(带有符号“&”)、或门(带有符号“>=1”)的方框来表示逻辑运算关系,方框的左边为逻辑运算的输入变量,右边为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。指令框用来表示一些复杂的功能,例如数学运算等。
3.结构化控制语言
结构化控制语言(Structured Control Language,SCL)是一种基于PASCAL的高级编程语言。这种语言基于IEC 1131-3标准。SCL除了包含PLC的典型元素(例如输入、输出、定时器或位存储器)外,还包含高级编程语言中的表达式、赋值运算和运算符。SCL提供了简便的指令进行程序控制,例如创建程序分支、循环或跳转。SCL尤其适用于下列应用领域:数据管理、过程优化、配方管理和数学计算、统计任务。
4.编程语言的切换
右击项目树中PLC的“程序块”文件夹中的某个代码块,选中快捷菜单中的“切换编程语言”,LAD和FDB语言可以相互切换。只能在“添加新块”对话框中选择SCL语言。