A Resi DALI sablon a Resi Dali - Konfiguráció üzembe helyezési eszköz futásidejű üzemeltetési párja. A RESI-DALI-SIO vagy RESI-DALI-ETH Modbus-DALI átjárón keresztül kapcsolja össze a TapHome-ot egy teljesen címzett DALI világítási busszal, és napi vezérlést biztosít akár 64 egyénileg címzett DALI vezérlőkészülékhez (gears) (rövid címek 0–63) és 16 DALI broadcast csoporthoz (0–15), valamint gear-enkénti DALI 1.0 állapotot, lámpa- és tápellátási hiba diagnosztikát.
Az átjáróval való kommunikáció Modbus RTU-t használ 9600 baud 8N1-en. A fényerő-írások a H:510 LAMP LEVEL (gear-enkénti) és a H:520 GROUP LEVEL (csoportonkénti) regiszterekbe mennek; a gear-enkénti konfigurációs parancsok és lekérdezések a H:511 LAMP COMMAND / H:512 LAMP COMMAND + REPEAT regisztereken keresztül vannak alagutazva, miközben az átjáró H:550 DALI STATUS regisztere a válasz készenlétére van pollozva.
Ez a sablon feltételezi, hogy a DALI rövid címek már be vannak programozva a buszon. Ha a gear-ek még nincsenek címezve, először használja a Resi Dali - Konfiguráció sablont (vagy a gyártó ingyenes MODBUSConfigurator / DCA eszközét) a DALI 2.0 véletlenszerű címzési varázsló futtatásához — lásd a Kapcsolat a konfigurációs sablonnal szakaszt alább.
A RESI-DALI-SIO (RS-485) és a RESI-DALI-ETH (Ethernet) DIN sínre szerelhető master átjárók, amelyek egy soros/Ethernet host és egy DALI világítási busz között helyezkednek el. A SIO CEM17 házban (17,5 × 90 × 56,4 mm), az ETH pedig szélesebb CEM35 házban (35,8 × 90 × 56,4 mm) érkezik az RJ45 csatlakozó befogadásához. Egyik átjáró sem táplálja önállóan a DALI buszt — egy kísérő DALI bus tápegység (RESI-DALI-PS vagy bármely kompatibilis 200 mA DALI PSU) kötelező.
A RESI-DALI-SIO csatlakoztatása (RS-485)
A RESI-DALI-SIO bal oldalán lévő sorkapcsok (felülről → lefelé): GND, +12..48V=, RS485 DATA+ (A+), RS485 DATA- (B-), RS485 GND, RS232 TX, RS232 RX, RS232 GND. A DALI busz sorkapcsok az ellentétes oldalon D+ / N/C / D- (3-tűs USLIM blokk, a középső N/C tű csatlakoztatás nélkül marad).
TapHome telepítéshez használja az RS-485 interfészt:
RS485 DATA+ (A+) → A+/D+ a TapHome RS-485 buszon
RS485 DATA- (B-) → B-/D- a TapHome RS-485 buszon
RS485 GND → GND a TapHome tápegységen (ajánlott a stabil kommunikációhoz)
+12..48V= / GND → 12–48 V DC primer tápellátás
A RESI-DALI-ETH csatlakoztatása (Ethernet)
Az Ethernet változat ugyanazokkal a DALI busz sorkapcsokkal (D+ / N/C / D-) és primer tápbemenetekkel (GND, +12..48V=) rendelkezik, plusz egy RJ45 csatlakozóval 10/100 Mbit Ethernethez. A gyári IP beállítások: 192.168.0.191 / 255.255.255.0 / 192.168.0.1 Modbus Unit ID 255-tel; a beágyazott web UI a RESI / RESI belépési adatokat használja.
Mivel ez egy Modbus RTU sablon, a TapHome nem natív Modbus/TCP-n keresztül kommunikál a RESI-DALI-ETH-vel. Ehelyett használja transzparens RTU-over-Ethernet módban, vagy helyezze a SIO-t egy soros-IP híd mögé (Moxa NPort, USR-TCP232) — lásd Konfiguráció → RTU-over-TCP beállítás alább.
DALI bus tápegység (RESI-DALI-PS)
A RESI-DALI-PS akár 200 mA-t biztosít a DALI buszra (zárlati áram ~225 mA, busz feszültsége tipikusan 14–18 V), és egyetlen vonalon legfeljebb 64 DALI 1.0 előtétet vagy DALI 2.0 vezérlőkészüléket támogat. A primer oldal ugyanazt a 12–48 V DC tápellátást fogadja, mint a SIO/ETH egység. Az átjáró és a PSU ugyanarra a D+ / D- párra csatlakozik — a PSU táplálja a buszt, miközben az átjáró DALI kereteket olvas és ír.
Három LED a PSU-n segít a hibadiagnosztikában: POWER (primer 12–48 V OK, normál működés alatt mindig világít), DALI (röviden villog DALI busz forgalomnál), ERR (folyamatosan világít PSU hiba, DALI zárlat vagy busz túlterhelés esetén — normál működésnél kikapcsolva kell lennie).
DALI busz topológia
A DALI vonalnak van néhány szigorú megkötése, amelyek közvetlenül befolyásolják a futásidejű stabilitást:
Vezetékkeresztmetszet
Max DALI kábelhossz
1,5 mm²
300 m
1,0 mm²
238 m
0,75 mm²
174 m
0,5 mm²
116 m
A korlát a DALI kábelen maximálisan megengedett 2 V feszültségesésből származik. További szabályok:
Maximum 64 DALI 1.0 előtét és legfeljebb 64 DALI 2.0 vezérlőkészülék buszonként (külön rövid címterek).
Csak fa topológia — nincsenek gyűrűk, nincsenek hurkok.
A tényleges gear darabszám a PSU áramfelvételétől is függ (tipikusan 200 mA a RESI-DALI-PS-en; számoljon ~2 mA-t gear-enként plusz tartalékot).
A RESI-DALI-PS (vagy egyenértékű DALI PSU) kötelező. Nélküle az átjáró nem tudja meghajtani a buszt, és minden gear-enkénti olvasás “Gear not present!” időtúllépéssel végződik. Ha hosszú vonalon második PSU-t adnak hozzá, helyezzen be egy DALI fojtót, vagy bontsa szét a buszt galvanikusan elválasztott szegmensekre.
A RESI-DALI-SIO host soros paramétereit a modulon lévő 4-pólusú DIP kapcsolóval választja ki. A TapHome sablon fixen 9600 baud 8N1-re van beállítva, ezért a DIP kapcsolóknak meg kell egyezniük.
DIP1
DIP2
Baud rate
OFF
OFF
9600 bd (TapHome által megkövetelt)
ON
OFF
19200 bd
OFF
ON
38400 bd
ON
ON
A FLASH-be programozott baud rate-et használja (gyári alapértelmezés 57600 bd)
DIP4
A Modbus Unit ID forrása
OFF
A H:65221 FLASH regiszter érvényesül — szükséges, ha az üzembe helyezés során nem alapértelmezett Slave ID-t programoztak
ON
Hardver fallback — a Unit ID kényszerítve 255, a FLASH érték figyelmen kívül hagyva
A DIP3 egy termékspecifikus fenntartott bit; hagyja gyári állásban. A paritás None-ra van rögzítve, és a stop bit 1 (8N1 keret formátum) a fent kiválasztott DIP1/DIP2 baud rate kombinációkhoz.
RS-485 lezárás: zárja le a buszt 120 Ω-os ellenállással mindkét végén. A TapHome Core egy lezárást biztosít a BUS sorkapcsain; ha a RESI átjáró az utolsó eszköz a vonalon, adjon hozzá egy diszkrét 120 Ω-os ellenállást az A+ / B- között az RS-485 sorkapcsain.
Slave ID
A gyári alapértelmezett Modbus Unit ID 255 (a H:65221 FLASH regiszter 0xFFFF-et olvas, amit az átjáró 255-re klampoz). A sablon egy modul szintű szerviz attribútumot Slave ID néven biztosít, amely visszaolvassa ezt a regisztert, így a beállított cím importálás után ellenőrizhető.
A Slave ID módosítása üzembe helyezési feladat, amelyet a Resi Dali - Konfiguráció testvér sablon kezel — ez a futásidejű sablon szándékosan nem ír a H:65221-be, és nem indít szoftveres resetet, így a projektben aktív maradhat anélkül, hogy véletlen átjáró-átkonfigurálás kockázata fenyegetne.
RTU-over-TCP beállítás
Mivel a sablon Modbus RTU kapcsolatot használ, egy IpAddress import paraméter is felkínálva van olyan telepítésekhez, ahol a TapHome soros-IP hídon (Moxa NPort, USR-TCP232) vagy RESI-DALI-ETH-en transzparens RTU-over-Ethernet módban keresztül éri el az átjárót. Ebben az esetben mutasson az IpAddress a híd / ETH egység IP-jére, és minden más beállítást tartson azonosan az RS-485 változattal. Tiszta Modbus/TCP-hez egy TCP alapú sablon természetesebb lenne — ez a Modbus RTU sablon kifejezetten keretezett RTU forgalmat vár.
Egyszerre csak egy Modbus master. Sem a DALI, sem a Modbus RTU nem arbitrál egyidejű masterek között. Ha egy PLC, BMS vagy PC eszköz (például MODBUSConfigurator) is pollozza az átjárót, a gear lekérdezések ütköznek, és a TapHome sporadikus “Gear not responding!” hibákat fog jelenteni.
Ugyanaz a Dali.xml definíció a RESI átjáróval két komplementer TapHome sablonként szállítódik, amelyek ugyanazon hardver különböző életciklus-fázisain működnek:
Sablon
Fázis
Mit csinál
Mikor használjuk
Resi Dali - Konfiguráció (resi-dali-daliconfig)
Egyszeri üzembe helyezés
DALI 2.0 véletlenszerű címzési varázsló, címenkénti device-type próba, broadcast ON/OFF tesztek, Set Slave ID, Reset Gateway
Új telepítés: rendeljen rövid címeket 0–63 vezérlőkészülékekhez, ellenőrizze, mely címek vannak betöltve
Resi DALI (resi-dali-dali, ez a sablon)
Napi futásidejű vezérlés
Gear-enkénti tompítás (64 gear), csoport tompítás (16 csoport), gear-enkénti DALI 1.0 diagnosztika, csoporttagság kezelése
Kösse be és táplálja a DALI buszt (RESI-DALI-PS) és az átjárót.
Importálja a Resi Dali - Konfiguráció sablont, futtassa: Reset Short Addresses → Start → Scan / SEARCHADDR / COMPARE / PROGRAM SHORT ADDRESS / Check, amíg minden látható gear rövid címet kap. Ellenőrizze a Gear 0..63 és a Turn On / Off All Lamps segítségével.
Távolítsa el a Resi Dali - Konfiguráció modult a projektből.
Importálja a Resi DALI (ezt) sablont a futásidejű vezérléshez. Hozzárendeli a Gear N és Group N eszközöket TapHome jelenetekhez, ütemezésekhez és szabályokhoz.
A két sablon átmenetileg együtt is létezhet — pl. új gear hozzáadásakor egy élő telepítéshez —, de egyszerre csak az egyik küldjön Modbus forgalmat. A futásidejű sablon szándékosan kihagyja az átjáró átkonfigurálási akcióit (Reset Gateway, Set Slave ID, broadcast ALL LEVEL), így az üzembe helyezési beállítások felülírásának kockázata nélkül maradhat a projektben.
A gyártó ingyenes MODBUSConfigurator DCA eszköze (Windows, elérhető a RESI weboldaláról) szintén használható az üzembe helyezéshez a Resi Dali - Konfiguráció TapHome sablon helyett. A Resi DALI futásidejű sablon ugyanúgy működik, függetlenül attól, hogy melyik eszközt használták a rövid címek hozzárendelésére.
A sablon 80 DALI eszközt biztosít a TapHome-ban, két párhuzamos csoportba szervezve: 64 Gear tompító (egy minden DALI rövid címre) és 16 Group tompító (egy minden DALI csoportra). Egy modul szintű szerviz attribútum egészíti ki a képet.
Gear-enkénti tompítás — Gear 0 … Gear 63
A 64 szerviz eszköz mindegyike — Gear 0, Gear 1, … Gear 63 — egy TapHome tompító, amely a megfelelő rövid címen lévő egyetlen DALI vezérlőkészüléket célozza meg. A fényerő-írások a H:510 LAMP LEVEL-be mennek (a TapHome 0–100 % lineárisan a DALI arc power tartományba van skálázva, amelyet a gear saját MIN LEVEL és MAX LEVEL értékei határolnak); a tényleges szintet a H:511-ből olvassa vissza a DALI QUERY ACTUAL LEVEL (0xA0) parancson keresztül, és visszaskálázza 0–100 %-ra.
Amikor a sablon importál egy gear-t, az init script először lekérdezi a gear-t a QUERY STATUS (0x91) paranccsal; egy 0x8000 „nincs válasz" válasz a gear-t nem jelenlévőnek jelöli (1–60 s exponenciális back-off-fal), és a TapHome logban „Gear not present!" hibát ad ki. Ha a gear válaszol, az init script ezután kiolvassa a QUERY LAMP FAILURE (0x92), QUERY POWER FAILURE (0x9B), QUERY MIN LEVEL (0xA2) és QUERY MAX LEVEL (0xA1) parancsokat, és az eredményeket belső állapotban tárolja a periodikus readscript számára.
Minden gear 10 szerviz attribútumot biztosít, amelyek igény szerint olvassák a DALI 1.0 / 2.0 lekérdező parancsokat:
Szerviz attribútum
DALI parancs
Jelenti
Short Address
(belső)
A rövid cím (0–63), amelyet ez az eszköz céloz — fix sablon importálásakor
Device Type
QUERY DEVICE TYPE (0x99)
DT{n} (pl. DT0 fluoreszcens, DT6 LED, DT8 szín / tunable white) vagy -- ha nincs válasz
Konfigurált felső határ a 0–100 % DALI arc power-re skálázáshoz
Min Level
QUERY MIN LEVEL (0xA2)
Konfigurált alsó határ a 0–100 % DALI arc power-re skálázáshoz
Power Up Level
QUERY POWER ON LEVEL (0xA3)
Fényerő, amely a DALI busz tápellátás visszaállása után visszaáll
System Failure Level
QUERY SYSTEM FAILURE LEVEL (0xA4)
Fényerő, amelyet a busz több mint 500 ms-ig tartó kommunikációs vesztés esetén vesz fel
Groups
QUERY GROUPS 0-7 (0xC0) + QUERY GROUPS 8-15 (0xC1)
Vesszővel elválasztott lista a DALI csoportokról, amelyekhez a gear tartozik (None vagy pl. 0,3,7)
Support Lamp Failure
QUERY LAMP FAILURE (0x92) képesség bit
Yes / No / -- — a „Lamp failure!" hibát kapuzza a periodikus readscriptben
Support Power Failure
QUERY POWER FAILURE (0x9B) képesség bit
Yes / No / -- — a „Power failure!" hibát kapuzza a periodikus readscriptben
A periodikus readscript minden gear-en olvassa az aktuális arc szintet (0xA0), és, ha támogatott, figyeli a lámpa- és tápellátási hiba flag-eket — TapHome figyelmeztetésként/hibaként jelennek meg, így egy meghibásodott fluoreszcens cső vagy egy kioldott LED meghajtó manuális pollozás nélkül megjelenik az aktivitási logban.
Gear-enkénti konfigurációs akciók
Négy szerviz akció minden Gear N eszközön DALI konfigurációs parancsokat ír (auto-ismételve 100 ms-on belül a H:512 LAMP COMMAND + REPEAT regiszteren keresztül, a nem-illékony DALI parancsokhoz szükséges módon):
Add to Group (Group ID 0–15 paraméter) — ADD TO GROUP (0x60+grp) parancsot küld, így a gear csatlakozik a kiválasztott DALI csoporthoz, és követi a következő broadcast csoport-írásokat.
Remove from Group (Group ID 0–15 paraméter) — REMOVE FROM GROUP (0x70+grp) parancsot küld.
Reset to Default Settings — DALI RESET (0x20) parancsot küld; visszaállítja a gear minden NVM paraméterét (max/min/power-on/system-failure szint, csoporttagság, jelenetek) gyári alapértelmezésre.
Set Startup Levels — rögzíti az aktuális arc power-t, és Power On Level-ként és System Failure Level-ként tárolja, sorrendben: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D), 10 ms szünettel mindegyik között.
Csoport tompítás — Group 0 … Group 15
A 16 szerviz eszköz mindegyike — Group 0, Group 1, … Group 15 — egy csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek, amely az adott DALI csoporthoz tartozik, a H:520 GROUP LEVEL használatával (a TapHome 0–100 % 0xFE-vel szorzódik → DALI arc power 0–254). A DALI nem engedi az átjárónak visszaolvasni a csoport szintet — a busz csak a broadcast írást viszi —, így a TapHome az utoljára írt értéket tartja „aktuális" szintként. A csoport eszközökön nincs init vagy read script.
Minden Group N eszköz két szerviz akciót biztosít a tagság tömeges kezeléséhez:
Add All Lamps to Group — ADD TO GROUP (0x60+grp) broadcast-et küld a H:532 ALL COMMAND + REPEAT-en keresztül. A buszon lévő minden gear csatlakozik a csoporthoz, függetlenül az aktuális rövid címétől.
Remove All Lamps from Group — REMOVE FROM GROUP (0x70+grp) broadcast-et küld. Minden gear elhagyja a csoportot.
Használja a csoport tompítást „konyha világítás", „nappali downlights" vagy bármely zónához, ahol több gear-nek egyetlen tompítót kell követnie. A csoport-írások sokkal hatékonyabbak, mint az egyes gear-ek párhuzamos vezérlése — egyetlen Modbus tranzakció akár 64 gear-t is elérhet egyszerre.
Modul szintű diagnosztika
A modul egyetlen szerviz attribútumot biztosít:
Slave ID — kiolvassa a H:65221 FLASH regiszterben tárolt Modbus Unit ID-t. Csak akkor aktív, ha DIP4 = OFF; DIP4 = ON esetén az átjáró 255-re kényszeríti a címet, függetlenül a FLASH értéktől. Használja az átjáró címének ellenőrzésére további eszközök hozzáadása előtt, különösen olyan üzembe helyezési kör után, amely nem-alapértelmezett ID-t írt.
Ellenőrizze a DALI busz feszültségét a gear-en: 11,5–22,5 V (tipikusan 14–16 V). Az alacsonyabb értékek általában zárlatra vagy a kábel keresztmetszethez túl hosszú buszra utalnak (lásd DALI busz topológia).
Ellenőrizze az ERR LED-et a RESI-DALI-PS-en — ha világít, a busz zárlatos, túlterhelt vagy maga a PSU hibás.
Futtassa újra a Gear N lekérdezést a testvér Resi Dali - Konfiguráció sablonban — a futásidejű sablon csak 1–60 s-onként próbálkozik újra exponenciális back-off-fal, a konfigurációs sablon azonnali pass/fail eredményt ad címenként.
Ellenőrizze, hogy a gear-nek egyáltalán van-e rövid címe. Ha kicserélték vagy gyári alaphelyzetbe állították a buszon, akkor címzetlen lesz, és újra üzembe kell helyezni a Resi Dali - Konfiguráció sablonon keresztül.
A csoport tompításnak nincs hatása
Ellenőrizze, hogy legalább egy gear tagja a csoportnak — nyissa meg a Gear N → Groups-ot minden gyanús tagon, és ellenőrizze, hogy a csoport ID megjelenik-e a vesszővel elválasztott listában.
Ha a tagság hiányzik, indítsa el az Add to Group akciót minden gear-en egyenként, vagy használja az Add All Lamps to Group-ot a csoport eszközön egy busz-szintű broadcast-hez.
Ne feledje, hogy a Group N csak-író — a tompító csúszka a TapHome-ban tárolja az utoljára írt értéket, de nem tükrözi a busz tényleges állapotát. Ha a gear-ek ki vannak kapcsolva, a csoport szint parancsnak nincs hatása rájuk.
A lámpa hiba / tápellátási hiba nincs jelentve
Nyissa meg a gear szerviz attribútumait, és ellenőrizze a Support Lamp Failure / Support Power Failure értékeket. Ha bármelyik No-t olvas, a gear meghajtója nem implementálja azt a DALI 1.0 lekérdezést — a periodikus readscript kapuzza a megfelelő hibát, és soha nem fog figyelmeztetni arra a gear-re.
Futtassa a Reset to Default Settings-et a gear-en, és importálja újra az eszközt. Az init script újra ellenőrzi mindkét képesség bitet a következő olvasási ciklus során.
Sporadikus Modbus hibák üzembe helyezés után
Győződjön meg arról, hogy nincs más Modbus master (MODBUSConfigurator, PLC, BMS), amely egyidejűleg pollozza az átjárót. A DALI és a Modbus nem arbitrál masterek között.
Ellenőrizze, hogy az RS485 GND össze van-e kötve az átjáró és a TapHome tápegység közös földje között — a hiányzó GND a leggyakoribb RS-485 hiba hosszú vonalakon.
RTU-over-TCP esetén soros hídon keresztül erősítse meg, hogy a híd keretezett RTU módban fut (nem nyers TCP socket), és hogy a soros oldali karakterek közötti rés tiszteletben tartja a 9600 baud 8N1 időzítést.
Ha a tünetek a Slave ID Resi Dali - Konfiguráció sablonon keresztüli módosítása után jelentek meg, importálja újra ezt a futásidejű sablont az új SlaveId import paraméterrel — a korábban importált modul még mindig a régi címen pollozik.
Elérhető eszközök
Resi DALIModul
Szerviz attribútumok
Slave ID
Kiolvassa a H:65221 FLASH regiszterben tárolt Modbus Unit ID-t — csak akkor aktív, ha DIP4=OFF (gyári alapértelmezés 255). Használja az átjáró címének ellenőrzésére további eszközök hozzáadása előtt.
Resi Dali
Szerviz attribútumok
${xml_slave_id}
modbusr(H,65221,uint16)
Gear 0Fényerőszabályzó
DALI vezérlőkészülék a 0 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 0
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 1 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 1
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 2 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 2
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 3 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 3
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 4 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 4
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 5 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 5
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 6 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 6
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 7 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 7
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 8 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 8
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 9 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 9
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 10 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 10
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 11 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 11
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 12 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 12
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 13 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 13
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 14 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 14
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 15 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 15
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 16 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 16
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 17 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 17
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 18 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 18
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 19 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 19
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 20 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 20
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 21 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 21
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 22 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 22
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 23 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 23
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 24 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 24
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 25 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 25
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 26 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 26
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 27 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 27
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 28 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 28
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 29 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 29
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 30 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 30
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 31 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 31
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 32 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 32
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 33 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 33
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 34 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 34
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 35 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 35
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 36 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 36
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 37 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 37
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 38 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 38
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 39 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 39
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 40 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 40
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 41 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 41
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 42 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 42
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 43 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 43
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 44 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 44
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 45 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 45
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 46 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 46
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 47 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 47
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 48 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 48
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 49 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 49
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 50 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 50
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 51 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 51
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 52 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 52
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 53 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 53
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 54 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 54
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 55 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 55
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 56 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 56
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 57 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 57
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 58 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 58
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 59 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 59
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 60 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 60
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 61 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 61
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 62 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 62
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI vezérlőkészülék a 63 rövid címen — TapHome tompító a DALI arc power 0–100 %-ra leképezve a H:510 LAMP LEVEL (írás) és a QUERY ACTUAL LEVEL a H:511-en keresztül (olvasás), a gear saját MIN / MAX LEVEL értékei által határolt.
Regiszter: H:511 → H:510UInt16Egység: %numeric
Szerviz attribútumok
Rövid cím
Ez az eszköz által célzott DALI rövid cím (0–63) — fix sablon importálásakor, és minden Modbus írás felső byte-jában használt.
Device Type
A QUERY DEVICE TYPE (0x99) által visszaadott DALI device-type byte — jelenti DT0 (fluoreszcens), DT6 (LED meghajtó), DT8 (szín / tunable white) stb., vagy -- ha nincs válasz.
Physical Min Level
A gear által jelentett, hardveresen kényszerített minimális tompítási szint — a QUERY PHYSICAL MIN LEVEL (0x9A) parancsból olvasva, százalékban.
Max Level
Konfigurált DALI MAX LEVEL — a QUERY MAX LEVEL (0xA1) parancsból olvasva; felső határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Min Level
Konfigurált DALI MIN LEVEL — a QUERY MIN LEVEL (0xA2) parancsból olvasva; alsó határként használt a TapHome 0–100 % DALI arc power-re skálázásakor.
Power Up Level
Fényerő, amely a DALI busz tápellátásának helyreállítása után visszaáll — a QUERY POWER ON LEVEL (0xA3) parancsból olvasva.
System Failure Level
Fényerő, amelyet a DALI busz akkor vesz fel, ha több mint 500 ms-ig elveszti a kommunikációt — a QUERY SYSTEM FAILURE LEVEL (0xA4) parancsból olvasva.
Csoportok
Vesszővel elválasztott lista a DALI csoportokról (0–15), amelyekhez a gear tartozik — a QUERY GROUPS 0-7 (0xC0) és QUERY GROUPS 8-15 (0xC1) parancsokból dekódolva; None vagy pl. 0,3,7 jelenik meg.
Support Lamp Failure
Hogy a lámpa / meghajtó támogatja-e a lámpa-hiba érzékelést — Yes / No / --. A Lamp failure! hibát kapuzza a periodikus readscriptben.
Support Power Failure
Hogy a lámpa / meghajtó támogatja-e a tápellátási-hiba érzékelést — Yes / No / --. A Power failure! hibát kapuzza a periodikus readscriptben.
Szerviz műveletek
Add to Group
Hozzáadja ezt a gear-t egy DALI csoporthoz (0–15) az ADD TO GROUP (0x60+grp) paranccsal — 100 ms-on belül automatikusan ismételve, ahogy a DALI konfigurációs parancsok megkövetelik.
Remove from Group
Eltávolítja ezt a gear-t egy DALI csoportból (0–15) a REMOVE FROM GROUP (0x70+grp) paranccsal.
Reset to Default Settings
DALI RESET (0x20) parancsot küld — visszaállítja a gear minden NVM paraméterét (max / min / power-on / system-failure szint, csoporttagság, jelenetek) a gyári alapértelmezésre.
Set Startup Levels
Rögzíti az aktuális arc power-t és Power On Level-ként és System Failure Level-ként tárolja — sorrend: STORE ACTUAL LEVEL IN DTR (0x21) → STORE DTR AS POWER ON LEVEL (0x2C) → STORE DTR AS SYSTEM FAILURE LEVEL (0x2D).
Gear 63
Olvasás (modul)
var x := 0; var rx := 0;
if Status > 0
Status := Status -1;
adderror("Gear not responding!");
return(0);
end
checkStatus := checkStatus -1;
if checkStatus < 1
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(10, 60);
adderror("Gear not present!");
else
Status := 0;
checkStatus := 60;
end
else
Status := RANDINT(10, 60);
adderror("Gear not responding!");
end
end
if suppLampFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Lamp failure!"), 0), 0);
end
if suppPowerFailure
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, if (x != 0xFF, adderror("Power failure!"), 0), 0);
end
Inicializálás
var x := 0; var rx := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x91);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if x != 0x8000
if x != 0xFF
Status := RANDINT(1, 60);
else
Status := 0;
end
else
Status := RANDINT(1, 60);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, maxLevel := x );
end
Szint olvasása
var x := 0; var rx := 0;
if Status = 0
if minLevel = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000, minLevel := x );
end
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
x := modbusr(SH, 511, uint16);
if (x != 0x8000 or rx, checkStatus := 60);
if (x != 0x8000 and x != 0xff, return( if(x = 0, 0, linear(x , minLevel, 0.01, maxLevel, 1)) ), return (Le));
else
return(NaN);
end
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x));
end
return("--")
Physical Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9A);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Max Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA1);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Min Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA2);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
Power Up Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA3);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
System Failure Level
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xA4);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return(round((x / 0xFE) * 100) + " %"));
end
return("--")
${xml_groups}
var x := 0; var rx := 0;
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC0);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g1 := modbusr(SH, 511, uint16);
if (g1 = 0x8000, return("--"));
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0xC1);
sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var g2 := modbusr(SH, 511, uint16);
if (g2 = 0x8000, return("--"));
var ret := "";
if (getbit(g1, 0), ret := ret + "0");
if (getbit(g1, 1), if (ret = "", ret := "1", ret := ret + ",1"));
if (getbit(g1, 2), if (ret = "", ret := "2", ret := ret + ",2"));
if (getbit(g1, 3), if (ret = "", ret := "3", ret := ret + ",3"));
if (getbit(g1, 4), if (ret = "", ret := "4", ret := ret + ",4"));
if (getbit(g1, 5), if (ret = "", ret := "5", ret := ret + ",5"));
if (getbit(g1, 6), if (ret = "", ret := "6", ret := ret + ",6"));
if (getbit(g1, 7), if (ret = "", ret := "7", ret := ret + ",7"));
if (getbit(g2, 0), if (ret = "", ret := "8", ret := ret + ",8"));
if (getbit(g2, 1), if (ret = "", ret := "9", ret := ret + ",9"));
if (getbit(g2, 2), if (ret = "", ret := "10", ret := ret + ",10"));
if (getbit(g2, 3), if (ret = "", ret := "11", ret := ret + ",11"));
if (getbit(g2, 4), if (ret = "", ret := "12", ret := ret + ",12"));
if (getbit(g2, 5), if (ret = "", ret := "13", ret := ret + ",13"));
if (getbit(g2, 6), if (ret = "", ret := "14", ret := ret + ",14"));
if (getbit(g2, 7), if (ret = "", ret := "15", ret := ret + ",15"));
if (ret = "", return("None"), return(ret));
else
return("--");
end
Support Lamp Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x92);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppLampFailure := 1, suppLampFailure := 0);
if (suppLampFailure, return("Yes"), return("No"));
end
return("--")
Support Power Failure
if Status = 0
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x9B);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, suppPowerFailure := 1, suppPowerFailure := 0);
if (suppPowerFailure, return("Yes"), return("No"));
end
return("--")
DALI broadcast csoport 0 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 0;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 0;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 1Fényerőszabályzó
DALI broadcast csoport 1 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 1;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 1;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 2Fényerőszabályzó
DALI broadcast csoport 2 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 2;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 2;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 3Fényerőszabályzó
DALI broadcast csoport 3 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 3;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 3;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 4Fényerőszabályzó
DALI broadcast csoport 4 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 4;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 4;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 5Fényerőszabályzó
DALI broadcast csoport 5 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 5;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 5;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 6Fényerőszabályzó
DALI broadcast csoport 6 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 6;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 6;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 7Fényerőszabályzó
DALI broadcast csoport 7 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 7;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 7;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 8Fényerőszabályzó
DALI broadcast csoport 8 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 8;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 8;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 9Fényerőszabályzó
DALI broadcast csoport 9 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 9;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 9;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 10Fényerőszabályzó
DALI broadcast csoport 10 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 10;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 10;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 11Fényerőszabályzó
DALI broadcast csoport 11 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 11;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 11;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 12Fényerőszabályzó
DALI broadcast csoport 12 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 12;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 12;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 13Fényerőszabályzó
DALI broadcast csoport 13 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 13;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 13;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 14Fényerőszabályzó
DALI broadcast csoport 14 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
var GroupAddress := 14;
modbusw(SH, 532, uint16, 0x60 + GroupAddress)
${xml_remove_from_group_all_lamps}
var GroupAddress := 14;
modbusw(SH, 532, uint16, 0x70 + GroupAddress)
Group 15Fényerőszabályzó
DALI broadcast csoport 15 (0–15) — csak-író TapHome tompító, amely egyetlen arc-power értéket broadcastel minden gear-nek ebben a csoportban a H:520 GROUP LEVEL használatával. A busz nem visszhangoz csoport szinteket, így a TapHome az utoljára írt értéket tartja.
UInt16Egység: %numeric
Szerviz műveletek
Add All Lamps to Group
ADD TO GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon csatlakozik ehhez a csoporthoz, az aktuális rövid címétől függetlenül.
Remove All Lamps from Group
REMOVE FROM GROUP broadcastot küld a H:532 ALL COMMAND + REPEAT-en keresztül — minden gear a buszon elhagyja ezt a csoportot.
H:531ALL COMMAND (broadcast DALI command) — Single-shot broadcast DALI command (no repeat). Template uses H:532 (ALL COMMAND + REPEAT) for group membership but never exposes plain ALL OFF / ALL ON / ALL ARC POWER as a service action — turn-on/off-all are not present (sibling daliconfig template has them via H:530)
H:530ALL LEVEL (broadcast arc power) — Sets brightness for every gear in one Modbus write. Convenient 'turn off all lamps' / 'turn on all lamps' shortcut — implemented in the sibling daliconfig template, missing in this operational template
H:521GROUP COMMAND (per-group DALI command) — Per-group DALI command (single-shot). Could expose group-level OFF / RECALL MIN / RECALL MAX / GO TO SCENE as service actions on each Group device, but template only writes H:520 GROUP LEVEL
H:522GROUP COMMAND + REPEAT — Per-group DALI configuration command (auto-repeated within 100 ms). Required for STORE DTR AS GROUP SCENE etc. — not exposed as a service action
H:541DIRECT 16-BIT FRAME — Raw DALI 1.0 frame send. Used by sibling daliconfig template for the DALI 2.0 random-addressing algorithm; not needed for runtime brightness control
I:10020-I:10027DALI 24-BIT FRAME — DALI 2.0 24-bit frames — required for DT8 colour control (XY, colour temperature, RGBW), DALI 2.0 control gear queries, and DALI-2 input devices (push-buttons, presence detectors). Template exposes only DALI 1.0 brightness layer per gear
I:10030-I:10047DALI 25-BIT eDALI FRAME — Lunatone-proprietary 25-bit eDALI frames (auto and user redundant-bit variants). Not used by any DALI 1.0 gear
I:10050-I:10067DALI 28-BIT / 32-BIT FRAME — Extended DALI 2.0 frames (memory bank access, DALI-2 application controllers). Template scope is single-channel arc power per gear
H:500 (DSI VALUE)DSI 8-bit value send — Send a raw 8-bit DSI/DALI value with no addressing (bus-level diagnostics). Bypassed by every TapHome script
C:0 / H:551DALI Bus Error — 1 = DALI bus fault / short circuit / missing PSU. Useful diagnostic — could be added as a module-level service attribute. Currently bus errors only surface indirectly through 'Gear not responding!' errors emitted by per-gear readscripts
H:100DALI PRIORITY SLOT — 0..4 → 12-16 ms forward-frame timing. Default 2 (configuration). Bus-tuning parameter; template runs at default
H:6000DIP SWITCH / SOFTWARE RESET — Read returns the 4 DIP switch values; write 1 reboots the gateway. Sibling daliconfig template exposes Reset Gateway / Set Slave ID; this runtime template intentionally does not (commissioning concern)
H:65222 / H:65224 / H:65225BAUD_RATE / PARITY / STOP_BITS (FLASH) — FLASH-stored serial parameters. Template hard-codes 9600 8N1 in connection_details, so these are out of scope
I:0 / I:50-I:53 / scenesDALI 1.0 scenes (recall / store / query) — DALI 1.0 standard supports 16 stored scenes per gear/group recallable via GO TO SCENE (0x10..0x1F) and storable via STORE DTR AS SCENE (0x40..0x4F). Template exposes per-gear ADD/REMOVE FROM GROUP and RESET, but no scene recall/store/remove/query actions
H:512 (RECALL MAX/MIN/GOTO LAST/UP/DOWN/STEP)DALI 1.0 high-level commands per gear — RECALL MAX LEVEL (0x05), RECALL MIN LEVEL (0x06), UP (0x01), DOWN (0x02), STEP UP (0x03), STEP DOWN (0x04), GO TO LAST ACTIVE LEVEL (0x0A) — useful as service actions for visual feedback / smooth dimming. Not exposed; brightness goes only through linear scaling
H:512 (STORE DTR AS MAX/MIN/POWER ON/SYSTEM FAILURE LEVEL)Per-gear configuration write commands — STORE DTR AS MAX LEVEL (0x2A), STORE DTR AS MIN LEVEL (0x2B), STORE DTR AS POWER ON LEVEL (0x2C), STORE DTR AS SYSTEM FAILURE LEVEL (0x2D), STORE DTR AS FADE TIME / FADE RATE — template has 'Set Startup Levels' (combines 0x21, 0x2C, 0x2D) but does NOT expose individual writes for max/min/fade-time/fade-rate
H:511 (QUERY FADE TIME / FADE RATE / RANDOM ADDRESS / EXT VERSION)Additional DALI queries — QUERY FADE TIME / FADE RATE (0xA5), QUERY VERSION NUMBER (0x97), QUERY RANDOM ADDRESS H/M/L (0x98/0xC2/0xC3), QUERY CONTENT DTR/DTR1/DTR2 — not exposed in service attributes, only the 10 attributes listed per gear are populated
H:511 (QUERY CONTROL GEAR / RESET STATE / LIMIT ERROR / LAMP POWER ON / MISSING SHORT ADDRESS)DALI gear health / topology queries — QUERY CONTROL GEAR (0x90), QUERY RESET STATE (0x95), QUERY LIMIT ERROR (0x94), QUERY LAMP POWER ON (0x93), QUERY MISSING SHORT ADDRESS (0x96, broadcast) — diagnostic queries. Could be useful as module-level diagnostics; template exposes only QUERY STATUS / LAMP FAILURE / POWER FAILURE / DEVICE TYPE / MIN-MAX-PHYSICAL MIN-POWER UP-SYSTEM FAILURE LEVEL / GROUPS
H:511 (READ MEMORY LOCATION 0xC5)DALI memory bank read — READ MEMORY LOCATION (0xC5) is required to read DALI 2.0 memory banks (Bank 0 device GTIN, FW version, serial number; Bank 1 for emergency lighting). Not used
ASCII protocol commandsParallel ASCII text protocol — RESI gateway also exposes a CR-terminated text protocol (#LARC, #GARC, #AARC, #LGS, #LCMD, #LCMDA, #DALI CMDxx etc.). Template uses Modbus exclusively — ASCII would only matter for diagnostics/terminal access
DT6 fade time / fade rate / DAPC sequenceSmooth dimming primitives — DAPC (Direct Arc Power Control) sequence allows fast continuous level updates for smooth dimming. Each gear has stored fade time / fade rate that affect transitions. Template writes raw arc power without configuring fade behaviour
DT8 colour control (XY, colour temperature, RGBW)DALI DT8 tunable white / RGB / RGBW — DT8 colour control gears (tunable white CCT, XY colour, RGBW) require DALI 2.0 24-bit frames sent via H:541 / I:10020. Template exposes plain ModbusDimmer per gear — for DT8 lamps use a dedicated DT8 template
DT1 emergency lightingDALI DT1 self-contained emergency lights — Emergency-luminaire device type with periodic self-tests (function/duration test) and battery state queries. Out of scope — template is general-purpose dimming