תכנות סולם עבור xLogic: הוראות בסגנון S7-200 בתקציב Micro PLC

הנה וידוי מידי ידיד ותיק: למדתי הנדסת בקרה על S7-200s, ואני עדיין חושב ב-SM ביטים. אז כשמצאתי את xLadder עורך שמשתמש באותה משפחת הוראות — זיכרון מיוחד SM, הפרעות ATCH/DTCH, מונים CTU/CTD, רישומים SMB34 ו-SMB35 של הפרעות מתוזמנות — זה הרגיש כמו לחזור הביתה. אם חידדת את שיניך על סיימנס, זהMicro PLCמדבר את הדיאלקט שלך.

החבילה xLadder מכסה מעבדי SR ו-PR מסדרות. גרסה חדשה אפילו הוסיפה טקסט מובנה — תכנות ST בתקציב Nano-PLC. זה לא משהו שהמותגים הגדולים נותנים במחיר הזה.

קבוצת ההוראות שחשובה

אל תיתן לגובה הקטן להטעות אותך. עץ הסולם כולל לוגיקת ביטים (פתוח/סגור, I/O מיידי, קצוות עולים ויורדים, הגדרה/איפוס, SR/RS, NOP), טיימרים, מונים, פונקציות השוואה עבור בתים, שלמים, שלמים כפולים, ממשיים ואפילו מיתרים, בנוסף לספריית המרה מלאה — BCD, ROUND, TRUNC, ASCII, ATH/HTA, DECO/ENCO, קוד שבעה קטעים.

ואז מגיעים הכבדים: אריתמטיקה של נקודה צפה (ADD-R דרך SIN, COS, LN, EXP), מתמטיקה של שלמים, בלוק PID, שליטת הפרעות (ENI, DISI, ATCH, DTCH), פעולות לוגיות (INV, WAND, WOR, WXOR), הוראות העברה כולל BLKMOV ו-SWAP, ושליטת תוכניות עם לולאות FOR/NEXT.

השוואת מיתרים עלMicro PLC. תן לזה לשקוע לרגע. זה היה שטח HMI.

דוגמה קונקרטית: PID על ספסל בדיקה

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

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

איך זה מתחבר

הגדרת התקשורת עוקבת אחר תבנית S7-200: בחר את הפורט, הגדר את הכתובת, הורד. כבלי RS232 ו-USB מבודדים פוטואלקטרית — הבידוד הזה שומר על המעבדים כשמישהו מחבר 220V במקום 24V. דגמי PR תומכי Ethernet מורידים דרך הרשת, מה שאומר שאתה יכול לעדכן מכונה מבלי לפתוח את הארון. או מחשב נייד עם כבל, אם אתה אוהב את הקלאסיקות.

האם סולם הוא הבחירה הנכונה כאן?

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

תמיכה לסדרות SR-12 ו-SR-22 הגיעה בגרסאות מאוחרות יותר xLadder, אז בדוק את הגרסה לפני שאתה מבטיח ללקוח משהו. V2.0.0.8 הוסיפה SR-22, V2.0.0.9 הוסיפה ST. גרסה חשובה, ואף אחד לא קורא את הערות השחרור עד שמשהו נשבר.

מעבר מפרויקטים אמיתיים של S7-200

אם אתה מגיע מרקע S7-200 אמיתי, המעבר חלק יותר ממה שאתה מצפה — וקשה יותר במקום אחד בדיוק. המנמוניקות של ההוראות, מפת הזיכרון SM, מושגי ההפרעה, הרגלי עורך הסולם: הכל מוכר. המקום שבו זה מכה הוא תרגום הכתובת. תוכניות S7-200 נכתבות נגד מפות I/O ספציפיות ופריסות זיכרון V; תוכנית xLadder שלך חייבת להיות מתורגמת מחדש למפת ה-SR או PR CPU עצמה — קלטים, פלטים, דגלים, אנלוגים — לפני שרמה אחת פועלת כראוי.

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

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

ארגז הכלים לניפוי באגים

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

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

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

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