Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

G500 auslesen

Beitrag 17.03.2017, 11:26 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
Hallo zusammen,

an einer CTX beta800 (840D/sl) möchte ich die G500 Werte (Z und Z3) in einem DIN Programm auslesen, um damit den Nullpunkt der Gegenspindel zu berechnen.

Folgendes habe ich schon probiert:

R90=$P_UIFR[0, X, TR] ; Grobverschiebung X von G500 ($P_UIFR[1, X, TR] wäre G54 usw.)
R91=$P_UIFR[0, Y, TR]
R92=$P_UIFR[0, Z, TR]
R93=$P_UIFR[0, Z3, TR]

Nach Programmstart stehen alle R-Werte auf 0, obwohl bei Z eigentlich 104.617 stehen sollte.

Was mache ich falsch, bzw. Wer kann mir weitethelfen?

Gruß Markus

Angehängte Datei  Basisnullpunkte.jpg ( 117.9KB ) Anzahl der Downloads: 35


Der Beitrag wurde von Gernie bearbeitet: 17.03.2017, 11:28 Uhr


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 17.03.2017, 11:40 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
QUOTE (Gernie @ 17.03.2017, 11:26 Uhr) *
Hallo zusammen,

an einer CTX beta800 (840D/sl) möchte ich die G500 Werte (Z und Z3) in einem DIN Programm auslesen, um damit den Nullpunkt der Gegenspindel zu berechnen.

Folgendes habe ich schon probiert:

R90=$P_UIFR[0, X, TR] ; Grobverschiebung X von G500 ($P_UIFR[1, X, TR] wäre G54 usw.)
R91=$P_UIFR[0, Y, TR]
R92=$P_UIFR[0, Z, TR]
R93=$P_UIFR[0, Z3, TR]

Nach Programmstart stehen alle R-Werte auf 0, obwohl bei Z eigentlich 104.617 stehen sollte.

Was mache ich falsch, bzw. Wer kann mir weitethelfen?

Gruß Markus

Angehängte Datei  Basisnullpunkte.jpg ( 117.9KB ) Anzahl der Downloads: 35

Hi

Alle Wertzuweisungen beim Auslesen oder Beschreiben der NP via $P_UIFR beziehen sich immer auf den Maschinen- Nullpunkt !
Wenn du also die Abweichung des aktuellen NP ( G54 = NP1 ) zum Maschinennullpunkt haben willst, musst du den NP 1 auslesen.
Aber mit einem NP selber kannst du nicht, ohne die Wegstrecken zu kenne, von der Hauptspindel auf die Gegenspindel umrechnen.
Der Prozess ist etwas komplizierter.

So könnte für die HP gelten :
Maschinennullpunkt Z (Flansch) + Spannmittel + Ausspannlänge + Aufmaß = G54 Hauptspindel.

Und genauso baut sich das nun für die Gegenspindel auf.


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 17.03.2017, 11:46 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
QUOTE (Andy742000 @ 17.03.2017, 11:40 Uhr) *
Hi

Alle Wertzuweisungen beim Auslesen oder Beschreiben der NP via $P_UIFR beziehen sich immer auf den Maschinen- Nullpunkt !
Wenn du also die Abweichung des aktuellen NP ( G54 = NP1 ) zum Maschinennullpunkt haben willst, musst du den NP 1 auslesen.
Aber mit einem NP selber kannst du nicht, ohne die Wegstrecken zu kenne, von der Hauptspindel auf die Gegenspindel umrechnen.
Der Prozess ist etwas komplizierter.

So könnte für die HP gelten :
Maschinennullpunkt Z (Flansch) + Spannmittel + Ausspannlänge + Aufmaß = G54 Hauptspindel.

Und genauso baut sich das nun für die Gegenspindel auf.


Hi,

die Berechnung für den neuen NP der GS habe ich. Allerdings stehen die Werte zur Berechnung fest im Programm.
Da sich die Bezugspunkte (G500) auch mal ändern (z.B. nach Kollision) möchte ich halt immer die aktuellen Werte im Offset nutzen.
Zum Wert des G54 wird ja immer der Basisbezug hinzugerechnet, was dann zum Gesamtwert führt.

Der Beitrag wurde von Gernie bearbeitet: 17.03.2017, 11:49 Uhr


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 17.03.2017, 12:03 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
Hi

Du versuchst jetzt auch das Pferd von hinten aufzuzäumen !
Wenn es crasht, was eigentlich nicht vorkommen darf !, ändert sich bei dir sicherlich nichts an der Werkstückposition im Spannmittel. Denn, wenn dieses eintreten würde, hättest es die ganze Spindel verschoben, und nicht nur den Revolver !
Wenn dann versucht wird, mit irgendwelchen obskuren Methoden, den Revolver wieder so zu positionieren, dass das Ergebnis wie vor dem Crash ist, dann ändert das aber nichts an der Mathematischen Kette.
G53 / G500 / SUPA = Maschinennullpunkt = Flansch + Aufbau der Wegekette bis zum Werkstück.
Wenn du jetzt durch Beeinflußung von Z1 = Revolver versucht das Drehergebnis wieder herzustellen, hat sich aber an der realen Position des Werkstücks im Maschinenraum nichts geändert.

Heist wenn du R90= $P_UIFR[1,Z,TR] + $P_UIFR[1,Z,FI] ausliest solltest du in R90 diese 104.617 stehen, vorrausgesetzt es hat keiner in der NP Fine Korrektur herumgespielt.


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 17.03.2017, 12:17 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
Heist wenn du R90= $P_UIFR[1,Z,TR] + $P_UIFR[1,Z,FI] ausliest solltest du in R90 diese 104.617 stehen, vorrausgesetzt es hat keiner in der NP Fine Korrektur herumgespielt.
[/quote]

Hi, eine FINE Korrektur ist nicht vorhanden.

Folgendes habe ich jetzt gemacht:

R90= $P_UIFR[1,Z,TR] + $P_UIFR[1,Z,FI]
R91= $P_UIFR[1,Z3,TR] + $P_UIFR[1,Z3,FI]

In den R-Parameten erscheint nur der G54 Wert, nicht der G500 Wert, den ich haben möchte. (siehe Anhänge).
Angehängte Datei  hardcopy_044.jpg ( 50.36KB ) Anzahl der Downloads: 22

Angehängte Datei  hardcopy_045.jpg ( 49.18KB ) Anzahl der Downloads: 19

Angehängte Datei  hardcopy_046.jpg ( 55.17KB ) Anzahl der Downloads: 19


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 17.03.2017, 12:37 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
Ach ja,

die G500 werte sind die Differenzen zwischen Spindelnasen und den Planflächen der Futter. Diese ändern sich schon, wenn die Futter wegen Reinigung abgebaut werden.

Der Beitrag wurde von Gernie bearbeitet: 17.03.2017, 12:38 Uhr


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 17.03.2017, 12:41 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
Hi

Und genau das ist das was ich dir habe in meinem Ersten Post zu sagen.
Es ist eine Mathematische Kette.
Der Flansch = G53 oder G500 ist der Ausgangspunkt.
Dazu kommt dann die Spannmittellänge = wie lang ist dein Spannmittel / Spannfutter
weiterhin kommt dazu noch eine Schutzzone, wenn diese angegeben werden kann
Jetzt kommt noch die Ausspannlänge des Werkstücks + eines eventuellen Aufmaßes dazu !
Und das ist dann dein G54 für die Hauptspindel.

Ohne zu wissen, ob Ihr das so direkt an der Maschine eingeben könnt, oder ob es nur "via Stahlmaß" ermittelt wurde macht die Sache nicht einfacher.

Wenn du nun einen Übergabe programmieren willst, ist das der Schlüssel. Dabei ist es vollkommen egal, ob der Revolver Z1 die gewünschten Werte auch anfährt. Denn wenn diese Position schon nicht stimmt, dann stimmt schon der gesamte Aufbau zu NP Bildung nicht mehr.

