-> Hier kostenlos registrieren
Guten Tag zusammen
Ich habe folgendes Problem, welches ich im TIA Portal V16 im Safetyprogramm mit der Programmiersprache F-FUP lösen muss.
Ich habe mehrere (z.B. 5) sichere Bool-Variablen bei welchen ich prüfen muss, dass genau 1 davon TRUE ist. Sprich ich brauche eine Logische Schaltung, welche mir TRUE ausgibt, wenn genau 1 (und nur 1) dieser Bool-Variablen TRUE ist.
Nun kann ich natürlich die ganze Logik und alle Fälle mit AND und OR ausprogrammieren. Aber das muss doch irgendwie schlanker gehen.
XOR ist leider keine Lösung, da sich dieses bei mehr als 2 Eingängen nicht so verhält wie ich es benötige. Ich habe zwar hier im Forum Lösungen gefunden, welche ein ähnliches Problem behandeln (1 Bit in einem Word oder Array). Hier sind aber die Lösungen dann alle in AWL oder SCL.
z.B. hier https://www.sps-forum.de/threads/genau-ein-bit-true.103321/
Und im F-FUP ist man leider ziemlich beschränkt mit den Funktionen und ich wüsste zumindest nicht, wie ich diese adaptieren könnte.
Kennt jemand eine Lösung wie das vereinfacht in F-FUP umgesetzt werden kann?
Wenn ich das jetzt nur einmal so lösen müsste wäre es mir noch egal. Aber wir werden das dann in jedem Projekt mehrmals und mit variabler Anzahl an Signalen umsetzen müssen.
Vielen Dank schon jetzt für allfällige Ratschläge oder Lösungsansätze.
Ich habe folgendes Problem, welches ich im TIA Portal V16 im Safetyprogramm mit der Programmiersprache F-FUP lösen muss.
Ich habe mehrere (z.B. 5) sichere Bool-Variablen bei welchen ich prüfen muss, dass genau 1 davon TRUE ist. Sprich ich brauche eine Logische Schaltung, welche mir TRUE ausgibt, wenn genau 1 (und nur 1) dieser Bool-Variablen TRUE ist.
Nun kann ich natürlich die ganze Logik und alle Fälle mit AND und OR ausprogrammieren. Aber das muss doch irgendwie schlanker gehen.
XOR ist leider keine Lösung, da sich dieses bei mehr als 2 Eingängen nicht so verhält wie ich es benötige. Ich habe zwar hier im Forum Lösungen gefunden, welche ein ähnliches Problem behandeln (1 Bit in einem Word oder Array). Hier sind aber die Lösungen dann alle in AWL oder SCL.
z.B. hier https://www.sps-forum.de/threads/genau-ein-bit-true.103321/
Und im F-FUP ist man leider ziemlich beschränkt mit den Funktionen und ich wüsste zumindest nicht, wie ich diese adaptieren könnte.
Kennt jemand eine Lösung wie das vereinfacht in F-FUP umgesetzt werden kann?
Wenn ich das jetzt nur einmal so lösen müsste wäre es mir noch egal. Aber wir werden das dann in jedem Projekt mehrmals und mit variabler Anzahl an Signalen umsetzen müssen.
Vielen Dank schon jetzt für allfällige Ratschläge oder Lösungsansätze.