Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 11:41:48
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: >> Roboterprogrammierer gesucht !? <<

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

Beiträge: 13


« am: 16. Januar 2012, 16:20:12 »

Habe ein Problem mit dem zyklischen Interrupt beim IRB 1400. Die minimale Differenz sollte ja eig. 0.1s sein, was in der Simulation so auch funktioniert.
Am Roboter wirft mir das Handbediengerät jedoch folenden Fehler zurück:
Zitat
Error 40622: The value of argument Time in ITimer is too low for cyclic interrupts.
Ab ca. 0.25s kann ich alles benutzen und es läuft. Kann mir jemand sagen woran das liegen kann?

Code:
Zitat
VAR intnum POS_Inter;

CONNECT POS_Inter WITH POS_TRAP;
ITimer 0.1, POS_Inter;
Gespeichert
Micky
Junior Member
****
Offline Offline

Beiträge: 133



« Antworten #1 am: 17. Januar 2012, 15:09:24 »

Hi,

welche Robotware setzt Du am Roboter ein ?

Die kürzeren Zeiten sind erst ab der Robotware 5.08.04 einsetzbar:
- Single interrupt 0.01, earlier 0.05
- Cyclical interrupt 0.1, earlier 0.25 

Um kürzere Zeiten zu erreichen, kann man auch Singleinterrupts verwenden und in der TRAP-Routine den TimerInterrupt wieder neu verbinden.

Gruß
Micky
Gespeichert
MOSHzilla
Neuling
*
Offline Offline

Beiträge: 13


« Antworten #2 am: 17. Januar 2012, 18:33:44 »

Da bin ich grade ehrlich gesagt überfragt Wink Der steht bei uns in der Uni und so wirklich Ahnung hat davon niemand. Lade da nur über FTP meine Programme drauf und starte die über das Handbediengerät. Aber wird dann wohl etwas älter sein.

Ist es denn möglich sich mit dem Single Interrupt einen zyklischen zu basteln? Da ich damit ein Logfile der Position und Orientierung mache, wäre das sehr wichtig
Gespeichert
Micky
Junior Member
****
Offline Offline

Beiträge: 133



« Antworten #3 am: 17. Januar 2012, 19:17:13 »

Hi,

ja das geht, und zwar so wie ich es bereits oben beschrieben habe.

Code:
VAR intnum irTimer;

PROC main()
  !Erste Initialisierung
  IDELETE irTimer;
  Connect irTimer with T_Update;
  ITimer\Single,0.1,irTimer;
  !
  !Programmausführung
  ...
ENDPROC

TRAP T_Update
  ! Ausführen der erforderlichen Aufgaben
  ...
  !Timer erneut verbinden
  Connect irTimer with T_Update;
  ITimer\Single,0.1,irTimer;
ENDTRAP


Nach der Erstinitialisierung wird die Interruptroutine aufgerufen und Du kannst deine Daten ausgeben. Im Anschluß wird der Interrupt erneut verbunden und nach der erforderlichen Zeit wieder dieser erneut ausgeführt.

Wenn das Programm gestoppt wird, läuft das ganze irgendwann ins leere, außer Du verwendest SingleSafe Interrupts (falls es die auf Deinem System schon gibt) oder Du verbindest die Interrupts über eine Ereignisroutine (Restart) erneut.

Du könntest aber auch ein neues System mit der aktuellen Robotware auf dem Roboter installieren, dann hast Du die Verwendung der Single Interrupts umgangen.

Gruß

Micky

Gespeichert
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: ITimer minimaler Wert « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS