Sprung in ERROR-Abschnitt bei Not-Aus (?)

  • Mahlzeit,


    ich habe hier ein aktuelles Problem bei Steuerung RW 6.15.02:


    beim Auslösen von Not-Aus (QuickStop) möchte ich gerne, dass der Programmzeiger der Bewegungstask in den Fehlerbehandlungsabschnitt (ERROR) der aktuellen Routine springt.

    Da die Bewegungstask beim QStop ja ohnehin angehalten wird, würde es mir natürlich auch reichen, wenn der Programmzeiger nur in ERROR steht/springt, damit es beim nachfolgenden Start dort weitergeht...


    Irgendwelche Ideen dazu?

    Ich habe schon alles mögliche probiert: Event Routine, parallele Task, ...


    Bei einer (simulierten) Kollision (also mit "SimCollision" aus einer parallelen Task heraus) funktioniert das genauso wie gewünscht, nur beim Not-Aus bekomme ich es nicht hin.

    Vielleicht habe ich auch nur etwas ganz simples übersehen?


    Danke für Infos!

  • ANZEIGE
  • Soll das jetzt beim Not-Halt passieren, oder wenn der Eingang QuickStop kommt. Das sind zwei unterschiedliche Paar Schuhe. :)

    Not-Halt ist der sichere, zweikanalige Eingang, Quickstop kommt über einen ganz normalen digitalen Eingang (Bus oder E/A-Modul).

  • nabnd,


    es ist der zweikanalige Not-Aus gemeint.


    Ich habe jetzt gerade (hoffentlich) eine Lösung gefunden, zumindest läuft das so im RobotStudio. In der Motiontask fange ich den EStop über einen Interrupt ein. Die Interrupt-Routine bleibt dann zwar auch zusammen mit der Task stehen, aber beim nächsten Start läuft das Programm dort in der Interrupt-Routine wieder an und da habe ich als nächste Anweisung ein:

    "ProcerrRecovery \SyncLastMoveInst;"


    Damit bekomme ich dann in der Bewegungsroutine den Sprung in die ERROR-Section hin (mit Fehler: ERR_PATH_STOP)


    ...hoffe, das funktioniert auch morgen an der Maschine so. :/


    Danke für deine Rückmeldung

  • Ich schließe das Thema jetzt mal, wollte aber noch meinen letzten Kenntnisstand dazu mitteilen:


    Leider funktioniert das mit dem "ProcerrRecovery" nicht direkt in der Bewegungstask (also im RobotStudio schon - aber nicht in der echten Steuerung!), allerdings lässt sich das Prinzip von einer separaten (semistatischen) Task aus bewerkstelligen, also:

    - in der Background-Task per Interrupt (IError) Not-Aus (oder auch Kollision etc.) abfangen und

    - im Interrupt-Handler dann "ProcerrRecovery \..." aufrufen

    - nach dem Starten bzw. Fortsetzen der Bewegungstask (die ja durch Not-Aus angehalten wurde) wird dann der Error-Abschnitt der unterbrochenen Proc ausgeführt.


    Funktioniert!


    Weiterhin frohes Schaffen...

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.

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