APP下载

基于Web的手套机工业物联网平台设计与开发

2020-04-29韩林贝袁登鹏李华昌

计算机测量与控制 2020年4期
关键词:手套指令应用程序

董 辉,韩林贝,董 浩,袁登鹏,李华昌

(浙江工业大学 信息工程学院,杭州 310023)

0 引言

针织手套作为生活的必需品和易耗品,其需求日益增长,应用也越来越广泛。近年来全自动手套机正在逐渐取代人工劳作方式以满足日益增长的市场发展需求[1]。全自动手套在实现编织功能之外还具有网络监测、全中文示教和使用U盘更新编织动作程序的功能[2]。在手套生产车间里,工人需对每台手套机进行现场监控管理,由于车间手套机数量众多,给操作管理人员对设备的监控管理带来了一定的难度,也会增加企业的管理成本。何懂良等人开发了基于以太网的手套机网络监控系统[3]和胡姣开发的基于以太网通讯的手套机网络监控系统[4]都采用工业以太网作为通信方式,把大量的手套机设备通过网线连接到车间管理系统进行设备的实时监控管理。但此方案也存在缺陷,大量的手套机设备通过网线连接到监控管理系统,会带来布线上的困难,使手套机设备的可移动性变弱,增加企业维护成本,也带来潜在的安全风险。

随着工业4.0时代的来临和计算机网络的发展,特别是5G网络的推广应用和无线传感网络的发展,让移动通信的速度和效率都有了质的提升,互联网已经迈进了“互联网+”的时代[5]。互联网与传统行业的应用相结合,能大幅提高生产效率[6]。传统制造业行业在完成转型升级的过程当中,对生产智能化程度要求越来越高,物联网技术的发展与应用,给智慧工厂提供了可行的解决方案[7]。工业物联网把移动通信、移动计算和智能终端应用到工业生产现场,提高生产效率,降低企业成本,从而实现“智慧工厂”[8]。郭锐应用工业物联网技术设计了基于工业物联网的起重机远程监控系统来对起重机的状态进行实时监测[9]。郑树泉设计的工业物联网大数据平台,应用到了桥梁安全检测中,对桥梁日常运行情况进行监督[10]。张启亮等人把工业物联网大数据平台应用在了工程机械行业[11]。工业物联网的应用领域主要还是集中在矿山机电、电网、水利等行业,应用于手套机行业的并不多。

针对以上现状,设计基于Web的手套机工业物联网平台。平台主要由Web应用程序、通信服务程序和数据库三个部分组成。手套机设备使用WIFI无线的传输方式替代传统的有线网络接入平台,使得手套机生产现场布线变得简单,维护也变得方便。平台通过对互联网、大数据、物联网等技术的应用,实现了对手套机生产过程的监控,人员的管理,设备的更新维护等功能,使管理者和用户随时随地掌握工厂的生产状况,提高了生产效率,降低了运行成本。

1 平台整体设计

基于Web的手套机工业物联网平台主要由通信服务程序、Web应用程序和数据库组成。通信服务程序接收手套机设备通过WIFI无线通信方式上传的数据,解析后存入数据库。数据库能确保数据的安全,使数据具有可追溯性。软件配备的防火墙,可对网络进行安全隔离,增强平台的安全性。外部用户可以通过互联网访问Web应用程序,获取相应的生产数据,同时也可以下达控制更新指令给手套机设备。平台整体架构如图1所示。

图1 手套机工业物联网平台整体架构图

根据工业物联网的层次结构,基于Web的手套机工业物联网平台分为4个层次,如图2所示,分别为数据采集层、网络传输层、数据存储层和应用服务层。

图2 平台体系结构图

1)数据采集层:数据采集层解决手套机设备数据采集的问题,采集手套机生产过程中的数据,并将这些数据发送给网络传输层。

2)网络传输层:是指设备监控网络,是各系统连接的纽带,负责把数据采集层采集到的数据向上传递,也负责向下传递更新手套机编织动作程序等控制更新指令。平台采用WIFI无线通信的方式进行数据传输。

3)数据存储层:是指存储设备数据的数据库,对实时运行数据、跟踪数据及历史数据分开存储,同时也存储一些网页端应用服务层的人员管理信息和下达的控制指令数据。数据库采用Microsoft开发的SQL Server。

4)应用服务层:实现手套机工业物联网平台的相关功能。主要实现对手套机运行状态、报警信息和人员信息的管理等操作。同时进行一些生产数据的分析,更好地辅助企业的生产,提高生产效率。

2 通信服务程序设计

通信服务程序基于C/S的桌面控制台应用程序编写,采用Socket完成端口和线程池技术处理高并发的数据和连接。其主要功能有:

1)供大量WIFI的长连接,并将接收到的手套机运行数据存入数据库;

2)推送控制指令给手套机设备,下发手套机编织动作更新程序。

以下对通信服务程序包含的通信协议、手套机设备监控功能和控制更新指令推送功能展开介绍。

2.1 通信协议

TCP/IP网络控制协议可以进行可靠的数据传输,可作为底层通信承载协议,但不保证应用层上数据的可靠性。为防止在应用层上出现数据不可靠问题,手套机工业物联网平台基于TCP/IP设计了应用层自定义通信协议。该通信协议数据包格式如表1所示,其中有效数据最大长度为1 000位。

表1 通信数据包格式

自定义通信协议规定了手套机与平台之间注册、心跳包上传、数据包上传、应答上传和服务器下发等指令的数据包格式。本通信协议是建立在传输层的基础之上,与具体网络无关,体现了通信介质的无关性。在可扩展性上,本通信协议不限制手套机工业物联网平台扩展其他信息,只要不与上表通信数据包格式的规定产生冲突,都能接入平台。

2.2 手套机设备监控

设备监控是基于Web的手套机工业物联网平台的核心。手套机采用的是WIFI无线通信的方式直接连接通信服务程序。由于平台也具备向手套机推送控制指令更新编织动作的功能,所以要保证TCP为长连接。车间手套机设备众多,存在大量的数据并发情况,会给运行通信服务程序的服务器带到巨大的压力。需选择一个合适的网络模型,使程序能够在通信过程中对套接字上的IO进行管理。本平台选用Windows网络编程中的输入输出完成端口模型和线程池技术编写能处理高并发数据的通信服务程序。完成端口(IOCP)模型是到目前为止Windows平台下效率最高的多线程网络编程模型,可以设计和实现具备高性能的网络服务器[12]。

手套机生产过程监控分为3个阶段:手套机设备开机阶段、手套机设备运行阶段、手套机设备关机阶段,如图3所示。

图3 手套机设备生产过程监视流程图

1) 手套机设备开机阶段:手套机开始运行后需发送注册指令包给平台,通知平台手套机上线了,要开始发送数据指令包。平台会回复一个注册应答指令包告知平台已准备好接收数据,可以开始发送手套机运行生产数据。

2) 手套机设备运行阶段:手套机发送生产运行数据包,平台对数据进行解析,得到有效数据,并存入数据库。同时为保证通信可靠性,平台若接收数据成功会发送应答指令给手套机,告知手套机可以发送下一条数据,若手套机发送数据包一段时间内没有接收到平台的数据应答包,则重复发送该条生产数据。

3) 手套机设备关机阶段:手套机发送关机指令给平台,平台接收到设备下线指令,提示手套机下线,同时发送应答包给设备,告知手套机平台允许该手套机关机。

2.3 控制更新指令推送

通信服务程序的另一个主要功能就是给手套机设备推送用户的控制更新指令。要完成这一功能需要两个步骤。第一步,接收用户的控制更新指令;第二步,向设备推送控制更新指令。为减轻服务器的压力,平台采用SQL Server数据库作为中间桥梁进行通信,浏览器向数据库写入控制更新指令,通信服务程序从数据库定时读取更新指令。服务器向客户端推送控制更新指令实现方式如图4所示。

