Hallo,
ich habe jetzt Vergnügen 2x140 IRB zu Inbetriebzunehmen.
Es läuft soweit gut. Allerdings habe ich Schwirigkeiten bei der Ruckzugstartegie oder Grundstellungsfahrt.
Ihc habe ein bißchen nachgelesen und habe verstanden dass bei ABB nicht geht wie z.B. bei Fanuc oder KUKA.
Ich fasse hier noch zusammen.
1.
MoveL p10,speed,zone,tool\WObj?WObJ;
ActPos:=10;
Und dann GST mit Case ActPos
Allerdnigs wegen Vorlaufzeiger wird es nicht immer funktionieren wenn mehrere Positionen vorhanden sind.
2
Die Strategie die ich mir uberlegt hab
möchte ich mit PARAMETER \inPos realisieren
MoveL p10,speed,zone,tool\WObj?WObJ \inPos ;
dabei wird in variable nPOS wert 10 geschrieben.
und dann mit Test nPOS case 10 usw.
Allerdnigs das sind nur teoretische überlegungen und von Parameter inPos bei Instructionen Move habe ich nur gehört und kenne den genauer Syntax nicht. deswegen freue ich mich aus eure Meineung und Vorschläge
3.
MoveLSync p10,v1000,z10,tGreifer,"SyncRoutine";
PROC SyncRoutine()
nActPos:=10;
ENDPROC
Ungefähr so habe ich mir es auch vorgestellt. Nur noch eine Frage. Gibt es möglichkeit die aktuell angefahrenen Position in SyncRoutine aubzufragen
z.B.
PROC SyncRoutine()
IF (Roboter in p10) !hier aktuel aktuell angefahrene Position
nActPos:=10;
Endif
IF (Roboter in p11)
nActPos:=11;
Endif
IF (unbekannt)
per hand in HOME
ENDIF
ENDPROC
Oder gibt es wie z.B bei Stäubli die möglichkeit um p10 ein Kugel zu defineren welche im Hintergrund überwacht wirt und dann ein wert oder Variable zurückgibt
4
dann Habe ich eine Möglichkeite mit SmoveL gesehen
SMoveL 20,p20_1,vmax,z200,tGreifer\WObj:=wAblage;
eingentlich ist die Strategie auch nicht schlecht.
Nur muss man die Folgende Prozedure slbst schreiben oder die ist bereits vorhanden und wird im hintergrund abgearbeitet??
!* Procedure SMoveL() *
!* *
!* Linear move of robot with saving a number related *
!* to the position *
!* *
!* Globale variables: num nActPos *
!* Input parameters: num ActPos *
!* robtarget ToPoint *
!* speeddata Speed *
!* zonedata Zone *
!* tooldata Tool *
!* Optionale parameter: wobjdata Wobj *
!**********************************************************
PROC SMoveL(
num ActPos,
robtarget ToPoint,
speeddata speed,
zonedata zone,
INOUT tooldata tool
\INOUT wobjdata WObJ)
MoveL ToPoint,speed,zone,tool\WObj?WObJ;
nActPos:=ActPos;
BACKWARD
MoveL ToPoint,speed,zone,tool\WObj?WObJ;
nActPos:=ActPos;
ENDPROC
Ich freue mich auf eure Antworten
Gruß
Maxim