如何用工业树莓派和MQTT平台打通OT和IT?

一、应用设备

OT端设备:步进电机,MODBUS TCP远程I/O模块,PLC设备

边缘侧设备:宏集工业树莓派;

IT端设备:PC、安卓手机;

IT端软件:宏集HiveMQ MQTT通信平台

二、原理

宏集工业树莓派通过MODBUS协议分别采集步进电机、MODBUS TCP I/O模块、PLC设备数据,并在工业树莓派完成一些简单的数据处理。宏集HiveMQ将PC端配置为MQTT Broker;工业树莓派可通过MQTT协议将数据传输到PC端;在手机端,操作人员可通过自行编写的APP程序订阅PC端的数据主题。

三、实际测试

1.工业树莓派源码

  1. import threading

  2. import time

  3. from doctest import OutputChecker

  4. from os import P_PID

  5. from time import sleep

  6. from threading import Thread

  7. from tkinter import W

  8. from myCtrlLib import *

  9. import sys

  10. import serial

  11. import paho.mqtt.client as mqtt

  12. import json

  13. def on_connect(client, userdata, flags, rc):

  14. print(f"Connected with result code {rc}")

  15. client = mqtt.Client()

  16. client.on_connect = on_connect

  17. client.connect("192.168.1.168", 1883, 60)

  18. #读取PLC数据

  19. def read_plc_data():

  20. on_motor()

  21. i = 0

  22. j = 0

  23. while True:

  24. Weight = readFromName('Weight') #读取PLC重量值数据

  25. Humidity = readFromName('Humidity') #读取PLC湿度值数据

  26. Temperature = readFromName('Temperature') #读取PLC温度值数据

  27. #读取光电开关状态,0表示两个光电开关没有被触发;1表示光电开关1被触发,2表示光电开关2被触发,3表示两个光电开关同时被触发

  28. Switch = readFromName('Switch_1')

  29. sleep(1)

  30. Back_motor()

  31. sleep(1)

  32. Advance_motor()

  33. #根据光电开关状态控制电机

  34. if Switch == 1:

  35. i = i+1

  36. if Weight > 500:

  37. j = 1

  38. else :

  39. j = 0

  40. #构建JSON数据

  41. data = {

  42. 'Stepping_motor_speed':300, #电机转速

  43. 'Temperature':Temperature, #温度值

  44. 'Humidity':Humidity, #湿度值

  45. 'Obj_weighth':Weight, #重量值

  46. }

  47. json_data = json.dumps(data)

  48. client.publish('IndustrialProductionLin', payload=json_data, qos=0, retain=True)

  49. print(i)

  50. #电机启动

  51. def on_motor():

  52. writeToName('Motor',1)

  53. pass

  54. #电机正转

  55. def Advance_motor():

  56. writeToName('DIR',0)

  57. pass

  58. #电机反转

  59. def Back_motor():

  60. writeToName('DIR',1)

  61. pass

  62. #电机停止

  63. def stop_motor():

  64. writeToName('Motor',0)

  65. pass

  66. 创建并启动线程

  67. plc_thread = threading.Thread(target=read_plc_data)

  68. #启动线程

  69. plc_thread.start()

  70. 主线程等待两个线程结束

  71. plc_thread.join()

  72. 效果

四、为何选择宏集工业树莓派和宏集HiveMQ方案?

  1. 宏集工业树莓派集成了较多的现场总线协议 ,配合对应的Python库,能通过一些简单配置就能够实现OT端数据的采集,例如该案例使用的MODBUS协议,通过PiCtory配置,就能够编写Python程序,快速实现OT端的数据对接

  2. 宏集工业树莓派目前最高配置达到了8GB RAM,性能上等同于一台PC,能够完成一些较为复杂的运算和轻量化机器学习模型。

  3. 宏集HiveMQ平台是基于MQTT通信的物联网解决方案,支持快速配置MQTT Broker,支持高负载、高并发、高扩展性。在实际应用中,能够确保数据的快速稳定传输,保证不会出现任何一条数据丢失。除此之外的话,它还支持企业级扩展,例如对接Kafka以及企业级信息安全管理等功能。

工业树莓派特价活动

宏集工业树莓派特价活动火爆进行中,欢迎扫描下方小程序码咨询选购~

相关推荐
深圳市尚想信息技术有限公司19 小时前
全新GD25Q128ESIGR NOR Flash 存储器 GD兆易电子元器件 原装芯片IC
嵌入式系统·存储器·工业控制·nor flash·物联网设备·兆易
tian_jiangnan20 小时前
骏发瑞达超高频工位读写器软件操作说明书
rfid·工业物联网·读卡器
智联物联1 天前
工业路由器选型全攻略:从环境适应性到协议兼容
工业路由器·智联物联·工业物联网·工业协议转换·工业路由器品牌·工业路由器选购·工业设备联网
宏集科技工业物联网2 天前
半导体工厂设备集控系统,基于宏集Panorama E2 的现代化SCADA解决方案
经验分享·scada·工业自动化·mes·设备集控
peixiuhui2 天前
赋能智慧能源,连接储能未来:G8501网关,您储能系统的“智慧大脑”与“神经中枢”
人工智能·mqtt·能源·边缘计算·iot·储能·iotgateway
PLC无线2 天前
MCGS触摸屏与汇川H5U PLC无线Modbus TCP通讯方案
plc远程控制·无线通讯·工业自动化·plc无线控制
疆鸿智能研发小助手2 天前
协议不通?一“网”打尽!PROFINET转MODBUS TCP网关,赋能步科伺服精准协同
modbus tcp·工业自动化·profinet·工业通讯·协议转换网关·伺服
疆鸿智能研发小助手3 天前
PROFINET转MODBUS TCP网关接安科瑞马达保护器案例
modbus·马达保护器·工业自动化·profinet·工业通讯·协议转换网关
疆鸿智能研发小助手4 天前
破局机床精密加工:疆鸿智能PROFINET转MODBUS TCP通讯壁垒终结者
modbus·modbus tcp·工业自动化·profinet·工业通讯·协议转换网关·智控机床
远创智控研发中心015 天前
PPI 以太网模块应用解析:S7-200 SMART PLC 与上位机数据采集 + 触摸屏晶圆工艺报警系统配置
西门子plc·以太网模块·工业自动化·协议转化网关·串口以太网