Chräshe
Level-3
- Beiträge
- 1.040
- Reaktionspunkte
- 432
-> Hier kostenlos registrieren
Hallo Allerseits,
zur Vereinfachung will ich Bausteine, welche sehr oft aufgerufen werden, gleich als ARRAY definieren. Das hab ich bereits getestet und geht auch ganz gut.
Beispiel:
VAR
_ Antrieb : ARRAY[1..200] OF Motor_RL;
END_VAR
(* Aufrufe der Antriebseinheiten *)
Antrieb[1](
_ AntriebNr:= '001',
_ sName:= 'Steigband Süd ',
_ FRG:= I_NOT_AUS_iO,
_ VWrechts:= I_M1_Rechts_123S1,
_ VWlinks:= I_M1_Links_123S2,
_ tRW:= t#1s500ms,
_ Q_rechts=> Q_M1_Rechts,
_ Q_links=> Q_M1_Links,
_ sStatus=> sTemp_001); (* => AntriebNr & sName & Info-Intern *)
Gibt es hier eine Möglichkeit, im FB auszuwerten, welche Array-Nummer gerade aufgerufen ist?
Hintergrund ist, die Eingangs-Variable „AntriebNr“ wegzulassen und die Nummer von „Antrieb[i]“ direkt zu verwenden. Somit wird eine Falscheingabe verhindert und es müssen nicht so viele Parameter übergeben werden.
Bin für jeden Tipp dankbar. Im Moment dreh ich mich nur im Kreis…
Gruß
Chräshe
zur Vereinfachung will ich Bausteine, welche sehr oft aufgerufen werden, gleich als ARRAY definieren. Das hab ich bereits getestet und geht auch ganz gut.

Beispiel:
VAR
_ Antrieb : ARRAY[1..200] OF Motor_RL;
END_VAR
(* Aufrufe der Antriebseinheiten *)
Antrieb[1](
_ AntriebNr:= '001',
_ sName:= 'Steigband Süd ',
_ FRG:= I_NOT_AUS_iO,
_ VWrechts:= I_M1_Rechts_123S1,
_ VWlinks:= I_M1_Links_123S2,
_ tRW:= t#1s500ms,
_ Q_rechts=> Q_M1_Rechts,
_ Q_links=> Q_M1_Links,
_ sStatus=> sTemp_001); (* => AntriebNr & sName & Info-Intern *)
Gibt es hier eine Möglichkeit, im FB auszuwerten, welche Array-Nummer gerade aufgerufen ist?
Hintergrund ist, die Eingangs-Variable „AntriebNr“ wegzulassen und die Nummer von „Antrieb[i]“ direkt zu verwenden. Somit wird eine Falscheingabe verhindert und es müssen nicht so viele Parameter übergeben werden.
Bin für jeden Tipp dankbar. Im Moment dreh ich mich nur im Kreis…

Gruß
Chräshe