How to change a library ¶ Note Compatibility: Compatibility of two libraries usually means that they react in the same way according to the requirements of an application. Important After changing a l
MEMORY_AREA ¶ Global Enum Type __SYSTEM.MEMORY_AREA {attribute 'qualified_only'} TYPE MEMORY_AREA : ( MEM_UNKNOWN := -1 , MEM_MEMORY := 0 , MEM_INPUT := 1 , MEM_OUTPUT := 2 , MEM_RETAIN := 3 , MEM_GLO
属性'naming' 属性は、によって使用されるコード行を識別します 命名規則の分析 除外されます。コード分析が中断されるコードの最初の行の前に、プラグマ属性がオンになっています off 、最後の行の後 on 割り当てられました。いつ omit 割り当てられると、コードの次の行のみが無視されます。 挿入位置 :非アクティブ化:関連する行の上のPOUおよびDUTの宣言部分。アクティベーション:関連す
SA0024: 型なしリテラル/定数 操作の一部である型なしリテラルを識別します 理由: 型指定されていないリテラルは、その使用法に従って自動的に型指定されます。場合によっては、次のような dw := ROL(DWORD#1, i); 、これにより、独自の説明を提供するために型付きリテラルを使用した方がよいという予期せぬ状況が発生する可能性があります。 重要度:低 例 35 . 例 PROGRAM
SA0042:異なるアクセスパスの使用 同じ変数に対する異なるアクセスパスの使用を検出します。 理由:同じ要素へのアクセスが異なると、プログラムの可読性と保守性が低下します。一貫して使用することをお勧めします {attribute 'qualified-only'} ライブラリ、グローバル変数リスト、および列挙型の場合。これにより、完全に修飾されたアクセスが強制されます。 重要度:低 例 50 .
SA0107:正式なパラメータがありません 正式なパラメーターが欠落しているかどうかを判別します。 理由: 呼び出しで仮パラメータを指定すると、コードが読みやすくなります。 重要度:低 例 94 . 例 FUNCTION FUNA : BOOL VAR_INPUT bDo : BOOL; bInit : BOOL; bManual : BOOL; END_VAR VAR iInit : INT;
SA0061:ポインタの異常な操作 タイプの変数に対する操作を決定します POINTER TO それはしません = (平等)、 <> (不平等)、 + (追加)または ADR それは。 の CODESYS ポインタ演算は一般的に許可されており、賢明に使用することもできます。したがって、整数値を持つポインターの追加は、ポインターに対する通常の操作として分類されます。これにより、ポインタを使用して可変
SA0147:異常な移動操作-strict ビットフィールドデータ型に適用されないビットシフト操作を決定します( BYTE 、 WORD 、 DWORD 、 LWORD ) それぞれ。 理由:IEC 61131-3規格では、ビットフィールドデータ型へのビットアクセスのみが許可されています。 the CODESYS ただし、コンパイラは、符号なしデータ型を使用したビットシフト演算も許可します。 重要
クローズドブランチ 閉じたブランチはLDでのみ使用可能であり、開始点と終了点が含まれています。論理要素の並列分析を実装するために使用されます。 . 閉じたブランチの挿入 接触を平行に挿入 (下) 接触を平行に挿入 (上) 分岐開始点を設定 分岐終点を設定 連絡先で閉じたブランチ ボックスまたは複数の連絡先にマークを付けて実行する場合 連絡先を並列に挿入 コマンドを実行し、次に平行分岐を1本の垂直線
設計と開発 クラス図でグラフィカルにプログラムする場合、変更により、 POU ビューと デバイス 見る。新しいオブジェクトが基本構造に挿入され、既存のオブジェクトが適応されます。たとえば、クラス図を介してPOUに宣言を挿入できます。 これにより、クラス図でアプリケーションのアーキテクチャを設計し、適切なPOUを同期的に取得できます。次に、POUの実装を補足します。 次の手順では、アプリケーションの