La versione 1.1 di EcoStruxure Machine Expert non supporta i controllori M258, LMC058 e LMC078.

Static Analysis Light

Panoramica

La funzione di analisi statica verifica nel codice sorgente di un progetto la presenza di deviazioni da determinate direttive di codifica prima di scaricare il progetto nel sistema di destinazione. Questo comportamento segue l'idea di base dello strumento di analisi lint.

Definire l'insieme desiderato di regole nella finestra di dialogo Impostazioni progetto > Static Analysis Light.

NOTA: Il controllo viene eseguito automaticamente a ogni generazione del codice.

Le deviazioni dalle regole vengono visualizzate come messaggi di categoria Crea nella vista Messaggi. I numeri di errore vengono visualizzati come SA<numero>.

NOTA: L'analisi viene eseguita solo sul codice dell'applicazione del progetto corrente. Le librerie non sono prese in considerazione.

NOTA: Per le variabili GVL: se nel progetto sono presenti più applicazioni, vengono controllati solo gli oggetti sotto l'applicazione attiva corrente. Se nel progetto è presente solo un'applicazione, vengono controllati anche eventuali oggetti nella raccolta di POU.

Pragma e attributo per Static Analysis Light

Con l'aiuto delle istruzioni pragma, è possibile escludere parti del codice dal controllo.

Prerequisito: occorre attivare le regole nelle Impostazioni progetto.

NOTA: Non è possibile attivare tramite pragma più accessi in scrittura sull'uscita.

Pragma {analysis ...}

È possibile utilizzare il pragma {analysis ...} per disattivare particolari regole di codifica per le successive righe di codice. Per questo scopo, posizionarlo due volte: nella riga sopra il codice interessato (disattivando) e nella riga sotto il codice interessato (riattivando); ogni numero della regola o delle regole da disattivare deve essere specificato facendolo precedere da un segno meno () per disattivare o da un segno più (+) per riattivare. In base alla regola, è possibile utilizzare il pragma nella parte di dichiarazione o nella parte di implementazione di un oggetto di programmazione.

Sintassi

{analysis <sign><rule number>|,<further sign / rule number combinations separated by commas>}

Esempio

La regola 24 viene disattivata per due righe (ossia non è necessaria qui la scrittura, ad esempio, nTest:=DINT#99) e in seguito riattivata:

{analysis -24}
nTest := 99;
iVar := INT#2;
{analysis +24}

Specifica di più regole:

{analysis -10, -24, -18}

Attributo {attribute 'analysis' := '...'}

È possibile utilizzare l'attributo {attribute 'analysis' := '<sign><rule number>'} nella parte di dichiarazione per attivare o disattivare regole particolari per un oggetto di programmazione completo:

Sintassi

{attribute 'analysis' := '<sign><rule number>|,<further rule numbers separated by commas>'}

Esempio

Le regole 33 e 31 vengono disattivate per la struttura completa:

{attribute 'analysis' := '-33, -31'}
TYPE My_Structure :
STRUCT
    iLocal : INT;
    uiLocal : UINT;
    udiLocal : UDINT;
END_STRUCT
END_TYPE

La regola 100 è disattivata per l'array:

{attribute 'analysis' := '-100'}
big: ARRAY[1..10000] OF DWORD;