Beiträge von WIEKON

    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

    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...

    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!

    Hallo nochmal,


    ich habe mich jetzt mal daran versucht, das Tool in der Leimdüse zu definieren und das Workobject an den Roboter anzuhängen. Der Pfad wurde mit Autopath entlang der Kante erstellt.


    Momentan habe ich noch das folgende Problem: Wenn ich die einzelnen Targets auswähle mit "Zeige Roboter an Position" sieht alles richtig aus (Ja, ich weiß, momentan hängt die Leimdüse noch im Bauteil, aber mir gehts erst mal nur im die Kante. Orientierung kippen und kleinen Abstand mach ich noch).





    Wenn ich den Pfad abfahren lasse, bewegt sich der Roboter mit einem Offset in Z-Richtung den Pfad entlang:






    In den Workobjekt Daten habe ich einen Offset in Z-Richtung für das Workobjekt eingestellt.

    Aber woher kommt der Unterschied zwischen "Vorschau" und tatsächlicher Bewegung? Sollte das nicht gleich aussehen?



    Vielen Dank für eure Hilfe.

    Ich persönlich hätte die Leimdüse als externen TCP definiert, dadurch fällt die Positionierung und vor allem Orientierung des Bauteils erfahrungsgemäß leichter.

    Dann hätte ich in RobotStudio mit der Funktion AutoPfad die Bahn erstellen lassen und diese ggfs. nur noch angepasst..

    Hallo hofd,


    vielen Dank für deine schnelle Antwort. Ich war im Urlaub, deswegen die späte Reaktion.

    Ich habe das Programm in der Simulation vorbereitet und dann vor Ort nochmal angepasst.

    Ist eine interessante Idee mit dem externen TCP, das werde ich mal nachträglich noch ausprobieren, wie schnell ich damit zurecht komme.


    Das Teil hat 8 Ecken, und dann noch ein bisschen drumherum. Wie lange braucht man, um 20 Punkte zu teachen? Ca. 10 Minuten? Da biste doch fertig, bevor Windows mit RS hochgefahren ist....

    Hallo Programmiersklave,


    schon klar, dass es bei dieser speziellen Anwendung noch überschaubar ist. Da ich aber noch ein Einsteiger in der Roboterprogrammierung bin, wollte ich wissen, ob es einen einfacheren / eleganteren Weg gibt. Vielleicht sind es bei der nächsten Anwendung ja ein paar Punkte mehr und ein paar Produkte mehr. Dann dauert das manuelle Teachen vielleicht länger als 10 Minuten.



    Vielen Dank für die Hilfe!

    Hallo zusammen,


    ich hatte im Frühjahr ein Projekt, bei dem Kunststoff-Kappen an den Kanten mit Leim beauftragt werden mussten. Am Einlaufband wurden die Kappen mit einem Sauggreifer gegriffen, dann fuhr der Roboter mit der Kante an der Leimdüse vorbei, am Schluss hat er die Kappe auf das Auslaufband gelegt.


    Für mich war es damals das erste Roboter Projekt und am meisten Zeit verschlang das Teachen der Punkte an der Leimdüse entlang. Damit sich der Vakuum-Schlauch nicht zu weit eindreht und damit die Achs-Limits eingehalten werden, muss während der Bahn auch zweimal umorientiert werden. Es werden auf der Anlage zwei verschiedene Teile gefahren. Für jedes Teil musste ich um die 20 Punkte teachen.


    Hätte ich das auch irgendwie einfacher haben können?


    Ich freue mich auf eure Antworten!


    Vielen Dank!