西门子增量编码器 带 RS 422
![]() | 6FX2001-2CB02 增量编码器 6FX2001-2CB02 带 RS 422(TTL) 1024 脉冲/转 同步法兰 轴 6mm 工作电压 5V 通用电缆出线 轴向/径向 导线 1m 带插头 |
复位高速计数器有以下两种方式:
外部复位需要有带外部复位模式的高速计数器 通过I点实现 暂不做解释 下面介绍内部复位功能
组态一个高速计数器 例中用HSC0 模式0
1.首先在子程序 HSC_INIT 里编写高速计数器初始化程序
a. 因在子程序内 用SM0.0调用。保证调用该子程序时,该网络有效
b. SMB37 定义控制字节
例中SM37=16#F8=2#11111000 即允许更新当前值,预设值以及计数方向 ,这样 SMD38/42的设置才会有效
c. 装载当前值即初始值
d. 装载预设值
e. 高速计数器号
f. 高速计数器模式
g. 关联中断 如果高速计数器不需要中断 ATCH与ENI 可以省去
h. 中断事件号 HC0输入方向改变
i. 允许中断
j. 启用高速计数器 HSC0
2.其次在主程序用SM0.1或者一条边沿触发指令调用一次此子程序
3.编写复位子程序 RESET_HSC
4.用边沿触发指令调用 RESET_HSC
至此 只要M0.0上升沿触发 HSC0的当前计数值会复位为SMD38的数值 即HC0=SMD38=0 ;如果想要更改当前值为其他数值 同样程序 修改SMD38即可
S7-200的高速计数器中断每个计数器共三种:
当然 输入方向改变与外部复位中断需要与实际的计数器模式有关 例如 模式0 仅仅是脉冲计数 不能有后两种中断
上例中使用的的CV=PV中断 ,当中断事件到以后会去执行g.关联的INT1 实际上例能实现计数值从0~100然后变为50~200又变为0~100依次循环模式 具体可以参考下面的例子程序
西门子增量编码器 带 RS 422