图4 指令推送流程图

1) 通信服务程序中定时扫描数据库中是否存在Web应用程序已写入但未被发送到手套机的控制更新指令。

2) 若存在未发送的指令,则取出表中的数据到内存中,同时根据指令中的设备ID查找对应Socket信息。Socket信息在之前设备上线注册时已经存入了缓存中,当设备下线时会删除此Socket信息。

3) 通信服务程序根据指令组包、分包发送给客户端。客户端一次能接收包的最大字节为1 024位,当发送更新程序包等大文件时需要按照自定义通信协议进行组包,然后分包发送给客户端。

4) 当客户端接收完成后会发送确认接收成功应答给服务端,若服务端接收到客户端应答,便会根据设备ID号删除数据库中控制指令表对应内容。

3 Web应用程序设计

Web应用程序采用基于MVC的Web应用程序框架进行开发,使用C#面向对象的高级程序设计语言在Visual Studio 2017开发平台编写代码,通过Spring.Net依赖注入的方式实现层与层之间的松耦合。使用实体框架(Entity Framework)实现对数据库的增加、删除、修改和查询操作。Web应用程序包含系统管理,报警管理,班组管理和设备管理等功能。如图5所示。

图5 Web应用功能模块图

1)系统管理:系统管理模块包含员工管理、个人资料管理、角色权限管理和操作日志管理。具有员工管理权限的操作者可以给员工分配不同的角色,同时给员工安排不同的班组,通过员工管理,管理者可以对员工进行科学的调度。权限管理模块通过角色把权限分配给用户,页面上的按钮和模块通过角色权限管理分配给相应的角色,具有不同角色的用户登陆平台后,展示的页面是不同的,通过对用户进行权限管理,可以有效防止用户的跨级操作,具备相应业务能力的员工操作相应的功能,增加了设备运行的安全性。个人资料管理用于设置用户的头像、邮箱和手机号等功能,进行个性化设置。设置邮箱和手机号的目的是当手套机产生报警时,通过查找当前手套机所属的组别和当前时间对应的班次,找出对应负责该台手套机的员工,通过邮件或手机短信方式,向该负责人推送报警消息,提醒其处理该报警消息。操作日志模块对各个用户在页面上的操作进行记录。做到操作可追溯。当发生操作错误的时候,可以通过查看操作日志,必要时可进行相应的回滚操作。

2)报警管理:报警管理包含设备实时报警和历史报警。实时警显示当前还未被处理的报警信息,包含报警设备的ID,报警的具体信息,报警开始时间和报警持续时长。手套机在编织过程中主要有手套机的伺服器报警、织线断掉、织线用完等报警信息。该功能可以在织线断掉的情况下通过短信或邮箱的方式提示相应员工去更换织线,可以有效减轻员工的负担,员工不需要一直在车间进行巡逻检查织线是否用完。当手套机恢复正常运行后,实时报警信息就会自动删除,存入历史报警信息表中,可以通过历史报警信息表分析每台手套机的故障率,使用情况等信息,合理分配手套机的工作负荷。

3)班组管理:班组管理分为班号管理和组号管理。班号管理给不同的班号分配上班时间,可以实现倒班制的工作制度。组号管理给每台手套机分配组别,使每台手套机都隶属于一个组负责,当手套机产生报警或其他故障时,通过组可以找到对应的负责人,做到责任清晰,提高车间的管理效率。

