У меня скоро экзамен, поэтому я просто хотел поделиться своими заметками. Конкретная процедура следующая, подходит для простого программирования робота-укладчика на поддоны. Необходимо пройти три точки: начало координат, p1, p2 и p3. Среди них точка p1 — это положение присоски или захвата, движущегося в воздухе. p2 — позиция захвата физического объекта, p3 — положение, в котором захват отпускает объект. Примерная траектория бега: Начало координат начинает двигаться - достигает позиции p1 - перемещается вниз к конвейерной ленте до точки p2 и поглощает (или захватывает) объект - поднимает руку робота и возвращается в точку p1 в воздухе - затем рука робота перемещает объект в точку p1 точку p3 и начинает ее отпускать. Объект, повторяя это движение четыре раза, в конечном итоге возвращается в исходную точку. Примечание. Каждое время пребывания составляет одну секунду.
Фактическое программирование выглядит следующим образом (некоторые коды включают в себя некоторые коды, поставляемые с программным обеспечением, реальный код см. на рисунке внизу) Модуль DEF ( ) DECL E6POS Чжуа,фан ОТКАЗАТЬСЯ ;СВЕРНУТЬ INI ;СВЕРНУТЬ БАСИТЕХ INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI) ;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI);ENDFOLD (INI);FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULTBWDSTART = FALSEPDAT_ACT=PDEFAULTFDAT_ACT=FHOMEBAS (#PTP_PARAMS,100 )H_POS=XHOMEPTP XHOME;ENDFOLDFOR a=o TO 3zhua=XP2fang=XP3zhua.z=zhua.z+100LIN zhuazhua.z=zhua.z-100LIN zhua;FOLD OUT 4 '' State= TRUE;%{PE}%R 5.4.33,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:4, 3:, 5:TRUE, 6:
$OUT[4]=TRUE ;ENDFOLD ;FOLD WAIT Time= 1 sec;%{PE}%R 5.4.33,%MKUKATPBASIS,%CWAIT,%VWAIT,%P 2:1 WAIT SEC 1 ;ENDFOLD zhua.z=zhua.z+100 LIN zhua fang.z=famg.z+100+17*a LIN fang fang.z=fang.z-100 LIN fang ;FOLD OUT 4 '' State= FALSE;%{PE}%R 5.4.33,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:4, 3:, 5:FALSE, 6:
OUT[4]=FALSE;ENDFOLD;FOLD WAIT Time= 1 sec;%{PE}%R 5.4.33,%MKUKATPBASIS,%CWAIT,%VWAIT,%P 2:1WAIT SEC 1;ENDFOLDfang.z=fang.z+100LIN fangENDFOR;FOLD PTP HOME Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULTBWDSTART = FALSEPDAT_ACT=PDEFAULTFDAT_ACT=FHOMEBAS (#PTP_PARAMS,100 )H_POS=XHOMEPTP XHOME;ENDFOLDENDDEF ();FOLD PTP P1 Vel=50 % PDAT1 Tool[0] Base[0];%{PE}%R 5.5.29,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:P1, 3:, 5:50, 7:PDAT1BWDSTART=FALSEPDAT_ACT=PPDAT1FDAT_ACT=FP1BAS(#PTP_PARAMS,50)PTP XP1 ;ENDFOLD;FOLD PTP P2 Vel=50 % PDAT2 Tool[0] Base[0];%{PE}%R 5.5.29,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:P2, 3:, 5:50, 7:PDAT2BWDSTART=FALSEPDAT_ACT=PPDAT2FDAT_ACT=FP2BAS(#PTP_PARAMS,50)PTP XP2 ;ENDFOLD;FOLD PTP P3 Vel=50 % PDAT3 Tool[0] Base[0];%{PE}%R 5.5.29,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:P3, 3:, 5:50, 7:PDAT3BWDSTART=FALSEPDAT_ACT=PPDAT3FDAT_ACT=FP3BAS(#PTP_PARAMS,50)PTP XP3 ;ENDFOLD