Voraussetzung
-
TIA Portal Openness ist mit dem TIA Portal verbunden
Siehe Verbindung zum TIA Portal aufbauen -
Ein Projekt ist geöffnet
Siehe Projekt öffnen
Einleitung
Sie können mit TIA Portal Openness PLC-Meldetextlisten als Masterkopie in eine Bibliothek kopieren bzw. PLC-Meldetextlisten aus Masterkopie-Ordnern der Bibliothek löschen. Es können sowohl Projekt- als auch globale Bibliotheken verwendet werden.
Mit TIA Portal Openness werden außerdem folgende Funktionen unterstützt:
-
Auf Anwender- und Systemtextlisten zugreifen
-
Anwendertextlisten aktualisieren
-
Anwendertextlisten löschen
-
Textlistennamen und ListRange festlegen
-
Auf Textlisteninformationen zugreifen, darunter ID, Name und Typ für Anwender bzw. System
Eigenschaft
Referenz von PlcAlarmTextlistGroup (Navigatoren)
|
Benutzerdefinierter Typ |
Navigator |
Datentyp |
Beschreibung |
|---|---|---|---|
|
PlcUnitBase |
PlcAlarmTextlistGroup |
PlcAlarmTextlistGroup |
Erste Textlistenebene. Hier werden EOM-Klassen für System- und Anwendertextlisten erstellt. |
|
PlcSoftware |
Navigatoren von PlcAlarmTextlistGroup
|
Navigator |
Datentyp |
|---|---|
|
PlcAlarmSystemTextlists |
PlcAlarmSystemTextlistComposition |
|
PlcAlarmUserTextlists |
PlcAlarmUserTextlistComposition |
PlcAlarmTextlist
Die folgenden Eigenschaften werden bei PLC-Meldetextlisten unterstützt:
|
Name der Eigenschaft |
Datentyp |
Beschreibung |
Zugriff |
|---|---|---|---|
|
ID |
Int32 |
ID der PLC-Meldetextlisten abrufen |
Lesen |
|
ListRange |
PlcAlarmTextlistListRange |
Bereichstypen für PLC-Meldetextlisten abrufen. PlcAlarmTextlistListRange akzeptiert folgende Enum-Werte:
|
Lesen |
|
Name |
String |
Namen der PLC-Meldetextlisten abrufen |
Lesen |
Navigator von PlcAlarmTextlistGroup
|
Navigator |
Datentyp |
|---|---|
|
Comment |
MultilingualText |
PlcAlarmUserTextlist
|
Name der Eigenschaft |
Datentyp |
Beschreibung |
Zugriff |
|---|---|---|---|
|
ListRange |
PlcAlarmTextlistListRange |
Bereichstypen für PLC-Meldetextlisten abrufen |
Lesen/Schreiben |
|
Name |
String |
Namen der PLC-Meldetextlisten abrufen |
Lesen/Schreiben |
Programmcode
|
TiaPortal tia = TiaPortal.GetProcesses().Select(x => x.Attach()).First(); Project project = tia.Projects.First(); Device device = project.Devices.First(); DeviceItem deviceItem = (DeviceItem)(from x in device.DeviceItems where x.Name.Equals("PLC_1") select x).First(); SoftwareContainer softwareContainer = ((IEngineeringServiceProvider)deviceItem).GetService<SoftwareContainer>(); PlcSoftware plc = softwareContainer.Software as PlcSoftware; var group = plc.PlcAlarmTextlistGroup; var groupParent = group.Parent; var systemTextlist = group.PlcAlarmSystemTextlists.First(); var listRangeType = systemTextlist.ListRange; var systemTextlistParent = systemTextlist.Parent; var userTextlist = group.PlcAlarmUserTextlists.First(); var userTextlistParent = userTextlist.Parent; var listRange = systemTextlist.ListRange; var comment = systemTextlist.Comment; userTextlist.Name = "set text"; userTextlist.ListRange = Siemens.Engineering.SW.Alarm.TextLists.PlcAlarmTextlistListRange.Bit; userTextlist.Comment.Items.Find(project.LanguageSettings.ActiveLanguages.Find(new CultureInfo("en-US", false))).Text = "EN comment"; userTextlist.Comment.Items.Find(project.LanguageSettings.ActiveLanguages.Find(new CultureInfo("de-DE", false))).Text = "DE comment"; userTextlist.Delete(); MasterCopy masterCopy = project.ProjectLibrary.MasterCopyFolder.MasterCopies.First<MasterCopy>(x => x.Name == "textlist_in_library"); PlcAlarmUserTextlists.CreateFrom(masterCopy); masterCopy.Delete(); project.ProjectLibrary.MasterCopyFolder.MasterCopies.Create(userTextlist); |