高速处理类指令_第1页
高速处理类指令_第2页
高速处理类指令_第3页
高速处理类指令_第4页
高速处理类指令_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、u使用高速计数器的背景知识使用高速计数器的背景知识n计数外部脉冲或发出满足要求的控制脉冲是控制计数外部脉冲或发出满足要求的控制脉冲是控制系统基本而大量的需求。系统基本而大量的需求。nPLC内部提供的普通计数器都是软件形式,且受内部提供的普通计数器都是软件形式,且受PLC扫描周期的影响,计数频率受到限制,一般扫描周期的影响,计数频率受到限制,一般为几十赫兹。为几十赫兹。nCPU22x系列最高计数频率为系列最高计数频率为30KHz。6.6 6.6 高速处理类指令高速处理类指令6.6 6.6 高速处理类指令高速处理类指令一、高速计数器基本情况一、高速计数器基本情况用来累积比可编程控制器的扫描频率高得

2、多的脉用来累积比可编程控制器的扫描频率高得多的脉冲输入,利用产生的冲输入,利用产生的中断中断事件完成预定的操作。事件完成预定的操作。各主机的高速计数器数量及其编号各主机的高速计数器数量及其编号主机型号主机型号CPU221CPU221CPU222CPU222CPU224CPU224CPU226CPU226可可 用用HSC数量数量46 HSC编号范围编号范围HC0,HC3,HC4,HC5HC0-HC5高速计数中断高速计数中断高速高速计数器计数器当前值当前值=预设值中断预设值中断计数方向改变中断计数方向改变中断外部信号复位中断外部信号复位中断事件号事件号优先级优先级事件号事件号优先级优先级事件号事件

3、号优先级优先级HSC0HSC0121210102727111128281212HSC1HSC1131313131414141415151515HSC2HSC2161616161717171718181818HSC3HSC332321919无无无无无无无无HSC4HSC42929202030302121无无无无HSC5HSC533332323无无无无无无无无如果一个高速计数器编程时要使用多个中断(如如果一个高速计数器编程时要使用多个中断(如HSC1HSC1在工作模式在工作模式3 3下可以产生当前值等于预设中断和计数方下可以产生当前值等于预设中断和计数方向改变中断),则每个中断可以分别地被允许和禁

4、止。向改变中断),则每个中断可以分别地被允许和禁止。高速计数器占用输入高速计数器占用输入/输出端子情况表输出端子情况表高速计数器高速计数器使用的输入端子使用的输入端子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各高速计数器不同的输入端有专用的功能,如:时钟脉冲输各高速计数器不同的输入端有专用的功能,如:时钟脉冲输入端、方向控制端、复位端、起动端。入端、方向控制端、复位端、起动端。 二、高速计数器的工作模式二、高速计数器的工作

5、模式1. 1. 高速计数器的计数方式高速计数器的计数方式10012343210-1输入的一路脉冲内部方向控制1=加计数;0=减计数计数器当前值图6-6 所示内部方向控制的单路加/减计数PV=CV时产生中断计数器允许,当前值清0,预置值=4(1)单路脉冲输入的内部方向控制加)单路脉冲输入的内部方向控制加/减计数减计数 只有一个脉冲输入端,通过高速计数器的控制字节的第只有一个脉冲输入端,通过高速计数器的控制字节的第3位来位来控制作加计数或者减计数。该位控制作加计数或者减计数。该位=1,加计数;该位,加计数;该位=0,减计数。,减计数。 (2)单路脉冲输入的外部方向控制加)单路脉冲输入的外部方向控制

6、加/减计数减计数 有一个脉冲输入端,有一个方向控制端,外部方向控制输入有一个脉冲输入端,有一个方向控制端,外部方向控制输入信号信号=1时,加计数;方向输入信号时,加计数;方向输入信号=0时,减计数。时,减计数。1001234321输入的一路脉冲外部方向控制1=加计数;0=减计数计数器当前值PV=CV时产生中断计数器允许,当前值清0,预置值=44PV=CV时产生中断和方向改变产生中断5 (3)两路脉冲输入的单相加)两路脉冲输入的单相加/减计数减计数 1234321加计数脉冲输入计数器当前值PV=CV时产生中断计数器允许,当前值清0,预置值=44PV=CV时产生中断和方向改变产生中断减计数脉冲输入

7、有两个脉冲输入端,一个是加计数脉冲,一个是减计有两个脉冲输入端,一个是加计数脉冲,一个是减计数脉冲,计数值为两个输入端脉冲的代数和数脉冲,计数值为两个输入端脉冲的代数和 。(4)两路脉冲输入的双相正交计数)两路脉冲输入的双相正交计数 123432相时钟计数器当前值PV=CV时产生中断计数器允许,当前值清0,PV=CV时产生中断和相时钟预置值方向改变时产生中断有两个脉冲输入端,输入的两路脉冲有两个脉冲输入端,输入的两路脉冲A 相、相、B相,相位互差相,相位互差90(正交),(正交),A 相超前相超前B相相90时,加计数;时,加计数;A 相滞后相滞后B相相90时,减计数。在这种计数方式下,可选择时

8、,减计数。在这种计数方式下,可选择1x 模式(单倍频,模式(单倍频,一个时钟脉冲计一个数)和一个时钟脉冲计一个数)和4x 模式(四倍频,一个时钟脉冲计模式(四倍频,一个时钟脉冲计四个数)。四个数)。 相时钟计数器当前值PV=CV时产生中断计数器允许,当前值清0,相时钟预置值9产生中断 65432178910116789101112PV=CV时产生中断方向改变时 两路脉冲输入的双相正交计数两路脉冲输入的双相正交计数4x 模式模式(4)两路脉冲输入的双相正交计数)两路脉冲输入的双相正交计数 2.2.高速计数器的工作模式高速计数器的工作模式高速计数器有高速计数器有12种工作模式:种工作模式:u模式模

