Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

additive Werkzeugkorrektur

Beitrag 15.09.2009, 23:16 Uhr
scavi84
scavi84
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 15.09.2009
Beiträge: 3
Hallo zusammen,

gibt es die Möglichkeit, aus einem Programm heraus, die Länge aller in der Maschine befindlichen
Werkzeuge additiv zu verändern (im hundertstel Bereich)?

Arbeite mit nur einem Nullpunkt, Cycle800 und über 70 Werkzeugen und will somit dem Wärmegang der kalten Maschine entgegenwirken.

Vielen Dank schon mal
   
Beitrag 15.09.2009, 23:35 Uhr
Drehpapst
Drehpapst
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 28.04.2005
Beiträge: 650
Hmm, die Möglichkeit gibt es sicher. Ist etwas aufwendig aber es würde gehen.
Wenn du aber nur mit einem Nullpunkt arbeitest könntest du auch auf diesen Nullpunkt eine zusätzliche Verschiebung drauf geben. Das wäre wesentlich einfacher. Überleg dir das mal ob das für dein Problem nicht auch funktionieren würde.

Du arbeitest also z.B. mit G54 als Nullpunkt (geht auch mit jedem anderen). Dann gibt es die Möglichkeit mit dem Befehl TRANS auf diesen Nullpunkt eine weitere Verschiebung drauf zu setzen.
G54
TRANS Z0.2 ; TRANS X0.1 Y0.2 Z0.3 => es gehen auch mehrere Achsen gleichzeitig

So wirkt jetzt der/die Wert(e) von G54 plus der/die Wert(e) von TRANS
Kannst du Nachlesen in der Programmieranleitung (Grundlagen, Arbeitsvorbereitung). Falls nicht verfügbar gibt es diese auch online bei:
https://support.automation.siemens.com/WW/l...amp;treeLang=de

Einfach suchen nach 840D und dann nach Programmieranleitung Grundlagen oder Arbeitsvorbereitung. Kann man auch downloaden.

Abwahl der zusätzlichen Verschiebung TRANS:

TRANS ;ohne Achsangaben und Werte. Dann ist diese gelöscht und es wirkt nur noch G54


Des weiteren gibt es auch sogenannte Kompensationsprogramme. Diese passen sich automatisch der Temperatur der Maschine an. Sind etwas aufwendig zu erstellen, da du auch Erfahrungswerte brauchst damit das ganze auch zuverlässig funktioniert. In der Autoindustrie sind solche Programme Standard.


--------------------
Gruß,

Drehpapst


Willen braucht man. Und Zigaretten.
Wer Visionen hat, sollte zum Arzt gehen.
Helmut Schmidt
   
Beitrag 16.09.2009, 06:58 Uhr
mark25
mark25
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 25.12.2003
Beiträge: 504
Hallo,

ich wäre mir da nicht ganz so sicher, ob Nullpunktverschiebungen durch TRANS hier das richtige Mittel sind.

Wenn mit Cycl 800 gearbeitet wird, gehe ich davon aus, dass eine 5-Seitenbearbeitung durchgeführt werden soll.
Hier ist tatsächlich die korrekte Angabe der Werkzeuglänge für die Genauigkeit mitentscheidend.
Daher kann ich schon verstehen, dass im Laufe des Produktionsfortschrittes die Werkzeuglängen geringügig korrigiert werden müssen.

Gibt es da nicht die Möglichkeit die in der WZ-Tabelle angegeben Werkzeuglänge in einen Parameter auszulesen?
Dann könnte man diesen Parameter mit dem Korrekturwert addieren und wieder in die Tabelle zurückschreiben.
Ich muss allerdings jetzt gerade zugeben, dass ich für diese Aktion keine Funktion aus dem Stehgreif angeben kann, hoffe aber, dass hier irgendwer weiterhelfen kann.


--------------------
Gruß
Markus
   
Beitrag 16.09.2009, 07:32 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
Wie Drehpapast bin ich der Meinung, dass eine solche Korrektur eher in die Nullpunktverschiebungen als in die Werkzeugkorrekturen gehört.
Dabei bietet es sich an, diese Korekturen in die Feinverschiebung zu schreiben (mit CFINE). Das hat den Vorteil, dass der originale Wert der Nullpunktverschiebung unverändert erhalten bleibt.
Will man es trotzdem über die Werkzeugkorrekturen tun, würde ich da ebenfalls vorschlagen, nicht die eigentliche Werkzeuglänge zu ändern, sondern hier die Verschleißkomponenten zu verwenden, die einfach auf die eigentliche Länge addiert werden. Dass man in diesem Fall aber z.B. 70 Werkzeuge korrigieren muss, zeigt deutlich, dass das eigentlich die falsche Stelle ist, denn die Werkzeug haben sich ja nicht verändert.
Da es hier um den CYCLE800 geht, gibt es noch eine dritte Variante: Falls die Korrektur wegen der 5-Achsbearbeitung tatsächlich im Werkzeug erfolgen muss, könnte man die Abmessungen des verwendeten orientierbaren Werkzeugträgers verändern. Das geschieht an einer einzigen Stelle und wirkt dann auf alle eingewechselten Werkzeuge.
   
Beitrag 16.09.2009, 09:29 Uhr
Drehpapst
Drehpapst
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 28.04.2005
Beiträge: 650
Vielleicht könnte der Themenstarter sich dazu äussern was er macht. Prinzipiell ist es egal ob er mit CYCLE800 arbeitet oder nicht. Da ein G54 keine Probleme im 800er gibt, gibt es mit TRANS auch keine.
Wenn er es doch über die Werkzeuglängen machen will dann bietet es sich an es so zu machen wie cncler geschrieben hat, nämlich dafür dann die Verschleisswerte zu nehmen. Dann brauch er die richtigen Werte nicht zu verändern.
Im Moment sehe ich aber keinen Grund dass es mit TRANS nicht gehen sollte.


--------------------
Gruß,

Drehpapst


Willen braucht man. Und Zigaretten.
Wer Visionen hat, sollte zum Arzt gehen.
Helmut Schmidt
   
Beitrag 16.09.2009, 10:39 Uhr
nebbe
nebbe
Level 6 = Community-Doktor
******
Gruppe: Mitglied
Mitglied seit: 14.06.2002
Beiträge: 839
Ganz andere Idee, wenn es um 1/100stel geht: Warmlaufprogramm ? Oder: Programmaufbau so, dass die Hundertstel erst spät gebracht werden ?
Geht es nur um die Werkzeuglänge (nur Z-Achse) ?

t.


--------------------
Grüßle
nebbe
   
Beitrag 19.09.2009, 15:07 Uhr
scavi84
scavi84
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 15.09.2009
Beiträge: 3
Oh, hier hat sich ja schon einiges getan.
Hab nicht mit so vielen und schnellen Anworten gerrechnet smile.gif

Arbeite bereits mit TRANS, allerdings nur um einzelnen Bohrungen, Taschen und Konturen zu korrigieren.
Muss dazu allerdings noch erwähnen, dass es sich um ein größeres Alu-Teil handelt, welches aus dem vollen heraus gefräst wird
und ich TRANS nur verwende um die unterschiedlichen Spannungen des Rohmaterials aus zu gleichen.
Dazu kommt noch, dass die TRANS-Verschiebung nach einer neuen Schwenkebende (Cycle800) wieder automatisch zurück gesetzt wird.

Und richtig, es handelt sich um eine 5-Seiten-Bearbeitung, womit eine zentrale Nullpunktverschiebung nur die Position des gesamten
fertigen Teiles verändern würde.

Ich muss zugeben, dass es eigentlich eine offizielle Methode vom Hersteller gibt (3D QiuckSet) mit der die komplette Kinematik, sprich
die komplette Achsgeometrie auf einander abgeglichen wird, allerdings ist dafür extra Zeit nötig und die Maschinen sollen ja schließlich
möglichst ununterbrochen laufen smile.gif außerdem muss dies dann sobald die Maschine warm ist wiederholt werden. Hierbei bin ich noch am
überlegen, ob ich diesen Vorgang automatisier und dann z.B. 2 mal am Tag ablaufen lasse. Ist allerding schwierig da auf der Palette eigentlich
kein Platz für die Kugel (die angetastet wird) ist.

Mit einem Warmlaufprogramm arbeite ich zur Zeit noch, hierbei ist aber das Problem, dass natürlich erstens, die Maschine in dieser Zeit
nicht produziert und zweitens, sie lang nicht so schnell warm wird, als wenn sie auch zerspanen muss.

QUOTE
Da es hier um den CYCLE800 geht, gibt es noch eine dritte Variante: Falls die Korrektur wegen der 5-Achsbearbeitung tatsächlich im Werkzeug erfolgen muss, könnte man die Abmessungen des verwendeten orientierbaren Werkzeugträgers verändern. Das geschieht an einer einzigen Stelle und wirkt dann auf alle eingewechselten Werkzeuge.

Das hört sich eigentlich ganz interessant an, kann mir nur nicht richtig vorstellen was du damit meinst!? Und wie es dann genau funktioniert!?

Der Beitrag wurde von scavi84 bearbeitet: 19.09.2009, 15:11 Uhr
   
