Modbus¶
Tato stránka dokumentuje rozhraní Modbus registrů vystavených Savee. Pokyny ke konfiguraci viz Nastavení → Modbus.
Přidělení registrů¶
Savee vystavuje Modbus holding registry ve dvou skupinách: obecné registry, které existují jednou pro celý systém, a registry skupin, které se opakují pro každou skupinu s povoleným Modbus.
Obecné registry¶
Obecné registry jsou definovány jednou, na indexech nakonfigurovaných v nastavení aplikace.
HEARTBEAT¶
Přepíná mezi 1 a 0 při každém intervalu obnovení. Slouží k ověření, že je připojení Modbus aktivní. Interval obnovení je nakonfigurován v Nastavení.
UPTIME¶
32bitová hodnota rozložená do dvou po sobě jdoucích registrů, která vrací dobu provozu aplikace Savee v sekundách. Pořadí registrů (Big Endian nebo Little Endian) je nastaveno v Nastavení.
Warning
Protože UPTIME zabírá dva registry, ponechte adresu bezprostředně za nakonfigurovaným indexem UPTIME prázdnou.
Registry skupin¶
Každá skupina s povoleným Modbus zabírá 16 po sobě jdoucích holding registrů, počínaje adresou nakonfigurovanou pro danou skupinu. Adresy proto musí být mezi skupinami rozmístěny alespoň 16 od sebe.
| Offset | Registr | Směr |
|---|---|---|
0 |
MODE |
R/W |
1 |
REGULATION_VALUE |
R/W |
2 |
AUTOMATION_MIN |
R/W |
3 |
AUTOMATION_MAX |
R/W |
4 |
TRANSITION_FROM |
R/W |
5 |
TRANSITION_TO |
R/W |
6 |
REQUESTED_VALUE |
R/W |
7–10 |
RESERVE |
— |
11 |
POWER_LOW |
R |
12 |
POWER_HIGH |
R |
13 |
VALUE |
R |
14 |
MEASURED_LUX |
R |
15 |
ERROR |
R |
Reference registrů¶
MODE¶
Řídí provozní stav skupiny.
| Hodnota | Význam |
|---|---|
0 |
Vypnuto |
1 |
Zapnuto |
2 |
Automatizace — Regulace (cílová hodnota lux) |
3 |
Automatizace — Přechod (křivka lux) |
Note
- Když
MODE = 1, skupinu lze také vypnout nastavenímREQUESTED_VALUEna0bez změnyMODE. - Když
MODE = 2nebo3, je pro skupinu aktivní automatizace řízená Modbusem. Je viditelná v přehledu skupiny, ale nezobrazuje se na stránce Automatizace.
REGULATION_VALUE¶
Nastavuje cílovou úroveň osvětlení v luxech pro skupiny regulované na základě luxů.
Aktivní pouze při MODE = 2.
AUTOMATION_MIN¶
Nastavuje minimální intenzitu osvětlení (%), kterou může automatizace použít. Platné hodnoty: 0, 10, 20, … 100.
Aktivní při MODE = 2 nebo 3.
AUTOMATION_MAX¶
Nastavuje maximální intenzitu osvětlení (%), kterou může automatizace použít. Platné hodnoty: 0, 10, 20, … 100.
Aktivní při MODE = 2 nebo 3.
TRANSITION_FROM¶
Nastavuje úroveň luxů, při které je skupina nastavena na minimální intenzitu (AUTOMATION_MIN).
Aktivní pouze při MODE = 3.
TRANSITION_TO¶
Nastavuje úroveň luxů, při které je skupina nastavena na maximální intenzitu (AUTOMATION_MAX).
Aktivní pouze při MODE = 3.
REQUESTED_VALUE¶
Nastavuje intenzitu osvětlení skupiny v procentech. Platné hodnoty: 0, 10, 20, … 100.
Aktivní pouze při MODE = 1.
Warning
Platné jsou pouze násobky 10. Jakákoliv jiná hodnota (např. 12) vyvolá chybu INPUT_OUT_OF_RANGE.
Jak se REQUESTED_VALUE liší od hodnoty zobrazené v aplikaci Savee
Nastavení REQUESTED_VALUE na 0 skupinu vypne, ale Savee si interně ponechá poslední nenulovou hodnotu. Aplikace bude i nadále zobrazovat uloženou hodnotu (např. 30 %), zatímco skupina je vypnuta. Registr VALUE odráží stejné chování.
POWER_LOW a POWER_HIGH¶
Tyto dva registry společně tvoří 32bitovou hodnotu představující vypočítaný celkový odběr energie skupiny. Pořadí registrů je nastaveno pomocí nastavení Pořadí registrů (Big Endian nebo Little Endian).
VALUE¶
Vrací aktuální intenzitu osvětlení skupiny v procentech (0–100). Pouze pro čtení.
Podrobnosti o chování této hodnoty při vypnutí skupiny prostřednictvím REQUESTED_VALUE = 0 viz poznámka u REQUESTED_VALUE.
MEASURED_LUX¶
Vrací průměrné měření luxů ze všech senzorů spárovaných se skupinou. Vrátí -1, pokud nejsou spárovány žádné senzory nebo žádný není dostupný.
ERROR¶
Bitová maska aktivních chybových kódů. Hodnota registru je součet všech aktivních chybových bitů.
| Bit | Chybový kód | Popis |
|---|---|---|
0 |
NO_API_RESPONSE |
Modbus neobdržel žádnou odpověď od Savee API. |
1 |
AUTOMATION_ACTIVATION_FAILED |
Automatizaci se nepodařilo aktivovat (např. kvůli konfliktu). |
2 |
HAS_DESYNCHRONIZED_CONTROL |
Prvky skupiny jsou nesynchronizované z důvodu rušení. |
3 |
HAS_UNRESPONSIVE_CONTROL |
Jeden nebo více prvků ve skupině je offline. |
4 |
HAS_CONTROL_IN_SERVICE_MODE |
Skupina obsahuje prvky, jejichž brána je v servisním režimu. |
5 |
INPUT_OUT_OF_RANGE |
Zapisovatelný registr obsahuje neplatnou hodnotu (např. REQUESTED_VALUE = 12). |
6 |
INVALID_OPERATION_REQUEST |
Vyvolá se při zápisu REQUESTED_VALUE v době, kdy je aktivní automatizace. Vymaže se po dalším cyklu HEARTBEAT. |
7 |
VALUE_DESYNCHRONIZED |
REQUESTED_VALUE a VALUE se liší, zatímco MODE není nastaven na režim automatizace. |
Example
ERROR = 32→ binárně0b00100000→ bit 5 nastaven →INPUT_OUT_OF_RANGEERROR = 40→ binárně0b00101000→ bity 3 a 5 nastaveny →HAS_UNRESPONSIVE_CONTROL+INPUT_OUT_OF_RANGE