Modbus IP

From CoolAutomation Wiki
Revision as of 07:17, 19 October 2019 by Xol (talk | contribs) (→‎Discrete Inputs, Coils and Registers)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Modbus functionality of CoolMasterNet is fully described in Modbus Integration Guidelines document

Modbus IP Server Configuration

CoolMasterNet Modbus IP Server is activated with below command:

>modbus IP enable
OK, Boot Required!
>

CoolMasterNet has to be restarted to run Modbus IP server for the first time. Same way Modbus IP server can be disabled, in this case instead of enable type disable
To quire current Modbus IP server configuration use modbus command without parameters:

>modbus
ModBus IP : enabled
server port : 502
CG4 ignore : none
OK
>

Modbus IP default TCP/IP port is 502. This is one of the so called well-known Ethernet ports. If required, port number can be changed with:

>modbus server port 500
OK, Boot Required!
>

Again restart required to let port change take effect. Modbus IP Server configurations are persistent over power resets, they are stored in nonvolatile memory.

Virtual Address (VA) Concept

In order to simplify translation of the UID (like L5.102) into Modbus object address, CoolMasterNet uses VA, associated with UID. Each UID can have none, one or a number of associated VA's. VA's are plain numbers starting from 001 (decimal). To let CoolMasterNet automatically associate VA's with existing (visible with ls command) UID's run:

>va auto
OK
>

This command will delete all existing associations and will create new associations one to one (one VA to one UID). At any time VA associations list can be retrieved with plain va command:

>va
L1.101 --> 001 [Hex: 0x0011 | Dec: 00017]
L1.102 --> 002 [Hex: 0x0021 | Dec: 00033]
L1.103 --> 003 [Hex: 0x0031 | Dec: 00049]
L1.104 --> 004 [Hex: 0x0041 | Dec: 00065]
L1.105 --> 005 [Hex: 0x0051 | Dec: 00081]
OK
>

Hex and Dec numbers printed after VA are Base Address used to access Modbus objects related to UID-VA association. Base Address can be calculated as BaseAddress = VA*16 + 1. For example Indoor Unit L1.102 has associated VA = 002, thus Base Address = 2*16+1 = 33.

VA Command details

va auto - CoolMasterNet will automatically associate VA's with existing UID's. This will delete previous associations
va delall - delete all VA associations
va - <UID> - delete all VA associations with specific UID
va - <VA> - delete specific VA association
va + <UID> <VA> - add new VA association

Examples:

Associate VA 007 with Indoor Unit L1.100

>va + L1.100 7
OK
>

Delete all VA associations of Indoor Unit L1.101

>va - L1.101
OK
>

Discrete Inputs, Coils and Registers

Once the Base Address is determined, access to the specific Indoor Unit parameter(s) is done via Modbus objects listed below.

Base
Address
Discrete
Inputs
Coils Holding
Registers
Input
Registers
+0 Reserved On/Off Operation Mode UID
+1 Filter Sign Fan Speed Room Temperature x10
+2 Terminals Status
0-Open,
1-Closed
Set Temperature x10 °C Failure Code String
first two characters
+3 Reserved On/Off Failure Code String
last two characters
+4 Filter Reserved
+5 Swing
+6 Room Temperature x10 °C (RO)
+7 Failure Code (RO)
+8 Lock Bits
+9 Digital Input 1 Digital Output 1 Set Temperature Limits (v0.4.4)
+10 Digital Input 2 Digital Output 2 Reserved
+11 Digital Input 3 Digital Output 3
+12 Digital Input 4 Digital Output 4
+13 Digital Input 5 Digital Output 5 Analog Input 1
+14 Digital Input 6 Digital Output 6 Analog Input 2
+15 Reserved Reserved Reserved

UID Encoding

MSB
Bits 15..12

Bits 11..8
LSB
Bits 7..0
Ln X YY

Corresponds to Ln.XYY (like for example L1.102)


Operation Mode Encoding

0 - Cool 1 - Heat 2 - Auto 3 - Dry
4 - HAUX 5 - Fan 6 - HH
8 - VAM Auto 9 - VAM Bypass 10 - VAM Heat Exch. 11 - VAM Normal


Fan Speed Encoding

0 - Low 1 - Medium 2 - High
3 - Auto 4 - Top 5 - Very Low
7 - VAM Super High 8 - VAM Low Fresh Up
9 - VAM High Fresh Up


Swing Encoding

0 - Vertical 1 - 30 deg 2 - 45 deg 3 - 60 deg
4 - Horizontal 5 - Auto 6 - OFF

Set Temperature Limits Encoding

MSB
Bits 15..8
LSB
Bits 7..0
High Limit * 2 Low Limit * 2

Lock Bits Encoding

MSB
Bit 15..3
Bit 2 Bit 1 LSB
Bit 0
Reserved Inhibit Local Wall Thermostat
Set Temperature control
Inhibit Local Wall Thermostat
Mode control
Inhibit Local Wall Thermostat
On/Off control