Siemens
Digital Industries, Motion Control, Machine Tool Systems
8841
Follower:innenDrehzahländerung während des verfahrens
10.06.2008, 20:39 Uhr
Hallo CNC ler!
Ist es an der 840 D Steuerung möglich während ich von Punkt A nach Punkt B im Vorschub fahre die Drehzahl hoch und runter zu fahren?
Mein Ansatz wäre die Strecke die ich verfahre in Teilstrecken einzuteilen und nach einer bestimmten Zeit (z.B. 1 sek.) die drehzahl neu zu definieren!
Wer hat etwas ähnliches schon gemacht?
Vielen Dank im vorraus
Dorothea
Ist es an der 840 D Steuerung möglich während ich von Punkt A nach Punkt B im Vorschub fahre die Drehzahl hoch und runter zu fahren?
Mein Ansatz wäre die Strecke die ich verfahre in Teilstrecken einzuteilen und nach einer bestimmten Zeit (z.B. 1 sek.) die drehzahl neu zu definieren!
Wer hat etwas ähnliches schon gemacht?
Vielen Dank im vorraus
Dorothea
10.06.2008, 20:41 Uhr
Themenstarter
Gruppe:
Mitglied seit: --
Beiträge: 0
Mitglied seit: --
Beiträge: 0
Hallo,
der Ansatz ist sehr gut, da innerhalb eines Geradensatze keine Änderung möglich ist.
der Ansatz ist sehr gut, da innerhalb eines Geradensatze keine Änderung möglich ist.
10.06.2008, 22:29 Uhr
Mit Synchronaktionen ist das gut zu machen. Einfach abhängig vom Weg oder der Zeit das Vorschubpoti beschreiben.
11.06.2008, 00:12 Uhr
Ich hätte ein fertiges Programm bei dem 4(oder auch mehr) verschiedene Drehzahländerungen über Sychronaktionen immer duchgeschaltet werden, wobei man Beschleunigung und Verweilzeit auf jeder jeweiligen Drehzahl auch noch programmieren kann.
Ich kanns aber leider erst nächsten Diestag posten, hab gerade Urlaub.
Der Beitrag wurde von born_to_mill bearbeitet: 11.06.2008, 00:12 Uhr
Ich kanns aber leider erst nächsten Diestag posten, hab gerade Urlaub.
Der Beitrag wurde von born_to_mill bearbeitet: 11.06.2008, 00:12 Uhr
11.06.2008, 07:55 Uhr
Kann mir das garnicht Vorstellen will soll die Kontur dann aus sehen ? Wenn ständig die Drehzahl geändert wird. Es brauch ja eine gewisse Reaktionzeit der Spindel bis sie die neue Drehzahl anpasst.
--------------------
Mit freundlichen Grüßen
*Lieber zu Kopf als zu Fuß*
*Lieber zu Kopf als zu Fuß*
13.06.2008, 22:53 Uhr
hi, genau das thema dieser diskusion hat meinen chef und mich heute ewig beschäftigt
wir kamen auch auf die synchronfunktionen, jedoch kamen wir mit diesen nicht zurecht. die doku, welche wir hatten, gab einfach zu wenig erläuterungen und beispiele, als das wir dahinter steigen konnten, wie man das macht.
kann vielleicht jemand mal ein einfaches beispiel geben, einfach nur, dass die drehzahl kontinuierlich steigt, währender die spindel von a nach b fährt.
vielen dank
wir kamen auch auf die synchronfunktionen, jedoch kamen wir mit diesen nicht zurecht. die doku, welche wir hatten, gab einfach zu wenig erläuterungen und beispiele, als das wir dahinter steigen konnten, wie man das macht.
kann vielleicht jemand mal ein einfaches beispiel geben, einfach nur, dass die drehzahl kontinuierlich steigt, währender die spindel von a nach b fährt.
vielen dank
14.06.2008, 01:17 Uhr
Hallo,
könnte mal jemand mehr über Synchronfunktionen erklären, da es mich auch brennend interessieren würde, wie sowas funktioniert und in meinen
Unterlagen nichts zu finden ist.
Ist dies bei einer Fanucsteuerung auch möglich ?
MfG
könnte mal jemand mehr über Synchronfunktionen erklären, da es mich auch brennend interessieren würde, wie sowas funktioniert und in meinen
Unterlagen nichts zu finden ist.
Ist dies bei einer Fanucsteuerung auch möglich ?
MfG
14.06.2008, 08:25 Uhr
In diesem Beispiel wird in den X-Bereichen 16...18, 9...12 und 6...7 mit 1,8% des programiierten Vorschubs gefahren, in den übrigen Bereichen mit 100%.
WHENEVER ($AA_IW[X] < 18) AND ($AA_IW[X] >=16) DO $AC_OVR=0.018
WHENEVER ($AA_IW[X] < 12) AND ($AA_IW[X] >= 9) DO $AC_OVR=0.018
WHENEVER ($AA_IW[X] < 7) AND ($AA_IW[X] >= 6) DO $AC_OVR=0.018
Also zunächst mal zur ersten Variante (das ist in DocOnWeb ebenfalls alles beschrieben):
Das ganze bezeichnet man als Synchronaktionen. In dem Beispielssatz
WHENEVER ($AA_IW[X] < 18) AND ($AA_IW[X] >=16) DO $AC_OVR=0.018
wird abgefragt ob der Istwert der X-Achse zwischen 16 und 18 liegt. Das ist der Teil ($AA_IW[X] < 18) AND ($AA_IW[X] >=16).
Diese Bedingung wird im nächsten auführbaren Satz (z.B. einem Verfahrsatz) ständig (WHENEVER) abgefragt, und wenn sie erfüllt ist, wird die Anweisung hinter dem DO ausgeführt; in unserem Beispiel wird hier der Vorschuboverwrite-Schalter auf 1.8% gesetzt. Wenn die Bedingung nicht mehr erfüllt ist, geht der Vorschub wieder auf 100% (oder auf den am Vorschubschalter tatsächlich eingestellten Wert).
Solche Synchronaktionen kann man aufsammeln, wie in meinem Beispiel oben dargestellt, d.h in dem Beispiel oben werden 3 Synchronaktionen aufgesammelt, die alle gleichzeitig im nachfolgenden Verfahrsatz wirksam werden. Stattdessen hätte man einfach auch die ganzen Bedingungen in eine einzige Abfrage packen können.
Ich hoffe das hilft weiter
mfg Sit22
Der Beitrag wurde von Sit22 bearbeitet: 14.06.2008, 08:26 Uhr
WHENEVER ($AA_IW[X] < 18) AND ($AA_IW[X] >=16) DO $AC_OVR=0.018
WHENEVER ($AA_IW[X] < 12) AND ($AA_IW[X] >= 9) DO $AC_OVR=0.018
WHENEVER ($AA_IW[X] < 7) AND ($AA_IW[X] >= 6) DO $AC_OVR=0.018
Also zunächst mal zur ersten Variante (das ist in DocOnWeb ebenfalls alles beschrieben):
Das ganze bezeichnet man als Synchronaktionen. In dem Beispielssatz
WHENEVER ($AA_IW[X] < 18) AND ($AA_IW[X] >=16) DO $AC_OVR=0.018
wird abgefragt ob der Istwert der X-Achse zwischen 16 und 18 liegt. Das ist der Teil ($AA_IW[X] < 18) AND ($AA_IW[X] >=16).
Diese Bedingung wird im nächsten auführbaren Satz (z.B. einem Verfahrsatz) ständig (WHENEVER) abgefragt, und wenn sie erfüllt ist, wird die Anweisung hinter dem DO ausgeführt; in unserem Beispiel wird hier der Vorschuboverwrite-Schalter auf 1.8% gesetzt. Wenn die Bedingung nicht mehr erfüllt ist, geht der Vorschub wieder auf 100% (oder auf den am Vorschubschalter tatsächlich eingestellten Wert).
Solche Synchronaktionen kann man aufsammeln, wie in meinem Beispiel oben dargestellt, d.h in dem Beispiel oben werden 3 Synchronaktionen aufgesammelt, die alle gleichzeitig im nachfolgenden Verfahrsatz wirksam werden. Stattdessen hätte man einfach auch die ganzen Bedingungen in eine einzige Abfrage packen können.
Ich hoffe das hilft weiter
mfg Sit22
Der Beitrag wurde von Sit22 bearbeitet: 14.06.2008, 08:26 Uhr
--------------------
Mit freundlichen Grüßen
*Lieber zu Kopf als zu Fuß*
*Lieber zu Kopf als zu Fuß*
14.06.2008, 08:46 Uhr
ok, vielen dank schon mal
ich hab noch ein par allgemeine fragen dazu.
sehe ich folgendes richtig ?
WHEN wird nur einmal vor ausführung des nächsten satzes abgefragt ?
WHENEVER die ganze zeit während des nächsten satzes
EVERY bei jeden satz ? ständig oder nur am anfang ?
nach dem DO kann man ja wie in dem beispiel den Vorschub steuern, wenn ich nun die spindeldrehzahl steuern will, kann ich dort S#### schreiben oder muss ich das wieder mit einer $A.... variable regeln ?
ich hab noch ein par allgemeine fragen dazu.
sehe ich folgendes richtig ?
WHEN wird nur einmal vor ausführung des nächsten satzes abgefragt ?
WHENEVER die ganze zeit während des nächsten satzes
EVERY bei jeden satz ? ständig oder nur am anfang ?
nach dem DO kann man ja wie in dem beispiel den Vorschub steuern, wenn ich nun die spindeldrehzahl steuern will, kann ich dort S#### schreiben oder muss ich das wieder mit einer $A.... variable regeln ?
14.06.2008, 09:07 Uhr
gibts hier kein EDIT ?
najo dann halt so
hab eben mal nach variablen gesucht, welche etwas mit der drehzahl zu tun haben. die einzige, welche man auch schreiben kann, ist die maximale drehzahl eines werkzeuges, alle anderen kann man nur lesen.
--------------------------
hä, jetzt hab ich den edit knopf, sehr seltsam
Der Beitrag wurde von Pitscho bearbeitet: 14.06.2008, 09:08 Uhr
najo dann halt so
hab eben mal nach variablen gesucht, welche etwas mit der drehzahl zu tun haben. die einzige, welche man auch schreiben kann, ist die maximale drehzahl eines werkzeuges, alle anderen kann man nur lesen.
--------------------------
hä, jetzt hab ich den edit knopf, sehr seltsam
Der Beitrag wurde von Pitscho bearbeitet: 14.06.2008, 09:08 Uhr
17.06.2008, 16:00 Uhr
Hatte heute leider keine Zeit um das Programm zu kopieren
Aber zu euren Fragen:
@Sit22: Kontur ist kein Problem. Zumindest auf Drehmaschinen. Wir verwenden das Programm um Schwingungen bei schlecht gespannten oder dünnwandigen Werkstücken zu vermeiden.
@Pitscho
Damit die Drehzahl kontinuierlich steigt gibt es mehrere Varianten
z.B. könnte es so funkitionieren:
In dem Beispiel sollte die Drehzahl jeden mm um 2 U/min steigen.
Es gibt natülich auch noch viele andere Möglichkeiten sowas umzusetzen je nach dem was du genau vor hast.
Es gibt 3 Arten Sychronaktionen zu programmieren
z.B mit
Wenn du der SA noch eine ID z.B.
Bei der dritten Variante bleibt die SA in allen Betriebsarten aktiv z.B.
WHEN bedeutet das die Bedingung abgefragt wird bis sie erfüllt ist, dann wird die Aktion genau einmal ausgeführt
WHENEVER bedeutet das die Bedingung kontinuierlich abgefragt wird und die Aktion auch immer wieder ausgeführt wird solange die Bedigung erfüllt ist.
EVERY bedeutet das jedesmal wenn die Bedingung erfüllt ist die Aktion einmal ausgeführt wird
Die Drehzahl kannst du entweder direkt mit DO S=100 oder indirekt mit DO $AC_OVR[S1]=110 ändern
@fabianic Ich habe leider noch nie auf einer Fanuc gearbeitet aber ich werde mich mal schlau machen ob das möglich ist
Aber zu euren Fragen:
@Sit22: Kontur ist kein Problem. Zumindest auf Drehmaschinen. Wir verwenden das Programm um Schwingungen bei schlecht gespannten oder dünnwandigen Werkstücken zu vermeiden.
@Pitscho
Damit die Drehzahl kontinuierlich steigt gibt es mehrere Varianten
z.B. könnte es so funkitionieren:
CODE
G0 X0
DO $R1=$P_S[1];Dem R-Parameter für Sychronaktionen die aktuelle programmierte Spindeldrehzahl zuweisen
DO S=$R1+$AA_IW[X]*2;Spindeldreehzahl berechnet sich aus der programmierten Drehzahl $R1 und der aktuellen postion im Werkstückkoordinatensystem $AA_IW[X] und einem Korrekturfaktor
G1 X100
DO $R1=$P_S[1];Dem R-Parameter für Sychronaktionen die aktuelle programmierte Spindeldrehzahl zuweisen
DO S=$R1+$AA_IW[X]*2;Spindeldreehzahl berechnet sich aus der programmierten Drehzahl $R1 und der aktuellen postion im Werkstückkoordinatensystem $AA_IW[X] und einem Korrekturfaktor
G1 X100
In dem Beispiel sollte die Drehzahl jeden mm um 2 U/min steigen.
Es gibt natülich auch noch viele andere Möglichkeiten sowas umzusetzen je nach dem was du genau vor hast.
Es gibt 3 Arten Sychronaktionen zu programmieren
z.B mit
CODE
DO ... oder
EVERY .... DO .....
wird die Synchronaktion nur im nächsten programmierten Verfahrsatz ausgeführtEVERY .... DO .....
Wenn du der SA noch eine ID z.B.
CODE
ID=1 DO ... oder
ID=2 EVERY ..... DO .......
gibst bleibt sie das ganze Programm gültig bis du sie mit ID=2 EVERY ..... DO .......
CODE
CANCEL(1) bzw. CANCEL(2)
wieder aufhebst Bei der dritten Variante bleibt die SA in allen Betriebsarten aktiv z.B.
CODE
IDS=1 DO ....
WHEN bedeutet das die Bedingung abgefragt wird bis sie erfüllt ist, dann wird die Aktion genau einmal ausgeführt
WHENEVER bedeutet das die Bedingung kontinuierlich abgefragt wird und die Aktion auch immer wieder ausgeführt wird solange die Bedigung erfüllt ist.
EVERY bedeutet das jedesmal wenn die Bedingung erfüllt ist die Aktion einmal ausgeführt wird
Die Drehzahl kannst du entweder direkt mit DO S=100 oder indirekt mit DO $AC_OVR[S1]=110 ändern
@fabianic Ich habe leider noch nie auf einer Fanuc gearbeitet aber ich werde mich mal schlau machen ob das möglich ist
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: