编码器脉冲频率与 PLC 扫描周期的关系
在电气自动化控制系统中,编码器信号丢失是导致定位不准、速度反馈异常的常见故障。核心原因往往是编码器产生的脉冲频率超过了 PLC 输入点的响应能力。普通输入点受限于 PLC 的扫描周期,无法捕捉高频信号。必须通过计算与合理选型,确保脉冲信号被完整计数。
核心原理与计算公式
PLC 的工作方式是循环扫描。在一个扫描周期内,PLC 集中读取一次输入状态。如果编码器脉冲变化速度快于 PLC 的读取速度,部分脉冲就会被忽略。
对于普通输入点,脉冲的高电平或低电平持续时间必须大于 PLC 的扫描周期,才能保证至少被扫描到一次。对于高速计数器(HSC),通常采用中断机制,不受扫描周期限制,但受硬件最高频率限制。
计算 编码器产生的最大脉冲频率。使用以下公式:
$$ f = \frac{n \times N}{60} $$
其中:
- $f$ 代表脉冲频率,单位赫兹
Hz。 - $n$ 代表编码器轴的最大转速,单位转每分
RPM。 - $N$ 代表编码器的分辨率,单位脉冲每转
PPR。
评估 PLC 输入点的理论极限频率。普通输入点的最大响应频率 $f_{max}$ 近似为:
$$ f_{max} \approx \frac{1}{T_{scan}} $$
其中 $T_{scan}$ 是 PLC 的实际扫描周期,单位秒 s。考虑到信号稳定性,工程上建议保留 2 倍余量,即实际允许频率应小于 $\frac{1}{2 \times T_{scan}}$。
实操步骤:防止丢脉冲的五步法
按照以下顺序执行检查与配置,确保信号传输可靠。
-
查阅 编码器铭牌或数据手册。
记录最大转速n和线数N。例如,最大转速3000 RPM,线数1000 PPR。 -
计算 理论最大脉冲频率。
代入公式 $f = \frac{3000 \times 1000}{60} = 50000 Hz$。即50 kHz。 -
测量 PLC 实际扫描周期。
在 PLC 编程软件中在线监控CPU状态。查看当前扫描时间Scan Time。假设典型值为10 ms即0.01 s。 -
比对 频率与响应能力。
普通输入点极限约为 $\frac{1}{0.01} = 100 Hz$。显然50 kHz远超100 Hz。
结论:普通输入点无法使用,必须启用高速计数器。 -
配置 高速计数器通道。
在硬件组态中 启用 对应的高速计数器功能。设置计数模式为A/B 相或脉冲 + 方向。指定中断事件,确保脉冲到来时立即触发计数,跳过常规扫描周期。
输入类型性能对比
不同输入类型的硬件响应机制不同,适用场景严格区分。请参考下表选择硬件资源。
| 输入类型 | 响应机制 | 典型最高频率 | 受扫描周期影响 | 适用场景 |
|---|---|---|---|---|
| 普通数字量输入 | 周期性扫描 | 10 Hz - 100 Hz |
是 | 按钮、开关、低速信号 |
| 带滤波输入 | 周期性扫描 + 滤波延时 | 10 Hz - 50 Hz |
是 | 干扰较大环境的状态信号 |
| 高速计数器 (HSC) | 硬件中断 | 20 kHz - 200 kHz |
否 | 编码器、流量计、高速脉冲 |
| 位置控制模块 | 专用硬件处理 | 1 MHz 以上 |
否 | 伺服驱动、步进驱动 |
注意:不同品牌 PLC 的具体参数差异较大。西门子 S7-1200 普通输入最高约 10 kHz(需关闭滤波),而三菱 FX3U 普通输入仅限几赫兹。务必 查阅具体型号的硬件手册确认极限值。
选型决策流程
以下流程图展示了如何根据频率计算结果决定输入方案。遵循此逻辑可避免硬件选型错误。
关键配置细节
即使选择了高速计数器,错误的参数设置依然会导致计数错误。执行 以下细化操作。
-
关闭 输入滤波功能。
在硬件组态中找到对应通道的滤波设置。将滤波时间设置为0 ms或最小值。滤波会人为延迟信号边沿,导致高频脉冲被平滑丢失。 -
指定 中断程序。
对于需要实时处理计数的场景,编写 中断服务程序。将计数值读取逻辑放在中断中,而不是主循环OB1中。这能确保数据在脉冲到达瞬间被锁存。 -
屏蔽 干扰信号。
编码器信号线 使用 屏蔽双绞线。屏蔽层 单端接地,通常接在PLC侧接地端。信号线 远离 变频器输出线或大功率动力线,防止电磁干扰产生虚假脉冲。 -
校准 零点。
系统上电后,执行 回原点操作。将机械位置与计数器数值0对齐。防止断电保持导致的累积误差。
常见故障排查
当发现计数不准或速度反馈波动时,按以下顺序 排查。
-
监控 脉冲输入状态。
使用示波器或PLC自带的信号监视功能。观察输入点指示灯是否随编码器转动闪烁。如果灯不亮,检查接线或电源电压。 -
检查 接线极性。
确认A相、B相、0V、24V接线正确。差分信号A+、A-不可接反。漏型与源型输入 匹配 编码器输出类型(NPN或PNP)。 -
验证 最大频率余量。
手动加速电机至最大转速。观察 计数值是否随速度增加而线性增加。如果在高速段计数值增长变缓,说明频率接近硬件极限,需更换更高性能的PLC或降低编码器分辨率。 -
复位 计数器。
在程序中加入复位逻辑。当检测到异常跳变(如瞬间数值突变过大)时,触发 报警并复位计数器,等待重新回原点。

暂无评论,快来抢沙发吧!