eHouse 1 – Home Automation – kontroler negara dalam bentuk biner

eHouse Home Automation , Gedung Manajemen Versi 1 – frame status sistem pengendali Home Automation .
Membuat berfungsi penuh , software sendiri efisien untuk panel kontrol yang membutuhkan visualisasi perlu untuk mengimplementasikan langsung decoding eHouse 1 status driver dalam bentuk biner . Tergantung pada pilihan mode operasi normal atau alamat diperpanjang (Extended_address) , bingkai untuk mengirim status pengemudi adalah sebagai berikut (dalam kurung menandai perbedaan alamat modus diperpanjang) .
Mode ini diperlukan untuk bekerja di bawah pengawasan pengemudi CommManager dan mengirimkan alamat tujuan pesan luar peristiwa , Alamat sendiri ke perangkat tujuan dapat memberitahu pengirim untuk menerima peristiwa (tangan – kocok) .
Jika antarmuka rs – 485 pasti tidak merekomendasikan upaya langsung untuk menyambung ke sopir , seperti mengirim beberapa perintah dapat menyebabkan pembersihan memori program tersebut (firmware) Controller yang bisa mengakhiri hidup mereka .
Lain perintah atau sinyal acak di RS – 485 dapat merusak stabilitas sistem atau pasti memperlambat karyanya .
Asli eHouse Otomasi Controller harus bekerja di bawah pengawasan aplikasi produser ” eHouse . exe ” .
Untuk keamanan , Anda dapat membaca status driver tanpa terhubung ke mereka melalui aplikasi eHouse . Exe (UDP protokol dan LAN) .
Ini adalah non – invasif membaca , tidak memuat baik software maupun pengendali , dan apa yang lebih , tidak mengganggu dalam protokol transfer dengan cara melalui RS – 485 .
Situasi ini berbeda ketika eHouse_1 pengendali bekerja di bawah pengawasan CommManager .
CommManager pengontrol dapat mengirim status (eHouse 1 dan CommManager dalam paket terpadu) , LAN UDP dan akses ke data ini connectionless dan non – invasif serta langsung dari CommManager atau Ethernet controller eHouse .
Menerima data atas status UDP kita tidak dapat membahayakan driver , dan maksimum data yang masuk salah menafsirkan .
EHouse sistem untuk tidak mengirim apapun untuk keselamatan pengemudi UDP , sopir tidak peduli apakah klien menerima data yang dikirim melalui UDP atau tidak , atau apakah jumlah pelanggan adalah 0 atau 250 .
Menerima data dari sistem eHouse otomatisasi rumah , UDP tersebut aman dan tidak memuat cara apapun controller atau perangkat lunak eHouse , mengirim siaran (UDP_broadcast) ke LAN .
Kotak status memiliki format berikut:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; perintah> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; perintah> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Modus yang normal / vs . (Alamat Extended)
1 . ukuran data (ukuran 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 . . sisa data untuk perintah yang diberikan .
Jika Anda mengirim status pengemudi ' ; s kontrol perintah ‘ s ‘ .
Terus mengikuti data dalam bentuk biner untuk meminimalkan transfer informasi melalui serial RS – 485 .
Untuk keamanan , data terpasang cek – jumlah untuk menghilangkan siaran salah melakukan .
Kirim Status perintah ‘ s ‘ ,
Bingkai status driver Home Automation eHouse 1 dan deskripsi dari jumlah byte (pergeseran indeks tergantung pada mode operasi (normal atau extended_address) .
Ini konstan pergeseran bernama bawah TCP_INDEX_INC . Tergantung pada mode , mungkin mengadopsi nilai 3 untuk alamat diperpanjang atau 0 untuk transmisi normal . Saat menulis perangkat lunak , Anda mungkin mempertimbangkan parameter ini sebagai variabel , karena memungkinkan kita untuk dengan mudah memanipulasi data dalam versi nanti jika frame digeser dalam satu atau lain cara .
Indeks setiap frame byte status eHouse driver 1 (awal frame):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / Nilai A/D_converters_2_bytes_1B = MSB , 2B = LSB!! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Output digital menyatakan indeks pertama

/ / Setiap angka output 1 LSB bit terkecil , MSB terbesar
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Input Digital negara LSB jumlah terkecil , MSB terbesar
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Serikat input digital (mengganggu) LSB jumlah terkecil , MSB terbesar
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / Output negara dari 25 . . 32 cara yang sama seperti output
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / / Status dari satu 1B dimmer dimmer
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / Tidak ada zona saat EM
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / Ada program saat ini
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / Input InputExtender A dalam keadaan aktif
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / / Input InputExtender B dalam keadaan aktif
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / / Input InputExtender C dalam keadaan aktif
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / / Input InputExtender A Alarm dan Peringatan
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / / Input Alarm B InputExtender dan Peringatan
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Input InputExtender C Alarm dan Peringatan
/ / Status HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / Pengukuran Suhu / dari 16 sensor dengan cara yang sama seperti untuk RM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Output digital menyatakan mirip dengan RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – terintegrasi dengan status driver eHouse 1 (sistem hybrid) eHouse 1 di bawah pengawasan CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Tempatkan status perangkat yang terhubung ke RS485 (eHouse_1) di atas 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 ; / / Akhir pengukuran A / D
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 kali i2c 10 * 8 / / max = 160 output modul modul ekstensi
STATUS_INPUTS_I2C = STATUS_OUT_I2C +20 ; / / 2 kali i2c 6 * 8 / / max 96 input pada modul ekstensi
STATUS_ALARM_I2C = STATUS_INPUTS_I2C +12 ; / / Input_in negara alarm (sehubungan dengan topeng untuk zona keamanan saat ini)
STATUS_WARNING_I2C = STATUS_ALARM_I2C +12 ; / / Input_warning negara (sehubungan dengan topeng untuk zona keamanan saat ini)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C +12 ; / / Input_condition monitoring (sehubungan dengan topeng untuk zona keamanan saat ini)
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 dimmer / / Dimmer 3 * 2B
Contoh perhitungan suhu pada status HM
i = indeks input analog 0 . . 15 untuk HM gettemplm fungsi (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