PLC的软件由系统程序和用户程序组成。
系统程序由PLC制造厂商设计编写的,并存入PLC的系统存储器中,用户不能直接读写与更改。系统程序一般包括系统诊断程序、输入处理程序、编译程序、信息传送程序、监控程序等。
PLC的用户程序是用户利用PLC的编程语言,根据控制要求编制的程序。在PLC的应用中,最重要的是用PLC的编程语言来编写用户程序,以实现控制目的。由于PLC是专门为工业控制而开发的装置,其主要使用者是广大电气技术人员,为了满足他们的传统习惯和掌握能力,PLC的主要编程语言采用比计算机语言相对简单、易懂、形象的专用语言。
PLC编程语言是多种多样的,对于不同生产厂家、不同系列的PLC产品采用的编程语言的表达方式也不相同,但基本上可归纳两种类型:一是采用字符表达方式的编程语言,如语句表等;二是采用图形符号表达方式编程语言,如梯形图等。
以下简要介绍几种常见的PLC编程语言。
1.梯形图语言
梯形图语言是在传统电器控制系统中常用的接触器、继电器等图形表达符号的基础上演变而来的。它与电器控制线路图相似,继承了传统电器控制逻辑中使用的框架结构、逻辑运算方式和输入输出形式,具有形象、直观、实用的特点。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是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.逻辑图语言
逻辑图是一种类似于数字逻辑电路结构的编程语言,由与门、或门、非门、定时器、计数器、触发器等逻辑符号组成。有数字电路基础的电气技术人员较容易掌握
4.功能表图语言
功能表图语言(SFC语言)是一种较新的编程方法,又称状态转移图语言。它将一个完整的控制过程分为若干阶段,各阶段具有不同的动作,阶段间有一定的转换条件,转换条件满足就实现阶段转移,上一阶段动作结束,下一阶段动作开始。是用功能表图的方式来表达一个控制过程,对于顺序控制系统特别适用。
5.高级语言
随着PLC技术的发展,为了增强PLC的运算、数据处理及通信等功能,以上编程语言无法很好地满足要求。近年来推出的PLC,尤其是大型PLC,都可用高级语言,如BASIC语言、C语言、PASCAL语言等进行编程。采用高级语言后,用户可以像使用普通微型计算机一样操作PLC,使PLC的各种功能得到更好的发挥。