Ausführliche Beschreibung
2.11 Unterprogrammaufruf durch NC-Sprachersetzung
Beispiel S1 ist die Leitspindel und S2 ist die Folgespindel:
Typischerweise wird der Maschinenhersteller z. B. bei Doppelspindler wissen welche
Folgespindel(n) beim Spindelpositionieren betroffen sind und diese Spindeln direkt
adressieren.
N1000 PROC LANG_SUB DISPLOF SBLOF
...
N2100 IF($P_SUB_AXFCT==2)
N2110
N2185
N2190
N2200
N2210
N2220
N2230
LABEL_DC:
LABEL_IC:
LABEL_AC:
LABEL_ACP:
LABEL_ACN:
LABEL_CONT:
N2250
N2260
N2270
N2280
N2285
N2290
N2410 ELSE
N2420
...
N3300 ENDIF
...
N9999 RET
LABEL_ERR: SETAL(61000)
2-184
;Ersetzung wegen SPOS/SPOSA/M19-Befehl bei aktiver Synchronspindelkopplung
DELAYFSTON
COUPOF(S2,_S1)
;Leit- und Folgespindel positionieren:
IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
;Spindel mit SPOS positionieren
CASE $P_SUB_SPOSMODE OF 0 GOTO LABEL_DC\
1 GOTO LABEL_IC 2 GOTO LABEL_AC 3 GOTO LABEL_DC\
4 GOTO LABEL_ACP 5 GOTO LABEL_ACN\
DEFAULT GOTOF LABEL_ERR
SPOS[1]=DC($P_SUB_SPOSIT) SPOS[2]=DC($P_SUB_SPOSIT)
GOTOF LABEL_CONT
DELAYFSTOF
SPOS[1]=IC($P_SUB_SPOSIT) SPOS[2]=IC($P_SUB_SPOSIT)
DELAYFSTON
GOTOF LABEL_CONT
SPOS[1]=AC($P_SUB_SPOSIT) SPOS[2]=AC($P_SUB_SPOSIT)
GOTOF LABEL_CONT
SPOS[1]=ACP($P_SUB_SPOSIT) SPOS[2]=ACP($P_SUB_SPOSIT)
GOTOF LABEL_CONT
SPOS[1]=ACN($P_SUB_SPOSIT) SPOS[2]=ACN($P_SUB_SPOSIT)
ELSE
;Spindel mit M19 positionieren:
M1=19 M2=19
ENDIF
DELAYFSTOF
COUPON(S2,S1)
; Beginn Stopp-Delay-Bereich
; Synchronspindelkopplung deaktivieren
; Leit- und Folgespindel positionieren
; Ende Stopp-Delay-Bereich
; Synchronspindelkopplung aktivieren
; Abfrage auf weitere Ersetzungen
Grundfunktionen: BAG, Kanal, Programmbetrieb, Reset-Verhalten (K1)
Funktionshandbuch, 11/2006, 6FC5397-0BP10-2AA0