eHouse 1 – Home Automation – controller anfører i binær form

eHouse Home Automation , Building Management version 1 – ramme af systemstyreenheden status Home Automation .
At skabe en fuldt funktionel , effektiv eget software til betjeningspaneler, der kræver visualisering behovet for at gennemføre direkte afkodning eHouse 1 førerstatus i binær form . Afhængigt af valget af den normale driftstilstand eller udvidet adresse (Extended_address) , ramme til at sende status føreren er som følger (i parentes markeret forskel i Udvidet modus adresse) .
Denne tilstand er forpligtet til at arbejde under tilsyn af CommManager chauffør og sender meddelelsen destinationsadressen udenfor begivenheder , Egen adresse til destinationen enheden kan fortælle afsenderen til at modtage hændelser (hånd – ryste) .
Hvis grænsefladen rs – 485 absolut ikke anbefale direkte forsøg på at oprette forbindelse til føreren , som at sende nogle kommandoer kan forårsage en sådan rensning programhukommelse (firmware) Controllere som vil kunne ende deres liv .
Andre kommandoer eller tilfældige signaler i RS – 485 kan underminere stabiliteten af ​​systemet eller absolut bremse sit arbejde .
Native eHouse Automatiseringskontroller bør arbejde under tilsyn af producenten ansøgning ” eHouse . exe ” .
For sikkerhed , du kan læse status for bilister uden tilslutning til dem gennem anvendelse eHouse . Exe (UDP-protokol og LAN) .
Det er ikke – invasiv behandling , ikke laste hverken software eller controllere , og hvad der er mere , ikke påtrængende på nogen måde Transfer Protocol via RS – 485 .
Situationen er anderledes, når eHouse_1 controllere arbejder under tilsyn af CommManager .
CommManager controller kan sende status (eHouse 1 og CommManager i en integreret pakke) , UDP LAN og adgang til disse data er forbindelsesløse og non – invasiv såvel som direkte fra CommManager eller andre Ethernet eHouse controllere .
Modtagelse af data via UDP status, vi kan ikke skade drivere , og højst indkommende data misfortolke .
EHouse system ikke at sende noget til UDP føreren sikkerhed , en chauffør er ligegyldigt, om kunden modtager data, der sendes over UDP eller ej , eller om optælling af kunder er 0 eller 250 .
Modtagelse af data fra eHouse home automation system , UDP er sikker og ikke indlæses på nogen måde controllere eller eHouse software , sende udsendelser (UDP_broadcast) til LAN .
Status boks har følgende format:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; kommando> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; kommando> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Normal Mode / vs . (Extended Address)
1 . størrelsen af ​​de data (størrelsen af ​​data)
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 af ​​dataene for en given kommando .
Hvis du sender status for førerens ; s styrekommando ‘ s ‘ .
Fortsæt med at følge dataene i binær form til at minimere overførsel af information via en seriel RS – 485 .
For en sikkerheds , til data vedhæftet tjek – Sammenfattende at eliminere fejlagtige transmissioner udfører .
Send kommando status er ‘ s ‘ ,
Frame status af chauffører Home Automation eHouse 1 og en beskrivelse af den byte nummer (indeks skift afhængigt af driftstype (normal eller extended_address) .
Denne konstante skift nedennævnte TCP_INDEX_INC . Afhængigt af tilstanden , kan den indføre en værdi på 3 for den forlængede adresse eller 0 for normal transmission . Når du skriver software , kan du overveje denne parameter som en variabel , fordi det giver os mulighed for nemt at manipulere med data i senere versioner, hvis rammen er forskudt i den ene eller anden måde .
Indexes hver byte frame status for chauffører eHouse 1 (starten af ​​rammen):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Værdien af ​​A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 2 + TCP_INDEX_INC ; / / Digital udgang hedder første indeks

/ / Hver udgang 1 bit LSB mindste tal , MSB største
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Digital indgang hedder LSB mindste tal , MSB største
STATUS_INT = 21 2 + TCP_INDEX_INC ; / / Stater digitale indgange (interrupt) LSB mindste antal , MSB største
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Udgange stater fra 25 . . 32 på samme måde som udgangssignalet
STATUS_LIGHT = 23 2 + TCP_INDEX_INC ; / / Status for en lysdæmper lysdæmper 1B
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Ingen aktuelle zone for EM
STATUS_PROGRAM = 27 2 + TCP_INDEX_INC ; / / Ingen aktuelle program
STATUS_INPUTEXT_A_ACTIVE = 28 2 + TCP_INDEX_INC ; / / Input inputextender A i den aktive tilstand
STATUS_INPUTEXT_B_ACTIVE = 32 2 + TCP_INDEX_INC ; / / Input inputextender B i den aktive tilstand
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / / Input inputextender C i den aktive tilstand
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åde som for RM
STATUS_OUT_HEART = 33 2 + TCP_INDEX_INC ; / / Digital udgang hedder ligeledes til RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – integreret med status af chauffører eHouse 1 (hybrid system) eHouse 1 under tilsyn af CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Sæt status af enheder tilsluttet 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 gange I2C 10 * 8 / / max = 160 modul udgange på udvidelsesmodul
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 gange I2C 6 * 8 / / max 96 indgange på udvidelsesmodul
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in alarmtilstanden (i forhold til masken for den aktuelle sikkerhedszone)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning tilstand (med hensyn til masken for den aktuelle sikkerhedssituation zone)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition overvågning (med hensyn til masken for den aktuelle sikkerhedssituation zone)
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 lysdæmpere / / Dimmer 3 * 2B
Eksempel beregning af temperaturen om status for HM
i = indeks analog indgang 0 . . 15 for HM gettemplm funktion (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