4)设备管理:设备管理是手套机工业物联网平台的重要组成部分,包括设备生产状况的查看,手套机设备程序的远程更新控制。设备生产状况显示当前手套机的运行状态,分为运行中、关机中、暂停中和故障中四种状态。运行中的手套机可查看当前单只手套的纺织进度,手套机最近一次的开机时间和已运行时长,同时也显示今日产量等信息,做到了生产数据的可视化。根据手套机采集的生产运行数据,通过数据分析手段,可以得出每台手套机的工作效率,同时也可以分析出每个班组的工作效率。设备远程控制主要用于对手套机编织动作程序的更新。在远程控制界面选择需要更新的手套机并上传相应的更新文件,文件传输到服务器上,同时在数据库设备指令表中存入相应的执行命令。

4 系统实现与测试

4.1 Web界面实现

平台开发完成后,把Web应用程序和通信服务程序部署在阿里云服务器上。服务器配置为CPU 2核,内存8GB,带宽3Mbps.以.NET Framework4.5作为平台的运行环境。当用户登录后如图6,手套机物联网平台首页展示当前运行设备数量,当前在岗上班工作人员数量和近一周车间手套每日总产量信息。选中一台运行中手套机点击进入设备详情页可以查看到该台手套机的开机时间,已运行时长,已生产产量和当前单只手套的进度等详细参数。并能以曲线的形式展示手套生产数量的变化。图7为接入平台的手套机工业现场生产图。

图6 手套机工业物联网平台首页界面

图7 手套机工业现场生产图

4.2 通信服务程序压力测试

根据需求,通信服务程序要应对大量WIFI同时连接并发的情况。通信服务程序部署在阿里云服务器上,测试程序运行在另一台PC机上。设定并发线程数为3 000,每个线程每隔3秒钟发送一个心跳包给服务器,同时服务器会返回一个心跳应答包。启动测试程序,并在阿里云服务器后台监视CPU的运行状况,如图8所示。当测试程序启动后,大量的TCP同时并发连接,CPU使用率达到最大的值为6.03%。从该测试环境下CPU的使用情况可以看出,通信服务程序能同时满足大量WIFI的长连接,并在同时处理大量数据时,不会导致服务器出现崩溃卡死的情况。

图8 CPU使用率图

4.3 Web应用程序性能测试

性能测试是开发中的一个重要环节,通过性能测试,找出Web应用程序存在的不足并进行优化改进[13]。此次采用Apache JMeter[14]对部署在阿里云服务器上的Web应用程序分别展开内网测试和外网测试。设置的并发数量都为1 s内200个线程,测试得到的结果如表2所示。

表2 Web应用程序性能测试结果

从表2可以看出,在内网测试环境中,吞吐量能达到每秒处理80.9个请求,平均请求响应时间1 361 ms,且没有引发异常,请求结果都正确返回。在外网测试环境下,由于受网络因素等影响,吞吐量只有24.9/sec,平均响应时间也比内网环境下多2 055 ms。虽然响应速度变慢了,但没有出现响应错误。从内网测试结果来看,本平台的Web应用程序性能能满足实际要求。

5 结语

本文通过对物联网感知体系和技术的应用,采用WIFI无线通信的方式和自定义数据通信协议,对手套机设备进行数据采集和分析处理,设计了基于Web的手套机工业物联网平台,实现对手套机生产车间的人员管理、班组管理、设备管理、报警管理、远程控制更新,并对平台进行了压力测试。测试结果表明,基于Web的手套机工业物联网平台能满足企业对手套机生产过程实时在线远程监控并进行数据可视化展示的需求,能降低生产车间的人力成本,帮助企业从传统手套机生产管理迈向智能化生产实现产业升级,达到了设计的要求,界面美观且实时性较强,运行稳定。

猜你喜欢

手套指令应用程序
棉手套
《单一形状固定循环指令G90车外圆仿真》教案设计
删除Win10中自带的应用程序
新机研制中总装装配指令策划研究
做只手套好过冬
关于ARM+FPGA组建PLC高速指令控制器的研究
谷歌禁止加密货币应用程序
神秘的白手套
棉手套
三星电子将开设应用程序下载商店