检测功能块实例的分配。对于带有指针变量或引用变量的实例,这些赋值具有潜在风险。
理由这是一个性能警告。当一个实例被分配给另一个实例时,所有元素和子元素都会从一个实例复制到另一个实例。指向数据的指针也会被复制,但不会复制其引用数据,因此在赋值后,目标实例和源实例包含相同的数据。根据实例的大小,这种任务可能会持续很长时间。例如,如果需要将实例传递给函数进行处理,那么传递一个指向实例的指针会更有效。如果要有选择地将一个实例中的值复制到另一个实例中,那么复制方法就很有用:inst_First.Copy_From(inst_Second)
.
重要性:中型
示例
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