Verhalten von $ON_PATH bei Interrupt

  • Hallo Kollegen,


    wir haben hier ein unangenhmes verhalten von einem Roboter (KRC4, KSS 8.6x), wobei wir die Systemvariable $ON_PATH für die Job Vergabe von der übergeordneten SPS aus nutzen.

    Bei einem Interrupt (normales Brake ohne F) mit einer kurzen LIN_REL Bewegung und anschließendem RESUME wird die Systemvariable $ON_PATH jedoch FALSE, was die SPS bei ihrer Auftragsvergabe irritiert.


    Meine Fragen:

    - ist dieses Verhalten normal bzw. so gewollt? Verlässt der Roboter hier tatsächlich seine Bahn?

    -Habt ihr hier einen Lösungsvorschlag bzw. Workaround?


    Danke und lg,

    doc_rob


  • Schritt für Schritt zum Roboterprofi!
  • Probiere es doch mal mit der Deklaration des Brakes im Initialisierungsteil und fahr mit $Pos_int dann weg.


    Beispiel:

    DEF PROG()
    ...
    INTERRUPT WITH BRAKE DECL 25 WHEN Irgendwaspassiert DO STOP_FAST()
    INTERRUPT ON 25
    ...
    END
    ...
    DEF STOP_FAST()
    BRAKE <--- das muss hier nicht nochmal stehen da schon in der Deklaration with Brake steht
    PTP $POS_INT:{Z -10}
    ...
    END

    Die Abnahme von GOTO Anweisungen verhält sich reziprok zur Qualität einer Programmierung

  • Hallo Martin,


    Danke für deinen Input, habe es soeben probiert:

    einmal indem ich $POS_INT um 10mm transformiert habe, und einmal indem ich $Base um 10mm transformiert habe.

    Leider wird $ON_PATH noch immer False :(

    Mich würde interessieren wie $ON_PATH gebildet wird und was die genaue Definition von "am Pfad" bzw. "Pfad verlassen" ist.


    lg,

    doc_rob

  • Mich würde interessieren wie $ON_PATH gebildet wird und was die genaue Definition von "am Pfad" bzw. "Pfad verlassen" ist.

    Dieser Ausgang ist gesetzt, solange sich der Roboter auf seiner programmierten

    Bahn befindet. Nach der SAK-Fahrt wird der Ausgang ON_PATH gesetzt.

    Dieser Ausgang bleibt solange gesetzt, bis der Roboter die Bahn verlässt, das

    Programm zurückgesetzt wird oder eine Satzanwahl durchgeführt wird. Das

    Signal ON_PATH hat aber kein Toleranzfenster; sobald der Roboter die Bahn

    verlässt, wird dieses Signal zurückgesetzt.

  • Brauchst du wirklich das Signal $on_Path?


    Ich denke beim Interrupt wirkt sich das aus wie eine Satzanwahl.


    Vielleicht ist die Systemvariable $Pro_Act besser geeignet, diese kann mit Interrupts umgehen.

    Die Abnahme von GOTO Anweisungen verhält sich reziprok zur Qualität einer Programmierung

  • Meine Fragen:

    - ist dieses Verhalten normal bzw. so gewollt? Verlässt der Roboter hier tatsächlich seine Bahn?

    Verhalten ist normal.

    $ON_PATH bezieht sich auf die Bahnplanung im Vorlauf und der abgefahrenen Bahn / IST-Position im Hauptlauf. Im UP des Interrupts weichst Du davon ab. Mit Resume brichst Du die durchgeführte Bahnplanung ab und "verwirfst" sie.

    Das erlaubt Dir, direkt von der aktuellen Position, zum nächsten Punkt zu fahren, ohne er die letzte Bahn noch fertig fahren muss. Keine Bahnplanung => $ON_PATH = FALSE, Was korrekt ist.

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Vielen Dank für euren Input! Mir ist nun klar, dass wir $on_path anscheinend missbräuchlich verwenden.

    Wir werden uns etwas einfallen lasen für diesen Fall.

    Ab wann wäre $on_path wieder TRUE nach einem Interrupt mit Resume? Sobald sich die geplante Bahn wieder mit der aktuellen Position deckt?


    lg

  • Moin Doc Rob,


    aus der Doku:


    Dieser Ausgang wird nach der SAK-Fahrt gesetzt. Dadurch teilt die Robotersteuerung der übergeordneten Steuerung mit, dass sich der Roboter auf der programmierten Bahn befindet. Der Ausgang wird erst wieder zurückgesetzt, wenn der Roboter die Bahn verlässt, das Programm zurückgesetzt oder eine Satzanwahl durchgeführt wird.


    Ergo, das Signal kommt wieder sobald du eine dem Roboter bekannte Position erreicht hast.

    Die Abnahme von GOTO Anweisungen verhält sich reziprok zur Qualität einer Programmierung

  • doppelt hält besser ....

    habe ich auch schon geschickt ^^

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
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden