אוניברסיטת תל-אביב הפקולטה להנדסה המחלקה להנדסת תעשיה המעבדה ליצור בעזרת מחשב HMI‐PLCחלק ב' נושאי המעבדה: היכרות עם TRIGGERSו TAGS-בתוכנת WIZCON היכרות עם תכנות בשפות SFCוST- מטרות המעבדה: יצירת שרטוט מורכב תוך שימוש ב TAGS-וTRIGGERS- כתיבת תוכנית בשפות SFCו ST-ב WIZPLC-לצורך הפעלת המערכת טרום מעבדה חומר רקע תיאורטי יש לקרוא את נספחי תדריך זה ונספחי תדריך מעבדת HMI‐PLCחלק א' יש לצפות בתדריך וידאו ''LAB 4 – HMI + PLC עבודת הכנה .1קראו את המטלה בסעיף 2בתדריך זה )עמ' (5והגדירו את הTAG-ים הנדרשים לצורך יצירת המערכת . .2הביטו בשרטוט המוכן בעמ' 8בתדריך זה ושייכו את הTAG-ים שהגדרתם בסעיף הקודם לכל אובייקט .ציין האם האובייקט בשרטוט מציג את ערך ה ,TAG-משנה את ערך ה- ,TAGגם מציג וגם משנה את ערך ה TAG-או לא מציג ולא משנה כלל . .3בנו את הלוגיקה )תנאים למעבר בין מצבים שונים במערכת והפעולות שייעשו בכל מצב( לפיה תעבוד המעלית במטלה .הוראות ללוגיקה נמצאים בסעיף 3בעמוד 9בתדריך זה . .4כיצד ניתן לתאר את הפתיחה והסגירה של דלתות המעלית מבחינת TRIGGER DEFINITIONו ?DYNAMIC DEFINITION- יש להגיע עם תוצרי סעיפים 1-4למעבדה בכדי לקצר את משך זמן העבודה במעבדה. עריכה אחרונה 9/2010ע"י חבצלת טרייסטר מהלך המעבדה מטרת מעבדה זו היא היכרות יותר מעמיקה עם האפשרויות השונות בתוכנת .WIZCONלכן ,כל השלבים סובבים סביב אותה מטלה אשר מתוארת בתחילת סעיף .2 להלן סדר הפעולות כפי שתידרשו לבצע במהלך המעבדה .לכל פעולה ישנה הפניה לפירוט והסבר בהמשך התדריך. .1כניסה לתוכנה וקונפיגורציה )עמ' (3 .2מטלה – יצירת שרטוט מעלית )עמ' (5 .2.1הגדרת TAGים עבור אובייקטים )עמ' (6 .2.2הגדרת TRIGGER DEFINITIONעבור אובייקטים )עמ' (7 .2.3הגדרת DYNAMIC DEFINITIONעבור אובייקטים )עמ' (7 .3בניית דיאגרמת SFCעם בלוקים מתוכנתים ב ST-למעלית )עמ' (9 שימו לב :בעמ' 12ישנם הנחיות לכתיבת דו"ח מסכם. לתדריך זה מצורפים 5נספחים נספח א' – שימוש ב‐TAG-ים )עמ' (13 נספח ב' – ) TRIGGER DEFINTIONעמ' (16 נספח ג' – ) DYNAMIC DEFINITIONעמ' (18 נספח ד' – שפת תכנות ) SFCעמ' (21 נספח ה' – שפת תכנות ) STעמ' (23 2 .1כניסה לתוכנה וקונפיגורציה היכנסו לתוכנת WIZCONבעזרת הקיצור על שולחן העבודה - . במסך שנפתח יש לבחור בטאב Blank Application <– NEW במסך הנפתח יש ללחוץ לחיצה כפולה על ,My documentsולהוסיף בסוף שורת Folder nameאת שם התיקייה בה תעבדו – לדוגמא ) \CIMLABלא לשכוח את ה'\' לפני שם הקובץ(. לאחר מכן ,יש למלא בשורת Application nameאת שם הקובץ הרצוי )עם סיומת (.wpj וללחוץ .OK 3 יצירת תיקיה תופיע הודעה שתשאל אם ליצור את התיקייה .יש ללחוץ .Yes ייתכן ויופיעו מספר הודעות שגיאה המתייחסות לכך שמדובר בגרסת ) DEMOכזו שאינה מחוברת לבקר אמיתי ,אלא רק עושה סימולציה של בקר( .על כולן יש להקיש .OKבהודעה אשר שואלת לגבי הוספת SYSTEM TAGSיש ללחוץ .NO יפתח סרגל הכלים של תוכנת ה WIZCON-בו ייעשה שימוש לאורך המעבדה: סרגל כלים WIZCON 4 לחצו על הכפתור השמאלי ביותר אשר פותח לנו את ממשק ה:HMI- Application Setup Tags מסך כניסה Images בחרו את כפתור .Application Setup במסך אשר ייפתח יש ללחוץ על כפתור Advancedאשר יפתח חלון נוסף .יש לוודא כי Run PLC Runtimeהינו מסומן .לחצו OKעד לחזרה לחלונית ממשק ה.HMI- .2מטלה – יצירת שרטוט מעלית יש ליצור שרטוט HMIלפי התכנון הבא: מעלית העוברת בין 3קומות .בכל קומה יש לחצן שבעזרתו נוסע יכול להזמין את המעלית .בנוסף יש כפתור אחד נוסף אשר בעזרתו אומר הנוסע לאיזה קומה הוא מעוניין להגיע .בראש המעלית יש שלוש נוריות בעלות מספור .נוריות אלו נותנות חיווי על מיקום המעלית .כאשר המעלית נמצאת בקומה הראשונה הנורית של הקומה הראשונה נדלקת .כאשר המעלית עוברת לקומה השנייה ,נורית החיווי של הקומה הראשונה נכבית ונורית החיווי של הקומה השנייה נדלקת וכן הלאה. 5 שימו לב :יש להשתמש בסרגל הכלים Drawingsולא בצורות מוכנות מתוך ספריית ה- .CLUSTERS יצירת תוויות פקד BUTTON ניתן להשתמש בפקד Buttonכפתורים בשביל יצירת הלחצנים להזמנת המעלית. בלחצן יצירת תוויות ניתן להשתמש בשביל נוריות החיווי. יש אפשרות לחבר בין מספר צורות שמשרטטים ע"י בחירת כל האזור הכולל את הצורות ולחיצת לחצן ימני בעכבר – .groupלא ניתן ליצור קיבוץ של צורות אשר מוגדר להן אופן שינוי שונה. ניתן לשנות את הצבע של צורה בעזרת בחירת הצורה ולחיצה על אחד הצבעים בלוח הצבעים. )לחצן שמאלי על צבע ישנה את צבע המסגרת ,לחצן ימני ישנה את צבע התוכן( 2.1הגדרת -TAGים עבור אובייקטים הגדירו TAGים לכל ישות שמשנה את מצבה .נדרשים TAGים עבור הישויות הבאות :מעלית, דלת המעלית ,לחצני הזמנת מעלית ) 3לחצנים( ,לחצן הוראת קומה אליה רוצה הנוסע להגיע. הדרכה להגדרת ה TAG-נמצא בנספח א' – שימוש ב-TAG-ים מה יהיה הטווח של ה TAG-של לחצן הוראת קומה אליה רוצה הנוסע להגיע? )יש לענות על שאלה זו בדו"ח מסכם( שימו לב :טווח הפעילות של המעלית צריך להיות מספר שמתחלק במספר הקומות ובעלת רזולוציה מספיק טובה שנוכל לראות את תנועת המעלית כרציפה ולא בדידה – טווח מומלץ90 : או 120 6 2.2הגדרת TRIGGER DEFINITIONעבור אובייקטים הגדירו את ה Trigger Definition-לכל אובייקט אשר יכול לשנות את ערך ה TAG-אליו הוא מחובר. שימו לב: ישנן שתי דרכים בהם אפשר לחבר בין אובייקטים בשרטוט לבין TAGים. הראשונה ע"י TRIGGER DEFINITIONשמחברת בין TAGלבין אובייקט בשרטוט שיכול לשנות את ערך ה.TAG- השנייה ע"י DYNAMIC DEFINTIONשמחברת בין TAGלבין אובייקט בשרטוט אשר מציג את ערך ה.TAG- שימו לב אם מדובר ב TAGאנלוגי או דיגיטאלי .יש להגדיר Trigger Definitionלאובייקטים הבאים :לחצני הזמנת מעלית ) 3לחצנים( ולחצן הוראת קומה אליה רוצה הנוסע להגיע .ראו נספח ב' – .Trigger Definition נקודה למחשבה: ניתן גם להגדיר Trigger Definitionלמעלית עצמה לפי מספר הקומה אותה הכניס הנוסע על ידי הגדרת Trigger Definitionלמעלית עם actionשפונה לערך ה TAGשל לחצן הוראת קומה . מהי הפורמולה שיש להפעיל על TAGהמעלית כדי שתעבור )בקפיצה( לקומה אותה לחץ הנוסע? )יש לענות על שאלה זו בדו"ח מסכם( 2.3הגדרת DYNAMIC DEFINITIONעבור אובייקטים הגדר את ה Dynamic Definition-לכל אובייקט אשר מציג ערכי .TAG יש להגדיר Dynamic Definitionלאובייקטים הבאים :מעלית )תנועה אנכית +תנועת פתיחת דלת מעלית( ,נוריות חיווי קומה) .ניתן גם להגדיר Dynamic Definitionללחצן הוראת קומה אליה רוצה הנוסע להגיע ,כך שייסע יחד עם המעלית ,אבל אין חובה(. 7 השרטוט המוכן: לאחר שהשרטוט מוכן ,השלב הבא הוא יצירת הלוגיקה לפיה המערכת עובדת ולתכנת אותה בתוכנת .CodeSysבדומה לשפה LDאותה הכרתם במעבדה הקודמת ,ישנן עוד שפות בהן ניתן לתכנת את הלוגיקה של המערכת המבוקרת .במעבדה זו נכיר את השפות SFCו.ST- 8 .3בניית דיאגרמת SFCעם בלוקים מתוכנתים ב ST-למעלית כדי להפעיל את מערכת המעלית יש לבנות את הלוגיקה הנדרשת לשם הפעלת המעלית בעזרת דיאגראמת SFCשבה כל בלוק מתוכנת בשפת .ST חשבו כיצד ליישם בתוכנה את הלוגיקה לפיה תפעל המעלית .להלן הלוגיקה: המעלית מתחילה מקומה .0כאשר נוסע לוחץ על אחד משלושת הלחצנים בקומות ,דלת המעלית תיסגר ,והמעלית תיסע לקומה הרצויה .כאשר המעלית תגיע לקומה ,הדלת תיפתח. רק לאחר שהנוסע ילחץ על כפתור GO-TOויכניס את מספר הקומה אליו הוא רוצה להגיע, דלת המעלית תיסגר והמעלית תיסע לקומה המבוקשת .לאחר שהמעלית תגיע לקומה המבוקשת ,הדלת תיפתח ,תמתין מספר שניות ואז תיסגר .כעת המעלית תמתין לקבלת הוראות מהמשתמש )לחיצה על לחצן באחד הקומות( הדרכה: לחצו על הכפתור )העשירי מימין בסרגל כלים .((Figure1) Wizconכשתישאלו אם תרצו לייצא את הTAG-ים ,לחצו כן ,וודאו כי כל הTAG-ים הרלוונטיים לשרטוט אותו יצרתם נמצאים בטבלה מצד ימין .ניתן להוסיף ולהוריד TAGים באמצעות לחצני Addו- Removeהנמצאים במרכז החלון. 9 ייצוא TAGים לאחר לחיצת ,OKתידרשו ליצור פרויקט חדש ב .WizPLC Studio-יש ללחוץ NEW ולבחור ניתוב לפרויקט .יש לשמור את הקובץ בתיקיית SoftPLCתחת התיקייה בה כל הפרויקט שמור .מומלץ לתת שם אינדיקטיבי לקובץ .לאחר לחיצת ,OKתיפתח תוכנת .CoDeSys בטאבים בתחתית המסך בצד שמאל ,יש ללחוץ על הטאב הימני .בתפריט שנפתח מעליו יש ללחוץ לחיצה ימנית על .Target Settingsבחלון הנפתח בחרו בטאב generalוודאו כי האפשרות של Load bootproject automaticallyמסומנת .כדי לשמור לחצו .ENTER 10 בחלון מצד שמאל יש ללחוץ לחצן ימני על התיקייה POUולבחור .Add Objectבחלון אשר ייפתח נבחר הפעם בשפת .SFCלאחר לחיצת OKיתקבל חלון עבודה עם תחילת התוכנה: דיאגרמת בלוקים שפת (System Flow Control) SFCהיא שפה אשר מורכבת מבלוקים – .Stepsכל Step יכול לציין פעולות או מצבים והמעברים בין מצבים מסוימים .בסוף כל Stepנמצא תנאי המורה מתי ניתן לצאת מהצעד הנוכחי ולעבור לצעד הבא .העזרו בנספח ד' – שפת תכנות SFCלשם בניית התכנית. 11 כדי לבצע פעולות בתוך הבלוק יש ללחוץ לחיצה כפולה על הבלוק .תתבקשו לבחור שפה איתה תתכנתו בתוך הבלוק .ניתן לבחור בכל שפה שמוצעת .במעבדה זו יש לבחור באפשרות .ST שפת – (Structured Text) STשפה דומה ל .PASCAL-עובדת עם לולאות FOR, ,WHILEתנאי IFועוד .היעזרו בנספח ה' – שפת תכנות STלבניית הבלוקים. לאחר בניית הדיאגראמה יש לחזור לסרגל הכלים של WIZCONולהפעיל את הסימולאטור ע"י לחיצה על אייקון האיש הרץ )לחצן תשיעי מימין( .אם הסימולאטור כבר פועל לא יקרה דבר .כעת יש לחזור לדיאגראמת בלוקים .בתפריט Onlineיש לבחור .Loginפעולה זו תוריד את התוכנית לבקר .לאחר מכן יש לבחור בתפריט Onlineב .Run-כדי לראות את התוכנית רצה ,יש לפתוח את חלון השרטוט וללחוץ על האובייקטים אשר משנים ערכי TAGים ולראות איך אובייקטים אשר מציגים את ערך ה TAG-משתנים בהתאם ללוגיקה שהוגדרה בדיאגראמת בלוקים. חשוב! שמירת הדיאגראמה – יש לבחור בתפריט Projectאת האפשרות של .Documentייפתח רשימה של כל הרכיבים שניתן לשמור כקבצים .יש לבחור בתוכנית שכתבתם .ייפתח חלון של הדפסה .יש לבחור הדפסה לקובץ .PDF דו"ח מסכם יש להגיש דו"ח מסכם שיכלול )בנוסף לסעיפים הרגילים( .1תמונת מסך של שרטוט הHMI- .2דיאגראמת SFC-ST .3יש לענות על השאלות הבאות )מופיעות גם בתוך התדריך(: .3.1מה יהיה הטווח של ה TAG-של לחצן הוראת קומה אליה רוצה הנוסע להגיע? .3.2מהי הפונקציה שיש להפעיל על TAGהמעלית כדי שתקפוץ לקומה אותה לחץ הנוסע? 12 נספח א' – שימוש ב-TAG-ים TAGים הם בעצם יציאות/כניסות בקר ) ,(PLCיציאות/כניסות פנימיות ) (DUMMYאו משתנים ,שאנו מגדירים לצורך אפיון העצמים באפליקציה. TAGהוא מקום בזיכרון אשר יכול לקבל ערכים שונים .אנחנו נרצה באמצעות השרטוט אשר נשרטט במערכת HMIלהציג את ערכו של ה TAGולתת אפשרות לשנות את ערכו של ה.TAG- לכל אובייקט בשרטוט נבחין בין מצב בו האובייקט מחובר ל ,TAG-לא מחובר ל TAG-או מחובר ל TAG-שכבר חובר לאובייקט אחר: אובייקט אשר לא מציג ערך של TAGולא משנה ערך של – TAGלא יחובר ל.TAG אובייקט אשר יכול לשנות את ערכו של ה TAG-יחובר ל TAG-אותו הוא משנה) .גם אם הוא לא מציג את השינוי( אובייקט אשר רק מציג את ערך ה TAGאך לא יכול לשנות את ערך ה – TAGיחובר ל TAGשל האובייקט אותו הוא מציג. כלומר – ייתכן מצב בו TAGמחובר ליותר מאובייקט אחד .וייתכן מצב בו אובייקט מחובר ליותר מ TAG-אחד. ה TAG-יכול להיות אחד מ 3-סוגים: אנלוגי – מקבל ערך מספרי רציף שגבולותיו נקבעים בעת הגדרתו .לדוגמא – TAGאשר מעיד על התקדמות ישות מנקודה א' לנקודה ב' באופן רציף. דיגיטלי – מקבל ערך בוליאני ) .(0/1לדוגמא הדלקה/כיבוי של ישות. – Stringהפעלת TAGמסוג זה תשלח מחרוזת תווים לבקר ,לדוגמאRun Homes : ה TAG-משמש לצורך הגדרת הלוגיקה של המערכת במערכות ה.PLC- 13 הוראות ליצירת TAG לחצו על כפתור ) TAGSמסומן בשרטוט מסך כניסה( .במסך List of TAGsשנפתח בצד ימין, יש ללחוץ לחצן ימני בעכבר ולבחור . Add TAGייפתח המסך הבא: הגדרת TAG בשדה Tag nameיש להכניס את שם ה) .TAGכדאי לתת שם עם משמעות ,לצורך שימוש בהמשך( – Tag Sourceמאחר והמערכת במעבדה אינה מחוברת לבקר פיזי וכל העבודה היא ב,DEMO כל ה TAGs-בהם ייעשה שימוש יוגדרו כ.Dummy- – Tag Typeיש להגדיר לפי סוג ה TAGהרצוי )אנלוגי/דיגיטלי.(String/ – Tag Scaleשדה זה יופיע כאשר מדובר ב TAGאנלוגי .יש להוריד את הסימון מSet - Defaultולתת ערך ל High Limit-לפי הרזולוציה הרצויה .רזולוציה זו מגדירה את הרציפות של התנועה .אין חובה להתחיל מערך תחתון .0לעיתים נעדיף להשתמש בערך תחתון אחר – לדוגמא, אם יש לנו אובייקט אשר נע מזווית של 90מעלות עד לזווית של 180מעלות ,נגדיר את הערך התחתון כ 90-והערך העליון כ.180- 14 לאחר מילוי השדות הנדרשים בטאב Generalיש ללחוץ .Applyלחיצת Applyיוצרת את ה- TAGכך שיהיה אפשר לעבוד איתו בהמשך. עברו לטאב – WizPLC הגדרת WIZPLC– TAG יש לסמן את הכפתור .Export as a WizPLC variableסימון כפתור זה יאפשר לעבוד עם ה- TAGבמערכות PLCבסכימה הלוגית המתוכנתת. יש להפוך את Sampling frequencyלפעם ב 50-מילישניות .לחצו .OK 15 נספח ב' –TRIGGER DEFINITION לכל אובייקט אשר יכול לשנות את ערך ה TAGיש להגדיר את הצורה בו הוא יכול לשנות את ערך ה.TAG לאחר שרטוט אובייקט ב IMAGEוהגדרת TAGכלשהו למערכת ,נלחץ לחצן ימני על האובייקט ונבחר באופציה .TRIGGER DEFINITIONייפתח המסך הבא: Trigger Definition נבחר את ה TAG-אותו אנו משייכים לאובייקט .לאחר מכן נבחר באחד מהINPUT - METHODSהמוצעים לנו: – Data Entryבעת לחיצה על האובייקט המשתמש יתבקש להזין ערך חדש ל.TAG – Actionבעת לחיצה על האובייקט נבצע איזושהי פונקציה על ערך ה – TAGלדוגמא ,אם מדובר ב TAGדיגיטאלי ,נרצה שבלחיצה על האובייקט ,ה TAGישנה את ערכו מ 0-ל 1-ולהפך. הפורמולה שנרצה להכניס הוא @ @) .1-מבטא את ערך ה . (TAGניתן גם לייחס לערך TAG אחר ,לדוגמא @BUTTON+1 -יכניס ל TAG-שלנו את ערכו של BUTTON – TAGבתוספת .1 )יש לשים לב כי אם מדובר בכפתור ,בעת לחיצה על האובייקט ,הכפתור יילחץ ,ולא ישוחרר .ניתן יהיה לשנות את ערך ה TAGחזרה ל'לא לחוץ' דרך הלוגיקה שנגדיר בהמשך בדיאגראמת בלוקים( – Smoothבעת לחיצה על האובייקט ייפתח לנו חלון עם אפשרות לשנות את ערך ה TAGבעזרת .Slider – Fast Actionבעת לחיצה על האובייקט ירוץ מאקרו שהוגדר מראש) .יש רשימה של Macros שניתן להשתמש בהם( 16 – Buttonsבעת לחיצה על האובייקט יופיעו קבוצה של כפתורים עם ערכים אפשריים .לחיצה על אחד הכפתורים ישנה את ערך ה TAG-לערך חדש או יריץ .Macro – Bitבעת לחיצה על האובייקט יופיע חלון בו תוכל להחליט אם להפוך את ה TAGלמצב ON ) ,(1מצב (0) OFFאו – TOGGLEכלומר להפוך את ערך ה .TAG-סוג שינוי זה בעיקר מתאים לTAGים דיגיטאליים ,אך יכול גם לשמש לTAGים אנלוגיים. – Momentaryבעת הגדרת סוג שינוי Momentaryנתבקש להכניס שתי פקודות – אחת ל- Button upואחת ל .Button down-כך לדוגמא ,אם יש כפתור שכאשר לוחצים עליו נלחץ ומשוחרר ,נוכל בעזרת לחיצה אחת גם ללחוץ וגם לשחרר ,במקום שהכפתור יישאר לחוץ )כמו שהיה ב.(action 17 נספח ג' – DYNAMIC DEFINITION לאובייקט אשר יכול להציג את ערך ה) TAGבין אם יכול לשנות את ערכו ,ובין אם לא( יש להגדיר את הצורה בה יציג את שינוי ערך ה .TAG-לחצן ימני בעכבר על האובייקט ובחירת Dynamic Definition יפתח את החלון הבא: Dynamic Definition יש לשים לב לשורה בה מורים על הצגת ערך ה .TAG-לפי האנימציה הרצויה יש לבחור את השורה הרצויה. – Move1/Move2צורת הצגת ערך ה TAG-מתבצע באמצעות הזזת אובייקט מנקודה Aלנקודה .Bשימו לב כי נקודה Aהיא הנקודה בה שרטתתם את האובייקט .אם צריך להעלות אובייקט מלמטה למעלה והאובייקט שורטט בחלק העליון של השרטוט ,ניתן להגדיר את המעבר מ 100-ל 0-במקום מ 0-ל .100-לאחר לחיצה על כפתור Move1/Move2תתבקשו ללחוץ על האובייקט שינוע ועל הנקודה הסופית במסלול. – Scaleצורת הצגת ערך ה TAG-מתבצע באמצעות שינוי הסקאלה של האובייקט בציר Xובציר .Y – Rotateצורת הצגת ערך ה TAG-מתבצע באמצעות סיבוב האובייקט .לאחר לחיצה על Rotate תתבקשו ללחוץ על האובייקט שיסתובב ועל הנקודה הסופית אליה יסתובב האובייקט. – Fillצורת הצגת ערך ה TAG-מתבצע באמצעות מילוי האובייקט )לדוגמא – המים שבדוד מהמעבדה הקודמת( .לאחר לחיצה על Fillתתבקשו לבחור את הנקודה )או הקו( ממנו יתחיל המילוי של האובייקט ואת הנקודה )קו( הסופי בו יסתיים המילוי. – Showאפשרות זו אומרת שבערכים מסוימים של ה TAG-נראה את האובייקט ,ובערכים אחרים, 18 לא נראה) .שימושי לנוריות חיווי( – Emptyאפשרות זו תציג את הגוף כגוף ריק כאשר ה TAG-נמצא בין הערכים המצוינים. בטבלה התחתונה יש אפשרות לבחור באנימציה לאובייקט אשר יש לו מספר טווחים בהם בכל טווח ההתנהגות היא שונה. – Blinkיש לבחור את ה TAG-הרצוי ,ובלחיצה על Blinkייפתח מסך בו יש לבחור את הטווחים הרצויים של ה TAG-ומהירות ההבהוב כאשר ה TAGנמצא בכל טווח. – Line Colorיש לבחור את ה TAG-הרצוי ,ובלחיצה על Line Colorייפתח מסך בו יש לבחור את הטווחים הרצויים של ה TAG-וצבע המסגרת של האובייקט בכל טווח. – Fill Colorיש לבחור את ה TAG-הרצוי ,ובלחיצה על Fill Colorייפתח מסך בו יש לבחור את הטווחים הרצויים של ה TAG-וצבע המילוי של האובייקט בכל טווח. – Fill Typeיש לבחור את ה TAG-הרצוי ,ובלחיצה על Fill Typeייפתח מסך בו יש לבחור את סוג המילוי הרצוי לאובייקט בכל טווח. – Drumשימוש באנימציה מסוג Drumנותנת את האפשרות לבחור שאובייקט יוצג על המסך כאשר ערכו הוא מספר מדויק או טווח של ערכים ,כפי שמוגדר על ידי מספר בינארי ) 0/1או * אם זה לא משנה( .לדוגמא ,אם נדרש שהאובייקט יוצג רק כאשר ערך ה TAGהוא זוגי יש להכניס .*****...*******0 ניתן למלא יותר משורה אחת בטבלה .לדוגמא – אם כאשר TAGעובר מ 0-20-הוא זז מנקודה A לנקודה ,Bובטווח של 21-50הוא זז מנקודה Bלנקודה Cיש למלא את שתי השורות הראשונות בטבלה. ניתן באותה צורה למלא שורות לא עוקבות בטבלה .לדוגמא ניתן להגדיר שעצם יכול לזוז מנקודה A לנקודה Bושבאותו הזמן הוא מסתובב – לכן נמלא את השורה הראשונה בטבלה ) (Move1ואת השורה הרביעית ).(Rotate 19 דוגמא: דוגמא למילוי שורות בDynamic Definition- 20 נספח ד' – שפת תכנות SFC שפת תכנות SFCהיא שפה אשר בנויה מבלוקים .בהגעה לבלוק מסוים ,תוכנו של הבלוק יתבצע עד אשר התנאי ביציאה של הבלוק מתקיים .התנאי ביציאה – הוא תנאי העצירה של הבלוק. בבלוק הראשון בדיאגראמת INIT - SFCיש לבצע אתחול של כל המשתנים המקומיים והמשתנים הגלובאליים )TAGים( .אם מדובר בTAGים דיגיטאליים ,שימו לב כי באתחול המשתנה ניתן לרשום גם FIRST:=FALSE :או FIRST:=TRUEוגם FIRST=0 :או ) 1=FIRSTבהתאמה(. כל בלוק בדיאגראמת SFCמתנהג כלולאת DO-WHILEשתנאי העצירה שלה הוא התנאי מתחת לבלוק TRANS0) .בדיאגראמת בלוקים בעמ' .(11כדי לעבור משלב לשלב ללא תנאי מיוחד יש לרשום TRUEבתנאי. טיפים כדי לבנות תנאי ORלמעבר לשלב הבא ניתן לבנות בלוקים במקביל ע"י לחיצת לחצן ימני בעכבר על שורת תנאי המעבר ובחירת ).Alternative Branch (right כדי לבנות בלוק נוסף בהמשך )בטור( יש ללחוץ לחצן ימני בעכבר על שורת תנאי המעבר ולבחור ).Step Transition (After כדי למחוק Stepיש לבחור אותו ואת התנאי העוקב לו )בעזרת לחיצה על כפתור CTRL בין בחירות( וללחוץ .Delete ניתן להשאיר צעד ללא תוכן ,בתנאי שבפנים יש לפחות ';' .כל צעד שיש בו תוכן נצבע בפינה הימנית העליונה במשולש קטן .תוכנית שבה יש צעד שפינתו העליונה לא נצבעה – לא תעבוד. אם רוצים לעבור לצעד כלשהו אחר בתוכנית שאינו ישירות אחריו )לדוגמא -להחזיר לצעד 2בתוכנית כשנמצאים בצעד (13יש ללחוץ לחצן ימני בעכבר על תנאי המעבר של הצעד ולבחור באפשרות .JUMPהענף ייקטע ויש להזין ליד המשולש הקטן את מספר הצעד אליו רוצים לעבור )לדוגמא (STEP2 כדי ליצור השהייה מסוימת ,יש להגדיר משתנה מקומי )יש לאתחל אותו בבלוק (INIT ובתוך הבלוק לקדם אותו .מחוץ לבלוק ,תנאי המעבר יהיה שהמשתנה המקומי הגיע לערך כלשהו. לדוגמא: 21 בתוך הבלוק רשוםi:=i+1 : בלוק עם משתנה מקומי כאשר מציינים את שמו של המשתנה המקומי בפעם הראשונה ,ייפתח החלון הבא : הגדרת משתנה מקומי יש לשים לב כי ה TYPEהוא לפי סוג המשתנה הרצוי .אם מדובר במשתנה שהינו מונה יש לבחור משתנה מסוג .Integer 22 נספח ה' – שפת תכנות ST שפת התכנות STהיא שפה דומה מאוד לשפת .PASCALאנחנו נשתמש בה בתוך הבלוקים של דיאגראמת .SFCלאחר לחיצה על בלוק של SFCייפתח לנו חלון לכתיבת קוד. כדי להשתמש באחד הTAGים שהגדרנו בשרטוט ב HMI-יש ללחוץ .F2בחלון הנפתח יש לבחור .Global Variablesתחת הלשונית Wizconיופיעו כל הTAGים שיוצאו מה HMI-ל- .WizPLCיש לבחור את ה TAGהרצוי ולהשתמש בו. רצוי מאוד לבחור את הTAG-ים מתוך רשימת ה Global Variablesולא לכתוב את שם הTAG לבד כדי להימנע מטעויות של Upper/Lower Caseוטעויות כתיב. כללי תחביר ) (SYNTAXשל שפת :ST בסוף כל שורת פעולה יש להוסיף ; לולאת IFבנויה בצורה הבאה: לולאת FORבנויה בצורה הבאה: IF a<100 THEN ;><instructions ;END_IF FOR i:=1 TO 100 BY 1 DO ;><instructions ;END_FOR הביטוי BY 1אומרת שהמשתנה iגדל ב 1-בכל מעבר בלולאה .אין חובה לרשום את גודל הצעד של המשתנה הסופר .בהיעדרו ,ההנחה היא כי הלולאה מקדמת את המשתנה iב 1-כל פעם. 23 לולאת WHILEבנויה בצורה הבאה: WHILE b<100 DO ;><instructions ;b:=b+1 END_WHILE יש לזכור שבשימוש בלולאת WHILEיש לקדם את המשתנה לפיו נכנסים ללולאה כדי שתנאי העצירה יתקיים. 24
© Copyright 2024