本発明の一実施形態について図1ないし図5に基づいて説明すると以下の通りである。
図1に示すように、本実施の形態に係る制御システム1は、複数のプログラマブル表示器2…と、複数のPLC3…と、ホストコンピュータ4とを備えている。
プログラマブル表示器2…およびホストコンピュータ4は、共通の通信プロトコル(共通通信プロトコル)で通信を行うことが可能なイーサネット(登録商標)などからなるローカルエリアネットワーク(LAN)のような共通ネットワーク5を介して互いに接続されている。一方、プログラマブル表示器2およびPLC3は、PLC3毎に固有の通信プロトコル(専用通信プロトコル)で通信を行うことが可能なシリアルケーブルなどからなる専用ネットワーク6を介して個々に接続されている。
専用通信プロトコルは、PLC3がシーケンサから発達してきた経緯もあって、製造会社毎、あるいは、同一会社であっても製品毎など、PLC3の機種毎に異なっていることが多い。したがって、例えば、各PLC3とホストコンピュータ4とを相互に接続してネットワークを構築しようとすると、制御システム1内のPLC3の機種を統一する必要があり、大規模な制御システム1を構築することが難しい。
これに対して、本実施形態に係る制御システム1は、各PLC3にそれぞれ接続されるプログラマブル表示器2およびホストコンピュータ4を共通ネットワーク5で接続すると共に、共通ネットワーク5で使用する共通通信プロトコルとして、専用通信プロトコルとは独立して定めた共通のプロトコルを採用している。さらに、各プログラマブル表示器2は、後述するように、プロトコルを変換する機能も有しており、例えば、命令コードの変換や引数の変換あるいは伝送時の制御コードの変換などのプロトコル変換を行って、ホストコンピュータ4や他のプログラマブル表示器2と、自機器に接続されたPLC3との通信を中継する。
このような構成では、ホストコンピュータ4やプログラマブル表示器2など、共通ネットワーク5上の機器は、他のプログラマブル表示器2に接続されているPLC3の機種によらず、共通ネットワーク5を介して共通のプロトコルで通信できる。この結果、制御システム1内に、互いに異なる機種のPLC3を混在させやすくなる。また、上記の構成において、プログラマブル表示器2は、PLC3が相互に接続される構成と異なって制御システム1に必須の構成であり、しかも、HMIとして動作するためPLC3に比べて演算能力に余力があるので、通信の大半を処理する。例えば、画面データのダウンロードのように、ホストコンピュータ4とプログラマブル表示器2とが通信する際の通信路から、PLC3を除外できる。したがって、PLC3の負担を軽減でき、制御システム1全体に必要な演算能力を削減できる。なお、プログラマブル表示器2は、オペレータの操作を待ち受けている間、演算能力に余力があるので、プロトコル変換のために演算能力を向上させることなく、プロトコル変換できる。
PLC3は、制御システムプログラムにしたがって、入力ユニットを介して入力用のデバイス7から出力される出力データを取り込むとともに、出力用のデバイス7に制御データを与える。入力用のデバイス7しては、センサ(温度センサ、光センサなど)、スイッチ(押ボタンスイッチ、リミットスイッチ、圧力スイッチなど)のような機器が用いられる。出力用のデバイス7としては、アクチュエータ、リレー、電磁弁、表示器などが用いられる。これらのデバイス7…は、製造ラインなどの各種のターゲットシステムの所要各部に配置される。また、デバイス7は、後述するタッチパネル27などの入力装置から手動で入力されたデータを格納するための後述するデータメモリ25における特定の領域であってもよい。
PLC3内のメモリには、入出力メモリにデバイスアドレスを指定することにより、ワードデバイスおよびビットデバイスが格納場所を特定可能に設定されている。ワードデバイスは、入出力されるデータが数値のようなワードデータに対して設定され、ビットデバイスは、オン・オフ状態のようなビットデータに対して設定される。このような設定により、PLC3内の任意のワードデバイスまたはビットデバイスをアクセスするだけでデバイス7…を制御し、またはその状態に関する情報を個別に取り出すことができる。
プログラマブル表示器2は、CPUなどの演算処理装置を備えており、制御プログラムを実行することによりプログラマブル表示器特有の操作機能および表示機能を実現するコンピュータである。制御システム1のHMIとして好適に使用されるプログラマブル表示器2は、後述する処理指示語(タグ)を組み合わせて決定される画面データに基づいて、デバイス7の状態を画面表示する際の動作や、画面への操作に応じてデバイス7の状態を制御する際の動作を特定する。
このプログラマブル表示器2は、専用ネットワーク6を介したPLC3との通信により、自機に接続されたPLC3を介して、あるいは、他のプログラマブル表示器2や、それに接続されたPLC3を介して、表示画面に状態を表示する各デバイス7の状態を取得し、例えば、後述のディスプレイ28に各デバイス7の状態を表示する機能を有する。また、プログラマブル表示器2は、後述のタッチパネル27への操作に応じて、デバイス7へ状態制御を指示する機能を有する。
なお、デバイス7の状態の取得/変更は、その都度指示してもよいし、プログラマブル表示器2内にキャッシュを用意し、取得/変更時には、キャッシュへアクセスするとともに、所定の時間間隔毎や所定のイベント毎に通信してデバイス7のデバイスアドレスの実体と同期を取ってもよい。
プログラマブル表示器2は、上記の機能を実現するために、HMI処理部21と、システムメモリ22、プログラムメモリ23、データメモリ24、スキャナインターフェース部(図中、スキャナI/F)25、メモリカードインターフェース部(図中、メモリカードI/F)26、タッチパネル27、ディスプレイ28、インターフェース部(図中、I/F)29a,29bおよびプリンタインターフェース部30(図中、プリンタI/F)を備えている。以下、プログラマブル表示器2の主要各部について詳細に説明する。
スキャナインターフェース部25は、スキャナ8からの読み取りデータを取り込んでHMI処理部21に伝達する通信制御部である。
スキャナ8は、2次元コードを読み取る機能を有しており、読み取った2次元コードを一般のコンピュータで扱うことのできる通常のデータ(以降、コンピュータデータと称する)に変換する。スキャナ8は、2次元コードの白セルと黒セルとの配列から2次元コードに記録されている情報をデコードすることにより上記のようなデータを得るように構成されている。例えば、前述のQRコードを読み取るスキャナ8は、特開2003−281482号公報に開示されているコード読取装置のように構成されていてもよい。また、コンピュータデータとしては、英数字、仮名文字、漢字などの文字に固有のコードを割り当てた文字コード(例えば、ASCIIコード、JISコード、Unicode)、テキストデータ、図形データなどがある。
メモリカードインターフェース部26は、メモリカード9に対するデータの書き込みおよび読み出しを行なうリーダ/ライタである。メモリカード9としては、小型かつ大容量のCF(登録商標)カードが好適である。
タッチパネル27は、ディスプレイ28の表示画面上で入力を行うために設けられている入力装置である。ディスプレイ28は、プログラマブル表示器2を薄型に構成するために、液晶ディスプレイやELディスプレイのような平板型ディスプレイが好適に用いられる。
インターフェース部29aは、プログラマブル表示器2がホストコンピュータ4または他のプログラマブル表示器2との間の通信を行うための通信制御部であり、共通ネットワーク5に接続されている。この共通ネットワーク5を介した通信により、ホストコンピュータ4または各プログラマブル表示器2との間でデータ送信が行われる。一方、インターフェース部29bは、プログラマブル表示器2がPLC3との間の通信を行うための通信制御部であり、専用ネットワーク6に接続されている。この専用ネットワーク6を介した通信により、PLC3との間でデータ送信が行われる。
プリンタインターフェース部30は、HMI処理部21からの印刷データを取り込んでプリンタ10に伝達する通信制御部である。
なお、本実施の形態では、プログラマブル表示器2とデータのやり取りを行なう制御装置としてPLC3について説明しているが、これに限らず、温調器やインバータも制御装置としてプログラマブル表示器2と接続可能である。
このように構成される通信システムにおいては、PLC3からの出力データが、プログラマブル表示器2に送信され、さらにそのプログラマブル表示器2を介してホストコンピュータ4や他のプログラマブル表示器2に転送される。また、プログラマブル表示器2に設定されたデータは直接PLC3に送信されるだけでなく、ホストコンピュータ4や他のプログラマブル表示器2から送信されてきた設定データが、通信先のPLC3に接続されたプログラマブル表示器2を介してそのPLC3に転送される。
HMI処理部21は、後述するユーザ画面の表示制御、プロトコル変換およびデータ配信の処理、2次元コードの処理などを行うために各種の演算処理やデータ処理を行う。
プロトコル変換処理は、両ネットワーク5,6での通信プロトコルが互いに異なる場合、システムメモリ22に記憶された後述のプロトコル変換データを参照しながら、一方の通信プロトコルから他方の通信プロトコルへ変換する処理である。データ配信処理は、予め設定された配信条件が満たされたときに、デバイス7からPLC3のメモリに取り込まれてPLC3からプログラマブル表示器2に送信されてきた出力データを、指定された配信先、すなわちホストコンピュータ4または他のプログラマブル表示器2に配信する処理である。
システムメモリ22は、プロトコル変換プログラム、データ配信プログラムおよびプロトコル変換データを格納するとともに、表示制御処理を行うための表示制御システムプログラムをも格納している。また、プログラムメモリ23は、ユーザが作成した画面データを格納している。
データメモリ24は、主に、表示制御などの演算処理時の作業用に用いられる他、PLC3との間でやり取りされるデータの一時的な記憶に用いられる他、PLC3から得られたデータをロギングしたり、PLC3に与える設定値データ(レシピデータ)を記憶したりするために用いられる。また、データメモリ24は、2次元コードの処理過程で得られた各種のデータを一時的に記憶する領域を提供する。
上記の表示制御システムプログラム(表示制御プログラム)は、画像表示制御を行うための基本機能を実現するためのプログラムである。この表示制御システムプログラムがHMI処理部21において実現する機能については、後に詳しく説明する。
プロトコル変換データは、専用ネットワーク6と共通ネットワーク5との間で通信プロトコルを相互変換できれば、どのような形式でもよいが、本実施の形態では、専用ネットワーク6で伝送されるデータのフォーマットを示すデータ転送フォーマットと、両ネットワーク5,6で伝送されるコマンドコード間の対応関係を示すコマンド変換テーブルとを記憶している。
通信プロトコル(専用通信プロトコル)は、PLC3との通信処理で用いられるプロトコルであり、PLC3の機種(メーカ)に応じて固有に定められている。この通信プロトコルには、PLC3へのデータの読み出しを指示するコマンドコードが含まれている。このコマンドコードは、PLC3の制御機能に対応付けられているアドレスと組み合わされることによって、所望の制御機能についてのデータをPLC3に送信することができる。
ユーザ画面のデータである画面データは、ディスプレイ28に表示すべきベース画面やパーツのデータおよび各パーツに付与された後述する処理指示語Wなどを含んでいる。画面データは、作画エディタによって作成されて、プログラムメモリ23にダウンロードされている。画面データは、ベース画面データおよびパーツデータを含んでいる。
ベース画面データは、ターゲットシステムなどを模した背景画面となるベース画面のデータであって、ベース画面上にパーツや図形などが配される。ベース画面には、後述のパーツやタグがシンボルとして合成される。
パーツデータは、後述する作画エディタ23を用いてユーザによって選択された、ベース画面と組み合わされる1つ以上のパーツデータからなる。作画エディタ23に用意されているパーツは、ベース画面上に表示させるスイッチや設定値表示器などのデバイスデータを反映させる機器が画像化された図形や、グラフなどの動的変化をベース画面上の任意の位置で表現させるための図形などとして表現される。これらの図形をデバイス7の状態に応じて動的に表示するための動画機能や画面上からのタッチ入力による各処理は、下記の処理指示語W(タグ)によって実現され、ユーザによって任意に設定できる他、ユーザが扱いやすいように、上記のような図形に組み込まれて予め用意されている。
ベース画面およびパーツデータを基本構成として備えるユーザ画面においては、パーツがタグ機能によりデバイス7の動作に応じて動くように設計されており、デバイス7の動作状況が視覚化されている。
図2(a)に示すように、画面データに含まれる処理指示語Wは、ベース画面上で実行されるべき事象毎に作成されている。この処理指示語Wは、基本的には、表示制御動作を実行すべきベース画面のファイル番号Fと、このベース画面上で実行すべき動作内容を特定する事象名Tと、各実行事象毎に参照される1または複数のデータからなる参照情報Rとを一組として備えている。
本実施形態に係るプログラマブル表示器2では、図2(b)に示すコンピュータデータからバイナリデータへのデータ変換のための処理指示語W1と、図2(c)に示すバイナリデータから2次元コードを表示させるための処理指示語W2と、図2(d)に示すタッチ入力による情報の表示のための処理指示語W3とが、2次元コード処理タグTG(図3参照)として規定されている。この2次元コード処理タグTGは、複数の単位画面の少なくとも1つと関連付けることができる。
処理指示語W1は、ベース画面のファイル番号F1と、HMI処理部21によってコンピュータデータからバイナリデータへ変換するという事象の事象名N1と、参照情報Rとを含んでいる。この参照情報Rは、コンピュータデータが記憶されているメモリから読み出す読出メモリアドレスA1と、変換されたバイナリデータをメモリへ書き込む書込メモリアドレスA2とを含んでいる。HMI処理部21は、この処理指示語W1によって、データ変換の対象となるコンピュータデータの変換が指示されると、データメモリ24における読出メモリアドレスA1からコンピュータデータを読み出してバイナリデータに変換し、データメモリ24の書込メモリアドレスA2に書き込む。
また、処理指示語W1において、事象名N1をHMI処理部21によって2つのコンピュータデータを結合する事象名に変え、参照情報Rの読出メモリアドレスA1と書込メモリアドレスA2とをそれぞれコンピュータデータを読み出す読出メモリアドレスA3と結合後の書込メモリアドレスA4とに変えることによって、異なる2つのコンピュータデータを結合する処理指示語W11が設定される。
処理指示語W2は、ベース画面のファイル番号F1と、バイナリデータから2次元コードを表示するという事象の事象名N2と、参照情報Rとを含んでいる。この参照情報Rは、データメモリ24におけるバイナリデータが書き込まれている書込メモリアドレスA2と、2点X1,X2を結ぶ直線を対角線とする方形で定まる表示領域を特定する表示座標範囲(X1,X2)とを含んでいる。HMI処理部21の後述する表示制御部11は、この処理指示語W2によって、書込メモリアドレスA2より読み出されたバイナリデータから2次元コードを形成して表示する。
処理指示語W3は、ベース画面のファイル番号F1と、2次元コードの情報を表示するという事象の事象名N3と、参照情報Rとを含んでいる。この参照情報Rは、上記の表示座標範囲(X1,X2)と同じ範囲の有効入力座標範囲(X1,X2)と、表示する情報がコンピュータデータとして格納されているデータメモリ24における読出メモリアドレスA1,A3と、その情報を表示するウインドウ(ユーザ画面)のファイル番号F2と、そのウインドウにおける情報の表示領域を特定する表示座標範囲(X3,X4)を含んでいる。表示制御部11は、この処理指示語W3によって、表示された2次元コードがタッチされると、その2次元コードに記録された情報を読出メモリアドレスA1,A3から読み出されたコンピュータデータに基づいて所定の表示座標範囲に表示する。
HMI処理部21が有する表示制御機能は、図3に示すように、表示制御部11によって実現される。この表示制御部11は、前述の表示制御システムプログラムを実行することにより実現される機能のブロックであり、それぞれの機能として、データ変換部11a、2次元コード生成部11bおよびデータ結合部11cを有している。
表示制御部11は、上記の処理指示語Wを繰り返し読み出して、各処理指示語Wの事象名Tで特定される内容の動作を、読み込まれたPLC3側の状態情報を参照しながら実行する。これによって、PLC3のビットデバイスまたはワードデバイスの状態の変化に応じて変化する表示動作が実行され、PLC3から取得したデバイス7の状態がユーザ画面におけるパーツの表示状態に反映される。表示においては、画面データに基づいてVRAMなどを用いてディスプレイ28にユーザ画面を描画させる。
表示制御部11は、制御指示を与えることなどのためにデバイス7の状態を変更するとき、処理指示語Wを繰り返し読み出して、各処理指示語Wにおける参照情報Rに含まれる、ユーザ画面の所定の領域におけるタッチ位置を特定するための、タッチによる入力が有効となる有効入力座標範囲、およびタッチパネル27の操作(数値入力操作、ON/OFF操作など)を特定する事象名Tなどで特定される内容の動作をPLC3に書き込む。
前述の画面データは、画面単位で形成されるファイル形式で画面ファイルSFとしてプログラムメモリ23に格納されている。2次元コードを表示するための画面(後に詳述する)の画面ファイルSFは、前述の2次元コード処理タグTGを持っている。また、表示制御部11は、上記の2次元コードを表示するための画面を表示するが、その表示した状態で2次元コード処理タグTGで特定される動作を実行する。
データ変換部11aは、図4に示すデータメモリ24におけるコンピュータデータ領域24aの単独データ領域(図示せず)から読み出されたコンピュータデータをバイナリデータに変換して、データメモリ24のバイナリデータ領域24bに格納する。バイナリデータは、データメモリ24以外の一時記憶メモリに格納されてもよい。また、データ変換部11aは、ユーザによる画面上での操作入力などのトリガを受けて表示制御部11からメモリカード9への書き込みが指示されると、2次元コード生成部11bによって後述するようにして生成された2次元コードの表示データを指定されたビットマップデータまたはJPEG(Joint Photographic Experts Group)などの画像データに変換して、図4に示すデータメモリ24のビットマップデータ領域24cまたはJPEGデータ領域24dに格納する。
表示制御部11は、変換されたビットマップデータまたはJPEGデータをメモリカードI/F26に渡し、メモリカード9への書き込みを指示する。また、表示制御部11は、ユーザの指示に応じてビットマップファイルまたはJPEGファイルをホストコンピュータ4または他のプログラマブル表示器2に送信する。さらに、送信手段としての表示制御部11は、ユーザの指示に応じてバイナリデータをメモリカードI/F26に渡し、メモリカード9への書き込みを指示したり、ホストコンピュータ4または他のプログラマブル表示器2にも送信したりする。
2次元コード生成部11bは、データメモリ24のバイナリデータ領域24bから読み出されたバイナリデータを元に2次元コードの表示データ(画像データ)を生成する。2次元コードにおけるデータ記録領域は、基本的に白いセルと黒いセルとから構成されており、バイナリデータを構成する“0”,“1”の2値がそれぞれ白セル,黒セルのいずれかと対応する。2次元コード生成部11bは、その対応関係に基づいて、バイナリデータの2値を対応する両セルに変換するとともに、制御用や基準位置特定用などの記録すべきデータ以外のコード化された情報を付加する。2次元コード生成部11bは、ユーザによる画面上での操作入力などのトリガを受けて表示制御部11から指示されると、前述の処理指示語W2にしたがって、バイナリデータから2次元コードの表示データを生成する。表示制御部11は、その2次元コードの表示データに基づいてディスプレイ28に2次元コードを表示する。
データ結合部11cは、データメモリ24のコンピュータデータ領域24a(単独データ領域)に格納されている複数の異なるコンピュータデータを読み出して1つのデータに結合し、コンピュータデータ領域24aの結合データ領域(図示せず)に書き込む。結合するコンピュータデータとしては、スキャナ8から得たデータ、PLC3から得られたデータ(出力データ)、PLC3に与えるレシピデータ(制御のための数値や動作内容を示す指示データ)などがある。また、同種の異なるデータも結合の対象となる。レシピデータは、ホストコンピュータ4から送信されたり、ディスプレイ28に表示されるポップアップキーボードなどを用いてタッチパネル27からユーザによって入力されたりしたデータであり、予めデータメモリ24に格納されている。
2次元コードを表示するための画面としては、例えば、図5(a)および(b)に示す2次元コード処理画面101が用意される。この2次元コード処理画面101は、2次元コードとして、前述のQRコードを扱う場合の画面である。2次元コード処理画面101は、第1ないし第3結合ボタン102〜104と、第1ないし第3表示ボタン105〜107と、第1ないし第3転送ボタン108〜110と、QRコード表示エリア111とを有している。
第1結合ボタン102は、スキャナ8から得られる読取データとPLC3などの外部装置から得られる外部データとの結合を指示するために設けられる。第2結合ボタン103は、PLC3などの外部装置から得られる異なる外部データ同士の結合を指示するために設けられる。第3結合ボタン104は、スキャナ8から得られる異なる読取データ同士の結合を指示するために設けられる。これらの第1ないし第3結合ボタン102〜104のいずれか1つがユーザによってタッチされると、データ結合部11cがタッチされたボタンに応じてデータを結合する。
第1表示ボタン105は、スキャナ8から得られる読取データに基づいたQRコードの表示を指示するために設けられる。第2表示ボタン106は、PLC3などの外部装置から得られる外部データに基づいたQRコードの表示を指示するために設けられる。第3表示ボタン107は、結合されたデータに基づいたQRコードの表示を指示するために設けられる。第3表示ボタン107がユーザによってタッチされると、図示はしないが、第1ないし第3結合ボタン102〜104と同様な結合の種別を指定するためのサブウインドウが表示される。上記の第1ないし第3表示ボタン105〜107のいずれか1つがユーザによってタッチされてQRコードの表示が指示されると、2次元コード生成部11bがタッチされたボタンに応じたQRコードの表示データを生成し、表示制御部11がそのQRコードを図5(b)に示すようにQRコード表示エリア111に表示する。
第1転送ボタン108は、スキャナ8から得られる読取データを転送するために設けられる。第2転送ボタン109は、PLC3などの外部装置から得られる外部データを転送するために設けられる。第1,2転送ボタン108,109のいずれか一方がユーザによってタッチされると、図示はしないが、データの転送先(メモリカード9、ホストコンピュータ4、他のプログラマブル表示器2、プリンタ10など)を選択するためのボタンを有するサブウインドウが表示され、転送先がそこで指定されると、転送におけるデータの形式(コンピュータデータ、バイナリデータ、ビットマップデータ、JPEGデータ)を選択するためのボタンを有するウインドウがされに表示される。
第3転送ボタン110は、結合されたデータの転送を指示するために設けられる。また、第3転送ボタン110がユーザによってタッチされると、図示はしないが、第1ないし第3結合ボタン102〜104と同様な結合の種別を指定するためのサブウインドウが表示される。また、このサブウインドウで結合の種別が指定されると、図示はしないが、上記と同様な、データの転送先および転送におけるデータの形式を選択するためのボタンを有するサブウインドウが表示される。
転送におけるデータ形式および転送先が選択されると、表示制御部11は、第1ないし第3転送ボタン108〜110で指定されたデータメモリ24のアドレスに格納されているバイナリデータを読み出して、指定された転送先へ転送する。ただし、表示制御部11は、ビットマップまたはJPEGの形式が指定されると、データ変換部11aに2次元コードの表示データからビットマップまたはJPEGへの変換を指示し、変換されたデータを受けて転送先に転送する。また、表示制御部11は、転送先としてメモリカード9が指定された場合は、前述のようにメモリカード9への書き込みをメモリカードインターフェース部26に指示する。
また、2次元コード処理画面101においては、図5(b)に示すように、表示されたQRコードがタッチされたときにQRコードに記録された情報を表示する領域として情報表示ウインドウ112が表示される。表示制御部11は、“閉じる”がタッチされると、この情報表示ウインドウ112の表示を停止する。この情報表示ウインドウ112は、2次元コード処理画面101に関連付けられたユーザ画面として用意される。
上記の表示制御部11を実現する前述の表示制御システムプログラムは、プログラマブル表示器2と分離可能に構成される記録媒体に記録されている。
上記の記録媒体は、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスク系、CD−ROM、MO、MD、DVDなどの光ディスク系、ICカード(メモリカードを含む)、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクROM、EPROM、EEPROM、フラッシュROMなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
また、本制御システムは、インターネットを含む通信ネットワークと接続可能なシステム構成であることから、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めホストコンピュータ4に格納されるか、あるいは別な記録媒体からインストールされるものであってもよい。
続いて、ホストコンピュータ4について説明する。
図1に示すホストコンピュータ4は、一般の汎用パーソナルコンピュータと同様に、CPU、メモリ(RAM、ROMなど)、外部記憶装置(ハードディスクドライブ、MOドライブなど)、表示装置および入力装置(キーボード、マウスなど)を有している。また、ホストコンピュータ4は、制御部41、インターフェース部(図中、I/F)42、作画エディタ43、画面データベース44、データ集積部45および表示アプリケーション46を備えている。
制御部41は、CPUやメモリを含む演算処理を行う部分であり、オペレーティングシステム上でアプリケーションプログラムである作画エディタ43や表示アプリケーション45を実行する。ホストコンピュータ4は、制御部41に作画エディタ43を実行させることにより、エディタ装置(画面作成装置)として機能する。
インターフェース部42は、プログラマブル表示器2との間の通信を行うための通信制御部であり、共通ネットワーク5に接続されている。
作画エディタ43は、前述のユーザ画面を作成する画面作成プログラムである。この作画エディタ43も、前述のような記録媒体に記録されたプログラムであり、予めホストコンピュータ4にインストールされている。
作画エディタ43は、ユーザ独自の画面であるユーザ画面を作成できるように、スイッチ、ランプ、テンキー、各種表示器(例えば、数値表示器、メータ表示器およびグラフ表示器)などのパーツ、各種のタグ設定機能、描画機能、テキスト入力機能などを備えている。パーツとしては、単一の機能を有するパーツだけでなく、複数の機能を有する、複合スイッチ、カウンタ、タイマといった複合機能を有するパーツが用意されている。パーツは、ユーザが容易に選択できるようにライブラリ形式で登録されている。
上記の作画エディタ43によって作成されたユーザ画面は、画面データベース44に保存されるが、必要に応じてインターフェース部42を介してプログラマブル表示器2に転送され、プログラムメモリ23にダウンロードされる。また、作画エディタ43は、前述のような2次元コード処理画面101もユーザ画面として作成することができる。
データ集積部46は、各プログラマブル表示器2から転送されてきたデータを集積するデータベースである。このデータ集積部46は、プログラマブル表示器2毎に、データ形式を区別するようにしてデータを格納している。表示アプリケーション45は、データ集積部46に格納されたデータをデータ形式に応じて表示する。
続いて、上記のように構成される制御システム1における2次元コードの処理について説明する。ここでは、2次元コードとしてQRコードを用いた例について説明するが、本発明は、QRコードに限らず、他の2次元コード(PDF417、DataMatrix、Maxi Codeなど)の利用が可能であることは勿論である。
スキャナ8によってQRコードが読み取られると、スキャナ8において、QRコードがコンピュータデータに変換されて出力される。このコンピュータデータは、表示制御部11によって、スキャナインターフェース部25を介して取り込まれて、データメモリ24のコンピュータデータ領域24aに格納される。コンピュータデータは、テキストデータや文字データなどのOSやアプリケーションプログラムに依存せずに解読可能なデータであるので、この形式で通信するとデータの改ざんが可能である。そこで、本プログラマブル表示器2では、以下のように改ざんを困難にするようにデータ形式を変換している。
一方、PLC3からのデバイス7のデータは、表示制御部11によって、インターフェース部29bを介してコンピュータデータとして取り込まれて、データメモリ24のコンピュータデータ領域24aに格納される。PLC3からのデータは、スキャナ8の読取データと同じくコンピュータデータ領域24aに格納されるが、読取データとは種類の異なるデータとしてコンピュータデータ領域24aにおいて区別された領域に格納される。
また、ホストコンピュータ4から送信されたレシピデータや、プログラマブル表示器2のタッチパネル27からユーザによって入力されたレシピデータは、表示制御部11によって、インターフェース部29aを介してコンピュータデータとして取り込まれて、コンピュータデータ領域24aに格納される。レシピデータも、スキャナ8の読取データやPLC3からのデータと同じくコンピュータデータ領域24aに格納されるが、これらのデータとは種類の異なるデータとしてコンピュータデータ領域24aにおいて区別された領域に格納される。
上記のようにデータメモリ24に書き込まれたコンピュータデータは、データ変換部11aによって、処理指示語W1にしたがって、書き込みと同時に自動的にデータメモリ24から読み出され、バイナリデータに変換された後、データメモリ24のバイナリデータ領域24bに書き込まれる。
2次元コード処理画面101における第1ないし第3結合ボタン102〜104のいずれかがユーザによってタッチされると、データの結合が指示される。すると、データ結合部11cによって、処理指示語W11にしたがい、ボタンに応じた指示内容(結合パターン)とアドレスに基づいて、データメモリ24のコンピュータデータ領域24aに格納された2つのコンピュータデータが上記のアドレスから読み出されて合成された後、コンピュータデータ領域24aに書き込まれる。なお、ボタンのタッチパネル27における座標範囲とアドレスとを関係付けるため、図2(b)に示す処理指示語W11は、図示はしていないが、参照情報Rとして、タッチパネル27における各ボタンの有効入力座標範囲を有している。
結合される形態としては、以下のパターンが主な形態として挙げられる。
(1−1)スキャナ8の読取データとPLC3からの出力データとの結合(読取データ+外部データ)
(1−2)スキャナ8の読取データとレシピデータとの結合(読取データ+外部データ)
(1−3)PLC3など(外部装置)からのデータとレシピデータとの結合(外部データ+外部データ)
(1−4)スキャナ8の読取データ同士の結合(読取データ+読取データ)
上記のように結合されたデータも、前記のようにしてバイナリデータに変換された後、バイナリデータ領域24bに書き込まれる。
2次元コード処理画面101における第1ないし第3表示ボタン105〜107のいずれかがユーザによってタッチされると、QRコードの表示が指示される。すると、2次元コード生成部11bによって、処理指示語W2にしたがい、ボタンに応じた指示内容(表示元データ)とアドレスに基づいて、データメモリ24のバイナリデータ領域24bに格納されたバイナリデータが上記のアドレスから読み出され、そのバイナリデータに基づいてQRコードの表示データが生成される。このQRコードの表示データは、表示制御部11によって、図5(b)に示すように、2次元コード処理画面101におけるQRコード表示エリア111に表示される。
表示されるQRコードの表示元データとしては、以下のデータが挙げられる。
(2−1)スキャナ8の読取データ
(2−2)PLC3など(外部装置)からの外部データ
(2−3)前述の(1−1)ないし(1−4)のいずれか1つの結合形態で結合された結合データ
このように、スキャナ8によって読み取られる元々存在していたQRコードだけでなく、外部データや結合データのようなデータもQRコードとして表示される。
2次元コード処理画面101におけるQRコード表示エリア111に表示されたQRコードがユーザによってタッチされると、そのQRコードに記録された情報が情報表示ウインドウ112に表示される。このとき、表示制御部11によって、処理指示語W3にしたがい、コンピュータデータ領域24aから読み出されたデータが情報表示ウインドウ112の所定の領域に上記の情報として表示される。
2次元コード処理画面101における第1ないし第3転送ボタン108〜110のいずれかがユーザによってタッチされると、データの転送が指示される。すると、表示制御部11によって、ボタンに応じた指示内容(転送対象データと転送先)に基づいて、指定された形式のデータが指定された転送先へ転送される。
転送先としてメモリカード9が指定された場合は、表示制御部11の指示によって、指定されたデータがメモリカード9に書き込まれる。また、転送先としてプリンタ10が指定された場合は、表示制御部11の指示によって、指定されたデータがプリンタ10で印刷される。これにより、QRコードの印刷が可能となる。
転送先としてホストコンピュータ4が指定された場合は、表示制御部11の指示によって、指定されたデータが共通ネットワーク5を介してホストコンピュータ4に転送され、データ集積部46に格納される。表示アプリケーション45は、データ集積部46から読み出したデータがビットマップまたはJPEGのデータであれば、そのデータから図形としてQRコードを表示し、読み出したデータがコンピュータデータまたはバイナリデータであれば、そのデータが表す情報(文字情報など)を表示する。
続いて、2次元コードの処理についての具体例について説明する。ここでは、製品の個数をロット毎に計数するシステムにおいて、ロットをQRコードで特定し、コンベア上を搬送される製品の個数を光学センサ(デバイス7)で読み取った結果をPLC3からプログラマブル表示器2に送信する場合について説明する。
まず、オペレータは、ロット番号を示すQRコードが描かれたプレートからスキャナ8によってQRコードの読み取り操作を行う。スキャナ8からは、読み取り結果として、そのロット番号を示す数字データ(コンピュータデータ)が出力されてプログラマブル表示器2のデータメモリ24におけるコンピュータデータ領域24aに格納される。一方、製品個数の読み取り結果は、PLC3からプログラマブル表示器2のデータメモリ24におけるコンピュータデータ領域24aに読み込まれる。これらのデータは、データ変換部11aによってバイナリデータに変換されて、バイナリデータ領域24bに書き込まれる。
このとき、オペレータが2次元コード処理画面101において第1結合ボタン102をタッチすると、コンピュータデータ領域24aからロット番号のデータと製品個数のデータとが読み出され、これらのデータがデータ結合部11cによって結合されて、結合データとしてコンピュータデータ領域24aに書き込まれる。この結合データは、データ変換部11aによってバイナリデータに変換されてバイナリデータ領域24bにも書き込まれる。
また、オペレータが2次元コード処理画面101において第3結合ボタン107をタッチすると、バイナリデータ領域24bからバイナリ変換された結合データ(バイナリデータ)が読み出され、2次元コード生成部11bによって、そのバイナリデータからQRコードの表示データが生成される。この表示データは、表示制御部11によって、図5の(b)に示すように、2次元コード表示エリア111にQRコードとして表示される。
さらに、オペレータが表示されたQRコードをタッチすると、表示制御部11によって、2次元コード処理画面101上に情報表示ウインドウ112が表示される。このとき表示される情報は、読み取られたQRコードに記録されていたロット番号(123456)、およびPLC3から得られた製品個数(150)が併せて表示される。
そして、オペレータが2次元コード処理画面101において第1ないし第3転送ボタン108〜110のいずれかをタッチすることで転送データ形式および転送先を指定すると、表示制御部11によって、それに応じた形式のデータが指定された転送先に転送される。
このように、本実施の形態の制御システム1は、スキャナ8で読み取った2次元コードのデータをプログラマブル表示器2において、バイナリデータに変換して記憶しておき、そのバイナリデータで外部に送信する一方、バイナリデータから2次元コードを生成して表示する。バイナリデータは、テキストデータのようなOSやアプリケーションプログラムに依存せずに解読可能なコンピュータデータと異なり、専用のアプリケーションプログラムなどによって解読可能であるので、容易に解読することができない。したがって、このようなバイナリデータの形式でデータを記憶したり送信したりすることによって、プログラマブル表示器2や共通ネットワーク5上でのデータの改ざんの可能性を大幅に低減させることができる。
また、本制御システム1は、プログラマブル表示器2において、スキャナ8で読み取った2次元コードの読取データとPLC3などの外部装置から得た外部データの結合、読取データ同士の結合、外部データ同士の結合を行い、その結合データも上記のようにしてバイナリデータに変換するとともに、バイナリデータから2次元コードを生成して表示する。これにより、結合データの改ざんの可能性を大幅に低減させるだけでなく、結合データに基づく新たな2次元コードを表示されるので、専用の2次元コード生成ツールを用いて、結合したデータを人手で入力する手間を省くことができる。しかも、表示された2次元コードをオペレータの携帯端末などに読み込ませることによって、2次元コードの展開や転送を容易に行うことができる。
また、プログラマブル表示器2は、表示した2次元コードがタッチされると、その2次元コードに記録された情報のコンピュータデータをコンピュータデータ領域24aから読み出して表示する。それゆえ、例えば、PLC3から得られたエラーデータに基づいてエラー情報を表示させる場合、容易かつ余分なメモリ容量を必要とすることなく、エラー情報を表示することができる。
従来、エラー情報の表示においては、表示スペースの制約からエラーメッセージを表示する代わりに、英数字などからなるエラーコードを表示させていた。このため、ユーザは、エラーコードが示すエラー内容をマニュアルやメーカへの問い合わせなどによって確認しなければならなかった。また、エラーメッセージを表示するスペースを十分確保できる場合は、多数のエラーメッセージを予め記憶しておくためのメモリ容量が必要であった。
これに対し、上記のプログラマブル表示器2は、内部にエラーメッセージを記憶していなくても、2次元コードを表示できれば、2次元コードを読み取りかつその記憶情報をテキスト表示する機能を有する携帯電話などの読取装置を用いることによって、表示された2次元コードに記録されたエラーメッセージを表示することができる。これにより、エラーコードのみの表示でエラー内容の確認が容易にできないという従来の不都合を解消することができるとともに、多数のエラーメッセージを予め記憶しておく必要がないので、そのためのメモリ容量を大幅に削減することができる。
しかも、プログラマブル表示器2は、2次元コードの表示データをビットマップまたはJPEGのデータに変換して、メモリカード9に書き込む機能を有する。それゆえ、そのメモリカード9のデータをパーソナルコンピュータなどに読み込ませることによって、そのコンピュータに2次元コードを表示することができる。メモリカード9によるデータの受け渡しでは、データがビットマップまたはJPEGの形式であれば、2次元コードに記録された情報の改ざんは不可能である。したがって、機密性の高い情報を安全に取り扱うことができる。また、ビットマップまたはJPEGの形式でデータを画像化して転送することにより、大量のデータを簡易に送受信することができる。