概要
CFCエディターは、Continuous Function Chart(CFC)言語でオブジェクトをプログラミングするためのグラフィカルエディターです。連続機能チャートは、IEC 61131-3で定義された言語ではありませんが、IEC開発環境で一般的に受け入れられている拡張機能です。
後 CODESYS CFC がインストールされている場合、2つの実装言語を使用できます。 連続機能チャート(CFC) と 連続機能チャート(CFC)-ページ指向。の中に POUを追加する ダイアログでは、CFC言語を選択できます 実装言語 リスト。
各言語には独自のエディターがありますが、要素と機能は非常に似ています。そこで、ボックスを自由にまたはページ指向に配置し、それらを接続線で相互接続して信号フロー図(データフロー図)を形成することにより、ソースコードをグラフィカルにプログラムします。
POUには、接続されていない要素としてグラフィカルに表される複数の独立したデータフローを含めることができます。さらに、フィードバックが許可されます。 CFC POUの実行順序は、データフローに基づいています。
注記
POUを作成するときは、実装言語にコミットします。その後、を切り替えることはできません 連続機能チャート(CFC) と 連続機能チャート(CFC)-ページ指向 実装言語。
機能性
要素と接続線を使用したコードのグラフィカルプログラミング
インスタンスと変数を編集領域にドラッグします
接続線の自動ルーティング
自動リンク
コントロールポイントによる接続線の固定
衝突検出
接続マークの入力支援
オンラインモードでの値の強制と書き込み
矢印キーを使用した選択の移動
ピンを外さないPOUの表示を減らす
データフローによる自動実行順序
POUの実行順序は、テキストベースおよびネットワークベースのエディタで一意に決定されます。ただし、CFCエディターでは要素を自由に配置できるため、実行順序は最初は一意ではありません。このために、 CODESYS データフローを使用して実行順序を決定し、複数のネットワークの場合は、要素のトポロジ上の位置を使用します。上位の要素とネットワークは、上から下、左から右に並べ替えられます。このように、実行順序は一意であり、時間とサイクルによって最適化された状態でPOUが処理されるようにします。
現在の実行順序をチャートに一時的に表示できます。フィードバックを使用してネットワークをプログラムする場合、フィードバックループの開始点として要素を定義できます。
CFCオブジェクトの処理順序を明示的に編集することもできます。これを行うには、 自動データフローモード CFCオブジェクトのプロパティ 明示的な実行順序モード。このモードでは、メニューコマンドを使用して実行順序を編集するオプションがあります。
前 CODESYS V3.5 SP15では、POUごとに実行順序を明示的に定義する必要がありました。モード切り替えはありませんでした。
データフロー
データフローは、どのプログラミングオブジェクトでデータが読み取られたり書き込まれたりする時系列です。 POUは、任意の数のデータフローを処理できます。これらのデータフローは、互いに独立して実行することもできます。
実行順序の表示
デフォルトでは、CFCオブジェクトの実行順序は自動的に決定されます。 The 自動データフローモード このためにプロパティが選択されています。自動的に決定された実行順序をCFCエディターで一時的に表示することができます。
を使用して新しいプロジェクトを作成します 標準プロジェクト テンプレートと名前を指定します
Minimal
例えば。機能ブロックを使用してアプリケーションを拡張します
FB_DOIt
の中に ST 次のような入力と出力を持つ実装言語。FUNCTION_BLOCK FB_DoIt VAR_INPUT iAlfa : INT; iBravo: INT; sCharlie : STRING := 'Charlie'; xItem : BOOL; END_VAR VAR_OUTPUT iResult : INT; sResult : STRING; xResult : BOOL; END_VAR VAR END_VAR iResult := iAlfa + iBravo; IF xItem = TRUE THEN xResult := TRUE; END_IF
機能ブロックを作成します
ExecuteCFC
の中に CFC 実装言語は次のとおりです。PROGRAM ExecuteCFC VAR fb_DoIt_0: FB_DoIt; fb_DoIt_1: FB_DoIt; iFinal_1: INT; iFinal_0: INT; xFinal: BOOL; END_VAR
CFCで最近作成されたプログラミングオブジェクトでは、自動データフローモードが選択されています。プログラミングオブジェクトの実行順序は、内部で最適に定義されています。
クリック
。オブジェクトの実行順序が表示されます。ボックスと入力にはそれに応じた番号が付けられ、時系列の処理順序が反映されます。 CFCエディターでもう一度クリックするとすぐに番号が非表示になります。
フィードバックネットワークでの実行順序の決定
フィードバック付きのCFCプログラムを作成します。
POU
PrgPositiveFeedback
カウントします。PROGRAM PrgPositiveFeedback VAR iResult: INT; END_VAR
フィードバック内の要素を選択します。
選択した要素は赤で強調表示されます。
クリック
。実行時に、このPOUが最初に処理されます。フィードバックの開始POUが定義され、
シンボル。実行順序が変更され、選択された要素の番号は0になります(これはフィードバックの最小番号です)。
開始POUを再度選択します。
クリック CFC→実行順序→フィードバック開始の設定。
POUは開始POUとして選択されていません。
実行順序は内部で定義されます。
クリック CFC→実行順序→実行順序の表示。
データフロー別の実行順序が表示されます。
実行順序を明示的に定義する
を選択すると、CFCオブジェクトの自動定義された実行順序を明示的に変更できます。 明示的な実行順序モード オブジェクトのオプション。
の中に デバイス また POU 表示し、CFCオブジェクトのコンテキストメニューを開いて、をクリックします プロパティ。の中に プロパティ ダイアログで、 CFC実行順序 タブ。
The 実行順序 リストボックスには、現在選択されているモードが表示されます。
の中に 実行順序 リストボックスで、 明示的な実行順序モード をクリックします わかった ダイアログを確認します。
「明示的な実行順序モード」が選択されています。ネットワークはCFCエディターで番号が付けられ、次のコマンドが CFC→実行順序 実行順序を編集するためのメニュー。
CFCオブジェクトを開きます。
番号の付いた要素を選択して、 CFC→実行順序→最前線に送信。
実行順序が変更され、選択された要素の番号は0になります。
ヒント
データフローによって自動的に定義された実行順序により、時間とサイクルが最適化されたPOUが実行されます。開発プロセス中は、内部で管理されている実行順序に関する情報は必要ありません。
の 明示的な実行順序モード、実行順序を調整し、結果と影響を評価するのはあなたの責任です。これが、実行順序が常に表示されるもう1つの理由です。