2. 基于液位传感器的自动补料控制
控制对象与信号定义
本例控制对象为一只立式储料罐(用于糖浆或乳饮料基料暂存),罐体上安装两只浮球式液位开关:LS_L(低液位,常开触点,液位低于安装点时闭合)与LS_H(高液位,常闭触点,液位到达安装点时断开)。执行机构为一台补料泵电机 M1,由接触器 KM1 驱动,PLC 输出 Q0.0 控制 KM1 线圈。
为避免液位在开关点附近波动导致泵频繁启停,程序采用置位/复位(启保停)结构:低液位信号触发置位,高液位信号触发复位,中间区间保持当前状态,形成滞环。同时设置手动/自动切换与运行超时保护。
I/O 分配表
| 地址 | 符号 | 类型 | 说明 |
|---|---|---|---|
| I0.0 | LS_L | DI | 低液位开关,低液位时=1 |
| I0.1 | LS_H | DI | 高液位开关,高液位时=0(常闭) |
| I0.2 | SA_AUTO | DI | 自动/手动选择,自动=1 |
| I0.3 | SB_MAN | DI | 手动补料按钮(点动) |
| I0.4 | FR1 | DI | 补料泵热继电器,正常=1 |
| Q0.0 | KM1 | DO | 补料泵接触器线圈 |
| Q0.1 | HL_RUN | DO | 补料运行指示灯 |
| Q0.2 | HL_ALM | DO | 超时/故障报警灯 |
滞环逻辑与梯形图实现
核心是两条支路:置位支路在“自动模式 + 低液位 + 热继电器正常 + 未超时”时置位 M0.0(补料请求);复位支路在“高液位到达”或“热继电器动作”或“超时”时复位 M0.0。M0.0 再驱动 Q0.0。手动模式下由 SB_MAN 点动直接驱动,且同样受高液位与热继电器约束。
梯形图程序(西门子 S7-200 SMART 风格)
Network 1 自动模式置位补料请求
I0.2 I0.0 I0.4 M0.0
|---| |-------| |-------| |-------( S )---|
自动 低液位 热继正常 补料请求
Network 2 高液位 / 故障 / 超时复位
I0.1 I0.4 T37 M0.0
|---| / |--+--| / |--+--| |--+----( R )---|
高液位 | 热继故障 | 超时 |
| | |
+----------+-------+ (三条件并联,任一满足即复位)
Network 3 手动点动补料(受高液位与热继约束)
I0.2 I0.3 I0.1 I0.4 M0.0
|---| / |------| |-------| / |-----| |-------( S )---|
手动 点动按钮 未到高液位 热继正常
Network 4 输出驱动
M0.0 Q0.0
|---| |---------------------------( )---|
补料请求 补料泵KM1
Q0.0 Q0.1
|---| |---------------------------( )---|
补料泵 运行指示灯
Network 5 运行超时保护(泵连续运行超过设定时间报警)
Q0.0 T37
|---| |---------------------------( TON )---|
PT = 600 (100ms基准 → 60s)
T37 Q0.2
|---| |---------------------------( )---|
超时 报警灯
T37 的 PT=600 表示 60 秒(S7-200 SMART 中 T37 为 100ms 分辨率)。实际调试时先设为 30 秒便于观察,确认补料速率后再调整到正常补料时间的 1.5~2 倍。
关键参数与调试判据
| 项目 | 示例设定 | 判据 |
|---|---|---|
| LS_L 安装高度 | 罐体 20% 容积处 | 低于此点泵启动 |
| LS_H 安装高度 | 罐体 85% 容积处 | 到达此点泵停止 |
| 滞环宽度 | 约 65% 容积 | 避免频繁启停 |
| 超时时间 T37 | 60 s | 超时报警并停泵 |
| 热继电器 FR1 | 按电机额定电流整定 | 动作时立即停泵 |
验证方法
- 将 SA_AUTO 置自动,手动模拟 LS_L 闭合(短接 I0.0 与 24V),观察 Q0.0 是否置位并保持。
- 保持 LS_L 闭合状态,再模拟 LS_H 到达(断开 I0.1),观察 Q0.0 是否复位。
- 在泵运行中模拟 FR1 动作(断开 I0.4),确认 Q0.0 立即复位且 Q0.2 报警。
- 将 T37 临时改为 5 秒,观察超时后 Q0.0 复位、Q0.2 点亮,验证超时保护有效。
- 切换至手动模式,点动 SB_MAN,确认泵仅在未到高液位且热继正常时启动。
浮球开关的常开/常闭类型必须在 I/O 分配阶段确认,并在程序中按实际触点状态取反。若现场 LS_H 为常开型,则 Network 2 中应改为
| | 而非 | / |,否则高液位无法停泵,存在溢罐风险。