פענוח המצב בינארי של בקרי אוטומציה בבית – קוד מקור חופשי

בית אוטומציה , ניהול בניין eHouse – פענוח המעמד של בקרי המיקרו
בית אוטומציה קבל לוח הבקרה המחוברת לרשת מקומית או WiFi , דרך UDP (User Datagram Protocol) .
מעמד קבלת המסגרת הסטנדרטי בצורה בינארית , עם בקרים נדון במאמר ” חבילה חכמה בניין eHouse בקר מעמד ” .
פענוח המסגרת צריך לנתח כל פיסת מידע מחבילה .
בנוסף , כל סוג של בקר:

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

יש הבדל בכמות הכניסות דיגיטליות , מדידת תשומות , יציאות דיגיטליות , dimmers , פונקציות ניטור ואלגוריתמים שתוצאה , כי הנתונים במסגרת הסטנדרטית להשתנות בהתאם לסוג של בקר .
התוצאה הוא הצורך בפענוח טיפי טיפין לכל סוג של בקר באופן עצמאי .
במקרה של היישום של כל סוגי בקרי המיקרו ליצור ולבחון את אלגוריתם פענוח המסגרת עשוי להימשך עד חודש 1 .
כדי לצמצם את הזמן הזה למינימום , כדי להקל מוכן להציג את האלגוריתם שהושאל מeHouse . יישום exe , באופן אוטומטי כדי לפענח את כל המידע מהבקר ונתוני עומס לתיקי התבנית של לוח מגע (לטבליות) של Windows XP , נוף , 7 , 8 .
לאחר טעינת הנתונים לתוך ספריות תוכנת eHouse באופן אוטומטי , עם כמה שורות של קוד , באפשרותך ליצור המערכת שלך שליטת אלגוריתמי eHouse בכמה דקות .
תוכנת פענוח מסגרת הבינארית של המעמד הסטנדרטי eHouse מיושמת בספריית תבניות לפנל . זה צריך להיעשות בינארי , למעמד פענוח ישיר מבקרי Ethernet ללא eHouse . פיקוח יישום exe .
פענוח כל המסגרת (לבקרי המיקרו eHouse1 RM , EM , HM) מתבצע על ידי פונקצית set_rm הליך (רח: array_of_char ; TCP_INDEX_INC: מספר השלם) ;
פרמטרים הם פונקציה של מצב החיץ והמשמרת (קיזוז) . המאגר מכיל את כל הנתונים שהתקבל מהמעמד . אופסט תלוי בסוג של שידור (כתובה מורחבת , נורמלי , ויישומים התלויים באלגוריתמי תקשורת עתידיים אחרים) .
זה ממלא באופן אוטומטי את מצב מערך לכל בקר בנפרד ולאחר מכן תוכל לתפעל את הנתונים ישירות או לעדכן נתונים באופן אוטומטי בפנלי מסך מגע .
פונקציה זו מופעלת בהליך מקרה של נתונים מקבלים ממרכיב שקע UDP (TNMUDP – קרא בינארי) באירוע onDataReceived .
הקבלה היא כדלקמן:
הליך TForm1 . binaryDataReceived (שולח: TComponent ;
NumberBytes: מספר שלם ; FromIP: מחרוזת ; נמל: מספר שלם) ;
var C: מערך [0 . . 1024] של char ;
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 או אינטרנט – Fi עם שידור החבילה דרך UDP (User Datagram Protocol) .
מה עוד אינה דורש חיבור פתוח לשרת מקשיב רק על שידור הנמל ‘ 6789 ‘ ברירת מחדל או אחר .
קישור שגיאות , רשת , נתבים לא לגרום להשעיה או שגיאות תוכנה לא מוגדרות (כמו במקרה של תקשורת עם TCP שרת) , אבל נעלם פשוט לעדכן את הנתונים מבלי להשפיע על הנתונים או ההפעלה של לקוח UDP שרת מתאימה .

