1. 项目背景与需求分析
去年接手了一个小型污水处理站的自动化改造项目,业主方要求用施耐德TM218 PLC实现全自动控制。这个处理站日处理量约200吨,主要处理生活污水,需要实现液位监测、自动加药、搅拌混合和达标排放等功能。TM218作为施耐德M218系列中的基础款,具有16DI/10DO的配置,正好满足这个项目的点数需求。
选择SoMachine V4.3作为开发环境有几个考虑:首先它是施耐德官方推荐的编程软件,对TM218的支持最完善;其次V4.3版本在稳定性上比新版更好,特别适合这种不需要复杂功能的中小型项目;最后这个版本对电脑配置要求低,现场工程师的老旧笔记本也能流畅运行。
2. 环境搭建与软件配置
2.1 SoMachine V4.3安装要点
从施耐德官网下载的安装包约3.2GB,安装时需要注意:
- 关闭所有杀毒软件,避免误删关键组件
- 安装路径不要有中文或特殊字符
- 务必勾选"TM2xx系列驱动"选项
- 安装完成后需要重启电脑才能正常识别PLC
重要提示:建议在虚拟机中安装,避免与电脑上其他工控软件冲突。我用的VMware Workstation 15 + Windows 7 SP1环境,运行非常稳定。
2.2 硬件连接配置
TM218通过USB编程电缆与电脑连接时,需要手动安装驱动:
- 设备管理器里找到未知设备
- 右键更新驱动,指向SoMachine安装目录下的Drivers文件夹
- 正确识别后会显示"Schneider Electric USB Serial Port"
首次连接PLC时,建议先在SoMachine中新建项目,选择正确的PLC型号(TM218LDA24DRN),然后通过"PLC > 上传"功能读取PLC当前配置,避免覆盖原有程序。
3. IO规划与电气设计
3.1 信号分配方案
根据污水处理工艺,最终确定的IO分配如下表所示。其中特别要注意的是将Q0.4作为"系统故障"指示灯输出,这个在初版设计中遗漏了,后来现场调试时补上的。
| 地址 | 类型 | 设备名称 | 备注 |
|---|---|---|---|
| I0.0 | DI | 高液位传感器 | 常开触点,液位>80%时闭合 |
| I0.1 | DI | 低液位传感器 | 常闭触点,液位<20%时断开 |
| I0.2 | DI | 水泵热继电器 | 故障时闭合 |
| I0.3 | DI | 水质检测仪 | 4-20mA转开关量,>15mA时闭合 |
| Q0.0 | DO | 污水泵接触器 | 需外接中间继电器 |
| Q0.1 | DO | 加药泵固态继电器 | 直接驱动24V/0.5A负载 |
| Q0.2 | DO | 搅拌电机接触器 | 与Q0.0互锁 |
| Q0.3 | DO | 电动排水阀 | 脉冲控制型,开启需保持2秒 |
3.2 电气设计注意事项
- 所有数字量输入前端都加了RC滤波电路(100Ω+0.1μF),避免传感器信号抖动
- 输出回路中,Q0.0和Q0.2之间建立了硬件互锁,确保水泵和搅拌机不会同时启动
- 为每个DO点都设置了LED状态指示灯,方便现场排查
- 电源模块选用了施耐德TM3PS65F,留足了30%的功率余量
4. 程序开发详解
4.1 主控制逻辑实现
采用经典的梯形图编程,主要包含以下几个功能块:
code复制// 网络1:液位安全检测
LD I0.1 // 检测低液位
S M0.0 // 设置低液位标志位
// 网络2:水泵控制
LD I0.0 // 高液位信号
AN I0.2 // 无过载
AN M0.0 // 非低液位状态
= Q0.0 // 启动水泵
这里特别加入了低液位互锁(M0.0),避免水泵在缺水情况下运行。实际调试中发现,原设计没有这个保护,导致水泵多次空转烧毁。
4.2 加药控制算法
加药系统采用时间比例控制,根据水质情况动态调整加药时长:
code复制// 网络3:加药控制
LD I0.0 // 高液位
AN I0.3 // 水质不合格
TON T37, 50 // 启动5秒定时器
LD T37
= Q0.1 // 加药泵运行
通过修改T37的预设值(50表示5秒),可以灵活调整单次加药量。现场调试时发现,原设定的3秒时长不足,最终调整为5秒后处理效果明显改善。
4.3 搅拌时序优化
搅拌电机不宜连续运行,采用间歇工作模式:
code复制// 网络4:搅拌控制
LD Q0.1 // 加药泵运行
TON T38, 30 // 延时3秒
LD T38
TON T39, 10 // 运行1秒
LD T39
= Q0.2 // 搅拌电机启停
这个"运行1秒停止3秒"的循环,既能保证混合效果,又避免了电机过热。通过T38和T39两个定时器的配合,实现了简单的脉冲控制。
5. 调试问题与解决方案
5.1 典型故障排查表
| 故障现象 | 可能原因 | 解决方法 |
|---|---|---|
| 水泵不启动 | I0.2常闭触点氧化 | 短接I0.2测试,更换热继电器 |
| 加药泵频繁启停 | 水质信号线受干扰 | 改用屏蔽线,增加软件滤波 |
| 搅拌电机异响 | 机械联轴器松动 | 紧固联轴器,调整定时器参数 |
| PLC通讯中断 | USB接口供电不足 | 使用带外接电源的USB集线器 |
5.2 现场调试心得
-
信号干扰问题:最初水质检测信号(I0.3)误动作频繁,后来发现是信号线与电机动力线平行敷设导致。重新布线并采用双绞屏蔽线后问题解决。
-
接地要点:PLC接地线必须单独接至接地桩,不可与电气柜外壳共用接地线。实测单独接地后,系统稳定性显著提升。
-
参数优化技巧:加药时间不能单纯按说明书设置,需要根据实际水质调整。我们的做法是:
- 先取水样实验室检测
- 手动测试最小有效加药量
- 再换算成PLC的定时器设定值
- 最后留20%安全余量
6. 程序备份与版本管理
建议采用以下目录结构管理项目文件:
code复制/污水处理项目
├── /程序备份
│ ├── V1.0_基础版.xef
│ ├── V1.1_增加低液位保护.xef
│ └── V1.2_优化加药参数.xef
├── /电气图纸
│ ├── 主电路图.dwg
│ └── PLC接线图.pdf
└── /调试记录
├── 20230315_初调记录.docx
└── 20230320_终验报告.pdf
每次修改程序后,务必:
- 在SoMachine中使用"项目 > 归档"功能打包完整工程
- 按"日期+修改内容"规则命名版本文件
- 同时在纸质记录本上登记修改点
7. 系统扩展建议
现有系统还可以做以下改进:
- 增加Modbus RTU通讯,连接HMI显示实时参数
- 扩展TM2AMM6HT模拟量模块,实现PH值精确控制
- 添加SD卡数据记录功能,存储运行日志
- 通过TM2DIO8T模块增加8个DI点,接入更多传感器
实际项目中,我们后来增加了威纶通MT8071IE触摸屏,通过Modbus RTU与PLC通讯,实现了工艺流程动画显示和参数设置功能。这个升级只花了不到2000元,但大大提升了系统的操作便利性。