タッチパネルと数値の処理~PLC入力出力~

PLCとタッチパネル

1.タッチパネルで数値を扱う

これまでこのサイトではPLCで数値を扱う際の設計の方法を説明してきました。また、タッチパネルとの基本的な連携についても説明をしています。

いままで説明した方法でも応用次第でかなりの設計幅ではありますが、せっかくタッチパネルを使うのであれば数値の扱いにおいてもこれを利用しない手はないでしょう。

ここではタッチパネルからPLCに対して数値の入力をしたり、PLCからタッチパネルへ表示として数値を出力する方法について解説していきます。

また、数値のやりとりのみでは面白味も薄いので、同時にPLC内での四則演算と算出結果のしきい値に対する判定も含めて説明してみます。

説明画像はクリックやタップで拡大可能です。そのままでは分かりづらいと思いますので適宜拡大してご覧ください。

では早速始めていきましょう!

2.VT STUDIOとKV STUDIOで設計

キーエンス製のタッチパネルとPLCを使用した設計について説明します。各々タッチパネルではVT STUDIOをPLCではKV STUDIOを使用します。

基本的なことはこれまでの記事をご参照ください。以下に参照記事リンクを載せておきます。

・PLCの基礎に関する記事

PLCプログラム〜ラダー図の基本〜

・PLC内で数値を扱うことに関する記事

アナログ入力ユニット〜PLCと数値入力〜

外部数値入力〜PLCへの数値設定〜

・基本的なタッチパネル設計に関する記事

タッチパネルを使う〜便利なインターフェイス〜

1)VT STUDIOでの画面設計

数値を設定したりPLCが返してくる数値を表示するために、先ずはVT STUDIOを使用したタッチパネル上の画面設計について説明します。VT STUDIOでのテンキーの設定なども説明します(非常に簡単です)。

基本的なスイッチやランプの配置及び設定、また画面遷移などに関する画面設計はタッチパネルを使う〜便利なインターフェイス〜で詳細を説明していますので、まだ見られていない方はこちらを先に理解していただくことをおすすめいたします。すでにそれらの基本的な設計方法をご存知の方はこのまま読み進めてください。

これまで同様「XYM表記」を使用しています。

a.ホーム画面

ホーム画面を設計します。基本的な設計ですので詳細はタッチパネルを使う〜便利なインターフェイス〜に記載のとおりですのでそちらでご確認ください。ここでは画像中心での説明といたします。

画面遷移のための設定を忘れないように注意してください。下の画像左側の「システム設定」の「VTシステム設定」内、「システムメモリエリア」から行います。

「システムメモリエリア」の先頭デバイスを『D1000』とし、全ての項目にチェックを入れます。結果、「切替ページ№」は『D1008』となります。

b.操作画面

実際に数値を入力したり、PLC内部で実行された計算結果を表示する画面を作成していきます。

「テキスト部品」のアイコンから画面のタイトル等を表示していきます。

ここでは画面タイトルらしく文字に装飾をします。入力した『演算処理画面』の文字をクリックで選択します。その状態で下の画像の左側「プロパティ」内の「装飾」項目で「S」という表記になっている影装飾を選択します。

すると、影色を設定できるようになります。

影色に水色を設定しました。

続いてこれから四則演算に使用するデバイスが各々何を表しているかも表記します。まずは足される数『加算用オペランドA』と表示します。そして位置調整をします。「オペランド」とは「被演算子」であり演算処理される数値のことをいいます。

数値入力のための部品を配置します。下画像の右上にある「数値表示」部品のアイコン(赤丸)をクリックします。

余談ですが今から少し多めの部品を配置し画面設計していきますので、早々にファイル名を決定し保存しておきましょう。

任意の位置でドラッグアンドドロップにて数値表示部品を配置します。

配置した数値表示部品を選択した状態で右クリックをします。展開したメニューの「部品属性設定」をクリックします。「部品属性設定」は部品のダブルクリックでも開くことが可能です。

「数値表示」ウィンドウが開きます。ウィンドウ内の「参照ワードデバイス」の割付をします。今回は『D10』と設定しました。

「データ形式」を変更します。デフォルトでは「符号なしバイナリ」となっているので「符号ありバイナリ」に変更します。

「表示桁数」を変更します。今回は5桁までの数値の扱いを想定しています。その場合VT STUDIOではプラス一桁の設定をします。理由はプラスマイナスの符号で一桁分を使用するからです。

「スタイル」を設定します。お好きなスタイルを設定してください。

「文字」の設定をします。特に「サイズ」は画面の全体構成に合わせた大きさに設定しましょう。

