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