基于MODBUS_TCP的防错验证监控系统开发及应用
2022-08-09黄春笋张俊
黄春笋 张俊
上汽通用五菱汽车股份有限公司 重庆市 401135
1 前言
发动机的可靠性,质量一致性对客户非常重要,为确保发动机装配过程质量,发动机装配生产线在各工位基本100%采用了各类防错措施,采用各类硬件加传感器等方式实现制造过程缺陷不接受,不制造,不传递的目标。对于新增的风险,通过不断增加软硬件的方式来探测,长此以往,整个防错系统越来越臃肿,急需一套解决方案对各类防错验证的有效性进行系统性管理。
本文以某公司发动机装配线为例,通过该发动机装配线开班防错验证过程的分析研究,发现了防错验证过程中存在的问题(部分装置失效,不按操作规程执行等)。针对这些问题,提出了基于modbus_tcp协议的低成本解决方案,开发了一套防错验证监控系统,该系统自动完成各防错验证状态数据采集,并定时输出报表,预测防错功能失效风险。
2 开班防错验证方法分析
该公司发动机装配线共有106个工位,分别由23个PLC控制,可同时共线生产多个机型。为防止出现错漏装,每个工位都有相应的防错功能,并要求按不同周期开展防错验证,以确保设备正常工作。
2.1 装配过程
以安装曲轴工位为例,该工位开班防错验证其中一项为扫描曲轴参考件二维码,在操作工扫描完二维码后,设备防错程序工作内容如下:
1)通过匹配当前发动机型号与扫描得到的曲轴号的型号,确认曲轴类型是否正确,如类型不匹配,则报警类型不匹配;
2)将扫描得到的曲轴号发送至质量管理系统,验证该曲轴在生产过程中是否存在质量锁定,当设备收到质量管理系统反馈的错误信息,则报警曲轴锁定,当超时未收到任何信息,则报警验证超时;
如果以上两步验证都没问题,操作工需在防错验证记录本上画“O”,表示防错验证没问题,如存在问题,则暗灯呼叫班长寻求帮助;
2.2 存在的问题
在防错验证过程中,过程完全依赖于人员是否按照标准化要求执行,管理人员不能确定验证过程的有效性,可能的风险有:
1)防错验证未按要求定期在产品装配前开展,导致装配产品存在潜在质量风险;
2)防错装置失效未及时反馈导致装配质量风险;
3)防错功能有缺陷(例如频繁报警)未能及时发现导致装配质量风险;
4)防错验证未记录对应发动机号码,导致问题出现时无法精确快速锁定可疑产品。
3 防错验证有效性控制方案
3.1 方案目标
为解决防错验证过程的有效性,通过开发一种防错验证监控系统,监控该装配线所有防错验证过程,该系统应满足以下几点要求:
1)同时监控所有工位开班防错验证、防错报警频次,数据自动采集;
2)所有防错验证触发时的发动机号、防错类型、时间都自动记录,具备完整的质量追溯数据;
3)开班防错信息,集成一页显示,已完成显示“O”,未完成显示“X”,使管理人员无需跟线验证即可知道当班次开班防错验证状态;
4)自动推送报表,预测异常情况,供管理人员核对发现可疑情况;
3.2 方案逻辑架构及网络拓扑
该方案分三步完成:防错验证数据采集,客户端显示数据,生成报表。逻辑流程如图1所示。
图1 方案逻辑框架
1)防错验证数据采集:以单个PLC为例,首先对所有防错验证项目进行编号,每个防错验证都具有单独的ID,并且不同机型需设置不同的ID,同时在PLC中对应单独的线圈地址,以便在读取和存储分析时区分不同的防错验证,具体如表1所示:
完成编号后,编写防错验证数据采集程序,读取PLC线圈存储的信息,同时读取每个工位当前的发动机号,将处理后的数据发送至数据库保存;
2)客户端显示数据:开发客户端软件,汇总显示每班次开班防错验证执行状态;
3)生成报表:编写程序定期发送防错验证汇总报表,分析潜在的失效风险,给管理人员提供决策依据。
4 方案实施
4.1 防错验证数据采集
修改PLC程序,将防错验证报警按顺序引至连续的线圈,方便采集程序读取,且要与表1中防错编号顺序一一对应,如图3所示。
图3 PLC程序修改示例
表1 防错验证ID编号
工作站作为主站client端,各PLC作为从站server端,为防止因网络堵塞导致的数据丢失,使用Python multiprocessing创建多进程,给每个PLC通讯单独分配一个进程,每个进程与对应的PLC创建一个modbus_tcp连接,获取防错报警状态,方案网络结构如图2所示。在得到防错报警触发的信号后,与预先设定的防错验证ID进行匹配,最后将ID、发动机号、时间等存入数据库中。
图2 方案网络结构
此外,由于在开班一小时内可能同时生产多种机型,考虑到减少客户端显示的无用信息,所以需要额外增加一列标签,用于表示某个防错是否在本次开班防错验证要求中,并在后期开发客户端时以此列标签筛选,只显示当班次需要验证的防错。
4.2 客户端展示防错验证数据
使用PyQt5编写客户端,并将每日开班防错信息集成在客户端首页,只显示本班次需要完成的防错验证,并优先将未按时完成的项目展示在前排,客户端界面如图4所示。
图4 客户端展示开班防错验证状态
4.3 推送报表
在开班一小时后,使用企业微信API推送未触发防错报警的项目,提醒管理人员及时介入查找原因,如图5所示。
图5 企业微信推送未完成项
同时,每天自动生成报表推送。如图6所示,当班次防错验证501未按时完成,1001触发报警次数过多,这两项都需要管理者管理者立即介入调查,以防潜在质量缺陷发生。
图6 防错报警触发次数统计
5 小结
本文通过对某公司发动机装配线防错验证过程的分析研究,发现了当前防错验证过程中潜在的质量问题,且整个防错防错验证缺乏系统性的管理方案。为解决这些问题,基于modbus_tcp协议使用python编程开发了防错验证监控系统,该系统自动完成生产大数据采集,并对数据进行分析,将开班防错验证数据集成在客户端中显示,同时使用企业微信推送未完成项目、日报,对生产过程中的潜在防错失效进行预警。该方案,使整个防错验证体系得到了有效的管理,实现了防错验证的闭环控制,同时为数字化工厂改进提供了一个有效的低成本解决方案。