Configurazione ed esecuzione dell'analisi statica
Utilizzando un progetto di esempio di base riportato di seguito, troverai i passaggi e le opzioni più importanti per la configurazione e l'esecuzione di un'analisi statica.
Requisiti: CODESYS Static Analysis è installato.
Progetto di esempio
Se si desidera riprodurre il progetto di esempio, creare un progetto standard e inserire le POU sotto l'applicazione nell'albero dei dispositivi. Configura quindi le impostazioni di comunicazione per la connessione al tuo locale CODESYS Control Win.
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
iVar_fb2out:=iVar_fb2in - 1;
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);
Verifica del rispetto delle regole
Scegli il comando scheda regole.
. Passa aViene visualizzato un elenco contenente tutti i possibili controlli delle regole. Sono organizzati in una struttura ad albero per categorie tematiche. Il "numero della regola" viene aggiunto tra parentesi (esempio: Variabili non utilizzate (33) nella categoria Oggetti inutilizzati).
Fare clic più volte sulla casella di controllo della prima riga (Regole nodo).
Facendo clic si alterna lo stato di attivazione. Le caselle di controllo nell'intero albero hanno un segno di spunta rosso o arancione o nessun segno di spunta.
In questo modo attivi tutte le voci con il segno di spunta rosso. Ciò significa che CODESYS Static Analysis dovrebbe segnalare qualsiasi violazione delle regole rilevata come errori.
Clic
.Gli errori vengono segnalati nella visualizzazione dei messaggi. I testi dei messaggi sono contrassegnati con a
e iniziare con il numero di errore "SA<numero regola>".
Fare doppio clic sul messaggio SA0033: Variabili non utilizzate 'iVar_fb2out'.
L'attenzione si sposta sulla parte di dichiarazione del blocco funzione
fb2
e viene selezionata la variabile pertinente. La variabile viene dichiarata, ma non utilizzata. Ciò è verificato nella regola 33 (Variabili inutilizzate). Nel codice le sedi rilevanti sono sottolineate con una linea ondulata.Per testare l'esecuzione automatica dell'analisi, fare clic su Impostazioni scheda, selezionare il Eseguire automaticamente l'analisi statica dopo la compilazione opzione. Clic OK per uscire dalla finestra di dialogo.
. SulClic
.Una finestra di dialogo indica la presenza di errori di compilazione. Gli errori segnalati dall'analisi del codice vengono nuovamente visualizzati nella visualizzazione dei messaggi.
Clic Regole scheda. Ora cancella tutte le regole nella finestra di dialogo. Nel Oggetti inutilizzati categoria, attivare esplicitamente la Regola SA0035 (Variabili di input non utilizzate (35)) con un segno di spunta di colore arancione per segnalare un "avviso". Vedi la descrizione comando per il testo della regola: Questa regola corrisponde alle seguenti regole PLCopen: CP24). Clic OK per uscire dalla finestra di dialogo.
. Passa aClic
.L'analisi viene eseguita automaticamente. Nella visualizzazione dei messaggi vengono segnalati due errori Messaggi di analisi statica categoria:
§ SA0035: Ingresso non utilizzato 'iVar_fb1in2'
§ SA0035: Ingresso non utilizzato 'iVar_fb1in3'
Fare doppio clic sul messaggio e commentare o rimuovere la dichiarazione. Eseguire nuovamente l'analisi del codice.
Non viene visualizzato alcun messaggio di errore.
Verifica della conformità alle convenzioni di denominazione definite
Clic Convenzioni di denominazione scheda.
. Passa aViene visualizzata una tabella in una struttura ad albero divisa in categorie espandibili di variabili e blocchi di programma.
Espandi il Prefissi per variabili – Prefissi per i tipi categoria e nella Prefisso colonna, specificare
I
per INTERNO (14).Espandi il Prefissi per POU – Prefissi per il tipo POU categoria. Nel Prefissocolonna, specificare il
prog
per PROGRAMMA (122) Efb
per BLOCCO FUNZIONE (103).Seleziona il Il primo carattere dopo il prefisso deve essere una lettera maiuscola opzione. Cancella tutte le altre opzioni.
Clic
.Messaggio di errore:
NC0102: Nome non valido 'PLC_PRG': Previsto prefisso 'prog' perché PLC_PRG non ha il prefisso richiesto
Il primo carattere dopo il prefisso deve essere maiuscolo: 'ivar_fb1in2' Perché
ivar_fb1in2 : INT;
è dentrofb1
.NC0014: nome variabile non valido P_fSampleProperty: previsto prefisso 'i' perché questa variabile intera non ha il prefisso richiesto.
Controllo dei simboli proibiti
Scegli il comando scheda Simboli proibiti.
. Passa aUn editor di riga consente di specificare stringhe che non devono essere utilizzate nel codice.
Ad esempio, fare doppio clic sulla riga vuota e digitare la stringa non valida
PRO
direttamente. Fare doppio clic sulla riga vuota successiva e fare clic super aprire l'Assistente di input. Da Tipi standard, Selezionare VERO. Clic OK per uscire dalla finestra di dialogo.
Clic
.I messaggi di errore
Forbidden symbol 'REAL'
EForbidden symbol 'PRO'
vengono visualizzati nella visualizzazione dei messaggi. Fare doppio clic sul testo del messaggio per passare alla riga di codice pertinente.
Visualizzazione delle metriche
CODESYS Static Analysis esegue i test selezionati sul codice ed è possibile visualizzare i risultati in una vista.
Scegli il comando scheda metrica.
. Passa aLe metriche che CODESYS Static Analysis applicabili al codice sono elencati in una tabella.
Per questo esempio, attiva il Numero di variabili di input metrica e specificare l'intervallo di valori consentito: limite inferiore
1
e limite superiore2
.Attiva alcune altre metriche, ad esempio Dimensione del codice E Numero di chiamate.
Clic
.La vista include una tabella con una riga per ciascuna Unità di programma del programma di esempio. Per ogni metrica attivata, è presente 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, questo è almeno il PLC_PRG/Ingressi campo perché il numero di variabili di ingresso in questa POU è maggiore del limite superiore definito di
2
.