PC-Schnittstelle zuordnen - TIAPortal

TIA Portal Openness: API für die Automatisierung von Engineering-Workflows

ft:publication_title
TIA Portal Openness: API für die Automatisierung von Engineering-Workflows
Product
TIAPortal
Version
V20
Publication date
01/2025
Language
de-DE
PC-Schnittstelle zuordnen

Voraussetzung

Verwendung

Für die Schnittstellenzuordnung müssen Sie den PcInterfaceAssignment-Dienst von Siemens.HW.Features auf der Geräteelementschnittstelle abrufen.

Wenn die PC-Station eine Version <= 2.0 hat, geben die Methoden dieses Diensts null zurück und die Schnittstellenzuordnung ist nicht möglich bei Schnittstellen, die nur der PC-Station oder nur Windows oder keinem von beiden zugeordnet sind. Bei Schnittstellen, die einer SW-CPU zugeordnet sind, ist dies wieder möglich.

Hinweis

Beim CAx-Austausch ist die Unterstützung der PC-Station sehr begrenzt. Es werden nur PC-Stationen mit Version 1.0 und dem Standardwert für InterfaceAssignment unterstützt. Das liegt daran, dass diese beiden Werte sich auf die Gerätestruktur auswirken (d. h. was eingebaut ist, was wo gesteckt werden kann). Da jedoch die Parameter nicht zur Datei AutomationML gehören, werden die Werte beim Import nicht gesetzt. Folglich ist die Struktur des IPC nicht passend und die anderen Module können nicht gesteckt werden.

Programmcode: Schnittstellenzuordnung

Für die Schnittstellenzuordnung ändern und verwenden Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

DeviceItem swCpu = ...;

DeviceItem myInterface = ...;

PcInterfaceAssignment provider = myInterface.GetService<PcInterfaceAssignment>();

//user has to give device item sw cpu in case he/she wants to assign to it. (in the future, there could be multi sw-cpu cases) provider.AssignInterface(PcInterfaceAssignmentMode.SoftwarePlc, swCpu);

...

provider.AssignInterface(PcInterfaceAssignmentMode.PcStation);

...

provider.AssignInterface(PcInterfaceAssignmentMode.None);

...

Um Informationen über den aktuellen Zuordnungsmodus einer Schnittstelle abzurufen, ändern und verwenden Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

PcInterfaceAssignment provider = myInterface.GetService<PcInterfaceAssignment>();

PcInterfaceAssignmentMode mode = provider.PcInterfaceAssignmentMode;

switch(mode)

{

case PcInterfaceAssignmentMode.None: Console.WriteLine("Assigned to none or windows-only.");

break;

case PcInterfaceAssignmentMode.PcStation: Console.WriteLine("Assigned to pc-station.");

break;

case PcInterfaceAssignmentMode.SoftwarePlc: Console.WriteLine("Assigned to SoftwarePlc: " + provider.SoftwarePlc.Name);

break;

}

Programmcode: Konfiguration von Hardware-Ressource und IPC-Erweiterung

Mit dem folgenden Code können Sie auch die richtige Eigenschaft 'IPC-Erweiterung und Hardware-Ressource' über den PcInterfaceAssignment-Dienst auswählen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

DeviceItem myInterface = ...;

PcInterfaceAssignment provider = myInterface.GetService<PcInterfaceAssignment>();

//this method returns a subset of IpcExpansion values which are available for the IPC that the interface is plugged in. IEnumerable<string> ipcExpansionChoices = provider.GetAvailableIPCExpansions();

string myChoice;

foreach(var choice in ipcExpansionChoices)

{

//user must select the desired value depending on his/her configuration

if (choice.Contains("3yxx1")

{

myChoice = choice;

break;

}

}

provider.IpcExpansion = myChoice;

//After assigning IpcExpansion value, user may assign HardwareResource value using the following enumeration.

provider.HardwareResource = HardwareResource.X101;

//OR

//myInterface.SetAttribute("HardwareResource", HardwareResource.X101);

//myInterface.SetAttribute("IpcExpansion", mychoice);