在NEZA系列PLC中,常用功能块指令有定时器、计数器、鼓形控制器、移位寄存器、步进计数器五种

  • 格式:doc
  • 大小:317.50 KB
  • 文档页数:17

4.2.3 常用功能块指令在NEZA系列PLC中,常用功能块指令有定时器、计数器、鼓形控制器、移位寄存器、步进计数器五种。

使用这些指令可以很容易地实现生产现场中的定时计数控制及各种步进控制。

一、定时器功能块指令%TMi定时器功能块犹如电气控制线路中的时间继电器,可以用来按时间原则控制电动机的启动、停止或其它电气设备的工作。

首先让我们来做一个三台电动机分时启动、同时停机的实验。

实验电路接线如图4-16所示。

图中KM1、KM2、KM3分别驱动三台电动机,SB1、SB2分别为启动按钮和停车按钮。

接好线后,请将图4-17所示三台电动机分时启动的PLC梯形图程序下载到PLC的程序存储器中,并将PLC置运行状态。

揿下启动按钮SB1,观察三台电动机L1、L2、L3的运行情况,再揿一下停车按钮SB2,观察是否停车。

在图4-17所示的三台电动机分时启动梯形图程序中,%TM0及%TM1功能块就是我们本节课要研究讨论的定时器功能块%TIMi。

1、定时器功能块指令%Tmi的编程格式定时器功能块的编程格式如图4-18所示。

图中各参数说明如下:1)%TM0表示默认的第0个定时器功能块,在NEZA PLC中,定时器功能块共有32个,即%TIM0~%TIM31。

2)IN为定时器启动控制输入信号,每当IN由0变1(由OFF变ON)时,定时器启动。

3)Q为定时器输出信号。

4)TYPE表示定时器的类型。

在NEZA PLC中,定时器类型分为通电延时闭合型TON、断电延时断开型TOF和脉冲输出型TP三种,默认为TON型。

各类型的具体功能见后面的叙述。

5)TB表示定时分辨率。

在NEZAPLC中,定时分辨率可设置为1min、1s、100ms、10ms和1ms五种,系统默认为1min。

6)ADJ表示定时器的预设值是否可改变,若允许改变设置为Y,否则设置为N,系统默认为Y。

7)%Tmi.P表示定时器的预设值,默认为9999,可在0~9999之间任选。

2、定时器功能块指令%Tmi的功能1)通电延时闭合定时器TON的功能当定时器启动控制信号IN由OFF变ON时,定时器开始以TB为时基进行计时,当定时器的当前值%Tmi.V达到定时器的预设值%Tmi.P时,定时器输出Q由OFF变ON;当定时器启动信号IN由ON变OFF时,定时器%TIMi复位,即当前值%Tmi.V置0、输出位%Tmi.Q变OFF。

其动作时序图如图4-19所示。

2)断电延时断开定时器TOF的功能当定时器启动控制信号IN由OFF变ON时,定时器输出Q由OFF变ON,定时器当前值%Tmi.V置0;当定时器启动信号IN由ON变OFF时,定时器开始以TB为时基进行计时,当定时器的当前值%Tmi.V达到定时器的预设值%Tmi.P时,输出位%Tmi.Q由ON变OFF。

其动作时序图如图4-20所示。

3)脉冲输出定时器TP的功能当定时器启动控制信号IN由OFF变ON时,定时器开始以TB为时基进行定时,同时定时器输出Q由OFF变ON;当定时器的当前值%Tmi.V达到定时器的预设值%Tmi.P时,定时器输出Q由ON变OFF,此时若IN为ON,则保持%Tmi.V等于%Tmi.P,若IN为OFF,则%Tmi.V等于0;定时器一旦启动,在设定值时间内不论IN发生多少次ON/OFF改变,均不会影响定时器的输出Q。

其动作时序如图4-21所示。

3、定时器应用举例三台电动机分时启动控制程序分析按下启动按钮K0(%I0.0),输出位%Q0.1得电并自锁,驱动第一台电动机启动。

