《PLC孙同景小型整体式PLC4.ppt》由会员分享,可在线阅读,更多相关《PLC孙同景小型整体式PLC4.ppt(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第三章第三章 小型整体式小型整体式PLC nCPM系列小型机系统的特点系列小型机系统的特点 nCPM系列机的构成系列机的构成 nCPM系列机的继电器区和数据区系列机的继电器区和数据区 nCPM系列机的指令系统系列机的指令系统 3.4.2 定时器计数器指令定时器计数器指令 CPM1A提供两种定时器和两种计数器,它们都在TC区内,统一编号。定时器计数器的编号称为TC号,一个TC号只能用于一个定时器或计数器,不能重复使用。 TC号的范围为000127(CPM2A的TC号范围为000255)。 定时器和计数器都有设定值(SV)和当前值(PV),SV可以使用不同的数据区,其数值为BCD数,由用户程序设定
2、;PV值取决于定时器计数器的工作状态和SV值,由PLC自动处理,但也可由用户程序强制改变其内容。 概述概述3.4.2 定时器计数器指令定时器计数器指令 概述概述定时器为通电延时,即当定时器前面的状态为ON时开始延时,经过相应的逻辑操作,可以获得类似于继电器控制线路中时间继电器的通电延时ON、通电延时OFF、断电延时ON、断电延时OFF的触点。 普通计数器为减计数,可逆计数器为双向计数。高速计数有加计数和可逆计数两种方式 1定时器定时器TIM 图3-49 定时器TIM的梯形图符号TIM位号SV,#表示立即数为4位数字,范围为09999 #0000工作 :定时器TIM为通电延时,基本延时单位为0.
3、1秒,延时时间为SV0.1秒。 TIM前的状态 PV TIM输出 OFF PVSV OFF ON (PV-1) /0.1SOFFON0ON OFFPVSVOFF当TIM前的状态为ON的时间小于SV所设定的时间时,定时器输出不动作,即不能变为ON。当扫描时间TS100ms时,TIM的定时将不准确。定时器TIM的SV可以是立即数,也可以是通道。是立即数时,这个立即数必须是BCD数;是通道时,通道中的内容必须是BCD数。当用通道内容作为SV时,改变通道中的内容即可改变延时时间。由于定时器的PV值是在TIM前的状态为OFF时由SV值装入的,所以改变后的SV只有当经过TIM前的状态为OFF后才有效。 1
4、定时器定时器TIM 注意:注意:数据区与标志位数据区与标志位 1定时器定时器TIM 数据区为IR、SR、HR、AR、LR、DM、*DM、#。 TIM指令的数据区是SV的数据区,用IR、HR时只能以通道为单位使用,通道内容必须是BCD数。#表示立即数,立即数也必须是BCD数。出错标志位25503:当SV不是BCD数时,该位为ON,TIM指令不执行。 1定时器定时器TIM 虽然定时器的输出为通电延时ON,但经过相应的逻辑操作后,可以产生出类似于继电器线路中时间继电器的通电延时ON、通电延时OFF、断电延时ON、断电延时OFF触点。 2.高速定时器高速定时器TIMH(15) 图3-52 高速定时器的
5、梯形图符号TIMH 位号 SV,#表示为4位BCD数范围为09999#0000TC号 工作工作 高速定时器TIMH(15)为通电延时,基本延时单位为10ms,延时时间为SV0.01秒。TIM(15)中的15为指令功能号,利用编程器输入程序时按FUN键后再按15可输入TIMH指令。 TIMH前的状态 PV TIMH输出 OFF PVSV OFF ON (PV-1) /0.01SOFFON0ON OFFPVSVOFF当扫描时间Ts10ms时,高速定时器可能会不准确。注意:注意:当TIMH前的状态为ON的时间小于SV所设定的时间时,定时器输出不动作,即不能变为ON。2.高速定时器高速定时器TIMH(
6、15) 定时器TIMH的SV可以是立即数,也可以是通道。是立即数时,这个立即数必须是BCD数;是通道时,通道中的内容必须是BCD数。当用通道内容作为SV时,改变通道中的内容即可改变延时时间。由于定时器的PV值是在TIMH前的状态为OFF时由SV值装入的,所以改变后的SV只有当经过TIM前的状态为OFF后才有效。2.高速定时器高速定时器TIMH(15) 数据区与标志位数据区与标志位 数据区为IR、SR、HR、AR、LR、DM、*DM、#。TIMH的数据区为SV的数据区,其内容必须为BCD数。出错标志位25503:当SV不是BCD数时,该位为ON,TIMH指令不执行。图3-53 TIMH指令的使用
7、00002TIMH 000 00003TIM000OUTHR0001#0015 语句表 LD 00002 TIMH 000 #0015 LD TIM000 AND 00003 OUT HR00012.高速定时器高速定时器TIMH(15) 程序举例程序举例 CNT000# 0010图3-54 计数器的梯形图符号计数端复位端TC号SV,为4位BCD数图3-55 计数器的程序 CNT002 # 001000002000033计数器计数器CNT 工作工作 计数器CNT为减1计数。对于图3-55计数器,当复位端00003为ON时,计数器CNT002复位为OFF,其当前值PVSV。当复位端00003为OF
8、F时,计数端00002每来一个脉冲,在脉冲上升沿计数器的PV减1。当PV0时,计数器CNT002输出为ON,此时计数端再来脉冲无效。断电时,计数器的PV保持不变。 计数端00002复位端00003计数器CNT002PV987 654 3219 8PV1010计数脉冲 无效0图3-56计数器工作时序图 3计数器计数器CNT 工作工作 当用通道内容作为SV时,改变通道内容即可改变计数个数。由于计数器的PV是在复位计数器时由SV装入的,所以改变后的SV只有经过计数器复位后才能有效。 数据区与标志位 3计数器计数器CNT 数据区为IR、SR、HR、AR、LR、DM、*DM、#。 出错标志位25503:
9、当SV不是BCD数时,该位为ON,此时CNT指令不执行。 TC号SV,为4位BCD数字,范围为09999加计数端复位端减计数端CNTR003#0010图3-57 可逆计数器的梯形图符号4可逆计数器可逆计数器CNTR(12) 工作工作 可逆计数器CNTR为环形计数器,其功能号为12,利用编程器输入时按FUN键后再输入12即可。 可逆计数器编程时,先编加计数端,再编减计数端,再编复位端,然后输入CNTR指令及其TC号和SV。 图3-58 可逆计数器程序000040000300002 CNTR003# 0010 CNT003OUT01000当复位端00004为ON时,CNTR003被复位,其输出为O
10、FF,PV=0,加、减计数端脉冲无效。当可逆计数器复位端00004为OFF时,加计数端00002每来一个脉冲,在脉冲的上升沿CNTR003的PV值加1,当PV=SV时,加计数端再来一个脉冲,则PV0的同时CNTR003输出为ON,若此时加计数端再来一个脉冲,则PV=1且CNTR003输出为OFF;减计数端00003每来一个脉冲,在脉冲的上升沿CNTR003的PV值减1,当PV=0时,减计数端再来一个脉冲,PVSV的同时CNTR003输出为ON,减计数端再来一个脉冲,PV=SV一1且CNTR003输出为OFF;当加计数端00002和减计数端00003同时来脉冲时,CNTR003的PV值不变。简言
11、之,当PV值有进位或借位时,可逆计数器CNTR的输出为ON。 图3-58 可逆计数器程序000040000300002 CNTR003# 0010 CNT003OUT01000加计数端 00002复位端 00004输出 CNTR003PV1210 0 129减计数端 00003PV10 10099010004可逆计数器可逆计数器CNTR(12) 工作工作 语 句 表LD00002LD00003LD00004CNTR 003 #0010LDCNT003OUT 01000数据区与标志位 4可逆计数器可逆计数器CNTR(12) 数据区为IR、SR、HR、AR、LR、DM、*DM、#。 CNTR的数据
12、区为其SV的数据区,其内容必须为BCD数。 出错标志位25503:当SV不是BCD数时,该位为ON,CNTR指令不执行。注意注意 定时器计数器均使用TC区,所有定时器计数器的TC号不能重复。每一个TC号,既可用于定时器TIM或高速定时器TIMH,又可用于计数器CNT或可逆计数器CNTR。但是,同一个TC号只能使用一次,作为触点使用时可无限制地多次使用。为避免TC号重复使用,建议定时器的TC号从000开始使用,计数器的TC号从127开始使用。 在用CNTR的输出作为触点时,仍以CNT表示,它在程序中可多次使用。可逆计数器在断电后,其PV保持不变。 用通道内容作为SV时,改变通道内容即可改变SV,
13、改变后的SV立即有效。4可逆计数器可逆计数器CNTR(12) 5常用定时器计数器典型程序常用定时器计数器典型程序 (1)延长定时时间 思考:一个定时器TIM的定时时间最长为? 最长定时时间=9999x0.1=999.9秒若定时时间超过1000秒 ?5常用定时器计数器典型程序常用定时器计数器典型程序 (1)延长定时时间 解决办法:a、定时器级联延长定时时间 利用前一个定时器的触点作为后一个定时器的工作条件,前一个定时器输出为ON后,后一个定时器开始定时,定时时间成为两个定时器定时时间之和。利用多个定时器级联便可获得较长的定时时间。 5常用定时器计数器典型程序常用定时器计数器典型程序 (1)延长定
14、时时间 解决办法:TIM 001 TIM000TIM 000 00002a)#6000#6000语句表LD 00002TIM000 #6000 LDTIM000TIM001 #6000 图a采用了两个定时器级联延长定时时间,TIM000定时10分钟,TIM000为ON后TIM001开始定时,定时时间也为10分钟。 a、定时器级联延长定时时间b、内部时钟加计数器延长定时时间 用内部时钟作为计数器的计数端,也可获得较长的定时时间5常用定时器计数器典型程序常用定时器计数器典型程序 (1)延长定时时间 解决办法:b、内部时钟加计数器延长定时时间 5常用定时器计数器典型程序常用定时器计数器典型程序 (1
15、)延长定时时间 解决办法:00002 CNT126#12002550200002b)图b的语句表LD 00002AND 25502LDNOT 00002CNT 126 #1200图b采用了内部时钟25502和计数器CNT126延长定时时间,25502是PLC内部秒时钟,周期为1秒,占空比为1:1。因此,每秒钟计数器CNT126的PV值减1,当PV0时CNT126输出为ON。 5常用定时器计数器典型程序常用定时器计数器典型程序 (1)延长定时时间 两种方法比较:00002图3-60 延长定时时间程序TIM 001 TIM000TIM 000 00002 CNT126#12002550200002
16、a)b)#6000#6000a)定时器级联的方法b)对内部时钟计数的方法图3-60a程序延时时间分辨率为0.1秒,最大延时时间为1999.8秒,占用资源较多,执行速度较慢。图3-60b程序延时时间分辨率为1秒,最大延时时间为9999秒,占用资源较少,执行速度较快。 (2)增大计数值 5常用定时器计数器典型程序常用定时器计数器典型程序 思考:一个一个计数器的最大计数值为? 最大计数值=9999若计数值超过9999 ?解决办法:(2)增大计数值 5常用定时器计数器典型程序常用定时器计数器典型程序 若计数值超过9999,可采用计数器级联增大计数值。计数器级联后,计数值为级联计数器的计数值之积。 (2
17、)增大计数值 5常用定时器计数器典型程序常用定时器计数器典型程序 解决办法:图3-61 增大计数值程序 CNT126#020000002CNT126 CNT12500003 CNT125 #0100CNT12600003 计数器级联LD00002LDCNT126 ORCNT125 OR00003 CNT126 #0200 LDCNT126 LD00003 CNT125 #0100图3-61程序为计数值增大到20000的程序。在该程序中,00002为计数信号,00003为复位信号。00002每来200个脉冲,CNT126为ON一个扫描周期,CNT125的当前值减1,当CNT125的PV=0时说明
18、已计数20000次。若把CNT126和CNT125看成一个计数器,CNT126的当前值用PV1表示,CNT125的当前值用PV2表示,则该计数器的当前值PVPV1+PV2200。(3)ONOFF延时 5常用定时器计数器典型程序常用定时器计数器典型程序 ONOFF延时是指在输入为ON某段时间后,输出才为0N;在输入为OFF某段时间后,输出才为OFF 图3-62 ON/OFF延时程序TIM 0000000200002HR0000TIM 001KEEPHR0000 TIM000TIM001#0010#002020在输入00002为ON 1秒后,HR0000为0N;00002为OFF 2秒后,HR00
19、00为OFF,可采用图3-62所示程序。 LD00002 TIM000 #0010LDHR0000ANDNOT00002TIM001 #0020LDTIM000LDTIM001KEEPHR0000(3)ONOFF延时 5常用定时器计数器典型程序常用定时器计数器典型程序 图3-62 ON/OFF延时程序TIM 0000000200002HR0000TIM 001KEEPHR0000 TIM000TIM001#0010#002020图3-63 ON/OFF延时时序图00002TIM000TIM001HR00002s1s00002为ON 1秒后,TIM000输出为ON,HR0000变为ON。0000
20、2变为OFF后,TIM001开始计时,2秒后TIM001为ON,复位HR0000。在下一个扫描周期TIM001变为OFF,可见,TIM001为ON的时间为一个扫描周期。注意:当00002为ON的时间小于1秒时,HR0000不能变为ON。当00002为OFF的时间小于2秒时,HR0000不能变为OFF 。 (4)产生单稳态脉冲 5常用定时器计数器典型程序常用定时器计数器典型程序 不论输入信号为ON的时间为几秒,均输出脉宽为1秒的脉冲。 图3-64 单稳态脉冲程序TIM0000110000002 OUT01100TIM00001100OUT01101TIM00001100 #0010LD01100
21、ANDNOTTIM000OR00002OUT01100LD01100TIM000 #0010LD01100ANDNOTTIM000OUT01101不论输入00002为ON的时间为几秒,均产生脉宽为1秒的脉冲图3-64 单稳态脉冲程序TIM0000110000002 OUT01100TIM00001100OUT01101TIM00001100 #0010(4)产生单稳态脉冲 5常用定时器计数器典型程序常用定时器计数器典型程序 当00002为ON时,输出01100保持为ON,输出01101为ON。1秒钟后TIM000为ON,01101变为OFF。若00002为ON的时间小于1秒,则TIM000为O
22、N一个扫描周期。若00002为ON的时间大于1秒,则TIM000为ON后直到00002变为OFF时关断。单稳态脉冲宽度取决于TIM000的延时时间。 0000201100TIM000011011s1s图3-65 单稳态脉冲时序图(5)任意占空比时钟 5常用定时器计数器典型程序常用定时器计数器典型程序 利用两个定时器可构成任意占空比时钟 图3-66 任意占空比时钟图3-67 任意占空比时钟时序图TIM000 TIM001TIM001 TIM000#0020 时钟OFF时间#0010时钟ON时间1s2sTIM000TIM001初始状态下TIM000和TIM001均为OFF,TIM000前面的状态为
23、ON,所以TIM000开始计时。计时2秒后TIM000为ON,TIM001开始计时。1秒后TIM001为ON。在下一个扫描周期TIM000变为OFF,TIM001也变为OFF。再下一个扫描周期TIM000前面的状态又变为ON,TIM000又开始计时。如此循环往复,形成了周期3秒、占空比为1:2的时钟。改变TIM000和TIM001的设定值即可改变时钟周期和占空比。若TIM000的设定值用SV1表示,TIM001的设定值用SV2表示,则时钟周期T(SV1+SV2)0.1秒、占空比为SV2/SV1。 (6)计n个脉冲间的时间间隔 5常用定时器计数器典型程序常用定时器计数器典型程序 利用两个计数器可
24、以构成计n个脉冲时间间隔的程序。一个计数器用于对脉冲分频,另一个计数器计间隔时间 图3-68 计5个脉冲间的时间间隔 CNT127# 0004CNT127 20000 CNT126# 900025500CNT1272000020002DIFU 20001CNT127DIFU 2000000002DIFD 200022000100002CNT127图3-69 计脉冲间隔时序 PV 3 2 1 0 4 3 2 1 0 4 3 2 1 0 4 3 CNT127计完4个脉冲后,其当前值PV0,输出为ON。第5个脉冲到来时CNT127复位。因此,CNT127可以看作5分频器,它为OFF的时间为5个脉冲间
25、的时间间隔即4个脉冲周期,它为ON的时间为两个脉冲间的时间间隔即一个脉冲周期 注意: (6)计n个脉冲间的时间间隔 5常用定时器计数器典型程序常用定时器计数器典型程序 短时钟脉冲不能生成精确的定时器,因为短暂的“ON”时间 可能在长循环周期内不被准确地读到。尤其不应使用0.02秒和0.1秒的时钟脉冲来产生带CNT指令的定时器。程序举例程序举例【例3-4】 试编制一个程序,要求如下:按下“启动”按钮后,灯1亮,1秒后灯2亮,2秒后灯3亮,3秒后灯1灭,4秒后灯2灭,5秒后灯3灭,6秒后灯1亮;按下“暂停”按钮,各灯状态保持不变,再按“启动”后各灯继续工作;按下“停止”按钮,各灯立即熄灭,再按“启
26、动”按钮后,重新开始工作。 程序举例程序举例【例3-4】 执行机构与动作过程。 在该任务中,执行机构为3只灯,故需要3个输出。 3只灯的工作为循环方式,循环周期为6秒,每秒一个状态。在一个周期中,对每只灯而言,其动作如下:灯1,按下“启动”按钮后,4秒前亮 ;灯2,1秒后5秒前亮 ;灯3,2秒后6秒前亮 。 输入输出信号与内存分配 程序举例程序举例【例3-4】 该任务中有三个输入信号、三个输出信号,采用CPM1A型主机即可实现该任务。 循环周期为6秒,每秒一个状态,故需6个定时器记录这6个状态。 输入输出及内存分配如下: 程序举例程序举例【例3-4】 输入信号:启动00000 暂停00001
27、停止00002 输出信号:灯1 01000 灯2 01001 灯3 01002内部信号:暂停状态 20000 停止状态 20001定时器自TC号000开始使用 输入输出信号与内存分配 程序设计 程序举例程序举例【例3-4】 周期为6秒的循环 TIM005TIM005 20000 #0060由于定时器具有得电延时,断电立即关断的特性,所以用定时器TIM005的常闭触点作为定时器工作的条件,即可产生周期为6秒的循环 暂停时各灯状态的保持 程序举例程序举例【例3-4】 程序设计 暂停时各灯状态保持不变,实际就是要求暂停时那六个定时器保持状态不变。在JMPJME程序段中,定时器和计数器在JMP前面的状
28、态为OFF时可保持其当前值不变,故可用JMPJME实现状态保持。再启动后继续工作。 按下“停止”按钮时,应使定时器全部复位,将停止状态触点放在JMP之后即可。 据此设计出的程序如下: 程序举例程序举例【例3-4】 程序设计 图3-70 例3-4的梯形图程序KEEP 20000 00000 0000 1 KEEP20001 0000 0 0000 2 TIM000TIM001 TIM00520001 20000 TIM002TIM003 TIM004TIM005 JME 01 ENDTIM00220001OUT01000TIM003TIM000OUT01001TIM004TIM001 OUT01
29、002#0010#0020#0030#0040#0050#0060灯2灯1灯3暂停状态停止状态JMP 01按下“启动”按钮00000后,20000、20001为ON,TIM005的常闭触点闭合,于是,TIM000TIM005开始延时。延时到6秒,TIM005为ON,在下一个扫描周期TIM005的常闭触点断开,TIM000TIM005均被复位。自然,TIM005变为OFF,TIM005的常闭触点又闭合,TIM000TIM005又开始延时,构成6秒循环。在工作过程中按下“暂停”按钮00001,20000变为OFF。这样,JMP前面的状态为OFF,因此JMPJME之间的程序不扫描,定时器TIM000
30、TIM005的PV保持不变,各灯的状态也就保持不变。再按下“启动”按钮00000,20000又变为ON,定时器在原来PV的基础上继续延时,各灯继续工作。按下“停止”按钮00002,20001变为OFF,因这时20000为ON,所以JMPJME之间的程序执行,TIM000TIM005被复位均为OFF,各灯立即熄灭。再按“启动”按钮00000,20001又变为ON,定时器重新开始延时,各灯重新开始工作。 【例3-5】 某十字路口,东西方向车流量较小,南北方向车流量较大。东西方向上绿灯亮30秒,南北方向上绿灯亮40秒,绿灯向红灯转换中间黄灯亮5秒且闪烁,红灯在最后5秒闪烁。十字路口红绿灯示意图如图3
31、-71所示。试利用PLC进行控制,并编写梯形图程序。程序举例程序举例图3 -71 十字路口红绿灯示意图绿40秒灯1黄5秒灯2红30+5秒灯3黄灯5红灯9黄灯8绿灯4红灯6绿灯7灯10绿30秒灯11黄5秒灯12红40+5秒执行机构与动作过程 【例3-5】虽然十字路口有12只红绿灯,但同一个方向上的同色灯(如灯1与灯7)同时动作,应作为一个输出,所以共有6个输出。 图3 -71 十字路口红绿灯示意图绿40秒灯1黄5秒灯2红30+5秒灯3黄灯5红灯9黄灯8绿灯4红灯6绿灯7灯10绿30秒灯11黄5秒灯12红40+5秒由于一个方向上亮绿灯或黄灯时,另一个方向上肯定亮红灯,所以亮红灯可不作为一个单独的时
32、间状态。 十字路口红绿灯工作为循环方式,循环周期为80秒。由4部分组成:40秒5秒30秒5秒。 【例3-5】输入输出信号与内存分配 该任务中无输入信号,只有6个输出信号,利用CPM1A即可实现。输入输出及内存分配如下: 输出信号:灯1、7 01000 灯2、8 01001 灯3、9 01002 灯4、10 01003 灯5、11 01004 灯6、12 01005内部信号:TIM000TIM003构成80秒循环 【例3-5】程序设计 80秒循环 :类似于例3-4,可用TIM003的常闭触点作为定时器的工作条件构成循环。 TIM000的定时时间为40秒,TIM001的定时时间为45秒,TIM00
33、2的定时时间为75秒,TIM003的定时时间为80秒。 0100525502 TIM003 TIM002 图3-72 十字路口红绿灯程序TIM 000 TIM 001 TIM 002 TIM 003 TIM00301002TIM000OUT 01000OUT01003 01005TIM002 TIM001 0100225502 TIM001 TIM000 OUT01001 0100301004OUT01004 OUT01002 0100001001 OUT01005 END#0400#0450#0750#0800灯2,8灯1,7灯3,9灯5,11灯4,10灯6,12【例3-5】程序设计 TIM
34、000为ON之前的40秒中灯1、7亮;TIM000为ON之后TIM001为ON之前的5秒中灯2、8亮,串入PLC内部秒时钟25502可形成闪烁。TIM001为ON之后TIM002为ON之前的30秒中灯4、10亮;TIM002为ON后TIM003为ON之前的5秒中灯5、11亮,串入PLC内部秒时钟25502可形成闪烁。一个方向上绿灯或黄灯亮时另一个方向上红灯亮,两个方向上的绿、黄灯间加上互锁。 【例3-6】某大酒店自动门,在门内侧和外侧各装有个超声波探测器。探测器探测到有人后0.5秒,自动门打开;探测到无人后1秒,自动门关闭。试用CPM1A实现之。 【例3-5】执行机构与动作过程 【例3-5】该
35、任务中门的开、关用一个执行电机控制,电机正转时开门,电机反转时关门。因此,共有两个输出。 探测器探测到有人后0.5秒,自动门开始打开。若一直探测到有人,则打开到全开为止; 若打开过程中又探测到无人,则停止打开。探测器探到无人后1秒,自动门开始关闭。若一直探测到无人,则关闭到全关闭为止; 若关闭过程中又探测到有人,则停止关闭。 输入输出信号与内存分配 【例3-5】两个超声波探测器采用输出开关式探测器,探测到有人时开关闭合,无人时开关断开。 除两个探测器外,该任务中还应有开门限位和关门限位,故该任务中共有4个输入信号。 共有两个输出信号以控制电机正反转输入输出信号及内存分配如下: 输入输出信号与内存分配 【例3-5】输入信号:内探测器00000 外探测器00001 开限位 00002 关限位 00003输出信号: 开门01000 关门 01001内部信号:开门延时TIM000 关门延时TIM001【例3-5】程序设计 开门:有人后0.5秒、未到开限位时开门 关门:无人后1秒、未到关限位时关门 据此,设计出自动门程序如图3-73所示 OUTOUT TIMTIMEND00000000#0005#0010001000010000000001TIM000 00002010010100001001TIM001 0000301000开门延时关门延时开门关门图3-73 自动门程序
限制150内