ファンクション/ファンクションブロック

ファンクションとファンクションブロックの違い

ファンクション

ファンクションは入力変数ENがONしているときに実行します
例:MOVE, INCなど
ファンクションブロック (FB)

ファンクションブロック(以下FB)はインスタンスを生成して使います
作られたインスタンスはPLCがRUNすると常に実行して、入力変数の起動指示をトリガーとして一連の処理を実行します
通常は複数スキャンにまたがる処理をFBで行うので出力側に実行中か正常終了もしくは異常終了が出力されます

インスタンスとは

FBはインスタンスを生成して使いますがインスタンスとは・・・
解説書っぽく言うと、FBが設計図でインスタンスが実体です

例えば、オンディレイタイマーのTONだと
インスタンスを作って、ひとつめをTON000、ふたつめをTON001という名前にします


このTON000とTON001がTONのインスタンスになります


一般的な感じだと
洗濯機という設計図をFBとすると
洗濯機FBのインスタンスを2つ作り、ひとつめを「洗濯1号」という名前にして、ふたつめを「洗濯2号」という名前にします
同じ機能を持った洗濯機が2つ用意できました
それぞれに別のものを入れて洗濯ができるので、洗濯1号には衣類を入れて洗濯2号には毛布を入れて、それぞれのパラメータをセットして洗濯します
処理が完了すると、奇麗になった服と毛布が出力されます