Hm, irgendwie nicht ganz eindeutig.
Ich habs mal getestet.
Also, eine SI-Zeit verhält sich tatsächlich so, wie ich es beschrieben hab. Die läuft auch im Zyklus ab. Wenn man im obigen Code mit der SI-Zeit eine längere Zeit als die der Wait-SFC einsetzt, zählen alle Zähler hoch. Mit der kurzen Zeit zählt nur Z20 hoch. Interessantes Ergebnis: Mit einer SE- oder SA-Zeit ging das nicht!
Nachtrag:
Bei der SE-Zeit kann ich mit das erklären. Die Bedingung, welche die SE-Zeit startet wird ja auch erst im nächsten Zyklus erneut abgefragt, also zählen alle 3 Zähler. Bei der SA-Zeit ist es nicht klar. Wenn der M200.0 False wird, muß die SA-Zeit nachlaufen und zwar 10ms lang, dann muß T20 auf False gehen. Also sollte nur Z20 zählen. Es zählen aber alle 3 Zähler. Bei der SI-Zeit geht das, wie beschrieben, nur Z20 zählt, solange die Zeit kleiner als die Wartezeiten mit den SFC ist.
Hat jemand dafür eine einleuchtende Erklärung oder findet einen Denkfehler?