Moin,
gleich zu Beginn: ja ich habe hier bereits einige Artikel zum Thema gelesen, habe aber immer noch keine Lösung gefunden, welche Vorgehensweise am meisten Sinn macht.
Es geht um das Anhalten bei Auslösung einer externen Überlastkupplung mit einem Öffner.
Folgende Möglichkeiten sind mir bekannt, bzw. wären umsetzbar:
- Sensorsignal wird in übergeordneter Automatisierungs-SPS verarbeitet. SPS ist mit KR C4 über EtherCAT-Bridge verbunden. In AUT und EXT würde die SPS bei Auslösen des Sensors $MOVE_ENABLE auf FALSE setzen.
Nachteil: Es wird in externer SPS verarbeitet; ggf. längere Laufzeit; KR C4 macht dann "nur" STOP 2.
Reicht das aus, oder wäre STOP 1 oder STOP 0 bei Kollision besser? - In sps.sub kann der Sensor (direkt an KEB EK1100 angeschlossen) ausgewertet werden und ROB_STOP() ausgeführt werden.
Wenn ich es richtig verstanden habe, kann ich über den Parameter ROB_STOP_T := #PATH_MAINTAINING indirekt ein BRAKE F auslösen. Roboter kommt dadurch schneller zum Stehen als Lösung 1? - Arbeiten mit Interrupts. Würde dies auch einmalig in CELL funktionieren, oder muss es in jedem aus cell aufgerufenem Programm sein?
Ich suche eine Lösung, die möglichst zuverlässig ist und zum schnellen Stillstand führt. Es arbeiten ggf. auch weniger Erfahrene am Roboter, erstellen vielleicht auch mal Programme für cell. Ein manuelles einbauen in jedes Programm wäre deshalb nicht so gut, wird sonst vergessen und es gibt dann keinen Kollisionsschutz.
Der Schutz soll nur in T2/AUT/EXT aktiv sein. Das wäre zumindest mit der Lösung 1 und 2 leicht umzusetzen. Bei einem Crash muss also in T1 freigefahren werden.
Ich neige zurzeit noch zur Lösung 1, mache mir da aber Gedanken, ob der Roboter dann wirklich schnell genug steht.... SPS-Laufzeiten sind eher gering (10 ms oder dafür ein schnellerer Task), aber die Stopp-Reaktion soll dann eigentlich schneller kommen; oder ist STOP 2 schnell genug?
Nehme gerne eure Tipps auf
Grüße,
h_robot