江西西门子S7-200SMART代理经销商
计数器CNT指令的使用如图5-17所示。
如图5-17 (a)、(b)所示,首先让常开触点0.00闭合时,对计数器C0001复位,计数器的当前值变为设定值5,0.00触点断开后,计数器处于等待状态,由于P_0_2s触点以0.1s通0.1s断的频率工作,即给计数器计数输入端输入周期为0.2s的脉冲,计数器开始逐减1计数,每输入一个脉冲,计数器当前值减1。当计数器当前值减到0时,计数器状态位变为1,当前值和状态位保持,直到0.00触点闭合,计数器被复位,当前值变为设定值,状态位变为0。在计数器C0001状态位为1时,相同编号的C0001常开触点闭合,线圈100. 01得电。
如果计数器当前值未减到0时0.00触点就闭合,会对计数器提前复位,如图5-17 (c)所示,在0.00触点闭合期间(即复位端为ON时),脉冲输入无效,直到0.00触点断开,才重新从设定值开始逐减1计数。
由于计数器当前值具有掉电保持特点,因此在PLC重新上电运行时需要对计数器进行复位,即在PLC上电首次执行程序时要让0.00触点闭合再断开,否则计数器将会在掉电前的当前值的基础上逐减1计数。
当常开触点0.00闭合时,多输出定时器MTIM指令输入端为ON,如果200通道(N) 第9位为0、第8位为1时,D100通道(PV)中的当前值被复位,当第8位由1变为0时,定时器开始工作,D100通道(PV)中的当前值由0开始每过100ms逐增1。
当D100通道(PV)中的当前值增到D200通道(SV)中的设定值80时,200通道(N)中第0位200. 00(第0定时状态位)变为1且保持。
当D100通道(PV)中的当前值增到D201通道(SV+1)中的设定值90时,200通道(N)中第1位200. 01(第1定时状态位)变为1且保持。若这时200通道中第9位(累计停止输入)由0变为1,定时器停止计时,当前值保持不变,直到200通道中第9位由1变为0,定时器在当前值基础上继续逐增1计时。当当前值增到值9999时自动返回到0,同时200通道(N)中第0~7位均变为0。
如果定时器当前值未增到SV+7通道的设定值时200. 08位(定时器复位)由0变为1,定时器被提前复位,当前值和各定时状态位均被复位。
在200. 00位为1时,200. 00常开触点闭合,100.01线圈得电;在200. 01位为1时,200. 01常开触点闭合,100. 02线圈得电。
(1)指令说明
指令说明如下。
(2)指令使用举例
累计定时器TTIM指令的使用如图5-14所示。
当常开触点0.00闭合时,累计定时器T1的定时输入端为ON,T1当前值开始逐增1计时,当当前值增至设定值100时,T1的状态位变为1,同时当前值维持设定值不变,如图5-14 (b)所示,即使触点0.00断开,定时器输入端由ON变为OFF后,T1的当前值和状态位仍保持不变。当常开触点0. 01闭合时,累计定时器T1的复位输入端为ON,T1被复位,当前值和状态位均变为0。当T1的状态位为1时,T1常开触点闭合,100. 01线圈得电。
在累加定时器T1计时期间,如果当前值未增到设定值时定时器输入端就由ON变为OFF,如图5-14 (c)所示,T1的当前值保持不变,当定时器输入端再次变为ON时,T1在当前值的基础上累增1计时,直增到设定值为止,增到设定值后T1的状态位变为1。
TIM、TIMH和TMHH指令都是以逐减1方式计时,区别在于定时单元不同,了解其中一种指令的用法就很容易掌握其他指令。下面以TIM指令为例说明,TIM指令的使用如图5-13所示。
当常开触点0.00由断开转为闭合时,定时器T0000的当前值变为设定值100(#0100),如图5-13 (b)所示,在触点0.00闭合期间,定时器T0000的当前值从设定值开始每过100ms减1,当前值减到0(即定时时间到)时,定时器状态位马上变为1,若定时器当前值减到0时触点0. 00仍闭合,当前值维持为0不变,状态位维持“1”态不变;当触点0.00断开后,定时器当前值由0变为设定值,同时定时器状态位变为0。在定时器状态位为1时,定时器T0000常开触点闭合,100. 01线圈得电。
在定时器计时期间,如果当前值未减到0时触点0.00就断开,当前值马上变为设定值,如图5-13 (c)所示,在触点0.00断开期间,当前值维持为设定值不变,直到触点0.00闭合时当前值才又从设定值开始逐减1计时。
总之,当TIM、TIMH和TMHH指令输入为ON时,从设定值开始逐减1计时,当计时时间到(即当前值减至0)时,定时器动作(即状态位变为1),可驱动相同编号的触点动作;当指令输入变为OFF时,定时器停止计时,当前值等于设定值,状态位为0。
(3)指令使用要点
定时器指令使用要点如下。
①定时器TIM、高速定时器TIMH、超高速定时器TMHH和累计定时器TTIM指令共用0000~4095(可简写作0~4095)定时器。在同一程序中,不同的定时器指令不要使用相同编号的定时器,如TIM、TIMH指令同时使用0000定时器,会产生误动作,因为在同一时间内一个定时器不可能既作100ms定时器,又作10ms的定时器。
基本输入指令包括读( LD)、读非(LDNOT)、与(AND)、与非(ANDNOT)、或(OR)、或非(ORNOT)和非(NOT)指令。
基本输入指令说明如下。
指令名称 与格式 | 功能说明 | 操作数 (bit) | 举 例 |
梯形图 | 指令语句 |
读 LD bit | 将常开触点与左 母线连接 | CIO、W、H、A、T、 C和TK等(位型) | | LD 0.00 |
读非 LDNOT bit | 将常闭触点与左 母线连接 | | LDNOT 0.00 |
与 AND bit | 将常开触点与其 他触点串联 | | LD 0. 00 AND 0. 01 |
与非 ANDNOT bit | 将常闭触点与其 他触点串联 | | LD 0. 00 ANDNOT 0. 01 |
或 OR bit | 将常开触点与其 他触点并联 | | LD 0. 00 OR 100. 00 |
或非 ORNOT bit | 将常闭触点与其 他触点并联 | | LD 0. 00 ORNOT 100. 00 |
非 NOT(520) | 将NOT之前的运 算结果取反。如果 常开触点后面为 NOT指令,功能相 当于一个常闭触点 | | LD 0.00 NOT |
②当PLC的扫描周期大于100ms时,如果使用0016~4095定时器会计时不准确,这种情况下应使用0000~0015定时器。
定时器指令包括定时器(100ms)、高速定时器(10ms)、超高速定时器(1ms)、累计定时器、长时间定时器和多输出定时器指令。各定时器指令的名称、助记符和功能号如下。
指令名称 | 助记符 | 功能号 |
定时器 | BCD | TIM | - |
BIN | TIMX | 550 |
高速定时器 | BCD | TIMH | 015 |
BIN | TIMHX | 551 |
超高速定时器 | BCD | TMHH | 540 |
BIN | TMHHX | 552 |
累计定时器 | BCD | TTIM | 087 |
BIN | TTIMX | 555 |
长时间定时器 | BCD | TIML | 542 |
BIN | TIMLX | 553 |
多输出定时器 | BCD | MTIM | 543 |
BIN | MTIMX | 554 |
根据定时设定值的数据类型不同,定时器指令可分为BCD类定时器指令和BIN类定时器指令,它们各自对应的指令功能相同(如TIM指令与TIMX指令的功能相同),仅指令助记符、定时设定值的数据类型及范围不同,BCD类定时器指令的设定值范围为#0000~9999,BIN类定时器指令的设定值范围为#0000~FFFF或&0~65535,由此可以看出,BIN类定时器指令的设定值范围更大,故定时时间更长。
在编程时,CX-P软件默认只能输入BCD类定时器指令,若要输入BIN类定时器指令,可在CX-P软件工程区的“新PLC”上单击鼠标右键,在弹出的菜单中选择“属性”,会弹出如图5-12 (a)所示的对话框,勾选其中的“以二进制形式执行定时器/计数器”项,马上弹出的如图5-12 (b)所示的对话框,确定后即可让CX-P软件能输入BIN类定时器指令,此时BCD类定时器指令就无法输入。
江西西门子S7-200SMART代理经销商