PLC是一种由软件驱动的控制设备,PLC软件由系统程序和用户程序组成。系统程序由PLC制造厂商设计编制的,并写入PLC内部的ROM中,用户无法修改。用户程序是由用户根据控制需要编制的程序,再写入PLC存储器中。
写一篇相同内容的文章,既可以采用中文,也可以采用英文,还可以使用法文。同样地,编制PLC用户程序也可以使用多种语言。PLC常用的编程语言有梯形图语言、指令表编程语言和SFC顺序功能图语言,其中梯形图语言最为常用。
梯形图语言采用类似传统继电器控制电路的符号,用梯形图语言编制的梯形图程序具有形象、直观、实用的特点,因此这种编程语言成为电气工程人员应用最广泛的PLC的编程语言。
下面对相同功能的继电器控制电路与梯形图程序进行比较,参见图3-1。
图3-1 继电器控制电路与梯形图程序比较
图3-1(a)为继电器控制电路,当SB1闭合时,继电器KA0线圈得电,KA0自锁触点闭合,锁定KA0线圈得电,当SB2断开时,KA0线圈失电,KA0自锁触点断开,解除锁定,当SB3闭合时,继电器KA1线圈得电。
图3-1(b)为梯形图程序,当常开触点X1闭合(其闭合受输入继电器线圈控制,图中未画出)时,输出继电器Y0线圈得电,Y0自锁触点闭合,锁定Y0线圈得电,当常闭触点X2断开时, Y0线圈失电,Y0自锁触点断开,解除锁定,当常开触点X3闭合时,继电器Y1线圈得电。
不难看出,两种图的表达方式很相似,不过梯形图使用的继电器是由软件来实现的,使用和修改灵活方便,而继电器控制线路硬接线修改比较麻烦。
语句表语言与微型计算机采用的汇编语言类似,也采用助记符形式编程。在使用简易编程器对PLC进行编程时,一般采用语句表语言,这主要是因为简易编程器显示屏很小,难于采用梯形图语言编程。下面是采用语句表语言编写的程序(针对三菱FX系列PLC),其功能与图3-1(b)梯形图程序完全相同。
从上面的程序可以看出,语句表程序就像是描述绘制梯形图的文字。语句表程序由步号、指令、操作数和说明四部分组成,其中说明部分不是必需的,而是为了便于程序的阅读而增加的注释文字,程序运行时不执行说明部分。
SFC顺序功能图语言又称状态转移图语言,是一种较新的编程语言。对于一个复杂的控制系统,特别是顺序控制,由于系统连锁、互动关系较复杂,采用梯形图语言编制会使程序庞大。SFC顺序功能图语言适合编制复杂的顺序控制程序,它将一个完整的控制过程分为若干阶段,各阶段具有不同的动作,阶段间有一定的转换条件,转换条件满足就实现阶段转移,上一阶段动作结束,下一阶段动作开始。
图3-2是一种SFC顺序功能图。
图3-2 一种SFC顺序功能图
除了上述三种编程语言外,还有逻辑图编程语言和高级编程语言等。