Finestra di dialogo "Impostazioni dell'analisi statica" - "Convenzioni di denominazione".Permalink

Funzione: Nella finestra di dialogo si definiscono i prefissi per i tipi di dati e gli ambiti delle variabili, nonché i prefissi per i POU e i tipi di dati definiti dall'utente (DUT). L'analisi statica verifica la conformità alle convenzioni di denominazione. Quando una convenzione non viene rispettata, l'analisi statica riporta un messaggio di errore nella vista «Messages».

Chiama:

  • Barra dei menu: «Progetto  Impostazioni progetto», «Analisi statica» categoria, «Aprire la finestra di dialogo di configurazione» collegamento

  • Barra dei menu: «Costruire  Analisi statica  Impostazioni»

Requisito:

  • Il pacchetto CODESYS Static Analysis è installato.

  • Un progetto è aperto.

I messaggi di errore sono visualizzati nel seguente formato: sa_icon_message ‎NC <prefix convention number> :‎‎ <message text>‎. NC sta per "Convenzione di denominazione". Ad esempio, il messaggio di errore "sa_icon_message«NC0102: Nome non valido...»" indica una violazione della convenzione di denominazione 102 per i POU di tipo ‎PROGRAM‎.

Si può usare il pragma ‎'naming'‎ per disattivare le convenzioni di denominazione per i singoli identificatori. Gli identificatori possono iniziare con qualsiasi cosa, non necessariamente con il prefisso.

«Filtro»

Campo di input per le stringhe da ricercare

Tabella con le convenzioni di denominazione

«Nomi»

Nodi ed elementi per i quali è possibile definire un prefisso.

Il numero tra parentesi dopo ogni elemento (ad esempio, «PROGRAMMA (102)») è il numero di convenzione di prefisso che viene riportato in caso di non conformità con una convenzione di denominazione.

«Prefisso»

Campo di input del prefisso

  • È possibile specificare più prefissi separandoli con una virgola.

    Esempio:

    «Prefisso per le POU», ‎PROGRAM (102)‎: ‎prog, PRG_‎

    «Prefisso per le POU», ‎FUNCTION (103)‎: ‎fun, FUN_‎

  • Le espressioni regolari (RegEx) sono possibili anche per i prefissi. A tal fine, è necessario aggiungere un ‎@‎.

    Esempio:

    Il nome deve iniziare con ‎x‎ e può contenere un carattere dell'ambito ‎a-dA-D‎: ‎@x[a-dA-D]‎.

  • Per le variabili di tipo «Alias» e le POU di tipo «Property», il prefisso può essere definito con il segnaposto ‎{datatype}‎.

«Prefissi per le variabili»

Nodo organizzativo per tutte le variabili per le quali è possibile definire un prefisso in base al tipo di dati o all'ambito.

«Prefissi per POU»

Nodo organizzativo per tutti i tipi di POU e gli ambiti di metodo per i quali è possibile definire un prefisso.

«Prefissi per i DUT»

Nodo organizzativo per i tipi di dati DUT (struttura, enumerazione, alias o unione) per i quali è possibile definire un prefisso

«Prefissi per tipi personalizzati»

Nodo organizzativo per tipi speciali personalizzati (in particolare quelli provenienti da librerie)

È possibile estendere l'elenco con le convenzioni: Fare clic sullo spazio vuoto sottostante. Nella finestra di dialogo «Input Assistant», specificare il nome di un tipo personalizzato o selezionare un tipo personalizzato.

Per eliminare una convenzione, selezionarla e premere il tasto [Del].

Nota: Queste convenzioni hanno la priorità sui prefissi definiti con l'attributo ‎{attribute 'nameprefix' := '<prefix>'}‎.

Opzioni

«Il primo carattere dopo il prefisso deve essere una lettera maiuscola.»

_cds_icon_option_activated: L'analisi statica segnala un errore per una variabile quando il primo carattere del nome della variabile dopo il prefisso definito non è una lettera maiuscola.

«Combinare il prefisso dell'ambito con il prefisso del tipo di dati»

_cds_icon_option_activated: Come spazio dei nomi, una variabile deve avere il prefisso definito seguito dal prefisso definito per il suo tipo di dati.

Esempio: Sono definiti i seguenti prefissi: ‎g_‎ per «VAR_GLOBAL», e ‎r‎ per il tipo di dati «REAL». L'analisi del codice segnala errori per le variabili globali REAL che non hanno il prefisso ‎g_r‎.

_cds_icon_option_deactivated: Se per una variabile vengono specificate delle convenzioni per lo spazio dei nomi, queste convenzioni vengono prese in considerazione. Di conseguenza, le convenzioni sui tipi di dati vengono ignorate.

Esempio: Sono definiti i seguenti prefissi: ‎g_‎ per «VAR_GLOBAL», e ‎r‎ per il tipo di dati «REAL». L'analisi del codice riporta esclusivamente errori per le variabili globali ‎REAL‎ che non hanno il prefisso ‎g_‎.

«Prefissi ricorsivi per tipi di dati combinabili»

_cds_icon_option_activated: Le variabili dei tipi di dati combinati devono avere prefissi composti che seguono le convenzioni di denominazione definite.

Esempio:

‎ppiVariable : POINTER TO POINTER TO INT;‎

Il prefisso ‎p‎ è stato definito per le variabili del tipo di dati ‎POINTER‎, mentre il prefisso ‎I‎ è stato definito per il tipo di dati ‎INT‎. L'analisi statica segnala errori per tutte le variabili di tipo ‎POINTER TO POINTER TO INT‎ che non hanno il prefisso ‎ppi‎.

‎refaiVar : REFERENCE TO ARRAY[1..3] OF INT;‎

Il prefisso ‎ref‎ è stato definito per il tipo di dati ‎REFERENCE TO‎, il prefisso ‎a‎ per un array e il prefisso ‎I‎ per il tipo di dati ‎INT‎. L'analisi statica segnala errori per tutte le variabili di tipo ‎REFERENCE TO ARRAY[1..3] OF INT‎ che non hanno il prefisso ‎refai‎.

Esempio

La seguente convenzione di denominazione corrisponde in gran parte alle raccomandazioni descritte nel capitolo "Identificatori".

_san_prefixes_for_variables_types
_san_prefixes_for_variables_scopes
_san_prefixes_for_pous_and_duts

Esempio

La convenzione di denominazione (1) si riferisce al POU standard ‎TON‎. Di conseguenza, le dichiarazioni della libreria speciale POU vengono controllate per il prefisso "ton_". Fare clic sullo spazio vuoto (2) per inserire altre convenzioni di denominazione.

_san_img_prefixes_for_user_defined_types