Configurazione ed esecuzione dell'analisi staticaPermalink

Utilizzando un progetto di base di esempio, di seguito vengono illustrati i passaggi e le opzioni più importanti per la configurazione e l'esecuzione di un'analisi statica.

Requisiti: CODESYS Static Analysis è installato.

Progetto campione

Se si desidera riprodurre il progetto di esempio, creare un progetto standard e inserire i POU sotto l'applicazione nell'albero dei dispositivi. Configurare quindi le impostazioni di comunicazione per la connessione al sito CODESYS Control Win V3.

FUNCTION_BLOCK fb1
VAR_INPUT
	   iVar_fb1in1 : INT;
	   ivar_fb1in2 : INT;
	   rVar_fb1in3 : REAL;
END_VAR
VAR_OUTPUT
	   iVar_fb1out:INT;
END_VAR
VAR
	   P_fSampleProperty : INT;
    rVar : REAL;
	   PRO : BOOL;
END_VAR
iVar_fb1out:=iVar_fb1in1 + 1;

FUNCTION_BLOCK fb2
VAR_INPUT
	   iVar_fb2in:INT;
END_VAR
VAR_OUTPUT
	   iVar_fb2out:INT;
END_VAR
VAR
END_VAR
PROGRAM PLC_PRG
VAR
    fb1_inst: fb1;
    fb2_inst: fb2;
END_VAR
fb1_inst(iVar_fb1in1 := 99);
fb2_inst(iVar_fb2in := 22);
fb2_inst(iVar_fb2in := 1);

Controllo della conformità alle norme

  1. Fare clic su «Build  Analisi statica  Impostazioni». Passare alla scheda «Rules».

    Viene visualizzato un elenco contenente tutti i possibili controlli delle regole. Sono organizzati in una struttura ad albero per categoria tematica. Il numero della regola viene aggiunto tra parentesi (ad esempio, «Variabili non utilizzate (33)» nella categoria «Oggetti non utilizzati»).

  2. Fare clic alcune volte sulla casella di controllo della prima riga (nodo«Rules» ).

    Facendo clic si cambia lo stato di attivazione. Le caselle di controllo dell'intera struttura hanno un segno di spunta rosso o arancione, oppure non hanno alcun segno di spunta.

  3. In questo modo, attivare tutte le voci con un segno di spunta rosso. Ciò significa che CODESYS Static Analysis deve segnalare come errore qualsiasi violazione delle regole rilevata.

  4. Cliccare su «Build  Static Analysis  Run Static Analysis».

    Gli errori vengono segnalati nella vista dei messaggi. I testi dei messaggi sono contrassegnati da un'etichetta sa_icon_message e iniziano con il numero di errore "SA<numero regola>".

  5. Fare doppio clic sul primo messaggio ‎SA0033: Unused variables 'iVar_fb2out'‎.

    Il focus si sposta sulla parte di dichiarazione del blocco funzione ‎fb2‎ e viene selezionata la variabile corrispondente. La variabile è dichiarata, ma non utilizzata. Questo viene controllato nella regola 33 («Variabili non utilizzate»). Nel codice, le posizioni rilevanti sono sottolineate con una linea ondulata.

  6. Per verificare l'esecuzione automatica dell'analisi, fare clic su «Build  Static Analysis  Settings». Nella scheda «Settings», selezionare l'opzione «Perform static analysis automatically». Fare clic su «OK» per uscire dalla finestra di dialogo.

  7. Cliccare su «Online  Login».

    Una finestra di dialogo indica la presenza di errori di compilazione. Gli errori segnalati dall'analisi del codice vengono visualizzati nuovamente nella vista dei messaggi.

  8. Fare clic su «Build  Analisi statica  Impostazioni». Passare alla scheda «Rules». Ora cancellare tutte le regole nella finestra di dialogo. Nella categoria «Oggetti non utilizzati», attivare esplicitamente la regola SA0035 («Variabili di input non utilizzate (35)») con un segno di spunta arancione per segnalare un avviso. Per il testo della regola, vedere il tooltip: «Questa regola corrisponde alle seguenti regole PLCopen: CP24»). Fare clic su «OK» per uscire dalla finestra di dialogo.

    Nelle impostazioni del progetto, fare clic su «OK».

  9. Fare clic su «Build  Generate Code».

    L'analisi viene eseguita automaticamente. Nella visualizzazione dei messaggi vengono segnalati due errori: ‎§ SA0035: Unused input variable 'iVar_fb1in2‎ e ‎§ SA0035: Unused input variable 'iVar_fb1in3‎.

  10. Fare doppio clic sul messaggio e commentare o rimuovere la dichiarazione. Eseguire nuovamente l'analisi del codice.

    Non vengono visualizzati messaggi di errore.

Verifica della conformità alle convenzioni di denominazione definite

  1. Fare clic su «Build  Analisi statica  Impostazioni». Fare clic sulla scheda «Naming Conventions».

    Si vede una tabella in una struttura ad albero suddivisa in categorie espandibili di variabili e blocchi di programma.

  2. Espandere la categoria «Prefissi per variabili» - «Prefissi per tipi» e nella colonna «Prefisso» specificare ‎I‎ per «INT (14)».

    Espandere la categoria «Prefissi per POU» - «Prefissi per tipo POU»: Nella colonna «Prefisso», specificare ‎prog‎ per «PROGRAMMA (122)» e ‎fb‎ per «BLOCCO FUNZIONALE (103)».

  3. Selezionare l'opzione «Il primo carattere dopo il prefisso deve essere una lettera maiuscola». Cancellare tutte le altre opzioni.

  4. Cliccare su «Build  Static Analysis  Run Static Analysis».

    Messaggi di errore:

    • ‎NC0102: Invalid name 'PLC_PRG': Expect prefix 'prog'‎ perché PLC_PRG non ha il prefisso richiesto

    • ‎First character after prefix should be uppercase: 'ivar_fb1in2'‎ perché ‎ivar_fb1in2 : INT;‎ in ‎fb1‎

    • ‎NC0014: Invalid variable name P_fSampleProperty: Expect prefix 'i'‎ perché questa variabile intera non ha il prefisso richiesto

Controllo dei simboli proibiti

  1. Fare clic su «Build  Analisi statica  Impostazioni». Fare clic sulla scheda «Simboli proibiti».

    Un editor di linee consente di specificare le stringhe di caratteri che non devono essere utilizzate nel codice.

  2. Ad esempio, fate doppio clic sulla riga vuota e digitate direttamente la stringa di caratteri non valida ‎PRO‎. Fare doppio clic sulla riga vuota successiva e fare clic su _cds_icon_three_dots per aprire l'assistenza all'immissione. Da «Tipi standard», selezionare «REALE». Fare clic su «OK» per uscire dalla finestra di dialogo.

  3. Cliccare su «Build  Static Analysis  Run Static Analysis».

    I messaggi di errore ‎Forbidden symbol 'REAL'‎ e ‎Forbidden symbol 'PRO'‎ vengono visualizzati nella vista messaggi. Fare doppio clic sul testo del messaggio per passare alla riga di codice corrispondente.

Visualizzazione delle metriche

CODESYS Static Analysis esegue test selezionati sul codice ed è possibile visualizzare i risultati in una vista.

  1. Fare clic su «Build  Analisi statica  Impostazioni». Fare clic sulla scheda «Metrics».

    Le metriche che CODESYS Static Analysis applica al codice sono elencate in una tabella.

  2. Per questo esempio, attivare la metrica «Numero di variabili di ingresso» e specificare l'intervallo di valori consentito: limite inferiore ‎1‎ e limite superiore ‎2‎. Attivare altre metriche, ad esempio «Dimensione del codice» e «Numero di chiamate».

  3. Fare clic su «Build  Analisi statica  View Standard Metrics».

    La vista comprende una tabella con una riga per ogni unità di programma del programma campione. Per ogni metrica attivata, c'è una colonna che mostra i valori misurati. I valori che non rientrano nell'intervallo di valori definito nelle impostazioni sono evidenziati in rosso. Nel caso di questo esempio specifico, si tratta almeno del campo «PLC_PRG/Inputs» perché il numero di variabili di ingresso in questo POU è superiore al limite superiore definito di ‎2‎.

Vedi anche