Insights Hub 在MCSA(MindConnect Software Agent)中,通过Modbus TCP协议如何实现数据下发

2024-07-05T12:20:03.000-0400
Connectivity

摘要

在使用Insights Hup的过程中,如果想从平台中下发数据到设备,可以使用平台体提供MCSA(MindConnect Software Agent),或者MindConnect Nono创建的代理,通过Modbus TCP/S7/OPCUA协议如何实现数据下发。


详细信息

在使用Insights Hup的过程中,如果想从平台中下发数据到设备,可以使用平台体提供MCSA(MindConnect Software Agent),或者MindConnect Nono创建的代理,通过Modbus TCP/S7/OPCUA协议如何实现数据下发。本文主要实现的步骤是在MCSA(MindConnect Software Agent)中,通过Modbus TCP协议如何实现数据下发。

主要内容有:

  • Demo示例图
  • 配置MCSA 安装与
  • 配置模拟Modbus服务端和客户端测试
  • 在MCSA的Agent 发送值修改Mobus TCP 模拟器中的值 
  • API实现发送命令

1.Demo示例图

  • 操作步骤
    • 安装MCSA
    • 安装Modbus服务端
    • 安装Modbus客户端
    • 创建资产(asset)
    • 创建代理(agent)
    • 创建数据映射(数据点与资产映射)
    • 在代理(agent)的配置页面中下发数据
    • 在Modbus TCP模拟器中查看改变的数据
  • Demo内容
    • 从agent中发送命令修改值
    • 通过API发送命令修改值
    • 修改之后值通过Monitor展示

如图所示:

2.MCSA 安装与配置

  •  配置代理(Agent)
    • 代理UID:可以从MCSA代理的web 浏览器中获取。
    • Web接口:根据网络进行配置,链接Insight Hub
    • 产线接口:和PLC处于同一网络,不同网络可以增加network route,本次实验web接口和产线接口都是同一个网络,网络是DHCP模式
    • 代理服务器设置:根据网络进行配置

  • 配置数据源(data sources)
    • 点击添加新的数据源:选择Modbus TCP,输入名称,描述,读数周期,Modbus tcp 服务器ip地址,端口,超时时间,相应超时时间等。

  • 配置数据点(data point)
    • 点击添加数据点:添加新的数据点,输入单位,数据点地址,单位,类型,数据获取模式(Read/Write Single Coils,read Input,Read Holding Resgisgers,Read input Register,Write Single Registers)等如图所示

3.模拟Modbus服务端配置

  • 安装Modbus TCP 数据源模拟服务端工具
    • 点击link:https://github.com/serhmarch/ModbusTools/下载,解压之后,cd到bin\Windows\x64目录中运行server.exe。这是一个绿色开源的软件,无须安装即可使用。
    • 运行server.exe。在界面中选择x4,选择相应地址设置值。

  • 安装Modbus Poll客户工具
    • 点击link:https://modbustools.com/download.html,选择相应的版本下载Moubus Poll工具,此工具主要用来验证是否读取服务端数据,验证服务端网络通信是正常的。
    • 运行moubus Poll,点击链接,输入服务端IP地址和端口,如果网线通信正常,我开源看到获取的服务端数据。

4.在MCSA的Agent 发送值修改Mobus TCP 模拟器中的值

  • 在Agent中添加write或read&write数据点
    • 点击添加数据点(对同一个数据点地址添加读和写数据点)
    • 配置数据点信息
    • 点击send a value ,填写值
    • 点击发送

Tips:Write数据点位显示为灰色是正常的,在真实应用场景中,修改设备的值一定注意设备的是否可以修改,确定修改范围,超过修改范围或者强制修改有可能会损毁设备或者修改无效。

  • 操作步骤请观看视频

5. API实现发送命令

  • 通过API修改设备的值,这个功能需要通过以下几个API来实现

Tips:Write数据点位显示为灰色是正常的,在真实应用场景中,修改设备的值一定注意设备的是否可以修改,确定修改范围,超过修改范围或者强制修改有可能会损毁设备或者修改无效。

    • POST: api/technicaltokenmanager/v3/oauth/token通过这个接口获取App应用凭证(token)
    •  
    • GET:/api/devicemanagement/v3/devices?assetId={id} 这个API是通过assetid来获取设备id
    •  
    • GET:/api/mindconnectdevicemanagement/v3/devices/{assetId}/dataConfig 通过API获取datasourceId 和 datapointId,需要发送到对于数据源和数据点

    • POST:/api/deploymentworkflow/v3/instances 通过这个API发送命令修改值,修改发送的body的deviceId dataSourceId,dataPointId,to和protocol的协议,desiredValue修改的值,body格式如下,
    •  
       {
            "deviceId": "aec4a808-15f6-44b3-98a6-0e4bffd85c33",
            "model": {
              "key": "mdsp-core-commandDispatcher"
            },
            "data": {
            "type": "datapoint-write",
            "createdBy": "zhang.jinbin@siemens.com",
            "version": "v1.0",
            "to": "MODBUS",
            "payload": {
              "desiredValue": "1000",
              "dataSourceId": "5c3f09ca-74b2-4fde-8f9a-ce09b036953c",
              "dataPointId": "b2cb923cf5bc4",
              "protocol": "MODBUS"
            }
          }
      }

    • GET:/api/deploymentworkflow/v3/instances确认是否修改成功。

                     

  • 通过API 修改Modbus TCP服务器的结果如下 

 

 

更过内容可以参考官方链接:https://documentation.mindsphere.io/MindSphere/apps/mindconnect-nano/send-commands-for-nano.html

 
 

知识库文章 ID# KB000133529_ZH_CN

内容

摘要详细信息

关联组件

MindConnect Software Agent