Attribut: hide
Wichtig
Das Verbergen von Variablen und Bausteinen mit dem Pragma {attribute 'hide'} ist in den allermeisten Fällen nicht zielführend. Verwenden Sie deshalb bevorzugt das Pragma {attribute 'conditionalshow'}.
Das Pragma verhindert, dass die mit ihm definierten Variablen und Programmierbausteine in der CODESYS-Oberfläche angezeigt werden. Somit können Sie diese Bezeichner bewusst verbergen, ohne dass der Zugriff eingeschränkt ist. Das kann nützlich sein, wenn Sie Bibliotheken entwickeln.
Bibliotheksverwaltung
Debugging
Eingabehilfe
Feature “Komponenten auflisten“
Monitoring
Symbolkonfiguration
Die mit dem Pragma definierten Variablen oder Bausteine sind weder im Bibliotheksverwalter sichtbar, noch werden sie in der Eingabehilfe oder bei der Funktion „Komponenten auflisten“ angeboten. Das Pragma verhindert, dass damit gekennzeichnete Variablen in der Symbolkonfiguration angezeigt werden. Sie können solche Variablen somit nicht als Symbol exportieren. Auch im Onlinebetrieb sind die Variablen unsichtbar, folglich können deren Werte nicht überwacht werden. Außerdem können Sie keine Debugging-Funktionalitäten anwenden und haben keine Unterstützung bei einer Fehlersuche.
Wenn Sie als Applikationsentwickler den Instanzpfad der verborgenen Bausteine und Variablen exakt kennen, können Sie auf diese im Code zugreifen.
Syntax:
{attribute 'hide'}
Einfügeort: Bei Variablen oberhalb der Zeile mit der Deklaration der Variablen. Bei Programmierbausteinen in der ersten Zeile.
Der Funktionsbaustein FB_MyA enthält das Attributpragma {attribute 'hide'}, um die lokale Variable xInvisibleIn zu verberben.
FUNCTION_BLOCK FB_MyA
VAR_INPUT
iInA : INT;
{attribute 'hide'}
xInvisibleIn : BOOL;
xInit: BOOL;
END_VAR
VAR_OUTPUT
iOutA : INT;
END_VAR
VAR
iCounter : INT;
END_VARIm Hauptprogramm werden 2 Instanzen des Funktionsbausteins FB_MyA definiert.
PROGRAM PLC_PRG
VAR
fbMyA1, fbMyA2 : FB_MyA;
xVar2 : BOOL;
iVar1 : INT;
iVar2 : INT;
END_VAR
fbMyA1(iInA := 1, xInit := TRUE, xInvisibleIn := TRUE, iOutA => iVar1);
fbMyA2(iInA := 1, xInit := TRUE, iOutA => iVar2);Während nun ein Eingabewert für fbMyA1 implementiert wird, zeigt die Funktion „Komponenten auflisten“, die sich beim Tippen von fbMyA1. (im Implementierungsteil von PLC_PRG) öffnet, die Variablen iInA, xInit und iOutA an, nicht aber die versteckte Variable xInvisibleIn.
FB_A ist ein Baustein der Bibliothek HiddenFunctionality mit dem Standard-Namensraum HIDDEN. Um den Bezeichner und den Bausteincode vor Applikationsentwicklern zu verbergen, beginnt die Deklaration des Bausteins mit dem Attributpragma {attribute 'hide'}. Um die untergeordneten Programmierbausteine (Aktionen, Methoden, Eigenschaften, Transitionen) genauso zu verbergen, beginnen auch deren Deklarationen mit {attribute 'hide'}.
{attribute 'hide'}
FUNCTION_BLOCK FB_A
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
iA : INT;
iCount : INT;
iInvisible : INT;
END_VAR
{attribute 'hide'}
METHOD METH_Count : INT
VAR_INPUT
END_VAR
iCount := iCount + 1;
{attribute 'hide'}
METHOD METH_Invisible : BOOL
VAR_INPUT
END_VAR
iInvisible := iInvisible + 1;
{attribute 'hide'}
PROPERTY PUBLIC prop_iA : INTFür Sie als Applikationsentwickler sind alle Bausteine unsichtbar. Nur wenn Sie den Instanzpfad kennen, können Sie diese verwenden.
PROGRAM PLC_PRG
VAR
fbHidden : HIDDEN.FB_A; // Hidden function block from library HiddenFunctionality
iCounter : INT;
END_VAR
fbHidden.METH_Invisible();
iCounter := fbHidden.iInvisible;Im Onlinebetrieb wird kein Monitoring durchgeführt.

Tipp
Mit dem Pragma {attribute 'hide_all_locals'} können Sie alle lokalen Variablen eines Programierbausteins verbergen.