סימולציה לעומת אמולציה באוטומציה: מה ההבדל?
By Mirko Peters ·
סימולציה לעומת אמולציה באוטומציה: סימולציה מדגמנת את אופן פעולתה של מערכת, ואמולציה מחליפה חלק אמיתי ורצה בזמן אמת. כך תדעו מתי להשתמש בכל אחת.
Automatically translated with AI from the original post. Read the English original
באוטומציה, סימולציה היא מודל שמחקה את אופן פעולתה של מערכת, לעתים מהר יותר מזמן אמת, כדי לבחון אפשרויות. אמולציה מחליפה חלק מהמערכת האמיתית במודל, או מחקה התקן, כך שהרכיב האמיתי פועל מולה כאילו הוא מחובר למערכת האמיתית, והיא רצה בזמן אמת. מדריך זה מיועד למנהלי מצוינות תפעולית הקוראים הצעות מחיר ותוכניות פרויקט שמערבבים בין שתי המילים, למשל ב-virtual commissioning. תלמדו את ההגדרות, לשם מה משתמשים בכל אחת, איך משתלבים Software in the Loop ו-Hardware in the Loop, ודוגמה מעשית עם זמני ריצה.
עיקרי הדברים
- סימולציה מדגמנת את אופן פעולתה של מערכת ויכולה לרוץ מהר מזמן אמת; אמולציה מחליפה חלק מהמערכת האמיתית במודל, או מחקה התקן, ורצה בזמן אמת.
- השתמשו בסימולציה כדי לבחון אפשרויות תכנון, פריסות, קיבולת ואסטרטגיות בקרה; השתמשו באמולציה כדי לבדוק לוגיקת בקרה מול מודל של המפעל וכדי לאמן אנשים.
- אי אפשר להאיץ אמולציה, משום שטיימרים של הבקרה ותקשורת תלויים בזמן אמת, ולכן היא כלי לא מתאים להרצת תרחישים רבים.
- Software in the Loop ו-Hardware in the Loop הם הרכבות של אמולציה: קוד הבקרה האמיתי או בקר אמיתי פועלים מול מפעל מדומה.
- המונחים משמשים לעתים בצורה רופפת, ולכן לפני שאתם מקבלים הצעת מחיר או מפרט, שאלו מה רץ בזמן אמת, מה אמיתי ומה מודלי.
סימולציה לעומת אמולציה: התשובה הקצרה
המונחים חופפים זה לזה, וגם הספרות המקצועית מודה בכך. אמולציה וסימולציה יוצרות שתיהן סביבה וירטואלית שבה אפשר לאתר תקלות ולבדוק לפני שנוגעים בחומרה פיזית. דוח שטח על סימולציה של רשתות תעשייתיות מאת Duque Anton ושותפיו לכתיבה, הזמין ב-arXiv, קובע שסימולציה שואפת לחקות את מצבי המערכת ואמולציה שואפת לשחזר את התנהגותה. המחברים מציינים ששתי המילים משמשות לעתים זו במקום זו, והם משתמשים במונח "סימולציה" באופן כללי מפני שכלים רבים יכולים לעשות את שניהם.
הגדרה מעשית יותר מגיעה מ-Ian McGregor במאמר לכנס 2002 Winter Simulation Conference. לדבריו, מודל אמולציה הוא מודל שבו חלק פונקציונלי מסוים מבוצע על ידי חלק מהמערכת האמיתית, וגם ההפך נכון: חלק מהמערכת האמיתית מוחלף במודל. McGregor עבד בחברה שמוכרת כלי אמולציה, ולכן כדאי לקרוא את טענותיו בהתאם. עצם ההגדרה קל לבדוק מול כל פרויקט.
בניסוח פשוט, ההבחנה המעשית באוטומציה היא זו:
- סימולציה היא מודל של המערכת כולה, שמריצים בפני עצמו. משנים קלטים ורואים מה קורה, ואפשר להריץ אותו מהר. אפשר לדמות ביקוש, עצירות וכוח אדם, ואפשר לבנות במודל אב-טיפוס של פריסה לפני שמשהו נבנה.
- אמולציה מחברת משהו אמיתי למודל. הדבר האמיתי עשוי להיות תוכנית בקרה, בקר או לוח הפעלה למפעיל, והמודל מדמה את המכונה או המפעל סביבו. מכיוון שמעורב כאן רכיב אמיתי, הריצה נמשכת זמן אמיתי.
אותו הבדל בא לידי ביטוי גם בכלים, שבהם ההבדל בין אמולטור לסימולטור הוא עניין של מה שכל אחד מהם משכפל. סימולטור יכול לדמות את המפעל או את לוגיקת התוכנית של הבקר במודל. אמולטור מנסה לשכפל את הפונקציונליות של הבקר האמיתי, עד להתנהגות ה-CPU ולתקשורת שלו, כך שהקוד האמיתי יוכל לרוץ עליו ולשחזר את מה שהיה עושה על חומרת היעד. בפועל, ספקים רבים קוראים לאמולטור ולסימולטור של PLC באחד השמות הללו, ולכן כדאי לבדוק מה עומד מאחורי התווית. סימולטורים ואמולטורים לאותו בקר יכולים להבדיל זה מזה מאוד ביכולתם לשחזר את מערכת היעד.
מקרי שימוש: לשם מה משתמשים בכל אחד בתחום האוטומציה
McGregor מתאר את מקרי השימוש הטיפוסיים. מודלי סימולציה משמשים לבדיקה ולפיתוח של פתרונות שונים, כדי למצוא את הטוב ביותר. הם בוחנים אפשרויות תכנון, פריסה, גבולות תפעול ואסטרטגיית בקרה. הם רצים מהר, לעיתים מהר יותר מזמן אמת, והתוצאות שלהם ניתנות לשחזור כל עוד הפרמטרים אינם משתנים. זה הופך אותם למתאימים למספר רב של ניסויים ולאופטימיזציה אוטומטית.
מודלי אמולציה משמשים לבדיקת הלוגיקה של מערכת הבקרה תחת תנאי עומס שונים, לאימות התנהגות הבקרה לפני ההפעלה, ולהדרכת מפעילים וצוותי תחזוקה. הם רצים בזמן אמת, כשמערכת הבקרה מחוברת אליהם מבחוץ.
McGregor גם מונה את המגבלות. מודלי אמולציה אינם מתאימים במיוחד לניסויים, משום שלעיתים קרובות הם רצים רק בזמן אמת. הרצתם מהר מזמן אמת גורמת לשגיאות, כי הטיימרים של מערכת הבקרה אינם יכולים להתאים את עצמם. התוצאות גם פחות ניתנות לשחזור, שכן התקשורת בין המודל לבקר אסינכרונית ותלויה ברשת ובמערכת ההפעלה.
Duque Anton ושותפיו מציעים נקודה דומה מהצד השני. סימולציה יעילה מבחינת עלות, משאבים וזמן, אך יש לדגמן כל מאפיין פיזיקלי, וזה לפעמים דורש מאמץ רב. אמולציה מדויקת בתכנונה כמו מערכת הייצור כשהסביבה אמיתית, אך היא דורשת יותר התקנים ויותר מקום, ועולה יותר. המסקנה שלהם היא שאין פתרון כללי שעונה על כל הדרישות.
Software in the loop, hardware in the loop והתאום הדיגיטלי
בפרויקטים של אוטומציה, שני הרעיונות נפגשים במבחנים מסוג "in the loop". דף הספק של realvirtual מתאר אותם:
- Software in the loop: תוכנית הבקרה רצה כתוכנה על מחשב אישי, למשל באמולטור PLC, ועובדת מול מודל המכונה. אין צורך בחומרה.
- Hardware in the loop: PLC אמיתי מתחבר למודל המכונה דרך רשת. החומרה האמיתית מניעה מכונה וירטואלית.
שני אלה הם אמולציות במשמעות של McGregor, משום שחלק אמיתי, קוד הבקרה או הבקר, פועל מול מודל של השאר. הם לב ליבה של הפעלה וירטואלית (virtual commissioning). הדף הוא מקור של ספק, ותיאוריו עולים בקנה אחד עם ההגדרות האקדמיות שלעיל.
מודל של זרימת ייצור הוא מקרה אחר. סימולציית מפעל היא מודל מבוקר של האופן שבו העבודה נעה דרך חלק ממפעל, תוך שימוש בכללי התפעול הנוכחיים, במשאבים, בהזמנות ובשונות הרגילה. כך אפשר לבדוק שינוי כמו משמרת נוספת, מכונה חדשה או חוצץ קטן יותר לפני שמבצעים אותו. אין בקר בלולאה. זו סימולציה במובן הטהור, והיא רצה מהר בהרבה מזמן אמת.
תאום דיגיטלי, הוא ייצוג דיגיטלי מתוחזק של משאב פיזי, שמעודכן לפי תצפיות, ויכול לשמש כמודל בכל אחד מהמקרים. מה שחשוב איננו המודל עצמו אלא אופן השימוש בו: כניסוי עצמאי, שהוא סימולציה, או מחובר למשהו אמיתי בזמן אמת, שהוא אמולציה.
אמולטור או סימולטור: איזה מהם להשתמש
השתמשו בזה כמדריך מהיר. זהו סיכום של המערכת שלנו, ואינו תקן.
- כמה קיבולת אנחנו צריכים, והיכן צוואר הבקבוק? סימולציה. רוצים תרחישים רבים, במהירות.
- האם תוכנית הבקרה מטפלת בתקיעה, בחלק חסר או בתקלת חיישן? קודם כל אמולציה בתוכנה.
- האם בקר אמיתי עומד בדרישות הזמנים והממשקים שלו? Hardware in the loop, או בדיקה על הציוד האמיתי. Duque Anton ושותפיו לכתיבה טוענים שחומרה אמיתית נותנת את התוצאות הריאליסטיות ביותר, אך היא הקשה ביותר להקמה.
- האם אפשר להכשיר מפעילים לפני ההפעלה? אמולציה. מודל המחוברללוח הבקרה האמיתי מתנהג כפי שהמכונה הייתה מתנהגת.
- איזו משתי תצורות פריסה טובה יותר? סימולציה.
פרויקט בודד צריך לעיתים קרובות את שניהם. קודם סימולציה קובעת את גודל הקו. מאוחר יותר אמולציה בודקת את תוכנית הבקרה של הקו הזה.
דוגמה: קו אריזה אחד, שתי שאלות
זוהי דוגמה להמחשה, לא מקרה מדוד. קו אריזה מייצר 3,000 קרטונים בשעה. המפעל שואל שתי שאלות.
שאלה 1: האם מדבקה שנייה תעלה את התפוקה ל-3,600 קרטונים בשעה? זו שאלה לסימולציה. מודל ייצור מריץ משמרת של 8 שעות בכ-2 דקות, כלומר מהיר פי 240 מזמן אמת. הצוות בודק 30 תרחישים, כמו גדלי אצוות שונים, גדלי מאגרים ודפוסי עצירה. 30 ההרצות אורכות כשעה. אותם 30 תרחישים בזמן אמת היו אורכים 30 × 8 שעות = 240 שעות, או 30 ימי עבודה. בדיקות בזמן אמת אינן אפשרות לשאלה הזו.
שאלה 2: האם תוכנית הבקרה מטפלת בתקיעת קרטון במדבקה? זו שאלה לאמולציה. תוכנית הבקרה רצה על מדמה PLC, והמודל מדמה את הקו. כל מקרה תקלה אורך כ-5 דקות בזמן אמת, ואי אפשר להאיץ אותו, כי הטיימרים של התוכנית תלויים בזמן אמת. שנים-עשר מקרי תקלה אורכים כשעה. זה זול בהשוואה למציאת שגיאה בטיפול בתקיעה במהלך ההפעלה על הקו האמיתי.
שתי הבדיקות אורכות כשעה בערך, והן עונות על שאלות שונות. סימולציה מהירה לא תראה אם טיימרי הבקרה פועלים, ואמולציה בזמן אמת לא תוכל לבדוק 30 תרחישים ביום אחד.
טעויות נפוצות
- שימוש במילים כמילים נרדפות במפרט. ספק שמציע "סימולציה" עשוי לספק מודל טהור, בזמן שנדרשו לכם בדיקות בקרה.
- שיפוט תזמון הבקרה לפי סימולציה. מודל שרץ מהר מזמן אמת לא אומר דבר על טיימרים ותקשורת.
- האצת אמולציה. התוצאות שגויות כאשר טיימרי הבקרה אינם יכולים לעמוד בקצב.
- מודלים מפורטים מדי. מודל שכולל כל כבל וכל בורג עולה מאמץ שהשאלה אינה דורשת.
- אמון באמולטור כאילו הוא הבקר האמיתי. האמולציה של הבקר אינה ה-PLC. יש לתכנן בדיקה על החומרה האמיתית לתזמון ולממשקים.
- אין בדיקת קבלה על הקו האמיתי. בדיקה וירטואלית שעברה מפחיתה את הסיכון. היא לא מבטלת אותו.
איך תוכנה יכולה לעזור
קיימים כלים לשני המטרות. מודלים של זרימת ייצור רצים בתוכנות סימולציה, ובדיקות בקרה משתמשות באמולציה של PLC ובמודלים של מכונות. שאלו את הספק מה רץ בזמן אמת, מה הוא אמיתי ומה מודל. לבדיקות תוכנה של קוד בקרה, שאלו כיצד הבדיקות מאותמטות ומתועדות, כך שניתן יהיה לחזור על הרצת בדיקה לאחר כל שינוי בתוכנית. שאלו על הממשק לפלטפורמת ה-PLC שלכם ועל המאמץ הנדרש לבניית המודל. התוכנה אינה מחליטה במקומכם איזו שאלה לשאול, ושאלה ברורה היא הדרך הטובה ביותר לבחור בין השניים.
הצעד הבא
לפרויקט האוטומציה הבא שלכם, רשמו כל בדיקה שאתם רוצים כשאלה, וסמנו כל אחת כ"תרחישים רבים, מהיר" או "בקרה אמיתית, זמן אמת". לאחר מכן השתמשו ברשימה הזו כדי להחליט בין סימולציה לאמולציה לפני שאתם מבקשים הצעות מחיר.