Erstellung von und Umgang mit Devicenet-Geräten

Wie jede andere I/O-Komponente können Devicenet-Geräte über das TwinCAT Automation Interface unter Verwendung der CreateChild() Methode der ITcSmTreeItem Schnittstelle hinzugefügt werden. Der SubType spezifiziert das Gerät, das hinzugefügt werden soll.

Code-Ausschnitt (C#):

ITcSmTreeItem io = sysManager.LookupTreeItem("TIID");
ITcSmTreeItem devicenet1 = io.CreateChild("Device 1 (EL6752)", 88, null, null);
ITcSmTreeItem devicenet2 = io.CreateChild("Device 2 (EL6752-0010)", 99, null, null);

Code-Ausschnitt (Powershell):

$io = $sysManager.LookupTreeItem("TIID")
$devicenet1 = $io.CreateChild("Device 1 (EL6752)", 88, $null, $null)
$devicenet2 = $io.CreateChild("Device 2 (EL6752-0010)", 99, $null, $null)

Die folgende Tabelle gibt einen Überblick über alle Devicenet I/O-Geräte und deren entsprechenden SubTypes. Sollte ein Gerät fehlen, können Sie immer selbst den SubType herausfinden, indem Sie dem Artikel über die XML-Beschreibung eines Tree Items folgen.

Gerät

SubType

Devicenet Master FC52xx PCI

41

Devicenet Master EL6752 EtherCAT

88

Devicenet Slave FC52xx PCI

62

Devicenet Slave EL6752 EtherCAT

99

Devicenet Master CX1500-M520 PC104

73

Devicenet Slave CX1500-B520-PC104

74

Devicenet Monitor FC52xx PCI

59

Devicenet-Boxen können ebenfalls über CreateChild() angeschlossen werden. Der SubType spezifiziert die Box, die hinzugefügt werden soll.

Code-Ausschnitt (C#):

ITcSmTreeItem devicenet1box = devicenet1.CreateChild("Box 2 (EL6752-0010)", 5203, null, null);

Code-Ausschnitt (Powershell):

$devicenet1box = $devicenet1.CreateChild("Box 2 (EL6752-0010)", 5203, $null, $null)

Verwenden Sie zum Hinzufügen einer Devicenet-Box einfach den folgenden Code-Ausschnitt. Der vInfo Parameter spezifiziert den Datentyp der Variable.

Code-Ausschnitt (C#):

ITcSmTreeItem inputVars = devicenet1box.LookupChild("Inputs");
inputVars.CreateChild("TestVarInt", 0, null, "INT");
inputVars.CreateChild("TestVarBool", 0, null, "BOOL");

Code-Ausschnitt (Powershell):

$inputVars = $devicenet1box.LookupChild("Inputs")
$inputVars.CreateChild("TestVarInt", 0, $null, "INT")
$inputVars.CreateChild("TestVarBool", 0, $null, "BOOL")