eHouse 1 – Ev Otomasyonu – ikili formda denetleyicisi devletleri

eHouse Ev Otomasyonu , Bina Yönetimi sürüm 1 – sistem kontrolörü durumu çerçevesi Ev Otomasyonu .
Tamamen işlevsel oluşturma , görselleştirme gerektiren kontrol panelleri için verimli kendi yazılımları ikili şeklinde doğrudan çözme eHouse 1 sürücüsü durumunu uygulamak gerekiyor . Normal çalışma modunda veya genişletilmiş adres (Extended_address) seçimine bağlı olarak , sürücünün durumunu göndermek için çerçeve (parantez içinde genişletilmiş modu adres fark işaretli) aşağıdaki gibidir .
Bu mod CommManager sürücüsünün gözetiminde çalışmak için gerekli ve olayların dışında mesajı hedef adresi gönderir , Hedef cihaza Kendi adresi (el olaylarını almak için gönderenin söyleyebilirim – ) sallamak .
Arabirim rs varsa – 485 kesinlikle sürücüye bağlanmak için doğrudan girişimleri tavsiye , bazı komutlar göndererek bu tür temizleme programı, bellek (firmware) neden olabilir Kontrolörler kendi hayatına son verebilecek .
Diğer komutlar veya RS rastgele sinyaller – 485 sistemin istikrarını sarsmak ya kesinlikle işini yavaşlatabilir .
Yerli eHouse Otomasyon Denetleyicileri Üretici uygulamanın denetimi altında çalışması gerekir ” eHouse . exe ” .
Güvenliğiniz için , Eğer uygulama eHouse aracılığıyla bağlanmadan sürücülerinin durumunu okuyabilir . Exe (UDP protokolünü ve LAN) .
Bu olmayan – invaziv okuma , yazılımı ne denetleyicileri ne yüklenmiyor , ve daha ne olduğunu , RS aracılığıyla herhangi bir şekilde aktarım protokolü müdahaleci değil – 485 .
EHouse_1 denetleyicileri CommManager gözetiminde çalışırken durum farklıdır .
CommManager kontrolörü durumu (entegre paket eHouse 1 ve CommManager) gönderebilirsiniz , UDP LAN ve bu verilere erişim bağlantısız ve olmayan – invaziv olarak doğrudan CommManager veya diğer Ethernet ehouse denetleyicileri .
UDP durumu üzerinde veri alınıyor biz sürücülere zarar veremez , ve gelen verilerin bir maksimum misinterpret .
UDP sürücü güvenliği için bir şey göndermek için eHouse sistemi , bir sürücü istemci UDP üzerinden gönderilen veri alıp almamasını farketmez , olsun veya olmasın müşterilerin sayısı, 0 ya da 250 .
EHouse ev otomasyon sistemi veri alma , UDP güvenli ve herhangi bir şekilde denetleyicileri veya eHouse yazılım yüklemez , LAN yayın (UDP_broadcast) gönderme .
Durumu kutusu aşağıdaki biçime sahiptir:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; komutu> ; ; < ; ; veri_1> ; ; . . . . . < ; ; Veri> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; komutu> ; ; < ; ; veri_1> ; ; . . . . . < ; ; Veri> ; ; < ; ; Data_N> ; ; < ; ; 0> ; ;
Normal Mod / vs . (Uzatılmış Adres)
1 . Verilerin boyutuna (verilerinin boyutunu)
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 . . Belirli bir komut için verilerin geri kalanını .
Eğer sürücünün durumunu gönderirseniz ' ; ler kontrol komutu ‘ s ‘ .
Bir seri RS üzerinden bilgi transferi en aza indirmek için ikili formda veri izlemeye devam edin – 485 .
Güvenliğiniz için , veri kontrol için bağlı olduğu – yanlış yayınları gerçekleştirmek ortadan kaldırmak için toplanacak .
Komut durumu gönder ‘ s ‘ ,
Sürücülerin Çerçeve durumu Ev Otomasyonu eHouse 1 ve byte sayısını açıklaması (dizin vardiya çalışma modu (normal veya extended_address) bağlı .
Bu sabit TCP_INDEX_INC aşağıda adı değiştirme . Moduna bağlı olarak , normal iletim için uzun adres veya 0 için bir değeri 3 alabilir . Yazılım yazarken , Eğer bir değişken olarak bu parametre düşünebilirsiniz , kare bir şekilde kaydırılır eğer bize kolayca sonraki sürümlerinde veri işlemek için izin verir, çünkü .
Sürücüleri eHouse 1 (çerçeve başlaması) Endeksleri her byte çerçeve durumu:
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / A/D_converters_2_bytes_1B = MSB değeri , 2B = LSB! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / Dijital çıkış ilk endeks devletler

/ / Her çıkış 1 bit LSB küçük sayı , MSB büyük
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / Dijital giriş devletler LSB küçük sayı , MSB büyük
STATUS_INT = 21 +2 + TCP_INDEX_INC ; Dijital girişler (kesme) LSB küçük sayı / / Devletleri , MSB büyük
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; 25 / / Çıkışlar devletler . . Çıkış olarak 32 ile aynı şekilde
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; Biri dimmer dimmer 1B / / Durum
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / EM hiçbir geçerli bölge
= 27 +2 + TCP_INDEX_INC STATUS_PROGRAM ; / / Hayır Geçerli program
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / / Giriş InputExtender aktif durumdaki bir
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; Aktif devlet / / Giriş InputExtender B
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; Aktif devlet / / Giriş InputExtender C
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / / Giriş InputExtender A Alarmlar ve Uyarı
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / / Giriş InputExtender Yatak Alarmlar ve Uyarı
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / Giriş InputExtender C Alarmlar ve Uyarı
/ / Durum HeatManager
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; 16 sensörlerden / / RM Isı ölçümleri için olduğu gibi aynı şekilde
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / Dijital çıkış RM benzer devletler
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ / Durum CommManager – CommManager gözetiminde sürücüleri eHouse 1 (hibrid sistem) eHouse 1 durumu ile entegre
STATUS_EHOUSE1_DEVS = 0 ; / / 71 byte üzerinde RS485 bağlı cihazların durumu (eHouse_1) yerleştirin
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 ; A / D ölçüm / / End
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 kez i2c 10 * 8 / / max = 160 modülü çıktıları üzerinde uzatma modülü
STATUS_INPUTS_I2C = STATUS_OUT_I2C +20 ; Uzatma modülünde / / 2 kez i2c 6 * 8 / / max 96 giriş
STATUS_ALARM_I2C = STATUS_INPUTS_I2C +12 ; / / Input_in alarm durumu (mevcut güvenlik bölgesi için maske ile ilgili)
STATUS_WARNING_I2C = STATUS_ALARM_I2C +12 ; / / Input_warning devlet (güncel güvenlik bölgesi için maske ile ilgili)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C +12 ; / / Input_condition izleme (güncel güvenlik bölgesi için maske ile ilgili)
STATUS_PROGRAM_NR = STATUS_MONITORING_I2C +12 ; / / Program_number_CommManager
STATUS_ZONE_NR = STATUS_PROGRAM_NR +1 ; / / Number_CommManager_zone
= STATUS_ZONE_NR +1 STATUS_ADC_PROGRAM ; / / ADC_program_number
STATUS_LIGHT_LEVEL = 2 STATUS_ADC_PROGRAM ; / / Durum 3 anahtarlarla / / Dimer 3 * 2B
HM durumunu sıcaklık Örnek hesaplama
i = index analog giriş 0 . . HM gettemplm fonksiyonu (MSB için 15 , 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