大家好,我是微控小智,今天又跟大家见面了。学习需要坚持,做技术亦是如此,厚积才能博发。小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。
在S7-200PLC中高速计数器与高速脉冲输出是编程步骤比较相似的一块内容,可以说学好高速计数器,高速脉冲输出也就简单了,对于初学者而言,高速计数器编程还是偏难的,虽然如此,但搞工控,怎能不懂高速计数器呢!
普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。在PLC中,对比扫描频率高的输入信号的计数是使用高速计数器指令来实现的。
普通计数器
普通计数器编号 C0-C255 256个
普通计数器状态位 位数据
普通计数器当前值 16位整数范围为-32768至+32767
普通计数器设定值 16位整数范围为-32768至+32767
高速计数器
高速计数器编号 HC0-HC5(非程序中一般用HSC0-HSC5) 6个
高速计数器状态位 位数据
高速计数器当前值 范围是32位整数
高速计数器设定值 范围是32位整数
假如1秒可以计10000个脉冲信号,那么计一个脉冲花的时间即脉冲周期为0.0001秒,0.0001s=0.1ms=100us,而PLC的扫描周期最快也要1ms,由此可知高速计数的速度比扫描周期还要快,高速计数器工作在中断方式下,换言之高速计数器不经过扫描周期。
高速计数器的输入端
高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
高速计数器的工作模式
高速计数器有12种不同的工作模式(0-11),分为4类。每个高速计数器都有多种工作模式,可以通过编程的方法,使用定义高速计数器指令HDEF来选定工作模式。
(1)带内部方向控制的单相增/减计数器
它有一个计数输入端,没有外部方向控制输入信号。计数方向由内部控制字节中的方向控制位设置,只能进行单向增计数或减计数。
(2)带外部方向控制的单相增/减计数器
它有一个计数输入端,由外部输入信号控制计数方向,只能进行单向增计数或减计数。
(3)带增减计数输入的双向计数器
它有两个计数输入端,一个为增计数输入,一个为减计数输入。增计数输入端有一个脉冲到达时,计数器当前值增加1;减计数输入端有一个脉冲到达时,计数器当前值减少1。若增计数脉冲与减计数脉冲相隔时间大于0.3ms,高速计数器就能够正确计数,若相隔时间小于0.3ms,高速计数器认为两个脉冲同时发生,计数器当前值不变。
(4)A/B相正交计数器
它有两个计数输入端A相和B相,A/B相正交计数器利用两个输入脉冲的相位确定计数方向。A相脉冲上升沿超前于B相脉冲上升沿时为增计数,反之则为减计数。
高速计数器的输入端和工作模式如下图所示:
时钟:是计数端口;
方向:是指增计数还是减计数两个方向;
复位:是清除计数器的当前值;
启动:带启动端的模式,要先接通启动端,计数和复位端才有效。
高速计数器指令
HDEF:定义高速计数器指令,连接高速计数器和工作模式;
HSC: 高速计数器指令,按照工作模式,控制高速计数器工作。
高速计数器指令用法如下图所示:
高速计数器的编程步骤
高速计数器编程需完成以下基本操作:
设置高速计数器控制字节
设置高速计数器初始值
设置高速计数器预设值
连接高速计数器和工作模式
激活高速计数器
有上面高速计数器编程步骤可知要,正确使用高速计数器,除用好高速计数器指令外,还要正确设置高速计数器的控制字节及初始值与预置值。高速计数器的控制字节、初始值和预置值将在下期中详细介绍。
实践出真知,没有实践,理论就是纸上谈兵;学习中需要多加验证。如果大家觉得小智的文章写得不错,很适合大家的口味,可以分享更多的朋友。
宝剑锋从磨砺出,梅花香自苦寒来
苦尽甘来才痛快,风霜历尽笑颜开
关注智微自控
领取专属 10元无门槛券
私享最新 技术干货