TwinCAT 2: Intervall (Taskkonfiguration) und Zykluszeit mit Ablaufsprache (AS)

KarlaKol

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe eine Verständnissfrage zu Taskkonfiguration besonders der Intervallzeit wenn man AS nutzt.
Ich habe schin einiges zu Basiszeit, Zykluszeit, Intervall usw. gelesen und mir ist klar, dass die Intervallzeit ein vielfaches der Basiszeit sein muss, soweit so gut. Nun war meine Erwartung, dass die Intervallzeit aber für einen Durchlauf aller Schritte im AS gilt. In meinem Projekt ist scheint es aber so als wäre das Intervall JE Schritt. Da die Programmdurchlaufzeit immer x mal Intervall beträgt bei x Schritten.

1. Mit AS ist die Intervallzeit unter Taskkonfiguration im PLC Control die Zeit jeden einzelnen Schritt?

Dass zu viele Anweisungen im Projekt stehen und die Zykluszeit nicht ausreicht um alle abzuarbeiten kann eigentlihc nicht sein da wenn ich alle Zeilen in einen Schritt verschiebe und die übrigen Schritte (die teils nur zum besseren Überblick des Programms da waren) lösche die Zeit zwischen zwei Programmdurchläufen kürzer ist. Wenn alle Anweisungen in ein ST Objekt gepackt werden stimmt die INtrvallzeit mit 0,1ms auch genau mit der gestoppten Zykluszeit überein. Ich möchte bis zu 500Hz Frequenzen steuern daher ist es wichtig, dass die kurzen Intervallzeiten auch eingehalten werden können. Nun scheint es mir aber so als wäre das mit mehreren AS Schritte unmöglich. Bisher war AS aber eigentlich Vorgabe im Projekt.

2. Übersehe ich jetzt irgendwo den Vorteil von AS wenn man schnelle Abläufe umsetzen möchte?

Kennt jemand noch eine gute Erklärung was AS und ST im Hinblick auf Intervallzeiten unterscheidet?
 
Die in der Taskkonfig eingestellte Intervallzeit ist die Zeit, nach der jeweils die Task aufgerufen wird. Wenn da also 1ms drin steht, wird die Task jede Millisekunde aufgerufen.
Dauert die Taskbearbeitung länger als das Aufrufintervall, hast Du eine Zykluszeitüberschreitung.

In AS werden jeweils nur die aktiven Schritte + die nachfolgenden Transitionen bearbeitet innerhalb eines Taskzyklus. Ist eine Transition wahr, wird auch noch der nachfolgende Schritt bearbeitet. Im schlimmsten Falle sind alle Transitionen wahr, dann wird pro Zyklus also jeder Schritt bearbeitet --> maximale Zykluszeit, sollte kleiner sein als das Aufrufintervall.

Hast Du auch noch E/A's dranhängen an der Task addiert sich die Buszykluszeit auch noch zur Programmbearbeitung.
 
Zuletzt bearbeitet:
Zurück
Oben