NC-Achsen anlegen
NC-Achsen werden in einer festgelegten Baumstruktur unter dem NC-Konfigurationsknoten TINC angelegt. Der Aufbau folgt immer demselben Muster: Zuerst wird eine NC-Task erstellt, dann wird der Achsenknoten unterhalb der Task aufgerufen. Achsen können direkt unter dem Achsenknoten oder in einem Unterordner angelegt werden. Unterordner strukturieren die Achsen bei komplexeren Projekten.
Voraussetzungen
- Eine TwinCAT-Solution ist geöffnet und eine DTE-Verbindung ist aktiv.
ITcSysManagerwurde als COM-Objekt in einem STA-Thread initialisiert.- Das NC/Motion-Modul ist lizenziert und in der Solution vorhanden (
TINC-Knoten sichtbar).
NC-Task und Achsen anlegen
Der NC-Konfigurationsknoten TINC wird über LookupTreeItem aufgerufen. Darüber wird die NC-Task erstellt. Der Achsenordner der Task ist anschließend über LookupChild("Axes") erreichbar. Achsen und Unterordner werden mit CreateChild angelegt.
C#:
// Look up NC configuration and create NC task
ITcSmTreeItem motion = sysManager.LookupTreeItem("TINC");
// " SAF" suffix is always appended to the name
ITcSmTreeItem nc = motion.CreateChild("NC-Task", 1, null, null);
ITcSmTreeItem cnc = motion.CreateChild("CNC", 400);
// Look up the axes folder of the NC task
ITcSmTreeItem axesFolder = nc.LookupChild("Axes");
// Create subfolder for axes (SubType -1)
ITcSmTreeItem folder1 = axesFolder.CreateChild("Folder1", -1);
// Create axis (SubType 1)
ITcSmTreeItem axisInFolder = axesFolder.CreateChild("Axis 2", 1, "Folder1/");PowerShell:
$ncConfig = $systemManager.LookupTreeItem("TINC")
$ncConfig.CreateChild("NC-Task", 1)
$axes = $systemManager.LookupTreeItem("TINC^NC-Task^Axes")
$axes.CreateChild("Axis 1", 1)bstrBefore-Regeln für NC-Knoten
Der dritte Parameter von CreateChild heißt bstrBefore und steuert, an welcher Position innerhalb eines Ordners das neue Element eingefügt wird. Ein abschließender / im Pfad bedeutet „letztes Element im Ordner".
bstrBefore | Bedeutung |
|---|---|
| Als letztes Element in Folder1 einfügen. |
| Vor Axis1 in Folder1 einfügen. |
| Als letztes Element in Folder2 einfügen. |
Achsen parametrieren
Achsenparameter werden über die XML-Beschreibung der Achse gesetzt. Das empfohlene Vorgehen ist, eine Achse zuerst anzulegen und ihre aktuelle Konfiguration mit ProduceXml zu exportieren. Die zurückgegebene XML-Beschreibung dient als Vorlage, die nach Bedarf angepasst und über ConsumeXml wieder importiert wird.
C#:
ITcSmTreeItem axis = systemManager.LookupTreeItem("TINC^NC-Task^Axes^Axis 1");
string xmlDescription = axis.ProduceXml();Nach dem Anpassen der XML-Beschreibung wird sie mit ConsumeXml zurückgeschrieben:
axis.ConsumeXml(xmlDescription);
PowerShell:
$axis = $systemManager.LookupTreeItem("TINC^NC-Task^Axes^Axis 1")
$xmlDescription = $axis.ProduceXml()
# Here configuration of the values in the xml needed
$axis.ConsumeXml($xmlDescription)