硬件组态的基本步骤如下
这里以CPU314C-2DP为例:
1. 建立项目,在硬件组态中插入CPU314C-2DP
2. 选择通道编号(如下图a),做参数设置(如下图b)
3. 选择工作模式(Operating mode)
如上图所示,可供选择的工作模式有:
|
名称 |
解释 |
Not configured |
不组态 |
不组态任何计数或输出功能 |
Count continuously |
连续计数 |
● 向上计数达到上限时,它将在出现下一正计数脉冲时跳至下限处,并从此处恢复计数。
● 向下计数达到下限时,它将在出现下一负计数脉冲时跳至上限处,并从此处恢复计数。 |
Count once |
单次计数 |
计数器从
0 或装载值开始向上或向下计数,达到限制值后,计数器将跳至相反的计数限值,且门自动关闭。要重新启动计数,必须在门控制处生成一个正跳沿。 |
Count periodically |
周期计数 |
计数器从
0 或装载值开始向上或向下计数,达到限制值后,计数器将跳至装载值并从该值开始恢复计数。 |
Frequency counting |
频率测量 |
CPU 在指定的积分时间内对进入脉冲进行计数并将其作为频率值输出。 |
Pulse-wide modulation |
PWM脉冲输出 |
本文不做介绍,详细请单靠CPU31XC手册 |
4. 连续计数
a: 门功能
- Cancel count: 设置为计数取消门操作时,在关闭并重新启动门后将从装载值开始重新开始计数操作。
- STOP count : 设置为计数中断门操作时,在关闭门后将从最后的实际计数值开始恢复计数。
b: 比较值
c: 滞后
- 编码器可能停止在某个位置,并且随后在该位置附近“颤动”。在此状态下,计数会围绕一个
特定值波动。例如,如果比较值位于该波动范围内,则关联的输出将按照波动的节奏打开和关
闭。CPU 配有可分配的滞后,可防止发生微小波动时出现这种切换。
- 您可以在 0 到 255 内选择一个范围。设置为 0 和 1 时,将禁用滞后。
- 滞后还作用于过零点和上溢/下溢。
d: 编码器的信号类型
- Pulse/direction: 脉冲/方向式编码器
- Rotary encoder signal: 旋转编码器(A/B正交),一倍速
- Rotary encoder double: 旋转编码器(A/B正交),两倍速
- Rotary encoder quadruplel: 旋转编码器(A/B正交),四倍速
勾选“Hardware gate“, 即使用硬件门控制,当且仅当硬件门和软件门同时打开时,CPU31XC才会开始计数或频率测量。硬件门是外部输入信号,具体端子请参考接线部分。
勾选”Count direction inverted", 计数方向与上面图示中相反。
e: 输出点的特性,每个计数通道都有一个对应的输出点,该输出点可以手SFB47/48功能块控制,也可以根据当前计数与比较值的关系进行输出。
- No comparision: 不依据当前计数与比较值的关系进行输出,此时SFB47的输入CTRL_DO和SET_DO不起作用。
- Count >= comparision value: 计数值大于等于比较值时,输出点DO有输出,注意:必须首先置位控制位 CTRL_DO。
- Count <= comparision value: 计数值小于等于比较值时,输出点DO有输出,注意:必须首先置位控制位 CTRL_DO。
- Pulse at comparision value: 仅计数值等于比较值时,输出点DO有输出,注意:必须首先置位控制位 CTRL_DO。
SFB47的输出位 STS_DO 的状态总是与数字输出的状态相同。
f: 硬件中断,请参考中断部分
g: 最高频率
- Counting signals/HW gate: 脉冲信号/硬件门的最高频率
- Latch: 锁存信号的最高频率
6. 单次计数、周期计数的参数设定与连续计数类似,这里不再冗述。
7. 频率测量
在此操作模式下,CPU 在指定的积分时间内对进入脉冲进行计数并将其作为频率值输出。用户通过调用SFB读取频率值,单位是‘mHz’。
a: 积分时间、低限、高限值
Integration time: 积分时间,在指定的积分时间内执行测量。在积分时间结束后更新测量值。用户可以填入10~10000之间的整数。
Low limit/High limit: 低限值/高限值,用户可以选择当测量值超过限制值时触发硬件中断。
b: Max counting, 最高测量频率,与CPU的种类有关:
CPU 312C |
CPU 313C、CPU 313C-2 DP/PtP |
CPU 314C-2 DP/PtP |
0 到 10 kHz |
0 到 30 kHz |
0 到 60 kHz |
- Directly: 直接旋转速度
- Average: 平均旋转速度
如果测量频率的周期超过了分配的积分时间,
- 对于直接频率,在积分时间结束时输出“0”值。
- 对于平均频率,使用最后测量的值除以无正跳沿的测量间隔数。
c、编码器的信号类型
- Pulse / direction: 脉冲/方向
- Rotary encoder single: 旋转编码器(A/B正交),一倍速。
d: 输出点的特性
- No comparision: 不与比限制值比较,SFB 48输入参数 MAN_DO 和 SET_DO 无效。
- Outside the limits: 当频率值超出限制值时,输出点置位。注意:必须首先置位控制位 CTRL_DO。
- Below the limit: 当频率值低于低限值时,输出点置位。注意:必须首先置位控制位 CTRL_DO。
- Abov the high limit: 当频率值高于高限值时,输出点置位。 注意:必须首先置位控制位 CTRL_DO。
e: 硬件中断,参考:中断部分