Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Spindelstopp realisieren

Beitrag 02.05.2014, 10:02 Uhr
Stefan1987
Level 1 = Community-Lehrling
*
Hallo CNC-Arena Gemeinde,

wie ihr sehen könnt ist das heute mein erster Beitrag. Das liegt vor allem daran, dass ich mit CNC- WZM bisher wenig Kontakt hatte. Ich hoffe, ich kann dennoch mit eurer Unterstützung rechnen.. smile.gif

Im Rahmen eines Studienprojekts arbeite ich an einer Spinner TC 600 Drehmaschine mit einer Siemens 840 D-SL Steuerung. Hierfür ist es von Interesse an definierter Stelle einen Spindelstopp zu realisieren, um mit einem Messtaster die Abweichung zum Sollwert aufzunehmen. Nach einer Verweildauer von 10 Sekunden wird eine Position im Messraum angefahren und die Spindel wieder in Bewegung gesetzt. Der Messtaster ist an einem Werkzeug montiert.

Den Spindelstopp konnte ich erreichen mit dem Befehl SPOS=0. Im Anschluss daran habe ich versucht mit dem Befehl M5 die Spindel weiterhin für die 10 Sekunden Verweildauer in Ruhe zu halten. Jedoch kommt es nun zu folgendem Fehler: "Warten auf Spindel".

Wie habe ich den Fehler zu interpretieren ? Ist der Befehl SPOS nicht satzübergreifend ? Für mich erscheint es als logisch, dass eine ruhende Spindel einer Drehmaschine eher der Seltenheit angehört. Daher wird es wohl von Bedeutung sein, die Spindel in irgendeiner Form weiterhin anzusprechen...
Muss ich die C-Achse im Vorfeld irgendwie ansprechen ?

Nun würde ich euch gerne um eure Hilfe bitten.
Während meinen Versuchen sind 3 Programme entstanden, eines davon läuft aber macht nicht das was ich will smile.gif

Programm 1: Alternativ zu SPOS=0 habe ich den Befehl C=DC (0) A1 verwendet.

N1 G26 S3500
N2 G94 G90
N3 T="Schrupper_2"
N4 G54 X100 Y0 Z200
N5 G97 S1000 M3
N6 SPOS=0
N7 M5
N8 G4 F10
N9 G1 X100 z200 F150 -> Hier erscheint die "Fehlermeldung"
N10 S100 M3
N11 R0=10
N12 schleife:

.....

Im zweiten Programm habe ich anstatt M5 als Folgesatz von SPOS=0 M3 verwendet. Hierfür ist das Programm ohne Fehler gelaufen, ist aber nicht dass was ich wollte da sich die Spindel nach der Positionierung sofort wieder drehte.
Programm 2:

N1 G26 S3500
N2 G94 G90
N3 T="Schrupper_2"
N4 G54 X100 Y0 Z200
N5 G97 S1000 M3
N6 SPOS=0
N7 M3
N8 G1 X100 z200 F150
N9 G4 F10
N10 S100 M3
N10 R0=10
N12 schleife:

.....

Im 3. Programm habe ich die Positionierung ausgelassen und die Spindel nur gestoppt mittels M05. Aus der Vermutung heraus, dass der Befehl nicht satzübergreifend gilt, habe ich die erforderlichen Befehle mit M5 definiert, jedoch ohne Erfolg.
Programm 3:

N1 G26 S3500
N2 G94
N3 T="Schrupper_2"
N4 G54 X100 Y0 Z200
N5 G97 S1000 M3
N6 G1 X100 z200 F150 M05
N7 G4 F10 M05
N8 S100 M3
N9 R0=10
N10 schleife:
.....

Sorry für den langen Text. Für eure Mühen bedanke ich mich im Voraus

Grüße,
Stefan
   
Beitrag 02.05.2014, 10:45 Uhr
Micha1405
Level 6 = Community-Doktor
******
Hallo Stefan

Es gibt Hersteller die setzen voraus das die Spindel sich dreht wenn der Schlitten verfahren soll. Es sollte aber in der Doku ein M-Befehl, o.ä., zu finden sein mit dem man den Schlitten auch ohne Spindeldrehung verfahren kann.

Wenn Du in deinem ersten Prgramm die Sätze 9 und 10 tauschst sollte es eigentlich funktionieren.

In deinem zweiten Programm solltest Du die Verweilzeit zwischenn SPOS=0 und M3 setzen.

Für das dritte Programm gilt möglicherweise das was ich oben beschrieben habe.