Beitrag 19.09.2009, 15:49 Uhr
Drehpapst
Drehpapst
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 28.04.2005
Beiträge: 650
Ja, wenn du ein TRANS hast und dann schwenkst, dann ist es weg.
Du kannst aber auch im CYCLE800 die Nullpunkte nach dem schwenken auch noch verschieben.
CYCLE800(_FR, _TC, _ST, _MODE, _X0, _Y0, _Z0, _A, _B, _C, _X1, _Y1,_Z1, _DIR, _FR _I)
Die fett markierten sind für die Verschiebung nach der Drehung verantwortlich. Könntest du jetzt nicht beim schwenken mit der Variable _Z1 eine Verschiebung machen? Dies würde aber auf die ganze Bearbeitung wirken. Wenn du nur bohrst sollte das kein Problem sein. Auch könntest du die Verschiebung fürs bohren so machen und wenn noch andere Bearbeitungen dran sind könntest du durch erneutes aufrufen des CYCLE800 diese Verschiebung in _Z1 wieder zurücksetzen. Mal so ein Gedanke.
Es ist halt doch ein ganz schöner Aufwand so viele Werkzeuge auszulesen und zu beschreiben. Aber sollte es keine andere Möglichkeit geben, geht das schon. Wenn du z.B. auch Fräswerkzeuge drin hast auf die die Längenverschiebung nicht wirken soll, könnte man diese durch Abfrage des Typs rausfiltern. Also Möglichkeiten gibt es da schon so etwas zu machen.


--------------------
Gruß,

Drehpapst


Willen braucht man. Und Zigaretten.
Wer Visionen hat, sollte zum Arzt gehen.
Helmut Schmidt
   
Beitrag 20.09.2009, 11:15 Uhr
Kuddel-Dutt
Kuddel-Dutt
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 09.06.2009
Beiträge: 13
QUOTE (Drehpapst @ 19.09.2009, 16:49) *
Es ist halt doch ein ganz schöner Aufwand so viele Werkzeuge auszulesen und zu beschreiben. Aber sollte es keine andere Möglichkeit geben, geht das schon. Wenn du z.B. auch Fräswerkzeuge drin hast auf die die Längenverschiebung nicht wirken soll, könnte man diese durch Abfrage des Typs rausfiltern. Also Möglichkeiten gibt es da schon so etwas zu machen.


Über die Magazindaten kommt man ohne Ümstände direkt auf die Schneidendaten und kann diese dann manipulieren.

In diesem Beispiel überschreibe ich die Verschleissdaten aller im Magazin befindlichen Werkzeuge.

%_N_WAERME_KORR_SPF
;$PATH=/_N_CUS_DIR
PROC WAERME_KORR(REAL KORR_additiv)
Def int zaehl,magazinplatz=70,tnum

For zaehl=1 to magazinplatz+2
; ------
If zaehl >magazinplatz
If Zaehl == magazinplatz+1
tnum = $TC_MPP6[9999,1] ; Werkzeug vorgewählt
Else
tnum = $TC_MPP6[9998,1] ; Werkzeug in Spindel
Endif
Else
tnum = $TC_MPP6[1,zaehl]
Endif
; -------
If tnum > 0 ; Magazintasche belegt
; -------
If zaehl == 1 ; Anzeige nur beim 1. werkzeug
MSG("Aktuelle Korrektur = "<<$TC_DP12[tnum,1]<<" --- Neue Korrektur = "<<$TC_DP12[tnum,1]+KORR_additiv)
stopre
M0
stopre
Endif
; -------
$TC_DP12[tnum,1]=$TC_DP12[tnum,1]+KORR_additiv ; Korrektur schreiben
Endif
Endfor
M17


%_N_WZ_KORR_MPF
;$PATH=/_N_MPF_DIR
WAERME_KORR(0.01777)
M30


Im SinuTrain klappt es.
So wie Drehpapst geschrieben hat kann man die Korrekturausgabe auch noch spezifizieren.
   
Beitrag 20.09.2009, 13:37 Uhr
Drehpapst
Drehpapst
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 28.04.2005
Beiträge: 650
%_N_WAERME_KORR_SPF
;$PATH=/_N_CUS_DIR
PROC WAERME_KORR(REAL KORR_LW)
DEF INT MAGPL, MAGSIZE, WKZNR

MAGSIZE=$MN_USER_DATA_INT[1]
STOPRE
FOR MAGPL=1 TO MAGSIZE
; ------
WKZNR=$TC_MPP6[1,MAGPL]
STOPRE
IF WKZNR>0
$TC_DP12[WKZNR,1]=$TC_DP12[WKZNR,1]+KORR_LW
ENDIF
ENDFOR



