-> Hier kostenlos registrieren
Hallo Leute,
ich muss für insgesamt 300 Ventilatoren eine Sammelstörmeldung generieren.
Jeder Ventilator hat 3 Einzelmeldungen welche über digitale Inputs kommen.
LK1_Fan1_LS
LK1_Fan1_TK
LK1_Fan1_BB
LK geht von LK1 bis LK100
Fan geht von Fan1 bis Fan3
Die Einzelmeldung sollte in etwa so aussehen:
Da ich das jetzt nicht 300mal schreiben möchte, hätte ich das gerne mit 2 FOR Schleifen gelöst, habe aber keine Ahnung ob ich die Zähler in die Namen integrieren kann.
In etwa so:
Die Sammelstörmeldungen habe ich in ein Array gepackt.
Da die DI´s leider chaotisch über die ganze Anlage verstreut sind, möchte ich das auch nicht wirklich in ein Array kopieren.
Hat jemand eine Idee wie man das lösen kann?
Danke
Alex
ich muss für insgesamt 300 Ventilatoren eine Sammelstörmeldung generieren.
Jeder Ventilator hat 3 Einzelmeldungen welche über digitale Inputs kommen.
LK1_Fan1_LS
LK1_Fan1_TK
LK1_Fan1_BB
LK geht von LK1 bis LK100
Fan geht von Fan1 bis Fan3
Die Einzelmeldung sollte in etwa so aussehen:
Code:
IF LK1_Fan1_LS OR
LK1_Fan1_TK OR NOT
LK1_Fan1_BB
THEN
LK1_Fan1_St := TRUE;
ELSE
LK1_Fan1_St := FALSE;
END_IF;
Da ich das jetzt nicht 300mal schreiben möchte, hätte ich das gerne mit 2 FOR Schleifen gelöst, habe aber keine Ahnung ob ich die Zähler in die Namen integrieren kann.
In etwa so:
Code:
FOR #i := 1 TO 100 DO
FOR #j := 1 TO 3 DO
IF LK[#i]_Fan[#j]_LS OR
LK[#i]_Fan[#j]_TK OR NOT
LK[#i]_Fan[#j]_BB
THEN
LK[#i]_Fan[#j]_St := TRUE;
ELSE
LK[#i]_Fan[#j]_St := FALSE;
END_IF;
END_FOR;
END_FOR;
Die Sammelstörmeldungen habe ich in ein Array gepackt.
Da die DI´s leider chaotisch über die ganze Anlage verstreut sind, möchte ich das auch nicht wirklich in ein Array kopieren.
Hat jemand eine Idee wie man das lösen kann?
Danke
Alex