9、式0模式模式2采用单路脉冲输入的内部方向控制加采用单路脉冲输入的内部方向控制加/减计数;减计数;u模式模式3模式模式5采用单路脉冲输入的外部方向控制加采用单路脉冲输入的外部方向控制加/减计数;减计数;u模式模式6模式模式8采用两路脉冲输入的加采用两路脉冲输入的加/减计数;减计数;u模式模式9模式模式11采用两路脉冲输入的双相正交计数。采用两路脉冲输入的双相正交计数。二、高速计数器的工作模式二、高速计数器的工作模式1. 高速计数器的计数方式高速计数器的计数方式S7-200 CPU224和和226均有均有 HSC0-HSC5六个高速计数器。六个高速计数器。u每个高速计数器有多种不同的工作模式;每种

10、高速计数器每个高速计数器有多种不同的工作模式;每种高速计数器所拥有的工作模式和其占有的输入端子的数目有关。所拥有的工作模式和其占有的输入端子的数目有关。 HSC0和和HSC4有模式有模式0、1、3、4、6、7、9、10,共,共8种;种;HSC1和和HSC2有模式有模式0模式模式11,共,共12种;种;HSC3和和HSC5有模式只有模式有模式只有模式0一种。一种。 HSC编号编号及其对应的及其对应的 输入输入 端子端子 HSC模式模式功能及说明功能及说明占用的输入端子及其功能占用的输入端子及其功能HSC0I0.0I0.1I0.2HSC4I0.3I0.4I0.5HSC1I0.6I0.7I1.0I1

11、.1HSC2I1.2I1.3I1.4I1.5HSC3I0.1HSC5I0.40单路脉冲输入的内部方向控制加单路脉冲输入的内部方向控制加/减计数。控制字减计数。控制字SM37.3=0,减,减计数;计数;SM37.3=1,加计数。,加计数。脉冲输入端脉冲输入端1复位端复位端2复位端复位端起动起动3单路脉冲输入的外部方向控制加单路脉冲输入的外部方向控制加/减减计数。方向控制端计数。方向控制端=0,减计数;,减计数;方向控制端方向控制端=1,加计数。,加计数。脉冲输入端脉冲输入端方向方向控制端控制端4复位端复位端5复位端复位端起动起动6两路脉冲输入的单相加两路脉冲输入的单相加/减计数。减计数。加计数有

12、脉冲输入,加计数;加计数有脉冲输入,加计数;减计数端脉冲输入,减计数。减计数端脉冲输入,减计数。加计数脉冲加计数脉冲输入端输入端减计数减计数脉冲脉冲输入端输入端7复位端复位端8复位端复位端起动起动9两路脉冲输入的双相正交计数。两路脉冲输入的双相正交计数。A相脉冲超前相脉冲超前B相脉冲,加计数;相脉冲,加计数;A相脉冲滞后相脉冲滞后B相脉冲,减计数。相脉冲,减计数。A相脉冲相脉冲输入端输入端B相脉冲相脉冲输入端输入端10复位端复位端11复位端复位端起动起动高速计数器输入点都包括在一般数字量输入编号范围内。高速计数器输入点都包括在一般数字量输入编号范围内。如果程序使用了高速计数器,则高速计数器的这

13、种工作如果程序使用了高速计数器,则高速计数器的这种工作模式下指定的输入点只能被高速计数器使用。模式下指定的输入点只能被高速计数器使用。同一个输入点只能用作一种功能。同一个输入点只能用作一种功能。只有高速计数器不用的输入点才可以作为输入输出中断或只有高速计数器不用的输入点才可以作为输入输出中断或一般数字量输入点使用。一般数字量输入点使用。例如,例如,HSC0HSC0在模式在模式0 0下工作,只用下工作,只用I0.0I0.0作脉冲输入,不使用作脉冲输入,不使用I0.1I0.1和和I0.2I0.2,则这两个输入端可作为输入输出中断的输入点,则这两个输入端可作为输入输出中断的输入点或一般数字量输入点。

14、或一般数字量输入点。说明:说明:1 1、高速计数器定义指令、高速计数器定义指令HDEFLADSTLHDEF HSC,MODE功能说明功能说明高速计数器定义指令高速计数器定义指令HDEF操作数操作数HSC:高速计数器的编号,为常量(:高速计数器的编号,为常量(05),数据类型:字节。),数据类型:字节。MODE工作模式,为常量(工作模式,为常量(011),数据类型:字节。),数据类型:字节。三、三、高速计数指令高速计数指令利用该指令指定高速计数器(利用该指令指定高速计数器(HSCx)及其工作模式;)及其工作模式;工作模式的选择即选择了高速计数器的输入脉冲、计数方向、工作模式的选择即选择了高速计数

15、器的输入脉冲、计数方向、复位和起动功能;复位和起动功能;每个高速计数器只能用一条每个高速计数器只能用一条“高速计数器定义高速计数器定义”指令。指令。2 2、高速计数器激活指令、高速计数器激活指令HSCLADSTLHSC N功能说明功能说明高速计数器指令高速计数器指令HSC操作数操作数N:高速计数器的编号,为常量(:高速计数器的编号,为常量(05),数据类型:字型),数据类型:字型三、三、高速计数指令高速计数指令根据高速计数器控制位的状态和按照根据高速计数器控制位的状态和按照HDEF指令指定的指令指定的工作模式,激活高速计数器。工作模式,激活高速计数器。参数参数N指定高速计数器的编号。指定高速计

