Voraussetzung
-
Die TIA Portal Openness-Anwendung ist mit dem TIA Portal verbunden.
-
Ein Projekt ist geöffnet.
Siehe Projekt öffnen
Verwendung
Die Aktion PlugNew(string typeIdentifier, string name, int positionNumber) von HardwareObject wird verwendet, um
-
ein neues Geräteelement zu erstellen und in ein vorhandenes Hardwareobjekt zu stecken
-
ein neues Untergeräteelement zu erstellen, z. B. ein Submodul, und dieses in ein Geräteelement zu stecken
Wenn die Aktion erfolgreich war, gibt sie das erstellte Geräteelementobjekt aus. Andernfalls wird eine wiederherstellbare Ausnahme ausgelöst.
Mit der Aktion CanPlugNew(string typeIdentifier, string name, int positionNumber) können Sie ermitteln, ob Erstellen und Stecken möglich sind. Wenn eine Ausführung nicht möglich ist, gibt die Aktion false aus.
Wenn die Methode den Wert True zurückgibt, kann die Aktion aus den folgenden unvorhersehbaren Gründen dennoch fehlschlagen.
-
eine Positionsnummer wird bereits von einem anderen Geräteelement verwendet
-
das aktuelle Geräteelement kann nicht in die Position gesteckt werden, obwohl sie frei ist
-
der Behälter stellt die Positionsnummer nicht bereit
-
der Name des Geräteelements wird bereits von einem vorhandenen Geräteelement im selben Behälter verwendet
-
das Geräteelement kann nicht in den Behälter gesteckt werden
-
das Gerät ist online
Die folgende Tabelle zeigt die benötigten Methodenparameter:
|
Name |
Typ |
Beschreibung |
|---|---|---|
|
|
String |
Typkennung des erstellten Geräteelements |
|
|
String |
Name des erstellten Geräteelements |
|
|
Int |
Positionsnummer des erstellten Geräteelements |
Programmcode
Ändern Sie folgenden Programmcode, um ein Geräteelement in ein vorhandenes Hardwareobjekt zu stecken:
|
private static void PluggingDeviceItem (HardwareObject hardwareObject, string typeIdentifier, string name, int positionNumber) { if(hwObject.CanPlugNew(typeIdentifier, name, positionNumber)) { Siemens.Engineering.HW.DeviceItem newPluggedDeviceItem = hwObject.PlugNew(typeIdentifier, name, positionNumber); } } |
Auf Modulinformationen zugreifen
Der TIA Portal Openness-Anwender kann über das Objekt ModuleInformationProvider auf Informationen zu den steckbaren Modulen zugreifen. Der Anwender hat Zugriff auf
-
die Behältertypen, in die ein bestimmtes Modul zu stecken ist (z. B. Gerät und Baugruppenträger) – über die Methode FindContainerTypes.
-
die verfügbaren Versionen für ein bestimmtes teilweise angegebenes Modul – über die Methode FindModuleTypes.
Programmcode: Auf das Objekt ModuleInformationProvider zugreifen
|
privaet static void ModuleInformationAccess(Project project) { HardwareUtilityComposition extensions = project.HwUtilities; var result = extensions.Find("ModuleInformationProvider") as ModuleInformationProvider; } |
Programmcode: Mit der Methode FindContinerTypes auf Behältertypen zugreifen
Die Methode FindContinerTypes gibt die Behältertypen eines angegebenen Moduls zurück. Das Modul wird über den Parameter typeIdentifier angegeben. Die resultierende Liste enthält die TypeIdentifiers sämtlicher Behältertypen des angeforderten Typs. Üblicherweise umfasst dies ein Gerät und einen Baugruppenträger, und die Behälter werden in ihrer Reihenfolge in der Hierarchie im Projekt mit Beginn am Gerät angegebenen.
|
Name des Parameters |
Typ |
Beschreibung |
|---|---|---|
|
|
String |
Typkennung eines Gerätelements |
| Achtung | |
|
Diese Methode funktioniert nur bei die in der Netzsicht sichtbaren Modulen. Diese Methode funktioniert nur bei Modulen, nicht bei Submodulen. |
|
|
private static void AccessingContainerType(string typeIdentifier, ModuleInformationProvider moduleInformationProvider) { string[] containerTypes = moduleInformationProvider.FindContainerTypes(typeIdentifier); } |
Programmcode: Mit der Methode FindModuleTypes auf Versionen zugreifen
Die Methode FindModuleTypes gibt alle möglichen Versionen eines Hardwareobjekts unter Verwendung der teilweisen Typkennung des Geräteelements zurück. Diese Methode gibt eine Liste von Strings aus. Jeder String entspricht dem vollständigen TypeIdentifier einer möglichen Übereinstimmung für den teilweisen TypeIdentifier.
Eine gültige teilweise Typkennung darf nur vollständige Teile enthalten, wobei jeder Teil in der Typkennung durch das Zeichen "/" getrennt ist. Platzhalter oder unvollständige Teile werden nicht unterstützt. Außerdem müssen die folgenden Einschränkungen im Hinblick auf die Mindestanzahl von angegebenen Teilen beachten werden:
-
Bestellnummer mindestens ein Teil. Beispiel:
OrderNumber:6ES7 317-2EK14-0AB0 -
GSD: mindestens zwei Teile. Beispiel:
GSD:SI05816A.GSD/M -
System: mindestens ein Teil. Beispiel:
System:Rack.ET200SP
|
Name des Parameters |
Typ |
Beschreibung |
|---|---|---|
|
|
String |
teilweise Typkennung eines Geräteelements |
|
private static void AccessVersionHardwareObject(string partialTypeIdentifier, ModuleInformationProvider moduleInformationProvider) { string[] moduleTypes = moduleInformationProvider.FindModuleTypes(partialTypeIdentifier); } |
Programmcode: Mit der Methode GetPlugLocations auf die Steckorte zugreifen
Die Methode GetPlugLocations gibt die Informationen über Steckplätze wie Steckort, Positionsnummer (Bezeichnung eines Steckplatzes) und verfügbare Steckplätze für das Hardwareobjekt zurück.
Die Klasse PlugLocation hat die folgenden Eigenschaften.
|
Name der Eigenschaft |
Typ |
Beschreibung |
|---|---|---|
|
|
Int |
Die Positionsnummer des freien Steckplatzes |
|
|
String |
Die Bezeichnung des freien Steckplatzes |
-
Ist für eine bestimmte Positionsnummer kein "label" vorhanden, wird die String-Darstellung der Positionsnummer verwendet.
-
PlugLocation-Objekte werden nur für freie Steckplätze bereitgestellt.