随着物联网、大数据、云计算等新一代信息技术的发展变革,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 addressMQSERVER=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 passwordMQUSERNAME=emqx123MQPASSWORD=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

使用 EMQ X Neuron 构建基于 Modbus 的 IIoT 应用相关推荐

  1. EMQ 正式发布 Neuron 边缘工业协议网关软件

    随着工业4.0 概念的提出,现代工业逐渐向智能制造转型,各类采集器.控制器.传感器等设备以及移动通信.智能分析等技术开始融入到工业生产过程的各个环节中,形成了高度依赖云计算.大数据等技术,进行实时数据 ...

  2. [转]构建基于WCF Restful Service的服务

    本文转自:http://www.cnblogs.com/scy251147/p/3566638.html 前言 传统的Asmx服务,由于遵循SOAP协议,所以返回内容以xml方式组织.并且客户端需要添 ...

  3. Python基于MASK信息抽取ROI子图并构建基于迁移学习(densenet)的图像分类器实战(原始影像和mask文件都是二维的情况)

    Python基于MASK信息抽取ROI子图并构建基于迁移学习(densenet)的图像分类器实战(原始影像和mask文件都是二维的情况) 目录

  4. R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数、阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化、基于数据阳性样本比例选择合适的分类评估指标

    R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数.阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化.基于数据阳性样本比例选择合适的分类评估指标 目录

  5. R语言splines包构建基于logistic回归的自然样条分析:南非心脏病数据集、非线性:基函数展开和样条分析、你简单分析的不重要特征,可能只是线性不显著、而非线性是显著的

    R语言splines包构建基于logistic回归的自然样条分析:南非心脏病数据集.非线性:基函数展开和样条分析.你简单分析的不重要特征,可能只是线性不显著.而非线性是显著的 目录

  6. Python构建基于elkan优化算法的K-Means聚类模型

    Python构建基于elkan优化算法的K-Means聚类模型 目录 Python构建基于elkan优化算法的K-Means聚类模型 #elkan优化算法

  7. R语言xgboost模型构建:基于prima糖尿病数据集

    R语言xgboost模型构建:基于prima糖尿病数据集 目录 R语言xgboost模型构建:基于prima糖尿病数据集

  8. keras构建前馈神经网络(feedforward neural network)进行分类模型构建基于早停法(Early stopping)

    keras构建前馈神经网络(feedforward neural network)进行分类模型构建基于早停法(Early stopping) 当我们训练深度学习神经网络的时候通常希望能获得最好的泛化性 ...

  9. 在RHEL5下构建基于系统用户的Postfix邮件系统

    在Linuxt服务中构建Postfix邮件服务器,在客户端可以通过Outlook Express.Web界面来收发邮件,我们需要先配置一下Apache.MYsql.PHP平台,另外还少不了DNS的支持 ...

最新文章

  1. oracle sql now函数,postgresql的now()与Oracle的sysdate区别说明
  2. Uva1103 古代象形符号
  3. 使用 MWC V2.5 中的 MPU6050中的DMP进行计算姿态(转载)
  4. php 格式化html,HTML代码如何格式化
  5. python常用关键字意思_python基础之常用关键字总结
  6. tomcat配置虚拟目录,虚拟目录,tomcat目录,tomcat服务器,网站图片虚拟目录
  7. 《移动项目实践》实验报告——Android调试与上线
  8. WebApiClient与Asp.net core DI的结合
  9. js/css文件修改后浏览器本地缓存解决
  10. CentOS关闭图形界面(x window)
  11. centos安装配置tftp服务器
  12. python 中的 __name__
  13. Web Components 系列(十)—— 实现 MyCard 的基本布局
  14. Python3 多线程(连接池)操作MySQL插入数据
  15. FieldII仿真之常用命令汇总
  16. JAVASCRIPT网页特效实例大全pdf
  17. 那一份无怨亦无悔的真情实意
  18. 几万年前,有一只猴子大闹地府后删库跑路
  19. linux 原型软件,7款免费原型设计工具,总有一款是你的菜!
  20. IOS上传AppStore

热门文章

  1. 常用Date日期方法
  2. [BZOJ1339] [Baltic2008] Mafia / 黑手党
  3. Python递归函数的使用
  4. 我的世界服务器物品编辑器没用,我的世界1.6.4背包编辑器怎么用(含各版本背包编辑器存档)...
  5. 栈的存储——顺序存储与链式存储
  6. 学习笔记 Matlab 命令 -4
  7. binutils介绍
  8. Cache数据库之ECP改M卡死问题
  9. bootstraptable remove 不依靠刷新数据
  10. EasyUI实现表格分页