Ermittelt Zuweisungen auf Funktionsbaustein-Instanzen. Bei Instanzen mit Pointer- oder Referenzvariablen können diese Zuweisungen riskant sein.
Begründung: Dies ist eine Performance-Warnung. Wenn eine Instanz einer anderen Instanz
zugewiesen wird, dann werden alle Elemente und Unterelemente von der einen Instanz
in die andere kopiert. Pointer auf Daten werden mitkopiert, jedoch nicht deren referenzierte
Daten, so dass die Zielinstanz und die Quellinstanz nach der Zuweisung die gleichen
Daten enthalten.
Je nach Größe der Instanzen kann eine solche Zuweisung sehr lange dauern.
Wenn eine Instanz beispielsweise zur Bearbeitung an eine Funktion übergeben werden
soll, dann ist es sehr viel performanter, einen Pointer auf die Instanz zu übergeben.
Will man selektiv Werte von einer Instanz in eine andere kopieren, dann kann eine
Kopiermethode sinnvoll sein:
inst_First.Copy_From(inst_Second)
Wichtigkeit: Mittel
Beispiel
PROGRAM PLC_PRG VAR inst_First : My_FB; inst_Second : My_FB; END_VAR inst_First(); inst_Second := inst_First; // SA0014 --> SA0014: Zuweisung von Instanzen