mischwarz
Junior Member
   
Offline
Geschlecht: 
Beiträge: 128

|
 |
« Antworten #5 am: 27. Januar 2006, 06:39:17 » |
|
Ich habe mein kleines Problem wie folgt geloest:
!------------------------------------------------------------ !Procedur : wende1 !Beschreibung : Ablaufroutine zum Wenden eines Werkstückes ! : ! : !Parameter : keine !------------------------------------------------------------ PROC wende1() ! Homeposition Wendestation mv_HomeWende; VelSet 75, 2000; ! Wendestation zurueckfahren rWende\Rueck,0; ! Wendestation auseinanderfahren rWende\Auf,0.5; ! In Vorposition zum Ablegen fahren MoveJ pW1Abl,v5000,z5,tGreifer\Wobj:=wUmGr; ! In Naeherrungsposition zum Ablegen fahren MoveL pW2Abl,v500,z5,tGreifer\Wobj:=wUmGr; ! In Ablegeposition fahren und Werkstueck spannen mv_LoesePos -0.2, v100; ! Greifer oeffnen rGreifer\Auf, 0.5; ! In Warteposition fahren und Wendestation vorfahren MoveL pWarteWende,v500,fine,tGreifer\Wobj:=wUmGr; ! Wendestation vordrehen rWende\Vor, 0.5; ! In Vorposition zum Greifen fahren MoveL pW2Auf,v500,z5,tGreifer\Wobj:=wUmGr; ! In Greifposition fahren MoveL pW3Auf,v500,fine,tGreifer\Wobj:=wUmGr; rGreifer\Zu,0.5; ! Wendestation auseinanderfahren rWende\Auf, 0.5; ! Aus Wendestation ausfahren MoveL pW2Auf,v5000,z5,tGreifer\Wobj:=wUmGr; ! In Vorposition fahren VelSet 100,5000; MoveJ pW1Auf,v5000,z5,tGreifer\Wobj:=wUmGr; ! In Homeposition der Wendestation fahren mv_HomeWende; ! Wendestation zurueckdrehen rWende\Rueck,0; ENDPROC
PROC mv_LoesePos( num Zeit, speeddata Speed)
CONST string stFm:=" Fehler beim Zylinder; zufahren"; VAR bool bERROR;
Reset doWendeAusf; ! Vorposition anfahren und Zylinder beobachten CONNECT irWende_1 WITH T_Wende; ISignalDI diWendeUntenEin,0,irWende_1; MoveL Offs(pW3Abl,0,10,10), v500, z0, tGreifer\WObj:=wUmGr; IDelete irWende_1; ! Loeseposition anfahren TriggEquip trWende_2,0,Zeit\DOp:=doWendeAusf,1; TriggL pW3Abl,Speed,trWende_2,fine,tGreifer\WObj:=wUmGr; ! Warten bis Zylinder ausgefahren ist WaitUntil diWendeObenAus=1 AND diWendeUntenAus=1\MaxTime:=2\TimeFlag:=bERROR; ! Fehlerbehandlung IF bERROR THEN Set doSimStoer; Reset doWendeAusf; PulseDO\PLength:=0.2, doWendeEinf; rGreifer\Auf,0; mv_Reset 0, 0, 200; TPErase; TPWrite " Fehler Wendestation "; TPWrite stFm ; TPReadFK nFK,"Abbruch","Abbruch",stEmpty,stEmpty,stEmpty,stEmpty; prog_exit; ENDIF Reset doWendeAusf; ENDPROC
|