购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2.2 PLC的编程语言

IEC(国际电工委员会)的PLC编程语言标准(IEC61131-3)中有 5 种编程语言:顺序功能(Sequential Function Chart,SFC)、梯形图(Ladder Diagram,LD)、功能块图(Function Block Diagram,FBD)、指令表(Instruction List,IL)和结构文本(Structured Text,ST)。

其中的顺序功能图(SFC)、梯形图(LD)和功能块图(FBD)是图形编程语言,指令表(IL)和结构文本(ST)是文字语言。

目前已有越来越多的PLC生产厂家提供符合IEC 61131-3 标准的产品,有的厂家推出的在个人计算机上运行的“软PLC”软件包也是按IEC 61131-3 标准设计的。

1.顺序功能图

顺序功能图(SFC)是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。顺序功能图提供了一种组织程序的图形方法,在其中可以用其他语言嵌套编程。步、转换和动作是顺序功能图中三种主要的元件(如图 1-5 所示)。顺序功能图用来描述开关量控制系统的功能,根据它可以很容易地画出顺序控制梯形图程序。

2.梯形图

梯形图(LD)是使用最广泛的PLC图形编程语言。梯形图与继电器控制系统的电路图很相似,直观易懂,很容易被工厂熟悉继电气控制的工作人员掌握,特别适用于开关量逻辑控制。图 1-6 和图 1-7 分别用西门子S7-200 PLC的 3 种编程语言来表示同一逻辑关系。在西门子的说明书中将指令表称为语句表。

图 1-5 顺序功能图

图 1-6 梯形图

图 1-7 功能模块图与语句表

梯形图由触点、线圈和应用指令等组成。触点代表逻辑输入条件,例如外部的开关、按钮和内部条件等。线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流接触器和内部的输出标志位等。

在分析梯形图中的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧垂直母线之间有一个左正右负的直流电源电压(有时省略了右侧的垂直母线),当图 1-6 中I0.1 与I0.2 的触点接通,或M0.3 与I0.2 的触点接通时,有一个假想的“能流”(Power Flow)流过Q1.1 的线圈。利用能流这一概念,可以帮助我们更好地理解和分析梯形图,能流只能从左向右流动。

3.功能块图

功能块图(FBD)是一种类似于数字逻辑门电路的编程语言,有数字电路基础的人很容易掌握。该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入/输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。图 1-7 中的控制逻辑与图 1-6 中的相同。国内很少有人使用功能块图语言。

4.指令表

PLC的指令是一种与微机的汇编语言中的指令相似的助记符表达式,由指令组成的程序叫做指令表程序。指令表程序较难阅读,其中的逻辑关系很难一眼看出,所以在设计时一般使用梯形图语言。如果使用手持式编程器,必须将梯形图转换成指令表后再写入PLC。在用户程序存储器中,指令按步序号顺序排列。

5.结构文本

结构文本(ST)是为IEC 61131-3 标准创建的一种专用的高级编程语言。与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁、紧凑。

6.编程语言的相互转换与选用

在S7-200 的编程软件中,用户可以选用梯形图、功能块图和语句表来编程,软件编程可以自动切换用户程序使用的编程语言。

梯形图与继电器电路图的表达方式极为相似,梯形图中输入信号与输出信号之间的逻辑关系一目了然,易于理解。语句表程序较难阅读,其中的逻辑关系很难一眼看出。在设计复杂的数字量控制程序时建议使用梯形图语言。但是语句表输入方便快捷,还可以为每一条语句加上注释,便于复杂程序的阅读。在设计通信、数学运算等高级应用程序时,建议使用语句表。

梯形图在一个网络中只能有一块独立电路。在语句表中,几块独立电路对应的语句可以放在一个网络中,但是这样的网络不能转换为梯形图。梯形图程序一定能转换为语句表。

7.SIMATIC指令集与IEC 61131-3 指令集

STEP 7-Micro/WIN编程软件提供了两种指令集:SIMATIC指令集与IEC 61131-3指令集,前者由西门子公司提供,它的某些指令不是IEC 61131-3 中的标准指令。通常SIMATIC指令的执行时间短,可以使用梯形图、功能块图和语句表语言,而IEC 61131-3指令集只提供前两种语言。

IEC 61131-3 指令集的指令较少,其中的某些指令可以接受多种数据格式。例如SIMAT-IC指令集的加法指令分为ADD_I(整数相加)、ADD_DI(双字整数相加)与ADD_R(实数相加)等,IEC 61131-3 的加法指令ADD则未作区分,而是通过检验数据格式,由CPU自动选择正确的指令。因为IEC指令要检查参数中的数据格式,可以减少程序设计中的错误。

在IEC 61131-3 指令编辑器中,有些指令是SIMATIC指令集中的指令,它们作为IEC 61131-3 指令集的非标准扩展,在编程软件的指令树内用红色的“+”号标记。 W1c2Oho3TgQO5pfIpgfZQHEu9u1KVTp4giyWSzRgkA8xoYipxx240W2gNl4x0cvR

点击中间区域
呼出菜单
上一章
目录
下一章
×