ファンクションブロック(FB)を新規作成するには次の流れで作業します。
[画面]メニューの[画面の新規作成]でファンクションブロックを作成します。
ファンクションブロックの編集画面で命令の挿入や変数登録を行います。
設定手順
ここでは、フリッカ信号を出力するFBを例に説明します。
このFBは特定のビット(S1オペランド)がONしている間、指定された時間でOFFとONを繰り返すフリッカ信号を出力します。
入力
S1:ビット フリッカ開始ビット
S2:整数 フリッカ信号のOFF時間を秒単位で指定
S3:整数 フリッカ信号のON時間を秒単位で指定
出力
D1:ビット 出力
[画面]メニューから[画面の新規作成]を選択するか、をクリックします。
表示された[画面の新規作成]ダイアログボックスの[画面の種別]で「ファンクションブロック」を選択します。
[名称]にファンクションブロックの名称を入力し、[新規作成]をクリックします。(例:FB_0000)
画面一覧ウィンドウにファンクションブロックが登録され、編集画面が開きます。
ファンクションブロック画面の変数一覧で[入力変数]タブを選択し、ビット変数を1つと整数変数を2つ登録します。これがFBの入力オペランド(S1からS3)になります。(例:名前に「Start」と入力し、タイプで「ビット変数」を選択)
入力変数、出力変数タブでは「上へ」ボタン、「下へ」ボタンでオペランドの順番を変更することができます。たとえば2行目のOffTimeの行を選択して「下へ」ボタンを押すと、OnTimeがS2オペランドになり、OffTimeがS3オペランドになります。
登録した変数の変数タイプを変更するには、変数を選択して右クリックで表示されるメニューから変数タイプを選択しきます。
ファンクションブロック画面の変数一覧で[出力変数]タブを選択し、ビット変数を1つ登録します。これがFBの出力オペランド(D1)になります。(例:名前に「Output」と入力し、タイプで「ビット変数」を選択)
ファンクションブロック画面の変数一覧で[ローカル変数]タブを選択し、ビット変数を2つとタイマ変数を2つ登録します。これらはFB内でのみ使う変数です。(例:名前に「Bit1」と入力し、タイプで「ビット変数」を選択)
FBの編集画面で行を挿入し、次のようにプログラムを作成します。
これでFB_0000ができました。
ロジック画面を開き、[命令の挿入]から[ファンクションブロック命令]を選択し、FB_0000を挿入します。
[画面一覧]ウィンドウのFB_0000を選択し、ロジック画面へのドラッグ&ドロップでも挿入できます。
[システム設定]-[ロジックプログラム設定]-[ファンクションブロックのローカル変数の共有]の設定によって、ファンクションブロック命令の動作が異なります。
30.8.2 ファンクションブロックの変数について
挿入したFBのオペランドにアドレスや変数を設定します。
FB命令のオペランドには、値の受け渡し相手となる入力変数または出力変数の変数タイプと一致した変数を設定してください。
ロジック画面に挿入したFBをダブルクリックすると[オペランド設定]ダイアログボックスが表示され、オペランドを一覧表示しながらアドレス、変数の設定ができます。