Servus und gutes neues Jahr.
Ich habe eine KRC4 mit Automatik extern und diese fordert wenn das Cellprogramm gestartet wird immer eine SAK Fahrt. Warum und wie kann ich dieses Umgehen bzw. auf einfache Art lösen?
Danke
KRC4 fordert SAK fahrt im Cellprogramm
- Servernexus
- Erledigt
-
-
Hallo,
SAK-Fahrt Die Initialisierungsfahrt eines KUKA Roboters nennt sich SAK-Fahrt.
Eine SAK-Fahrt wird in folgenden Fällen durchgeführt:
- Programm-Anwahl
- Programm-Reset: zurücksetzen
- Handverfahren während Programmbetrieb
- Änderung im Programm
-StzanwahlGründe für eine SAK-Fahrt:
Eine SAK-Fahrt ist notwendig um eine Übereinstimmung der aktuellen Roboterstellung mit den Koordinaten des aktuellen Punktes im Roboterprogramm herzustellen.
Erst wenn die aktuelle Roboterposition gleich einer programmierten Position ist, kann die Bahnplanung erfolgen. Es muss zunächst also immer der TCP auf die Bahn gebracht werden.Somit ist das also ein normaler Vorgang der eben in den oben beschriebenen Fällen ausgeführt werden muss.
Gruß
K(A)RL -
ok und wie kann ich diese im Cellprogramm und wo programmieren? Mit $aktpos oder ähnliches, er soll sich ja nicht bewegen.
-
Am schnellsten geht das, indem du eine eigene cell programmierst. Oder du durchsuchst die ganzen cell Anweisungen, wo die SAK Fahrt abgefragt wird. Ich meine hier im Forum hat auch mal einer geschrieben, wo man was auskommentieren müsste. Hat aber den Nachteil, dass jemand anderes der damit arbeitet es unter umständen nicht bemerkt, dass du dort Änderungen vorgenommen hast. Wenn dann mal ein Update oder ein neuaufspielen der Software erfolgt, kann es sein, dass das Programm nicht mehr geht.
Normalerweise startet der Roboter in Automatik Extern ohne SAK Fahrt. Sollte bei KRC4 auch noch so sein. Nur die cell Struktur von KUKA hat das als Abfrage vorhanden.
Deine Idee mit dem anfahren der act_pos geht natürlich auch, nur denke ich mal, dass der Bediener trotzdem kurz in Hand umschalten muss. Da das anfahren der act_pos nur in Hand gehen würde.
-
ok die Aussage, dass ich in Hand umschalten muss damit ich eine SAK Fahrt machen kann ist richtig.
Was ich nicht verstehe ist die Tatsache, dass sich im Cellprogramm keine Bewegungen befinden und die Steuerung trotzdem eine SAK fordert. Das Cellprogramm sollte wie Du schon sagtest ohne SAK starten und dann in die jeweiligen Unterprogramme springen -
Wenn du die KUKA Struktur benutzt musst du immer eine SAK Fahrt machen, ausser du kommentierst es im Programm aus oder schreibst dir selber eine neue cell.
Der Struktur ist es egal, ob du dort eine Bewegung in der cell hast oder nicht. Die kann ja gar nicht sehen, dass du keine Bewegung programmiert hast.Irgendwo in der p00.src müsste das drinnen stehen. Das darfst du nicht mehr nutzen oder musst es dir umprogrammieren, was ich nicht empfehlen würde.
-
-
danke DOD werd ich mir mal anschauen, Was ich noch nicht hinbekommen habe ist, dass das Cell Programm automatisch startet. Ich muss immer noch bevor ich in Automatik Start gehe mein Cell Programm anwählen.
-
Im Submit ist ein Beispiel wie man automatisch Programme anwählt.
IF $MODE_OP==#EX THEN
CWRITE($CMD,STAT,MODE,"RUN /R1/CELL()")
ENDIFWichtig ist, dass man im Pfadnamen nach R1 keinen weiteren Ordner rein schreibt.
/R1/MeinProgramm() Richtig
/R1/MeinOrder/MeinProgramm() FalschMit CWrite kann man dann auch Programme automatisch abwählen.
-
wenn du im cell
stehen hast, funktioniert die SAK fahrt auch ohne handbetrieb, zumindest bei mir^^könnte wie folgt aussehen:
Code
Alles anzeigen; ;FOLD INI CONTINUE ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( ) INTERRUPT ON 3 BAS (#INITMOV,0 ) ;ENDFOLD (BASISTECH INI) ; ;FOLD SPOTTECH INI USERSPOT(#INIT) ;ENDFOLD (SPOTTECH INI) ; ;FOLD GRIPPERTECH INI USER_GRP(0,DUMMY,DUMMY,GDEFAULT) ;ENDFOLD (GRIPPERTECH INI) ; ;FOLD USER INI ; ;Make your modifications here ; ;ENDFOLD (USER INI) ; ;INTERRUPT_HAND() ; ; PTP $POS_ACT C_PTP ; ;ENDFOLD (INI)
bedeutet aber auch, dass du die position des roboters schon kennen mußt, bzw das sie sicher ist.
-
Ich mach dann immer so:
If §in_home Then
Ptp §pos_act
Endif -
Stethi
Super Lösung, bei Home ist PTP $POS_ACT wie auch PTP $AXIS_ACT das Beste.Wir prüfen bei Not $IN_HOME immer die Workspaces in denen der Roboter ist und überprüfen dann ob sich sich der Roboter auf einer der Teilstrecken befinden.
Danach wird vorwärts oder Rückwärts je nach Anlagenstatus, Punkt für Punkt in einer Loop nach Hause gefahren.
Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen