eHouse 1 – Home Automation – styrenhet stater i binär form

eHouse Home Automation , Bygga Hantering version 1 – ram av systemstyrenheten status Home Automation .
Att skapa en fullt fungerande , effektiv egen programvara för kontrollpaneler som kräver visualisering behöver genomföra direkt avkodning eHouse 1 drivrutin status i binär form . Beroende på valet av normalt driftläge eller utökad adress (Extended_address) , ram för att skicka status föraren är följande (inom parentes markant skillnad i utökat läge adress) .
Detta läge är skyldig att arbeta under överinseende av CommManager förare och skickar adressen meddelande destination utanför händelser , Egen adress till destinationsenheten kan berätta avsändaren att få händelser (handen – skaka) .
Om RS – 485 definitivt inte rekommendera direkta försök att ansluta till föraren , som att skicka vissa kommandon kan orsaka sådant minne rengöringsprogram (firmware) Controllers vilket kan avsluta sitt liv .
Andra kommandon eller slumpmässiga signaler i RS – 485 kan undergräva stabiliteten i systemet eller definitivt bromsa sitt arbete .
Native eHouse Automation Controllers bör arbeta under överinseende av producenten ansökan ” eHouse . exe ” .
Av säkerhetsskäl , kan du läsa status för förare utan att ansluta till dem genom tillämpning eHouse . Exe (UDP-protokollet och LAN) .
Detta är icke – invasiv behandling , inte läsa varken programvara eller styrenheter , och vad mer , inte påträngande på något sätt överföringsprotokoll via RS – 485 .
Situationen är annorlunda när eHouse_1 styrenheter arbetar under överinseende av CommManager .
CommManager styrenhet kan skicka status (eHouse 1 och CommManager i ett integrerat paket) , UDP LAN och tillgång till dessa uppgifter är förbindelselös och icke – invasiv samt direkt från CommManager eller andra Ethernet-styrenheter eHouse .
Ta emot data över UDP status vi inte kan skada förare , och ett maximum av inkommande data misstolkar .
EHouse systemet inte skicka något till UDP förarsäkerhet , en förare spelar ingen roll om kunden får den information som skickas över UDP eller inte , eller om räkningen av kunderna är 0 eller 250 .
Ta emot data från eHouse hem automationssystem , UDP är säkert och inte ladda på något sätt styrenheter eller eHouse programvara , skicka sändningar (UDP_broadcast) till LAN .
Status box har följande 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> ; ;
Normalläge / VS . (Extended adress)
1 . storlek av data (storleken på de 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 av data för ett givet kommando .
Om du skickar status förarens ; s trafikledning ‘ s ‘ .
Fortsätt att följa data i binär form för att minimera överföringen av information via en seriell RS – 485 .
För säkerhets , till data är fäst kontrollera – summera att eliminera felaktiga sändningar utför .
Skicka kommando status är ‘ s ‘ ,
Ram status förare Home Automation eHouse 1 och en beskrivning av byte nummer (index skift beroende på driftläget (normal eller extended_address) .
Denna ständiga växling namnges nedan TCP_INDEX_INC . Beroende på läget , Det kan anta ett värde på 3 för den utökade adress eller 0 för normal överföring . När du skriver programvara , kan du överväga denna parameter som en variabel , eftersom det tillåter oss att enkelt manipulera data i senare versioner om ramen skiftas på ett eller annat sätt .
Index varje byte ram status förare eHouse 1 (början av bilden):
STATUS_ADC = 1 2 + TCP_INDEX_INC ; / / Värdet av A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 2 + TCP_INDEX_INC ; / / Digital utgång anger första index

/ / Varje utgång 1 bit LSB minsta antal , MSB största
STATUS_IN = 20 2 + TCP_INDEX_INC ; / / Digital ingång stater LSB minsta antal , MSB största
STATUS_INT = 21 2 + TCP_INDEX_INC ; / / Stater digitala ingångar (avbrott) LSB minsta antal , MSB största
STATUS_OUT25 = 22 2 + TCP_INDEX_INC ; / / Utgångar stater från 25 . . 32 på samma sätt som utmatningen
STATUS_LIGHT = 23 2 + TCP_INDEX_INC ; / / Status för en dimmer dimmer 1B
STATUS_ZONE_PGM = 26 2 + TCP_INDEX_INC ; / / Ingen ström zon för EM
STATUS_PROGRAM = 27 2 + TCP_INDEX_INC ; / / Inga aktuella programmet
STATUS_INPUTEXT_A_ACTIVE = 28 2 + TCP_INDEX_INC ; / / Input InputExtender A i det aktiva tillståndet
STATUS_INPUTEXT_B_ACTIVE = 32 2 + TCP_INDEX_INC ; / / Input InputExtender B i aktivt tillstånd
STATUS_INPUTEXT_C_ACTIVE = 36 2 + TCP_INDEX_INC ; / / Input InputExtender C i aktivt läge
STATUS_INPUTEXT_A = 40 2 + TCP_INDEX_INC ; / / Input InputExtender A Larm och varning
STATUS_INPUTEXT_B = 50 2 + TCP_INDEX_INC ; / / Input InputExtender B-larm och varning
STATUS_INPUTEXT_C = 60 2 + TCP_INDEX_INC ; / / Input InputExtender C-larm och varning
/ / Status HeatManager
STATUS_ADC_HEART = 1 2 + TCP_INDEX_INC ; / / Temperaturmätningar från 16 sensorer på samma sätt som för RM
STATUS_OUT_HEART = 33 2 + TCP_INDEX_INC ; / / Digital utgång anger på samma sätt som RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – integrerat med status av förare eHouse 1 (hybridsystem) eHouse 1 under överinseende av CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Placera status enheter som är anslutna till RS485 (eHouse_1) över 71 byte
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 ; / / Slut på A / D-mätning
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 gånger I2C 10 * 8 / / max = 160 modul utgångar på utbyggnadsmodul
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 gånger i2c 6 * 8 / / max 96 ingångar på utbyggnadsmodul
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in larmtillståndet (med avseende på masken för den aktuella säkerhetszonen)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning tillstånd (med avseende på masken för den aktuella säkerhetszonen)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition övervakning (med avseende på masken för den aktuella säkerhetszonen)
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 dimrar / / Dimmer 3 * 2B
Exempel på beräkning av temperaturen på status HM
i = index analog ingång 0 . . 15 för 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