Sprung in eine Zeile (Layer)

  • Hallo Kollegen


    Habe eine Abb Roboter mit NX "Option". NX erstellt die Daten für die Roboter.

    Das heißt wir können Bauteile 3d einscannen und danach Aufschweißen auf bestimmte maß.


    Da kommt meine Frage.

    Programme sind lang manchmal 50000 Zeilen. Wenn eine Abbruch kommt und ich muss auf Zeile 24025 layer 20 springen ist es sehr mühsam.

    Da kann es sein das 30-100 layer gefahren wird.

    Im NX kann man alles vordefinieren. Das heißt das ich alles machen kann was Rapid erlaubt .

    Welche Möglichkeiten stehen da das ich nicht alle 100 vordefinieren muss.


    Danke für eure Hilfe

    Edited once, last by padostms ().

  • AD
  • Hilft dir zwar nicht weiter...;)

    aber was ist Option NX


    interssiert mich weil ich auch mit Programmen fahre mit tausenden Zeilen

    Hallo RobiMan


    Es ist keine option von ABB.

    Wir haben die Siemens NX software gekauft und damit machen wir 3d Modellierung.

    Haben wir eine 3d Scanner (Hexagon) damit können wir komplexe bauteile einscannen.

    Diese datei kommt in NX rein wird bearbeitet und dann auf Rapid übersetzt.

    Eine externe Firma hat die Coprocessor für die übersetzung gemacht 3d auf Rapid.

  • Hallo,

    kann Ihr nicht die Bewegungsinstruktionen der einzelnen Layer in separate Unterroutinen verschieben (z.B. Layer1, Layer2, etc.), so dass man in der Routine "main" nur die gewünschte Layer Routine aufruft und dann den Programmzeiger auf die gewünschte Zeile setzt.

    In diesem Fall muss man weniger als 24025 Programmzeilen durchscrollen, um die gwünschte Position zu finden.

    Alternative könnte man auch die Layer Routinen in separate Module verschieben, so dass man nicht so große Module erhält.

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

  • Wenn ihr nur Punkte aneinander reiht könntet ihr ja für jede Position einen Index mittels MovexSync oder MovexGo speichern.

    Beim Start von Main könnte man dann Mittel Test case an die letzte Position springen um dann dort wieder weiter zu fahren

  • Wenn ihr nur Punkte aneinander reiht könntet ihr ja für jede Position einen Index mittels MovexSync oder MovexGo speichern.

    Beim Start von Main könnte man dann Mittel Test case an die letzte Position springen um dann dort wieder weiter zu fahren

    Hallo Hofd


    Das hört sich gut an. Könntest du Beispiel zeigen?

    Movelgo oder movejgo könnte funktionieren das man zu einem Signal eine wert mit value zuordnet.

    Mein Problem ist immer noch das die TEST case vordefiniert werden muss.

    Edited once, last by padostms ().

  • Hi, klar kann ich machen. Beide Befehle haben so ihre Eigenheiten der MovexSync Befehl benötigt für jede Position ein Programm welches den Positionsindex schreibt. Man hat hat also einen relativ hohen zusätzlichen Programmieraufwand welcher zudem Fehleranfälligkeit ist. Der Ausgang welcher bei der MovexGo Methode beschrieben wird wird bei einem Neustart der Steuerung mit einem definiertem Initialwert überschrieben.

    Für was hättest du gerne ein Beispiel?

  • ... Der Ausgang welcher bei der MovexGo Methode beschrieben wird wird bei einem Neustart der Steuerung mit einem definiertem Initialwert überschrieben...

    Wobei dies bei der Deklaration in der EIO.cfg auch anders definiert werden kann!

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

  • Hi, klar kann ich machen. Beide Befehle haben so ihre Eigenheiten der MovexSync Befehl benötigt für jede Position ein Programm welches den Positionsindex schreibt. Man hat hat also einen relativ hohen zusätzlichen Programmieraufwand welcher zudem Fehleranfälligkeit ist. Der Ausgang welcher bei der MovexGo Methode beschrieben wird wird bei einem Neustart der Steuerung mit einem definiertem Initialwert überschrieben.

    Für was hättest du gerne ein Beispiel?

    Hallo hofd


    Ich meine für die Abfrage.Da habe ich noch viel gedanken wie es machbar ist.Für die einzelne Bewegungen sehe ich kein Problem.NX kann man "sagen" wie die programzeilen definiert werden sollen.

    Value Wert auch kein Problem.Freie Ausgang habe ich auch.


    Danke

  • AtoK09 wie kann ich das in der Konfiguration einstellen? Da kann man doch nur einen definierten Wert als Default Value angeben und nicht z.B. eine Variabel als Referenz

  • padostms ich hätte es spontan so gemacht:


    TEST lGO_aktPos

    CASE 10:

    MoveJGO p10,v100,z100,tTool1\WObj:=wobj0,lGO_aktPos\Value:=10;

    MoveJGO p11,v100,z100,tTool1\WObj:=wobj0,lGO_aktPos\Value:=11;

    ENDTEST


    Ist halt die Frage ob du willst, dass man zu jeder beliebigen Position springen kann um dort weiter zu fahren. Oder nur auf spezielle Anfänge von Teilabschnitten.

  • Hi


    Für mich wäre mit die NX beliebige Position besser. Kann alle Positionen definieren.

    Beim Test ist für mich die Problem immer noch das beim CASE: alle Positionen definieren muss.

  • Sprich ich definier einen Ausgang "LastValue" und diesen kann ich dann in meinem lGO_act... als Default Value angeben?
    Sorry steh gerade etwas auf dem Schlauch.

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now