فك حالة ثنائي وحدات تحكم أتمتة المنزل – شفرة المصدر مجانا

أتمتة المنزل , إدارة المباني eHouse – فك حالة وحدات تحكم المعالجات الدقيقة
أتمتة المنزل التي وردت إلى لوحة التحكم متصلا LAN أو واي فاي , عبر UDP (بروتوكول مخطط بيانات المستخدم) .
استقبال الإطار معيار الوضع في شكل ثنائي , مع وحدات تحكم ونوقش في المادة ” ذكي تحكم eHouse بناء مركز الحزمة ” .
فك الإطار يحتاج إلى تحليل كل جزء من البيانات من حزمة .
وبالإضافة إلى ذلك , لكل نوع من تحكم:

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

لديهم اختلاف في كمية المدخلات الرقمية , قياس المدخلات , المخرجات الرقمية , المخفتات , مهام الرصد والخوارزميات التي تنتج , أن البيانات في إطار معيار تتحول تبعا لنوع وحدة تحكم .
وهذا يؤدي إلى الحاجة إلى فك شيئا فشيئا لكل نوع من أنواع التحكم بشكل مستقل .
قد في حالة تنفيذ جميع أنواع وحدات التحكم المعالجات الدقيقة لإنشاء واختبار خوارزمية فك الإطار يستغرق فترة تصل الى 1 شهر .
لتقليل هذا الوقت إلى الحد الأدنى , لتسهيل على استعداد لتقديم الخوارزمية اقترضت من eHouse . إكس التطبيق , فك شفرة تلقائيا كل المعلومات من وحدة تحكم وتحميل البيانات في سجلات قالب من لوحة اللمس (لأقراص) ويندوز XP , أفق , 7 , 8 .
بعد تحميل البيانات تلقائيا في مكتبات البرامج eHouse , مع بضعة أسطر من التعليمات البرمجية , يمكنك إنشاء الخاصة بك eHouse خوارزميات نظام التحكم في بضع دقائق .
ويتم تنفيذ برامج فك الإطار الثنائي من eHouse القياسية في حالة مكتبة قالب لوحة . لا بد من القيام به ثنائي , للحصول على مركز فك المباشر من وحدات تحكم إيثرنت دون eHouse . إكس التطبيق الإشراف .
فك الإطار بأكمله (وحدات تحكم المعالجات الدقيقة eHouse1 RM , EM , ويتم HM) من قبل الإجراء وظيفة set_rm (شارع: 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 ; / / لتحميل البيانات من لوحة التحكم
نهاية ;
فإنه يسمح لك تلقائيا وغير – الغازية جمع البيانات عبر شبكة محلية أو واي – فاي مع البث عبر حزمة UDP (بروتوكول مخطط بيانات المستخدم) .
ما أكثر لا يحتاج الى اتصال مفتوح إلى الملقم يستمع فقط على البث الميناء ‘ 6789 ‘ الافتراضي أو غيرها .
أخطاء الرابط , شبكة , أجهزة التوجيه لا يؤدي إلى تعليق أو أخطاء البرمجيات غير محدد (كما في حالة اتصال مع خادم TCP) , ولكن يختفي تحديث البيانات فقط دون التأثير على بيانات العميل أو مناسبة UDP تطبيق الملقم .

WARNING! . إذا قمت بإنشاء برامج تحكم في ويندوز لأتمتة المنزل eHouse , لا بد من تنفيذ جميع الخوارزميات في تطبيق واحد , الذي يحلل البيانات ويقوم بتنفيذ جميع الخوارزميات وتصور لهم . لاحظنا في بعض الأحيان أن 2 مأخذ UDP المستمع لا يمكن أن توجد على نفس الكمبيوتر .
أهم المتغيرات في مكتبة ثنائي:
boiler_alarm: = منطقية كاذبة ; / ساعة المرجل / ساعة درجة الحرارة المبرمجة أعلاه
/ / أكثر من – درجة حرارة المرجل إنذار
bonfire_stat: عدد صحيح ; / تدفئة موقد / المستوى 0 – 7 لوضع ثنائي – نظام العمل النار
/ / 0 – إطلاق قبالة – لا تسخين
/ / 1 – النار على / إطفاء => ; ; الأخضر مستوى < ; ; درجة الحرارة سترة (LED الأخضر الوامض) – تنتهي باللون الأخضر
/ / 2 – النار على => ; ; المستوى الأخضر> ; ; = الحرارة سترة> ; ; الأصفر مستوى – histeressis (الأخضر LED) – أخضر
/ / 3 – النار على => ; ; الأصفر مستوى – histeressis> ; ; درجة الحرارة سترة> ; ; histeressis مستوى + أصفر) (أخضر + أصفر المصابيح) – أخضر – أصفر
/ / 4 – النار على => ; ; أصفر + مستوى histeressis> ; ; درجة الحرارة سترة> ; ; أحمر المستوى – histeressis (أصفر) – أصفر
/ / 5 – غير المشروط => ; ; أحمر المستوى – histeressis < ; ; درجة الحرارة سترة < ; ; histeressis مستوى + أحمر (أحمر + أصفر المصابيح) أصفر – أحمر
/ / 6 – غير المشروط => ; ; درجة الحرارة سترة> ; ; histeressis مستوى + الأحمر (LED الثابتة) – أحمر
/ / 7 – غير المشروط => ; ; درجة الحرارة سترة> ; ; نار إنذار (أحمر وامض LED) ALARM – ومضات حمراء
bonfire_sensor_error: = منطقية كاذبة ; / / الشعلة أجهزة الاستشعار خطأ الكثير من أجهزة الاستشعار درجة حرارة المياه سترة مختلفة بين اثنين
/ الموقد خطأ / أجهزة استشعار درجة الحرارة عباءة الفرق كبير جدا
recuperator_status: سلسلة ; / / حالة الاستجمام , تهوية , الهواء التدفئة – المنقه وحالة التهوية
recu_winter: = منطقية كاذبة ; / / المنقه مبادل حراري الشتاء / الصيف وضع تمكين / تعطيل – المنقه الشتاء / الصيف
recu_manual_amalva: منطقية = صحيح ; / / المنقه السيارات / دليل لوضع المنقه amalva (السيارات التي تديرها الداخلية كونترولر amalva , دليل لHeatManager eHouse) / /
المنقه amalva يدوي / تلقائي
went_cooler: منطقية = صحيح ; / / برودة المياه على / قبالة للتهوية أو برودة في النظام الاستجمام أو الاستجمام GWC ON / OFF
went_gwc: = منطقية كاذبة ; / / GHE (الأرض مبادل حراري) محرك مؤازر [تشغيل / إيقاف – محرك الأرض مبادل حراري على / قبالة
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 (COUNT ساعة من التسخين) – نقص الوقود المقدرة للالمرجل الوقود الصلب (محسوبة على أساس ساعات العمل من المرجل)
boiler_power_on: = منطقية كاذبة ; / السلطة supplay / المرجل / إيقاف ; – السلطة المرجل على / قبالة
boiler_fuel_supply_override: = منطقية كاذبة ; / / وقود supplyier تجاوز المرجل (سيطرة eHouse / الداخلية تحكم المرجل) – تسليم الوقود للرقابة الوالدين eHouse نظام تشغيل / إيقاف
bonfire_pump: = منطقية كاذبة ; / وضع مضخة / المشعلة على / قبالة – مضخة النار على / قبالة
recu_speed: عدد صحيح = 0 ; Speeed / / 0 المنقه . . 3 – المنقه السرعة
recu_temperature: عدد صحيح ; / مستوى درجة الحرارة / من RECU 0 . . 30C درجة حرارة المنقه لamalwa
_recu_mode: سلسلة = ‘ ‘ ; / / وضع التعافي في النص كما هو HEatManager لوحة التحكم (eHouse . EXE) – المنقه وضع كما eHouse وحة التحكم HeatMAnagerem تطبيق . إكس
ذهب: سلسلة ; / حالة التهوية نص / ك لوحة التحكم HeatManager (eHouse . EXE) – التهوية الوضع نفسه كما في لوحة HeatManager من eHouse . إكس
غلاية , الطاقة الشمسية: سلسلة ; / / المراجل , حالة الشمسية HeatManager النص على أنه لوحة التحكم (eHouse . EXE) – حالة من المرجل والسيطرة eHouse وحة للطاقة الشمسية (HeatManager) . إكس
كومي: سلسلة ; / مركز الشعلة نص / ك لوحة التحكم HeatManager (eHouse . EXE) – الحالة في لوحة التحكم eHouse النار heatmanager تطبيق . إكس
أضواء التحكم