Skip to main content

SA0102: 外部からのプログラム/FB 変数へのアクセス

プログラムまたは機能ブロックのローカル変数への外部アクセスを決定します。

理由: CODESYS プログラムまたは機能ブロックのローカル変数への外部読み取りアクセスを有効にします。これは、データのカプセル化(データの非表示)の原則に違反し、IEC61131-3規格に準拠していません。

重要性:中

91.
PROGRAM PLC_PRG
VAR
        iCounter : INT;
        afb_Instance : AFB;
        bfb_Instance : BFB;
END_VAR
iCounter := A_PRG.iLocal;                               //  SA0102
iCounter := bfb_Instance.iLocal;                 //  SA0102
A_PRG();
FUNCTION_BLOCK AFB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
        iLocal: INT;
END_VAR
METHOD METH : INT
VAR_INPUT
END_VAR
iLocal := iLocal + 1;
FUNCTION_BLOCK BFB EXTENDS AFB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
END_VAR
METHOD METH : INT
VAR_INPUT
END_VAR
iLocal := iLocal + 1;
PROGRAM A_PRG
VAR
        iLocal: INT;
END_VAR
iLocal := iLocal + 1;

での出力 メッセージ ビュー:

  • sa_icon_message.png SA0102: プログラム/FB変数「iLocal」への外部からのアクセス