21. Mai 2019, 21:17:40
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[gelöst] roboter programm


normal_post Autor Thema: [gelöst] roboter programm  (Gelesen 6877 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

16. März 2006, 21:15:03
Gelesen 6877 mal
Offline

memoli


Hallo zusammen
arbeite seit kurzem mit Fanuc roboter Wollte nun  ein programm schreiben womit ich mir einige arbeit sprachen kann.

muß mit roboter bleche sprühen  die eben sind und auf träger liegen.
wollte über register die länge ,bahn abstand und wieviel bahnen ermachen soll
eingeben .
kann denn einer mir dabei tips geben wie ich anfangen kann

vielen dank im vorraus
mfg
memoli



« Letzte Änderung: Gestern um 16:10:02 von Sven Weyer »
  • gefällt mir    Danke

Heute um 21:17:40
Antwort #1

Werbung

Gast

16. März 2006, 23:55:20
Antwort #1
Offline

rob76

Global Moderator
das einfachste ist wohl du arbeitest mit    tool offset oder offset  bewegungsoptionen.
damit könnte man sowas mit 1 geteachten punkt realisieren.
startpunkt teachen->den rest berechnen und-> mithilfe der offsetfunktion anfahren lassen.
  • gefällt mir    Danke

17. März 2006, 17:10:19
Antwort #2
Offline

memoli


hallo 

danke für dein antwort :-)

hatte da noch ein frage gib es die möglichkeit.
zb.

LBL1
....
.....
....
LBL2
....
.....
....
eine anweisung wenn der zähler grade ist das er in LBL1 springt
wenn es ungrade ist der zähler LBL2
und wenn der zähler 10 ist das der programm weiter geht ohne in die schleife LBL1 oder in LBL2 springt

arbeite bis jetzt mit if zähler <=10 jmp LBL1
will aber fals derzähler ungrade ist in LBL2
springt



mfg
memoli







  • gefällt mir    Danke

17. März 2006, 22:08:11
Antwort #3
Offline

WolfHenk


nimm switch / Case

Geht auch in TP

Nur 'ne gerade/ungerade-Abfrage ist in TP kaum realisierbar.

  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

17. März 2006, 22:46:59
Antwort #4
Offline

rob76

Global Moderator
switch/case??? wir sind hier bei fanuc.

du meinst wahrscheinlich select. z.B.
Select R[1]=1,JMP LBL[2]
                =2,JMP LBL[1]
                =3,JMP LBL[2]
ELSE JMP LBL[3]

natürlich kann man  berechnen ob was gerade oder ungerade ist! auch in TPE

R[1]=R[1] MOD 2
wenn das ergebnis 0 ist,ist es gerade kommt was >0 raus ist es ungerade

MOD-> Divisionsrest



könnte so aussehen:

IF  R[1:ZAEHLER] >= 10  , JMP LBL[3]
R[2] = R[1:ZAEHLER]  MOD  2
IF  R[2] = 0  , JMP LBL[1]
IF  R[2] > 0  , JMP LBL[2]
...
...
...
LBL[1]
...
...
LBL[2]
...
...
LBL[3]
...
[END]
« Letzte Änderung: 17. März 2006, 23:09:20 von rob76 »
  • gefällt mir    Danke

Heute um 21:17:40
Antwort #5

Werbung

Gast

18. März 2006, 05:49:41
Antwort #5
Offline

WolfHenk


ja, genau select war gemeint.
(ich habe die Schlüsselworte nicht im Kopf.)

Aber das mit MOD ist etwas was ich nicht kenne. Muß ich auch mal testen.

WH
  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.

18. März 2006, 11:22:16
Antwort #6
Offline

memoli


hallo zusammen

danke für eure antworten

mit mod habe ich so nicht vertsanden .da die 3 bedingungen gleichzeitig  abgefragt werden muß.

aber mit Select könnte ich doch
LBL1
...
....
....
LBL2
...
....
....
Select R[1]=1,JMP LBL[2]
                =2,JMP LBL[1]
                =3,JMP LBL[2]
                =4,JMP LBL[1]
                =5,JMP LBL[2]
                =6,JMP LBL[1]
                =7,JMP LBL[2]
                =8,JMP LBL[1]
ELSE R[1] =9 JMP LBL[3]
LBL3
....
....
end

  • gefällt mir    Danke

18. März 2006, 15:31:02
Antwort #7
Offline

rob76

Global Moderator
also ..MOD ist eine division wo du als ergebnis nur den rest bekommst(die nachkommastellen).
z.B. normale division 3:2=1,5 2:2=1   mit MOD 3MOD2=5  2MOD2=0
mit select kannst du machem nur das else ist falsch:
 ELSE R[1] =9 JMP LBL[3]

Du kannst mit else nix abfragen
else bedeutet das nix aus deiner select anweisung zutrifft.
muss so aussehen:
ELSE JMP LBL[3]

  • gefällt mir    Danke

18. März 2006, 23:16:43
Antwort #8

Fanuc007

Gast
hallo
schönen abend zusammen

hätte dazu auch eine frage
ist es mit TP möglich das zu programmieren

wenn man im Register länge ,breite  und den bahnabstand eingibt

das er durch ein geteachten Punkt eine platte abfährt.

da ich auf der arbeit unterschiedliche Platten Lackieren muß
Roboter Bahn
.............................
                            .
                            .
.............................   
.
.
..............................
im momment arbeite ich mit :

LBL(1)
PR(1,2)=PR(1,2) +1000
PR(1,1)=PR(1,1)+100
PR(1,2)=PR(1,2)-1000

PR(1,1)=PR(1,1)+100

if R(1)<=5Jmp LBL1

schönen abend zusammen
Ralf







  • gefällt mir    Danke

Heute um 21:17:40
Antwort #9

Werbung

Gast

19. März 2006, 22:54:51
Antwort #9
Offline

WolfHenk


sollte problemlos gehen.

geteachte Position anfahren
PR(1)=lpos
 Damit hast Du die geteachte Position ins Posregister geholt

Der Rest ist Mathematik: Länge kann in einem durch gespritzt werden?
Breite wird durch Bahnabstand geteilt. Das ergibt die Anzahl der zu fahrenden Bahnen (oder sogar eins zuviel)

R(Zähler)=0
R(Anzahl) = R(breite)/R(bahnabstand)
LBL(1)
PR(1,2)=PR(1,2) + R(Längenregister (Wert in mm))
LIN PR(1)
PR(1,1)=PR(1,1)+ R(Bahnabstand)
LIN PR(1)
R(Zähler)=R(Zähler)+1
PR(1,2)=PR(1,2)-R(Längenregister)
LIN PR(1)
PR(1,1)=PR(1,1)+ R(Bahnabstand)
LIN PR(1)
R(Zähler)=R(Zähler)+1
if R(Zähler) <= R(Anzahl) Jmp LBL1


Okay, das wird auf Anhieb denke ich, nicht klappen (es ist spät und ich war heute sehr lange auf den Beinen). Aber so oder ähnlich könnte man das machen.

Ich schau morgen noch mal drüber, wenn ich wieder klar denken kann...
  • gefällt mir    Danke
Wolfram (Cat) Henkel

never forget Asimov's Laws at the programming of robots...

"Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."

https://www.xing.com/go/invite/5634410.eb15e5

PMs und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet. Diese Fragen und die Antworten interessieren jeden hier im Forum.


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