第一台电动机启动时,定时器%TM0启动,经5s延时,定时器输出%TM0.Q置位,使输出位%Q0.2得电,驱动第二台电动机启动。

第二台电动机启动时,定时器%TM1启动,再经5s延时,定时器输出%TM1.Q置位,使输出位%Q0.3得电,驱动第三台电动机启动。

按下停车按钮K1(%I0.1),输出位%Q0.1断电使第一台电动机脱离电源,同时定时器%TM0复位,输出位%Q0.2断电使第二台电动机脱离电源,同时也使%TM1复位%Q0.3断电,使第三台电动机脱离电源。

PLC程序的停车控制过程在一个扫描周期内完成。

例:方波发生器梯形图程序的编制假设方波通过%Q0.0输出,其周期为2s钟。

%I0.0为启动按钮,%I0.1为停止按钮。

试编写其梯形图程序。

编写这类程序,通常采用逻辑推理法,也就是根据方波输出的需要,推断产生方波的各种条件,并通过PLC指令实现之。

本例中要考虑的主要问题,一是方波发生器的启动停止问题,二是方波输出的周期控制问题,三是方波输出的问题。

只要解决了这三个问题,程序也就相应地编写出来了。

首先我们来看一下第一个问题。

方波发生器的启停应有一个标志信号,这一标志信号为ON表示方波发生器工作,而这一标志信号为OFF则表示方波发生器不工作,为此需要引入一个启停标志位%M0。

启停标志位%M0与启停控制按钮信号(%I0.0和%I0.1)相配合便可实现方波发生器的启停控制。

图4-22所示RUNG 0程序段即满足上述要求。

第二个问题是要解决方波的周期问题。

因方波的周期与时间有关,故首先可考虑使用PLC的定时器功能来完成。

这样在启动方波发生器标志%M0后,可通过该标志启动一个定时器%TM0。

定时器%TM0选择TON类型,分辨率选择为10ms,预设值%TM0.P设置为100,则在%M0启动后,定时器%TM0便开始定时,经1s钟延时定时器输出位%TM0.Q置位,产生一个1s钟信号。

这个1s钟信号,可用于控制方波的输出,应该每秒钟产生一个,为此需引入一个内部位%M1来控制该信号的不断发出。

图4-22所示RUNG 1程序段即可满足这一要求。

有了方波控制信号后,需进一步研究方波的输出问题。

上述方波控制信号%M1是一个只有一个扫描周期宽度的脉冲信号,怎样把这一信号转换为方波输出,这就要利用到PLC周期扫描的工作原理。

利用这一原理,可在第一个脉冲信号到来时启动方波输出位%Q0.0,而在第二个脉冲信号到来时停止方波输出位%Q0.0。

这一工作过程可通过图4-22所示RUNG 2程序段来实现。

改变定时器%TM0的预设置%TM0.P,可改变方波发生器输出方波的周期,本例周期值为2s。

二、计数器功能块指令%Ci计数器功能块指令%Ci可用于对产品数量及工作次数进行计数控制。

下面我们做一个灯光闪烁20次自动停止的实验。

实验电路如图4-23所示,图中SB1、SB2分别为启动按钮和停止按钮,L为闪光灯。

按图4-23接好线后,将图4-24所示梯形图程序编辑下载到PLC中,并使其进入运行状态,分别揿按SB1与SB2,观察运行结果。

在此程序中,自动闪烁20次的计数控制就是由计数器功能块指令%Ci来完成的。

1、计数器功能块指令%Ci的编程格式计数器功能块的编程格式如图4-25所示,它有四个输入信号和三个输出信号,另还有两个参数需要设置。

图中各参数说明如下:1)%Ci表示第I个计数器功能块,在NEZA系列PLC中,计数器功能块共有16个,即I=0~15。

2)R为计数器复位输入信号,每当R由0变1(由OFF变ON)时,计数器的当前值%Ci.V被置0。

3)S为计数器置位输入信号,每当S由0变1(由OFF变ON)时,计数器的当前值%Ci.V被置1。

