קטגוריות: אוטומציה ביתית, בקרי לתכנות
מספר צפיות: 28074
הערות לכתבה: 0
שפת דיאגרמת חסימת פונקציונלית (FBD) ויישומה
אחת משפות התכנות הפופולריות ביותר של בקרי PLC - בקרי לוגיקה הניתנים לתכנות, היא השפה הגרפית של דיאגרמות חסימות פונקציונליות FBD - תרשים בלוק פונקציות. שפה זו, יחד עם שפות אחרות של IEC 61131-3, כמו למשל שפת היגיון סולם (LD), משתמש בארכיטקטורה שלה בסוג של מעגל אלקטרוני.
תוכנית שנכתבה בשפה זו עבור בקר מורכבת מרשימה מסוימת של מעגלים שמבוצעים בזה אחר זה מלמעלה למטה. בנוסף, קיימת האפשרות להקצות תוויות לרשתות בודדות, במקרה זה השימוש בהוראות ללכת לתווית יהיה זמין על מנת לשנות את רצף ביצוע הרשתות, וליצור תנאים ומחזורים.

כך, תוכנית הכתובה בשפה הגרפית FBD היא קבוצה של בלוקים פונקציונליים המחוברים זה לזה, שהפלטים והתשומות שלהם מחוברים באמצעות קווי תקשורת. קווי תקשורת משקפים משתני תוכנית מסוימים דרכם מוחלפים נתונים מגוש לחסימה.
בלוק נפרד נושא פונקציה ספציפית ("ו-", "לא" לוגית, מונה וכו ') ואילו לחסימה אחת יכולות להיות מספר יציאות וכניסות. בתחילה, ערכי המשתנים נקבעים על ידי קבועים או מכניסות מיוחדות, ותפוקותיהם קשורות עוד יותר עם משתני תוכנית אחרים או עם תפוקות PLC.
באיור מופיעה דוגמה לתוכנית שנכתבה בשפת דיאגרמת הבלוקים התפקודית FBD. כפי שאתה יכול לראות, תמונת תוכנית כזו משקפת באופן ברור את האלגוריתם, מה שהופך את השפה הזו למדי למדי ונוחה לפיתוח תוכנת PLC.
במהלך תכנות בשפת FBD משתמשים בשני בלוקים סטנדרטיים מספריות וגם בלוקים הכתובים ב- FBD או בשפות אחרות בתקן IEC 61131-3. חסימה היא אלמנט תוכנית, סוג של תת-תוכנית, חסימת פונקציה או פונקציה (לוגי "לא", "או", "וגם", טיימר, מונה, טריגר, פעולה מתמטית, עיבוד של אות אנלוגי וכו ').
מבין הבלוקים האלה, הביטויים היוצרים את השרשראות מורכבים בצורה גרפית: הבלוק הבא מחובר לפלט של בלוק אחד, ואז בלוק נוסף, וכך נוצרות השרשראות. במהלך המעגל, סדר ביצוע הבלוקים תואם את סדר החיבור שלהם, והתוצאה של ביצוע המעגל מוזנת לפלט ה- PLC, או נכתבת למשתנה פנימי כלשהו.

שקול קטע מהתוכנית שנכתב בשפת ה- FBD: הכפל ב -4, ואז חלק על ידי A, וכתוב את התוצאה לתוצאה המשתנה. בפסאודוקוד זה ייראה כך: תוצאה: = B * 4 / A. אפשר להוסיף גם כניסות בקרה מיוחדות EN ו- ENO לבלוקים בכדי לשלוט בשיחות של בלוקים בודדים: אפס היגיון שמופעל על כניסת EN אוסר על קריאת בלוק זה, ופלט ENO ידווח עליו במקרה של שגיאה, ובכך יפריע את ביצוע המעגל עד הסוף. .
כפי שאתה יכול לראות, שפת ה- FBD היא חזותית ביותר, נוחה, ולכן קלה ללימוד גם על ידי מומחי אפליקציות אשר אינם בעלי הכשרה מיוחדת במדעי המחשב. הקוד מבוצע ברצף, מבנה הפקודות בתוך הקוד פשוט, לכן התוכנית משודרת מהר מאוד והמשימה מבוצעת בצורה אמינה.

ישנם שינויים שונים בשפת התכנות FBD, המאופיינים בנוכחות מגבלות או הרחבות מסוימות.
לדוגמא, יש גרסה של FBC המאפשרת שימוש בפונקציות טהורות עם פלט אחד בלבד ללא משתנים ביניים - שינוי לתכנות פונקציונאלי.
או שינוי של CFC (תרשים פונקציות רציף), המאפשר לך לקבוע את סדר ביצוע התרשים לא רק על ידי שרשרת רציפה, אלא לפי שיקול דעתו של מפתח התוכנה. עם CFC, היזם זוכה לחופש רב יותר, אם כי הקוד ארוך יותר.
ראה גם בנושא זה:שפות תכנות PLC ופלטפורמת תוכנת האוטומציה CoDeSys
ראה גם באתר elektrohomepro.com
: