מה יותר מעשי: תכנות PLC מונחה עצמים-או לוגיקה סולם?

Aug 03, 2026 השאר הודעה

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


תכנות מונחה עצמים-הוא פרדיגמת תכנות מתקדמת בשפות מחשב-ברמה גבוהה. פילוסופיית עיצוב זו יכולה להיות מיושמת גם על תוכניות PLC במערכות בקרה תעשייתיות. למרות שאיננו יכולים ליישם רבות מהתכונות המצוינות של תכנות-מונחה עצמים-כגון "ירושה"-וייתכן ששפת ה-PLC אפילו אינה בעלת המאפיינים של שפת תכנות מונחה אובייקט-, המושגים הבסיסיים של תכנות מונחה עצמים- הם מחלקות ומופעי מחלקה (כלומר, אובייקטים). אנחנו צריכים רק להשתמש במושגים האלה. בתכנות מחשבים, עלינו להפשט ולהכליל ישויות מסוימות כדי להגדיר מחלקות. במערכות בקרה תעשייתיות, לעומת זאת, אובייקטי בקרה כגון מנועים ושסתומים הם קטגוריות בקרה מוגדרות בבירור; אנו יכולים להגדיר עבורם מחלקות ישירות ללא צורך בהפשטה. הסעיפים הבאים ישתמשו בשפת התכנות Step7 של סימנס ובשפת התכנות Unity של שניידר כדי להסביר תכנות מונחה עצמים עבור PLCs.


I. שיטות יישום


תכנות מונחה עצמים-בשלב 7 מיושם באמצעות בלוקי פונקציות (FB). כשנושא זה עולה, אנשים חושבים לעתים קרובות על גישת התכנות המודולרית המוצעת על ידי סימנס. אכן, זה אותו רעיון, אבל מונחים כמו "מודולריזציה", "בלוקים של נתוני רקע" ו"רקעים מרובים" שהציגה סימנס לא תמיד מאפשרים למשתמשים להבין בבירור וליישם את פילוסופיית העיצוב המצוינת הזו.


עם זאת, אם אתה ניגש אליו מנקודת המבט של תכנות מונחה עצמים-, תוכל לקבל הבנה טובה יותר של דפוס עיצוב זה. "חסימה FB" נחשבת כ"כיתה"; ניתן לראות אותו כקיבוץ של קוד עבור אובייקטי בקרה דומים. לדוגמה, עבור כונן התדרים המשתנה -MM440, אתה יכול לכתוב בלוק FB בשם "MtrMM440." בתכנות מונחה עצמים-, זה נקרא "מחלקה". כאשר אתה צריך לתכנת שליטה עבור מנוע ספציפי, אתה יכול להקצות לו בלוק DB רקע-בתכנות מונחה אובייקטים-, זה נקרא יישום המחלקה (כלומר, יצירת מופע של המחלקה: אובייקט). כאשר אתה צריך לשלוט במנועים מרובים, אתה יכול להקצות DBs רקע שונים לבלוק FB זה, מה שמקביל ליצירת מופעים מרובים של המחלקה.


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


תכנות עם תוכנת Unity של שניידר מספק הבנה טובה יותר של תכנות מונחה עצמים-. הגדרות ה-DFB שלו כוללות פרמטרי קלט/פלט, משתנים פרטיים/ציבוריים והטמעת קוד-שהם בדיוק האלמנטים הבסיסיים של "מחלקה" בתכנות מונחה אובייקטים-ממוחשבים. יצירת מופע של מחלקה (אובייקט) היא פשוטה כמו יצירת משתנה "בוליאני" רגיל; אתה רק צריך להגדיר משתנה של ה"מחלקה" הזו ב"בלוקי פונקציות".


הן Step7 והן Unity תומכות בגישות תכנות מונחה פרוצדורליות והן-אובייקטים. ההבחנה בין שתי הגישות הללו דומה להבדל בין תכנות ב-C ו-C++ בשפות מחשב ברמה גבוהה-.


בהסבר הבא, FBs בשלב 7 ו-DFBs ב-Unity יכוונו "מחלקות", בעוד שהשילוב של FB ו-DB רקע בשלב 7, כמו גם מופעים של DFBs ב-Unity, ייקראו "אובייקטים".


