- Beiträge
- 9.191
- Reaktionspunkte
- 2.950
-> Hier kostenlos registrieren
So ist es. Normalerweise arbeitet ne S7 die Task "so schnell wie möglich" ab. Aber man kann meines Wissens nach auch feste Zykluszeiten verwenden. Das ist z.B. für Reglerbausteine unerlässlich.
Bei TwinCAT wird generell taktzyklisch abgearbeitet. Wird das Programm in einem Zyklus nicht gertig, wird's im nächsten Zyklus fortgesetzt. Du verlierst also mindestens einen kompletten Zyklus.
Feste Zykluszeiten, genauer gesagt eine "Mindestzykluszeit" kann man nur bei den S7-400er einstellen. Das wäre dann quasi die gleiche Funktionalität wie bei TwinCat.
Bei allen anderen CPUs muss man dafür die Zeitinterrupts verwenden.
Ich habe auch schon Programme gesehen die bei Siemens vollständig in einem Zeitinterrupt liefen (OB35).
In zeitgenaue Interrupts würde ich aber nur kurzen Programmcode unterbringen. Auch wenn sich die Prioritäten einstellen lassen, muss man wenigstens ungefähr abschätzen können wie lange das Programm in den einzelnen Routinen zu tun hat.