2.5 可编程控制器的编程语言
PLC的用户程序是用户利用PLC的编程语言,根据控制要求编制的程序。在PLC的应用中,最重要的是用PLC的编程语言来编写用户程序,以实现控制目的。由于PLC是专门为工业控制而开发的装置,其主要使用者是广大电气技术人员,为了满足他们的传统习惯和掌握能力,PLC的主要编程语言采用比计算机语言相对简单、易懂、形象的专用语言。
PLC编程语言是多种多样的,对于不同生产厂家、不同系列的PLC产品采用的编程语言的表达方式也不相同,但基本上可归纳为两种类型:一是采用字符表达方式的编程语言,如语句表等;二是采用图形符号表达方式的编程语言,如梯形图等。
以下简要介绍几种常见的PLC编程语言。
1)梯形图语言
梯形图语言是在传统电气控制系统中常用的接触器、继电器等图形表达符号的基础上演变而来的。它与电气控制线路图相似,继承了传统电气控制逻辑中使用的框架结构、逻辑运算方式和I/O形式,具有形象、直观、实用的特点。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是PLC的第一编程语言。
如图2-9所示是传统的电气控制线路图和PLC梯形图。
从图中可看出,两种图表示思想基本上是一致的,具体表达方式有一定区别。PLC的梯形图使用的是内部继电器、定时/计数器等,都是由软件来实现的,使用方便,修改灵活,是原电气控制线路硬接线无法比拟的。
图2-9 电气控制线路图与梯形图
梯形图程序所表达的控制逻辑关系是和继电器线路基本一致的,梯形图中的符号、
和
分别代表控制线路中的常开触点(或常开按钮)、常闭触点(或常闭按钮)和继电器线圈,每一个触点和线圈均给出一个对应的编号。不同产品型号的PLC机,其编号规定不同,但表达的含义是相同的。梯形图虽与继电器线路很相似,但梯形图在实际应用中仍有其严格的规定,具体规定可有如下几点:
(1)梯形图按自上而下、从左到右的顺序进行排列。以一个继电器线圈为一个控制逻辑行(即为一阶梯层)。每一条逻辑行都起始于左母线,终止于继电器线圈,右母线通常可以省略不画。
(2)梯形图中母线的意义类似于继电器线路中的电源线,但它不产生实际的物理电流,而只是假想在梯形图中有“电流”流动,我们称之为“概念电流”。概念电流在梯形图中只能做从左向右的单向流动,改变层次也只能先上后下。
(3)梯形图由若干“梯层”组成。每个梯层由若干条并联支路组成。每条支路又由若干个编程符号串联组成。支路或符号的最大串联、并联数都是有一定限制的,具体PLC产品有不同的规定。
(4)梯形图中的继电器线圈不是继电控制电路中的物理继电器,而是与内存映像区中的某一位相对应的,因此称之为“软继电器”。如果梯形图中某继电器的线圈“通电”或触点“闭合”,则映像区中对应存储器的状态为高电平“1”;反之,则为低电平“0”。
梯形图中的继电器又分为输出继电器和内部继电器。输出继电器所对应的映像存储器中的信号状态(“1”或“0”),可以通过I/O接口去驱动外部负载。内部继电器包括辅助继电器、定时器、计数器、寄存器等,它们所对应的映像存储器中的信号状态(“1”或“0”),只可在编程中供梯形图内部使用,不能用作输出控制。
(5)输入继电器仅供PLC接受外部的输入信号,而不能用内部其他继电器的触点来驱动或输入信号。所以,梯形图中只出现输入继电器的触点,不会出现输入继电器的线圈。梯形图中输入继电器的触点闭合表示信号输入。
(6)在梯形图程序中,继电器线圈一般情况下只能出现一次。而继电器触点在编程时则可无限次引用,且既可以是常开触点,也可以是常闭触点。
(7)PLC运行时是按照梯形图符号排列顺序自上而下、从左向右执行程序的,即PLC是按照扫描方式顺序执行梯形图程序的。因此不会出现几条并列支路同时动作的情况,使得梯形图设计大为简化。
2)语句表语言
这种编程语言是一种与汇编语言类似的助记符编程表达方式。在PLC应用中,经常采用简易编程器,而这种编程器中没有CRT屏幕显示,或没有较大的液晶屏幕显示。因此,就用一系列PLC操作命令组成的语句表将梯形图描述出来,再通过简易编程器输入到PLC中。虽然各个PLC生产厂家的语句表形式不尽相同,但其基本功能相差无几。下面是与图2-7(b)中梯形图对应的语句表程序(FX系列)。
序号 指 令 数 据
0 LD X1
1 OR Y0
2 ANI X2
3 OUT Y0
4 LD X3
5 OUT Y1
可以看出,语句是语句表程序的基本单元,每个语句和微机一样,也由地址(步序号)、操作码(指令)和操作数(数据)三部分组成。
3)逻辑图语言
逻辑图是一种类似于数字逻辑电路结构的编程语言,由与门、或门、非门、定时器、计数器、触发器等逻辑符号组成。有数字电路基础的电气技术人员较容易掌握,如图2-10所示。
4)顺序功能图编程语言
图2-10 逻辑图语言编程
顺序功能图编程语言(SFC语言)是一种较新的编程方法,又称状态转移图语言。它将一个完整的控制过程分为若干阶段,各阶段具有不同的动作,阶段间有一定的转换条件,转换条件满足就实现阶段转移,上一阶段动作结束,下一阶段动作开始。是用顺序功能图的方式来表达一个控制过程,对于顺序控制系统特别适用。
5)高级语言
随着PLC技术的发展,为了增强PLC的运算、数据处理及通信等功能,以上编程语言无法很好地满足要求。近年来推出的PLC,尤其是大型PLC,都可用高级语言,如BASIC语言、C语言、PASCAL语言等进行编程。采用高级语言后,用户可以像使用普通微型计算机一样操作PLC,使PLC的各种功能得到更好的发挥。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。