横机控制器的人机网络管理系统论文

横机控制器的人机网络管理系统论文

1系统设计

本文以杭州与非科技有限公司研发的横机控制器为实验平台,系统整体设计思路是采用C/S与B/S混合的系统架构。系统运行过程如下:设备端人机界面通过网络TCP/IP协议向服务器端发送横机的运行状态和编织数据,服务器端接收到指令后对接收到的数据进行处理归类写入后台数据库里,同时设备端也可从服务器端获取控制参数;在远程端通过网页和移动终端设备远程监控横机运行状态。系统总体结构如图1所示。本系统主要有三大模块组成:a)设备端的开发:在Android平台编写出良好的人机界面软件,开发设备端UI与服务器端进行网络通讯的协议。b)服务器端的开发:搭建稳定高效的Web服务器,开发数据处理的模块以及配置后台数据库。c)远程监控模块:移动终端APP的开发。

1.1设备端软件开发

设备端人机交互软件是本系统开发的核心,基于Android操作系统进行开发。通过人机交互软件直接控制横机控制器并实时监控其运行状况,然后将信息及时地发送到服务器端,目前国内电脑横机主要集中在中低端产品,人机交互界面多由控件组成非常简单,执行效率低。为保证软件的实时性和快速响应,软件采用多线程实现。其界面主要是利用具有双缓冲机制的SurfaceView类代替控件实现,在主界面上通过OnTouchListener类对位图进行触摸监听,从而获得不同的状态标志,Surface-View类根据状态标志显示相应的界面,同时用Runnable类单独开启一个线程实时更新视图和收送数据。在Activity上首先加载主运行界面,如图3所示。主运行界面主要有三部分组成:最上面的部分是对当前运行花样的工作参数进行修改设置;在中间区域的左侧部分,可以显示CNT动作文件中的编织信息和设定当前编织度目的工艺段的值;中间部分的右侧区域显示花版行文件,编织过程中随着机头运行,显示当前的编织进度;最下面的部分为显示花版的工作参数设置信息。本界面实现原理是用IO类对本地缓存区文件进行读写操作,根据数据在文件里存储的地址对其进行解析,用Canvas类将参数显示到画面上相应的位置,开启线程实时更新画面显示数据。

1.2服务器端采用

C/S和B/S混合结构,设备端与数据处理服务器直接相连,响应速度快,事务处理能力强。服务器可直接访问后台MySQL数据库,对数据库进行读写操作。通过TCP/IP的应用层HTTP(超文本传输)协议访问Web服务器实现对横机运行状态的在线监控。

1.2.1数据处理模块开发

数据处理模块是服务器端开发的核心,其负责接受设备端发送的数据并将数据及时更新到数据库,同时向设备端发送数据。数据处理模块还负责与移动终端建立连接。移动终端主动向数据处理模块发送指令,其接收到指令后对其解析并根据指令向移动终端返回相应的数据包,采用客户/服务器通信模式。数据处理模块要求能同时为多个设备端提供服务,并且对每个设备端做出快速的响应,故要求其具有较高的并发性能。此外在通信的过程中,ServerSocket的accept()方法和Socket的read()方法都有可能使运行过程中发生阻塞。当与多个设备端同时通信时,就必须开启多个线程,就有可能发生多个通信线程阻塞,线程数目达到一定值反而会降低系统能力,原因是较多的线程会消耗很多系统资源,加大了系统的管理难度,且对于开启最优线程数目不易把握,故需对系统的并发能力进行优化。本模块在反复调试的基础上采取JDK类库提供的线程池和java.nio包提供的非阻塞通信机制实现系统的开发。在多设备端请求连接时,开启两个线程,一个线程负责与设备端的连接操作,另一个线程专门负责数据的接受和发送操作。负责连接的线程采取阻塞的工作模式,当有设备端连接时,就向Selector类注册读就绪和写就绪事件,没有连接就进入阻塞状态,直到有新的连接请求。负责收发数据的线程采用非阻塞的工作模式,当读写就绪事件发生时就执行相应的读写操作。

1.2.2Web服务器和MySQL数据库的搭建

Web服务器是基于网站架设的服务器,主要作用是提供网上信息浏览服务,只需打开浏览器向Web服务器发送指定链接便可在线查看横机信息,本系统使用Apache开源软件组织的Tomcat进行服务器端的配置开发。Tomcat服务器是当今进行JavaWeb开发使用最广泛的Servelt/JSP服务器,因为它运行稳定,性能可靠。结合Java语言强大的网络功能开发出B/S架构Web服务器,Web服务器也能够操作后台数据库。B/S架构的通信原理是基于应用层的HTTP协议实现的,HTTP是一种请求/响应式的协议。客户端向服务器端发送请求(在浏览器地址栏输入链接网址),服务器返回响应。HTTP协议严格规定了HTTP请求和HTTP响应的数据格式,其请求包括:请求方法,URI,HTTP协议的版本,请求头,请求征文;响应包括:HTTP协议的版本,状态代码,描述,响应头,响应正文。MySQL是一个关系型数据库管理系统,可以将数据分类保存在一张张表中,并且其体积小、运行快、具有较高的查询速度,故本系统选择MySQL数据库保存横机信息。

1.3远程监控终端的开发

随着Android智能手机的普及,开发手机端的软件监控横机生产更加方便快捷,手机APP与服务器端采用C/S架构的通讯模式,服务器根据手机APP发送的请求标志返回相应的数据,这样便可随时随地在手机端查看横机数据。Android智能手机分辨率众多,移动端监控APP必须要适应多种分辨率的手机设备,其编程思想是:首先利用WindowManager获取手机屏幕的分辨率的高和宽,然后根据分辨率在各个界面上采取相应的比例绘制界面布局,并将从服务器端获取的参数显示到相应的位置。

2通信协议开发

采用TCP/IP协议与服务器端数据处理模块进行通信,通过Socket编程,将横机的运行状态和编织的花型数据以字节的方式发送到数据处理模块。该模块采用多线程机制不断地接受客户端的连接请求并将接收到的数据写入后台数据库。通讯数据包主要字节的定义如表1所示。其中,包头标志符由系统固定为某一值,作为验证该数据是否安全的标志,验证通过服务器端才能接受此包数据;包长度表示一个包的长度;包命令字是核心内容,支出这一包数据的功能。

3系统调试

本系统在杭州与非科技有限公司提供的横机控制器上进行测试。然后将参数通过网络发送到服务器端,服务器端的数据处理软件接收到数据后,将其保存到后台数据库的相应的表中,通过查看数据处理软件的CNT界面,可以看出服务器端已成功的接收到设备端发送的数据。在手机端监控软件能够实时获取横机运行参数数据,系统基本达到横机生产控制的预期效果。

4结语

近年来,横机控制系统智能化水平得到了不断的发展,但其系统的开放性没有得到显著的提高,本文基于这种思想设计了一种人机网络管理系统,将计算机网络技术运用于横机控制系统中,设计出网页和移动终端两种监控平台,实现了实时实地对横机的集中监控和管理,使对横机的监控管理不再局限于企业内网中。针对以往的横机交互软件界面不够美观且操作繁琐的特点,本系统结合当前主流的Android平台编写出界面美观和操作简单的人机界面软件。本文为网络管理技术在企业中的运用提供了一种可行的思路,但系统的稳定性和通讯的延迟仍待优化提高。

作者:何忠扬 张建义 袁嫣红 单位:浙江理工大学现代纺织装备技术教育部工程研发中心