16、数器的编号。 四、高速计数器的控制字和状态字四、高速计数器的控制字和状态字1.1.控制字节控制字节定义了高速计数器及其工作模式后,定义了高速计数器及其工作模式后,还要设置高速计数器的有关控制字节。还要设置高速计数器的有关控制字节。 每个高速计数器均有一个控制字节,它决定了计数器的计每个高速计数器均有一个控制字节,它决定了计数器的计数允许或禁用,方向控制(仅限模式数允许或禁用,方向控制(仅限模式0 0、1 1和和2 2)或计数方)或计数方向,是否允许装入当前值和预置值等。向,是否允许装入当前值和预置值等。2. 2. 状态字节状态字节 每个高速计数器也都有一个状态字节,状态位表示了当前每个高速计数

17、器也都有一个状态字节,状态位表示了当前计数方向以及当前值是否大于或等于预置值。状态字节的计数方向以及当前值是否大于或等于预置值。状态字节的0-40-4位不用。位不用。HSCHSC的特殊寄存器的特殊寄存器高速计数器编号高速计数器编号 状态字节状态字节控制字节控制字节当前值双字当前值双字预设值双字预设值双字HSC0SMB36SMB37SMD38SMD42HSC1SMB46SMB47SMD48SMD52HSC2SMB56SMB57SMD58SMD62HSC3SMB136SMB137SMD138SMD142HSC4SMB146SMB147SMD148SMD152HSC5SMB156SMB157SMD1

18、58SMD162状态字节含义状态字节含义状态位状态位SMxx6.0-SMxx6.4SMxx6.5SMxx6.6SMxx6.7功能描述功能描述不用不用当前计数方向当前计数方向 0增,增,1减减当前值当前值=预设值预设值 0不等,不等,1等等当前值当前值预设值预设值 0是是程序运行时根据运行状况自动使状态字节的某些位置位。可以通过程序读相关位的状态,用以作为判断条件实现相应的操作。HSC的控制字节的控制字节HSC0HSC1HSC2HSC3HSC4HSC5说明说明SM37.0SM47.0SM57.0SM147.0复位有效电平控制:复位有效电平控制:0=复位信号高电平有效;复位信号高电平有效;1=低电

19、平有效低电平有效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 = 更新计

20、数方向更新计数方向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 = 禁用禁用HSC; 1 = 启用启用HSC五、高速计数器指令的使用五、高速计数器指令的使用 (1)每个高速计数器都有一个)每个高速计数器都有一个

21、32位当前值和一个位当前值和一个32位预置值,位预置值,当前值和预设值均为带符号的整数值。当前值和预设值均为带符号的整数值。要装入的数值要装入的数值HSC0HSC1HSC2HSC3HSC4HSC5新的当前值新的当前值SMD38SMD48SMD58SMD138SMD148SMD158新的预置值新的预置值SMD42SMD52SMD62SMD142SMD152SMD162要设置高速计数器的新当前值和新预置值,必须设要设置高速计数器的新当前值和新预置值,必须设置控制字节的第置控制字节的第5 5位和第位和第6 6位为位为1 1,允许更新预置值和,允许更新预置值和当前值。当前值。然后执行然后执行HSCHS

22、C指令,将新数值传输到高速计数器。指令,将新数值传输到高速计数器。(2)执行)执行HDEF指令之前,必须将高速计数器控制字节的指令之前,必须将高速计数器控制字节的位设置成需要的状态,否则将采用默认设置。位设置成需要的状态,否则将采用默认设置。默认设置为:复位和起动输入高电平有效,正交计数速率默认设置为:复位和起动输入高电平有效,正交计数速率选择选择4模式。模式。执行执行HDEF指令后,就不能再改变计数器指令后,就不能再改变计数器控制字节控制字节的设置,的设置,除非除非CPU进入停止模式。进入停止模式。(3)执行)执行HSC指令时,指令时,CPU检查控制字节和有关的当前值检查控制字节和有关的当前

23、值和预置值。和预置值。五、高速计数器指令的使用五、高速计数器指令的使用 例:要对一高速脉冲信号进行增例:要对一高速脉冲信号进行增/ /减计数,计减计数,计数当前值达到数当前值达到1212产生中断,计数方向用一个产生中断,计数方向用一个外部信号控制,所用的主机型号为外部信号控制,所用的主机型号为CPU224CPU224。(1)(1)选择计数器及工作模式选择计数器及工作模式分析:本控制要求是带外部方向控制的单相增分析:本控制要求是带外部方向控制的单相增/ /减计数,因此可用的高速计数器可以是减计数,因此可用的高速计数器可以是HSC0HSC0、HSC1HSC1、HSC2HSC2或或HSC4HSC4任

24、何一个。任何一个。步骤:步骤: HSC编号编号及其对应的及其对应的 输入输入 端子端子 HSC模式模式功能及说明功能及说明占用的输入端子及其功能占用的输入端子及其功能HSC0I0.0I0.1I0.2HSC4I0.3I0.4I0.5HSC1I0.6I0.7I1.0I1.1HSC2I1.2I1.3I1.4I1.5HSC3I0.1HSC5I0.40单路脉冲输入的内部方向控制加单路脉冲输入的内部方向控制加/减计数。控制字减计数。控制字SM37.3=0,减,减计数;计数;SM37.3=1,加计数。,加计数。脉冲输入端脉冲输入端1复位端复位端2复位端复位端起动起动3单路脉冲输入的外部方向控制加单路脉冲输入

25、的外部方向控制加/减减计数。方向控制端计数。方向控制端=0,减计数;,减计数;方向控制端方向控制端=1,加计数。,加计数。脉冲输入端脉冲输入端方向方向控制端控制端4复位端复位端5复位端复位端起动起动6两路脉冲输入的单相加两路脉冲输入的单相加/减计数。减计数。加计数有脉冲输入,加计数;加计数有脉冲输入,加计数;减计数端脉冲输入,减计数。减计数端脉冲输入,减计数。加计数脉冲加计数脉冲输入端输入端减计数减计数脉冲脉冲输入端输入端7复位端复位端8复位端复位端起动起动9两路脉冲输入的双相正交计数。两路脉冲输入的双相正交计数。A相脉冲超前相脉冲超前B相脉冲,加计数;相脉冲,加计数;A相脉冲滞后相脉冲滞后B

26、相脉冲,减计数。相脉冲,减计数。A相脉冲相脉冲输入端输入端B相脉冲相脉冲输入端输入端10复位端复位端11复位端复位端起动起动如果确定为如果确定为HSC0HSC0,由于不要求外部复位,所用应选,由于不要求外部复位,所用应选择工作模式择工作模式3 3。同时也确定了各个输入点:。同时也确定了各个输入点:I0.0I0.0为计数为计数脉冲的时钟输入;脉冲的时钟输入;I0.1I0.1为外部方向控制(为外部方向控制(I0.1=0I0.1=0,则,则为减计数;为减计数;I0.1=1I0.1=1,则为增计数)。,则为增计数)。(2)(2)设置控制字节设置控制字节选择用选择用HSC0HSC0的工作模式的工作模式3

27、 3,则对应的控制字节为则对应的控制字节为SMB37SMB37,如果向如果向SMB37SMB37写入写入2#111110002#11111000,即即16#F816#F8。则对则对HSC0HSC0的功能设置为:的功能设置为:复位输入信号是高电位有效、复位输入信号是高电位有效、计数方向为增计数、允许更计数方向为增计数、允许更新双字值和允许执行新双字值和允许执行HSCHSC指指令。令。步骤:步骤:HSC0说明说明SM37.0复位有效电平控制:复位有效电平控制:0=复位信号高电平有效;复位信号高电平有效;1=低电平有效低电平有效SM37.1起动有效电平控制:起动有效电平控制:0=起动信号高电平有效;

28、起动信号高电平有效;1=低电平有效低电平有效SM37.2正交计数器计数速率选择:正交计数器计数速率选择:0=4计数速率;计数速率;1=1计数速率计数速率SM37.3计数方向控制位:计数方向控制位:0 = 减计数,减计数,1 = 加计数加计数SM37.4向向HSC写入计数方向:写入计数方向:0 = 无更新,无更新,1 = 更新计数方向更新计数方向SM37.5向向HSC写入新预置值:写入新预置值:0 = 无更新,无更新,1 = 更新预置值更新预置值SM37.6向向HSC写入新当前值:写入新当前值:0 = 无更新,无更新,1 = 更新当前值更新当前值SM37.7HSC允许:允许:0 = 禁用禁用HS

29、C 1 = 启用启用HSC(3)(3)执行执行HDEFHDEF指令指令本例中,执行本例中,执行HDEFHDEF指令时,指令时,HSCHSC的输入值为的输入值为0 0,MODEMODE的输入值为的输入值为3 3。指令为:指令为:HDEF 0, 3。步骤:步骤:03(1)(1)选择计数器及工作模式选择计数器及工作模式(2)(2)设置控制字节设置控制字节(4)(4)设置当前值和预设值设置当前值和预设值每个高速计数器都对应一个双字长的当前值和一个双字长的预设值,每个高速计数器都对应一个双字长的当前值和一个双字长的预设值,都是有符号整数。当前值随计数脉冲的输入而不断变化。都是有符号整数。当前值随计数脉冲

30、的输入而不断变化。本例中选用本例中选用HSC0HSC0,所以对应的当前值和预设值分别存放到,所以对应的当前值和预设值分别存放到SMD38SMD38和和SMD42SMD42中。如果希望从中。如果希望从0 0开始计数,计数值达到开始计数,计数值达到1212时时产生中断,则可以用双字节传送指令分别将产生中断,则可以用双字节传送指令分别将0 0和和1212装入装入SMD38SMD38和和SMD42SMD42中。中。要装入的数值要装入的数值HSC0HSC1HSC2HSC3HSC4HSC5新的当前值新的当前值SMD38SMD48SMD58SMD138SMD148SMD158新的预置值新的预置值SMD42S

31、MD52SMD62SMD142SMD152SMD162步骤:步骤:(5)(5)设置中断事件设置中断事件 并全局开中断并全局开中断高速计数器利用高速计数器利用中断方式中断方式对高速事件进行精确控制。对高速事件进行精确控制。本例中,用本例中,用HSC0HSC0进行计数,进行计数,要求在当前值等于预设值时要求在当前值等于预设值时产生中断。因此,中断事件产生中断。因此,中断事件是当前值等于预设值,中断是当前值等于预设值,中断事件号为事件号为1212。指令如下:指令如下:ATCH INTO, 12ATCH INTO, 12 ENI ENI步骤:步骤:以上以上6 6步是对高速计数器的初始化,可以用主程序步

