使用 EMQ X Neuron 構建基於 Modbus 的 IIoT 應用


隨着物聯網、大數據、雲計算等新一代信息技術的發展變革,IoT 深入到各種行業與應用場景,整體呈現設備多態化、業務多樣化、應用碎片化的趨勢。尤其在工業物聯場景中,工業設備種類繁多,設計總線、協議復雜多樣,業務應用靈活多變,如何順利實現工業設備上雲是亟待解決的問題。EMQ X 系列產品提供解耦工業設備與應用的能力,構造邊緣到雲端數據通路,建立智能、網絡、輕量的數字化產品與服務模式,並與 5G 相融合,支撐工業行業應用創新

工業物聯網時代

IIoT 即 Industrial Internet of Things 的簡稱,是指數以億計的工業設備所形成的工業物聯網。廣義上來講,是指在交通、能源、工業等部門的機械、車輛上應用儀器、連接傳感器等設備。

隨着 工業 4.0 概念的普及與行業實踐的深入,傳統的集中式控制模式向分散式增強型控制模式轉變。同時,5G 時代的到來,也加速了傳統工業改造和工業物聯網化的進程。為了實現個性化、數字化的產品與服務的靈活生產,在工業設備智能化、網絡化的過程中,需要將新舊工業設備連接到互聯網中,實現對工業設備的數據采集、遠程控制、配置更新等業務。EMQ X 系列產品可提供從工業網關到平台的整體解決方案,支持在廠區和工業現場等邊緣端實現工業設備的數據匯聚並發送到雲端。同時,其對邊緣計算流數據的處理能力,可在平台端為工業物聯網應用提供雲端工業設備數據接入、數據存儲以及與雲端組態和應用的對接,方便工業互聯網應用的快速開發。

以下,我們將通過 EMQ X NeuronEMQ X Broker 構建基於 Modbus 的簡易 IIoT 應用,並使用 MQTT X 訂閱/展示數據。

EMQ X Neuron簡介

EMQ 於近日發布了布署在邊緣網關上的 工業協議接入軟件 Neuron。作為人與機器之間的橋梁,它可以把 TCP/IP 協議的 0/1 數據,轉化重組成通俗易懂的 JSON 格式,並使用 MQTT 協議 輸出到雲端,更好地處理人與物之間的交互。

EMQ X Neuron 支持包括 Modbus、OPC 等在內的各類工業協議,可以基本滿足大部分工業接入的需求,詳細協議列表見下圖。

Protocol Name Type Status
Allen-Bradley DF1 half-duplex for PLC2 Serial Avail
Allen-Bradley DF1 half-duplex for PLC5 Serial Avail
Allen-Bradley DF1 for MicroLogix Serial 2020
Allen-Bradley Ethernet/IP for MicroLogix Ethernet 2020
Allen-Bradley DF1 for ControlLogix/CompactLogix/FelxLogix Serial 2020
Allen-Bradley Ethernet/IP for ControlLogix/CompactLogix/FelxLogix Ethernet 2020
Schneider Modbus RTU Serial Avail
Schneider Modbus TCP Ethernet Avail
Schneider Telemecanique UNI-TE Serial Avail
ABB SattControl Comli Serial Avail
Omron Host Link (single) Serial Avail
Omron Host Link (multiple) Serial Avail
Omron FINS on Host Link Serial 2020
Omron FINS on TCP Ethernet 2020
Omron FINS on UDP Ethernet 2020
Omron Ethernet/IP for CJ/NJ Ethernet 2020
Siemens 3964R/RK512 for S5 Serial Avail
Siemens 3964R/RK512 for S7 Serial Avail
Siemens PPI for S7-200 Serial 2020
Siemens MPI for S7-300 Serial 2020
Siemens Fetch Write for S7-300/400 and CP443 module Ethernet Avail
Siemens Industrial Ethernet ISO for S7-300/400 Ethernet Avail
Siemens IE Symbolic Addressing for S7-1200 Ethernet 2020
Siemens IE Absolute Addressing for S7-1200/1500 Ethernet 2020
Mitsubishi FX0N/FX0S/FX1N/FX1S/FX2 Serial Avail
Mitsubishi FX2N/FX3U/FX3G/FX3S Serial Avail
Mitsubishi FX3U-ENET-L/FX3U-ENET-ADP Ethernet 2020
Mitsubishi FX5U Serial 2020
Mitsubishi FX5U Ethernet Module Ethernet 2020
Mitsubishi FX 232ADP/485BD/232BD Module RS485 2020
Mitsubishi MC Protocol full-duplex for MELSEC-Q and C24 module Serial 2020
Mitsubishi MC Protocol for MELSEC-Q and E71 module Ethernet Avail
Panasonic MEWTOCOL for FP Ethernet 2020
GE SNP for 90-30 Serial 2020
GE Ethernet for 90-30 Ethernet 2020
FANUC 0i/30i/31i/32i/35i Serial 2020
FANUC 0i/30i/31i/32i/35i Ethernet Ethernet 2020
FANUC T21/D21 for CNC machines Ethernet 2020
Modbus RTU RS485 Avail
Modbus RTU over TCP Ethernet Avail
Modbus TCP Ethernet Avail
OPC UA Ethernet Avail
BACnet/MSTP RS485 2020
BACnet/IP Ethernet 2020
IEC 60870-5 (IEC104) Ethernet 2020
IEC 61850 Ethernet 2020
SNMP Ethernet 2020
DNP3 Ethernet 2020
DLT645-97/07 Ethernet 2020

EMQ X Neuron 與 EMQ X Broker 的工業架構圖

本次模擬使用工具列表

工具名稱 版本 用途 操作系統
PeakHMI Slave Simulator / Modbus 模擬器 Windows Server 2019
EMQ X Neuron 1.4.6 工業協議網關接入軟件 Ubuntu 16.04
EMQ X Broker 4.0.7 MQTT Broker Ubuntu 16.04
MQTT X 1.3.2 MQTT 客戶端工具 macOS 10.13.4

模擬工業場景測試

布署/配置 EMQ X Neuron 產品

1.首先解壓安裝 EMQ X Neuron 軟件包。

tar -xvlf neuron-1.4.2-x86_64.tar.gz 

sudo ~/bin/installneuron.sh 

2.在配置文件配置連接到 EMQ X Broker 的地址,配上用戶名密碼作為認證。

cd bin/ 

vi neuron.conf  

neuron.conf 中修改 EMQ X Broker 服務端的 IP/ 端口,用戶名/密碼信息。

# MQTT server name or IP address

MQSERVER=127.0.0.1

# Server port no. Note that it will have SSL connection if setting the port no. 

# 8000 or above.

MQPORTNO=1883

# Username and password

MQUSERNAME=emqx123

MQPASSWORD=neuron123

3.啟動 EMQ X Neuron 軟件,無報錯即為啟動完成。

./neuronsrt  

4.登陸 EMQ X Neuron Web 界面,訪問 IP:7000,默認用戶名密碼 admin/0000。

5.點擊 Edit Driver,編輯 Modbus tcp 地址。

6.創建 Object,定義 Object 里面的內容。

在這個 Object 里面創建一個 Attribute,然后配置 Attribute 的信息,

這里模擬定義名稱為 Err1@@2D7WS_GAS 的報警點位,點位位置為 1!1!07497。

連接布署好的 EMQ X Broker 產品

在 EMQ X Broker 界面上可以查看連接的 EMQ X Neuron 網關,Client ID 為 EMQ X Neuron 網關隨機生成一串字符。

配置 Modbus 模擬器

配置剛才 1!1!07497 點位值為 1,然后進行數據上報。

點擊 EMQ X Neuron 界面中的 Data Monitoring,Attribute 中配置 1!1!07497 點位的數值已經為 1。

用 MQTT X 訂閱數據進行展示

打開連接好的 MQTT X,連接到 EMQ X Broker,訂閱上面 EMQ X Neuron 發布的主題,在 MQTT X 可以收到 AlarmObj 里 2D7WS 的值為 1。客戶端收到這些數據后,可以在應用界面上顯示告警,也可以通過業務邏輯實現業務上的其它業務轉換.

總結

以上我們使用 EMQ X Neuron、EMQ X Broker、MQTT X 等工具完整進行全流程的工業接入模擬測試,對於工業設備上雲形成更加清晰與直觀的認知。當然,您也可以結合 EMQ X Neuron 強大協議支持與 EMQ X Broker 強大的接入/轉發能力,自己開發一套應用展示系統,構建一整套 IIoT 平台。

2020 年 9 月底,我們將通過集成 NeuronEdgeKuiper 等軟件,實現在邊緣端的工業協議解析、數據匯聚和流式處理的一整套邊緣解決方案;該方案通過與雲端的 EMQ X Broker / Enterprise 等系列產品集成,則可以實現一個端到端的、從邊緣到雲端的完整工業解決方案。

版權聲明: 本文為 EMQ 原創,轉載請注明出處。

原文鏈接:https://www.emqx.io/cn/blog/building-modbus-based-iiot-app-with-neuron


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM