隨着物聯網、大數據、雲計算等新一代信息技術的發展變革,IoT 深入到各種行業與應用場景,整體呈現設備多態化、業務多樣化、應用碎片化的趨勢。尤其在工業物聯場景中,工業設備種類繁多,設計總線、協議復雜多樣,業務應用靈活多變,如何順利實現工業設備上雲是亟待解決的問題。EMQ X 系列產品提供解耦工業設備與應用的能力,構造邊緣到雲端數據通路,建立智能、網絡、輕量的數字化產品與服務模式,並與 5G 相融合,支撐工業行業應用創新。
工業物聯網時代
IIoT 即 Industrial Internet of Things 的簡稱,是指數以億計的工業設備所形成的工業物聯網。廣義上來講,是指在交通、能源、工業等部門的機械、車輛上應用儀器、連接傳感器等設備。
隨着 工業 4.0 概念的普及與行業實踐的深入,傳統的集中式控制模式向分散式增強型控制模式轉變。同時,5G 時代的到來,也加速了傳統工業改造和工業物聯網化的進程。為了實現個性化、數字化的產品與服務的靈活生產,在工業設備智能化、網絡化的過程中,需要將新舊工業設備連接到互聯網中,實現對工業設備的數據采集、遠程控制、配置更新等業務。EMQ X 系列產品可提供從工業網關到平台的整體解決方案,支持在廠區和工業現場等邊緣端實現工業設備的數據匯聚並發送到雲端。同時,其對邊緣計算流數據的處理能力,可在平台端為工業物聯網應用提供雲端工業設備數據接入、數據存儲以及與雲端組態和應用的對接,方便工業互聯網應用的快速開發。
以下,我們將通過 EMQ X Neuron、EMQ 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 月底,我們將通過集成 Neuron,Edge 和 Kuiper 等軟件,實現在邊緣端的工業協議解析、數據匯聚和流式處理的一整套邊緣解決方案;該方案通過與雲端的 EMQ X Broker / Enterprise 等系列產品集成,則可以實現一個端到端的、從邊緣到雲端的完整工業解決方案。
版權聲明: 本文為 EMQ 原創,轉載請注明出處。
原文鏈接:https://www.emqx.io/cn/blog/building-modbus-based-iiot-app-with-neuron