どうも、もももです。
今回は以前紹介したファンクションブロック(以下FB)について、実際に機能を作成してみたいと思います。
下記で作成したストップウォッチ機能についてFB化していきます。
FBの動作を確認するため、ストップウォッチ機能を2つ作成し各々の動作を確認します。
前提条件
本稿は以下環境を元に作成します。
- KV STUDIO:Ver11
- VT STUDIO:Ver8
- 使用機種(PLC):KV-8000
- 使用機種(タッチパネル):VT5シリーズ
※KV STUDIO及びVT STUDIOのシミュレーション機能を用いて動作確認
FB作成
引数及びローカル変数の設定
引数及びローカル変数は以下を設定します。
引数ではスタートとストップのトリガを分けた他、クロックパルスを3種類から選べるように設定しました。
複数種類選択された場合は速い方のパルスを優先します。(10ms > 100ms > 1s)
ラダー
・計測時間クリア(1行目)
クリアトリガの立上りで変数「currentTime」を0クリアします。
・時間計測(2~5行目)
変数「measuring」のON中に選択したクロックパルスの立上りで変数「currentTime」をインクリメントしていきます。(パルスの立上りのたびに1加算)
開始トリガの立上りで計測開始(変数「measuring」がOFF→ON)、終了トリガの立上りで計測終了(変数「measuring」がON→OFF)します。
・変数の内容を引数へ反映(6行目)
変数「currentTime」を引数「calcTime」に反映します。
プログラム解説
使用デバイス一覧
今回は下記のデバイスを使用します。
タッチパネル画面
タッチパネル画面は下図のような構成です。
- 計測時間1 / 2:現在の計測時間を表示(計測最小単位:0.1秒)
- 「計測開始/終了」ボタン:各々の時間計測のスタート・ストップを切換え
- 「計測時間クリア」ボタン:各々の計測時間のクリア
ラダー
計測1用と計測2用にFBを2個配置しました。
「インスタンス名」が重複してしまうと同じ回路を使用してしまうため注意が必要です。(今回の場合だとDM100とDM200に同じ数値が入ってしまいます。)
動作確認
下図はVT STUDIO, KV STUDIOともにシミュレータを起動して各々「計測開始」を押下した結果にないます。
KV STUDIOのシミュレータに若干ラグがあるためタッチパネルとPLCでDMの値が異なりますが、2つのストップウォッチが平行して機能していることが確認できます。
実運用では各サイクル処理毎にこのFBを用いて、各々のサイクルタイムを計測するために流用できると考えています。
まとめ
今回は以前作成したストップウォッチ機能について、FB化を行いました。
機能毎にFB化することで、複数個所で同じ機能を利用したい場合等に処理の記述箇所を1カ所にまとめることができます。
FBの概要ついては下記を参照下さい。
コメント