Difference between revisions of "Modbus IP"
(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 | ||
− | | | + | | 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 | ||
− | | | + | | [[#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
Contents
Modbus IP Server Configuration
CoolMasterNet Modbus IP Server is activated with below command:
>modbus IP enable |
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 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 |
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 |
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 |
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 |
Delete all VA associations of Indoor Unit L1.101
>va - L1.101 |
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 |