2022年7月15日
本研究提出了一种基于消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)协议的薄膜挤出系统与监控设备之间数据通信的灵活方法。
本研究中的方案通过采用基于发布-订阅模式的MQTT协议代码,为聚合物加工设备构建一个灵活的数据通信结构。即使使用传统设备,加工过程中的数据也可通过互联网上任意位置的多种设备进行观测和记录。该协议支持多个发布者与多个订阅者之间的数据通信。
我们已实施了一套系统,该系统通过代理设备将现有挤出生产线的加工数据发布给订阅设备。来自传统挤出控制器的数据已在某一设备中被解析,并上传至代理设备。另外,位于两个不同位置的环境温度监测设备以及加工过程中的温度监测设备也将数据发布至该代理设备。
然后,代理将数据转发给对这些数据感兴趣的订阅设备,以显示和记录数据。订阅系统已经设计并构建完成。
由于所有参与设备的代码均使用 Python 编写,因此该代码可在不同操作系统的设备上重复使用。最后,部署并测试该系统以验证首个代理安装的有效性。
首先配置MQTT代理系统,以便通过互联网监控和记录处理数据。为了使代理设备能够转发此类数据,发布者和订阅者都必须能够访问该设备。将计算机系统连接到具有公共IP地址的互联网,以便发布者和订阅者均可访问该代理。
然后在计算机上安装并打开代理软件,例如 Eclipse Mosquitto,并使用 MQTT Lens 等测试工具检查 MQTT 代理的运行情况。第二步,主发布者设备的准备。现在我们来准备主发布者设备。
如前所述,该计算机会通过MQTT将机器数据发布到代理服务器。旧有数据应被解析并重新打包后发送出去。这通常可以通过RS-485或以太网实现。
应根据总线类型验证硬件级别的连接。所考虑的挤出机通过以太网端口使用 Modbus 发送数据,以采集挤出机的数据并进行发布。在设备现场放置一台计算机作为主要发布者。
在该计算机上安装 Python 3 作为软件环境。然后安装 Pi Modbus 以实现 Modbus 连接与通信。检查挤出控制器的 Modbus 功能码,并将其连接到主发布端。
使用 Modbus 工具(如主发布端上的 Modbus Poll 或 Q Mod Master)完全识别来自设备的数据、相关地址以及 Modbus 代码。然后在发布端编写 Python 代码,从挤出控制器中获取数据。此外,通过 PCIE USB RS-232 和 RS-485 整合来自其他设备的数据流。
导入 paho.mqtt.client 并实现连接到代理并发布数据的代码。第三,额外的发布者准备。除了主发布者外,让我们使用额外的物联网设备来采集并发布环境温度和光照强度。
为此,使用了两台树莓派设备。每台设备都会像主发布者一样,将测得的数据发布到代理服务器。
将设备放置在传感器附近,然后在设备上安装 Python 3 并运行代码以采集传感器数据。光照传感器的数据通过 I2C 传输,温度数据通过 GPIO 传输。
重用之前的 Python 代码来发布数据。得益于 Python 的设备无关性,用于 Windows 的代码可以同样适用于树莓派(Raspberry Pis)。
第四,设置订阅者。现在让我们说明如何订阅处理后的数据。如前所述,互联网上的任何设备都可以通过代理接收数据。
同样,数据可以通过 Python 代码进行处理和可视化。在联网设备上,应根据设备类型和操作系统安装合适的 Python 环境。例如,在 Android 设备上应安装 Pydroid 3 而非 Python 3,然后导入 paho.mqtt.client 和 paho.mqtt.subscribe,以连接到代理并接收数据。
然后根据 Pi QT5 构建所需用户界面。由于该部分的实现较为复杂且耗时,此处不再详述,仅提供代码以在图形用户界面上显示输入的数据。
还需了解,现有的应用程序(例如应用商店中的 MQT 工具)也可以接收数据。第五,数据记录。在监测过程中,为了记录数据,Python 应能够访问数据库。
本工作中,数据将写入 Microsoft Access 文件。根据数据规模和软件可用性进行考虑,选择一个用户端设备来记录数据。
然后在 Python 代码中导入 pyodbc 以访问数据库。为记录处理数据,通过 Python 代码向数据库发送查询。要检索已记录的数据,需向数据库发送另一条查询。
数据获取后,可根据需要对数据进行分析,并重构数据。可立即生成可在电子表格中读取的表格。第六,部署。
所有设备完成开发后,应将 Python 代码部署到各个设备上。连接方式为有线或无线均不影响,但必须确保每个设备都能够访问代理服务器。这意味着,出于安全目的,代理服务器在互联网与物联网之间起到网关的作用。
为了确保更高的安全性,将挤出控制器、主发布者以及附加的发布者连接至互联网。然后将代理服务器的一个以太网端口连接至互联网,另一个端口也连接至互联网,以监控并记录处理数据。根据需要将订阅者连接至互联网。
第七,执行。为测试整个系统,启动挤出生产线,然后开启所有计算机设备。
然后启动代理软件 Mosquito,并运行所有 Python 代码。代表性结果:通过执行所设计和实现的系统,可对处理中的数据进行监控和可视化。
数据可以通过多种方式显示,包括图形和表格,甚至可在移动设备上进行监控和记录。此外,数据会被记录并提取以供分析。结论:研究发现,HMI 中显示的数据以及由 Raspberry Pi 测量的数据均在订阅者端被监控和记录。
通过遵循本方案,可以在无需昂贵的信息技术解决方案(如制造执行系统MES)的情况下监控和记录处理数据。
查看完整文字稿并访问数千部科学视频
本研究提出了一种基于消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)协议的薄膜挤出系统与监控设备之间数据通信的灵活方法。该协议可通过互联网利用多种设备对传统设备的数据进行观测和记录。
灵活、实时的数据通信对于改造传统聚合物加工设备以及实现分布式系统中可扩展的工艺监控至关重要&D 和制造环境。基于 MQTT 的发布-订阅架构可实现多样化数据源的无缝集成,支持数字化转型和运营可视化,而无需进行代价高昂的基础设施改造。该方法可增强数据的可访问性和可追溯性,直接影响工艺优化和企业决策。
这种基于 MQTT 的通信系统将传统工艺设备与现代数据分析技术连接起来,支持从早期发现到工艺开发及临床前验证的整个工作流程。