「レンジ・警報」設定のタブをクリックします。

ここでは入力の上下限設定ができます。また「表示レンジ」や「警報レンジ」の設定も可能です。今回は特に触らずこのままにしています。

「キー入力」のタブをクリックします。

ここでは数値表示のための部品が入力も伴うものか表示専用のものかを決定します。ON/OFFのビットで動作する部品でいうと、前者はランプスイッチ、後者はランプというぐあいですね。

すでに「キー入力」にチェックが入っていますのでそのままにしておきます。「キー入力順序」は同一画面内に複数のキー入力可能な部品を配置した場合、設定した矢印などの入力送りボタンで入力選択していく順序のことになります。ちょうどPCでのTABキーで送るイメージですね。

「スイッチによる選択時にウィンドウ表示」のチェックボックスにチェックを入れます。こうすることで数値表示部品にタッチしたときにテンキーなどを呼び出すことができるようになります。

グレーアウトしていた「システムテンキー」や「表示位置」が触れるようになりました。

触れるようになった「システムテンキー」の「設定」をクリックしてみます。

「表示するウィンドウ」というウィンドウが開きます。ここで実際に何を表示させるかや「確定時の動作」また表示位置座標などを設定できます。今回は標準で用意されているテンキー部品を使用し表示位置もお任せなので特に設定変更はしません。

別でテンキー画面を作成した場合はここで選択すると使用できるようになります。VT STUDIOではテンキーなどポップアップウィンドウのように呼び出して使用する画面は「グローバルウィンドウ」という画面として設計します。詳細に関しては別の機会に譲りますがこれによりオリジナルのテンキーなどが使用可能になります。

ここまで設定できたら「OK」をクリックして「数値表示」ウィンドウを閉じます。

部品の配置の微調整箇所は下画像の左下の座標を操作することで可能です。座標は左から「部品の右上ポイント:X,Y」「部品の左下ポイント:X,Y」「部品の幅,高さ:W,H」となります。

足す数に関する部品を設定していきます。先ほどと全く同じ手順で『加算用オペランドB』として表示し「参照ワードデバイス」だけを変更すればよいのですが、もっと楽をしてコピペをしていきます。

ドラッグアンドドロップで文字表示と数値表示部品を範囲選択します。選択できたら右クリックでメニューを表示し、「コピー」をクリックします。

任意の位置でよいので再度右クリックをし、メニューから「貼り付け」をクリックします。

部品のシルエットが出ますので配置したい位置にもっていきクリックします。

部品がまとめてペーストされました。

ペースト後の文字表示をクリック選択し『加算用オペランドB』に変更します。

ペーストした数値表示部品をクリック選択し、メニュー内の「部品属性設定」をクリックします。

開いた「数値表示」ウィンドウ内の「参照ワードデバイス」を『D12』に設定しました。

加算結果を表示する部品を配置する操作になります。この部品は加算結果表示ということですので、テンキーを呼び出すことはありませんのでその辺の設定も加えていきます。

再び範囲選択し、右クリックで開くメニューでコピーをします。

任意の位置にコピーした部品を貼り付けます。

文字表示を『加算結果』とします。

少しだけ文字表示の位置を調整しました。

ペーストしてきた数値表示部品で再度「部品属性設定」に入ります。

「参照ワードデバイス」を『D100』としました。

オペランド部品とは異なることを表現するためにスタイルや色を変更します。お好みのスタイルや色を選択してください。

ここでは特に「レンジ/警報」タブで設定しませんので「キー入力」タブをクリックします。

あくまで、演算結果の表示部品ですので「キー入力」のチェックを外します。

ここまで設定したら、「OK」でウィンドウを閉じます。

オペランドと演算結果が揃いました。

「+」や「=」のオペレータも忘れず表示しておきましょう。「オペレータ」とは「演算子」といい、演算の内容のことをいいます。

しきい値判定表示ランプを追加します。ランプビットデバイスは『M10』としています。

範囲選択でこれまで設計した等式と文字表示を選択し、これらをコピーします。

まるごと貼り付けします。

忘れないうちに各々文字表示を『加算』から『減算』へ変更します。

「部品属性設定」から各数値表示部品の「参照ワードデバイス」を変更します。

『減算用オペランドA』は『D20』、『減算用オペランドB』は『D22』、『減算結果』は『D200』へ変更します。

ここまでで気になる方がおられるかもしれませんが、筆者は「参照ワードデバイス」の設定で例えば『D10』の次に『D11』を使用せず『D12』を設定しています。これは、ダブルワードという状態を想定してのことです。大きな桁を扱う場合PLCではダブルワードという数値の扱いをします。『D10』と『D11』をあわせて一つの大きな桁の数値を扱うということです。

いつ、桁が増えても対応できるよう一つ飛びでワードデバイスの設定をしています。

以下画像では『減算用オペランドA』を『D20』へ変更しています。

『減算用オペランドB』を『D22』へ変更しています。

『減算結果』を『D200』へ変更し、枠色を青へ変更しています。

オペレータも『+』から『-』へ変更します。またしきい値判定ランプのビットデバイスは『M20』としています。

ここでひとつ便利な機能を説明します。PLCラダーではそのデバイスは何のためのものかを人間語で表現する「コメント」なるものがあります。これを表示することで、設計時では「いま何をしているのか」等、保全時なら「どこへどうアプローチすべきか」等を見失わないように、また見つけやすいようにできます。

逆にタッチパネル設計では画面内に設置された各部品が制御的には何者なのかを分かりやすくするためにデバイスを表示することができます。これを必要に応じ適切に表示することでデバイスナンバーが被ったりバラバラになったりしないよう注意することができます。

以下画像のように操作することでデバイスナンバー表示ができます。

メニューバーの「表示」をクリックします。

さらに展開したメニューから「デバイス№」をクリックします。

デバイス№が表示されました。

以下、これまでと同様の方法で乗算,除算のための部品を設定していきます。

乗算のデバイスは『乗算用オペランドA』が『D30』、『乗算用オペランドB』が『D32』、『乗算結果』が『D300』、しきい値判定ランプビットが『M30』です。

除算のデバイスは『除算用オペランドA』が『D40』、『除算用オペランドB』が『D42』、『除算結果』が『D400』、しきい値判定ランプビットが『M40』です。

演算結果をクリアするスイッチも欲しいですので『AC』のスイッチを『M50』として設置、また、しきい値のデバイスを『D50』として設置しています。もちろん『ホーム画面』戻り用スイッチも『M101』として準備しました。

以上が数値を処理するタッチパネル部分の設計となります。

2)KV STUDIOでのPLCラダー設計

上記のタッチパネルでの演算を処理させるためのPLCラダー設計について説明します。使用ソフトウェアはKV STUDIOです。ビットデバイスや数値格納および比較演算子の基本的な扱い方はPLCプログラム〜ラダー図の基本〜アナログ入力ユニット〜PLCと数値入力〜外部数値入力〜PLCへの数値設定〜をご参照ください。

a.ユニットエディット

PLCプログラム〜ラダー図の基本〜で解説のとおりですが、ユニットエディタにて構成ユニットを設定します。

今回、実機を相手取った話ではありませんのであくまで疑似的な設定となりますが、最低限必要となる可能性の高い入力出力ユニットは追加しておきます。

すでに使い方が決定しているデバイスに対するコメントも付与しておきましょう。

b.画面遷移処理

PLCラダー内で画面遷移の処理を実行する命令を記述していきます。以下画像を参考にしてください。記述方法の詳細はタッチパネルを使う〜便利なインターフェイス〜の記事に記載していますので確認される場合はそちらをご参照ください。

以下画像内の『画面遷移回路』とブックマークで名付けた回路部分のように記述してください。

c.初期化処理

PLCのRUN直後に一度(1スキャン)だけ実行される、初期値設定のための回路です。

KV STUDIOではPLCのRUN直後に一度だけONする接点は「CR2008」にすでに割り当てられています。

更に特に注意すべき点として除算における割る数、分数表記にしたときに分母に位置する数値は"0"にしてはいけません。ここは数学での決まり事と全く同じです。もし除算処理の割る数のデバイスに"0"を入れて除算処理を走らせた場合は計算処理不可となりPLCエラーになります。

d.数値演算処理

数値演算処理に関する設計をしていきます。

先ず、演算処理のトリガーとなるビットに「常時ON」を利用します。これにより毎スキャン後述の演算を実行することとなります。「常時ON」は「CR2002」のa接点で記述できます。

次に常時ON命令から7列目まで接続線を伸ばし、8列目にカーソルがある状態でキーボードの「Enter」を押します。「命令語/マクロ/パックパレット」が出てきますのでその中で「LDA」を選択します。これは内部レジスタへのデータ格納命令です。ここではタッチパネル上のデータをPLCで読み出すイメージで考えてください。「命令語検索」に「LDA」と打ち込むとすぐに探し出せます。

今回タッチパネル側で数値を扱う対象デバイスは全て「符号ありバイナリ」を設定していますので、ここでの「サフィックス/微分」設定に「S」を選択します。

デバイスのナンバーを設定します。

「オペランド」の「値」にタッチパネルの設計時に「足される数」として設定した『D10』を記述します。これによりタッチパネル内の『D10』の値を直接的に使用することが可能となります。

「上書き」もしくはPCキーボードの「Enter」キーで決定します。

「LDA」命令の記述ができました。サフィックスの「.S」も反映されています。

続いて加算命令を記述します。「LDA」命令のすぐ右隣にカーソルを置き「命令語/マクロ/パックパレット」から「ADD」を選択します。「サフィックス/微分」も「S」を選択します。

「オペランド」の「値」にタッチパネルの設計時に「足す数」として設定した『D12』を記述します。

「上書き」もしくはPCキーボードの「Enter」キーで決定します。

「ADD」命令の記述ができました。

さらに演算結果を格納する命令を記述します。数式a+b=cでいう右辺「c」ですね。これまでと同様「ADD」命令のすぐ右隣にカーソルを置き「命令語/マクロ/パックパレット」から「STA」を選択します。こちらもこれまで同様に「サフィックス/微分」で「S」を選択します。

「オペランド」の「値」にタッチパネルの設計時に「加算結果」として設定した『D100』を記述します。こうすることで加算結果をタッチパネルに表示することができます。

「上書き」もしくはPCキーボードの「Enter」キーで決定します。

「STA」命令の記述ができました。この記述の意味は「『D10』に『D12』を加算して『D100』に格納しなさい」となります。

ここまでで加算処理命令ができました。この次に減算処理の命令を記述していきます。今度は直接記述を用いて設計をすすめます。

「CR2002,a接点」の右側で分岐する出力のOR回路として記述します。接続線を下画像のようにひいてください。加算処理の時同様8列目にカーソルを置きます。タッチパネル設計時に「引かれる数」として設定した『D20』を使用しますので、キーボードから「lda.s␣d20」と記述し「Enter」を押してください。

続いてタッチパネル設計時に「引く数」として設定した『D22』を使用します。カーソルは勝手に「LDA」命令の右側へシフトしていますので、そのままキーボードから「sub.s␣d22」と記述し「Enter」を押してください。

さらに減算結果の記述です。「SUB」命令の右側にカーソルがある状態でキーボードから「sta.s␣d200」と記述し「Enter」を押してください。

減算処理命令ができました。意味は「『D20』に『D22』を加算して『D200』に格納しなさい」となります。

前述と同じ方法で乗算処理に関する記述をしていきます。「命令語/マクロ/パックパレット」で記述しても、直接記述でもどちらでも問題ありません。ただし、「ADD」や「SUB」を記述した位置に、乗算処理の「MUL」を記述します。サフィックスの設定やタッチパネルで設定したデバイスに注意しながらすすめていきましょう。

最後に除算処理の命令についてですが、この除算処理は先の「割る数として"0"を入力してはいけない」他、いくつか別途注意が必要です。ひとつはPLCラダー上の除算結果は整数部しか反映されないこと、次に商の余りは別デバイス(「TM」というデバイスです)に格納されること、またKV STUDIOにおいてはデータ拡張命令である「EXT」(後述します)の記述が無いとマイナス符号の計算結果に不備が生じることなどがあります。

今回は商の余りは考慮せず正負の除算で整数部の計算結果を返す処理について記述していきます。

「CR2002,a接点」から分岐する出力のOR回路であることはこれまで同様ですがカーソルは7列目においてください。「LDA」の命令を記述します。

続いて、データ拡張命令である「EXT」命令を記述します。「LDA」命令の右側に記述します。「命令語/マクロ/パックパレット」での記述方法と直接記述方法の両方を説明します。

「命令語/マクロ/パックパレット」で記述する方法です。以下、画像をご参照ください。「EXT」命令の場合は「LDA」命令等に付随する命令ですので対象となる「オペランド」を記述する必要はありません。

「EXT」命令の直接記述です。単に「ext.s」とサフィックスを含めて記述するのみです。

「EXT」命令が記述できました。

この後は加算などの処理と同じように演算命令と格納命令を記述します。除算命令は「DIV」となります。直接記述での画像を以下に載せておきます。

e.しきい値比較判定処理

演算された結果がタッチパネル上で設定したしきい値を超えているかどうかを判定する回路を設計します。比較演算命令を使用します。記述方法の詳細についてはアナログ入力ユニット〜PLCと数値入力〜をご参照ください。

f.数値クリア処理

