欢迎添加工控笔记微信公众号和站长微信,交流讨论,共同进步!
S7-200 CPU具有集成的、硬件高速计数器。
CPU221和CPU222可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器,而CPU224和CPU226可以使用6个30kHz单相高速计数器或4个20kHz的两相高速计数器。
高速计数器可以被配置为12种模式中的任意一种,但并不是所有计数器都能使用每一种模式。 在正交模式下,你可以选择一倍速或者四倍速计数速率。对于操作模式相同的计数器,其计数功能是相同的。
计数器共有四种基本类型:带有内部方向控制的单相计数器,带有外部方向控制的单相计数器,带有两个时钟输入的双相计数器和A/B相正交计数器。
高速计数器的模式及输入点:
支持模式 12。
• 高速计数器的实际输入要根据用户选择的高速计数器号和模式来确定,如上表。例:如果你选择了HSC0的模式1,则你的外部高速计数输入点应接在I0.0,外部复位点应接在I0.2。
• 如果用户使用了多个高速计数器,则被某一高速计数器占用了的输入点,其它高速计数器不能再使用。如HSC0的模式3已经占用了I0.1作为外部方向控制点,那么HSC3高速计数器就不能再使用了,因为它的计数输入点也是I0.1,与之冲突了。
高速计数器的寻址
实例程序
高速计数器号:HSC0
模式:A/B向编码器 模式9
I0.0 A、I0.1 B向
SMD38装载时初始值、SMD42 装载时设定值
编程软件中 工具—指令向导
选择HSC 高速计数器
选择“HC0”、“模式9”
初始化向导
1. 初始化子程序命名
2. 设置计数器预置值:可以为整数、双字地址或 符号名 例如VD40
3. 设置计数器初始值:可以为整数、双字地址或符号名 例如 0
4. 初始化计数方向:增,减。
5. 对于带外部复位端的高速计数器,可以设定复位信号为高电平有效或者低电平有效。
6. 对于带外部启动端的高速计数器,可以设定启动信号为高电平有效或者低电平有效。如果使用的高速计数器或工作模式没有外部复位或启动端,则对应选项为虚。
7. 使用A/B相正交计数器时,可以将计数频率设为1倍速或4倍速。使用非A/B相正交计数器时,此项为虚。
向导配置: 初始化子程序名称为“HSC_INIT”,执行初始化时将VD40中的数据设定为计数器的设定值(PV),将当前值请0,;计数方向为增计数。
配置中断事件及步骤总数
1. 外部复位输入有效值是中断,如果使用的高速计数器模式不具有外部复位端,则此项为虚。
2. 方向控制输入状态改变时的中断,有以下 3 种情况会产生该中断:
a) 单项计数器的内部或外部方向控制位改变瞬间
b) 双相计数器增、减时钟交替的瞬间
c) A/B相脉冲相对相位(超前或滞后)改变时瞬间
3. 当前值等于预置值时产生的中断,通过向导,可以在该中断的服务程序中重新设置高速计数器的参数,如预置值、当前值。一个这样的过程称为“一步”。
4. 填写 HSC 的步数,最多可以设置 10 步。
配置向导:当CV=PV时执行中断程序“COUNT_EQ”
定义高速计数器每一步中的操作
1. 向导会自动为当前值等于预置值匹配一个新的中断服务程序,用户可以对其重新命名,或者使用默认的名称。
2. 勾选后,用户在右侧输入新的预置值。
3. 勾选后,用户在右侧输入新的当前值。
4. 如果选用的高速计数器模式有内部方向控制位。
5. 点击‘下一步‘,继续配置其余步。
配置向导:当CV=PV时 执行中断程序“COUNT_EQ”将当前值PV清零。
完成向导
接线方式
编码器为AB向,NPN型
接线示意图
接线正常时,转动编码器I0.0 与I0.1指示灯会闪烁。
PLC程序
上电执行高速计数器初始化,
VD40设定计数器值(900)
VD0 当前计数值
当VD0当前计数值达到900后 清零,重新计数。
视频链接