This document defines the Modbus RTU protocol used over an RS485 bus to communicate with Wilo devices. It describes the hardware requirements, packet structure, supported functions, timing, error handling, and data registers for parameters like set value, pump commands, PID values, and sensor readings.
This document defines the Modbus RTU protocol used over an RS485 bus to communicate with Wilo devices. It describes the hardware requirements, packet structure, supported functions, timing, error handling, and data registers for parameters like set value, pump commands, PID values, and sensor readings.
This document defines the Modbus RTU protocol used over an RS485 bus to communicate with Wilo devices. It describes the hardware requirements, packet structure, supported functions, timing, error handling, and data registers for parameters like set value, pump commands, PID values, and sensor readings.
This document defines the Modbus RTU protocol used over an RS485 bus to communicate with Wilo devices. It describes the hardware requirements, packet structure, supported functions, timing, error handling, and data registers for parameters like set value, pump commands, PID values, and sensor readings.
The document discusses the definition and architecture of Modbus RTU communication protocol for industrial devices.
Modbus RTU is a serial communication protocol used to establish master-slave/client-server communication between devices. It uses RS-485 as the physical layer and defines the data framing of messages.
The hardware requirements for Modbus RTU include supporting RS-485 logical signal levels and compatibility with supported Wilo devices.
Definition of Modbus RTU on the RS485-Bus
WILO Modbus RTU DigiCon IF-Modul 1/40
Definition of Modbus RTU on the RS485-bus
Version 1.09 Definition of Modbus RTU on the RS485-Bus
2/40 WILO Modbus RTU DigiCon IF-Modul Contents 1 INTRODUCTION ......................................................................................................................................... 4 1.1 MOTIVATION ............................................................................................................................................ 4 1.2 SCOPE OF THE DOCUMENT ........................................................................................................................ 4 1.3 VALUES .................................................................................................................................................... 4 2 ARCHITECTURAL OVERVIEW .............................................................................................................. 5 2.1 BUS TOPOLOGY ........................................................................................................................................ 5 2.2 DATA FLOW .............................................................................................................................................. 5 3 HARDWARE REQUIREMENTS ............................................................................................................... 6 3.1.1 RS485 Logical Signal Levels ............................................................................................................. 6 3.2 SUPPORTED WILO DEVICES ....................................................................................................................... 6 4 PROTOCOL .................................................................................................................................................. 7 4.1 BYTE ORDERING AND FORMAT ................................................................................................................. 7 4.1.1 Supported Baud rates ........................................................................................................................ 8 4.2 PACKET FIELDS ........................................................................................................................................ 8 4.2.1 Address field ...................................................................................................................................... 8 4.2.2 Function field .................................................................................................................................... 8 4.2.3 Data field ........................................................................................................................................... 8 4.2.4 Checksum field .................................................................................................................................. 9 4.3 PACKETS ................................................................................................................................................... 9 4.3.1 Function 03 Read Holding register ................................................................................................ 9 4.3.2 Function 04 Read Input register .................................................................................................. 10 4.3.3 Function 06 Preset single register ............................................................................................... 10 4.3.4 Function 08 Return Query Data ................................................................................................... 11 4.3.5 Function 16 Preset multiple registers .......................................................................................... 11 4.4 PROTOCOL TIMING ................................................................................................................................. 12 4.4.1 Byte Level ........................................................................................................................................ 12 4.4.2 Packet Level .................................................................................................................................... 13 4.5 PROTOCOL ERROR HANDLING ................................................................................................................ 13 4.5.1 Error 1 Illegal function ................................................................................................................ 14 4.5.2 Error 2 Illegal data address ......................................................................................................... 14 4.5.3 Error 3 Illegal data value ............................................................................................................. 14 4.5.4 Error 11 Gateway target device failed to respond ....................................................................... 14 4.5.5 Gateway Communication Timeout .................................................................................................. 14 5 DEVICE PARAMETERS ........................................................................................................................... 15 5.1 HOLDING REGISTERS .............................................................................................................................. 15 5.1.1 Set value .......................................................................................................................................... 15 5.1.2 Pump Command .............................................................................................................................. 15 5.1.3 Operation Mode .............................................................................................................................. 16 5.1.4 T min for p-T .................................................................................................................................... 16 5.1.5 T max for p-T .................................................................................................................................... 16 5.1.6 p min for p-T .................................................................................................................................... 17 5.1.7 p max for p-T .................................................................................................................................... 17 5.1.8 Bus Command Timer ....................................................................................................................... 17 5.1.9 PID Kp ............................................................................................................................................ 18 5.1.10 PID Ti .............................................................................................................................................. 18 5.1.11 PID Ti .............................................................................................................................................. 18 5.2 INPUT REGISTERS (SINGLE PUMP) ........................................................................................................... 19 5.2.1 Actual Differential Pressure ............................................................................................................ 19 5.2.2 Flow Rate ........................................................................................................................................ 20 5.2.3 Power Consumption ........................................................................................................................ 20 5.2.4 Power Rating ................................................................................................................................... 20 5.2.5 Operation Hours ............................................................................................................................. 20 5.2.6 Mains Current ................................................................................................................................. 20 5.2.7 Speed ............................................................................................................................................... 20 Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 3/40 5.2.8 Medium Temperature ...................................................................................................................... 20 5.2.9 Current Operation Mode ................................................................................................................ 21 5.2.10 Pump Module .................................................................................................................................. 21 5.2.11 Pump Type ...................................................................................................................................... 21 5.2.12 Max Speed ....................................................................................................................................... 21 5.2.13 Min Speed ....................................................................................................................................... 21 5.2.14 Max Pressure p-c .......................................................................................................................... 21 5.2.15 Min Pressure p-c .......................................................................................................................... 22 5.2.16 Max Pressure p-v .......................................................................................................................... 22 5.2.17 Min Pressure p-v .......................................................................................................................... 22 5.2.18 Max Flow Rate ................................................................................................................................ 22 5.2.19 Min Flow Rate ................................................................................................................................ 22 5.2.20 Supported Errors ............................................................................................................................ 23 5.2.21 Supported Service Messages ........................................................................................................... 23 5.2.22 Max Power Rating .......................................................................................................................... 23 5.2.23 Service Message .............................................................................................................................. 23 5.2.24 Error Type....................................................................................................................................... 23 5.2.25 Error Message ................................................................................................................................ 24 5.2.26 Pump Status .................................................................................................................................... 24 5.2.27 State Diagnostics ............................................................................................................................ 25 5.2.28 Effective Set value ........................................................................................................................... 25 5.2.29 Effective Pump Command ............................................................................................................... 26 5.2.30 Operation Status ............................................................................................................................. 26 5.2.31 Heartbeat count .............................................................................................................................. 26 5.2.32 Application Version ........................................................................................................................ 26 5.2.33 Pump Type Extended ....................................................................................................................... 26 5.2.34 Current Warning / Error ................................................................................................................. 27 5.3 INPUT REGISTERS (SPECIAL FOR A DOUBLE PUMP) ................................................................................. 27 5.3.1 Operating Hours DP ....................................................................................................................... 27 5.3.2 Actual Differential Pressure (Slave) ............................................................................................... 27 5.3.3 Flow Rate (Slave) ............................................................................................................................ 28 5.3.4 Power Consumption (Slave)............................................................................................................ 28 5.3.5 Power Rating (Slave) ...................................................................................................................... 28 5.3.6 Operating Hours (Slave) ................................................................................................................. 28 5.3.7 Mains Current (Slave) ..................................................................................................................... 28 5.3.8 Speed (Slave) ................................................................................................................................... 28 5.3.9 Pump Module (Slave) ...................................................................................................................... 28 5.3.10 Pump Type (Slave) .......................................................................................................................... 29 5.3.11 Error Type (Slave) .......................................................................................................................... 29 5.3.12 Pump Status (Slave) ........................................................................................................................ 29 5.3.13 Pump Type Extended (Slave) .......................................................................................................... 29 5.3.14 Current Warning / Error (Slave) .................................................................................................... 29 6 PUMP SUPPORT ........................................................................................................................................ 30 6.1 HOLDING REGISTERS .............................................................................................................................. 30 6.1.1 Pump Command .............................................................................................................................. 30 6.1.2 Operation Mode .............................................................................................................................. 30 6.2 INPUT REGISTERS (SINGLE PUMP)........................................................................................................... 31 6.2.1 Pump Module .................................................................................................................................. 33 6.2.2 Service Message .............................................................................................................................. 33 6.2.3 Error Type....................................................................................................................................... 33 6.2.4 Error Message ................................................................................................................................ 34 6.2.5 Pump Status .................................................................................................................................... 34 6.2.6 State Diagnostics ............................................................................................................................ 35 6.3 INPUT REGISTERS (SPECIAL FOR A DOUBLE PUMP) ................................................................................. 35 7 TRANSACTION EXAMPLES .................................................................................................................. 37 7.1 SINGLE PUMP ......................................................................................................................................... 37 7.1.1 Example 1: Simple Write................................................................................................................. 37 7.1.2 Example 2: Simple Read ................................................................................................................. 37 7.1.3 A Write example with an error response ......................................................................................... 37 7.2 DOUBLE PUMP ........................................................................................................................................ 37 Definition of Modbus RTU on the RS485-Bus
4/40 WILO Modbus RTU DigiCon IF-Modul 7.2.1 Example 4: Simple Read ................................................................................................................. 38 8 VERSION HISTORY .................................................................................................................................. 39 1 Introduction 1.1 Motivation In order to make configuration and operation easier, many building components support some way of remote controlling. This remote controlling does not only make it possible for the janitor to monitor devices and open gates or doors, letting the roller blinds down etc. But it also makes automatic changes, as turning down the temperature at 6 p.m. or perhaps even when the last person has left. In short: The communication between devices are becoming more and more common, and more and more different devices are connected to the main computer in order to allow what could be seen as an intelligent building. This document describes the protocol that will enable a remote control of pumps and thus make it possible to incorporate them in the main building management system. 1.2 Scope of the Document This document describes the protocol and is targeted to developers that need to communicate with Wilo pumps. In the second chapter, a brief device setup is shown and some fundamental knowledge is described. In the third chapter the hardware requirements are briefly explained. This chapter is only included as assistance and is not to be thought of as a complete hardware specification. The fourth chapter describes the protocol, how a packet is built, what order the bytes have, the meaning of the packets and the timing of packets and signals. It also explains the error handling in the protocol. The fifth chapter describes all read and write parameters and their function. The sixth chapter contains detailed communication examples to a pump. 1.3 Values All values in this document are decimal unless prefixed with 0x for a hexadecimal value. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 5/40 2 Architectural Overview 2.1 Bus Topology The main computer or BMS is called master since it effectively request information from the pumps. All Gateways (or in extension, the pumps) are slaves and they only passively responds to the requests from the master. Pump 1-4 Pump 5-8 RS485 capabl e computer or PLC 24V RS485
Figure 2.1, Example of a simple configuration with DigiCon-Modbus
When using IF-Modules which are plugged into each pump, a simple line structure of the RS485 applies. 2.2 Data Flow The DigiCon-Modbus(the gateway to the pumps) continually reads data from all its pumps and acts as a provider of this data on the RS485-bus. Similarly it collects the data from all writes and gives it to the corresponding connected Pump. The communication on the RS485-bus is always master initiated. After a request an answer or timeout must take place, it is not allowed to send another request without waiting for an answer or timeout. Timing is described at the end of chapter 4. R S 4 8 5
Figure 2.2, Example of the data flow The data is requested and sent by the master. It is then received and responded to by a slave. A slave cannot by itself initiate a transfer. Definition of Modbus RTU on the RS485-Bus
6/40 WILO Modbus RTU DigiCon IF-Modul 3 Hardware Requirements The protocol described in this document is using the industry standard RS485 (for a specification see TIA/EIA-485). It is a two-wire bus protocol describing the physical and electrical levels of the wires. RS485 supports up to 32 connected transceivers (units) including the master, and allow a cable length up to 1000 meters. Note: Make sure that the ends of the RS485 bus are correctly terminated by a 120 Ohm resistor (See operation manuals of the devices for further information). 3.1.1 RS485 Logical Signal Levels When no unit is transmitting, A is negative and B is positive with respect to ground. In RS485 this level is specified as a logical 1. Before any RS485 device sends its data on the bus, all units must know what format the data has, how many data bits, eventual a parity bit and how many stop bits. When data is to be sent it is always preceded by one start bit (a logical 0). The data is transmitted with the LSB (bit 0) first and the data is followed by the eventual parity bit and then the stop bit (a logical 1). a (-) b (+) S 0 1 2 3 4 5 6 7 S S 0 1 2 3 4 5 6 7 S
Figure 3.1, RS485 logical signal levels 3.2 Supported Wilo devices This specification applies to the following products: Art.-No. Description Manufacturer 2097809 IF-Modul Modbus 2 Wilo 2097808 IF-Modul Modbus Stratos 1 Wilo 2061843 DigiCon-Modbus Wilo 1) Stratos SW >= 5.08 2) IP-E, MHIE, MVIE (1.1 4 kW) Helix VE (1.1 4 kW) SW >= 3.00 IL-E, MVIE (5.5 7.5 kW) Helix VE (5.5 7.5 kW) SW >= 4.00; Table 3.1, Products, compliant to Modbus RTU over RS485. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 7/40 4 Protocol Only Modbus RTU (over RS485) is supported. ASCII and other Ethernet variants of the Modbus protocol are not supported. 4.1 Byte Ordering and format In Modbus, one byte can be transmitted in different byte formats. It is important to verify that the correct byte format is used. All supported byte formats are shown in the Table below. DigiCon Modbus DIP Switch 1
IF-Modul Parameter C Data Bits Stop Bits Parity xx11xx 3 8 2 None xx01xx 2 8 1 None xx00xx 6 8 1 Even xx10xx 10 8 1 Odd 1) The two DIP Switches in the middle of the six, placed under the casing of the DigiCon Modbus (from left to right, a 1 means on, 0 means off and a x is a dont care). Table 4.1, Supported byte formats All data bits are sent LSB First and the bits are also numbered in this order, LSB = bit 0. S 0 1 2 3 4 5 6 7 S
Figure 4.1, one byte with a start bit, no parity and one stop bit No handshake protocol is implemented and a whole packet can be sent without a pause. Usually there are no gaps within a packet. Byte ordering is High byte before Low byte. For example: The value 3000 (0x0BB8) is sent as 0x0B, 0xB8. Note: The CRC-Checksum is sent with a different byte ordering as the other bytes, Low byte first. Definition of Modbus RTU on the RS485-Bus
IF-Modul Parameter A Baud Rate No support 0 300 No support 1 600 No support 2 1200 xxxx00 3 2400 No support 4 4800 xxxx10 5 9600 xxxx01 6 19200 No support 7 38400 No support 8 57600 Xxxx11 9 115200 1) The two DIP Switches on the right of the six, placed under the casing of the DigiCon Modbus (from left to right, a 1 means on, 0 means off and a x is a dont care). 4.2 Packet Fields The packets consist of several different fields, and each field is defined as described below. 4.2.1 Address field The address field is always one byte and can contain the values 0 to 255. It contains the address of the slave that is addressed or the slave answering a request. The master always uses this field to direct the message to a specific slave. The slave always writes its own address in this field in order to tell the master from whom the answer came. No device can have the address 0, because it is the broadcast address. Commands sent on this address will be seen by all devices on the bus and none is allowed to answer. Note: the addresses 248 to 255 are reserved and cannot be used. See Modbus RTU Specification for more information. 4.2.2 Function field Every packet has a function field and it describes the structure of the packet. The function field has the size of one byte. It can have the values described in Table 4.2 and furthermore it can contain error information. If the MSB (bit 7) is high it means that an error has occurred and that the following packet data contains the error code. Only the slave is allowed to send the highest bit of the function field as a 1. If any Function is used, other than those presented here, the device will answer with this high bit and an error code. See Chapter 4.5 for more information about error codes. 4.2.3 Data field The data in the Data field is depending on what function is sent. Each request and response packet for a function has different data in the Data field. See each function for a closer description what the packet must contain. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 9/40 4.2.4 Checksum field The checksum has the size of exactly two bytes, and it is the CRC16 sum of all bytes before the checksum. The exact algorithm is described in the Modbus over Serial Line Specification. In short, the start value is 0xFFFF and the 16 bit polynomial is x 15 +x 13 +1. Examples of correct calculated CRC-Sums can be found in chapter 6. Address Type Data Checksum
Figure 4.2, Checksum If a request contained an error and resulted in a checksum error, there will be no answer to the request. If the answer contained an error, the master would most likely send a similar request again. 4.3 Packets The supported function codes are product specific and summarized in the table below. Each function has a request and a response packet. A slave can, instead of answering with a response packet, answer with an error, more about errors in Chapter 4.5. Function field Request description DigiCon- Modbus IF-Modul 03 Read holding registers X X 04 Read input registers X X 06 Preset single register X X 08 Return query data X 16 Preset multiple registers X Table 4.2, Supported Functions Each packet consists of four blocks, Device address, Function code, Data and CRC. All fields have defined sizes except for the Data field. The size of the data field can range from 0 to 252 bytes. A packet can be up to 256 bytes long. Device address Function code CRC Data 1 byte 1 byte N bytes 2 bytes
Figure 4.3, The packet structure. 4.3.1 Function 03 Read Holding register This function is used to read one or more Holding registers. The master always initiates the request and the slave always answers. The first byte of the request is the device address and the second is the number 3 for read holding registers function. After these two bytes comes the start address, describing the Holding register address that is going to be read. Followed by the number of addresses that are to be read from this point on. At the end of the packet the checksum is sent. It is the checksum for all bytes in the packet not including the checksum itself. Definition of Modbus RTU on the RS485-Bus
10/40 WILO Modbus RTU DigiCon IF-Modul Request Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x03 Starting Address 2 bytes 0x0000 to 0xFFFF Quantity of Registers 2 bytes 1 to 125 (0x7D) CRC 2 bytes CRC Table 4.3, Function 3, Request packet The slave must answer with a Response or an error if the CRC-Sum was correctly calculated. The first byte of the response is the device address and the second is the number 3 for read holding registers function. After these two bytes comes the number of bytes returned. This number (divided by two) is the number of returned data points following the Byte count byte. At the end of the packet the checksum is sent. It is the checksum for all bytes in the packet not including the checksum itself. Response Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x03 Byte Count 1 byte 2 x N* Register Values N* x 2 bytes Register Contents CRC 2 bytes CRC N* = Quantity of Registers Table 4.4, Function 3, Response Packet 4.3.2 Function 04 Read Input register This function is used to read one or more Input registers. The master always initiates the request and the slave always answers. The packets are the same as for the function 3, with the only difference that they have the function code 4 instead of 3. Request Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x04 Starting Address 2 bytes 0x0000 to 0xFFFF Quantity of Registers 2 bytes 1 to 125 (0x7D) CRC 2 bytes CRC Table 4.5, Function 4, Request Packet The response packets are also the same as for the function 3. Response Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x04 Byte Count 1 byte 2 x N* Register Values N* x 2 bytes Register Contents CRC 2 bytes CRC N* = Quantity of Registers Table 4.6, Function 4, Response Packet 4.3.3 Function 06 Preset single register This function is used to write a single holding register. The master always requests and the slave always answers. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 11/40 The first byte of the request is the device address and the second is the number 6 for preset single register function. After these two bytes comes the start address, describing the Holding register address that is going to be written. Followed by the actual value that is to be written. At the end of the packet the checksum is sent. It is the checksum for all bytes in the packet not including the checksum itself. Request Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x06 Register Address 2 bytes 0x0000 to 0xFFFF Register Value 2 bytes 0x0000 to 0xFFFF CRC 2 bytes CRC Table 4.7, Function 6, Request Packet The slave must answer with a Response or an error if the CRC-Sum was correctly calculated. The response packet is formatted exactly as the request packet. When it is transmitted it is the definitive response that the value has been properly written to the slaves memory. Note: In the case where the slave is a gateway it can take additional time before the value reaches the pump. In the case of DigiConModbus this can be up to a few seconds. Response Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x06 Register Address 2 bytes 0x0000 to 0xFFFF Register Value 2 bytes 0x0000 to 0xFFFF CRC 2 bytes CRC Table 4.8, Function 6, Response Packet 4.3.4 Function 08 Return Query Data This function is used to check the quality of the bus wiring and connections. This function is not supported by IF-Modules. The slave mirrors the packet to the last bit and sends it unchanged back to the master. The sub-function 00 is the only sub-function that is supported. The first byte of the request is the device address and the second is the number 8 for Return query data function. The next byte must be 0x0000 because it is the only supported sub-function. After these four bytes comes 2 bytes of data and the last two bytes are the checksum. Request Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x08 Sub-Function 2 bytes 0x0000 Data 2 bytes 0x0000 to 0xFFFF CRC 2 bytes CRC Table 4.9, Function 8, Request and Response packet 4.3.5 Function 16 Preset multiple registers This function is used write more than one register within one message. This function is not supported by the DigiCon-Modbus. The master always initiates the request and the slave always answers. Definition of Modbus RTU on the RS485-Bus
12/40 WILO Modbus RTU DigiCon IF-Modul Request Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x10 Starting Address 2 bytes 0x0000 to 0xFFFF Quantity of Registers 2 bytes 0x0000 to 0xFFFF Byte Count 1 byte 2 x N* Register Values N* x 2 bytes Register Contents CRC 2 bytes CRC N* = Quantity of Registers Table 4.10, Function 16, Request Packet The response packet is as follows: Request Packet Field Size Value Device Address 1 byte Address Function Code 1 byte 0x10 Starting Address 2 bytes 0x0000 to 0xFFFF Quantity of Registers 2 bytes 0x0000 to 0xFFFF CRC 2 bytes CRC Table 4.11, Function 16, Response Packet 4.4 Protocol Timing In order to allow for a stable communication, the Modbus RTU protocol has several specified timing constraints. 4.4.1 Byte Level A bit time is derived from the baud rate. The byte size in Modbus can vary between 10 and 11 bits. For all calculations using a byte (character) time, the size 11 is used. This means that even though the bit length of a transmitted byte is 10, the value 11 is used for timing calculations. Usually there are no delays in a transmitted packet. In a Packet the Between Byte time can be as small as 0 ms and is not allowed to exceed 1.5 Character times. S 0 1 2 3 4 5 6 7 S S 0 1 2 3 4 5 6 7 S t bi t t bbt t char
Figure 4.4, Byte level timing Name Description Specified Time t bit Bit time 1 / Baud rate (s) t char Character time 11 / Baud rate (s) t bbt Between byte time 0 to (1.5 x t char ) ms 1, 2
1) Packets with a between byte time larger than specified value will be discarded by the slave. 2) If this time is smaller than 1 ms. The time 1 ms is used. Table 4.12, Byte level timing Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 13/40 4.4.2 Packet Level Request Packet Response Packet Request Packet t eop
t pt
t rt
Request Packet Request Packet t eop
t rto
t eop
Figure 4.5, Packet level timing Name Description Specified Time t eop End of packet time Max (3.5 x t char ) ms 1
t rt Response time Max 30 ms t rto Response time out 30 ms t pt Processing time Max 30 ms 1) Packets with a between byte time larger than specified value will be discarded by the slave. 2) If this time is smaller than 2 ms. The time 2 ms is used. Table 4.13, Packet level timing This means that the slave can discard the packet if a between byte time of more then 1,5 character times is found, and similarly it must detect that it is a new packet if this pause is more than 3,5 character times. The resulting waiting time that the master must wait for an answer (turn around time), would then be following: Baud Character Time (t char ) Turn around time (t eop +t rt ) 2400 4,58 ms 46,0 ms 9600 1,15 ms 34,0 ms 19200 0,573 ms 32,0 ms 115200 0,0955 ms 32,0 ms 1
1) teop is lower than 2 ms and thus increased to 2 ms. Table 4.14, Turn around time values for specific baud rates Note: the DigiCon-Modbus is not intended for remote regulation. It can come to a delay up to a few seconds before the pump accepts the new value. 4.5 Protocol Error Handling If a function or a feature is wanted that the slave does not support, the slave sends an error packet. This packet can be identified from the highest bit of the function code byte. If this high bit is 1 then the packet is an error packet and does not follow the format of a normal response packet. The Error packet is defined as follows. Request Packet Field Size Value Device Address 1 byte Address Function Code 1 byte Bit 7 = 1, plus Function code Exception Code 1 byte See Table 4.16 CRC 2 bytes CRC Table 4.15, Error packet The new field, exception code, is defined as follows: Definition of Modbus RTU on the RS485-Bus
14/40 WILO Modbus RTU DigiCon IF-Modul Exception Code (Decimal) Description 01 Illegal function 02 Illegal data address 03 Illegal data value 11 1 Gateway target device failed to respond 1) only available with DigiCon-Modbus Table 4.16, Exception codes 4.5.1 Error 1 Illegal function If a function is requested that is not supported by the slave, this error is sent as a response. 4.5.2 Error 2 Illegal data address If the master tries to read or write a Holding or Input register that is not supported. This error will be returned. If a range of Holding or Input registers are requested and one of them is not supported, this error will be returned. Note: All pumps do not support all Holding and Input registers. Even DigiCon-Modbus and IF-Modules support different sets of registers. The master software must be able to handle the situation when the pump does not support a Holding or Input register. The registers that are supported can be found in Chapter 6, Pump Support. 4.5.3 Error 3 Illegal data value If a value is written to a Holding register that is out of range of the specified min and max values the slave can send this error back. This Error is optional and support cannot be assured. 4.5.4 Error 11 Gateway target device failed to respond The DigiCon-Modbus buffers the last value from the pump up to a minute after it has stopped transmitting. After this minute the Error 11 is returned on every request. In order to assure that an accidental reset of the DigiCon-Modbus or the pump, does not trigger the communication timeout to this pump in the Building management system, it is suggested to wait one minute after receiving the first Error 11. If still no data is returned within this minute the master should issue a pump communication timeout for that specified pump. This error code is not supported by IF-modules. 4.5.5 Gateway Communication Timeout If the Gateway DigiCon-Modbus or the IF-Module is powered off it does not answer any requests for all its connected pumps, even if the pumps are still running. This must be detected by the master and the master should issue a Gateway communication timeout if no requests has been answered within a minute after the first unanswered request. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 15/40 5 Device Parameters The Device Parameter space is split in two parts, the Holding registers and the Input Registers. Note: The Holding register with address 1 is thus not the same as the Input register with address 1. They could even have different Units. 5.1 Holding Registers Holding register address Description Unit 1 Set Value 0.5% 40 Pump Command See Table 5.2 42 Operation Mode See Table 5.3 44 Tmin for p-T 0.1 K 45 Tmax for p-T 0.1 K 46 pmin for p-T 0.1 m WS 1
47 pmax for p-T 0.1 m WS 1
300 2 Bus Command Timer See Table 5.4 408 2 PID Kp 0.01 (factor) 409 2 PID Ti 0.01 s 410 2 PID Td 0.01 s 1) 1 m WS 9.8 kPa = 0.098 bar 2) not available with DigiCon Table 5.1, Holding register addresses 5.1.1 Set value Holding register address: 1 Value range: 0 to 200 Unit: 0.5 % The set value sets the wanted Speed or Pressure (depending on Operation mode, see section 5.1.3) in percent. Everything below the minimum value (speed or pressure, X min ) of the pump is ignored, and the pump runs at minimum value (see Figure 5.1). It is not possible to turn the pump off with this parameter. set value [%] speed [rpm] or pressure [m WS] X max
X min
0% 100%
Figure 5.1, Set value curve 5.1.2 Pump Command Holding register address: 40 Value range: 0 to 0xFF Unit: see Table 5.2 This Holding register controls the on, off, max speed and min speed modes of the pump. Definition of Modbus RTU on the RS485-Bus
16/40 WILO Modbus RTU DigiCon IF-Modul Note: max speed has priority over min speed and on/off, and min speed has priority over on/off. Bit number Bit = 1 Bit = 0 Note 0 Pump on Pump off Bit number 1 and 2 has priority 1 Min Speed 1 Normal operation Bit number 2 has priority 2 Max Speed Normal operation 3 Reserved Not allowed Must always be 1 All other bits must be set to 0 1) The actual speed in the Min Speed mode can differ slightly from the min speed Input register, it depends on what pump is connected and if it has a special value specified. Table 5.2, Pump Command bit set 5.1.3 Operation Mode Holding register address: 42 Value range: 0-140 Unit: see Table 5.3 This Holding register controls the operation mode of the pump. If a specified pump does not support the current selected mode it goes in mode 3 (p-c). The current operation mode can be read back by the Input register 11 (see section 0). Value Operation mode 0 Unknown 1 Fixed speed 2 Reserved 3 p-c regulation 4 p-v regulation 5 Reserved 6 p-T regulation 140 PID control (not supported by DigiCon) All other values are reserved and should not be used Table 5.3, Operation Mode value 5.1.4 T min for p-T Holding register address: 44 Value range: 0 to (T max ) Unit: 0.1 K This Holding register sets a parameter for the temperature regulation. See Figure 5.2. This value must be lower than the value for T max . 5.1.5 T max for p-T Holding register address: 45 Value range: (T min ) to 65534 Unit: 0.1 K This Holding register sets a parameter for the temperature regulation. See Figure 5.2. This value must be higher than the value for T min . Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 17/40 5.1.6 p min for p-T Holding register address: 46 Value range: 0 to 65534 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) This Holding register sets a parameter for the temperature regulation. See Figure 5.2. This value can be lower or higher than the value for p max . 5.1.7 p max for p-T Holding register address: 47 Value range: 0 to 65534 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) This Holding register sets a parameter for the temperature regulation. See Figure 5.2. This value can be lower or higher than the value for p min . temp [K] h [m WS] p max
p min
T min T max
temp [K] h [m WS] p max
p min
T min T max
Figure 5.2, p-T regulation with a high or low slope
5.1.8 Bus Command Timer Holding register address: 300 Value range: 1 to 5 Unit: none This holding register controls the control source. If OFF, the control source is the set value (5.1.1) When SET is written the IF-Module acknowledges this by changing the state to ACTIVE and starts a timer of 5 min. when the timer is finished, the state changes to RESET and the pump menu is enabled, but new values of the set value, control mode and on/off are no longer transmitted. override Functions remain active. When MANUAL is written, the control source is again the set value, but the local pump menu remains open. new values are handled "last write wins". Value Operation mode 0 Unknown 1 OFF 2 SET 3 ACTIVE 4 RESET 5 MANUAL All other values are reserved and should not be used Table 5.4, Bus Command Timer values Definition of Modbus RTU on the RS485-Bus
18/40 WILO Modbus RTU DigiCon IF-Modul 5.1.9 PID Kp Holding register address: 408 Value range: -32767 to 32767 Unit: 0.01 (gain factor) This Holding register sets the gain factor when using the Operation Mode (5.1.3) PID control. 5.1.10 PID Ti Holding register address: 409 Value range: -32767 to 32767 Unit: 0.01 s This Holding register sets the integration time when using the Operation Mode (5.1.3) PID control. 5.1.11 PID Ti Holding register address: 410 Value range: -32767 to 32767 Unit: 0.01 s This Holding register sets the derivate time when using the Operation Mode (5.1.3) PID control. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 19/40 5.2 Input registers (Single Pump) Some pumps / interfaces do not support some parameters. This means that some parameters can be left unanswered when using DigiCon-Modbus. Others provide their invalid value When using IF-Modules Modbus, unavailable parameters always provide their invalid value. Input register address Description Unit 1 Actual Differential Pressure 0.1 m WS 1
2 Flow Rate 0.1 m/h 3 Power Consumption 1 kWh 4 Power Rating 1 W 5 Operation Hours 10 h 6 Mains Current 0.1 A 7 Speed 1 rpm 8 Medium Temperature 0.1 K 10 Current Operation Mode See Table 5.3. 16 Pump Module See Table 5.6. 17 Pump Type - 18 Max Speed 1 rpm 19 Min Speed 1 rpm 20 Max Pressure p-c 0.1 m WS 1
21 Min Pressure p-c 0.1 m WS 1
22 Max Pressure p-v 0.1 m WS 1
23 Min Pressure p-v 0.1 m WS 1
24 Max Flow Rate 0.1 m/h 25 Min Flow Rate 0.1 m/h 26 Supported Errors See Table 5.9. 27 Supported Service Messages See Table 5.7. 28 Max Power Rating 1 W 35 Service Message See Table 5.7. 36 Error Type See Table 5.8. 37 Error Message See Table 5.9. 38 Pump Status See Table 5.10. 39 State Diagnostics See Table 5.11. 400 2 Effective Set Value 0.5% 402 2 Effective Pump Command See Table 5.2 404 2 Operation Status none 500..501 2 Heartbeat Count none 700 2 Application Version none 740 2 Pump Type Extended - 940 2 Current Warning/Error - 1) 1 m WS 9.8 kPa = 0.098 bar 2) not available with DigiCon-Modbus Table 5.5, Input register addresses 5.2.1 Actual Differential Pressure Input register address: 1 Value range: 0 to 65535 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) This Input register returns the actual differential pressure. Definition of Modbus RTU on the RS485-Bus
20/40 WILO Modbus RTU DigiCon IF-Modul 5.2.2 Flow Rate Input register address: 2 Value range: 0 to 65535 Unit: 0.1 m/h This Input register returns the current flow rate. Note: pumps that do not support this Input register set the value to 9999 (decimal). 5.2.3 Power Consumption Input register address: 3 Value range: 0 to 65535 Unit: 1 kWh This Input register returns the total power consumption in kWh. 5.2.4 Power Rating Input register address: 4 Value range: 0 to 65535 Unit: 1 W This Input register returns the current power rating in watts. 5.2.5 Operation Hours Input register address: 5 Value range: 0 to 65535 Unit: 10 h This Input register returns the operation hours in steps of 10 hours. 5.2.6 Mains Current Input register address: 6 Value range: 0 to 65535 Unit: 0.1 A This Input register returns the mains current in steps of 0.1 amperes. 5.2.7 Speed Input register address: 7 Value range: 0 to 65534 Unit: 1 rpm This Input register returns the current speed in rpm. 5.2.8 Medium Temperature Input register address: 8 Value range: 0 to 65535 Unit: 0.1 K This Input register returns the Temperature. This value is only supported if the pump has a temperature sensor (TOP-E and STRATOS). Note: pumps that do not support this Input register either set the value to 9999 (decimal) or do not respond with data on this Input register. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 21/40 5.2.9 Current Operation Mode Input register address: 10 Value range: 0 to 8 Unit: See Table 5.3. This Input register returns the current operation mode. 5.2.10 Pump Module Input register address: 16 Value range: 0 to 255 Unit: see Table 5.6. This Input register returns if the pump module is frequency converter regulated or not. Bit number Bit = 1 Bit = 0 Note 0 Pump is regulated with a frequency- converter Pump is not regulated
All other bits are unspecified and can be either 0 or 1. Table 5.6, Pump Module Info 5.2.11 Pump Type Input register address: 17 Value range: 0 to 255 Unit: none This Input register returns the pump type which is identical to the PLR pump type. The detailed table can be found at http://www.wilo.com/automation. 5.2.12 Max Speed Input register address: 18 Value range: 0 to 65535 Unit: 1 rpm This Input register returns the max possible speed of the pump. It is the speed that is set when operation mode is set to fixed speed and the set value is set to 100 %. 5.2.13 Min Speed Input register address: 19 Value range: 0 to 65535 Unit: 1 rpm This Input register returns the min possible speed. It is the speed that is set when the operation mode is set to fixed speed and the set value is below the corresponding percentage for min speed. 5.2.14 Max Pressure p-c Input register address: 20 Value range: 0 to 65535 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) This Input register returns the max possible pressure. It is the pressure that is set when operation mode is set to p-c regulation and the set value is set to 100 %. Definition of Modbus RTU on the RS485-Bus
22/40 WILO Modbus RTU DigiCon IF-Modul 5.2.15 Min Pressure p-c Input register address: 21 Value range: 0 to 65535 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) This Input register returns the min possible pressure. It is the pressure that is set when the operation mode is set to p-c regulation and the set value is below the corresponding percentage for min pressure. 5.2.16 Max Pressure p-v Input register address: 22 Value range: 0 to 65535 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) This Input register returns the max possible pressure. It is the pressure that is set when operation mode is set to p-v regulation and the set value is set to 100%. Note: pumps that do not support p-v regulation either set the values to the same as the p-c max value or do not respond with data on this Input register. This Input register should not be used to see if the pump supports p-v regulation. 5.2.17 Min Pressure p-v Input register address: 23 Value range: 0 to 65535 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) This Input register returns the min possible pressure. It is the pressure that is set when the operation mode is set to p-v regulation and the set value is below the corresponding percentage for min pressure. Note: pumps that do not support p-v regulation either set the values to the same as the p-c min value or do not respond with data on this Input register. This Input register should not be used to see if the pump supports p-v regulation. 5.2.18 Max Flow Rate Input register address: 24 Value range: 0 to 65535 Unit: 0.1 m/h This Input register returns the max possible flow rate in steps of 0.1 cubic meters per hour. Note: pumps that do not support this Input register either set the value to 9999 (decimal) or do not respond with data on this Input register. 5.2.19 Min Flow Rate Input register address: 25 Value range: 0 to 65535 Unit: 0.1 m/h This Input register returns the min possible flow rate in steps of 0.1 cubic meters per hour. Note: pumps that do not support this Input register either set the value to 9999 (decimal) or do not respond with data on this Input register. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 23/40 5.2.20 Supported Errors Input register address: 26 Value range: 0 to 0xFFFF Unit: See Table 5.9. This Input register returns the supported errors that can be read in the Input register address 37 (Error Message). It is a bit set value, and a 1 means that the specified error is supported and a 0 means that it is not supported. See Table 5.9. 5.2.21 Supported Service Messages Input register address: 27 Value range: 0 to 0xFFFF Unit: See Table 5.7. This Input register returns the supported service messages that can be read in the Input register address 35 (Service Message). It is a bit set value, and a 1 means that the specified error is supported and a 0 means that it is not supported. See Table 5.7. 5.2.22 Max Power Rating Input register address: 28 Value range: 0 to 65535 Unit: 1 W This Input register returns the maximum power rating under normal circumstances for the pump in Watts. 5.2.23 Service Message Input register address: 35 Value range: 0 to 0xFFFF Unit: See Table 5.7. This Input register returns the actual service needed, see Table 5.7. Bit number Bit = 1 Bit = 0 Note 0 Service needed 1 No service needed 1 Exchange bearing 1 No service needed 2 Oil bearing 1 No service needed 3 Change sealing 1 No service needed All other bits are unspecified and can be either 0 or 1. 1) In the case of a double pump, this applies to both master and slave. Table 5.7, Service Message bit set 5.2.24 Error Type Input register address: 36 Value range: 0 to 0xFFFF Unit: see Table 5.8. This Input register returns the pump error. If one bit is active an error is present. A possible list of errors is located in the pump manual. Definition of Modbus RTU on the RS485-Bus
24/40 WILO Modbus RTU DigiCon IF-Modul Bit number Bit = 1 Bit = 0 Note 0 Module error No error 1 Motor error No error 2 Reserved Reserved 3 Pump error No error 4 Supply voltage error No error All other bits are unspecified and can be either 0 or 1. Table 5.8, Error Type bit set 5.2.25 Error Message Input register address: 37 Value range: 0 to 0xFFFF Unit: See Table 5.9. This Input register returns the error as specified in Table 5.9. No warnings are transmitted over the bus, only Errors (when the SSM relay becomes active in the Pump). Bit number Bit = 1 Bit = 0 Note 0 Undervoltage 1 No error E04 1 Overvoltage 1 No error E05 2 One phase missing 1 No error E06 3 Idle running 1 No error E11 4 System pressure too high 1
No error 5 System pressure too low 1
No error 8 Motor overheated 1 No error E20 9 Motor error 1 No error E16, E21, E23, E24, E25, E26 10 Pump blocked 1 No error E10, E12 11 Module overheated 1 No error E30 12 Module warning 1 No error E31, E34, E52 13 Module error 1 No error E36, E37, E50 14 Sensor malfunction 1 No error E27, E38, E40, E41 All other bits are unspecified and can be either 0 or 1. 1) In the case of a double pump, this applies to both master and slave. Table 5.9, Error Message bit set 5.2.26 Pump Status Input register address: 38 Value range: 0 to 0xFFFF Unit: see Table 5.10. This Input register returns the actual pump status. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 25/40 Bit number Bit = 1 Bit = 0 Note 0 Pump turned on Pump turned off 1 Left rotation Right rotation 2 Difference >10% Difference <10% Actual and set point difference 3 Extern off active Extern off not active
4 Double pump Single pump 5 Manual override Normal mode Is set when manual override is set by the IR-Monitor. 6 Q/H values are invalid Normal mode 7 Extern min active Extern min not active
13 Wink/Service mode Normal mode All other bits are unspecified and can be either 0 or 1. Table 5.10, Pump Status bit set 5.2.27 State Diagnostics Input register address: 39 Value range: 0 to 0xFFFF Unit: See Table 5.11. This Input register returns some information about the pump. Bit number Bit = 1 Bit = 0 Note 0 Pump or module error 1 No error Activated on all Errors. 1 Supply error 1 No error Activated on E04, E05 and E06. 3 Min regulation limit reached 1
Normal operation 4 Max regulation limit reached 1
Normal operation 6 Set value out of range 1 Normal operation 8 Manual override Normal operation Is set when manual override is set by the IR-Monitor. 10 Pump running 1 Pump not running All other bits are unspecified and can be either 0 or 1. 1) In the case of a double pump, this applies to both master and slave. Table 5.11, State diagnostics bit set 5.2.28 Effective Set value Input register address: 400 Value range: 0 to 200 Unit: 0.5 % The effective set value reports the set value (5.1.1) currently active in the pump. The scale is given by the maximum value corresponding to the Current operation mode (0).
Definition of Modbus RTU on the RS485-Bus
26/40 WILO Modbus RTU DigiCon IF-Modul 5.2.29 Effective Pump Command Input register address: 402 Value range: 0 to 0xFF Unit: See Table 5.2 The effective set value reports the Pump Command (5.1.2) currently active in the pump. 5.2.30 Operation Status Input register address: 404 Value range: 0 to 0xFF Unit: See Table 5.2 The effective set value reports the Pump Command (5.1.2) currently active in the pump. This Input register returns some information about the pump. Bit number Bit = 1 Bit = 0 Note 0 Ready for Operation Not ready 1 Pump is operating Not operating 2 Service Required 1 Not required 3 Warning Present No warning 4 Error Present Not present 5 Final Error Not final All other bits are unspecified and can be either 0 or 1. Table 5.12, Operation Status bit set 5.2.31 Heartbeat count Input register address: 500..501 Value range: 0 to 0xFFFFFFFF Unit: none This register counts up the Heartbeats sent by the pump to the IF-Module. The counter is reset by a restart of the pump communication controller and power on of the pump. The typical count rate is 1 tick per second. The value is a DWORD where the most significant WORD is stored in the register 500. 5.2.32 Application Version Input register address: 700 Value range: 0 to 0xFFFF Unit: none This register contains the version of the IF-Module firmware where the main version is coded into the high byte. 5.2.33 Pump Type Extended Input register address: 740 Value range: 0 to 0xFFFF Unit: none This register contains the extended pump type which is identical to the CAN pump type. The detailed table can be found at http://www.wilo.com/automation. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 27/40 5.2.34 Current Warning / Error Input register address: 940 Value range: 0 to 0xFF Unit: This register contains the Error number displayed at the pump display. For details please refer to the pump operating manual. Note: all other registers beside this and (5.2.30 Operation Status) only report final errors. 5.3 Input registers (special for a Double Pump) These parameters are not supported by single pumps and can be left unanswered when using DigiCon-Modbus. When using IF-Modules Modbus all request are answered, but unavailable parameters always provide their invalid value. . To see whether a pump is a double pump or not, bit number 4 in Input register address 38 (Pump Status) should be read and evaluated. Note: If the power to the slave is interrupted, the master automatically switches over to being a single pump. Input register address Description Unit 9 Operating Hours DP 10 h 65 Actual Differential Pressure (Slave) 0.1 m WS 1
66 Flow Rate (Slave) 0.1 m/h 67 Power Consumption (Slave) 1 kWh 68 Power Rating (Slave) 1 W 69 Operating Hours (Slave) 10 h 70 Mains Current (Slave) 0.1 A 71 Speed (Slave) 1 rpm 80 Pump Module (Slave) See Table 5.6. 81 Pump Type (Slave) - 100 Error Type (Slave) See Table 5.8. 102 Pump Status (Slave) See Table 5.10. 750 2 Pump Type Extended - 950 2 Current Warning/Error - 1) 1 m WS 9.8 kPa = 0.098 bar 2) not available with DigiCon-Modbus Table 5.13, Double Pump specific Input register addresses 5.3.1 Operating Hours DP Input register address: 9 Value range: 0 to 65534 Unit: 10 h This Input register returns the operating hours of the double pump system. 5.3.2 Actual Differential Pressure (Slave) Input register address: 65 Value range: 0 to 65534 Unit: 0.1 m WS ( 0.98 kPa = 0.0098 bar) Definition of Modbus RTU on the RS485-Bus
28/40 WILO Modbus RTU DigiCon IF-Modul This Input register returns the actual differential pressure of the slave in a double pump. 5.3.3 Flow Rate (Slave) Input register address: 66 Value range: 0 to 65534 Unit: 0.1 m/h This Input register returns the actual flow rate of the slave in a double pump. Note: A pump that does not support this Input register sets the value to 9999 (decimal). 5.3.4 Power Consumption (Slave) Input register address: 67 Value range: 0 to 65534 Unit: 1 kWh This Input register returns the total power consumption in kWh of the Slave in a double pump. 5.3.5 Power Rating (Slave) Input register address: 68 Value range: 0 to 65534 Unit: 1 W This Input register returns the current power rating of the Slave in a double pump. 5.3.6 Operating Hours (Slave) Input register address: 69 Value range: 0 to 65534 Unit: 10 h This Input register returns the operation hours of the Slave in a double pump. 5.3.7 Mains Current (Slave) Input register address: 70 Value range: 0 to 65534 Unit: 0.1 A This Input register returns the mains current of the Slave in a double pump. 5.3.8 Speed (Slave) Input register address: 71 Value range: 0 to 65534 Unit: 1 rpm This Input register returns the current speed of the Slave in a double pump. 5.3.9 Pump Module (Slave) Input register address: 80 Value range: 0 to 255 Unit: see Table 5.6. This Input register returns the module type of the Slave in a double pump. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 29/40 5.3.10 Pump Type (Slave) Input register address: 81 Value range: 0 to 255 Unit: none This Input register returns the pump type which is identical to the PLR pump type. The detailed table can be found at http://www.wilo.com/automation. 5.3.11 Error Type (Slave) Input register address: 100 Value range: 0 to 0xFFFF Unit: see Table 5.8. This Input register returns the error of the Slave in a double pump. 5.3.12 Pump Status (Slave) Input register address: 102 Value range: 0 to 0xFFFF Unit: see Table 5.10. This Input register returns the pump status of the Slave in a double pump. 5.3.13 Pump Type Extended (Slave) Input register address: 750 Value range: 0 to 0xFFFF Unit: none This register contains the extended pump type which is identical to the CAN pump type. The detailed table can be found at http://www.wilo.com/automation. 5.3.14 Current Warning / Error (Slave) Input register address: 940 Value range: 0 to 0xFF Unit: This register contains the Error number displayed at the pump display of the Slave. For details please refer to the pump operating manual. Definition of Modbus RTU on the RS485-Bus
30/40 WILO Modbus RTU DigiCon IF-Modul 6 Pump Support This chapter contains the supported parameters by Pump. 6.1 Holding registers These are the supported parameters for the following pump categories. Holding register address Description Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 1 Set Value yes yes yes 40 Pump Command yes see Table 6.2 see Table 6.2 42 Operation Mode yes see Table 6.3 see Table 6.3 44 Tmin for p-T yes no 1) no 1)
45 Tmax for p-T yes no 1) no 1)
46 pmin for p-T yes no 1) no 1)
47 pmax for p-T yes no 1) no 1)
300 2) Bus Command Timer yes yes yes 1) Holding register not supported by the pump, but the value can be written to the Modbus and read from the Modbus module. 2) Not supported by DigiCon Table 6.1, Holding register pump support 6.1.1 Pump Command Bit number Description Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Pump on/off yes yes yes 1 Min Speed
yes yes yes 2 Max Speed yes yes yes 3 Reserved no no no Table 6.2, Pump Command pump support TOP-E does not support IF-Module Modbus. For details about the support of IF- Modules refer to documentation of pump and IF-Modules. 6.1.2 Operation Mode If the pump does not support the write value, the mode p-c (p-c) regulation is automatically selected. Value Operation mode Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Unknown no no no 1 Fixed speed yes yes yes 2 Reserved no no no 3 p-c regulation yes yes (p-c) yes 4 p-v regulation yes no yes 5 Reserved no no no 6 p-T regulation yes no no 140 PID control no yes yes Table 6.3, Operation Mode pump support Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 31/40 6.2 Input registers (Single Pump) These are the supported parameters for the following pump categories and interfaces. Definition of Modbus RTU on the RS485-Bus
32/40 WILO Modbus RTU DigiCon IF-Modul Input register address Description Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 1 Actual Differential Pressure yes yes (p-c) yes 2 Flow Rate yes no, always 9999 yes 3 Power Consumption yes yes yes 4 Power Rating yes yes yes 5 Operation Hours yes yes yes 6 Mains Current yes yes yes 7 Speed yes yes yes 8 Medium Temperature yes no no 10 Current Operation Mode see Table 6.3 see Table 6.3 see Table 6.3 16 Pump Module see Table 6.5 see Table 6.5 see Table 6.5 17 Pump Type yes yes yes 18 Max Speed yes yes yes 19 Min Speed yes yes yes 20 Max Pressure p-c yes yes yes 21 Min Pressure p-c yes yes yes 22 Max Pressure p-v yes Max Pressure p-c yes 23 Min Pressure p-v yes Min Pressure p-c yes 24 Max Flow Rate yes yes yes 25 Min Flow Rate no yes yes 26 Supported Errors see Table 6.8 see Table 6.8 see Table 6.8 27 Supported Service Messages see Table 6.6 see Table 6.6 see Table 6.6 28 Max Power Rating yes yes yes 35 Service Message see Table 6.6 see Table 6.6 see Table 6.6 36 Error Type see Table 6.7 see Table 6.7 see Table 6.7 37 Error Message see Table 6.8 see Table 6.8 see Table 6.8 38 Pump Status see Table 6.9 see Table 6.9 see Table 6.9 39 State Diagnostics see Table 6.10 see Table 6.10 see Table 6.10 400 1) Effective Set Value yes yes yes 402 1) Effective Command yes yes yes 500 1) Heartbeat Count yes yes yes 700 1) Application Version yes yes yes 740 1) Pump Type Extended yes yes yes 940 1) Current Warning/Error yes yes yes 1) not supported by DigiCon Table 6.4, Input register pump support Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 33/40 Within the IF-Modules, the registers 1.. 39 and 400..402 are readable as one block TOP-E does not support IF-Module Modbus. For details about the support of IF- Modules refer to documentation of pump and IF-Modules. 6.2.1 Pump Module Bit number Bit = 1 Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Pump is regulated with a frequency- converter yes, always 1 yes, always 1 yes, always 1 Table 6.5, Pump Module Info support 6.2.2 Service Message Bit number Bit = 1 Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Service needed
yes yes yes 1 Exchange bearing yes no, always 0 no, always 0 2 Oil bearing yes no, always 0 no, always 0 3 Change sealing yes no, always 0 no, always 0 Table 6.6, Service Message bit set support 6.2.3 Error Type Bit number Bit = 1 Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Module error yes yes yes 1 Motor error yes yes yes 2 Reserved yes yes yes 3 Pump error yes yes yes 4 Supply voltage error yes yes yes Table 6.7, Error Type bit set support Definition of Modbus RTU on the RS485-Bus
34/40 WILO Modbus RTU DigiCon IF-Modul 6.2.4 Error Message Bit number Bit = 1 Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Undervoltage yes yes yes 1 Overvoltage yes yes yes 2 One phase missing yes yes yes 3 Idle running yes yes no, always 0 4 System pressure too high yes no, always 0 no, always 0 5 System pressure too low yes no, always 0 no, always 0 8 Motor overheated yes yes yes 9 Motor error yes yes yes 10 Pump blocked yes yes yes 11 Module overheated yes yes yes 12 Module warning yes yes yes 13 Module error yes yes yes 14 Sensor malfunction yes yes, (4-20mA) no, always 0 Table 6.8, Error Message bit set support 6.2.5 Pump Status Bit number Bit = 1 Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Pump running yes yes yes 1 Rotation direction yes yes yes 2 Difference <>10% yes yes yes 3 Extern off yes yes yes 4 Single/Double pump yes yes, always 0 yes 5 Manual override yes yes yes 6 Q/H values invalid yes yes, always 1 yes 7 Extern min yes no, always 0 no, always 0 13 Wink/Service yes yes yes Table 6.9, Pump Status bit set support Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 35/40 6.2.6 State Diagnostics Bit number Bit = 1 Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 0 Pump or module error yes yes yes 1 Supply error yes yes yes 3 Max regulation limit reached yes yes yes 4 Min regulation limit reached yes yes yes 6 Set value out of range yes yes yes 8 Manual override yes yes yes 10 Pump running yes yes yes Table 6.10, State diagnostics bit set support 6.3 Input registers (special for a Double Pump) These are the supported parameters for the following pump categories and interfaces. Input register address Description Stratos, TOP-E MHIE, MVIE, MVISE IP-E, IL-E 9 Operating Hours DP yes always 0 yes 65 Actual Differential Pressure (Slave) yes yes yes 66 Flow Rate (Slave) yes yes yes 67 Power Consumption (Slave) yes yes yes 68 Power Rating (Slave) yes yes yes 69 Operating Hours (Slave) yes yes yes 70 Mains Current (Slave) yes yes yes 71 Speed (Slave) yes yes yes 80 Pump Module (Slave) see Table 6.5 see Table 6.5 see Table 6.5 81 Pump Type (Slave) yes yes yes 100 Error Type (Slave) see Table 6.7 see Table 6.7 see Table 6.7 102 Pump Status (Slave) see Table 6.9 see Table 6.9 see Table 6.9 750 1) Pump Type Extended (Slave) yes yes yes 950 1) Current Warning/Error (Slave) yes yes yes 1) not supported by DigiCon Table 6.11, Double Pump specific Input register addresses support Definition of Modbus RTU on the RS485-Bus
36/40 WILO Modbus RTU DigiCon IF-Modul TOP-E does not support IF-Module Modbus. For details about the support of IF- Modules refer to documentation of pump and IF-Modules. Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 37/40 7 Transaction Examples 7.1 Single Pump 7.1.1 Example 1: Simple Write Sending the commands Pump On to the pump with address 1. Request Description Value Response Description Value Device address 1 Device address 1 Function code 6 Function code 6 Register address High 0 Register address High 0 Register address Low 40 Register address Low 40 Register value High 0 Register value High 0 Register value Low 9 Register value Low 9 CRC Low 0xC9 CRC Low 0xC9 CRC High 0xC4 CRC High 0xC4 Table 7.1, a simple Write example 7.1.2 Example 2: Simple Read Reading the Actual Differential Pressure from the pump with address 10. The pump answers, that it is running with a pressure of 4,5 m WS. Request Description Value Response Description Value Device address 10 Device address 10 Function code 4 Function code 4 Starting Address High 0 Byte Count 2 Starting Address Low 1 Register Value 1 High 0 Quantity of RegistersHi 0 Register Value 1 Low 45 Quantity of RegistersLo 1 CRC Low 0xDD CRC Low 0x61 CRC High 0x02 CRC High 0x71 Table 7.2, a simple read example 7.1.3 A Write example with an error response Trying to use read the Holding register address 47, but it is not supported and an error 2 is sent as response. Request Description Value Response Description Value Device address 1 Device address 1 Function code 3 Function code 0x83 Register address High 0 Exception code 2 Register address Low 47 CRC Low 0xC0 Register value High 0 CRC High 0xF1 Register value Low 0 CRC Low 0xF5 CRC High 0xDF Table 7.3, a read write example with unanswered data 7.2 Double Pump The difference between a single pump and a double pump is that one bit is set in Status register (Input register address 38) and that more Input registers are accessible. Definition of Modbus RTU on the RS485-Bus
38/40 WILO Modbus RTU DigiCon IF-Modul 7.2.1 Example 4: Simple Read Reading Pump Status from the pump with address 8. The pump reports that it is off and that it is a double pump. Request Description Value Response Description Value Device address 8 Device address 8 Function code 4 Function code 4 Starting Address High 0 Byte Count 2 Starting Address Low 38 Register Value 1 High 0 Quantity of RegistersHi 0 Register Value 1 Low 16 Quantity of RegistersLo 1 CRC Low 0x64 CRC Low 0xD0 CRC High 0xFD CRC High 0x98 Table 7.4, a read write example to a double pump Definition of Modbus RTU on the RS485-Bus WILO Modbus RTU DigiCon IF-Modul 39/40 8 Version History Please report errors to sebastian.edman@wilo.com The latest version of this document can be found at http://www.wilo.com/automation. Version Date 1 Author Description 1.00 2006-07-07 Edman Created 1.01 2006-12-15 Edman Added Chapter 6 Pump Support. 1.02 2007-03-26 Edman Added description and Error Numbers corresponding to the bits in Table 5.9 and Table 5.11. 1.03 2007-08-29 Edman Corrected Table 6.2 1.04 2008-05-08 Edman Updated Table 5.6 1.04b 2008-07-07 Edman Text corrections (Write-/Read-Points to Holding and Input registers) 1.04c 2008-10-02 Edman Deleted the misleading left over Data Type. 1.05 2008-10-29 Edman Corrected Table 5.11 (swapped bit 3 and 4). 1.06 2009-04-27 Edman Updated Table 5.6 (Pump Types) 1.07 2009-11-01 Edman Corrected Table 6.4 (Stratos does not support Read-Point 25). Added Pump Type 0, 254, 255. 1.08 2010-07-16 Henkel Added new IF-Module support 1.09 2011-01-04 Henkel minor corrections 1) YYYY-MM-DD Table 8.1, Version History Definition of Modbus RTU on the RS485-Bus
40/40 WILO Modbus RTU DigiCon IF-Modul
The data in this document are subject to change without prior notice. Wilo cannot be held responsible for any problems caused directly or indirectly by using information in this document.