Transcript Lab-VIEW

‫‪LabView‬‬
‫מבוא לתכנות‬‫‪LabView Basics‬‬‫‪Execution control‬‬‫‪Cases‬‬‫‪Loops‬‬‫‪Timing‬‬‫‪SubVi‬‬‫מצגת לסדנת מורים מובילים‪ ,‬מור‪-‬טק ‪2010‬‬
‫צוות תכנה של קבוצת הרובוטיקה של בי"ס הריאלי העברי בחיפה‪2010 ,‬‬
‫פלג‪ ,‬ראש‬
‫‪Arrays‬‬
‫ים ‪-‬‬
‫עידכון המצגת התבצע גם ע"י פז ארני‪ ,‬ראש צוות תכנה של קבוצת הרובוטיקה של משגב‪2011 ,‬‬
‫‪Clusters‬‬‫‪Formulas‬‬‫‪Graphs-‬‬
‫מהו מחשב?‬
‫מהו מחשב?‬
‫מבנה המחשב ‪-‬‬
‫‪ ‬אמצעי קלט –‬
‫‪ ‬מקלדת‬
‫‪ ‬עכבר‬
‫‪ ‬אמצעי פלט –‬
‫‪ ‬מסך‬
‫‪ ‬מדפסת‬
‫‪ ‬זכרונות –‬
‫‪ ‬זכרון נדיף – ‪RAM‬‬
‫‪ ‬דיסק קשיח‬
‫‪ ‬מוח –‬
‫‪ ‬מעבד (לפעמים אפילו כמה מעבדים)‬
‫מבנה המחשב ‪ -‬הזכרונות‬
‫‪ ‬זכרון נדיף –‬
‫‪ ‬לזכרון זה גישה מהירה‪ ,‬אך הזכרון פועל על חשמל ונמחק כאשר‬
‫הוא לא מחובר לחשמל (במצב שהמחשב כבוי)‪.‬‬
‫‪ ‬דיסק קשיח ‪-‬‬
‫‪ ‬לזכרון זה גישה איטית יותר מלזכרון הנדיף‪ ,‬אך יש לו יתרון גדול על‬
‫הזכרון הנדיף בכך שזכרון זה אינו נמחק כאשר המחשב כבוי‪.‬‬
‫‪ ‬לצורך נוחות נקרא לזכרון הנדיף "זכרון"‬
‫מבנה המחשב ‪ -‬המעבד‬
‫‪ ‬המעבד הוא שבב אלקטרוני שתפקידו לבצע פעולות‬
‫קבועות מראש שהוגדרו לו פעולות אלה נקראות "סט‬
‫פקודות"‪.‬‬
‫‪ ‬המעבד הוא בעצם המוח של המחשב‬
‫המחשב‪ ...‬כבר לא מה שחשבנו‬
‫‪ ‬לאחר שגילינו מה הוא באמת המחשב ניתן לאמר‬
‫שהמחשב יודע לעשות רק דבר אחד ‪-‬‬
‫‪ ‬אז איך המחשב "יודע" לשחק איתנו כאשר אנו‬
‫מפעילים משחק?‬
‫מהי תוכנית מחשב?‬
‫‪ ‬תוכנית מחשב ‪ -‬רצף של הוראות בשפת תכנות‬
‫כלשהי‪ ,‬שנועדו לבצע משימה מסוימת במחשב‪.‬‬
‫מבחינה מהותית יותר‪ ,‬תוכנית מחשב היא מימוש של‬
‫אלגוריתם באמצעות שפת תכנות‪.‬‬
‫מהי תוכנית מחשב?‬
‫התוכנית בנויה ממספר פקודות בשפת מכונה‪.‬‬
‫כל תוכנית בכל שפה מתורגמת לבסוף לשפת‬
‫מכונה‪.‬‬
‫בעיה – שפת מכונה קשה מאד להבנה‬
‫מהי תוכנית מחשב?‬
‫פתרון – שפה המובנת למשתמש‪ ,‬שלבסוף‬
‫מתורגמת לשפת מכונה‪ .‬שפה זו נקראת שפה‬
‫עילית‪.‬‬
‫אופן הפעולה של המחשב‬
‫‪ ‬המחשב מקבל קלט ומאחסן אותו בזכרון‪.‬‬
‫‪ ‬המעבד מבצע את התוכנה שגם היא מאוחסנת‬
‫בזכרון עם ערכי הקלט שהתקבלו ונשמרו‪ .‬את‬
‫הערכים הוא שומר גם בזכרון‪.‬‬
‫‪ ‬המחשב מוציא כפלט את תוצאות החישובים והעיבוד‬
‫שנעשה‪.‬‬
‫שפות תכנות ‪-‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫שפת מכונה‬
‫שפת סף‬
‫שפה עילית‬
‫סביבות פיתוח חזותיות‬
‫שפות תכנות – טיפוסים‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫טיפוס של משתנה קובע‪:‬‬
‫אילו ערכים יכול המשתנה להכיל?‬
‫מהן הפעולות שניתן לבצע על המשתנה‬
‫רקע?‬
‫הזיכרון במחשב הוא זיכרון בינארי ( ‪binary).‬‬
‫ביט (‪ -)bit‬יחידת זיכרון בינארית‪ .‬ביט יכול להיות ‪ 0‬או ‪.1‬‬
‫זיכרון המחשב נמדד ביחידות בסיסיות הנקראות בתים ( ‪bytes).‬‬
‫‪1 byte = 8 bit‬‬
‫משתנים מאוחסנים בזיכרון המחשב נשמרים בבתים‪ .‬מספר‬
‫הבתים שדורש אחסון של משתנה תלוי בטיפוסו‪.‬‬
‫‪13‬‬
‫שפות תכנות – טיפוסים פרימיטיבים‬
‫‪ ‬טיפוסים נומריים שלמים‬
‫‪ ‬הטיפוסים נומריים מייצגים מספרים שלמים‪:‬‬
‫‪byte, short, int, long ‬‬
‫‪ ‬טיפוסים ממשיים‪.‬‬
‫‪ ‬הטיפוסים הממשיים הם ‪double, float.‬‬
‫‪14‬‬
‫שפות תכנות – טיפוסים פרימיטיבים‬
‫‪ ‬טיפוסים לוגיים‪.‬‬
‫‪ ‬הטיפוס הלוגי נקרא ‪ .boolean‬משתנים מטיפוס‬
‫זה בעלי ערך ‪ true‬או ‪false.‬‬
‫‪ ‬תווים‬
‫‪ ‬תו‪ .char :‬סימן בודד התחום בגרשיים בודדות‬
‫(למשל‪ a', 'A').' ,‬גם טאב או רווח הם מטיפוס תו‬
‫‪15‬‬
‫שפות תכנות – טיפוסים‬
‫‪ ‬מחרוזות‪.‬‬
‫‪ ‬מחרוזות הן אוסף של תוים שמייצגים משפט או‬
‫מילה למשל '‪ 'Hello‬הוא טיפוס מסוג מחרוזת‬
‫בגודל ‪5‬‬
‫‪16‬‬
‫שפות תכנות – טיפוסים‬
‫טיפוס‬
‫מספר ה ‪bytes‬‬
‫ערכים‬
‫‪byte‬‬
‫‪short‬‬
‫‪int‬‬
‫‪long‬‬
‫‪float‬‬
‫‪1‬‬
‫‪2‬‬
‫‪4‬‬
‫‪8‬‬
‫‪4‬‬
‫‪ -27‬עד ‪27-1‬‬
‫‪ -215‬עד ‪215-1‬‬
‫‪ -231‬עד ‪231-1‬‬
‫‪ -263‬עד ‪263-1‬‬
‫‪double‬‬
‫‪8‬‬
‫‪17‬‬
‫ממשק‬
‫‪ ‬ממשק משתמש מאפשר למשתמש בעל רמת‬
‫ידע מינימלית להפעיל את המערכת ביעילות‬
‫ובהתאם לדרישותיו‪.‬‬
‫‪18‬‬
‫ממשק אדם מכונה ‪HMI -‬‬
‫‪ ‬ממשק אדם מכונה הוא ממשק שנמצא במערכות‬
‫מבוססות בקר מתוכנת‪ HMI .‬הוא לוח הבקרה‬
‫של מפעיל המכונה‪.‬‬
‫‪ ‬חשוב להבין שתוכנת הממשק אינה מותקנת על‬
‫הבקר עצמו‪ ,‬אלא על מחשב נוסף שנועד לצורך‬
‫תקשורת עם מפעיל המערכת‪.‬‬
‫‪19‬‬
‫מבוא לתכנות‬
‫‪ ‬סיכום –‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫איך פועל המחשב?‬
‫ממה בנוי המחשב?‬
‫מהי תוכנית מחשב?‬
‫מהן שפות התכנות?‬
‫טיפוסים‪.‬‬
Labview – basic
LV ‫מהי‬
Front Panel
Block Diagram
Arithmetic gates
Constants
Control and indicators
LV‫תוכנית ראשונה ב‬







?LabView ‫מהי‬
Laboratory Virtual Instrumentation ( labview 
‫) היא פלטפורמה‬Engineering Workbench
‫וסביבת פיתוח לתכנות בשפה חזותית שפותחה על‬
.National Instruments ‫ידי חברת‬
Labview
‫ מחולקת לשני חלונות עיקריים‬Labview 
 Front Panel – ‫ממשק המשתמש‬
 Controls = Inputs
 Indicators = Outputs
 Block diagram – ‫התוכנה עצמה‬
‫‪Labview‬‬
‫‪ ‬התכנות ב‪ LV‬מתבצע לא על ידי כתיבת שורות קוד‪,‬‬
‫אלא על ידי חיבור של 'חוטים' בין רכיבים‪:‬‬
‫‪ ‬לדוגמא שורת הקוד הבאה‪:‬‬
‫‪ Y=x+4+4x‬‬
‫‪ ‬תיראה ב‪ LV‬כך‪:‬‬
Labview
Front Panel
Toolbar
Boolean
Control
Icon
Graph
Legend
Waveform
Graph
Plot
Legend
Scale
Legend
Labview
Block
Diagram
Toolbar
Divide
Function
SubVI
Graph
Terminal
Wire
Data
While Loop
Structure
Numeric
Constant
Timing
Function
Boolean Control
Terminal
Labview
Controls Palette
(Front Panel Window)
Functions Palette
(Block Diagram Window)
Labview
• Floating Palette
• Used to operate and modify
front panel and block diagram
objects.
Automatic Selection Tool
Operating Tool
Positioning/Resizing Tool
Labeling Tool
Wiring Tool
Shortcut Menu Tool
Labview
Run Button
Continuous Run Button
Additional Buttons on
the Diagram Toolbar
Abort Execution
Pause/Continue Button
Text Settings
Align Objects
Distribute Objects
Reorder
Resize front panel
objects
Execution Highlighting
Button
Step Into Button
Step Over Button
Step Out Button
Labview
Front Panel Window
Block Diagram Window
Control
Terminals
Indicator
Terminals
Labview
Labview
Wiring “Hot Spot”
Use Automatic
Wire Routing
Click To Select Wires
Clean Up Wiring
Labview
• Block diagram executes
dependent on the flow of data;
block diagram does NOT
execute left to right
• Node executes when data is
available to ALL input terminals
• Nodes supply data to all output
terminals when done
Labview
Context Help
•
•
•
•
Online help
Lock help
Simple/Complex Diagram help
Ctrl + H
Online reference
• All menus online
• Pop up on functions in diagram to access online info directly
• Finding Errors
Labview
Click on broken Run button
Window showing error appears
• Execution Highlighting
Click on Execution Highlighting button; data
flow is animated using bubbles. Values are
displayed on wires.
• Probe
Right-click on wire to display probe and it
shows data as it flows through wire segment
You can also select Probe tool from Tools
palette and click on wire
‫ ‪Labview‬‬‫‪Arithmetic gates‬‬
‫‪ ‬שערים אריתמטים – מקבלים כפלט מספר (או‬
‫שניים)‪ ,‬מבצעים עליהם עיבוד ומוציאים את התוצאה‬
‫כפלט‪.‬‬
‫‪ ‬דוגמא ‪-‬‬
‫ ‪Labview‬‬‫‪Constants‬‬
‫‪ ‬קבועים – משמשים לחישוב עם ערך ידוע מראש‬
‫‪ ‬דוגמא ‪-‬‬
Labview Control And indicators
Front panel ‫ קלט ופלט נקבעים לפי ה‬
- ‫ דוגמא‬
Labview – Hello World
‫‪Labview‬‬
‫‪ ‬תרגיל ‪ -‬כתוב תוכנית שממירה ממעלות פארנהייט‬
‫לצלסיוס‪.‬‬
‫‪ ‬נוסחא‪-‬‬
‫)‪C = 5/9(F-32‬‬
‫‪Labview‬‬
‫‪ ‬תרגיל ‪ -‬כתוב תוכנית שמקבלת מהמשתמש ‪A B C‬‬
‫ומחשבת את נוסחת השורשים‪.‬‬
‫‪Labview‬‬
‫‪ ‬תרגיל ‪ -‬כתוב תוכנית שמקבלת מהמשתמש וקטור‬
‫(גודל וכיוון) ומחזירה את רכיב ה ‪ X‬שלו ורכיב ה ‪Y‬‬
‫שלו‪.‬‬
Labview – basic
– ‫ סיכום‬
LV ‫מהי‬
Front Panel
Block Diagram
Arithmetic gates
Constants
Control and indicators
LV‫תוכנית ראשונה ב‬







‫‪Labview – Logic gates‬‬
‫‪ ‬מהו שער לוגי?‬
‫‪ ‬השערים הלוגים הבסיסים‪:‬‬
‫‪AND ‬‬
‫‪OR ‬‬
‫‪NOT ‬‬
‫‪ ‬המערכות האוניברסליות‪:‬‬
‫‪NOR ‬‬
‫‪NAND ‬‬
‫‪ ‬מימוש השערים ב ‪Lab View‬‬
‫‪Labview – Logic gates‬‬
‫‪ ‬שער לוגי ‪ -‬רכיב אלקטרוני שמבצע פעולות באלגברה‬
‫בוליאנית‪ .‬שערים לוגיים מקובלים הם‪:‬‬
‫‪( ‬מתוך ויקיפדיה)‬
‫‪Labview – Logic gates‬‬
‫‪ ‬שער ‪OR‬‬
‫‪ ‬הפעולה הבוליאנית ‪ OR‬מספקת במוצא '‪ '1‬כאשר‬
‫לפחות אחת הכניסות‪ ,‬במצב '‪.'1‬‬
‫‪( ‬מתוך ויקיפדיה)‬
‫‪Labview – Logic gates‬‬
‫‪ ‬שער ‪AND‬‬
‫‪ ‬הפעולה הבוליאנית ‪ ,AND‬מספקת במוצא '‪ '1‬רק‬
‫כאשר כל הכניסות לשער‪ ,‬נימצאות במצב '‪.'1‬‬
‫‪( ‬מתוך ויקיפדיה)‬
‫‪Labview – Logic gates‬‬
‫‪ ‬שער ‪NOT‬‬
‫‪ ‬הפעולה הבוליאנית ‪ NOT‬מספקת במוצא את ההפך‬
‫מערך הכניסה‪.‬‬
‫‪( ‬מתוך ויקיפדיה)‬
‫‪Labview – Logic gates‬‬
‫‪ ‬שער ‪Nor‬‬
‫‪ ‬הפעולה הבוליאנית ‪Nor‬‬
‫מבצעת ‪ Or‬לוגי על שני‬
‫ערכי הקלט ולאחר מכן‬
‫מבצעת ‪ Not‬לוגי על ערך‬
‫הפלט‪.‬‬
‫‪( ‬מתוך ויקיפדיה)‬
‫‪ ‬שער ‪Nand‬‬
‫‪ ‬הפעולה הבוליאנית ‪Nand‬‬
‫מבצעת ‪ And‬לוגי על שני‬
‫ערכי הקלט ולאחר מכן‬
‫מבצעת ‪ Not‬לוגי על ערך‬
‫הפלט‪.‬‬
‫‪( ‬מתוך ויקיפדיה)‬
‫‪Labview – Logic gates‬‬
‫‪ ‬תרגיל –‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫תכנן מערכת לנעילת כספת – לכספת ‪ 3‬מפתחות ‪X Y‬‬
‫‪( Z‬מפתח בשימוש יתן קלט '‪.)'1‬‬
‫‪ – X‬מפתח המנהל ‪ Y Z ,‬מפתחות סגניו ‪.‬‬
‫הכספת צריכה להיפתח רק אם המנהל משתמש במפתח‬
‫שלו וגם אחד מסגניו משתמש במפתח שלו‪.‬‬
‫הכספת לא תפתח ללא המנהל‪.‬‬
‫‪Labview – Logic gates‬‬
‫‪ ‬תרגיל –‬
‫‪ ‬עליך לכתוב תוכנית שממירה מספרים מבסיס ‪ 10‬לבסיס‬
‫‪ .2‬לתוכנית יהיו ‪ 9‬קלטים הממוספרים מ‪ 0‬עד ‪ 9‬שמהווים‬
‫‪ 9‬ספרות דיגיטליות‪ .‬המשתמש ידליק את אחד הקלטים‬
‫ויגרום לתוכנית להציג מספר‪ .‬על התוכנית להציג כפלט‬
‫את מספר הקלט הדלוק בבסיס ‪ .2‬ניתן להניח שרק קלט‬
‫אחד דלוק בכל פעם‪.‬‬
‫‪Labview – Logic gates‬‬
‫‪ ‬תרגיל –‬
‫‪ ‬פלט ‪-‬‬
‫‪ ‬נגדיר שש‬
‫יציאות פלט‬
‫אשר מסודרות‬
‫לפי פאנל ‪8‬‬
‫הסיביות הבא‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫תזכורת‬
‫‪000 = 0‬‬
‫‪001 = 1‬‬
‫‪010 = 2‬‬
‫‪011 = 3‬‬
‫‪100 = 4‬‬
‫‪101 = 5‬‬
‫‪110 = 6‬‬
‫‪111 = 7‬‬
‫‪ ‬קלט ‪-‬‬
‫‪ ‬נגדיר שלוש‬
‫כניסות קלט‬
‫‪in1 in2 in 3‬‬
‫המייצגות מספר‬
‫בבסיס ‪2‬‬
‫‪ ‬על התוכנית לקבל כקלט מספר בבסיס ‪ 2‬ולהדליק את הנורות המתאימות‬
‫כך שמספר זה יוצג על פאנל ‪ 8‬הסיביות‪.‬‬
‫‪Labview – Logic gates‬‬
‫‪ ‬סיכום –‬
‫‪ ‬מהו שער לוגי ?‬
‫‪ ‬השערים הלוגים הבסיסים‪:‬‬
‫‪AND ‬‬
‫‪OR ‬‬
‫‪NOT ‬‬
‫‪ ‬המערכות האוניברסליות ‪:‬‬
‫‪NOR ‬‬
‫‪NAND ‬‬
‫‪ ‬מימוש השערים ב ‪Lab View‬‬
Labview – Comparison gates
?‫ מהו שער השוואה‬
?‫ מהו שער בחירה‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬שערי השוואה מכילים בתוכם אופרטור והם יוציאו '‪'1‬‬
‫לוגי אם‪:‬‬
‫הקלט העליון‬
‫מתקיים‬
‫אופרטור‬
‫הקלט התחתון‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬תרגיל ‪ -‬כתוב תוכנית שתקבל מספר ותוציא כפלט‬
‫'‪ '1‬אם המספר גדול מ‪ 7‬אחרת תוציא התוכנית '‪'0‬‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬תרגיל ‪ -‬כתוב תוכנית שתקבל מהמשתמש שני‬
‫מספרים ותחזיר אמת אם סכומם קטן מ‪ 10‬וגם‬
‫מכפלתם קטנה מ‪.10‬‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬תרגיל ‪ -‬כתוב תוכנית שתקבל מהמשתש וקטור‬
‫(גודל וכיוון) ותחזיר '‪ '1‬אם גודל הוקטור קטן מ‪.30‬‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬תרגיל –‬
‫‪ ‬כתוב תוכנית שתקבל מהמשתמש שלושה מספרים‬
‫ותחזיר '‪ '1‬אם המספרים הם שלשה פיתגורית‪.‬‬
‫‪( ‬שלשה פיתגורית מורכבת משלושה מספרים‬
‫שמקיימים את משפט פיתגורס)‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬שער בחירה הוא שער שבוחר איזה ערך להעביר על פי הנתון הבוליאני‬
‫שהוא מקבל בערך האמצעי‪.‬‬
‫‪ ‬שער זה יעביר את הערך העליון אם יקבל '‪ '1‬לוגי בערך האמצעי‬
‫ויעביר את הערך התחתון אם יקבל '‪ '0‬בערך האמצעי‪.‬‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬תרגיל – כתוב תוכנית שממירה ערך בוליאני לערך‬
‫מספרי (אמת ל '‪ '1‬ושקר ל '‪)'0‬‬
‫‪ ‬התוכנית תקבל ערך בוליאני כקלט ותוציא כפלט‬
‫מספר שהוא או ‪ 0‬או ‪.1‬‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬תרגיל – כתוב תוכנית שמקבלת משתמש שני‬
‫מספרים ותחזיר את המספר הגדול מביניהם‪.‬‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל מהמשתמש שני‬
‫מספרים ותעשה ביניהם פעולה בסיסית במתמטיקה‬
‫(חיבור ‪,‬חיסור‪ ,‬כפל או חילוק) המשתמש יבחר איזו‬
‫פעולה הוא רוצה שהתוכנית תבצע על ידי כמה‬
‫כפתורים שיהיו ב‪( )Front panel‬ניתן להניח שהקלט‬
‫תקין)‪.‬‬
‫‪Labview – Comparison gates‬‬
‫‪ ‬סיכום –‬
‫‪ ‬מהו שער השוואה‬
‫‪ ‬מהו שער בחירה‬
Labview – basic
-‫סיכום‬
LV ‫מהי‬
Front Panel
Block Diagram
Arithmetic gates
Constants
Control and indicators
LV‫תוכנית ראשונה ב‬







‫‪Labview – basic‬‬
‫תרגיל מסכם ‪-‬‬
‫‪ ‬כתוב תוכנית שתפעל כמו המחשבון המדעי של מערכת‬
‫ההפעלה חלונות (כלומר‪ :‬לתוכנית יהיו כפתורים‬
‫שמייצגים מספרים ויהיה לה חלון שיציג את התוצאה)‪.‬‬
‫‪( ‬על התוכנית לחשב רק פעולות בין שני מספרים לא יותר)‬
Labview – Executuion Control
Case Structure 
Flat Sequence 
While Loop 
‫‪Labview – Cases‬‬
‫‪ – Case Stractue ‬יבחר איזה קטע קוד לבצע‬
‫בהתאם לערך שנכנס אליו ‪.‬‬
‫‪ ‬בניגוד לשער הבחירה‪ ,‬ל‪ CS‬יכול להכנס כל ערך ולא‬
‫רק ערך בוליאני‪.‬‬
‫‪Labview – Cases‬‬
‫‪ ‬תרגיל – כתוב תוכנית שממירה יחידות מדידה‪.‬‬
‫התוכנית תהיה מסוגלת להמיר יחידות של טמפרטורה‬
‫(צלסיוס ופארנהייט) ויחידות של מרחק (סנטימטר‬
‫מטר)‪ .‬התוכנית תדע איזה יחידות המשתמש רוצה‬
‫להמיר לפי קלט בוליאני ועבור כל אחת מהיחידות‬
‫התוכנית‪ ,‬תוכל להמיר מאחת לשניה או להפך לפי‬
‫קלט בוליאני נוסף‪.‬‬
‫‪Labview – Cases‬‬
‫‪ ‬תרגיל – ממש את המחשבון מהתרגיל המסכם‬
‫בעזרת ‪.)Case‬‬
‫‪Labview – Cases‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל מהמשתמש מספר בין‬
‫‪ 1‬ל ‪ 10‬ותציג בחלון מחרוזת את המספר שהתקבל‬
‫במילים‪.‬‬
‫‪Labview – Flat Squence‬‬
‫‪ – Flat Sequence ‬מאפשר ביצוע של פעולות בזו‬
‫אחר זו ולא במקביל‬
‫‪Labview – Flat Squence‬‬
‫‪ ‬תרגיל – כתוב תוכנית שמקבלת כקלט שני מספרים‪,‬‬
‫מכפילה ביניהם ומחברת אותם ורק לאחר מכאן‬
‫מחברת את סכומם עם מכפלתם ומוציאה את‬
‫התוצאה כפלט‪.‬‬
‫‪Labview – Flat Sequence‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל מהמשתמש שני‬
‫מספרים בבסיס ‪ ,2‬תחבר בין המספרים ותציג כפלט‬
‫את המספר בבסיס ‪( .10‬המספרים הם בגודל ‪ 4‬ביט)‬
‫‪Labview – Flat Sequence‬‬
‫‪ ‬תרגיל – עליך לכתוב תוכנית המדמה פתיחת כספת‪.‬‬
‫הכספת תפתח רק אם קוד בן ‪ 4‬ספרות יוכנס נכונה‪.‬‬
‫בתוכנית צריכים להיות כפתורים עבור כל אחת‬
‫מהספרות ‪ .0-9‬מכיוון שהתוכנית רק מדגימה פתיחה‬
‫של כספת על התוכנית להגריל קוד ולבקש‬
‫מהמשתמש להכניס את הקוד שהוגרל‪ .‬לאחר‬
‫ההקלדה‪ ,‬התוכנית תציג הודעה האם הקוד נכון או‬
‫שגוי וכפתור התחלה מחדש‪( .‬רצוי ליצור מסך שיציג‬
‫את הקוד הנכון כדי לבדוק את תקינות התוכנית)‬
‫‪Labview – While Loop‬‬
‫‪ – While loop ‬לולאה שמאפשרת ביצוע חוזר של‬
‫קטע קוד הלולאה תמשיך לרוץ כל עוד ה ‪Loop‬‬
‫‪ Condition‬שלה יקבל '‪ '1‬לוגי‬
‫‪Labview – While Loop‬‬
‫‪ ‬תרגיל – כתוב תוכנית שמקבלת מהשתמש ערך‬
‫בוליאני ומוציאה '‪ '1‬או '‪ '0‬כפלט‪ .‬על התוכנית לעבוד‬
‫בזמן אמת‪ .‬כלומר‪ ,‬מיד כאשר המשתמש מכניס את‬
‫הערך התוכנית תפלוט את הפלט ולא רק בהרצה‬
‫הבאה‪.‬‬
‫‪Labview – While Loop‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתרוץ בזמן אמת ותחשב‬
‫סכום של שני מספרים‪.‬‬
‫‪Labview – While Loop‬‬
‫‪ ‬תרגיל – ממש את המחשבון מהתרגיל המסכם כך‬
‫שירוץ בזמן אמת‪.‬‬
Labview – Executuion Control
- ‫סיכום‬
Case Structure
Flat Sequence
While Loop




Labview – For Loop
For ‫ מהי לולאת‬
For ‫ שימושים ללולאת‬
‫‪Labview – For Loop‬‬
‫‪ ‬לולאת ‪ For‬היא לולאה שרצה מספר סופי ידוע‬
‫מראש של פעמים‬
Labview – Shift Register
‫ – ערך שנשמר בין כל איטרציה‬Shift register 
‫של הלולאה‬
‫‪Labview – For Loop‬‬
‫‪ ‬תרגיל – כתוב תוכנית שסוכמת את כל המספרים‬
‫בין ‪ 1‬ל ‪ 1000‬ומדפיסה את הפלט למסך ‪.‬‬
‫‪Labview – For Loop‬‬
‫‪ ‬תרגיל ‪-‬‬
‫‪ ‬כתוב תוכנית שתפעל כמו המחשבון של מערכת ההפעלה‬
‫חלונות (כלומר‪ :‬לתוכנית יהיו כפתורים שמייצגים מספרים‬
‫ויהיה לה חלון שיציג את התוצאה)‪.‬‬
‫‪ ‬בשונה מהמחשבון הקודם המחשבון הזה צריך להיות‬
‫מסוגל לבצע רצף של פעולות‪.‬‬
‫‪ ‬כאשר פעולה אחת מסתיימת‪ ,‬המחשבון ישמור את הערך‬
‫הקודם עד שהפעולה הבאה מתבצעת‪.‬‬
‫‪Labview – For Loop‬‬
‫‪ ‬תרגיל ‪-‬‬
‫‪ ‬כתוב תוכנית שתקבל קלט באורך לא ידוע ותבצע פעולה‬
‫על הקלט‪ .‬הפעולה תבחר על ידי כפתורים שיהיו במסך‬
‫המשתמש‪ .‬לדוגמא ‪* -‬המשתמש בחר חיבור* ‪8,2,4‬‬
‫‪* ‬המשתמש בחר חיסור* ‪ 2‬יגרום לפלט‪12 :‬‬
‫‪Labview – For Loop‬‬
‫‪ ‬תרגיל ‪-‬‬
‫‪ ‬כתוב תוכנית שמקבלת מהמשתמש מספר ומחזירה '‪'1‬‬
‫אם המספר ראשוני‪.‬‬
‫‪Labview – For Loop‬‬
‫‪ ‬תרגיל ‪-‬‬
‫‪ ‬כתוב תוכנית שמחשבת עצרת של מספר‪.‬‬
‫‪Labview – For Loop‬‬
‫‪ ‬סיכום‪-‬‬
‫‪ ‬מהי לולאת ‪For‬‬
‫‪ ‬שימושים ללולאת ‪For‬‬
‫‪Labview – Timing‬‬
‫‪ ‬תזמון הוא כלי חשוב ב ‪ LV‬ישנם כמה פונקציות‬
‫של תזמון אבל ישנן שתיים חשובות וקלות‬
‫להבנה‪:‬‬
‫‪ Wait‬‬
‫‪ Wait Until Next ms Multiple‬‬
‫‪Labview – Timing‬‬
‫‪ ‬כאשר נציב כל אחת מפונקציות אלה בתוך ‪Flat‬‬
‫‪ Sequence‬התוכנית לא תתקדם לתא הבא עד‬
‫שפונקציות אלה יסיימו להתבצע‪.‬‬
‫‪Labview – Timing‬‬
‫‪ ‬תרגיל – כתוב תוכנית שמקבלת מהמשתמש שני‬
‫מספרים ומציגה למשתמש את סכומם‪ ,‬מכפלתם‪,‬‬
‫הפרשם ומנתם ‪.‬‬
‫‪ ‬הפלט צריך כולו להיות מוצג בחלון מספרי אחד!‬
‫‪ ‬ומעל חלון מספרי זה צריך להיות מוצג סוג הפלט 'מנה'‬
‫'סכום' וכו' בחלון מחרוזת‪.‬‬
‫‪ ‬כמות הזמן שכל פלט יהיה בחלון המספרי היא ‪ 5‬שניות‪.‬‬
‫‪Labview – Timing‬‬
‫‪ ‬תרגיל – כתוב תוכנית שמייצגת שעון עצר‬
‫דיגיטלי ‪.‬‬
‫‪ ‬בתחילת התוכנית‪ ,‬השעון צריך להתחיל לפעול‬
‫ולהראות כמה זמן (בשניות) עבר מתחילת‬
‫התוכנית‪.‬‬
‫‪Labview – Timing‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל מספר‬
‫מהמשתמש ותציג את כל המספרים הראשונים‬
‫שנמצאים לפני המספר הזה בחלון אחד‪ .‬על כל‬
‫מספר שנמצא להיות מוצג ‪ 5‬שניות‪.‬‬
‫‪Labview – SubVi‬‬
‫‪ ‬מהו ‪SubVi‬‬
‫‪ ‬יצירת אייקון וחיבורים‬
‫‪ ‬שימוש ב ‪SubVi‬‬
Labview – SubVi
‫‪Labview – SubVi‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ SubVi‬יתרונות –‬
‫קל ל‪Debugging‬‬
‫קטע קוד שנכתב פעם אחת נמצא בתוכנית כמה‬
‫פעמים‬
‫דורש פחות זכרון מאשר כתיבה חוזרת‬
Labview – SubVi
Icon
Terminals
Connector
An icon represents a VI in 
other block diagrams
A connector shows available 
terminals for data transfer
‫‪Labview – SubVi‬‬
‫‪ ‬שלבים ליצירת ‪– SubVi‬‬
‫‪ ‬יצירת אייקון‬
‫‪ ‬יצירת חיבורים‬
‫‪ ‬שמירה‬
‫‪ ‬יבוא לקטע קוד ה'אב'‬
‫‪Labview – SubVi‬‬
‫‪ ‬יצירת אייקון –‬
‫‪ ‬לחיצה ימנית על האייקון ב‪Front Panel‬‬
‫‪Labview – SubVi‬‬
‫‪ ‬יצירת חיבורים –‬
‫‪ ‬לחיצה ימנית על האייקון ובחירה ב"הצג חיבורים"‬
‫‪ ‬לחיצה על חיבור ולחיצה על הערך ב ‪ Front panel‬שנרצה‬
‫לקשר אליו (חיבורים ימנים לפלט וחיבורים שמאלים לקלט)‬
‫‪Labview – SubVi‬‬
‫‪ ‬שימוש –‬
‫‪ ‬לאחר שמירה‪ ,‬היבוא מתבצע על ידי בחירה ב ‪Select Vi‬‬
‫בתפריט הלחצן הימני‪.‬‬
‫‪Labview – SubVi‬‬
‫‪ ‬תרגיל – כתוב תוכנית שממירה יחידות מדידה‪.‬‬
‫התוכנית תהיה מסוגלת להמיר יחידות של טמפרטורה (צלסיוס‬
‫ופארנהייט) ויחידות של מרחק (סנטימטר מטר)‪ .‬התוכנית‬
‫תדע איזה יחידות המשתמש רוצה להמיר לפי קלט בוליאני‬
‫ועבור כל אחת מהיחידות התוכנית תוכל להמיר מאחת‬
‫לשניה או להפך לפי קלט בוליאני נוסף‪.‬‬
‫יש ליצור ‪ SubVi‬עבור המרה של יחידות טמפרטוטרה‬
‫ויש ליצור ‪ SubVi‬שונה עבור המורה של יחידות מרחק‬
‫‪Labview – SubVi‬‬
‫‪ ‬תרגיל – ממש את התוכנית שמוצאת את כל‬
‫המספרים הראשונים שנמצאים לפני מספר נתון‬
‫בעזרת ‪SubVi.‬‬
‫‪Labview – SubVi‬‬
‫‪ ‬תרגיל – ממש את המחשבון מהתרגיל המסכם‬
‫בעזרת ‪SubVi.‬‬
‫‪Labview – SubVi‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל מהמשתמש עשרה‬
‫וקטורים (גודל וכיוון) ותחשב עבור כל אחד מהם את‬
‫רכיב ה‪ X‬שלו ואת רכיב ה‪ Y‬שלו‪.‬‬
‫‪Labview – SubVi‬‬
‫‪ ‬סיכום –‬
‫‪ ‬מהו ‪SubVi‬‬
‫‪ ‬יצירת אייקון וחיבורים‬
‫‪ ‬שימוש ב ‪SubVi‬‬
‫‪Labview – Arrays‬‬
‫‪ ‬מהם מערכים‬
‫‪ ‬כיצד מגדירים מערכים‬
‫‪ ‬כיצד ניגשים לאיבר במערך‬
‫‪Labview – Arrays‬‬
‫‪ ‬מערך הוא אוסף של יחידות אחסון מידע‪ ,‬אשר לכולם‬
‫אותו סוג מידע ואותו שם‪ .‬כל מקום אחסון יחיד‬
‫מהמערך נקרא אלמנט‪.‬‬
‫האלמנטים במערך ממוספרים מ‪ 1‬עד גודל המערך ולפי‬
‫מספרם (שנקרא אינדקס) נוכל לגשת אליהם ולשנות‬
‫אותם‪.‬‬
Labview – Arrays
Front panel ‫ נעשית ב‬LV ‫ הגדרת המערך ב‬
‫‪Labview – Arrays‬‬
‫‪ ‬לאחר יצירת המערך יש 'לגרור' לתוכו ‪ Control‬מהסוג‬
‫שרוצים שכל איברי המערך יהיו‬
‫‪Labview – Arrays‬‬
‫‪ ‬מילוי מערך במספרי האינדקסים שלו‬
‫‪Labview – Arrays‬‬
‫‪ ‬לצורך גישה למערך יש ליצור ממנו משתנה מקומי‬
‫‪ ‬משתנה – תא בזכרון המחשב המשתמש לשמירת‬
‫ערכים תוך כדי ביצוע תוכנית‬
Labview – Arrays
‫ מקבל מערך ומחזיר את גודלו‬-Array Size 
‫‪Labview – Arrays‬‬
‫‪ -Index Array ‬מקבל מערך ואינדקס ומחזיר את‬
‫האלמנט באינדקס הנתון‬
‫‪Labview – Arrays‬‬
‫‪ ‬דוגמא לשימוש ב ‪Index Array‬‬
‫‪ ‬הדפסת איברי המערך ‪-‬‬
Labview – Arrays
Array size ‫ ו‬Index Array ‫ דוגמא לשימוש ב‬
- ‫ סכימת איברי מערך‬
‫‪Labview – Arrays‬‬
‫‪ ‬תרגיל ‪ -‬צור מערך ומלא אותו במספרים רנדומלים‬
‫‪ ‬לאחר מכאן סכום את המערך והצג את התוצאה‬
‫‪Labview – Arrays‬‬
‫‪ ‬תרגיל ‪ -‬צור מערך ומלא אותו ב‪ 1000‬המספרים‬
‫הראשוניים‪.‬‬
‫‪Labview – Arrays‬‬
‫‪ ‬תרגיל ‪ -‬כתוב תוכנית שמלא מערך בכל המספרים‬
‫הזוגים בין ‪ .0-100‬לאחר מכאן התוכנית תמלא מערך‬
‫שני בכל המספרים האי זוגים בין ‪ .100 – 0‬לאחר מכאן‬
‫התוכנית תסכום כל זוג תאים במערכים לתוך מערך‬
‫שלישי‪.‬‬
‫‪Labview – Arrays‬‬
‫‪ ‬סיכום –‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫מהם מערכים‬
‫כיצד מגדירים מערכים‬
‫כיצד משתמשים בגודל המערך‬
‫כיצד ניגשים לאיבר במערך‬
Labview – Clusters
Clusters ‫ מהם‬
Clusters ‫ כיצד מגדירים‬
Clusters‫ מה השימושים ל‬
‫‪Labview – Clusters‬‬
‫‪ -Clusters ‬עצם שמכיל בתוכו הרבה עצמים מסוגים‬
‫שונים ‪.‬‬
Labview – Clusters
-Clusters ‫ יצירת‬
Labview – Clusters
-Clusters ‫ יצירת‬
Labview – Clusters
-Clusters ‫ יצירת‬
Labview – Clusters
- ‫ שימושים‬
Labview – Clusters
Unbundle ‫ ו‬Bundle 
Labview – Clusters
- Cluster‫ שינוים ב‬
Labview – Clusters
Unbundle By Name 
Labview – Clusters
Cluster to array 
‫‪Labview – Clusters‬‬
‫‪ ‬תרגיל – כתוב תוכנית שמקבלת נתונים של ‪4‬‬
‫קודקודים של מלבן ומחזירה נתונים על המלבן (אורך ‪,‬‬
‫רוחב ‪,‬היקף ‪,‬שטח)‪ .‬כל הנתונים האלה צריכים לחזור‬
‫בתוך ‪.Cluster‬‬
‫‪Labview – Clusters‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל וקטור (גודל וכיוון)‬
‫ותכניס אותם ל‪ .Cluster‬תחשב את ערכי ‪ X‬וה ‪ Y‬של‬
‫הוקטור ותכניס גם אותם ל‪ .Cluster‬ותציג את‬
‫ה‪Cluster.‬‬
‫‪Labview – Clusters‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל מהמשתמש שלושה‬
‫מספרים בתוך ‪ .Cluster‬ותכניס אותם למערך‪.‬‬
Labview – Clusters
– ‫ סיכום‬
Clusters ‫ מהם‬
Clusters ‫ כיצד מגדירים‬
Clusters‫ מה השימושים ל‬
‫‪Labview – Formulas‬‬
‫‪ ‬פורמולה – דרך קלה יותר (משערים אריתמטים) לבצע‬
‫חישובים מתמטים ‪.‬‬
Labview – Formulas
‫‪Labview – Formulas‬‬
‫‪ ‬תרגיל – כתוב תוכנית שמחשבת את נוסחאת‬
‫השורשים ‪.‬‬
‫‪Labview – Formulas‬‬
‫‪ ‬תרגיל – ממש את התרגיל של חישוב רכיבי ה ‪ X‬וה‪Y‬‬
‫של עשרה וקטורים בעזרת ‪Formula.‬‬
‫‪Labview – Formulas‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתקבל מהמשתמש שישה‬
‫מספרים ותבדוק האם יש ביניהם שלשה פיתגורית‬
‫כלשהי‪.‬‬
Labview – Graphs
-‫ גרפים‬
?‫ כיצד יוצרים גרף‬
Waveform Graph 
XY Graph 
Labview – Graphs
Front Panel ‫ הגרפים נמצאים ב‬-‫ גרפים‬
‫‪Labview – Graphs‬‬
‫‪ – Waveform Graph ‬כל נקודה שנכניס תייצג ערך ‪Y‬‬
‫ערכי ה‪ X‬יקבעו לפי סדר הנקודות שנכניס‪.‬‬
‫‪Labview – Graphs‬‬
‫‪ – XY Graph ‬גרף ‪ XY‬מקבל שני מספרים וכל פעם‬
‫מצייר את הנקודה ששיעורי הנקודות שלה הם ‪( XY‬יש‬
‫להשתמש ב ‪ Bundle‬כדי לפנות אל גרף זה)‬
‫‪Labview – Graphs‬‬
‫‪ ‬דוגמאות לתוכניות עם גרפים ‪-‬‬
‫‪Labview – Graphs‬‬
‫‪ ‬דוגמאות לתוכניות עם גרפים ‪-‬‬
‫‪Labview – Graphs‬‬
‫‪ ‬דוגמאות לתוכניות עם גרפים ‪-‬‬
‫‪Labview – Graphs‬‬
‫‪ ‬דוגמאות לתוכניות עם גרפים ‪-‬‬
‫‪Labview – Graphs‬‬
‫‪ ‬דוגמאות לתוכניות עם גרפים ‪-‬‬
‫‪Labview – Graphs‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתצייר גרף בצורת פרבולה‬
‫"בוכה" ‪.‬‬
‫‪Labview – Graphs‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתצייר גרף בצורת מעגל‪.‬‬
‫‪Labview – Graphs‬‬
‫‪ ‬תרגיל – כתוב תוכנית שתכתוב את השם שלך בגרף‬
‫‪.XY‬‬
Labview – Graphs
– ‫ סיכום‬
‫ כיצד יוצרים גרף‬
Waveform Graph 
XY Graph 
‫‪Labview‬‬
‫‪ ‬תרגיל מסכם – כתוב משחק איקס עיגול לשני שחקנים‪.‬‬
‫(מימוש הלוח יהיה בעזרת גרף ‪.)XY‬‬
LabView - ‫סיכום‬
‫מבוא לתכנות‬LabView BasicsExecution controlCasesLoopsTimingSubViArraysClustersFormulasGraphs-