Wenn du nun also mit der Gegenspindel abgreifen willst, musst du den WEG Z- der Z3 Achse Gegenspindel kennen.
Jetzt musst du auch hier wieder die Länge des Spannmittels dazuaddieren.
Dieser Punkt ist nun die Differenz aus dem Punkt Hauptspindel Schutzzone, und der neuen Verrechnungslänge Z3.
Das heist, wenn du mit geöffneten Futter Gegenspindel auf die Hauptspindel zufährst, und diesen Wert anfährst, dann muss zwischen Spannmittel Hauptspindel und Spannmittel Gegenspindel genau diese Schutzzone bleiben, ohne das bei miteinander Kollidieren können.
Wenn das soweit passt, kannst du dann auch noch diese Berechnung um eine Ausspannlänge für die Gegenspindel erweitern.
Das heist aus dem Punkt Schutzzone Differenz Z3 Weg + Ausspannlänge ist dein Abgreifpunkt. Hingegen ist der neue NP Gegenspindel jetzt Flansch - Spannmittel - Ausspannlänge !

Das ganze hat nichts mit den Achsbewegungen und Korrekturen der Revolver zu tun, das ganze ist nur ein Mathematisches Spiel im Arbeitsraum ....

Nur so kannst du das ganze Stricken. Aus irgendwelchen Zahlen, ohne mathematisch notwendige Bezüge und festen Werten, die auch variabel sein können wie Spannmittellängen, geht es einfach nicht !!!


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 17.03.2017, 13:11 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.922
QUOTE (Gernie @ 17.03.2017, 12:17 Uhr) *
R90= $P_UIFR[1,Z,TR] + $P_UIFR[1,Z,FI]
R91= $P_UIFR[1,Z3,TR] + $P_UIFR[1,Z3,FI]


Die G500-Werte sollten mit dem Wert 0 für den ersten Index lesbar sein, also z.B. $P_UIFR[0,Z,TR].
   
Beitrag 17.03.2017, 13:12 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
Hi,

nochmal, ich brauche den G53 oder G500 Wert zur Berechnung. Nur G54 reicht nicht aus, da bei uns G54 die Länge zwischen Z0 und der Planfläche des Futters ist. G54 ist NICHTdie Differenz zwischen Z0 (Fertigteil) und Spindelnase!

Der G500 Wert kann sich schon von Maschine zur Maschine ändern. Da ich extern programmiere und das Programm an mehreren Maschinen laufen soll ist es für alle einfacher wenn sich das Programm die aktuellen G500 Werte selber aus den Offset Werten holt.

Der G54 Wert, den ich auslesen kann, müsste wenn der G500 auf "0" steht und man die Hardcopy44 noch mal anschaut, auf 229,613 stehen. also der Gesamtwert.

Und ja, den Basisbezug kann man von Hand ändern. Ermiteln kann man ihn durch ankatzen, Endmaße, usw.


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 17.03.2017, 13:35 Uhr
Andy742000
Andy742000
Level 7 = Community-Professor
*******
Gruppe: Banned
Mitglied seit: 15.09.2012
Beiträge: 3.725
Hi
es ändert sich nichts an den Werten von G500 ! Wenn dein Basisbezug sich geändert hat, wirkt das auch auf G54 !

Ließ dir das Durch, das hat nichts mit $P_UIFR alleine zu tun !

Entweder du weist bei welche Maschine welche Werte wo und wie beim Einrichten gesetzt werden, dann kannst du damit was anfangen.
Wenn du nicht weisst, oder ermitteln kannst, wo und wie diese Werte zB für Spannmittellängen abgespeichert werden, musst du die Kette wie beschreiben selber programmieren und aufbauen.
Angehängte Datei(en)
Angehängte Datei  FRAME.pdf ( 398.82KB ) Anzahl der Downloads: 20
 


--------------------
MfG
Andy

-------------------------------------------------------------------------------------------------------------------------


4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)

PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx

Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
   
Beitrag 17.03.2017, 13:49 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
QUOTE (CNCFr @ 17.03.2017, 13:11 Uhr) *
Die G500-Werte sollten mit dem Wert 0 für den ersten Index lesbar sein, also z.B. $P_UIFR[0,Z,TR].


Hi, danke hab ich schon probiert. Geht nicht.


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 17.03.2017, 19:21 Uhr
Roman12
Roman12
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 04.01.2017
Beiträge: 50
$P_CHBFR[0,X,TR] sollte die X-Grob verschiebung im basiskoordinaten system herausgeben

genaue beschreibungen aller möglichen frames findet man in der Siemensdoku
   
Beitrag 17.03.2017, 19:55 Uhr
Guest_guest_*
Themenstarter
Gast


Doku lesen ist ein unglaublich guter Tipp! wink.gif
Kaum zu glauben, was man da alles erfährt... wink.gif
z.B.:
Der erste Basisframe im Kanal: $P_UBFR oder $P_CHBFR[0]
Aktives Basisframe im Kanal: $P_CHBFRAME[n]
Aktives globales Basisframe: $P_NCBFRAME[n]
Aktives Gesamt-Basisframe: $P_ACTBFRAME
G500: $P_UIFR[0]
G54: $P_UIFR[1]
G505: $P_UIFR[5]
G599 $P_UIFR[99]

Um das aktive Gesamt-Frame auszulesen, kann man auch $P_ACTFRAME benutzen. Diese Werte beinhalten dann aber auch die programmierten Frames!
   
Beitrag 20.03.2017, 08:06 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
QUOTE (Roman12 @ 17.03.2017, 19:21 Uhr) *
$P_CHBFR[0,X,TR] sollte die X-Grob verschiebung im basiskoordinaten system herausgeben

genaue beschreibungen aller möglichen frames findet man in der Siemensdoku


Ja, sollte...
geht aber nicht. Es erscheint der Wert "0".

Das hab ich in der Doku auch gefunden, brachte aber keinen Erfolg.


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 20.03.2017, 08:16 Uhr
Gernie
Gernie
Level 1 = Community-Lehrling
*
Gruppe: Deleted
Mitglied seit: 26.03.2008
Beiträge: 35
QUOTE (guest @ 17.03.2017, 19:55 Uhr) *
Doku lesen ist ein unglaublich guter Tipp! wink.gif
Kaum zu glauben, was man da alles erfährt... wink.gif
z.B.:
Der erste Basisframe im Kanal: $P_UBFR oder $P_CHBFR[0]
Aktives Basisframe im Kanal: $P_CHBFRAME[n]
Aktives globales Basisframe: $P_NCBFRAME[n]
Aktives Gesamt-Basisframe: $P_ACTBFRAME
G500: $P_UIFR[0]
G54: $P_UIFR[1]
G505: $P_UIFR[5]
G599 $P_UIFR[99]

Um das aktive Gesamt-Frame auszulesen, kann man auch $P_ACTFRAME benutzen. Diese Werte beinhalten dann aber auch die programmierten Frames!


Klar hab ich die Doku gelesen. Da aber alles nicht funktionierte hab ich mir gedacht, das hier Im Forum erfahrene Leute sind, die Helfen können.
Doku ist manchmal auch nur für Experten und nicht für Laien.

Ich bin dann mit
G54
R90=$P_ACTFRAME[Z,TR]-$P_UIFR[1,Z,TR] ; G500 Z
R91=$P_ACTFRAME[Z3,TR]-$P_UIFR[1,Z3,TR]; G500 Z3

an meine gesuchten Werte gekommen.


--------------------
Gruß Gernie

PS: Rechtschreibfehler dienen der allgemeinen Belustigung !
   
Beitrag 20.03.2017, 09:03 Uhr
inaktiv_17
inaktiv_17
Level 3 = Community-Techniker
***
Gruppe: Banned
Mitglied seit: 05.02.2017
Beiträge: 179
Guten Morgen,

Ich habe nun das mal in Ruhe von Anfang an gelesen.
Also der Laie ( der das Handbuch nicht versteht, weil es nicht für Ihn geschrieben ist ) will jetzt einen Nullpunktübertrag von der Hauptspindel zur Gegenspindel programmieren. Ich bewundere solche Leute die sich solchen Aufgaben annehmen und stellen.

Aber verrenne dich nicht mit deinem G500. Das ist nicht alles.
Das Geometriemodell für eine Übergabe ist beschreiben worden.

Trotzdem viel Spass
R.HEIM
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: