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.
14.
15. def on_connect(client, userdata, flags, rc):
16. print(f"Connected with result code {rc}")
17.
18. client = mqtt.Client()
19. client.on_connect = on_connect
20. client.connect("192.168.1.168", 1883, 60)
21.
22. #读取PLC数据
23. def read_plc_data():
24. on_motor()
25. i = 0
26. j = 0
27. while True:
28. Weight = readFromName('Weight') #读取PLC重量值数据
29. Humidity = readFromName('Humidity') #读取PLC湿度值数据
30. Temperature = readFromName('Temperature') #读取PLC温度值数据
31.
32. #读取光电开关状态,0表示两个光电开关没有被触发;1表示光电开关1被触发,2表示光电开关2被触发,3表示两个光电开关同时被触发
33. Switch = readFromName('Switch_1')
34. sleep(1)
35. Back_motor()
36. sleep(1)
37. Advance_motor()
38.
39. #根据光电开关状态控制电机
40. if Switch == 1:
41. i = i+1
42.
43. if Weight > 500:
44. j = 1
45. else:
46. j = 0
47.
48. #构建JSON数据
49. data = {
50. 'Stepping_motor_speed':300, #电机转速
51. 'Temperature':Temperature, #温度值
52. 'Humidity':Humidity, #湿度值
53. 'Obj_weighth':Weight, #重量值
54. }
55.
56. json_data = json.dumps(data)
57. client.publish('IndustrialProductionLin', payload=json_data, qos=0, retain=True)
58. print(i)
59.
60. #电机启动
61. def on_motor():
62. writeToName('Motor',1)
63. pass
64.
65. #电机正转
66. def Advance_motor():
67. writeToName('DIR',0)
68. pass
69.
70. #电机反转
71. def Back_motor():
72. writeToName('DIR',1)
73. pass
74.
75. #电机停止
76. def stop_motor():
77. writeToName('Motor',0)
78. pass
79.
80.
81. # 创建并启动线程
82. plc_thread = threading.Thread(target=read_plc_data)
83.
84. #启动线程
85. plc_thread.start()
86.
87. # 主线程等待两个线程结束
88. plc_thread.join()
2. 效果
1. 宏集工业树莓派集成了较多的现场总线协议,配合对应的Python库,能通过一些简单配置就能够实现OT端数据的采集,例如该案例使用的MODBUS协议,通过PiCtory配置,就能够编写Python程序,快速实现OT端的数据对接;
2. 宏集工业树莓派目前最高配置达到了8GB RAM,性能上等同于一台PC,能够完成一些较为复杂的运算和轻量化机器学习模型。
3. 宏集HiveMQ平台是基于MQTT通信的物联网解决方案,支持快速配置MQTT Broker,支持高负载、高并发、高扩展性。在实际应用中,能够确保数据的快速稳定传输,保证不会出现任何一条数据丢失。除此之外的话,它还支持企业级扩展,例如对接Kafka以及企业级信息安全管理等功能。
宏集工业树莓派特价活动火爆进行中,欢迎扫描下方小程序码咨询选购~
作者: 宏集科技, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3988247.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论