APP下载

离散型生产车间数据采集与监控系统

2019-01-19卿建华陈元斌章近达

制造业自动化 2019年1期
关键词:网关消息服务器

卿建华,陈元斌,鲍 敏,章近达

(1.浙江理工大学 机械与自动控制学院,杭州 310018;2.杭州名北拓科技有限公司,杭州 310000)

0 引言

我国最早是中国科学院1999年的传感网项目,正式开始了对物联网的研究。从广义上讲,物联网就是一个M2M系统,分别代表机器之间(Machine to Machine)、人机交互(Man to Machine,Machine to Man)和人与人之间(Man to Man)的通信[1]。在生产制造各环节实现远程可视化检测与技术支持,应用物联网技术为企业提供及时准确的数据,无疑对降低成本、提高生产效率和产品质量发挥重要作用。

数据采集与监控系统为企业ERP、EMS、CRM等信息化系统提供及时准确的数据,相关技术因此得到了广泛的研究。无线传输方案中Wi-Fi、NB-IoT、LoRa、ZigBee以及Sub-GHz都是候选技术。吴海龙,鲍敏[2]等针对生产车间中数据采集问题,提出了一种基于ZigBee的生产车间数据采集系统,并开发了原型系统;莫哲萌,鲍敏等[3]针对离散制造车间的特点,在原型系统的基础上,提出一种基于Sub-GHz无线通信技术的车间数据采集系统。

本文目标企业车间生产线分布呈现整体分散局部集中格局,生产数据由人工统计及汇报,投入成本高,实时性差,管理层和决策层难以实时掌握生产一线状况。企业希望改善现状,要求能实时自动统计、汇总、存储和处理生产数据,监测设备是否异常,以可视化监控的形式供决策者随时随地监控生产实际情况,做出生产调度,督促员工积极参与生产,避免地理、时间等因素的影响。

在大量研究和实践的基础上,对原型系统做了多方面优化和补充(比如,用稳定性相差不大可编程模块代替了原有的固定系统),结合企业实际要求,设计了离散型生产车间数据采集与监控系统的总体架构。该系统具有结构简单、组网容易、高灵敏度、远程指令下达、跨平台使用、用户操作方便、可二次开发的特点。

1 系统架构

本文目标是设计一种可视化远程监控系统,需要对传感器节点、无线模块、组网方案、数据流、云服务器、业务定制应用等方面做适用性和可靠性研究。

传感器节点是远程监控系统的最小单元,由传感器和控制器组成,起着感知世界、采集信息、接入传感网的功能。该系统选用模拟量传感器,由ADC电路采样,经过滤波等环节处理后得到需要的数字信号。本文的远程控制系统中,传感器主要是连接在控制器上,控制器可以控制传感器的工作状态,控制器可以将采集数据进行转化并发送出去。

目标企业生产现场采集点分布整体分散局部集中,生产空间无障碍物的影响与绕射损耗,单条上传数据小,因此传输终端采用ZigBee模式。ZigBee网络容量大,单个网络最多可支持65535个设备,每台设备可以和另外254台设备相互连接[4],如图1所示。经过分析和实验,设计了基于RS485和Modbus协议的传感器节点查询、写入和应答操作,RS485可连接多个设备,形成总线形式。

网关基于以下部件的封装:Digi XBee® ZigBee模块、Pyboard开发板、QUECTEL-EC20模块,Pyboard嵌入式开发板基于STM32F405RG微控制器,成功移植了MicroPython,是连接各个终端的汇集点,采用3G/4G网络进行与服务器的远程通信。采用一个云数据中心和物联网常见的三层结构组网方案,设备云平台架设在阿里云,也可以架设私有云。应用业务层采用现场监控看板、WEB站点、APP三种方式。

图1 监控系统拓扑图

2 网络接入实现

2.1 控制器和接口库开发

控制器基于XBEE模块和Pyboard开发板封装,支持RS485转虚拟USB和虚拟串口连接PC,实现存储内容可视,虚拟串口模式方便用户调试。基与MicroPython语言开发了可复用的消息接发异步库、RS485库、ZigBee库、StateMachine库,极大的缩短了产品开发周期,二次开发只需专注于功能实现。

图2 封装后的网关实物照

控制器初始化,通过XBEE模块接入ZigBee网络,发送握手信息连接网关,ZigBee协调器(Coordinator)增加了多控制器和网关条件下的物理隔离。传感网发送Modbus请求,对返回码进行CRC校验。检测网关是否连接,把数据解析的结果发送给网关。

2.2 网关在监控系统中的功能

网关具备的功能有:网络创建、传感器节点终端互连、网络搜索、搜索网关创建的局域网中包含的设备、为方便识别和通信给局域网设备分配短地址、接收数据、云服务器用户下达的指令反馈、数据封装上传。

2.3 网关的选型

传感器节点控制器采用XBEE模块,该模块支持ZigBee通信协议。根据ZigBee协议,基于Digi XBee® ZigBee模块、QUECTEL-EC20模块和Pyboard开发板结合封装了ZigBee/3G可编程网关充当网络接入设备,实现了向下与传感器节点通讯向上与云服务器通讯。网关支持多种接口的互发。既可以做为网关,也可以作为接入模块使用。网关的开发工具是MicroPython,基于Python3语法重构而成,具有很好的二次开发性能,能添加各种MicroPython-lib库[5],如图2所示。

图3 控制器程序流程图

2.4 UART连接

控制器与传感器通过UART连接,该系统采用RS485标准规范。

现场总线在自动化领域,相当于计算机局域网。在总线种类多样化的今天, Modbus技术以其先进性、开放性、成熟性使得基于Modbus串行链路通信的设备得到了广泛的使用,Modbus是运行在RS485总线上的软件层协议。有标准MODBUS-RTU(S)、非标准MODBUSRTU(NS)和ASC(ASCⅡ码)三种模式。Modbus-RTU(16进制)查询与应答均采用8数据位、1停止位、奇偶校验位、CRC校验位。交互过程中关键是CRC-16(16位循环冗余校验码)校验方法,如图4所示。包含16位二进制。CRC校验码由发送端计算, 放置于发送信息的尾部(2Bytes)。接收端重新计算接收到的信息的校验码,并与接收到的CRC校验码核对,如图4所示。

图4 MODBUS-RTU(NS)冗余循环码计算

2.5 MQTT消息流格式优化性设计

MQTT(Message Queuing Telemetry-Transpo-rt,消息队列遥测传输)是IBM开发的一个即时通讯协议。MQTT消息体分为三个部分:固定头、可变头和有效载荷。固定头是所有消息必须包含的部分[6],如图5所示。

当系统正常运行时,使用消息队列可以跟踪记录系统的消息流状态,方便使用者精确查询到某时间段内的操作行为。

图5 MQTT固定消息头

图6 对有效载荷流格式的设计

有效载荷部分(消息体),把数据按自定义的主题推送给云服务器,支持分层dev/a/b/c(最深支持8层),支持通配符+和#操作[7],如图6所示。

ZigBee协议下有效载荷应控制在71字节左右。模块单次发送最大数据量127个字节, 超过最大长度,ZigBee协议栈会做分包处理。

3 消息接发服务设计与实现

3.1 云服务器与MQTT服务端(Broker)

MQTT服务是建立在WEB服务器(该系统服务器架设于阿里云ESC)上层的消息接收发送类服务程序,如图7所示。

图7 MQTT服务在云平台中的功能

消息接发服务负责把数据推送给该主题的所有订阅者,节点可以自由按需要发布、订阅或取消订阅。

3.2 基于Python的MQTT异步接口库设计

异步接口库是消息推送客户端实现关键的步骤之一。MQTT客户端的功能:连接服务端、订阅服务、订阅主题、发布服务、发布主题。异步接口库工作流程,如图8所示。

图8 异步接口库程序流程图

异步接口库的回调函数支持MQTT的14种消息类型(连接类、发布类、订阅类、保活类),包含主要的几个回调函(连接成功回调函数、断开连接回调函数、订阅回调函数、取消订阅回调函数、发布回调函数、接收消息回调函数)。

4 上层实现与应用实例

4.1 上层实现

系统数据处理工作大部分完成于云服务器,减轻了数据上行和下行负荷。

Web站点:采用B/S软件结构开发Web站点。基于典型的MVC架构Django和Web Service作为云后台数据交互服务[8]。

业务看板:基于Python的异步接口库和Microsoft SQL Server接发并保存历史数据。使用Python Kivy开发业务看板界面,客户端基于PYMSSQL和数据库进行数据交互。

4.2 系统应用实例

Web站点包括:实时数据监控模块、历史数据统计模块和指令下达模块。实时数据监控模块效果,如图9,界面包括网关MAC号,传感器节点控制器ID号,ZigBee信号强度值,传感网状态。JavaScript实现数据实时刷新,刷新周期为2秒。为减少系统时延,数据刷新时间应小于网关数据上传周期。

图9 实时数据Web界面

图10 实时数据与设备状态看板

生产线看板界面基于Python Kivy开发,包括实时数据与设备状态看板、历史数据统计看板等多块看板,看板挂置在每条生产线头部。实时数据与设备状态看板,如图10所示。

5 结束语

本文根据某大型鞋服针织品制造企业要求,结合该企业生产车间现场环境情况,借鉴原型系统开发经验,基于大量研究和实践,设计了一种离散型生产车间数据采集与监控系统。

目前,系统已在目标企业小规模上线。后续考虑对传感网数据基于朴素贝叶斯算法分类并实现业务层模块化。

猜你喜欢

网关消息服务器
基于FPGA的工业TSN融合网关设计
一种主从冗余网关的故障模式分析与处理
服务器组功能的使用
一张图看5G消息
PowerTCP Server Tool
天地一体化网络地面软网关技术及其应用
晚步见道旁花开
基于ETC在线支付网关的停车场收费系统设计
计算机网络安全服务器入侵与防御