Forum: Mikrocontroller und Digitale Elektronik Tasksystem von Codesys


von Hans (Gast)


Lesenswert?

Ist das Multitasking bei codesys kooperativ oder preämptiv?

von Roland (Gast)


Lesenswert?

Hallo Hans,

CODESYS kann beides, das hängt von der Implementierung des CODESYS 
Control Laufzeitsystems im Gerät ab.

Sprich: wenn im Gerät ein Betriebssystem mit preemptiven Multitasking 
vorhanden ist, für das es ein voll unterstützes Laufzeitsystem gibt 
(derzeit Windows, WinCE, VxWorks, Linux, QNX), dann wir auch das 
Multitasking preemptiv unterstützt: die höherpriore Task unterbricht die 
niederpriore. Ist im Gerät kein oder ein Betriebssystem ohne preemptivem 
Multitasking oder eines, das trotz preemptivem Multitasking nicht als 
Produkt unterstützt und gepflegt wird, dann wird das Multitasking 
kooperativ sein, sprich die niederpriore Task wird in jedem Fall 
beendet, erst danach wird die höher priore Task gestartet. Abhängig von 
der Implementierung des Laufzeitsystems durch den Gerätehersteller kann 
es aber sein, dass es so genannte Interrupt-Task(s) gibt, die dann 
dennoch eine niederpriore Task unterbrechen können.

Aber wie gesagt, man kann die Frage pauschal nicht beantworten.

Wenn Du selbst Geräte herstellst, hast Du es in der Hand. Wenn Du ein 
verfügbares Gerät verwendest, dann frage den Gerätehersteller. Wenn Du 
eine SoftSPS vom CODESYS Store kaufst, bekommst Du preemptives 
Multitasking.

Ich hoffe, die Erläuterungen helfen Dir weiter.

MfG

Roland Wagner

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
Lade...