20. März 2019, 08:15:04
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

 Zonen bei Stäubli


normal_post Autor Thema:  Zonen bei Stäubli  (Gelesen 2344 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

09. Mai 2012, 15:03:13
Gelesen 2344 mal
Offline

cbrigger


Hallo zusammen,

muss ein Programm erstellen, wo ich bei einem Handshake zu einer anderen Anlage die Fahr-Freigabe der anderen Anlage wegnehmen muss damit diese nicht in den Robi reinfährt.

Bei ABB hab ich dort meistens mit Worldzone gerarbeitet, da es aber bei Stübli diese nicht gibt, wollt ich fragen wie ihr das lösen würdet.

Danke schon mal für eure Antworten.

  • gefällt mir    Danke

Heute um 08:15:04
Antwort #1

Werbung

Gast

10. Mai 2012, 08:43:46
Antwort #1
Offline

Urmel

Global Moderator
Hallo,

ich denke der übliche Weg ist, das mit einem zusätzlichen Task im Programm zu erledigen.
  • gefällt mir    Danke

04. Juni 2012, 11:26:37
Antwort #2
Offline

cbrigger


Danke,

habs nun so gemacht und funtkioniert ganz gut so.
Einzig ist das Problem das wenn der Task nicht am laufen ist, die Zonenüberwachung auch nicht läuft.

Was dann zu unangenehmen Überaschungen führen kann.
  • gefällt mir    Danke

05. Juli 2012, 08:34:38
Antwort #3
Offline

Dos 6.22


num taskStatus (<string Name>)

Mit diesem Befehl kann man den Status eines Task abfragen. Dann bekommt man auch mit, ob der Task läuft oder nicht.
Man muss aber mindestens 3 Tasks haben, damit die Überwachung klappt.

Ich habe es so gemacht, dass es einen SPS Task gibt. Ähnlich der sps.sub im KUKA.
Diese prüft dann nach ob der Weltzonen Task läuft. Falls nicht Task neu starten oder Nothalt.

Die Weltzonen sind dann ein eigener Task. Ist sowieso zu empfehlen. Wenn die Überwachung der Weltzonen in einem grossen Taks zusammen mit anderen Abfragen ist, dauert der Durchlauf länger. Und das möchte man bei Arbeitsraumüberwachung eher nicht. Dieser Task prüft auch bei jedem Durchlauf nach, ob der SPS Task noch läuft. Falls nicht neustart Task oder Nothalt.

Und der Dritte Task ist dann der Move Task.
Dort prüfe ich vor jedem neuen Zyklus Durchlauf ebenfalls nach ob der SPS Task läuft.

So sollte man auf der sicheren Seite sein, dass alle Tasks immer laufen.
___________________________________________________________________________

num taskStatus (<string Name>)

-1 Es gibt keine Task Name
0 Die Task Name ist ohne Ausführungsfehler gestoppt
1 Die Task Name befindet sich in Ausführung
10 Ungültige numerische Berechnung (Division durch Null).
11 Ungültige numerische Berechnung (zum Beispiel ln(-1))
20 Zugriff zu einer Tabelle mit höherem Index als die Tabellengröße.
21 Zugriff zu einer Tabelle mit negativem Index.
29 Ungültiger Name der Task. Siehe Anweisung taskCreate().
30 Der festgelegte Name entspricht keiner Task von VAL3.
31 Es existiert bereits eine Task gleichen Namens. Siehe Anweisung taskCreate.
40 Der Speicherplatz genügt nicht für die Daten.
41 Der Ausführungsspeicher ist für die Task unzureichend. Siehe Größe des Ausführungsspeichers.
60 Maximale Ausführungszeit der Anweisung ist abgelaufen.
61 Interner Fehler des VAL3-Interpreters
70 Ungültiger Wert des Parameters der Anweisung. Siehe entsprechende Anweisung.
80 Verwendung von Daten oder Programmen einer nicht im Speicher geladenen Bibliothek.
90 Die Task kann an der festgelegten Stelle nicht wieder aufgenommen werden. Siehe Anweisung
taskResume().
100 Die im Bewegungsdeskriptor spezifizierte Geschwindigkeit ist ungültig (negativ oder zu groß).
101 Die im Bewegungsdeskriptor spezifizierte Beschleunigung ist ungültig (negativ oder zu groß).
102 Die im Bewegungsdeskriptor spezifizierte Abbremsgeschwindigkeit ist ungültig (negativ, zu groß oder kleiner
als die Geschwindigkeit).
103 Die im Bewegungsdeskriptor spezifizierte Translationsgeschwindigkeit ist ungültig (negativ oder zu groß).
104 Die im Bewegungsdeskriptor spezifizierte Rotationsgeschwindigkeit ist ungültig (negativ oder zu groß).
105 Der im Bewegungsdeskriptor spezifizierte Parameter reach ist ungültig (negativ).
106 Der im Bewegungsdeskriptor spezifizierte Parameter leave ist ungültig (negativ).
122 Schreibversuch auf einem Eingang des Systems.
123 Verwendung eines Ein-/Ausgangs dio, aio oder sio, der keinem Ein-/Ausgang des Systems zugeordnet ist.
124 Versuch des Zugriffs auf einen geschützten Ein-/Ausgang des Systems
125 Lese- oder Schreibfehler an einem dio, aio oder sio (Fehler auf Feldbus)
150 Diese Bewegungsanweisung lässt sich nicht ausführen: Eine vorher angeforderte Bewegung konnte nicht
beendet werden (Punkt nicht erreichbar, singulärer Punkt, Konfigurationsproblem usw.)
152 Verwendung eines point ohne Referenzsystem. Siehe Definition.
153 Bewegungsbefehl nicht unterstützt
154 Ungültige Bewegungsanweisung: Bewegungsdeskriptor überprüfen.
160 Koordinaten des Werkzeugs flange nicht gültig
161 Koordinaten des Koordinatensystems world nicht gültig
162 Verwendung eines point ohne Referenzsystem. Siehe Definition.
163 Verwendung eines Koordinatensystems ohne Referenzsystem. Siehe Definition.
164 Verwendung eines Werkzeugs ohne Referenzwerkzeug. Siehe Definition.
165 Referenzsystem oder Referenzwerkzeug ungültig (globale Variable mit lokaler Variablen verbunden)

  • gefällt mir    Danke


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH