更新时间:2023-04-26 GMT+08:00

接入Modbus协议设备

概述

设备可以通过集成EdgeShell实现接入ROMA Connect,EdgeShell是用于采集边缘侧设备端数据,并发送到ROMA Connect的边缘网关程序。EdgeShell接入,支持Modbus和OPC UA两种协议的设备接入,本章介绍通过Modbus协议接入设备。

ROMA Connect不会直接存储设备上报的数据,您需要配置数据转发规则,把设备数据转发到其他服务进行存储。

前提条件

设备与ROMA Connect实例一般通过公网互通,请确保ROMA Connect实例已绑定弹性IP。

接入设备

EdgeShell是用于采集边缘侧设备端数据,并发送到ROMA Connect的边缘网关程序。Modbus协议接入设备操作步骤如下:

  1. 创建产品。

    在“产品管理”页面单击“创建产品”,产品类型选择“普通产品”,协议类型选择“Modbus”。

  2. 创建设备。

    在“设备管理”页面单击“创建设备”,所属产品选择上一步创建的产品。

  3. 下载EdgeShell安装包。

    单击设备名称,进入设备详情页,在基础信息页签中,单击的“EdgeShell”项的“下载安装包”,下载EdgeShell安装包。

  4. 启动EdgeShell。

    EdgeShell支持运行在Windows和Linux环境中,根据不同的环境执行不同的启动脚本。

    1. EdgeShell依赖于java11运行环境,运行前需要先确保java运行环境已安装,并且JAVA_HOME环境变量已设置。
    2. 解压下载的edge-shell.zip,解压后目录结构如下图。

      • bin:启动停止脚本。
      • config:配置参数。
      • lib:依赖的jar包。
      • edge-shell-1.0.0.jar:运行的主程序。
    3. 在设备详情页的“基本信息”页签中拷贝“边缘连接配置(IPV4)”到config目录下的mqtt.properties文件中。
    4. 执行启动脚本。
      • Windows下执行bin/windows/start.bat。
      • Linux下执行bin/linux/start.sh。
    5. 正常启动后,EdgeShell会连接上LINK,此时在会显示设备在线,设备详情页中的边缘详情会有数据上报。

      启动脚本后会生成log目录,该目录下会记录启动和运行日志。该目录下会有edge-shell-error.log和edge-shell-info.log两个文件,如果启动后设备没有连接上,可以通过查看error日志快速定位。

      Windows下如果单击启动后,log目录没有生成,可以修改start.bat下列语句:

      修改前:

      start edge-shell %JAVA_OPT% -jar edge-shell-1.0.0.jar
      
      pause

      修改后:

      java %JAVA_OPT% -jar edge-shell-1.0.0.jar
  5. 插件下载。

    在插件管理页面中,单击“下载插件”,在弹出框中单击“下载并部署”。

    插件安装成功后,单击操作栏中的启动键启动插件。

  6. 配置Modbus连接点和采集策略。
    1. 当创建的设备是Modbus类型设备时,设备详情页中显示的是“Modbus配置”,Modbus插件支持TCP/IP和串口两种连接方式。具体创建配置如下:
      • 创建Modbus TCP/IP连接点时,配置参数如下图。

      • 创建Modbus串口连接点时,配置参数如下图。

    2. 在已创建的连接点下创建采集策略,配置参数如下图。

      用户设备端寄存器地址由起始地址编号和功能码决定。

      Modbus协议定义了设备地址(即起始地址)范围是0到65535,而寄存器地址是从1开始,范围为1到65536,所以如果起始地址为5,则对应的寄存器地址为6。

      目前功能码仅支持01、02、03、04,对应寄存器地址范围如下:

      功能码为01时,范围为:000001~065536

      功能码为02时,范围为:100001~165536

      功能码为03时,范围为:400001~465536

      功能码为04时,范围为:300001~365536

      例如:功能码为03,起始地址为5,则对应的寄存器地址为400006。

  7. 下发采集策略到边缘EdgeShell。

    在设备详情页中的“Modbus配置”页签,勾选需要下发的Modbus连接点,单击“下发策略”按钮。

  8. 配置规则引擎。

    配置普通设备采集上来的数据转发到MQS。

    1. 在规则引擎界面单击“创建规则”按钮,规则引擎所属应用需要与普通产品相同。

      ·

    2. 单击规则引擎名称进入规则引擎详情页面,配置数据源端和数据目的端。
      • 数据源端选择之前创建的产品和设备。
      • 数据目的端选择同实例下的MQS。

调试设备

通过规则引擎将采集到的数据转发到MQS,在MQS查看上报的数据,即上报数据到ROMA Connect。