B&R Restzeit Task

Hallo da_kine,
du musst vorher in der pg.ini in der Sektion [General] den Parameter "EnableNonCyclic=1" setzen. Nach dem nächsten Start des Automation Studios kannst du dann mit <Objekt einfügen> einen nichtzyklischen Task (nur C möglich) einrichten. Die Einstiegsfunktion musst du wahrscheinlich noch mit dem Attribut _NONCYCLIC markieren.

Code:
#include <bur/plc.h>

_NONCYCLIC void foo(void)
{
}

Damit bin ich mit meiner Weisheit am Ende, bin der Sache noch nie ernsthaft nachgegangen.

Viel Spass, harrylask
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, funktioniert Super. Aber jetzt will die _INIT Funktion plötzlich eine UINT Variable für den Return haben.

Versteh ich noch net so ganz, aber Okay.

MFG

Markus
 
Wozu soll das gut sein ????????

Für gröbere Rechenoperationen, welche schon mal mehr Zeit benötigen, verwende ich i.d.R. die Taskklasse #8. Diese läuft zwar zyklisch, allerdings mit sehr großer Toleranz (Std. 30 sek.).

Wozu möchtest Du einen nichtzyklischen Task verwenden ????
Bzw. wann wird dieser bearbeitet ?

mfg
Maxl
 
Ich benutze den nichtzyklischen Task, um Daten von der Analogbaugruppe mit Oszy-Funktion abzuholen. Ausserdem benutze ich sie um Daten in ein CSV-File zu schreiben.

Die nichtzyklische Task ist eine Restzeit-Task. Das heißt, sie bekommt die Zeit, die die anderen Tasks übrig lassen.

MFG

Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab das mit den Restzeit-Objekten jetzt mal ausprobiert: lässt sich einfügen.

Allerdings hab ich jetzt ein kleines Problemchen:
Wie kann ich mit anderen Tasks kommunizieren? Variablen lassen sich nur ohne die Schlüsselwörter _GLOBAL und _LOCAL anlegen.
Für Task-interne Variablen ist das ja auch kein Problem, aber Globale PVs zur Kommunikation mit anderen Tasks brauche ich dennoch, oder nicht?

Gibts da Tricks oder Alternativen?

mfg
Maxl
 
Zurück
Oben