30.8.1.2 ファンクションブロックとして登録

作成済みのロジックプログラムの一部をファンクションブロック(FB)として登録するには次の流れで作業します。

  1. ロジック画面でFBとして登録したい行を選択し、右クリックメニューの[ファンクションブロックとして登録]を選択します。

    • 複数行選択する場合は、開始行を選択し、Shiftキーを押しながら最終行をクリックしてください。

    • FBに登録できる行数は分岐を含め最大40行です。

  2. 画面一覧ウィンドウにFBが登録され、編集画面が開きます。

    • 選択行に含まれているアドレス、シンボル、変数は全てローカル変数に変換されます。アドレスから変換されたローカル変数は、変数名が「I+番号」(例:I0)で登録されます。シンボルと変数は元の名称で登録されます。

  3. 変数一覧で[ローカル変数]から[入力変数]や[出力変数]への振り分けをします。

設定手順

ここでは、フリッカ信号を出力するFBを例に説明します。

特定のビット(X100)がONしている間、Y100が1秒間のOFFと2秒間のONを繰り返すプログラムをFBに登録します。作成するFBは開始ビット(X100)、フリッカ信号のOFFとONの秒数を入力として受け取り、フリッカ信号(Y100)を出力します。

  1. ロジック画面を開き、FBへ登録するプログラムを選択します。

  2. 右クリックで表示される[ファンクションブロックとして登録]をクリックします。

  3. [画面一覧]ウィンドウにFBが追加されます。追加されたFBをダブルクリックして編集画面を開きます。

    • ロジックプログラムで使われているアドレスと変数はすべてローカル変数として登録されます。

  4. 変数一覧の[ローカル変数]タブを開きます。入力オペランドとして値を受け取る変数を選択し、右クリックで表示されるメニューから[入力変数に移動]をクリックします。(例:I0を入力変数に変更)

  5. [ローカル変数]タブで、出力オペランドとして値を出力する変数を選択し、右クリックで表示されるメニューから[出力変数に移動]をクリックします。(例:I1を出力変数に変更)

  6. ローカル変数を2つ作成します。(例: 名前「Bit1」と「Bit2」のビット変数を作成)

  7. 変数一覧の[入力変数]タブを開き、ON時間、OFF時間を受け取るための変数を2つ作成します。(例: 名前「OffTime」と「OnTime」の整数変数を作成)

    • 入力変数、出力変数には配列要素(X[0])、構造体のメンバ(Timer.PT)は指定できません。

    • 入力変数の順番を[上へ]ボタンと[下へ]ボタンで変更することができます。順番を変更するとオペランドとして表示される順番を変更することができます。(例:I0を1つ下へ移動すると、S1オペランドはビット値”I0”の入力から整数値”OffTime”の入力に変わります。)

  8. ファンクションブロックのロジックプログラムを次のように修正します。

    Timer1.QをBit1に置き換え
    Timer2.QをBit2に置き換え
    2行目、3行目にMOV命令を追加
    2行目、3行目にOUT命令を追加
    TON命令の設定値を0に変更(MOV命令でPTに値を設定しているので、定数「1」や「2」を設定したままでも同じ動きになります)

  9. これでFBの作成ができました。ロジックプログラムにFBを挿入しオペランドにアドレス、変数を設定します。

    S1:フリッカ開始のビット

    S2:OFFする秒数

    S3: ONする秒数

    D1:出力ビット