4)CU为计数器的加计数输入信号,当CU信号的上升沿出现时,计数器进行加计数操作。

5)CD为计数器的减计数输入信号,当CD信号的上升沿出现时,计数器进行减计数操作。

6)E为计数器下溢出标志输出位,当减计数器%Ci从0变为9999时,%Ci.E=1。

7)D为计数器的输出位,当计数器的当前值%Ci.V=预设值%Ci.P时,%Ci.D=1。

8)F为计数器上溢出标志输出位,当加计数器%Ci从9999变为0时,%Ci.F=1。

9)ADJ用于设置计数器的预设值是否允许改变,若允许改变设置为Y,否则设置为N,系统默认为Y。

10)%Ci.P表示计数器的预设值,默认为9999,可在0~9999之间任选。

2、计数器功能块%Ci的功能计数器功能块指令%Ci具有加计数器、减计数器及加/减计数器的功能。

1)加计数器当加计数器的输入条件CU出现一个上升沿时,计数器的当前值%Ci.V将加1。

当计数器的当前值%Ci.V等于预设值%Ci.P时,计数器的输出位%Ci.D将由0变1。

当计数器的当前值%CV达到9999后再加1,则当前值%Ci.V将变为0,满输出位%Ci.F将置1。

在满输出位%Ci.F置1以后,若计数器继续增加,则输出位%Ci.D 复位。

2)减计数器当减计数器的输入条件CD出现一个上升沿时,计数器的当前值%Ci.V将减1。

当计数器的当前值%Ci.V等于预设值%Ci.P时,计数器的输出位%Ci.D将由0变1。

当计数器的当前值%CV达到0后再减1,则当前值%Ci.V将变为9999,空输出位%Ci.E将置1。

在空输出位%Ci.E置1以后,若计数器继续减少,则输出位%Ci.D 复位。

3)加/减计数器若同时对加计数输入CU和减计数输入CD进行编程,则将组成一个加/减计数器。

加/减计数器分别对加计数输入CU和减计数输入CD信号进行加/减计数处理,若CU、CD同时输入,则计数器当前值保持不变。

4)计数器的复位当复位输入R由0变1时,计数器的当前值%Ci.V被强制为0,其他各位也被强制为0。

5)计数器的置位当置位输入S由0变1时,计数器的当前值%Ci.V被强制等于预设值%Ci.P,且输出位%Ci.D置1。

3、计数器功能块指令%Ci应用举例图4-24所示闪光20次自动停止的程序中,闪光控制部分由RUNG0、RUNG1、RUNG2来完成,这部分程序就是我们上一节里分析过的方波发生器程序,而闪光20次自动停止的控制则是通过RUNG3来实现。

为了实现闪光20次自动停止的控制功能,我们首先需考虑对输出位%Q0.0进行20次的计数,为此要采用计数器功能块指令%Ci。

由图4-24程序可知,%Q0.0作为计数器功能块的加计数输入信号,计数器预设值%C3.P为20。

那么,当计数器的当前值%C3.V等于预设值%C3.P时,怎样才能实现闪光的自动停止?根据计数器功能块指令的功能,当计数器的当前值等于预设值时,计数器的输出位%Ci.D 将置1的原理,我们可以利用计数器的输出位%C3.D来控制闪光的停止。

为此,在程序RUNG0梯级中串联了%C3.D的常闭接点,一旦计数器%C3的当前值等于预设值,%C3.D常闭接点将断开,从而实现闪光20次自动停止的要求。

在图4-24程序RUNG3梯级中,计数器%C3的复位输入端并联了%I0.1和%C3.D 两个常开接点,其作用是保证下一次闪光程序的正常启动。

若灯光闪烁20次停止后,若不能将计数器自动复位,则闪光控制将不能启动,为此设置%C3.D作为计数器的复位输入;若闪光在中途被人为(使用%I0.1)停止,则再次启动闪光时,闪光次数将不能保证为20次,为此设置%I0.0也作为计数器的复位输入。