基于Android移动终端的车间管理系统的设计与实现*

2015-11-02 06:50:24陆小虎
组合机床与自动化加工技术 2015年10期
关键词:代理服务器用户界面线程

罗 企,于 东,胡 毅,陆小虎,房 超,刘 韵

(1.中国科学院大学,北京 100049;2.中国科学院沈阳计算技术研究所 高档数控国家工程研究中心,沈阳 110168;3.沈阳高精数控技术有限公司,沈阳 110168)

基于Android移动终端的车间管理系统的设计与实现*

罗 企1,2,于 东2,3,胡 毅2,3,陆小虎1,2,房 超1,2,刘 韵1,2

(1.中国科学院大学,北京 100049;2.中国科学院沈阳计算技术研究所 高档数控国家工程研究中心,沈阳 110168;3.沈阳高精数控技术有限公司,沈阳 110168)

随着信息技术的发展,传统车间管理模式已经不能适应制造技术的快速发展,网络化制造的出现,使得车间管理开始向网络化发展。另一方面,随着3G网络的普及和4G网络的出现,移动网络展现了广阔的发展前景,于是基于移动网络的应用开发又掀起了一阵强劲的发展势头。用户希望能够使用智能移动终端在任何时候、任何地方都可以处理一些工作事务,而并不仅仅是依靠电脑。文章设计了一种基于Android的车间管理系统,通过Android移动终端,结合信息推送等相关技术,对车间生产进行远程监控管理,以达到提高生产效率的目的。

智能移动终端;Android平台;车间管理;信息推送

0 引言

随着通信技术的发展,现代制造企业都加大信息化的发展,制造业趋于智能化,网络化和集成化[1]。在企业信息化建设进程中,车间生产制造的信息化一直是最薄弱的环节,企业非常关注生产数据的实时采集、提高生产排产的效率、实现制造过程的可追溯等问题。网络化数控系统和基于网络的车间监控与管理系统应运而生,旨在帮助企业客户提高车间信息化能力,优化生产管理模式,提升产品生产效率和质量。

另一方面,以智能手机和平板电脑为代表的智能移动终端不断智能化,它们的应用变得广泛[3]。移动终端逐渐演变成了用户的移动数据中心,多媒体中心和网络中心[10],这就使得人们所希望的随时、随地办公成为了现实。

本文以Android系统为平台,提出一种基于Android移动终端的车间管理系统实现方案,以此实现对整个车间的实时状态进行监控管理。

1 系统结构

车间管理者希望能够获得整个车间机床运行的实时状况,所以服务器必须实时采集相关数据并进行存储。如图1所示,数据采集服务器实时采集机床的各项参数,并将数据存储在数据库中。而车间管理者通过智能移动终端,进行相应的登陆认证,可以通过数据管理服务器获得相应的参数,从而实时掌握整个车间的运行状况。而代理服务器将一些安全预警信息实时推送到智能终端上,使整套方案具备更高的智能性。

图1 系统结构图

1.1 数据采集服务器

数据采集服务器的功能是连接整个车间的数控设备,获取它们的实时状态相关数据,并将这些数据以一定的格式封装好发送给数据管理服务器。为了满足车间管理系统实时显示的需求,这就使得数据采集端具有高实时性和高并发性的特点。

1.2 数据管理服务器

数据管理服务器的一个功能在于将采集端采集到的相关数据存入数据库中,并且使数据库能够被远程终端访问。由于数据库维护着整个系统所需要的数据信息,这些数据信息又存放在数据库中的不同表之间,因此对于数据库的设计化为了对表的设计。表设计的合理性,直接影响到了系统的工作效率,在表能覆盖所有需要的信息的同时,还要能清楚的反应表之间的联系。

另一方面,对于获取的一些特殊数据,比如设备的故障、停止运行等,将它们经过特定格式的封装后,发送给代理服务器,以此来实现对车间一些重要信息的实时推送,以达到预警的作用。

1.3 代理服务器

代理服务器message broker的主要功能是实现信息实时推送[2],即根据用户的需求设定,把相应的消息及时推送到智能移动终端。代理服务器连接智能移动终端和数据管理服务器实现发布或订阅功能,是整个车间管理系统中实现信息的实时推送功能最重要的一个部分。

1.4 客户端

客户端基于Android平台,可以运行在相应的智能移动终端上。用户安装客户端,并进行相应的登陆认证后,就可以随时、随地掌握车间实时动态,以了解生产状况。

2 关键技术分析

2.1 机床联网方案

数据采集服务器要实时采集多台机床的相关信息,就必须要和这些机床进行通信。而通信就存在一个难点,那就是要兼容各家不同的数控厂商生产的设备。各家的数控系统不仅通信接口可能不同,而且数据格式也有着差异,这就使得服务器不仅要提出一种通用化的联网方案,并且还要统一数据格式,以便进行管理[4-5]。

目前,在实际车间中,仍然存在着不少老式的串口数控设备,对于该类设备,本文使用一种串口转网口的设备Moxa NPort5110,针对I/O信号,采用I/O转网口的设备Moxa ioLogik E1210,这样串口与I/O都可以视作和网口一样的网络单元。网络单元通过网络端口和采集端相连接,进行数据交互。但是对于一些老式车间,可能会出现无预留网络端口的现象,而新增加布线又比较困难,这种情况下,就可以考虑无线级联的方式。通过增加一个无线转发设备,将相关数据通过无线发送到采集端。如此,就形成了如图2所示的4种网络连接方式,整个系统通过网络和设备互联,这就使得采集端的兼容性提升,并且整个车间网络可扩展。

图2 数控设备联网方式

2.2 并发采集

在数据采集过程中,由于要对多台机床进行数据采集,这就要求整个采集模块满足高并发。实现高并发的传统方法是多线程技术,但是多线程就意味着会增加线程的调度时间和数据切换时间,如果不恰当地使用多线程技术,就会使得这种时间代价扩大,导致并发度降低。因而本文采用的是多线程池技术进行数据采集。

与传统多线程技术不同的是,多线程池技术将合理控制线程数目,这样就减少线程切换时间,充分利用处理器,提高了系统的并发性[6-8]。初始的时候为线程池配置一个合适的线程容量,当连接的设备减少时,系统就将已经完成任务的线程逐步销毁,直至线程的数目恢复到一个正常水平。同理,当连接的设备增加的时候,就要相应地增加线程的数目,直至合理。整个过程的流程图如3所示。

图3 数据采集流程图

2.3 客户端用户界面刷新机制

客户端运行在Android移动终端上,为了实时显示车间状态,客户端用户界面必须要以一定的频率刷新。在Android中提供了一种异步回调机制Handler,本文采用了该机制进行用户界面刷新。Handler主要用于异步消息的处理,当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,也就是发送消息和接收消息并不是同步的处理。这种机制通常用来处理相对耗时比较长的操作。考虑到要在数据库中重新读取所需要的数据,并且将之处理后,还要将显示界面进行刷新,因此整个过程相对耗时,故使用Handler机制刷新。

刷新中,仅使用主线程刷新,这样是为了确保用户界面刷新的安全。Hander机制向其他线程提供调用接口用于刷新用户界面。其他线程通过Hander发送一个刷新消息给用户界面线程,用户界面线程根据接收的消息刷新用户界面。

2.4 信息推送

当服务器采集到一些预警信息,比如机床故障、设备空闲等,如何把这些信息通知给管理者?这时候就需要用上信息推送技术。信息推送技术,即Push技术,它的实现有多种方式。本文基于MQTT协议,用message broker做代理服务器来实现信息推送功能[2]。MQTT是一项消息传递技术,它是是一个轻量级的消息发布/订阅协议,由IBM在2001年发布。用该方法来实现推送,存在一个问题,由于broker的连接数有上限,到了一定程度后就无法连接上了,这就会导致消息推送失败。但是实际上,企业管理者的数目很少,而且企业间的服务器是独立的,也就意味着不会超过broker的连接上限,所以本文采用此办法来实现推送是合理的。

2.5 断点续传

客户端提供了一个加工程序传输功能,以便了解机床具体进行的作业情况。在加工程序传输过程中,特别是当工件程序较大时,移动终端可能会出现和服务器失去连接的情况。考虑到这种情况,本文建立了一种能在中断点附近续传的机制。将大的工件程序划分成10Kb的文件块,如果平台成功接收了一个文件块,那它就将这个10Kb大小的文件块写入到硬盘中。

为了实现断点续传功能,客户端向服务器发送一个初始化信息来请求断点所在的位置。如果在数据存储区找不到文件,那么服务器将向终端返回一个0,反之,服务器将向终端返回文件的大小和断点位置信息。客户端根据服务器返回的断点位置信息和文件大小,将文件用10Kb大小的文件块继续传输。

3 具体实现

3.1 采集服务器

基于上文提出的机床联网方案,每一台数控设备都可以视作一个网络单元,采集数据通过网络即可实现。但是如果直接从设备的原始采集接口获得数据,得到的仅仅只是一堆无法理解含义的数值,而且不同厂商生产的设备之间的数据类型也各不相同。这就要求数据采集服务器不仅要对获得的原始数据进行统一的封装,用以增加其可读性,并且还要增加相应的I/O信号。本文采用XML作为数据封装格式。

3.2 数据管理服务器

数据管理服务器和采集服务器建立通信连接,接收来自采集服务器的XML文件。接收端将接收的XML文件识别,把相应的数据插入到数据库中。这个过程中如果识别到一些预警数据,例如设备故障等,就会将这些故障数据发送给代理服务器,让代理服务器进行推送处理。

3.3 代理服务器

代理服务器接收来自数据管理服务器的特殊数据,并分主题进行发布[9]。客户端在登陆后会连接上这个代理服务器,然后可以选择设定需要接收的消息主题。当代理服务器会设定一个频率更新,有了新内容后,会向连接上它的所有客户端根据设定需求发布该主题。具体实现流程如图4所示。3.4 客户端

图4 推送流程图

客户端软件实现了对车间状态的实时显示,要完成此功能,首先就要实时获得数据。根据前文可知,实时采集的数据都存放在数据管理服务器中,因此要获得数据就是要用客户端实时访问服务器数据库,这里就利用上了Java访问数据库的技术JDBC。在获得数据之后,将数据根据相应的分类图形化显示出来,并利用handler刷新。

Android的用户界面操作并不是线程安全的,因此这些操作都必须在用户界面线程中处理。Hander被用于实现用户界面的刷新,它允许发送和处理那些与线程消息队列相关的消息和可运行对象。当应用程序启动时,Android首先将会打开一个主线程(用户界面线程),用于对用户界面控制的管理和事件的分配。客户端联网从数据库中获取所需要的数据,这是一个相对耗时的操作,因此不能把这个操作放在主线程中实现,而应该放在子线程中。子线程不允许刷新用户界面,Hander的设计是为了向主线程的消息队列发送消息包括用户界面数据,用于实现刷新操作。图5简单展示了Hander用于刷新的过程。

图5 刷新的实现

4 测试验证

为了验证进行可行性验证,将本文提出的方案实现并进行测试。测试机床选用CAK3275和YM650,数控设备型号分别为Faunc 0i和蓝天数控系统。客户端运行界面如图6所示。

图6 客户端运行界面

由上图可以看出,客户端显示出了车间的各种实时状态,将所得的数据和数控设备上所显示的状态进行比较,结果一致,表明该套方案能正确显示。那么,获取的数据的延时是多少呢?接下分别在3G网络下,2M带宽无线公网下和无线局域网下进行测试,测试结果如表1所示。

表1 网络测试结果

从表中可以看出,局域网内速度明显快于其他二者,证明系统的主要延时来源于网络。三种网络的延时都在可接受范围内,表明该套方案可行,能够达到预期的目的。

5 结论

本文基于智能移动终端,提出了一种车间管理系统解决方案,使得用户能够通过移动终端随时随地了解车间的实时状态,以便进行生产管理。与传统的车间管理系统相比,本文提出的方案不仅让管理更加灵活方便,使得各生产部门协同作业,而且推送技术的添加更是增强了警示功能,使得管理者及时收到重要信息,是一种方便可靠的信息化、智能化解决方案。

[1]韩江,李志鹏,余道洋,等.基于网络DNC的车间管理系统的研究与开发[J].制造业自动化,2008(8):19-22,53.

[2]宋新晓.基于Android的push平台功能的实现[D].北京:北京交通大学,2011.

[3]Wei Z,Shi Q,Jia D.Design and implementation of an intelligent information integration system based on android mobile terminals[C].Computer Science and Electronics Engineering(ICCSEE),2012 International Conference on IEEE,2012.

[4]蔡慧林.基于CAN的DNC系统单元级设备通信与实时调度[D].兰州:兰州交通大学,2011.

[5]李波.基于串口的DNC信息采集系统的研究[D].南京:南京航空航天大学,2007.

[6]San-ping LIU.Multi-thread data collection technology of detection system[J].Electric Locomotives&Mass Transit Vehicles,2003(2):012.

[7]Song H,Kim BW,Mukherjee B.Multi-thread polling:A dynamic bandwidth distribution scheme in long-reach PON[J].Selected Areas in Communications,IEEE Journal on,2009,27(2):134-142.

[8]Sundell H,Tsigas P.Fast and lock-free concurrent priority queues formulti-thread systems[C]//Parallel and Distributed Processing Symposium,2003.Proceedings.International.IEEE,2003.

[9]万美芝.基于智能移动终端应用于企业信息管理系统的研究[J].中国电业,2013(12):46-49.

[10]Yuxian Z,Xu G,Chunhua M,et al.The workshop management system design to enterprise information[C]//Logistics Systems and Intelligent Management,2010 International Conference on.IEEE,2010.

(编辑 赵蓉)

Design and Implementation of W orkshop M anagement System Based on Android M obile Term inal

LUO Qi1,2,YU Dong2,3,HU Yi2,3,LU Xiao-hu1,2,FANG Chao1,2,LIU Yun1,2
(1.University of Chinese Academy of Sciences,Beijing 100049,China;2.National Engineering Research Center For High-End CNC,Shenyang Institute of Computing Technology,Chinese Academy of Sciences,Shenyang 110168,China)

With the development of information technology,the traditional model of workshop management has already not adapt to the rapid development of manufacturing technology.The emergence of network manufacturing make the workshop management transform to networking.On the other hand,with the popularization of3G network and 4G network mobile network shows broad prospects for development.The application development based on mobile network has set off a burst of strong momentum.Users want to be able to use smart mobile terminals at any time,any place to handle some affairs,not just rely on the computer.For the above,this paper puts forward a scheme of Android-based workshop management system.Combining the information push technology,it monitors and manages workshop remotely through Android mobile terminal,in order to improve the production efficiency.

smart mobile terminal;Android platform;workshop management;push technology

TH166;TG506

A

1001-2265(2015)10-0157-04 DOI:10.13462/j.cnki.mmtamt.2015.10.043

2014-12-04;

2014-12-04

"高档数控机床与基础制造装备"国家科技重大专项:基于二次开发平台的专用数控系统开发与应用(2013ZX04007-011)

罗企(1989—),男,四川峨眉人,中国科学院大学、中科院沈阳计算技术研究所硕士研究生,研究方向为数控技术,(E-mail)bytc6873@ 163.com;于东(1966—),男,中科院沈阳计算技术研究所博士生导师,研究员,研究方向为数控技术与实时系统。

猜你喜欢
代理服务器用户界面线程
自然用户界面在智能家居系统中的应用路径创新研究:生成式人工智能技术的调节作用
包装工程(2023年16期)2023-08-25 11:40:58
基于CiteSpace的国外用户界面体验图谱量化分析
地铁信号系统中代理服务器的设计与实现
IP地址隐藏器
UI用户界面色彩设计研究
流行色(2017年12期)2017-10-26 03:08:44
浅谈linux多线程协作
环球市场(2017年36期)2017-03-09 15:48:21
基于B/S的跨平台用户界面可配置算法研究
Linux线程实现技术研究
么移动中间件线程池并发机制优化改进
一种容侵系统的设计