Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
18. Mai 2012, 12:08:30
Ü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: Positionsverschiebung 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Positionsverschiebung  (Gelesen 1016 mal)
dini
Stammgast
**
Offline Offline

Beiträge: 44



« am: 13. November 2007, 11:09:15 »

Hallo ABBler,
ich habe eine S4-Steuerung und möchte folgendes umsetzen:
abhängig von einer Bedingung soll der Roboter an mehreren Stellen im Programm eine andere Position anfahren. Wenn Bedingung a zutrifft, fahre Position * an, wenn bedingung b zutrifft fahre, die gleiche Position mit einer Verschiebung an. (max 10 mm in x,y,z)
Ich möchte das am liebsten so gelöst haben, das mir je nach Bedingung andere x-y-z-Werte in die Position eingespielt werden.
Ist das so möglich?

 merci
Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #1 am: 13. November 2007, 12:47:15 »

Hi Dini,
kannst Dir ja eine Funktion basteln die Dir eine komplette Position zurückgeben in Abhängigkeit einer Übergebenen Position.

z.B.:

PROC Bewegung()
  pBewegung:=pGrundlage;
  IF Bedingung=a pBewegung:=fBerechnung(pGrundlage,X,Y,Z);
  IF Bedingung=b pBewegung:=fBerechnung(pGrundlage,X,Y,Z);
  MoveL pBewegung,.....
ENDPROC

Die Funktion könnte wie folgt aussehen:

FUNC fBerechnung(
    robtarget pModif,
    PERS num nXWert,
    PERS num nYWert,
    PERS num nZWert)
   
    VAR robtarget pAfterModif;

   pAfterModif.trans.x:=pModif.trans.x+nXWert;
   pAfterModif.trans.y:=pModif.trans.y+nYWert;
   pAfterModif.trans.z:=pModif.trans.z+nZWert;
   RETURN pAfterModif
ENDFUNC

Es ist natürlich darauf zu achten das die Verschiebung im Koordinatensystem passt.

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
dini
Stammgast
**
Offline Offline

Beiträge: 44



« Antworten #2 am: 13. November 2007, 13:39:34 »

Hallo Sven,
das hört sich genau danach an, wonach ich gesucht habe. Mal sehen ob ich es so hinbekomme.

Schönen Dank fürs schnelle Antworten

dini
Gespeichert
Hermann
Elite Member
*******
Offline Offline

Beiträge: 808


« Antworten #3 am: 13. November 2007, 13:58:37 »

Vorsicht!
Da fehlt am Anfang von fBerechnung () noch die Zeile

    pAfterModif:=pModif;


Hermann
Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #4 am: 13. November 2007, 14:28:50 »

Hi,
dank Dir Hermann das hatte ich in der Eile vergessen!  pfeif

Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
addi
Stammgast
**
Offline Offline

Beiträge: 47


« Antworten #5 am: 13. November 2007, 15:00:05 »

Hi,

kenne mich nur ein wenig mit S4C+ und aufwärts aus und nicht mit S4, aber gibts in S4 denn die
Offs-Funktion noch nicht ?

Ansonsten wäre fBerechnung() ja eine reine Re-Implementierung von Offs() ?!  kopfkratz

Wenn ich mich da täusche, bitte Post ignorieren  Embarassed

addi
Gespeichert
Hermann
Elite Member
*******
Offline Offline

Beiträge: 808


« Antworten #6 am: 13. November 2007, 16:50:03 »

Hallo,
doch die Funktion gibt es auch schon bei der S4 (evtl. Option Advanced Functions,
die aber meistens dabei ist).

Zu nennen wäre da auch noch RelTool, womit es dann in Toolkoordinaten verschoben
wird.

Es ist auch hier, wie so oft: viele Wege führen nach Rom.

Hermann
Gespeichert
Sven Weyer
Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 912



WWW
« Antworten #7 am: 13. November 2007, 17:32:45 »

Hi,
Offs() oder RelTool() wäre auch meine erste Wahl gewesen wenn da nicht die Bedingung=a bzw. Bedingung=b gewesen wäre. Somit hast Du die flexible Möglichkeit mit der Positionsveränderung die Daten zu behandeln.

z.B.:
für eine bestimmte Vorposition die sich mit verändert etc. Flexibel halt!  zwink

PROC Bewegung()
  pBewegung:=pGrundlage;
  IF Bedingung=a pBewegung:=fBerechnung(pGrundlage,X,Y,Z);
  IF Bedingung=b pBewegung:=fBerechnung(pGrundlage,X,Y,Z);
  MoveL Offs(pBewegung,X,Y,Z),.....
  MoveL pBewegung,.....
ENDPROC



Sven
Gespeichert

Wer nichts macht macht keine Fehler!
Wer keine Fehler macht kann nichts daraus lernen!
Wer nichts lernen kann kann sich nicht weiterentwickeln!
Wer sich nicht entwickelt geht unter!
Seiten: [1] Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  ABB Roboter (Moderatoren: burlibua, Sven Weyer, rmac)  |  Thema: Positionsverschiebung « 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