eHouse 1 – Domácí automatizace – Regulátor uvádí v binární formě

eHouse Domácí automatizace , Správa budov verze 1 – Rám stavu systému řadiče Domácí automatizace .
Chcete-li vytvořit plně funkční , efektivní vlastní software pro ovládací panely, které vyžadují vizualizaci je třeba zavést přímou dekódování eHouse 1 status řidiče v binární formě . V závislosti na výběru normálního provozního režimu nebo prodloužené adresu (Extended_address) , rám zaslat stav řidiče je následující (v závorce označeny rozdíl v rozšířeném režimu adresu) .
Tento režim je nutné pracovat pod dohledem CommManager řidiče a odešle zprávu cílovou adresu mimo akce , Vlastní adresa cílového zařízení může říct odesílatele přijímat události (ruční – chvění) .
Pokud rozhraní rs – 485 rozhodně nedoporučuje přímé pokusy o připojení k řidiči , jako odeslání některých příkazů může způsobit takový čistící paměť programu (firmware) Regulátory které by mohly ukončit svůj život .
Další příkazy nebo náhodné signály v RS – 485 může ohrozit stabilitu systému nebo rozhodně zpomalit svou práci .
Nativní eHouse Automation Controllers by měl pracovat pod dohledem producenta žádosti ” eHouse . exe ” .
Pro zabezpečení , si můžete přečíst stav řidičů bez připojení k nim prostřednictvím aplikace eHouse . Exe (UDP protokol a LAN) .
Toto je non – invazivní čtení , nenačítají ani software, ani kontroloři , a co je , není dotěrný v kterémkoli protokolu způsobem přenosu přes RS – 485 .
Situace je jiná, když eHouse_1 Regulátory pracují pod dohledem CommManager .
CommManager regulátor může poslat stav (eHouse 1 a CommManager v integrovaném balíku) , UDP LAN a přístup k datům je nespojitá a non – invazivní, stejně jako přímo z CommManager nebo jiné Ethernet eHouse řadiče .
Příjem dat přes UDP stavu nemůžeme ublížit ovladače , a maximální příchozích dat překroutit .
EHouse systém neposílat nic na bezpečnost řidiče UDP , ovladač není důležité, zda klient obdrží data odesílaná přes UDP, nebo ne , nebo zda počet zákazníků je 0 nebo 250 .
Příjem dat z automatizačního eHouse systému domácího , UDP je bezpečná a nenačte v žádném případě regulátorů nebo eHouse software , odeslání vysílání (UDP_broadcast) k síti LAN .
Status box má následující formát:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; command> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; command> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Normální režim / vs . (Extended Address)
1 . Velikost dat (velikost dat)
2 . Address_H_target (Address_H_target)
3 . Address_L_target (Address_L_target)
4 . Control_command (Address_H_of_local_controller_return_path)
5 . Data_1_byte (Address_L_of_local_controller_return_path)
6 . Data_2_byte (Control_Command)
7 Data_3_byte (Data_1_byte)
8 . . Zbytek dat pro daný příkaz .
Pokud pošlete stav ovladače " ; s řídicí příkaz ‘ s ‘ .
Pokračujte podle údajů v binární podobě, aby se minimalizovalo přenos informací prostřednictvím sériového rozhraní RS – 485 .
Z bezpečnostních důvodů , k datům je připojen kontrolu – Součet odstranění nesprávných vysílání plnit .
Poslat příkaz status je ‘ s ‘ ,
Rám stav řidičů Domácí automatizace eHouse 1 a popis byte čísla (index posun v závislosti na provozním režimu (normální nebo extended_address) .
Tato konstanta řazení jmenoval níže TCP_INDEX_INC . V závislosti na režimu , může přijmout hodnotu 3 pro delší adresy nebo 0 pro normální přenos . Při psaní software , měli byste zvážit tento parametr jako proměnná , protože nám umožňuje snadno manipulovat data v novějších verzích, pokud rám je posunut v jedné cestě nebo jiný .
Indexy každý bajt rám postavení řidičů eHouse 1 (start rámu):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Hodnota A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 2 + TCP_INDEX_INC ; / / Digitální výstup uvádí první index

/ / Každý výstup 1 bit LSB nejmenší počet , MSB největší
STATUS_IN = 20 2 + TCP_INDEX_INC ; / / Digitální vstup státy LSB nejmenší počet , MSB největší
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Státy digitálních vstupů (přerušení) LSB nejmenší počet , MSB největší
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Výstupy stavy z 25 . . 32 stejným způsobem jako výstup
STATUS_LIGHT = 23 2 + TCP_INDEX_INC ; / / Stav jednoho 1B stmívání stmívání
STATUS_ZONE_PGM = 26 2 + TCP_INDEX_INC ; / / V současné době žádný prostor pro EM
STATUS_PROGRAM = 27 2 + TCP_INDEX_INC ; / / No aktuální program
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / Vstupní InputExtender v aktivním stavu
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / Vstup InputExtender B v aktivním stavu
STATUS_INPUTEXT_C_ACTIVE = 36 2 + TCP_INDEX_INC ; / / Vstupní InputExtender C v aktivním stavu
STATUS_INPUTEXT_A = 40 2 + TCP_INDEX_INC ; / / Vstupní InputExtender A Alarmy a varování
STATUS_INPUTEXT_B = 50 2 + TCP_INDEX_INC ; / / Vstupní Alarmy InputExtender B a výstražné
STATUS_INPUTEXT_C = 60 2 + TCP_INDEX_INC ; / / Vstupní InputExtender C Alarmy a varování
/ / Status HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Měření teploty od 16 senzorů stejným způsobem jako pro RM
STATUS_OUT_HEART = 33 2 + TCP_INDEX_INC ; / / Digitální výstup uvádí podobně jako RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – integrován s postavením řidiče eHouse 1 (hybridní systém) eHouse 1 pod dohledem CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Umístěte stavu zařízení připojených na linku RS485 (eHouse_1) výše 71 bajtů
STATUS_ADC_ETH = 72 ; / / ADC_measurements_16_inputs * 2B / D_notation_as_for_RM_Vcc = 3V3
STATUS_ADC_ETH_END = STATUS_ADC_ETH 32 ; / / Konec A / D měření
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 krát i2c 10 * 8 / / max = 160 modul výstupů na rozšiřujícím modulem
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 krát i2c 6 * 8 / / max. 96 vstupů na rozšiřujícího modulu
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in stav alarmu (s ohledem na masku pro aktuální bezpečnostní zóny)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning stav (s ohledem na masku pro aktuální bezpečnostní zóny)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition monitoring (s ohledem na masku pro aktuální bezpečnostní zóny)
STATUS_PROGRAM_NR = STATUS_MONITORING_I2C 12 ; / / Program_number_CommManager
STATUS_ZONE_NR = STATUS_PROGRAM_NR 1 ; / / Number_CommManager_zone
STATUS_ADC_PROGRAM = STATUS_ZONE_NR 1 ; / / ADC_program_number
STATUS_ADC_PROGRAM STATUS_LIGHT_LEVEL = 2 ; / / Status 3 stmívačů / / stmívač 3 * 2B
Příklad výpočtu teploty o stavu HM
i = index analogový vstup 0 . . 15 HM pro gettemplm funkce (MSB , LSB) ;
TEMPHM [i]: = gettemplm (str [STATUS_ADC_HEART + i * 2 + TCP_INDEX_INC] , str [STATUS_ADC_HEART + i * 2 +1 + TCP_INDEX_INC]) eHouse_Home_Automation_OpenSource_Delphi