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.

Attribut 'hide' 1:

Mit dem Pragma hide_all_locals können Sie alle lokalen Variablen einer Deklaration verstecken.

Attribut 'hide' 2:

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: