ECCIII Modbus RTU BAS Interface

ECCIII Modbus RTU BAS Interface SUPERSEDES: M51SV-MODBS0310 FORM NO: M51SV-EC3MB0406 ECCIII Modbus RTU BAS Interface Introduction PoolPaks equipped ...
Author: Gwen Thornton
0 downloads 0 Views 29KB Size
ECCIII Modbus RTU BAS Interface SUPERSEDES: M51SV-MODBS0310

FORM NO: M51SV-EC3MB0406

ECCIII Modbus RTU BAS Interface Introduction PoolPaks equipped with the ECCIII controller can be directly connected to a Modbus based Building Automation System (BAS). Specifically, the protocol is Modbus RTU using an RS485 physical layer with the ECCIII acting as a slave device. The device address and baud rate can be configured in the field. 58 control points that include all basic information and set points for the PoolPak dehumidification system are available through the interface. Modbus Protocol Details The protocol used by the ECCIII is Modbus RTU with 8 bit encoding and 16 bit CRC error checking. The ECCIII operates as a slave on the Modbus network. Modbus protocol implementation complies with the document: Modicon Modbus Protocol Reference Guide March 1992, PI-MBUS-300 Rev. D This document is available from the web site www.modbus.org. The communications port on the ECCIII is an optically isolated RS485 transceiver. Port settings are: 8 data bits, 2 stop bits, and no parity. The baud rate can be field adjusted from 1200 up to the factory default of 19200 by setting a configuration parameter in the ECCIII’s service menu. The following Modbus functions are implemented in the ECCIII: Function Code

Function

Description

01

Read Output Status

Read digital variables

02

Read Input Status

Read digital variables

03

Read Output Registers

Read analog/integer variables

04

Read Input Registers

Read analog / integer variables

05

Force Single Coil

Write digital variable

06

Force Single Register

Write analog / integer variable

15

Force Multiple Coils

Write multiple digital variables

16

Preset Multiple Registers

Write multiple analog / integer variables

The error messages returned by the ECCIII conform to the Modbus specification. Specifically, when an error occurs, the packet sent back to the master contains the original function code with the most significant bit set to 1, followed by a byte containing the error code number. The following Modbus error codes are implemented in the ECCIII: Error Code

Description

01

Illegal Function

02

Illegal Data Address

03

Illegal Data Value

If the ECCIII receives a packet with an incorrect check sum, no error message will be returned to the master. If the master requests a register value that does not exist in the ECCIII, the value will be returned as 0. ECCIII Modbus Configuration Parameters The three Modbus configuration parameters are accessed by pressing Key I on the ECCIII’s Remote Terminal Unit (RTU). The password to access the service menu is 0005. After successfully entering the password, use the down arrow key to scroll down the list of parameters. The three BAS interface parameters are: 062. Baudrate – This parameter sets the baud rate for the onboard serial port. It can be set to 1200, 2400, 4800, 9600, or 19200. The factory default setting is 19200. BAS Addr – This parameter sets the address of the ECCIII on the Modbus network. It can be set to any integer from 1 to 247. The factory default setting is 1. Ser Port Proto – This parameter sets the protocol that the ECCIII will use for the onboard serial port. For Modbus operation, it must be set to MBRTU. The factory default is RS485. A setting of RS485 causes the ECCIII to use a proprietary protocol. The MBRTU setting is also RS485, but uses the Modbus RTU protocol.

2

Physical Network Connection The terminal blocks for field connection to the Modbus RTU network are located in the PoolPak’s main control panel. The block is labeled T16. Terminals 1, 2, and 3 are used for connection to the network with the following functions: Terminal ID

Function

T16.1

Tx/Rx + (A)

T16.2

Tx/Rx – (B)

T16.3

Ground

PoolPak recommends the use of 22 AWG shielded twisted pair cable for runs up to 500 feet. For runs greater than 500 feet, contact the factory. Use two wires from the same pair for connection of T16.1 and T16.2. Use both wires from a second pair for connection of T16.3. Control Points Mapping The ECCIII’s Modbus interface provides 58 control points that include all basic status information and set points for the PoolPak dehumidification system. There are three types of points available, analog, integer, and digital. Analog values are multiplied by 10 before being sent through the Modbus interface. For example, a return air temperature of 25.3 will be sent through the Modbus interface as 253. Integer and digital values are sent directly through the interface without modification. The following table lists the available points along with their address offsets and types. For more information on the use of address offsets, please refer to the Modicon standard referenced on page 1 of this document. Note: Temperatures are expressed in degrees Celsius. Temperature set points are expressed in degrees Fahrenheit. Address Offset 2

Description

Point Type

Supply Fan Current

Input Register (3XXXX)

Var Type Analog

3

Return Fan Current

Input Register (3XXXX)

Analog

4

System 1 Compressor Current

Input Register (3XXXX)

Analog

5

Return Air Temperature

Input Register (3XXXX)

Analog

6

Outside Air Temperature

Input Register (3XXXX)

Analog

7

Exhaust Damper Actual Position

Input Register (3XXXX)

Analog

8

Recirc Damper Actual Position

Input Register (3XXXX)

Analog

9

Outside Damper Actual Position

Input Register (3XXXX)

Analog

10

Air Off Evap Temperature

Input Register (3XXXX)

Analog

11

Cold Surface Temperature

Input Register (3XXXX)

Analog

12

Return Air Relative Humidity

Input Register (3XXXX)

Analog

3

13

Outside Air Relative Humidity

Input Register (3XXXX)

Analog

14

Air Off Evap Relative Humidity

Input Register (3XXXX)

