-> Hier kostenlos registrieren
Hallo zusammen,
ich habe folgende Überlegung und würde mich über Eure Einschätzungen freuen, ob das sinnvoll ist:
- Steuerungsprogramm für Anlagenautomatisierung soll möglichst schnell und gleichmäßig laufen, Zykluszeit liegt zwischen 9 und 12 ms
- Datenhandling und Zusatzfunktionen sind umfangreich aber absolut Zeitunkritisch (Aufrufzeit von 2 s völlig ausreichend)
- OB1 hat fix die Priorität 1, wird also von allem unterbrochen
Ich habe überlegt, OB1 leer zu lassen und stattdessen die Anlagensteuerung in einen Cyclic interrupt (OB32) mit 12..15 ms zu verpacken, diesem z.b. die Priorität 5 zu geben
und meine Zusatzfunktionen, Datenhandling, Visu-Kopplung in weitere Cyclic interrupts (1s, 2s, je nach bedarf) mit niedrigerer Prio einzugliedern.
So kann mein OB32 die anderen OBs kurz unterbrechen, dann können die wieder ein bisschen rechnen, dann kann OB32 wieder, etc.
Hätte ich meine Anlagensteuerung in OB1 würde ggf. bei ungünstigem Timing mein Datenhandling den OB1 unterbrechen.
Was meint Ihr? Hab ich was übersehen, gibt es gravierende Nachteile, muss ich zusätzlich was beachten?
Bin dankbar für Anregungen.
ich habe folgende Überlegung und würde mich über Eure Einschätzungen freuen, ob das sinnvoll ist:
- Steuerungsprogramm für Anlagenautomatisierung soll möglichst schnell und gleichmäßig laufen, Zykluszeit liegt zwischen 9 und 12 ms
- Datenhandling und Zusatzfunktionen sind umfangreich aber absolut Zeitunkritisch (Aufrufzeit von 2 s völlig ausreichend)
- OB1 hat fix die Priorität 1, wird also von allem unterbrochen
Ich habe überlegt, OB1 leer zu lassen und stattdessen die Anlagensteuerung in einen Cyclic interrupt (OB32) mit 12..15 ms zu verpacken, diesem z.b. die Priorität 5 zu geben
und meine Zusatzfunktionen, Datenhandling, Visu-Kopplung in weitere Cyclic interrupts (1s, 2s, je nach bedarf) mit niedrigerer Prio einzugliedern.
So kann mein OB32 die anderen OBs kurz unterbrechen, dann können die wieder ein bisschen rechnen, dann kann OB32 wieder, etc.
Hätte ich meine Anlagensteuerung in OB1 würde ggf. bei ungünstigem Timing mein Datenhandling den OB1 unterbrechen.
Was meint Ihr? Hab ich was übersehen, gibt es gravierende Nachteile, muss ich zusätzlich was beachten?
Bin dankbar für Anregungen.