コマンド: IF ステートメントを反転する 関数 : このコマンドは、 IF のセマンティクスを変更せずにステートメントを作成します。 IF 声明。条件は否定されます。の声明は、 THEN そして ELSE 枝が入れ替わる。すべてのコメントは保持されます。 電話 : 下のコンテキストメニュー リファクタリング 指示 要件: カーソルが任意の場所に配置されている 内で の IF 声明。 表 2 .
CODESYS Development System
コマンド:ログイン シンボル: キーボードショートカット: 年 + F8 関数 :このコマンドは、アプリケーションをターゲットシステム(コントローラーまたはシミュレートされたデバイス)に接続し、オンライン操作を確立します。 電話 :メニュー オンライン 、オブジェクトのコンテキストメニュー 応用 要件 :アプリケーションにエラーがなく、通信設定が構成されています。 通信設定が正しくない場合は、ダイ
メトリクス 提供されるメトリクスの詳細な説明 CODESYS Static Analysis ヒント の コードサイズ 、 可変サイズ 、 スタックサイズ 、 そして コール数 メトリクスは、プロジェクトに統合されているライブラリからの POU についてのみレポートされます。 メトリクス: コードサイズ (バイト数) カテゴリ: 有益、効率 ファンクション ブロックがアプリケーション コードに寄与
ダイアログ: 入力設定 シンボル: 関数 : このダイアログでは、入力イベントに入力アクションを割り当て、入力アクションを設定できます。 電話 : 構成、設定 ボタンの 入力構成 財産 要件 : エディターで要素が選択されています。 すべての要素プロパティが利用可能ですか? すべてのプロパティは、 高度な オプションまたは すべてのカテゴリ フィルターイン プロパティ 。 入力アクション:ユーザー
SFC でのプログラミング SFC で POU を作成する デバイス ツリーでアプリケーションを選択します。 クリック プロジェクト → オブジェクトの追加 → POU . の POU を追加 ダイアログが開きます。 名前を指定し、 シーケンシャル ファンクション チャート (SFC) 実装言語。 クリック 追加 . CODESYS POU をデバイス ツリーに追加し、エディタで開きます。 ステッ
最初のステップ プログラム PLC_PRG PROGRAM PLC_PRG VAR iVar : INT; rSin : REAL; rVar : REAL; END_VAR iVar := iVar + 1; iVar := iVar MOD 33; rVar := rVar + 0.1; rSin := 30 * SIN(rVar); 要件:アプリケーションはプログラムで実行されます PLC_
SA0040:ゼロによる除算の可能性 ゼロ除算が発生する可能性のあるコードを判別します。 正当化: による除算 0 エラーが発生します。除算する変数は常に最初に 0 であるかどうかをチェックする必要があります。 重要性:高い 例 48 . 例 VAR_GLOBAL g_iVar AT %QW1 : INT; END_VAR PROGRAM PLC_PRG VAR iCounter : INT; i
SA0043: 1 つの POU のみでのグローバル変数の使用 単一のビルディングブロックでのグローバル変数の使用を検出します。 理由: 1 つの場所でのみ使用されるグローバル変数も、その場所でのみ宣言する必要があります。 重要性:中 PLCopenルール:CP26 例 51 . 例 VAR_GLOBAL g_xVar AT %QX0.0 : BOOL ; g_iTest AT %QW1 : IN
SA0105:複数のインスタンス呼び出し 複数回呼び出されるファンクションブロックのインスタンスを検出します。この目的のために、関数ブロックは次のプラグマでマークされる必要があります。 {attribute 'analysis:report-multiple-instance-calls'} 理由: 一部の機能ブロックは、サイクル内で 1 回だけ呼び出せるように設計されています。このテストでは、複
SA0057:小数点以下の桁数が失われる可能性 小数点以下の桁数が失われる可能性のある命令を決定します。 理由:次の種類のコードの一部: diTemp2 := 1 rTemp1 := TO_REAL(diTemp2 / DINT#2) 誤解を招く可能性があります。このコード行の作成者または読者は、分割が次のようになると想定する場合があります。 REAL -実行された操作と結果はこの場合になります