eHouse 1 – Automasi Utama – pengawal negeri-negeri dalam bentuk perduaan

eHouse Automasi Utama , Pengurusan Bangunan versi 1 – bingkai status kawalan sistem Automasi Utama .
Buat berfungsi sepenuhnya , cekap perisian sendiri untuk panel kawalan yang memerlukan visualisasi perlu untuk melaksanakan langsung penyahkodan eHouse 1 pemandu status dalam bentuk perduaan . Bergantung pada pilihan mod operasi biasa atau alamat dilanjutkan (Extended_address) , bingkai untuk menghantar status pemandu adalah seperti berikut (dalam kurungan menandakan perbezaan di alamat mod dilanjutkan) .
Mod ini diperlukan untuk bekerja di bawah pengawasan pemandu CommManager dan menghantar mesej alamat destinasi luar acara , Alamat sendiri ke peranti destinasi boleh memberitahu penghantar untuk menerima peristiwa (tangan – goncang) .
Jika rs muka – 485 pasti tidak mengesyorkan cubaan langsung untuk menyambung kepada pemandu , menghantar beberapa arahan boleh menyebabkan pembersihan program seperti memori (firmware) Pengawal yang boleh akhir hayat mereka .
Arahan lain atau isyarat rawak RS – 485 boleh menjejaskan kestabilan sistem atau pasti melambatkan kerjanya .
EHouse asli Automasi Pengawal perlu bekerja di bawah pengawasan permohonan pengeluar ” eHouse . exe ” .
Untuk keselamatan , anda boleh membaca status pemandu tanpa menyambung kepada mereka melalui eHouse permohonan . Exe (UDP protokol dan LAN) .
Ini bukan – bacaan invasif , tidak memuatkan bukan perisian serta pengawal , dan apa yang lebih , tidak mengganggu dalam mana-mana protokol pemindahan jalan melalui RS – 485 .
Keadaan ini adalah berbeza apabila eHouse_1 pengawal bekerja di bawah pengawasan CommManager .
CommManager pengawal boleh menghantar status (eHouse 1 dan CommManager dalam pakej bersepadu) , LAN UDP dan akses kepada data ini adalah sambungan dan bukan – invasif serta terus dari CommManager atau lain-lain pengawal eHouse Ethernet .
Menerima data melalui UDP status kita tidak boleh membahayakan pemandu , dan maksimum data masuk menyalahtafsirkan .
EHouse sistem untuk tidak menghantar apa-apa untuk keselamatan pemandu UDP , pemandu tidak kira sama ada pelanggan menerima data yang dihantar melalui UDP atau tidak , atau sama ada kiraan pelanggan adalah 0 atau 250 .
Menerima data dari eHouse sistem automasi rumah , UDP adalah selamat dan tidak memuatkan pengawal apa-apa cara atau perisian eHouse , menghantar siaran (UDP_broadcast) kepada LAN .
Status kotak mempunyai format berikut:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; arahan> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; arahan> ; ; < ; ; data_1> ; ; . . . . . < ; ; Data> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Mod Normal / vs . (Alamat Extended)
1 . saiz data (saiz 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 . . seluruh data arahan yang diberikan .
Jika anda menghantar status pemandu ' ; s kawalan arahan ‘ s ‘ .
Teruskan untuk mengikuti data dalam bentuk perduaan untuk mengurangkan pemindahan maklumat melalui RS bersiri – 485 .
Untuk keselamatan , data dilampirkan memeriksa – kesimpulan untuk menghapuskan siaran tidak betul melaksanakan .
Send status arahan adalah ‘ s ‘ ,
Status Frame pemandu Automasi Utama eHouse 1 dan penerangan bilangan bait (anjakan indeks bergantung kepada mod operasi (normal atau extended_address) .
Ini peralihan berterusan yang dinamakan di bawah TCP_INDEX_INC . Bergantung kepada mod , ia boleh menerima pakai nilai 3 untuk alamat dilanjutkan atau 0 untuk penghantaran biasa . Apabila menulis perisian , anda mungkin mempertimbangkan parameter ini sebagai pembolehubah , kerana ia membolehkan kita dengan mudah memanipulasi data dalam versi kemudian jika bingkai beralih dalam satu cara atau yang lain .
Indeks setiap status bait bingkai eHouse pemandu 1 (permulaan bingkai):
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 output 1 bit LSB nombor terkecil , MSB terbesar
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Input Digital negeri terkecil LSB nombor , MSB terbesar
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / Syarikat input digital (sampukan) LSB nombor terkecil , MSB terbesar
STATUS_OUT25 = 22 2 + TCP_INDEX_INC ; / / Output negeri daripada 25 . . 32 cara yang sama seperti output
STATUS_LIGHT = 23 + 2 + TCP_INDEX_INC ; / / Status satu pemalap 1B pemalap
STATUS_ZONE_PGM = 26 + 2 + TCP_INDEX_INC ; / / Tiada zon semasa bagi EM
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / Tiada program semasa
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 ; / Inputextender / Input C dalam keadaan aktif
STATUS_INPUTEXT_A = 40 2 + TCP_INDEX_INC ; / / Input inputextender Penggera dan Amaran
STATUS_INPUTEXT_B = 50 2 + TCP_INDEX_INC ; / / Input B inputextender Penggera dan Amaran
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Inputextender Input C Penggera dan Amaran
/ / Status HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / Ukuran Suhu / dari 16 sensor cara yang sama seperti untuk RM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Output Digital menyatakan sama kepada RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Status CommManager – bersepadu dengan status pemandu eHouse 1 (sistem hibrid) eHouse 1 di bawah pengawasan CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / Letakkan status peranti yang disambungkan ke RS485 (eHouse_1) di atas 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 pengukuran A / D
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 kali I2C 10 * 8 / / max = 160 output modul lanjutan modul
STATUS_INPUTS_I2C = STATUS_OUT_I2C 20 ; / / 2 kali I2C 6 * 8 / / maks 96 input mengenai modul lanjutan
STATUS_ALARM_I2C = STATUS_INPUTS_I2C 12 ; / / Input_in negeri penggera (berkenaan dengan topeng untuk zon keselamatan semasa)
STATUS_WARNING_I2C = STATUS_ALARM_I2C 12 ; / / Input_warning negeri (dengan berkenaan kepada topeng untuk zon keselamatan semasa)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C 12 ; / / Input_condition pemantauan (berkenaan dengan topeng untuk zon keselamatan semasa)
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
Contoh pengiraan suhu pada status HM
i = index analog input 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