基于Android的移动化工业人机交互系统设计*
2017-11-01徐哲壮何伟东
刘 挺, 徐哲壮, 何伟东, 乐 喜, 熊 甜
(福州大学 电气工程与自动化学院 自动化系,福建 福州 350108)
基于Android的移动化工业人机交互系统设计*
刘 挺, 徐哲壮, 何伟东, 乐 喜, 熊 甜
(福州大学电气工程与自动化学院自动化系,福建福州350108)
针对现有工业人机交互(HMI)界面存在无法移动,灵活性差等问题,设计了基于Android的移动化工业人机交互系统。系统通过设计蓝牙/RS—485网关模块,在Android智能设备与可编程逻辑控制器(PLC)之间建立可靠的数据通道,使二者能进行双向通信。基于Android的工业人机交互软件可以进行可视化的监测与图形化的控制输入,实现人机交互系统的移动化、智能化。在某热熔胶机的HMI系统上进行实验,结果证明:系统能够在设备周围的任意位置实时可靠地显示传感器数据并修改参数,提高了工业现场HMI的效率。
工业人机交互; 蓝牙; Android; 可编程逻辑控制器
0 引 言
在工业控制中,由人机交互(human-machine interaction,HMI)界面提供工业现场的实时信息反馈并为工业控制提供该过程的输入界面。随着电子信息技术的进步,人机界面已经从最初的“按钮+LED”的组合,逐步发展为更加直观的触摸屏设备,并具备数据通信的功能[1,2]。
然而,目前在工业现场所使用的HMI 设备仍然采用以机器为中心的设计思路,即HMI 与机器单独绑定[3]。对于长型、大型设备,该固定模式在调试时难以兼顾观察设备实际运行状态与使用HMI调整设备参数。调试人员不得不频繁往返于HMI与工业设备状态输出位置,效率低下。同时该模式也存在着 HMI 功能升级困难、用户体验不统一、多设备联调困难等问题,存在操作失误的隐患,同时又增加了硬件及维护的成本。
Android智能设备具有移动化、智能化特性[4]。蓝牙4.0技术可实现信息采集处理和传递[5~7]。本文将二者结合设计了基于Android的移动化工业HMI系统,实现了Andorid智能设备对工业设备状态的监控。并从整体方案设计、系统架构组成、硬件设计和软件架构方面详细阐述。最后,将该系统应用于热熔胶机温度的监控,证明了移动化HMI系统的可行性。
1 系统方案设计
基于Android的移动化工业人机交互系统框架如图1所示,主要由3部分组成:Android智能设备、蓝牙/RS—485网关模块、可编程逻辑控制器(programmable logic controller,PLC)。其中,Android智能设备指使用Android操作系统的平板电脑、手机等常见的手持无线智能终端。蓝牙/RS—485网关模块集成了蓝牙芯片和RS—485通信芯片,能够同时支持蓝牙无线通信和RS—485通信。PLC为工业用可编程工业控制器。Android智能设备与蓝牙/RS—485网关模块之间通过蓝牙无线通信来实现信息交互。同时蓝牙/RS—485网关模块通过屏蔽双绞线连接到PLC的RS—485通信接口,二者通过Modbus RTU协议进行双向数据通信。蓝牙/RS—485网关模块实现蓝牙信号与RS—485信号的双向转换,建立Android设备与PLC的数据链路,从而实现Android智能设备和PLC之间信息交互的目的。该方案通过Android设备对工业设备进行操控、调试,实现HMI的移动化、智能化,提升工业现场工业设备的调试效率。
图1 系统框架
1.1 Android智能设备
系统中,Android设备需具有两大功能:1)将收集的数据以不同的方式显示在屏幕上,供查看。2)操作Android设备将控制命令、数据发送至PLC。
Android设备直接与蓝牙/RS—485网关模块进行通信,通过工作在2.4GHz无线通信频段的蓝牙4.0进行数据传输。首先,Android设备打开蓝牙,通过选择目标网关模块的蓝牙地址来建立连接。当Android设备接收到网关模块发送的数据包时,Android设备采用图片、文字、波形图、列表等方式将数据信息直观表现在界面上,以便查看相关数据,根据数据信息进行处理判断,操作Android设备将控制命令、数据发送至PLC,使工业设备按照期望目标运行。
1.2 蓝牙/RS—485网关模块
模块负责实现蓝牙4.0信号与RS—485信号的双向转换,从而实现Android设备与PLC的相互通信。在物理连接方面,网关模块通过工作在2.4GHz无线频段的蓝牙4.0与Android设备连接,运行蓝牙4.0协议;通过有线连接的RS—485接口与PLC连接,运行Modbus RTU协议。
网关模块同时与Android设备和PLC通信。网关模块接收到Android设备的数据包,根据蓝牙4.0协议标准解析数据包,获取有效数据,将Android设备想要发送的控制指令或数据转换成Modbus协议,再传递给PLC,使PLC能够识别来自Android设备的控制指令。同时,网关模块接收PLC发送的数据,根据Modbus RTU协议解析数据包,分析协议数据中PLC所采集到的数据状态,再将重要数据转换为蓝牙4.0协议标准的数据包,发送至Android设备,从而将PLC采集的数据信息实时传输至Android设备。
1.3 PLC
PLC负责采集工业设备的状态数据,并发送至网关模块,并响应网关模块的控制指令,执行相应操作。PLC与网关模块通过RS—485接口实现通信,用屏蔽双绞线进行连接,软件中均采用Modbus RTU协议通信。
PLC通过RS—485接口与网关模块连接,该连接的网络拓扑有3种:PLC与网关模块点对点连接、一台PLC连接多个网关模块、一个网关模块连接多个PLC。PLC实时采集工业设备状态数据,存储于内部寄存器中,在周期性的查询应答循环中将数据发送至网关模块。当PLC接收到网关模块的控制指令,根据内嵌的控制逻辑响应控制指令,实现对工业设备的控制。
2 硬件平台搭建
2.1 Android智能设备
采用的Android智能设备为Google公司的Nexus9平板电脑,具有Android5.1操作系统, BCM4354无线通信芯片以支持蓝牙无线通信。
2.2 蓝牙/RS—485网关模块设计
网关模块需要同时连接Android设备与PLC,能够同时支持蓝牙无线通信和RS—485通信,此外模块还需要拥有独立数据处理能力,以便进行蓝牙与RS—485两种异构协议标准的格式转换。
网关模块的硬件结构如图2所示,该模块应能与其他蓝牙设备进行连接与通信,支持所有带有RS—485接口的PLC,硬件部分包括主控制器、RS—485接口、调试电路等电路模块,具体功能为:1)主控制器:进行信号处理、数据计算,以便在主控制器上实现蓝牙功能;该模块选取TI公司的CC2540作为主控芯片与蓝牙通信芯片;2)天线模块:包括天线部分和匹配电路,要求能接收与发送2.4GHz频段的信号,能通过匹配电路将无线信号转换为控制器能识别的电平信号;3)RS—485接口:用于连接PLC,实现与PLC之间的数据交换;4)调试电路:用于在硬件模块上烧录、运行、调试程序;5)电源:为网关模块提供3.3V电源;6)晶振:为处理器提供工作时钟;7)复位电路:为系统复位提供所需的高、低电平;8)LED电路:用于显示系统电源、运行的状态。以下主要介绍RS—485接口电路。
图2 蓝牙/RS—485网关模块结构
RS—485接口电路的主要用于将来自蓝牙芯片的通信发送信号TX转换为RS—485通信网络中的差分信号,或将来自RS—485通信网络中的差分数据信号转换为蓝牙芯片能够识别的串口RX电平信号。为了使模块能够输出RS—485标准的差分电压状态,采用MAX3485芯片,接口电路如图3所示。
图3 RS—485接口电路
2.3 PLC
采用台达公司的DVP12SE11R PLC,具有8路输入,4路输出,支持RS—485通信和以太网通信。PLC与网关模块采用点对点连接的拓扑结构,即每台PLC均连接有一个网关模块,在进行RS—485通信时,PLC为主站,网关模块为从站,实现PLC与网关模块之间的通信。
3 人机交互系统软件设计
3.1 Android智能设备的软件设计
程序开发基于Android5.1系统,使用开发工具Eclipse。软件程序主要包含蓝牙地址数据库建立、蓝牙连接、蓝牙数据传输、数据显示和修改功能。
1)蓝牙地址数据库建立:为了防止非网关模块的蓝牙带来的干扰,需要在Android程序中使用SQLite建立网关模块蓝牙地址数据库,将工业现场可被连接网关模块的蓝牙地址保存在该数据库中。
2)蓝牙连接:蓝牙无线通信具有2种角色:中心设备和外围设备。网关模块被设定为外围设备处于广播模式,Android设备被设定为中心设备开启扫描模式。当扫描发现蓝牙设备时,可获得该蓝牙对应的物理地址、名称、接收信号强度指示(received signal strength Indication,RSSI)。首先,对蓝牙的物理地址进行判断,若该地址不属于蓝牙地址数据库,则屏蔽;反之,将该地址加入到可连接清单,待扫描结束将可连接清单以列表的方式显示。选择目标网关模块对应的蓝牙地址,发送连接请求,并建立连接。
3)蓝牙数据传输:建立连接后,作为中心设备的Android设备将搜索外围设备支持的服务(service)和属性值(characteristic),通过通用唯一识别码(universally unique identifier,UUID)对相应的Characteristic进行读取和写入操作,完成数据交互。为了保证Android设备与网关模块蓝牙信息传输的实时性,Android程序专门建立一个数据处理线程用于对蓝牙数据的接收和发送。
4)数据显示和修改:建立处理Android界面更新的异步线程,将数据收发和界面更新分为2个线程,两者之间互不影响。数据处理线程接收到网关模块数据后,将数据通过Android的基本组件BroadcastReceiver将数据通过广播的方式传送给界面更新线程,进而将数据显示在界面上。当通过Android界面对数据进行修改时,界面更新线程将该数据广播从而传送给数据传输线程,再通过写值操作,改变网关模块相应属性的数据。
图4 Android设备的软件结构
3.2 蓝牙/RS—485网关模块软件设计
网关模块的软件程序负责分析蓝牙4.0通信协议和Modbus协议数据,进而在两种协议之间嵌入转换程序,完成蓝牙协议与Modbus协议的自由双向转换,实现网关模块与Android智能设备、PLC同时进行连接与通信。软件结构如图5所示,网关模块预留64kB的内存区域,作为数据寄存器,蓝牙4.0协议与Modbus协议的请求、操作等均通过直接对数据寄存器进行读/写操作完成。
图5 网关模块软件结构
当Android设备发送数据时,调制成为2.4GHz频段的无线信号,网关模块接收到信号,进行信号解调与处理,获取Android设备发送的数据信息;经过数据校验确认数据的正确性后,网关模块根据蓝牙4.0协议解析数据包,解包获得有效数据;根据Android设备发送的数据往数据寄存器中写值。
从PLC采集的数据发生变化,即PLC对数据寄存器进行写值操作时,OSAL操作系统读取数据寄存器的数值,存放到缓冲寄存器,由协议层逐层封装,将数据转换为符合蓝牙4.0协议的数据格式;数据包经过调制转换为无线信号,通过天线模块发送到2.4GHz无线频段,等待Android设备接收该数据包。
PLC与网关模块采用Modbus RTU协议,PLC设定为主站,网关模块为从站。当PLC需要对数据寄存器写值,或从数据寄存器读值,PLC主动发送查询消息,该消息可以包含读值或写值命令码;网关模块接收到查询消息,校验数据的正确性后,解析Modbus协议数据包,分析其命令码与数据域;根据查询消息,OSAL按照地址映射,相应地对数据寄存器进行读/写操作;响应查询消息的操作后,网关模块根据查询消息的命令码,将所需的数据封装为Modbus协议数据格式,生成应答消息,发送至PLC。
4 测试与结果
将所述基于Android的移动化工业人机交互系统应用于热熔胶机温度的监控。开发了“胶机管理系统”APP,在蓝牙通信范围内可实时监测显示热熔胶机熔缸、枪体、胶管的温度以及变频参数等,同时通过对APP界面的操作,可修改热熔胶机的温度以及其他参数。本次测试中“胶机管理系统”共监测2个熔缸、6个胶管、8把枪体的温度,枪体温度的监控页面如图6所示。
图6 枪体温度监测界面
如图6所示的测试的结果,“胶机管理系统”APP能够准确地显示热熔胶机的温度,反映热熔胶机的实际运行情况,在蓝牙通信范围内可修改控制热熔胶机温度,所以,该移动化人机交互系统能够可靠、稳定的运行。
为了测试移动化工业人机交互系统在工业现场的可靠操作范围,在测试的过程中不断改变Android设备与网关模块之间的距离,并在每个距离下均发送100个数据包,观察通信质量,具体测试情况如表1所示。
通过测试发现在10m之内,Android设备与网关模块之间的数据传输没有发生丢包,通信质量较佳,10m的通信距离满足现场级别的对工业设备移动化操控要求。
表1 通信质量测试结果
5 结 论
设计并实现了基于Android的移动化工业人机交互系统,将现有固定模式的HMI设备向移动化人机交互发展,提升人机交互效率。同时,该系统的应用实例热熔胶机温度监测系统,能够实时地显示热熔胶机温度参数,可利用Android设备实现移动化的参数修改,达到了移动化人机交互的目的。
[1] 刘佰鑫,刘成良,贡 亮.基于触屏设备的人机交互界面设计[J].机电一体化,2015,21(4):5-9.
[2] 杭久成,何卫平.浅析数控机床触摸屏人机交互界面设计[J].机械制造,2008(3):23-26.
[3] 寇 恒.西门子PLC与HMI的以太网通讯的应用[J].天津职业院校联合学报,2014(5):23-26.
[4] 罗 彪,李 彬,张岱峰,等.基于Android系统的无线多点测温系统设计[J].传感器与微系统,2016,35(3):56-59.
[5] Johanna N,Carles G,Markus I,et al.Networking solutions for connecting Bluetooth low energy enabled machines to the Internet of things[J].IEEE Network,2014,28(6):83-90.
[6] 徐小辉,李磊民,文贵印,等.一种蓝牙传感器网络的设计与实现[J].传感器与微系统,2007,26(9):23-26.
[7] Lin J,Timothy T,Ozan K.On the potential of Bluetooth low energy technology for vehicular applications[J].IEEE Communications Magazine,2015,53(1):267-275.
Designofmobileindustrialhuman-machineinteractionsystembasedonAndroid*
LIU Ting, XU Zhe-zhuang, HE Wei-dong, YUE Xi, XIONG Tian
(SchoolofElectricalEngineeringandAutomation,FuzhouUniversity,Fuzhou350108,China)
Aiming at problems that existing industrial human-machine interface(HMI) is immobile and has poor flexibility,mobile industrial human-machine interaction system based on Android is designed.The Bluetooth-RS485gateway module is designed to establish reliable data channel between Android smart devices and programmable logic controller(PLC).The Android-based software is developed to provide visual data monitoring and graphical control input that implements mobile and intelligent human-machine interaction system.It is implemented in a hot melt glue machine.Experimental results show that the system can display sensor data and modify parameters at any place around the machine,improve efficiency of industrial human-machine interaction.
industrial human-machine interaction(HMI); Bluetooth; Android; programmable logic controller
10.13873/J.1000—9787(2017)10—0111—04
2016—10—18
国家自然科学基金资助项目(61304260,61673116);福建省自然科学基金资助项目(2014J05072)
TP 393
A
1000—9787(2017)10—0111—04
刘 挺(1991-),男,硕士研究生,主要研究方向为工业物联网。