SPS Programmierer m/w in 73072 Donzdorf zur Festanstellung gesucht
Zum nächstmöglichen Eintritt suchen wir Sie als SPS-Programmierer- / Inbetriebnehmer (m/w)
>> mehr Infos <<

Autor Thema:  Triggern oder Interrupt ????  (Gelesen 2684 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mischwarz

  • Forum Mitglied LV 15
  • *
  • Beiträge: 198
  • Bewertet: +5
Triggern oder Interrupt ????
« am: 26. Januar 2006, 09:29:58 »
moin moin,
ich muss mit einem IRB4400_45 (IRC5) von Punkt A nach Punkt B,um ein Werkstück in eine Wendestation abzulegen.Dabei habe ich schon zwei Drehzylinder zerschossen.Wird allmählich teuer.
Die Routine sieht im Moment so aus:

MoveJ pA,vMax,....
MoveLpB,vMax...
Wendestatzion\Zu;
Greifer\Auf;
MoveL pWartePos....
! ab hier erfolgt die Drehung und das erneute Greifen
.
.
Das Problem ist,dass die Wendestation zufährt,bevor der Robi Punkt Berreicht.
Ich muss zugeben,dass ich pB mit einer Zone z0 ,allerdings steht in Wendestation\Zu zuerst ein WaitTime 0.2;programmiert habe.
Was meint die Fachwelt dazu?
Triggern mit TriggIO oder TriggEquip oder gar TrigInt??
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Es gibt immer einen Weg. ( Wohin auch immer er führen mag )
mischwarz ANNO 2001

Borg

  • Gast
Re: Triggern oder Interrupt ????
« am: 26. Januar 2006, 09:35:54 »
Zuerst würde ich pb mit zone fine anfahren.
Funktioniert es dann immer noch nicht, solltest du in Erwägung ziehen den Status der Wendestation mit einem Endschalter abzufragen. Den Roboter fährst du dann erst weiter wenn der Eingang zur Freigabe da ist.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline mischwarz

  • Forum Mitglied LV 15
  • *
  • Beiträge: 198
  • Bewertet: +5
Re: Triggern oder Interrupt ????
« am: 26. Januar 2006, 09:50:55 »
Hi,
Bevor ich nach pA fahre wird der Zylinder in die Ausgangsstellung gebracht und diZylinderAuf abgefragt.Das ist OK und funktioniert.
Erst wenn er von pA nach pB fährt und kurz bevor er pB erreicht beginnt der Zylinder zuzufahren.
Was ich brauche ist etwas Bombensicheres,egal ob ich mit v10 oder vMax in die Station einfahre.
Ich denke mit TriggEquip und einer Zeitforgabe im Minusbereich (z.B.-0.2) sollte es funktionieren.Eventuell sollte ich noch eine vorposition anfahren,z.B. MoveL Offs(pB,0,0,2),v200,... und diese Position in einem Interrupt,wo ich diZylinderAuf beobacht.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Es gibt immer einen Weg. ( Wohin auch immer er führen mag )
mischwarz ANNO 2001

Borg

  • Gast
Re: Triggern oder Interrupt ????
« am: 26. Januar 2006, 11:10:03 »
Das mit der Zwischenposition ist keine schlechte Idee. Dahinter fügst du einfach eine Warteposition ein bis DiZylinderAuf da ist (WAITDI). Und erst dann fährst du auf pb weiter.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline mischwarz

  • Forum Mitglied LV 15
  • *
  • Beiträge: 198
  • Bewertet: +5
Re: Triggern oder Interrupt ????
« am: 26. Januar 2006, 12:38:42 »
Ich werde es heute Nachmittag ausprobieren.
Wenn ich ein Zufriedenstellendes Ergebnis habe,stelle ich es vor.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Es gibt immer einen Weg. ( Wohin auch immer er führen mag )
mischwarz ANNO 2001

Offline mischwarz

  • Forum Mitglied LV 15
  • *
  • Beiträge: 198
  • Bewertet: +5
Re: Triggern oder Interrupt ????
« am: 27. Januar 2006, 06:39:17 »
Ich habe mein kleines Problem wie folgt geloest:



   !------------------------------------------------------------
    !Procedur     : wende1
    !Beschreibung : Ablaufroutine zum Wenden eines Werkstückes
    !             :
    !             :
    !Parameter    : keine 
    !------------------------------------------------------------
    PROC wende1()
        ! Homeposition Wendestation
      mv_HomeWende;
      VelSet 75, 2000;
        ! Wendestation zurueckfahren
      rWende\Rueck,0;
        ! Wendestation auseinanderfahren
      rWende\Auf,0.5;
        ! In Vorposition zum Ablegen fahren
      MoveJ pW1Abl,v5000,z5,tGreifer\Wobj:=wUmGr;
        ! In Naeherrungsposition zum Ablegen fahren
      MoveL pW2Abl,v500,z5,tGreifer\Wobj:=wUmGr;
        ! In Ablegeposition fahren und Werkstueck spannen
       mv_LoesePos -0.2, v100;
         ! Greifer oeffnen
      rGreifer\Auf, 0.5;
        ! In Warteposition fahren und Wendestation vorfahren
      MoveL pWarteWende,v500,fine,tGreifer\Wobj:=wUmGr;
        ! Wendestation vordrehen
      rWende\Vor, 0.5;
        ! In Vorposition zum Greifen fahren
      MoveL pW2Auf,v500,z5,tGreifer\Wobj:=wUmGr;
        ! In Greifposition fahren
      MoveL pW3Auf,v500,fine,tGreifer\Wobj:=wUmGr;
      rGreifer\Zu,0.5;
        ! Wendestation auseinanderfahren
      rWende\Auf, 0.5;
        ! Aus Wendestation ausfahren
      MoveL pW2Auf,v5000,z5,tGreifer\Wobj:=wUmGr;
        ! In Vorposition fahren
      VelSet 100,5000;
      MoveJ pW1Auf,v5000,z5,tGreifer\Wobj:=wUmGr;
        ! In Homeposition der Wendestation fahren
      mv_HomeWende;
        ! Wendestation zurueckdrehen
      rWende\Rueck,0;
    ENDPROC

  PROC mv_LoesePos(
    num Zeit,
    speeddata Speed)

    CONST string stFm:=" Fehler beim Zylinder; zufahren";
    VAR bool bERROR;

    Reset doWendeAusf;
      ! Vorposition anfahren und Zylinder beobachten
    CONNECT irWende_1 WITH T_Wende;
    ISignalDI diWendeUntenEin,0,irWende_1;
    MoveL Offs(pW3Abl,0,10,10), v500, z0, tGreifer\WObj:=wUmGr;
    IDelete irWende_1;
      ! Loeseposition anfahren
    TriggEquip trWende_2,0,Zeit\DOp:=doWendeAusf,1;
    TriggL pW3Abl,Speed,trWende_2,fine,tGreifer\WObj:=wUmGr;
      ! Warten bis Zylinder ausgefahren ist
    WaitUntil diWendeObenAus=1 AND diWendeUntenAus=1\MaxTime:=2\TimeFlag:=bERROR;
      ! Fehlerbehandlung
    IF bERROR THEN
      Set doSimStoer;
      Reset doWendeAusf;
      PulseDO\PLength:=0.2, doWendeEinf;
      rGreifer\Auf,0;
      mv_Reset 0, 0, 200;
      TPErase;
      TPWrite " Fehler Wendestation ";
      TPWrite stFm ;
      TPReadFK nFK,"Abbruch","Abbruch",stEmpty,stEmpty,stEmpty,stEmpty;
      prog_exit;
    ENDIF
    Reset doWendeAusf;
   ENDPROC

  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Es gibt immer einen Weg. ( Wohin auch immer er führen mag )
mischwarz ANNO 2001

mod-poser

  • Gast
Re: Triggern oder Interrupt ????
« am: 09. Februar 2006, 19:11:56 »
Hallo,
bei Dir fehlt nur das optionale Argument /InPos für das Waittime.

grüße
msc
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline mischwarz

  • Forum Mitglied LV 15
  • *
  • Beiträge: 198
  • Bewertet: +5
Re: Triggern oder Interrupt ????
« am: 10. Februar 2006, 13:09:47 »
In der Tat,

Danke mod-poser. :merci:
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert
Es gibt immer einen Weg. ( Wohin auch immer er führen mag )
mischwarz ANNO 2001


xx
Weltzone Triggern

Begonnen von mischwarz

5 Antworten
822 Aufrufe
Letzter Beitrag 09. September 2016, 06:49:40
von mischwarz
xx
Roboterpositionen Triggern

Begonnen von Catamanta

9 Antworten
4793 Aufrufe
Letzter Beitrag 28. August 2008, 23:41:30
von SPSdaniel
xx
Triggern wie beim KUKA

Begonnen von Florian

5 Antworten
2177 Aufrufe
Letzter Beitrag 05. Februar 2009, 19:02:48
von Florian
xx
Interrupt

Begonnen von Robiman

2 Antworten
1628 Aufrufe
Letzter Beitrag 14. Februar 2009, 17:34:43
von Robiman
xx
Interrupt

Begonnen von jan70

2 Antworten
1172 Aufrufe
Letzter Beitrag 03. März 2013, 14:08:14
von Alex Gebert
 

über das Roboterforum

Nutzungsbedingungen Impressum
Sitemap