Attributo: hide
Importante
Utilizzando il pragma {attribute 'hide'}
nascondere variabili e POU non ha l'effetto desiderato nella maggior parte dei casi. Invece, dovresti usare il file {attributo 'conditionalshow'}. pragma.
Il pragma impedisce che le variabili e le POU definite con esso vengano mostrate nel CODESYS interfaccia utente. Di conseguenza, puoi nascondere intenzionalmente questi identificatori senza limitare l'accesso. Questo può essere utile quando si sviluppano librerie.
Gestione della biblioteca
Debug
Assistente di input
Funzione "Elenca componenti".
Monitoraggio
Configurazione dei simboli
Le variabili o le POU definite con il pragma non sono né visibili nel Library Manager né sono suggerite nell'Input Assistant o nella funzione "List components". Il pragma impedisce che quelle variabili decorate vengano visualizzate nella configurazione dei simboli. Di conseguenza, non è possibile esportare questo tipo di variabili come simboli. Le variabili sono invisibili anche in modalità online e quindi i loro valori non possono essere monitorati. Inoltre, non puoi utilizzare alcuna funzionalità di debug e non hai alcun supporto durante il controllo dei bug.
Se tu, lo sviluppatore dell'applicazione, conosci il percorso esatto dell'istanza delle POU nascoste e delle variabili, puoi accedervi nel codice.
Sintassi:
{attribute 'hide'}
Inserisci posizione: per le variabili, sopra la riga con la dichiarazione delle variabili. Per le POU, nella prima riga.
Il blocco funzione FB_MyA
contiene l'attributo pragma {attribute 'hide'}
per nascondere la variabile locale xInvisibleIn
.
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_VAR
Due istanze del blocco funzione FB_MyA
sono definiti nel programma principale.
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);
Mentre un valore di input per fbMyA1
è ora implementata la funzione 'Elenca componenti', che si apre durante la digitazione fbMyA1.
(nella parte attuativa del PLC_PRG
), visualizza le variabili iInA
, xInit
, e iOutA
, ma non la variabile nascosta xInvisibleIn
.
FB_A
è un blocco funzione della libreria HiddenFunctionality
con lo spazio dei nomi predefinito HIDDEN
. Per nascondere l'identificatore e il codice POU agli sviluppatori dell'applicazione, iniziare la dichiarazione della POU con l'attributo pragma {attribute 'hide'}
. Per nascondere allo stesso modo le POU subordinate (azioni, metodi, proprietà e transizioni, iniziare anche le loro dichiarazioni con {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 : INT
Per te come sviluppatore di applicazioni, tutte le POU sono invisibili. Puoi usarli solo se conosci il percorso dell'istanza.
PROGRAM PLC_PRG VAR fbHidden : HIDDEN.FB_A; // Hidden function block from library HiddenFunctionality iCounter : INT; END_VAR fbHidden.METH_Invisible(); iCounter := fbHidden.iInvisible;
In modalità online, non viene eseguito alcun monitoraggio.

Suggerimento
Con il {attributo 'hide_all_locals'}
pragma, puoi nascondere tutte le variabili locali di una POU.