%_N_WZ_KORR_MPF
;$PATH=/_N_MPF_DIR

T0
L6
STOPRE
WAERME_KORR(0.01777)
M30

So sähe das nach meiner Vorstellung aus. Anders würde ich machen, dass ich kein Spindelwerkzeug korrigieren möchte. Korrekturen, die bei bereits aktiven Werkzeugen (Datensatz bereits eingelesen) nachträglich hinzugefügt werden, werden erst bei erneutem Aufruf wirksam. Daher auch das T0 L6 bevor ich die Werkzeuge beschreibe.
Das ganze gilt jetzt für Magazin 1. Und auch nur für die 1. Schneide.
Für weitere Magazine $MN_USER_DATA_INT[1], $TC_MPP6[1,MAGPL] die 1 durch eine andere Zahl oder eine Variable mit entsprechender Schleife ersetzen.
Für weitere Schneiden gilt im Prinzip dasselbe entsprechend der dafür vorgesehenen Variablen.

Der Beitrag wurde von Drehpapst bearbeitet: 20.09.2009, 13:39 Uhr


--------------------
Gruß,

Drehpapst


Willen braucht man. Und Zigaretten.
Wer Visionen hat, sollte zum Arzt gehen.
Helmut Schmidt
   
Beitrag 20.09.2009, 16:19 Uhr
Drehpapst
Drehpapst
Level 5 = Community-Ingenieur
*****
Gruppe: Mitglied
Mitglied seit: 28.04.2005
Beiträge: 650
Falls $MN_USER_DATA_INT[1] nicht funktioniert bei dir, dann eben statt $MN_USER_DATA_INT[1] die Anzahl der vorhandenen Magazinplätze von Hand eintragen, z.B. 70


--------------------
Gruß,

Drehpapst


Willen braucht man. Und Zigaretten.
Wer Visionen hat, sollte zum Arzt gehen.
Helmut Schmidt
   
Beitrag 25.11.2009, 08:24 Uhr
scavi84
scavi84
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 15.09.2009
Beiträge: 3
Hab inzwischen eine sehr einfache Lösung für mein problem gefunden.

Da ich ja sowieso schon mit TRANS arbeite, habe ich in allen wichtigen Stellungen bzw. bei allen wichtigen Werkzeugen die TRANS Verschiebung in Z ergänzt, diese wird jetzt zusätzlich mit einem R-Parameter verrechnet, den ich am Anfang von meinem Programm bestimme.

Sieht dann z.B. so aus:
R222=-0.02
...
...
...
CYCLE800(.................)
TRANS Z=0.00+R222


Funktioniert einwandfrei.
Trotzdem vielen Dank
   
Beitrag 25.11.2009, 19:57 Uhr
4970_inaktiv
4970_inaktiv
Level 4 = Community-Meister
****
Gruppe: Banned
Mitglied seit: 05.09.2004
Beiträge: 519
Müsste es nicht ATRANS heissen? Wenn ich nach Schwenken und Verschieben einen absoluten Frame setze ist dann nicht alles Vorhergehende futsch?

Ich hätte es vill. sogar mit ASCALE versucht, denn eine Wärmeausdehnung bzw. wärmebedingte Schwindung ist ja eigendlich nix anderes als eine Skalierung einer Länge...

mfG.
Eisen
   
Beitrag 25.11.2009, 20:37 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
TRANS wirkt auf den sogenannten "Programmierbaren Frame" und löscht evtl. vorher darin enthaltene Drehungen / Verschiebungen (im Gegensatz zu ATRANS).
Der CYCLE800 schreibt aber NICHT in den programmierbaren Frame, so dass es da kein Problem gibt.

Mit dem "absoluten Frame" meinst du vermutlich den "Gesamtframe", der sich aus der Verkettung aller Frames in der Steuerung (und davon gibt es eine Menge) zusammensetzt. Wenn man in dieser Kette einzelne Glieder ändert /löscht (wie z.B. den programmierbaren Frame) bleiben die übrigen Frames unverändert erhalten.
   
Beitrag 26.11.2009, 17:59 Uhr
4970_inaktiv
4970_inaktiv
Level 4 = Community-Meister
****
Gruppe: Banned
Mitglied seit: 05.09.2004
Beiträge: 519
Aso! Danke für die Erläuterung, so genau kenne ich den 800er nicht, ich benutzte einen Herstellereigenen Zyklus zum Schwenken.

Aber da ich schon mal reingefallen bin mit einem Trans, wo ich hätte lieber Atrans schreiben sollen, dachte ich gebe ich mal meine Bedenken kund thumbs-up.gif

mfG.
Eisen
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: