AnalyzeExpressionTable

Der Funktionsbaustein kann in SPS-Projekten genutzt werden, die die AS-Flags benutzen. Es werden keine Instanzen erzeugt. Im Projekt muss nur die entsprechende SPS-Bibliothek eingebunden werden. Weitere Konfigurationsvoraussetzungen finden Sie in den nachfolgenden Erläuterungen.
Die Bausteine AnalyzeExpression und AnalyzeExpressionTable können zur Analyse von Transitionen bzw. Weiterschaltbedingungen verwendet werden. Wenn eine Transition nach einer eingestellten Zeit nicht schaltet, kann diese Transition mithilfe der Bausteine analysiert werden.
![]() | Mithilfe der Bausteine können Sie nur Ausdrücke bzw. Transitionen analysieren, die in der Programmiersprache ST implementiert sind. |
- AnalyzeExpression:
- Der Baustein gibt das Analyseergebnis, warum nicht weitergeschaltet wird (d. h. welche Teilbedingung/en nicht erfüllt ist/sind), gebündelt in einem STRING aus. Die Variablen, die die Teilbedingungen bilden, werden per Operator miteinander verknüpft (z. B.
bVar1 AND (bVar2 OR bVar3)
). - Die Ausgabe erfolgt in dem AS-Flag „SFCErrorAnalyzation“.
- AnalyzeExpressionTable:
- Der Baustein gibt alle nicht-schaltenden Variablen einzeln aus. Die einzelnen Variablen werden dabei jeweils als Arrayelement erfasst bzw. ausgegeben. Zu den gelisteten Informationen pro Arrayelement gehören der Name, die Adresse, der Kommentar und der aktuelle Wert der Variablen.
- Die Ausgabe erfolgt in dem AS-Flag „SFCErrorAnalyzationTable“.
Konfigurationsvoraussetzungen
Um AnalyzeExpression bzw. AnalyzeExpressionTable für AS zu aktivieren, sind die folgenden Einstellungen vorzunehmen:
- Binden Sie die SPS-Bibliothek Tc2_System ein.
- Deklarieren Sie in der AS-POU die folgende Variable:
SFCEnableLimit : BOOL := TRUE;
- Konfigurieren Sie für den Schritt bzw. die Schritte des AS-Diagramms, dessen/deren nachfolgende Transition/Weiterschaltbedingung analysiert werden soll, im Eigenschaftenfenster jeweils eine maximale Aktiv-Zeit (siehe auch AS-Elementeigenschaften).
- Konfigurieren Sie die AS-Einstellungen in den SPS-Projekteigenschaften oder in den POU-Eigenschaften
(siehe auch AS-Flags und Befehl Eigenschaften (SPS-Projekt) > Kategorie AS): - Registerkarte Flags:
Aktivieren Sie für die folgenden AS-Flags die Auswahlkästchen Aktiv und Deklarieren:
SFCError, SFCEnableLimit, SFCErrorAnalyzation, SFCErrorAnalyzationTable - Registerkarte Übersetzen:
Aktivieren Sie die Option Nur aktive Transitionen berechnen.
Beispiel
In dem nachfolgenden Beispiel wurden die oben genannten Konfigurationen vorgenommen. Für den Schritt „Step1“ wurde die maximale Aktiv-Zeit auf 1 s gestellt. Wenn die zugehörige ausgehende Transition „Trans_ST“ nach 1 s noch nicht geschaltet hat, wird diese Transition von den Bausteinen AnalyzeExpression und AnalyzeExpressionTable analysiert. Die Variable SFCError wird auf TRUE gesetzt und die Variable SFCErrorStep bekommt den Wert 'Step 1'.
Die Analyseergebnisse „SFCErrorAnalyzation“ bzw. „SFCErrorAnalyzationTable“ zeigen an, welcher (Teil-)Ausdruck noch nicht geschaltet hat, damit der Schritt „Step1“ verlassen werden kann.
Die Transition „Trans_ST“ besteht aus dem Ausdruck
b1 AND (b2 OR b3);
- Situation 1: Noch keine der drei Variablen b1, b2, b3 besitzt den Wert TRUE.
- „SFCErrorAnalyzation“ zeigt das Analyseergebnis 'b1 AND (b2 OR b3)'.
- „SFCErrorAnalyzationTable“ führt alle drei Variablen b1, b2, b3 mit detaillierten Variableninformationen auf.
- Sehen Sie hierzu auch Abbildung 1.
- Situation 2: Variable b1 wird auf TRUE gesetzt. Die Analyseergebnisse verändern sich entsprechend.
- „SFCErrorAnalyzation“ zeigt das Analyseergebnis '(b2 OR b3)'.
- „SFCErrorAnalyzationTable“ führt nur noch die beiden Variablen b2 und b3 mit den entsprechenden Variableninformationen auf.
- Sehen Sie hierzu auch Abbildung 2.
Abbildung 1:

Abbildung 2:

Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_System (System) |