מבוא

דיאגרמות בלוק הן עמוד השדרה החזותי של הנדסת מערכות.הם הופכים ארכיטקטורות מופשטות לתוך חיבורים קונקרטיים של פונקציות וזרימי נתונים.כאשר דיאגרמות אלה נבנות כרכיבים מודולים, ניתנים לזיהוי, הם הופכים ליותר מתיעוד בלבד - הם הופכים לספרייה חיה שמזרזת עיצוב, מפחיתה שגיאות, ואכיפת מורכבות על פני פרויקטים הנדסיים, אשר משקיעה ביצירת דיאגרמות מתקדמות, יתרון אסטרטגי:

מאמר זה מרחיב על מושגי הליבה של דיאגרמות בלוק מודולריות, מתן מסגרת מקיפה לעיצוב, בנייה, ושמירה על ספריות הנדסה בר-קיימא.אם אתה עובד עם Simulink, Labview, או כלי דיאגרמה גנריים, העקרונות המתוארים כאן יעזרו לך ליצור בלוקים קלים להבנה, שינוי, ושילוב.

למה חסימה משתנה

בהנדסה, מורכבות היא האויב של אמינות.אגרמת בלוק מונוליטית שמנסה ללכוד מערכת שלמה בזווית אחת הופכת במהירות לא ידועה וטעייה-prone. Modular decomposition שובר את המערכת ליחידות קטנות, באופן הססני להשלים יחידות.כל מודול מבסס פונקציה מסוימת - מסנן, בקר, פרוטוקול תקשורת - וחושף רק את הממשקים הדרושים.

יתרונות מעבר לקלייר

המודולריות מציעות החזרות מוחשיות:

  • (FLT:0) מחזורי עיצוב מלומדים: FLT:1 חוסמים מועדפים מראש מבטלים את הצורך להמציא מחדש פונקציות משותפות עבור כל פרויקט חדש.
  • שיתוף פעולה מוכח:0 (Imroved Cooperation: FLT:1, מהנדסים שונים יכולים לעבוד על בלוקים שונים בו זמנית מבלי להפריע אחד לשני.
  • (ב) ניתן לקשר בין היתר לתביעות, למקרי מבחן ולתיעוד, תוך ביצוע ביקורת ישירה.
  • (ה) חסכון:0) חסכון: 1FLT: שימוש בבלוק על פני פרויקטים רבים משקף את המאמץ העיצובי והאימות.

עבור ספריות הנדסיות במיוחד, בלוקים מודולריים הם הלבנים של עיצוב המערכת.ספרייה בעלת היטב המכילה אוסף של רכיבים אמינים, פרמטריים שניתן לאסוף בתצורה שונים כדי לענות על דרישות חדשות במהירות.

עקרונות עיצוב עבור אחריות

יצירת בלוקים שהם באמת ניתנים לחזרה דורשת עיצוב מכוון.העקרונות הבאים מהווים את הבסיס של כל ספריה מוצלחת.

סטנדרט

כל בלוק חייב לעקוב אחר אמנה חזותית וסמנטית עקבית. השתמש במערך אחיד של סמלים, שמות כללים והגדרות נמל.לדוגמה, קלטות צריך להופיע תמיד משמאל, פלטים על הסוג הימני (analog, דיגיטלי, אוטובוס) צריך להיות קוד צבע על פני כל בלוקים. הקמת שם מדריך: שימוש מדגיש שמות המתחם, אותיות הון עבור פרמטרים קבועים, ותחת מזוודה לדינמיקה חדשה להורדת דינמיקה כאשר מהנדס חדש נפתחת את התקני קוגניטיבית.

המונחים:

בלוק שניתן לשנות את ההיגיון הפנימי.לדוגמה, בלוק בקר בגודל אחד יכול להיות פרמטרים עבור רווח יחסי, זמן אינטגרלי, זמן נגזר, ומגבלות פלט. Parameterization מאפשר את אותו בלוק לשמש משטרים הפעלה שונים.

סליחות

משמעות ה- Encapsulation היא להסתיר מורכבות פנימית וחשיפת ממשקים מוגדרים היטב.בתוך הבלוק, ניתן להשיג חסמי משנה, מכונות ממשלתיות, או אפילו בלוקים מקובעים, אך העולם החיצוני צריך רק לראות קלטות, פלטים, פרמטרים ותיעוד זה כוחות הפרדה נקייה בין ה-FLT:0 מהפנט 1 ו-FLT2: כיצד ל- 3: כאשר ⁇ הוא פועל על ידי שינויים פנימיים.

מסמך

כל בלוק חייב לכלול תיאור של מטרתו, הניתוח המתמטי או הלוגי שהוא מבצע, הטווח והיחידות של כל פרמטר, וכל הנחות או מגבלות.מנעו דוגמה לשימוש שבו ניתן להטמיע מסמך בתוך הבלוק עצמו (לדוגמה, באמצעות כליטיס או גיליון מסמכים ייעודי) כך שהוא נוסע עם הבלוק כאשר הוא מועתק או ייצוא.

תאימות

אבני עיצוב כך שניתן לקשור אותם יחד ללא צורך בהמרות מסוג ידני או ברזולוציה לא מתאים.זה אומר סטנדרטיזציה על סוגי אותות, מבני אוטובוס, וזמני דגימה אם יש צורך בבלוקים יש להתאים גם לסביבת בקרת גרסאות וסימולציה בשימוש לאורך הצוות.

אנטומיה של בלוק אמין

הבנת המבנה הפנימי של בלוק מעוצב היטב מסייעת לך ליצור רכיבים חזקים באופן עקבי. בלוק שניתן לשנותו בדרך כלל מורכב משלושה שכבות.

Input/Output Interfaces

טבלאות הן החוזה בין הבלוק לשאר המערכת. Define לכל נמל עם שם ברור, סוג נתונים, יחידה וכיוון. במידת האפשר, השתמש באובייקטים באוטובוס או בסוגים מובנה לסימנים הקשורים לקבוצה (למשל, AFLT:0 אוטובוס המכיל טמפרטורה, לחץ ומעמד) להימנע משימוש בנמלים גנריים אשר מכריחים את המשתמש לנחש מה הנתונים כדי לחבר את השגיאה (למשל, נמלי boo).

לוגיקה פונקציונלית

הליבה התפקודית מיישמת את הפעולה המיועדת של בלוק.זה יכול להיות משוואה מתמטית, מכונה המדינה, שולחן מבט, או שילוב של אלה. לכתוב את ההיגיון באופן שהוא עצמאי של סימולציה או סביבת זמן ריצה אם אפשרי.עבור Simulink, מעדיף בלוקים בנוי על פונקציות MATLAB עבור ביצועים; עבור הבחינה, להשתמש תת-עשרים שניתן לאסוף.

פרדוקסים

אלה הם ה- knobs ו-שיח שהופכים את הבלוק להתאמה. Parameters צריך להיות מוגדר עם metadata: שם, תיאור, סוג נתונים, ערך ברירת מחדל וטווח תקף (מינימום, מקסימום, צעד) פרמטרים הקשורים לקבוצה לפרמטרים פרמטרים מקוצרים ב-שיח (Simulink) או דפי רכוש מותאמים אישית (Labview) כדי להציג ממשק נקי.

בניית ספריית ההנדסה שלך

שינוי סט של בלוקים אד-וק לספרייה מובנית דורש גישה שיטתית.עקוב אחר השלבים האלה כדי ליצור ספרייה שסוללה.

זיהוי פונקציות נפוצות

בדוק את הפרויקטים הקיימים שלך לזהות דפוסים המתרחשים על פני מערכות שונות.חפש מיזוג אותות, סינון, גילוי הסף, סיבולת / קידוד, ולשלוט אלגוריתמים.ראיון מהנדסים בכירים ללמוד אילו פונקציות הם יוצרים מאפס בכל פעם.אלה המועמדים העיקריים להכללת הספרייה.התחל עם קבוצה קטנה, גבוהה של בלוקים במקום לנסות לכסות כל תרחיש אפשרי.

עיצוב ל Reusability

עבור כל תפקיד מועמד, להחליט על רמת הפשטות. A בלוק שהוא גנרית מדי עשוי להיות מכוונן להגדיר; אחד שהוא ספציפי מדי עשוי לעתים רחוקות להיות reuse.עיצוב ממשקים ופרמטרים כדי להתאים את הריאציות האופייניות שאתה רואה על פני פרויקטים.במקום פונקציה יש מספר גרסאות (למשל, מסנן ממוצע נע עם סוגים שונים של חלון), ליצור בלוק אחד עם פרמטר לבחור את הגרסאות במקום בלוק נפרד.

יצירת תבנית

