随着物联网、大数据、云计算等新一代信息技术的发展变革,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 NameTypeStatus
Allen-Bradley DF1 half-duplex for PLC2SerialAvail
Allen-Bradley DF1 half-duplex for PLC5SerialAvail
Allen-Bradley DF1 for MicroLogixSerial2020
Allen-Bradley Ethernet/IP for MicroLogixEthernet2020
Allen-Bradley DF1 for ControlLogix/CompactLogix/FelxLogixSerial2020
Allen-Bradley Ethernet/IP for ControlLogix/CompactLogix/FelxLogixEthernet2020
Schneider Modbus RTUSerialAvail
Schneider Modbus TCPEthernetAvail
Schneider Telemecanique UNI-TESerialAvail
ABB SattControl ComliSerialAvail
Omron Host Link (single)SerialAvail
Omron Host Link (multiple)SerialAvail
Omron FINS on Host LinkSerial2020
Omron FINS on TCPEthernet2020
Omron FINS on UDPEthernet2020
Omron Ethernet/IP for CJ/NJEthernet2020
Siemens 3964R/RK512 for S5SerialAvail
Siemens 3964R/RK512 for S7SerialAvail
Siemens PPI for S7-200Serial2020
Siemens MPI for S7-300Serial2020
Siemens Fetch Write for S7-300/400 and CP443 moduleEthernetAvail
Siemens Industrial Ethernet ISO for S7-300/400EthernetAvail
Siemens IE Symbolic Addressing for S7-1200Ethernet2020
Siemens IE Absolute Addressing for S7-1200/1500Ethernet2020
Mitsubishi FX0N/FX0S/FX1N/FX1S/FX2SerialAvail
Mitsubishi FX2N/FX3U/FX3G/FX3SSerialAvail
Mitsubishi FX3U-ENET-L/FX3U-ENET-ADPEthernet2020
Mitsubishi FX5USerial2020
Mitsubishi FX5U Ethernet ModuleEthernet2020
Mitsubishi FX 232ADP/485BD/232BD ModuleRS4852020
Mitsubishi MC Protocol full-duplex for MELSEC-Q and C24 moduleSerial2020
Mitsubishi MC Protocol for MELSEC-Q and E71 moduleEthernetAvail
Panasonic MEWTOCOL for FPEthernet2020
GE SNP for 90-30Serial2020
GE Ethernet for 90-30Ethernet2020
FANUC 0i/30i/31i/32i/35iSerial2020
FANUC 0i/30i/31i/32i/35i EthernetEthernet2020
FANUC T21/D21 for CNC machinesEthernet2020
Modbus RTURS485Avail
Modbus RTU over TCPEthernetAvail
Modbus TCPEthernetAvail
OPC UAEthernetAvail
BACnet/MSTPRS4852020
BACnet/IPEthernet2020
IEC 60870-5 (IEC104)Ethernet2020
IEC 61850Ethernet2020
SNMPEthernet2020
DNP3Ethernet2020
DLT645-97/07Ethernet2020

EMQ X Neuron 与 EMQ X Broker 的工业架构图

在这里插入图片描述

本次模拟使用工具列表

工具名称版本用途操作系统
PeakHMI Slave Simulator/Modbus 模拟器Windows Server 2019
EMQ X Neuron1.4.6工业协议网关接入软件Ubuntu 16.04
EMQ X Broker4.0.7MQTT BrokerUbuntu 16.04
MQTT X1.3.2MQTT 客户端工具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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