Rileva le assegnazioni alle istanze dei blocchi funzione. Nel caso di istanze con variabili puntatore o riferimento, queste assegnazioni sono potenzialmente rischiose.
Giustificazione: Si tratta di un avviso di prestazione. Quando un'istanza viene assegnata
a un'altra istanza, tutti gli elementi e i sottoelementi vengono copiati da un'istanza
all'altra. Anche i puntatori ai dati vengono copiati, ma non i loro dati di riferimento,
in modo che l'istanza di destinazione e l'istanza di origine contengano gli stessi
dati dopo l'assegnazione. A seconda delle dimensioni delle istanze, questo tipo di
incarico può durare a lungo. Ad esempio, se un'istanza deve essere passata a una funzione
per essere elaborata, è molto più efficiente passare un puntatore all'istanza. Se
si desidera copiare selettivamente i valori da un'istanza all'altra, è utile un metodo
di copia: inst_First.Copy_From(inst_Second).
Importanza: Medio
Esempio
PROGRAM PLC_PRG VAR inst_First : My_FB; inst_Second : My_FB; END_VAR inst_First(); inst_Second := inst_First; // SA0014 --> SA0014: Assignment of instances