צור בלוק תבנית המשמש כנקודת ההתחלה לכל אבני הספרייה החדשות.התבנית צריכה לכלול:

  • בעלי מקומות לתיעוד
  • עמדות נמל מוגדרות מראש עבור קלטות ופלטים.
  • מסיכה רגילה או דו-שיח רכוש.
  • רתמה של מבחן ברירת מחדל (ample גירויים והיקף) כדי לאמת את התנהגות הבלוק.

באמצעות תבנית מבטיחה שכל בלוק בספרייה עומד באותם סטנדרטים מבניים, אשר מפשטים תחזוקה ולוחם.

ניהול גרסאות ושחרור

התייחס לספריית בלוק שלך כפרויקט תוכנה. השתמש ב- Git או מערכת בקרת גרסאות דומה כדי לעקוב אחר שינויים לחסום הגדרות, פרמטרים ותיעוד. Tag כל שחרור (למשל, v1.0, v1.1) ולשמור על שינוי המתאר תוספות, שינויים, ועיוותים. עבור כלי תלות בינארי כמו Simulink, לאחסן את הקבצים המקור (xl) יחד עם תיאור טקסט פשוט של תהליך ביקורתי.

כלי תוכנה עבור Modular Diagram Libraries

בחירת הכלי משפיעה מאוד על האופן שבו אתה מיישם מודולריות.למטה הן פלטפורמות נפוצות וחוזקותיהן לבניית ספריות בלוק ניתנות להחלפה.

(הופנה מהדף Simulink הוא תקן דה- Facto עבור עיצוב מבוסס מודל בחלל, כלי רכב, בקרה תעשייתית.דפדפן הספרייה שלו מאפשר לך ליצור ספריות חסימת מותאם אישית עם מסכות, רמקולים פרמטרים, מודלים מוגנים (FLT:1) אתה יכול להשתמש ב-FLT:2 עבור ממשקים מובנים ו-FLT 3: כדי להשתמש בהיררכיה של תת-מערכת יחסים שלמה.

ביקורת (NI)

(ב) סקירת מעבדה עולה במבחן, מדידה, ויישומים בקרה.You יכול ליצור תת-עשרים חוזרים עם pans המחבר כי המפה לממשק דמוי בלוק-diagram-like. Lab Review'sFLT:0project LibraryFLT:1 עוזר לארגן VIsable.הטיפוס הקפדני של בקרה ואינדיקטורים עושה פרמטריזציה פשוטה.

Microsoft Visio / Lucidchart

עבור דיאגרמות בלוק ארכיטקטוניות שאינן מבוססות סימולציה, Visio ו Lucidchart תומכים stencils וצורות שניתן לשחזר.You יכול להגדיר אדונים מותאמים אישית עם נתונים צורה, היפר-קישורים, וכללי אימות.FLT:0:0: תכונות ההנדסה של לודג'ט חיקויFLT:1 כוללות שיתוף פעולה והיסטוריה, בעוד שהם לא חזקים כמו כלי סימולציה, הם מצוינים לתיעוד ותקשורת.

אפשרויות קוד פתוח

כלים כמו FLT:0) Draw.io (diagrams.netib)FLT:1 ו Xcos (Scilab) מציעים חלופות חינם.צייר.io תומך בספריות מותאמות אישית באמצעות הגדרות בצורת XML וניתן לשלב עם אחסון בענן. Xcos מספק סביבה דמוית סימנולינק, אך עם מערכת אקולוגית קטנה יותר.

שיטות טובות לשמירה על ליברה ניתנת לחזרה

ספרייה היא רק טובה כמו תחזוקה שלה. בלוקים מנוקבים מצטברים באגים, אי-consistities, וגרסאות קצה-סוף מת לערער את האמון.

עדכונים קבועים ו Deprecation

ביקורות תקופתיות של הספרייה.block סטנדרטים מתפתחים כמכשירים חדשים ומתודולוגיות מופיעות.כאשר אתה מעדכן בלוק, מתעד מה השתנה ומדוע. למקם בלוקים מיושנים ולא לקלקל אותם מיד - בלוקים מחוסנים יכולים להישאר בספרייה עם התראה ברורה וקישור להחלפה.זה מונע לשבור מודלים קיימים שעדיין מתייחסים לבלוק הישן.

נטיות קבועות וטעויות

