Difference between revisions of "Modbus Master"

From ESS-WIKI
Jump to: navigation, search
 
(52 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
 
= Introduction =
 
= Introduction =
  
Line 7: Line 8:
 
<span style="font-size:medium;">Modbus Service is a Windows/Linux system service for WISE Agent to read&nbsp;sensor data from Modbus device or write data into Modbus device. After sensor data are acquired, WISE Agent will upload the data to the WISE-PaaS Cloud.</span>
 
<span style="font-size:medium;">Modbus Service is a Windows/Linux system service for WISE Agent to read&nbsp;sensor data from Modbus device or write data into Modbus device. After sensor data are acquired, WISE Agent will upload the data to the WISE-PaaS Cloud.</span>
  
 +
&nbsp;
  
 +
&nbsp;
  
 
= Features =
 
= Features =
Line 15: Line 18:
 
<span style="font-size:medium;">Feature:</span>
 
<span style="font-size:medium;">Feature:</span>
  
*<span style="font-size:medium;">Support connection with multiple Modbus slave.</span>
+
*<span style="font-size:medium;">Support connection with multiple Modbus slave.</span>  
*<span style="font-size:medium;">Support access both Modbus TCP and RTU in one service.</span>
+
*<span style="font-size:medium;">Support access both Modbus TCP and RTU in one service.</span>  
*<span style="font-size:medium;">Support individual connection read interval.</span>
+
*<span style="font-size:medium;">Support individual&nbsp;read interval by connection.</span>  
*<span style="font-size:medium;">Configurable sensor alias.</span>
+
*<span style="font-size:medium;">Configurable sensor alias.</span>  
*<font size="3">Support byte swap.</font>
+
*<font size="3">Support byte swap.</font>  
*<span style="font-size:medium;">Currently support up-link Modbus Coil, Descrete input, Input register & Holding register data&nbsp;to WISE-PaaS , not support down-link from WISE-PaaS.</span>
+
*<span style="font-size:medium;">Support Modbus Coil, Descrete input, Input register & Holding register data.</span>
 +
*<font size="3">Support maximal 10 links, 5&nbsp;devices for each link, and 10 sensors for each device.</font>  
  
 
= How to =
 
= How to =
  
== Software Requirements ==
+
== Login ==
 
 
*<span style="font-size:medium;">MQTT broker</span>
 
 
 
== Installation ==
 
  
<span style="font-size:medium;">'''Windows:'''</span>
+
Step 1. Launch a web browser (Google Chrome, Microsoft Edge ...) and open iEdge local web '''[http://127.0.0.1:8080 http://127.0.0.1:8080]'''
  
<span style="font-size:medium;">1. Download Modbus-Master&nbsp;for Windows from [http://ess-wiki.advantech.com.tw/view/Modbus-Master#Release Release] Table.</span>
+
Step 2. Login iEdge local web:
  
<span style="font-size:medium;">2. Double click the&nbsp;installer to launch the installer to install it to the machine.</span>
+
Account: '''root'''
  
<span style="font-size:medium;">'''Debian:'''</span>
+
Password: '''P@ssw0rd'''
  
<span style="font-size:medium;">1. Download OPC-UA Client for Debian from [http://ess-wiki.advantech.com.tw/view/Modbus_Master#Release Release] Table.</span>
+
[[File:Ros2-iedge-plugin-config-01.png|frameless|900x520px|Ros2-iedge-plugin-config-01.png]]
  
<span style="font-size:medium;">2. Launch the installer to install it to the machine.</span>
+
&nbsp;
<pre>sudo ./device-modbus-master-3.0.1-Debian_9.9-rk3399.run
 
</pre>
 
  
 
== Configuration ==
 
== Configuration ==
  
<span style="font-size:medium;">EdgeSense Modbus Master can manage multiple Modbus Slave setting and individual sensor's parameters, below settings are default after Modbus Master installation.</span>
+
=== How to config Model ===
 
 
 
 
 
 
<span style="font-size:medium;">1. Device Configuration: &lt;Install_folder&gt;\config\industry\device-industry.yaml</span>
 
<pre>metadata:
 
  name: "Modbus devices"
 
  labels: ["Modbus"]
 
  Description: "Modbus TCP/RTU devices with 3 sensors in holding register area 40001~40003"
 
  UpdateData: 2020-01-08-14:25:30
 
 
 
# DeviceInfo: You can add a new device with unique name
 
# <DeviceName>: Unique Device Name
 
  # Params:
 
 
 
LinkInfo:
 
  COM1:
 
    Params:
 
      Driver: Modbus-RTU
 
      ConnectType: Serial
 
      PortName: COM1
 
      BaudRate: 9600
 
      DataBits: 8
 
      StopBits: 1
 
      Parity: None
 
   
 
    Info:
 
      PollingInterval: 1000  # Polling interval ( milliseconds )
 
      Timeout: 100          # A request timeout ( milliseconds )
 
      Retry: 3              # Retries min:0 max:3 ( count )
 
      AliveTime: 60          # Link Timeout in second: SDK will release this link if there are any request over this AliveTime ( second )
 
      CheckLinkInterval: 5  # Check link status interval (second)
 
 
 
    DevList:
 
      - Device-1
 
 
 
  TCP-IP-1:
 
    Params:
 
      Driver: Modbus-TCP
 
      ConnectType: Net
 
      IP: 127.0.0.1
 
      Port: 502
 
 
 
    Info:
 
      PollingInterval: 1000  # Polling interval in milliseconds
 
      Timeout: 100          # A request timeout in milliseconds
 
      Retry: 3              # Count of retry min:0 max:3 
 
      AliveTime: 60          # Link Timeout in second: SDK will release this link if there are any request over this AliveTime ( second )
 
      CheckLinkInterval: 5  # Check link status interval (second)
 
 
 
    DevList:
 
      - Device-2
 
 
 
 
 
DeviceInfo:
 
Device-1:
 
  Params:
 
    Station: 1
 
 
 
  Profile: MODBUS_DEVICE_01.yaml
 
 
 
Device-2:
 
  Params:
 
    Station: 2
 
 
 
  Profile: MODBUS_DEVICE_02.yaml
 
 
 
 
 
</pre>
 
 
 
 
 
 
 
<span style="font-size:medium;">2. Sensor&nbsp;Configuration for Device-1: &lt;Install_folder&gt;\config\industry\Profile\MODBUS_DEVICE_01.yaml</span>
 
<pre>metadata:
 
  name: MODBUS_DEVICE_01.yaml
 
  labels: ["MODBUS"]
 
  Description: This profile is for Modbus device 01
 
  version: 1.0.1
 
  UpdateData: 2020-01-08-14:25:30
 
 
 
Sensor:
 
  Temperature:
 
    Params:
 
      Address: 0  # Address
 
      Length: 1 
 
      DataType: int16
 
      DataFormat: ABCD
 
 
 
    Info:
 
      v: -1
 
      asm: r # Access Right: r, w, rw
 
      min: -10 # Minimum Value
 
      max: 100 # Maximum Value
 
      u: "celsius"  # Unit
 
 
 
  Humidity:
 
    Params:
 
      Address: 1
 
      Length: 1 
 
      DataType: int16
 
      DataFormat: ABCD
 
 
 
    Info:
 
      v: -1
 
      asm: r # Access Right: r, w, rw
 
      min: -100 # Minimum Value
 
      max: 100 # Maximum Value
 
      u: "percent"  # Unit
 
 
 
</pre>
 
 
 
 
 
 
 
<span style="font-size:medium;">2. Sensor&nbsp;Configuration for Device-2: &lt;Install_folder&gt;\config\industry\Profile\MODBUS_DEVICE_02.yaml</span>
 
<pre>metadata:
 
  name: MODBUS_DEVICE_02.yaml
 
  labels: ["MODBUS"]
 
  Description: This profile is for Modbus device 02
 
  version: 1.0.1
 
  UpdateData: 2020-01-08-14:25:30
 
 
 
Sensor:
 
  X-Axis:
 
    Params:
 
      Address: 0  # Address
 
      Length: 1 
 
      DataType: int16
 
      DataFormat: ABCD
 
  
    Info:
+
Step 1. Go to "Plug-ins" / Plugin Config to select Modbus-Master Plug-in
      v: -1
 
      asm: r # Access Right: r, w, rw
 
      min: -10 # Minimum Value
 
      max: 100 # Maximum Value
 
      u: "mm"  # Unit
 
  
  Y-Axis:
+
[[File:Modbus config bQUoHri.png|border|800x480px|Modbus config bQUoHri.png]]
    Params:
 
      Address: 1
 
      Length: 1 
 
      DataType: int16
 
      DataFormat: ABCD
 
  
    Info:
+
Setp 2. From Modbus-Master Configuration, open Model Management tab, click "+" to add new Model.
      v: -1
 
      asm: r # Access Right: r, w, rw
 
      min: -100 # Minimum Value
 
      max: 100 # Maximum Value
 
      u: "mm" # Unit
 
  
</pre>
+
[[File:Modbus config qpMUDCj.png|border|800x480px|modbus_config_qpMUDCj.png]]
  
 +
Setp 3. Input Model name and Description for new Model.
  
 +
[[File:Modbus config XLSJYyn.png|border|800x480px|modbus_config_XLSJYyn.png]]
  
= Demonstration =
+
Step 4. Click "+" to add Sensor - Input Sensor Name - Select Address Space, Access mode, Data Type, Data Format and input Address, Data Length, Minimal/Maximal Value for new sensor's attributes. - Input below timing attributes:&nbsp;Period (second) . Delay (ms, range: 0~1000ms)&nbsp; and&nbsp;Retry (range: 0~5)
  
<span style="font-size:medium;">1. Open Modbus Simulator: Launch&nbsp;[https://www.win-tech.com/html/modsim32.htm ModSim32]&nbsp;and click "New" in program&nbsp;menu to create a new simulator page.</span>
+
*Click "Save" button to save the new sensor.  
  
[[File:Modbus-Slave Modsim32 04.png|border|700x400px|Modbus-Slave Modsim32 04.png]]
+
[[File:Modbus config qsox6hM.png|border|800x480px|modbus_config_qsox6hM.png]]
  
 +
Step 5. Repeat Step 4 to add another sensor.
  
 +
[[File:Modbus config DPdBICk.png|border|800x480px|modbus_config_DPdBICk.png]]
  
<span style="font-size:medium;">2. Set parameter as below:</span>
+
Step 6. Click "Save" button to save the new sensors.
  
*<span style="font-size:medium;">Device Id: 1</span>
+
[[File:Modbus config oXbCCsc.png|border|800x480px|modbus_config_oXbCCsc.png]]
*<span style="font-size:medium;">Address: 0001</span>
 
*<span style="font-size:medium;">Length: 2</span>
 
*<span style="font-size:medium;">Modbus Point Type: HOLDING REGISTER</span>
 
  
<span style="font-size:medium;">[[File:Modbus-Slave Modsim32 01.png|700x400px|Modbus-Slave Modsim32 01.png]]</span>
+
Step 5. Click "Save" button to save the new model.
  
 +
[[File:Modbus config kXoLU5M.png|border|800x480px|modbus_config_kXoLU5M.png]]
  
 +
<br/> &nbsp;
  
<span style="font-size:medium;">3. Enable Auto Simulation:</span>
+
=== How to config Link ===
  
*<span style="font-size:medium;">Double click on the sensor address 40001</span>
+
Step 1. From Modbus-Master Configuration, open Link Management tab, click "+" to add a new Link.
*<span style="font-size:medium;">Click&nbsp;"Auto Simulation"</span>
 
  
 +
[[File:Modbus config Sz3fL8f.png|border|800x480px|modbus_config_Sz3fL8f.png]]
  
 +
Step 2. Input Link Name, Link Type for the new Link.
  
[[File:Modbus-Slave Modsim32 02.png|300x200px|Modbus-Slave Modsim32 02.png]]
+
for Modbus-TCP link, set parameters: - IP - Port
  
 +
for Modbus-RTU link, set parameters: - COM port - Baudrate - Data bits - Stop bits - Parity mode
  
 +
Click "+" icon to add a new device.
  
 +
[[File:Modbus config Dvkgjc2.png|border|800x480px|modbus_config_Dvkgjc2.png]]
  
 +
Step 3. Input Device Name, Station Id and select Model Profile for the new device. Model Profile should be added by upper Model Management steps.
  
<span style="font-size: medium;">4. Set simulation parameters:</span>
+
Click "Save" button to save the new device.
  
*<span style="font-size:medium;">Check&nbsp;"Enable"</span>
+
[[File:Modbus config CkZoH3H.png|border|800x480px|modbus_config_CkZoH3H.png]]
*<span style="font-size:medium;">Simulation Type: Increment</span>
 
*<span style="font-size:medium;">Change Interval (secs): 5</span>
 
*<span style="font-size:medium;">Step VAlue: 1</span>
 
*<span style="font-size:medium;">Low Limit: 10</span>
 
*<span style="font-size:medium;">High Limit: 20</span>
 
  
[[File:Modbus-Slave Modsim32 03.png|360x280px|Modbus-Slave Modsim32 03.png]]
+
Step 4. Click "Save" button to save the new link.
  
 +
[[File:Modbus config jGIBhIa.png|border|800x480px|modbus_config_jGIBhIa.png]]
  
 +
Step 5. Click "Apply" button to apply the new link.
  
<span style="font-size:medium;">5. Do the same step for the address 40002 and set simulation parameter as below:</span>
+
[[File:Modbus config YudsLa4.png|border|800x480px|modbus_config_YudsLa4.png]]
  
*<span style="font-size:medium;">Simulation Type: Increment</span>
+
Apply new settings Successfully
*<span style="font-size:medium;">Low Limit: 60</span>
 
*<span style="font-size:medium;">High Limit: 80</span>
 
  
<span style="font-size:medium;">[[File:Modbus-Slave Modsim32 05.png|360x280px|Modbus-Slave Modsim32 05.png]]</span>
+
[[File:Modbus config 7rvJoo5.png|border|800x480px|modbus_config_7rvJoo5.png]]
  
 +
Step 6. Go to Plugin List and select Modbus-Master plugin, the new sensor will be shown in this page
  
 +
[[File:Modbus config Sys1ZZH.png|border|800x480px|modbus_config_Sys1ZZH.png]]
  
 +
<br/> &nbsp;
  
 +
=== How to import plugin settings ===
  
<span style="font-size:medium;">6. Set Connection to Modbus/TCP Svr:</span>
+
Step 1. Click Import button from Modbus-Master Configuration
  
<span style="font-size:medium;">[[File:Modbus-Slave Modsim32 06.png|700x400px|Modbus-Slave Modsim32 06.png]]</span>
+
[[File:Modbus config T6zjSoj.png|border|800x480px|modbus_config_T6zjSoj.png]]
  
 +
Step 2. Select target file you like to import
  
 +
[[File:Modbus config ZYeZTw5.png|border|800x480px|modbus_config_ZYeZTw5.png]]
  
 +
Import successful
  
 +
[[File:Modbus config k3N8BQO.png|border|800x480px|modbus_config_k3N8BQO.png]]
  
 +
Step 3. Click APPLY to use imported configuration
  
 +
[[File:Modbus config JTgo9CB.png|border|800x480px|modbus_config_JTgo9CB.png]]
  
<span style="font-size:medium;">7. Edit Device Configuration for the demo: &lt;Install_folder&gt;\config\industry\device-industry.yaml</span>
+
Apply new settings Successfully
<pre>metadata:
 
  name: "Modbus devices"
 
  labels: ["Modbus"]
 
  Description: "Modbus TCP/RTU devices with 3 sensors in holding register area 40001~40003"
 
  UpdateData: 2020-01-08-14:25:30
 
  
# DeviceInfo: You can add a new device with unique name
+
[[File:Modbus config WZGsmXR.png|border|800x480px|modbus_config_WZGsmXR.png]]
# <DeviceName>: Unique Device Name
 
  # Params:
 
  
LinkInfo:
+
<br/> &nbsp;
  TCP-IP-1:
 
    Params:
 
      Driver: Modbus-TCP
 
      ConnectType: Net
 
      IP: 127.0.0.1
 
      Port: 502
 
 
 
    Info:
 
      PollingInterval: 1000  # Polling interval in milliseconds
 
      Timeout: 100          # A request timeout in milliseconds
 
      Retry: 3              # Count of retry min:0 max:3 
 
      AliveTime: 60          # Link Timeout in second: SDK will release this link if there are any request over this AliveTime ( second )
 
      CheckLinkInterval: 5  # Check link status interval (second)
 
  
    DevList:
+
=== How to export plugin settings ===
      - Device-1
 
  
DeviceInfo:
+
Step 1. Click Export button from Modbus-Master Configuration
Device-1:
 
  Params:
 
    Station: 1
 
  
  Profile: MODBUS_DEVICE_01.yaml
+
[[File:Modbus config tH3zFyI.png|border|800x480px|modbus_config_tH3zFyI.png]]
  
</pre>
+
Step 2. Explore the exported file
  
 +
[[File:Modbus config IU83MxX.png|border|800x480px|modbus_config_IU83MxX.png]]
  
 +
<br/> &nbsp;
  
<span style="font-size:medium;">8. Edit Sensor Configuration for the demo: &lt;Install_folder&gt;\config\industry\Profile\MODBUS_DEVICE_01.yaml</span>
+
== Use case ==
<pre>metadata:
 
  name: MODBUS_DEVICE_01.yaml
 
  labels: ["MODBUS"]
 
  Description: This profile is for Modbus device 01
 
  version: 1.0.1
 
  UpdateData: 2020-01-08-14:25:30
 
  
Sensor:
+
=== Connect and upload data for Modbus Temperature and Humidity sensor ===
  Temperature:
 
    Params:
 
      Address: 0  # Address
 
      Length: 1 
 
      DataType: int16
 
      DataFormat: ABCD
 
  
    Info:
+
Use Modsim32 to simulate a modbus TCP device with a temperature sensor and a humidity sensor, config Modbus-Master to read these two sensors and upload iEdge cloud.
      v: -1
 
      asm: r # Access Right: r, w, rw
 
      min: -10 # Minimum Value
 
      max: 100 # Maximum Value
 
      u: "celsius"  # Unit
 
  
  Humidity:
+
&nbsp;
    Params:
 
      Address: 1
 
      Length: 1 
 
      DataType: int16
 
      DataFormat: ABCD
 
  
    Info:
+
&nbsp;
      v: -1
 
      asm: r # Access Right: r, w, rw
 
      min: -100 # Minimum Value
 
      max: 100 # Maximum Value
 
      u: "percent"  # Unit
 
  
</pre>
+
==== Config Modbus simulator ====
  
 +
Step1. Open Modbus Simulator: Launch ModSim32 and click "New" in program menu to create a new simulator page.
  
 +
[[File:Modbus config GskBtAL.png|800x480px|Modbus config GskBtAL.png]]
  
<span style="font-size:medium;">9. Restart Modbus Master services</span>
+
Step2. Set parameter as below:
  
*<span style="font-size:medium;">Open Windows Task Manager</span>
+
*Device Id: '''1'''
*<span style="font-size:medium;">Restart service: device-modbus-protocol</span>
+
*Address: '''0001'''
*<span style="font-size:medium;">Restart service: device-modbus-master</span>
+
*Length: '''2'''
 +
*Modbus Point Type: '''INPUT REGISTER'''
  
 +
[[File:Modbus config wVMbXWs.png|800x480px|Modbus config wVMbXWs.png]]
  
 +
Step3. Enable Auto Simulation:
  
 +
*Double click on the sensor address 30001
 +
*Click "Auto Simulation"
  
 +
[[File:Modbus config PaxcEE3.png|320x200px|Modbus config PaxcEE3.png]]
  
<span style="font-size:medium;">10. Verify sensor data at DeviceOn Monitor Sensor Data page</span>
+
Step4. Set simulation parameters:
  
[[File:Modbus-Slave Modsim32 07.png|border|800x400px|Modbus-Slave Modsim32 07.png]]
+
*Check "Enable"
 +
*Simulation Type: Increment
 +
*Change Interval (secs): 5
 +
*Step VAlue: 1
 +
*Low Limit: 10
 +
*High Limit: 20
  
 +
[[File:Modbus config maLqhtS.png|600x320px|Modbus config maLqhtS.png]]
  
 +
Step5. Do the same step for the address 30002 and set simulation parameter as below:
  
= Release =
+
*Simulation Type: Decrement
 +
*Change Interval (secs): 5
 +
*Step VAlue: 1
 +
*Low Limit: 60
 +
*High Limit: 80
  
<span style="font-size:larger;">This is an overview that displays Modbus Service&nbsp;versions and some stats and numbers for each release.</span>
+
[[File:Modbus config K98RWgN.png|600x320px|Modbus config K98RWgN.png]]
  
{| border="1" cellspacing="1" cellpadding="1" style="width: 1203px;"
+
Step6. Set Connection to Modbus/TCP Svr:
|-
 
| style="width: 47px; text-align: center;" | <span style="font-size:larger;">Index</span>
 
| style="width: 63px; text-align: center;" | <span style="font-size:larger;">Version</span>
 
| style="width: 85px; text-align: center;" | <span style="font-size:larger;">Date</span>
 
| style="width: 78px; text-align: center;" | <span style="font-size:larger;">Platform</span>
 
| style="width: 103px; text-align: center;" | <span style="font-size:larger;">OS</span>
 
| style="width: 433px; text-align: center;" | <span style="font-size:larger;">Release Note</span>
 
| style="width: 357px; text-align: center;" | <span style="font-size:larger;">Installer</span>
 
|-
 
| style="width: 47px; text-align: center;" | <span style="font-size:larger;">1</span>
 
| style="width: 63px; text-align: center;" | <span style="font-size:larger;">v3.0.1</span>
 
| style="width: 85px; text-align: center;" |
 
<font size="3">2020/01/21</font>
 
  
| style="width: 78px; text-align: center;" | <span style="font-size:larger;">x86_64 CPU</span><br/>
+
*Click Connection
| style="width: 103px; text-align: center;" | <span style="font-size:larger;">Windows 10</span><br/>
+
*Click Modbus/TCP Svr to simulate Modbus TCP connection
| style="width: 433px;" |
 
*<span style="font-size:medium; text-align: left;">Support connection for multiple Modbus slave.</span>
 
*<span style="font-size:medium; text-align: left;">Support Modbus TCP and RTU in one configuration.</span>
 
*<span style="font-size:medium; text-align: left;">Support individual sensor update interval.</span>
 
*<span style="font-size:medium; text-align: left;">Support only get Modbus data.</span>
 
  
| style="width: 357px;" | <span style="font-size:larger;">[file://eossfs/ESS-Release/EdgeSense/Software/Modbus-Master device-modbus-master-3.0.1.exe]</span>
+
[[File:Modbus config ZhpooZd.png|800x480px|Modbus config ZhpooZd.png]]
|-
 
| style="width: 47px; text-align: center;" | <span style="font-size:larger;">2</span>
 
| style="width: 63px; text-align: center;" | <span style="font-size:larger;">v3.0.1</span>
 
| style="width: 85px; text-align: center;" |
 
<font size="3">Coming soon</font>
 
  
| style="width: 78px; text-align: center;" | <span style="font-size:larger;">ARM CPU</span><br/>
+
Step7. Config Modbus-Master
| style="width: 103px; text-align: center;" | <span style="font-size:larger;">Debian</span><br/>
 
| style="width: 433px;" |
 
*<span style="font-size:medium; text-align: left;">Support connection for multiple Modbus slave.</span>
 
*<span style="font-size:medium; text-align: left;">Support Modbus TCP and RTU in one configuration.</span>
 
*<span style="font-size:medium; text-align: left;">Support individual sensor update interval.</span>
 
*<span style="font-size:medium; text-align: left;">Support only get Modbus data.</span>
 
  
| style="width: 357px;" | <span style="font-size:larger;">[file://eossfs/ESS-Release/EdgeSense/Software/Modbus-Master device-modbus-master-3.0.1-Debian_9.9-rk3399.run]</span>
+
*Config Modbus-Master plugin as upper steps to complete the settings.  
|}
 
  
<span style="font-size:larger;">Above files are available at local server, please paste file's&nbsp;url in File Explorer&nbsp;to copy file. ([[EdgeSense_FAQ|How to access to EOSSFS file server]]&nbsp;)</span>
+
&nbsp; &nbsp;

Latest revision as of 05:24, 8 August 2023

Introduction

Modbus enables communication among many devices connected to the same network, for example, a system that measures temperature and humidity and communicates the results to a computer. Modbus is often used to connect a supervisory computer with a remote terminal unit (RTU) in supervisory control and data acquisition (SCADA) systems.

Many of the data types are named from its use in driving relays: a single-bit physical output is called a coil, and a single-bit physical input is called a discrete input or a contact.

Modbus Service is a Windows/Linux system service for WISE Agent to read sensor data from Modbus device or write data into Modbus device. After sensor data are acquired, WISE Agent will upload the data to the WISE-PaaS Cloud.

 

 

Features

EdgeSense Modbus-Master aims to collect data from Modbus Slave.

Feature:

  • Support connection with multiple Modbus slave.
  • Support access both Modbus TCP and RTU in one service.
  • Support individual read interval by connection.
  • Configurable sensor alias.
  • Support byte swap.
  • Support Modbus Coil, Descrete input, Input register & Holding register data.
  • Support maximal 10 links, 5 devices for each link, and 10 sensors for each device.

How to

Login

Step 1. Launch a web browser (Google Chrome, Microsoft Edge ...) and open iEdge local web http://127.0.0.1:8080

Step 2. Login iEdge local web:

Account: root

Password: P@ssw0rd

Ros2-iedge-plugin-config-01.png

 

Configuration

How to config Model

Step 1. Go to "Plug-ins" / Plugin Config to select Modbus-Master Plug-in

Modbus config bQUoHri.png

Setp 2. From Modbus-Master Configuration, open Model Management tab, click "+" to add new Model.

modbus_config_qpMUDCj.png

Setp 3. Input Model name and Description for new Model.

modbus_config_XLSJYyn.png

Step 4. Click "+" to add Sensor - Input Sensor Name - Select Address Space, Access mode, Data Type, Data Format and input Address, Data Length, Minimal/Maximal Value for new sensor's attributes. - Input below timing attributes: Period (second) . Delay (ms, range: 0~1000ms)  and Retry (range: 0~5)

  • Click "Save" button to save the new sensor.

modbus_config_qsox6hM.png

Step 5. Repeat Step 4 to add another sensor.

modbus_config_DPdBICk.png

Step 6. Click "Save" button to save the new sensors.

modbus_config_oXbCCsc.png

Step 5. Click "Save" button to save the new model.

modbus_config_kXoLU5M.png


 

How to config Link

Step 1. From Modbus-Master Configuration, open Link Management tab, click "+" to add a new Link.

modbus_config_Sz3fL8f.png

Step 2. Input Link Name, Link Type for the new Link.

for Modbus-TCP link, set parameters: - IP - Port

for Modbus-RTU link, set parameters: - COM port - Baudrate - Data bits - Stop bits - Parity mode

Click "+" icon to add a new device.

modbus_config_Dvkgjc2.png

Step 3. Input Device Name, Station Id and select Model Profile for the new device. Model Profile should be added by upper Model Management steps.

Click "Save" button to save the new device.

modbus_config_CkZoH3H.png

Step 4. Click "Save" button to save the new link.

modbus_config_jGIBhIa.png

Step 5. Click "Apply" button to apply the new link.

modbus_config_YudsLa4.png

Apply new settings Successfully

modbus_config_7rvJoo5.png

Step 6. Go to Plugin List and select Modbus-Master plugin, the new sensor will be shown in this page

modbus_config_Sys1ZZH.png


 

How to import plugin settings

Step 1. Click Import button from Modbus-Master Configuration

modbus_config_T6zjSoj.png

Step 2. Select target file you like to import

modbus_config_ZYeZTw5.png

Import successful

modbus_config_k3N8BQO.png

Step 3. Click APPLY to use imported configuration

modbus_config_JTgo9CB.png

Apply new settings Successfully

modbus_config_WZGsmXR.png


 

How to export plugin settings

Step 1. Click Export button from Modbus-Master Configuration

modbus_config_tH3zFyI.png

Step 2. Explore the exported file

modbus_config_IU83MxX.png


 

Use case

Connect and upload data for Modbus Temperature and Humidity sensor

Use Modsim32 to simulate a modbus TCP device with a temperature sensor and a humidity sensor, config Modbus-Master to read these two sensors and upload iEdge cloud.

 

 

Config Modbus simulator

Step1. Open Modbus Simulator: Launch ModSim32 and click "New" in program menu to create a new simulator page.

Modbus config GskBtAL.png

Step2. Set parameter as below:

  • Device Id: 1
  • Address: 0001
  • Length: 2
  • Modbus Point Type: INPUT REGISTER

Modbus config wVMbXWs.png

Step3. Enable Auto Simulation:

  • Double click on the sensor address 30001
  • Click "Auto Simulation"

Modbus config PaxcEE3.png

Step4. Set simulation parameters:

  • Check "Enable"
  • Simulation Type: Increment
  • Change Interval (secs): 5
  • Step VAlue: 1
  • Low Limit: 10
  • High Limit: 20

Modbus config maLqhtS.png

Step5. Do the same step for the address 30002 and set simulation parameter as below:

  • Simulation Type: Decrement
  • Change Interval (secs): 5
  • Step VAlue: 1
  • Low Limit: 60
  • High Limit: 80

Modbus config K98RWgN.png

Step6. Set Connection to Modbus/TCP Svr:

  • Click Connection
  • Click Modbus/TCP Svr to simulate Modbus TCP connection

Modbus config ZhpooZd.png

Step7. Config Modbus-Master

  • Config Modbus-Master plugin as upper steps to complete the settings.