Skip to main content

SA0015:FB_Initを介したグローバルデータへのアクセス

メソッドを介したグローバル変数への関数ブロックのアクセスを決定します FB_Init。この変数の値は、初期化の順序によって異なります。

理由:ブロックのインスタンスの宣言ポイントによっては、ルールに違反した場合に初期化されていない変数にアクセスする可能性があります。

重要性:高い

28.
VAR_GLOBAL
    g_xTest1 : BOOL;
    g_iTest3 : INT;
END_VAR
METHOD PUBLIC fb_init : BOOL
VAR_INPUT
    (* If TRUE, the retain variables are initialized (warm start / cold start) *)
    bInitRetains : BOOL; 
    (* If TRUE, the instance afterwards gets moved into the copy code (online change) *)
    bInCopyCode : BOOL;  
END_VAR
g_xTest1 := NOT g_xTest1;       // SA0015
g_iTest3 := g_iTest3 + INT#1;   // SA0015

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

  • sa_icon_message.png SA0015: ファンクション ブロック 'POU' の FB_Init メソッドがグローバル データにアクセスします