APP下载

基于MES的在线测试设备的离线测试功能改造

2017-06-02王萌

数字技术与应用 2017年4期

王萌

摘要:针对我单位生产现场基于MES的测试设备在脱离网络环境下无法进行测试的问题,本文分析了基于MES的测试系统结构及测试程序代码,找到了一种进行离线化改造的方法。

关键词:MES;离线测试;程序改造;MFC

中图分类号:TP311.5 文献标识码:A 文章编号:1007-9416(2017)04-0082-01

MES(Manufacturing Execution System)系统是现代制造企业信息化中重要的一环。在我单位MES系统测试环节的实际使用中,由于MES系统需要网络的接入,在一些特殊的情况下例如移动测试设备到其它厂房进行测试、网络故障,此时由于无法连接网络将导致测试设备无法进行测试,在一定程度上影响到了生产的正常进行。故考虑在设备现有的在线测试的基础上增加离线情况下的测试功能,提高设备使用的适应性。

1 基于MES的测试系统结构

MES系统对ERP软件传递的生产信息进行分解、细化,并将指令传递给下一系统 [1]。使用MES系统可以有效改善现场生产流程,统筹企业资源,做到生产过程最优化。

MES服务器中数据库包含测试任务表、测试数据表等。其中测试任务表是MES根据生产订单生成的测试任务的集合,包括测试任务ID、任务状态、测试产品编号、工序号等字段;测试数据表是现场产品的测试数据的集合。现场测试设备在MES服务器中接收到产品的测试任务后即可开始产品测试,测试数据暂存在本地数据库中,测试完成后依据测试任务将数据上传到MES服务器中。

2 现状分析

现有的基于MES的在线测试系统的运行流程为,在测试设备上接收A测试任务后进入A测试任务,测试完成后上传该测试任务数据,A测试任务结束。

在线测试依赖于网络MES系统下发的任务,不接收任务则无法进行测试,如果出现无法连接到网络或MES系统出现异常的情况,现场测试则只能中止。

分析测试程序代码,未接收测试任务时测试的开始按钮为灰色不可用状态,即按钮Disabled属性为True。接收任务时程序会将按钮的Disabled属性置为False,表示可以开始测试。

另外,测试是否可以开始的条件为:

BOOL OnBnClickedButtonStartTest(){

if( proNum != "" ){

… //测试过程

}else{

MessageBox("请选择测试产品", "提示");

}

}

proNum为程序界面中产品编号框的值,即条件为产品编号框是否为空。在线版的测试程序无法手工输入产品编号,接收产品的测试任务后,产品编号自动填入产品编号框中,若不接收任务则产品编号框为空。

数据存储方面,产品的测试结果暂存在本地数据库中,测试结果表包含的字段有记录ID,测试任务ID,产品编号,工序号,测试内容1,测试内容2等。其中记录ID为NUMBER类型自增字段,是表的主键;测试任务ID为VARCHAR类型,可为空。

测试完成后,测试程序连接网络MES数据库,修改测试任务表的测试状态status字段为“80”,即表示测试已完成。

综合以上分析,考虑可以在未接收测试任务时放开产品测试功能,先进行产品测试,接收到任务后再将测试任务ID填入相应产品的本地测试结果表中,并修改MES数据库中测试任务的状态为已完成,从而后续能够正常上传对应测试任务的测试数据,最终实现产品的离线化测试。

3 离线功能改造

测试程序使用MFC技术编写,MFC是一个建立在Windows API 之上的C++类库[2],配合Visual C++使用可大幅提高Windows程序开发效率。

找到界面控件中的测试开始按钮,将其Disabled属性设置为False,接下来将“产品编号”框的Read Only属性置为False,以允许手工输入产品编号。修改后在离线环境下手工输入产品编号, proNum值不为空,点击测试开始后测试可以正常进行。

此时离线测试的测试数据中测试任务ID为空,需要在具备条件时将测试任务ID填入测试数据中,否则后续无法正常上传测试任务的数据。在接收任务模块中添加“完成任务”按钮,当能够接收测试任务时选择测试任务并点击此按钮,执行的部分操作如下:

(1)以所选测试任务的产品的产品号和工序号为条件,在本地数据库中检索测试数据记录;(2)若查询结果不为空,则将测试任务ID填入测试数据中;(3)若查询结果为空,则提示该测试任务还未测试;(4)将MES数据库的测试任务表中该测试任务的status字段置为“80”。

修改完成后编译并生成执行程序。改造后的程序按手工輸入产品号的方式可进行离线测试,测试完成后点击“完成任务”按钮,完成后进入数据上传界面,可正常上传所选任务的测试数据,至此,已实现测试的离线化改造。

4 结语

经过离线化改造的设备在测试现场使用稳定,很好的解决了设备无法连接网络时无法进行测试的问题。本文通过分析MES系统结构以及现有的在线测试程序,找到了一种离线化改造的方法,实践证明方法稳定可行,可为有相同需求的其它项目提供借鉴。

参考文献

[1]贾娟芳.应用MES系统对工厂进行整体优化的研究[J].山西电子技术,2016(3):87.

[2]侯俊杰.深入浅出MFC(第2版)[M].武汉:华中科技大学出版社,2004:4.