PLC编程实用指南(第3版)
上QQ阅读APP看书,第一时间看更新

2.1 PLC顺序控制概述

2.1.1 顺序控制类型

可从不同角度进行顺序控制分类如下:

1.按人工干预情况分

(1)手动控制

如控制的实现主要靠人工,则称这种控制为手动控制。它是最常用、最基本的控制。手动控制是用主令器件(如按钮)直接向系统发送命令,实现控制。

(2)半自动控制

半自动控制是,一旦系统人工起动,系统工作,其过程的展开是自动实现的,无须人工干预。但过程结束时,系统将自动停车。若再使系统工作,还需人工起动。

(3)自动控制

自动控制是,一旦系统人工起动,系统工作,其过程的展开是自动实现的,无须人工干预。而且可周而复始地循环进行。若要使系统停止工作,则要人工另送入停车信号,或运用预设的停车信号。

一个系统,往往都具有这3种控制。有时系统较复杂,可能无自动控制,或者也无半自动控制,但手动控制总是有的。作为一种目标,总是要力求能对系统进行半自动,以至自动控制。

手动控制较简单,弄清了手动输入与工作输出关系就好处理了。半自动控制不仅有手动输入,还有工作过程的反馈输入,之间关系也较复杂。半自动控制既是控制要达到的基本目标,也是实现自动控制的基础。因为有了半自动控制,只要在其循环末了,加上再起动的环节就可以了。而仅从控制角度考虑,加入这个环节是不困难的。

2.按逻辑问题的性质分

(1)组合逻辑

没有输出反馈,也不使用如计数器、定时器等具有记忆功能的组件,有的称转换机构(对PLC还有RS触发器),不对输入的历史加以记录,输出仅与输入的当前状况有关,而与输入的历史状况无关。最简单的组合逻辑例子算是一般家庭用开关控制照明的电路。所控制的电灯亮与否仅与开关的当前状态有关,而与开关的历史状态无关。

(2)时序逻辑

有输出反馈,或使用如RS触发器、计数器、定时器等具有记忆功能的组件,有的称转换机构(对PLC还有RS触发器、计数器等),对输入的历史加以记录,输出不仅与输入的当前状况有关,而且还与所记录的输入的历史有关。最简单的时序逻辑例子算是用按钮控制去开动一台机器。所控制的机器是否运转,不仅与按钮当前是否按上有关,还与是否记录到按过的历史有关。

时序逻辑可分为异步时序逻辑与同步时序逻辑。

1)同步时序。有统一的节拍转换脉冲,输入信号改变的作用由节拍脉冲激活予以实现。这可避免在变量变化时其间相互的影响,因而考虑的关系要简单一些。

2)异步时序。无统一的节拍转换脉冲,节拍转换由输入信号的改变予以实现。但变量的变化会相互影响,考虑的关系要复杂一些。

PLC的CPU硬件逻辑电路就是同步时序逻辑。它的工作就是由同步(时钟)脉冲统一控制的。但PLC程序,只能是一条一条地执行。从这个意义上讲,它的逻辑关系不是同步的,而是异步的。但有两点值得注意:

①PLC程序是循环执行,执行后还要靠I/O刷新予以实现。从这个意义上讲,是否也是同步?可否做到指令的执行是异步的,指令的实际作用是同步的?

②PLC有微分指令:上升沿微分,只在被微分量从0到1的那个扫描周期,这个微分输出才为1;下降沿微分,只在被微分量从1到0的那个扫描周期,才为1。可否用这个微分信号做同步脉冲信号,也按同步的方法设计部分梯形图逻辑?

③当然,利用微分指令还可能出现,在执行过程中,先执行的指令造成的一些输出或内部继电器状态改变,而影响后执行指令的逻辑条件,从而导致不同步。能设法避免这个情况的发生吗?

答案是肯定的。这样处理,称异步时序逻辑同步化。怎么实现PLC时序逻辑同步化,将在本章第4节做进一步讨论。

3.按顺序的确定性分

1)确定控制。控制对象工作过程或顺序是确定的,与其对应的控制电路即为确定控制程序。

2)随机控制。如果对象的工作过程或顺序不是确定的,其对应的控制电路即为随机控制。

4.按控制资源与用户关系分

这里用户指对系统服务需求者,资源指系统服务提供者。根据这两者关系顺序控制可分为:

1)单资源单用户。其工作的过程比较单一。尽管控制顺序可以有种种组合,但各有各的资源,各有各的需求。不存在对资源占用的争抢,也没有资源合理利用问题。

2)多资源单用户。如高楼供水系统,一般都备有多个水泵。用水高峰时全部投入运行。用水不多时,只是个别运行。到底哪个个别运行,就有资源合理利用问题。

3)单资源多用户。如一部电梯,多层用户要求服务。特别是在同一时间,有的要电梯上升,而有的要下降。这里就有资源的合理分配问题

4)多资源多用户。多层多电梯控制就是典型实例,情况更复杂。据说当今设计有可供256层使用的电梯群,这群电梯每层有4组(区域),每组4个,即256层每层都有16个电梯可用,而每个电梯都可能有256个用户参与选择。这里资源合理调度及用户公平竞争问题都相当复杂,其控制算法以及控制的实现都不是PLC所能胜任的。据说要用计算机控制,而且一台计算机还不够,还要用到计算机网络。

2.1.2 顺序控制编程方法

1.基本逻辑设计法

基本逻辑设计法是基于逻辑量间的与、或、非的关系,用逻辑综合方法,处理逻辑量的输入与输出间的关系。

顺序控制程序逻辑设计就是根据要求的逻辑量的输入(历史值与当前值)与输出间的对应关系,运用逻辑综合方法,选用PLC的基本逻辑处理指令去设计程序。

本章介绍的基本逻辑设计方法有3个,即组合逻辑设计法、异步时序逻辑设计法及同步时序逻辑设计法。

2.高级逻辑设计法

高级逻辑设计法也是用逻辑综合方法处理逻辑量的输入与输出之间的关系。与基本逻辑设计法不同的是,在逻辑分析时,它不单纯基于逻辑量间的与、或、非的逻辑关系,还要用到逻辑量间的其它的关系。在逻辑综合时,所用的也不仅仅是PLC的基本逻辑处理指令,还要使用到PLC的高级处理指令。

使用这些方法,既可把一些复杂的问题变得简单,而且还可充分利用PLC的资源,设计出效率较高的PLC程序。

本章将介绍的高级逻辑设计法有逻辑标志值法编程及高级指令编程。

3.图解设计法

它是运用图形进行设计。用梯形图语言编程实质也就是图形法,无论什么方法,若把PLC程序等价成梯形图后,就要用到梯形图法。

此外,还有时序图法、流程图法等。

时序图法是根据信号的时序关系画时序图,再根据这个时序图,去分析信号间的关系,进而去设计程序。时序图法很适合于时间顺序关系清晰的顺序控制程序设计。

流程图是用框图按顺序表达PLC输出与输入之间的关系,在使用步进指令或使用顺序功能图编程的情况下,用它是很方便的。

也还有用Petri网建模,进而用以编程。Petri网功能强大,应用很广,PLC的顺序流程图语言就是来源于它。

图解法比较直观,设计过程不易出错,也是人们较爱用的方法之一。

4.工程方法设计

在PLC出现之前,工程上已用了很多顺序控制的方法,也有很多好的机理与做法。如普通金属切削机床的分散控制,就是靠每一动作完成的反馈信号去结束本动作,并启动下一动作。到了所有动作都执行完了,如半自动机床则停车、自动机床则靠最后一个动作的完成信号,去重新启动第一个动作。

对于生产率很高的自动机床,其自动化用的则是集中控制。手段是用分配轴和用机械的办法。机床工作时,分配轴不停地转动,并靠轴上的各种不同形状的凸轮,去控制机床的各部件运动。分配轴转动一周,各部件的运动也完成一个周期,并完成一个工件的加工。机理不复杂,但能完成很复杂的控制。只是这样机床调整比较麻烦。

现代化的、功能很强、性能很高的机床多用混合控制。手段不用机械,而用电、用程序控制。机床按一个个程序(或步)依次工作。各个程序(或步)执行什么动作,可预先设计。而程序(或步)的转换则要靠动作完成的反馈信号触发。得不到反馈信号,程序(或步)将不会往下推进。所以,它既能完成复杂的控制,又能保证安全工作。

如果抛开上述控制的具体过程,把这些机理上升为控制算法,并选择PLC的有关指令予以实现,就有这里讲的分散控制、集中控制及混合控制算法及相应的控制程序。只是以前金属切削机床自动化用的是硬件实现,而如今PLC的这个工程控制用的是软件实现。

(1)分散控制

其控制命令是由分散的动作完成反馈信号提供。分散控制有反馈,工作可靠。其缺点是控制关系复杂,程序量随着动作的增加而增大。

(2)集中控制控制

命令是由集中控制器提供。用这一原则进行控制,其程序容易设计,效率高。有的PLC有凸轮单元或凸轮指令,更为用这种原则的设计提供了方便。其缺点是没有反馈,如果协调不好,或采取的措施不当,系统易出现问题。

(3)混合控制

它的控制命令由集中控制器发出,而什么时候发出命令,则是由分散的反馈信号控制。混合原则把分散与集中原则的优点兼而有之。程序要复杂一些,但程序量不随动作的增加而增加。多用于复杂的顺序控制。图2-1所示是基本混合控制逻辑的原理图。

5.线性链表设计法

图2-2所示为线性链表算法的框图。

978-7-111-56641-0-Chapter03-1.jpg

图2-1 混合控制逻辑原理图

978-7-111-56641-0-Chapter03-2.jpg

图2-2 线性链表算法的框图

从图2-2知,这里有多组数据。在每组数据中,都有标号、设定输入、设定输出及指向的次一标号。当程序启动之后,先启用链表中标号0的数据。用它生成设定输出,再由设定输出产生虚拟输出,进而通过逻辑转换变为实际输出,以进行对系统第一步控制。

生成实际输出后,则等待实际控制效果的反馈。其过程是先把实际反馈输入转换为虚拟输入,再进行虚拟输入与这里的设定输入比较。当这个比较结果一致,则转到次一个标号,停用本标号的数据,启用次一个标号的数据。进而根据次一个标号数据的输出生成新的输出,并等待新的控制效果的反馈。

这个过程重复进行,直到次一个为实现停止功能标号(具体可按约定设置),则过程结束,完成整个顺序控制。