32、是对高速计数器的初始化,可以用主程序中的程序段来实现,也可以用子程序来实现,称为中的程序段来实现,也可以用子程序来实现,称为高速计数器初始化子程序;高速计数器初始化子程序;高速计数器在投入运行之前,必须要执行一次初高速计数器在投入运行之前,必须要执行一次初始化程序段或初始化子程序。始化程序段或初始化子程序。初始化脉冲可以用外加脉冲信号,也可以使用系初始化脉冲可以用外加脉冲信号,也可以使用系统特殊标志存储器位中的统特殊标志存储器位中的SM0.1SM0.1位(初次扫描位)。位(初次扫描位)。用用SM0.1SM0.1即可节省输入点,又可以使程序优化。即可节省输入点,又可以使程序优化。(6)(6)执行

33、执行HSCHSC指令激活高速计数指令激活高速计数步骤:步骤:(1)选择计数器及工作模式)选择计数器及工作模式 (2)设置控制字节)设置控制字节 (3)执行)执行HDEF指令指令 (4)设定当前值和预设值)设定当前值和预设值 (5)设置中断事件并全局开中断)设置中断事件并全局开中断 (6)执行)执行HSC指令指令 使用高速计数器时,要按以下步骤进行:使用高速计数器时,要按以下步骤进行:【例例】某设备采用位置编码器作为检测元件,需要高速计数某设备采用位置编码器作为检测元件,需要高速计数器进行位置值的计数,其要求如下:计数信号为器进行位置值的计数,其要求如下:计数信号为A、B两相两相相位差相位差90

34、的脉冲输入;使用外部计数器复位与启动信号,的脉冲输入;使用外部计数器复位与启动信号,高电平有效;编码器每转的脉冲数为高电平有效;编码器每转的脉冲数为2500,在,在PLC内部进行内部进行4倍频,计数开始值为倍频,计数开始值为“0”,当转动,当转动1转后,需要清除计数值转后,需要清除计数值进行重新计数。进行重新计数。(1)主程序。用首次扫描时接通一个扫描周期的特殊内部存储器)主程序。用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。去调用一个子程序,完成初始化操作。LD SM0.1CALL SBR_0(2)初始化的子程序。选用)初始化的子程序。选用HSC1的

35、模式的模式11(两路脉冲(两路脉冲输入的双相正交计数,具有复位和起动输入功能)。输入的双相正交计数,具有复位和起动输入功能)。 HSC编号编号及其对应的及其对应的 输入输入 端子端子 HSC模式模式功能及说明功能及说明占用的输入端子及其功能占用的输入端子及其功能HSC0I0.0I0.1I0.2HSC4I0.3I0.4I0.5HSC1I0.6I0.7I1.0I1.1HSC2I1.2I1.3I1.4I1.5HSC3I0.1HSC5I0.49两路脉冲输入的双相正交计数。两路脉冲输入的双相正交计数。A相脉冲超前相脉冲超前B相脉冲,加计数;相脉冲,加计数;A相脉冲滞后相脉冲滞后B相脉冲,减计数。相脉冲,

36、减计数。A相脉冲相脉冲输入端输入端B相脉冲相脉冲输入端输入端10复位端复位端11复位端复位端起动起动HSC0说明说明SM47.0复位有效电平控制:复位有效电平控制:0=复位信号高电平有效复位信号高电平有效;1=低电平有效低电平有效SM47.1起动有效电平控制:起动有效电平控制:0=起动信号高电平有效起动信号高电平有效;1=低电平有效低电平有效SM47.2正交计数器计数速率选择:正交计数器计数速率选择:0=4计数速率计数速率;1=1计数速率计数速率SM47.3计数方向控制位:计数方向控制位:0 = 减计数,减计数,1 = 加计数加计数SM47.4向向HSC写入计数方向:写入计数方向:0 = 无更

37、新,无更新,1 = 更新计数方向更新计数方向SM47.5向向HSC写入新预置值:写入新预置值:0 = 无更新,无更新,1 = 更新预置值更新预置值SM47.6向向HSC写入新当前值:写入新当前值:0 = 无更新,无更新,1 = 更新当前值更新当前值SM47.7HSC允许:允许:0 = 禁用禁用HSC,1 = 启用启用HSC(2)初始化的子程序。)初始化的子程序。设置设置SMB47=16#F8(允许计(允许计数,更新新当前值,更新新数,更新新当前值,更新新预置值,更新计数方向为加预置值,更新计数方向为加计数,计数,4正交计数,复位正交计数,复位和起动设置为高电平有效)。和起动设置为高电平有效)。

38、HSC1的当前值的当前值SMD48清零,清零,预置值预置值SMD52=10000,当前,当前值值 = 预设值,产生中断(中预设值,产生中断(中断事件断事件13),中断事件),中断事件13连连接中断程序接中断程序INT-0。子程序子程序0(配置(配置HSC1)LD SM0.1 / 首次扫描时首次扫描时MOVB 16#F8,SMB47 / 设置设置HSC1控制字控制字HDEF 1,11 / 将将HSC1设置为模式设置为模式11MOVD +0,SMD48 / HSC1的当前值清的当前值清0MOVD +10000,SMD52 / 将将HSC1预设值预设值 设为设为10000ATCH INT_0,13

39、/中断事件中断事件13, 调用中断程序调用中断程序INT_0ENI /允许全局中断允许全局中断HSC 1 / 激活行激活行HSC1指令指令子程序10000LD SM0.0MOVD +0, SMD48 / HSC1的当前值清的当前值清0MOVB 16#C0, SMB47 /只写入一个新当前值,只写入一个新当前值, 预置值不变,预置值不变, 计数方向不变,计数方向不变,HSC1允许计数允许计数 HSC 1 /执行执行HSC1指令指令六、高速计数器指令向导的应用六、高速计数器指令向导的应用(1)打开)打开STEP7-Micro/WIN软件,选择主菜单软件,选择主菜单“工具工具”“指令向导指令向导”进

40、入向导编程页面。进入向导编程页面。高速计数器指令向导编程页面高速计数器指令向导编程页面(2)选择)选择“HSC”点击点击“下一步下一步”,出现对话框如下图,出现对话框如下图所示。只能在符号地址的编程方式下使用指令向导,点击所示。只能在符号地址的编程方式下使用指令向导,点击“是是”进行确认。进行确认。六、高速计数器指令向导的应用六、高速计数器指令向导的应用(3)确认符号地址后,出现计数器编号和计数模式选择页面,)确认符号地址后,出现计数器编号和计数模式选择页面,可以选择计数器的编号和计数模式。如选择可以选择计数器的编号和计数模式。如选择“HSC1”和计数模式和计数模式“11”,选择后点击,选择后

41、点击“下一步下一步”。计数器编号和计数模式选择页面计数器编号和计数模式选择页面 (4)在高速计数器初始化设定页面中分别输入)在高速计数器初始化设定页面中分别输入高速计数器初始化子程序的高速计数器初始化子程序的符号名符号名(默认的符号名为(默认的符号名为“HSC-INIT”););高速计数器的预置值高速计数器的预置值;计数器;计数器当前值的初始值当前值的初始值;初始计数方向初始计数方向;重设输入(即复位信号)的极性重设输入(即复位信号)的极性;起始起始输入(即启动信号)的极性输入(即启动信号)的极性;计数器的倍率选择计数器的倍率选择。完成后点击。完成后点击“下一步下一步”。 高速计数器初始化设定

42、页面高速计数器初始化设定页面(5)在完成高速计数器的初始化设定后,出现高速计数器)在完成高速计数器的初始化设定后,出现高速计数器中断设置中断设置的页的页面。若要求当前值等于预置值时产生中断,并输入中断程序的符号名(默面。若要求当前值等于预置值时产生中断,并输入中断程序的符号名(默认的为认的为COUNT-EQ)。在)。在“您希望为您希望为HC1编程多少个步骤?编程多少个步骤?”栏,输入栏,输入需要中断的步数,本例只有当前值清零需要中断的步数,本例只有当前值清零1步,选择步,选择“1”。完成后点击。完成后点击“下一下一步步”。 高速计数器中断设置的页面高速计数器中断设置的页面(6)高速计数器中断处

43、理方式设定页面。在本例中当)高速计数器中断处理方式设定页面。在本例中当CV = PV时需要时需要将当前值清将当前值清0,所以选择,所以选择“更新当前值更新当前值”选项,并在选项,并在“新新CV”栏内输入栏内输入新的当前值新的当前值“0”。完成后点击。完成后点击“下一步下一步”。高速计数器中断处理方式设定页面高速计数器中断处理方式设定页面(7)高速计数器中断处理方式设定完成后,出现高速计数器编程确认页面。)高速计数器中断处理方式设定完成后,出现高速计数器编程确认页面。该页面显示了由向导编程完成的而程序及使用说明,选择该页面显示了由向导编程完成的而程序及使用说明,选择“完成完成”结束编结束编程。程

44、。 高速计数器编程确认页面高速计数器编程确认页面(8)向导使用完成后在程序编辑器页面内自动增加了名称为)向导使用完成后在程序编辑器页面内自动增加了名称为“HSC-INIT”子程序和子程序和“COUNT-EQ”中断程序。中断程序。在程序编辑页面中增加了在程序编辑页面中增加了“HSC-INIT”子程序和子程序和“COUNT-EQ”中断程序标签中断程序标签七、高速脉冲输出七、高速脉冲输出需要重点把握的几个问题:需要重点把握的几个问题:u高速脉冲输出的形式高速脉冲输出的形式 u输出端子的确定输出端子的确定 u相关寄存器相关寄存器 u脉冲输出指令脉冲输出指令 1 1、概念及作用、概念及作用输出频率可达输

45、出频率可达20KHz,用于,用于PTO(脉冲串输出,输出一个频(脉冲串输出,输出一个频率可调,占空比为率可调,占空比为50%的脉冲)和的脉冲)和PWM(脉宽调制输出,输(脉宽调制输出,输出占空比可调的脉冲)。出占空比可调的脉冲)。七、高速脉冲输出七、高速脉冲输出1)PTO(脉冲串输出)(脉冲串输出)多用于带有位置控制功能的步进多用于带有位置控制功能的步进驱动器或伺服驱动器。驱动器或伺服驱动器。通过输出脉冲的通过输出脉冲的个数个数,作为位置给定值的输入,以实现,作为位置给定值的输入,以实现定位定位控制控制功能。功能。通过改变定位脉冲的输出通过改变定位脉冲的输出频率频率,可以改变运动的,可以改变运

46、动的速度速度。2)PWM(脉宽调制输出)(脉宽调制输出)用于直接驱动调速系统。用于直接驱动调速系统。2 2、高速脉冲输出占用的输出端子、高速脉冲输出占用的输出端子S7-200晶体管输出型的晶体管输出型的PLC(如(如CPU224DC/DC/DC)有)有PTO和和PWM两个高速脉冲发生器,可通过数字量输出点两个高速脉冲发生器,可通过数字量输出点Q0.0或或Q0.1输出。输出。七、高速脉冲输出七、高速脉冲输出同一个输出点只能用作一种功能,如果同一个输出点只能用作一种功能,如果Q0.0和和Q0.1在程序在程序执行时用作高速脉冲输出,则只能被高速计数器使用,其通执行时用作高速脉冲输出,则只能被高速计数

