הפוסט הנוכחי יעסוק, לשם שינוי, ב-Simulink. וליתר דיוק – בפיצ'ר שלו שנקרא Model Referencing. למרות שהוא לא חדש (קיים מאז גרסת R14), לא הרבה מודעים לפיצ'ר הזה, וזכורה לי היטב הרצאה שהעברתי לפני מספר שנים בפני מאות משתמשי MATLAB ו-Simulink, במהלכה סיפרתי על החידושים בגרסאות האחרונות של הכלים ועמדתי לספר על החידושים בפיצ'ר הנ"ל. רגע לפני שהתחלתי לספר על החידושים ב-Model Referencing, ביקשתי מהנוכחים שמכירים את הפיצ'ר להרים יד, ומתוך מאות אנשים, רק שתי ידיים הורמו. וכך, מצאתי את עצמי מסביר מה זה בכלל Model Referencing, במקום להסביר מה התחדש בו.
באופן כללי, Model Referencing מאפשר לכלול מודל בתוך מודל אחר, באמצעות בלוק ייעודי. המודל אשר אליו עושים Referencing מכונה Referenced Model, ואילו זה שמכיל אותו נקרא Parent Model.
כבר כעת ברור שכמו פיצ'רים אחרים, גם הפיצ'ר הנ"ל מאפשר מימוש של היררכיה ב-Simulink. אך ל-Model Referencing מספר יתרונות אשר לא קיימים בפיצ'רים אחרים של Simulink. למשל:
1. ניתן לפתח Referenced Model ללא תלות ב-Parent Model (המודל שקורא לו), כך שמספר קבוצות יכולות לעבוד במקביל על חלקים שונים של מודל האב.
2. הגנה על המודל – ניתן להפיץ את ה-Referenced Model מבלי שלמשתמש הקצה תהיה גישה ל-IP שעומד מאחוריו.
3. ניתן לעשות Referencing לאותו Referenced Model מספר פעמים מאותו Parent Model, תוך הצבת ערכים שונים עבור הפרמטרים ב-Referenced Model. בנוסף, מספר Parent Models יכולים לבצע Referencing לאותו Referenced Model
4. טעינה אינקרמנטלית – טעינת מודל האב מהירה, שכן Referenced Model נטען רק כאשר באמת נדרש להשתמש בו.
5. סימולציות מהירות – Simulink מסוגל להמיר Referenced Model לקוד C ולהשתמש בקוד זה בעת הרצת הסימולציה, דבר אשר מאיץ את הסימולציה. על מנת למנוע ייצור מיותר של קוד, הקוד יווצר מחדש רק אם ה-Referenced Model השתנה.
6. סט קונפיגורציה – ניתן להגדיר הגדרות סימולציה שונות לכל אחד מה-Referenced Models וה-Parent Model
7. ניתן להאיץ תהליכי עבודה העושים שימוש ב-Model Referencing באמצעות ה-Parallel Computing Toolbox.
למידע נוסף, צפו בסרטונים הבאים באתר MathWorks
1. סרטון 1
2. סרטון 2
מקווה שהצלחתי לעניין אתכם בפיצ'ר הזה, ושבפעם הבאה בה אשאל בכנס כמה מהנוכחים יודעים מה זה Model Referencing, אראה יותר ידיים למעלה.
אז כמה מכם ידעו מה זה Model Referencing לפני הפוסט הזה? וכמה מכם השתמשו בו? והאם אחרי הפוסט הוא נראה לכם שימושי יותר?
באופן כללי, Model Referencing מאפשר לכלול מודל בתוך מודל אחר, באמצעות בלוק ייעודי. המודל אשר אליו עושים Referencing מכונה Referenced Model, ואילו זה שמכיל אותו נקרא Parent Model.
כבר כעת ברור שכמו פיצ'רים אחרים, גם הפיצ'ר הנ"ל מאפשר מימוש של היררכיה ב-Simulink. אך ל-Model Referencing מספר יתרונות אשר לא קיימים בפיצ'רים אחרים של Simulink. למשל:
1. ניתן לפתח Referenced Model ללא תלות ב-Parent Model (המודל שקורא לו), כך שמספר קבוצות יכולות לעבוד במקביל על חלקים שונים של מודל האב.
2. הגנה על המודל – ניתן להפיץ את ה-Referenced Model מבלי שלמשתמש הקצה תהיה גישה ל-IP שעומד מאחוריו.
3. ניתן לעשות Referencing לאותו Referenced Model מספר פעמים מאותו Parent Model, תוך הצבת ערכים שונים עבור הפרמטרים ב-Referenced Model. בנוסף, מספר Parent Models יכולים לבצע Referencing לאותו Referenced Model
4. טעינה אינקרמנטלית – טעינת מודל האב מהירה, שכן Referenced Model נטען רק כאשר באמת נדרש להשתמש בו.
5. סימולציות מהירות – Simulink מסוגל להמיר Referenced Model לקוד C ולהשתמש בקוד זה בעת הרצת הסימולציה, דבר אשר מאיץ את הסימולציה. על מנת למנוע ייצור מיותר של קוד, הקוד יווצר מחדש רק אם ה-Referenced Model השתנה.
6. סט קונפיגורציה – ניתן להגדיר הגדרות סימולציה שונות לכל אחד מה-Referenced Models וה-Parent Model
7. ניתן להאיץ תהליכי עבודה העושים שימוש ב-Model Referencing באמצעות ה-Parallel Computing Toolbox.
למידע נוסף, צפו בסרטונים הבאים באתר MathWorks
1. סרטון 1
2. סרטון 2
מקווה שהצלחתי לעניין אתכם בפיצ'ר הזה, ושבפעם הבאה בה אשאל בכנס כמה מהנוכחים יודעים מה זה Model Referencing, אראה יותר ידיים למעלה.
אז כמה מכם ידעו מה זה Model Referencing לפני הפוסט הזה? וכמה מכם השתמשו בו? והאם אחרי הפוסט הוא נראה לכם שימושי יותר?
כתבה מאוד מעניינת ובהחלט מלמדת על נושא חדש. אנו חיים בעידן טכנולוגי מאוד מפותח ללא כל ספק. המחשב הפך לכלי עבודה שלא ניתן לוותר עליו בכל תחום שהוא. אפילו במקומות כמו מוסכים, הכל מאוחסן, כל חלק הכי קטן בתוך זיכרון המחשב. אשמח למידע נוסף הודות ה-Model Referencing. תודה.
השבמחק