رمز گشایی دودویی وضعیت از کنترل های اتوماسیون خانه – کد منبع آزاد

اتوماسیون صفحه اصلی , مدیریت ساختمان eHouse از – رمز گشایی وضعیت از کنترل ریزپردازنده
اتوماسیون صفحه اصلی دریافت شده پانل کنترل متصل به LAN و یا فای , از طریق UDP (پروتکل دادهای کاربر) .
قاب استاندارد وضعیت پذیرش به صورت باینری , با کنترل در این مقاله مورد بحث قرار ” کنترل هوشمند ساختمان eHouse از وضعیت بسته بندی ” .
رمز گشایی قاب نیاز به تجزیه و تحلیل هر بیت از داده ها را از بسته .
بعلاوه , هر نوع کنترل:

  • RoomManager
  • ExternalManager
  • HeatManager
  • InputExtender
  • CommManager
  • LevelManager
  • EthernetRoomManager

تفاوت در میزان ورودی های دیجیتال , ورودی های اندازه گیری , خروجی های دیجیتال , دیممرس , توابع نظارت و الگوریتم های که در نتیجه , که داده ها را در جهش قاب استاندارد بسته به نوع کنترل کننده .
این نتایج نیاز به رمز گشایی از بیت بیت برای هر نوع از کنترل به طور مستقل .
در مورد اجرای همه نوع از کنترل ریزپردازنده را به ایجاد و تست الگوریتم رمزگشایی قاب ممکن است تا 1 ماه .
برای به حداقل رساندن این زمان را به حداقل برساند , به منظور تسهیل در آماده ارائه الگوریتم با اقتباس از eHouse از . نرم افزار EXE , به صورت خودکار تمام اطلاعات را از کنترل و داده بار به سوابق قالب لمسی (برای قرص) ویندوز XP رمزگشایی , چشم انداز , 7 , 8 .
پس از بارگذاری به طور خودکار داده ها را به کتابخانه نرم افزار eHouse از , با چند خط کد , شما می توانید خود الگوریتم کنترل سیستم eHouse را در چند دقیقه ایجاد کنید .
قاب دوتایی نرم افزار رمزگشایی از eHouse از وضعیت استاندارد در قالب کتابخانه برای پانل اجرا . این باید انجام شود دودویی , وضعیت مستقیم رمز گشایی از کنترل کننده اترنت بدون eHouse از . EXE نظارت برنامه .
رمز گشایی کل قاب (برای کنترل ریزپردازنده eHouse1 RM , EM , HM) است که توسط تابع set_rm روش انجام شده (STR: array_of_char ; TCP_INDEX_INC: عدد) ;
پارامترهای توابع از وضعیت بافر و تغییر (افست) . بافر شامل تمام داده های دریافت شده از وضعیت . افست بستگی به نوع انتقال (آدرس گسترده , طبیعی , و دیگر برنامه های آینده وابسته به الگوریتم ارتباطات) .
این به طور خودکار پر وضعیت آرایه برای هر کنترل به صورت جداگانه و پس از آن به طور مستقیم می تواند به دستکاری اطلاعات و یا داده های بروز رسانی به صورت خودکار بر روی پانل های صفحه نمایش لمسی .
این تابع در روال رویداد از دریافت داده ها از مولفه سوکت UDP (TNMUDP فعال – دودویی نامیده می شود) در صورت onDataReceived .
پذیرش به شرح زیر است:
روش TForm1 . binaryDataReceived (فرستنده: TComponent ;
NumberBytes: عدد ; FromIP: رشته ; بندر: عدد) ;
ور C: آرایه [0 . . 1024] از کاراکتر ;
MyStream: TMemoryStream ;
شروع
اگر filesystem_status سپس خروج ; / / اگر هیچ فایل سیستم filesystem_status
MyStream: = TMemoryStream . ساختن ; / / ایجاد یک جریان از داده ها
دوتایی . ReadStream (MyStream) ; / / جریان داده ها را به عنوان خوانده شده
MyStream . دفعات بازدید: (C [0] , NumberBytes) ; / / بارهای C بافر
set_rm (C , 1) ; / / تبدیل باینری داده ها و بارهای ثبات RM [فهرست مطالب] برای کنترل eHouse از 1
Test_save ; / / تست ضبط خروجی به یک فایل متنی برای عملیات آسان
update_panel ; / / بار داده ها را برای کنترل پنل
پایان ;
این اجازه می دهد تا شما را به طور خودکار و بدون – مجموعه ای تهاجمی از داده ها را بیش از یک LAN یا Wi – Fi با پخش بسته از طریق UDP (پروتکل دادهای کاربر) .
چه بیشتر نیازی به اتصال به سرور تنها در پخش پورت گوش ‘ 6789 ‘ به طور پیش فرض و یا سایر .
لینک خطاها , شبکه , روتر را در تعلیق و یا خطاهای نرم افزار نامشخص نیست (همانطور که در مورد ارتباط با TCP سرور) , اما از بین می رود تنها به روز رسانی داده ها را بدون تحت تاثیر قرار داده و یا برنامه کلاینت سرور UDP مناسب .

