Erstellung von und Umgang mit Motion-Projekten

In diesem Kapitel wird die Erstellung und der Umgang mit Motion-Projekten ausführlich erklärt. Die folgende Liste enthält alle Kapitel dieses Artikels:

Allgemeine Informationen über TwinCAT Motion

TwinCAT 3 Motion besteht aus den drei folgenden Komponenten: NC-I, NC-PTP und CNC. Es ist daher eine Zusammenstellung von Funktionsgruppen, die für die Steuerung und Regelung von Achsen oder von synchronisierten Achsgruppen verwendet wird. Weitere Informationen über TwinCAT Motion finden Sie in TwinCAT 3 Motion Dokumentation.

Erstellung von und Umgang mit Motion-Projekten 1:

Ein NC-Task erstellen

Der erste Schritt bei der Erstellung eines TwinCAT 3 Motion-Projekts ist die Erstellung eines sogenannten NC-Tasks. Im TwinCAT-Automation Interface können Sie dieses Task einfach mittels Aufruf der Methode ITcSmTreeItem::CreateChild() und Verwendung des SubType Parameter 1 erstellen, wie in folgendem Code-Ausschnitt gezeigt.

Code-Ausschnitt (C#):

ITcSmTreeItem ncConfig = systemManager.LookupTreeItem("TINC");
ncConfig.CreateChild("NC-Task", 1);

Code-Ausschnitt (Powershell):

$ncConfig = $systemManager.LookupTreeItem("TINC")
$ncConfig.CreateChild("NC-Task", 1)

Achsen erstellen

Da ein NC-Task standardmäßig keine Achsen beinhaltet, müssen Sie diese hinzufügen, erneut unter Verwendung der CreateChild()-Methode, nur diesmal auf einer Referenz zu einem Achsknoten unterhalb des NC-Task.

Code-Ausschnitt (C#):

          ITcSmTreeItem axes = systemManager.LookupTreeItem("TINC^NC-Task^Axes");
axes.CreateChild("Axis 1", 1);

Code-Ausschnitt (Powershell):

          $axes = $systemManager.LookupTreeItem("TINC^NC-Task^Axes")
$axes.CreateChild("Axis 1", 1)

Achsen parametrisieren

Achsen können über ihre XML-Beschreibung parametrisiert werden. Um eine beispielhafte XML-Beschreibung zu erhalten, können Sie eine Achse manuell in TwinCAT XAE hinzufügen und den entsprechenden Eintrag im Kontextmenü verwenden oder die Achse über das Automation Interface hinzufügen und die Methode ITcSmTreeItem::ProduceXml() verwenden, um sie zu erhalten.

Erstellung von und Umgang mit Motion-Projekten 2:

Code-Ausschnitt (C#):

ITcSmTreeItem axis = systemManager.LookupTreeItem("TINC^NC-Task^Axes^Axis 1");
string xmlDescription = axis.ProduceXml();

Code-Ausschnitt (Powershell):

$axis = $systemManager.LookupTreeItem("TINC^NC-Task^Axes^Axis 1")
$xmlDescription = $axis.ProduceXml()

Sie können diese XML-Beschreibung Ihren Bedürfnissen entsprechend anpassen und dann erneut mit der Methode ITcSmTreeItem::ConsumeXml() importieren, um Ihre Achse zu parametrisieren.

Code-Ausschnitt (C#):

ITcSmTreeItem axis = systemManager.LookupTreeItem("TINC^NC-Task^Axes^Axis 1");
axis.ConsumeXml(xmlDescription);

Code-Ausschnitt (Powershell):

$axis = $systemManager.LookupTreeItem("TINC^NC-Task^Axes^Axis 1")
$axis.ConsumeXml($xmlDescription)