אזהרה! . אם אתה יוצר תוכנת שליטה על Windows עבור בית האוטומציה eHouse , יש צורך ליישם את כל האלגוריתמים ביישום אחד , המנתח את הנתונים ומבצע את כל האלגוריתמים והציגו אותם . הבחנו שלפעמים שקע 2 UDP מאזין לא יכול להתקיים באותו המחשב האישי .
המשתנים החשובים ביותר בינארי הספרייה:
boiler_alarm: וליאני = false ; טמפרטורה / / דודי אזעקת אזעקה מתוכנת לעיל
/ / מעל – דוד אזעקת טמפרטורה
bonfire_stat: שלם ; רמה / / מדורת חימום 0 – 7 למצב בינארי – אש מצב תעסוקה
/ / 0 – לפטר את – לא לחמם
/ / 1 – אש על / כיבוי => ; ; רמה ירוקה < ; ; טמפ מעייל (נורית ירוקה מהבהבת) – פג הבזקים ירוקים
/ / 2 – אש על> = ; ; רמה ירוקה> ; ; = מעייל טמפ> ; ; רמה צהובה – histeressis (ירוק) – ירוק
/ / 3 – אש על> = ; ; רמה צהובה – histeressis> ; ; מעייל temp> ; ; רמת histeressis + צהוב) (הירוק + הצהוב LEDs) – ירוק – צהוב
/ / 4 – אש על> = ; ; רמה צהובה + histeressis> ; ; מעייל temp> ; ; רמה אדומה – histeressis (צהוב) – צהוב
/ / 5 – ללא תנאי => ; ; רמה אדומה – histeressis < ; ; מעייל זמני < ; ; histeressis רמה + אדום (אדום + הצהוב LEDs) צהוב – אדום
/ / 6 – ללא תנאי => ; ; מעייל temp> ; ; רמת histeressis + אדום (נורית האדומה קבוע) – אדום
/ / 7 – ללא תנאי => ; ; מעייל temp> ; ; מדורה המעוררת ALARM (נורית אדומה מהבהבת) – הבהובים אדומים
bonfire_sensor_error: וליאני = false ; מדורה / / שגיאת חיישני חיישנים יותר מדי מים שונים מעייל טמפרטורה בין שני
/ / חיישני שגיאת אח מעטפת טמפרטורת הבדל גדול מדי
recuperator_status: מחרוזת ; / / מצב של הבראה , אוורור , חימום אוויר – מנגנון החזרה ומצב אוורור
recu_winter: וליאני = false ; / / מנגנון החזרת מצב חורף / הקיץ המחליף חום להפעלה / ביטול – מנגנון החזרת חורף / קיץ
recu_manual_amalva: בוליאני = אמיתי ; אוטומטי / ידני / מצב / מנגנון ההחזרה לamalva מנגנון החזרה (אוטומטי מנוהל על ידי הפנימי controler amalva , מדריך לeHouse HeatManager) / /
מנגנון החזרת amalva ידני / אוטומטי
went_cooler: בוליאני = אמיתי ; / מים / קריר / כיבוי לאוורור או קריר בהבראה או כללי עם נפגעי ON / OFF הבראת המערכת
went_gwc: וליאני = false ; / / GHE (מחליף חום קרקע) servomotor / כיבוי – מנוע מחליף חום קרקע / כיבוי
went_aux_gwc_fan: וליאני = false ; / / עזר כללי עם נפגעי הנשמה / מאוורר מתג הפעלה / כיבוי למחליף חום קרקע – אוהד כללי עם נפגעים סייע
bonfire_dgp: וליאני = false ; מערכת / / מדורת אוויר חמה הפצה להפעיל / לבטל – הפצת אוהד של אוויר חם מDGP האח
ventilation_on: וליאני = false ; / / אוורור הוא עובד כרגע על / כיבוי – כולל אוורור והתאוששות חומה
heater_pump: בוליאני = אמיתי ; / / משאבה לתנור לאוורור / כיבוי – חימום משאבה ומעגל אוורור לרדיאטורים
three_ways_cutoff: שלמים = 0 ; / / שלוש דרכי כיוון הפסקה 0 את , הגדלת רמה 1 , – הפחתת רמה 1) לכיוון אלקטרו סיבוב – דרך שסתום
solar_pump: וליאני = false ; / / משאבת שמש / כיבוי – משאבה סולארית
boiler_on: וליאני = false ; / / דודים להפעיל / לבטל – דוד / כיבוי
boiler_pump: וליאני = false ; / / מצב של משאבת הדוד / כיבוי – משאבת דוד / כיבוי
boiler_fuel_out: וליאני = false ; / / דודים מתוך דלק aproximate (לספור שעות של חימום) – אומדן מחסור בדלק לדוד דלק מוצק (מחושב על הבסיס של שעתי הפעילות של הדוד)
boiler_power_on: וליאני = false ; כוח / / דודי supplay / כיבוי ; – כוח הדוד / כיבוי
boiler_fuel_supply_override: וליאני = false ; / דוד / עקיף supplyier דלק (שליטה על ידי eHouse / בקר דוד הפנימי) – eHouse ההורה המבוקר דלק אספקת מערכת הפעלה / כיבוי
bonfire_pump: וליאני = false ; מעמד / / מדורת משאבה / כיבוי – משאבת אש / כיבוי
recu_speed: שלמים = 0 ; / / מנגנון החזרת Speeed 0 . . 3 – מנגנון החזרת מהירות
recu_temperature: שלם ; רמה / / טמפרטורה של 0 RECU . . 30C טמפרטורת מנגנון ההחזרה לamalwa
_recu_mode: מחרוזת = ‘ ‘ ; הבראה / / מצב בטקסט כפי שHeatManager לוח בקרה (eHouse . exe) – מצב מנגנון החזרה כeHouse HeatMAnagerem יישום לוח הבקרה . exe
הלך: מחרוזת ; מעמד / / טקסט אוורור כלוח בקרת HeatManager (eHouse . exe) – מצב אוורור הזהה בפנל HeatManager של eHouse . exe
דוד , שמש: מחרוזת ; / / דוד , מעמד שמש טקסט HeatManager כלוח בקרה (eHouse . exe) – מעמדו של הדוד ושמש לוח הבקרה (HeatManager) eHouse . exe
קומי: מחרוזת ; מעמד / / טקסט מדורה כמו לוח בקרת HeatManager (eHouse . exe) – מעמד eHouse אש לוח בקרת יישום HeatManager . exe
אורות בקרה