מבוא מעשי לתכנות ABB RAPID. למד את מבנה MODULE, PROC ו-FUNC, סוגי תנועה MoveJ/MoveL/MoveC, סוגי נתונים וכיצד לכתוב רוטינת pick-and-place שלמה.
RAPID היא שפת תכנות הרובוטים של ABB, והיא יותר ביטויית מ-FANUC TP. בעוד TP היא רשימת הוראות ממוספרת, RAPID היא שפה מובנית עם מודולים, פרוצדורות, פונקציות, משתנים מוקלדים ובקרת זרימה. אם תכנתת ב-Pascal או C, RAPID תרגיש מוכרת מיד.
מבנה תוכנית RAPID
תוכנית RAPID מורכבת ממודולים (MODULE). כל מודול מכיל הצהרות נתונים (VAR, CONST, PERS) ורוטינות (PROC, FUNC, TRAP). נקודת הכניסה היא תמיד PROC בשם `main`.
MODULE MainModule
! משתנה מתמיד — שורד מחזור הפעלה
PERS num partCount := 0;
PROC main()
MoveAbsJ homePos, v100, fine, tool0;
WHILE TRUE DO
PickPart;
PlacePart;
partCount := partCount + 1;
ENDWHILE
ENDPROC
PROC PickPart()
MoveJ approachPick, v500, z50, gripper;
MoveL pickPos, v100, fine, gripper;
SetDO DO_GripperClose, 1;
WaitTime 0.5;
MoveL approachPick, v200, z50, gripper;
ENDPROC
PROC PlacePart()
MoveJ approachPlace, v500, z50, gripper;
MoveL placePos, v100, fine, gripper;
SetDO DO_GripperClose, 0;
WaitTime 0.3;
MoveL approachPlace, v200, z50, gripper;
ENDPROC
ENDMODULEפקודות תנועה
שלושת סוגי התנועה המרכזיים:
- MoveJ — תנועת מפרקים, המהירה ביותר, מסלול לא לינארי. השתמש למיקום מחדש בין פעולות
- MoveL — תנועת TCP לינארית. השתמש לתנועות גישה ויציאה ליד בדות
- MoveC — קשת מעגלית דרך נקודת אמצע. השתמש לריתוך קשת, מינון, איטום
נתוני אזור: z0, z5, z50, fine
נתוני אזור שולטים במיזוג מסלול — עד כמה קרוב ה-TCP עובר דרך נקודה לפני המעבר לבאה. `fine` אומר שהרובוט עוצר בדיוק בנקודה. `z50` אומר שהרובוט מתחיל לנוע לנקודה הבאה כשה-TCP נמצא ב-50 מ"מ מהנקודה. השתמש ב-`fine` לאיסוף, הנחה ומגע. השתמש ב-`z50` או יותר לנקודות ביניים.
RAPID מקומפלת ונבדקת על ידי RobotStudio או עורך FlexPendant. שגיאות תחביר נלכדות לפני ביצוע. תמיד קמפל וסמלץ ב-RobotStudio לפני העלאה לרובוט אמיתי.


