Do It Yourself
eHouse.Im
דף הבית אוטומציה בניית מערכת ניהול
eHouse.PRO - iw

דף הבית אוטומציה בניית מערכת ניהול - פענוחהמעמד בינארי שלנהגי הבית חכם - קוד מקור


פענוחהמעמד בינארי שלנהגי הבית חכם - קוד מקור

בית חכם , בניין אינטליגנטי eHouse - פענוחהמעמד של בקרי המיקרו בית אוטומציה, בניין אוטומציה שהתקבל על ידי לוחות הבקרה עובדים עלLAN או WiFi, UDP ( User Datagram Protocol). מעמד קבלת מסגרת הסטנדרטי בצורה בינארית, עם בקרי המיקרו פענוחהמסגרת דורשת ניתוח כל ביט של נתונים מנפרדים. בנוסף, כל סוג נהג :
  • RoomManager
  • ExternalManager
  • HeatManager
  • InputExtender
  • CommManager
  • LevelManager
  • EthernetRoomManager
יש לו את הבדלבכמות כניסות דיגיטליות, מדידה, יציאות דיגיטליות, עמעמים, ניטור תכונות ואלגוריתמיםשסיבה, כיהמוטציהבמסגרת סטנדרטית בהתאם לסוג של נהג .

זה מחייבפענוח טיפי טיפין לכל סוג של בקר באופן עצמאי. במקרה שלהיישום של כל סוגי בקרי המיקרו ליצור ולבדוקאלגוריתם פענוחהמסגרת יכולה לקחת עד חודש 1 .

כדי למזער את הזמן עד למינימום, כדי להקל מוכן להציגאלגוריתם שהושאלמehouse יישום. exe, המאפשר פענוח אוטומטי של כל המידעמנתוני הנהגועומס לתוך התבנית רושם את לוח המגע (לכריות ) Windows XP, Vista, 7, 8. לאחר הטעינה באופן אוטומטי את הנתוניםלספריות תוכנת eHouse, בעזרת כמה שורות של קוד שאתה יכול ליצור אלגוריתמי השליטה שלך פועלים eHouse .

לוחות תוכנת תבנית סטנדרטיים צריכים לעשותספרייה " בינארי ", אשר הואפענוח מסגרת מלא שלמצב בינארי .

