网站首页 > 技术文章 正文
一、应用设备
OT端设备:步进电机,MODBUS TCP远程I/O模块,PLC设备
边缘侧设备:宏集工业树莓派;
IT端设备:PC、安卓手机;
IT端软件:宏集HiveMQ MQTT通信平台
二、原理
宏集工业树莓派通过MODBUS协议分别采集步进电机、MODBUS TCP IO 模块、PLC设备数据,并在工业树莓派完成一些简单的数据处理。宏集 HiveMQ 将 PC 端配置为 MQTT Broker;工业树莓派可通过MQTT协议将数据传输到PC端;在手机端,操作人员可通过自行编写的APP程序订阅PC端的数据主题。
三、实际测试
1、工业树莓派源码
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数据
def read_plc_data():
on_motor()
i = 0
j = 0
while True:
Weight = readFromName('Weight') #读取PLC重量值数据
Humidity = readFromName('Humidity') #读取PLC湿度值数据
Temperature = readFromName('Temperature') #读取PLC温度值数据
#读取光电开关状态,0表示两个光电开关没有被触发;1表示光电开关1被触发,2表示光电开关2被触发,3表示两个光电开关同时被触发
Switch = readFromName('Switch_1')
sleep(1)
Back_motor()
sleep(1)
Advance_motor()
#根据光电开关状态控制电机
if Switch == 1:
i = i+1
if Weight > 500:
j = 1
else:
j = 0
#构建JSON数据
data = {
'Stepping_motor_speed':300, #电机转速
'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
#电机正转
def Advance_motor():
writeToName('DIR',0)
pass
#电机反转
def Back_motor():
writeToName('DIR',1)
pass
#电机停止
def stop_motor():
writeToName('Motor',0)
pass
# 创建并启动线程
plc_thread = threading.Thread(target=read_plc_data)
#启动线程
plc_thread.start()
# 主线程等待两个线程结束
plc_thread.join()
2、效果
四、为何选择宏集工业树莓派和宏集 HiveMQ 方案?
1、宏集工业树莓派集成了较多的现场总线协议,配合对应的Python库,能通过一些简单配置就能够实现OT端数据的采集,例如该案例使用的MODBUS协议,通过PiCtory配置,就能够编写Python程序,快速实现OT端的数据对接;
2、宏集工业树莓派目前最高配置达到了8GB RAM,性能上等同于一台PC,能够完成一些较为复杂的运算和轻量化机器学习模型。
3、宏集HiveMQ平台是基于MQTT通信的物联网解决方案,支持快速配置MQTT Broker,支持高负载、高并发、高扩展性。在实际应用中,能够确保数据的快速稳定传输,保证不会出现任何一条数据丢失。除此之外的话,它还支持企业级扩展,例如对接Kafka以及企业级信息安全管理等功能。
猜你喜欢
- 2024-10-11 Qt/C++编写物联网组件/支持modbus/rtu/tcp/udp/mqtt/多线程采集
- 2024-10-11 搞定客户端证书错误,看这篇就够了
- 2024-10-11 如何使用C LinkSDK(4.x)快速接入阿里云物联网平台?
- 2024-10-11 XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较
- 2024-10-11 MQTT原理学习总结 mqtt协议原理图
- 2024-10-11 上手体验物联网MQTT 物联网业务mstp
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)