47、器使用,其通用功能被自动禁止,任何输出刷新、输出强制、立即输出等用功能被自动禁止,任何输出刷新、输出强制、立即输出等指令都无效。只有高速脉冲输出不用的输出点才可以作普通指令都无效。只有高速脉冲输出不用的输出点才可以作普通数字量输出点使用。数字量输出点使用。如果如果Q0.0和和Q0.1在编程时用作高速脉冲输出,但尚未执行在编程时用作高速脉冲输出,但尚未执行脉冲输出指令,则可以用普通位操作指令进行设置,建议用脉冲输出指令,则可以用普通位操作指令进行设置,建议用R指令将其设置为指令将其设置为0。3 3、用于脉冲输出(、用于脉冲输出(Q0.0Q0.0或或Q0.1Q0.1)的特殊存储器)的特殊存储器u执

48、行执行PLS(脉冲输出)指令时,(脉冲输出)指令时,S7-200读这些特殊存储器位读这些特殊存储器位(SM),然后执行特殊存储器位定义的脉冲操作,即对相应),然后执行特殊存储器位定义的脉冲操作,即对相应的的PTO/PWM发生器进行编程。发生器进行编程。Q0.0Q0.1说说 明明SM67.0SM77.0PTO/PWM刷新周期值刷新周期值 0 :不刷新;:不刷新;1 :刷新:刷新SM67.1SM77.1PWM刷新脉冲宽度值刷新脉冲宽度值 0 :不刷新;:不刷新;1:刷新:刷新SM67.2SM77.2PTO刷新脉冲计数值刷新脉冲计数值 0 :不刷新;:不刷新;1:刷新:刷新SM67.3SM77.3P

49、TO/PWM时基选择时基选择 0 :1 s; 1:1msSM67.4SM77.4PWM更新方法更新方法 0 :异步更新;:异步更新; 1:同步更新:同步更新SM67.5SM77.5PTO操作操作 0 :单段操作;:单段操作; 1:多段操作:多段操作SM67.6SM77.6PTO/PWM模式选择模式选择 0 :选择:选择PTO 1 : 选择选择PWMSM67.7SM77.7PTO/PWM允许允许 0:禁止;:禁止; 1 :允许:允许Q0.0和和Q0.1对对PTO/PWM输出的输出的控制字节控制字节向向SMB67SMB67写入写入2#101010002#10101000的含义为:的含义为:选择选择

50、Q0.0Q0.0作为输出端,允许脉冲输出,多段作为输出端,允许脉冲输出,多段PTOPTO脉冲串输出,脉冲串输出,时间为时间为1ms1ms,不允许更新周期值和脉冲数。,不允许更新周期值和脉冲数。向控制字节(向控制字节(SM67.7或或SM77.7)的)的PTO/PWM允许位写入零,允许位写入零,然后执行然后执行PLS指令,将禁止指令,将禁止PTO或或PWM波形的生成。波形的生成。注意:所有控制位、周期、注意:所有控制位、周期、脉冲宽度和脉冲计数值的脉冲宽度和脉冲计数值的默认值均为零。默认值均为零。Q0.0和和Q0.1的状态位的状态位Q0.0Q0.1说明说明SM66.4SM76.4PTO包络由于增

51、量计算错误而终止包络由于增量计算错误而终止 0 :无错误;:无错误;1 : 有错误有错误SM66.5SM76.5PTO包络由于用户命令异常终止包络由于用户命令异常终止0 : 无错;无错;1 :异常终止:异常终止SM66.6SM76.6PTO管线溢出管线溢出 0 :无溢出;:无溢出; 1 : 溢出溢出SM66.7SM76.7PTO空闲(用来指示脉冲序列输出结束)空闲(用来指示脉冲序列输出结束) 0 :运行中;:运行中; 1 : PTO空闲空闲状态字节状态字节的特殊存储器(的特殊存储器(PTOPTO方式方式)4 4、脉冲输出指令脉冲输出指令PLSPLS使能输入有效时,检测用程序设置的特殊存储使能输

52、入有效时,检测用程序设置的特殊存储器位,激活由控制位定义的脉冲操作,从器位,激活由控制位定义的脉冲操作,从Q0.0Q0.0或或Q0.1Q0.1输出高速脉冲。输出高速脉冲。有一个数据输入端:必须是有一个数据输入端:必须是0 0或或1 1的常数。的常数。高速脉冲串输出高速脉冲串输出PTOPTO和宽度可调脉冲输出和宽度可调脉冲输出PWMPWM都都由由PLSPLS指令激活输出。指令激活输出。PLS QPWMPWM的使用步骤:的使用步骤:1 1)确定脉冲发生器)确定脉冲发生器2 2)设置控制字节)设置控制字节3 3)写入周期值和脉冲宽度值)写入周期值和脉冲宽度值4 4)执行)执行PLSPLS指令指令选用

53、高速脉冲串输出端选用高速脉冲串输出端设置工作模式为设置工作模式为PWMPWM按控制要求将控制字节写入按控制要求将控制字节写入SMB67SMB67或或SMB77SMB77特殊寄存器。特殊寄存器。按控制要求将脉冲周期值写入按控制要求将脉冲周期值写入SMW68SMW68或或SMW78SMW78特殊寄存特殊寄存器,将脉宽值写入器,将脉宽值写入SMW70SMW70或或SMW80SMW80特殊寄存器。特殊寄存器。以上设置完成并用指令实现之后,即可用以上设置完成并用指令实现之后,即可用PLSPLS指令启动指令启动宽度可调脉冲由宽度可调脉冲由Q0.0Q0.0或或Q0.1Q0.1输出。输出。 PWM更新方式更新

