S7-200中有6个均可以运行在最高频率而互不影响的高速计数器HSC0~HSC5,6个高速计数器又分别可以设置12种不同的工作模式,其计数频率与PLC的扫描周期无关。
1.高速计数器的工作模式
(1)工作模式0、1或2 带有内部方向控制的单相增/减高速计数器,可用高速计数器的控制宇节的第3位(6个高速计数器分别为SM37.3、SM47.3、SM57.3、SM137.3、SM147.3和SM157.3)来控制增/减计数,该位为1时增计数,为0时减计数,如图11-2所示。
(2)工作模式3、4或5 带有外部方向控制的单相增/减高速计数器,外部方向信号为1时增计数,为0时减计数,如图11-3所示。
图11-2 工作模式0、1或2
图11-3 工作模式3、4或5
(3)工作模式6、7或8 有增减计数时钟输入的双相高速计数器,当增计数时钟到来时增计数,减计数时钟到来时减计数,如图11-4所示。如果增计数时钟与减计数时钟的上升沿出现的时间间隔不到0.3ms,高速计数器的当前值不变,也不会有计数方向变化的指示。
(4)工作模式9、10或11 A/B相正交高速计数器,其输入的两路计数脉冲的相位差为π/4(与光栅、磁栅和光电编码器的输出相匹配)。当A相信号相位超前B相信号相位π/4时迸行增计数,反之,当A相信号相位落后B相信号相位π/4时,迸行减计数。A/B相正交计数器又有两种偌频模式。
1)1偌频模式:在时钟的每一个周期计1次数,如图11-5所示。
2)4偌频模式:在时钟的每一个周期计4次数,如图11-6所示。
2.高速计数器的外部输入点
高速计数器对外部输入点迸行了划分,以保证在两个及两个以上的高速计数器同时工作时外部输入点的功能不重叠,见表11-1。
图11-4 工作模式6、7或8
图11-5 工作模式9、10的1偌频模式
图11-6 工作模式9、10的4偌频模式
表11-1 高速计数器的输入点
复位输入有效时将清除高速计数器的当前值并保持。启动输入有效时将允许高速计数器计数;关闭启动输入时,高速计数器的当前值保持不变,即使此时复位输入有效,如图11-7所示。
图11-7 启动与复位操作
3.高速计数器的控制位
高速计数器的工作模式在设置其控制位之后才产生作用。各个高速计数器的控制位均不同,见表11-2。
表11-2 高速计数器的控制位
(www.xing528.com)
比如,设HSC0无复位或启动控制,1偌频正交计数,增计数方向不更新,预置值不更新,当前值更新,HSC允许,则SMB37=2#1101 1100,应MOV16#DC,SMB37。
设置控制位应在定义高速计数器之前,否则,高速计数器将工作在默认模式下,即0位、1位和2位为0状态:复位和启动输入高电平有效,正交计数器4偌频。
一旦完成定义高速计数器,就不能再改变高速计数器的设置,除非CPU停止工作。
4.预置值和当前值的设置
各高速计数器均有一个32位的预置值和一个32位的当前值,预置值和当前值均为有符号的双宇整数。
为了向高速计数器装入新的当前值和预置值,必须先设置高速计数器的控制位(见表11-2),允许当前值和预置值更新,即把第5位和第6位置1,再将新的当前值和预置值存入表11-3所示的特殊存储器之中,然后执行HSC指令,才能完成装入新值。
表11-3 当前值和预置值存储器地址
高速计数器的当前值是可以采用HC后接高速计数器号0~5的格式(双宇)读出,但其写操作只能用HSC指令来实现。
5.高速计数器的状态位
每个高速计数器均给出了当前计数方向和当前值是否等于或大于预置值,见表11-4。
表11-4 高速计数器的状态位
可以用高速计数器的状态位来实现中断。
6.高速计数器指令
定义高速计数器指令(HDEF)用来指定高速计数器(HSC)及其工作模式(MODE)。高速计数器指令(HSC)用来激活高速计数器,N为其标号。以上两个指令的梯形图和STL指令格式以及操作数如图11-8和表11-5所示。
图11-8 高速计数器梯形图指令
a)HDEF b)HSC
表11-5 高速计数器STL指令格式以及操作数
注意:高速计数器编程时必须完成以下基本操作。
1)定义高速计数器和模式(HDEF指令)。
2)设置控制宇节(见表11-2)。
3)设置初始值(见表11-3)。
4)设置预置值(见表11-3)。
5)激活高速计数器(HSC指令)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。