Přeskočit obsah

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
710 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ím REQUESTED_VALUE na 0 bez změny MODE.
  • Když MODE = 2 nebo 3, 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_RANGE
  • ERROR = 40 → binárně 0b00101000 → bity 3 a 5 nastaveny → HAS_UNRESPONSIVE_CONTROL + INPUT_OUT_OF_RANGE