何忠扬, 张建义, 袁嫣红
(浙江理工大学现代纺织装备技术教育部工程研发中心, 杭州 310018)
横机控制器的人机网络管理系统的设计
何忠扬, 张建义, 袁嫣红
(浙江理工大学现代纺织装备技术教育部工程研发中心, 杭州 310018)
计算机网络可显著地提高横机控制系统的自动化、智能化水平,在深入了解横机编织工艺的技术基础上,提出了一种横机控制器的人机网络管理系统方案。在已有的硬件平台上,以Android为嵌入式操作系统,完成友好的人机交互软件界面,在服务器端搭建Web服务器和数据库以及在Android移动终端上开发出远程监控软件。实验证明本方案实现了横机生产的智能化、网络化和实时监控管理的功能。
横机; 网络化; 智能化; Android; 人机交互
横机控制系统的自动化水平在不断地提高,通过对横机自动化发展趋势和国内外研究现状的分析,可以发现国内与国外的横机自动化水平相比仍然存在着较大的差距[1]。其中,横机控制系统的开放性低,最主要原因是系统的网络化管理功能缺乏,横机生产信息相互独立。
计算机网络技术的迅速发展,为横机的生产与管理提供了更加方便的途径。横机生产厂家正在积极地推进网络化管理,以实现横机的集中控制、管理与数据共享,横机生产正向着功能齐全化、操作智能化、生产网络化、工作高效化的方向发展[2]。当前对横机网络监控系统的开发主要采用了客户端/服务器端(C/S)的架构[3],需在监控主机上安装服务器软件,这对系统的后期升级维护很不便,且只能在固定地点对横机运行状态进行监控,没有完全实现横机控制系统实时实地的监控效果。针对上述问题,本文设计了横机设备端人机交互系统,通过服务器端集中管理系统和远程监控系统,并且研究了横机的设备端和服务器端通过Internet的通信方案。
本文以杭州与非科技有限公司研发的横机控制器为实验平台,系统整体设计思路是采用C/S与B/S混合的系统架构。系统运行过程如下:设备端人机界面通过网络TCP/IP协议向服务器端发送横机的运行状态和编织数据,服务器端接收到指令后对接收到的数据进行处理归类写入后台数据库里,同时设备端也可从服务器端获取控制参数;在远程端通过网页和移动终端设备远程监控横机运行状态。
系统总体结构如图1所示。本系统主要有三大模块组成:
a) 设备端的开发:在Android平台编写出良好的人机界面软件,开发设备端UI与服务器端进行网络通讯的协议。
b) 服务器端的开发:搭建稳定高效的Web服务器,开发数据处理的模块以及配置后台数据库。
c) 远程监控模块:移动终端APP的开发。
图1 系统总体结构
1.1 设备端软件开发
设备端人机交互软件是本系统开发的核心,基于Android操作系统进行开发。通过人机交互软件直接控制横机控制器并实时监控其运行状况,然后将信息及时地发送到服务器端,目前国内电脑横机主要集中在中低端产品,人机交互界面多由控件组成非常简单,执行效率低[4]。为保证软件的实时性和快速响应,软件采用多线程实现[5]。其界面主要是利用具有双缓冲机制的SurfaceView类代替控件实现,在主界面上通过OnTouchListener类对位图进行触摸监听,从而获得不同的状态标志,SurfaceView类根据状态标志显示相应的界面,同时用Runnable类单独开启一个线程实时更新视图和收送数据。软件主要功能如图2所示。
图2 设备终端软件功能
在Activity上首先加载主运行界面,如图3所示。主运行界面主要有三部分组成:最上面的部分是对当前运行花样的工作参数进行修改设置;在中间区域的左侧部分,可以显示CNT动作文件中的编织信息和设定当前编织度目的工艺段的值;中间部分的右侧区域显示花版行文件,编织过程中随着机头运行,显示当前的编织进度;最下面的部分为显示花版的工作参数设置信息。本界面实现原理是用IO类对本地缓存区文件进行读写操作,根据数据在文件里存储的地址对其进行解析,用Canvas类将参数显示到画面上相应的位置,开启线程实时更新画面显示数据。主运行界面如图3所示。
图3 主运行界面
1.2 服务器端开发
服务器的主要功能如图4所示。服务器端采用C/S和B/S混合结构,设备端与数据处理服务器直接相连,响应速度快,事务处理能力强[6]。服务器可直接访问后台MySQL数据库,对数据库进行读写操作。通过TCP/IP的应用层HTTP(超文本传输)协议访问Web服务器实现对横机运行状态的在线监控。
图4 服务器功能
1.2.1 数据处理模块开发
数据处理模块是服务器端开发的核心,其负责接受设备端发送的数据并将数据及时更新到数据库,同时向设备端发送数据。数据处理模块还负责与移动终端建立连接。移动终端主动向数据处理模块发送指令,其接收到指令后对其解析并根据指令向移动终端返回相应的数据包,采用客户/服务器通信模式,如图5所示。
图5 C/S通信流程
数据处理模块要求能同时为多个设备端提供服务,并且对每个设备端做出快速的响应,故要求其具有较高的并发性能。此外在通信的过程中,Server Socket的accept()方法和Socket的read()方法都有可能使运行过程中发生阻塞。当与多个设备端同时通信时,就必须开启多个线程,就有可能发生多个通信线程阻塞,而且线程的多少与服务器的并发能力有如图6所示。
图6 服务器并发性与线程数关系曲线
由图6可以看出线程数目达到一定值反而会降低系统能力,原因是较多的线程会消耗很多系统资源,加大了系统的管理难度,且对于开启最优线程数目不易把握,故需对系统的并发能力进行优化。本模块在反复调试的基础上采取JDK类库提供的线程池和java.nio包提供的非阻塞通信机制实现系统的开发。在多设备端请求连接时,开启两个线程,一个线程负责与设备端的连接操作,另一个线程专门负责数据的接受和发送操作。负责连接的线程采取阻塞的工作模式,当有设备端连接时,就向Selector类注册读就绪和写就绪事件,没有连接就进入阻塞状态,直到有新的连接请求。负责收发数据的线程采用非阻塞的工作模式,当读写就绪事件发生时就执行相应的读写操作[7]。
1.2.2 Web服务器和MySQL数据库的搭建
Web服务器是基于网站架设的服务器,主要作用是提供网上信息浏览服务,只需打开浏览器向Web服务器发送指定链接便可在线查看横机信息,本系统使用Apache开源软件组织的Tomcat进行服务器端的配置开发。Tomcat服务器是当今进行Java Web开发使用最广泛的Servelt/JSP服务器,因为它运行稳定,性能可靠。结合Java语言强大的网络功能开发出B/S架构Web服务器,Web服务器也能够操作后台数据库。B/S架构的通信原理是基于应用层的HTTP协议实现的,HTTP是一种请求/响应式的协议。客户端向服务器端发送请求(在浏览器地址栏输入链接网址),服务器返回响应。HTTP协议严格规定了HTTP请求和HTTP响应的数据格式,其请求包括:请求方法,URI,HTTP协议的版本,请求头,请求征文;响应包括:HTTP协议的版本,状态代码,描述,响应头,响应正文[8]。MySQL是一个关系型数据库管理系统,可以将数据分类保存在一张张表中,并且其体积小、运行快、具有较高的查询速度,故本系统选择MySQL数据库保存横机信息。
1.3 远程监控终端的开发
随着Android智能手机的普及,开发手机端的软件监控横机生产更加方便快捷,手机APP与服务器端采用C/S架构的通讯模式,服务器根据手机APP发送的请求标志返回相应的数据,这样便可随时随地在手机端查看横机数据。Android智能手机分辨率众多,移动端监控APP必须要适应多种分辨率的手机设备,其编程思想是:首先利用Window Manager获取手机屏幕的分辨率的高和宽,然后根据分辨率在各个界面上采取相应的比例绘制界面布局,并将从服务器端获取的参数显示到相应的位置。
采用TCP/IP协议与服务器端数据处理模块进行通信,通过Socket编程,将横机的运行状态和编织的花型数据以字节的方式发送到数据处理模块。该模块采用多线程机制不断地接受客户端的连接请求并将接收到的数据写入后台数据库。通讯数据包主要字节的定义如表1所示。其中,包头标志符由系统固定为某一值,作为验证该数据是否安全的标志,验证通过服务器端才能接受此包数据;包长度表示一个包的长度;包命令字是核心内容,支出这一包数据的功能。包命令字的定义见表2。
表1 通讯数据包主要字节的定义
表2 包命令字的定义
本系统在杭州与非科技有限公司提供的横机控制器上进行测试。在设备端设置CNT文件的参数如图7所示,然后将参数通过网络发送到服务器端,服务器端的数据处理软件接收到数据后,将其保存到后台数据库的相应的表中,通过查看数据处理软件的CNT界面(如图8所示),可以看出服务器端已成功的接收到设备端发送的数据。在手机端监控软件能够实时获取横机运行参数数据,系统基本达到横机生产控制的预期效果。
图7 CNT编辑界面
图8 CNT显示
近年来,横机控制系统智能化水平得到了不断的发展,但其系统的开放性没有得到显著的提高,本文基于这种思想设计了一种人机网络管理系统,将计算机网络技术运用于横机控制系统中,设计出网页和移动终端两种监控平台,实现了实时实地对横机的集中监控和管理,使对横机的监控管理不再局限于企业内网中。针对以往的横机交互软件界面不够美观且操作繁琐的特点,本系统结合当前主流的Android平台编写出界面美观和操作简单的人机界面软件。本文为网络管理技术在企业中的运用提供了一种可行的思路,但系统的稳定性和通讯的延迟仍待优化提高。
[1] 中国纺织工业联合会. 2010/2011中国纺织工业发展报告[M]. 北京: 中国纺织出版社, 2011: 3-20.
[2] 张 雷, 胡旭东. Wifi技术在嵌入式横机控制系统中的应用[J]. 浙江理工大学学报, 2011, 28(2): 196-200.
[3] 王 玥, 张森林. 织机监控系统在企业内部网中的应用[J]. 工业控制计算机, 2007, 20(10): 34-35.
[4] 李鹏飞, 贺 青. 基于嵌入式系统的电脑横机上位机的设计[J]. 针织工业, 2013, 2(20): 20-21.
[5] 陈景波, 卢 达, 王玲玲. 全自动电脑横机上位机软件的设计[J]. 纺织学报, 2011, 32(2): 130-134.
[6] 李志明, 于浩洋, 马 梁. C/S和B/S混合结构的智能监控系统[J]. 微计算机信息, 2008, 24(2): 6-7.
[7] 孙卫琴. Java网络编程精讲[M]. 北京: 电子工业出版社, 2007: 82-112.
[8] 刘 媛, 张 伟, 王知学. 基于B/S和C/S架构的嵌入式远程监控系统[J]. 仪表技术与传感器, 2008, 45(10): 40-41.
(责任编辑: 康 锋)
Design of Man-machine Network Management System of Flat Knitting Machine Controller
HEZhong-yang,ZHANGJian-yi,YUANYan-hong
(Modern Textile Equipment and Technology Engineering Research Center of Ministry of Education, Zhejiang Sci-Tech University, Hangzhou 310018, China)
With computer network technology, the automation and intelligent level of flat knitting machine control system can be significantly improved. Based on in-depth understanding of the working technology of flat knitting machine, a scheme of man-machine network management system of flat knitting machine controller has been put forward. It is to, on the existing hardware platform, develop a friendly man-machine interaction software interface with Android as an embedded operating system, set up web server and database at the server-side, and develop remote monitoring software on the Android mobile terminal. Experimental shows that the scheme achieves the requirements of intellectualization, networking, real-time monitoring and management of flat knitting machine production.
flat knitting machine; networking; intellectualization; Android; man-machine interaction
1673- 3851 (2015) 01- 0073- 05
2014-05-26
浙江省重点科技创新团队(2009R50018);国家科技支撑计划(2013BAF05B01)
何忠扬(1989-),男,河南信阳人,硕士研究生,主要从事机电控制方面的研究。
张建义,E-mail:zdreamx@126.com
TS183.42
A