Skip to main content

CFCエディタでのプログラミング

注記

POUを作成する際に実装言語を確定します。その後は、連続関数チャート(CFC)そして連続関数チャート(CFC) - ページ指向実装言語。

要素を挿入し、接続線で配線する

  1. ドラッグボックス要素と出力要素をエディターに挿入します。

  2. 出力をクリックしますボックス要素。

    出力は赤いボックスでマークされます。

  3. 出力ピンから接続線をドラッグして、ボックス要素を入力ピンに接続します出力要素。

    カーソルが入力ピンに到達すると、カーソルのシンボルが変化します。

  4. マウスの左ボタンを放します。

    ボックスの出力ピンは出力の入力ピンに接続されます。

    _cds_img_prg_simple.png

また、 Ctrlキーを押し、各ピンを選択して右クリックします選択したピンを接続しました

インスタンスの呼び出し

  1. 標準テンプレートを使用して新しいプロジェクトを作成し、名前を指定しますFirst例えば。

    プロジェクトFirst.projectが作成されます。

  2. ファンクションブロックでアプリケーションを拡張する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
  3. アプリケーションを選択してクリックオブジェクトの追加 → POU . 選択してください連続関数チャート(CFC)実装言語と型Program名前を指定してくださいPrgFirst例えば。

    クリックわかりましたダイアログを確認します。

    そのPrgFirstプログラムが作成され、エディタで開きます。まだ空です。

  4. 関数ブロックをインスタンス化し、変数を宣言します。

    PROGRAM PrgFirst
    VAR
        iCounter: INT;
        fbDoIt_1 : FB_DoIt;
        fbDoIt_2 : FB_DoIt;
        iOut : INT;
        sOut: STRING;
        xOut: BOOL;
    END_VAR
  5. ドラッグボックス要素からツールボックスエディターに表示します。

  6. クリック???フィールドに入力してADDボックス名として。

    ボックスタイプはADDボックスは加算器として機能します。

  7. 宣言エディタで 3 行目をクリックします。

    宣言文iCounterが選択されます。

  8. 入力範囲をクリックし、選択した変数を実装にドラッグします。そこで、ADDボックス。

    入力が作成、宣言され、ボックスに接続されました。

  9. 選択範囲をもう一度クリックし、変数を出力にドラッグします。ADDボックス。

    出力が作成、宣言され、ボックスに接続されました。

  10. ドラッグして入力要素からツールボックス実装のビュー。???フィールドに入力して1

  11. 接続する1入力への入力ADDボックス。

    ネットワークはプログラムされており、実行時にバスサイクルをカウントし、その結果をiCounter

    cfc_img_first_network_add.png
  12. 宣言エディタで 5 行目をクリックします。

    行が選択されました。

  13. 選択範囲をクリックし、選択したインスタンスを実装にドラッグします。

    インスタンスはエディターにボックスとして表示されます。タイプ、名前、ボックスピンが表示されます。

    cfc_img_first_network_doit.png
  14. ドラッグしてfbDoIt_2インスタンスをエディターに接続します。インスタンスを相互に接続し、入力と出力に接続します。

    例:

    cfc_img_first_network_add_doit1_doit2.png

    同じ機能を持つSTのプログラムは次のようになります。

    PROGRAM PrgFirstInSt
    VAR
        iCounter: INT;
    
        fbDoIt_1 : FB_DoIt;
        fbDoIt_2 : FB_DoIt;
    
        iOut : INT;
        sOut: STRING;
        xOut: BOOL;
    END_VAR
    iCounter := iCounter + 1;
    fbDoIt_1(iAlfa := 16, iBravo := 32, sCharlie := 'First', xItem := TRUE, iDelta := 2, iResult => fbDoIt_2.iAlfa, xResult => fbDoIt_2.xItem);
    fbDoIt_2(iBravo := fbDoIt_1.iResult, sCharlie := 'Second', iDelta := 2, iResult => iOut , sResult=> sOut, xResult => xOut);

接続マークの作成

要件: CFC POU には接続された要素があります。

  1. 2 つの要素間の接続線を選択します。

    接続線は選択された状態で表示されます。接続線の端にはcfc_icon_selected_input.png赤いボックス。

  2. クリックCFC →接続マーク

    接続は接続マーク– ソースそして接続マーク- シンクマークの名前は自動的に生成されます。

    cfc_img_prg_simple_with_connection_mark.png
  3. ソース接続マークをクリックします。

    名前を編集できます。

  4. 名前を指定してくださいSimpleMarkソース接続マーク用。

    ソース接続マークとシンク接続マークの名前は同じです。

    cfc_img_prg_simple_with_named_connection_mark.png

制御点による衝突の解決と接続線の修正

次の例は、すべての接続をルーティング制御ポイントを使用したコマンド。

  1. 配置する入力そして出力要素。要素を接続します。

    cfc_img_prg_simple2_control_point.png
  2. ポジション2 ボックス行上の要素。

    衝突のため、接続線とボックスは赤くマークされています。

    cfc_img_prg_simple2_red_linie.png
  3. クリックCFC →ルーティング→すべての接続をルーティング

    衝突は解決されました。

    cfc_img_prg_simple2_routed_line.png
  4. 接続線を徐々に変更します。

    cfc_img_prg_simple2_manual_routed_line.png

    接続線は手動で変更されたため、自動ルーティングがブロックされています。これは接続の端にロック記号で表示されます。

    _cds_img_prg_simple2_locked_routed_line.png
  5. 接続線を選択してクリックCFC →ルーティング→制御ポイントの作成

    接続線上に制御ポイントが作成されます。接続線は制御ポイントに固定されます。

    cfc_img_prg_simple2_locked_routed_line_with_control.png

    制御ポイントをツールボックスラインを表示します。

  6. 次の例のように接続線を変更します。

    cfc_img_prg_simple2_changed_line_with_control.png

    制御ポイントを使用すると、必要に応じて接続線を変更できます。コントロールポイントは任意の数だけ設定できます。

  7. コンテキストメニューで、 CFC →ルーティング→制御ポイントの削除制御ポイントを削除します。

  8. クリック接続の解除または、ロック記号をクリックして接続のロックを解除します。

  9. 接続線を選択してクリックすべての接続をルーティング

    接続ラインは、手順 3 に示すように自動的にルーティングされます。

    _cds_img_prg_simple2_locked_routed_line.png

重要

グループ内の接続は自動的にルーティングされません。

ボックスの表示を減らす

要件:CFC POU が開かれています。エディターには、宣言されたすべてのピンを含むボックスが表示されます。

  1. ピンが部分的に切断されているボックスを選択します。

    例:fb_DoIt_1

    cfc_img_box_with_unconnected_pins.png

    ボックスにはすべてのピンを収納できるスペースが必要です。

  2. クリックCFC →ピン→使用されていないピンを削除します

    これで、ボックスに必要なスペースが少なくなり、機能的に関連するピンのみが表示されるようになりました。

    cfc_img_box_without_unconnected_pins.png