ダイアログ:プロジェクト設定:静的分析ライト
シンボル: 
関数:ダイアログは、ライトバージョンで実行されるチェックをアクティブにします。 CODESYS コードが生成されるたびの静的分析。
電話: 指図、 静的分析ライト カテゴリー
ヒント
コードにマークを付けることで、静的コード分析からコード行を除外できます。 {analysis ...} プラグマまたは {attribute 'analysis' := '...'} プラグマ。
詳細については、以下を参照してください。 コードを静的に分析する
追加のコンパイルチェック
| SA0033:未使用の変数 | 宣言されているが、コンパイルされたプログラムコード内で使用されていない変数を検出します GVL変数の場合:プロジェクトに複数のアプリケーションが存在する場合、現在アクティブなアプリケーションの下にあるオブジェクトのみが影響を受けます。アプリケーションが1つしかない場合は、  | 
| SA0028:重複するメモリ領域 | 2つ以上の変数が同じメモリを予約しているコード行を検出します たとえば、これは次の宣言で発生します。  | 
| SA0006:いくつかのタスクからの書き込みアクセス | 複数のタスクによって書き込まれる変数を検出します | 
| SA0004:出力での複数の書き込みアクセス | 複数の場所に書き込まれた出力を検出します 注:出力変数( 注:プラグマはこのルールを無効にすることはできません。 | 
| SA0027:識別子の複数の使用 | プロジェクトのスコープ内の変数またはオブジェクト(POU)の名前/識別子の複数の使用を検出します . 次のケースが検出されます。 
 | 
| SA0167:一時的なFunctionBlockインスタンスを報告します | このチェックは、一時変数として宣言されている関数ブロックインスタンスを検出します。これは、メソッドまたは関数で宣言されているインスタンスに影響します。  | 
| SA0175:文字列に対する疑わしい操作 | デフォルトでは非アクティブ UTF-8エンコーディングが疑われるコードの場所を検出します 次の構成が含まれています。 
 チェックの結果によっては、有効にしないことをお勧めします STRINGのUTF8エンコーディング コンパイルオプション。 詳細については、以下を参照してください。 コンパイルオプション | 
SA0003:空のステートメント
; (* Comment *); iVar;
SA0006:同時アクセス
FUNCTION_BLOCK ADD_FB g_iTemp1 := g_iTemp1 + INT#1;
PROGRAM PLC_PRG //controlled by MainTask g_iTemp1 := g_iTemp1 + INT#2; g_xTemp2 := g_iTemp1 > INT#10;
PROGRAM PLC_PRG_1 //controlled by SubTask g_iTemp1 := g_iTemp1 - INT#3; g_xTemp2 := g_iTemp1 < INT#-10;
SA0004:出力での複数の書き込みアクセス
VAR_GLOBAL
    g_xVar AT %QX0.0 : BOOL ;
    g_iTest AT %QW0 : INT ;
END_VARPROGRAM PLC_PRG
IF iCondition < INT#0 THEN
    g_xVar := TRUE;
    g_iTest := INT#12;
END_IFCASE iCondition OF
    INT#1:
        g_xVar := FALSE;
    INT#2:
        g_iTest := INT#11;
    ELSE
        g_xVar := TRUE;
        g_iTest := INT#9;
END_CASESA0006:いくつかのタスクからの書き込みアクセス
FUNCTION_BLOCK ADD_FB g_iTemp1 := g_iTemp1 + INT#1;
PROGRAM PLC_PRG // Controlled by MainTask g_iTemp1 := g_iTemp1 + INT#2; g_xTemp2 := g_iTemp1 > INT#10;
PROGRAM PLC_PRG_1 //Controlled by SubTask g_iTemp1 := g_iTemp1 - INT#3; g_xTemp2 := g_iTemp1 < INT#-10;
SA0027:名前の複数の使用
PROGRAM PLC_PRG
VAR
    ton : INT; // error SA0027
END_VARSA0029:宣言とは異なるコードの表記
A PLC_PRG POUと fnc (機能)POUはデバイスツリーに存在します。
PROGRAM PLC_PRG
VAR
    iVar:INT;
    _123test_var_: INT;
END_VAR
ivar := iVar + 1; // notation different to that in the declaration part -> SA0029 _123TEST_var_ := _123test_var_INT; // notation different to that in the declaration part -> SA0029 Fnc(); // notation different to that in the devices tree -> SA0029
SA0167:一時的なFunctionBlockインスタンスを報告します
PROGRAM PLC_PRG
VAR
END_VAR
VAR_TEMP
    yafb: AFB;
END_VAR
FUNCTION Fun : INT
VAR_INPUT
END_VAR
VAR
    funafb: AFB;
END_VARMETHOD METH: INT
VAR_INPUT
END_VAR
VAR
    methafb: AFB;
END_VAR詳細については、以下を参照してください。 コードを静的に分析する