ダイアログ: オプション: 自動フォーマッタ デバッグモード この機能は、 CODESYS インスタンスはデバッグ モードで起動されます。 これを行うには、次のコマンドライン呼び出しでインスタンスを起動します。 codesys.exe --debug シンボル: 関数 : IEC コードの自動フォーマットはこのダイアログで設定します。 電話 : ツール → オプション メニュー、 オートフォーマッ
属性:analysis この属性は、プログラミングオブジェクト全体の特定のルールを無効にして、それらがに適用されないようにします。 静的コード分析 考慮されません。ルール番号と前のマイナス記号( "-")を指定して、コーディングルールを非アクティブ化します。属性には、ルールをいくつでも指定できます。 挿入位置 :1行目のプログラミングブロックの宣言部分。 構文 : {attribute 'anal
SA0015:FB_Initを介したグローバルデータへのアクセス メソッドを介したグローバル変数への関数ブロックのアクセスを決定します FB_Init 。この変数の値は、初期化の順序によって異なります。 理由:ブロックのインスタンスの宣言ポイントによっては、ルールに違反した場合に初期化されていない変数にアクセスする可能性があります。 重要性:高い 例 27 . 例 VAR_GLOBAL g_xTe
属性:analysis:report-multiple-instance-calls 属性は、チェックの汎用モジュールを識別します 規則105 :この属性を持つ機能ブロックのみが、機能ブロックのインスタンスが複数回呼び出されているかどうかを確認するためにチェックされます。ルール105の場合 プロジェクト設定 が無効になっている場合、属性は効果がありません。 挿入位置 :機能ブロックの宣言部分の最初
SA0024: 型なしリテラル/定数 操作の一部である型なしリテラルを識別します 理由: 型指定されていないリテラルは、その使用法に従って自動的に型指定されます。場合によっては、次のような dw := ROL(DWORD#1, i); 、これにより、独自の説明を提供するために型付きリテラルを使用した方がよいという予期せぬ状況が発生する可能性があります。 重要度:低 例 35 . 例 PROGRAM
SA0102: 外部からのプログラム/FB 変数へのアクセス プログラムまたは機能ブロックのローカル変数への外部アクセスを決定します。 理由: CODESYS プログラムまたは機能ブロックのローカル変数への外部読み取りアクセスを有効にします。これは、データのカプセル化(データの非表示)の原則に違反し、IEC61131-3規格に準拠していません。 重要性:中 例 90 . 例 PROGRAM PLC
SA0161:パック構造のアンパック構造 パック構造で使用されるアンパック構造を決定します。 理由: コンパイラは通常、アンパックされた構造体を、構造体内のすべての要素への整列されたアクセスを許可するアドレスに設定します。この構造をパック構造で作成すると、整列アクセスは不可能になります。さらに、アンパックされた構造内の要素にアクセスすると、「不整列例外」が発生する可能性があります。 重要性:高い
SA0054:REAL / LREALを比較して等式/不等式 比較演算子かどうかを決定します = (平等)と <> (不等式)タイプのオペランド REAL また LREAL 比べる。 理由: REAL / LREAL 値は、IEEE 754 標準に従って浮動小数点数として実装されます。この標準は、特定の一見単純な 10 進数を正確に表現できないことを意味します。その結果、以下のように異なる表現が存
SA0125:初期化の参照変数 宣言部分の初期化に使用される参照変数を決定します。 理由: ポインターと参照は初期化に使用しないでください。ポインターが初期化されていない場合、アクセス違反が発生する可能性があります。 重要性:中 例 111 . 例 TYPE TESTSTRUCT : STRUCT xA : BOOL; xB : BOOL; END_STRUCT END_TYPE FUNCTION
ダイアログ:静的解析設定:ルール 関数 :ダイアログで、 ルール プロジェクトのソースコードの静的分析中にチェックされます。これに関する詳細情報: 静的コード分析を構成して実行する 詳細については、以下を参照してください。 静的コード分析を構成して実行する 電話 : ボタン 構成ダイアログを開く メニューで プロジェクト→プロジェクト設定 、 カテゴリー 静的コード分析 メニュー ビルド→静的分析