APP下载

自动测试系统与测试产线技术研究

2019-04-22刘硕

科技视界 2019年5期
关键词:自动测试产线服务器端

刘硕

【摘 要】针对目前自动测试系统仍需要人工对接被测件的应用现状,以及测试系统与测试产线间未打通实时交互的问题,设计了用于转发、处理、存储的服务器端,用于显示的Web客户端,用于控制测试执行并与产线实时交互的本地客户端,研究了基于WebSocket及Modbus技术的实时通信技术,实现了自动测试系统与测试产线间的协调,同时实现了测试系统客户端、Web客户端与服务器间的实时交互。

【关键字】自动测试系统;测试产线;WebSocket;Modbus;TestCenter

中图分类号: V249.1 文献标识码: A 文章编号: 2095-2457(2019)05-0076-003

0 引言

工业4.0是继机械化、电气化和信息技术之后,以智能制造为主导的第四次工业革命,或革命性的生产方法。工业4.0主要是指基于信息物理系统(Cyber-Physical System)相融合的技术,将制造业向智能化转型,最终建立一个高度灵活的个性化和数字化的产品与服务生产模式。本文将在智能测试领域进行工业4.0的进一步探索,以将人工或半人工测试完全转变为无需人工现场操作的全自动测试。

1 系统结构

本文旨在设计自动测试系统、服务器、测试产线间的框架关系,自动测试系统通过WebSocket[1-2]技术与服务器间进行连接,通过Modbus协议[3]与测试产线间建立连接,实现实时数据的及时传输。其中自动测试系统中的软件是基于TestCenter开发,实时通信模块以插件的形式嵌入到TestCenter[4-5]。TestCenter是一款专为加速开发自动测试系统而设计的测试开发与管理软件平台,由中国电子科技集团公司第四十一研究所独立自主研发的自动测试平台软件,配备TestCenter的自动测试系统在航空航天、国防/军工、汽车电子、无线通信、医疗电子等领域的应用日益广泛。服务器上运行的是基于Java EE开发的Web程序,部署在undertow中。

在一个测试网络内,信息流通过机械设备→传感器→PLC→TestCenter→服务器/数据库→Web传递,如图 1所示,控制流反向传递,即Web→服务器/数据库→TestCenter→PLC→机械设备传递,如图 2所示。

在一个测试网络内一般会有多台功能相同或不同的自动测试系统,用于实现多种被测件的测试,同时配备一条或多条产线,而服务器只有一个。自动测试系统作为测试集群中的独立站点同远程中心服务器进行信息交互,远程中心通过Web服务器进行测试信息的采集以及存储,同时,远程中心通过网页的方式对外提供信息服务。整个系统的结构如图3所示。

首先是自动测试系统同服务器的交互。自动测试系统内置工作站并作为访问端,主动向服务器申请建立基于WebSocket的可靠连接。自动测试系统获取的数据一方面作为一般数据传输给服务器进行存储,包括系统配置、资源配置、被测件、测试程序、测试项目、测试结果等信息,另一方面测试过程中的瞬时数据将作为实时数据传输给服务器,服务器接收数据后再向客户端的订阅者群发,此类数据主要包括用户的操作指令和测试进度。

其次是自动测试系统同测试产线的交互。自动测试系统内置工作站并作为访问端,主动向PLC申请建立Modbus的可靠连接。测试产线实时状态通过Modbus上传至自动测试系统,自动测试系统对产线状态进行逻辑判断同时将实时状态通过WebSocket上传至服务器;自动测试系统接收服务器端下发的指令或在接收产线状态逻辑分析后进行测试,测试完毕后将测试状态通过Modbus传递给PLC指导产线的进一步动作。

最后是客户端以网页的形式同远程中心进行信息交互。实时通信功能是通过B/S体系体现的,用户通过浏览器同Web服務器建立WebSocket连接,发送实时数据请求并查看实时数据。

本系统将WebSocket与Modbus与自动测试相结合,利用WebSocket进行TestCenter与服务器、服务器与Web端的实时交互,使自动测试系统的测试状态更为及时、主动和便捷,利用Modbus进行TestCenter与PLC间的实时交互,将自动测试系统与产线进行状态实时互传,从而将自动测试与工业级产线间最后一道屏障打通,最终实现自动测试流水线的全自动化测试。

2 系统设计

系统设计分为两大部分,第一部分是利用WebSocket进行测试系统客户端(TestCenter)与服务器端、服务器端与Web端的交互,第二部分是利用Modbus进行测试产线与测试系统客户端(TestCenter)的交互。

2.1 服务器端WebSocket实现

服务器端引用undertow-core-2.0.16.Final.jar和undertow-websockets-jsr-2.0.16.Final.jar两个包,主要时间如下:

@ServerEndpoint("/websocket")

public class WebSocket{

@OnOpen

public void onOpen(Session session, EndpointConfig config){……}

@OnClose

public void onClose(Session session){……}

@OnError

public void OnError(Session session, Throwable t){……}

@OnMessage

public void onMessage(Session session, String msg, boolean last){……}

@OnMessage

public void onBinaryMessage (Session session, byte[] buffer, boolean last){……}

}

需要注意的是,在OnOpen事件中,需要将Web端申请与TestCenter发起的客户端申请分离,进行分别处理。

2.2 TestCenter客户端WebSocket实现

在TestCenter中C#的API中基础上进行二次开发,通过引用websocket-sharp组件构件WebSocket客户端的监听与发送。

初始化:

WebSocket ws = new WebSocket(url);

连接:

ws.Connect();

监听:

ws.OnOpen += (send , e) => {……};

ws.OnClose += (send , e) => {……};

ws.OnError += (send , e) => {……};

ws. OnMessage += (send , e) => {……};

发送:

ws.send(byte[]);

ws.send(System.IO.FileInfo);

ws.send(string);

ws.send(System.IO.Stream , int);

断开:

ws.Close();

ws.Close(ushort);

ws.Close(WebSocketSharp.CloseStatusCode);

ws.Close(ushort , string);

ws.Close(WebSocketSharp.CloseStatusCode , string);

2.3 Web客户端的WebSocket实现

利用JavaScript技术插入WebSocket,利用HTML5自带的API實现WebSocket,过程同上。

2.4 TestCenter客户端Modbus实现

通过引用nmodbuspc程序集,在.Net环境中实现与PLC的通信。

连接:

ModbusIpMaster modbus = ModbusIpMaster.CreateIp(Modbus.IO.IStreamResource);

ModbusIpMaster modbus = ModbusIpMaster.CreateIp(System.IO.Ports.SerialPort);

ModbusIpMaster modbus = ModbusIpMaster.CreateIp(System.Net.Sockets.TcpClient);

ModbusIpMaster modbus = ModbusIpMaster.CreateIp(System.Net.Sockets.UdpClient);

写入M区:

modbus.WriteSingleCoil(byte , ushort , bool);

读取M区:

bool[] m = modbus.ReadCoils(byte , ushort , ushort);

写入D区:

modbus.WriteSingleRegister(byte , ushort , ushort);

读取D区:

bool[] d = modbus.ReadCoils(byte , ushort , ushort);

断开:

modbus. Dispose();

3 结束语

本文通过WebSocket技术与Modbus技术,设计解决了自动测试系统与测试产线间的协调问题,同时解决了测试系统客户端、Web客户端与服务器间的实时交互问题。

【参考文献】

[1]张艺.基于WebSocket的即时通信系统研究与实现[J].软件,2015,3.

[2]刘维峰,左泽军,赵利强等.基于HTML5的生产装置实时监测可视化[J].计算机工程与设计,2015.3.

[3]杜佳良,刘美俊,李俊蒂,汤宗清.基于Modbus协议的智能仪表自动检测系统[J].盐城工学院学报(自然科学版),2016,9.

[4]宋斌,方葛丰,刘毅.自动测试系统软件平台TestCenter体系结构设计与分析[J].测控技术,2013,8.

[5]方葛丰,刘毅,等.自动测试系统软件平台技术[J].仪器仪表,2009,10.

猜你喜欢

自动测试产线服务器端
昆玉棒材轧制产线提速增效工艺改进措施
梅钢1780产线高速钢轧辊使用维护
Linux环境下基于Socket的数据传输软件设计
多品种小批量智能制造产线关键技术及应用探讨
宽厚板钢轧一体化智能制造示范产线推进实践
JXG-50S型相敏轨道电路接收器自动测试台
可并行测试的电磁兼容自动测试系统的实现
关于某型雷达自动测试系统的几点认识和建议
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计