1.PLC编程语言的国际标准
IEC 61131是IEC(国际电工委员会)制定的PLC标准,其中的第三部分IEC 61131-3是PLC的编程语言标准。IEC 61131-3是世界上第一个,也是至今为止唯一的工业控制系统的编程语言标准。
目前已有越来越多的PLC生产厂家提供符合IEC 61131-3标准的产品,IEC 61131-3已经成为各种工控产品事实上的软件标准。
IEC 61131-3详细地说明了句法、语义和下述5种编程语言(见图2-1):
1)指令表(Instruction List,IL),西门子PLC称为语句表,简称为STL。
图2-1 PLC的编程语言
2)结构文本(Structured Text),西门子PLC称为结构化控制语言,简称为S7-SCL。
3)梯形图(Ladder Diagram,LD),西门子PLC简称为LAD。
4)函数块图(Function Block Diagram),简称为FBD。
5)顺序功能图(Sequential Function Chart,SFC),对应于西门子的S7-Graph。
2.顺序功能图
顺序功能图(SFC)是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。5.4节将详细地介绍S7-Graph。
3.梯形图
梯形图(LAD)是使用得最多的PLC图形编程语言。梯形图与继电器电路图很相似,具有直观易懂的优点,很容易被工厂熟悉继电器控制的电气人员掌握,特别适合于数字量逻辑控制。有时把梯形图称为电路或程序。
梯形图由触点、线圈和用方框表示的指令框组成。触点代表逻辑输入条件,例如外部的开关、按钮和内部条件等。线圈通常代表逻辑运算的结果,常用来控制外部的负载和内部的标志位等。指令框用来表示定时器、计数器或者数学运算等指令。
触点和线圈等组成的电路称为程序段,英语名称为Network(网络),STEP 7自动地为程序段编号。可以在程序段编号的右边加上程序段的标题,在程序段编号的下面为程序段加上注释(见图2-2)。单击编辑器工具栏上的按钮,可以显示或关闭程序段的注释。
在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象在梯形图的左右两侧垂直“电源线”之间有一个左正右负的直流电源电压,当图2-2中I0.0与I0.1的触点同时接通,或Q0.0与I0.1的触点同时接通时,有一个假想的“能流”(Power Flow)流过Q0.0的线圈。利用能流这一概念,可以借用继电器电路的术语和分析方法,帮助我们更好地理解和分析梯形图。能流只能从左往右流动。
程序段内的逻辑运算按从左往右的方向执行,与能流的方向一致。如果没有跳转指令,程序段之间按从上到下的顺序执行,执行完所有的程序段后,下一次扫描循环返回最上面的程序段1,重新开始执行。(www.xing528.com)
4.函数块图
函数块图(FBD)使用类似于数字电路的图形逻辑符号来表示控制逻辑,有数字电路基础的人很容易掌握。国内很少有人使用函数块图语言。
图2-3是图2-2中的梯形图对应的函数块图,图2-3同时显示绝对地址和符号地址。
图2-2 梯形图
图2-3 函数块图
在函数块图中,用类似于与门(带有符号“&”)、或门(带有符号“>=1”)的方框来表示逻辑运算关系,方框的左边为逻辑运算的输入变量,右边为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。指令框用来表示一些复杂的功能,例如数学运算等。
5.SCL
SCL(Structured Control Language,结构化控制语言)是一种基于Pascal的高级编程语言。SCL除了包含PLC的典型元素(例如输入、输出、定时器或存储器位)外,还包含高级编程语言中的表达式、赋值运算和运算符。SCL提供了简便的指令进行程序控制。例如创建程序分支、循环或跳转。SCL尤其适用于下列应用领域:数据管理、过程优化、配方管理和数学计算、统计任务。5.5节将详细地介绍SCL语言。
6.语句表
语句表(STL,见图2-4)是一种类似于微机的汇编语言的文本语言,多条语句组成一个程序段。语句表比较适合经验丰富的程序员使用。
图2-4 语句表
7.编程语言的选择与切换
S7-1200只能使用梯形图、函数块图和SCL,S7-1500可以使用上述5种编程语言。在“添加新块”对话框中,S7-1200的代码块可以选择LAD、FBD和SCL,S7-1500的代码块可以选择LAD、FBD、STL和SCL。生成S7-1500的函数块(FB)时还可以选择GRAPH。
右键单击项目树中PLC的“程序块”文件夹中的某个代码块,选中快捷菜单中的“切换编程语言”,单击需要切换的编程语言。也可以在程序块的属性对话框的“常规”条目中切换。编程语言的切换是有限制的,S7-1200/1500的LAD和FBD可以互换,但是不能切换为STL,SCL和GRAPH不能切换为其他编程语言。
右键单击S7-1500的LAD或FBD程序块中的某个程序段,执行快捷菜单命令,可以在该程序段的下面插入一个STL程序段。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。