格納された数値をクリアするための処理を記述します。タッチパネルの『AC』スイッチが押されたら『M50』がONして数値がクリアされる回路となります。ここでも割る数に"0"を書込まないように注意してください。以下、回路の画像です。

ここでひとつ気づかれた方もおられるかと思いますが、『初期化回路』と『数値クリア回路』はいずれも出力部分が全く同じです。違いはトリガーとなるビットが「CR2008」かタッチパネルで設定の『M50』かの違いだけです。

ですので、「CR2008」にORで『M50』を記述することで数値のクリアを実行することができます。

3)シミュレーション

タッチパネルもPLCも設計が完了したら、是非シミュレーションをしましょう。正しい動作ができているかを検証します。シミュレーションの開始方法などはタッチパネルを使う〜便利なインターフェイス〜に記載していますのでそちらをご参照ください。

ではシミュレーターを立ち上げたら動作検証開始です。

『操作開始』をクリックまたはタッチして『演算処理画面』に入ります。

『しきい値』の数値入力部をクリックまたはタッチするとテンキーが現れます。

テンキーから"500"を入力します。しきい値に"500"が格納されました。各演算結果が"500"を超えた場合ランプが点灯するようになったということです。注意すべきは比較演算子は「>」であり「≧」ではありませんので演算結果がちょうど"500"である場合はランプは点灯しません。

『加算用オペランドA』の数値入力部に"500"を入力します。この時点ではしきい値"500"を超えていませんので判定ランプは点灯しません。

『加算用オペランドB』に"1"を入力します。『加算結果』の数値表示部に"501"が表示され判定ランプが点灯していることがわかります。

同じような操作で減算や乗算及び除算処理を実行していきます。入力する数値は何でも構いません。演算処理もしきい値判定も正しく動作していることを確認してください。

『AC』スイッチで入力された数値がクリアされることも確認しましょう。

うまく動作しましたでしょうか。ちゃんと『ホーム画面』に戻れることも確認しておきましょう。

中小規模制御に対応のNanoシリーズのPLCです。動作検証にももってこいです。中小規模向けとはいえ現代のニーズをバッチリ汲み取った機能性には驚きの逸品です。

3.GT Designer3とGX Works2で設計

三菱電機製のタッチパネルとPLCを使用した設計について説明します。各々タッチパネルではGT Designer3をPLCではGX Works2を使用します。

基本的なことはこれまでの記事をご参照ください。以下に参照記事リンクを載せておきます。

・PLCの基礎に関する記事

PLCプログラム〜ラダー図の基本〜

・PLC内で数値を扱うことに関する記事

アナログ入力ユニット〜PLCと数値入力〜

外部数値入力〜PLCへの数値設定〜

・基本的なタッチパネル設計に関する記事

タッチパネルを使う〜便利なインターフェイス〜

2)GT Designer3での画面設計

数値を設定したりPLCが返してくる数値を表示するために、先ずはGT Designer3を使用したタッチパネル上の画面設計について説明します。GT Designer3でのテンキーの設定なども説明します(非常に簡単です)。

基本的なスイッチやランプの配置及び設定、また画面遷移などに関する画面設計はタッチパネルを使う〜便利なインターフェイス〜で詳細を説明していますので、まだ見られていない方はこちらを先に理解していただくことをおすすめいたします。すでにそれらの基本的な設計方法をご存知の方はこのまま読み進めてください。

a.ホーム画面

ホーム画面を設計します。基本的な設計ですので詳細はタッチパネルを使う〜便利なインターフェイス〜に記載のとおりですのでそちらでご確認ください。ここでは画像中心での説明といたします。

画面遷移のための設定をしておきましょう。下の画像左側の「システム」の「画面切り換え/ウィンドウ」から行います。

b.操作画面

実際に数値を入力したり、PLC内部で実行された計算結果を表示する画面を作成していきます。

画像右側「A 文字」のアイコンから画面のタイトル等を表示していきます。

ここでは画面タイトルらしく文字に装飾をします。入力した『演算処理画面』の文字をダブルクリックします。開いた「文字」ウィンドウの「文字色」横に装飾項目がありますので「S」という表記になっている影装飾を選択します。

 

すると、影色を設定できるようになります。

影色に水色を設定しました。

続いてこれから四則演算に使用するデバイスが各々何を表しているかも表記します。先ずは足される数『加算用オペランドA』と表示します。そして位置調整をします。細かな位置調整は画像の左下にある座標の数値を変更することで可能です。「オペランド」とは「被演算子」であり演算処理される数値のことをいいます。

数値入力のための部品を配置します。下画像の右上にある「数値表示/入力」部品のアイコン(赤丸)をクリックします。