השתמש בתוכנית שמות היררכינית המשקפת את התחום והתפקוד של בלוק.לדוגמה: (FLT:4 ו-FLT:5 להימנע מ קיצורי גולגולת מפוצצים. השתמש בשמות קצרים אך משמעותיים.

בקרת Repository and Access Control

לאחסן את הספריה במיקום רשת משותף או מאגר בענן (למשל, AWS S3, Git LFS, או שרת צוות) יישום קורא/כתוב הרשאות: רק ספריות ייעודיות יכולות לשנות את ספריית המאסטר; כל שאר חברי הצוות קוראים גישה ויכולים לפנות בלוקים.עבור כלי סימולציה כגון Simulink, להשתמש בנתיבי הפרויקט כדי להבטיח שמודלים תמיד יש לפתור את הגרסה הנכונה של הספרייה.

הוראות שימוש והנחיות

צור מדריך משתמש בספריה המסביר כיצד להתקין, לעדכן ולהשתמש בלוקים. Include a Quick-start Guide with a Smallדוגמא מערכת שנבנתה לחלוטין מאבני הספרייה. הוסף בעיות לפתרון טיפים עבור נושאים משותפים כגון פרמטר מתוך טווח או תלות חסרה. קובץ AreadME בשורש של ספריית רצף יכול לשמש נקודת התחלה.

שיתוף פעולה ושיתוף בין צוותים

הכוח האמיתי של ספריית מודולרי עולה כאשר קבוצות מרובות לתרום ולהשתמש בלוקים.עם זאת, השימוש ב- cross-team מציג אתגרים בבעלות, שם סכסוכים וסטנדרטים איכותיים.

מודל ממשל

הקמת ועדה להנעת ספריה עם נציגי כל צוות הנדסי.קבוצה זו מגדירה את מפת הדרכים לבלוקים חדשים, מאשרת שינויים פורצים, ופוגשת סכסוכים על תקני ממשק.

צילום: Approval Workflow

כל בלוק או עדכון חדש צריך לעבור בדיקה עמיתים כי בודקים:

  • אחריות על שמות ותקני ממשק.
  • תיקון פונקציונלי באמצעות בדיקות אוטומטיות.
  • מחיקת מסמכים
  • חזרה להתאמה (או תוכנית הגירה ברורה).

השתמש בבקשות למשיכת (Git) או שינוי בקשות (Perforce) כדי לאכוף את תהליך הביקורת לפני שהתמזג לתוך ענף הספרייה היציב.

אימון ו Onboarding

יש לקיים מפגשים קבועים כדי ללמד חברי צוות חדשים כיצד להשתמש ולתרום לספרייה. לספק פרויקטים לדוגמה המוכיחים דפוסים משותפים. להפוך את תיעוד הספרייה לחיפושי, וכוללת מבריק של תנאים.כאשר מהנדסים מבינים את הערך של הספרייה, הם נוטים יותר לאמץ אותו ולתרום שיפורים.

בדיקה ואימות של חסמי מילואים

בלוקים ניתנים להחלפה הם הנחות: אתה מניח שהם פועלים נכון בכל ההקשר.כדי להצדיק את האמון הזה, כל בלוק חייב להיות נבדק בקפידה.

יחידת בדיקות

צור רתום מבחן עבור כל בלוק אשר תרגילים את טווח המלא של פרמטרים ותנאי קלט. עבור בלוקים, ליצור אותות מבחן ידוע ולהשוות את הפלט למודל התייחסות או פתרון אנליטי. השתמש בכלים כמו מנהל הבחינה Simulink או Labview Unit Test Framework כדי לבצע את ביצוע אוטומטי וליצור דוחות לעבור / עובר / פשי. Aim לכיסוי של כל הנתיבים פונקציונליים, כולל שגיאות ומקרים (למשל, אפס, מגבלות על פני זרימת שתן).

בדיקות אינטגרציה

כאשר בלוקים משולבים, אינטראקציות יכולות לייצר התנהגות בולטת שאינה נבדקת באופן פרטני. בנה חבילה של מודלים של בדיקת אינטגרציה המשתמשים בלוקים מרובים בספריה בתצורה טיפוסית.לדוגמה, שרשרת מודל חיישן, בלוק סינון ובלוק בקר, ולאחר מכן לאמת את ביצועי לולאה. אינטגרציה בדיקות לתפוס תקלות ממשק ובעיות תזמון.

בדיקה חוזרת

בכל פעם שבלוק מעודכן, הפעל מחדש את כל הבדיקות הקיימות כדי להבטיח לא לחזור על עצמו.אוטומטי זה כחלק מצנרת CI /CD אם אפשר. לשמור על היסטוריה של תוצאות בדיקה כך שתוכל לזהות במהירות מה גרם שינוי של כישלון. בדיקות רגרסיה הוא חשוב במיוחד עבור בלוקים פרמטריים כי שינוי ערך ברירת מחדל של פרמטר אחד יכול לקרוע באמצעות מודלים רבים.

יישומים אמיתיים

תעשיות רבות אימצו בהצלחה ספריות בלוק מודולריות.למטה הן שתי דוגמאות מרשימות.

בקרת ניהול רכב

ספק רכב Tier 1 פיתח ספריית בלוקים של סימנולינק עבור פונקציות בקרת מנוע: הזרקת דלק, תזמון הזרה, תזמון שסתום משתנה, ודן זיהוי.כל בלוק היה פרמטר עבור תצורה שונה של מנוע (מספר של גלילים, עקירה, סוגי חיישן) מעל שלוש שנים, הספרייה גדלה ל-200 בלוקים והייתה בשימוש מחדש על פני 15 גרסאות של מנועים, תוך צמצום זמן הפיתוח ב-40%.

מערכות בקרת טיסה אווירית

קבלן הגנה בנה ספריית Lab Review VIs עבור מפעילי בקרת טיסה (שיסתוםservo, חיישנים, ובקרי משוב) בלוקים היו סטנדרטיים למבנה אוטובוס משותף (כוח, בקרה ומוניטור בריאות) באמצעות הספרייה, הצוות היה מסוגל במהירות אבטיפוס חדש של בקר טיסה מל"ט על ידי פיזור בלוקים קיימים, עם רק מכונת המדינה העליונה הדורשת עיצוב חדש.

אתגרים משותפים

יצירת ספריית מודולרית אינה ללא מכשולים, להיות מודע למכשולים אלה יכול להציל את חודשי עבודתך.

התנגדות לשינוי

מהנדסים רגילים לבנות דיאגרמות מאפס עשויים לראות ספריית מגבילה.לנגד זאת על ידי הוכחת חיסכון בזמן ולספק תצוגות בלוק.התחל עם פרויקט טייס שבו הספרייה משמשת, ולהראות את רווחי הפרודוקטיביות באמצעות השוואה לפני ואחרי.

Over-Parameterization

זה מפתה לעשות כל בלוק תצורה ניתוק לכל מקרה שימוש אפשרי.זה מוביל לממשקי פרמטר עם עשרות צלעות, אשר הופכים בלתי ניתן למדידה.עקוב אחר העיקרון של "החלשות הרדמה" ולהסתיר פרמטרים מתקדמים מאחורי הכרטיסיה "מתקבלת" בלבד לחשוף פרמטרים קריטיים עבור וריאציות טיפוסיות.

אפשרות ל-Incompatibility

Libraries שנוצר בגרסה אחת של כלי לא יכול לפתוח נכון בגרסה חדשה יותר. Mitigate זה על ידי שמירה על תאימות תאימות מסובכות ושימוש בפורמטים קובץ ניטרליים גרסה שבו ניתן (למשל, לייצא בלוקים כקבצי טקסט רגיל). מסמך אשר גרסאות כלי לכל גרסה של כל ספריה תמיכה.

חוסר בעלות

אם אף אדם או צוות יחיד לא אחראי לספרייה, היא תגדיר את שומרת הספריה או צוות קטן עם שעות ייעודיות ב ⁇ שלהם.ללא בעלות, תיקוני באגים ושיפורים יהיו מחוסנים.

מסקנה

דיאגרמות בלוק מודולריות וניתן לשנות את ספריות ההנדסה מארכיון ההתייחסות הפסיביים לכלי פרודוקטיביות פעילים.על ידי עריכת עקרונות של סטנדרטיזציה, פרמטריזציה, capsulation ותיעוד יסודי, אתה יוצר בלוקים אמינים, מתאימים וקלים להשתלב.בנייה ספרייה דורשת השקעה מקדימה בעיצוב, בדיקה וממשל, אבל השכר הוא משמעותי: זמן לשוק, איכות גבוהה יותר, שפה משותפת.

התחל קטן.בחר פונקציה אחת משותפת הפרויקטים הנוכחיים שלך, לבנות בלוק שניתן יהיה לעקוף אותו, ולבדוק אותו ביישום אמיתי.לאחר זמן, הספרייה שלך תהפוך לנכס אסטרטגי שמכפל את התפוקה של הצוות שלך.