1. 项目背景与核心需求
在制药行业的生产线上,自动药片装瓶机是连接药品生产和包装环节的关键设备。传统的人工装瓶方式不仅效率低下,还容易产生污染和计数误差。我们团队最近完成了一套基于工业控制系统的自动药片装瓶机解决方案,通过西门子S7-1200 PLC、三菱FX5U PLC与组态王监控软件的协同工作,实现了药片计数、装瓶、封口全流程的自动化控制。
这套系统的核心挑战在于:
- 需要精确控制药片计数(误差率<0.1%)
- 实现每分钟60瓶的高速装瓶
- 确保不同规格药瓶的快速切换
- 完整记录生产数据以满足GMP规范
2. 控制系统架构设计
2.1 硬件选型与分工
经过多方案对比,最终确定的硬件架构如下:
| 设备类型 | 品牌型号 | 主要职责 |
|---|---|---|
| 主控PLC | 西门子S7-1215C | 协调各子系统,处理核心逻辑 |
| 运动控制PLC | 三菱FX5U-32MT | 负责伺服电机和机械手控制 |
| HMI人机界面 | 昆仑通态TPC7062Ti | 提供操作界面和参数设置 |
| 光电传感器 | 欧姆龙E3Z系列 | 药片计数和位置检测 |
| 伺服系统 | 安川Σ-7系列 | 驱动传送带和机械手 |
选择西门子作为主控PLC是因为其强大的通信能力和稳定性,而三菱PLC在运动控制方面具有更优的性能价格比。这种组合既保证了系统可靠性,又控制了成本。
2.2 通信网络搭建
系统采用三级通信架构:
- 西门子PLC与三菱PLC通过Modbus TCP协议通信
- PLC与HMI通过以太网连接
- 组态王监控软件通过OPC UA与PLC系统对接
关键提示:在混合品牌PLC系统中,必须特别注意数据格式的转换。我们发现西门子使用大端序而三菱使用小端序,在通信程序中需要额外处理字节顺序。
3. 核心功能实现细节
3.1 高精度药片计数系统
药片计数采用"光电传感器+振动盘"方案:
- 振动盘将药片排列成单列
- 红外光电传感器(E3Z-T61)检测通过药片
- PLC通过高速计数器(HSC)记录脉冲信号
为提高计数精度,我们实现了三重校验机制:
- 主计数器:记录传感器触发次数
- 辅助校验:通过传送带编码器计算行进距离
- 视觉抽查:每隔30瓶用工业相机抽检
// 西门子PLC计数程序片段 "光电传感器" → "高速计数器".IN "高速计数器".CV → "药片总数" IF "药片总数" MOD 30 = 0 THEN "触发视觉检测" := TRUE; END_IF;3.2 多规格瓶体自适应控制
为适应不同规格的药瓶,系统采用参数化设计:
- 瓶体直径:50-100mm可调
- 瓶高:60-150mm可调
- 装药量:10-500片可设
在组态王界面中预设了5种常用规格,操作人员也可自定义新规格。切换规格时,系统自动调整:
- 机械手夹持力度
- 传送带速度
- 装药头高度
- 封口机参数
4. 组态王监控系统开发
4.1 监控画面设计
组态王6.55版本开发了以下核心界面:
- 主监控画面:实时显示设备状态、产量、故障信息
- 参数设置界面:调整装瓶数量、速度等参数
- 数据记录界面:存储每批次的生产数据
- 报警历史界面:记录所有异常事件
实操心得:在组态王中开发复杂界面时,建议先绘制界面流程图,将公共元素做成模板,可以大幅提高开发效率。
4.2 关键脚本程序
' 生产数据记录脚本 Sub OnNewBatch() Dim batchNo As String batchNo = Format(Now, "yyyymmdd") & "-" & Format(PLC.BatchCounter, "0000") SQLInsert "BatchRecords", _ "BatchNo", batchNo, _ "ProductCode", PLC.ProductCode, _ "TargetCount", PLC.TargetCount, _ "StartTime", Now PLC.BatchCounter = PLC.BatchCounter + 1 End Sub5. 系统调试与优化
5.1 调试过程记录
在系统联调阶段遇到的主要问题及解决方案:
| 问题现象 | 原因分析 | 解决方案 |
|---|---|---|
| 药片计数偶尔漏计 | 传感器安装角度偏差 | 调整角度并增加防抖算法 |
| 规格切换时机械手抖动 | 参数过渡曲线设置不当 | 修改为S型加减速曲线 |
| 组态王数据记录延迟 | 数据库写入频率过高 | 改为批量写入,每10条记录一次 |
| 通信偶尔中断 | 网络交换机负载不均衡 | 增加专用通信交换机 |
5.2 性能优化措施
通过以下优化将系统效率提升了23%:
- 将运动控制程序从西门子移植到三菱PLC,利用其专用运动指令
- 在组态王中使用异步数据刷新替代轮询
- 优化机械手运动轨迹,减少空行程
- 预加载常用规格参数到PLC内存
6. 实际运行效果
系统投入运行后达到以下指标:
- 装瓶速度:65瓶/分钟(设计指标60瓶)
- 计数准确率:99.98%
- 规格切换时间:<30秒
- 平均无故障时间:>1500小时
特别在以下场景表现出色:
- 小批量多品种生产
- 特殊形状药片装瓶
- GMP合规数据记录
7. 经验总结与扩展建议
在实际部署中,我们发现以下几个要点值得特别注意:
- 振动盘的振幅需要根据药片特性精细调整,太强会导致药片破碎,太弱则影响供料速度
- 不同材质的药瓶对光电传感器的反射率不同,需要预留灵敏度调整参数
- 组态王的报警功能最好与PLC的报警系统做冗余设计
对于未来升级,建议考虑:
- 增加机器视觉质检系统
- 采用工业物联网平台实现远程监控
- 引入数字孪生技术进行虚拟调试