eHouse 1 – Home Automation – gli stati del controller in forma binaria

eHouse Home Automation , Building Management versione 1 – Telaio di stato del sistema di controllo Home Automation .
Per creare una completamente funzionale , efficiente software per pannelli di controllo che richiedono la visualizzazione è necessario implementare la decodifica diretta eHouse 1 stato pilota in forma binaria . A seconda della scelta del modo di funzionamento normale o indirizzo ampliato (Extended_address) , frame da inviare lo stato del conducente è il seguente (in parentesi marcata differenza indirizzo modalità estesa) .
Questa modalità è richiesto di lavorare sotto la supervisione di CommManager conducente e invia l'indirizzo di destinazione del messaggio di fuori eventi , Indirizzo al dispositivo di destinazione può dire al mittente di ricevere eventi (mano – agitare) .
Se l'interfaccia RS – 485 non consiglio tentativi diretti di connettersi al driver , l'invio di alcuni comandi può causare un tale programma di pulizia della memoria (firmware) Controllori che potrebbe porre fine alla loro vita .
Altri comandi o segnali casuali in RS – 485 potrebbe minare la stabilità del sistema e sicuramente rallentare il suo lavoro .
EHouse Native Controllori di automazione dovrebbero lavorare sotto la supervisione di applicazione produttore ” eHouse . exe ” .
Per motivi di sicurezza , è possibile leggere lo stato dei driver senza la connessione ad essi attraverso l'applicazione eHouse . Exe (protocollo UDP e LAN) .
Questo non è – lettura invasiva , Non caricare né software né controllori , e ciò che è più , non invadente in alcun modo il trasferimento via protocollo RS – 485 .
La situazione è diversa quando eHouse_1 controller di lavorare sotto la supervisione di CommManager .
CommManager controllore può inviare stato (eHouse 1 e CommManager in un pacchetto integrato) , la LAN UDP e l'accesso a questi dati è senza connessione e non – invasiva e direttamente da CommManager o di altri controller Ethernet eHouse .
Ricezione di dati sullo status UDP non può danneggiare i driver , e un massimo di dati in entrata fraintendere .
EHouse sistema di non inviare nulla alla sicurezza del conducente UDP , un driver non ha importanza se il client riceve i dati inviati tramite UDP o meno , o se il numero di clienti è 0 o 250 .
Ricezione dati dal sistema di automazione domestica eHouse , l'UDP è sicuro e non viene caricato in alcun modo i controller o software eHouse , l'invio di trasmissioni (UDP_broadcast) alla LAN .
Casella Stato ha il seguente formato:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; comando> ; ; < ; ; dati_1> ; ; . . . . . < ; ; Dati> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; comando> ; ; < ; ; dati_1> ; ; . . . . . < ; ; Dati> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Modalità normale / vs . (Indirizzo Extended)
1 . dimensione dei dati (formato dei dati)
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 . . il resto dei dati per un determinato comando .
Se si invia lo stato del conducente ' ; s comando di controllo ‘ s ‘ .
Continua a seguire i dati in forma binaria per minimizzare il trasferimento di informazioni attraverso una porta seriale RS – 485 .
Per la sicurezza , ai dati è collegato controllare – sommare eliminare trasmissioni errate effettuare .
Il testo è stato del comando ‘ s ‘ ,
Cornice stato dei conducenti Home Automation eHouse 1 e una descrizione del numero di byte (spostamento dell'indice a seconda della modalità di funzionamento (normale o extended_address) .
Questo spostamento costante denominata di seguito TCP_INDEX_INC . A seconda della modalità , si può adottare un valore di 3 per l'indirizzo esteso o 0 per la trasmissione normale . Durante la scrittura del software , si potrebbe considerare questo parametro come variabile , perché ci permette di manipolare facilmente i dati in versioni successive se il telaio è spostato in un modo o nell'altro .
Indici ogni fotogramma byte di stato del eHouse driver 1 (l'inizio del telaio):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Il valore di A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Uscita digitale afferma primo indice

/ / Ogni 1 bit LSB uscita numero più basso , MSB più grande
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Numero di ingresso digitale stabilisce LSB più piccolo , MSB più grande
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Stati di ingressi digitali (interrupt) il numero più piccolo LSB , MSB più grande
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Uscite da 25 stati . . 32 allo stesso modo come l'uscita
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / / Stato di uno 1B dimmer dimmer
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Nessun zona corrente per EM
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / Nessun programma in corso
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / InputExtender ingresso A nello stato attivo
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / B InputExtender ingresso nello stato attivo
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / C InputExtender / ingresso nello stato attivo
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / / Ingresso InputExtender A Allarmi e avvisi
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / / Ingresso InputExtender Allarmi B e di avviso
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Ingresso InputExtender Allarmi C e di avviso
/ / Stato HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Le misure di temperatura da 16 sensori nello stesso modo come per la RM
STATUS_OUT_HEART = 33 + 2 TCP_INDEX_INC ; / / Uscita digitale afferma in modo simile a RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Stato CommManager – integrato con lo status di driver eHouse 1 (sistema ibrido) eHouse 1 sotto la supervisione di CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Inserire lo stato dei dispositivi collegati alla RS485 (eHouse_1) superiori a 71 byte
STATUS_ADC_ETH = 72 ; / / * 2B ADC_measurements_16_inputs A / D_notation_as_for_RM_Vcc = 3V3
STATUS_ADC_ETH_END STATUS_ADC_ETH = 32 ; / / Fine della A / D di misura
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 volte I2C 10 * 8 / / max = 160 uscite del modulo sul modulo di estensione
STATUS_INPUTS_I2C STATUS_OUT_I2C = 20 ; / / 2 volte i2c 6 * 8 / / max 96 ingressi sul modulo di estensione
STATUS_ALARM_I2C STATUS_INPUTS_I2C = 12 ; / / Input_in lo stato di allarme (rispetto alla maschera per l'area di sicurezza corrente)
STATUS_WARNING_I2C STATUS_ALARM_I2C = 12 ; / / Input_warning stato (rispetto alla maschera per l'area di sicurezza corrente)
STATUS_MONITORING_I2C STATUS_WARNING_I2C = 12 ; / / Input_condition monitoraggio (rispetto alla maschera per l'area di sicurezza corrente)
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 dimmer / / Dimmer 3 * 2B
Esempio di calcolo della temperatura sullo stato di HM
i = indice di ingresso analogico 0 . . 15 per HM gettemplm funzione (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