这里以CPU314C-2DP为例:
1. 建立项目,在硬件组态中插入CPU314C-2DP2. 选择通道编号(如下图a),做参数设置(如下图b)3. 选择工作模式(Operating mode)
如上图所示,可供选择的工作模式有:
不组态 | 不组态任何计数或输出功能 |
连续计数 | ● 向上计数达到上限时,它将在出现下一正计数脉冲时跳至下限处,并从此处恢复计数。 ● 向下计数达到下限时,它将在出现下一负计数脉冲时跳至上限处,并从此处恢复计数。 |
单次计数 | 计数器从 0 或装载值开始向上或向下计数,达到限制值后,计数器将跳至相反的计数限值,且门自动关闭。要重新启动计数,必须在门控制处生成一个正跳沿。 |
周期计数 | 计数器从 0 或装载值开始向上或向下计数,达到限制值后,计数器将跳至装载值并从该值开始恢复计数。 |
频率测量 | CPU 在指定的积分时间内对进入脉冲进行计数并将其作为频率值输出。 |
PWM脉冲输出 | 本文不做介绍,详细请参考CPU31XC手册 |
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 的状态总是与数字输出的状态相同。
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。