-> Hier kostenlos registrieren
Hallo,
ich bin sonst eher im Bereich der Hochsprachenprogrammierung (.net) unterwegs und muss nur ab und zu mal etwas an unserer SPS ändern. In .net gibt es die Möglichkeit "reflection" zu nutzen (per "using reflection;"). Grob gesagt kann man sich damit z.B. zur Laufzeit einen Variablennamen-String zusammenbasteln und über diesen dann auch z.B. den Wert der Variable abfragen oder setzen. Normalerweise sind (ohne Reflection) Variablennamen ja zur Laufzeit fix. Ein C# Beispiel wäre:
Im Beispiel wäre "MyVarName" mein zur Laufzeit "gebastelter" Variablenname und über die "FI" Klasse könnte ich den Wert von "blnSteuerung" abrufen/ändern.
Jetzt die entscheidende Frage: geht sowas auch in der SPS per AWL? Also könnte man irgendwie dynamisch z.B. Ausgänge ansteuern, die vorher nicht explizit im Programm benannt sind?
Ein Anwendungsbeispiel: Ich schreibe vom PC mit der Bibliothek "s7netplus" eine Ausgangsbytenummer (z.B. 30) in ein Merkerwort und eine Ausgangsbitnummer (z.B. 5) in ein zweites Merkerwort und die SPS baut diese beiden zu einem "A30.5" zusammen.
Viele Grüße, Stefan
ich bin sonst eher im Bereich der Hochsprachenprogrammierung (.net) unterwegs und muss nur ab und zu mal etwas an unserer SPS ändern. In .net gibt es die Möglichkeit "reflection" zu nutzen (per "using reflection;"). Grob gesagt kann man sich damit z.B. zur Laufzeit einen Variablennamen-String zusammenbasteln und über diesen dann auch z.B. den Wert der Variable abfragen oder setzen. Normalerweise sind (ohne Reflection) Variablennamen ja zur Laufzeit fix. Ein C# Beispiel wäre:
Code:
string MyVarName = "blnSteuerung";
FieldInfo FI = ClassXYZ.GetType().GetField(MyVarName);
Im Beispiel wäre "MyVarName" mein zur Laufzeit "gebastelter" Variablenname und über die "FI" Klasse könnte ich den Wert von "blnSteuerung" abrufen/ändern.
Jetzt die entscheidende Frage: geht sowas auch in der SPS per AWL? Also könnte man irgendwie dynamisch z.B. Ausgänge ansteuern, die vorher nicht explizit im Programm benannt sind?
Ein Anwendungsbeispiel: Ich schreibe vom PC mit der Bibliothek "s7netplus" eine Ausgangsbytenummer (z.B. 30) in ein Merkerwort und eine Ausgangsbitnummer (z.B. 5) in ein zweites Merkerwort und die SPS baut diese beiden zu einem "A30.5" zusammen.
Viele Grüße, Stefan
Zuletzt bearbeitet: