Attribut 'hide'
Das Pragma verhindert, dass Variablen oder Programmelemente in der TwinCAT-Oberfläche angezeigt werden. Sie sind dann beispielsweise in der Eingabehilfe oder im Deklarationsteil im Onlinebetrieb nicht sichtbar, sie können nicht über die Querverweissuche gefunden werden und es können keine Debug-Funktionalitäten (wie z. B. Steppen oder Haltepunkte) darauf angewendet werden.
Beachten Sie, dass Variablen, die mit dem Attribut 'hide' oder 'hide_all_locals' deklariert sind, nicht als persistent abgespeichert werden können. Des Weiteren wird für „versteckte“ Variablen die Erzeugung des zugehörigen Prozessabbilds (allokierte Inputs/Outputs) verhindert. Zudem werden für diese Variablen keine (ADS-) Symbole erzeugt. Es kann also nicht symbolisch darauf zugegriffen werden.
Die Wirkung von 'hide' betrifft auch Variablen und Signaturen innerhalb von Bibliotheken, die als .library vorhanden sind.
Syntax: {attribute 'hide'}
Einfügeort: Zeile oberhalb einer Signatur, Zeile oberhalb der Deklarationszeile einer Variablen (dabei wird nur die direkt auf das Pragma folgende Variable unsichtbar gemacht) oder bei ST-Aktionen/-Transitionen direkt zu Beginn der Aktion/Transition
Beispiel:
Der Funktionsbaustein FB_Sample verwendet das Attribut {attribute 'hide'}:
FUNCTION_BLOCK FB_Sample
VAR_INPUT
nA : INT;
{attribute 'hide'}
bInvisible : BOOL;
bVisible : BOOL;
END_VAR
VAR_OUTPUT
nB : INT;
END_VAR
Im Hauptprogramm wird eine Instanz des Funktionsbausteins FB_Sample definiert.
PROGRAM MAIN
VAR
fbSample : FB_Sample;
END_VAR
Während nun ein Eingabewert für fbSample implementiert wird, zeigt die Funktion Komponenten auflisten, die sich beim Tippen von „fbSample.“ (im Implementierungsteil von MAIN) öffnet, die Variablen nA, bVisible und nB an, nicht aber die versteckte Variable bInvisible.
Mit dem Pragma hide_all_locals können Sie alle lokalen Variablen einer Deklaration verstecken. |
Wenn das Pragma hide in Compiled Libraries für Variablen und Signaturen verwendet wird, werden diese Variablen und Signaturen auch nicht im Bibliotheksverwalter angezeigt. |
Siehe auch: