一、應(yīng)用設(shè)備
OT端設(shè)備:步進電機,MODBUS TCP遠程I/O模塊,PLC設(shè)備
邊緣側(cè)設(shè)備:宏集工業(yè)樹莓派;
IT端設(shè)備:PC、安卓手機;
IT端軟件:宏集HiveMQ MQTT通信平臺
二、原理
宏集工業(yè)樹莓派通過MODBUS協(xié)議分別采集步進電機、MODBUS TCP IO 模塊、PLC設(shè)備數(shù)據(jù),并在工業(yè)樹莓派完成一些簡單的數(shù)據(jù)處理。宏集 HiveMQ 將 PC 端配置為 MQTT Broker;工業(yè)樹莓派可通過MQTT協(xié)議將數(shù)據(jù)傳輸?shù)絇C端;在手機端,操作人員可通過自行編寫的APP程序訂閱PC端的數(shù)據(jù)主題。
三、實際測試
1、工業(yè)樹莓派源碼
import threading import time from doctest import OutputChecker from os import P_PID from time import sleep from threading import Thread from tkinter import W from myCtrlLib import * import sys import serial import paho.mqtt.client as mqtt import json def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") client = mqtt.Client() client.on_connect = on_connect client.connect("192.168.1.168", 1883, 60) #讀取PLC數(shù)據(jù) def read_plc_data(): on_motor() i = 0 j = 0 while True: Weight = readFromName('Weight') #讀取PLC重量值數(shù)據(jù) Humidity = readFromName('Humidity') #讀取PLC濕度值數(shù)據(jù) Temperature = readFromName('Temperature') #讀取PLC溫度值數(shù)據(jù) #讀取光電開關(guān)狀態(tài),0表示兩個光電開關(guān)沒有被觸發(fā);1表示光電開關(guān)1被觸發(fā),2表示光電開關(guān)2被觸發(fā),3表示兩個光電開關(guān)同時被觸發(fā) Switch = readFromName('Switch_1') sleep(1) Back_motor() sleep(1) Advance_motor() #根據(jù)光電開關(guān)狀態(tài)控制電機 if Switch == 1: i = i+1 if Weight > 500: j = 1 else: j = 0 #構(gòu)建JSON數(shù)據(jù) data = { 'Stepping_motor_speed':300, #電機轉(zhuǎn)速 'Temperature':Temperature, #溫度值 'Humidity':Humidity, #濕度值 'Obj_weighth':Weight, #重量值 } json_data = json.dumps(data) client.publish('IndustrialProductionLin', payload=json_data, qos=0, retain=True) print(i) #電機啟動 def on_motor(): writeToName('Motor',1) pass #電機正轉(zhuǎn) def Advance_motor(): writeToName('DIR',0) pass #電機反轉(zhuǎn) def Back_motor(): writeToName('DIR',1) pass #電機停止 def stop_motor(): writeToName('Motor',0) pass # 創(chuàng)建并啟動線程 plc_thread = threading.Thread(target=read_plc_data) #啟動線程 plc_thread.start() # 主線程等待兩個線程結(jié)束 plc_thread.join()
四、為何選擇宏集工業(yè)樹莓派和宏集 HiveMQ 方案?
1、宏集工業(yè)樹莓派集成了較多的現(xiàn)場總線協(xié)議,配合對應(yīng)的Python庫,能通過一些簡單配置就能夠?qū)崿F(xiàn)OT端數(shù)據(jù)的采集,例如該案例使用的MODBUS協(xié)議,通過PiCtory配置,就能夠編寫Python程序,快速實現(xiàn)OT端的數(shù)據(jù)對接;
2、宏集工業(yè)樹莓派目前最高配置達到了8GB RAM,性能上等同于一臺PC,能夠完成一些較為復(fù)雜的運算和輕量化機器學(xué)習(xí)模型。
3、宏集HiveMQ平臺是基于MQTT通信的物聯(lián)網(wǎng)解決方案,支持快速配置MQTT Broker,支持高負載、高并發(fā)、高擴展性。在實際應(yīng)用中,能夠確保數(shù)據(jù)的快速穩(wěn)定傳輸,保證不會出現(xiàn)任何一條數(shù)據(jù)丟失。除此之外的話,它還支持企業(yè)級擴展,例如對接Kafka以及企業(yè)級信息安全管理等功能。
-
步進電機
+關(guān)注
關(guān)注
150文章
3112瀏覽量
147525 -
現(xiàn)場總線
+關(guān)注
關(guān)注
3文章
519瀏覽量
38573 -
樹莓派
+關(guān)注
關(guān)注
116文章
1707瀏覽量
105670 -
MQTT
+關(guān)注
關(guān)注
5文章
651瀏覽量
22528
原文標題:工業(yè)樹莓派和 MQTT 平臺打通 OT 和 IT
文章出處:【微信號:趣無盡,微信公眾號:趣無盡】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論