תוכנה תעשייתית
ארבע דרישות שמבדילות אותה מתוכנה ארגונית, למה כל אחת מהן נקבעת בתכנון הראשון, ושלוש שאלות על המפעל שלכם שקובעות את הארכיטקטורה.
בקצרה
ההבדל אינו הממשק. ארבע דרישות קובעות את הארכיטקטורה: עבודה כשאין רשת, חלון זמן שחייב להיענות, אורך חיים של עשור שבו ציוד שכבר לא נמכר ימשיך לעבוד, ומצב שבו תקלה היא בטיחות ולא נוחות. כל ארבעתן מוכרעות בתכנון הראשון ואי אפשר להוסיף אותן אחר כך. הטעות הנפוצה היא להעביר כלי משרדי לרצפה ולהניח שמה שחסר הוא כפתורים גדולים.
ארבע הדרישות
| הדרישה |
מה היא גוזרת |
למה אי אפשר להוסיף אחר כך |
| עבודה בלי רשת |
הנתון נוצר ונשמר מקומית, מסומן, ומסתנכרן אחר כך. ועם הכרעה כתובה למי גובר כששתי נקודות עדכנו |
זו החלטה על צורת האחסון ועל זהות הרשומה, לא על שכבת תקשורת |
| חלון זמן שחייב להיענות |
איזה חלק מהמערכת חייב להיות צפוי, ואיזה חלק מותר לו להיות איטי. בדרך כלל אלה שני רכיבים נפרדים |
הפרדה בין צפוי לאיטי היא חלוקת מערכת, לא כיוונון |
| אורך חיים בעשורים |
תמיכה בציוד שכבר לא נמכר, ובפרוטוקול שכבר לא מתועד. ולכן גם גבול ברור בין ליבה לבין מתאם לציוד |
אם הקוד שמדבר עם הציוד שזור בלוגיקה, כל החלפת מכונה נוגעת בכל המערכת |
| בטיחות |
הפרדה חדה: שכבת הניטור לא מפעילה ציוד, ולא דרך אותה רשת |
ערבוב בין השניים הופך את המערכת לבלתי ניתנת לבדיקה, וזו שאלה שנשאלת בפיקוח |
העמודה השלישית היא כל הנקודה. אלה אינן תכונות שמוסיפים בגרסה הבאה אלא החלטות שמעצבות את צורת המערכת, ולכן ההחלטה מתקבלת פעם אחת, בהתחלה, גם אם לא דיברו עליה.
למה כלי משרדי לא עובר לרצפה
ההנחה הטבעית היא שהפער הוא בממשק: מסך מגע, כפתורים גדולים, עבודה בכפפות. זה נכון וזה החלק הקל.
הפער האמיתי הוא בשלוש הנחות שכל כלי משרדי בנוי עליהן ושאף אחת מהן לא מתקיימת ברצפה:
- יש רשת. במפעל יש רשת בדרך כלל, וזה לא אותו דבר.
- המשתמש מזוהה ויושב. ברצפה משמרת מתחלפת, המכשיר משותף, והזיהוי צריך לקחת שניות, אחרת כולם יעבדו תחת אותו חשבון וכל התיעוד יאבד משמעות.
- אפשר לבקש למלא שוב. אי אפשר. אם ההזנה נכשלה, אין מי שיחזור אליה, והנתון אובד בשקט.
לכן העקיפה היא פתק, ואחרי חודש הפתק הוא המערכת האמיתית והמערכת היא טקס. את התוצאה הזו ראיתי במפעלים עם תוכנה טובה מאוד, שנבחרה נכון לפי כל קריטריון חוץ מהנכון.
בדיקה אחת בהדגמה. בקשו לעשות את הדיווח הנפוץ ביותר על מכשיר אמיתי, ברצפה, בכפפות, ואז לנתק את הרשת באמצע ולראות מה קורה. שתי הדקות האלה אומרות יותר מכל רשימת פונקציות.
שלוש שאלות שקובעות את הארכיטקטורה
- מה המערכת צריכה לעשות כשהרשת נופלת לשעה? התשובה «אי אפשר לעבוד» היא תשובה לגיטימית בחלק מהמקרים, אבל היא צריכה להיות החלטה ולא גילוי.
- מה חלון הזמן הקצר ביותר שחייב להיענות, ומה קורה אם לא? אם התשובה היא «כלום, רק מאוחר», אין לכם דרישת זמן אמת וחסכתם מורכבות גדולה. אם התשובה היא שמשהו נהרס, זו דרישה אחרת לגמרי.
- מה הציוד הוותיק ביותר שחייב להמשיך להתחבר? זה המספר שקובע כמה עבודת מתאמים יש, והוא גם זה שהצעות משמיטות.
ספק שלא שאל את שלושתן תכנן על ההנחות שלו, ובדרך כלל אלה ההנחות הנוחות: יש רשת, אין חלון זמן, והציוד חדש.
הגבול עם הבקרה
הבקרה מפעילה ציוד. התוכנה התעשייתית מסתכלת, מתעדת, מתכננת ומתריעה. הגבול הזה צריך להישאר חד, ומסיבה שאינה אדריכלית.
מערכת שגם מנטרת וגם מפעילה היא מערכת שאי אפשר לבדוק בנפרד: כל שינוי בשכבת הדוחות נוגע בשכבה שמזיזה דברים פיזיים. בסביבה מפוקחת זו גם שאלה שנשאלת בפועל, ובכל סביבה זה הופך כל עדכון לאירוע.
ההפרדה גם זולה יותר לטווח ארוך: שכבת הניטור משתנה בקצב של העסק, והבקרה משתנה בקצב של הציוד, ואלה שני קצבים שונים. על הגבול בין תכנון לביצוע ברצפה: תוכנה לניהול ייצור. על מערכות שירשתם בלי תיעוד: הנדסה לאחור.
הפרדת רשתות, ולמה זו לא שאלה של אבטחה בלבד
הנימוק המקובל להפרדה בין הרשת התפעולית לרשת המשרדית הוא אבטחה, והוא נכון. יש לה גם נימוק שני, מעשי יותר, שמשכנע גם מי שלא עוסק באבטחה.
הרשת התפעולית חייבת להיות צפויה. גיבוי שמתחיל בצהריים, עדכון שמוריד מכונה, או עומס מצד המשרד הם דברים שמפריעים לציוד שמצפה לתשובה בחלון זמן קבוע. ברשת מופרדת אלה פשוט לא קורים, וזה שווה יותר מכל כיוונון.
שלוש החלטות שנגזרות מזה, וכולן צריכות להיות בכתב:
- מה עובר בין הרשתות ובאיזה כיוון. בדרך כלל נתונים יוצאים לדיווח, ופקודות לא נכנסות. זה גבול שנאמר במשפט אחד וקל לבדוק אותו.
- מי ניגש מרחוק, ואיך. גישה של ספק הציוד לתחזוקה היא צורך אמיתי, והיא גם הפתח הנפוץ. ההחלטה היא לא אם לאפשר אלא איך: לזמן מוגדר, ביוזמתכם, ומתועד.
- מה הציוד שאי אפשר לעדכן. בכל מפעל יש מכונה שהמערכת שלה לא מתעדכנת, ולפעמים זה גם לא חוקי לעדכן אותה בלי אישור היצרן. עליה מגנים בבידוד, לא בתיקון, וההחלטה הזו צריכה להיות מודעת ולא ברירת מחדל.
הנקודה השלישית היא גם זו שמסבירה למה אורך החיים מהטבלה למעלה אינו פרט טכני: ציוד שלא ניתן לעדכן קובע את צורת הרשת סביבו לעשור הבא.
איך אני עובד על זה
עיסוק בתחום מאז 2004, עבודה על מערכות AI מאז 2023, פרויקטים ללקוחות בארבע עשרה מדינות. אני ארכיטקט עצמאי ולא ספק מערכות בקרה, ולכן המסקנה «אין לכם דרישת זמן אמת, ולכן אפשר לבנות משהו פשוט בהרבה» היא תוצאה אפשרית של סקירה, ובתחום הזה היא חוסכת הכי הרבה.
מה סקירה מייצרת: תשובות בכתב לשלוש השאלות, הכרעה למי גובר בסנכרון, רשימת הציוד עם הפרוטוקול וגיל לכל פריט, וגבול כתוב בין ניטור לבקרה.
SLAtech LTD