SA0123:INI、ADR、またはBITADRの使用 の使用を決定します CODESYS Static Analysis -特定の演算子 INI 、 ADR と BITADR 。 理由: CODESYS -特定の演算子は、コードの移植性を妨げます。 重要度:低 例 106 . 例 PROGRAM PLC_PRG VAR uiTemp : UINT; TempVarInFUNC : DWORD;
SA0147:異常な移動操作-strict ビットフィールドデータ型に適用されないビットシフト操作を決定します( BYTE 、 WORD 、 DWORD 、 LWORD ) それぞれ。 理由:IEC 61131-3規格では、ビットフィールドデータ型へのビットアクセスのみが許可されています。 the CODESYS ただし、コンパイラは、符号なしデータ型を使用したビットシフト演算も許可します。 重要
SA0148:異常なビットアクセス-strict ビットフィールドのデータ型に基づかないビットアクセスを決定します( BYTE 、 WORD 、 DWORD 、 LWORD ) それぞれ。 IEC 61131-3規格では、ビットフィールドデータ型へのビットアクセスのみが許可されています。 the CODESYS ただし、コンパイラは符号なしデータ型へのビットアクセスも許可します。 重要度: 低 例
SA0172: 配列の境界外へのアクセス試行の可能性 配列の境界外の配列インデックスへのアクセスの可能性を検出します。 多くの場合、配列インデックスの範囲を超えます。 FOR インデックス変数を使用して配列インデックスにアクセスするループ。 重要度: 高 例 129 . 例 PROGRAM Test VAR_TEMP iIndex: INT; arUSINT: Array[0..10] OF IN
SA0175: 文字列に対する不審な操作 注記 このルールを常に有効にしないでください。 UTF-8 エンコーディングに変換するときにチェックする必要があるコード内の場所を見つけるために必要な場合にのみ、ルールを有効にします。 プロジェクトオプションかどうかをチェックします STRING の UTF-8 エンコーディング 有効にすることができます。これは、疑わしい操作を含むコードの場所が見つからな
SA0180: インデックス範囲が配列全体をカバーしていません インデックス範囲が不完全にカバーされている配列を検出します 配列はループ内で処理されることが多く、ループ インデックスによって配列にインデックスが付けられるため、配列のすべてのコンポーネントが隙間なくジャンプされます。これは、ループ インデックスと配列インデックスがすべての次元で同じである場合に与えられます。インデックス範囲が配列を完
メトリクス 提供されるメトリクスの詳細な説明 CODESYS Static Analysis ヒント の コードサイズ 、 可変サイズ 、 スタックサイズ 、 そして コール数 メトリクスは、プロジェクトに統合されているライブラリからの POU についてのみレポートされます。 メトリクス: コードサイズ (バイト数) カテゴリ: 有益、効率 ファンクション ブロックがアプリケーション コードに寄与
タブ: EtherNet/IP アダプター–一般 のデバイスエディタのタブ EtherNet/IP アダプタには、ネットワーク通信の基本設定が含まれています。 表 6 . アドレス設定 IPアドレス の識別のためのアドレス EtherNet/IP アダプタデバイス。 表 7 . BOOTP ブートストラッププロトコル このオプションは、NetXスキャナーのアダプターでのみ使用できます。 Macアド
タブ: EtherNet/IP アダプター–接続 このタブの上部には、構成されているすべての接続のリストが表示されます。 EDSファイルに「排他的所有者」接続がある場合、アダプターを追加するときに自動的に挿入されます。これらの接続の構成データは、ダイアログの下部で変更できます。 構成データはEDSファイルで定義されています。アダプターへの接続が確立されると、データが送信されます。 RPI(ミリ秒)
ダイアログ:新しい接続 オブジェクト:EtherNet / IPアダプター 一般的な接続(自由に構成可能) ダイアログには、新しい接続のパラメータが含まれています。 表 10 . 接続パスの設定 自動生成されたパス The 接続パス の値から自動的に生成されます 構成アセンブリ 、 アセンブリの消費 、 と アセンブリの作成 。 ユーザー定義のパス The 接続パス 対応する入力フィールドで手動で