דוגמא 1 לתרגיל בקרה מבחינת בגרות

‫שימוש בתוכנת ‪LAB VIEW‬‬
‫ל‪ NXT-‬לתכנות מערכות משולבות‬
‫ההתנסות בתוכנה מתבצעת במסגרת המעבדה‬
‫למערכות משולבות‬
‫מפגש ראשון‬
‫ד"ר דני קלוס‬
‫ד"ר דני קלוס‬
‫מטרות ההשתלמות‬
‫•‬
‫הכרה והתנסות בהפעלת תוכנת ‪.LabVIEW‬‬
‫•‬
‫לימוד דרכים לשילוב התוכנה בתהליך הלמידה‬
‫במעבדה למערכות משולבות‪.‬‬
‫הכרת יתרונות השימוש בתוכנה‪ ,‬על פני שיטות‬
‫הוראה אחרות‪.‬‬
‫•‬
‫ד"ר דני קלוס‬
‫יעדי ההשתלמות‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫ללמד את המורים לתכנת בשפת ‪.LabVIEW‬‬
‫להכיר למורים את אופן השימוש בתוכנה‪ ,‬במהלך שיעורי‬
‫המעבדה‪ ,‬תוך שימוש בשאלות מתוך מאגר השאלות של‬
‫המגמה‪.‬‬
‫להציג את היכולות הטמונות בתוכנה ואת התוכנה ככלי‬
‫המאפשר יישום של רעיונות יצירתיים‪.‬‬
‫להכיר סביבות למידה והוראה‪ ,‬המשמשות בלמידה מרחוק‪.‬‬
‫ד"ר דני קלוס‬
‫ד"ר דני קלוס‬
‫מערכת משולבת‬
‫ד"ר דני קלוס‬
‫מהי מערכת משולבת?‬
‫מערכת שמחוברים בה רכיב קלט‪ ,‬רכיב פלט‬
‫ובקר‪/‬מחשב‪.‬‬
‫• רכיב הקלט ‪ -‬תפקידו של רכיב הקלט‪ ,‬לספק‬
‫למערכת הטכנולוגית מידע מהסביבה‪ ,‬כך‬
‫שהמערכת תוכל לפעול על הסביבה באופן יעיל‪.‬‬
‫• רכיב קלט ‪ -‬הוא חיישן הממיר משתנה פיזיקאלי‪,‬‬
‫הנקלט מהסביבה‪ ,‬לאות חשמלי המועבר לבקר‪.‬‬
‫ד"ר דני קלוס‬
‫•‬
‫•‬
‫•‬
‫•‬
‫רכיב פלט‪ -‬תפקידו לאפשר למערכת הטכנולוגית לפעול על‬
‫הסביבה‪ .‬רכיבים אלה הנקראים בשפה הטכנולוגית‬
‫"מפעילים" (‪.)Actuators‬‬
‫דוגמאות לרכיבי פלט אשר המשפיעים על הסביבה בה הם‬
‫פועלים‪ :‬מנוע‪ ,‬גוף חימום ופעמון חשמלי‪.‬‬
‫בקר‪ /‬מחשב – הבקר‪ /‬מחשב מאפשר ביצוע של תהליך בקרה‬
‫עם משוב במערכת המשולבת‪.‬‬
‫הבקר מופעל באמצעות תכנית (השמורה בו)‪ ,‬שלפיה הוא‬
‫מפעיל את רכיבי הפלט בהתאמה מהמידע המתקבל מרכיבי‬
‫הקלט‪.‬‬
‫ד"ר דני קלוס‬
‫מערך רכיבי הקלט‪ /‬פלט אשר בו נשתמש‪ ,‬כאשר‬
‫נרצה לממש ולבנות מערכת משולבת‪ ,‬באמצעות‬
‫ערכת ‪ ,NXT‬נראה כך‪:‬‬
‫רכיבי הפלט יחוברו לכתובות‬
‫המסומנות ‪C ,B ,A‬‬
‫רכיבי הקלט יחוברו לכתובות‬
‫המסומנות ‪4 ,3 ,2 ,1‬‬
‫ד"ר דני קלוס‬
‫דוגמה למערכת משולבת‬
‫• באיור לשאלה זו‪ ,‬הלקוחה מתוך בחינות בגרות‬
‫בבקרה במכונות‪ ,‬מתוארת מערכת לבקרת גובה‬
‫(מפלס) המים במיכל‪.‬‬
‫ד"ר דני קלוס‬
‫רכיבי המערכת‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫מצוף‪.‬‬
‫שני חיישני גבול‪.‬‬
‫בקר מתוכנת‪.‬‬
‫ברז מילוי חשמלי‪.‬‬
‫ברז הורקה חשמלי‪.‬‬
‫מפסק ראשי המשמש לניתוק והפעלה של‬
‫המערכת‪.‬‬
‫ד"ר דני קלוס‬
‫תאור פעולת המערכת‬
‫• כאשר הברז החשמלי מופעל‪ ,‬זורמים מים למיכל‬
‫והמצוף עולה‪.‬‬
‫• כאשר זרוע המצוף מגיעה למפסק הגבול העליון‪ ,‬נסגר‬
‫ברז כניסת המים ונפתח ברז היציאה‪.‬‬
‫• יציאת המים מהמכל גורמת לירידת המצוף‪ .‬כאשר‬
‫זרוע המצוף מגיעה למפסק הגבול התחתון‪ ,‬ברז‬
‫המילוי מופעל שוב‪ ,‬ומים מתחילים להיכנס למיכל‪,‬‬
‫והתהליך חוזר על עצמו‪.‬‬
‫ד"ר דני קלוס‬
‫•‬
‫•‬
‫•‬
‫•‬
‫מערכת זו היא מערכת משולבת ומכילה את רכיבי‬
‫הקלט‪ ,‬אשר מספקים לבקר נתונים על המפלס הנתון‬
‫לשינויים‪.‬‬
‫המערכת מכילה את רכיבי הפלט‪ ,‬הברזים‪ ,‬אשר‬
‫באמצעותם משנים את המפלס והבקר‪.‬‬
‫כל הרכיבים המוזכרים הם רכיבי חומרה‪ .‬התוכנה‬
‫מאפשרת כתיבת תכנית‪ ,‬כך שהמערכת תבצע את‬
‫הקשר שאנו נקבע‪ ,‬בין רכיבי הקלט לרכיבי הפלט‪.‬‬
‫תכנית המחשב אנלוגית ליכולת הקוגניטיבית בנפש‬
‫האדם המאפשרת התאמה בין הנתונים המגיעים‬
‫למוח מהחושים ד"ר דני‬
‫וביןקלוספעולת השרירים‪.‬‬
‫תוכנית המחשב כתת‪-‬מערכת‬
‫ד"ר דני קלוס‬
‫ניתן לראות בתוכנית המחשב‬
‫תת‪ -‬מערכת‪ ,‬במערכת המשולבת‪.‬‬
‫ד"ר דני קלוס‬
‫• הקורס יעסוק בתכנות המערכות המשולבות‬
‫בשפת ה‪.LabVIEW -‬‬
‫• שפת ה‪ LabVIEW -‬היא סביבת תכנות‬
‫המאפשרת תכנות חזותי‪.‬‬
‫• התכנה פותחה על‪-‬ידי חברת‪:‬‬
‫‪NATIONAL INSTRUMENTS‬‬
‫ומיועדת להפעלת מערכות בקרה‪ ,‬רובוטים‪ ,‬ויישומי‬
‫אוטומציה‪.‬‬
‫ד"ר דני קלוס‬
‫• התוכנה מתפקדת באופן דומה לתכנות מונחה‬
‫עצמים‪ .‬פקודה היא למעשה "עצם" אשר כולל‬
‫מאפיינים הניתנים לתכנות‪.‬‬
‫• דוגמה‪ :‬הפקודה "הפעל מנוע" מיוצגת ב"עצם" או‬
‫צלמית אותה ניתן לגרור מלוח קלט‪/‬פלט (‪ )i/o‬של‬
‫התוכנה‪ .‬הצלמית כוללת את המאפיינים המאפשרים‬
‫לקבוע לאיזו כתובת מוצא יחובר המנוע‪ ,‬את עוצמת‬
‫הפעלתו וכיוון הפעלת המנוע‪.‬‬
‫ד"ר דני קלוס‬
LabVIEW ‫הכרות עם תוכנת‬
NXT Tools Palette -‫ו‬
‫ד"ר דני קלוס‬
‫עם בחירת חבילת התכנות ל‪: NXT -‬‬
‫ד"ר דני קלוס‬
‫נפתחים שני החלונות הבאים‪:‬‬
‫ד"ר דני קלוס‬
‫הצגת לוח הכלים – ‪Tools Palette‬‬
‫• לוח הכלים מאפשר פעולות עריכה וכתיבה בתוכנית‪.‬‬
‫ד"ר דני קלוס‬
‫הצגת לוח הפונקציות‬
‫• הקש ‪ View‬להצגת לוח הפונקציות‬
‫ד"ר דני קלוס‬
‫לוח פונקציות התכנות‬
‫ד"ר דני קלוס‬
‫פונקציות ה‪Structures -‬‬
‫ד"ר דני קלוס‬
‫גרירת פונקציית ה ‪ While‬למסך התכנות‬
‫ד"ר דני קלוס‬
‫גרירת הפקודה "המתן" ועיצובה ל"המתן לחיישן מגע"‬
‫ד"ר דני קלוס‬
‫קביעת המשתנה המורה על כתובת מבוא החיישן‬
‫ד"ר דני קלוס‬
‫גרירת הפקודה "קרא חיישן"‬
‫ד"ר דני קלוס‬
‫גרירת מבנה ה ‪Case‬‬
‫ד"ר דני קלוס‬
‫לוח הפונקציות הלוגיות ‪Boolean‬‬
‫בלוח זה נמצא את השערים הלוגיים וקבועים לוגיים כ "‪ "True‬ו‪"False" -‬‬
‫ד"ר דני קלוס‬
‫לוח הפונקציות המתמטיות ‪Numeric‬‬
‫ד"ר דני קלוס‬
‫לוח פונקציות ההשוואה ‪Comparison‬‬
‫ד"ר דני קלוס‬
‫עתה נערוך הכרות עם לוח הקלט‪ /‬פלט‬
‫של התוכנה‬
‫‪NXT I/O‬‬
‫ד"ר דני קלוס‬
‫נכיר את קבצי הפקודות שבעזרתם נתכנת‬
‫את המערכות המשולבות בקורס‪.‬‬
‫ד"ר דני קלוס‬
‫נתמקד באופן השימוש בקבוצת‬
‫הפקודות ההכרחיות לתכנות‬
‫התרגילים הנלמדים בקורס והם‪:‬‬
‫הפעל והפסק מנוע‬
‫המתן ל‪..‬‬
‫קרא חיישן‬
‫ד"ר דני קלוס‬
‫פקודת הפעל‪ /‬הפסק מנוע‬
‫– לחיצה בעזרת העכבר על צלמית ה "‪"Motor‬‬
‫תאפשר את גרירת הצלמית למסך התכנות‪.‬‬
‫– ניתן לערוך את הצלמית כך שנשלוט על‬
‫קביעת כתובת המוצא אליה אנו מתייחסים‪,‬‬
‫עוצמת ההפעלה וכיוונה‪ ,‬אופן העצירה‬
‫וכמובן חיבור הצלמית לזו שתבוא לפניה או‬
‫אחריה‪ ,‬לצורך יצירת משפט בתכנית‪.‬‬
‫ד"ר דני קלוס‬
‫ד"ר דני קלוס‬
‫הגדרת כתובת מוצא‬
‫• על מנת לבחור בכתובת המוצא‪ ,‬יש להקיש על הלחצן‬
‫הימני של העכבר‪ ,‬על מקום הגדרת כתובת המוצא‬
‫ולבחור ב‪ Create -‬ואחר כך ב‪Constant -‬‬
‫ד"ר דני קלוס‬
‫• בחירה ב ‪ Create‬מאפשרת למתכנת לבחור באחת מתוך‬
‫שלוש אפשרויות שהן‪ :‬בחירה בערך קבוע (‪ ,)Constant‬בחירה‬
‫במשתנה הניתן לשליטת המשתמש (‪ )Control‬או בחירה‬
‫במשתנה המאפשר חיווי מידע (‪.)Indicator‬‬
‫• מאחר וכתובת המוצא היא קבועה‪ ,‬נבחר באפשרות ה‪-‬‬
‫‪ .Constant‬בחירה זו תאפשר בחירת כתובת המוצא‪ ,‬מבין‬
‫שלוש אפשרויות וכן אפשרות לבחור בהפעלה בו זמנית של‬
‫כל כתובות המוצא‪.‬‬
‫ד"ר דני קלוס‬
‫בחירה בעוצמה והכיוון‬
‫• בהתאמה‪ ,‬ניתן לבחור בעוצמת הפעולה של המנוע ואת‬
‫כיוונו‪ ,‬ע"י קביעת מספר שלילי או חיובי‪.‬‬
‫• ניתן להגדיר את עוצמת הפעולה של המנוע כמשתנה או‬
‫לקשר אותה עם מוצא של חיישן או של פעולה מתמטית‪.‬‬
‫• העוצמה ניתנת באחוזים ולכן טווח העוצמות נע בין ‪ 0‬ל ‪100‬‬
‫כאשר ברירת המחדל היא ‪ 75‬אחוז עוצמה‪.‬‬
‫ד"ר דני קלוס‬
‫בחירה בעצירה או הפעלה‬
‫• ניתן לבחור האם המנוע יפעל קדימה או לאחור וכן‬
‫האם יעצור את פעולתו‪ .‬ברירת המחדל היא פעולה‬
‫קדימה (‪ ,)FWD‬אך בחירה בעצירה תאפשר עצירה‬
‫מידית או עצירה הדרגתית‪.‬‬
‫ד"ר דני קלוס‬
‫פקודת "המתן" ‪Wait‬‬
‫‪ ‬פקודת "המתן"‪ ,‬גורמת לעצירת התוכנית עד להתרחשות לה‬
‫ממתינים‪.‬‬
‫‪ o‬ההתרחשות יכולה להיות המתנה שיחלוף זמן מסוים או שיתקבל‬
‫מידע מסוים מחיישן‪.‬‬
‫‪ ‬כאשר נבחר בהמתנת זמן‪ ,‬יהיה צורך להגדיר את הזמן לו יש‬
‫להמתין‪.‬‬
‫‪ o‬הגדרת הזמן תעשה ע"י סימון בנקודת ההגדרה של הצלמית ובחירה‬
‫ב ‪ Create‬ואז במשתנה או בקבוע דרכו נוכל להגדיר את זמן‬
‫ההמתנה הרצוי‪.‬‬
‫ד"ר דני קלוס‬
‫שינוי מהמתנה לזמן להמתנה למידע מחיישן‬
‫• ניתן לשנות את סוג החיישן והמידע לו ממתינים ע"י בחירה‬
‫בתפריט של הצלמית‪ .‬במקרה כזה‪ ,‬יפתח תפריט המאפשר‬
‫את האפשרויות הבאות‪:‬‬
‫ד"ר דני קלוס‬
‫• בחירה בהמתנה למידע מחיישן תחייב הגדרת‬
‫כתובת המבוא אליו מחובר החיישן‪.‬‬
‫‪ o‬הפעולה נעשית בדומה לבחירת הגדרת כתובת מוצא‬
‫המנוע‪.‬‬
‫ד"ר דני קלוס‬
‫פקודת "קרא חיישן" ‪Sensor‬‬
‫• בחירה בתפריט ה ‪ Sensor‬מאפשרת קריאה‬
‫וקבלת מידע מחיישן‪.‬‬
‫– ניתן לבחור את סוג החיישן מתפריט הצלמית‪.‬‬
‫– כמו כן ניתן להגדיר את כתובת המבוא ולחבר את‬
‫הצלמית כחלק ממשפט בתוכנה‪.‬‬
‫ד"ר דני קלוס‬
‫הערה חשובה‪ :‬אין אפשרות לקרוא באופן רציף מידע מחיישן‪,‬‬
‫אלא אם הפקודה "קרא חיישן" )‪ )Sensor‬נתונה בתוך לולאת‬
‫‪ .While‬ללא לולאת ה ‪ ,While‬התכנית תחלוף על הפקודה‬
‫וקריאה רצופה לא תתאפשר‪.‬‬
‫ד"ר דני קלוס‬
‫מטלה לביצוע‬
‫עיין בסרטונים הבאים ובנה תכנית שבה באופן‬
‫מחזורי אין סופי מתקיימות הפקודות הבאות‪:‬‬
‫אם לחצן מגע לחוץ הדלק מנורה‬
‫אם לא‪ -‬כבה את המנורה‪.‬‬
‫‪http://www.youtube.com/watch?v=fnqloVsSPG4‬‬
‫‪http://www.youtube.com/watch?v=33GU3cWhFqA‬‬
‫‪http://www.youtube.com/watch?v=8SZHnX7FExg‬‬
‫ד"ר דני קלוס‬
‫ד"ר דני קלוס‬