检测被多次调用的功能块实例。为此,功能块必须使用 pragma{attribute 'analysis:report-multiple-instance-calls'}
进行标记。
理由有些功能块的设计方式使其在循环中只能被调用一次。该测试可检查是否在多个地点进行通话。
重要性:低
PLCopen 规则:CP16 / CP20
示例
// {attribute 'analysis:report-multiple-instance-calls'} Deactivated FUNCTION_BLOCK FB_DoA VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR iA : INT; END_VAR iA := iA + 1; {attribute 'analysis:report-multiple-instance-calls'} FUNCTION_BLOCK FB_DoB VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR iB : INT; END_VAR iB := iB +1; PROGRAM PLC_PRG VAR fbA : FB_DoA; fbB : FB_DoB; ND_VAR fbA(); fbB(); // SA0105 fbA(); fbB(); // SA0105 --> SA0105: Instance 'fbB' called more than once