הודעות שי שרעבי חדר 201 שעות קבלה לפי תאום.
מבוא לסביבת - LabVIEW
מטרת הסדנה : הבנת תהליך לכידת והצגת אותות פיזיקאליים. הכרת ה MAX וסביבת הפיתוח של LabVIEW. להקנות יכולת לבנות אפליקציה ללכידת אותות, עיבודם והצגתם.
חומר עזר : קבצי pdf בתיקיית manuals של התקנת NI ( LV_Fundamentals.pdf). סרטוני הדרכה לתוכנת Labview של דר ' אלכס קופמן באתר באתר החברה
תהליך לכידת והצגת אותות :
הפעלת תוכנת ה-MAX
הפעלת תוכנת ה-LabVIEW
צג משתמש -Front Panel Controls = Inputs Indicators = Outputs תכנות ב - LabVIEW מייצר כלים וירטואלים (VI’s) : צג התוכניתBlock Diagram - תכנות גרפי - תכנות טקסטואלי. כל רכיבי התוכנית מקושרים בחיווט.
( Front Panel צג המשתמש ( סרגל הכלים צלמית פה נצור ונעצב את כל המתגים, שעונים, מיני תפריטים וגרפים לתצוגה.
)Block Diagram צג התוכנית ( חיווט טרמינל גרף Express vi While לולאת סרגל הכלים פונקצית חיבור Nodes טרמינל קבוע נומריפקודת השהיה טרמינל משתנה בולאני
Express VIs, VIs and Functions Express Vis: VI אינטראקטיבי עם דף דיאלוג לקונפיגורציות. Standard Vis:VI סטנדרטי מודולרי. Functions: כלי הפעלה אלמנטרי. Express VI Standard VI Function
כפתור הרצה כפתור הרצה מתמשכת הפסקת הרצה Pause/Continue כפתור כפתור טקסט סידור צלמיות מרחק בין צלמיות בטל סידור הגדל / הקטן צלמיות הפעלה איטית סרגל הכלים
לוח הפקדים ולוח הפונקציות לוח הפקדים Controls Palette (Front Panel Window) "קליק" ימני בצג במשתמש לוח הפונקציות Functions Palette (Block Diagram Window) "קליק" ימני בצג התוכנית
לוח הפקדים : Control - קלט Indicator - פלט צור נובה והעבר את הסמן באזורים שונים סביבה.
קלטים ופלטים – controllers & indicators Indicator – חץ נכנס Controller – חץ יוצא מסגרת לא מודגשת מסגרת לא מודגשת מסגרת מודגשת מסגרת מודגשת *הערה במשתנים מסוימים אין חץ
הפעלה מיקום, הגדלה,הקטנה כיתוב חיווט קיצור דרך להפעלת לוחות גלילה הפסקת הרצה יזומהBreakpoint הצגת מצב/ערך העתקת צבע צביעה לוח הכלים חיווי על מצב מעבר אוטומטי משמש לעריכה. ראה סמן עכבר בעריכה במצב אוטומטי
קלטים ופלטים – controllers & indicators ניתן להפוך קלט לפלט וההפך: "קליק" ימני על האיקון --> change to indicator
Control Terminals צג התוכנית Indicator Terminals בניית תוכנית : הדגמה צג המשתמש
משתנה מקומי ניתן ליצר לקלט או לפלט משתנה מקומי: "קליק" ימני על האיקון --> Create --> local Variable
מה יתבצע קודם? Multitasking Principle
עזרה ודוגמאות מסך העזרה עזרה ברשת נעל מסך עזרה לחיצה על Ctrl+H תפתח מסך עזרה המתעדכן על פי מיקומינו במסך
TC ליניארי מוציא ערכים של mv לטמפרטורות של 0-40°C. בצע תרגום של המרת היחידות. תרגול
פתרון
כניסות ויציאות כניסה נקראת sink. יציאה נקראת source. אין משמעות לחיבור יציאות אחת לשנייה
טיפוסים פשוטים
טכניקות לגילוי תקלות : מציאת התקלה לחיצה על החץ השבור תגרום להופעת מסך פירוט התקלה (תקלת קומפילציה) לחיצה על המנורה תפעיל את התוכנית באיטיות תוך הצגת מיקום וערך (תקלת אלגוריתם) לחיצה ימנית על חוט תגרום להופעת חלון המציג את הערך העובר דרכו ומספור המקום (ניתן להפעיל פונקציה זו גם מלוח הכלים ) הפעלה בשלבים הצגת מצב/ערך
מבנים (Structures)
לולאתWhileלולאתWhile –כולל טרמינל שסופר איטרציות –"רץ" פעם אחת לפחות –"ירוץ" עד לשינוי בתנאי העצירה לולאת Forלולאת For –כולל טרמינל שסופר איטרציות –"ירוץ" בהתאם למספר הפעמים המוגדר בטרמינל התנאי
מתגים – עקרון מכני מצב המתג הסיגנל היוצא קבלת אישור ע"י התוכנה
Race Condition קלט בוליאני (control) בעל משתנה מקומי (local variable) אינו יכול להיות מסוג latch. מדוע? התוכנה מאפשרת להשתמש באותו שם למשתנה - לא מומלץ! רמז: הזכר בעיקרון ה multitask
Stacked sequence Flat sequence Sequence – סידור הפעולות בתוכנית הערה: מומלץ מאוד לשלב sequence בתוכנית למניעת תקלות ולהבנת התוכנית
קבע ערכים התחלתיים לקלט Y ו X. sequence תרגול – סיים עם הודעה למשתמש כאשר X-Y≥0.
פתרון אתחול משתנים הקוד פעולות בסיום
Case – ביצוע פעולה בהתאם לתנאי
Formula node – חישובים מנוסחה הערה: כיצד מזינים נוסחה?? ראה ב"עזרה"!! ראה ב"עזרה"!! חשוב מאוד: כל שורה חייבת להסתיים ב- ;
תרגם מעלות לרדיאנים ולהפך ע " י בחירת mode פעולה. Case-formula node תרגול – תזכורת, נוסחת המעבר מרדיאנים למעלות : y=x/pi*180
פתרון
Hide controller/ indicator הסתרת איקוני קלט פלט במסך המשתמש הסתרת איקוני קלט פלט במסך המשתמש הדגמת סידור חיווט
"קליק" ימני על האייקון בחלון התוכנית מאפשר להעלים את ההצגה של האובייקט ממסך המשתמש
פעולה הפוכה תגרום להופעתו מחדש
Property Node
- בנה משתנה קלט המשנה מצבו משמיש (Enable) ללא שמיש (Disable) בהתאם למצב מתג בוליאני. תרגול מצב ב מצב א
פתרון ומה עושה הקוד הבא?
מערך Array- יצירת שלד מערך במסך המשתמש:
יצירת מערך משתני מספר גרור משתנה מספרי אל שטח שלד המערך
מימד מערך ניתן לראות את הערכי המערך על ידי: הוספת מימד: "קליק ימני" על מס' אלמנט >> add dimension שינוי הערך במס' האלמנטשינוי הערך במס' האלמנט גרירת גבולות המערך ימינהגרירת גבולות המערך ימינה
פונקציות המערך
גבולות הלולאה ומערכים Auto Indexing property איזור לא מאותחל של המערך
יצירת מערך דו - ממדי בעזרת לולאה What will happen if I disable the outer loop indexing?
פעולות בסיסיות במערכים
- בנו מערך 5X5 שערכיו מוזנים על ידי המשתמש. השתמשו בלולאות For & While. - הציגו את הערך הגבוה ביותר ואת מקומו. תרגול
פתרון
בניית מערך באמצעות - Shift Register Feedback Node
- חשב n! עם שימוש בתכונות הלולאה ופונקציות כפל חיבור בלבד. תרגול
פתרון
נטרול קוד בעזרת מבנה Enable-Disable - שימושי בזמן פיתוח לאיתור תקלות. - ניתן להוסיף מסגרות נוספות ולבחור את המסגרת שתשמש כ enable.
ערכים בוליאנים : משתנים המקבלים ערך true אוfalse Control - קלט Indicator - פלט צג משתמש:
עבודה עם ערכים בוליאניים צג תוכנית: פונקציות בוליאניות
בנו מערך מפסקים ו Led אחד. האירו את ה led רק כאשר המערך מייצג 5 בינארי. תרגול כדאי להשתמש ב case.
פתרון
Chart
תצורות שונות של Chart בטל כיול אוטומטי של ציר x ונסה את התצורות שבתמונה הנ"ל
עוד על Chart תמונת גרף למאמר
בנו את התוכנית הנ " ל והריצו אותה. תרגול
Graph vs Chart Chart - שומר נתונים שנרשמו בו ומוסיף אליהם חדשים. Graph - מאתחל נתונים בכל פעם שמתקבל מידע חדש.
גרף XY - גרף XY מציג את נקודות הצמדים (x i,y i ) של מערכים X ו- Y המוזנים אליו. - ניתן לעבוד בגרף זה עם נתונים קיימים (קודם אוספים ואח"כ מציגים) או בעבודה ONLINE, כלומר עדכון הגרף תוך כדי איסוף הנתונים.
גרף Online-XY - בחירה בגרף XY מצג המשתמש תגרור הופעה של vi-express בצג התוכנית. - כשמזינים נקודות בודדות Online יש לחווט False לכניסת ה Reset.
Simulate Signal - משמש להזנת אותות ולבדיקת התוכנה. לצפייה נוחה יותר רצוי לקבע את מספר הדגימות
Cluster - מיכל לאוסף של אובייקטים. - נדמה אות שנשלח לגרף XY בתוך cluster.
Menu Ring - מעין ייצוג גרפי למערך של מחרוזות הניתן לבנייה מראש.
בנו מחולל אותות כמתואר כאן. תרגול
פתרון
כתיבה לקובץ
לכידת קול ממיקרופון
תוכנית ללכידת קול הנתונים זורמים לגרף בפורמט של waveform.
הדמית כרטיס – Simulated Device נגדיר כרטיס וירטואלי ב MAX.
לכידה מכרטיס דמה נגדיר VI, בצג התוכנית, הלוכד נתונים מכרטיס.
המשך הגדרה של לכידה מכרטיס נגדיר VI הלוכד נתונים מכרטיס.
תוכנית לכידה מכרטיס מכרטיסים נקבל נתונים מסוג waveform.