NC-Programmierung
Beispiel:
; Hauptprogramm
N10 DEF INT PAR_H1
;Unterprogrammerklärung:
N20 EXTERN UP_FIX_PAR ( REAL, INT, INT) ; ohne Parameterrückgabe
N30 EXTERN UP_VAR_PAR (VAR INT, INT)
...
N50 PAR_H1=10
N60 UP_FIX_PAR (123.45, PAR_H1, 90)
...
N70 PAR_H1=PAR_H1+10
...
N80 UP_VAR_PAR (PAR_H1, 50)
...
N100 M2
; Unterprogramm UP_FIX_PAR
N10 PROC UP_FIX_PAR (REAL PAR_L1, INT PAR_L2, INT PAR_L3)
...
N20 PAR_L2 = PAR_L2+PAR_L3
...
N100 RET
; Unterprogramm UP_VAR_PAR, PAR_L1 soll zurückgegeben werden
N10 PROC UP_VAR_PAR(VAR INT PAR_L1, INT PAR_L2)
...
N20 PAR_L1 = PAR_L1+PAR_L2
...
N30 M2
Indirekter Unterprogrammaufruf CALL
Ein indirekter Unterprogrammaufruf ist mit der Anweisung CALL möglich.
Der Unterprogrammname ist in einer Variablen vom Typ STRING zu übergeben.
Indirekter Unterprogrammaufruf mit Parameterübergabe ist nicht möglich.
Beispiel:
...
N10 DEF STRING[30] UP_NAME
N20 UP_NAME = "TEIL1"
...
N30 CALL UP_NAME
...
N40 UP_NAME ="_N_TEIL2_SPF"
N50 CALL UP_NAME
...
10–146
; Definition einer INT-Variablen
; mit Parameterrückgabe
; Unterprogrammaufruf
; PAR_H1 = 10
; PAR_H1 = 20
; Unterprogrammaufruf
; PAR_H1 = 70
; PAR_L2=100
; PAR_L1=70
; ohne Domainangabe
; auch möglich mit Domainangabe
Mehrachsbaugruppe FM 357-2 für Servo- bzw. Schrittantrieb
6ES7 357-4AH00-8AG0