Analog

15

System 2 Compressor Current

Input Register (3XXXX)

Analog

16

Pool 1 Water Temperature

Input Register (3XXXX)

Analog

17

Pool 2 Water Temperature

Input Register (3XXXX)

Analog

18

Supply Air Temperature

Input Register (3XXXX)

Analog

19

Return Air CO2 Level (ppm)

Input Register (3XXXX)

Analog

20

Fuzzy Logic Damper Variable

Input Register (3XXXX)

Analog

21

Fuzzy Logic Return Temp Var

Input Register (3XXXX)

Analog

22

Fuzzy Logic Return Dewpoint Var

Input Register (3XXXX)

Analog

23

Requested Outside Damper Pos

Input Register (3XXXX)

Analog

130

System 1 Active Fault Code

Input Register (3XXXX)

Integer

131

System 2 Active Fault Code

Input Register (3XXXX)

Integer

132

Compressor Stages Desired

Input Register (3XXXX)

Integer

133

Compressor Stages of Heat/Cool

Input Register (3XXXX)

Integer

134

Compressor Stages of Dehumid

Input Register (3XXXX)

Integer

135

Damper Position Limit Code

Input Register (3XXXX)

Integer

136

System 1 Fault Count

Input Register (3XXXX)

Integer

137

System 2 Fault Count

Input Register (3XXXX)

Integer

138

Return Air Temperature Set Point

Input Register (3XXXX)

Integer

139

Pool 1 Water Temp Set Point

Input Register (3XXXX)

Integer

140

Pool 2 Water Temp Set Point

Input Register (3XXXX)

Integer

141

Return Air RH Set Point

Input Register (3XXXX)

Integer

142

Damper Min Pos Limit Set Point

Input Register (3XXXX)

Integer

143

Damper Max Pos Limit Set Point

Input Register (3XXXX)

Integer

144

Return Air Temperature Set Point

Holding Reg. (4XXXX)

Integer

145

Pool 1 Water Temp Set Point

Holding Reg. (4XXXX)

Integer

146

Pool 2 Water Temp Set Point

Holding Reg. (4XXXX)

Integer

147

Return Air RH Set Point

Holding Reg. (4XXXX)

Integer

148

Damper Min Pos Limit Set Point

Holding Reg. (4XXXX)

Integer

149

Damper Max Pos Limit Set Point

Holding Reg. (4XXXX)

Integer

150

Aux Air Heat Stages Active

Input Register (3XXXX)

Integer

151

System 1 Operation Mode

Input Register (3XXXX)

Integer

152

System 2 Operation Mode

Input Register (3XXXX)

Integer

4

2

System 1 Pool Water Flow

Input Status (1XXXX)

Digital

3

System 2 Pool Water Flow

Input Status (1XXXX)

Digital

4

Occupied Mode Status

Input Status (1XXXX)

Digital

5

Purge Mode Status

Input Status (1XXXX)

Digital

6

System 1 ACC Status

Input Status (1XXXX)

Digital

7

System 2 ACC Status

Input Status (1XXXX)

Digital

8

Aux Pool Water Heater 1

Input Status (1XXXX)

Digital

9

Aux Pool Water Heater 2

Input Status (1XXXX)

Digital

10

Force Occupied Mode

Coil Status (0XXXX)

Digital

11

Force Unoccupied Mode

Coil Status (0XXXX)

Digital

12

Force Purge Mode

Coil Status (0XXXX)

Digital

13

Force No Purge Mode

Coil Status (0XXXX)

Digital

14

Active Alarm Present

Coil Status (0XXXX)

Digital

Changing a Set Point Two data points are allocated for each set point. One of the points is a holding register and the other is an input register. To change a set point, use function code 6 to force the appropriate holding register to the new set point value. Verify that the ECCIII has accepted the new value by reading the value back from the corresponding input register. There are value limits for each set point. If the BAS tries to set an inappropriate value, the ECCIII will apply the limits to the requested change. The BAS can detect this event by verifying the change in the input register for the set point. Controlling Occupied and Purge Modes The BAS can control the PoolPak’s Occupancy and Purge Modes directly. This control overrides all internal schedules and controls in the ECCIII. To force occupied mode, use function code 5 to force the coil at offset 10 to 1 and the coil at offset 11 to 0. To force unoccupied mode, force the coil at offset 10 to 0 and the coil at offset 11 to 1. Use this same process to control purge mode with the coils at offsets 12 and 13. Active Alarm Flag Control The coil at offset 14 indicates the status of the ECCIII’s alarm flag. This status corresponds to the red light inside the RTU’s alarm button. When the status is 1, there is an uncleared alarm present in the ECCIII. To clear the alarm, use function code 5 to force the coil at offset 14 to 0. If there are no active alarms in the system, the coil value will stay 0. If there are still active alarms present, the ECCIII will set the coil value back to 1.

5

Troubleshooting Symptom

Possible Cause Power to ECCIII is off. Incorrect baud rate setting.

No response from ECCIII when polled by the master on the Modbus network

Incorrect BAS Address setting. Incorrect Serial Port Protocol setting. Serial port polarity is reversed.

Set point changes are different than requested by BAS. Replies from ECCIII are sporadic.

Solution Turn on power to ECCIII at PoolPak control panel. Set the baud rate parameter to the correct value. Set the BAS Address parameter to the correct value. Set the Serial Port Protocol parameter to MBRTU. Swap the wires connected to T16.1 and T16.2.

Requested set point value is outside of the acceptable range.

Select set points based on the acceptable range.

Electrical interference.

Route network wiring away from other electrical devices.

6