余談ですが今から少し多めの部品を配置し画面設計していきますので、早々にファイル名を決定し保存しておきましょう。

任意の位置でドラッグアンドドロップにて数値表示部品を配置します。

配置した数値表示部品を選択した状態でダブルクリックをします。「数値表示」ウィンドウが開きます。設定しようとしているは部品は数値入力のためのものですので、「数値入力」のラジオボタンにチェックを入れます。これで標準で用意されているテンキーが使用できるようになります。

「デバイス」の割付をします。今回は『D10』と設定しました。

「データ形式」は「符号付きBIN16」のままにしておきます。デフォルトのままです。「表示形式」も「整数部桁数」も今回は変更の必要がありませんのでそのままにしています。「データ形式」で「BIN32」を選択し大きな桁数を扱う場合や「表示形式」で「実数」を選択した場合は桁数や小数点以下の桁数を工夫して設定する必要があります。

「スタイル」タブをクリックします。

部品のスタイルに関する「図形」を設定します。右にある「図形...」のボタンをクリックすることで多くの図形から選択することもできます。

「入力範囲」タブをクリックします。

数値の入力範囲に制限をかけることができます。黄色の「+」を押して条件を付与していきます。

今回は特に制限は設けませんのでこのままにしておきます。

「OK」で設定を完了します。

続いて、足す数『加算用オペランドB』を設定していきますが、すでに用意した『加算用オペランドA』からコピーしてきます。

ドラッグアンドドロップ操作で文字表示ごと数値表示部品を範囲選択します。

選択した後右クリックします。展開したメニューから「コピー」をクリックします。

再び右クリックでメニューを出し、「貼り付け」をクリックします。

貼り付ける部品のシルエットが出ますのでマウス操作で位置が決まればクリックします。

部品がまとめてペーストされました。

ペースト後の文字表示をダブルクリックし『加算用オペランドB』に変更します。

 

ペーストしてきた数値表示部品をダブルクリックします。

開いた「数値入力」ウィンドウ内の「デバイス」を『D12』に設定しました。

「OK」でウィンドウを閉じます。

加算結果を表示する部品を配置する操作になります。この部品は加算結果表示ということですので、テンキーを呼び出すことはありませんのでその辺の設定も加えていきます。

再び範囲選択し、右クリックで開くメニューでコピーをします。

任意の位置にコピーした部品を貼り付けます。

文字表示を『加算結果』とします。

ペーストしてきた数値表示部品をダブルクリックして「数値入力」ウィンドウを開きます。

この部品は演算結果を表示するための部品ですのでラジオボタンの「数値表示」にチェックを入れます。

「参照ワードデバイス」を『D100』としました。

オペランド部品とは異なることを表現するために「スタイル」タブをクリックして、スタイルや色を変更します。お好みのスタイルや色を選択してください。ここでは前述の「図形...」からスタイル選択をています。

ここまで設定したら、「OK」でウィンドウを閉じます。

オペランドと演算結果が揃いました。

「+」や「=」のオペレータも忘れず表示しておきましょう。「オペレータ」とは「演算子」といい、演算の内容のことをいいます。

しきい値判定表示ランプを追加します。ランプビットデバイスは『M10』としています。

範囲選択でこれまで設計した等式と文字表示を範囲選択し、これらをコピーします。

まるごと貼り付けします。

忘れないうちに各々文字表示を『加算』から『減算』へ変更します。

ダブルクリックで各数値表示部品の「デバイス」を変更します。

『減算用オペランドA』は『D20』、『減算用オペランドB』は『D22』、『減算結果』は『D200』へ変更します。

ここまでで気になる方がおられるかもしれませんが、筆者は「参照ワードデバイス」の設定で例えば『D10』の次に『D11』を使用せず『D12』を設定しています。これは、ダブルワードという状態を想定してのことです。大きな桁を扱う場合PLCではダブルワードという数値の扱いをします。『D10』と『D11』をあわせて一つの大きな桁の数値を扱うということです。

いつ、桁が増えても対応できるよう一つ飛びでワードデバイスの設定をしています。ただし、除算においては商の余りが上位ワードデバイスに格納されます(後述しています)のでこれに関してはさらに余分に占有するワードデバイスを想定しておいた方が良いです。

以下画像では『減算用オペランドA』を『D20』へ変更しています。

 

『減算用オペランドB』を『D22』へ変更しています。

『減算結果』を『D200』へ変更し、枠色を青へ変更しています。

オペレータも『+』から『-』へ変更します。またしきい値判定ランプのビットデバイスは『M20』としています。