WARNING! . اگر شما ایجاد نرم افزار کنترل بر روی ویندوز برای صفحه اصلی eHouse اتوماسیون , لازم است برای پیاده سازی الگوریتم در یک نرم افزار , که به تجزیه و تحلیل داده ها و انجام تمام الگوریتم ها و تجسم آنها . ما گاهی اوقات مشاهده شده که 2 UDP سوکت شنونده نمی تواند وجود داشته باشد بر روی PC همان .
مهم ترین متغیر در باینری کتابخانه:
boiler_alarm: بولی = نادرست ; / / زنگ دیگ بخار درجه حرارت زنگ برنامه ریزی شده در بالا
/ / بیش از – درجه حرارت دیگ بخار با زنگ هشدار
bonfire_stat: عدد صحیح ; / / اتش سطح حرارت 0 – 7 حالت دودویی – وضعیت استخدام آتش
/ / 0 – آتش را خاموش – گرما نیست
/ 1 / – آتش روشن / خاموش => ; ; سطح سبز < ; ; دمای ژاکت (چراغ سبز چشمک می زند) – منقضی چشمک زن سبز
/ / 2 – آتش => ; ; سبز سطح> ; ; = ژاکت موقت> ; ; سطح زرد – histeressis (LED سبز) – سبز
/ / 3 – آتش => ; ; سطح زرد – histeressis> ; ; ژاکت موقت> ; ; سطح histeressis ها + زرد) (سبز + زرد LED ها) – سبز – زرد
/ / 4 – آتش => ; ; سطح زرد + histeressis> ; ; ژاکت موقت> ; ; سطح قرمز – histeressis (زرد) – زرد
/ / 5 – بی قید و شرط => ; ; سطح قرمز – histeressis < ; ; ژاکت موقت < ; ; سطح histeressis + قرمز (قرمز + زرد LED ها) به رنگ زرد – قرمز
/ / 6 – بی قید و شرط => ; ; ژاکت موقت> ; ; سطح histeressis + قرمز (LED قرمز ثابت) – قرمز
/ / 7 – بی قید و شرط => ; ; ژاکت موقت> ; ; اتش هشدار (چراغ قرمز چشمک می زند) ALARM – چشمک زن قرمز
bonfire_sensor_error: بولی = نادرست ; / / خطا در اتش سنسور بیش از حد آب ژاکت سنسورهای دما بین دو
/ / شومینه خطا گوشته سنسورهای درجه حرارت بیش از حد بزرگ تفاوت
recuperator_status: رشته ; / / وضعیت بهبودی , تهویه , گرمایش هوا – recuperator و وضعیت تهویه
recu_winter: بولی = نادرست ; / / Recuperator زمستان / تابستان مبدل گرما حالت فعال / غیرفعال – recuperator زمستان / تابستان
recu_manual_amalva: بولی = درست ; / / Recuperator حالت خودکار / دستی برای amalva recuperator (خودکار مدیریت داخلی کنترل amalva , کتابچه راهنمای کاربر برای eHouse از HeatManager) / /
recuperator amalva کتابچه راهنمای کاربر / خودکار
went_cooler: بولی = درست ; / / کولر روشن / خاموش برای تهویه یا کولر در بهبودی سیستم بهبودی یا GWC ON / OFF
went_gwc: بولی = نادرست ; / / ژانویه (زمین مبدل حرارتی) موتور روشن / خاموش – موتور مبدل حرارت زمین روشن / خاموش
went_aux_gwc_fan: بولی = نادرست ; / / ونتیلاتور کمکی GWC / فن روشن / خاموش برای زمین مبدل حرارتی – فن GWC کمک
bonfire_dgp: بولی = نادرست ; / / اتش هوای گرم سیستم توزیع فعال / غیر فعال است – توزیع فن هوای گرم از DGP شومینه
ventilation_on: بولی = نادرست ; / / تهویه می باشد و در حال حاضر در / خاموش – تهویه و سیستم بازیافت حرارت
heater_pump: بولی = درست ; / / پمپ برای بخاری برای تهویه روشن / خاموش – گرمایش پمپ و مدار (منافذ) برای رادیاتور
three_ways_cutoff: عدد صحیح = 0 ; / / سه روش جهت قطع 0 خاموش , افزایش سطح 1 , – کاهش سطح 1) جهت چرخش الکترو – سوپاپ راه
solar_pump: بولی = نادرست ; / / خورشیدی پمپ روشن / خاموش – پمپ خورشیدی
boiler_on: بولی = نادرست ; / دیگ بخار / فعال / غیرفعال – دیگ بخار روشن / خاموش
boiler_pump: بولی = نادرست ; / / وضعیت پمپ دیگ روشن / خاموش – پمپ دیگ روشن / خاموش
boiler_fuel_out: بولی = نادرست ; / / بویلر از سوخت aproximate (تعداد ساعت از حرارت) – تخمین زده می شود کمبود سوخت برای دیگ های سوخت جامد (محاسبه شده بر اساس ساعت پس از بهره برداری از دیگ بخار)
boiler_power_on: بولی = نادرست ; / / دیگ بخار قدرت supplay روشن / خاموش ; – قدرت بویلر روشن / خاموش
boiler_fuel_supply_override: بولی = نادرست ; / / لغو supplyier دیگ بخار سوخت (کنترل eHouse از / کنترل داخلی دیگ بخار) – بازگشت به کنترل eHouse سیستم تحویل سوخت روشن / خاموش
bonfire_pump: بولی = نادرست ; / / پمپ اتش وضعیت روشن / خاموش – پمپ های آتش روشن / خاموش
recu_speed: عدد صحیح = 0 ; / / Recuperator Speeed 0 . . 3 – recuperator سرعت
recu_temperature: عدد صحیح ; / / دمای سطح از RECU 0 . . recuperator دمای 30C برای amalwa
_recu_mode: رشته = ‘ ‘ ; حالت / / بهبودی در متن آن را به عنوان HEatManager کنترل پنل (eHouse از . EXE) – حالت recuperator به عنوان کنترل پنل نرم افزار eHouse از HeatMAnagerem . EXE
رفت: رشته ; / / متن وضعیت تهویه به عنوان یک کنترل پنل HeatManager (eHouse از . EXE) – وضعیت تهویه همان در پانل HeatManager از eHouse از . EXE
دیگ بخار , خورشیدی: رشته ; / / دیگ بخار , خورشیدی وضعیت HeatManager متن به عنوان یک کنترل پنل (eHouse از . EXE) – وضعیت دیگ بخار و کنترل پنل خورشیدی (HeatManager) eHouse از . EXE
کومی: رشته ; / / متن وضعیت اتش به عنوان یک کنترل پنل HeatManager (eHouse از . EXE) – وضعیت به عنوان آتش کنترل پنل نرم افزار eHouse از heatmanager . EXE
چراغ کنترل