54、方式同步更新:同步更新:同步更新时,波形的变化发生在周期的边缘,同步更新时,波形的变化发生在周期的边缘, 形成平滑转换。在不需要改变时间基准的情况下,可以采形成平滑转换。在不需要改变时间基准的情况下,可以采 用同步更新。用同步更新。异步更新:异步更新:在在改变改变脉冲发生器的脉冲发生器的时间基准时间基准的情况下,就的情况下,就必须采用异步更新。异步更新有时会引起脉冲输出功能被必须采用异步更新。异步更新有时会引起脉冲输出功能被瞬时禁止,或波形不同步,引发被控制设备的振动。瞬时禁止,或波形不同步,引发被控制设备的振动。更新方式由控制位更新方式由控制位SMBx7.4SMBx7.4确定。确定。n高速脉

55、冲串输出高速脉冲串输出PTOPTO用来输出指定数量的方波(占空比为用来输出指定数量的方波(占空比为50%50%)。)。用户可以控制方波的周期和脉冲数。用户可以控制方波的周期和脉冲数。状态字节中的最高位用来指示脉冲串输出是否完成。状态字节中的最高位用来指示脉冲串输出是否完成。脉冲串的输出完成同时可以产生中断,因而可以脉冲串的输出完成同时可以产生中断,因而可以 调用中断程序完成指定操作。调用中断程序完成指定操作。Q0.0和和Q0.1的状态位的状态位Q0.0Q0.1说明说明SM66.4SM76.4PTO包络由于增量计算错误而终止包络由于增量计算错误而终止 0 :无错误;:无错误;1 : 有错误有错误

56、SM66.5SM76.5PTO包络由于用户命令异常终止包络由于用户命令异常终止0 : 无错;无错;1 :异常终止:异常终止SM66.6SM76.6PTO管线溢出管线溢出 0 :无溢出;:无溢出; 1 : 溢出溢出SM66.7SM76.7PTO空闲(用来指示脉冲序列输出结束)空闲(用来指示脉冲序列输出结束) 0 :运行中;:运行中; 1 : PTO空闲空闲n高速脉冲串输出高速脉冲串输出PTOPTO周期和脉冲数周期和脉冲数1 1)周期:)周期:单位可以是单位可以是ss或或msms,写入,写入SMW68或或SMW78中中,1616位无符号数据,周期变化范围是位无符号数据,周期变化范围是10-6553

57、5s 10-65535s 或或2-65535ms2-65535ms,通常应设定周期值为偶数。,通常应设定周期值为偶数。2 2)脉冲数:)脉冲数:写入写入SMD72或或SMD82中中,双字长无符号数,双字长无符号数,脉冲数取值范围是脉冲数取值范围是1 1到到42949672954294967295之间。之间。如果编程时指定脉冲数为如果编程时指定脉冲数为0 0,则系统默认脉冲数位,则系统默认脉冲数位1 1个。个。若设置的周期为奇数,则会引起输出波形占空比的若设置的周期为奇数,则会引起输出波形占空比的轻微失真。轻微失真。如果编程时设定周期单位小于如果编程时设定周期单位小于2 2,系统默认按,系统默认

58、按2 2进行进行设置。设置。PTOPTO的种类的种类PTOPTO方式中,如果要输出多个脉冲串,允许脉方式中,如果要输出多个脉冲串,允许脉冲串进行排队,形成管线,当前输出的脉冲串完冲串进行排队,形成管线,当前输出的脉冲串完成后,立即输出新脉冲串,这保证了脉冲串顺序成后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性。输出的连续性。n根据管线的实现方式,将根据管线的实现方式,将PTOPTO分为分为单段管线单段管线和和多段管线多段管线。n高速脉冲串输出高速脉冲串输出PTOPTO1 1)单段管线)单段管线启动了初始启动了初始PTOPTO段后,必须按照第二段波形要求立即为下一段后,必须按照第二段波形要

59、求立即为下一个脉冲段修改特殊寄存器个脉冲段修改特殊寄存器(SM)(SM),并再次执行脉冲串输出指令,并再次执行脉冲串输出指令PLSPLS。管线中只能存放一个脉冲串的控制参数,当前脉冲串输出管线中只能存放一个脉冲串的控制参数,当前脉冲串输出完成之后,自动立即输入下一个脉冲串。重复这一操作可以完成之后,自动立即输入下一个脉冲串。重复这一操作可以实现多个脉冲串的输出。实现多个脉冲串的输出。单段管线中的各脉冲串可以采用不同的时间基准。单段管线中的各脉冲串可以采用不同的时间基准。单段管线输出多个高速脉冲串时,编程复杂,而且有时单段管线输出多个高速脉冲串时,编程复杂,而且有时参数设置不当会造成脉冲串之间的

60、不平滑转换。参数设置不当会造成脉冲串之间的不平滑转换。PTOPTO的种类的种类n高速脉冲串输出高速脉冲串输出PTOPTO2 2)多段管线)多段管线多段管线是指在变量多段管线是指在变量V V存储区存储区建立一个建立一个包络表包络表,包络表中,包络表中存储各个脉冲串的参数,相当于有多个脉冲串的入口。存储各个脉冲串的参数,相当于有多个脉冲串的入口。l多段管线可以用多段管线可以用PLSPLS指令启动,运行时,主机自动从包络指令启动,运行时,主机自动从包络表中按顺序读出各个脉冲串的参数进行输出。表中按顺序读出各个脉冲串的参数进行输出。l编程时必须装入包络表的起始变量编程时必须装入包络表的起始变量V V存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论