SA0017: ポインター変数への異常な代入 アドレスを持たないポインタへの割り当てを決定します(演算子 ADR またはポインタ変数)または定数 0 それは。 理由: ポインタに有効なアドレスではない値が割り当てられている場合、ポインタの逆参照により「アクセス違反例外」が発生します。 重要性:高い 例 29 . 例 PROGRAM PLC_PRG VAR pInt : POINTER TO INT
SA0018:異常なビットアクセス 符号付き変数へのビットアクセスを検出します。ただし、IEC 61131-3 規格では、ビット フィールドに対するビット アクセスとビット シフト操作のみが許可されています。 厳格なルールも参照してください SA0147 そして SA0148 。 理由:符号付きデータ型をビットフィールドとして使用しないでください。その逆も同様です。 IEC 61131-3規格では
SA0020:REAL変数への切り捨てられた値の割り当ての可能性 データ型変数の切り捨てられた値を含む可能性のある整数変数の演算を検出します REAL 割り当てられています。 理由:整数計算の結果が次の場合、静的コード分析でエラーが発生します REAL - また LREAL -変数が割り当てられます。プログラマーは、そのような割り当ての解釈が正しくない可能性があることに注意する必要があります。 l
SA0021:一時変数のアドレスの転送 非一時変数への一時変数(スタック上の変数)のアドレス割り当てを取得します。 理由:関数またはメソッドのローカル変数がスタック上に作成され、関数またはメソッドが処理されている間のみ存在します。メソッドまたは関数が処理された後にポインタがそのような変数を指している場合、このポインタを使用して未定義のメモリにアクセスしたり、別の関数の誤った変数にアクセスしたりでき
コマンド: IF ステートメントを反転する 関数 : このコマンドは、 IF のセマンティクスを変更せずにステートメントを作成します。 IF 声明。条件は否定されます。の声明は、 THEN そして ELSE 枝が入れ替わる。すべてのコメントは保持されます。 電話 : 下のコンテキストメニュー リファクタリング 指示 要件: カーソルが任意の場所に配置されている 内で の IF 声明。 表 2 .
コマンド: 現在のエディタの定数伝播の値を表示 シンボル: 関数 : このコマンドは静的コード分析を開始し、現在のエディターでのコードの定数伝播の測定値を計算します。ダイアログが開き、結果が視覚化されます。解析されたコードが一覧表示され、求められた測定値が表示されます。 電話 : ビルド → 静的解析 メニュー 要件 : ST 実装言語のプログラミング オブジェクトがエディターで開かれています。
コマンド:静的解析を実行します シンボル: 関数 :このコマンドは、アクティブなアプリケーションの静的コード分析を開始し、すべてのプログラミングブロックのメトリックをテーブルに表示します。 電話 :メニュー 作成→静的分析 コード分析をリード CODESYS Static Analysis コマンドによる、およびコマンドによるコード生成 ビルド→コードの生成 。分析結果は、カテゴリのメッセージウィ
コマンド:設定 関数 :コマンドはダイアログを開きます 設定静的分析 。 電話 :メニュー 作成→静的分析 要件 : その包み CODESYS Static Analysis がインストールされています。 プロジェクトが開いています このセクションの内容 :
コマンド: 標準メトリックの表示 シンボル: 関数 : このコマンドは、アクティブなアプリケーションの静的コード分析を開始します。すべてのプログラミング ブロックのデフォルトのメトリクスが計算され、画面上の表に表示されます。 標準指標 タブ。 電話 : ビルド → 静的解析 メニュー 詳細については、以下を参照してください。 指標を表示する メトリクス タブ: 標準メトリクス 例 11 . 例 ヒ
コマンド: 標準メトリクスを計算してエクスポートする 機能: エディターにメトリック テーブルを表示せずに、標準メトリックを直接計算してエクスポートします。標準のファイルダイアログでCSVエクスポートファイルの適切な名前を指定します。 呼び出し: このコマンドは、デフォルトではどのメニューでも使用できません。 あるいは、 標準メトリクスを表示する コマンドを使用してエディターにメトリクスを表示しま