以下、これまでと同様の方法で乗算,除算のための部品を設定していきます。

乗算のデバイスは『乗算用オペランドA』が『D30』、『乗算用オペランドB』が『D32』、『乗算結果』が『D300』、しきい値判定ランプビットが『M30』です。

除算のデバイスは『除算用オペランドA』が『D40』、『除算用オペランドB』が『D42』、『除算結果』が『D400』、しきい値判定ランプビットが『M40』です。

『除算結果』の白文字が異常に見にくいですね。『加算結果』から『除算結果』まで全ての文字色を黒に変更します。

変更箇所について、『加算結果』の数値表示部品を例として画像をのせています。

『減算結果』『乗算結果』『除算結果』についても同様に黒文字に設定します。

ずいぶん見やすくなりました。

演算結果をクリアするスイッチも欲しいですので『AC』のスイッチを『M50』として設置、また、しきい値のデバイスを『D50』として設置しています。もちろん『ホーム画面』戻り用スイッチも『M101』として準備しました。

以上が数値を処理するタッチパネル部分の設計となります。

2)GX Works2でのPLCラダー設計

上記のタッチパネルでの演算を処理させるためのPLCラダー設計について説明します。使用ソフトウェアはKV STUDIOです。ビットデバイスや数値格納および比較演算子の基本的な扱い方はPLCプログラム〜ラダー図の基本〜アナログ入力ユニット〜PLCと数値入力〜外部数値入力〜PLCへの数値設定〜をご参照ください。

a.ユニットエディット

PLCプログラム〜ラダー図の基本〜で解説のとおりですが、画像右側「ナビゲーション」の「プロジェクト」のツリー内にある「パラメータ」直下、「PCパラメータ」にて構成ユニットを設定します。

今回、実機を相手取った話ではありませんのであくまで疑似的な設定となりますが、最低限必要となる可能性の高い入力出力ユニットは追加しておきます。

すでに使い方が決定しているデバイスに対するコメントも付与しておきましょう。

b.画面遷移処理

PLCラダー内で画面遷移の処理を実行する命令を記述していきます。以下画像を参考にしてください。記述方法の詳細はタッチパネルを使う〜便利なインターフェイス〜の記事に記載していますので確認される場合はそちらをご参照ください。

以下画像内の『画面遷移回路』とステートメントで名付けた回路部分のように記述してください。

c.初期化処理

PLCのRUN直後に一度(1スキャン)だけ実行される、初期値設定のための回路です。

GX Works2ではPLCのRUN直後に一度だけONする接点は「SM402」にすでに割り当てられています。

更に特に注意すべき点として除算における割る数、分数表記にしたときに分母に位置する数値は"0"にしてはいけません。ここは数学での決まり事と全く同じです。もし除算処理の割る数のデバイスに"0"を入れて除算処理を走らせた場合は計算処理不可となりPLCエラーになります。

d.数値演算処理

数値演算処理に関する設計をしていきます。

先ず、演算処理のトリガーとなるビットに「常時ON」を利用します。これにより毎スキャン後述の演算を実行することとなります。「常時ON」は「SM400」のa接点で記述できます。

次にタッチパネルの設計時に「足される数」として設定した『D10』、「足す数」として設定した『D12』、「加算処理の結果」として設定した『D100』を使用して加算処理の命令を記述します。

常時ON命令の右側にカーソルを置きキーボードの「F8」キーを押します。現れたウィンドウ内の空欄に「+␣d10␣d12␣d100」と入力してキーボードの「Enter」を押して命令を決定します。意味は「『D10』に『D12』を加算して『D100』に格納しなさい」となります。

この次に減算処理の命令を記述していきます。タッチパネルの設計時に「引かれる数」として設定した『D20』、「引く数」として設定した『D22』、「減算処理の結果」として設定した『D200』を使用して減算処理の命令を記述します。

「SM400,a接点」の右側で分岐する出力のOR回路として記述します。分岐の接続線を下画像のようにひいてください。カーソルを分岐のために引いた縦線の右側に置いて、キーボードの「F8」キーを押します。現れたウィンドウ内の空欄に「-␣d20␣d22␣d200」と入力してキーボードの「Enter」を押して命令を決定します。意味は「『D20』から『D22』を減算して『D200』に格納しなさい」となります。

前述と同じ方法で乗算処理に関する記述をしていきます。ただし、「+」や「-」を記述した位置に、乗算処理では「*」を記述します。タッチパネルで設定したデバイスに注意しながらすすめていきましょう。

