Indirekte Parameter

Indirekte Parameter werden in arithmetischen Ausdrücken und bei Zuweisungen wie direkte Parameter verwendet. Abhängig vom Modus [6]-6.44 sind folgende Fälle zu unterscheiden:

Fall 1: Nur das P-Wort ist für Parameter zugelassen

Sowohl die direkte (Pnn) als auch die indirekte Programmierung (PPnn) erfolgt ausschließlich über das P-Wort. Hierbei gilt bei Verwendung von indirekten Parametern:

PPnn zeigt auf den Parameter Pnn.

Bei der Initialisierung eines PPnn wird die Adresse eines Pnn zugewiesen. Auch die Verwendung von PPP... ist möglich.

Beispiel:

Mit P120=10 wird der Wert 10 in den Parameter 120 geladen. Die Anweisung PP120=123.456 ordnet aber diesen Wert dem Parameter zu, dessen Adresse in P120 steht, also P10. Entsprechend führt PP121=SQRT[2.0] zu folgendem Ergebnis:

Indirekte Parameter 1:
Abbildung 9-2: Veranschaulichung der Wirkung indirekter P-Parameter

Fall 2: R-Wort als direkter Parameter, P-Wort als indirekter Parameter

Die direkte Programmierung erfolgt über das R-Wort (Rnn), die indirekte über das P-Wort. Die Parametertabelle muß in diesem Modus zuerst über das R-Wort belegt werden, bevor mit dem P-Wort indirekt zugegriffen werden kann. Da das P-Wort ausschließlich indirekt wirkt, muß hier nicht mit PP programmiert werden.

"Pnn" zeigt also der DIN entsprechend auf den Parameter, dessen Index im Feld "nn" der Parametertabelle abgelegt ist.

Beispiel:

Indirekte Parameter 2:

Die Verwendung indirekter Parameter erlaubt es, z.B. ganze Felder von Parametern zu belegen:

Programmierbeispiel

Belegung der P-Parameter P20 und P40 mit 50

N110 P1 = 20  P2 = 40
N120 PP1 = 50
N130 PP2 = PP1

Belegung der P-Parameter P15 bis P25 mit 0.0

N110 $FOR P1 = 10,20,1
N120 P[P1 + 5] = 0.0
N130 $ENDFOR
Indirekte Parameter 3:

Es ist zu beachten, daß die Schachtelungstiefe bei der indirekten Adressierung von Parametern (PPPP...nn) konfigurationsabhängig ist.