キーエンスPLCのすごいところ KV8000から使える構造化変数。今回はファンクションブロックの使い方の一例を紹介します。
ファンクションブロックとは
ファンクションフブロックとは、機能をまとめたブロックのことです。
機能に応じた実績のあるプログラムなので、転用が簡単です。プログラムの標準化でも使えます。
ファンクションブロックの作り方
ファンクションブロック新規作成
メーカーサイトで専用のファンクションブロックも提供されていますが、新規でファンクションブロックを作成します。ローカルデバイスの自動割付はしたほうが楽なので、新規作成時は必ずチェックします
スキャンプログラムのコピー、貼り付け
通常のスキャンプログラムで作成したプログラムですが、ローカル変数で作成します。
(※前回紹介してますが、ローカル変数登録をします)
デバッグ等して問題なければ、スキャンプログラムで作成した部分をコピーします
新規作成したファンクションブロックで貼り付けします。
スキャンプログラムの変数で作成したプログラムなので、ローカル変数も自動的に割付されます。
ファンクションブロックの修正作業
Nb_動作許可という内部変数は、メインプログラムで通信プログラムの動作許可信号で使います。そのため、引数に変更します。
引数とは、ファンクションブロックで外部IFとして使う部分になります。
変更する場合、内部変数を削除して引数に登録。あとは、内部変数置換をします
すべて置き換えしたら、変換します。
変換で異常がでたら、都度修正します。
ファンクションブロックの展開
ファンクションブロックをメインプログラムにドラッグして引数の部分を割り当てします。
内部変数の割り当てなので、N・・で表示されるので非常に楽です
割付した状態です
次に別のプログラムで展開します。
ファンクションブロックをドラッグ&ドロップでもいいですが、Gateway1からそのままコピー貼り付けし、不要な部分を削除します。
まとめ
この作業で、スキャンプログラムでつくったものがファンクションブロックとなり、標準化できます。
一度ファンクションブロックと変数、構造体を使うとやめられないですよ。
XがYが・・デバイスマップがなんて必要なくなるので・・ぜひ食わず嫌いせずにやってみてください。