eHouse 1 – Home Automation – kontroleerder state in binêre vorm

eHouse Home Automation , Building Management weergawe 1 – raam van die stelsel kontroleerder status Home Automation .
Te skep 'n ten volle funksionele , doeltreffende eie sagteware vir die beheer panele wat vereis dat visualisering moet direkte dekodering eHouse 1 bestuurder status te implementeer in binêre vorm . Afhangende van die keuse van die normale bedryfsiklus modus of uitgebreide adres (Extended_address) , raam om die status van die bestuurder te stuur is soos volg (in hakies gemerk verskil in uitgebreide modus adres) .
Hierdie modus is nodig om te werk onder die toesig van CommManager bestuurder en stuur die boodskap bestemming adres buite gebeure , Eie adres na die bestemming toestel kan die sender vertel gebeure (hand te ontvang – skud) .
As die koppelvlak rs – 485 beslis nie aanbeveel direkte pogings om aan te sluit op die bestuurder , as die stuur van sommige opdragte kan veroorsaak so 'n reiniging program geheue (firmware) Controllers wat die einde van hul lewe .
Ander opdragte of willekeurige seine in RS – 485 kan die stabiliteit van die stelsel ondermyn of beslis vertraag sy werk .
Native eHouse Automation controllers moet werk onder die toesig van die produsent aansoek ” eHouse . exe ” .
Vir sekuriteit , kan jy die status van die bestuurders lees sonder koppeling aan hulle deur die aansoek eHouse . Exe (UDP-protokol en LAN) .
Dit is nie – indringende lees , nie laai nie sagteware of controllers , en wat is meer , nie intrusief in enige manier oordrag protokol via RS – 485 .
Die situasie is anders toe eHouse_1 controllers werk onder die toesig van CommManager .
CommManager kontroleerder kan stuur status (eHouse 1 en CommManager in 'n geïntegreerde pakket) , die UDP LAN en toegang tot hierdie inligting is Verbindingloos en nie – indringer sowel as direk van CommManager of ander Ethernet eHouse controllers .
Ontvangs van data oor UDP status wat ons nie kan seermaak bestuurders , en 'n maksimum van inkomende data misinterpreteer .
EHouse stelsel niks te stuur na die UDP bestuurder veiligheid , 'n bestuurder maak nie saak of die kliënt ontvang die data wat gestuur word oor UDP of nie , of die telling van kliënte is 0 of 250 .
Ontvangs van data uit eHouse tuis automatisering stelsel , die UDP is veilig en nie in enige manier controllers of eHouse sagteware laai , stuur uitsendings (UDP_broadcast) aan die LAN .
Status boks het die volgende formaat:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; opdrag> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; opdrag> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Normale modus / vs . (Verlengde Adres)
1 . grootte van die data (omvang van die 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 . . die res van die data vir 'n gegewe opdrag .
As jy die status van die bestuurder stuur ' ; se beheer opdrag ‘ s ‘ .
Gaan voort om die data te volg in binêre vorm die oordrag van inligting te verminder deur middel van 'n seriële RS – 485 .
Vir veiligheid , aan die data aangeheg gaan – som verkeerd uitsendings te skakel voer .
Stuur opdrag status is ‘ s ‘ ,
Frame status van bestuurders Home Automation eHouse 1 en 'n beskrywing van die byte nommer (indeks verskuiwing afhangende van die bedryfstelsel af (normale of extended_address) .
Hierdie konstante verskuiwing hieronder genoem TCP_INDEX_INC . Afhangende van die modus , dit kan 'n waarde van 3 vir die verlengde adres of 0 vir normale oordrag neem . By die skryf van sagteware , jy kan hierdie parameter beskou as 'n veranderlike , omdat dit ons in staat stel om maklik te manipuleer die data in latere weergawes as die raam is in een of ander manier verskuif .
Indekse elke byte raam status van die bestuurders eHouse 1 (die begin van die raam):
STATUS_ADC = 1 2 + TCP_INDEX_INC ; / / Die waarde van A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 2 + TCP_INDEX_INC ; / / Digital uitset verklaar eerste indeks

/ / Elke uitset 1 bietjie LSB kleinste getal , MSB grootste
STATUS_IN = 20 2 + TCP_INDEX_INC ; / / Digitale insette state LSB kleinste getal , MSB grootste
STATUS_INT = 21 2 + TCP_INDEX_INC ; / / State van digitale insette (onderbreking) LSB kleinste getal , MSB grootste
STATUS_OUT25 = 22 2 + TCP_INDEX_INC ; / / Uitsette state van 25 . . 32 op dieselfde manier as die uitset
STATUS_LIGHT = 23 2 + TCP_INDEX_INC ; / / Status van een dimmer dimmer 1B
STATUS_ZONE_PGM = 26 2 + TCP_INDEX_INC ; / / Geen huidige sone vir EM
STATUS_PROGRAM = 27 2 + TCP_INDEX_INC ; / / Geen huidige program
STATUS_INPUTEXT_A_ACTIVE = 28 2 + TCP_INDEX_INC ; / / Input inputextender A in die aktiewe toestand
STATUS_INPUTEXT_B_ACTIVE = 32 2 + TCP_INDEX_INC ; / / Input inputextender B in die aktiewe toestand
STATUS_INPUTEXT_C_ACTIVE = 36 2 + TCP_INDEX_INC ; / / Input inputextender C in die aktiewe toestand
STATUS_INPUTEXT_A = 40 2 + TCP_INDEX_INC ; / / Input inputextender A Alarms en Waarskuwing
STATUS_INPUTEXT_B = 50 2 + TCP_INDEX_INC ; / / Input inputextender B Alarms en Waarskuwing
STATUS_INPUTEXT_C = 60 2 + TCP_INDEX_INC ; / / Input inputextender C Alarms en Waarskuwing
/ / Status HeatManager
STATUS_ADC_HEART = 1 2 + TCP_INDEX_INC ; / / Temperatuur metings van 16 sensors op dieselfde wyse as vir die RM
STATUS_OUT_HEART = 33 2 + TCP_INDEX_INC ; / / Digital uitset verklaar soortgelyk aan RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status commmanager – geïntegreer is met die status van bestuurders eHouse 1 (hibriede stelsel) eHouse 1 onder die toesig van CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Plaas die status van toestelle gekoppel aan die RS485 (eHouse_1) bo 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 die A / D meting
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 keer i2c 10 * 8 / / max = 160 module uitsette op die uitbreiding module
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 keer i2c 6 * 8 / / max 96 insette op die uitbreiding module
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in die alarm staat (met betrekking tot die masker vir die huidige veiligheid zone)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning staat (met betrekking tot die masker vir die huidige veiligheid zone)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition monitering (met betrekking tot die masker vir die huidige veiligheid zone)
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 die temperatuur op die status van HM
i = indeks analoog insette 0 . . 15 vir HM gettemplm funksie (MSB , LSB) ;
TEMPHM [i]: = gettemplm (str [STATUS_ADC_HEART + i * 2 + TCP_INDEX_INC] , blz [STATUS_ADC_HEART + i * 2 1 + TCP_INDEX_INC]) eHouse_Home_Automation_OpenSource_Delphi