(57)【要約】【課題】制御機能を備えたプログラマブル表示器において、外部ＰＬＣから所定のデータを取得したことを判定するとシーケンスプログラムの実行部を動作させる。【解決手段】データ取得判定部１２ｂは、通信処理部１１ｃが、ＰＬＣ３からの所定のデバイス４のデータの読み込みが完了すると、作業メモリ１４における状態監視領域１４ｂに設けられた読込完了監視ビットをＯＮに書き替える。コントローラ部１２の動作制御部１２ｃは、読込完了ビットがＯＮになったことを確認すると、ラダープログラム実行部１２ａを動作させる。【選択図】図１
2008102639.tif 000002
【特許請求の範囲】
【請求項１】
シーケンスプログラムを実行するプログラム実行部を有し、シーケンスプログラムの実行にしたがって第１のデバイスを制御する制御機能部と、シーケンスプログラムにしたがって第２のデバイスを制御する制御装置と通信する通信部とを備え、前記制御機能部が前記通信部を介して前記制御装置から前記第２のデバイスのデータを取得するプログラマブル表示器において、
前記制御機能部は、
前記第２のデバイスのデータが前記制御装置から正常に取得されたか否かを判定するデータ取得判定手段と、
前記データ取得判定手段によって前記第２のデバイスのデータが前記制御装置から正常に取得された判定されたときに前記プログラム実行部を動作させる動作制御手段とを有していることを特徴とするプログラマブル表示器。
【請求項２】
シーケンスプログラムを実行するプログラム実行部を有し、シーケンスプログラムの実行にしたがって第１のデバイスを制御する制御機能部と、前記制御機能部から取得した制御処理の結果を表示する処理を行う表示処理部とを備えたプログラマブル表示器において、
前記表示処理部の表示処理動作が可能な状態であるか否かを判定する表示処理動作判定手段と、
前記表示処理動作判定手段によって前記表示処理部の表示処理動作が可能な状態であると判定されたときに前記制御機能部を動作させる動作制御手段とを備えていることを特徴とするプログラマブル表示器。
【請求項３】
シーケンスプログラムにしたがって前記第２のデバイスを制御する制御装置と通信する通信部を備え、
前記制御機能部は、前記通信部を介して前記制御装置から前記第２のデバイスのデータを取得するとともに、前記第２のデバイスのデータが前記制御装置から正常に取得されたか否かを判定するデータ取得判定手段を有し、
前記動作制御手段は、前記データ取得判定手段によって前記第２のデバイスのデータが前記制御装置から正常に取得されたと判定されたときに前記プログラム実行部を動作させることを特徴とする請求項２に記載のプログラマブル表示器。
【請求項４】
請求項１ないし３のいずれか１項に記載のプログラマブル表示器を実現するコンピュータを前記各手段として機能させるための制御プログラム。
【請求項５】
請求項４に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＬＣのような制御装置と同等の制御機能を備えたプログラマブル表示器に関するものである。
【背景技術】
【０００２】
プログラマブル表示器は、ホストコントローラ（ＰＬＣ、インバータ、温調計等）とのインタフェースを備えており、ホストコントローラに接続されたデバイスの稼働状況を表示したり、デバイスへの制御指示を与えるための操作入力を画面から受け付けたりする機能を備えた操作型表示器である。一般に、プログラマブル表示器は、グラフィック表示機能を有するので、操作盤、スイッチ、表示灯などを表示することができ、制御システムにおける操作端末としての役割を果たす。
【０００３】
近年、このようなプログラマブル表示器には、特許文献１に開示されているように、入出力ユニットとＩ／Ｏ制御インターフェースとを備え、さらにシーケンスプログラムを実行する実行環境を備えることにより、ＰＬＣと同等の制御機能を備えた機種が登場してきている。特許文献１に記載されているプログラマブル表示器は、通常のプログラマブル表示器と同様に、外部のＰＬＣと通信できる機能を備えており、さらに上記のような制御機能を備えている。
【０００４】
また、制御機能を備えたプログラマブル表示器には、特許文献２に記載されているように、接続された外部のＰＬＣのデータを制御機能で利用する機能を備えた機種も登場してきている。特許文献２に記載されているプログラマブル表示器は、ＰＬＣ内のデータを変数で指定して読み取っている。
【特許文献１】特開２００１−２６８１０６号公報（２００１年９月２８日公開）
【特許文献２】特開２００３−１３１７０９号公報（２００３年５月９日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献２に開示されたプログラマブル表示器では、制御機能と外部のＰＬＣとの同期がとれていない状態で独立して動作する。このため、制御機能が外部ＰＬＣより早く起動した場合、制御機能におけるシーケンスプログラムの実行部は、必要とする外部ＰＬＣのデータを取得できず、データが不定な状態で動作しなければならないので、誤動作を招くおそれがある。
【０００６】
また、特許文献１に開示されたプログラマブル表示器では、表示機能と制御機能との同期がとれていない状態で独立して動作するので、表示機能と制御機能とが連携して動作できないという不都合が生じやすい。具体的には、制御機能を備えたプログラマブル表示器では、制御機能が主になり、予め決められた周期（スキャンタイム）で動作するので、電源を投入すると、まず制御機能が起動し始め、シーケンスプログラムを実行し、それから表示機能が起動することが多い。このため、制御機能がシーケンスプログラムを実行した結果で取り込んだデータを、表示機能が起動するまで表示させることができないという不都合が生じる。逆に表示機能が制御機能より早く起動する場合は、表示機能から表示のために制御機能に要求したデータが取得できず、正しく表示ができないという不都合がある。
【０００７】
本発明は、上記の問題点に鑑みてなされたものであり、制御機能を備えたプログラマブル表示器において、所定のデータをＰＬＣから取得してから制御機能におけるシーケンスプログラムの実行部を動作させること、または表示機能の動作が開始してから制御機能を動作させることを目的としている。
【課題を解決するための手段】
【０００８】
本発明に係る第１のプログラマブル表示器は、シーケンスプログラムを実行するプログラム実行部を有し、シーケンスプログラムの実行にしたがって第１のデバイスを制御する制御機能部と、シーケンスプログラムにしたがって第２のデバイスを制御する制御装置と通信する通信部とを備え、前記制御機能部が前記通信部を介して前記制御装置から前記第２のデバイスのデータを取得するプログラマブル表示器において、上記の課題を解決するために、前記制御機能部が、前記第２のデバイスのデータが前記制御装置から正常に取得されたか否かを判定するデータ取得判定手段と、前記データ取得判定手段によって前記第２のデバイスのデータが正常に取得されたと判定されたときに前記制御機能部を動作させる動作制御手段とを有していることを特徴としている。
【０００９】
上記の構成では、制御装置から取得したデータを制御機能部で利用する場合、制御装置からの第２のデバイスのデータの取得は、通信部によって行われる。そのデータ取得が正常に行われたときには、データ取得判定手段によって、データ取得が正常であると判定される。そして、データ取得が正常であると判定されると、動作制御手段によって、制御機能部が動作する。これにより、制御装置から取得したデータを制御機能部で利用するときに、データが不定の状態で制御機能部が動作することを回避できる。それゆえ、制御機能部によって制御されるデバイスの誤動作を防止することができる。
【００１０】
また、データ取得判定手段による判定結果は、例えば、メモリにおいて設けられた所定のビットの状態で示すことができる。これにより、ユーザは、その判定結果を受けて、所望の処理を実現することができる。例えば、その判定結果をユーザに報知する表示処理を行うためのアプリケーションプログラムを用意するといったことが可能となる。このようなアプリケーションプログラムは、プログラマブル表示器の表示処理機能によって実現することができ、上記のビットを利用すると、制御装置からの正常なデータ取得が重要となるアプリケーションプログラムの開発がより容易になる。
【００１１】
本発明に係る第２のプログラマブル表示器は、シーケンスプログラムを実行するプログラム実行部を有し、シーケンスプログラムの実行にしたがって第１のデバイスを制御する制御機能部と、前記制御機能部から取得した制御処理の結果を表示する処理を行う表示処理部とを備えたプログラマブル表示器において、上記の課題を解決するために、前記表示処理部の表示処理動作が可能な状態であるか否かを判定する表示処理動作判定手段と、前記表示処理動作判定手段によって前記表示処理部の表示処理動作が可能な状態であると判定されたときに前記プログラム実行部を動作させる動作制御手段とを備えていることを特徴としている。
【００１２】
上記の構成では、表示処理動作判定手段によって、表示処理部の表示処理動作が可能な状態であると判定されると、動作制御手段によって、前記プログラム実行部が動作する。表示処理動作判定手段による判定結果は、例えば、メモリにおいて設けられた所定のビットの状態で示すことができる。
【００１３】
このように、表示処理部の表示処理動作が可能な状態となってから、プログラム実行部が動作するので、制御機能部による制御処理の結果を適正に表示することができる。
【００１４】
前記プログラマブル表示器は、シーケンスプログラムにしたがって前記第２のデバイスを制御する制御装置と通信する通信部を備え、前記制御機能部が、前記通信部を介して前記制御装置から前記第２のデバイスのデータを取得するとともに、前記第２のデバイスのデータが前記制御装置から正常に取得されたか否かを判定するデータ取得判定手段を有し、前記動作制御手段が、前記データ取得判定手段によって前記第２のデバイスのデータが正常に取得されたと判定されたときに前記プログラム実行部を動作させることが好ましい。
【００１５】
この構成でも、第１のプログラマブル表示器と同様、制御装置から取得したデータを制御機能部で利用する場合、制御装置からの第２のデバイスのデータ取得が正常に行われたときには、データ取得判定手段によって、データ取得が正常であると判定される。そして、データ取得が正常であると判定されると、動作制御手段によって、プログラム実行部が動作する。これにより、第１のプログラマブル表示器と同様、データが不定の状態でプログラム実行部が動作することを回避できるので、制御機能部によって制御されるデバイスの誤動作を防止することができる。また、ユーザは、データ取得判定手段による判定結果を受けて、所望の処理を実現することができるので、よりアプリケーションプログラムの開発が容易になる。
【００１６】
このプログラマブル表示器において、前記動作制御手段は、前記データ取得判定手段によって前記第２のデバイスのデータが正常に取得されたと判定されたときに前記制御機能部を動作させることが好ましい。これにより、第１のプログラマブル表示器と同様、制御装置から取得したデータを制御機能部で利用するときに、データが不定の状態で制御機能部が動作することを回避できるので、制御機能部によって制御されるデバイスの誤動作を防止することができる。
【００１７】
本発明の制御プログラムは、前記記載のプログラマブル表示器のいずれかを実現するコンピュータを前記各手段として機能させる。また、この制御プログラムは、コンピュータ読み取り可能な記録媒体に記録されて提供される。これにより、制御機能部が動作するので、制御機能部による制御処理の結果を適正に表示するといったことが可能になる。
【発明の効果】
【００１８】
本発明に係る第１のプログラマブル表示器は、以上のように、制御機能部が、前記第２のデバイスのデータが制御装置から正常に取得されたか否かを判定するデータ取得判定手段と、前記データ取得判定手段によって前記第２のデバイスのデータが正常に取得されたと判定されたときにプログラム実行部を動作させる動作制御手段とを有しているので、制御装置から取得したデータを制御機能部で利用するときに、データが不定の状態で制御機能部が動作することを回避できる。したがって、制御機能部（プログラム実行部）と制御装置との連携を円滑に行うことができるという効果を奏する。
【００１９】
また、本発明に係る第２のプログラマブル表示器は、以上のように、表示処理部の表示処理動作が可能な状態であるか否かを判定する表示処理動作判定手段と、前記表示処理動作判定手段によって前記表示処理部の表示処理動作が可能な状態であると判定されたときに前記制御機能部を動作させる動作制御手段とを備えているので、制御機能部による制御処理の結果を適正に表示することができる。したがって、表示処理部と制御機能部との連携を円滑に行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態について図１および図２に基づいて説明すると、以下の通りである。
【００２１】
図１に示すように、プログラマブル表示器１は、シリアルケーブル２を介してＰＬＣ３と接続されている。なお、プログラマブル表示器１とＰＬＣ３との接続は、シリアルケーブル２に限らず、イーサネット（登録商標）等のネットワークやその他の通信手段によってなされてもよい。
【００２２】
ＰＬＣ３は、ユーザが作成したシーケンスプログラム（ラダープログラムなど）にしたがって、例えば、数十ｍｓなどの予め定められたスキャンタイム毎に、入力ユニットを介して入力用のデバイス４の状態を取り込むとともに、出力用のデバイス４に制御指示を与える。
【００２３】
入力用のデバイス４としては、センサ（温度センサ、光センサなど）、スイッチ（押ボタンスイッチ、リミットスイッチ、圧力スイッチなど）のような機器が用いられる。出力用のデバイス４としては、アクチュエータ、リレー、電磁弁、表示器などが用いられる。これらのデバイス４は、製造ラインなどの各種のターゲットシステム６の所要各部に配置される。
【００２４】
なお、デバイス４は、後述するタッチパネル１８などの入力装置から手動で入力されたデータを格納するためのデータメモリ（図示せず）における特定の領域であってもよい。また、デバイス４は、ＰＬＣ３内のメモリにおける特定の領域であってもよい。
【００２５】
ＰＬＣ３内のメモリ（デバイスメモリ）は、デバイス４の状態（デバイス４からの出力値やデバイス４への設定値）を示すデータ（ワードデータやビットデータ）を、デバイスアドレスで特定される領域に格納している。上記メモリにおいて、ワードデバイスとビットデバイスとが設定される。ワードデバイスは、入出力されるデータが数値のようなワードデータを格納する領域として設定され、ワードアドレス（デバイスアドレス）で指定される。また、ビットデバイスは、オン・オフ状態のようなビットデータを格納する領域として設定され、ビットアドレス（デバイスアドレス）で設定される。このような設定により、メモリ内の任意のワードデバイスまたはビットデバイスをデバイスアドレスとして指定してアクセスするだけでデバイス４を制御し、またはその状態に関する情報を個別に取り出すことができる。
【００２６】
ＰＬＣ３のメーカ毎に固有の名称で呼ばれるデバイスアドレスには、変数が対応付けられている。変数は、ユーザによって任意に設定可能な名称であり、後述するコメントを変数として扱うことができる。
【００２７】
以降の説明では、デバイスアドレスを適宜、アドレスと称する。
【００２８】
プログラマブル表示器１は、ＣＰＵなどの演算処理装置を備えており、ユーザが作成した入力操作および表示用の画面データを表示することによりプログラマブル表示器特有の操作機能および表示機能を実現する専用コンピュータである。制御システムのＨＭＩ機器として好適に使用されるプログラマブル表示器１は、後述する処理規定情報（タグ）を組み合わせて決定される画面データに基づいて、デバイス４および後述するＩ／Ｏユニット１６ａに接続されるデバイス５の状態を画面表示する際の動作や、画面への操作に応じてデバイス４，５の状態を制御する際の動作を特定する。また、プログラマブル表示器１は、ＰＬＣ機能を備えることにより、コントローラとしてデバイス５に制御指示を与えたり、デバイス５の状態を取得したりする。
【００２９】
このプログラマブル表示器１は、シリアルケーブル２を介したＰＬＣ３との通信により、ＰＬＣ３を介して表示画面に表示される各デバイス４の状態を取得するとともに、Ｉ／Ｏ部１６を介して表示画面に表示される各デバイス５の状態を取得して、例えば、後述のディスプレイ１７に各デバイス４，５の状態を表示する機能を有する。また、プログラマブル表示器１は、後述のタッチパネル１８への操作に応じて、デバイス４，５へデバイスの状態制御を指示する機能を有する。
【００３０】
なお、デバイス４，５の状態の取得／変更は、その都度指示してもよいし、プログラマブル表示器１内に一時的なメモリ空間を用意し、取得／変更時には、当該メモリ空間へアクセスするとともに、所定の時間間隔毎や所定のイベント毎にＰＬＣ３やＩ／Ｏ部１６と通信して各々のアドレスが割り当てられた実体と同期を取ってもよい。
【００３１】
プログラマブル表示器１は、上記の機能を実現するために、ＨＭＩ処理部１１と、コントローラ部１２と、データメモリ１３と、作業メモリ１４と、インターフェース部（図中、Ｉ／Ｆ）１５と、Ｉ／Ｏ部１６と、ディスプレイ１７と、タッチパネル１８とを備えている。以下、プログラマブル表示器１の主要各部について詳細に説明する。
【００３２】
ディスプレイ１７は、プログラマブル表示器１を薄型に構成するために、液晶ディスプレイや、ＥＬディスプレイや、プラズマディスプレイのような平板型ディスプレイが好適に用いられる。タッチパネル１８は、ディスプレイ１７の表示画上でタッチ入力を行うために設けられている入力装置である。
【００３３】
インターフェース部１５は、プログラマブル表示器１がＰＬＣ３との間のシリアル通信を行うための通信制御部であり、シリアルケーブル２で各々が接続されている。インターフェース部１５は、その接続機器データに基づいて、ＰＬＣ３のメーカや機種に応じた通信プロトコルを用いて通信を行う。上記の接続機器データや通信プロトコルは、例えば、次に説明するデータメモリ１３に格納される。
【００３４】
Ｉ／Ｏ部１６は、Ｉ／Ｏユニット１６ａおよびＩ／Ｏ制御インターフェース（図中、Ｉ／Ｏ・Ｉ／Ｆ）１６ｂを備えている。
【００３５】
Ｉ／Ｏユニット１６ａは、デバイス４と同様なデバイス５が接続可能となるように、多数の入出力端子、入出力回路などを備えている。このＩ／Ｏユニット１６ａは、接続される通信システムに応じて異なる機種がプログラマブル表示器１の本体に着脱可能に取り付けられる。例えば、Ｉ／Ｏユニット１６ａとしては、デジタルデータの入出力を行うためのＤＩＯユニットや、リモートＩ／Ｏユニット（アナログ／デジタル変換ユニット、高速カウンタユニットなど）が用いられる。プログラマブル表示器１には、装着可能であり、かつ動作を保証しているＩ／Ｏユニット１６ａが予め規定されている。
【００３６】
Ｉ／Ｏ制御インターフェース１６ｂは、後述するコントローラ部１２とＩ／Ｏユニット１６ａとの間の信号の授受を仲介するインターフェース回路であって、入出力メモリ、Ｄ／Ａ変換器、Ａ／Ｄ変換器などを備えている。
【００３７】
データメモリ１３は、プロジェクトファイル、ラダーファイル、上記の通信プロトコルなどを格納するためのメモリであり、ＦＥＰＲＯＭ(Flash Erasable and Programmable ROM)が用いられる。ＦＥＰＲＯＭは、書き替え可能な読み出し専用のフラッシュメモリであるので、一般のパーソナルコンピュータにおけるハードディスクドライブの役割を果たす。フラッシュメモリは、可動部を持たず、かつ衝撃に強いので、劣悪な周囲環境でも安定して動作する。
【００３８】
プロジェクトファイルは、プログラマブル表示器１に表示される１つ以上のユーザ画面（１フレーム分の画面データによって構成される単位画面）のデータをまとめた画面ファイルである。プロジェクトファイルは、通常、ターゲットシステム６やターゲットシステム６で製造される製品などに応じた一連の関連する複数の画面データからなることが多い。このプロジェクトファイルは、画面作成用のソフトウェアである画面エディタで作成されたプロジェクトファイルと異なるファイル形式（ＨＭＩ処理部１１が解読可能なファイル形式）で保存されている。
【００３９】
プログラマブル表示器１は、上記のプロジェクトファイルから各画面番号に付与される固有の画面番号に基づいて１つの画面データを選択して、その画面データに基づいてユーザ画面を表示する。
【００４０】
上記の画面データは、ディスプレイ１７に表示すべきベース画面や部品のデータおよび各部品に付与された後述する処理規定情報などを含んでいる。この画面データは、図形データ部およびアドレスデータ部を含んでいる。図形データ部は、ユーザが作成したマークについての図形データや選択された部分を含み、アドレスデータ部は、図形データ部に対応するように、入力されたマークや部品について、前記のアドレスおよびアドレスに対応するコメントを含んでいる。具体的には、図形データ部におけるマークや部品の個々は、アドレスデータ部においてそれぞれ対応するコメントおよびアドレスと対応付けられている。
【００４１】
コメントとしては、デバイス４，５の動作状態（起動、停止等）のような事象名や、スイッチに対応するＳＷやランプに対応するＬＡＭＰのようなデバイス４に対応する符号や、操作指示や、制御対象となる物理量などが挙げられる。また、コメントは、変数として扱うこともできる。このように定義されるコメントは、デバイス４に対応する所望のデバイスアドレスに予め対応付けられている。
【００４２】
また画面データは、ユーザ画面に関連して行われる各種の処理を規定する処理規定情報（タグ）を含んでいる。この処理規定情報は、ベース画面上で実行されるべき事象毎に作成されており、基本的には、表示処理を実行すべきベース画面のファイル番号（画面番号）と、このベース画面上で実行すべき動作内容を特定する事象名と、各実行事象毎に参照される１または複数のデータからなる参照情報とを一組として備えている。
【００４３】
本実施の形態に係るプログラマブル表示器１では、上記のタグとして、ベース画面上の領域（表示範囲）とその領域への表示に対応するデバイスのデバイスアドレスとの対応を示す表示タグ、および画面上の領域（入力範囲）とその領域へのタッチ入力に対応するアドレスとの対応を示すタッチ入力タグが規定されている。さらに、本実施形態では、各タグは、複数のユーザ画面の少なくとも１つと関連付けることができる。
【００４４】
ラダーファイルは、コントローラ部１２が実行するラダープログラムのファイルであり、ラダープログラム作成用のソフトウェアであるラダーエディタで作成される。このラダーファイルは、コマンドデータ部およびアドレスデータ部を含んでいる。コマンドデータ部は、入力されたラダー記号に対応するラダー命令をそれぞれに対応する、コーディングに用いるオペランド（アドレス）を含んでいる。ラダープログラム作成時に選択されたラダー記号は、ラダーファイルにおいてラダー命令として保存される。一方、アドレスデータ部は、コマンドデータ部のオペランドと個々に対応するように、入力されたラダー記号に対応するラダー命令について、ラダーエディタで設定されたアドレスおよびアドレスに関連付けられた前述のコメントを含んでいる。
【００４５】
作業メモリ１４は、例えば、ＤＲＡＭによって構成されており、表示制御やラダープログラムの実行などの演算処理時の作業用に用いられる他、ＰＬＣ３との間でやり取りされるデータの一時的な記憶に用いられる。
【００４６】
特に、ＤＲＡＭは、ＰＬＣ３のメモリに格納されるデバイス４の状態（デバイスアドレスの内容）をＰＬＣ３のメモリとの間で受け渡しするための状態メモリ領域１４ａを有している。また、作業メモリ１４は、状態監視領域１４ｂを有している。状態監視領域１４ｂは、起動監視ビットと読込完了ビットとが設定されている。起動監視ビットは、後述する表示処理部１１ａの起動が完了して表示処理動作が可能な状態であるときにＯＮ（“１”）となり、表示処理部１１ａの起動が完了しておらず表示処理動作が可能な状態にないときにＯＦＦ（“０”）となるビットである。読込完了ビットは、指定したデータのＰＬＣ３からの読み込みが完了したときにＯＮ（“１”）となり、指定したデータのＰＬＣ３からの読み込みが完了していないときにＯＦＦ（“０”）となるビットである。
【００４７】
なお、プログラマブル表示器１は、一般のＰＬＣが備える特殊リレーと同等のユーザが自由に使用できる内部リレーを備えている。上記の起動監視ビットおよび読込完了ビットは、その内部リレーを利用して設定されてもよい。
【００４８】
また、作業メモリ１４は、ディスプレイに表示する画像を展開するＶＲＡＭ１４ｃも含んでいる。このＶＲＡＭ１４ｃには、データメモリ１３から出された画面データのイメージを水平方向に表示される順にドットデータとして格納する。
【００４９】
ＨＭＩ処理部１１は、ＨＭＩ処理プログラムをプログラマブル表示器１が備えるＣＰＵなどの演算処理手段に実行させることにより実現される機能ブロックである。一方、コントローラ部１２は、ＰＬＣ機能を果たす部分であり、コントローラプログラムをプログラマブル表示器１が備える前述の演算処理手段に実行させることによって実現される機能ブロックである。上記のＨＭＩ処理プログラムおよびコントローラプログラムは、プログラマブル表示器１と分離可能に構成される記録媒体にも記録可能であり、その記録媒体からプログラマブル表示器１にインストールされてもよい。ＨＭＩ処理プログラムおよびコントローラプログラムは、プログラマブル表示器１の機種に応じた機能を発揮させるために、機種毎に個別に用意されている。
【００５０】
上記の記録媒体は、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスク系、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤなどの光ディスク系、ＩＣカード（メモリカードを含む）、光カードなどのカード系が好適である。その他、上記のプログラムメディアは、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００５１】
また、プログラマブル表示器１が、インターネットを含む通信ネットワークと接続可能に構成されていれば、当該通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。ただし、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めプログラマブル表示器１に格納されるか、あるいは別な記録媒体からインストールされるものであってもよい。
【００５２】
ＨＭＩ処理部１１は、ユーザ画面の表示制御、ユーザ画面を介した入力操作の制御、ＰＬＣ３などの接続機器との通信の制御といったＨＭＩ機能の中心的な制御動作を行う。また、ＨＭＩ処理部１１は、表示処理部１１ａ、入力処理部１１ｂ、通信処理部１１ｃおよび起動通知部１１ｄを有している。
【００５３】
表示処理部１１ａは、デバイス４，５の状態を取得してユーザ画面に表示する処理を行う表示実行プログラム（ランタイム）が実行されることにより実現される機能ブロックである。
【００５４】
この表示処理部１１ａは、ＰＬＣ３内のメモリに設定される前述のビットデバイスまたはワードデバイスが示す状態情報のうち、必要な情報を適時に作業メモリ１４に読み込む一方、上記の表示タグを繰り返し読み出して、表示タグで指定された表現形式の部品を読み出した値に応じた形態で画面上の指定された領域へディスプレイ１７に表示させる。これによって、ビットデバイスまたはワードデバイスの状態の変化に応じて変化する表示動作が実行され、ＰＬＣ３から取得したデバイス４の状態およびコントローラ部１２から取得したデバイス５の状態がユーザ画面における部品等の表示状態に反映される。表示処理部１１ａは、作業メモリ１４のＶＲＡＭ１４ｃ上に画面データを読み出して画面のイメージを展開することにより、当該画面をディスプレイ１７に表示する。
【００５５】
入力処理部１１ｂは、ユーザ画面上でのタッチパネル１８を介した入力（タッチ入力や数値入力）によってデバイス４，５に制御指示を与える処理を行う。この入力処理部１１ｂも、表示実行プログラム（ランタイム）が実行されることにより実現される機能ブロックである。
【００５６】
入力処理部１１ｂは、前述の入力タグを繰り返し読み出して、入力タグにおける参照情報に含まれる、ユーザ画面の所定の領域における入力位置を特定するための範囲（入力が有効となる有効入力座標範囲）、およびタッチパネル１８の操作（数値入力操作、ＯＮ／ＯＦＦ操作など）を特定する事象名などで特定される内容の動作をＰＬＣ３内のメモリまたは作業メモリ１４にビットデバイスまたはワードデバイスとして設定する。例えば、数値入力操作であれば、ワードデバイスに制御指示として数値データなどが書き込まれ、ＯＮ／ＯＦＦ操作であれば、ビットデバイスに制御指示として新たなビットの状態が書き込まれる。これによって、ＰＬＣ３またはコントローラ部１２において、設定された制御指示が上記の動作として実行され、デバイス４，５の状態が変化する。
【００５７】
通信処理部１１ｃは、インターフェース部１５と表示処理部１１ａおよび入力処理部１１ｂとの間の通信を仲介する通信プログラムの部分である。この通信処理部１１ｃは、表示処理部１１ａの指示に応じて、指定されたデータ（デバイス４，５の状態）をＰＬＣ３やコントローラ部１２に要求して取得する。また、通信処理部１１ｃは、入力処理部１１ｂの指示に応じて、指定されたデータ（デバイス４，５の状態）をＰＬＣ３やコントローラ部１２において変更する（書き替える）。
【００５８】
起動通知部１１ｄは、表示処理部１１ａが起動して表示処理動作が可能になったことを認識すると、前述の起動監視ビットをＯＦＦからＯＮに書き替える。あるいは、表示処理部１１ａ自身が表示処理動作が可能になったときに起動監視ビットをＯＦＦからＯＮに書き替えるようにしてもよい。
【００５９】
コントローラ部１２は、ラダープログラムの実行といったコントローラ機能の中心的な制御動作を行うだけでなく、ＰＬＣ３などの接続機器との通信の制御などを行う。このコントローラ部１２は、ラダープログラム実行部１２ａ、データ取得判定部１２ｂおよび動作制御部１２ｃを有している。
【００６０】
ラダープログラム実行部１２ａは、ラダープログラムを処理するための制御処理プログラム（ランタイム）が実行されることにより実現される機能ブロックである。ラダープログラム実行部１２ａは、ラダープログラムを実行することに先立って、データメモリ１３からラダーファイルを読み出して作業メモリ１４にラダープログラムとして展開する。このラダープログラム実行部１２ａは、作業メモリ１４から読み出したラダープログラムを数十ｍｓなどの予め定められた周期でスキャンして、ラダー命令を一つずつ実行していく。
【００６１】
また、ラダープログラム実行部１２ａは、ラダープログラムを実行することに伴って、デバイス５の状態を状態メモリ領域１４ａに読み込んだり、デバイス５を制御したりする。また、ラダープログラム実行部１２ａは、必要に応じて、指定されたデータ（デバイス４の状態）をＰＬＣ３に要求して取得する。
【００６２】
ここで、前述の通信処理部１１ｃは、インターフェース部１５とコントローラ部１２との間の通信を仲介する役割も果たす。また、通信処理部１１ｃは、コントローラ部１２の起動時およびラダープログラム実行部１２ａの動作中に、ラダープログラム実行部１２ａの指示によらずに、ＰＬＣ３のメモリにおいて使用されている全てのデータ（デバイスデータ）を状態メモリ領域１４ａに読み込む。
【００６３】
データ取得判定部１２ｂは、通信処理部１１ｃが当該データを各々１回以上読み込むと、状態監視領域１４ｂの読込完了ビットをＯＮに書き替える。具体的には、データ取得判定部１２ｂは、通信処理部１１ｃが前述の通信プロトコルにしたがってＰＬＣ３と通信を行い、必要とするデータ全てに対して正常にデータが送信されきたことを確認して、データの読み込みが完了したと認識する。
【００６４】
また、データ取得判定部１２ｂは、通信処理部１１ｃが当該データの各々１回以上の読み込みに失敗すると、状態監視領域１４ｂの読込完了ビットをＯＦＦに書き替える。具体的には、データ取得判定部１２ｂは、通信処理部１１ｃが、データ読み込み時にデータ送信を要求するコマンドをＰＬＣ３に送信してから所定の時間内にデータ送信が行われないとタイムアウトとして扱うことで、読み込みが失敗したと認識する。
【００６５】
動作制御部１２ｃは、コントローラ部１２の起動後に、状態監視領域１４ｂの前述の起動監視ビットおよび読込完了ビットの状態を確認し、両ビットがともにＯＮであるときに、ラダープログラム実行部１２ａに動作を開始するように指示を与える。また、動作制御部１２ｃは、コントローラ部１２の起動後に読込完了ビットがＯＦＦであるときに、そのことをラダープログラム実行部１２ａに通知する。さらに、動作制御部１２ｃは、ラダープログラム実行部１２ａが動作している間にも、読込完了ビットの状態を監視しており、読込完了ビットがＯＦＦであるときに、そのことをラダープログラム実行部１２ａに通知する。
【００６６】
ここで、上記のように構成されるプログラマブル表示器１の起動時の動作を図２のフローチャートを参照して説明する。
【００６７】
まず、プログラマブル表示器１の電源が投入されると（ステップＳ１）、コントローラ部１２が起動する（ステップＳ２）。このとき、まだラダープログラム実行部１２ａの動作は開始しておらず、通信処理部１１ｃによるＰＬＣ３からのデータの読み込みが開始する（ステップＳ３）。データ取得判定部１２ｂは、通信処理部１１ｃが、状態メモリ領域１４ａに読み込むべきデータの各々１回以上の読み込みに成功すると、状態監視領域１４ｂの読込完了ビットをＯＮに書き替える。
【００６８】
一方、コントローラ部１２からやや遅れてＨＭＩ処理部１１が起動する。このとき、ＨＭＩ処理部１１の各部の初期化が行われるとともに、データメモリ１３から画面ファイルが作業メモリ１４に読み出される。表示処理部１１ａが表示処理動作が可能になり、初期画面を表示できる状態になると、起動通知部１１ｄが状態監視領域１４ｂの起動監視ビットをＯＮに書き替える。
【００６９】
コントローラ部１２の起動後にデータの読み込みが開始してからは、動作制御部１２ｃが、状態監視領域１４ｂの読込完了ビットの状態を所定の周期で確認している（ステップＳ４）。動作制御部１２ｃが、読込完了ビットのＯＮ状態を認識すると、そのこと（読込完了ビットのＯＮ状態）をラダープログラム実行部１２ａに通知する。これにより、ＰＬＣ３から取得したデータをコントローラ部１２で利用するときに、データが不定の状態でラダープログラム実行部１２ａが動作することを回避できる。それゆえ、コントローラ部１２によって制御されるデバイス５の誤動作を防止することができる。
【００７０】
また、表示処理部１１ａは、読込完了ビットのＯＮ状態に応じて、ＰＬＣ３からのデータの読み込みが正常に行われたことをユーザに報知するためのメッセージ等を画面に表示する（ステップＳ５）。また、ユーザは、読込完了ビットを利用すれば、プログラムを停止させるといった処理を実現することができる。
【００７１】
続いて、動作制御部１２ｃは、状態監視領域１４ｂの起動監視ビットの状態を所定の周期で確認する（ステップＳ６）。動作制御部１２ｃが、読込完了ビットのＯＮ状態を認識すると、ラダープログラム実行部１２ａを動作させる（ステップＳ７）。
【００７２】
ラダープログラム実行部１２ａが動作すると、コントローラ部１２の起動時に予めデータメモリ１３から作業メモリ１４に読み出されていたラダープログラムが、ラダープログラム実行部１２ａによって実行されていく。このとき、ＰＬＣ３から上記のようにして読み出されたデータが必要に応じてラダープログラムの実行処理に利用される。また、ラダープログラム実行部１２ａの実行後も、通信制御部１１ｃによってＰＬＣ３からのデータの読み込みが所定の周期で繰り返されている。
【００７３】
動作制御部１２ｃは、ラダープログラム実行部１２ａが動作を開始してからも、読込完了ビットの状態を監視している（ステップＳ８）。動作制御部１２ｃは、ラダープログラム実行部１２ａが動作を停止するまでその監視を続ける（ステップＳ９）。また、ラダープログラム実行部１２ａが動作している間に、通信処理部１１ｃがＰＬＣ３からのデータの読み込みに失敗すると、データ取得判定部１２ｂは、読込完了ビットをＯＮからＯＦＦに書き替える。動作制御部１２ｃは、読込完了ビットのＯＦＦ状態を確認すると、そのこと（読込完了ビットのＯＦＦ状態）をラダープログラム実行部１２ａに通知する。また、表示処理部１１ａは、読込完了ビットのＯＦＦ状態に応じて、ＰＬＣ３からのデータの読み込みが失敗したことをユーザに報知するためのメッセージ等を画面に表示して（ステップＳ１０）、処理をステップ８に戻す。
【００７４】
このように、プログラマブル表示器１は、ＰＬＣ３から読み込んだデータをコントローラ部１２で利用する場合、ＰＬＣ３から必要なデータが正常に読み込まれたときに、動作制御部１２ｃによって、ラダープログラム実行部１２ａの動作を開始させる。これにより、ＰＬＣ３からのデータが正常に読み込まれていないデータ不定の状態でラダープログラム実行部１２ａが動作することを回避することができる。それゆえ、不定なデータでラダープログラム実行部１２ａが動作することによってデバイス５（外部Ｉ／Ｏなど）が想定外の動作をすることを回避することができる。
【００７５】
また、プログラマブル表示器１は、動作制御部１２ｃが起動監視ビットの状態を監視することにより、表示処理部１１ａが表示処理可能な状態になってから、ラダープログラム実行部１２ａを動作させる。これにより、表示処理部１１ａとラダープログラム実行部１２ａとの動作が同期し、ラダープログラム実行部１２ａの処理結果を確実に表示することができる。
【００７６】
動作制御部１２ｃによる読込完了ビットの監視は、ラダープログラム実行部１２ａの動作中にも続けられるため、シリアルケーブル２の断線や接続不良、ＰＬＣ３の異常などによって、ＰＬＣ３から正常にデータを読み込めなくなったときにもデータ取得判定部１２ｂによって読込完了ビットがＯＦＦになり、そのことがユーザに報知される。それゆえ、ユーザはデータ送信に何らかの不具合が生じたことを把握できるので、その不具合を解消するための何らかの対応をとることが可能となる。具体的には、シリアルケーブル２の断線や接続不良などの発生によって何らかの処理を行うようにラダープログラムを作成することができる。
【００７７】
また、起動監視ビットおよび読込完了ビットは、前述のように、プログラマブル表示器１がユーザ用に備えている内部リレー（特殊リレー）を利用して設定してもよい。それゆえ、起動監視ビットおよび読込完了ビットを設定するために、特別なメモリ領域を用意する必要がない。しかも、起動監視ビットの状態によって表示処理可能か否かを判定し、読込完了ビットの状態によってラダープログラム実行部１２ａが動作可能か否かを判定するので、ユーザはそのビットの状態（ロジック）を自由に利用してＨＭＩ処理部１１の表示処理やコントローラ部１２の制御処理に反映させることができる。
【００７８】
本発明は、上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【００７９】
本発明のプログラマブル表示器は、一般のプログラマブル表示器と同様に外部のＰＬＣとの通信機能を備えるとともに、ＰＬＣの制御機能（ＰＬＣ機能）を備えており、外部のＰＬＣのデータを読み込んでＰＬＣ機能で利用するときに、ＰＬＣから正常にデータを読み込んだときにＰＬＣ機能（シーケンスプログラム実行機能）を動作させるとともに、表示処理機能が動作したときにＰＬＣ機能を動作させるので、プログラマブル表示器の内部のＰＬＣ機能と外部のＰＬＣとの連携を円滑に行うとともに、ＰＬＣ機能と表示処理機能との連携を円滑に行うことができ、プログラマブル表示器が組み込まれたシステムになどに好適に利用できる。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施形態に係る制御システムの構成を示すブロック図である。
【図２】上記制御システムのリモートアクセスの動作における処理の手順を示すフローチャートである。
【符号の説明】
【００８１】
１    プログラマブル表示器
３    ＰＬＣ（制御装置）
４    デバイス（第２のデバイス）
５    デバイス（第１のデバイス）
１１    ＨＭＩ処理部
１１ａ  表示処理部
１１ｃ  通信処理部（通信部）
１１ｄ  起動通知部（表示処理動作判定手段）
１２    コントローラ部（制御機能部）
１２ａ  ラダープログラム実行部（プログラム実行部）
１２ｂ  データ取得判定部（データ取得判定手段）
１２ｃ  動作制御部（動作制御手段）
【図１】
2008102639.tif 000003
【図２】
2008102639.tif 000004