Finestra di dialogo: Impostazioni progetto: Luce di analisi statica
Simbolo: 
Funzione: La finestra di dialogo attiva i controlli che vengono eseguiti con la versione light di CODESYS Analisi statica ogni codice temporale viene generato.
Chiamata: comando, Luce di analisi statica categoria
Suggerimento
È possibile escludere righe di codice dall'analisi del codice statico contrassegnando il codice con il {analysis ...} pragma o il {attribute 'analysis' := '...'} pragma.
Per ulteriori informazioni, vedere: Analizza il codice in modo statico
Ulteriori controlli di compilazione
| SA0033: variabili non utilizzate | Rileva le variabili dichiarate ma non utilizzate all'interno del codice del programma compilato Per le variabili GVL: se in un progetto esistono più applicazioni, vengono interessati solo gli oggetti al di sotto dell'applicazione attualmente attiva. Se esiste una sola applicazione, gli oggetti nel file  | 
| SA0028: Aree di memoria sovrapposte | Rileva le righe di codice in cui due o più variabili riservano la stessa memoria Ad esempio, ciò si verifica per le seguenti dichiarazioni:  | 
| SA0006: accesso in scrittura da più task | Rileva le variabili che vengono scritte da più di un'attività | 
| SA0004: Accesso multiplo in scrittura sull'uscita | Rileva gli output scritti in più di una posizione Nota: non viene emesso un errore quando una variabile di uscita ( Nota: un pragma non può disabilitare questa regola. | 
| SA0027: Usi multipli di identificatori | Rileva più usi di un nome/identificatore per una variabile o un oggetto (POU) nell'ambito di un progetto . Vengono rilevati i seguenti casi: 
 | 
| SA0167: Segnala istanze FunctionBlock temporanee | Il controllo rileva le istanze del blocco funzione dichiarate come variabili temporanee. Ciò influisce sulle istanze dichiarate in un metodo o in una funzione o come  | 
| SA0175: Operazione sospetta su stringa | Inattivo per impostazione predefinita Rileva posizioni di codice sospette per la codifica UTF-8 Sono inclusi i seguenti costrutti: 
 A seconda dell'esito del controllo, si consiglia di non abilitare il Codifica UTF8 per STRING opzione di compilazione. Per ulteriori informazioni, vedere: Opzioni di compilazione | 
SA0003: dichiarazioni vuote
; (* Comment *); iVar;
SA0006: Accesso simultaneo
FUNCTION_BLOCK ADD_FB g_iTemp1 := g_iTemp1 + INT#1;
PROGRAM PLC_PRG //controlled by MainTask g_iTemp1 := g_iTemp1 + INT#2; g_xTemp2 := g_iTemp1 > INT#10;
PROGRAM PLC_PRG_1 //controlled by SubTask g_iTemp1 := g_iTemp1 - INT#3; g_xTemp2 := g_iTemp1 < INT#-10;
SA0004: Accesso multiplo in scrittura sull'uscita
VAR_GLOBAL
    g_xVar AT %QX0.0 : BOOL ;
    g_iTest AT %QW0 : INT ;
END_VARPROGRAM PLC_PRG
IF iCondition < INT#0 THEN
    g_xVar := TRUE;
    g_iTest := INT#12;
END_IFCASE iCondition OF
    INT#1:
        g_xVar := FALSE;
    INT#2:
        g_iTest := INT#11;
    ELSE
        g_xVar := TRUE;
        g_iTest := INT#9;
END_CASESA0006: accesso in scrittura da più task
FUNCTION_BLOCK ADD_FB g_iTemp1 := g_iTemp1 + INT#1;
PROGRAM PLC_PRG // Controlled by MainTask g_iTemp1 := g_iTemp1 + INT#2; g_xTemp2 := g_iTemp1 > INT#10;
PROGRAM PLC_PRG_1 //Controlled by SubTask g_iTemp1 := g_iTemp1 - INT#3; g_xTemp2 := g_iTemp1 < INT#-10;
SA0027: Uso multiplo del nome
PROGRAM PLC_PRG
VAR
    ton : INT; // error SA0027
END_VARSA0029: Notazione in codice diversa dalla dichiarazione
UN PLC_PRG POU e a fnc (funzione) POU esiste nell'albero dei dispositivi.
PROGRAM PLC_PRG
VAR
    iVar:INT;
    _123test_var_: INT;
END_VAR
ivar := iVar + 1; // notation different to that in the declaration part -> SA0029 _123TEST_var_ := _123test_var_INT; // notation different to that in the declaration part -> SA0029 Fnc(); // notation different to that in the devices tree -> SA0029
SA0167: Segnala istanze FunctionBlock temporanee
PROGRAM PLC_PRG
VAR
END_VAR
VAR_TEMP
    yafb: AFB;
END_VAR
FUNCTION Fun : INT
VAR_INPUT
END_VAR
VAR
    funafb: AFB;
END_VARMETHOD METH: INT
VAR_INPUT
END_VAR
VAR
    methafb: AFB;
END_VARPer ulteriori informazioni, vedere: Analizza il codice in modo statico