SA0121: Missing VAR_EXTERNAL declarations
Detects the use of a global variable in function blocks without them being declared there as VAR_EXTERNAL
Justification: According to the IEC 61131-3 standard, access to global variables is permitted only by an explicit import by means of a VAR_EXTERNAL declaration.
Importance: Low
PLCopen rule: CP18
Example 104. Example
VAR_GLOBAL
iGlob1 : INT;
END_VARPROGRAM PLC_PRG
VAR
ivar : INT;
END_VAR
ivar := iGlob1; // SA0121
Output in the Messages view:
SA0121: VAR_EXTERNAL declaration required for variable 'iGlob1'
Example 105. Example for error avoidance
VAR_GLOBAL
iGlob1:INT;
END_VARPROGRAM PLC_PRG
VAR
ivar:INT;
END_VAR
VAR_EXTERNAL
iGlob1:INT;
END_VAR
ivar:=iGlob1; // OK