Erstellung von und Umgang mit Tasks
In diesem Artikel wird beschrieben, wie Tasks mit Hilfe des TwinCAT Automation Interface erstellt und gehandhabt werden. Er besteht aus folgenden Themen:
- Allgemeine Informationen
- Tasks einfügen
- Ein-/Ausgangsvariablen einfügen
Allgemeine Informationen
Es können zwei Task-Typen in TwinCAT XAE und daher auch mit dem Automation Interface konfiguriert werden: Tasks mit und ohne Prozessabbild. Wenn Sie ein neues Task in TwinCAT XAE einfügen, dann können Sie entscheiden, ob Sie ein Prozessabbild einfügen möchten oder nicht, in dem Sie die entsprechende Checkbox im Dialogfenster „Task einfügen“ auswählen oder nicht.
Daraufhin beinhaltet die eingefügte Task entweder drei weitere untergeordnete Knoten (Abbild, Inputs, Outputs) oder nicht – wie im folgenden Beispiel gezeigt (Task 1 = mit Abbild, Task 2 = ohne Abbild).
Tasks einfügen
Um eine Task über das Automation Interface einzufügen, können Sie die Methode ITcSmTreeItem::CreateChild() mit den entsprechenden SubTypes für "Mit Abbild" (SubType = 0) und "Ohne Abbild" (SubType = 1) verwenden.
Code-Ausschnitt (C#)
ITcSmTreeItem tasks = systemManager.LookupTreeItem("TIRT");
tasks.CreateChild("Task 1 (With Image)", 0, null, null);
Code-Ausschnitt (Powershell):
$tasks = $systemManager.LookupTreeItem("TIRT")
$tasks.CreateChild("Task 1 (With Image)", 0, $null, $null)
Code-Ausschnitt (C#)
ITcSmTreeItem tasks = systemManager.LookupTreeItem("TIRT");
tasks.CreateChild("Task 2 (Without Image)", 1, null, null);
Code-Ausschnitt (Powershell):
$tasks = $systemManager.LookupTreeItem("TIRT")
$tasks.CreateChild("Task 1 (Without Image)", 1, $null, $null)
Ein-/Ausgangsvariablen einfügen
An Prozessabbildern (Task „Mit Abbild“) können Ein- und Ausgangsvariablen angefügt werden, welche dann mit den verschiedenen E/A-Geräten oder Variablen anderer Tasks verknüpft werden können. Über den entsprechenden TwinCAT XAE-Dialog können Sie z.B. den Datentyp und die Adresse der Ein-/Ausgangsvariablen im Prozessabbild auswählen. Durch Klicken auf „Ok“ wird die Variable dem Prozessabbild hinzugefügt.
Diese Prozedur kann auch über das Automation Interface unter Verwendung der Methode ITcSmTreeItem::CreateChild() mit entsprechendem Variablendatentyp als vInfo ausgelöst werden. In diesem Falle spezifiziert SubType die „Startadresse“ wie oben im Dialog gezeigt.
Code-Ausschnitt (C#):
ITcSmTreeItem task1 = systemManager.LookupTreeItem("TIRT^Task 1 (With Image)^Inputs");
task1.CreateChild("bInput", -1, null, "BOOL");
Code-Ausschnitt (Powershell):
$task1 = $systemManager.LookupTreeItem("TIRT^Task 1 (With Image)^Inputs")
$task1.CreateChild("bInput", -1, $null, "BOOL")
Wenn SubType = -1, dann hängt TwinCAT die neue Variable automatisch ans Ende der Variablenliste an.