פענוחכל המסגרת (לבקרי המיקרו eHouse1 RM, EM, HM ) מתממש על ידיהפונקציה set_rm הליך ( עמ ' : מערך של char ; TCP_INDEX_INC : מספר שלם ) ; פרמטרים של פונקציה הם מצב חיץושינוי (בקיזוז ). המאגר מכיל את כל הנתונים שהתקבלו מהמעמד .
( כתובת המורחבת לקזז תלוי בסוג של שידור, נורמלי, ויישומים אחרים בעתיד תלוי באלגוריתמיםותקשורת ) .

זה באופן אוטומטי מאכלס את מצב המערך לכל נהג בנפרדואז יכול לתפעל ישירות את הנתונים באופן אוטומטי או לעדכן את הנתונים על המסך, לוחות מגע .

פונקציה זו מופעלתבהליך של הנתונים שמתקבליםמUDP הרכיב ( TNMUDP - נקרא בינארי ) במקרה onDataReceived .

הקבלה היא כדלקמן :


הליך TForm1. binaryDataReceived (שולח: TComponent ;
NumberBytes : שלם ;
FromIP : מחרוזת ;
נמל: מספר שלם ) ;
C var : מערך [0. . 1,024 ] של char ;
Mystree : TMemoryStream ;

מתחיל
אם filesystem_status אז יציאה ; // אם לא על ידיfilesystem_status מערכת קבצים
Mystree : = TMemoryStream. ליצור ; // יוצרזרם הנתונים
בינארי. ReadStream ( Mystree ) ; // קורא את זרם הנתונים
Mystree. קראו ( C [0], NumberBytes ) ; // המון למאגר C
set_rm ( C, 1) ; // תהליכי נתונים בינארייםוטוען את rm האוגרים [ המדד ]לנהגי eHouse 1
Test_save ; // שיא מבחןהתפוקה לקובץ טקסט, כדי להקל על פעולה
update_panel ; // טוען נתוניםללוח הבקרה
סוף ;

מאפשרלאוטומטי ושאינו - קבלת נתונים פולשנית דרך רשת LAN או WiFi בשימוש במנות שידורי UDP ( User Datagram Protocol) .
מה עוד אינו דורש חיבור לשרתורק מקשיבבשידור נמל ' 6789 ' ברירת מחדל או אחר .

שגיאות המקושרים, רשת, נתבים לא יגרמולהשעיה של תוכנה או שגיאה בלתי מוגדרת ( כמו במקרה של תקשורת עם שרתי TCP), אבל רק נעלמת לעדכן את הנתונים מבלי להשפיע על נתוני השרת או יישום לקוח שולחים UDP .

הערה !!. כאשר אתה יוצרתוכנת שליטה עלeHouse מערכת שרת Windows, יש צורך ליישם את כלהאלגוריתמים ביישום אחד, המנתח את הנתוניםומבצע את כל האלגוריתמים, וזה מדמיין .

משתנים משמעותייםבינארי הספרייה :

boiler_alarm : בוליאני = false ; טמפרטורה מתוכנת אזעקת אזעקת הדוד // מעל

// חרג הדוד טמפרטורת האזעקה
bonfire_stat : מספר שלם ; // רמת חימום מדורת 0 - 7למצב בינארי - מצב הפעלה שלהאח
// 0 - אש מן - לא לחמם
// 1 - אש על / = gt כיבוי ; גרין רמה < מעיל זמני ( ירוק מהבהב LED ) - פג הבזקים ירוקים
// 2 - אש על = > גרין רמה > = מעיל gt זמניים ; רמה צהובה - histeressis ( נורית ירוקה ) - ירוק
// 3 - אש על = > רמה צהובה - histeressis > Temp מעיל > רמה צהובה + histeressis ) ( נוריות ירוקות + צהובות ) - ירוק - צהוב
// 4 - אש על = > רמה + histeressis gt צהוב ; Temp מעיל > רמה אדומה - histeressis ( צהוב ) - צהוב
// 5 - = gt ללא תנאי ; רמה אדומה - histeressis < Temp מעיל < רמה + histeressis (אדום + נוריות צהובות ) צהוב אדומות - אדום
// 6 - = gt ללא תנאי ; Temp מעיל > רמה אדומה + histeressis ( נורית אדומה קבוע) - אדום
// 7 - = gt ללא תנאי ; Temp מעיל > אזעקת מדורה ( נורית אדומה מהבהב ) ALARM - הבהוב אדום

bonfire_sensor_error : בוליאני = false ; // שגיאת חיישני מדורה יותר מדי ז'קט מים בטמפרטורה שונה בין שני חיישנים
// חיישני טמפרטורת מעטפת אח שגיאת הבדל גדול מדי
recuperator_status : מחרוזת ; // סטטוס של הבראה, אוורור, חימום אוויר - מעמדו של מנגנון ההחזרהוהאוורור
recu_winter : בוליאני = false ; // מצב מנגנון ההחזרה חורף / קיץ מחליף חום הפעלה / ביטול - חורף מנגנון ההחזרה / קיץ
recu_manual_amalva : בוליאני = true ; // אוטומטי מנגנון ההחזרה / מצב ידנילאנו שומרים לעצמנו מנגנון ההחזרה ( אוטומטי אנו שומרים לעצמנו מנוהלים על ידי controler הפנימי, מדריךלeHouse HeatManager ) // אנו שומרים לעצמנו מדריך למנגנון החזרה / אוטומטי
went_cooler : בוליאני = true ; // מתקן מים קר / כיבוילמערכת הבראה הבראה קרירה אוורור או או GHE ON / OFF
went_gwc : בוליאני = false ; // מוטורי כללי עם נפגעים ( מחליף חום קרקע ) סרוו / כיבוי - מפעיל מחליף חום קרקע / הכיבוי
went_aux_gwc_fan : בוליאני = false ; // הנשמה / אוהד כללי עם נפגעים עזר / כיבוילמחליף חום קרקע - אוהד סייע כללי עם נפגעים
bonfire_dgp : בוליאני = false ; // מערכת הפצת אוויר חם מדורת הפעלה / ביטול - הפצת אוהד של אוויר חםמDGP האח
ventilation_on : בוליאני = false ; // האוורור עובד על כרגע / הכיבוי - הכללה של אוורורוהתאוששות חום
heater_pump : בוליאני = true ; // לשאובלתנור לאוורור / כיבוי - אוורור דוד משאבה חשמלי או תנורי חימום
three_ways_cutoff : מספר שלם = 0 ; // כיוון הפסקת שלוש דרכים 0 מ, רמת הגדלת 1, - רמת הקטנת 1) כיוון הסיבוב שלאלקטרו - שסתום דרך
solar_pump : בוליאני = false ; משאבת שמש // on / off - משאבת אספן שמש
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 : מספר שלם ; // רמת טמפרטורה של recu 0. . מנגנון ההחזרה טמפרטורת 30Cלamalva
_recu_mode : מחרוזת = ; // מצב הבראה בטקסט כפי שהוא HeatManager לוח בקרה ( ehouse. exe ) - מצב מנגנון ההחזרהכלוח בקרה ביישום eHouse HeatManager. exe
אוהד : מחרוזת ; // מעמד אוורור כטקסט בלוח בקרת HeatManager ( ehouse. exe ) - מצב אוורור זההלehouse HeatManager הפנל. exe
חתול, sola : מחרוזת ; // הדוד, מצב טקסט שמש כפי שהוא פנל HeatManager בקרה ( ehouse. exe ) - מעמדו של פנל הדוד וקולט השמש לשלוט HeatManager eHouse. exe
קומי : מחרוזת ; // מעמד טקסט מדורה כפי שהוא פנל HeatManager בקרה ( ehouse. exe ) - מעמדו של האח כמובלוח הבקרה ביישום eHouse HeatManager. exe

פענוחהמעמד בינארי שלנהגי הבית חכם - קוד מקור

eHouse - Inteligentny Dom, Inteligentny Budynek