Sorry für diese etwas allgemein gehaltene Antwort, aber mit Spinner kenne ich mich nicht aus.

Gruß und ein schönes Wochenende
Michael
   
Beitrag 02.05.2014, 11:19 Uhr
Stefan1987
Level 1 = Community-Lehrling
*
Hallo Micha,

vielen Dank für deine Antwort.
Das was ich in vielen Sätzen probiert habe auszuformulieren, hast du in einem konkretisiert. Es wird wohl daran liegen bei stehender Spindel den Schlitten zu verfahren.

Ich werde deine Vorschläge ausprobieren und bericht erstatten.

Muss ich für oben erwähnten Ansatz die Spindel als Achse definieren, so dass ich diese als eigene Achse ansprechen kann ?

Grüße,
Stefan
   
Beitrag 02.05.2014, 12:37 Uhr
Meisterle
Level 1 = Community-Lehrling
*
QUOTE (Stefan1987 @ 02.05.2014, 11:02 Uhr) *
Hallo CNC-Arena Gemeinde,

wie ihr sehen könnt ist das heute mein erster Beitrag. Das liegt vor allem daran, dass ich mit CNC- WZM bisher wenig Kontakt hatte. Ich hoffe, ich kann dennoch mit eurer Unterstützung rechnen.. smile.gif

Im Rahmen eines Studienprojekts arbeite ich an einer Spinner TC 600 Drehmaschine mit einer Siemens 840 D-SL Steuerung. Hierfür ist es von Interesse an definierter Stelle einen Spindelstopp zu realisieren, um mit einem Messtaster die Abweichung zum Sollwert aufzunehmen. Nach einer Verweildauer von 10 Sekunden wird eine Position im Messraum angefahren und die Spindel wieder in Bewegung gesetzt. Der Messtaster ist an einem Werkzeug montiert.

Den Spindelstopp konnte ich erreichen mit dem Befehl SPOS=0. Im Anschluss daran habe ich versucht mit dem Befehl M5 die Spindel weiterhin für die 10 Sekunden Verweildauer in Ruhe zu halten. Jedoch kommt es nun zu folgendem Fehler: "Warten auf Spindel".

Wie habe ich den Fehler zu interpretieren ? Ist der Befehl SPOS nicht satzübergreifend ? Für mich erscheint es als logisch, dass eine ruhende Spindel einer Drehmaschine eher der Seltenheit angehört. Daher wird es wohl von Bedeutung sein, die Spindel in irgendeiner Form weiterhin anzusprechen...
Muss ich die C-Achse im Vorfeld irgendwie ansprechen ?

Nun würde ich euch gerne um eure Hilfe bitten.
Während meinen Versuchen sind 3 Programme entstanden, eines davon läuft aber macht nicht das was ich will smile.gif

Programm 1: Alternativ zu SPOS=0 habe ich den Befehl C=DC (0) A1 verwendet.

N1 G26 S3500
N2 G94 G90
N3 T="Schrupper_2"
N4 G54 X100 Y0 Z200
N5 G97 S1000 M3
N6 SPOS=0
N7 M5
N8 G4 F10
N9 G1 X100 z200 F150 -> Hier erscheint die "Fehlermeldung"
N10 S100 M3
N11 R0=10
N12 schleife:

.....

Im zweiten Programm habe ich anstatt M5 als Folgesatz von SPOS=0 M3 verwendet. Hierfür ist das Programm ohne Fehler gelaufen, ist aber nicht dass was ich wollte da sich die Spindel nach der Positionierung sofort wieder drehte.
Programm 2:

N1 G26 S3500
N2 G94 G90
N3 T="Schrupper_2"
N4 G54 X100 Y0 Z200
N5 G97 S1000 M3
N6 SPOS=0
N7 M3
N8 G1 X100 z200 F150
N9 G4 F10
N10 S100 M3
N10 R0=10
N12 schleife:

.....

Im 3. Programm habe ich die Positionierung ausgelassen und die Spindel nur gestoppt mittels M05. Aus der Vermutung heraus, dass der Befehl nicht satzübergreifend gilt, habe ich die erforderlichen Befehle mit M5 definiert, jedoch ohne Erfolg.
Programm 3:

N1 G26 S3500
N2 G94
N3 T="Schrupper_2"
N4 G54 X100 Y0 Z200
N5 G97 S1000 M3
N6 G1 X100 z200 F150 M05
N7 G4 F10 M05
N8 S100 M3
N9 R0=10
N10 schleife:
.....

