PLC-Meldetextlisten und Masterkopien in Bibliotheken verwalten - 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
PLC-Meldetextlisten und Masterkopien in Bibliotheken verwalten

Voraussetzung

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:

  • Dezimal: Dezimalwert eines Bereichstyps

  • Binär: Binärwert eines Bereichstyps

  • Bit: Bitwert eines Bereichstyps

  • Keiner: Kein Wert eines Bereichstyps

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

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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);