eHouse 1 – Home Automation – controller estado sa binary form

eHouse Home Automation , Building Pamamahala ng bersyon 1 – frame ng sistema controller katayuan Home Automation .
Upang Lumikha ng isang fully functional , mahusay sariling software para sa control panel na nangangailangan ng visualization kailangan ipatupad ang direktang decoding eHouse 1 driver katayuan sa binary form . Depende sa pagpili ng normal na mode ng operating o pinalawig na address (Extended_address) , frame upang ipadala ang katayuan ng driver ay bilang mga sumusunod (sa mga bracket minarkahan pagkakaiba sa pinalawak na mode address) .
Ang mode na ito ay kinakailangan upang gumana sa ilalim ng pangangasiwa ng CommManager driver at nagpapadala ng mensahe patutunguhang address sa labas ng mga kaganapan , Sariling address sa destination ang aparato ay maaaring sabihin sa nagpadala upang makatanggap ng mga kaganapan (kamay – magkalog) .
Kung ang interface rs – 485 talagang hindi inirerekomenda ang mga direktang mga pagtatangka upang kumonekta sa driver , ng pagpapadala ng mga ilang utos ay maaaring maging sanhi ng tulad paglilinis programa memorya (firmware) Controllers na tapusin ang kanilang buhay .
Iba pang mga utos o random signal sa RS – 485 maaaring papanghinain ang katatagan ng sistema o tiyak na pabagalin ang kanyang trabaho .
Katutubong eHouse Automation Controllers ay dapat na gumana sa ilalim ng pangangasiwa ng producer application ” eHouse . exe ” .
Para sa seguridad , maaari mong basahin ang katayuan ng mga driver hindi pagkonekta sa kanila sa pamamagitan ng application eHouse . Exe (UDP protocol at LAN) .
Ito ay hindi – nagsasalakay pagbabasa , Hindi naglo-load ang wala software ni controllers , at kung ano ang higit pa , hindi mapanghimasok sa anumang paraan ng protocol transfer sa pamamagitan ng RS – 485 .
Ang sitwasyon ay naiiba kapag gumagana ang mga eHouse_1 controllers sa ilalim ng pangangasiwa ng CommManager .
CommManager controller ay maaaring magpadala ng katayuan (eHouse 1 at CommManager sa isang pinagsamang pakete) , UDP LAN at access sa data na ito ay connectionless at hindi – nagsasalakay pati na rin nang direkta mula sa CommManager o iba pang mga Ethernet Ehouse controllers .
Pagtanggap ng data sa paglipas ng UDP katayuan hindi namin maaaring makapinsala sa mga driver , at isang maximum ng mga papasok na data magkamali ng pakahulugan .
Sistema ng EHouse hindi upang magpadala ng kahit ano sa kaligtasan ng driver ng UDP , ang driver ay hindi mahalaga kung ang kliente ay makakatanggap ng mga data na ipinadala sa paglipas ng UDP o hindi , o kung ang bilang ng mga customer ay 0 o 250 .
Pagtanggap ng data mula sa eHouse sistema ng automation ng bahay , UDP ay ligtas at ay hindi nag-load sa anumang paraan controllers o software ng eHouse , pagpapadala ng mga broadcast (UDP_broadcast) sa LAN .
Katayuan box ay ang sumusunod na format:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; utos> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; utos> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Normal Mode / vs . (Extended Address)
1 . laki ng data (laki ng 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 . . ang lahat ng data para sa isang naibigay na utos .
Kung ikaw ipadala ang katayuan ng driver ' ; mga kontrol utos ‘ mga ‘ .
Magpatuloy upang sundin ang mga data sa binary form upang i-minimize ang paglilipat ng impormasyon sa pamamagitan ng isang serial RS – 485 .
Para sa kaligtasan , sa ang data ay naka-attach na check – sabihin sa ilang upang maalis ang mga hindi tamang broadcast gumanap .
Magpadala ng katayuan ng utos ay ‘ mga ‘ ,
Frame katayuan ng mga driver Home Automation eHouse 1 at isang paglalarawan ng ang bilang ng byte (index shift depende sa operating mode (normal o extended_address) .
Ito pare-pareho paglilipat na pinangalanan sa ibaba TCP_INDEX_INC . Depende sa mode , maaaring magpatibay ng isang halaga ng 3 para sa pinalawig na address o 0 para sa normal na paghahatid . Kapag sumusulat ng software , maaari mong isaalang-alang ang parameter na ito bilang isang variable , sapagkat ito ay nagbibigay-daan sa amin upang madaling manipulahin ang data sa mga mas bagong bersyon kung ang frame ay Paglipat sa isang paraan o iba pang .
-Index sa bawat byte katayuan ng frame ng driver ng eHouse 1 (ang simula ng frame):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Ang halaga ng A/D_converters_2_bytes_1B = MSB , 2b: = LSB!! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Digital output nagpapahayag unang index

/ / Bawat output 1 bit LSB pinakamaliit na bilang , MSB pinakamalaking
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Digital input estado LSB pinakamaliit na bilang , MSB pinakamalaking
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Unidos ng digital input (makakagambala) LSB pinakamaliit na bilang , MSB pinakamalaking
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Output ng estado mula sa 25 . . 32 sa parehong paraan bilang ang output
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / / Katayuan ng isang 1B dimmer dimmer
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Walang kasalukuyang zone para sa em
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / Walang kasalukuyang programa
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / Input inputextender A sa aktibong katayuan
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / Input inputextender B sa aktibong katayuan
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / / Input inputextender C sa aktibong katayuan
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / / Input inputextender A Mga Alarm at Babala
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / / Input B inputextender Mga Alarm at Babala
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Input inputextender C Mga Alarm at Babala
/ / Katayuan HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / / Temperatura mga sukat mula sa 16 sensor sa parehong paraan para sa RM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Digital output ay nagpapahayag katulad sa RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Katayuan commmanager – isinama kasama ang katayuan ng driver eHouse 1 (hybrid system) eHouse 1 sa ilalim ng pangangasiwa ng CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Ilagay ang katayuan ng mga aparato na konektado sa RS485 (eHouse_1) sa itaas 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 ; / / Dulo ng A / D pagsukat
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 beses sa i2c 10 * 8 / / max = 160 output ng module sa extension module
STATUS_INPUTS_I2C = 20 STATUS_OUT_I2C ; / / 2 beses i2c 6 * 8 / / max 96 input sa extension module
STATUS_ALARM_I2C = 12 STATUS_INPUTS_I2C ; / / Input_in ng alarma ng estado (na may paggalang sa ang mask para sa kasalukuyang zone ng seguridad)
STATUS_WARNING_I2C = 12 STATUS_ALARM_I2C ; / / Input_warning estado (na may paggalang sa ang mask para sa kasalukuyang zone ng seguridad)
STATUS_MONITORING_I2C = 12 STATUS_WARNING_I2C ; / / Input_condition pagmamanman (may paggalang sa mask para sa kasalukuyang zone ng seguridad)
STATUS_PROGRAM_NR = 12 STATUS_MONITORING_I2C ; / / 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 ; / / Katayuan 3 dimmers / / Dimmer 3 * 2b:
Halimbawa pagkalkula ng temperatura sa katayuan ng Hm
i = index analog input 0 . . 15 para sa Hm gettemplm function na (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