ABB Roboterschulung von praxiserfahrenen Trainern
in unserem Schulungszentrum in Mainburg oder vor Ort bei Ihnen
Bediener und Expertenschulungen anfragen

Autor Thema:  Geschwindigkeit während Positionierung beeinflussen  (Gelesen 6717 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline irb6400R

  • Forum Mitglied LV 1
  • *
  • Beiträge: 27
  • Bewertet: 0
Geschwindigkeit während Positionierung beeinflussen
« am: 06. Juli 2006, 01:31:42 »
Hallo,

bin neu in diesem Forum.

weiß von euch jemand wie man die Geschwindigkeit während der Positionierung beeinflussen kann ? bzw. ob das bei der s4C+ überhaupt möglich ist ?

(Hintergrund: versuche Presse & Roboter zu synchronisieren)

bin für jede Hilfe dankbar
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline maddin

  • Forum Mitglied LV 14
  • *
  • Beiträge: 168
  • Bewertet: 0
Hallo,

kannst du die Frage ein wenig genauer beschreiben?

willst du die Robotergeschwindigkeit an die Pressengeschwindigkeit anpassen?

Wenn ja, aus welchem Grund ?

Gruß maddin
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Robiman

  • Global Moderator
  • Forum Elite LV 9
  • *
  • Beiträge: 415
  • robi for ever
    • Ersatzteile für ABB Roboter
  • Bewertet: +12
eine Syncronistaion Presse und Roboter irgendwie über das Anpassen der Geschwindigkeit zu erreichen erschein mir als viel zu unsicher.
Das kannzwar mal funktionieren aber sobald sich irgendwas wo ändert passt nichts mehr. Roboter oder Presse wer kommt ins Finale??
Da brauchst du schon ein präzises Handling mit einer sauberen Kommunikation.
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline irb6400R

  • Forum Mitglied LV 1
  • *
  • Beiträge: 27
  • Bewertet: 0
Hallo,

zu erst mal Sorry, "Synchronisation" ist nicht ganz der richtige Ausdruck für das was ich versuche.


zur Info:
vollautomatisierte Pressenlinie mit 5 bzw. 6 hydr. Pressen und je einem 6400R dazwischen. Fertigen Karosserieteile (Frontklappen, Heckklappen, aber auch kleinere Teile)
je nach größe des Teils ca.  6-11 Hub/min.


also mein Problem ist folgendes:

zur Zeit fährt der Roboter mit fester Geschwindigkeit (meist v3000 oder schneller) auf seinen Wartepunkt vor der Presse und
wartet dort bis die Presse das "OK" zum entladen gibt.


Da die Kommunikation zur Presse (was die Entladefreigabe betrifft) nur aus einem Bit besteht (Presse --> S7 --> Roboter) fährt der Roboter entweder durch oder stoppt, je nach dem ob das Signal da ist oder nicht.


wollte nun versuchen die Geschwindigkeit während der Bewegung zu dem Wartepunkt irgendwie zu beeinflussen (also mal etwas schneller wenn die Freigabe schon da ist, mal etwas langsamer wenn die Freigabe noch nicht da ist) so dass der Roboter nicht erst stoppt sondern durchfahren kann. (alles eine sache von paar ms)

kleines. Bsp.:

Presse ist im Rück-Hub - Roboter bewegt sich mit der festen Geschwindigkeit
(teilabhängig ,v3000 - v4000) gerade auf dem Weg zum dem Wartepunkt.
Roboterprg. fragt Entladefreigabe ab -- Freigabe fehlt -- Roboter beginnt zu bremsen.
und jetzt kommt die Freigabe aber nun fährt der roboter den Punkt als Stoppunkt an obwohl er
nun doch durchfahren könnte. dadurch geht natürlich "viel" Zeit verloren.

das möchte ich gern verhindern indem ich den roboter etwas langsamer zu dem punkt fahren lasse und sobald das Freigabesignal kommt soll er schneller fahren.



  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Dos 6.22

  • Forum Mitglied LV 14
  • *
  • Beiträge: 162
  • Bewertet: +1
du kannst statt dem festen wert eine varibale einesetzten. den wert der variablen änderst du dann je nach signalzustand.

zb  if dipressebereit==true then
        igeschwpress=3000
     else
        igeschwpress=2000
     endif

du musst dann blos schauen wie das mit dem programmvorlauf klappt. einfach mal ausprobieren wie das funktioniert.

eine 2te idee wäre über den override die geschwindigkeit anzupassen. und in nem eigenen task das signal zu überwachen. aber dafür bräuchstest du dann multitasking bei deinen abb
« Letzte Änderung: 07. Juli 2006, 08:36:38 von abuschmeyer »
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Asmodeus

  • Forum Mitglied LV 2
  • *
  • Beiträge: 33
  • Bewertet: 0
Hallo IRB6400R

Du kannst auch ein Interrupt Programmieren, der auf dein Signal reagiert. In der Interruptroutine programmierst du "Velste"-Instruction (Geschwindigkeitoverride) mit 100% :jawohl: und bevor du dein vorpunkte anfahre kannst du Velset auf 50% einstellen.

Es ist ein Methode aber sicher nicht die einzigste Lösung  :ylsuper:

Tcho




  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline maddin

  • Forum Mitglied LV 14
  • *
  • Beiträge: 168
  • Bewertet: 0
Hallo,

ich würde auch den Override außerhalb der Pressen runterschrauben und mit Interrupts (Presse bereit) auf 100% setzen.   :genau:

Mußt halt dringend absichern daß du nicht mit runtergeschraubten Override im Pressenbereich rumfährst (hast ja sicher Belader/Pressenfrühstart).

Meld dich doch dann mal obs funktioniert, würd mich interessieren.

Gruß maddin
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline irb6400R

  • Forum Mitglied LV 1
  • *
  • Beiträge: 27
  • Bewertet: 0
Hallo Asmodeus,

 :gutidee:, habe auch gleich mal das ganze ins Programm reingebastelt und in der
Simulation (QuickTeach) ausprobiert.
Leider hat es (zumindest in der Simulation) nicht funktioniert.


habe einfach am Programmanfang den Override mit VelSet auf 10 gesetzt und nur durch den Interrupt den Override wieder auf 100 gestellt.  das hat auch ansich auch wunderbar funktioniert. :)

aber....

wenn ich das Signal für den Interrupt setze wird der Interrupt zwar behandelt (Habe mir zur Kontrolle in der Interruptroutine ein Ausgangssignal gepulst)
aber erst nach Ende der Bewegung bzw mit beginn der nächsten Bewegung wurde die geschwindigkeit tatsächlich wieder auf 100% gesetzt.  :angry:

sprich die Bewegung wurde mit dem niedrigen Override zuende gefahren ... obwohl der Override durch den Interrupt wieder auf 100 gestellt wurde.

....und das ist leider genau das Problem an dem ich bisher schon immer gescheitert bin,
   schaffe es einfach nicht die beim "einlesen" der Bewegung aktiven Werte für die Geschwindigkeit  programmtechnisch zu ändern.
« Letzte Änderung: 07. Juli 2006, 13:13:38 von irb6400R »
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline irb6400R

  • Forum Mitglied LV 1
  • *
  • Beiträge: 27
  • Bewertet: 0
Hallo nochmal,

irgendwie muss es aber möglich sein das ganze programmtechnisch zu beeinflussen denn wenn
ich am PHG den Override per Hand ändere reagiert der Roboter ja auch sofort während der Bewegung und nicht erst bei der nächsten Bewegung.  :kopfkratz:

Werde das ganze heute nochmal in der Realität ausprobieren, vielleicht klappt es ja nur in der Simulaion nicht. (bisher hat ABB-Simulation und Realität immer übereingestimmt, hoffentlich diesmal nicht)

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

Offline stromer

  • Forum Elite LV 7
  • *
  • Beiträge: 365
  • Denken hilft
  • Bewertet: 0
Hallo IRB6400R,

das mit dem Interurrupt funktioniert vermutlich aus dem Grund nicht, weil die Bewegung quasi schon geplant ist. :(
Du könntest evtl. noch einen Zwischenpunkt einfügen, dann springt er früher wieder auf die hohe Geschwindigkeit. Weiß aber nicht ob Du das willst  :zwink:
Ich hätte da noch einen anderen Vorschlag: machs doch umgekehrt: Fahre mit der hohen Geschwindigkeit zur Presse und auf einem bestimmten Punkt auf der Bahn (der muß natürlich ausgetüftelt werden) prüfst du mit TriggCheckIO ob die Freigabe da ist. Wenn ja, düst der Robbi weiter, bei nein kannst Du z.B. mit einem Stopmove die geplante Bahn wegwerfen und mit einem neuen Fahrbefehl langsamer fortsetzen.

Vielleicht bringt Dich das ja weiter oder zumindest auf neue Ideen.

Gruß
Stromer
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline irb6400R

  • Forum Mitglied LV 1
  • *
  • Beiträge: 27
  • Bewertet: 0
Hallo zusammen,

mit Zwischenpunkten und zusätzlichen signalabfragen hab ich auch schon viel getüftelt aber durch SPS-Zyklen etc. kommt doch alles etwas verspätet an. Es war teilweise schlimmer als vorher.

Weiß von euch jemand in welche Variable/Parameter der Override, den man am PHG einstellt, geschrieben wird ?

eine andere Variante die ich gern ausprobieren würde ist folgende:

würde gern abfragen ob der Wartepunkt vor der Presse als Stoppunkt angefahren wurde, dann entsprechend einen zusätzlichen Task anlegen und in dem ich die Geschwindigkeit automatisch erhöhen oder verringern.

die Idee find ich gut, habe aber selbst keinerlei Lösungsansatz. :huh:

ich weiß nur das man den zuletzt angefahrenen robtarget auslesen kann, nun ist die große Frage geht das für die Zone auch ????


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

Offline maddin

  • Forum Mitglied LV 14
  • *
  • Beiträge: 168
  • Bewertet: 0
Hallo IRB6400R,

wie sieht denn deine Abfrage aus, die die Freigaben behandelt ?

Eine While-Schleife ?
Oder Wait- Anweisung ?

Was wird nach der Abfrage noch alles abgearbeitet, bevor die nächste Bewegungsinstruktion ausgeführt wird?

Gruß Maddin
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline Micky

  • Forum Elite LV 5
  • *
  • Beiträge: 304
  • Bewertet: +75
Hallo irb6400R,

eine Geschwindigkeitsänderung mit Velset ist immer erst bei der nächsten Position aktiv, ist der Roboter bereits in Bewegung erfolgt keine Änderung der Geschwindigkeit.

ABB bietet die Software/Hardware-Option "Sensor Synchronisation" für deine Aufgabenstellung an, die den Öffnungshub der Presse über einen Encoder auswertet und die Geschwindigkeit des Roboters entsprechend anpasst.

Auszug aus dem Handbuch:

Zitat
The option Sensor Synchronization adjusts the robot speed to an external moving device (e.g.
a press or conveyor) with the help of a sensor. It can also be used to synchronize two robots
with each other.

Description:
For Sensor Synchronization, a sensor is used to detect the movements of a press door,
conveyor, turn table or similar device. The speed of the robot TCP will be adjusted in
correlation to the sensor output, so that the robot will reach its programmed target at the same
time as the external device reaches its programmed position.
The synchronization with the external device does not affect the path of the robot TCP, but it
affects the speed at which the robot moves along this path.


Gruß
Micky
  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline irb6400R

  • Forum Mitglied LV 1
  • *
  • Beiträge: 27
  • Bewertet: 0
Hallo Maddin, Hallo Micky,

also die Abfrage ist eine While-Schleife.
in der Schleife selbst bzw. nach der Schleife wird nicht viel gemacht, nur paar einfache Instruktionen.
Auf alle Fälle ist nix dabei was zu Verzögerungen der Programmabarbeitung führt, so dass z.B. der nächste Target nicht rechtzeitig berechnet werden könnte, oder ähnliches.

Ja, ich weiß das ABB soetwas anbietet, die wollen es ja auch an uns verkaufen.
Aber mein Chef will das Geld nicht unbedingt ausgeben solange die Hoffnung besteht es selbst hinzukriegen. .......und etwas ehrgeizig bin ich auch noch.



Grüße IRB6400R

  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert

Offline maddin

  • Forum Mitglied LV 14
  • *
  • Beiträge: 168
  • Bewertet: 0
Hmmm,

vielleicht könntest du die While Schleife für die Anpassung nutzen.

Nur so eine Idee: Wenn der Programmvorlauf in der Schleife landet, weil die Freigabe noch nicht da ist (WHILE FREIGABE PRESSE = 0) könntest du hier ein bool setzen. Mit diesem Bool setzt du dann für den nächsten Zyklus den Override ein wenig zurück, das wiederholt sich so lange bis die Schleife nicht mehr bearbeitet wird, da das Freigabesignal schon gegeben ist, bevor der Programmvorlauf zur Abarbeitung der Schleife kommt. Wird das Bool nicht mehr gesetzt, kann der Override wieder hochgesetzt werden (kleine Schritte, versteht sich).
Oder evtl einen Zähler, der die Anzahl der Schleifendurchläufe zählt, dementsprechend hoch ist der Programmvorlauf und es kann beim Override ein wenig mehr zurückgenommen werden.

Bin gespannt obs funktioniert  :?

  • finde ich gut    Danke, das hat mir geholfen    brauche Hilfe    da stimmt was nicht    Lesenswert


xx
S3 Bahnkorrektur während Prozess

Begonnen von abc123

4 Antworten
1175 Aufrufe
Letzter Beitrag 20. Juni 2012, 23:24:59
von SJX
xx
Störung während Auto - Betrieb

Begonnen von matze

5 Antworten
2783 Aufrufe
Letzter Beitrag 24. Januar 2006, 10:01:47
von Sven Weyer
xx
Teile während Programmablauf ein- und ausblenden

Begonnen von Laura

3 Antworten
1185 Aufrufe
Letzter Beitrag 13. Juli 2016, 23:07:52
von Micky
xx
Fehlerhaftes Signal während Schweißphase POST2END

Begonnen von drudge

0 Antworten
539 Aufrufe
Letzter Beitrag 11. Dezember 2014, 14:48:11
von drudge
xx
Analogwert während einer Bewegung überwachen

Begonnen von timmey89

5 Antworten
1423 Aufrufe
Letzter Beitrag 19. März 2013, 22:01:39
von Paulaner
 

über das Roboterforum

Nutzungsbedingungen Impressum
Sitemap