# DRY 4.1 FW 4.0.0 Modbus TCP Communication Interface

# Introduction

Refer to the Reference section for details of the Modbus protocol.

This document describes public Modbus TCP implementation for Enapter Dryer 4.1 and assume understanding of TCP/IP and Modbus protocols.

# Physical Interface Connection

Connect Ethernet cable to the Ethernet Port of Enapter Dryer 4.1.

# TCP/IP Connection Settings

By default DHCP client is enabled therefore IP address will be assigned automatically by DHCP server available in the connected network.

It is recommended to set DHCP reservation based on MAC address of the Dryer.

Configuration of the Static IP is possible using Enapter Cloud and Enapter Mobile Application for iOS and Android.

# Modbus TCP/IP Connection Settings

Option Value Comment
Modbus Port 502
Modbus Slave Address x Any Modbus address can be set, does not affect communication

# References

http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf (opens new window)

# Data Formats Used

Primary tables Object Type Permission Comment
Input Registers 16 bit word Read Only
Holding Registers 16 bit word Read / Write

# Data Bits/Registers Dimension

Data Type Size in Bits Registers Used Comment
Boolean 16 bits 1 register 0 value means 'false', all other cases - 'true'
Uint16 16 bits 1 register
Uint32 32 bits 2 registers
Uint64 64 bits 4 registers
Uint128 128 bits 8 registers
Float32 32 bits 2 registers IEEE 754 Single-precision floating-point
Int32 32 bits 2 registers

# Data Encoding

Big-endian, high word first data encoding used.

This means that when more than single byte (8 bits) is transmitted, network byte order is used - the most significant byte placed at lower address (sent first).

# Implemented Modbus Functions

Function Code Comment
Read Holding Registers 03
Read Input Registers 04
Write Single Holding Register 06
Write Multiple Holding Registers 16

# Set/Read Modbus IP

To set Modbus IP:

  1. Open the Cloud and navigate to your site
  2. Select DRY 4.1 you want to set Modbus IP
  3. Click the Configuration menu item
  4. Click Set Ethernet IP/Mask/Gateway
  5. Enter the IP address and then click Run. (Setting the IP address to 0.0.0.0 (or 0) enables DHCP mode)
  6. Wait until command will be accepted

To read Modbus IP:

  1. Open the Cloud and navigate to your site
  2. Select DRY 4.1 you want to read Modbus IP
  3. Click the Configuration menu item
  4. Click Read Ethernet IP/Mask/Gateway
  5. You can see Modbus IP in Execution Payload section

# Modbus Table

# Input Registers (Read Only)

Register Data Type Name Comment
2 UInt16 Device Version Upper Firmware version major
3 UInt16 Device Version Patch Firmware version patch
4 UInt32 Device Version Build Firmware build ID
1000 UInt16 State Current dryer state
1001 UInt16 Saved State Saved dryer state
1002 UInt16 State Flags State flags
1003 UInt32 Drying Start Drying cycle start time
1005 UInt32 Drying Saved Saved drying time
1007 UInt32 Drying Passed Time passed in current drying cycle
1009 UInt32 Drying Interval Drying cycle interval
1011 UInt16 Error Error flags
1012 UInt16 Warning Warning flags
1013 UInt16 Error Extra Extended error flags
1014 UInt16 Warning Extra Extended warning flags
1015 UInt32 Current Heap Size Current heap memory size in bytes
1017 UInt32 Minimum Heap Size Minimum heap memory size in bytes
1019 UInt64 State Save Count Number of state saves
1023 UInt64 Reboot Count System reboot count
1027 UInt64 Lifetime System lifetime in seconds
1031 UInt64 Button Start Time Last start button press timestamp
1035 UInt64 Button Stop Time Last stop button press timestamp
1039 UInt64 Start By Mesh Time Last mesh start command timestamp
1043 UInt64 Stop By Mesh Time Last mesh stop command timestamp
1047 UInt64 Start By Rule Engine Time Last rule engine start timestamp
1051 UInt64 Stop By Rule Engine Time Last rule engine stop timestamp
1055 UInt16 Digital Inputs Digital inputs as bit field
1056 UInt16 Digital Outputs Digital outputs as bit field
1057 UInt16 Fan 0 RPM Fan F100 speed in RPM
1058 UInt16 Fan 1 RPM Fan F101 speed in RPM
1059 UInt16 Fan 2 RPM Fan F102 speed in RPM
1060 IEEE-754
Float32
Temperature 0 Temperature sensor TT00 in °C
1062 IEEE-754
Float32
Temperature 1 Temperature sensor TT01 in °C
1064 IEEE-754
Float32
Pressure 0 Input pressure PT00 in bar
1066 IEEE-754
Float32
Pressure 1 Output pressure PT01 in bar

# Holding Registers (Read / Write)

Register Data Type Name Comment
0 UInt64 System Time Unix timestamp in seconds
1000 Boolean Start Command Start dryer operation
1001 Boolean Stop Command Stop dryer operation
1002 Boolean Save Data Command Save current data to persistent storage
1003 Boolean Reboot Command Reboot the dryer system
1004 Boolean Locate Device On Command Enable locate mode (LEDs blinking)
1005 Boolean Locate Device Off Command Disable locate mode
1006 Boolean Reboot UCM Command Reboot the UCM module
4000 Boolean Config Begin Start configuration transaction
4001 Boolean Config Commit Commit configuration changes
4002 UInt16 Config Result Configuration operation result (0=idle, 1=success, 2=failed)
4003 UInt32 Ethernet IP Address Ethernet IPv4 address
4005 UInt32 Ethernet IP Netmask Ethernet netmask
4007 UInt32 Ethernet IP Gateway Ethernet gateway address
4009 IEEE-754
Float32
Pressure Output Min Threshold Minimum output pressure threshold in bar
4011 IEEE-754
Float32
Pressure Output Max Threshold Maximum output pressure threshold in bar

Was this page useful?