1 eHouse – गृह स्वचालन – बाइनरी रूप में नियंत्रक राज्यों

eHouse गृह स्वचालन , बिल्डिंग प्रबंधन संस्करण 1 – प्रणाली नियंत्रक स्थिति के फ्रेम गृह स्वचालन .
एक पूरी तरह कार्यात्मक बनाएँ , नियंत्रण पैनल कि दृश्य की आवश्यकता के लिए कुशल स्वयं के सॉफ्टवेयर द्विआधारी के रूप में प्रत्यक्ष decoding eHouse 1 ड्राइवर स्थिति लागू करने की जरूरत है . सामान्य ऑपरेटिंग मोड या विस्तारित पते (Extended_address) की पसंद पर निर्भर करता है , चालक की स्थिति भेजने फ्रेम प्रकार (कोष्ठक में विस्तारित मोड के पते में अंतर के रूप में चिह्नित) के रूप में है .
यह मोड CommManager ड्राइवर के पर्यवेक्षण के अंतर्गत काम करने के लिए आवश्यक है और घटनाओं के बाहर संदेश गंतव्य पता भेजता , गंतव्य डिवाइस के लिए खुद पता प्रेषक बताने के लिए घटनाओं प्राप्त कर सकते हैं (हाथ – ) हिला .
यदि इंटरफ़ेस रु – 485 निश्चित रूप से प्रत्यक्ष चालक को कनेक्ट करने का प्रयास नहीं की सिफारिश , के रूप में कुछ कमांड भेजने जैसे सफाई कार्यक्रम स्मृति (फर्मवेयर) के कारण हो सकता है नियंत्रक जो उनके जीवन खत्म हो सकता है .
अन्य आदेश या रुपये में यादृच्छिक संकेतों – 485 प्रणाली की स्थिरता को कमजोर या निश्चित रूप से अपने काम को धीमा कर सकता है .
मूल निवासी eHouse स्वचालन नियंत्रकों निर्माता आवेदन के पर्यवेक्षण के तहत काम करना चाहिए ” eHouse . exe ” .
सुरक्षा के लिए , आप पढ़ सकते हैं आवेदन eHouse के माध्यम से उन्हें जोड़ने के बिना ड्राइवरों की स्थिति . Exe (UDP प्रोटोकॉल और लैन) .
यह गैर – आक्रामक पढ़ने , नहीं लोड हो रहा है न तो सॉफ्टवेयर और न ही नियंत्रकों , और क्या अधिक है , रुपये के माध्यम से किसी भी तरह से स्थानांतरण प्रोटोकॉल में दखल देने से नहीं – 485 .
स्थिति अलग है जब eHouse_1 नियंत्रकों CommManager की देखरेख में काम करते हैं .
CommManager नियंत्रक स्थिति (1 eHouse और एक एकीकृत पैकेज में CommManager) भेज सकते हैं , UDP लैन और इस डेटा का उपयोग करने के संयोजन और गैर – आक्रामक CommManager के रूप में रूप में अच्छी तरह से सीधे या अन्य ईथरनेट eHouse नियंत्रकों .
UDP स्थिति पर डेटा प्राप्त हम ड्राइवरों नुकसान नहीं कर सकते , और आने वाले डेटा की एक अधिकतम नादुस्र्स्ती से समझना .
EHouse प्रणाली UDP ड्राइवर की सुरक्षा के लिए कुछ भी नहीं भेज , एक ड्राइवर की बात नहीं है कि ग्राहक डेटा UDP पर भेजा या नहीं प्राप्त , या कि ग्राहकों की गिनती 0 या 250 .
EHouse घर स्वचालन प्रणाली से डेटा प्राप्त , UDP सुरक्षित है और किसी भी तरह नियंत्रकों या eHouse सॉफ्टवेयर में लोड नहीं करता , लैन के लिए प्रसारण (UDP_broadcast) भेजने .
स्थिति बॉक्स निम्न स्वरूप है:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; आदेश> ; ; < ; ; डेटा _1> ; ; . . . . . < ; ; डाटा> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; आदेश> ; ; < ; ; डेटा _1> ; ; . . . . . < ; ; डाटा> ; ; < ; ; Data_N> ; ; < ; ; > 0 ; ;
सामान्य मोड / बनाम . (पता विस्तारित)
1 . डेटा (डेटा के आकार के आकार)
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 . . दिए गए आदेश के लिए डेटा के बाकी .
यदि आप ड्राइवर की स्थिति भेजने ' ; नियंत्रण आदेश ‘ एस ‘ .
द्विआधारी के रूप में डेटा का पालन करने के लिए जारी रखने के लिए एक धारावाहिक रुपये के माध्यम से सूचना के हस्तांतरण को कम – 485 .
सुरक्षा के लिए , डेटा के लिए जुड़ा हुआ है – गलत प्रसारण प्रदर्शन को खत्म करने के योग करने के लिए .
भेजें कमांड स्थिति है ‘ एस ‘ ,
ड्राइवरों के फ्रेम की स्थिति गृह स्वचालन eHouse 1 और बाइट संख्या का एक विवरण (सूचकांक बदलाव ऑपरेटिंग मोड (सामान्य या extended_address पर निर्भर करता है) .
यह लगातार TCP_INDEX_INC नीचे नाम स्थानांतरण . मोड के आधार पर , यह बढ़ाया या सामान्य संचरण के लिए पता 0 के लिए 3 के एक मूल्य अपनाने कर सकते हैं . जब सॉफ्टवेयर लेखन , आप एक चर के रूप में इस पैरामीटर पर विचार हो सकता है , क्योंकि यह हमें आसानी से बाद के संस्करणों में आंकड़ों में हेरफेर करने के लिए अनुमति देता है अगर फ्रेम एक तरह से या किसी अन्य रूप में स्थानांतरित कर दिया है .
अनुक्रमित ड्राइवरों 1 eHouse (फ्रेम के शुरू) के प्रत्येक बाइट फ्रेम स्थिति:
STATUS_ADC = 1 2 + TCP_INDEX_INC ; / / A/D_converters_2_bytes_1B = MSB के मूल्य , 2B = LSB! .
STATUS_OUT +2 = 17 + TCP_INDEX_INC ; / / डिजिटल आउटपुट 1 सूचकांक राज्यों

/ / हर उत्पादन 1 बिट LSB छोटी संख्या , MSB सबसे बड़ा
STATUS_IN +2 = 20 + TCP_INDEX_INC ; / / डिजिटल इनपुट राज्यों LSB छोटी संख्या , MSB सबसे बड़ा
STATUS_INT +2 = 21 + TCP_INDEX_INC ; / डिजिटल आदानों की (बीच में) LSB छोटी संख्या राज्यों / , MSB सबसे बड़ा
STATUS_OUT25 = 22 2 + TCP_INDEX_INC ; 25 राज्यों से आउटपुट / / . . 32 उत्पादन के रूप में एक ही तरीका
STATUS_LIGHT = 23 2 + TCP_INDEX_INC ; / / एक dimmer dimmer 1B की स्थिति
STATUS_ZONE_PGM = 26 2 + TCP_INDEX_INC ; / / EM के लिए कोई मौजूदा क्षेत्र
= 2 27 + TCP_INDEX_INC STATUS_PROGRAM ; / / कोई मौजूदा कार्यक्रम
STATUS_INPUTEXT_A_ACTIVE = 28 2 + TCP_INDEX_INC ; / / इनपुट inputextender सक्रिय राज्य में एक
STATUS_INPUTEXT_B_ACTIVE = 32 2 + TCP_INDEX_INC ; / / सक्रिय राज्य में इनपुट inputextender बी
STATUS_INPUTEXT_C_ACTIVE = 36 2 + TCP_INDEX_INC ; / / इनपुट सक्रिय राज्य में inputextender सी
STATUS_INPUTEXT_A = 40 2 + TCP_INDEX_INC ; Inputextender / इनपुट / अलार्म और चेतावनी
STATUS_INPUTEXT_B = 50 2 + TCP_INDEX_INC ; / / इनपुट inputextender बी अलार्म और चेतावनी
STATUS_INPUTEXT_C = 2 60 + TCP_INDEX_INC ; / / इनपुट inputextender सी अलार्म और चेतावनी
/ / स्थिति HeatManager
STATUS_ADC_HEART = 1 2 + TCP_INDEX_INC ; / / 16 सेंसरों से तापमान आर एम के लिए उसी तरह के रूप माप
STATUS_OUT_HEART = 2 33 + TCP_INDEX_INC ; / / डिजिटल उत्पादन RM करने के लिए इसी तरह राज्यों
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE =: 50 + TCP_INDEX_INC ;
CURRENT_PGM =: 38 + TCP_INDEX_INC ;
/ / स्थिति commmanager – CommManager के पर्यवेक्षण के अंतर्गत ड्राइवरों 1 eHouse (संकर प्रणाली) 1 eHouse की स्थिति के साथ एकीकृत
STATUS_EHOUSE1_DEVS = 0 ; / / 71 बाइट्स ऊपर RS485 के लिए जुड़े उपकरणों की स्थिति (eHouse_1) प्लेस
STATUS_ADC_ETH 72 = ; / / ADC_measurements_16_inputs * 2B ए / D_notation_as_for_RM_Vcc = 3v3
STATUS_ADC_ETH_END = STATUS_ADC_ETH 32 ; / माप ए / डी / समाप्ति
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 i2c 10 * अधिकतम 8 / / = 160 मॉड्यूल outputs विस्तार मॉड्यूल पर
STATUS_INPUTS_I2C = 20 STATUS_OUT_I2C ; / / 2 बार i2c 6 * अधिकतम 8 / / विस्तार मॉड्यूल पर 96 आदानों
STATUS_ALARM_I2C = 12 STATUS_INPUTS_I2C ; / / अलार्म राज्य input_in (वर्तमान सुरक्षा ज़ोन के लिए मुखौटा करने के लिए सम्मान के साथ)
STATUS_WARNING_I2C = 12 STATUS_ALARM_I2C ; / राज्य / input_warning (वर्तमान सुरक्षा ज़ोन के लिए मुखौटा करने के लिए सम्मान के साथ)
STATUS_MONITORING_I2C = 12 STATUS_WARNING_I2C ; निगरानी / / input_condition (वर्तमान सुरक्षा ज़ोन के लिए मुखौटा करने के लिए सम्मान के साथ)
STATUS_PROGRAM_NR = 12 STATUS_MONITORING_I2C ; / / Program_number_CommManager
STATUS_ZONE_NR = STATUS_PROGRAM_NR 1 ; / / Number_CommManager_zone
= STATUS_ZONE_NR एक STATUS_ADC_PROGRAM ; ADC_program_number / /
= STATUS_LIGHT_LEVEL 2 STATUS_ADC_PROGRAM ; / / 3 / / 3 Dimmer dimmers * स्थिति 2B
तापमान के एचएम की स्थिति पर उदाहरण गणना
मैं = सूचकांक अनुरूप 0 इनपुट . . एचएम gettemplm समारोह (msb के लिए 15 , LSB) ;
TEMPHM [i] = gettemplm (str [STATUS_ADC_HEART मैं + 2 * TCP_INDEX_INC +] , [STATUS_ADC_HEART + str मैं दो एक * + TCP_INDEX_INC]) eHouse_Home_Automation_OpenSource_Delphi