Difference between revisions of "Modbus IP"

From CoolAutomation Wiki
Jump to navigation Jump to search
(Created page with "== Modbus IP Server Configuration == CoolMasterNet Modbus IP Server is activated with below command: {{Terminal| >'''modbus IP enable'''<br> OK, Boot Required!<br> >}} CoolMas...")
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
The Modbus functionality of CoolMasterNet is fully described in [http://coolautomation.com/lib/doc/CoolMasterNet/manual/CoolMasterNet-Modbus-guidelines.pdf '''Modbus Integration Guidelines'''] document
 +
 
== Modbus IP Server Configuration ==
 
== Modbus IP Server Configuration ==
 
CoolMasterNet Modbus IP Server is activated with below command:
 
CoolMasterNet Modbus IP Server is activated with below command:
Line 39: Line 41:
 
>}}
 
>}}
 
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.
 
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<br>
 +
'''va delall''' - delete all VA associations<br>
 +
'''va - <UID>''' - delete all VA associations with specific UID<br>
 +
'''va - <VA>''' - delete specific VA association<br>
 +
'''va + <UID> <VA>''' - add new VA association<br>
 +
 +
Examples:<br>
 +
 +
Associate VA 007 with Indoor Unit L1.100
 +
{{Terminal|
 +
>'''va + L1.100 7'''<br>
 +
OK<br>
 +
>}}
 +
Delete all VA associations of Indoor Unit L1.101
 +
{{Terminal|
 +
>'''va - L1.101'''<br>
 +
OK<br>
 +
>}}
  
 
== Discrete Inputs, Coils and Registers ==
 
== Discrete Inputs, Coils and Registers ==
Line 62: Line 84:
 
|-
 
|-
 
| +2
 
| +2
| rowspan="7" | Reserved
+
| Terminals Status<br>0-Open,<br>1-Closed
| Set Temperature x10
+
| Set Temperature x10 °C
 
| Failure Code String<br> first two characters
 
| Failure Code String<br> first two characters
 
|-
 
|-
 
| +3
 
| +3
 +
| rowspan="6" | Reserved
 
| On/Off
 
| On/Off
 
| Failure Code String<br> last two characters
 
| Failure Code String<br> last two characters
Line 78: Line 101:
 
|-
 
|-
 
| +6
 
| +6
| Room Temperature x10 (RO)
+
| Room Temperature x10 °C (RO)
 
|-
 
|-
 
| +7
 
| +7
Line 84: Line 107:
 
|-
 
|-
 
| +8
 
| +8
| Lock Bits
+
| [[#Lockbits|Lock Bits]]
 
|-
 
|-
 
| +9
 
| +9
 
| Digital Input 1
 
| Digital Input 1
 
| Digital Output 1
 
| Digital Output 1
| rowspan="7" | Reserved
+
| [[#STLimits|Set Temperature Limits (v0.4.4)]]
 
|-
 
|-
 
| +10
 
| +10
 
| Digital Input 2
 
| Digital Input 2
 
| Digital Output 2
 
| Digital Output 2
 +
| rowspan="6" | Reserved
 
|-
 
|-
 
| +11
 
| +11
Line 188: Line 212:
 
|'''6''' - OFF
 
|'''6''' - OFF
 
|
 
|
 +
|}
 +
 +
<span id="STLimits">'''Set Temperature Limits Encoding'''</span>
 +
{| class="wikitable"
 +
|-
 +
|MSB<br>Bits 15..8
 +
|LSB<br>Bits 7..0
 +
|-
 +
| High Limit * 2
 +
| Low Limit * 2
 +
|-
 +
|}
 +
 +
<span id="Lockbits">'''Lock Bits Encoding'''</span>
 +
{| class="wikitable"
 +
|-
 +
|MSB<br>Bit 15..3
 +
|Bit 2
 +
|Bit 1
 +
|LSB<br>Bit 0
 +
|-
 +
|Reserved
 +
|Inhibit Local Wall Thermostat<br> '''Set Temperature''' control
 +
|Inhibit Local Wall Thermostat<br> '''Mode''' control
 +
|Inhibit Local Wall Thermostat<br> '''On/Off''' control
 +
|-
 
|}
 
|}

Revision as of 07:17, 19 October 2019

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