TSP Überwachung verzögern

  • Hallo Leute,


    ich habe einen IRC1300 mit Omnicore Steuerung und SafeMove2. Ein SICK Sicherheitsscanner ist per OSSD an zwei sichere Eingänge der DSQC1042 angeschlossen. Wenn eine Person ins Warnfeld tritt, soll die Geschwindigkeit des Roboters reduziert und sicher überwacht werden.


    Das Reduzieren der Geschwindigkeit habe ich mit Interrupts auf den Sicheren Eingang und der Verwendung von "SpeedLimCheckPoint" hingekriegt.

    Allerdings dauert das Abbremsen des Roboters ja eine gewisse Zeit und in dieser Zeit schlägt die TSP Überwachung schon zu Momentan wird sie direkt von dem sicheren Eingang aktiviert.. Ich müsste die Überwachung also irgendwie verzögern.


    Ich habe mich an der DELAY Funktion bei der Pre-Logic versucht, bin damit aber nicht richtig klar gekommen. Der Timeout Ausgang der Funktion bleibt nicht dauerhaft an, sondern geht gleich wieder aus.


    Wie löst ihr sowas, bzw. welche Tipps könnt ihr mir mitgeben?


    Vielen Dank schonmal!

  • ANZEIGE
  • Eventuell kann hier der SafeMove Assistent helfen.

    Gib mal in Google "abb safemove assistant" ein. Das "Anwendungshandbuch- Funktionale Sicherheit und SafeMove" ist auch unter den Treffern. Dort drin suchen nach "Assistent".


    Ich hoffe, das hilft dir weiter.

  • Es gibt im ABB RobotStudio das AddIn


    Dieses ist eigentlich für solche Fälle gedacht, funktioniert allerdings erst ab RobotWare 7.6 in Verbindung mit dem SWIFTI, welcher "auch bloß ein modifizierter IRB1300" ist. Wir hatten bisher einen Anwendungsfall, bei dem im F-Teil der SPS eine Zeitverzögerung programmiert war und der Roboter vorher über einen Systemeingang "LimitSpeed" die Geschwindigkeit verringern konnte, bevor der F-Eingang zugeschlagen hat.


    Zum Thema "Delay" im SafeMove bin ich auch noch nicht wirklich schlau geworden. Mir konnte auch noch keiner wirklich erklären, wie die Funktion arbeitet oder wie lang ein Zyklus ist..

  • Entweder du klärst das in Rapid das der Roboter beim Eintritt in die Zone schon die richtige Geschwindigkeit hat

    Oder du benötigst 2 SafeZonen:

    die 1. macht den SpeedLimit

    und die 2. Zone dann die Überwachung

    Muss natürlich ein wenig Platz dazwischen sein das der Roboter auch abbremsen kann.

    Hi RobiMan,


    danke für deine Antwort. Dann bräuchte ich 4 Zonen.

    - Das Warnfeld zum Bremsen

    - das Warnfeld zum Überwachen

    - das Stoppfeld zum Bremsen

    - das Stoppfeld zum Überwachen


    Das gibt der Scanner leider nicht her. Ich hab nur zwei OSSD Ausgangspaare.

    Im Scanner gibt's auch keine Zeit, den Ausgang zu verzögern und sofort einen Hilfsausgang zu setzen.


    Hi Potte1604,


    auch dir danke für deine Antwort!

    Ich habe das Add-In installiert, auch auf der Omnicore, aber ich fürchte, mir fehlt dazu eine Lizenz. Es taucht nirgendwo auf.


    Eine F-SPS habe ich leider in der Anlage nicht, nur die SafeMove Möglichkeiten.


    Ich hab jetzt mal meinen ABB Ansprechpartner dazu angeschrieben. Mal schauen, was er dazu sagt.

    Ich bin einigermaßen überrascht. Ich dachte, das sei normal, ein Signal verzögern zu können.


    Ich halte euch auf dem Laufenden...

  • Wenn du im normalen Rapid Programm dafür sorgst brauchst du nur deine Überwachungszone.

    Das langsam fahren benötigt ja keine sicheren Signal oder sowas in der Art. Da hast du alle Möglichkeiten was Rapid hergibt. Speedrefresh oder LimitSpeed sind nur 2 von vielen Varianten.

    Dazu brauchst du dennoch ein vorgelagertes Signal, welches den Roboter abbremsen lässt. Wenn das LimitSpeed zeitgleich mit dem F-Eingang kommt, knallt es auch bloß..

  • kann ja auch eine Weltzone setzen das Signal oder ein Trigger oder oder oder

    kommt halt drauf an wie knapp die Zeit ist und wie nahe ran du an die Überwachte Zone schnell fahren musst.

    Er ist ja hier schon drin, das ist ja das Ausgangsproblem. Nicht "der Robbi fährt in die sichere Zone", sondern "die Zone wird plötzlich zur sicheren", dadurch, dass der Werker reingeht.

    Das ist erst einmal unlösbar, solange die Sicherheitstechnik nicht differenzieren kann, wie weit der Werker vom Roboter weg ist.

    Wenn sie das kann (beispielsweise mit einem "äußeren" und einem "inneren" Bereich) ist es ja sofort kein Problem mehr. Werker geht in den äußeren Bereich -> Roboter bremst ab -> Werker erreicht den inneren Bereich -> Roboter hat limitierte Geschwindigkeit. Springt der Werker mit Anlauf, knallt die Überwachung rein.


    Das wird so - in diversen Abwandlungen - ja in unzähligen Anlagen so gemacht. Nur geht es halt nicht mit einem einzigen Signal, welches man geschickt verzögert, aus guten Gründen.

  • Hallo zusammen,


    ein netter Herr vom ABB Applikationssupport hat mir zur Lösung verholfen. Erst hat er mir auch das "Collaborative Speed Control" Add-In empfohlen. Das ist aber nur für CRB und nicht für IRB Roboter verfügbar.

    Er hat mir dann empfohlen, einen CRB mit virtueller Steuerung zu erstellen, das Collaborative Speed Control Addin bei der Installation des Controllers mit auszuwählen. In den Funktionen muss dann noch das "IO-Package" ausgewählt werden.



    Danach im virtuellen FlexPendant (Berechtigungsstufe Admin) einmal die Default Konfiguration von SafeMove laden.



    Das Add-In macht nichts anderes, als folgende Sachen zu importieren:


    • Den System Input für die Funktion "Limit Speed" festlegen
    • Ein paar Cross-Connections zwischen SafeMove und "Standard"-Teil, um die Limit Speed Funktion und die StopMove Funktion auszuführen
    • In SafeMove die globalen Überwachungen SST und TSP anzulegen
    • Einige Signale und Pre-Logik ausdrücke anzulegen, die die eigentlichen Geschwindigkeitsumschaltungen und Überwachungen auslösen. Auch ein gutes Beispiel, wie die DELAY Funktion zu benutzen ist ;-).



    DELAY(ISH_Enabler_Delay_SST,ProtectingAreaSM,50,ISH_CountDelay_SST,ISH_Delayed_SST)


    Der Wert 50 sind die Anzahl Programmzyklen, um die die Überwachung verzögert wird. In meinem Fall 50 Zyklen. Die Zykluszeit von SafeMove sind 4 ms, also 50 * 4 ms = 200 ms.

    ISH_Enabler_Delay_TSP := ((NOT ISH_UserMODE_bNot_Cooperation) OR (NOT ISH_UserMODE_bNot_IntermitCollab))


    Damit können die Überwachungen über zwei Flags deaktiviert werden.




    WarningAreaSM := (ABB_Scalable_IO_0_DI3 AND ABB_Scalable_IO_0_DI4)


    Hier werden die beiden OSSD Eingänge des Scanners festgelegt, die für das Warnfeld sind. Das muss jeder an seine Bedürfnisse anpassen.


    Das gleiche gibt es dann auch nochmal für die ProtectiveArea, sprich das Stoppfeld.


    So konnte ich meine Applikation lösen und mit einem Scanner mit nur zwei Feldern und OSSD Ausgangspärchen trotzdem zuerst runter rampen und stoppen und verzögert die jeweilige Überwachung scharf schalten.


    Ich hoffe, das hilft euch weiter!


    VG

  • Die Zykluszeit von SafeMove sind 4 ms

    Diese Information ist für mich persönlich die wichtigste! Bisher habe ich mich davor gescheut, Rückführkreise für die Zuschaltung der Druckluft zu kreieren. Das habe ich immer den SPS-Programmierer machen lassen.


    Bei unserem damaligen Fall im Jahre 2021 haben wir selbiges über die SPS im F-Teil gelöst - was ja bei dir leider nicht möglich ist.


    Danke auf jeden Fall für die tolle Aufarbeitung des Themas!

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