基于MES系统的铝锭在线计量软件设计及应用
2022-11-02张兴
张兴
(贵阳振兴铝镁科技产业发展有限公司,贵州贵阳 550081)
0 引言
本文根据铸造在线计量生产过程中存在的问题设计了一套基于MES系统的铝锭在线称量软件,将MES系统中的质检信息实时同步至在线计量称重系统中,并读取电子秤信息以及根据排班排产信息,在称重完成后即完成合格证的打印。同时将数据统计后推送回MES系统,交由MES系统统计生产情况以及形成数字化入库信息。有效降低了人工失误,同时提高整个产线的数字化水平[1]。
1 系统设计
1.1 现状及用户需求
本文设计软件所使用铸造车间配备3条铸造生产线,每条生产线配备1套称重及标签打印计算机及相应软件,软件称重过后只记录重量需人工录入质检数据(铁含量、硅含量)、熔炼号、批次号及牌号等信息再进行合格证打印。同时在交班后报表由司磅员通过U盘导出称重软件数据,提供至相关部门进行统计汇集。
本次设计软件需求如下:设计一套铝锭在线计量软件,在生产线开启后自动获取重量数据,同时根据对应批次号,软件将在MES系统的质检化验子系统模块中匹配对应数据,并自动导入该批次的铝锭化验数据及牌号。将牌号、批次号、铁含量、硅含量、熔炼号以及条码等信息通过标签打印机自动打印合格证标签,后由司磅员进行粘贴。同时本软件所有生产数据将在线实时汇入MES系统进行综合数字化管理。
1.2 总体系统架构设计
MES系统是一套面向制造企业车间执行层的生产信息化管理系统。MES可以为企业提供包括制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理平台。
本文所设计的计量软件中人员信息、班组数据、质检数据将通过数据库视图中间表格形式进行实时数据交换,系统总体架构设计如图1所示。
图1 在线计量系统整体架构
2 系统环境
现场配置的用于管理称重打标的工控机使用Windows作为操作系统,所以在IDE的选择上使用Visual Studio,它可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件等。
开发语言使用C#,其程序在.NET上运行,而.NET是名为公共语言运行时(CLR)的虚执行系统和一组类库。CLR是Microsoft对公共语言基础结构(CLI)国际标准的实现。CLI是创建执行和开发环境的基础,语言和库可以在其中无缝地协同工作。
考虑到本次项目的上位机操作系统为Windows7,所以选择框架时我们选择向下兼容性较好的.NET Framework 4.5,同时运行输出类型也使用Windows窗体。
数据库选型基于本厂MES系统使用Microsoft SQL-Server2019数据库作为其主要关系型数据库,有着使用方便、伸缩性好、相关软件集成程度高等优点,本软件也将数据库选型为同MES系统保持一致[2]。
2.1 系统开发环境
操作系统为Windows 10;开发环境为Visual Studio 2019;开发语言为C#;目标框架为.NET Framework 4.5;输出类型为Winform;数据库为Microsoft SQL Server 2019。
2.2 系统运行环境
操作系统为Windows 7或更高版本;目标框架为.NET Framework 4.5。
3 数据库设计
3.1 数据库结构预览
开发环境中数据库命名为db_Weight,共需要用到3张表,其中登录功能使用MES系统提供的中间表格,不在本文设计范围。
3.2 数据表设计
3.2.1 tb_Operator(操作员信息表)
用于存储操作员信息。
3.2.2 tb_Weight_k(称重信息表)
用于存储第k条产线的铝锭称重及对应各项编号信息。
3.2.3 tb_Lab(化验信息表)
用于存储质检化验信息。
4 引用资源
4.1 程序集引用
System.Configuration.用途:调用config文件,配置串口连接参数及SQL连接字符串。
4.2 外部引用
zxing.dll、zxing.presentation.dll、BarCodeLayer类。
用途:zxing是一个支持解码和生成条形码的动态库,能够支持以下编码格式:UPC-A,EAN-8,EAN-13,Code 39,Code 128,ITF,Codabar,Plessey,MSI,QR Code,PDF-417,Aztec,Data Matrix。满足本次项目生成条形码需求。
CommonClass类、DataOperate类。
用途:执行DataGridView与数据库同步。
5 窗体界面设计
5.1 主界面(MainForm)
主界面使用控件如下。
(1)Label:主要作当前行业统一编码显示、当前批次号显示、当前捆号显示、当前牌号显示、当前重量显示、显示重量是否合格等文字信息的显示。
(2)Button:主要为打印按钮、按日期查询按钮、恢复按钮并做相应的操作。
(3)TextBox:用于用户录入重量阈值的上下限。
(4)DataGridView:做ID、熔炼号、行业统一编码、捆号、批次号、牌号、铁硅含量、净重、块数、日期、时间、炉线号等信息的集中匹配展示。
(5)ToolStrip:做参数设置界面、打印机配置界面、打印预览界面的弹窗按钮使用。
(6)Panel:用作条形码显示、打印标签模板显示的预览容器。
(7)DateTimePicker:用作查询的日期选择器。
5.2 参数设置界面(FormIndex)
主要为对应产线的基本参数进行配置,分别使用ComboBox控件及TextBox控件来实现(炉)线号、捆号的选择,和批次号,码垛铝锭块数的录入。
6 功能实现
6.1 串口数据采集
本项目用户所使用的计量台秤将在开机后通过串口实时发送自身传感器所接收到的实际重量,使用IDE自带的串口类即可完成数据采集。
引入命名空间System.IO.Ports,创建SerialPort对象sp。
6.2 DataGridView数据载入
添加BindingSource控件,命名为bsTable。触发MainForm的Load事件,当窗体加载时,通过Common-Class的GetDataTable方法,将对应的表作为Binding-Source的数据源载入至dgvWeight中。
6.3 条形码生成
对dgvWeight触发CellClick事件,创建BarCode-Layer对象barlayer。以dgvWeight中选中的行(CurrentRow)的BarID为参数,在panelBar中生成条形码[3]。
6.4 打印标签
6.4.1 生成打印模板
以panelPrint为打印模板,在Panel中添加Label控件显示选中的dgvWeight记录,同时生成的条形码容器panelBar也包含于该Panel。
6.4.2 调用打印控件
添加PrintDocument控件,将(Name)属性改为pd,触发其PrintPage事件,将panelPrint作为打印内容。
添加PrintDialog控件,控件默认名称printDialog1。双击btnPrint触发Click事件,当点击“打印”按钮时,弹出打印选项,对打印选项进行确认后开始打印。
6.5 参数设置
需要进行设置的参数如表1所示。
表1 参数设置
6.5.1 定义传值方法
由于参数设置界面(FormIndex)与主界面(Main-Form)不在同一个窗体,且FormIndex属于MainForm的子窗体,需要由子窗体传值给父窗体。这里在MainForm中定义一个ChangeIndex方法,以修改的值为参数,无返回值。
6.5.2 ComboBox参数预设
创建DataTable对象dt,添加两个列,分别作为显示值(DisplayMember)和变量值(ValueMember)。
6.6 按日期检索
添加DateTimePicker控件,选择日期后点击“查询”按钮,其Value.Date即所要查询的日期。创建一个DataSet对象,通过创建SqlDataAdapt对象查询并使用Fill方法刷新DataSet。再通过改变dgvWeight的Data-Source,实现在DataGridView上的显示[4]。
点击“重置查询”按钮,将dgvWeight的DataSource改回原来的bsTable。
7 应用效果
本系统软件上线后工作人员免除之前需要大量手工录入数据的工作,节约人力和物力的同时提高工作效率,降低数据出错的可能性,实现整个数据流的精准传递,提高了基层用户的生产效率。
而管理层用户可通过本软件提供的数据接口,在MES系统内获取可视化报表、数据统计表、生产效能等指标。通过系统页面显示,MES系统能查询到每条铝锭生产线过磅数据以及产品质量情况。而无须再使用U盘或即时通讯软件由人工统计制作EXCEL后提交。保证系统高效、准确的同时,降低了病毒感染和数据泄露的风险[5]。
并且在铝锭装出库装车销售时,也可为铝锭质量证明书提供数据支撑,做到铝锭质量数字化追溯。
8 结语
MES系统是一套面向制造企业车间执行层的生产信息化管理系统,作为整个生产企业的信息中枢,通过双向通讯,提供工厂各个车间所需的即时信息。MES系统是整个生产制造信息化的核心,可以使制造企业的整个生产过程更加完善。
结合上述思路,本文软件设计充分考虑到了铝冶炼生产企业铝锭铸造车间生产现状及企业MES系统已有生产业务模块数据的基础上,从软件需求、信息采集、数字化车间等方面对信息采集与处理系统进行综合分析,详细介绍了铝锭在线计量软件的编写思路、参数设置、数据库设计、平台架构和部分重要类的代码编辑。并且说明了在实际上线及应用过程中同MES系统的交互逻辑,满足企业对精益化生产、数字化生产最终需求。