Table of Contents
מבוא
גרפים זרימת אותות (SFGs) הם אבן הפינה של ניתוח בתיאוריה של שליטה, הנדסה חשמלית ותקשורת.הם מספקים ייצוג קומפקטי, חזותי של מערכות יחסים בין משתנים מערכת, מה שהופך את זה קל יותר כדי למקם פונקציות העברה תואמים ולהבין את ה propagation. עם זאת, כמו צוותים הנדסיים לגדול מטיפוסים קטנים מערכות בקנה מידה גדול עם מאות או אלפי רכיבים אינטראקציה, היישום של שיטות מסורתיות SFG במהירות הופך את הפונקציונליות.
תגית: Signal FlowGphs
גרף זרימת אותות מורכב מ-FLT:0 ânodestureFLT:1 ; המייצג את משתנה מערכת (למשל, מתחים, עמדות, אותות שגיאה) ו-FLT:2 עקפים הקצוות FLT 3: המייצגים פונקציות העברה או רווחים בין משתנים אלה.בניגוד דיאגרמות בלוק, SFGs מדגישים מערכות יחסים אלגבריות ובמיוחד מתאימים לרווחים של מייסון כדי להעביר פונקציות סטנדרטיות של מערכת בקרה דיגיטלית.
הכוח של SFG הוא ביכולתו לחשוף מסלולי משוב, להאכיל לולאות מתקדמות, ואינטראקציות שעשויות להיות מוסתרות בייצוגים אחרים.עם זאת, כוח זה הופך להיות אחריות כאשר הגרף אינו מסולק בקפידה. SFG מונוליטי גדול קשה ל debug, קשה לשנות, וכמעט בלתי אפשרי להקפיח את פני צוות הבנה של מגבלות אלה הוא הצעד הראשון לקראת בניית גרפים עבודה גרף.
אתגרים מרכזיים ב Scaling Signal Flow Graphs
לפני צלילה לפתרונות, כדאי להכיר במכשולים הספציפיים המופיעים כאשר גרפים של אותות גדלים מעבר לכמה עשרות צמתים:
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,התעלל בעולמ"ל (ב) - עדכון גרף ללא מבנה ברור מציג באגים.
- (FLT:0) שיתוף פעולה חיכוך בין ה-Team, מספר מהנדסים שעורכים גרף אחד מובילים למיזוג סכסוכים ומוסכמות בלתי עקביות.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
התייחסות לאתגרים אלה דורש שילוב של אסטרטגיות מבניות, אוטומציה, וכלי.הסעיפים הבאים מפורטים טכניקות מעשיות להתגבר על כל מכשול.
טיפים מעשיים עבור Scaling Signal Flow Graphs
1.אימוץ שינוי
לשבור את המערכת הכוללת לתוך מודולים המכילים עצמית התואמים את תת-מערכת פיזית או פונקציונלית.כל מודול מיוצג על ידי אות שלה זרימה תת-גרף עם בבירור קלט מוגדר ופלט נודות. SFG העליון אז מורכב רק אלה צומת מודולים ואת הקצוות המחברים אותם. גישה זו יש יתרונות מרובים:
- מהנדסים יכולים לעבוד על מודולים נפרדים מבלי להפריע אחד לשני.
- בדיקות ואימות יכולים להמשיך לכל מודול.
- שימוש חוזר של חתימות תת-קרקעיות סטנדרטיות (למשל, בקרים PID, מסננים) הופך פשוט.
כאשר מגדירים ממשקי מודול, השתמש בצומת ממשק אשר מתוייגים בדיוק כפי שהם מופיעים בגרף ההורה.זה מבטיח כי גרפים תת-קרקעיים יכולים להיות "מחופים" ללא עמימות. עבור פרויקטים גדולים, לשמור על ספריית תת-גרפים מאומתים כי הם גרסאות ותיעוד.
2.הכנת ההיררכיה הירויטורינג
גרפים של אות היררכי מרחיבים את הרעיון מודולרי על ידי ומאפשרים לחתימות להכיל חתכים נוספים.זה יוצר עץ של רמות מופשטות.בלמעלה, אתה רואה את בלוקים המערכת העיקריים ואת הקשר שלהם. Double-clicking או קידוח למטה חושף את המבנה הפנימי של כל בלוק.זה אנלוגי לבלוקאגרמות היררכיות המשמשות בכלים כמו סימלינקו.
כדי ליישם SFGs היררכי, השתמש ערכת שמות עקבית לרמות היררכיה (למשל, מערכת סוביסט פקד ⁇ ⁇ PID) כל רמה צריכה להיות דף סיכום המעדיש את הנמלים של המודול, פרמטרים מרכזיים ותיאור קצר.פרקטיקה זו לא רק סימולטור ניווט אלא גם עושה את הגרף עצמו cumenting.
כאשר ניתוח של SFG היררכי, אתה יכול ליישם את הנוסחה של מייסון recursive: הראשון להפיק את פונקציית ההעברה של כל תת- חתימה, ולאחר מכן לטפל בתת-החתמים כרווחי ארגז שחור ברמה הבאה.
3.A. Enforce Consistent נאמינג ולייבל
בפרויקט גדול עם משתנים רבים, שם מעורפל הוא מתכון לבלבול.אימוץ כנס שמות המקודש את המודול, סוג האות והכיוון.
- שם מקור:0.10.10.10.10.10.10
- שם מקור: The Node Name: FLT 3:
- תוויות: כולל ערכי רווח ויחידות (למשל, FLT:5)
מסמך האמנה בחברה משותפת wiki או מדריך סגנון. השתמש במלצרים אוטומטיים או תסריטים כדי לבדוק כי גרגרפים חדשים לציית.שם עקבי להפחית את העומס הקוגניטיבי בעת מעבר בין מודולים ומהירויות עלייה בנפיחות במהלך האינטגרציה.
צבע מינוף ו-Virtual Hierarchy
התפיסה האנושית רגישה מאוד לצבע. השתמש בלוח הצבעים המוגבל כדי לקוד את המשמעות:
- (ב) ויקרא י"א): "וַיָּבְהִיתִיא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא .
- סגנונות קו שונים (solid, dashed, ⁇ ) עבור אותות אנלוגיים לעומת אותות דיגיטליים.
- צורת Node או מלא צבע כדי לציין סוג של צומת: מעגל עבור סכמת, מלבן עבור בלוק רווח, יהלום עבור קלט חיצוני.
כולל אגדה על כל דף גרף.רוב הכלים הגרפיים (Graphviz, yEd, MATLAB) תומכים בפורמט מותנה המבוסס על תכונות node או קצה.אוטומטי את היישום של סגנונות אלה כך שהקידוד החזותי עקבי על פני כל הפרויקט.
5.אוטומטי דור הגרף וניתוח
ציור ידני של SFGs גדול הוא edious וטעייה. במקום, ליצור גרמים באופן matic מקובץ תיאור מערכת (למשל, JSON, YAML, או תסריט MATLAB).
- מקור האמת של אמת:0 (ב) 1 (הגרף נגזר מאותו נתונים המשמשים לסימולציה ולדור קוד, ביטול פערים.
- (ב) מנוע (FLT:0) אוטומטי (Automatic designFLT:1) - כלים כמו מנוע Graphviz 6 יכול לייצר פריסות נקיות, קריאה עבור גרפים עם אלפי צללים.
- (ב) ,0) וריון שולט בידידותיות של חברויות (FLT:103) - קובץ תיאור מבוסס טקסט קל לטבול ולמזג.
- (ב) ,0) חידוש הגרף לאחר שינוי הוא מיידי, מעודד עדכונים תכופים.
כדי ליישם את הנוסחה של מייסון באופן אלגוריתמי, ליישם תסריט קורא את הגרף העליון ו לחשב את הפונקציה העברה באופן סמלי או מספרי.עבור פייתון, ספריות כגון NetworkX ו- SymPy לעשות את זה פשוט. אוטומציה זו מבטלת שגיאות חישוב ידניות וקשקשים לכל גודל.
השתמש ב-Excelation andמפורט
גרגרי זרימת אותות הם פריטים עיצוביים המתפתחים לאורך זמן. לאחסן אותם במערכת בקרת גרסאות (למשל, Git) לצד קוד ומודלים סימולציה שלך. עבור קבצים גרפיים, להשתמש בפורמט שהוא מבוסס טקסט וניתן לטבול, כגון קבצי Graphviz DOT, SVG עם metadata מוטבע, או חסימת-diagram מ-X מכלים כמו Simulink (L או SLX יכול להיות עם קבצים מיוחדים).
מסמך כל הנחות של גרף, אימותים ושינוי ההיסטוריה בקובץ טקסט מלווה או WANME.לדוגמה, הערה אשר פונקציות העברה הן נספחים, אשר נוספו או הוסרו בתיקון, וכל מגבלות ידועות. תיעוד זה אינו יקר כאשר המחבר המקורי נע לפרויקט אחר ומהנדס חדש יורש את הגרף.
כלי תוכנה מיוחדים למינוף
בעוד שכלים של ציור גנרי יכולים ליצור SFGs קטנים, פרויקטים בקנה מידה ייצור ליהנות מתוכנה מבוססת מטרה:
- (ב) ,0)MATLAB & SimulinkveFLT:1) - מציע תמיכה מובנה עבור גרפים זרימת אות, מודלים היררכיים, ו חישוב תפעולי אוטומטי באמצעות FLT 7 או תיבת כלי הבקרה.
- (ב) [ה]ב"ה]: [ה] [ה], [ה], כלי ויזואליזציה בקוד פתוח שיכול להפוך את הדיאגרמות עם אלפי צות.הוא תומך בתכונות עבור צבעים, צורות וסגנונות קצה. השתמש בשפה DOT כדי להגדיר את הגרף שלך באופן גרף באופן מפומטי:2Graphviz הרשמי האתר FLT 3."
- (FLT:0)YEd Graph EditorFLT:1 - כלי ידידותי למשתמש לעיצוב גרפים עם אלגוריתמים פריסה אוטומטיים.זה יכול לייבא / לפורט קבצי גרמול, מה שהופך אותו נוח עבור בקרת גרסאות.
- (FLT:0)Scilab/XcosFLT:1) - חלופות קוד פתוח ל- MATLAB/Simulink אשר גם תומך בתרשיםים של בלוקים היררכיים ו-SFGs.
בחר כלים המשלבים היטב עם זרימת העבודה הקיימת שלך, אם הצוות שלך משתמש ב- Python, שקול להשתמש במודול ה-FLT:8 לניתוח SFG סמלי בשילוב עם Graphviz עבור הדמיה.
מלכודות נפוצות להימנע
גם עם הכוונות הטובות ביותר, מאמצי הפחתת ההשתתפות יכולים להשתבש.
- (FLT:0) מיפוי ממשקי הממשקים של הממשקים (FLT:1) – אם קלטות מודול / ⁇ אינם נקראים במפורש ותועדו, שילוב הופך ל-Nizzowork.
- (FLT:0)Over-hierarchizationFLT:1, יותר מדי רמות של קינון יכולות להפוך ניווט לאט יותר מאשר גרף גדול אחד. השתמש בהיררכיה באופן עסיסי; שלוש או ארבע רמות בדרך כלל מספיקות עבור רוב המערכות.
- (FLT:0) אבחון משוב חוצה-מודול (Cyber-module משוב לולאות) 1 - כאשר מודולים אינטראקציה דרך נתיבים מרובים, הגישה ההיררכית חייבת לקחת בחשבון עבור לולאות גלובליות. השתמש בניתוח ברמה העליונה הכולל את כל הקצוות הבין-מודוליים כדי ללכוד את ההשפעות הללו.
- (FLT:0) ל- אימות אוטומטי של אימות אוטומטי 1IRECT - בדיקה ידנית של טופולוגיה גרפית נגד משוואות מערכת היא לא מעשית בקנה מידה.כתוב תסריטים המשווים את פונקציית העברת הגרף לסימולציה של ארגז שחור או מודל אנליטי.
- (FLT:0) עידוד רק על כלים גרפיים של ההרחבה: עריכת גרור-אנדרופ טהור ללא קובץ מקור מבוסס טקסט הופכת שיתוף פעולה וגרסה לשלוט קשה.
שיטות עבודה טובות ביותר לשיתוף פעולה של צוות
גרפים של זרימת אותות הוא תהליך חברתי כמו טכני אחד.
- (FLT:0)Shared Repository Structure (FLT:1) - הקצאת תיקיה לכל תת-מערכת, עם תת-פריים עבור גרפים, תיעוד ותסריטי אימות.
- (FLT:0) ביקורות קוד על שינויים גרפיים של גרף 1 - דורש לפחות אחד עמיתים כדי לסקור שינויים בגרף ברמה גבוהה או קריטי.
- (FLT:0) ישיבות סינכרוניזציה רגולאליות 1 (FLT:1) - כאשר קבוצות מרובות בעלות מודולים תלותיים, להחזיק ביקורות אינטגרציה קצרות כדי להבטיח תאימות ממשק.
- (FLT:0) חידוש והמשך ל-FLT:1) - חברי צוות חדשים צריכים להשלים מדריך על מוסכמות השמות, הכלים, ושיטות השליטה בגירסה המשמשות ל-SFGs.
שקול יצירת תפקיד "דייל חתימה" - מהנדס בכיר האחראי על שמירה על אדריכלות הגרף הכוללת ולהבטיח עקביות על פני קבוצות.אדם זה יכול גם לפקח על תסריטי האוטומציה צינורות אימות.
מחקר: מערכת בקרת טיסה של ד"ר
כדי להמחיש את הטיפים האלה, לשקול פרויקט פיתוח מערכת בקרת הטיסה עבור מל"ט quadrotor.הטיפוס יחיד-מנועי היה SFG שטוח עם כ 50 נקודות המכסות גובה, גישה, ומיקום בקרת לולאות. כמו הפרויקט בקנה מידה צוות של שישה מהנדסים, הגרף המקורי הפך בלתי-מכובד.
הצוות אימצה את הגישה הבאה:
- (FLT:0)Modular decompositionFLT:1 - הפרידו את ה-SFG לארבעה מודולים: עיבוד, בקרת בטיחות, בקרת עמדה ו- Motor Mixer.
- (ב) [ה]המבנה הירארכי [ה]: [ה] [ה] [ה]], [ה'],] ה'[ה]' [ה']']'[ה']']'[ה']'[ה']'[ה']'[ה']'[ה']''']'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- (FLT:0)AutomationFLT:1 - ה-SFGs נוצרו מתסריט MATLAB שפרץ קובץ פרמטר JSON.התסריט גם גרף את הפונקציה העברת ה-Apלופ סגורה באמצעות אלגברה סמלית והשווה אותו לסימולציה לא ליניארית לאימות.
- (FLT:0)Version ControlofFLT:1 - כל קבצי פרמטר JSON ותסריטי MATLAB (כולל דור גרפן) מאוחסנים ב- Git. Graph חוסלו קבצים לטובת הפקת DOT עבור תיעוד.
גישה זו אפשרה לצוות לפתח ולבדוק כל לולאה של שליטה, בעוד שלב האינטגרציה נדרש רק לחבר את נמלי המודול.גרף המערכת הסופי היה מעל 300 נקודות, אך נותר קריא וקיים.אוטומטי תפס אינטראקציה בין המיקום לבין לולאות הגישה שהיו מפספסים בסקירה ידנית.
כיוונים עתידיים
כמו למידת מכונה וטכנולוגיות תאום דיגיטליות בוגר, גרף זרימת אותות יהיה אפילו יותר מונע נתונים.
- (FLT:0) AI-Asted גרגרי גרף לחלץ 1) - באופן אוטומטי לבנות SFGs מהנתונים סימולציה או מעגלים schematics באמצעות זיהוי דפוס מבוסס רשת עצבי.
- (FLT:0 Live GraphatingveFLT:1) - חיבור SFGs לטלמטרית בזמן אמת כך שהגרף מתפתח עם המערכת הפיזית, המאפשר זיהוי אנומלי.
- (FLT:0) אינטגרציה עם גרפים ידע 1 (FAVEFIRLT) - קישור SFG nodes לתיעוד, דרישות, תוצאות מבחן במודל נתונים מקושר.
שמירה על נשימה של התפתחויות אלה תעזור לצוותים להנדסה להישאר לפני עקומת המורכבות.עבור עכשיו, את הפרקטיקה הבסיסית של מודולריות, היררכיה, אוטומציה, משמעת צוות להישאר הכלים האמינו ביותר עבור גרף זרימת אותות.
מסקנה
פרויקטים הנדסיים גדולים דורשים גרפים של זרימת אות כי הם מאורגנים כמו המערכות שהם מייצגים. על ידי שוברים את הגרף לתוך תת- גרפים מודולריים, החלת ההרס הירארכי, אכיפת שמות שמות, ואוטומטיים שני דור וניתוח, מהנדסים יכולים לשמור על בהירות ומחזורים אנליטיים אפילו ככל שמורכבותם של שליטה, תקני הפרויקט, ובחירה זהירה של כלים נוספים להבטיח כי SF נשאר פחות ערך של יצירת נכסים, אך ורק יותר מתואמים את אחד, או יותר, לוקח שינויים משמעותיים של מערכת מטבוליזם, אך ורק יותר, או שינוי משמעותי, כמו גם שינוי עקביים, אך ורק יותר, הוא פחות עקביים.
מקור:0 (ב) מקורות:
- (ב) ,0) ,(התגמלה של מנסון על ויקיפדיה FIRLT:1 ).
- (ב) ויקרא י"ד: ויקרא י"ד)
- מקור:0 (בתרגום חופשי: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