S7-200 CPU提供了多个高速计数器(HSC0~HSC5)以响应快速脉冲输入信号。高速计数器的计数速度比PLC的扫描速度要快得多,因此高速计数器可独立于用户程序工作,不受扫描时间的限制。用户通过相关指令,设置相应的特殊存储器控制计数器的工作。
1.高速计数器的工作模式和输入
高速计数器有12种工作模式,每个计数器都有时钟、方向控制、复位启动等特定输入。对于双向计数器,两个时钟都可以运行在最高频率,高速计数器的最高计数频率取决于CPU的类型。在正交模式下,可选择1×(1倍速)或者4×(4倍速)输入脉冲频率的内部计数频率。高速计数器有8种4类工作模式。具体介绍如下:
1)无外部方向输入信号的加/减计数器(模式0和模式2)。用高数计数器的控制字的第3位控制加/减计数,该位为1时为加计数,为0时为减计数。
2)有外部方向输入信号的加/减计数器(模式3和模式5)。方向信号为1时,为加计数,方向信号为0时,为减计数。
3)有加计数时钟脉冲和减计数时钟脉冲输入的双相计数器(模式6和模式8)。若加计数脉冲和减计数脉冲的上升沿出现的时间间隔短,高速计数器认为这两个事件同时发生,当前值不变,也不会有计数方向变化的指示。否则高速计数器能捕捉到每一个独立的信号。
4)A/B相正交计数器(模式9和模式11)。它的两路计数脉冲的相位相差90°,正转时A相时钟脉冲比B相时钟脉冲超前90°。反转时,A相时钟脉冲比B相时钟脉冲滞后90°。利用这一特点,正转时加计数,反转时,减计数。
高速计数器的工作模式和输入点见表8-1。
表8-1 高速计数器的工作模式和输入点
【关键点】S7-200 CPU 221、CPU 222没有HSC1和HSC2;CPU 224、CPU 224XP和CPU226拥有全部的6个高速计数器。只有HSC0和HSC3支持模式12,其中HSC0计数Q0.0的输出脉冲,其中HSC3计数Q0.1的输出脉冲,在此模式下工作时,并不需要外部接线。
高速计数器的硬件输入接口与普通数字量接口使用相同的地址。已经定义用于高速计数器的输入点不能再用于其他功能。但某些模式下,没有用到的输入点还可以用作开关量输入点。
2.高速计数器的控制字和初始值、预置值
所有的高速计数器在S7-200 CPU的特殊存储区中都有各自的控制字。控制字用来定义计数器的计数方式和其他一些设置,以及在用户程序中对计数器的运行进行控制。高速计数器的控制字的位地址分配见表8-2。
表8-2 高速计数器的控制字的位地址分配表
(续)
高速计数器都有初始值和预置值,所谓初始值就是高速计数器的起始值,而预置值就是计数器运行的目标值,当前值(当前计数值)等于预置值时,会引发一个内部中断事件,初始值、预置值和当前值都是32位有符号整数。必须先设置控制字以允许装入初始值和预置值,并且初始值和预置值存入特殊存储器中,然后执行HSC指令使新的初始值和预置值有效。装载高速计数器的初始值、预置值和当前值的寄存器与计数器的对应关系见表8-3。(www.xing528.com)
表8-3 装载高速计数器的初始值、预置值和当前值的寄存器与计数器的对应关系表
3.高速计数器指令介绍
高速计数器(HSC)指令根据HSC特殊内存位的状态配置和控制高速计数器。高速计数器定义(HDEF)指令选择特定的高速计数器(HSCx)的操作模式。模式选择定义高速计数器的时钟、方向、起始和复位功能。高速计数指令格式见表8-4。
表8-4 高速计数指令格式
以下一个简单例子说明控制字和高速计数器指令的具体应用,程序如图8-1所示。
图8-1 程序
【例8-1】用高速计数器HSC0计数,当计数值达到500~1000之间时报警,报警灯Q0.0亮。
【解】
从这个题目可以看出,报警有上位1000和下位500,因此当高速计数达到计数值时,要2次执行中断程序。主程序如图8-2所示,中断程序0如图8-3所示,中断程序1如图8-4所示。
图8-2 主程序
图8-3 中断程序0
图8-4 中断程序1
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。