1.4 PLC的编程语言
PLC是一种由软件驱动的控制设备,PLC软件由系统程序和用户程序组成。系统程序由PLC制造厂商设计编制,并写入PLC内部的ROM中,用户无法修改。用户程序是由用户根据控制需要编制的程序,再写入PLC存储器中。
写一篇相同内容的文章,既可以采用中文,也可以采用英文,还可以使用法文。同样,编制PLC用户程序也可以使用多种语言。PLC常用的编程语言主要有梯形图(LAD)、功能块图(FBD)和指令语句表(STL)等,其中梯形图语言最为常用。
1.4.1 梯形图(LAD)
梯形图采用类似传统继电器控制电路的符号来编程,用梯形图编制的程序具有形象、直观、实用的特点,因此这种编程语言成为电气工程人员应用最广泛的PLC编程语言。
下面对相同功能的继电器控制电路与梯形图程序进行比较,具体如图1-11所示。
图1-11 继电器控制电路与梯形图程序的比较
图1-11(a)所示为继电器控制电路,当SB1闭合时,继电器KA0线圈得电,KA0自锁触点闭合,锁定KA0线圈得电;当SB2断开时,KA0线圈失电,KA0自锁触点断开,解除锁定;当SB3闭合时,继电器KA1线圈得电。
图1-11(b)所示为梯形图程序,当常开触点I0.1闭合时,左母线产生的能流(可理解为电流)经I0.1和常闭触点I0.2流经输出继电器Q0.0线圈到达右母线(西门子PLC梯形图程序省去右母线),Q0.0自锁触点闭合,锁定Q0.0线圈得电;当常闭触点I0.2断开时,Q0.0线圈失电,Q0.0自锁触点断开,解除锁定;当常开触点I0.3闭合时,继电器Q0.1线圈得电。
不难看出,两种图的表达方式很相似,不过梯形图程序使用的继电器是由软件实现的,使用和修改灵活方便;而继电器控制电路采用实际元件,拆换元件更改线路比较麻烦。
1.4.2 功能块图(FBD)
功能块图采用了类似数字逻辑电路的符号来编程,对于具有数字电路基础的人很容易掌握这种语言。图1-12所示为功能相同的梯形图程序与功能块图程序,在功能块图中,左端为输入端,右端为输出端,输入、输出端的小圆圈表示“非运算”。
图1-12 梯形图程序与功能块图程序的比较
1.4.3 指令语句表(STL)
语句表语言与微型计算机采用的汇编语言类似,也采用助记符形式编程。在使用简易编程器对PLC进行编程时,一般采用语句表语言,这主要是因为简易编程器显示屏很小,难以采用梯形图语言编程。图1-13所示为功能相同的梯形图程序与指令语句表程序。不难看出,指令语句表就像是描述绘制梯形图的文字,它主要由指令助记符和操作数组成。
图1-13 梯形图程序与指令语句表程序的比较