在NEZA系列PLC中常用功能块指令有定时器计数器鼓形控制器移位寄存器步进计数器五种Word格式.docx
《在NEZA系列PLC中常用功能块指令有定时器计数器鼓形控制器移位寄存器步进计数器五种Word格式.docx》由会员分享,可在线阅读,更多相关《在NEZA系列PLC中常用功能块指令有定时器计数器鼓形控制器移位寄存器步进计数器五种Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
![在NEZA系列PLC中常用功能块指令有定时器计数器鼓形控制器移位寄存器步进计数器五种Word格式.docx](https://file1.bdocx.com/fileroot1/2023-2/2/7d0dd68f-d83e-4eb2-92eb-04dfc1bf4721/7d0dd68f-d83e-4eb2-92eb-04dfc1bf47211.gif)
当定时器启动信号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所示RUNG0程序段即满足上述要求。
第二个问题是要解决方波的周期问题。
因方波的周期与时间有关,故首先可考虑使用PLC的定时器功能来完成。
这样在启动方波发生器标志%M0后,可通过该标志启动一个定时器%TM0。
定时器%TM0选择TON类型,分辨率选择为10ms,预设值%TM0.P设置为100,则在%M0启动后,定时器%TM0便开始定时,经1s钟延时定时器输出位%TM0.Q置位,产生一个1s钟信号。
这个1s钟信号,可用于控制方波的输出,应该每秒钟产生一个,为此需引入一个内部位%M1来控制该信号的不断发出。
图4-22所示RUNG1程序段即可满足这一要求。
有了方波控制信号后,需进一步研究方波的输出问题。
上述方波控制信号%M1是一个只有一个扫描周期宽度的脉冲信号,怎样把这一信号转换为方波输出,这就要利用到PLC周期扫描的工作原理。
利用这一原理,可在第一个脉冲信号到来时启动方波输出位%Q0.0,而在第二个脉冲信号到来时停止方波输出位%Q0.0。
这一工作过程可通过图4-22所示RUNG2程序段来实现。
改变定时器%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。
当计数器的当前值%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也作为计数器的复位输入。
三、鼓形控制器功能块指令%DRi
鼓形控制器功能块指令%DRi用于代替机电类电子凸轮控制器,由于具有可编程的特点,故使用起来非常灵活。
表4-12动力头驱动元件动作表
YV1
YV2
YV3
行程阀
原位
—
快进
+
一工进
二工进
快退
+/—
对于一个步进系统来说,使用鼓形控制器功能块指令%DRi编程,可使程序得到大大地简化。
下面我们来做一个单工位组合机床动力头控制实验,动力头的工作循环如图4-26所示,执行元件动作表如表4-12所示,实验中所使用的输入输出信号的含义如表4-13所示。
实验电路原理接线图如图4-27所示,实验程序如图4-28所示。
表4-13组合机床PLC控制输入输出信号配置
输入
输出
序号
输入端子
功能
输出端子
1
%I0.0
系统启动按钮SB
5
%Q0.1
快进电磁阀YV1
2
%I0.1
动力头原位开关SQ1
6
%Q0.2
限流电磁阀YV2
3
%I0.2
动力头一工进转二工进开关SQ2
7
%Q0.3
快退电磁阀YV3
4
%I0.3
动力头二工进转快退开关BP
1、鼓形控制器功能块指令%DRi的编程格式
鼓形控制器功能块指令%DRi的梯形图编程格式如图4-29所示。
图中各符号的含义如下:
1)%DRi表示第I个鼓形控制器,在NEZA系列PLC中,共有四个鼓形控制器可用,即I=0~3。
2)R为鼓形控制器的复位输入端,也称回0端。
当其为1时,鼓形控制器回到第0步。
3)U为鼓形控制器的控制输入端,每当其上升沿到来时,鼓形控制器均向前前进一步。
4)F为鼓形控制器的输出端,当鼓形控制器运行到最后一步时,鼓形控制器的该位被置1。
5)STEPS鼓形控制器的控制步数,由编程软件设置。
在NEZA系列PLC中所设置的步数范围为0~7,最多可设置8步。
6)使用鼓形控制器功能块指令时,还需通过软件设置其每一步的控制位(每步最多可设置16位)。
2、鼓形控制器功能块指令%DRi的功能
鼓形控制器功能块指令%DRi最多可设置8个控制步,每个控制步可由16个控制位,当步进控制端U出现上升沿时,鼓形控制器的当前步将向下一步前进一步;
当其回0端R出现上升沿时,鼓形控制器的当前步返回到初始步。
当鼓形控制器运行到最后一步时,其输出位%DRi.F将被置1。
为实现鼓形控制器功能,编程时需对控制步和控制位进行事先设置,其设置界面如图4-30所示。
设置时,要在定义的控制步上进行控制位的选定,同时还需要定义输出位。
在图4-30中,设定的控制步数为4步,每步的输出情况为步0:
%Q0.1,%Q0.2得电;
步1:
%Q0.3,%Q0.2得电;
步2:
%Q0.1,%Q0.5得电;
步3:
%Q0.2,%Q0.7,%Q0.4得电。
3、鼓形控制器功能指令%DRi应用举例
由图4-28动力头控制程序可知,该程序段的表现形式非常简单,只有输入信
号%I0.0、%I0.1、%I0.2、%I0.3编入程序中,而输出信号并没有表现出来,这就是鼓形控制器功能块指令%DRi的最大特点。
在这一段程序中,为了实现对动力头执行器件—电磁阀的控制,须在鼓形控制器功能块指令%DRi编程时进行设置,本例设置的结果如图4-31所示。
本例运行时,若动力头在原位,则%I0.3接通,鼓形控制器被复位,保持在0步状态,此时电磁阀都不得电,动力头处待工作状态;
当%I0.0得电时,鼓形控制器向前前进一步,进入步1状态,此时%Q0.0得电,电磁阀YV1工作,动力头快进;
快进过程中压下行程阀,动力头自动进入一工进状态;
一工进过程中,若压下行程开关SQ2,将使%I0.1得电,鼓形控制器进入步2状态,此时%Q0.0和%Q0.2同时得电,动力头进入二工进状态;
在二工进状态压下行程开关SQ3,将使%I0.2得电,鼓形控制器进入步3状态,此时%Q0.1得电,电磁阀YV2工作,动力头快退;
当动力头快到原位时,压下原位行程开关SQ1,使%I0.3得电,则鼓形控制器回到0位状态,一个工作循环结束。
四、移位寄存器功能块指令%SBRi
移位寄存器功能块指令%SBRi也常用于步进移位控制。
图4-32所示的废品剔除控制就是移位寄存器功能块指令的典型应用。
图中A传送带由工件传送带电动机驱动,工件在传送带上前进以步进方式进行,为检测工件前进的位置,在A传送带滚筒上装有一凸轮配合接近开关实现步进检测,当其废品检测装置P1在1号位置检测到废品时,通过PLC控制,会在6号位置自动通过机械手将其移到废品传送带上,并同时启动废品传送带前进一步。
设SB1为A传送带启动按钮,SB2为系统停止按钮,SQ为步进检测开关,P为废品检测开关,KM1为A传送带驱动,KM2为B传送带驱动,KM3为剔除废品机械手驱动,其实验接线如图4-33所示,对应的梯形图控制程序如图4-34所示。
将图示梯形图编制下载到PLC中,启动PLC,按工艺要求揿有关按钮,观察结果。
1、移位寄存器功能块指令%SBRi的编程格式
移位寄存器功能块指令%SBRi的梯形图编程格式如图4-35所示。
图中:
%SBRi为第I个移位寄存器,在NEZA系列PLC中共有8个移位寄存器可用,故I=0~7;
R为移位寄存器的复位输入信号;
CU为左移位控制输入信号;
CD为右移位控制输入信号。
2、移位寄存器功能块指令%SBRi的功能
当左移位控制输入信号CU的条件满足时,移位寄存器%SBRi的16位二进制数将依次向左移动一位,最高位被丢失。
当右移位控制输入信号CD的条件满足时,移位寄存器%SBRi的16位二进制数将依次向右移动一位,最低位被丢失。
当移位寄存器复位输入信号R的条件满足时,移位寄存器%SBRi中的16位二进制数据全部被清0。
使用移位寄存器指令时,移位寄存器%SBRi中的数据需要通过程序进行预置。
3、移位寄存器功能块指令%SBRi应用举例
在为移位寄存器功能块指令%SBRi编程时,除要考虑对移位寄存器的复位控制及左右移位控制外,还有一个很重要的问题就是移位寄存器中必须要事先设置一定的数据,否则移位寄存器只能空移操作,失去移位控制的意义。
例1废品剔除控制程序分析
在图4-34中,%I0.0、%I0.1用于启停A传送带(%Q0.0),废品检测信号%I0.3用于向移位寄存器输入废品信号,步进检测信号I0.2用于控制废品信号的向前移动,在移位寄存器中,当废品信号达到%SBR0.6位时,恰好废品工件移到6号工位,随即启动机械手(%Q0.1)及B传送带(%Q0.2)将废品一走。
由上分析可知,移位寄存器的作用主要是对废品进行移位跟踪记忆,在一号工位发现废品时,要在六号工位将其剔除。
例2灯亮循环控制程序
设计一个八只彩灯依次点亮一秒并不断循环的控制程序。
设%I0.0为启动点亮输入信号,%I0.1为停止输入信号,%Q0.0~Q0.7为八只彩灯对应的PLC输出。
为实现上述控制要求,本例采用移位寄存器功能块指令%SBRi来实现八只彩灯的自动依次点亮,如图4-36所示。
在编写程序时需考虑以下几个问题:
1)输出激活问题,也就是%Q0.0~%Q0.7由谁来控制的问题。
本例输出采用移位寄存器的位值来控制,即采用%SBRi.0~%SBRi.7来分别接通%Q0.0~%Q0.7,如图4-36梯形图中RUNG5~RUNG12梯级所示。
2)依次点亮问题,即怎样使彩灯一个一个的依次点亮。
本例依次点亮采用移位寄存器的自动移位来实现,移位的控制由定时器功能块指令%TM0与内部位%M1、%M2的配合来完成。
如图4-36梯形图中RUNG1、RUNG2、RUNG4梯级所示。
3)启动及循环控制问题,即按下启动按钮后,怎样实现第一只彩灯的点亮,并不断依次循环下去。
本例采用互锁方法输入第一个信号,如图4-36中RUNG3梯级,当各彩灯依次点亮一次后,又会回到初始状态实现不断循环点亮。
4)停止及复位问题,即按下停止按钮后,怎样实现灯亮的全部停止。
由图4-36所示可知,若停止时不对移位寄存器进行复位,那么会存在移位寄存器中某位仍为1的状态,导致彩灯不能全部熄灭。
为此本例在RUNG4梯级中使用了%I0.1(停止按钮)对移位寄存器进行复位控制,使移位寄存器清0,从而保证了彩灯的全部熄灭。
五、步进计数器功能块指令%SCi
1、步进计数器功能块指令%SCi的格式及功能
步进计数器功能块指令%SCi是实现步进控制的又一功能指令,它的指令格式如图4-37所示,与移位寄存器功能块指令类似,图中:
%SCi为第I个步进计数器。
在NEZA系列PLC中有8个步进计数器,故I=0~7。
R为步进计数器的复位端,当其上升沿出现时,步进计数器清0。
CU为步进计数器的递增输入端,当其上升沿出现时,步进计数器向前递增一步。
CD为步进计数器的递减输入端,当其上升沿出现时,步进计数器向后递减一步。
步进计数器位%SCi.j共有226位(即j=0~225),它们在递增/递减输入信号作用下步进和步退,任意时刻只有一位被激活。
其工作过程如图4-38所示。
2、步进计数器功能块指令%SCi的应用举例
采用步进计数器功能块指令%SCi实现图4-26所示的组合机床动力头控制。
根据表3-9所示的输入输出关系,设计程序如图4-39所示。
图中RUNG0梯级为步进计数器功能块指令%SC1编程。
由程序可知,%I0.1用于复位步进计数器%SC1,这一操作在动力头回到原位时进行;
%I0.0用于在原位(%I0.1=1)时启动动力头工作,使步进计数器的第一步%SC1.1激活;
%I0.2用于实现一工进到二工进的转换,使步进计数器前进,%SC1.2激活、%SC1.1复位;
%I0.3用于实现二工进转快退的操作,使步进计数器再前进一步,%SC1.3激活、%SC1.2复位。
RUNG1梯级用于设置快进标志%M1;
RUNG2梯级用于设置二工进标志%M2;
RUNG3梯级用于实现快退操作;
RUNG4梯级实现快进并与RUNG5梯级一起实现二工进操作。
六、FIFO/LIFO寄存器功能块指令%Ri
FIFO/LIFO寄存器功能块指令%Ri用于按顺序保存有关数据,并在需要时将需要的数据取出。
1、FIFO/LIFO寄存器功能块指令%Ri的格式
FIFO/LIFO寄存器功能块指令%Ri的格式如图4-40所示。
图中符号的意义如下:
%Ri为第I个FIFO/LIFO寄存器,在NEZA系列PLC中共有四个FIFO/LIFO寄存器,即%Ri=%R0~%R3。
R为寄存器复位端,当其上升沿到来时,寄存器复位。
I为寄存器输入控制端,当其上升沿到来时,将输入字%Ri.I的内容存入寄存器中。
O为寄存器输出控制端,当其上升沿到来时,将寄存器中的字根据指令要求(FIFO先进先出或LIFO先进后出)输出到%Ri.O中。
E为寄存器空信号,当寄存器无数据存在时,%Ri.E=1。
F为寄存器满信号,当寄存器已装入16个字后,%Ri.F=1。
TYPEF为寄存器的类型。
当TYPE选择FIFO时,类型提示为TYPEF;
当TYPE选择LIFO时,类型提示为TYPEL。
寄存器类型的选择通过PL707forNeza扩展指令中的%Ri-寄存器来设定,如图4-41所示。
%Ri.I为寄存器输入字,进入寄存器的字值必须首先写入寄存器输入字%Ri.I中。
%Ri.O为寄存器输出字,从寄存器取出的字存入寄存器输出字%Ri.O中。
2、FIFO/LIFO寄存器功能块指令%Ri的功能
1)FIFO(先进先出)功能
当输入控制端I出现上升沿时,将输入字%Ri.I中的值存入寄存器(最顶端)中。
若寄存器已满(%Ri.F=1),则数据不能存入。
当输出控制端O出现上升沿时,将寄存器最底部的数据存入%Ri.O,寄存器中的其他数据自动向下移动一个单元。
若寄存器已空(%Ri.E=1),则不能从寄存器中取出数据,%Ri.O输出字保持原状态。
当复位端R出现上升沿时,寄存器复位。
FIFO(先进先出)寄存器操作如图4-42所示。
2)LIFO(后进先出)功能
当输出控制端O出现上升沿时,将寄存器最顶部的数据存入%Ri.O(后进先出),寄存器中的其他数据不变,指针向下移动一个单元。
若寄存器已空(%Ri.E=1),则不能从寄存器中取出数据,%R