-> Hier kostenlos registrieren
Hallo,
ich verwende TAI V16 und WinCC Advanced V16. Mit SCL habe ich mehrere Anweisungen erstellt. Diese wollte ich über PLC sim simulieren. Das klappt auch, aber mir ist aufgefallen, dass beim Beobachten einer For Schleife immer nur der erste Wert, bei mir die 1, angezeigt wird. Die For Schleife geht von 1 bis 10. Die Bits kann ich forcen um so zu sehen, ob mein Ergebnis auch immer True wird. Das trifft auch zu, setze ich Bit[1] auf 0 und Bit[2] auf 1, so ist mein Ergebnis ebenfalls true (so wie gewünscht). Stimmt es, dass man immer nur das erste Bit sieht? Es handelt sich um ein Array of Bool.
Meine zweite Frage bezieht sich auf das kombinieren von Schleifen. Ist es möglich, eine For Schleife mit einer While Do zu kombinieren? Das ganze sieht in etwa so aus:
For XX := 1 To 10 Do
While YC[XX] = 1 Do
If CC[XX] = 1 Then
XC = 1;
End_If;
End While;
End For ;
Anmerkung: YC ist ein Array of Bool. Das ist mit Sensoren verknüpft und es kann immer nur einer logisch 1 sein. Wenn das der Fall ist, dann soll XC TRUE sein, aber nur falls CC auch TRUE ist.
Simulieren kann ich diese Funktion leider nicht. Ich freue mich über ein paar Tipps.
Gruß
ich verwende TAI V16 und WinCC Advanced V16. Mit SCL habe ich mehrere Anweisungen erstellt. Diese wollte ich über PLC sim simulieren. Das klappt auch, aber mir ist aufgefallen, dass beim Beobachten einer For Schleife immer nur der erste Wert, bei mir die 1, angezeigt wird. Die For Schleife geht von 1 bis 10. Die Bits kann ich forcen um so zu sehen, ob mein Ergebnis auch immer True wird. Das trifft auch zu, setze ich Bit[1] auf 0 und Bit[2] auf 1, so ist mein Ergebnis ebenfalls true (so wie gewünscht). Stimmt es, dass man immer nur das erste Bit sieht? Es handelt sich um ein Array of Bool.
Meine zweite Frage bezieht sich auf das kombinieren von Schleifen. Ist es möglich, eine For Schleife mit einer While Do zu kombinieren? Das ganze sieht in etwa so aus:
For XX := 1 To 10 Do
While YC[XX] = 1 Do
If CC[XX] = 1 Then
XC = 1;
End_If;
End While;
End For ;
Anmerkung: YC ist ein Array of Bool. Das ist mit Sensoren verknüpft und es kann immer nur einer logisch 1 sein. Wenn das der Fall ist, dann soll XC TRUE sein, aber nur falls CC auch TRUE ist.
Simulieren kann ich diese Funktion leider nicht. Ich freue mich über ein paar Tipps.
Gruß
Zuletzt bearbeitet: