Siemens
Digital Industries, Motion Control, Machine Tool Systems
8832
Follower:innenSpiralbewegung (Drehachse + Linearachse)
06.04.2018, 07:10 Uhr
Werte Mitglieder,
ich hoffe im richtigen Unterforum gelandet zu sein und möchte mich als Neuling für eventuelle Formfehler entschuldigen.
Kurze Info was meine Firma betreibt: Wir sind Sondermaschinenbauer im Bereich Elektronenstrahltechnologie. Wobei der Strahl über eine 840Dsl gesteuert wird. Unsere Anlagen sind des weiteren mit diversen NC Achsen (Rund, Linear) ausgestattet.
Nun habe ich eine Problemstellung, wo ich eingefleischte Programmierer benötige, die mir eventuell einen Tipp geben können. Folgendes Problem.
Auf einer "Scheibe" soll eine axiale Spiralbewegung ausgeführt werden, wobei die Spirale durch eine Rundachse (z.B. A) und einer Linearachse (z.B. X) dargestellt werden soll. Der Bahnvorschub muss vom Nullpunkt der Scheibe bis zum äußeren Radius konstant bleiben.
Es ist ja nun so, dass mit steigenden Radius auch die Bahngeschwindigkeit bei konstanter Drehfrequenz steigt (v = 2*PI*r*f). Das heißt ich muss die Drehfrequenz der Rundachse interpolieren.
Wenn ich jetzt aber z.B. X und A gruppiere - FGROUP(XX,A) – dann gibt den Vorschub dann aber immer die Linearachse vor.
Hat jemand einen gewinnbringenden Tipp für mich. Ich bin für jeglichen Hinweis dankbar!
ich hoffe im richtigen Unterforum gelandet zu sein und möchte mich als Neuling für eventuelle Formfehler entschuldigen.
Kurze Info was meine Firma betreibt: Wir sind Sondermaschinenbauer im Bereich Elektronenstrahltechnologie. Wobei der Strahl über eine 840Dsl gesteuert wird. Unsere Anlagen sind des weiteren mit diversen NC Achsen (Rund, Linear) ausgestattet.
Nun habe ich eine Problemstellung, wo ich eingefleischte Programmierer benötige, die mir eventuell einen Tipp geben können. Folgendes Problem.
Auf einer "Scheibe" soll eine axiale Spiralbewegung ausgeführt werden, wobei die Spirale durch eine Rundachse (z.B. A) und einer Linearachse (z.B. X) dargestellt werden soll. Der Bahnvorschub muss vom Nullpunkt der Scheibe bis zum äußeren Radius konstant bleiben.
Es ist ja nun so, dass mit steigenden Radius auch die Bahngeschwindigkeit bei konstanter Drehfrequenz steigt (v = 2*PI*r*f). Das heißt ich muss die Drehfrequenz der Rundachse interpolieren.
Wenn ich jetzt aber z.B. X und A gruppiere - FGROUP(XX,A) – dann gibt den Vorschub dann aber immer die Linearachse vor.
Hat jemand einen gewinnbringenden Tipp für mich. Ich bin für jeglichen Hinweis dankbar!
06.04.2018, 07:34 Uhr
Hallo,
und was passiert wenn du nur die Achse A gruppierst?
Wir machen das immer so wobei bei uns der Durchmesser gleich bleibt.
N178 fgroup(a,x,y,z)
N179 fgref[a]=11
Vieleicht gibt es ja eine Funktion die bei FGREF den aktuellen Durchmesser berücksichtigt.
Vg Bernd
und was passiert wenn du nur die Achse A gruppierst?
Wir machen das immer so wobei bei uns der Durchmesser gleich bleibt.
N178 fgroup(a,x,y,z)
N179 fgref[a]=11
Vieleicht gibt es ja eine Funktion die bei FGREF den aktuellen Durchmesser berücksichtigt.
Vg Bernd
06.04.2018, 07:40 Uhr
Du kannst mal nach FLIN suchen in der Doku damit kannst du während eines Satzes den Vorschub Linear ansteigen lassen.
06.04.2018, 08:19 Uhr
Falls an der Maschine TRANSMIT eingerichtet ist, könnte man die Kontur kartesich programmieren und man müsste sich nicht selbst um die Geschwindigkeitssteuerung der Rundachse kümmern.
Wenn die Kontur eine echte archimedische Spirale sein soll, geht es aber mit dem Vorschlag von z1ckensack wahrscheinlich am einfachsten.
Wenn die Kontur eine echte archimedische Spirale sein soll, geht es aber mit dem Vorschlag von z1ckensack wahrscheinlich am einfachsten.
06.04.2018, 08:47 Uhr
Du kannst mal nach FLIN suchen in der Doku damit kannst du während eines Satzes den Vorschub Linear ansteigen lassen.
Ja FLIN kenne ich, aber die Vorschubänderung wirkt ja dann wie gesagt linear auf die X Achse und nicht auf die A Achse
CODE
FGREF[A]=50
FGROUP(XX,A)
G1 G91 A=10 F6000 ;-- Beschleunigung um auf Startgeschwindigkeit zu kommen
G1 G91 A=360 X=50 FLIN F1000 ;-- Beginn des "Spiralaufbaus" mit interpolation Geschwindigkeit
FGROUP(XX,A)
G1 G91 A=10 F6000 ;-- Beschleunigung um auf Startgeschwindigkeit zu kommen
G1 G91 A=360 X=50 FLIN F1000 ;-- Beginn des "Spiralaufbaus" mit interpolation Geschwindigkeit
06.04.2018, 08:57 Uhr
Ja FLIN kenne ich, aber die Vorschubänderung wirkt ja dann wie gesagt linear auf die X Achse und nicht auf die A Achse
Wie meinst du das? Da die A-Achse und die X-Achse im Bahnverbund fahren, wirkt eine Geschwindigkeitsänderung der X-Achse ja auch proportional auf die A-Achse. Andernfalls würde man ja eine völlig flasche Kontur erzeugen.
06.04.2018, 09:05 Uhr
Wie meinst du das? Da die A-Achse und die X-Achse im Bahnverbund fahren, wirkt eine Geschwindigkeitsänderung der X-Achse ja auch proportional auf die A-Achse. Andernfalls würde man ja eine völlig flasche Kontur erzeugen.
Okay verstehe, dass heißt aber dass ich die Vorschubgeschwindigkeit der X Achse so anpassen muss, dass am Ende mein gewünschter konstanter Bahnvorschub auf der Spirale ankommt.
Gibt es denn eine Möglichkeit von der Geschwindigkeit der Linearachse X auf die resultierende Drehgeschwindigkeit der Rotationsachse A im Bahnverbund zurückzurechnen?
06.04.2018, 09:22 Uhr
In deinem Beispiel fährt die A-Achse 360 Grad, wenn die X-Achse 50 mm fährt. Damit ist der Zusammenhang ja auch für die Geschwindigkeit eindeutig. Bei gegebener Geschwindigkeit F der X-Achse ist die Geschwindigkeit va der Rundachse dann
va = (360 Grad / 50 mm) * F
Biespiel: Wenn F= 2000 mm / min ist gilt
va = (360 Grad / 50 mmm) * 2000 mm / min = 14400 Grad / min
Da solltest du aber A aus FGROUP herausnehmen. Ich nehme mal an, dass man dann aber mit deutlich niedrigern Geschwindigkeitswerten für die X-Achse arbeiten muss, als mit dem Geschwindikeitsbereich von F1000 bis F6000 in deinem Beispiel.
Über die Behangeschwindigkeit sagt das nocht nichts aus. Dazu müsste man wissen, bei welchem Radius (X-Achse) das ganze stattfindet. Das lässt sich aus deinem Beispielprogramm (mit G91) nicht erkennen.
va = (360 Grad / 50 mm) * F
Biespiel: Wenn F= 2000 mm / min ist gilt
va = (360 Grad / 50 mmm) * 2000 mm / min = 14400 Grad / min
Da solltest du aber A aus FGROUP herausnehmen. Ich nehme mal an, dass man dann aber mit deutlich niedrigern Geschwindigkeitswerten für die X-Achse arbeiten muss, als mit dem Geschwindikeitsbereich von F1000 bis F6000 in deinem Beispiel.
Über die Behangeschwindigkeit sagt das nocht nichts aus. Dazu müsste man wissen, bei welchem Radius (X-Achse) das ganze stattfindet. Das lässt sich aus deinem Beispielprogramm (mit G91) nicht erkennen.
06.04.2018, 10:41 Uhr
Hallo zusammen,
wie muss ich das jetzt verstehen?
A Achse plus X Achse wäre doch eine Spirale auf einer Mantelfläche.
Demnach braucht es keine Veränderung in den Vorschüben zum Durchmesser.
Es soll doch auf einer Scheibe planmäßig eine Spirale eingebracht werden????
Dann sind das doch Achse C und Achse X.
Vg Bernd
wie muss ich das jetzt verstehen?
A Achse plus X Achse wäre doch eine Spirale auf einer Mantelfläche.
Demnach braucht es keine Veränderung in den Vorschüben zum Durchmesser.
Es soll doch auf einer Scheibe planmäßig eine Spirale eingebracht werden????
Dann sind das doch Achse C und Achse X.
Vg Bernd
06.04.2018, 10:48 Uhr
Das wäre dann allerdings keine Spirale, sondern eine Helix (sozusagen ein Gewinde).
Aber du hast natürlich recht, wenn die Achsen nach DIN bezeichnet sind, kann man damit keine Spriale sondern nur eine Helix erzeugen.
Die beiden Bezeichnungen werden immer mal wieder miteinander verwechselt.
Aber du hast natürlich recht, wenn die Achsen nach DIN bezeichnet sind, kann man damit keine Spriale sondern nur eine Helix erzeugen.
Die beiden Bezeichnungen werden immer mal wieder miteinander verwechselt.
06.04.2018, 12:03 Uhr
Wenn man die tatsächliche Bahngeschwindigkeit errechnen will sollte da nicht der Kreis-Umfang am Start und Ende der Spirale die entscheidende Rolle Spielen?
Angenommen, Die Spirale beginnt bei X10 und [code]endet bei X100. Und es soll mit 500mm/min gefräst werden. Die Spirale geht über 3 Umdrehungen.
Startumfang= 10*$PI = 31,416
Startvorschub = 500/31,416*360 = 5729 °/min
Endumfang= 100*$PI = 314,16
Endvorschub = 500/314,16*360 = 572,9 °/min
Dabei wäre der Vorschub in X nicht berücksichtigt, was aber sicher keine allzugroße Verfälschung ergibt.
Angenommen, Die Spirale beginnt bei X10 und [code]endet bei X100. Und es soll mit 500mm/min gefräst werden. Die Spirale geht über 3 Umdrehungen.
Startumfang= 10*$PI = 31,416
Startvorschub = 500/31,416*360 = 5729 °/min
Endumfang= 100*$PI = 314,16
Endvorschub = 500/314,16*360 = 572,9 °/min
Dabei wäre der Vorschub in X nicht berücksichtigt, was aber sicher keine allzugroße Verfälschung ergibt.
07.04.2018, 20:29 Uhr
Ich fräse oft solche Spirale.
hier ein Beispiel.
hier ein Beispiel.
CODE
PROC ZAPFSPI (REAL ROH_D,REAL FER_D,REAL Z_END,REAL D_ZUS,REAL VOR_F)
G0 C4=0
G0 X=ROH_D+2*$P_AD[6]+10 Z=Z_END M108
X=ROH_D+2*$P_AD[6]+2
G1 G94 X=ROH_D+2*$P_AD[6] F=VOR_F
FGREF[C4]=ROH_D/2
FGROUP(Z1,C4)
G1 X=FER_D+2*$P_AD[6] C4=IC(-360*((ROH_D-FER_D)/2)/D_ZUS) F=VOR_F
C4=IC(-360)
G0 X=ROH_D+2*$P_AD[6]+10
M17
G0 C4=0
G0 X=ROH_D+2*$P_AD[6]+10 Z=Z_END M108
X=ROH_D+2*$P_AD[6]+2
G1 G94 X=ROH_D+2*$P_AD[6] F=VOR_F
FGREF[C4]=ROH_D/2
FGROUP(Z1,C4)
G1 X=FER_D+2*$P_AD[6] C4=IC(-360*((ROH_D-FER_D)/2)/D_ZUS) F=VOR_F
C4=IC(-360)
G0 X=ROH_D+2*$P_AD[6]+10
M17
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: