首页 理论教育 PLC用户程序:控制任务指令序列及定时器触点应用

PLC用户程序:控制任务指令序列及定时器触点应用

时间:2023-06-29 理论教育 版权反馈
【摘要】:用户程序是由用户编写的,能够完成系统控制任务的指令序列。定时器的常开、常闭触点可以在用户程序中无限次使用。广义上的PLC程序由三部分构成:即用户程序、数据块和参数块。用户程序用户程序是必选项。用户程序在存储器空间中也称为组织块,它处于最高层次,可以管理其他块,它是用各种语言编写的用户程序。

PLC用户程序:控制任务指令序列及定时器触点应用

用户程序是由用户编写的,能够完成系统控制任务的指令序列。不同厂家的PLC会提供不同的指令集,但基本的编程元件和编程形式有许多共同之处。

1.PLC的编程元件

PLC的编程元件也称为逻辑部件,是PLC指令系统中的基本要素,PLC指令系统通常都提供以下逻辑部件:

(1)继电器

输入、输出映像寄存器里的每一位,在指令系统中都对应一个固定的编号,在图形编程语言(例如梯形图语言)中形象地用继电器线圈来表示,因此也常称之为输入继电器、输出继电器。同时为了满足对复杂逻辑关系的编程要求,还提供大量的中间辅助继电器,它们也对应存储器中的某一固定区域。这些继电器都是所谓的“软元件”,它们的状态用一个二进制位就可以表示,1对应“ON”状态,0对应“OFF”状态。

(2)定时器

类似于继电器逻辑电路中的时间继电器,有延时接通、延时断开、脉冲定时等多种形式,可以组成复杂的时间顺序逻辑。定时器指令一般由线圈、定时时间设定值和当前计时值组成,PLC专门在存储器中开辟出一个区域,用以保存各个定时器线圈当前的状态(“ON”或“OFF”)以及时间的设定值和当前值。定时器的常开、常闭触点可以在用户程序中无限次使用。

(3)计数器

软件实现的计数器指令,用于实现脉冲计数功能,有递减计数、递增计数等形式,不同的PLC在计数器数量、计数长度等方面都有所区别。计数器指令一般包含计数器线圈、计数值设定、计数器复位、计数信号输入、当前计数值等。计数器的常开、常闭触点可以在用户程序中无限次使用。

(4)触发器

该指令用于对状态位的置1和清零,状态位即为触发器线圈,它的“ON”状态一旦触发可以自保持,直至复位条件满足才变为“OFF”状态。触发器的常开、常闭触点可以无限次使用。

(5)其他元器件及指令

除上述四种逻辑元件之外,PLC指令系统一般还提供移位寄存器、数据寄存器、边沿检测、比较、运算、ASCII码处理以及数制转换等多种指令。

2.PLC的编程语言

常用的编程语言有梯形图语言、语句表语言、功能块图等。

(1)梯形图语言(LAD)

这是一种使用最广泛的语言,与继电器电路图非常相似,具有直观易懂的优点。前面介绍的编程元件以及它们的线圈语言、触点等,都是基于梯形图语言而言的。下面通过一个简单的继电器逻辑电路和与之对应的梯形图语言程序的对比,来说明梯形图语言的应用,图1-10中,图1-10a为继电器逻辑电路,图1-10b为梯形图语言程序。

图1-10a中的按钮SB11、SB12、SB21、SB22分别接入PLC的数字量输入点X400、X401、X402、X403,在实际接法上均使用按钮的常开触点;接触器线圈KM1、KM2分别由PLC的数字量输出点Y432、Y433驱动。

978-7-111-46052-7-Chapter01-10.jpg

图1-10 梯形图语言(www.xing528.com)

a)继电器逻辑电路 b)梯形图语言程序

由图1-10可见,梯形图的形式与继电器电路图的形式很接近,其逻辑关系也是自上而下、自左而右展开的,左右两条竖线也称为母线。从左母线开始,按照控制要求依次连接各个触点,最后以输出线圈结束,称为一个逻辑行,或一个“梯级”,完整的用户程序就是由若干逻辑行构成的。

在阅读梯形图程序时,可按照继电器电路图纸的阅读习惯,对每一逻辑行来说,假设能量的流动由左母线向右流动,如果各触点的逻辑状态使得“能流”可以达到最右边的线圈,则该线圈的输出状态为“ON”,否则为“OFF”。

在编写梯形图程序时,有一些原则是被普遍遵守的,它们也都是出自继电器电路的设计原则,例如在一个逻辑行中不应串联两个线圈,同一个线圈不应出现在不同逻辑行中等。

(2)语句表语言(STL)

语句表语言(STL)类似于微机汇编语言的助记符语言,由多条语句组成一个程序段,适合于经验丰富的程序员使用,可以实现某些用梯形图难以实现的功能。在使用简易编程器编程时,常常需要将梯形图转换为语句表才能输入PLC。

(3)功能块图(FBD)

利用功能块图(Function Block Diagram)编程语言可以查看到像普通逻辑门图形的逻辑盒指令。它没有梯形图编程器中的触点和线圈,但有与之等价的指令,这些指令是作为盒指令出现的,程序逻辑由这些盒指令之间的连接决定。也就是说,一个指令(例如AND盒)的输出可以用来允许另一条指令(例如定时器),这样可以建立所需要的控制逻辑。这样的连接思想可以解决范围广泛的逻辑问题。FBD编程语言有利于程序流的跟踪,但在目前使用较少。

(4)顺序功能流程图(SFC)

顺序功能流程图(Sequence Function Chart)编程是一种图形化的编程方法,亦称功能图。使用它可以对具有并发、选择等复杂结构的系统进行编程,许多PLC都提供了用于SFC编程的指令。目前,国际电工委员会(IEC)也正在实施并发展这种语言的编程标准。

3.PLC的程序结构

控制一个任务或过程,是通过在RUN方式下,使主机循环扫描并连续执行用户程序来实现的,用户程序决定了一个控制系统的功能。程序的编制可以使用编程软件在计算机或其他专用编程设备中进行(如图形输入设备),也可使用手编器。广义上的PLC程序由三部分构成:即用户程序、数据块和参数块。

(1)用户程序

用户程序是必选项。用户程序在存储器空间中也称为组织块,它处于最高层次,可以管理其他块,它是用各种语言(如STL、LAD或FBD等)编写的用户程序。不同机型的CPU,其程序空间容量也不同。用户程序的结构比较简单,一个完整的用户控制程序应当包含一个主程序、若干子程序和若干中断程序三部分。不同编程设备,对各程序块的安排方法也不同。

(2)数据块

数据块为可选部分,它主要存放控制程序运行所需的数据。

(3)参数块

参数块也是可选部分,它存放的是CPU组态数据,如果在编程软件或其他编程工具上未进行CPU的组态,则系统以默认值进行自动配置。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