ITcSmTreeItem::CreateChild
Erzeugt ein untergeordnetes Tree Item auf einem untergeordneten Knoten. Das untergeordnete Element wird dabei durch seinen Subtyp spezifiziert.
HRESULT CreateChild(BSTRbstrName,long nSubType, BSTRbstrBefore, VARIANT vInfo, ITcSmTreeItem**pipItem);
Das folgende Beispiel erläutert dieses Verhalten genauer.
In diesem Beispiel wird einem EtherCAT-Master-Gerät (Gerät 1) in TwinCAT XAE ein EK1100-Koppler hinzugefügt. Im TwinCAT Automation Interface könnte dies mit der CreateChild()-Methode durchgeführt werden. Der übergeordnete Knoten (Gerät 1 EtherCAT) ist vom Typ '2' (TREEITEMTYPE_DEVICE). Der Subtyp spezifiziert das untergeordnete Tree Item und so auch den EK1100, der vom Subtyp '9099' (BOXTYPE_EXXXXX) ist.
Parameter
bstrName | [in] Elementname des neuen untergeordneten Tree Item. |
nSubtype: | [in] Subtyp des neuen untergeordneten Tree Items. Der verwendbare Subtyp hängt ab vom Tree Item Type (der Kategorie) des übergeordneten ´Tree Items . So kann z.B. ein SPS-Funktionsblock nur dem Elementtyp PLCFOLDER, und nicht einem DEVICE, hinzugefügt werden. |
bstrBefore | [in, defaultvalue("")] Wenn gesetzt, enthält der Parameter den Namen eines anderen untergeordneten Tree Items, vor dem das neue Element einzufügen ist. |
vInfo | [in, optional] Ein optionaler Parameter mit zusätzlichen Informationen für die Erstellung , welche abhängt vom Subtypen. Die verschiedenen Abhängigkeiten werden in der Tabelle unten aufgelistet. |
pipItem | [out, retval] Zeigt auf den Speicherort eines ITcSmTreeItem-Schnittstellenzeigers, der das Ergebnis erhält. |
Rückgabewerte
S_OK |
Funktion hat Wert erfolgreich zurückgegeben. |
E_POINTER |
die Adresse des Rückgabezeigers ist ungültig |
TSM_E_INVALIDITEMSUBTYPE (0x98510003) |
der angegebene Subtyp ist ungültig. |
TSM_E_ITEMNOTFOUND (0x98510001) |
Das Element bstrBefore wurde nicht gefunden. |
Optionaler vInfo Parameter
Abhängig vom Element-Sub typ des neuen untergeordneten Tree Items, bestimmte Zusatzinformationen sind möglicherweise erforderlich für die Erstellung des untergeordneten Tree Items. Diese Information kann über den vInfo-Parameter geliefert werden.
Untergeordnetes Element: Element-Subtyp |
vInfo-Parameter |
---|---|
E-Bus Box / Klemme / Modul (Element-Subtyp 9099) |
Enthält das Identity-Objekt (CoE 1018h, VendorId, ProductCode und optional RevisionNo und SerialNo) der EtherCAT Box. Der Typ der Variante muss ein Array von LONG (VT_I4|VT_ARRAY, 2-4 Elemente) sein. Enthält alternativ einen BSTR im folgenden Format (wobei %X = Wert in hexadezimaler Notation, z.B. "V00000002_P044c2c52_R00000000"): |
Interbus-Box. (Element-Subtyp 2002) |
Enthält den IdentCode und LengthCode der Interbus-Box. Der Typ der Variante muss ein vorzeichenloses Short (VT_I2) sein, wobei das Low-Byte den IdentCode und das High-Byte den LengthCode enthält. |
AX2000 (Element-Subtyp 5007) |
Enthält optional einen boolschen Wert (VT_BOOL) und wenn er gesetzt ist, wird eine zusätzliche Variable für den “Schleppfehler” erzeugt. |
DeviceNET (Element-Subtyp 5203) |
Enthält optional den Dateipfad einer EDS-Datei (VT_BSTR). |
BK3000 und alle übrigen PROFIBUS-Box-Typen |
Enthält optional den Dateipfad einer GSD-Datei (VT_BSTR). |
Variable |
Enthält optional die Bit-Adresse der neuen Variablen. Der Typ der Variante kann ein SHORT oder ein LONG (VT_I2 oder VT_I4) sein. |
SPS-POU Funktionsblock (Element-Subtyp 604) |
Enthält IEC-Sprachentyp als Integer, wie durch IECLANGUAGETYPES definiert. |
SPS-POU Funktion (Element-Subtyp 603) |
Enthält ein string[2]-Array, das folgende Werte hält:
|