eHouse 1 – أتمتة المنزل – تحكم الدول في شكل ثنائي

eHouse أتمتة المنزل , إدارة المباني الإصدار 1 – وضع إطار وحدة تحكم النظام أتمتة المنزل .
إنشاء تعمل بكامل طاقتها , البرمجيات الخاصة فعالة لوحات التحكم التي تتطلب ضرورة تنفيذ التصور المباشر فك eHouse سائق 1 حالة في شكل ثنائي . اعتمادا على اختيار وضع التشغيل العادي أو عنوان الموسعة (Extended_address) , الإطار لإرسال حالة السائق هو على النحو التالي (بين قوسين تميز الفرق في وضع عنوان ممتدة) .
مطلوب هذا الوضع لتعمل تحت إشراف سائق CommManager ويرسل رسالة عنوان الوجهة خارج الأحداث , يمكن أن تعالج الخاصة إلى الجهاز الوجهة اقول المرسل لتلقي الأحداث (اليد – يهز) .
إذا كان واجهة RS – بالتأكيد لا يوصي 485 محاولات للاتصال المباشر للسائق , ما قد يسبب إرسال بعض الأوامر مثل برنامج تنظيف الذاكرة (الثابتة) وحدات تحكم والتي يمكن أن تنتهي حياتهم .
أوامر أخرى أو إشارات عشوائية في RS – قد 485 تقويض استقرار النظام أو إبطاء عمله بالتأكيد أسفل .
الأم eHouse أتمتة تحكم يجب أن تعمل تحت إشراف تطبيق المنتج ” eHouse . إكس ” .
للأمن , يمكنك قراءة حالة من السائقين دون الاتصال بهم من خلال تطبيق eHouse . EXE (UDP بروتوكول وLAN) .
هذا هو غير – قراءة الغازية , عدم تحميل البرامج ولا لا تحكم , وما هو أكثر , لا تدخلي بأي شكل من الأشكال عن طريق بروتوكول نقل RS – 485 .
الوضع مختلف عندما eHouse_1 تحكم العمل تحت إشراف CommManager .
يمكن إرسال CommManager تحكم الحالة (1 و eHouse CommManager في حزمة متكاملة) , وLAN UDP والوصول إلى هذه البيانات بدون اتصال وغير – الغازية وكذلك مباشرة من CommManager أو غيرها من وحدات تحكم إيثرنت Ehouse .
تلقي البيانات حول الوضع UDP لا يمكننا أن تضر السائقين , والحد الأقصى لإساءة تفسير البيانات الواردة .
نظام EHouse عدم إرسال أي شيء إلى سلامة السائق UDP , سائق لا يهم ما إذا كان العميل يتلقى البيانات المرسلة عبر UDP أو لا , أو ما إذا كان عدد من الزبائن هي 0 أو 250 .
تلقي البيانات من المنزل eHouse نظام التشغيل الآلي , وUDP هو آمن ولا بأي شكل من الأشكال تحميل وحدات تحكم أو برنامج eHouse , إرسال البث (UDP_broadcast) إلى LAN .
المربع حالة يحتوي على التنسيق التالي:
< ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_addres_H> ; ; < ; ; Local_address_L> ; ; < ; ; الأمر> ; ; < ; ; data_1> ; ; . . . . . < ; ; البيانات> ; ; < ; ; Data_N> ; ; < ; ; data_size> ; ; (< ; ; The_destination_address_H> ; ; < ; ; The_destination_address_L> ; ; ) < ; ; Local_address_H> ; ; < ; ; Local_address_L> ; ; < ; ; الأمر> ; ; < ; ; data_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 . . بقية البيانات لأمر معين .
إذا قمت بإرسال حالة السائق ; سيطرة القيادة ‘ ق ‘ .
متابعة البيانات في شكل ثنائي للحد من نقل المعلومات من خلال مسلسل RS – 485 .
للسلامة , على البيانات ومرفق تحقق – خلاصة القول للقضاء على البث غير صحيحة أداء .
إرسال حالة الأمر ‘ ق ‘ ,
وضع إطار للسائقين أتمتة المنزل eHouse 1 و وصفا لعدد البايت (تحول مؤشر اعتمادا على وضع التشغيل (عادي أو extended_address) .
هذا التحول المستمر اسمه أدناه TCP_INDEX_INC . اعتمادا على الوضع , قد تعتمد قيمة 3 لعنوان الموسعة أو 0 للانتقال الطبيعي . عند كتابة البرمجيات , هل يمكن أن تنظر هذه المعلمة كمتغير , لأنه يتيح لنا التعامل مع البيانات بسهولة في الإصدارات اللاحقة إذا يتم إزاحة الإطار في شكل او في آخر .
مؤشرات الإطار بايت لكل حالة eHouse السائقين 1 (بداية الإطار):
STATUS_ADC = 1 +2 + TCP_INDEX_INC ; / / قيمة A/D_converters_2_bytes_1B = MSB , 2B = LSB! .
STATUS_OUT = 17 +2 + TCP_INDEX_INC ; / / الإخراج الرقمي تنص الفهرس الأول

/ عدد كل LSB الناتج أصغر بت 1 / , MSB أكبر
STATUS_IN = 20 +2 + TCP_INDEX_INC ; / / المدخلات الرقمية عدد LSB أصغر الدول , MSB أكبر
STATUS_INT = 21 +2 + TCP_INDEX_INC ; / / الولايات المدخلات الرقمية (المقاطعة) عدد أصغر LSB , MSB أكبر
STATUS_OUT25 = 22 +2 + TCP_INDEX_INC ; / / المخرجات في الفترة من 25 دول . . ال 32 بنفس طريقة الإخراج
STATUS_LIGHT = 23 +2 + TCP_INDEX_INC ; / / حالة واحدة باهتة باهتة 1B
STATUS_ZONE_PGM = 26 +2 + TCP_INDEX_INC ; / / لا للمنطقة الحالية EM
STATUS_PROGRAM = 27 +2 + TCP_INDEX_INC ; / / لا البرنامج الحالي
STATUS_INPUTEXT_A_ACTIVE = 28 +2 + TCP_INDEX_INC ; / inputextender الإدخال / A في حالة نشطة
STATUS_INPUTEXT_B_ACTIVE = 32 +2 + TCP_INDEX_INC ; / inputextender الإدخال / B في حالة نشطة
STATUS_INPUTEXT_C_ACTIVE = 36 +2 + TCP_INDEX_INC ; / C inputextender / الإدخال في حالة نشطة
STATUS_INPUTEXT_A = 40 +2 + TCP_INDEX_INC ; / / الإدخال inputextender إنذار وتحذير A
STATUS_INPUTEXT_B = 50 +2 + TCP_INDEX_INC ; / B inputextender الإدخال / إنذار وتحذير
STATUS_INPUTEXT_C = 60 +2 + TCP_INDEX_INC ; / / الإدخال inputextender إنذار وتحذير C
/ HeatManager الحالة /
STATUS_ADC_HEART = 1 +2 + TCP_INDEX_INC ; / قياسات درجة الحرارة / من 16 أجهزة الاستشعار بنفس الطريقة لRM
STATUS_OUT_HEART = 33 +2 + TCP_INDEX_INC ; / / الإخراج الرقمي تنص على غرار RM
WENT_MODE = 51 + TCP_INDEX_INC ;
RECU_MODE: = 50 + TCP_INDEX_INC ;
CURRENT_PGM: = 38 + TCP_INDEX_INC ;
/ commmanager الحالة / – متكاملة مع وضع eHouse السائقين 1 (نظام هجين) eHouse 1 تحت إشراف CommManager
STATUS_EHOUSE1_DEVS = 0 ; / / ضع حالة الأجهزة المتصلة RS485 (eHouse_1) تجاوز 71 بايت
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
STATUS_OUT_I2C = STATUS_ADC_ETH_END ; / / 2 مرات I2C 10 * 8 / / الحد الأقصى = 160 وحدة المخرجات وحدة الإرشاد
STATUS_INPUTS_I2C = STATUS_OUT_I2C +20 ; / / 2 مرات I2C 6 * 8 / / 96 كحد أقصى على وحدة الإرشاد المدخلات
STATUS_ALARM_I2C = STATUS_INPUTS_I2C +12 ; / / input_in الدولة التنبيه (فيما يتعلق قناع للمنطقة الأمنية الراهنة)
STATUS_WARNING_I2C = STATUS_ALARM_I2C +12 ; / / input_warning الدولة (فيما يتعلق قناع للمنطقة الأمنية الراهنة)
STATUS_MONITORING_I2C = STATUS_WARNING_I2C +12 ; / / input_condition الرصد (فيما يتعلق قناع للمنطقة الأمنية الراهنة)
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 ; / / الحالة 3 المخفتات / / ديمر 3 * 2B
مثال على حساب درجة الحرارة عن حالة HM
ط = مدخلات تناظرية الفهرس 0 . . 15 لHM gettemplm وظيفة (MSB , LSB) ;
TEMPHM [أنا]: = gettemplm (شارع [STATUS_ADC_HEART + 2 + ط * TCP_INDEX_INC] , شارع [+ STATUS_ADC_HEART ط * 2 +1 + TCP_INDEX_INC]) eHouse_Home_Automation_OpenSource_Delphi