PLC的软件由系统程序和用户程序组成。
PLC编程语言是多种多样的,对于不同生产厂家、不同系列的PLC产品采用的编程语言的表达方式也不相同,但基本上可归纳两种类型:一是采用字符表达方式的编程语言,如语句表等;二是采用图形符号表达方式编程语言,如梯形图等。
以下简要介绍几种常见的PLC编程语言。
1.梯形图语言
梯形图语言是在传统电器控制系统中常用的接触器、继电器等图形表达符号的基础上演变而来的。它与电器控制线路图相似,继承了传统电器控制逻辑中使用的框架结构、逻辑运算方式和输入输出形式,具有形象、直观、实用的特点。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是PLC的第一编程语言。
如图1所示是传统的电器控制线路图和PLC梯形图。
图1 电器控制线路图与梯形图
a) 电器控制线路图 b)PLC梯形图
从图中可看出,两种图基本表示思想是一致的,具体表达方式有一定区别。PLC的梯形图使用的是内部继电器,定时/计数器等,都是由软件来实现的,使用方便,修改灵活,是原电器控制线路硬接线无法比拟的。
2.语句表语言
这种编程语言是一种与汇编语言类似的助记符编程表达方式。在PLC应用中,经常采用简易编程器,而这种编程器中没有CRT屏幕显示,或没有较大的液晶屏幕显示。因此,就用一系列PLC操作命令组成的语句表将梯形图描述出来,再通过简易编程器输入到PLC中。虽然各个PLC生产厂家的语句表形式不尽相同,但基本功能相差无几。以下是与图1中梯形图对应的(FX系列PLC)语句表程序。
步序号 指令 数据
0 LD X1
1 OR Y0
2 ANI X2
3 OUT Y0
4 LD X3
5 OUT Y1
可以看出,语句是语句表程序的基本单元,每个语句和微机一样也由地址(步序号)、操作码(指令)和操作数(数据)三部分组成。
3.逻辑图语言
逻辑图是一种类似于数字逻辑电路结构的编程语言,由与门、或门、非门、定时器、计数器、触发器等逻辑符号组成。有数字电路基础的电气技术人员较容易掌握,如图2 所示。
图2 逻辑图语言编程
4.功能表图语言
功能表图语言(SFC语言)是一种较新的编程方法,又称状态转移图语言。它将一个完整的控制过程分为若干阶段,各阶段具有不同的动作,阶段间有一定的转换条件,转换条件满足就实现阶段转移,上一阶段动作结束,下一阶段动作开始。是用功能表图的方式来表达一个控制过程,对于顺序控制系统特别适用。
5.高级语言
随着PLC技术的发展,为了增强PLC的运算、数据处理及通信等功能,以上编程语言无法很好地满足要求。近年来推出的PLC,尤其是大型PLC,都可用高级语言,如BASIC语言、C语言、PASCAL语言等进行编程。采用高级语言后,用户可以像使用普通微型计算机一样操作PLC,使PLC的各种功能得到更好的发挥。