Sorry für den langen Text. Für eure Mühen bedanke ich mich im Voraus

Grüße,
Stefan


Hallo Stefan,

die Fehlermeldung kommt weil du bei Beispiel 1 eine Bewegung im G1 machen willst.
Da es eine Drehmaschine ist bedeutet F150 das du bei einer Spindelumdrehung 150mm Weg machen willst. Wenn die spindel nicht dreht wird auch nicht verfahren.
Wenn du vor dem bewegungssatz G94 schreibst wird auf mm/min umgeschaltet und wichtig nach dem Satz mit G95 wider zurück auf mm/umdrehung da die Befehle modal wirksam sind.
Was auch eine Fehlerquelle sein kann ist M05 nach Spos kommt. Erst die Spindel anhalten mit M05 und dann SPOS.

Der Beitrag wurde von Meisterle bearbeitet: 02.05.2014, 12:45 Uhr


--------------------
Viele Grüße

Andreas

Spinner VC560 Bj.2007
Spinner U5-620 Bj.2013
Spinner TC600SMCY Bj.2013
   
Beitrag 03.05.2014, 09:00 Uhr
Stefan1987
Level 1 = Community-Lehrling
*
Hey Meisterle,

vielen Dank für deinen Beitrag.

Mir war nicht bewusst, dass die Vorschubbewegung des Schlittens mit der Spindelumdrehung gekoppelt ist.
Ich dachte, der Befehl G94 bezieht sich nur auf die Vorschubgeschwindigkeit, welche ich in Zeile 2 definiert hatte und G95 bzw. G97 auf die Spindel.

Wenn du vor dem bewegungssatz G94 schreibst wird auf mm/min umgeschaltet und wichtig nach dem Satz mit G95 wider zurück auf mm/umdrehung da die Befehle modal wirksam sind.


Kannst du mir bitte kurz erläutern, wie durch die Änderung von dir oben, das "Problem" bei nicht drehender Spindel den Schlitten zu verfahren umgangen wird ?

Ich werde die Vorschläge am Dienstag mal umsetzen und Bericht erstatten smile.gif

Danke und Grüße,
Stefan
   
Beitrag 03.05.2014, 12:00 Uhr
Guest_guest_*
Themenstarter
Hallo Stefan1987,

aus deinen Programmschnipseln läßt sich nicht wirklich erkennen, was du da vor hast...
Offenbar hast du "PAL-Programmierung" im Kopf. Du stehst aber vor einer "realen Maschine" mit SINUMERIK-Steuerung, die kein "PAL" versteht.
In der Maschinendokumentation zur TC600, ist auch eine CD (oder DVD) mit der Datensicherung (IBN-Archive) und auch mit den Programmierhandbüchern zur SINUMERIK als PDF-Dateien. PG.pdf, PGA.pdf, PGZ.pdf und DA.pdf sollten dabei sein.
Nimm dir mal fürs Erste das "Programmierhandbuch Grundlagen" (PG.pdf) vor. In Kapitel 12.1 findest du die "Liste der Anweisungen" die die SINUMERIK versteht, und was sie bedeuten.

Was für ein "Messtaster" ist denn da verbaut? Ein schaltender Taster oder ein mechanischer? Oder Lichtschranke? (Die Vermutung liegt nahe, wenn du mit rotierender Spindel messen willst?)
Welcher Wert soll denn gemessen und verglichen werden?

Die Meldung "Warten auf Spindel" ist übrigens keine Fehler- oder Alarmmeldung, sondern eine "Zustandsanzeige", die anzeigt, daß auf den programmierten Spindelzustand gewartet wird, bzw. daß eine spindelabhängige Funktion auf eine Drehzahl wartet.
Das passiert, wenn bei konstanter Schnittgeschwindigkeit (G96) und stehender Spindel, eine Arbeitsbewegung (G1, G2, G3) programmiert wurde. Der Vorschub (150mm/U) kann so nicht berechnet werden.

Übrigens finde ich ein Messprogramm als "Einsteigerprojekt" recht anspruchsvoll. Da wirst du dir wohl als "blutiger Anfänger" auch eine "blutige Nase" holen... wink.gif

Ich hab' mal deine Schnipsel kommentiert... vielleicht erkennst du die Unterschiede zu dem, was du programmieren wolltest.

QUOTE
Programm 1: Alternativ zu SPOS=0 habe ich den Befehl C=DC (0) A1 verwendet.

N1 G26 S3500 ;G26=obere Arbeitsfeldbegrenzung (ohne Achswerte ohne Bedeutung), Spindel 3500 RPM
N2 G94 G90 ;G94=Linearvoeschub mm/min, G90=Massangabe absolut
N3 T="Schrupper_2" ;Werkzeugaufruf, hier fehlt die Schneidennummer "D1"
N4 G54 X100 Y0 Z200 ;G54=erste einstellbare Nullpunktverschiebung, Die Angaben danach sind wirkungslos
N5 G97 S1000 M3 ;G97=konstante Schnittgeschwindigkeit, Spindel 1000 m/min ;Spindel ein Rechtslauf
N6 SPOS=0 ;Spindel Halt auf 0°
N7 M5 ;Spindel Halt
N8 G4 F10 ;Wartezeit 10s
N9 G1 X100 z200 F150 ;Linearinterpolation mit 150 mm/min -> Hier erscheint die "Fehlermeldung" (glaub' ich nicht)
N10 S100 M3 ;Spindel ein mit 100 m/min
N11 R0=10 ;R10 bekommt den wert "10" zugewiesen
N12 schleife:
.....

Im zweiten Programm habe ich anstatt M5 als Folgesatz von SPOS=0 M3 verwendet. Hierfür ist das Programm ohne Fehler gelaufen, ist aber nicht dass was ich wollte da sich die Spindel nach der Positionierung sofort wieder drehte.
Programm 2:

N1 G26 S3500 [
N2 G94 G90 [
N3 T="Schrupper_2" [
N4 G54 X100 Y0 Z200 [
N5 G97 S1000 M3 [
N6 SPOS=0 [ ; wie oben
N7 M3 ;Spindel wieder ein
N8 G1 X100 z200 F150 [ ; wie oben
N9 G4 F10 [
N10 S100 M3 [
N10 R0=10 [
N12 schleife:
.....

Im 3. Programm habe ich die Positionierung ausgelassen und die Spindel nur gestoppt mittels M05. Aus der Vermutung heraus, dass der Befehl nicht satzübergreifend gilt, habe ich die erforderlichen Befehle mit M5 definiert, jedoch ohne Erfolg.
Programm 3:

N1 G26 S3500 [
N2 G94 [
N3 T="Schrupper_2" [
N4 G54 X100 Y0 Z200 [
N5 G97 S1000 M3 [ ;wie oben
N6 G1 X100 z200 F150 M05 ;Linearinterpolation mit 150 mm/min, Spindel Halt
N7 G4 F10 M05 ; Wartezeit 10 s, Spindel Halt
N8 S100 M3
N9 R0=10
N10 schleife:
.....




Richtig wäre:

LIMS 3500
G95
G96
G90
G54
T="SCHRUPPER_2" D1
G97 S100 M3
G0 X... Z...
G1 X... Z... F0.4
...
G0 X... Z... ;WerkzeugWechselPunkt
T="TASTER" D1
SPOS=0
G96
G0 X100 Z50
G0 Z-5
MEAS=1
G1 X20 F150
...
...

Der Beitrag wurde von guest bearbeitet: 03.05.2014, 12:13 Uhr
   
Beitrag 03.05.2014, 12:46 Uhr
Guest_guest_*
Themenstarter
Sorry, da ist mir ein Fehler unterlaufen... wink.gif
QUOTE
N5 G97 S1000 M3 ;G97=konstante Schnittgeschwindigkeit, Spindel 1000 m/min ;Spindel ein Rechtslauf

muß natürlich:
QUOTE
N5 G97 S1000 M3 ;G97=konstante Schnittgeschwindigkeit aus, Spindel 1000 U/min ;Spindel ein Rechtslauf

heißen.
Chiedo perdono un migliaio di...
   
Beitrag 03.05.2014, 16:39 Uhr
Stefan1987
Level 1 = Community-Lehrling
*
Hallo guest,

danke für deine Mühen.

Es handelt sich dabei um einen "eigenständigen" nicht mit der Werkzeugmaschine kommunizierenden mechanischen Messtaster.
Weiter soll an definierter Stelle der Welle, stehende Spindel bei bspw. 0 Grad, die Abweichung zur Sollposition über der Zeit ( Wärmeeinfluss ) aufgenommen werden.

Reihenfolge ist: Spindel positionieren -> Messpunkt auf Welle anfahren -> 10 Sek Pause um Messpunkt aufzunehmen ( manuell ) -> Punkt im Arbeitsraum anfahren -> Schleife zum Warmfahren ausführen -> Spindel positionieren.....

Liegt der Schlüssel also darin, nach dem Positionieren der Spindel mit G0 anstatt G1, G2, G3 zu verfahren?
Kann ich die Welle im Eilgang anfahren ? Oder hast du aus diesem Grund das Verfahren in zwei Sätze aufgeteilt, so dass eine "Kollision" vermieden wird ?

Muss ich in deinem Beispiel für den letzten Befehl ( G1 X20 F150 ) die Spindel aufgrund dem G1-Befehl nicht noch in Bewegung setzen, so dass obige Meldung vermieden wird ?

Danke nochmals für deine Hilfestellung.

Grüße,
Stefan

P.S.: Danke für den Hinweis über das Programmierhandbuch-Grundlagen, ich denke das wird vonnöten sein smile.gif
   
Beitrag 04.05.2014, 20:11 Uhr
Guest_guest_*
Themenstarter
Hallo Stefan,

der Sinn mit G0 zu positionieren, liegt einfach darin, im nicht kollisionsgefähdeten Bereich schneller zu verfahren um Zeit zu sparen. Also mit G0 bis zum Sicherheitsabstand und dann mit G1 oder im Bogen zum Konturanfang.
In der Praxis haben sich Sicherheitsabstände zum Werkstück zwischen 5mm und 1mm als sinnvoll erwiesen.

Um die Achsen bei stehender Spindel verfahren zu können, ist es wichtig, den Achsvorschub unabhängig von der Spindel-Drehzahl zu machen. Dazu darf die konstante Schnittgeschwindigkeit und der Umdrehungsvorschub nicht aktiv sein.

Bedingung ist also:
G18 ;Arbeitsebene XZ
G70 ;metrisches Maßsystem
G97 ;konstante Schnittgeschwindigkeit AUS
G94 ;Linearvorschub in mm/min
F100 ; Vorschub 100mm/min

Was die Funktion SPOS angeht, muß kein M5 davor oder danach programmiert werden. Die Spindel wird dabei bis zur Stillstandüberwachungsgrenze abgebremst, und mit dieser Drehzahl bis zur programmierten Winkelposition weitergedreht.
   
Beitrag 15.05.2014, 00:58 Uhr
bkpal
Level 1 = Community-Lehrling
*
QUOTE (guest @ 04.05.2014, 21:11 Uhr) *
Hallo Stefan,

der Sinn mit G0 zu positionieren, liegt einfach darin, im nicht kollisionsgefähdeten Bereich schneller zu verfahren um Zeit zu sparen. Also mit G0 bis zum Sicherheitsabstand und dann mit G1 oder im Bogen zum Konturanfang.
In der Praxis haben sich Sicherheitsabstände zum Werkstück zwischen 5mm und 1mm als sinnvoll erwiesen.

Um die Achsen bei stehender Spindel verfahren zu können, ist es wichtig, den Achsvorschub unabhängig von der Spindel-Drehzahl zu machen. Dazu darf die konstante Schnittgeschwindigkeit und der Umdrehungsvorschub nicht aktiv sein.

Bedingung ist also:
G18 ;Arbeitsebene XZ
G70 ;metrisches Maßsystem
G97 ;konstante Schnittgeschwindigkeit AUS
G94 ;Linearvorschub in mm/min
F100 ; Vorschub 100mm/min

Was die Funktion SPOS angeht, muß kein M5 davor oder danach programmiert werden. Die Spindel wird dabei bis zur Stillstandüberwachungsgrenze abgebremst, und mit dieser Drehzahl bis zur programmierten Winkelposition weitergedreht.


Vor SPOS muss aber noch C-Achse eingeschaltet werden, L707. Oder?


--------------------
Viele Grüße
bk


DMG CTV 315 linear
   
Beitrag 15.05.2014, 14:22 Uhr
Maverik84
Level 1 = Community-Lehrling
*
Hallo,

Nein

SPOS Positioniert die Spindel

Wen du mit L707 die C4 Achse aktivierst dann bist du im Achsbetrieb und nicht mehr im Spindelbetrieb.

Vorsicht: Bei gleicher Winkelangabe in SPOS bzw. in C4 (als aktive Achse) muß die Spindel nicht auf der selben Position stehen.
Beispiel: Eine Nullpunktverschiebung in der C4-Achse wirkt sich meines wissens nach nicht auf den SPOS aus sondern nur auf C4.

Gruß Thomas
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: