顺序控制器

第二节 顺序控制器



  所谓顺序控制,即根据生产工艺预先规定的顺序(程序或条件),使生产过程的各执行机构在输入信号的作用下,有条不紊地、自动地顺序动作。前面所述的继电接触器所组成的自动控制线路就是一种简单的、纸级的顺序控制。这种顺序控制起于本世纪20年代,其控制逻辑是通过固定接线来完成的,所以,通用性和灵活性差,而且由于触点繁多,使得控制线路的可靠性也差。随着半导体逻辑元件的产生,50年代出现了无触点的半导体逻辑控制电路,大大提高了电路的可靠性。但因仍是固定接线,所以,电路的通用性和灵活性问题仍未得到解决。

  随着电子技术的发展,电子计算机已广泛地用于各种自动化生产过程,极大地提高了控制系统的灵活性和通用性。但是,在工业生产中,大量存在的是一些简单的中、小型控制设备,而且它们大都属于开关量的控制,不需要复杂的数字运算,如果采用通用型计算机来完成,显然是“大材小用”。于是,人们就寻找了一种结构比计算机简单、价格比计算机便宜的自动化控制装置-顺序控制器。可见,顺序控制器是介于继电器控制电路、半导体逻辑控制电路和电子计算机控制之间的控制系统。随着生产的发展,顺序控制器将日益被印刷自动控制线路所采用,对于装订机械的自动化、联动化来 说,顺序控制器有着十分重要的意义及使用价值。

  顺序控制器又称顺序控制器,它可分为矩阵式顺序控制器和可编程序控制器。

一、矩阵式顺序控制器



  矩阵式顺序控制器可分为基本逻辑顺序控制器和步进式顺序控制器。

  1.基本逻辑式顺序控制器。基本逻辑式顺序控制器是从继电接触器控制系统演变而来的,它的核心部分是二极管矩阵板。在矩阵板上利用二极管的组合逻辑对条件信号灵活地进行“与”、“或”、“非”的逻辑组合,通过输出部分推动执行机构,形成程序控制。它与继电器控制系统相比,其灵活性和通用性虽有提高,但由于编程仍是以继电器控制系统为基础,而且所有执行电器都是同时接到同一个电源上,每个电器的通电与断电是依靠二极管矩阵的逻辑组合来实现的,无记忆功能。因此,对于输入、输出点数较多,工艺过程比较复杂的生产自动线,用这种控制器来编程时是相当麻烦的,限于篇幅,在此,它的编程方法不作介绍。

  2.步进式顺序控制器。步进式顺序控制器的控制原理是步进控制,它的核心部分是步进器,即分配器。利用步进器进行分步控制,对每个程序步,在输入、输出矩阵板中用二极管进行逻辑组合,从而形成程序控制。可见,基本逻辑式顺序控制器和步进式顺序控制器的编程都是通过硬件来实现的,即由二极管在矩阵板中的选择性安插来实现的。所不同的是步进式顺序控制器设置了一个通用的记忆电路,使这个记忆电路具备自锁、联锁、记忆等功能,取代了基本逻辑式顺序控制器中与之相应的大量的二极管。给机械设备的执行元件提供工作电压时,每步只向一个输出线圈供电,对不该动作的继电器均断电即可,避免了控制系统中繁琐的逻辑关系组合,使程序编制大大简化。

  这种以通用记忆电路(步进器)为核心构成的矩阵式顺序控制器称为步进式顺序控制器。它可分为条件步进式和时间步进式两种。前者是以生产过程的动作完成信号(如限位开关的动作信号)作为程序转换信号;后者是以顺序控制器自身的计时、定时信号作为程序转换信号。下面以条件步进式顺序控制器为例介绍其结构和原理。

  (1)基本结构。步进式顺序控制器是在基本逻辑式顺序控制器的基础上改进而成的,所以,它除具有基本逻辑式的组成部分外,还具有控制电源分配的步进器。图3-5所示是条件步进式顺序控制器的框图结构,它由输入电路、输出电路、输入矩阵、输出矩阵、联锁矩阵和步进器等部分组成。现将各部分的作用简述如下:



图3-5 条件步进式顺序控制器的框图结构


  ①输入电路和输出电路。输入电路和输出电路的组成和作用与基本逻辑式控制器中的相同。输入电路主要起“转换站”的作用,即把反映现场工作状态的检测信号,用以控制执行机构,如接通接触器,使电机主回路接通或接通电磁阀线圈,使气阀或油阀动作。

  ②矩阵板。条件步进式矩阵板,一般分为输入矩阵、输出矩阵和联锁矩阵。输入矩阵的作用是产生换步信号。现场发出“动作完成”信号后,通过它的运算判断,产生一个程序转换信号,使步进器进入下一步工作。输出矩阵的主要任务是分配每步程序,并按先后顺序控制执行电器的动作。联锁矩阵是利用旁路原理,对输出矩阵送给输出继电器的电信号增加控制条件,以按照生产自动线中某些机构所需的特殊要求进行动作。

  ③步进器。步进器是步进式控制器的核心部件,它的作用是根据程序转换信号实现自动移动,即步进器各位的输出端依次产生高电平,使电源依次给该动作的继电器供电。所以,它是整个控制装置的指挥中心,其实质是起着一个分配器的作用。

  步进器分为机械式步进器和电子式步进器,目前,广泛应用的是由数字集成电路构成的电子式步进器。各种型式的触发器,如D触发器、JK触发器、RS触发器等,均可构成电子式步进器。

  图3-6所示是由D触发器所组成的N位步进器的逻辑图,其连结是将前一位的Q端与后一位的D端相联,构成N位的移位寄存器,但由于最后一位(第N位)触发器的输出端Q与第一位的D端连接,移位寄存器就变成了环形计数器。所以图3-6是D触发器组成的环形计数式步进器,各位触发器的R端为清“0”线,各位触发器的S端为置“1”线,且由手动开关控制。CP脉冲上升沿到来时,如果D=1,则触发器置“1”(即Q=1);反之,如果D=0,则触发器置“0”(即Q=0),因此可以用某位Ci=1去控制相应工序的电路接通电源而动作,其它工序的电路均断电。由此可见,系统需要多少个程序,步进器就需要多少只D触发器。



图3-6 D触发器组成的步进器


  由于D触发器的高电平只有3.6V,而且触发器在高电位时,负载能力很低,为此,在步进器输出端接有一反相放大器(如F1、F2…FN),用放大器进行电平转换和功率放大,可提高负载能力。

  (2)应用举例。

  例3-5 编制小车自动往返运动的条件步进式顺序控制器。

  小车自动往返运动的示意图如图3-7所示,系统的程序步只有两步:第一步从原位(起点)前进到终点(由继电器KM1控制),第二步从终点返回至原位(由继电器KM2控制),然后周而复始地进入下去。并要求既能自动换步,又能手动换步。

  因动作只有两步,所以步进器是由两个D触发器组成。用行程开关SQa、SQb将现场动作信号传给输入矩阵(SQa装在起点处,SQb装在终点处),关入单稳态产生触发脉冲CP,使步进器输出一个高电位;由输出矩阵将步进器提供的工作电压,提供给KM1或KM2,从而使执行部件动作。

  图3-8所示是小车自动往返运动的条件步进式顺序控制器,图中选择开关S用于手动控制,按钮开关SB用于对步进器清零,可停止清洗过程。



图3-7 小车自动往返运动示意图


  其动作顺序如下:

  ①清零。按下SB,使步进器为零状态(C1=“0”,C2=“0”)。

  ②将S置于SD1则SD1=“0”,使步进器的C1=“1”(C2仍为“0”),给输出矩阵的1号竖母线提供高电平,使继电器KM得电,小车前进,即程序动格进入第一步。此时,由于SQb未运作,C1端输出的高电位经R和常闭触点SQb至地。所以,CP母线上没有高电位信号。

  ③当第一程序工作完成后(即前进到终点时)现场信号SQb动作,高电位信号被直接送到CP母线上,通过单稳态电路整形放大,输出一个CP脉冲,触发步进器,使C1=“0”,C2=“1”,给KM2提供工作电压,小车后退,即系统转换至第二程序动作。此时C2提供的高电平经R和SQa至地,故CP母线上没有高电位号。

  ④当第二程序动作完毕后(即后退到原位时),现场信号SQa动作,高电位信号被直接送到CP母线上,使步进器触发为C1=“1”,C2=“0”,提供KM1工作电压,小车又前进。如此周而复始,循环工作。

  ⑤如在前进时需停车,可按下SB,则步进器复位到初始状态,控制过程结束。此时若需反转,可将选择开关S置于SD2,则C2=“1”,KM2得电,小车后退。此时若需继续前进,可将选择开关S置于SD1,则C1=“1”,KM1得电,小车继续前进。



图3-8 小车自动返运动的条件步进式程序控制器


  由上述可知:步进器转换程序的关键是正确地发出CP脉冲,且步进器对每一个CP脉冲只能有一个触发器输出高电位,给一条输出矩阵行母线供电。若由于误操作或步进器发生故障,则可能有两个或两个以上的触发器输出高电位,那么将有两个或两个以上的程序同时工作,这样可能发生机械互撞,或造成电源短路,设备损坏等事故。为保证系统的安全工作,避免此类现象发生,在步进式顺序控制器中增加多“1”检测装置,使得当发生两条以上输出矩阵竖母线同时供电时,该装置可以自动将步进器清“0”,同时发出报警信号。

  多“1”检测装置可以用不同的电子电路构成,此处不作介绍,请读者参阅有关资料。

二、可编程序控制器-PC



  矩阵式顺序控制器的编程是通过硬件来实现的,而可编程序控制器,其编程是通过软件来实现的,故又称为指令式顺序控制器。这种控制器的灵活性和通用性在矩阵式控制器的基础上前进了一大步。世界上第一台可编程序控制器是由美国DEC公司研制而成的,是以二进制逻辑运算为主,专为工业环境下应用而设计的工业控制器,当时被称为可编程序逻辑控制器(Programmable Logic Controller),简称PLC。由于微电子技术的不断发展,PLC的功能不断增强,从最初的逻辑运算发展到能进行各种数字运算、数据处理和程序控制,成为整个生产过程中,设备控制的多功能控制器。因此,现普遍称其为可编程序控制器,简称PC。

  1.PC的组成和各部分的作用。可编程序控制器PC由中央处理器CPU、存贮器(包括系统存贮器和用户存贮器)、输入单元、输出单元、编程器、外部设备接口6部分组成,如图3-9所示,各部分的作用如下:



图3-9 可编程序控制器(PC)的框图结构


  (1)CPU的作用。CPU称为中央处理单元,它是可编程序控制器的核心部分,即称为系统电脑。它按PC中系统程序赋予的功能,接收并存贮从编程器输入的用户程序和数据,用扫描的方式接收现场输入装置的状态或数据,并存入数据存贮器中的输入状态表。PC进入运行状态后,它又能从存贮器中逐条读取用户程序的指令所规定的任务,产生相应的控制信号去启闭有关的门电路,分时、分渠道地去执行数据的存取、传送和处理等动作,完成用户程序中规定的逻辑运算等任务。根据其运算动果,更新有关标志位的状态和输出状态寄存器表的内容,再由输出状态表的位状态或数据寄存器的有关内容实现输出控制。

  微型PC一般用单片机或单板机作为CPU。

  (2)存贮器。存贮器分为系统存贮器(ROM)和用户存贮器(RAM)。

  ①系统存贮器。系统存贮器主要用于存放系统程序。系统程序是制造厂家在研制系统时确定的,它和机器的硬件组成(包括一些专用芯片的特性)有关,在机器使用过程中是不可变动的。因此,系统程序在机器出厂时由制造厂用PROM存贮器做成,用户不能访问和修改。

  ②用户存贮器。用户存贮器主要是用来存放用户程序或数据,故用户存贮器又分为用户程序存贮器和数据存贮器两部分。用户程序存贮器专门用于存放用户编制的程序;用户数据存贮器则存放与程序有关的输入、输出“触点”和内部“触点”、“线圈”的状态以及特殊的功能要求。

  用户存贮器目前常用的有CMOS RAM、EPROM和EEPROM,其中CMOS RAM一般用锂电池作备用电源,一旦停电,可由锂电池共电,以免RAM中数据丢失。

  可编程序控制器PC的用户存贮器也是由存贮单元组成,每一个存贮单元可等效成一个继电器(线圈或触点),这个继电器称为软继电器(不是真正的硬继电器,而是与继电器等效)。如某存贮单元状态为“1”时,相当于继电器常开触点闭合(常闭触点断开)或相当于线圈通电;其状态为“0”时,相当于常开触点断开(常闭触点复位)或相当于线圈失电。以实现有触点的继电器与无触点而具有开关状态的开关电路相对应。

  为了增大PC输出信号的功率,以适用于驱动PC外部的负载,PC一般采用软继电器输出,这些软继电器称为输出继电器,也称为输出点,专门用于存放输入装置状态的软继电器称为输入继电器,也称为输入点。如OMRONC60P可编程控制器中有80个输入点和80个输出点。点的组合称为通道,一般一个通道包括16个点。

  (3)输入单元和输出单元。输入、输出单元是CPU与现场输入、输出装置的连接部件。它可将CPU与外部用户设备相隔离,以防止电磁干扰影响CPU运行,CPU通过I/O对外部设备状态(通或断)进行响应。输入单元的功能主要是感受来自输入端子上的现场信号,并把电平转换成内部电路所能接受的值。输出单元的功能主要是把来自用户数据存贮器中输出点的信号转换成能驱动现场输出装置的信号。

  小型PC的输入、输出单元与主机装在同一个机箱内,大中型PC的输入、输出单元则大都以模块的形式单独装置。

  (4)编程器。编程器是可编程序控制器(PC)编程程序、实现人机对话的主要工具之一,利用编程器上的数字键和功能键,可把用户编制的程序写入并存贮在PC内的用户存贮器RAM内,并进行调试和监视,同时还可调用和显示PC的一些内部状态和系统参数。

  2.PC的工作过程。PC的工作过程大致可以分为:执行用户程序、I/O刷新、编程器服务、监控定时器复位以及附加强制I/O服务等几个部分。

  执行用户程序,即CPU从首地址开始按次序逐个扫描所有存贮器地址、执行全部用户程序。执行完用户程度后,所有的运算结果都存在I/O状态表中(I/O状态表是PC中的一个重要概念。PC在RAM区中开辟一个区,专门用作存贮输入信号与输出信号的状态,逻辑运算时的输入信号是从I/O状态表中得到的,运算后的结果也立刻送入I/O状态表中的相应位)。要实现PC控制,必须将传感器信号存入输入状态表,将要控制的信号从状态表上送到执行元件上,这一动作过程称为I/O刷新。编程器服务即可进行输入程序、调试、检查程序等工作。在编程器服务后,CPU进行对内部硬件检查,并使监控定时器复位。监控定时器是一个预置一定时间的专用定时器,它的作用是确保存贮器或内部线路的故障不致引起CPU无限次循环。如果在一定时间之内一次没有扫描完,将封锁硬件,切断输出。当内存检查结束后,CPU回到扫描的开始端,继续从程序的首地址按序扫描进行逻辑运算。

  3.可编程控制器(PC)程序的编制。在编程之前要画出流程图,如果是工业控制用PC,编程前可使用一种由继电器控制电路演变而来的的梯形图进行设计和编程。

  PC程序的设计一般要经过两个步骤:即设计梯形图和指令编程。

  (1)梯形图的设计。设计梯形图是一种编程方式,图3-10所示是继电器接触控制电路图(也称为梯形图),其中图3-10a使用的是真正的继电器(硬继电器),它是通过硬接线来实现的;PC的梯形图,如图3-10b所示,使用的是内部继电器(软继电器),是由软件实现的,其使用更方便,修改更灵活。



图3-10 梯形图


  梯形图格式如下:

  ①每个梯形图网络由多个梯级组成,每个输出元素(输出线圈)可构成一个梯级,每个梯级可由多个支路组成。通常每个支路可容纳11个编程元素,输出元素置于最右边,每个网络最多允许16条支路。

  ②PC的梯形图从上至下按行绘制,两侧的竖线类似电器控制图的电源线,称作母线(BUS、BAR)。每行从左至右,左侧总是安排输入接点,并且把并联接点多的支路靠近最左端,不允许输出线圈单独成行。

  ③输入接点不论是外部的按钮、行程开关、还是继电器触点,在图形符号上一律用“”表示常开,用“”表示常闭,而不计及其物理属性,输出线圈用圆形或椭圆形表示。如图3-10b所示。

  ④在梯形图中每个编程元素应按一定的规则加标字母数字串或数字串,不同的编程元素常用不同的字母符号和一定的数字串表示。

  (2)指令与编程。使用指令编程则是另一种编程方式,不同的机种其指令系统也不相同,下面以OMRON SYSMAC系列产品C20P-C60P为例,介绍各条指令及其编程方法。

  ①基本指令。参见表3-1。

  表3-1 基本指令




指令 梯形图符号 语句 功能
LD LD XO 逻辑行或逻辑块开始,串联常开触点。
LD NOT LD NOT X2 逻辑行或逻辑块开始,串联常闭触点。
AND ADN X1 “与”运算,串联常开触点。
AND NOT AND NOT X2 “与”算,串联常闭触点。
OR OR X1 “或”运算,并联常开触点。
OR NOT OR NOT X2 “或”运算,并联常闭触点。
OUT   OUT X I/O输出,内部继电器输出。
END END 表示程序结束(对于PC,程序中若无该语句,一概不予执行)。


  例3-6 正、反向互锁电路梯形图的设计与编程梯形图如图3-11所示,其程序见框图。



图3-11 正、反向互锁电路的梯形图及程序


  由框中程序可知:PC梯形图中的每个逻辑元件都对应一条程序语句,程序语句的结构为地址+指令+数据。

  如程序中最左边一列数字串000-0010为指令地址,最右边一列数字串为数据,中间一列字母串为指令。地址部分即为存放指令和数据的存贮单元的地址,每一地址指示一条语句,每一条语句为一个字(由两个字节组成,其中高位字节为指令部分,低位字节为数据部分);指令部分是控制CPU进行相应的处理,具有指定逻辑操作功能;数据部分是指定梯形图中元件定义号。编码时应当按从左至右,从上至下的顺序进行。

  ②复合指令。

  a.AND LD指令。该指令在梯形图中用于若干并联触点组之间的串联,称块“与”指令。

  b.OR LD指令。该指令在梯形图中用于若干串联触点组之间的并联,称块“或”指令。

  例3-7 复合指令的编程。梯形图如图3-12所示,输出线圈0500梯级可用AND LD指令来编程,另一个梯级0501可由OR LD指令来编程,其程序如框图所示。



图3-12 复合指令编程




图3-13 IL和ILC指令编程


  ③门锁指令。

  a.分支和分支结束-IL指令和ILC指令。IL指令和ILC指令一般是一起使用,分别位于一段分支程序的首尾处。因为在梯形图中,有时在某个触点的后面会出现多个逻辑支路,各支路的聚合处是一个结点,如图3-13所示。当触点0001关断时,结点各支路终端的线圈全部失电,即IL和ILC之间的输出继电器线圈全部被锁定在“0”状态;若IL和ILC之间有定时器,则定时器复位;若有计数器、移位寄存器、保持继电器,则均保持当前值。一旦该触点接通时,则上述各线圈的状态由所在支路上的触点态决定,相当于解锁。所以IL指令也为联锁指令。该程序段后,要使用ILC指令,表示联锁已清除,即表示它以后的程序与IL的输入条件(触点0001的通或断)无关。IL和ILC指令编程如图3-13所示。

  编程时应注意:IL后要用LD指令,IL/ILC必须成对使用。

  b.跳转和跳转结束-JMP指令和JME指令。JMP和JME用于控制程序分支。当JMP条件(JMP前的输入状态)为ON时,执行JMP与JME之间的程序。若JMP条件为OFF时,程序转去执行JME后面的指令。此时JMP与JME之间的输出线圈保持现值,TIM、CNT移位寄存器均保持现值,其编程如图3-14所示。



图3-14 JMP和JME指令编程


  在图3-14的梯形图中,触点0001、0002的状态就是JMP的条件,当两触点闭合(ON)时,则JMP和JME之间的所有指令都执行,当两触点断开(OFF)时,则JMP和JME之间的所有指令都不执行,即跳转到JME后的程序去执行,且0500、1000、0501号线圈的状态维持不变。所以,JMP和JME也是一种门锁指令,必须注意,JMP/JME也要成对使用。

  c.门锁继电器-KEEP指令。KEEP指令用于锁存数据,它有两个输入端:即置“1”输入端S(称置位输入端)和置“0”输入端R(称复位输入端)。每个输入端均接有控制触点。当置“1”输入端的控制触点接通时,继电器得电,即使以后断开该触点,继电器状态仍然不变,以完成记忆功能(即锁定);只有当置“0”输入端的控制触点接通时,线圈才复位到失电状态。

  若置“1”端与置“0”端的触点同时接通时,则置“0”端的触点作用优先。门锁电器梯图符号如图3-15所示。



图3-15 门锁继电器梯形图符号




图3-16 KEEP指令编程及程序


  KEEP编程的梯形图和程序如图3-16所示。

  图3-17a所示是一起动、停车和自锁电路的梯形图,显然可用图3-17b所示的KEEP编程梯形图表示,且使编程更为简单。



图3-17 起、停和自锁电路的梯形图


  ④定时器和计数器指令。定时器为递减型。定时器的操作数包括定时器号和设定值(SV)两个数据。当输入条件满足时开始计时;设定时间到时,定时器输出为“ON”。计数器的操作数包括计数器号和设定值两个数据。定时器和计数器号分别对于应于定时器/计数器号区的实际地址。

  a.定时指令-TIM指令和TIMH指令。TIM的最小定时单位为0.1s,定时范围为0-999.9s,设定值取值范围为0-9999,定时精度为0.1s。TIM的梯形图符号如图3-18所示,N为定时编号,SV为定时器的时间设定值。定时器的设定值可以用通道号表示,此时设定值等于通道中的内容(如SV为HR0,即设定值为通道HR0的内容);也可以是直接数(#)。定时器操作为:当定时器的输入为ON时,开始计时,定时到,则定时器输出为ON;否则为OFF。无论何时只要定时器的输入为OFF,定时器输出就为OFF。定时指令和计数指令都只能使用专门的继电器组,这种继电器组共有48个,编号为0-47(即N=0-47),任何一组不得同时作定时和计数。当程序中包含高速计数指令时,47号继电器组就要用作高速继电器,不能再作它用。



图3-18 TIM梯形图符号


  如TIM00定时继电器,设定值为直接数0150(15s),定时继电器TIM00在得电后(触点0002闭合后)开始计时,若定时到(定时器的当前值达到0),则线圈为ON状态,其延时闭合的常开触点TIM00闭合,使输出继电器0500为ON状态。其梯形图及编程方法如图3-19所示。



图3-19 TIM编程举例


  TIMH指令称快速定时器指令。它与一般定时器指令TIM的不同之处在于:TIMH的最小定时单位为0.01s,定时范围为0.00-99.99s,定时精度为±0.01s,如果扫描时间大于10ms,TIMH指令不能执行。TIMH指令的使用方法与TIM相同。

  如果电源发生故障,定时器便会复位,即当前的值回到初始设定值。因此,如果需要在电源发生故障时,保留定时器的当前值,程序中就需要安排一个存贮器记忆定时器电路,详见立石SYSMAC-C系列PLC用户手册,定时时间的设定值为“实际时间s(秒)/0.1”。

  b.计数器指令-CNT指令和CNTR指令。CNT是一个减1计数器。其梯形图符号如图3-20所示,其中CP为计数输入脉冲,R为复位输入信号,N为计数器编号,SV为设定值。该设定值可以是直接数(#),也可以是某个通道的内容。计数器设定值范围为0000-9999。CP端每输入一个脉冲,计数器CNT就从当前值减1(在输入脉冲CP的上升沿到来时计数)。若当前值减至0值,计数器线圈得电,当R端为ON时,计数器才复位为设定值。在计数器设定后,任何超过设定值的计数都无效。当计数器输入和复位输入同时到来时,复位输入优先。此后复位输入消失,计数器进入计数状态,从设定值开始计数。如果发生电源故障,当前的计数值(剩余数值)存入内存,计数器不复位。



图3-20 CNT梯形图符号


  CNT指令编程举例如图3-21所示。



图3-21 CNT指令编程


  图3-21中的计数器线圈号为10,设定的计数值为0008,作为递减型计数器,当触点0002和0003不断闭合时,产生计数脉冲作用于CP端,计数器不断减1,CNT10在当前计数值减到0时,输出端为ON(并保持到复位信号为ON时),则常开触点CNT10闭合,使输出继电器0500得电。

  当复位信号端R的触点0004闭合时,当前值重新变为设定值。此时计数器变为OFF状态,故触点CNT10为断开状态。只要复位信号为ON,CNT10就不能接受计数输入信号。

  CNTR指令是一个可逆计数器指令,或环形计数器指令。它有两个计数输入端:即递增输入ACP和递减输入端SCP,如图3-22所示。当ACP端每出现一个计数脉冲,计数器加1;当SCP端每出现一个计数脉冲,计数器减、;当ACP和SCP两个输入端同时出现计数脉冲时,则不计数。

  作加法计数时,若当前值达到设定值后,再来一个计数脉冲,当前值就回到0,且计数器线圈得电。若在作减法计数时,当前值达到0(从设定定值递减至0)后,再来一个计数脉冲,当前值就回到设定值,且计数器线圈得电。



图3-22 CNTR梯形图符号


  如果复位端R接通,则CNTR计数器也复位到0,此时,只要R端状态不变,ACP端或SCP端的计数脉冲均无效。CNTR编程举例如图2-32所示,可逆计数器CNTR20的设定值为0009,编程次序为:递增输入端、递减输入端及计数器线圈。触点0001每闭合一次,就产生一个CP脉冲,计数器加1;若当前值达到设定值0009时,触点0001再闭合一次,当前值就变为0,计数器线圈得电,触点CNTR20闭合,使输出继电器0501得电;若触点0002闭合时,计数器就减1,使当前值达到0时,触点0002再闭合一次,则当前值就变到设定值0009,计数器线圈得电,触点CNTR20闭合,亦使输出继电器0501得电。如果触点0003闭合,计数器复位到0。



图3-23 CNTR编程举例


  ⑤微分指令-DIFU和DIFD指令。DIFU指令为前沿微分指令。即在输入端检测到一个从OFF→ON的跳变信号时,DIFU输出为ON,且ON时间(脉宽)为一个扫描周期。即DIFU输出一个扫描周期的脉冲。

  DIFD指令为后沿微分指令。即在输入端检测到一个从ON→OFF的跳变信号时,DIFD输出为ON,且ON时间也是一个扫描周期。

  图3-24中0002号点为控制触点,当0002号点由OFF变为ON时,DIFU指令条件满足,0500号线圈得电,且持续时间为一个扫描周期。当0002号点为ON变为OFF时,DIFD指令条件满足,于是0501号线圈得电,持续时间也是一个扫描周期。



图3-24 微分指令编程




图3-25 CMP梯形图符号


  微分指令用于那些在输入变化时只需执行一次的操作。在一个程序中,DIFU和DIFD指令最多只能使用48个。

  ⑥数据比较指令-CMP指令。比较指令CMP用来比较两个通道中的数据,比较的结果(>、=、<)分别使1905、1906、1907号特殊辅助继电器为ON。其梯形图符号如图3-25所示。其中C1为比较数据1,C2为比较数2,、C1、C2可为通道内容或直接数,但C1、C2不能同时为直接数必须有一个是通道内容;无论是通道内容还是直接数,都必须是四位十六进制数。但与定时器或计数器的当前值比较时,直接数应采用BCD码。

  图3-26所示是一个将CMP指令与TIM指令配合使用以实现分段时间控制的梯形图及编程方法。定时器设定值为300(相当于30s时间),CMP指令的一个数据用定时器的当前值,另一个数据用直接数#0100(相当于10s)。



图3-26 CMP指令编程


  当输入触点0002接通时,定时器TIM00开始计时(从设定值开始递减1),若计时10s,与直接数相比较,二者相等时,则1906号继电器变为ON,于是,输出继电器1001得电,使0500号输出线圈得电并自锁;若计时少于10s,则1907号继电器为“ON”;若计时多于10s,1905号继电器为ON(1905、1907图中未用);若定时器计时30s(当前值为0)时,定时器线圈得电,则常开触点TIM00为ON,使输出继电器线圈0501通电。CMP指令一般用于越限报警等处理程序中。

  ⑦数据移位指令-SFT指令和WSFT指令。

  a.数据串行移位指令-SFT指令。将指定通道中的数据根据需要左移一位或若干位(向高位移一位或若干位),也可以把几个通道连起来一起移位。

  该指令使用的是一个移位寄存器,它有3个输入端,其中IN为数据9或称信号)的最低位输入端,CP为位移时钟脉冲,R为复位(或置“0”)输入端,B为移位开始通道号,E为移位结束通道号。B<=E,并且B和E必须在同一个数据区。当P端每接收一个移位时钟脉冲上升沿时,数据输入IN端的状态将被移入B通道的最低位,B至E的所有通道中的数据依次左移一位。当复位输入端R为ON时,将使B至E通道的所有位均置“0”。

  如图3-27所示的梯形图中,移位开始通道号和结束通道号都是9,表示移位限于0号通道中进行。若0004触点ON一次,即向CP端输入一个脉冲信号,此时将读入0003触点的状态。若0003触点为ON,则SFT进行一次数据的移位寄存(从第一位0900开始寄存)。当信号时(即0005触点为ON时),上述移位寄存的数据全被置“0”。



图3-27 SFT编程


  在四色机的2、3、4色顺序控制信号移位寄存器中,使用的是两级移位寄存器,其移位寄存是10-11两个通道内的32位数据,即1115。当移位寄存至最后一位数据1115时,纸张已经到达收纸部位。

  b.数据并行移位指令-WSFT指令。该指令与SFT指令不同之处在于:它进行的是以通道为单位的并行移位,即开始通道的每位数据向结速通道依次移动一个字(16位),即将开始通道的每位数据一齐移到相邻通道的对应数位中去,而相邻通道的原数据又一齐移向下一个相邻通道的对应数位上,直到最后一个通道(与结束通道相邻的通道)的原数据一齐移到结束通道的对应位上。开始通道中以0补充,结束通道中的数据将丢失。可见,WSFT指令又称为字移位指令。其梯形图符号如图3-28所示。其中B、E与SFT指令中的一致。



图3-28 WSFT梯形图符号


  图3-29所示的梯形图中开始通道B为DM10,结束通道F为DM12。当触点0002为ON时,DIFU0500为ON,触点0500为ON,DM10中的16位数据移到DM11中的相应位上,而DM11中原有的数据则移到DM12中的相应位上。当0002触点变为OFF焊,DIFD0501为ON,使输出0504为ON,其编程如图3-29所示。



图3-29 WSFT编程举例


  ⑧置进位标志指令STC和清进位标志指令CLC。STC指令是向进位标志位输出“1”,即进位标志继电器1904变ON;CLC指令是向进位标志位输出“0”,即使进位标志继电器1904变OFF。在任何加、减或移位操作之前应先执行CLC指令,用作运算前的清零,以确保运算结果准确。

[时间:2001-11-20  作者:杨皋 张长峰  来源:《印刷设备电路与控制》·第三章 印刷设备中常用的控制电路]

黄品青微站