Steht in den Maschinendaten. $VEL_MA.CP oder so ähnlich.
Posts by fubini
-
-
Mit Aktivierung ist auch die Überwachung sofort an. Also muss man selbst rechtzeitig vorher die Geschwindigkeit reduzieren (das muss ja nicht sicher sein) oder man nutzt das Abbremsen vor Bereichsgrenzen. Dann versucht das die Steuerung selbst so hinzubügeln, dass man exakt am beginn eines Raumes in dem eine reduzierte Geschwindigkeit gelten soll diese auch vorher passend reduziert hat. Also nicht stoppenden Raum mit Geschwindigkeitsgrenze verwenden. Was und wieviel in die Richtung genau geht hängt von den verwendeten Softwareversionen ab, was du leider nicht erwähnst aber halt normalerweise für qualifizierte Antworten wichtig ist. Wir wissen nur du hast einen Kuka Roboter (ein Stück Hardware) und stellst aber eine Frage zur Software.
-
Dann mach dich doch auf eigenes Risiko zu Dauerexperte ohne Anmeldezeiten. Findest du auch hier ihm Forum.
Das warum kannst du gerne KUKA fragen, dass wird dir hier keiner beantworten. Das was man nicht kennt kommt einem immer am "Schlimmsten" vor. Mir ging es umgekehrt immer genauso wenn ich mal nicht an KUKA's war.
-
Wie schon gesagt: Probier es doch einfach mal mit einem Minimalbeispiel aus dann siehst du was passiert. Du machst die Sache hier komplizierter als sie ist.
In entweder $config.dat oder ein globales Dat-File:
DECL REAL myVariable = 0;
Irgendwo in einem SRC:
myVariable = 1.0
Programm ausführen.
In dat file schauen was drin steht. Kaltstart. Wieder schauen was drin steht. Programm anwählen. Schauen über z.B. Anzeige-> Variable -> Einzeln was drin steht.
Das gleiche Prinzip funktioniert auch bei komlexeren Variablen. Du musst aber elementweise initialisieren.
Es wird dir hier niemand das fertige Programm auf dem Silbertablett hinschreiben. Dazu ist ein Forum auch nicht da. Wenn die ersteres willst musst du dir bezahlte Hilfe hohlen. Da kannst du das verlangen. Alternativ kann man bei KUKA auch Schulungen buchen wo einem das beigebracht wird.
-
Wenn ja seid mal ein bisschen präziser^^
Bist doch Entwickler. Probiere doch einfach mal aus. Da bleibt erfahrungsgemäß auch am meisten hängen.
-
Musst du leider einzeln ohne Verzweigungen und Loops einmal im Dat file machen. Mit dem Blockeditor von Notepad++ geht das ganz schnell und einfach.
-
Nein. Du musst deine Variablen im Dat file deklarieren und dort mit = initialisiern. Dann trackt das System die Werte im Dat file. Beim Anwählen eines Programms werden die Werte dann wieder mit den getrackten aus dem Dat file initialisiert.
-
Wieso. Gibt's doch schon heißt Spline und with:
SPTP xSTART with $VEL.CP = 2000, ...
BAS ist intern, das darfst da nicht als Maßstab hernehmen.
-
-
Ansonsten kann man ein ähnliches Fehlerbild erzielen wenn man aus Versehen den TouchUp auf den Hilfspunkt macht obwohl man den Zielpunkt meinte oder umgekehrt.
-
Bei Spline sind C_DIS und C_SPL Synonyme. Ursprünglich gab es nur das erstere. Strategisch wollte man das für Spline klarer abgrenzen, da es nicht wie C_DIS bei nicht-spline wirkt.
Wie ist gXp_ST2300_PartPos deklariert? Das Ergebnis des : ist immer der Typ rechts vom Operator. Nicht das du dir unbeabsichtigt Status und Turn kaputt machst. Was kommt denn beim gerechten als E6Pos im Gegensatz zur Rechnung mit : raus? Einfach mal in Anzeige Variable Einzeln anschauen. Obwohl ich das dann eher nur bei SPTPs erwarten würde.
-
Bei Spline gibt es das direkt über den bedingten Stop. Einfach mal im Handbuch für Systemintegratoren nach stop when path suchen.
-
Weil so die Mathematik von Rotationen funktioniert. Wie schon gesagt dreht man A nicht um 10 Grad weiter indem man einfach A+10 rechnet. Auch B und C müssen passend verrechnet werden. Ein anderer Grund kann die Eulersingularität bei B nahe 90 Grad sein. Hier sind A und C nicht mehr eindeutig definiert sondern nur die Summe von A und C ist konstant.
Mal die Suchfunktion zum Doppelpunktoperator aka geometrischen Operator bemühen. Auch im Wikipedia mal zu Eulerwineln und homogenen Transformationen nachlesen bringt dir vielleicht mehr Einsicht warum das so ist. Das kann aus deiner Sicht noch so oft in Excel richtig funktioniert haben. Mathematisch rechnet dir Excel wohl nicht das richtige.
Vielleicht denkst du aber auch nur das du Positionen im Base shiftest so wie euer Programm geschrieben aber im Tool geshiftet wird oder umgekehrt.
Die Gründe können so vielseitig sein, daß dein ständiges Wiedehohlen, das es bisher immer geklappt hat nichts bringt. Das liefert keine neuen Einsichten. Nur mehr Fakten und Daten was ihr genau macht bringen uns hier weiter, so dass ich mich hier leider ausklincken muss.
-
Ihr wisst aber schon das man Orientierungen nicht einfach aufaddieren kann sondern den Doppelpunktoperator zur Framemultiplikation braucht?
-
Er wird "falsch" dargestellt.
Steht denn der Roboter wirklich falsch da oder sind die Koordinaten einfach nicht wie erwartet:
- Euler Singularität in der Nähe von B=90°?
- Alpha 5?
- Absolutgenauigkeit?
- ...
-
Ja. Schau dir $Robroot in der r1/$machine.dat an. Kannst du aber auch über WorkVisual editieren.
Fubini
-
Probier mal Komponentenweise. Ich meine da gab's vor urzeiten mal einen Bug
$LOAD.M=LOAD_DATA[1] .M
$LOAD.CM=LOAD_DATA[1].CM
...
Im worst case bis runter zur einzelnen subkomponente. Schau mal ins bas.src, da werden auch Lastdaten kopiert. So wie es da drin ist müsste gehen.
Fubini
-
Das wirst du Häppchenweise machen müssen. Da hat sich seitdem zuviel geändert. Von 2.x auf 3.x auf 4.x ...
Schau mal ins KUKA Downloadportal. Da finden sich glaube ich auch noch ältere WoV Versionen.
Und immer schön Backup machen bevor du probierst die konvertierte Projekte zu deployen. Am besten ein Komplettimage.
Fubini
-
Such mal Forum hier und in der Doku nach ON_ERROR_PROCEED ist quasi exception handling in der KSS. Da findest du Beispiele wie du das hinbekommst.
PostRE: Submit erneut starten lassen und Abfrage ob Submit läuft
[…]
Tatsächlich gebe elchi2018 etwas Recht. Die meisten Suchen führen mich nicht weiter, da nur darauf verwiesen wird, dass es die Funktion ON_ERROR_PROCEED gibt, aber nicht wie ich sie ausführe.
Der User Drudge hat es aber in einem Post gut erklärt (Glaube ich zumindest aktuell^^):
"mit dem Befehl ON_ERROR_PROCEED wird bei der nächsten Zeile (analog zu CONTINUE) kein Fehler ausgeworfen, sondern die Variable $ERR beschrieben. Wenn nach der Ausführung $ERR.NUMBER == 0 ist, dann wurde die Zeile…bewoJuly 23, 2020 at 8:43 AM Fubini
-