- 相关推荐
生产车间数据采集与监控系统探讨论文
摘要:针对某大型鞋服针织品制造企业车间生产数据采集与远程监控问题,结合该企业实际情况,提出了一种离散型生产车间数据采集与监控系统。首先对传感器节点、网关、通信方式、云服务器、组网方案进行了分析和设计,对硬件设备、无线通信模块进行选型,对消息流和MQforIoT服务器进行了设计与实现。最后,基于Python语言开发了消息接发服务(异步接口库),用极简的MicroPython语言为系统硬件(控制器和网关)提供驱动,采用现场数据看板、WEB站点、APP三种数据监控形式。研究结果表明:该系统运行稳定可靠,满足企业对数据采集与可视化监控的要求。
关键词:MQTT;数据采集与监控系统;MODBUS;MICROPYTHON
我国最早是中国科学院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电路采样,经过滤波等环节处理后得到需要的数字信号。本文的远程控制系统中,传感器主要是连接在控制器上,控制器可以控制传感器的工作状态,控制器可以将采集数据进行转化并发送出去。目标企业生产现场采集点分布整体分散局部集中,生产空间无障碍物的影响与绕射损耗,单条上传数据小,因此传输终端采用Zig Bee模式。ZigBee网络容量大,单个网络最多可支持65535个设备,每台设备可以和另外254台设备相互连接[4]。
经过分析和实验,设计了基于RS485和Modbus协议的传感器节点查询、写入和应答操作,RS485可连接多个设备,形成总线形式。网关基于以下部件的封装:DigiX Bee Zig Bee模块、Py board开发板、QUECTEL—EC20模块,Py board嵌入式开发板基于STM32F405RG微控制器,成功移植了Micro Python,是连接各个终端的汇集点,采用3G/4G网络进行与服务器的远程通信。采用一个云数据中心和物联网常见的三层结构组网方案,设备云平台架设在阿里云,也可以架设私有云。应用业务层采用现场监控看板、WEB站点、APP三种方式。
2、网络接入实现。
(1)控制器和接口库。
开发控制器基于XBEE模块和Pyboard开发板封装,支持RS485转虚拟USB和虚拟串口连接PC,实现存储内容可视,虚拟串口模式方便用户调试。基与MicroPython语言开发了可复用的消息接发异步库、RS485库、ZigBee库、StateMachine库,极大的缩短了产品开发周期,二次开发只需专注于功能实现。控制器初始化,通过XBEE模块接入ZigBee网络,发送握手信息连接网关,ZigBee协调器(Coordinator)增加了多控制器和网关条件下的物理隔离。传感网发送Modbus请求,对返回码进行CRC校验。检测网关是否连接,把数据解析的结果发送给网关。
(2)网关在监控系统中的功能。
网关具备的功能有:网络创建、传感器节点终端互连、网络搜索、搜索网关创建的局域网中包含的设备、为方便识别和通信给局域网设备分配短地址、接收数据、云服务器用户下达的指令反馈、数据封装上传。
(3)网关的选型。
传感器节点控制器采用XBEE模块,该模块支持ZigBee通信协议。
根据ZigBee协议,基于DigiX BeeZig Bee模块、QUECTEL—EC20模块和Py board开发板结合封装了ZigBee/3G可编程网关充当网络接入设备,实现了向下与传感器节点通讯向上与云服务器通讯。网关支持多种接口的互发。既可以做为网关,也可以作为接入模块使用。网关的开发工具是MicroPython,基于Python3语法重构而成,具有很好的二次开发性能,能添加各种MicroPython—lib库[5],如图2所示。
(4)UART连接。
控制器与传感器通过UART连接,该系统采用RS485标准规范。现场总线在自动化领域,相当于计算机局域网。在总线种类多样化的今天,Modbus技术以其先进性、开放性、成熟性使得基于Modbus串行链路通信的设备得到了广泛的使用,Modbus是运行在RS485总线上的软件层协议。有标准MODBUS—RTU(S)、非标准MODBUS—RTU(NS)和ASC(ASCⅡ码)三种模式。Modbus—RTU(16进制)查询与应答均采用8数据位、1停止位、奇偶校验位、CRC校验位。交互过程中关键是CRC—16(16位循环冗余校验码)校验方法,如图4所示。包含16位二进制。CRC校验码由发送端计算,放置于发送信息的尾部(2Bytes)。接收端重新计算接收到的信息的校验码,并与接收到的CRC校验码核对。
(5)MQTT消息流格式优化性设计。
MQTT(Message Queuing Telemetry—Transpo—rt,消息队列遥测传输)是IBM开发的一个即时通讯协议。MQTT消息体分为三个部分:固定头、可变头和有效载荷。固定头是所有消息必须包含的部分[6],如图5所示。当系统正常运行时,使用消息队列可以跟踪记录系统的消息流状态,方便使用者精确查询到某时间段内的操作行为。有效载荷部分(消息体),把数据按自定义的主题推送给云服务器,支持分层dev/a/b/c(最深支持8层),支持通配符+和#操作[7],如图6所示。ZigBee协议下有效载荷应控制在71字节左右。模块单次发送最大数据量127个字节,超过最大长度,ZigBee协议栈会做分包处理。
3、消息接发服务设计与实现。
(1)云服务器与MQTT服务端(Broker)。
MQTT服务是建立在WEB服务器(该系统服务器架设于阿里云ESC)上层的消息接收发送类服务程序,如图7所示。消息接发服务负责把数据推送给该主题的所有订阅者,节点可以自由按需要发布、订阅或取消订阅。
(2)基于Python的MQTT异步接口库设计。
异步接口库是消息推送客户端实现关键的步骤之一。MQTT客户端的功能:连接服务端、订阅服务、订阅主题、发布服务、发布主题。异步接口库工作流程,如图8所示。异步接口库的回调函数支持MQTT的14种消息类型(连接类、发布类、订阅类、保活类),包含主要的几个回调函(连接成功回调函数、断开连接回调函数、订阅回调函数、取消订阅回调函数、发布回调函数、接收消息回调函数)。
4、上层实现与应用实例。
(1)上层实现系统数据。
处理工作大部分完成于云服务器,减轻了数据上行和下行负荷。Web站点:采用B/S软件结构开发Web站点。基于典型的MVC架构Django和WebService作为云后台数据交互服务[8]。业务看板:基于Python的异步接口库和MicrosoftSQLServer接发并保存历史数据。使用PythonKivy开发业务看板界面,客户端基于PYMSSQL和数据库进行数据交互。
(2)系统应用实例。
Web站点包括:实时数据监控模块、历史数据统计模块和指令下达模块。实时数据监控模块效果,界面包括网关MAC号,传感器节点控制器ID号,ZigBee信号强度值,传感网状态。JavaScript实现数据实时刷新,刷新周期为2秒。为减少系统时延,数据刷新时间应小于网关数据上传周期。图9实时数据Web界面图10实时数据与设备状态看板生产线看板界面基于PythonKivy开发,包括实时数据与设备状态看板、历史数据统计看板等多块看板,看板挂置在每条生产线头部。实时数据与设备状态看板。
5、结束语。
本文根据某大型鞋服针织品制造企业要求,结合该企业生产车间现场环境情况,借鉴原型系统开发经验,基于大量研究和实践,设计了一种离散型生产车间数据采集与监控系统。目前,系统已在目标企业小规模上线。后续考虑对传感网数据基于朴素贝叶斯算法分类并实现业务层模块化。
【生产车间数据采集与监控系统探讨论文】相关文章:
无线数据采集在环境监控系统中应用04-29
关于汽车转角数据采集系统问题的简要探讨04-27
地震智能数据采集系统04-30
制药企业生产过程的数据采集及电子记录系统04-30
具有故障保护功能的数据采集系统05-01
Windows 95下智能数据采集系统05-01
海洋测绘内业数据采集系统04-28
VXI数据采集系统的建立及其应用04-27
基于USB接口的数据采集系统设计05-01
钻探参数数据智能采集系统的研制05-02