背景痛点:为什么 PLC 毕设总被导师打回重写?
第一次做 PLC 毕设,最容易踩的坑不是不会写程序,而是“想一口吃成胖子”。我总结了三条高频误区,几乎年年在答辩室循环播放:
- 选题过度复杂化:大一统“智能工厂”听上去很酷,结果 I/O 点数算不清,预算直接爆表。
- 忽略 I/O 分配表:想到哪写到哪,最后发现数字量模块通道不够,只能飞线拆线,板子成了蜘蛛网。
- 通信配置拍脑袋:PLC 与 HMI 站号冲突、波特率对不上,现场演示 5 分钟,调试 2 小时。
把这三个问题写在笔记本首页,每天抬头看一遍,能少掉 80% 的返工。
技术选型:教学场景下谁最省心?
PLC 品牌没有绝对好坏,只有“谁更适合在宿舍+实验室折腾”。我横向对比了最常用的三家,结论一句话:教学资源>性能>价格。
| 品牌 | 软件免费度 | 中文资料量 | 实验室备件 | 上手指数 |
|---|---|---|---|---|
| 西门子 S7-1200 | 完全免费(TIA Portal 基础版) | 极多 | 各大高校标配 | ★★★★★ |
| 三菱 FX5U | 需注册,限时 30 天 | 中等 | 部分实验室有 | ★★★☆ |
| 欧姆龙 CP1E | 软件免费 | 少 | 老旧机型多 | ★★☆ |
结论:如果你只想顺顺利利把毕设做出来,西门子 S7-1200 是“能百度到答案”的最低阻力路线。
核心案例:一条“自动灌装线”跑通所有知识点
为了把“选题—编程—调试—答辩”串成一条线,我设计了一个最小可用系统:传送带+灌装阀+液位开关+HMI 计数。硬件需求低到实验室随便凑,却覆盖了 90% 的毕业要求。
1. 系统边界定义
- 数字量输入:启动按钮、停止按钮、液位上限、瓶子到位光电
- 数字量输出:传送带电机、灌装阀
- 模拟量输入:液罐液位 0-10 V 对应 0-100 L
- HMI 需求:显示当前液位、累计产量、手动/自动切换
2. I/O 分配表(先列表后接线,绝不跳步)
| 符号名 | 地址 | 注释 |
|---|---|---|
| Start | I0.0 | 启动按钮,常开 |
| Stop | I0.1 | 停止按钮,常闭 |
| Photo | I0.2 | 瓶子到位 |
| Level_MAX | I0.3 | 液位开关上限 |
| Motor | Q0.0 | 传送带接触器 |
| Valve | Q0.1 | 灌装电磁阀 |
| Level_AI | IW64 | 液位传感器 0-10 V |
3. 梯形图逻辑(LAD)与代码片段
下面给出最核心“自动循环”网络,附带注释,直接复制到 TIA Portal 即可通过编译。
Network 1:启保停电路 // 使用 Set/Reset 保证 Stop 优先 A "Start" S "AutoMode" A "Stop" R "AutoMode" Network 2:传送带运行条件 // 自动模式下有瓶且液位未报警 A "AutoMode" A "Photo" AN "Level_MAX" = "Motor" Network 3:灌装定时 // 瓶子到位后延时 2 s,时间到关阀 A "Photo" L S5T#2S SD T1 A T1 = "Valve"运行逻辑一句话:瓶子被光电检测到→传送带停→阀开 2 s→计数+1→传送带继续。
4. 变量命名规范
- 布尔量:动词或状态,如 Motor、Valve、AutoMode
- 定时器:T+序号,T1、T2,与注释对应
- 模拟量:前缀 AI/AQ,如 AI_Level
- 所有符号名禁止出现中文,防止 HMI 下载乱码
HMI 界面 10 分钟速成
TIA Portal 自带 WinCC Basic,拖控件比 PPT 还简单:
- 新建 HMI 画面→拖一个“IO 域”关联 AI_Level,单位写 L
- 拖“按钮”关联 Start/Stop,自动映射 PLC 变量
- 拖“文本列表”做手动/自动切换,类型选“切换按钮”
- 产量计数用“计数器”控件,背景写“今日灌装:”
画面做完后,把电脑 IP 设成 192.168.0.10,PLC 默认 192.168.0.1,一键下载,触摸屏秒连。
性能与安全性:让导师挑不出刺
- 可读性:每个 Network 写 20 字以内注释,变量名=功能,拒绝 aa、bb
- 故障安全:Level_MAX 信号串联到 Valve 线圈,硬件+软件双重截止
- 断电保持:在 CPU 属性里勾选“保持性存储区”,把产量计数器设为保持,复电后数据不丢
- 扫描周期:默认 10 ms,案例程序仅 3 个网络,周期<1 ms,无需优化
生产环境避坑指南
- 接线干扰:24 V 电源与动力电缆分槽走,屏蔽层单端接地,实验室里经常被电机火花教做人
- 扫描周期与中断:若后期加 PID 温控,把采样任务放循环中断 OB30,周期 100 ms,别在主程序里瞎写
- 仿真≠实机:PLCSIM 能跑通不代表现场 OK,电磁阀浪涌要加续流二极管,否则 DO 点几天就挂
- 通道烧毁:数字量输出直接推 220 V 接触器?先加中间继电器,别问我是怎么知道保险丝 20 块一个
完整项目文档结构(直接套模板)
- 封面、任务书、摘要
- 系统方案与 I/O 清单
- 硬件接线图(AutoCAD 或 TIA 自带导出)
- 梯形图打印 PDF(带注释)
- HMI 画面截图
- 调试记录表:日期、问题、原因、解决
- 总结与展望(写 Modbus TCP、云端监控等“未来工作”)
下一步可扩展方向
- 把产量数据通过 Modbus TCP 送到上位机,用 Python 存 MySQL,网页可视化,答辩秒变“工业互联网”
- 加 RFID 读卡,实现“一瓶一码”,追溯灌装时间
- 用 PLC 的 Web Server 功能,手机扫码直接看液位,导师现场掏手机你一点都不慌
写在最后
整个项目从拆箱到答辩我只用了三周,核心秘诀就是“先跑通最小系统,再叠功能”。如果你正对着选题抓耳挠腮,不妨把上面的梯形图原样敲一遍,让传送带先转起来。电机一响,信心就有了,剩下的只是锦上添花。祝你毕业顺利,也欢迎把扩展成果告诉我,一起把这条小灌装线玩出更多花样。