Ich versuche ein Programm in ST zu schreiben, dass mir sagt, wie viele Eingänge aktiviert sind.
Meine Eingänge sind alle mit input1, input2 bis input 50 angeschrieben.
Ich habe mir nun eine For Schleife gebastelt, die als String input1 bis input50 ausgibt. Das klappt auch wunderbar.
Nun kommt das Problem, die Abfrage: IF variable(STRING)=TRUE funktioniert natürlich nicht, das man String nicht mit BOOL vergleichen kann.
Kann man das Problem irgendwie lösen?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Wie ich oben geschrieben habe, versuche ich nur die Anzahl gesetzter Ein bzw. Ausgänge zu ermitteln. Das sollte dann so aussehen: Ausgänge: 20/52
Ich habe die Eingänge halt in Codesys durch variabeln ersetzt, eben diese Input variabeln. Der vergleich mit BOOL soll mir sagen ob sie gesetzt sind oder nicht.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Guten Tag
Ich versuche ein Programm in ST zu schreiben, dass mir sagt, wie viele Eingänge aktiviert sind.
Meine Eingänge sind alle mit input1, input2 bis input 50 angeschrieben.
Ich habe mir nun eine For Schleife gebastelt, die als String input1 bis input50 ausgibt. Das klappt auch wunderbar.
Nun kommt das Problem, die Abfrage: IF variable(STRING)=TRUE funktioniert natürlich nicht, das man String nicht mit BOOL vergleichen kann.
Kann man das Problem irgendwie lösen?
Hi,
dann konvertiere doch deinen String mit
STRING_TO_BOOL(sString)
Wobei ich es fraglich halte Stringvariabeln als Text, TRUE oder FALSE zu belegen, aber gut wenn du deine Anwendung so programmiert.
Warum verwendest du Stringvariabeln für ein Vergleich auf Bool ???
MacToolz
Wie ich oben geschrieben habe, versuche ich nur die Anzahl gesetzter Ein bzw. Ausgänge zu ermitteln. Das sollte dann so aussehen: Ausgänge: 20/52
Ich habe die Eingänge halt in Codesys durch variabeln ersetzt, eben diese Input variabeln. Der vergleich mit BOOL soll mir sagen ob sie gesetzt sind oder nicht.
Hi,
ja gut, dann sollte wohl die Konvertierung so wohl helfen oder ???
MacToolz
Servus
Mach doch ein Array aus deinen Eingängen.
Also Input: ARRAY[1..50] of BOOL;
Macht die ganze Sache sehr viel einfacher
Gruß
Erik
kannst du mal einen Screenshot von der Steuerungskonfiguration hier posten ?
wo die Eingänge angeschrieben sind ?