表格
类型 | 怎么检测 | 安装方式 | 特点 |
接触式 | 必须碰到液体才动作 | 浸入液体内部 | 可靠,但探头长期泡在液体里会腐蚀 |
感应式 | 不接触液体,隔壁感应 | 贴在容器外壁 | 不怕腐蚀,但受容器壁材质和厚度影响 |
选型判断:
液体有腐蚀性 → 选感应式,不接触就不腐蚀
容器壁太厚或材质不透明 → 感应式可能穿透不了,只能用接触式
压力感应器——"水压多大?"
压力感应器检测的是液体产生的压力,压力随液位高度变化——水越深,压力越大,所以测压力就能换算出液位。
液位高度 ↑ → 液体压力 ↑ → 压力感应器输出信号变大 → PLC换算液位值
它输出的不是简单的开关信号,而是连续变化的压力值(通常是4-20mA模拟量),可以直接接入PLC的模拟量输入点,实现精确的液位监控。
液位感应器告诉你"到了/没到"(开关量),压力感应器告诉你"到了多少"(模拟量)。只做高低液位报警→液位感应器够用;要实时显示液位高度→必须上压力感应器。
本案例用到哪两种?
本案例同时使用了液位感应器和压力感应器,各司其职:
液位感应器 → 检测液位是否到达设定位置(高液位/低液位报警)
压力感应器 → 检测实时压力值,参与自动控制逻辑
设备示意图如下图。
控制要求拆解
先理清逻辑再写程序,不然写到一半条件搅在一起就乱了。
整个系统就管两件事:水泵什么时候抽水,进水阀什么时候补水。而单按钮启停是总开关,控制整个系统运行与否。
① 总开关——单按钮启停
表格
操作 | 结果 |
按一次启动按钮 | 设备运行,运行指示灯点亮 |
再按一次启动按钮 | 设备停止,运行指示灯熄灭 |
这是前面讲过的递增指令经典应用——按一次计数+1,奇数启动,偶数停止。
② 水泵控制——两个启动条件,两个停止条件
水泵启动条件(必须同时满足):
储水罐压力 低于 设定值(水不够了,需要补)
雨水罐液位 高于 下限(还有水可抽)
系统处于运行状态
水泵停止条件(满足任一即停):
储水罐压力 高于 设定值(水够了,不用再抽)
雨水罐液位 低于 下限(没水了,不能再抽,防干抽)
水泵启动逻辑:
运行状态 ✓ AND 储水罐压力低 ✓ AND 雨水罐有水 ✓ → 启动水泵
水泵停止逻辑:
储水罐压力高 ✓ OR 雨水罐没水 ✓ → 停止水泵
③ 进水阀控制——液位自动补水
表格
条件 | 动作 | 说明 |
雨水罐液位 低于 中液位 | 进水阀打开 | 水少了,开始补 |
雨水罐液位 高于 上限 | 进水阀关闭 | 水满了,停止补 |
阀逻辑:
液位 < 中液位 → 开阀补水
液位 > 上限 → 关阀停止
注意:进水阀的开关只看液位,不看系统是否运行。因为雨水罐是水源,液位低了必须补水,哪怕系统停了也得补,不然下次启动没水用。
全局逻辑一张图看懂
【I/O分配】
I/O分配如表,有5个输入点,3个输出点。
压力继电器——到了设定压力就"拍一下"PLC
压力继电器可以理解为带开关的压力感应器:压力没到设定值→触点断开,压力到了设定值→触点闭合,给PLC一个信号。
接线:和光电开关一模一样
棕色(+24V)、蓝色(0V)、黑色(信号输出)——三线制,跟普通光电感应器接法完全一样,输出接PLC的X点(数字量输入)。
怎么设定压力值?
压力继电器正面有调节按钮/旋钮,直接在上面设定目标压力值。当实际压力达到设定值时,内部触点动作,PLC的X点接通。
水位深 → 水压大 → 压力达到设定值 → 触点闭合 → PLC X点ON
水位浅 → 水压小 → 压力低于设定值 → 触点断开 → PLC X点OFF
压力继电器输出的是开关量(到/没到),不是模拟量(到了多少)。如果你的项目需要实时显示具体压力数值,要用压力变送器(4-20mA输出),不是压力继电器。
程序编写及思路
先把I/O分配搞清楚,再看程序逻辑才不晕:
I/O分配表
表格
地址 | 类型 | 说明 |
X0 | 输入 | 启动/停止按钮 |
X1 | 输入 | 压力继电器(储水罐压力到设定值时ON) |
X2 | 输入 | 雨水罐上限液位感应器 |
X3 | 输入 | 雨水罐中液位感应器 |
X4 | 输入 | 雨水罐下限液位感应器 |
Y0 | 输出 | 运行指示灯(兼系统运行标志) |
Y1 | 输出 | 水泵 |
Y2 | 输出 | 进水阀 |
① 系统启停——ALT指令实现单按钮切换
X0(启动按钮)──→ ALT Y0 ← 每按一次,Y0状态翻转一次
表格
按钮次数 | Y0状态 | 系统状态 |
第1次 | ON | 运行,指示灯亮 |
第2次 | OFF | 停止,指示灯灭 |
第3次 | ON | 运行,指示灯亮 |
ALT(交替输出)指令就是这么用的——一次翻转,奇数启动偶数停止,比用递增+取余更简洁。
② 水泵控制——两个条件同时满足才启动
翻译成大白话:
水泵启动:系统在运行 AND 储水罐压力还没到(X1没动作,取常闭)AND 雨水罐有水(X4检测到水位过下限)
水泵停止:系统停了 OR 储水罐压力到了(X1动作,取常开)
X1用的是常闭——压力继电器没动作时X1是OFF,常闭触点导通,条件满足;压力到了X1变ON,常闭触点断开,水泵停。这就是"取反"思维:信号没来=条件满足。
③ 进水阀控制——上升沿触发,两个条件复位
X3(中液位)──↑(上升沿)── AND Y0(运行)──→ SET Y2(开阀)
为什么要取上升沿?因为液位到达中液位时,X3从OFF变ON,只需要触发一次开阀动作,不需要持续触发。如果不取上升沿,X3持续ON期间每扫描周期都会执行SET,虽然结果一样,但逻辑不干净。
进水阀关闭:水位到了上限 OR 系统停了
进水阀用SET/RST而非ALT,因为开和关的条件不同——开阀靠中液位触发,关阀靠上限或停机触发,逻辑不对称,不能用交替指令。
三段逻辑总览
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!