资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
s7s7- -200200 高速计数器详细解说高速计数器详细解说 1.高速计数器指令高速计数器指令 普通计数器受 CPU 扫描速度的影响,是按照顺序扫描的方式进行工作。在没个扫描周 期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比 PLC 的扫描频率高时,如果 仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。在 PLC 中,对比扫描频率高 的输入信号的计数可也使用高速计数器指令来实现。 在 S7-200 的 CPU22X 中,高速计数器数量及其地址编号表如下 CPU 类型 CPU221 CPU222 CPU224 CPU226 高速计数器数量 4 6 高速计数器编号 HC0,HC3HC5 HC0HC5 1高速计数器指令 高速计数器的指令包括:定义高速计数器指令 HDEF 和执行高速计数指令 HSC,如表 HDEF HSC (1) 定义高速计数器指令 HDEF HDE 指令功能是为某个要使用的高速计数器选定一种工作模式。 每个高速计数器在使用 前,都要用 HDEF 指令来定义工作模式,并且只能用一次。它有两个输入端:HSC 为要 使用的高速计数器编号,数据类型为字节型,数据范围为 05 的常数,分别对应 HC0 HC5;MOCE 为高速计数的工作模式,数据类型为字节型,数据范围为 011 的常数,分 别对应 12 种工作模式。当准许输入使能 EN 有效时,为指定的高速计数器 HSC 定义工 作模式 MODE。 (2)执行高速计数指令 HSC HSC 指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状 态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。它有一个数 据输入端 N:N 为高速计数器的编号,数据类型的字型,数据范围为 05 的常数,分别对应 高速计数器 HC0HC5.当准许输入 EN 使能有效时,启动 N 号高速计数器工作。 2高速计数器的输入端 高速计数器的输入端不像普通输入端那样有用户定义, 而是由系统指定的输入点输入信 号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点, 通过比较或中断完成预定的操作。每个高速计数器专用的输入点如表 高速计数器的输入点 高速计数器标号 输入点 高速计数器标号 输入点 HC0 I0.0,I0.1,I0.2 HC3 I0.1 HC1 I0.6,I0.7,I1.0,11.1 HC4 I0.3,I0.4,I0.5 HC2 I1.2,I1.3,I1.4,I1.5 HC5 I0.4 3高速计数器的状态字节 系统为每个高速计数器都在特殊寄存器区 SMB 提供了一个状态字节,为了监视高速计数器 的工作状态,执行由高速计数器引用的中断事件,其格式如表。 高速计数器的状态字节 HC0 HC1 HC2 HC3 HC4 HC5 描述 SM36.0 SM46.0 SM56.0 SM36.0 SM146.0 SM156.0 不用 SM36.1 SM46.1 SM56.1 SM36.1 SM146.1 SM156.1 SM36.2 SM46.2 SM56.2 SM36.2 SM146.2 SM156.2 SM36.3 SM46.3 SM56.3 SM36.3 SM146.3 SM156.3 SM36.4 SM46.4 SM56.4 SM36.4 SM146.4 SM156.4 SM36.5 SM46.5 SM56.5 SM36.5 SM146.5 SM156.5 当前计数的状态位 0= 减计数,1=增计数 SM36.6 SM46.6 SM56.6 SM36.6 SM146.6 SM156.6 当前值等于设定值的状 态位 0=不等于, 1=等于 SM36.7 SM46.7 SM56.7 SM36.7 SM146.7 SM156.7 当前值大于设定值得状 态位 0=小于等于, 1=大 于 只有执行高速计数器的中断程序时,状态字节的状态位才有效。 4.高速计数器的工作模式 高速计数器有 12 种不同的工作模式(011),分为 4 类。每个高速计数器都有多种工作模 式,可以通过编程的方法,使用定义高速计数器指令 HDEF 来选定工作模式。 (1) 各个高速计数器的工作模式 1 高速计数器 HC0 是一个通用的增减计数器,工有 8 种模式,可也通过编程来选择 不同的工作模式,HC0 的工作模式如表 HC0 的工作模式 模式 描述 控制位 I0.0 I0.1 I0.2 0 内部方向控制的单向增/ 减计数器 SM37.3=0,减 脉冲 1 SM37.3=1,增 复位 3 外部方向控制的单向增/ 减计数器 I0.1=0,减 脉冲 方向 4 I0.1=1,增 复位 6 增/减计数脉冲输入控制 的双向计数器 外 部 输 入 控 制 曾计数 脉冲 减计数 脉冲 7 复位 9 A/B 相正交 计数器 A 超前 B, 曾计数 外 部 输 入 控 制 A 相脉冲 B 相脉冲 10 B 超前 A,复位 减计数 2 高速计数器 HC1 共有 12 种操作模式如表 HCI 的操作模式 模式 描述 控制位 I0.6 I0.7 I1.0 I1.1 0 内部方向控制的单向 增/减计数器 SM47.3=0,减 SM47.3=1,增 脉冲 1 复位 2 启动 3 外部方向控制的单向 增/减计数器 I0.7=0,减 I0.7=1,增 脉冲 方向 4 复位 5 启动 6 增/减计数脉冲输入 控制的双向计数器 外 部 输 入 控 制 曾计数 脉冲 减计数 脉冲 7 复位 8 启动 9 A/B 相正交计数器 A 超前 B,曾计数 B 超前 A,减计数 外 部 输 入 控 制 A 相 脉冲 B 相 Mc 10 复位 11 启动 3.高速计数器 HC2 共有 12 种操作模式,如表 HC2 的操作模式 模式 描述 控制位 I1.2 I1.3 I1.4 I1.5 0 内部方向控制的单向 增/减计数器 SM573=0,减 SM57.3=1, 增 脉冲 1 复位 2 启动 3 外部方向控制的单向 增/减计数器 I1.3=0,减 I1.3=1,增 脉冲 方向 4 复位 5 启动 6 增/减计数脉冲输入 控制的双向计数器 外 部 输 入 控 制 曾计数 脉冲 减计数 脉冲 7 复位 8 启动 9 A/B 相正交计数器 A 超前 B,曾计数 B 超前 A,减计数 外 部 输 入 控 制 A 相 脉冲 B 相 Mc 10 复位 11 启动 4 高速计数器 HC3 只有一种操作模式,如表 HC3 的操作模式 模式 描述 控制位 I0.1 0 内部方向控制的单向增/减计数器 SM137.0=0,减; SM137.3=1,增 脉冲 5.高速计数器 HC4 有 8 操作模式,如表 HC4 的操作模式 模式 描述 控制位 I0.3 I0.4 I0.5 0 内部方向控制的单向增/减计数 器 SM147.3=0,减 脉冲 1 SM147.3=1,增 复位 3 外部方向控制的单向增/减计数I0.1=0,减 脉冲 方向 4 器 I0.1=1,增 复位 6 增/减计数脉冲输入控制的双向 计数器 外部输入控制 增计数 脉冲 减计数 脉冲 7 复位 9 A/B 相正 交计数器 A 超前 B,曾计数 外部输入控制 A 相 脉冲 B 相 脉冲 10 B 超前 A,减计数 复位 6.高速计数器 HC5 只有一种操作模式如表 HC5 的操作模式 模式 描述 控制位 I0.4 0 内部方向控制的单向增/减计数器 SM157.3=0,减 SM157.3=1,增 脉冲 4.高速计数器的控制字节 系统为每个高速计数器都安排了一个特殊寄存器 SMB 作为控制字,可也通过对控制字 节指定为的设置,确定高速计数器的工作模式。S7-200 在执行 HSC 指令前,首先要检查与 每个高速计数器相关的控制字节, 在控制字节中设置了启动输入信号和复位输入信号的有效 电平, 正交计数器的计数倍率, 计数方向采用内部控制的有效电平, 是否允许改变计数方向, 是否允许更新设定值,是否允许更新当前值,以及是否允许执行高速计数指令。 高数计数器的控制字节 HCO HC1 HC2 HC3 HC4 HC5 描述 SM37.0 SM47.0 SM57.0 - SM147.0 - 复位输入控制电平有效值: 、 0=高电平有效,1=低电平有效 - SM47.1 SM57.1 - - - 启动输入控制电平有效值: 0=高电平有效,1=低电平有效 SM37.2 SM47.2 SM57.2 - SM147.2 - 倍率选择:0=4 倍率,1=1 倍率 SM37.3 SM47.3 SM57.3 SM137.3 SM147.3 SM157.3 计数方向控制:0 为减 1 为曾 SM37.4 SM47.4 SM57.4 SM137.4 SM147.4 SM157.4 改变计数方向控制:0=不改变 1=准许改变 SM37.5 SM47.5 SM57.5 SM137.5 SM147.5 SM157.5 改变设定值控制:0=不改变 1=准许改变 SM37.6 SM47.6 SM57.6 SM137.6 SM147.6 SM157.6 改变当前值控制:0=不改变 1=准许改变 SM37.7 SM47.7 SM57.7 SM137.7 SM147.7 SM157.7 高速计数控制:0=禁止计数 1=准许计数 说明: (1) 在高速计数器的 12 种工作模式中,模式 0、模式 3、模式 6 和模式 9,是既无 启动输入,又无复位输入的计数器,在模式 1、模式 4、模式 7 和模式 10 中, 是只有复位输入,而没有启动输入的计数器;在模式 2、模式 5、模式 8 和模式 11 中,是既有启动输入,又有复位输入的计数器。 (2) 当启动输入有效时,允许计数器计数;当启动输入无效时,计数器的当前值保 持不变;当复位输入有效时,将计数器的当前值寄存器清零;当启动输入无效, 而复位输入有效时,则忽略复位的影响,计数器的当前值保持不变;当复位输 入保持有效,启动输入变为有效时,则将计数器的当前值寄存器清零。 (3) 在 S7-200 中,系统默认的复位输入和启动输入均为高电平有效,正交计数器为 4 倍频,如果想改变系统的默认设置,需要设置如上表中的特殊继电器的第 0, 1,2 位。 各个高速计数器的计数方向的控制, 设定值和当前值的控制和执行高速计数的控制, 是 由表 4-22 中各个相关控制字节的第 3 位至第 7 位决定的。 6.高速计数器的当前值寄存器和设定值寄存器高速计数器的当前值寄存器和设定值寄存器 每个高速计数器都有 1 个 32 位的经过值寄存器 HC0-HC5, 同时每个高速计数器还 有 1 个 32 位的当前值寄存器和 1 个 32 位的设定值寄存器, 当前值和设定值都是有符号 的整数。 为了向高速计数器装入新的当前值和设定值, 必须先将当前值和设定值以双字 的数据类型装入如表所列的特殊寄存器中。然后执行 HSC 指令,才能将新的值传送给 高速计数器。 高速计数器的当前值和设定值 HC0 HC1 HC2 HC3 HC4 HC5 说明 SMD38 SMD48 SMD58 SMD138 SMD148 SMD158 新当前值 SMD42 SMD52 SMD62 SMD142 SMD152 SMD162 新设定值 7.高速计数器的初始化高速计数器的初始化 由于高速计数器的 HDEF 指令在进入 RUN 模式后只能执行 1 次,为了减少程序运 行时间优化程序结构,一般以子程序的形式进行初始化。下面以 HC2 为例,介绍高速 计数器的各个工作模式的初始化步骤。 1 利用 SM0.1 来调用一个初始化子程序。 2 在初始化子程序中,根据需要向 SMB47 装入控制字。例如,SMB47=16#F8, 其意义是:准许写入新的当前值,准许写入新的设定值,计数
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号