eHouse 1 – Home Automation – controller staten in binaire vorm

eHouse Home Automation , Building Management versie 1 – frame systeem statusinformatie Home Automation .
Om een ​​volledig functionele maken , efficiënte eigen software voor bedieningspanelen die visualisatie nodig moeten direct decoderen eHouse 1-coureur staat te implementeren in binaire vorm . Afhankelijk van de keuze van de normale modus of uitgebreid adres (Extended_address) , beeld de status van de bestuurder verzonden worden als volgt (tussen haakjes aangegeven verschil in uitgebreide modus adres) .
Deze modus is nodig om te werken onder het toezicht van CommManager bestuurder en stuurt het bericht bestemmingsadres externe gebeurtenissen , Eigen adres naar de bestemming apparaat kan vertellen de afzender om evenementen (met de hand – schudden) .
Als de interface rs – 485 zeker niet aanraden directe pogingen om verbinding te maken met de bestuurder , als het verzenden van een aantal commando's kan leiden tot het reinigen programma geheugen (firmware) Controllers die zou kunnen eindigen hun leven .
Andere commando's of willekeurige signalen in RS – 485 kan afbreuk doen aan de stabiliteit van het systeem of zeker vertragen zijn werk .
Inheemse eHouse Automation Controllers zou moeten werken onder de supervisie van producer toepassing ” eHouse . exe ” .
Voor de veiligheid , leest u de status van de bestuurders zonder verbinding te maken hen door de toepassing eHouse . Exe (UDP-protocol en LAN) .
Dit is niet – invasieve lezen , niet geladen noch software noch controllers , en wat meer is , niet opdringerig op geen enkele manier transfer protocol via RS – 485 .
De situatie is anders wanneer eHouse_1 controllers werken onder toezicht van CommManager .
CommManager controller kunt de status (eHouse 1 en CommManager in een geïntegreerd pakket) , de UDP LAN en toegang tot deze gegevens is verbindingsloze en niet – invasieve en rechtstreeks van CommManager of andere Ethernet-eHouse controllers .
Ontvangen van gegevens via UDP-status kunnen we geen kwaad chauffeurs , en maximaal binnenkomende gegevens verkeerd .
EHouse systeem niet om iets te sturen naar de UDP veiligheid van de bestuurder , een chauffeur doet er niet toe of de cliënt de gegevens verzonden over UDP of niet ontvangt , of dat de telling van de klanten is 0 of 250 .
Gegevens ontvangen van eHouse domotica systeem , de UDP is veilig en wordt niet geladen op enigerlei wijze controllers of eHouse software , het verzenden van uitzendingen (UDP_broadcast) op het LAN .
Status doos heeft de volgende indeling:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; command> ; ; < ; ; Data_1> ; ; . . . . . < ; ; Gegevens> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; command> ; ; < ; ; Data_1> ; ; . . . . . < ; ; Gegevens> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Normale modus / vs . (Extended-adres)
1 . grootte van de gegevens (omvang van de gegevens)
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 . . de rest van de gegevens voor een gegeven commando .
Stuurt u de status van de bestuurder ' ; de controle-opdracht ‘ s ‘ .
Blijven de data volgen in binaire vorm voor de overdracht van informatie via een seriële minimaliseren RS – 485 .
Om veiligheidsredenen , de gegevens is bevestigd controleren – Samengevat te elimineren onjuiste uitzendingen uit te voeren .
Stuur commando status ‘ s ‘ ,
Frame van een bestuurder Home Automation eHouse 1 en een beschrijving van de byte-nummer (index shift, afhankelijk van de modus (normaal of extended_address) .
Deze constante verschuiving genoemd onder TCP_INDEX_INC . Afhankelijk van de modus , het vaststellen van een waarde van 3 voor de uitgebreide adres of 0 voor normale verzending . Bij het schrijven van software , je zou kunnen overwegen deze parameter als variabele , omdat het ons toelaat om gemakkelijk te manipuleren van de gegevens in latere versies als het frame wordt verschoven in een of andere manier .
Indexen elke byte frame van de status van de drivers eHouse 1 (het begin van het frame):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / De waarde van A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Digitale uitgang stelt eerste index

/ / Elke uitgang 1 bit LSB kleinste getal , MSB grootste
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Digitale ingang staten LSB kleinste getal , MSB grootste
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Staten van digitale ingangen (interrupt) LSB kleinste getal , MSB grootste
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Uitgangen staten van 25 . . 32 op dezelfde wijze als de output
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / / Status van een dimmer dimmer 1B
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Geen huidige zone voor EM
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / Geen huidige programma
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / Input inputextender A in de actieve toestand
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / Input inputextender B in de actieve toestand
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / / Input inputextender C in de actieve toestand
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / / Input inputextender A Alarmen en waarschuwingen
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / / Input inputextender B Alarmen en waarschuwingen
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Input inputextender C Alarmen en waarschuwingen
/ / Status HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Temperatuurmetingen van 16 sensoren dezelfde wijze als de RM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Digitale uitgang staat op dezelfde wijze als RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – geïntegreerd met de status van de bestuurders eHouse 1 (hybride systeem) eHouse 1 onder toezicht van CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Plaats de status van de apparaten die zijn aangesloten op de RS485 (eHouse_1) boven 71 bytes
STATUS_ADC_ETH = 72 ; / / * ADC_measurements_16_inputs 2B A / D_notation_as_for_RM_Vcc = 3V3
STATUS_ADC_ETH_END = STATUS_ADC_ETH +32 ; / / Einde van de A / D-meting
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 keer i2c 10 * 8 / / max = 160 module uitgangen op uitbreidingsmodule
STATUS_INPUTS_I2C = STATUS_OUT_I2C +20 ; / / 2 keer i2c 6 * 8 / / max 96 ingangen op uitbreidingsmodule
STATUS_ALARM_I2C = STATUS_INPUTS_I2C +12 ; / / Input_in de alarmstatus (ten opzichte van het masker voor de huidige veiligheid zone)
STATUS_WARNING_I2C = STATUS_ALARM_I2C +12 ; / / Input_warning toestand (ten opzichte van het masker voor de huidige veiligheidszone)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C +12 ; / / Input_condition monitoring (ten opzichte van het masker voor de huidige veiligheidszone)
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 dimmers / / Dimmer 3 * 2B
Voorbeeld berekening van de temperatuur op de status van HM
i = de index analoge ingang 0 . . 15 voor HM gettemplm functie (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