您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 6.7高速计数器与高速脉冲输出指令
使用高速计数器的背景知识计数外部脉冲或发出满足要求的控制脉冲是控制系统基本而大量的需求。PLC内部提供的普通计数器都是软件形式,且受PLC扫描周期的影响,计数频率受到限制,一般为几十赫兹。CPU22x系列最高计数频率为30KHz。6.7高速计数器与高速脉冲输出指令6.7高速计数器与高速脉冲输出指令一、高速计数器基本情况●用来累积比可编程控制器的扫描频率高得多的脉冲输入,利用产生的中断事件完成预定的操作。各主机的高速计数器数量及其编号主机型号CPU221CPU222CPU224CPU226可用HSC数量46HSC编号范围HC0,HC3,HC4,HC5HC0-HC5高速计数中断高速计数器当前值=预设值中断计数方向改变中断外部信号复位中断事件号优先级事件号优先级事件号优先级HSC0121027112812HSC1131314141515HSC2161617171818HSC33219无无无无HSC429203021无无HSC53323无无无无如果一个高速计数器编程时要使用多个中断(如HSC1在工作模式3下可以产生当前值等于预设中断和计数方向改变中断),则每个中断可以分别地被允许和禁止。高速计数器占用输入/输出端子情况表高速计数器使用的输入端子HSC0I0.0,I0.1,I0.2HSC1I0.6,I0.7,I1.0,I1.1HSC2I1.2,I1.3,I1.4,I1.5HSC3I0.1HSC4I0.3,I0.4,I0.5HSC5I0.4各高速计数器不同的输入端有专用的功能,如:时钟脉冲输入端、方向控制端、复位端、起动端。二、高速计数器的工作模式1.高速计数器的计数方式10012343210-1输入的一路脉冲内部方向控制1=加计数;0=减计数计数器当前值图6-6所示内部方向控制的单路加/减计数PV=CV时产生中断计数器允许,当前值清0,预置值=4(1)单路脉冲输入的内部方向控制加/减计数只有一个脉冲输入端,通过高速计数器的控制字节的第3位来控制作加计数或者减计数。该位=1,加计数;该位=0,减计数。(2)单路脉冲输入的外部方向控制加/减计数有一个脉冲输入端,有一个方向控制端,外部方向控制输入信号=1时,加计数;方向输入信号=0时,减计数。1001234321输入的一路脉冲外部方向控制1=加计数;0=减计数计数器当前值PV=CV时产生中断计数器允许,当前值清0,预置值=44PV=CV时产生中断和方向改变产生中断5(3)两路脉冲输入的单相加/减计数1234321加计数脉冲输入计数器当前值PV=CV时产生中断计数器允许,当前值清0,预置值=44PV=CV时产生中断和方向改变产生中断减计数脉冲输入5有两个脉冲输入端,一个是加计数脉冲,一个是减计数脉冲,计数值为两个输入端脉冲的代数和。(4)两路脉冲输入的双相正交计数123432A相时钟计数器当前值PV=CV时产生中断计数器允许,当前值清0,PV=CV时产生中断和B相时钟预置值=3方向改变时产生中断有两个脉冲输入端,输入的两路脉冲A相、B相,相位互差90°(正交),A相超前B相90°时,加计数;A相滞后B相90°时,减计数。在这种计数方式下,可选择1x模式(单倍频,一个时钟脉冲计一个数)和4x模式(四倍频,一个时钟脉冲计四个数)。A相时钟计数器当前值PV=CV时产生中断计数器允许,当前值清0,B相时钟预置值=9产生中断65432178910116789101112PV=CV时产生中断方向改变时两路脉冲输入的双相正交计数4x模式(4)两路脉冲输入的双相正交计数2.高速计数器的工作模式高速计数器有12种工作模式:模式0~模式2采用单路脉冲输入的内部方向控制加/减计数;模式3~模式5采用单路脉冲输入的外部方向控制加/减计数;模式6~模式8采用两路脉冲输入的加/减计数;模式9~模式11采用两路脉冲输入的双相正交计数。S7-200CPU224和226均有HSC0-HSC5六个高速计数器,每个高速计数器有多种不同的工作模式。每种高速计数器所拥有的工作模式和其占有的输入端子的数目有关。HSC0和HSC4有模式0、1、3、4、6、7、9、10,共8种;HSC1和HSC2有模式0~模式11,共12种;HSC3和HSC5有模式只有模式0一种。二、高速计数器的工作模式1.高速计数器的计数方式HSC编号及其对应的输入端子HSC模式功能及说明占用的输入端子及其功能HSC0I0.0I0.1I0.2×HSC4I0.3I0.4I0.5×HSC1I0.6I0.7I1.0I1.1HSC2I1.2I1.3I1.4I1.5HSC3I0.1×××HSC5I0.4×××0单路脉冲输入的内部方向控制加/减计数。控制字SM37.3=0,减计数;SM37.3=1,加计数。脉冲输入端×××1×复位端×2×复位端起动3单路脉冲输入的外部方向控制加/减计数。方向控制端=0,减计数;方向控制端=1,加计数。脉冲输入端方向控制端××4复位端×5复位端起动6两路脉冲输入的单相加/减计数。加计数有脉冲输入,加计数;减计数端脉冲输入,减计数。加计数脉冲输入端减计数脉冲输入端××7复位端×8复位端起动9两路脉冲输入的双相正交计数。A相脉冲超前B相脉冲,加计数;A相脉冲滞后B相脉冲,减计数。A相脉冲输入端B相脉冲输入端××10复位端×11复位端起动■高速计数器输入点都包括在一般数字量输入编号范围内。●如果程序使用了高速计数器,则高速计数器的这种工作模式下指定的输入点只能被高速计数器使用。■同一个输入点只能用作一种功能。●只有高速计数器不用的输入点才可以作为输入输出中断或一般数字量输入点使用。例如,HSC0在模式0下工作,只用I0.0作脉冲输入,不使用I0.0和I0.2,则这两个输入端可作为输入输出中断的输入点或一般数字量输入点。友情提醒:1、高速计数器定义指令——HDEF指令指定高速计数器(HSCx)的工作模式;工作模式的选择即选择了高速计数器的输入脉冲、计数方向、复位和起动功能;每个高速计数器只能用一条“高速计数器定义”指令。LADSTLHDEFHSC,MODE功能说明高速计数器定义指令HDEF操作数HSC:高速计数器的编号,为常量(0~5),数据类型:字节。MODE工作模式,为常量(0~11),数据类型:字节。三、高速计数指令2、高速计数器指令——HSC根据高速计数器控制位的状态和按照HDEF指令指定的工作模式,激活高速计数器。参数N指定高速计数器的编号。LADSTLHSCN功能说明高速计数器指令HSC操作数N:高速计数器的编号,为常量(0~5),数据类型:字型三、高速计数指令四、高速计数器的控制字和状态字1.控制字节——定义了计数器和工作模式之后,还要设置高速计数器的有关控制字节。每个高速计数器均有一个控制字节,它决定了计数器的计数允许或禁用,方向控制(仅限模式0、1和2)或计数方向,是否允许装入当前值和预置值等。2.状态字节每个高速计数器都有一个状态字节,状态位表示当前计数方向以及当前值是否大于或等于预置值。状态字节的0-4位不用。HSC的特殊寄存器高速计数器编号状态字节控制字节当前值双字预设值双字HSC0SMB36SMB37SMD38SMD42HSC1SMB46SMB47SMD48SMD52HSC2SMB56SMB57SMD58SMD62HSC3SMB136SMB137SMD138SMD142HSC4SMB146SMB147SMD148SMD152HSC5SMB156SMB157SMD158SMD162状态字节含义状态位SMxx6.0-SMxx6.4SMxx6.5SMxx6.6SMxx6.7功能描述不用当前计数方向0增,1减当前值=预设值0不等,1等当前值预设值0是=,1是程序运行时根据运行状况自动使状态字节的某些位置位。可以通过程序读相关位的状态,用以作为判断条件实现相应的操作。HSC的控制字节HSC0HSC1HSC2HSC3HSC4HSC5说明SM37.0SM47.0SM57.0SM147.0复位有效电平控制:0=复位信号高电平有效;1=低电平有效SM47.1SM57.1起动有效电平控制:0=起动信号高电平有效;1=低电平有效SM37.2.SM47.2SM57.2SM147.2正交计数器计数速率选择:0=4×计数速率;1=1×计数速率SM37.3SM47.3SM57.3SM137.3SM147.3SM157.3计数方向控制位:0=减计数1=加计数SM37.4SM47.4SM57.4SM137.4SM147.4SM157.4向HSC写入计数方向:0=无更新1=更新计数方向SM37.5SM47.5SM57.5SM137.5SM147.5SM157.5向HSC写入新预置值:0=无更新1=更新预置值SM37.6SM47.6SM57.6SM137.6SM147.6SM157.6向HSC写入新当前值:0=无更新1=更新当前值SM37.7SM47.7SM57.7SM137.7SM147.7SM157.7HSC允许:0=禁用HSC1=启用HSC五、高速计数器指令的使用(1)每个高速计数器都有一个32位当前值和一个32位预置值,当前值和预设值均为带符号的整数值。要装入的数值HSC0HSC1HSC2HSC3HSC4HSC5新的当前值SMD38SMD48SMD58SMD138SMD148SMD158新的预置值SMD42SMD52SMD62SMD142SMD152SMD162•要设置高速计数器的新当前值和新预置值,必须设置控制字节的第5位和第6位为1,允许更新预置值和当前值。•然后执行HSC指令,将新数值传输到高速计数器。(2)执行HDEF指令之前,必须将高速计数器控制字节的位设置成需要的状态,否则将采用默认设置。默认设置为:复位和起动输入高电平有效,正交计数速率选择4×模式。执行HDEF指令后,就不能再改变计数器控制字节的设置,除非CPU进入停止模式。(3)执行HSC指令时,CPU检查控制字节和有关的当前值和预置值。五、高速计数器指令的使用例:要对一高速脉冲信号进行增/减计数,计数当前值达到12产生中断,计数方向用一个外部信号控制,所用的主机型号为CPU224。HSC编号及其对应的输入端子HSC模式功能及说明占用的输入端子及其功能HSC0I0.0I0.1I0.2×HSC4I0.3I0.4I0.5×HSC1I0.6I0.7I1.0I1.1HSC2I1.2I1.3I1.4I1.5HSC3I0.1×××HSC5I0.4×××0单路脉冲输入的内部方向控制加/减计数。控制字SM37.3=0,减计数;SM37.3=1,加计数。脉冲输入端×××1×复位端×2×复位端起动3单路脉冲输入的外部方向控制加/减计数。方向控制端=0,减计数;方向控制端=1,加计数。脉冲输入端方向控制端××4复位端×5复位端起动6两路脉冲输入的单相加/减计数。加计数有脉冲输入,加计数;减计数端脉冲输入,减计数。加计数脉冲输入端减计数脉冲输入端××7复位端×8复位端起动9两路脉冲输入的双相正交计数。A相脉冲超前B相脉冲,加计数;A相脉冲滞后B相脉冲,减计数。A相脉冲输入端B相脉冲输入端××10复位端×11复位端起动(1)选择计数器及工作模式●分析:本控制要求是带外部方向控制的单相增/减计数,因此可用的高速计数器可以是HSC0、HSC1、HSC2或HSC4任何一个。如果确定为HSC0,由于不要求外部复位,所用应选择工作模式3。同时也确定了各个输入点:I0.0为计数脉冲的时钟输入;I0.1为外部方向控制(I0.1=0,则为减计数;I0.1=1,则为增计数)。步骤:(2)设置控制字节●在选择用HSC0的工作模式3之后,对应的控制字节为SMB37,如果向SMB37写入2#1111000,即16#F8,■则对HSC0的功能设置为:复位输入信号是高电位有效、计数方向为增计数、允许更新双字值和允许执行HSC指令。步骤:HSC0说明SM37.0复位有效电平控制:0=复位信号高电平有效;1=低电平有效起动有效电平控制:0=起动信号高电平有效;1=低电平有效SM37.2.正交
本文标题:6.7高速计数器与高速脉冲输出指令
链接地址:https://www.777doc.com/doc-6036217 .html