582.989 aktive Mitglieder*
6.752 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
Siemens Forum

Digital Industries, Motion Control, Machine Tool Systems

Verschleifen in einer Zählschleife

Beitrag 24.11.2023, 14:20 Uhr
Los_Fritzos
Los_Fritzos
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 01.09.2016
Beiträge: 3

Hallo zusammen,

ich habe ein kleines Programm zum Plan-Spiralfräsen mit X und C geschrieben und würde die Maschine gerne dazu bringen, die Zählschleife durchlaufen zu lassen, ohne dass sie nach jedem Durchlauf anhält, bzw. den Genauhalt berücksichtigt.
Der Abschnitt sieht wie folgt aus:


FOR R920=R920+1 TO R908
FGREF[C]=$$AA_IW[X]
G1 X=IC(R909) C=IC(360)
ENDFOR
G1 X=IC(360) G60

Mit G64, G641 und G645 bin ich nicht weiter gekommen, oder habe es falsch angewendet.

Vllt. hat ja jemand einen Tipp für mich smile.gif

Viele Grüße danke.gif

TOP    
Beitrag 24.11.2023, 14:57 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.912

Ich vermute, dass die Zeile
FGREF[C]=$$AA_IW[X]
für den Problem sorgt. Weshalb musst du die X-Position lesen? Die wird doch in deinem Programm definiert angefahren.
Ich würde vorschlagen zusätzlich eine Variable für die absolute X-Position einzuführen und diese dann für das Beschreiben von FGREP zu verwenden, also etwa so:

QUELLTEXT
DEF REAL X_ABS
.
.
.
X_ABS = $AA_IW[X] ; Oder besser hier die wahrscheinlich bekannte X-Position einsetzen

FOR R920=R920+1 TO R908
FGREF[C]=X_ABS
X_ABS = X_ABS + R909
G1 X=IC(R909) C=IC(360)
ENDFOR


Alternativ kannst du die aktuelle X-Position ja auch aus R920 und R909 berechnen und ohne Zwischenvariable FGREF zuweisen,
TOP    



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