21. Januar 2019, 07:39:55
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] Programmierung


normal_post Autor Thema: [offen] Programmierung  (Gelesen 431 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

10. Dezember 2018, 13:11:50
Gelesen 431 mal
Offline

Whitey


Hallo zusammen,

mein Roboterprogrammierungs Kurs liegt schon längere Zeit zurück und bin mir nicht mehr ganz sicher wie ich es angehen soll.
Ich möchte an meinem Schweisszangenroboter KR210 mit KRC4 Steuerung nach dem Kappenfräsen einen Punkt schweissen. Nun möchte ich nicht immer auf die gleiche Position fahren bzw jedes mal neu teachen um den Punkt zu schweissen. Wie würdet ihr es programmieren das der Schweisspunkt immer um 10mm in x verschoben wird und nach 10 Punkten wieder auf die Höhe von punkt 1 jedoch in y dann 10mm verschoben ist. Das ganze 4 mal. Danach müsste das Blech eine Reihe von 4 x 10 Schweisspunkte aufweisen. Bin über jede hilfe dankbar :hilfe:
Wäre ich hier auf dem richtigen Weg
DEF Schweisspunkt()
DECL INT Punkt=0 ; steht in der Dat.
DECL INT Reihe=0 ; steht in der Dat.
  
 
 PTP Home

    fOffset=$NULLFRAME

    fOffset.X = (Reihe-1)*10.0
    fOffset.y = (Punkt-1)*10.0

    PTP {X 0,Y 0,Z 10,A 0,B 0,C 0}:fOffset:xDropPos ;VorPosition
    LIN  fOffset:xDropPos ;Schweisspunkt
    
    Zangenbewegung()
    schweissen()
    Zangenbewegung()
    Punkt=Punkt+1
    IF (Punkt>9) THEN
       Punkt=1
       Reihe=Reihe+1
    ENDIF
    IF (Reihe>4) THEN
    Punkt=1
    Reihe=1
    ENDIF
    LIN  {X 0,Y 0,Z 10,A 0,B 0,C 0}:fOffset:xDropPos ; nach Schweissen


 PTP Home

END
« Letzte Änderung: 10. Dezember 2018, 13:31:23 von Whitey »
  • gefällt mir    Danke
Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

Heute um 07:39:55
Antwort #1

Werbung

Gast

11. Dezember 2018, 08:32:08
Antwort #1
Offline

Programmiersklave


Sieht doch schon gut aus, abgesehen davon, dass Du Dich noch nicht entschieden hast, ob Du nun bei 0 oder bei 1 anfangen willst. Ich empfehle, von 0 bis 9 zu zählen, dann ist das mit dem Multiplizieren des Versatzes einfacher (das "-1" braucht dann nicht.). Dann musst Du aber auch immer auf 0 zurücksetzen und nicht auf 1.  
Soll das alles hintereinander weg erfolgen oder jedes Mal einzeln?
Für hintereinander weg gibt es die FOR-Schleife 

for Reihe = 0 to 3
  for Punkt = 0 to 9
    foffset.x=reihe*10
    foffset.y=punkt*10
    lin ...
    schweissen blabla...
  endfor
endfor
Wenn das Programm 40 mal einzeln aufgerufen wird, musst Du auf jeden Fall so zählen, wie Du es dort tust, und die Zähler remanent halten. 

Grüße,
Michael
  • gefällt mir    Danke


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