eHouse از 1 – اتوماسیون صفحه اصلی – ایالات کنترل به صورت باینری

eHouse از اتوماسیون صفحه اصلی , مدیریت ساختمان نسخه 1 – قاب از وضعیت سیستم کنترل اتوماسیون صفحه اصلی .
برای ایجاد یک عملکردی به طور کامل , نرم افزار کارآمد خود را برای پانل های کنترل که نیاز به تجسم نیاز به پیاده سازی مستقیم رمز گشایی eHouse از 1 راننده وضعیت در شکل دودویی . بسته انتخاب حالت عامل طبیعی یا آدرس گسترده (Extended_address) , قاب برای ارسال وضعیت راننده است به شرح زیر است (در داخل پرانتز مشخص شده تفاوت در آدرس حالت گسترده) .
این حالت لازم است تحت نظارت راننده CommManager کار می کنند و می فرستد پیام آدرس مقصد در خارج از رویدادها , آدرس خود را به دستگاه مقصد می تواند فرستنده برای دریافت وقایع (دست – لرزش) .
اگر رابط RS – 485 قطعا توصیه به تلاش مستقیم برای اتصال به راننده , ارسال برخی از دستورات ممکن است مانند تمیز کردن حافظه برنامه (نرم افزار) می شود کنترل که می تواند زندگی خود را پایان .
دستورات دیگر و یا سیگنال تصادفی در RS – 485 ممکن است به ثبات سیستم و یا تضعیف قطعا کاهش سرعت کار خود را .
eHouse از بومی کنترل اتوماسیون باید کار تحت نظارت از برنامه تولید ” eHouse از . EXE ” .
برای امنیت بیشتر , شما می توانید از وضعیت رانندگان بدون اتصال به آنها را از طریق نرم افزار eHouse از خواندن . EXE (پروتکل UDP و LAN) .
این غیر – خواندن مهاجم , بارگذاری نمی شود نه نرم افزار و نه کنترل کننده , و چه تر است , در هر پروتکل راه انتقال از طریق RS سرزده نه – 485 .
این وضعیت متفاوت است که eHouse_1 کنترل تحت نظارت CommManager کار .
CommManager کنترل می تواند به وضعیت (eHouse از 1 و CommManager در یک بسته جامع) ارسال , LAN بی سیم و دسترسی به این اطلاعات اتصال و غیر – تهاجمی و همچنین به طور مستقیم از 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 ; / / خروجی دیجیتال می گوید شاخص اول

/ / هر خروجی 1 بیت LSB کوچکترین عدد , 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 در حالت فعال
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 ورودی آلارم و هشدار
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 های [i]: = gettemplm (STR [STATUS_ADC_HEART + I * 2 + TCP_INDEX_INC] , خ [STATUS_ADC_HEART + I * 2 +1 + TCP_INDEX_INC]) eHouse_Home_Automation_OpenSource_Delphi