近年来,条码检测技术在汽车制造行业被广泛采用。通过上位机条码监控系统对采集的条码信息处理并进行管理。某大型汽车制造企业在车轴上下料控制系统生产车间通过WinCC中VBS脚本实现对数据库的查询、筛选、用户归档及触发条码打印机的打印功能,实现对产品在生产过程中的质量数据进行跟踪。
车间有两条车轴加工生产线,主控系统采用西门子S7-400 PLC,在ET200S远程站上通过1SI 3964/ASCII串口模块连接symbol固定式条码扫描器MS4404进行车轴端面条码扫描,在上料工位安装条码扫描器,当车轴进入检测区域时,通过传感器信号触发条码扫描器,扫描到的条码以ASCII的形式通过串口模块传到S7-400 PLC控制器中,PLC通过工业以太网将数据传送到上位机数据库,当工件运行到下料机构时通过传感器信号触发intermec条码打印机工作,实现对工件的全程监控。
硬件组态中组态模块地址,传输率、数据位、停止位及校验方式等参数和条码扫描设备设置一致。PLC程序调用S_RECV_SI标准串口数据接收功能块FB2,S7-400通过PROFIBUS DP连接ET200S远程站,由于远程站和条码扫描工位的距离在15米以内,串口模块选用RS-232传输接口。RS-232采用9 pin引脚,接口连接如图1所示。
上位机选用西门子WinCC组态软件,监控整条生产线的运行。画面中应用Microsoft FlexGrid Control控件,条码查询画面如图2所示。
连接数据库,建立SQL表格,在WinCC中“人工输入条码”框连接文本变量8位字符集内部变量tag1,输入条码“确定”按钮脚本中将其读取到Db(0),VBS脚本如下
显示已加工所有信息“确定”按钮中SQL语句改为:strSQL=”select * from line1 Where 上料时间 between’”&Db(2)&”’and’”&Db(3)&”’”
显示已加工所有信息“确定”按钮中SQL语句为strSQL=”select * from line1”
输入条码“打印”按钮通过C脚本RPTJobPreview实现,ODBC数据库表中SQL语句为select * from table_1 where 条码=’$tag1$’;显示加工信息“打印”按钮中ODBC数据库表中SQL语句为select * from table_1 where 上料时间 between ‘$tag2$’and ‘$tag3$’’
人工输入条码后“删除”按钮中SQL语句为
is_SQL=”Delete from line1 where 条码=’”&Db(0)&”’”
cn.Execute is_SQL
显示加工信息“删除”按钮中改为:is_SQL=”Delete from line1 where 上料时间 between’”&Db(2)&”’and’”&Db(3)&”’”即可
在PLC程序中使用SFC 1”READ_CLK”读取当前CPU系统时钟,使上位机报表时间与PLC一致,方便以后故障的排查。WinCC中建立6个无符号8位数变量,分别与PLC系统时钟的年月日时分秒相连,在类型转换中选择ByteToUnsignedByte,WinCC将以十六进制数显示,建立文本变量8位字符集C11用于存储PLC粗车1条码信息,粗车1全局脚本中触发信号设置为Line1.C1_EStatus,将采集到的时间连接成字符串后存储到Db(0)内,C11存储到Db(18)内,连接数据库后SQL语句为at_SQL=”Update Table_1 Set 粗车1时间=’”&Db(0)&”’Where 条码=’”&Db(18)&”’”。
在条码软件BarTender中建立一个新文件并记录地址,设定二维码的共享名称为barcode。
在打印功能的全局脚本中触发信号为Line1.XL_EStatus,将读取内容存储到Db(0),脚本如下:
图1 传输接口的接线
图2 条码查询画面
车间生产线采用了条码自动扫描打印后,实现了产品的回溯跟踪,避免了人工贴码打印的操作失误,大大提高了车间生产效率。
[1]崔坚.西门子工业网络通信指南(下册)[M].机械工业出版社,2006.
[2]陈鸿.现代物流管理系统架构与条码技术[M].清华大学出版社,2008.
[3]刘志妩.基于VB和SQL的数据库编程技术[M].清华大学出版社,2008.
[4]周鹤良.电气工程师手册[M].中国电力出版社,2008.