除算処理の命令については少し特殊で、この除算処理は先の「割る数として"0"を入力してはいけない」他、別途注意が必要です。ひとつはPLCラダー上の除算結果は整数部しか反映されないこと、次に商の余りは別デバイス(除算結果格納ワードデバイス+1のワードデバイス)に格納されることがあります。

では、除算処理に関する記述をしていきます。「+」や「-」を記述した位置に、除算処理では「*」を記述します。タッチパネルで設定したデバイスに注意しながらすすめていきましょう。

今回は商の余りは考慮せず正負の除算で整数部の計算結果を返す処理について記述していきます。

キーボードの「F4」キーで変換(コンパイル)しました。

e.しきい値比較判定処理

演算された結果がタッチパネル上で設定したしきい値を超えているかどうかを判定する回路を設計します。比較演算命令を使用します。記述方法の詳細についてはアナログ入力ユニット〜PLCと数値入力〜をご参照ください。

f.数値クリア処理

格納された数値をクリアするための処理を記述します。タッチパネルの『AC』スイッチが押されたら『M50』がONして数値がクリアされる回路となります。ここでも割る数に"0"を書込まないように注意してください。以下、回路の画像です。

 

ここでひとつ気づかれた方もおられるかと思いますが、『初期化回路』と『数値クリア回路』はいずれも出力部分が全く同じです。違いはトリガーとなるビットが「SM402」かタッチパネルで設定の『M50』かの違いだけです。

ですので、「SM402」にORで『M50』を記述することで数値のクリアを実行することができます。

これで今回のPLCラダー設計は以上となりますが、データを失わないためにも速やかにデータの保存をしておきましょう。データの保存は設計中のどのタイミングでも問題ありませんので適宜行うことが望ましいです。

3)シミュレーション

タッチパネルもPLCも設計が完了したら、是非シミュレーションをしましょう。正しい動作ができているかを検証します。シミュレーションの開始方法などはタッチパネルを使う〜便利なインターフェイス〜に記載していますのでそちらをご参照ください。

ではシミュレーターを立ち上げたら動作検証開始です。

 

『操作開始』をクリックまたはタッチして『演算処理画面』に入ります。

『しきい値』の数値入力部をクリックまたはタッチするとテンキーが現れます。

テンキーから"500"を入力します。しきい値に"500"が格納されました。各演算結果が"500"を超えた場合ランプが点灯するようになったということです。注意すべきは比較演算子は「>」であり「≧」ではありませんので演算結果がちょうど"500"である場合はランプは点灯しません。

『加算用オペランドA』の数値入力部に"500"を入力します。この時点ではしきい値"500"を超えていませんので判定ランプは点灯しません。

『加算用オペランドB』に"1"を入力します。『加算結果』の数値表示部に"501"が表示され判定ランプが点灯していることがわかります。

同じような操作で減算や乗算及び除算処理を実行していきます。入力する数値は何でも構いません。演算処理もしきい値判定も正しく動作していることを確認してください。

『AC』スイッチで入力された数値がクリアされることも確認しましょう。

うまく動作しましたでしょうか。ちゃんと『ホーム画面』に戻れることも確認しておきましょう。

4.まだまだできることがたくさん

タッチパネルとPLCの組合せではまだまだできることがたくさんあります。

例えば画面遷移する場合にもパスナンバーを設定し、そのナンバーを知る人しか入れないページを作成することで安全に役立てたり、表示,設定を含めたPID制御を実行したり、設備機器に合わせたモニター画面を作成することで設備や機器の状態をタイムリーに読み取ることができるようにしたりと、その可能性は無限ではないかと思えるくらいです。

高度な設計手法を活用しより利便性を向上することができます。

しかし、高度な設計にこだわるあまり、オペレーション上の利便性は向上したとしても保守性を犠牲にしてしまうなどの落とし穴もあります。複雑難解で検証からの判断が難しくなってしまうと、何か不具合があった場合や改造したい場合などに非常に時間がかかってしまうこともあります。

そのちょうどいいところを攻めるのは設計者の知識と経験と思いやりではないかと筆者は考えます。是非とも利用されるいろいろな人から喜ばれる設計を目指したいものですね。そのためには知識,スキルの習得は必須です。

いろんなことを学び懐の広い技術者を共に目指していきましょう!

シーケンサー(PLC),GOT(タッチパネル)などの各種プログラミングソフトウェアを統合したプログラミング用のソフトウェアです。国内PLCの老舗メーカから出ているソフトウェアなだけあって高いコストパフォーマンスを誇ります。

中小規模設計や設計動作検証にもってこいの三菱電機製PLCです。もちろん増設にも対応しています!

コメント