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.