Voraussetzung
-
Die TIA Portal Openness-Anwendung ist mit dem TIA Portal verbunden.
Siehe Verbindung zum TIA Portal herstellen -
Ein Projekt ist geöffnet.
Siehe Öffnen eines Projekts
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:
|
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:
|
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:
|
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); |
Siehe auch