Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
30. Juli 2010, 23:08:50
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: English and international Robotsupport now on Robot Forum. Also Supported by the Moderators of the roboterforum.de

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Verriegelung zweier Roboter 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Verriegelung zweier Roboter  (Gelesen 701 mal)
Werner_Robi
Stammgast
**
Offline Offline

Beiträge: 34


« am: 14. März 2010, 15:07:52 »

Hy Jungs,

ich habe 2 Roboter über einem Förderband.
Die Roboterarbeitsbereiche überlappen sich in der Mitte.
Die Roboter hängen an einer IRC5 im Mutimove Betrieb.
Die Positionen kommen von 2 Kameras.

Daduch kann es je nach Belegung des Bandes zu einer Kollision kommen.

All mein gelerntes über Verriegelungen hat dieses Projekt in Frage gestellt.
Denn die IRC5 ist so schnell und die Signale so langsam.

Hat da jemand eine Vorlage die funktioniert.

Danke für euer Feedback !
Gespeichert
högi
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 217



« Antworten #1 am: 14. März 2010, 23:40:38 »

Hallo Werner,
ich habe so etwas Ähnliches über stationäre Worldzonen realisiert.
Das Worldzonen Signal kommt immer.
Unabhängig vom Programmablauf oder vom Modus. (Auto, Hand)

Ein Robbi überwacht den anderen und stoppt ihn über einen Interrupt, falls nötig.
Funktioniert bisher bestens!

vielleicht hilft dir folgender Beitrag:

http://www.roboterforum.de/roboter-forum/abb_roboter/2_robbis_in_einer_zelle-t5806.0.html;msg26325#msg26325

Gruß
Högi
Gespeichert

Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!
Albert Einstein
dust2
Member
***
Offline Offline

Beiträge: 69


« Antworten #2 am: 16. März 2010, 09:14:57 »

Hallo Werner,

hier mal einwenig Code, für eine kugelförmige TEMPORÄRE!! WORLDZONE um eine definierbare (Achs)Position pSafe des Rob1 die z.B außerhalb Arbeitsbereich Rob2 liegt!
D.h. immer wenn der Rob1 innerhalb der Zone wzRobSafe (Kugelradius mit nRadius) steht, wird Ausgang doInSafe_R1 gesetzt.
Mit dem Signal kann Rob2 prüfen, ob Rob1 in sicherer Pos steht, bevor er zum Teil fährt!
Auf Rob2 das Ganze genauso für Rob1!
Ich verwende dieses Prinzip auch in nicht MMV-Projekten für Bildung Signal an die SPS "doInHome_R1":



VAR wztemporary wzRobHome;
VAR wztemporary wzRobSafe;
VAR shapedata joint_space;
CONST num nRadius:=0.5;
CONST speeddata v1    := [   1, 500, 5000, 1000];
! Homepos ungleich Kalibrierstellung wegen Keil
CONST jointtarget pHome:=[[0,0,0,29.0095,96.102,73.201],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget delta_pos:=[[nRadius,nRadius,nRadius,nRadius,nRadius,nRadius],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
 TASK PERS jointtarget pSafe:=[[-42.0604,-31.6787,31.1158,2.98444,90.8549,-1.43535],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];


! HOME-Weltzone zur Meldung inHOME
 WZFree wzRobHome;
 WZHomeJointDef \Inside,joint_space,pHome,delta_pos;
 WZDOSet \Temp,wzRobHome,\Inside,joint_space,doInHome_R1,1;

 ! SAFE-Weltzone zur Meldung inSAFE
 WZFree wzRobSafe;
 WZHomeJointDef \Inside,joint_space,pSafe,delta_pos;
 WZDOSet \Temp,wzRobSafe,\Inside,joint_space,doInSafe_R1,1;

Bei stationären Weltzonen soll man im Kollisionsfall das Problem haben, das sich beide Roboter gegenseitig blockieren z.B. wenn jemand einen Robi in die Zone des Anderen von HAND fährt und du diese nur mit Ausschalten und man. Bremse lösen freirücken kannst,weil stationären Weltzonen nicht per RAPID deaktiviert werden können! Ok- immer noch besser als Kollision aber trotzdem nervig!




Grüße dust2
Gespeichert
högi
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 217



« Antworten #3 am: 16. März 2010, 20:02:06 »

Hallo dust2,
ganz so dramatisch ist das mit den Sationären Worldzonen nicht, es sei denn du schaltest wirklich Hardwaremäßig den Motorstrom ab.
Ansonsten solltest du in "Hand" mit dem Joystick die Roboter immer noch bewegen können.
Du kannst in "Hand" auch deine "Homerun" Routine aufrufen, einen Robbi nach "Home" fahren und dann neu starten.

In "Auto" geht natürlich nichts mehr weil dir dann der Interrupt dazwischen funkt.
Aber das soll ja auch so sein und das ist bei Temporären Worldzonen auch nicht anders.
Ich benutze in solchen Fällen immer stationäre Worldzonen, genau deshalb: weil man die in Rapid nicht abschalten kann!
Die funktionieren immer unabhänig vom Programm!!!!

Gruß
Högi
Gespeichert

Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!
Albert Einstein
dust2
Member
***
Offline Offline

Beiträge: 69


« Antworten #4 am: 17. März 2010, 13:51:05 »

Hallo Högi,

hab leider kein MMV-System zum Testen im Hause, werde das Freifahren aus stationären WZ bei Gelegenheit nochmals ausführlich testen. 
Bist Du der Meinung, das die gezeigte Variante mit temp. WZ unsicher ist?

dust2

Gespeichert
titan72
Global Moderator
Deluxe Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 496



« Antworten #5 am: 17. März 2010, 17:57:09 »

yes, sind zu unsicher, nimm stationäre und aktivieren im POWER ON event!!!
Gespeichert

‘Go To Statement Considered Harmful’

„Seit Jahren bin ich nun mit der Beobachtung vertraut, dass die Qualität von Programmierern eine abnehmende Funktion der Dichte von GOTO Anweisungen in ihren Programmen ist.“
Edsger W. Dijkstra

Dem haben wir nichts hinzuzufügen!
Werner_Robi
Stammgast
**
Offline Offline

Beiträge: 34


« Antworten #6 am: 17. März 2010, 20:26:48 »

Eigentlich war mein Ansatz gar nicht einzufahren wenn der andere drin steht, denn sonst steht ja die Anlage und der Bediener muss eingreifen... das will doch keiner oder ?
Gespeichert
Thilbi
Junior Member
****
Offline Offline

Geschlecht: Männlich
Beiträge: 147



« Antworten #7 am: 18. März 2010, 07:21:26 »

Dann frag doch einfach, bevor du in den Überlappungsberich reinfährst, den Zustand des Ausgangs für die Weltzone des anderen Roboters ab. Erst wenn dieser frei ist geht es weiter. Um evtl. Timingprobleme zu umgehen kann man immer noch ein zweites Signal bei jedem Roboter einsetzen, mit diesem wird dann der Bereich sofort nachdem erkannt wurde dass der Bereich für den 1. Roboter frei ist, der andere Roboter gesperrt.

Hast du bisher immer mit Ein/Ausgängen die Roboter miteinander verriegelt oder über Variablen?


Gruß
Thilbi
Gespeichert
högi
Special Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 217



« Antworten #8 am: 18. März 2010, 19:25:00 »

So würde ich das auch machen,

Dann frag doch einfach, bevor du in den Überlappungsberich reinfährst, den Zustand des Ausgangs für die Weltzone des anderen Roboters ab. Erst wenn dieser frei ist geht es weiter. Um evtl. Timingprobleme zu umgehen kann man immer noch ein zweites Signal bei jedem Roboter einsetzen, mit diesem wird dann der Bereich sofort nachdem erkannt wurde dass der Bereich für den 1. Roboter frei ist, der andere Roboter gesperrt.

Der Interrupt, der dazu führen würde das alles stehen bleibt, ist ja nur als Sicherheit gedacht.
Falls sich die beiden Robbis, aus welchen Gründen auch immer, doch einmal zu nahe kommen.
Dann muß natürlich der Bediener eingreifen, aber immer noch besser als ein Trupp Mechaniker die dir deine Roboterzelle wieder gerade biegen.  aufsmaul

Gruß
Högi
Gespeichert

Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!
Albert Einstein
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Verriegelung zweier Roboter « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
Prüfe XHTML 1.0 Prüfe CSS