SA0048: Dichiarazioni AT su indirizzi direttiPermalink

Rileva le dichiarazioni ‎AT‎ sugli indirizzi diretti

Giustificazione: L'uso di indirizzi diretti nel codice è problematico perché l'indirizzo compare in più punti: prima nella configurazione del controllore, dove viene definita l'assegnazione di un oggetto fisico a un indirizzo, e poi nel programma, dove le variabili vengono assegnate a questi indirizzi. Se gli indirizzi vengono spostati perché la configurazione è stata modificata, è necessario riassegnare le variabili agli indirizzi in una posizione completamente diversa del programma. Ciò è causa di errori e comporta una minore leggibilità e manutenibilità del codice. Pertanto, è meglio eseguire tutte le assegnazioni nella mappatura I/O dell'editor del dispositivo.

Importanza: Alto

Regola PLCopen: N1 / CP1

Nota: Si consiglia di utilizzare gli indirizzi diretti SOLO nella scheda «I/O Mapping» dell'editor del dispositivo.

Esempio

PROGRAM PLC_PRG
VAR
	xVar1	AT	%IX0.0	: BOOL;
	byVar1	AT	%IB1	: BYTE;
	xVar2	AT	%QX0.0	: BOOL;
END_VAR

--> SA0048: Declaration uses direct address '%IX0.0'
--> SA0048: Declaration uses direct address '%IB1
--> SA0048: Declaration uses direct address '%QX0.0'