II. ארכיטקטורת תכנות מכוונת אובייקטים{{1}


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


1. תכנון מעגל מובנה.


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


<1>שכבת קו ייצור אוטומטי: זוהי הרמה הגבוהה ביותר, הכוללת PLC ראשי השולט באזורים השונים שמתחתיה.

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

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


2. כל ההיגיון עבור כל אובייקט בקרה מיושם בתוך "מחלקה".


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


מידע קלט:


<1>,מידע על הגנת המעגל, כגון מפסק המנוע והממסר התרמי.

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

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

<4>מצבי שליטה: כגון ידני ואוטומטי.

<5>איפוס תקלות: הפעלה מחדש של המערכת באמצעות אותות איפוס.


מידע פלט:

<1>יציאות בקרה, כגון המגע הראשי השולט על המנוע.

<2>פלטי מידע סטטוס

<3>יציאות תקלות


מידע על מצב אחסון:


משתני ביניים המשמשים להטמעת קוד, כמו גם משתני סטטוס שניתן לקרוא על ידי ה-HMI. שלב את כל המידע לעיל למחלקה אחת ותקן את פרמטרי המחלקה ככל האפשר. עם זאת, עדיין ישנם כמה הבדלים בהשוואה לשפות תכנות ברמה גבוהה-. עבור Step7, הסטנדרט שצריך לעקוב אחריו הוא: מבנה התוכנית מיושם באמצעות FCs, ובקרת אובייקטים מיושמת באמצעות FBs, כפי שמודגם על ידי המסגרת המבנית הבאה (שהמבנה החשמלי שלה מבוסס על ההקדמה לעיל): זוהי בסך הכל ארכיטקטורת תוכנית PLC גסה; ארכיטקטורה טובה צריכה להיות יותר מקיפה ומדעית.


3. תכנן מבני נתונים בקפידה


הגדרת מבני נתונים היא קריטית, ועליכם לשאוף לאחד מבנים אלה ככל האפשר מבלי לדאוג לגבי שטח אחסון; זיכרון PLC מודרני מספיק כדי להכיל כמויות גדולות של נתונים. ראוי לציין שבשלב 7, עליך להימנע מהגדרת משתמש-סוגים מוגדרים (UDTs) מחוץ למחלקות במידת האפשר; במקום זאת, הגדר אותם בתוך המחלקות. למרות שזה עלול לגרום להגדרות כפולות של אותו מבנה על פני מחלקות שונות, זה משפר את העצמאות של המחלקות.


בסעיפים הבאים נשווה את שתי גישות התכנות הללו:


היתרונות של תכנות-מונחה עצמים בהשוואה ללוגיקה של סולם, תכנות מונחה עצמים-מציע את היתרונות הבאים:

• הקוד נייד וקל לשימוש חוזר;

• קל להשתמש בפונקציות מתמטיות, לולאות ומבנים אחרים;

• תכנות מונחה עצמים- נלמד כמעט בכל קורס תכנות מחשבים;

• קוד יכול לרוץ על פלטפורמות חומרה שונות.


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


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


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


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


• עלות גבוהה יותר;

• עקומת למידה תלולה יותר;

• פתרון תקלות אינו קל במיוחד עבור אנשי תחזוקה;

• לרוב נדרש קומפילציה לפני העלאת קוד המקור למעבד.


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


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


היתרונות של לוגיקת סולם:


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


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


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


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


• הוא מתאים-לבקרת מכונה ותהליכים;

• קל יותר להבין אותו מכיוון שהוא מטבעו-מתעד עצמי;

• זה מקל על פתרון תקלות של המערכת המבוקרת;

• קל לנפות באגים;

• בדרך כלל ניתן לאחסן את קוד המקור במעבד.


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

 

בהשוואה ליישומי בקרת מכונה, ליישומי תהליך יש בדרך כלל שיעור גבוה יותר של קלט/פלט אנלוגי.

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

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

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

81e77660-9f31-11ed-bfe3-dac502259ad0.jpg

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


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


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


• מתכנתי מחשבים ואנשי IT אינם מכירים את היגיון הסולם;

• קשה לבצע פונקציות מתמטיות, עיבוד טקסט ועיבוד נתונים;

• זה מסתמך על זמן סריקה;

• זה דורש חומרה מיוחדת לביצוע, כגון בקר לוגי ניתן לתכנות (PLC).


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


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


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


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

 

שלח החקירה

whatsapp

טלפון

דוא

חקירה