高德欣,刘 芳,张如耀
(青岛科技大学 自动化与电子工程学院,青岛 266042)
轮胎模具对轮胎外观质量有着举足轻重的作用,温度和湿度是在轮胎模具存储过程中影响其品质的2个重要外因,青岛地区夏季气候比较潮湿,轮胎模具容易受潮生锈,所以需要对存放轮胎模具的仓库进行温湿度监控,以确保模具的正常存放。
本文针对这一情况,设计了基于Android的仓库温湿度无线监控系统,该系统结合了传统工业的控制、移动互联网技术、Android应用软件开发等技术,实现了温湿度的现场监控和远程无线监控。该系统上位机采用串口,使用RS232-485模块,通过Modbus协议采集现场的温湿度传感器的数据;在远程无线监控中,通过架设移动终端服务器,使用Socket通讯协议实现服务器和手机客户端的通讯,并且基于Android平台开发了温湿度移动终端监控软件[1-3]。该系统不仅可以在现场监控温湿度,而且可以在任意有网络的地方通过手机上网查看现场的情况,极大地方便了工作人员的操作,提高了工作效率。
基于Android的轮胎模具仓库温湿度无线监控系统结构如图1所示。
图1 轮胎模具仓库温湿度系统总体结构Fig.1 Tire mold warehouse temperature and humidity control system structure
系统包含轮胎模具仓库监控系统和移动监控系统两部分。轮胎模具仓库监控系统包含上位机PC及移动终端服务器,上位机PC由控制模块和通讯模块组成,移动终端服务器实时发送现场数据并且通过动态域名解析服务客户端软件固定IP;移动监控系统的Android客户端接收服务器发送的数据。系统的工作包含以下过程:
(1)PC的通讯模块通过RS232-485转换器接收温湿度1~6变送器传来的数据,并将数据保存到SQL数据库中,传输协议采用Modbus-RTU协议[4];
(2)控制模块根据通讯模块得到的数据与设定的温湿度值,判断是否有某台除湿机需要开启,并进行相关启停操作;
(3)移动终端服务器模块通过Socket协议,向Android手机客户端实时发送当前温湿度数据及操作信息。本文采用动态域名解析服务客户端软件作为中转站,移动终端服务器通过TCP/IP协议向通过动态域名解析服务客户端软件申请的IP地址发送数据,Android手机客户端通过GPRS或WiFi从相同IP地址接收数据,从而实现远程监控功能。
控制模块接收到轮胎模具仓库6台温湿度变送器传来的数据,与模块中的各部分温湿度设定值比较,判断是否有超限数值并通过三菱FX2N系列PLC启动超限数值对应的除湿机,并确保设定值范围内位置除湿机是否关闭。
因仓库较大且各个位置的工况不同,采用6台温湿度变送器组网的方式,对车间进行较为精准的监测,这也决定了RS232的通讯距离难以达到要求,需要利用RS232-485转换器。系统采用泰勒士FTWI5温湿度变送器,采用标准Modbus RTU通信规约传递二进制通信数据。Modbus通讯数据格式为“设备地址(1 byte)功能码(1 byte)数据(n byte)CRC校验(2 byte)”。上位机通过设备地址来辨别6台温湿度变送器,通过功能码完成读/写功能。6台温湿度变送器通过一个RS232-485转换器经由Modbus协议传送数据到上位机,使用COM1串行通讯接口。
另一方面,控制模块与三菱PLC的通讯也是采用Modbus通讯协议,三菱提供的MX控件使得通讯的设计较为简单,使用COM2串行通讯接口。
服务器模块的主要功能如下:
(1)服务器模块实时全面监视仓库温湿度,并通过PLC启停除湿机来确保仓库各个测点温度保持在系统的设定值。数据及操作记录存入SQLite数据库中,并通过动态域名解析服务客户端软件服务器发送到手机客户端;
(2)计算机可以记录并以动态曲线方式显示各个测点当前温湿度数据,并可查看历史曲线;
(3)实现过程报警与系统报警。当控制现场中某个测点数据低于或高于某个设定的阈值时,能够产生报警源,产生报警,以便现场工作人员及时得到报警通知并做出相应动作,同时记录相关报警信息及操作信息;
(4)系统需要正确登陆,并且能够对向手机客户端发送的数据进行加密。
图2所示为系统的主界面,图3所示为系统的Socket通讯设置界面。
图2 服务器端主界面Fig.2 Server main interface
图3 Socket通讯设置Fig.3 Socket communication settings
Android通信流程如图4所示。首先,上位机作为服务器端创建ServerSocket,监听某个端口(本文使用6666),调用Socket socket=main Socket.BeginAccept()方法,等待用户连接,最大连接5台手机。用C#编写的服务器端Socket通信部分关键代码如下:
图4 Android socket通信流程Fig.4 Android socket communication flow chart
然后,作为客户端的Android用户创建Socket,通过WiFi或GPRS请求与服务器连接。最后,当服务器接受请求后,2个Socket在同一线程对话[5]。此时,上位机将轮胎模具仓库现场的数据通过动态域名解析服务客户端软件实时发送给Android客户端,Android客户端开启后,会将接收到的温湿度数据、操作日志及报警信息通过insert语句插入到SQLite数据库中,并能够定期对其备份。
本文设计的移动监控系统,其Socket客户端需要接受固定IP地址的数据,而一个固定IP地址的租用费是十分昂贵的,因此需要使用动态域名解析服务客户端软件构成移动监控服务器与客户端之间的链路。该软件的服务商主机提供DNS服务,能够将用户动态IP地址映射到固定域名解析服务器DDNS上,解决了域名与动态IP间的绑定问题。常见的动态域名解析服务客户端软件有科迈、金万维、花生壳等,其中花生壳软件是免费使用的。因此,从经济方面考虑,本文设计的移动监控系统采用“花生壳”固定IP地址,使得手机可以通过GPRS及WiFi接收数据。
Android是一个开放的平台,基于Linux内核,用户可利用其提供的开发环境进行针对性的开发,节约开发成本。
Android SDK是Android专属软件开发工具包,采用Java语言,本文采用Eclipse开发平台[6]。其搭建步骤为安装JDK,配置环境变量;运行Eclipse,安装ADT插件;配置Eclipse参数,使其指向SDK根目录。
搭建Andriod开发环境后,在Eclipse中选择File>New>Android Project,完成项目的创建。开发轮胎模具仓库温湿度无线监控客户端软件首先需要定义应用程序的用户界面[7]。Andriod项目的layout目录下有一个main.xml文件,使用该文件定义Andriod的界面布局作为用户界面。其次在该界面的控制面板中拖入任意所需控件,在Mainactivity.java文件中通过findViewById()方法即可获取指定ID的界面控件。而通过调用Activity的setContentView(View)来显示指定控件,最后用setOnClickListener()方法来绑定监听点击事件监听器。在图5的界面中为6个RadioButton类型控件绑定监听器。当用户点击按钮发生触发事件时,对应的按钮监听器执行界面切换,可以查看6个不同监测点的温湿度情况。
该温湿度无线监控系统客户端软件不仅能实时接收数据,还能对接收到的数据进行存储[8]。Google为Andriod数据处理提供了SQLite数据存储机制,在数据存储、管理、维护等方面都相当出色。SQLiteDatabase类为我们提供了很多方法,调用insert(),delete(),update(),query()这些方法,可以实现数据库的增、删、改、查等操作。
在Java代码中编写所有业务实现完成后,选中要运行的Andriod项目,单击鼠标右键,然后在弹出的菜单中单击“Run As→Andriod Application”菜单项即可运行,同时AAPT工具将编译好的代码及应用程序打包成扩展名为.apk的文件,其作为应用程序,用户只需手机下载安装此文件即可应用。Java编写客户端部分关键代码如下:
仓库温湿度实时显示及操作记录查询。软件能够查看温湿度实时曲线,并可查看当日的报表及除湿机启停等操作信息。
报警推送功能。当仓库中某处测量点的数据超出限定值时,手机响铃报警,此功能可选择是否开启[9]。
服务器端可监控连接到的手机客户端,并可强制断开不明客户端的连接。
图5所示为手机数据传输界面,选择2号监测点,温湿度曲线图可以直观地反映出24 h内的温度起伏变化。SQLite数据库存储了温湿度的历史数据,方便查询。
移动服务器终端只能够对工业数据读取,无法进行更改[10]。
设计了软件登陆认证过程,服务器发送的数据是经过加密的数据,只有正确登陆,客户端软件才会运行相应的解密程序,看到正确的信息。
图5 客户端主界面Fig.5 Clien main interface
本文在轮胎模具仓库温湿度监控系统的基础上,实现了基于Android平台的移动监控功能。管理员既可以在现场也可以通过远程监视现场状况,并进行指挥。该监控软件的应用可以极大降低工人的劳动强度,保护仓库存放轮胎模具,并能够通过手机实时掌握轮胎模具仓库状态,方便企业管理。
[1]李鹏.仓库无线监控系统的研究与实现[D].北京:北京邮电大学,2012.
[2]郭志涛,郭忠,王振.基于Android平台的智能医疗系统的设计与实现[J].郑州大学学报,2014,35(6):60-63.
[3]赵萌,崔刚.基于WiFi的Android移动设备导航系统的设计开发[J].智能计算机与应用,2013,3(3):60-64.
[4]曹庆才,高德欣.基于力控的温湿度远程监控系统设计[J].自动化技术与应用,2014,32(3):91-95.
[5]张瑞卿.基于Android手机客户端的中央空调远程数据监控系统研究[D].福建:厦门大学,2014.
[6]周国祥,刘成良.基于无线Java的远程监控系统研究[J].自动化仪表,2006(2):18-21.
[7]阙斌生.面向Android应用程序行为的安全监控系统设计与实现[D].北京:北京邮电大学,2014.
[8]杨露霖,徐立鸿,林维威,等.基于Android的温室移动端检测监控系统设计[J].机电一体化,2013(6):52-57.
[9]彭鑫.基于Android的工业控制监控软件的设计和开发[D].浙江:浙江大学,2013.
[10]张娜娜.基于局域网的数据安全传输组件的设计与实现[D].陕西:西安电子科技大学,2014.