Expert Programmierung
- Stackus
- Erledigt
-
-
Ja so müsste es auch gehen. Kann ich denn die Deklaration so lassen?
Das VP_Pos1.Y bedeutet wohl das es von dem Punkt nur die Y-Koordinate betrifft???
VP_Pos1.Y=(VP_Pos1.Y + (I * Pos_Y))
Stimmt das mit den Klammern so???
-
Die Klammern sind richtig.
Aber du solltest mit einer temporären Position arbeiten, da du sonst den Abstand jedesmal vervielfachst.
z.B.
Code
Alles anzeigenTmp_P1 = VP_Pos1 Tmp_P2 = Pos1 PTP HOME FOR I=0 TO 3 Tmp_P1.Y = VP_Pos1.Y + (I * Pos_Y) Tmp_P2.Y = Pos1.Y + (I * Pos_Y) PTP Tmp_P1 LIN Tmp_P2 ENDFOR
mfg notime
-
Ich werde es jetzt gleich Testen gehen!
-
Es Kommt jetzt als Fehler: "Y-WERT ungültig"??? Versteht der nicht das ich von dem Y-Wert der Position, den Abstand subrahiert haben will??
Declaration
E6POS Tmp_P1
E6POS Tmp_P2
Int I,Pos_YInitialisierung
Tmp_P1 = VP_Pos1
Tmp_P2 = Pos1
Pos_Y=44 ; Das sind 44mm AbstandAnweisungsteil
PTP HOME
FOR I=0 TO 3
Tmp_P1.Y = VP_Pos1.Y - (I * Pos_Y)
Tmp_P2.Y = Pos1.Y - (I * Pos_Y)PTP Tmp_P1
LIN Tmp_P2
ENDFOR
END -
Int I
REAL Pos_YTeile einer Position sind REAL (Ausser Status und Turn).
-
Hallo,
Wert ungültig kommt immer, wenn man eine Variable rechts vom = verwendet, in der gar nichts drin steht.
Kann auch leicht durch Tippfehler entstehen, da alle Variablen die nicht deklariert sind, nicht als Fehler gemeldet werden, sondern vom Typ POS angenommen werden.Gruss DiDi
-
Danke ich werde das mit den Real -Wert versuchen. Und auf Tippfehler muss ich auch nochmal nachschauen.
-
Ich habe mir jetzt eine Neue Aufgabe vorgenommen. Der Roboter holt sich mittels Greifer einen Würfel und legt ihn in eine Palette.
Ich habe es jetzt soweit programmiert das er sich den Würfel holt und auf die 1. Stelle der Palette legt.
Jetzt wollte ich mir eine Schleife bauen sodass der Roboter diese Bewegung 3mal ausführt und jeweils die 1. Position um den Y-Wert vesetzt.Mein Programm:
DEF Palette()DEC INT I
INI Pos_Y={Y -44}
PTP HOME
FOR I=0 TO 3
Bewegungsablauf usw.
PTP (VP_Pos1 + ([I] * Pos_y))
LIN (Pos1 + ([I] * Pos_y))
ENDFOREND
Jetzt würde er aber nur immer wieder zur 1. Pos fahren und die Addition nicht ausführen. Liegt da vielleicht mein Fehler schon bei der Initialisierung oder Deklaration?? Bzw. wie schreibe ich die Addition zweier Koordinaten?
Hallo,
Hier ist kleine Beispiel für paletieren0 DEF palette( )
1
2 decl e6pos ablagepos [4,4]
3 decl e6pos vorpos [4,4]
4 decl int reihe,spalte
5 decl real dx,dy,dz
6
7 INI
8
9 dx=80.0
10 dy=80.0
11 dz=100.0
12
13 *******berechnung ablageposition*********
14
15 for reihe=1 to 4
16 for spalte=1 to 4
17 ablagepos[reihe,spalte]=xgrundpos
18 ablagepos[reihe,spalte].x=ablagepos[reihe,spalte].x+(spalte-1)*dx
19 ablagepos[reihe,spalte].y=ablagepos[reihe,spalte].y+(reihe-1)*dy
20 endfor
21 endfor
22
23
24 *******berechnung vorposition***********
25
26 for reihe=1 to 4
27 for spalte=1 to 4
28 vorpos[reihe,spalte]=ablagepos[reihe,spalte]
29 vorpos[reihe,spalte].z=vorpos[reihe,spalte].z+dz
30 endfor
31 endfor
32
33 for reihe=1 to 4
34 for spalte=1 to 4
35 w_hol() ;Unterprogramm Würfel holen
36 $base=base_data[2]
37 $tool=tool_data[3]
38 lin vorpos[reihe,spalte] c_dis
39 lin ablagepos[reihe,spalte]
40
41 SET GRP 1 State= oeffnen GDAT1
42 lin vorpos[reihe,spalte]
43 endfor
44 endfor
45
46 for reihe=1 to 4
47 for spalte=1 to 4
48 $base=base_data[2]
49 $tool=tool_data[3]
50 lin vorpos[reihe,spalte] c_dis
51 lin ablagepos[reihe,spalte]
52
53 SET GRP 1 State= schliessen GDAT2
54 lin vorpos[reihe,spalte]
55 w_ab() ;Unterprogramm Würfel ablegen
56
57 endfor
58 endfor
59 PTP HOME Vel= 100 % DEFAULT
60
62
63 END -
Ja so ungefähr hatte ich mir das auch vorgestellt. Das geht aber nur wenn ich vor den Positionen ein x einfüge, damit er weiß das er den punkt aus der Dat. Datei nehmen soll.
-
Ja so ungefähr hatte ich mir das auch vorgestellt. Das geht aber nur wenn ich vor den Positionen ein x einfüge, damit er weiß das er den punkt aus der Dat. Datei nehmen soll.nicht unbedingt, Beispiel kommt aus KUKA College und funktioniert.
-
Dann hattest du wohl auch mit den Zellen zu tun???
Hast du auch das Beispiel mit dem Tisch und dem Stift gemacht??(Bahnplanung)Wir haben hier zwar die Zellen aber keinerlei Unterlagen dazu, darum habe ich mir die Programme selber ausgedacht. Was habt ihr da noch so für Programme gemacht??
-
Hallo Stackus,
du hast Recht gemalt habe ich auch.
Übungen: Bahnfahren, Überschleifen (Wasserstrahlschneiden) mit Stift.
Klebeauftrag (I/Os) mit Stift
Greiferprogrammierung Stiftmagazin
Greiferprogrammierung Schild
Klebeauftrag auf Windschutzscheibe (Schild)
Taktzeitmessung
Palletieren/ Depalletieren -
Hast du dort alle 3 Kurse, also bis zum Experten gemacht??
Lernt man dort auch etwas über Toolvermessung, Arbeitraum einrichten, usw.Wie vorher erwähnt habe ich die Bahn, die auf den Tisch gezeichnet ist, nicht geschafft so zu überschleifen.
Angeblich gibt es ja eine Begrenzung auf die halbe Distanz zwischen zwei Punkten. Auf den Bild muss man aber sofort nach dem 1.Punkt mit Überschleifen beginnen, aber das hat bei mir nie funktioniert. -
Nein ich habe nur 2 Kurse gemacht.
Tools und Base vermessen haben sie uns schon in erste Woche beigebracht.
Arbeitsraumüberwachung zweite Woche.Du sollst der Übung von rechter Spitzecke anfangen und gegen Urzeigersinn fahren.
-
genau so habe ich mir das auch gedacht und habe auch das Programm geschrieben. Nur die überschleifvorgänge auf der linken Seite hat nicht so genau funktioniert wie es dort aufgemalt ist.
Ich bin jetzt dabei mir Unterprogramme zum Würfel holen und Würfel zurücklegen zu schreiben. Danach werde ich noch ein kleines Programm schreiben, um mal die verschiedenen Tools während des Ablaufs zu wechseln und zu setzen.
Im Moment benutze ich die vorgefertigte BAS Funktion, wo alle Achsgeschw. und Achsbeschl. auf 100% gesetzt werden. Kann ich die Werte im BAS Programm ändern, damit bei jeden Neuen Programm z.B eine Geschw. von 50% im Automatikbetrieb nicht möglich ist?
-
Hallo Stackus,
Bis zum Startpunkt nimmst du PTP und um Kontur abzufahren LIN mit max.0,3 m/s
Verfahrgeschwindigkeit. Dann mit Überschleifdistanz rumprobieren.Hier sind alle Beispiele aus zweite Woche.
-
Darf ich hier kurz eine Zwischenfrage reinschmeißen? Habs nirgends gefunden...
Ich bin seit kurzem HiWi und soll nen Kuka KR30 L16 mit KRC2 Steuerung programmieren...
In den Modi T1 und T2 gibt es kein Überschleifen?
Habe ein Prog geschrieben, dass nur im Auto-Modus tatsächlich überschliffen hat und nicht im T1 Betrieb.
-
Hallo EAGLE,
der Roboter uberschleift auch in T1 und T2.
Der Unterschied ist, das in Automatik nur die Meldung nicht kommt (also auch da kein ueberschleifen):
Das uberschleifen mit reduzierter Geschwindigkeit unterscheidet sich auch von dem bei Voller Geschwindigkeit (bin Lin PTP oder PTP lin ueberschleifen)Gruss Stefan
-
Darf ich hier kurz eine Zwischenfrage reinschmeißen? Habs nirgends gefunden...Ich bin seit kurzem HiWi und soll nen Kuka KR30 L16 mit KRC2 Steuerung programmieren...
In den Modi T1 und T2 gibt es kein Überschleifen?
Habe ein Prog geschrieben, dass nur im Auto-Modus tatsächlich überschliffen hat und nicht im T1 Betrieb.
Hallo,
vergewissere dich, das Laufart auf „GO“ steht.
Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen