基于3G无线通信模块和单片机实现工业监控系统的设计
扫描二维码
随时随地手机看文章
随着现代工业生产规模的不断扩大,生产设备由就地分散的局部自动控制逐渐向综合自动化体系发展,而一般工业控制系统地域跨越性较大, 相当一部分设备工作在户外,一些作业点分散,环境恶劣,因此需要无人职守远传控制,对各种设备的运行状态、温度、压力、流量等指标做到实时监控。随着无线技术的日益发展,其安装方便、灵活性强、性价比高等特性使得更多行业的监控系统采用无线监控方式,建立被监控点和监控中心之间的连接。目前,主要的无线监控方案有[1]:(1)基于卫星通信;(2)通过架设微波设备;(3)基于无线局域网;(4)借助移动公网传输。
其中基于卫星通信、架设微波设备、无线局域网的监控方式容易受传输距离、覆盖角度及周边环境的影响,要想达到更好的监控状态就需要中继设备、增益天线等,设备架设费用高。这些传统方式存在覆盖范围、实时性、投资及运行费用等问题,同时对工控设备的无人值守运行存在较大困难。
借助移动公网进行数据传输的监控方式充分利用现有的移动通信网络,网络建设和维护都由运营商承担,运营费用低,且覆盖面广、传输速率高,大幅节省了人力物力,提高了工业控制的自动化水平。
1、 系统技术方案
基于3G无线网络的工业监控系统,将现场数据通过3G网络以流量方式实时传送到手机,并将控制命令下发到现场设备。本系统使用便携手机替代计算机作为监控终端,无论身在何处,都可以实时监测和管理工业现场。
系统框图如图1所示,MCU将工业现场设备数据采集上来,经过相应处理后送到3G无线通信模块,再通过3G无线网络,将数据以UDP/TCP包形式发送至数据中心,并将数据中心下传的UDP/TCP包转换为串口数据传至终端设备。手机端监控软件通过发送HTTP请求和数据中心建立连接通路,获取实时数据,并向数据中心发送控制信息。
3G模块与单片机间通过标准的RS232/485接口通信,支持AT命令,可设置工作方式和数据传输方式(UDP/TCP),手机与服务器之间的连接可以采用HTTP和Socket,考虑到目前并不是所有手机都支持Socket通信,但都支持HTTP协议,所以在本系统中手机与服务器之间采用HTTP通信方式来传输数据。
手机端采用多线程工作方式,将接收到的数据处理之后以数据或图像的方式清晰呈现给监控人员,人机界面友好,同时监控人员简单的操作按键就可将控制命令传回服务器,实现对现场设备的监测和管理。提供用户权限认证,只有通过验证才开放控制管理功能。用户可在手机上直接对监测参数及其范围进行设置,当现场设备的参数值超出设定的正常范围时,产生报警。如果用户未启动手机端监控软件,现场设备发生异常时,监控前端设备也会主动向指定手机发送报警信息。
2、 硬件设计
用户终端设备通过串口或无线方式连接到GPRS数据终端上,然后将数据打成IP包,再通过GPRS空中接口接入到GPRS网络,最终通过各种网关和路由到达系统数据中心。
本系统的终端设备硬件设计结构框图如图2所示,以单片机为主处理芯片,实现数据的采集、发送以及远程控制命令的接收。
采集到的模拟参数经过信号调理单元处理后(放大、滤波等)送入A/D转换器,最后送入单片机。通过单片机扩展存储器的TCP/IP协议栈打包处理,再由GPRS模块将数据传输到GPRS网络。系统采用的GPRS通信模块集成了标准的SIM接口,提供标准的 RS232/485/422接口,可与多种终端无缝连接,为用户提供简便实用的GPRS通信解决方案。
3、 软件设计
3.1 设备端软件设计
数据传输过程如下:(1)GPRS模块通过串行接口从单片机获得上传数据;(2)处理后以GPRS分组数据的形式发送到GSM基站(BTS);(3)分组数据经SGSN封装后,发送到GPRS IP骨干网; (4)若分组数据是发送到另一GPRS终端,则先发送到目的SGSN,再经BSS发送到GPRS终端;若分组数据是发送到外部网络(如Internet),则将分组数据包经GGSN进行协议转换后,再发送到外部网络,送达监控中心。
GPRS模块与单片机间通过串口进行通信,模块与控制器间的通信协议是AT命令集,除了串口发送、串口接收之外,单片机与GPRS模块之间还有一些硬件握手信号。硬件连接完成后,在进行GPRS上网操作之前,首先要对GPRS模块进行一定的设置。主要的设置工作有:设置通信波特率、接入网关、移动终端的类别、测试GPRS服务是否开通等。
GPRS模块可以通过拨号登录到GGSN(网关支持节点)上动态分配到Internet网的IP地址。其间GPRS模块与网关的通信要符合PPP点对点协议,模块向网关发送PPP报文都会传送到Internet网中相应的地址,而从Internet传送过来的应答帧也同样会根据IP地址传送到GPRS模块,从而实现采集数据和Internet网络通过GPRS模块的透明传输。
要注意的是,GSM网络无静态IP地址,故其他通信设备不能向它提出建立连接请求,服务器必须拥有一个固定的IP,以便监测终端可以在登录GSM网络后通过该IP找到服务器。
GPRS模块登录上GSM网络后,自动连接到数据中心,向数据中心报告其IP地址,并保持和维护数据链路的连接。GPRS监测链路的连接情况,一旦发生异常,GPRS模块自动重新建立链路,数据中心和GPRS模块之间就可以通过IP地址通过UDP/TCP协议进行双向通信,实现透明的可靠数据传输。
3.2 服务器软件设计
服务器接收GPRS模块传来的数据,经过相应的处理后存入数据库,供客户端提取数据的同时备份以便查询。
手机与服务器之间的连接可以采用HTTP和Socket,考虑到目前并不是所有手机都支持Socket通信,但都支持HTTP协议,所以在本系统中手机与服务器之间采用HTTP通信方式来传输数据。在服务器Servlet中采用输出流的方式向请求端发送数据。Servlet具有独立于平台和协议的特性,它担当客户请求与服务器响应的中间层。
在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,则启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理。在性能优化方面,Servlet也比CGI有着更多的选择。因此与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。系统选用免费的开源Web 应用服务器Tomcat,运行时占用的系统资源少,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,把Servlet部署到Tomcat,在服务器端运行Tomcat,即可监听客户端请求。
3.3 手机端软件设计
手机端采用多线程方式,提高效率。一方面启动线程通过HTTP协议访问服务器,获得实时数据。另一方面启动新的线程将接收到的数据处理之后以数据或图形的方式清晰地呈现给监控人员,同时将监控人员给下位机下发的命令返回到服务器,从而实现对现场的监测和管理。
手机端软件流程图如图3所示。当用户启动监控软件时,软件通过向服务器发送HTTP请求获取设备数据,这需要短暂的等待,故显示等待界面如连网进度条以防止用户误以为是死机现象。获取数据后,经过一定的处理,保存数据以便追溯分析,同时显示数据并绘制实时曲线。如果数据超出报警设置范围,则产生报警。当监听到有用户按键时,判断按键类型,若为退出,则直接退出程序;若为设置或控制命令,则设置有用户权限,要求用户登录。当用户输入信息正确时,显示相应的设置或控制界面,开放设置和控制功能,以后再次操作无需再登录;当用户信息错误时,给出提示并可再次输入,当错误次数达到三次时,返回主界面并关闭登录功能。
用户对参数报警门限、时长以及曲线显示范围等进行设置时,当用户按下确定按键,若输入错误则提示更改,正确则保存用户数据,自动返回上一界面并刷新。
用户通过手机控制现场设备时,系统根据用户选择的控制项目,发送命令到服务器,再由服务器下发到现场设备。当命令成功发送到服务器时,提示用户发送成功,否则发送失败,设备端设置状态反馈,当接收到控制命令时,响应命令并反馈。
系统采用文件形式保存从服务器端取来的实时数据,可编辑,可方便地从手机上或连接到电脑上查看分析数据。对于用户设置的数据则采用记录管理系统RMS(Record Management System),它是J2ME应用程序进行持久性存储的唯一途径,RMS类似于一个小型数据库,Record Store相当于数据库的表,每个“表”由若干记录(Record)构成,一条记录就是一个用int表示的记录号和用byte[]表示的内容。记录号可以看作是“主键”,byte[]数组存储内容。可以对记录进行添加、修改、读取和删除等操作。
概括起来,本系统具有以下特点:
(1)安装简单:网络架设方便,无需进行拉线,埋线等工作;
(2)永远在线:链路稳定可靠,即使没有数据传输,仍然与网络保持连接;
(3)快速登录:接入速度快,提供了与现有数据网的无缝连接;
(4)高速传输:数据传输速率上行128 Kb/s,下行最大可达2.8 Mb/s;
(5)按量收费:3G移动网络按照客户接收和发送数据包的数量来收取费用,没有数据流量的传递时,客户即使在线,也不收费。