Openness API für Expression Resolver - WinCC

SiVArc Openness

ft:publication_title
SiVArc Openness
Product
WinCC
Version
V20
Publication date
01/2025
Language
de-DE
Openness API für Expression Resolver

Voraussetzung

  • TIA Portal-Projekt umfasst Bausteine vom Typ FC und FC in PLC.

  • TIA Portal-Projekt umfasst PLC mit Aufrufstruktur und ist übersetzt.

  • HMI-Gerät ist im TIA Portal-Projekt erstellt und konfiguriert.

  • Bildobjekte (einschließlich Bildbausteine) sind in Kopiervorlagen und Typen erstellt und konfiguriert.

Parameter

Die folgenden Parameter werden in dieser API verwendet:

Parametername

Typ

Umfang

codeBlock

Siemens.Engineering.SW.Blocks.CodeBlock

PLC-Programmbaustein

deviceItem

Siemens.Engineering.HW.DeviceItem

PNV HMI-Gerät

sivarcLibraryItem

Siemens.Engineering.SiVArc. ISivarcLibraryItem

Projektbibliothek

Auflösen des Ausdrucks und Zugriff auf die Ergebnisse über Expression Resolver API

Um über Expression Resolver API den Ausdruck aufzulösen und auf die Ergebnisse zuzugreifen, verwenden Sie die folgende API:

// vom PLC-Programmbaustein (mit FB, FC) [Keine Bausteininstanz]

CodeBlock block = GetCodeBlock(project, "Block_2");

// HMI-Gerät von PNV

DeviceItem deviceItem = GetHmiTargetDeviceItem(project, "HMI_Basic");

// Aus Kopiervorlage und Typen

ISivarcLibraryItem sivarcLibraryItem = GetNestedSivarcLibraryItem(project, "Button_Nested_2");

// Benutzerausdruckstring

string expression = "Block.DB.SymbolicName & \"_\" & HmiApplication.Type & \"_\" & LibraryObject.FolderPath";

// Gibt die Instanz des Expression Resolver zurück

ExpressionResolver instance = sivarc.GetExpressionResolver(block, deviceItem, sivarcLibraryItem);

// Ausdruck auflösen

IEnumerable<ExpressionResult> results = instance.Resolve(expression);

// Auf Ergebnisse zugreifen

foreach (ExpressionResult result in results)

{

    string instanceName = result.InstanceName;

    Console.WriteLine($"Instance Name : {instanceName}");

    string expressionResult = result.Result;

    Console.WriteLi ne($"Expression Result : {expressionResult}");

    string callPath = result.CallPath;

    Console.WriteLine($"Call Path : {callPath}");

    Console.WriteLine("\n");

}

Ausnahme

Für jeden Fehler, der bei der Auflösung des Ausdrucks auftritt, wird eine wiederherstellbare Ausnahme mit entsprechender Meldung ausgelöst.