eHouse en – Home Automation – kontrolleren stater i binær form

eHouse Home Automation , Building Management versjon 1 – rammen av systemet kontrolleren status Home Automation .
Å skape en fullt funksjonell , effektiv egen programvare for kontrollpaneler som krever visualisering trenger for å implementere direkte dekoding eHouse en driver status i binær form . Avhengig av valg av normal modus eller utvidet adresse (Extended_address) , ramme å sende status av driveren er som følger (i parentes markant forskjell i utvidet modus adresse) .
Denne modusen er nødvendig å arbeide under tilsyn av CommManager driver og sender meldingen destinasjon adresse utenfor hendelser , Egen adresse til målenheten kan fortelle avsenderen å motta hendelser (hånd – riste) .
Hvis grensesnittet rs – 485 definitivt ikke anbefale direkte forsøk på å koble til sjåføren , som å sende noen kommandoer kan forårsake slike rengjøringsprogram minne (firmware) Controllers som kan ende sitt liv .
Andre kommandoer eller tilfeldige signaler i RS – 485 kan undergrave stabiliteten i systemet eller definitivt tregere sitt arbeid .
Native eHouse Automatisering Controllers bør arbeide under ledelse av produsent søknad ” eHouse . exe ” .
For sikkerhet , du kan lese status for sjåfører uten å koble til dem gjennom programmet eHouse . Exe (UDP protokollen og LAN) .
Dette er ikke – invasiv lesing , ikke å laste verken programvare eller kontrollere , og hva er mer , ikke påtrengende på noen måte Transfer Protocol via RS – 485 .
Situasjonen er annerledes når eHouse_1 kontrollere fungerer under tilsyn av CommManager .
CommManager kontrolleren kan sende status (eHouse 1 og CommManager i en integrert pakke) , UDP LAN og tilgang til disse dataene er forbindelsesløs og ikke – invasiv samt direkte fra CommManager eller andre Ethernet eHouse kontrollere .
Motta data over UDP status vi ikke kan skade drivere , og maksimum innkommende data feiltolke .
EHouse systemet ikke å sende noe til UDP driveren sikkerhet , en driver ingen rolle om kunden mottar data som sendes over UDP eller ikke , eller om greven av kunder er 0 eller 250 .
Motta data fra eHouse hjemme automasjon system , UDP er trygt og ikke laster ikke på noen måte kontrollere eller eHouse programvare , sende sendinger (UDP_broadcast) til LAN .
Status boksen har følgende format:
< ; ; 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> ; ;
Normal Mode / vs . (Extended Adresse)
1 . størrelsen på data (størrelse av dataene)
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 . . resten av dataene for et gitt kommando .
Hvis du sender status for sjåførens ; s styrekommandoen ‘ s ‘ .
Fortsett å følge dataene i binær form å minimere overføring av informasjon gjennom en seriell RS – 485 .
For sikkerhets , til data knyttes sjekk – summere å eliminere feil sendinger utføre .
Send kommando status er ‘ s ‘ ,
Ramme status av drivere Home Automation eHouse 1 og en beskrivelse av bytenummer (indeks skift avhengig av driftsmodusen (normal eller extended_address) .
Denne konstante skiftende navngitt under TCP_INDEX_INC . Avhengig av modus , det kan innta en verdi på 3 for utvidet adresse eller 0 for normal overføring . Når du skriver programvare , kan du vurdere denne parameteren som en variabel , fordi det lar oss lett manipulere dataene i senere versjoner hvis rammen er flyttet i en eller annen måte .
Indekser hver byte ramme statusen til sjåførene eHouse 1 (starten av rammen):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Verdien av A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 2 + TCP_INDEX_INC ; / / Digital utgang sier første indeksen

/ / Hver utgang 1 bit LSB minste tallet , MSB største
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Digital inngang stater LSB minste tallet , MSB største
STATUS_INT = 21 2 + TCP_INDEX_INC ; / / Stater av digitale innganger (interrupt) LSB minste antall , MSB største
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Utganger stater fra 25 . . 32 på samme måte som utgangssignalet
STATUS_LIGHT = 23 2 + TCP_INDEX_INC ; / / Status for en dimmer dimmer 1B
STATUS_ZONE_PGM = 26 2 + TCP_INDEX_INC ; / / No gjeldende sone for EM
STATUS_PROGRAM = 27 2 + TCP_INDEX_INC ; / / No aktuelle programmet
STATUS_INPUTEXT_A_ACTIVE = 28 2 + TCP_INDEX_INC ; / / Input InputExtender A i aktiv status
STATUS_INPUTEXT_B_ACTIVE = 32 2 + TCP_INDEX_INC ; / / Input InputExtender B i aktiv status
STATUS_INPUTEXT_C_ACTIVE = 36 2 + TCP_INDEX_INC ; / / Input InputExtender C i aktiv status
STATUS_INPUTEXT_A = 40 2 + TCP_INDEX_INC ; / / Input InputExtender A Alarmer og Advarsel
STATUS_INPUTEXT_B = 50 2 + TCP_INDEX_INC ; / / Input InputExtender B Alarmer og Advarsel
STATUS_INPUTEXT_C = 60 2 + TCP_INDEX_INC ; / / Input InputExtender C Alarmer og Advarsel
/ / Status HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Temperaturmålinger fra 16 sensorer på samme måte som for RM
STATUS_OUT_HEART = 33 2 + TCP_INDEX_INC ; / / Digital utgang sier på samme måte som RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – integrert med status for drivere eHouse 1 (hybrid system) eHouse 1 under oppsyn av CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Sett status for enhetene som er koblet til RS485 (eHouse_1) over 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 ; / / End of the A / D måling
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 ganger i2c 10 * 8 / / max = 160 modul utganger på forlengelse modul
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 ganger I2C 6 * 8 / / max 96 innganger på utvidelsesmodul
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in alarmtilstanden (med hensyn til masken for gjeldende sikkerhetssone)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning tilstand (med hensyn til maske for gjeldende sikkerhetssone)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition overvåking (med hensyn til maske for gjeldende sikkerhetssone)
STATUS_PROGRAM_NR = STATUS_MONITORING_I2C 12 ; / / Program_number_CommManager
STATUS_ZONE_NR = STATUS_PROGRAM_NR en ; / / Number_CommManager_zone
STATUS_ADC_PROGRAM = STATUS_ZONE_NR en ; / / ADC_program_number
STATUS_ADC_PROGRAM STATUS_LIGHT_LEVEL = 2 ; / / Status 3 dimmere / / Dimmer 3 * 2B
Eksempel på beregning av temperaturen om status for HM
i = indeks analog inngang 0 . . 15 for HM gettemplm funksjon (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