Modbus Communication Guide 3 - 1
Modbus Communication Guide 3 - 1
Table of contents
Chapter 1 Introduction Chapter 2 Modbus communication Chapter 3 Modbus and Corrigo E Chapter 4 Setting up Modbus communication Chapter 5 Commonly used signals Appendix Alarm list 3 4 7 8 10 15
Chapter 1 Introduction
Corrigo E ventilation Corrigo E ventilation is a pre-programmed application for control of an air handling unit. The Corrigo E controller can either be used stand-alone or integrated in an existing EXO project, in both cases it is configured via the display or using the configuration tool E tool on a PC.
This document gives you an introduction to communication via Modbus and provides you with a list of commonly used signals. The list is found in chapter 5. A complete list of all signals accessible via Modbus and the EXOline protocol is found in the document Corrigo E Ventilation variables (accessible via the help menu in E tool). This document does not describe how to create an EXO project or how to set up EXOline communication. For these matters, please refer to the EXO System and E tool manuals.
Signals
All signals described in this document are accessible from a SCADA/Modbus master system. The signals that have a default value are settings that can be changed; the signals without default values are actual values and cannot be changed.
Chapter 1 Introduction
General
A Modbus network consists of one master unit and one or more slave units. The Master controls the communication and requests information from the slave units. These are bound to answer in a certain manner depending on the request. The rules for communication are set up by the protocol. The Modbus protocol specification can be downloaded for free from the Modbus Organisation website www.modbus.com. The simplified example below visualises the Master/Slave relation. In addition to the figure, checksums for message validation are also transmitted in both query and answer.
EXOL type
The Corrigo is programmed in the language EXOL, which has four different types of signals. These signal types are important to keep in mind since they decide what scale factor should be used to interpret the signal values. More about scale factors in chapter 3. The EXOL types of the signals: R = Real (-3.3E38 - 3.3E38) I = Integer (-32768 - 32767) X = Index (0 - 255) L = Logic (0/1)
Modbus type
The Modbus types are not bound to the EXOL types. Therefore the list of common signals in chapter 5 contains both types. The Modbus types of the signals (type in the list in chapter 5): 1 = Coil Status Register (Modbus function = 1, 5 and 15) 2 = Input Status Register (Modbus function = 2) 3 = Holding Register (Modbus function = 3, 6 and 16) 4 = Input Register (Modbus function = 4) 2 and 4 are read-only, while 1 and 3 are read-write.
Modbus functions
The Modbus master uses different Modbus functions in its query, depending on whether to read or write values. A function also describes what signal type it is meant for. Supported Modbus functions: 1 = Read Coils 2 = Read Discrete Input 3 = Read Holding Register 4 = Read Input Register 5 = Write Single Coil 6 = Write Single Register 15 = Write Multiple Coils 16 = Write Multiple Registers
Max. 47 registers
A protocol such as Modbus consists of several layers (OSI-model). The bottom layer is always the physical layer, number of wires and signal levels. The next layer describes the communication digits (number of data bits, stop-bits, parity etc.). After that come the layers describing the Modbus specific functions (number of digits per message, the meaning of different messages etc.). For Modbus, the bottom layer can be RS485, RS422 or RS232.
RS485 and RS422 are the electric part of the protocol, i.e. the physical layer. RS485 has two connections, A and B. Often there is also a protective ground (N on EXO controllers). RS485 units are always connected A A and B B. RS485 is socalled half duplex communication: Communication can only go in one direction at a time; i.e. the master will first send an enquiry and will thereafter listen for the reply. A and B are used for both transmission and reception. RS422 is a full duplex communication which means that you need 4 wires, 2 for transmission (Tx+ and Tx-) and 2 for reception (Rx+ and Rx-). Tx is used to transmit and Rx to receive which means that Tx in one unit must be connected to Rx in the other and vice versa. As for signal levels etc., RS422 and RS485 are identical. To interconnect RS485 and RS422, connect Tx+ with Rx+ and Tx- with Rx- on the RS422 unit. We have now changed a 4-wire system to a 2-wire system and can connect them to A and B on the RS485 unit. Which goes where is something you usually find out by trial and error. Incorrect polarity will just give non-function but cannot harm the units.
Tx- -----|---------------------------------------- B (or A) | Rx- ------| Bitrate, two stop bits, parity is the next layer These settings must correspond to the settings in the master unit. Find out how the master is set and then give the Corrigo E the same settings. Parity can be set to odd, even or none. If none is chosen you normally set two stopbits instead but this is not necessary. If odd or even is chosen you can only have one stop-bit, otherwise there will be too many bits altogether: 1 start-bit, 8 data-bits, 1 parity-bit and 1 stop-bit give a total of 11 bits which is maximum.
Communication limits The Modbus master must wait for a minimum of 3.5 charactertimes (4 ms at 9600 bps) between two messages. When the Modbus master communicates with more than one Corrigo E controller on the same communication line (RS485), the Modbus master must wait for a minimum of 14 charactertimes (16 ms at 9600 bps) between the answer and the first question for the next controller. In the Corrigo E controller there is a limit of 10 fast communications in every half minute, the other communications will have a delayed answer of approximately 1 s.
Scale factor Modbus Real signals have scale factor 10 except the time settings signals that have scale factor 100 and air flow signals that have scale factor 1 for Modbus communication. Integer, Index and Logic always have scale factor 1.
Modbus activation
Corrigo E uses the same port for both Modbus communication and EXOline communication. If you try to communicate with a Modbus-activated unit using E tool or other EXOline communication, the input port will automatically adapt itself after approx. 1 s. The port will remain in EXO mode until 10 seconds of communication inactivity have passed, after which it will revert to Modbus mode.
Configuration
The first important thing to configure is the communication parameters for the Modbus line. As described earlier, these parameters must be identical in the master unit and the slave units, since they define the structure of messages and the transmission speed. The default configuration values of a Corrigo E controller are shown in the figure below.
Corrigo E is by default set to Slave Address 1. If more units are added, a new Modbus address can be set for each unit using the Corrigo E display or E tool.
Transmission mode
Corrigo E uses the RTU transmission mode, not to be mixed up with the ASCII mode in the settings. The settings for the transmission mode must be the same in the master unit and the slave units, since Modbus/RTU cannot understand Modbus/ASCII messages. The configuration parameter Word length is always 8 for Modbus/RTU.
Writing values
To override the Corrigo E output values, set the output to manual mode using a Modbus signal. Then set the corresponding ..._ManSet signal to the wanted level. These signals are listed in Holding Registers. In this document, all signals that are not listed in Holding Registers are read-only.
Reading values
An effective way to read values is to read multiple variables simultaneously. For example, to read the heating, exchanger and cooling levels, set the Modbus query to the values shown in the figure below. The heat output variable starts at address 119 (VentActual.Cor_HeatCV1(0)). To read address 119 to 121, set the length to 3. Then the Modbus answer will communicate all 3 values in just one message, making the communication more effective.
To make system integration easier, a register of commonly used signals is provided below. Please refer to the document Corrigo E Ventilation variables for a complete list.
Input Status
EXOL type Logic Logic Logic
Description Set if extended operation full speed Set if extended operation half speed Alarm points (see the Appendix) 1x0033 = Alarmpoint 1 1x0080 = Alarm point 48 Alarm points (see the Appendix) 1x0090 = Alarmpoint 49 1x0128 = Alarm point 87 Unit run mode: 0=Off 1=Reduced speed 2=Normal speed 3=Stop because of alarm
1x0090 1x0128
0/1 (1=Alarm)
Logic
1x0284
VentActual.Cor_UnitRunMode
0/1/2/3
Index
10
Address 4x0001
Description Setpoint supply air temperature when constant supply air temperature function Setpoint extract air temp. if extract air temp. control function Room setpoint if room temp. control function Setpoint full speed supply air fan pressure Setpoint reduced speed supply air fan pressure Setpoint full speed extract air fan pressure Setpoint reduced speed extract air fan pressure Setpoint full speed supply air fan flow. Scale factor =1 Setpoint reduced speed supply air fan flow. Scale factor = 1 Setpoint full speed extract air fan flow. Scale factor =1 Setpoint reduced speed extract air fan flow. Scale factor = 1 Outdoor temperature (Can be modified if not connected to a physic analogue input).
4x0018
VentSettings.Cor_ExhaustSetpoint
21C
Real
4x0029
VentSettings.Cor_SAFHalfspeedAirFlow
1000 m3/h
Real
4x0030
VentSettings.Cor_EAFFullspeedAirFlow
2000 m3/h
Real
4x0031
VentSettings.Cor_EAFHalfspeedAirFlow
1000 m3/h
Real
4x0392
VentActual.Cor_OutDoorTemp(0)
Real
4x0404
VentSettings.Cor_SupplySetpointMax
30C
Max. limit of supply setpoint when cascade control Min. limit of supply setpoint when cascade control
Real
4x0405
VentSettings.Cor_SupplySetpointMin
12C
Real
11
Address 4x0368
Description Running mode air unit: 0=Manual off 1=Manual reduced speed 2=Manual normal speed 3=Auto Supply temp. controller mode: 0=Manual off 1=Manual on 2=Auto Supply temp. controller output if manual on mode Running mode SAF: 0=Off 1=Manual half speed 2=Manual full speed 3=Auto Running mode EAF: 0=Off 1=Manual half speed 2=Manual full speed 3=Auto Running mode frequency controlled SAF 0=Manual 1=Man. half speed 2=Man. Fullspeed 3=Auto Frequency controller output SAF if manual mode Running mode frequency controlled EAF 0=Manual 1=Man. half speed 2=Man. full speed 3=Auto Frequency controller output EAF if manual mode Running mode Heating: 0=Off 1=Manual 2=Auto Heating controller output if manual mode
4x0369
VentSettings.Cor_SupplyPID_Select
Index
4x0370 4x0371
VentSettings.Cor_SupplyPID_ManSet VentSettings.Cor_SAFAutoMode(0)
0% 3
Real Index
4x0372
VentSettings.Cor_EAFAutoMode
Index
4x0373
VentSettings.Cor_SAFFrequenceAutoMo de
Index
4x0374
VentSettings.Cor_SAFManual
0%
Real
4x0375
VentSettings.Cor_EAFFrequenceAutoMo de
Index
4x0376
VentSettings.Cor_EAFManual
0%
Real
4x0377
VentSettings.Cor_HeatCoilAutoMode(0)
Index
4x0378
VentSettings.Cor_HeatCoilManual(0)
0%
Real
12
Address 4x0379
Default value 2
Description Running mode Exchanger: 0=Off 1=Manual 2=Auto Exchanger controller output if manual mode Running mode Cooling: 0=Off 1=Manual 2=Auto Cooling controller output if manual mode Running mode Humidification/Dehumidi fication: 0=Off 1=Manual 2=Auto Humidification/Dehumidi fication controller output if manual mode Running mode P1Heating: 0=Manual off 1=Manual on 2=Auto Running mode P1Exchanger: 0=Manual off 1=Manual on 2=Auto Running mode P1Cooling: 0=Manual off 1=Manual on 2=Auto Running mode fire damper: 0=Close 1=Open 2=Auto External control: 0=Extended run full speed 1=External stop 2=No external control 3=External stop with support control
4x0380 4x0381
VentSettings.Cor_ExchCoilManual VentSettings.Cor_CoolCoilAutoMode
0% 2
Real Index
4x0382 4x0383
VentSettings.Cor_CoolCoilManual VentSettings.Cor_HumidityPID_Select
0% 2
Real Index
4x0384
VentSettings.Cor_HumidityPID_ManSet
0%
Real
4x0385
VentSettings.Cor_HeatPumpAutoMode(0 )
Index
4x0386
VentSettings.Cor_ExchPumpAutoMode
Index
4x0387
VentSettings.Cor_CoolPumpAutoMode
Index
4x0388
VentSettings.Cor_FireDamperAutoMode
Index
4x0451
VentSettings.Cor_ExternalControl
Index
13
Input Registers
Values for input registers are read-only.
Description Outdoor temperature Efficiency in % for exchanger 0=Stopped 1=Starting up 2=Starting reduced speed 3=Starting full speed 4=Starting normal run 5=Normal run 6=Support control heating 7=Support control cooling 8=CO2 run 9=Night cooling 10=Full speed stop 11=Stopping fan Supply air temperature Extract air temp Room temperature 1 Room temperature 2 Supply air fan pressure (Pa) Extract air fan pressure (Pa) Supply air fan flow (m3/h). Scale factor = 1. Extract air fan flow (m3/h). Scale factor = 1. CO2 (ppm) Frost protection temp De-icing temp exchanger Humidity room Additional sensor / External setpoint Control signal heating Y1 (0-10 V) Control signal exchanger Y2 (0-10 V) Control signal cooler Y3 (0-10 V) Control signal supply air fan (0-10 V) Control signal extract air fan (0-10 V)
3x0007 3x0009 3x0010 3x0011 3x0013 3x0014 3x0015 3x0016 3x0017 3x0019 3x0021 3x0023 3x0025 3x0119 3x0120 3x0121 3x0122 3x0123
VentActual.Cor_SupplyAirTemp VentActual.Cor_ExhaustAirTemp VentActual.Cor_RoomTemp1 VentActual.Cor_RoomTemp2 VentActual.Cor_SAFPressure VentActual.Cor_EAFPressure VentActual.Cor_SAFAirFlow VentActual.Cor_EAFAirFlow VentActual.Cor_CO2Sensor VentActual.Cor_FrostprotectionTemp VentActual.Cor_DeIcingTemp VentActual.Cor_HumidityRoom VentActual.Cor_ExtraSensor VentActual.Cor_HeatCV1(0) VentActual.Cor_ExchCV1 VentActual.Cor_CoolCV1 VentActual.Cor_SAF VentActual.Cor_EAF
Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real
14
No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Alarm text Run Error Supply Air Fan Run Error Extract Air Fan Run Error P1-Heater Run Error P1-Cooler Run Error P1-Exchanger Filter guard Flow guard External frost guard Deicing pressure guard Fire alarm External switch External alarm Supply Air control error Humidity control error High supply air temp Low supply air temp Supply air temp max Supply air temp min High room temp Low room temp High extract air temp Low extract air temp Electric heating is overheated Frost risk Low frostguard temp Low efficiency Sensor error Outdoor temp Analogue deicing Rotation guard exchanger Fire damper is out of operation Supply Air Fan control error Extract Air Fan control error Supply Air Fan external operation Extract Air Fan external operation Ventilation Manual mode Manual supply air control
Prio Description B B B B B B B A A C B B B B B B B B A B A B B B B C C C C Malfunction Supply air fan Malfunction Extract air fan Malfunction pump, Heating circuit Malfunction pump, Cooling circuit Malfunction pump, Liquid connected exchanger Filter guard pressure switch activated Flow guard activated External Frost protection thermostat activated Exchanger de-icing pressure switch activated Fire alarm activated External switch activated External alarm activated Supply air temp deviates too much from the setpoint for too long The room humidity deviates too much from the setpoint. Supply air temp too high Supply air temp too low Maximum limiting of supply air temp active Minimum limiting of supply air temp active Room temp too high during room temp control Room temp too low during room temp control High extract air temp during extract air control Low extract air temp during extract air control Heater high temperature limit switch activated Frost protection function is overriding the control of the heater output Frost protection temperature below frost limit value Heat exchanger efficiency below limit value Malfunction of connected sensor Exchanger de-icing activated by de-icing sensor Exchanger rotation sentinel alarm activated Fire damper exercise test failed Supply air pressure deviates too much from the setpoint for too long. Extract air pressure deviates too much from the setpoint for too long. SAF run-signal received when unit is stopped EAF run-signal received when unit is stopped The unit is shut down Supply air temp controller in manual control
No. 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 77 78 79 80 81 82 83 84 85 86 87
Alarm text Manual supply Air Fan mode Freq. SAF Manual Manual Extract Air Fan mode Freq. EAF Manual Heating Manual Manual Manual exchanger control Manual cooler control Manual P1-Heater Manual P1-Exchanger Manual P1-Cooler Fire damp. Manual Internal battery error Sensor error Supply Air temp Sensor error Extract Air temp Sensor error Room temp 1 Sensor error Room temp 2 Sensor error Exhaust air temp Sensor error Extra sensor Sensor error SAF pressure Sensor error EAF pressure Sensor error Deicing temp Sensor error Frost Protection temp Sensor error CO2 Sensor error Humidity Room Sensor error Humidity Duct Sensor error Extra unit temp Sensor error External control SAF Sensor error External control EAF Sensor error SAF Pressure 2 Sensor error Humidity outdoor Alarm Frequency converter SAF Alarm Frequency converter EAF Communication error Frequency SAF Communication error Frequency EAF
Prio Description C C C C C C C C C C C A B B B B B B B B B B B B B B B B B B A A C C Supply air fan in manual control Signal to SAF frequency converter in manual control Extract air fan in manual control Signal to SAF frequency converter in manual control Heating output in manual control Heat exchanger output in manual control Cooling output in manual control Heating circulation pump in manual control Exchanger circulation pump in manual control Cooling circulation pump in manual control Fire dampers in manual control Internal battery needs replacing Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of connected sensor Malfunction of frequency converter SAF Malfunction of frequency converter EAF Communication problem with Vacon NXL Communication problem with Vacon NXL Communication problem with a controller connected to port 2 Communication problem with a controller connected to port 2
Communication error Expansion unit 1 C Communication error Expansion unit 2 C Warning Frequency converter SAF Warning Frequency converter EAF Output in manual mode Time for service Manual Y4-Extra Sequence control C C C C C
Analogue or digital output in manual mode Time for service Y4-Extra sequence in manual control
R E G I N
T H E
C H A L L E N G E R
I N
B U I L D I N G
A U T O M A T I O N
AB Regin
Head office
Box 116, S-428 22 Kllered, Sweden Phone: +46 31 720 02 00 Fax: +46 31 720 02 50 [email protected] www.regin.se
Germany
RICCIUS + SOHN GmbH
Haynauer Str. 49 D-12249 Berlin Phone: +49 30 77 99 40 [email protected] www.riccius-sohn.eu
France
Regin Controls SARL
32 rue Delizy F-93500 Pantin Phone: +33 1 41 71 00 34 [email protected] www.regin.fr
Spain
Regin Ibrica, S.A.
C/Arganda 18 local E-28005 Madrid Phone: +34 91 473 27 65 [email protected] www.reginiberica.com
Singapore
Regin Controls Asia Pacific Pte Ltd
66 Tannery Lane # 03-04 Sindo Building Singapore 347805 Phone: +65 6747 8233 [email protected] www.regin.com.sg
Hong Kong
Regin Controls Hong Kong Ltd
Room 2901 EW International Tower 120 Texaco Road Tsuen Wan, NT Hong Kong Phone: +852 2407 0281 [email protected] www.regin.com.hk