表示器、表示器の制御方法および表示器の制御プログラム
【課題】制御対象機器を制御するためのプログラムの作成工数を削減する。
【解決手段】タッチパネルを有する表示器150は、タッチパネルに対するタッチ操作の入力を受け付ける操作入力部21と、表示器150の外部からデータの入力を受け付けるデータ入力部22と、操作入力部21から送られる信号に基づいてタッチ操作に応じた命令を実行するように構成された制御部23と、制御部23によって実行された命令と、タッチパネルに対する操作が行なわれた時刻とを含む操作ログを生成するように構成された生成部24と、生成部24によって生成された操作ログを格納するように構成された記憶部25と、記憶部25に格納されている操作ログを出力するように構成された出力部26とを備える。
【解決手段】タッチパネルを有する表示器150は、タッチパネルに対するタッチ操作の入力を受け付ける操作入力部21と、表示器150の外部からデータの入力を受け付けるデータ入力部22と、操作入力部21から送られる信号に基づいてタッチ操作に応じた命令を実行するように構成された制御部23と、制御部23によって実行された命令と、タッチパネルに対する操作が行なわれた時刻とを含む操作ログを生成するように構成された生成部24と、生成部24によって生成された操作ログを格納するように構成された記憶部25と、記憶部25に格納されている操作ログを出力するように構成された出力部26とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は表示器に関し、特に、タッチパネルを有する表示器に関する。
【背景技術】
【0002】
プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)と称される制御装置は、自動組付け機その他の制御対象機器(ターゲットデバイスともいう。)に接続され、シーケンス制御その他の制御を実行し、その機器の状態を表わすデータを受信する。この制御対象機器の制御あるいは状態の表示は、たとえば、制御対象機器の状態を表示する機能およびその機器の動作を制御する機能を有する表示器を介して行なわれる。また、近年、上記の制御装置が有する制御機能を備えた表示器も導入されている。
【0003】
このような表示器は、接続されている制御対象機器の状態を表示したり、作業者が指示を入力するための画面を表示する。このとき表示される画面は、画面を編集するエディタ装置において予め準備されたプログラミング言語によって作成される。
【0004】
また、この表示器による制御対象機器の動作を制御するための命令は、その命令を編集するプログラムエディタによって作成される。IEC(International Electrotechnical Commission)は、このようなエディタとして実行可能なプログラミング言語を制定している。この言語には、SFC(Sequential Function Chart)、LD(Ladder Diagram)、IL(Instruction List)、FBD(Function Block Diagram)、およびST(Structured Text)が含まれる。
【0005】
作業者からの指示を受け付ける画面は、たとえば予め上記の言語によって作成されたラダー図その他の機能チャートに、命令と称される特定の処理(たとえば、スイッチの開閉操作、論理演算、データ転送等)に対応する変数を割り付けることにより作成される。この場合、処理に対応する変数が参照するデータの属性には、「0」か「1」のビット属性、整数属性、整数配列など多様な属性が含まれる。そのため、処理ごとに、適切な属性を参照する変数を個別に割り当てる必要がある。
【0006】
この変数の割り当てその他のデータの入力は、これまで、利用者(ラダープログラムの開発者)がキーボードを介してデータの入力を行なうことが通常であった。そのため、キー操作のミス等によって、誤ったデータが入力されたり、あるいは、データの入力のために手間を要するという問題があった。
【0007】
そこで、たとえば、特開2005−141564号公報(特許文献1)は、データの誤入力を防止するためのエディタ装置を開示している。また、国際公開第2005/091098号パンフレットは、制御対象機器の異常時の状態を確認できる表示器を開示している。
【特許文献1】特開2005−141564号公報
【特許文献2】国際公開第2005/091098号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、プログラムの作成には依然として時間を要するため、新たな生産ラインの導入に合わせて実行プログラムの機動的な開発が容易でないという問題点がある。また、設備の制御の内容には、複数の命令の間隔を画一的に規定することが困難であって設置後に熟練者による調整が必要となる場合もある。たとえば、あるタッチ操作と次のタッチ操作との時間間隔は、制御対象機器の稼動状態に応じて変動し得るが、そのような時間間隔は、具体的な制御を実行しないと明らかにならない場合がある。そして、プログラムによる制御の精度を一定の範囲に維持するためには、その制御を実行した後に、熟練者による調整が必要になる場合もある。そのため、機器を制御するためのプログラムをエディタ装置で作成したのみでは、既存のプログラムによる制御精度を新たに作成したプログラムで維持することが困難な場合もあった。なお、本明細書において、「時間間隔」とは、たとえば、連続する2つの操作が表示器に与えられ場合における当該2つの操作が行なわれた間隔をいう。時間間隔は、たとえば、ミリ秒その他の時間の単位として、あるいは、予め規定された一定の間隔でプロセッサその他の演算装置によって計測されるカウント値等によって表わされるが、これらに限られない。
【0009】
本発明は、上述のような問題点を解決するためになされたものであって、その目的は、実行プログラムの作成を支援できる表示器を提供することである。他の目的は、開発工数が削減されるプログラムの作成を支援できる表示器を提供することである。
【0010】
他の目的は、実行プログラムの作成を支援する表示器の制御方法を提供することである。他の目的は、開発工数が削減されるプログラムの作成を支援する表示器の制御方法を提供することである。
【0011】
他の目的は、実行プログラムの作成を支援できる表示器の制御プログラムを提供することである。他の目的は、開発工数が削減されるプログラムの作成を支援できる表示器の制御プログラムを提供することである。
【課題を解決するための手段】
【0012】
本発明のある局面に従う表示器は、タッチパネルと、タッチパネルに表示されている画像に対する操作に基づいて、画像によって特定される命令を実行するように構成された制御手段と、制御手段によって実行された命令およびタッチパネルに対する操作と操作とが行なわれた時間間隔情報を含む操作ログを生成するように構成された生成手段とを備える。
【0013】
好ましくは、タッチパネルは、操作ログの取得の開始を表わす画像に対する開始操作を受け付ける。生成手段は、開始操作の後のタッチパネルに対する操作に基づいて、操作ログの生成を開始するように構成されている。
【0014】
好ましくは、タッチパネルは、操作ログの取得の終了を表わす画像に対する終了操作を受け付ける。生成手段は、終了操作の前に行なわれたタッチパネルに対する操作に基づいて、操作ログを生成するように構成されている。
【0015】
好ましくは、表示器は、タッチパネルに対する操作が行なわれた時における表示器の外部環境の状態を表わすデータの入力を受け付ける入力手段をさらに備える。生成手段は、命令と操作が行なわれた時刻情報とに加えて当該データを含む操作ログを生成するように構成されている。なお、「外部環境の状態」とは、表示器の周りの環境のみを意味するものではなく、表示器に接続されたPLC、PLCに接続された制御対象機器の状態、または、PLCもしくは制御対象機器の周りの環境をも含むものとする。
【0016】
好ましくは、表示器は、操作ログをプログラムに変換する変換手段をさらに備える。
本発明の他の局面に従うと、タッチパネルと、プログラムを実行するプロセッサと、メモリとを備えた表示器の制御方法が提供される。この制御方法は、プロセッサが、タッチパネルに対する各操作に応答して、プログラムに基づいて、各操作が行なわれた時にタッチパネルに表示されている画像によって特定される各命令を実行するステップと、プロセッサが、タッチパネルに対する各操作に基づいて、各操作によって特定される各命令および2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、プロセッサが、生成するステップにおいて生成された操作ログを格納するステップとを含む。
【0017】
好ましくは、制御方法は、タッチパネルが、操作ログの取得の開始を表わす画像に対する開始操作を受け付けるステップをさらに含む。生成するステップは、開始操作の後のタッチパネルに対する操作に基づいて、操作ログの生成を開始するステップを含む。
【0018】
好ましくは、制御方法は、タッチパネルが、操作ログの取得の終了を表わす画像に対する終了操作を受け付けるステップをさらに含む。生成するステップは、終了操作の前に行なわれたタッチパネルに対する操作に基づいて、操作ログを生成するステップを含む。
【0019】
好ましくは、制御方法は、プロセッサが、タッチパネルに対する操作が行なわれた時における表示器の外部環境の状態を表わすデータの入力を受け付けるステップをさらに含む。生成するステップは、命令と操作が行なわれた時刻とに加えてデータを含む操作ログを生成するステップを含む。
【0020】
本発明のさらに他の局面に従うと、タッチパネルと、プロセッサと、アプリケーションプログラムと、メモリとを備えた表示器の制御プログラムが提供される。この制御プログラムは、表示器に、タッチパネルに対する各操作に基づいて、プロセッサが、アプリケーションプログラムを実行することにより、各操作が行なわれた時にタッチパネルに表示されている画像によって特定される各命令を実行するステップと、タッチパネルに対する操作に基づいて、プロセッサが、各操作によって特定される各命令および連続する2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、プロセッサが、生成するステップにおいて生成された操作ログをメモリに格納するステップとを実行させる。
【発明の効果】
【0021】
本発明によると、実行プログラムの作成が容易になり、開発工数が削減される。また、本発明によると、制御精度を一定に保持できるプログラムの作成を支援することができる。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0023】
[使用態様]
図1を参照して、本発明の実施の形態に係る表示器150の使用態様について説明する。図1は、表示器150によって生成されるデータの流れを表わす図である。表示器150は、一実施例において、タッチパネルを備えたプログラム可能なプログラマブル表示器(以下、「表示器」という。)として構成されている。表示器150を作動させるためのプログラム(たとえばラダープログラム)は、エディタ装置100によって生成される。また、エディタ装置100は、表示器150に表示される画面データ(プロジェクトファイル)を生成する機能を有する。エディタ装置100によって生成されたラダープログラムおよび画面は、メモリカードその他のデータ記録媒体10あるいは有線又は無線によって表示器150に送られる。通常、エディタ装置100は、汎用のパーソナルコンピュータにエディタプログラムをインストールしたものが用いられる。
【0024】
表示器150は、いわゆるターゲットデバイスと呼ばれる制御対象機器に接続されている。表示器150は、ラダープログラムを実行し、当該実行に応じて命令を生成し、その生成した命令を制御対象機器に送出する。ここで、表示器150の使用者は、そのタッチパネルにタッチ操作を行なうことによって、ラダープログラムによって規定される命令以外に当該使用者が命令を与えることができる。
【0025】
本実施の形態に係る表示器150は、そのようなタッチ操作を受け付けて、当該操作に基づいて生成された命令、および、命令と命令との間の時間間隔をログとして記録することができる。ここで、時間間隔とは、たとえば、連続する2つの命令が発せられた場合における各命令が発せられた時刻の間の時間をいう。時間間隔情報は、具体的には、ミリ秒その他の時間の単位として表わされる場合もあれば、パーソナルコンピュータのプロセッサのクロックに基づくカウント値等としても表わされ得る。
【0026】
表示器150は、その命令を制御対象機器に送信するとともに当該命令のログ情報を順次蓄積する。したがって、ログ情報は、実行された命令、および、命令と命令との間の時間間隔情報の集まりとなる。また、ログ情報とともに、周囲の環境のデータが蓄積されることもある。周囲の環境のデータは、たとえば、温度、雰囲気条件、明るさ等を含み得る。
【0027】
表示器150によって生成されたログ情報は、データ記録媒体10あるいは通信回線によってシミュレーション用のコンピュータ600に送られる。コンピュータ600は、通常の構成を有するコンピュータ装置として実現される。
【0028】
コンピュータ600は、その入力されたログ情報と、エディタ装置100によって生成された画面データ(プロジェクトファイル)とを用いて、表示器150によって実現される画面の表示および命令の送出のシミュレーションを実行する。具体的には、コンピュータ600は、ログ情報をプログラムに、本実施の形態においてはラダープログラムに、変換する。そして、コンピュータ600は、そのラダープログラムと画面データとを用いることでシミュレーションを実行する。プログラムの開発者は、シミュレーションの実行結果が表示器150によって実現される結果と同じであることを確認すると、そのログ情報を表示器1500に入力する。表示器1500は、たとえば、表示器150が実行する制御と同様の制御を実行することが期待される新たな表示器である。表示器1500の使用者(たとえばラダープログラムの開発者)は、さらに、エディタ装置100によって生成された画面データ(プロジェクトファイル)を表示器1500に入力する。この画面は、表示器150によって使用される画面と同じものである。
【0029】
このような構成により、表示器150によって実行されたラダープログラムは、表示器1500によって同様に実行される。その結果、表示器1500を作動させるためのプログラムを最初から開発する必要がなく、表示器150によって実行されることが確認されたプログラムをログ情報の形で使用することができ、表示器150によって行なわれた動作と同じ動作が表示器1500によって再現される。その結果、同様の処理を実現するプログラムを容易に得ることができる。なお、上記実施の形態においては、コンピュータ600がログ情報をプログラムに変換したが、表示器150がログ情報をプログラムに変換してもよい。
【0030】
[機能の構成]
図2を参照して、本発明の実施の形態に係る表示器150の構成について説明する。図2は、表示器150によって実現される機能の構成を表わすブロック図である。表示器150は、操作入力部21と、データ入力部22と、制御部23と、生成部24と、記憶部25と、出力部26とを備える。
【0031】
操作入力部21は、表示器150に対するタッチ操作の入力を受け付ける。操作入力部21は、たとえばアナログタッチパネルとして構成される。他の局面において、操作入力部21は、デジタルタッチパネルとして実現されてもよい。操作入力部21は、タッチ操作に応じた信号を制御部23に送出する。
【0032】
データ入力部22は、表示器150の外部からデータの入力を受け付ける。データ入力部22に入力されるデータは、たとえば表示器150に接続されている制御対象機器の動作環境データを含む。動作環境データは、たとえば温度その他の環境条件、制御対象機器の動作条件(たとえばモータの回転数など)を含む。
【0033】
制御部23は、操作入力部21から送られる信号に基づいてタッチ操作に応じた命令を実行するように構成されている。制御部23は、たとえばプロセッサのような中央処理装置あるいは当該命令を実行するように予め構成された回路素子の組み合せとして実現される。
【0034】
制御部23は、ラダープログラムとプロジェクトファイルとして生成された画面データとを用いてタッチ操作に応じた命令を生成し、その命令を制御対象機器に送信する。他の局面において、制御部23は、制御対象機器に対して送信する命令を生成する代わりに、タッチパネルにおける画面の表示を切り換える。
【0035】
制御部23は、当該タッチ操作に応じた出力として、画面を特定するためのデータと、タッチ操作を特定するためのデータと、タッチ操作が行なわれた時刻とを、生成部24に送出する。
【0036】
生成部24は、制御部23によって実行された命令と、タッチパネルに対する操作が行なわれた時刻とを含む操作ログを生成するように構成されている。生成部24によって生成される操作ログの構成は後述する。生成部24も、制御部23を実現するプロセッサのような中央処理装置によって実現される。
【0037】
記憶部25は、生成部24によって生成された操作ログを格納するように構成される。出力部26は、記憶部25に格納されている操作ログを出力するように構成される。出力部26は、たとえば、着脱可能なデータ記録媒体にデータを書き込むための駆動装置、あるいは表示器150に接続される通信回線に対して操作ログを送信するための通信インターフェイスとして実現される。
【0038】
ある局面において、操作入力部21は、操作ログの取得の開始を表わす画像に対する開始操作を受け付けるように構成されている。生成部24は、その開始操作の後に行なわれるタッチパネルに対する操作に基づいて操作ログの生成を開始するように構成される。
【0039】
他の局面において、操作入力部21は、操作ログの取得の終了を表わす画像に対する終了操作を受け付けるように構成されている。生成部24は、その終了操作の前に行なわれたタッチパネルに対する操作に基づいて操作ログを生成するように構成されている。この構成により、特定の操作のみを操作ログとして抽出することができる。
【0040】
他の局面において、データ入力部22は、タッチパネルに対する操作が行なわれたときにおける表示器150の外部環境の状態を表わすデータの入力を受け付ける。生成部24は、制御部23によって実行された命令と、当該操作が行なわれた時刻とに加えて、そのデータを含む操作ログを生成するように構成され得る。なお、以上述べた実施の形態においては、時間間隔情報として、操作ログには時刻が記録されたが、操作ログに保有すべき最初の操作を起点として経過した時間をカウントするようにしてもよい。この場合、たとえば、生成部24は、制御部23によって出力されるクロックに基づいてカウントすることができる。
【0041】
[ハードウェア構成]
図3を参照して、本発明の実施の形態に係る表示器150のハードウェア構成について説明する。図3は、表示器150と、表示器150が使用するプログラムを生成するエディタ装置100とのハードウェア構成を表わすブロック図である。
【0042】
図3を参照して、本発明の実施の形態に係るエディタ装置100と表示器150との構成について説明する。図3は、本実施の形態に係るエディタ装置100と、その装置により生成される画像データを使用する表示器150と、PLC(Programmable Logic Controller)180とを説明するための図である。なお、エディタ装置100と表示器150とは、一般には常に接続されているわけではなく、たとえばエディタ装置100により生成された画像データを表示器150にロードするときに一時的に接続される。
【0043】
[エディタ装置の構成]
エディタ装置100は、主たる構成として、エディタ装置100の動作を制御する制御部110と、データを一時的に記憶するためのメモリ部112と、作成される画像などを表示するための表示部114と、ユーザがデータを入力するための入力部116と、記録媒体120が装着される駆動部118と、外部とデータの入出力をするための通信部122と、大容量のデータを記憶するためのデータ記憶部140と、画面その他の図形を編集するためのエディタ部130とを含む。エディタ部130は、作画エディタ132と、変数管理部134とを含む。
【0044】
制御部110は、たとえばCPU(Central Processing Unit)、あるいはMPU(Micro Processing Unit)その他の演算装置である。制御部110は、エディタ装置100に与えられる命令に基づいて、データ記憶部140に予め格納されていたプログラムまたはデータをメモリ部112に読み出して、プログラムを実行する。
【0045】
メモリ部112は、たとえばRAM(Random Access Memory)、ROM(Read Only Memory)その他のメモリである。このメモリ部112には、初期データなどの固定データ、あるいは制御部110による一時的な処理結果その他のデータが格納されている。このデータの格納については後述する。
【0046】
表示部114は、たとえばディスプレイ装置である。表示部114は、制御部110から受信した信号に基づいて、画面を表示する。ディスプレイ装置の態様は、たとえば、液晶、有機EL(Electro Luminescence)などであるが、その他の態様であってもよい。
【0047】
入力部116は、キーボード、マウスその他の入力装置である。ユーザは、この入力部116を介して、画面の編集のためのデータ、画面に含まれる画像に関連付けられる設定データ等を入力することができる。
【0048】
駆動部118は、装着された記録媒体120からデータを読み出したり、あるいは記録媒体120にデータを書き込んだりすることができる。この駆動部118には、CD(Compact Disk)ドライブ装置、メモリカードリーダ等が含まれる。
【0049】
通信部122は、通信回線を介して外部の装置と通信するためのインターフェイスである。通信部122は、たとえばUSB(Universal Serial Bus)規格、RS(Recommendation Standard)−232C規格、RS−422規格等のインターフェイスであるが、これらに限られず、通信回線を介して接続される機器とデータを通信することができるものであればよい。
【0050】
エディタ部130は、予め記憶されたプログラムおよびデータに基づいて、ユーザが表示器150に表示させる画面などを編集するための機能を実現するものである。作画エディタ132は、作画に必要なデータ(たとえば、スイッチ、ランプ、テンキー、各種表示器などの部品、描画機能、テキスト入力機能)などを有する。
【0051】
作画エディタ132は、予め準備されたこれらのデータおよびプログラムに基づいて、ユーザが希望する画面を生成する。また、作画エディタ132は、作成された画面に配置された部品画像(アイコン)の各制御対象機器に対する入出力番号(アドレス)を割り付けることができる。作画エディタ132によって作成されたユーザ画面は、データ記憶部140に格納される。このユーザ画面は、ユーザの指示に基づいて通信部122を介して接続された表示器150に転送される。この転送された画面データは、通信部122との間で一時的に接続される表示器150のメンテナンスポート154を介して、FEPROM(Flash Erasable Programmable ROM)164にアップロードされる。
【0052】
変数管理部134は、作画エディタ132から入力された変数に、シンボルが表わす機能(ランプ、スイッチ、カウンタ、タイマ等)を機能属性として付与し、その変数をデータ記憶部140に記憶させる。
【0053】
機能属性の付与は、変数に予約語を含ませることにより行なわれる。この場合、たとえばランプの場合、“L”を予約語として、この予約語は、変数の先頭に含められる。たとえば、“LOOO”(Oは、任意の文字あるいは数字を表わす。)は、識別番号がOOOであるランプの変数を表わす。スイッチ、カウンタ、タイマ等についても、変数を同様に設定することができる。なお、機能属性の付与は、上記の方法に限られない。
【0054】
プログラムエディタ136は、作画エディタ132によって作成された画面とデータ記憶部140に記憶されている変数とに基づいて、表示器150が実行する制御プログラムを作成する。この制御プログラムは、たとえば表示器150に接続されるPLC180やPLC180を介して接続される組立て機(図示しない)その他の制御対象機器の状態を表示したり、あるいは、これらの制御対象機器に予め定められた動作を行なわせる指示を出力するためのプログラムである。
【0055】
データ記憶部140は、たとえばハードディスク装置であり、大容量のデータを記憶することができる。制御部110は、データ記憶部140に対するデータの書き込み、あるいは、データ記憶部140からのデータの読み出しを制御する。
【0056】
[表示器の構成]
図3を再び参照して、表示器150は、相互にデータバスで接続された主たる構成要素として、CPU152と、メンテナンスポート154と、メモリ160と、通信コントローラ166と、VRAM(Video RAM)168と、グラフィックコントローラ170と、ディスプレイ172と、タッチパネル174と、タッチパネルコントローラ176と、I/O(Input/Output:入出力)制御I/F(Interface)178と、I/Oユニット179とを含む。
【0057】
メモリ160は、DRAM(Dynamic RAM)162と、FEPROM(Flash Erasable and Programmable ROM)164とを含む。I/Oユニット179は、制御対象機器196,198その他の機器を接続するための入出力端子、入出力回路等を含む。複数の入出力端子が、備えられてもよい。I/O制御I/F178は、CPU152とI/Oユニット179との間の信号の授受を仲介するインターフェイス回路である。I/O制御I/F178は、入出力メモリ、D/A(Digital to Analog)変換器、A/D(Analog to Digital)変換器等を含む。
【0058】
CPU152は、FEPROM164に格納されたプログラムに基づいて、PLC180との通信処理、ディスプレイ172の表示処理等を実行する。また、CPU152は、タッチパネル174における入力に基づいて、その入力に対応する処理を実行する。
【0059】
メンテナンスポート154は、表示器150の保守時等において一時的に使用される。表示器150に表示させる画面を変更する場合、あるいは画面の表示制御の設定を変更する場合等において、新しいデータがメンテナンスポート154から入力される。これにより、表示器150とPLC180との通信が妨げられることなく、画面のデータを更新することができる。
【0060】
DRAM162は、主にディスプレイ172における表示制御その他の処理に用いられるデータを一時的に記憶する。FEPROM164は、データの書き換えが可能なフラッシュメモリである。フラッシュメモリは、稼動部を持たず、また衝撃に強いため、PLC180に接続される環境が劣悪であっても、安定して作動することができる。
【0061】
通信コントローラ166は、CPU152の制御により、PLC180との間でデータ通信を行なう。通信されるデータには、PLC180から報告されるデータ(たとえば実績その他の稼動状況を表わすデータ)、あるいは、表示器150からPLC180に送信される設定データ等が含まれる。
【0062】
VRAM168は、CPU152の制御により画面表示用のデータを一時的に保存する。このデータは、グラフィックコントローラ170に読み出され、ディスプレイ172に出力される。これにより、ディスプレイ172は、所定の画面を表示することができる。
【0063】
表示器150は、I/O制御I/F178およびI/Oユニット179を有するため、PLC180を介することなく、制御対象機器に接続することができる。したがって、表示器150は、たとえば制御対象機器196,198の状態の表示あるいは動作の制御の指示を直接実行することができる。
【0064】
なお、表示器150の構成は、上記のものに限られない。たとえば、プログラマブル表示器は、グラフィック表示を行なうため、操作盤、スイッチ、表示灯などの機能を有する他、デバイスその他の制御対象機器の稼動状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えていればよい。
【0065】
このような表示器で表示される制御画面は、画面作成プログラムによって利用者が作成することができる。このようなプログラムがコンピュータで起動されると、編集のための画面が表示される。利用者は、その画面において、制御画面を構成する画像ブロックを任意に使用したり、操作の可否を設定することができる。ここで、画像ブロックとは、たとえば、制御画面そのもの、制御画面に表示されるランプ、スイッチ、カウンタ、メータ表示器、グラフ表示器などの部品画像(シンボル)、あるいは、制御画面や部品画像に付加的に表示される補助画像(たとえばポップアップウィンドウ画面)などの画像をいうが、これらに限られない。これらの画像は、利用者が全てデザインしてもよいし、予めテンプレートとして準備された画像であってもよい。
【0066】
図3を再び参照して、PLC180は、ネットワーク190を介して表示器150と接続される。PLC180はさらに、制御対象機器192,194に接続される。PLC180は、制御機能部として、予め格納された制御プログラムによって、制御対象機器192,194の動作を制御する。制御対象機器192,194は、たとえば自動組立て機、ベルトコンベアなどであるが、特定の機器に限られない。また、PLC180に接続される制御対象機器の数は、特定の数に限られない。
【0067】
[データ構造]
図4を参照して、表示器150のデータ構造について説明する。図4は、表示器150が備えるFEPROM164におけるデータの格納の一態様を概念的に表わす図である。FEPROM164は、画面データ(プロジェクトファイル)410と、ラダープログラム420と、ファームウェア430とを格納している。ラダープログラム420は、エディタ装置100によって生成される。画面データ410は、作画エディタ132によって生成される。
【0068】
ラダープログラム420は、エディタ装置100のプログラムエディタ136によって生成される。より詳しくは、プログラムの開発者がエディタ装置100に対して特定の命令を指定して、当該命令に応じた処理および当該命令が適用されるメモリ変数などの入力を行なうと、プログラムエディタ136は、それらの入力に基づいてラダープログラムを生成する。
【0069】
ファームウェア430は、表示器150の基本的な動作を制御する。ファームウェア430は、たとえば、ディスプレイ172における表示の制御、タッチパネル172に対する表示の制御、表示器150が通信する制御対象機器との間の通信の制御などを管理する。
【0070】
[ログ情報]
図5を参照して、本実施の形態に係る表示器150によって生成されるデータについて説明する。図5は、FEPROM164におけるログ情報の格納の一態様を概念的に表わす図である。FEPROM164は、DRAM162に一時的に保持されたデータを、CPU152の命令に基づいて格納する。
【0071】
一実施例として、当該ログ情報は、番号510と、アドレス520と、変更前の設定値530と、変更後の設定値540と、時間550とを含む。番号510は、各命令のログを特定する。番号510は、CPU152がラダープログラムを実行する際に、その実行の開始とともに番号を順次採番する。図5に示される例では、CPU152は、ログの番号として「001」から「100」までを採番しているが、記録されるログの数は,図5に示されるものに限られない。
【0072】
アドレス520は、制御対象機器の制御の対象対応となるデータが格納される場所を特定する。アドレス520は、ラダープログラムの作成時に、プログラムエディタ136によって当該ラダープログラムに埋め込まれる。アドレス520は、そのラダープログラムの開発時に、プログラム開発者によって指定される。
【0073】
変更前の設定値530は、アドレス520に書き込まれている値をいう。変更後の設定値540は、当該命令の実行によりそのアドレスに書き込まれている値を変更した後の値をいう。たとえば、ログの番号「001」について、変更前の設定値530は「0」であるが変更後の設定値540は「10」に設定されている。したがって、当該ログに係る命令が実行されると、アドレス「LS0000」の値は「0」から「10」に変更される。
【0074】
時間550は、たとえばミリ秒単位で規定される。時間550は、命令が与えられてから当該命令に応じた処理を実行するまでの時間を規定する。番号「001」の例では、命令が与えられてから100ミリ秒経過した後に、アドレス「LS0000」の設定値が「0」から「10」に変更される。
【0075】
なお、他の局面において、時間550は、ミリ秒単位その他の時刻に基づく情報に代えて、CPU152によって与えられるカウント値であってもよい。
【0076】
[シミュレーション用コンピュータの構成]
図6を参照して、本実施の形態に係るログ情報に基づいてシミュレーションを実行するコンピュータ600の構成について説明する。図6は、コンピュータ600のハードウェア構成を表わすブロック図である。
【0077】
コンピュータ600は、主たる構成要素として、プログラムを実行するCPU610と、コンピュータ600の使用者による指示の入力を受けるマウス620およびキーボード630と、CPU610によるプログラムの実行により生成されたデータ、又はマウス620若しくはキーボード630を介して入力されたデータを揮発的に格納するRAM640と、データを不揮発的に格納するハードディスク650と、光ディスク駆動装置660と、メモリカード10に保存されているデータを読み取り又はデータをメモリカード10に書き込むカード駆動装置670と、モニタ680と、通信I/F690とを含む。各構成要素は、相互にデータバスによって接続されている。光ディスク駆動装置660には、CD−ROM662その他の光ディスクが装着される。
【0078】
コンピュータ600における処理は、各ハードウェアおよびCPU610により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク650に予め格納されている場合がある。また、ソフトウェアは、CD−ROM662その他のデータ記録媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、光ディスク駆動装置660その他の読取装置によりそのデータ記録媒体から読み取られて、あるいは、通信I/F690を介してダウンロードされた後、ハードディスク650に一旦格納される。そのソフトウェアは、CPU610によってハードディスク650から読み出され、RAM640に実行可能なプログラムの形式で格納される。CPU610は、そのプログラムを実行する。
【0079】
図6に示されるコンピュータ600を構成する各構成要素は、一般的なものである。コンピュータ600のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【0080】
なお、データ記録媒体としては、CD−ROM、FD(Flexible Disk)、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable ROM)、EEPROM(Electronically Erasable Programmable ROM)などの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。
【0081】
ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0082】
なお、他の局面において、シミュレーションのためのコンピュータ600は、エディタ装置100を実現するコンピュータシステムによって実現されてもよい。あるいは、コンピュータ600は、表示器150あるいは表示器1500を構成するコンピュータシステムによって実現されてもよい。
【0083】
[制御構造]
図7を参照して、本発明の実施の形態に係る表示器150の制御構造について説明する。図7は、表示器150のCPU152が実行する一連の処理の一部を表わすフローチャートである。
【0084】
ステップS710にて、表示器150のCPU152は、タッチパネル174に対する操作に基づいて、ログ情報の生成の開始を表わす操作が入力されたことを検知する。ステップS720にて、CPU152は、ログ情報の記録のためのメモリ領域をDRAM162に確保する。ステップS730にて、CPU152は、タッチパネル174に表示された画像に対する操作に基づいて、当該画像に関連付けられた命令を制御対象機器192,194,196,198のいずれかに出力する。
【0085】
ステップS740にて、CPU152は、その画像に関連付けられた命令に基づいてログ情報を生成する。詳しくは、CPU152は、当該操作と、当該操作が行なわれた時刻と、制御対象機器の動作環境(たとえば温度など)とを含むログ情報として、メモリ領域に保存する。ステップS750にて、CPU152は、たとえばパネルコントローラ175から送られる信号に基づいて、タッチパネル174に対する次の操作を検知する。
【0086】
ステップS760にて、CPU152は、その操作がログ情報の生成の終了を表わす操作であるか否かを判定する。その判定は、たとえば、タッチパネル174に表示される画像の座標値と、当該座標値に割り当てられている命令の内容とに基づいて行なわれる。CPU152は、その操作がログ情報の生成の終了を表わす操作であると判定すると(ステップS760にてYES)、制御をステップS770に切り換える。そうでない場合には(ステップS760にてNO)、CPU152は、制御をステップS730に戻す。
【0087】
ステップS770にて、CPU152は、生成したログ情報に名前を付けてそのログ情報を不揮発メモリ(たとえばFEPROM164)に保存する。ログ情報の名前は、たとえば予め定められた基準に従ってデフォルトでCPU152によって示されるもの、あるいは表示器150の使用者がタッチパネル174を介して入力するもののいずれであってもよい。
【0088】
[ログ情報を用いたシミュレーション]
図8を参照して、本実施の形態に係るコンピュータ600の制御構造について説明する。図8は、コンピュータ600のCPU610が実行する処理を表わすフローチャートである。
【0089】
ステップS810にて、CPU610は、表示器150で実行されたラダープログラムが用いた画面データと同じ画面データのインストールを受け付ける。この画面データは、エディタ装置100によって生成されたものである。なお、インストールされた画面データが繰り返し使用される場合には、画面データのインストールは一度でよい。
【0090】
ステップS820にて、CPU610は、表示器150で生成されたログ情報の入力を受け付ける。ログ情報は、たとえば、CD−ROM662、メモリカード10、その他のデータ記録媒体によって入力される。あるいは、ログ情報は、通信I/F690によって受信される。
【0091】
ステップS830にて、CPU610は、ログ情報を用いたシミュレーションの実行命令の入力を受け付ける。当該実行命令は、たとえばマウス620、キーボード630その他のユーザインターフェイスを用いてコンピュータ600の使用者によって与えられる。
【0092】
ステップS840にて、CPU610は、入力された画面データを用いてログ情報に基づいて処理を実行する。ステップS850にて、CPU610は、実行される処理の内容(画面の表示の切り換え、ランプ画像の点滅色の変化等)をモニタ680に表示する。プログラムの開発者は、モニタ680に表示される画面の切り換えを確認することにより、表示器150に対して行なわれたタッチ操作が正確に再現されているか否かを確認することができる。
【0093】
[他の表示器へのインストール]
図9を参照して、本発明の実施の形態に係る表示器150によって生成されたログ情報の使用について説明する。図9は、表示器1500にログ情報をインストールするための手順を表わすフローチャートである。なお、入力されるのは、ログ情報そのものであってもよいし、ラダープログラムであってもよいが、以下では、ログ情報が入力される場合について説明する。
【0094】
ステップS910にて、新たな表示器1500の使用者は、表示器1500に表示させる画面データをエディタ装置100を用いて生成し、その画面データを表示器1500にインストールする。ある局面において、表示器150に表示される画面と同じ画面が表示器1500によって使用されることを開発者が意図している場合には、表示器150のために使用された画面をそのまま流用してもよい。
【0095】
ステップS920にて、開発者は、コンピュータ600によって動作が確認されたログ情報を表示器1500に入力する。
【0096】
ステップS930にて、開発者は、表示器150にタッチ操作を行なうことにより、プログラムの実行命令を入力する。表示器1500は、その実行命令に基づいて、ログ情報を用いて画面の表示を切り換える。これにより、表示器1500を作動させるためのラダープログラムをゼロベースで作成する必要がなくなる。
【0097】
[具体例]
図10を参照して、本実施の形態に係る表示器150によって生成されるログ情報の具体例について説明する。図10は、表示器150のFEPROM162に保存されている操作のログ情報を表わす図である。FEPROM162には、7つのログが記録されている。
【0098】
第1のログは、ログの記録を開始する命令が入力されたことを表わす。この命令は、たとえば、タッチパネルに表示されるアイコン「ログの記録の開始」(図示しない)の押下、あるいは当該開始の命令を受け付けるキーとして予め設定されたキーの押下、に応答して与えられる。
【0099】
第2のログは、スイッチA(変数)がオンに設定されたことを表わす。第3のログは、その命令に基づいて10秒後に、ランプA(変数)がオンに設定されることを表わす。第4のログは、その2秒後に、スイッチB(変数)がオンに設定されることを表わす。第5のログは、その3秒後にランプB(変数)がオンに設定されることを表わす。第6のログは、タッチパネル174に対する操作に基づいてログの収集を終了することを表わす。
【0100】
第7のログは、ログの記録を終了する命令が入力されたことを表わす。この命令は、たとえば、タッチパネルに表示されるアイコン「ログの記録の終了」(図示しない)の押下、あるいは当該開始の命令を受け付けるキーとして予め設定されたキーの押下、に応答して与えられる。「開始」および「終了」をログに含めることにより、複数のログ情報の各々を区別することができ、各ログ情報を取り出すことができる。
【0101】
図11は、表示器150に実行させるために予め作成されたラダープログラムの一例を概念的に表わす図である。ラダープログラムは、命令の開始を表わすラダーと、具体的な命令を規定する第1のラダー1、第2のラダー2、および第3のラダー3と、命令の終了を表わすラダーとを含む。
【0102】
第1のラダー1は、スイッチAを表わす部品画像1110と、ランプAについての命令を規定する部品画像1120とを含む。第2のラダー2は、ランプAに対する命令を規定する部品画像1130と、スイッチBに対する命令を規定する部品画像1140とを含む。第3のラダー3は、スイッチBに対する命令を規定する部品画像1150と、ランプBに対する命令を規定する部品画像1160とを含む。
【0103】
第1のラダー1は、スイッチAがオンに設定された後、10秒後(10,000ミリ秒)にランプAがオンにされる処理内容を規定している。部品画像1120において、記号INは入力を表わす。記号Qは出力先を規定する。記号PTについての値(10,000)は、入力された信号に基づいて次の命令が与えられるまでの時間(10,000ミリ秒)を規定する。
【0104】
第2のラダー2において、部品画像1130は、部品画像1120からの出力を入力として受け付けるように構成されている。第2のラダー2は、ランプAがオンにされた後、2秒後(2,000ミリ秒)にスイッチBがオンに設定されることを規定している。その命令は、部品画像1140において、部品画像1130から与えられる。部品画像1140の出力は、部品画像1150のスイッチBに与えられる。
【0105】
第3のラダー3において、スイッチBは、部品画像1140からの命令に基づいてオンに設定され、その3秒後(3000ミリ秒)に、ランプBがオンに設定される。
【0106】
なお、各命令と命令との間隔は、時間によって表わされる必要はなく、カウント値によって示されてもよい。
【0107】
図11に示されるラダープログラムは、表示器150において実行される。これに対して、本実施の形態に係る表示器150は、その命令の内容をログ情報として生成し、そのログ情報を出力することができる。表示器1500は、その出力されたログ情報を取り込むことにより、図11に示されるような処理を再現することができる。なお、表示器150は、ログ情報に代えてラダープログラムを出力し、表示器1500は、その出力されたラダープログラムを取り込むようにしてもよい。
【0108】
以上のようにして、本発明の実施の形態に係る表示器150は、その使用者(たとえば熟練したオペレータ)によって与えられたタッチ操作を順次記録してログ情報を生成する。このログ情報は、実行可能な命令の集合である。したがって、このようなログ情報を、同様の画面データを用いる他の表示器に入力することにより、当該他の表示器は、そのログ情報に基づいて命令を実行することにより、表示器150が実行する処理と同じ処理を実現することができる。すなわち、表示器150は、取得したログ情報を用いて実行可能なプログラムを作成するため、ゼロベースで当該プログラムの作成を検討する必要がなくなる。
【0109】
ログ情報は、タッチ操作の内容と、タッチ操作が行なわれた時刻とを含み、この時刻から、タッチ操作とタッチ操作との間の経過時間を時間間隔情報として算出するようになっている。あるいは、他の局面において、連続するタッチ操作とタッチ操作との間のカウント値が時間間隔情報としても使用され得る。このような時間間隔情報を用いることによって、高精度に制御内容が再現されるプログラムが作成できる。したがって、表示器150に対する操作が熟練した使用者による処理の微妙な相違(たとえば、あるタッチ操作と次のタッチ操作との間隔)もログ情報に含まれ得る。これにより、同様の命令が求められる他の表示器においても、当該微妙な相違が反映された命令を実行させることができる。たとえば、熟練者がマニュアル操作によって作動させていた設備を、当該プログラムを用いて簡単に自動運転させることができる。
【0110】
これにより、プログラムをゼロベースで作成することなく同様の処理を他の表示器に実現させるためのログ情報を生成可能な表示器が提供される。なお、上記の実施の形態においては、1つのログ情報をファイルとして生成する場合について述べたが、当該ファイルに名称をつけ、複数のファイルを生成することも可能である。
【0111】
たとえば、図10または図11に示されるように、「開始」および「終了」によって、ログ情報の範囲が規定される。したがって、この範囲を1つのファイルとして生成することができる。このようにすると、一連の命令シーケンスのうちの一部のログ情報をファイルとして取り出すことが可能になり、他の命令シーケンスから取り出された他のログ情報のファイルと組み合わせることも可能となる。その結果、複数のファイルの組み合わせにより新たな命令シーケンスを容易に作成することができる。
【0112】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0113】
【図1】本発明の実施の形態に係る表示器150によって生成されるデータの流れを表わす図である。
【図2】本発明の実施の形態に係る表示器150によって実現される機能の構成を表わすブロック図である。
【図3】表示器150と、表示器150が使用するプログラムを生成するエディタ装置100とのハードウェア構成を表わすブロック図である。
【図4】表示器150が備えるFEPROM164におけるデータの格納の一態様を概念的に表わす図である。
【図5】FEPROM164におけるログ情報の格納の一態様を概念的に表わす図である。
【図6】シミュレーションを実行するコンピュータ600のハードウェア構成を表わすブロック図である。
【図7】表示器150のCPU152が実行する一連の処理の一部を表わすフローチャートである。
【図8】コンピュータ600のCPU610が実行する処理を表わすフローチャートである。
【図9】本発明の実施の形態に係る表示器150によって生成されたログ情報を表示器1500にインストールするための手順を表わすフローチャートである。
【図10】表示器150のFEPROM162に保存されている操作のログ情報を表わす図である。
【図11】表示器150に実行させるために予め作成されたラダープログラムの一例を概念的に表わす図である。
【符号の説明】
【0114】
10 データ記録媒体、662 CD−ROM、1110,1120,1130,1140,1150,1160 部品画像。
【技術分野】
【0001】
本発明は表示器に関し、特に、タッチパネルを有する表示器に関する。
【背景技術】
【0002】
プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)と称される制御装置は、自動組付け機その他の制御対象機器(ターゲットデバイスともいう。)に接続され、シーケンス制御その他の制御を実行し、その機器の状態を表わすデータを受信する。この制御対象機器の制御あるいは状態の表示は、たとえば、制御対象機器の状態を表示する機能およびその機器の動作を制御する機能を有する表示器を介して行なわれる。また、近年、上記の制御装置が有する制御機能を備えた表示器も導入されている。
【0003】
このような表示器は、接続されている制御対象機器の状態を表示したり、作業者が指示を入力するための画面を表示する。このとき表示される画面は、画面を編集するエディタ装置において予め準備されたプログラミング言語によって作成される。
【0004】
また、この表示器による制御対象機器の動作を制御するための命令は、その命令を編集するプログラムエディタによって作成される。IEC(International Electrotechnical Commission)は、このようなエディタとして実行可能なプログラミング言語を制定している。この言語には、SFC(Sequential Function Chart)、LD(Ladder Diagram)、IL(Instruction List)、FBD(Function Block Diagram)、およびST(Structured Text)が含まれる。
【0005】
作業者からの指示を受け付ける画面は、たとえば予め上記の言語によって作成されたラダー図その他の機能チャートに、命令と称される特定の処理(たとえば、スイッチの開閉操作、論理演算、データ転送等)に対応する変数を割り付けることにより作成される。この場合、処理に対応する変数が参照するデータの属性には、「0」か「1」のビット属性、整数属性、整数配列など多様な属性が含まれる。そのため、処理ごとに、適切な属性を参照する変数を個別に割り当てる必要がある。
【0006】
この変数の割り当てその他のデータの入力は、これまで、利用者(ラダープログラムの開発者)がキーボードを介してデータの入力を行なうことが通常であった。そのため、キー操作のミス等によって、誤ったデータが入力されたり、あるいは、データの入力のために手間を要するという問題があった。
【0007】
そこで、たとえば、特開2005−141564号公報(特許文献1)は、データの誤入力を防止するためのエディタ装置を開示している。また、国際公開第2005/091098号パンフレットは、制御対象機器の異常時の状態を確認できる表示器を開示している。
【特許文献1】特開2005−141564号公報
【特許文献2】国際公開第2005/091098号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、プログラムの作成には依然として時間を要するため、新たな生産ラインの導入に合わせて実行プログラムの機動的な開発が容易でないという問題点がある。また、設備の制御の内容には、複数の命令の間隔を画一的に規定することが困難であって設置後に熟練者による調整が必要となる場合もある。たとえば、あるタッチ操作と次のタッチ操作との時間間隔は、制御対象機器の稼動状態に応じて変動し得るが、そのような時間間隔は、具体的な制御を実行しないと明らかにならない場合がある。そして、プログラムによる制御の精度を一定の範囲に維持するためには、その制御を実行した後に、熟練者による調整が必要になる場合もある。そのため、機器を制御するためのプログラムをエディタ装置で作成したのみでは、既存のプログラムによる制御精度を新たに作成したプログラムで維持することが困難な場合もあった。なお、本明細書において、「時間間隔」とは、たとえば、連続する2つの操作が表示器に与えられ場合における当該2つの操作が行なわれた間隔をいう。時間間隔は、たとえば、ミリ秒その他の時間の単位として、あるいは、予め規定された一定の間隔でプロセッサその他の演算装置によって計測されるカウント値等によって表わされるが、これらに限られない。
【0009】
本発明は、上述のような問題点を解決するためになされたものであって、その目的は、実行プログラムの作成を支援できる表示器を提供することである。他の目的は、開発工数が削減されるプログラムの作成を支援できる表示器を提供することである。
【0010】
他の目的は、実行プログラムの作成を支援する表示器の制御方法を提供することである。他の目的は、開発工数が削減されるプログラムの作成を支援する表示器の制御方法を提供することである。
【0011】
他の目的は、実行プログラムの作成を支援できる表示器の制御プログラムを提供することである。他の目的は、開発工数が削減されるプログラムの作成を支援できる表示器の制御プログラムを提供することである。
【課題を解決するための手段】
【0012】
本発明のある局面に従う表示器は、タッチパネルと、タッチパネルに表示されている画像に対する操作に基づいて、画像によって特定される命令を実行するように構成された制御手段と、制御手段によって実行された命令およびタッチパネルに対する操作と操作とが行なわれた時間間隔情報を含む操作ログを生成するように構成された生成手段とを備える。
【0013】
好ましくは、タッチパネルは、操作ログの取得の開始を表わす画像に対する開始操作を受け付ける。生成手段は、開始操作の後のタッチパネルに対する操作に基づいて、操作ログの生成を開始するように構成されている。
【0014】
好ましくは、タッチパネルは、操作ログの取得の終了を表わす画像に対する終了操作を受け付ける。生成手段は、終了操作の前に行なわれたタッチパネルに対する操作に基づいて、操作ログを生成するように構成されている。
【0015】
好ましくは、表示器は、タッチパネルに対する操作が行なわれた時における表示器の外部環境の状態を表わすデータの入力を受け付ける入力手段をさらに備える。生成手段は、命令と操作が行なわれた時刻情報とに加えて当該データを含む操作ログを生成するように構成されている。なお、「外部環境の状態」とは、表示器の周りの環境のみを意味するものではなく、表示器に接続されたPLC、PLCに接続された制御対象機器の状態、または、PLCもしくは制御対象機器の周りの環境をも含むものとする。
【0016】
好ましくは、表示器は、操作ログをプログラムに変換する変換手段をさらに備える。
本発明の他の局面に従うと、タッチパネルと、プログラムを実行するプロセッサと、メモリとを備えた表示器の制御方法が提供される。この制御方法は、プロセッサが、タッチパネルに対する各操作に応答して、プログラムに基づいて、各操作が行なわれた時にタッチパネルに表示されている画像によって特定される各命令を実行するステップと、プロセッサが、タッチパネルに対する各操作に基づいて、各操作によって特定される各命令および2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、プロセッサが、生成するステップにおいて生成された操作ログを格納するステップとを含む。
【0017】
好ましくは、制御方法は、タッチパネルが、操作ログの取得の開始を表わす画像に対する開始操作を受け付けるステップをさらに含む。生成するステップは、開始操作の後のタッチパネルに対する操作に基づいて、操作ログの生成を開始するステップを含む。
【0018】
好ましくは、制御方法は、タッチパネルが、操作ログの取得の終了を表わす画像に対する終了操作を受け付けるステップをさらに含む。生成するステップは、終了操作の前に行なわれたタッチパネルに対する操作に基づいて、操作ログを生成するステップを含む。
【0019】
好ましくは、制御方法は、プロセッサが、タッチパネルに対する操作が行なわれた時における表示器の外部環境の状態を表わすデータの入力を受け付けるステップをさらに含む。生成するステップは、命令と操作が行なわれた時刻とに加えてデータを含む操作ログを生成するステップを含む。
【0020】
本発明のさらに他の局面に従うと、タッチパネルと、プロセッサと、アプリケーションプログラムと、メモリとを備えた表示器の制御プログラムが提供される。この制御プログラムは、表示器に、タッチパネルに対する各操作に基づいて、プロセッサが、アプリケーションプログラムを実行することにより、各操作が行なわれた時にタッチパネルに表示されている画像によって特定される各命令を実行するステップと、タッチパネルに対する操作に基づいて、プロセッサが、各操作によって特定される各命令および連続する2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、プロセッサが、生成するステップにおいて生成された操作ログをメモリに格納するステップとを実行させる。
【発明の効果】
【0021】
本発明によると、実行プログラムの作成が容易になり、開発工数が削減される。また、本発明によると、制御精度を一定に保持できるプログラムの作成を支援することができる。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0023】
[使用態様]
図1を参照して、本発明の実施の形態に係る表示器150の使用態様について説明する。図1は、表示器150によって生成されるデータの流れを表わす図である。表示器150は、一実施例において、タッチパネルを備えたプログラム可能なプログラマブル表示器(以下、「表示器」という。)として構成されている。表示器150を作動させるためのプログラム(たとえばラダープログラム)は、エディタ装置100によって生成される。また、エディタ装置100は、表示器150に表示される画面データ(プロジェクトファイル)を生成する機能を有する。エディタ装置100によって生成されたラダープログラムおよび画面は、メモリカードその他のデータ記録媒体10あるいは有線又は無線によって表示器150に送られる。通常、エディタ装置100は、汎用のパーソナルコンピュータにエディタプログラムをインストールしたものが用いられる。
【0024】
表示器150は、いわゆるターゲットデバイスと呼ばれる制御対象機器に接続されている。表示器150は、ラダープログラムを実行し、当該実行に応じて命令を生成し、その生成した命令を制御対象機器に送出する。ここで、表示器150の使用者は、そのタッチパネルにタッチ操作を行なうことによって、ラダープログラムによって規定される命令以外に当該使用者が命令を与えることができる。
【0025】
本実施の形態に係る表示器150は、そのようなタッチ操作を受け付けて、当該操作に基づいて生成された命令、および、命令と命令との間の時間間隔をログとして記録することができる。ここで、時間間隔とは、たとえば、連続する2つの命令が発せられた場合における各命令が発せられた時刻の間の時間をいう。時間間隔情報は、具体的には、ミリ秒その他の時間の単位として表わされる場合もあれば、パーソナルコンピュータのプロセッサのクロックに基づくカウント値等としても表わされ得る。
【0026】
表示器150は、その命令を制御対象機器に送信するとともに当該命令のログ情報を順次蓄積する。したがって、ログ情報は、実行された命令、および、命令と命令との間の時間間隔情報の集まりとなる。また、ログ情報とともに、周囲の環境のデータが蓄積されることもある。周囲の環境のデータは、たとえば、温度、雰囲気条件、明るさ等を含み得る。
【0027】
表示器150によって生成されたログ情報は、データ記録媒体10あるいは通信回線によってシミュレーション用のコンピュータ600に送られる。コンピュータ600は、通常の構成を有するコンピュータ装置として実現される。
【0028】
コンピュータ600は、その入力されたログ情報と、エディタ装置100によって生成された画面データ(プロジェクトファイル)とを用いて、表示器150によって実現される画面の表示および命令の送出のシミュレーションを実行する。具体的には、コンピュータ600は、ログ情報をプログラムに、本実施の形態においてはラダープログラムに、変換する。そして、コンピュータ600は、そのラダープログラムと画面データとを用いることでシミュレーションを実行する。プログラムの開発者は、シミュレーションの実行結果が表示器150によって実現される結果と同じであることを確認すると、そのログ情報を表示器1500に入力する。表示器1500は、たとえば、表示器150が実行する制御と同様の制御を実行することが期待される新たな表示器である。表示器1500の使用者(たとえばラダープログラムの開発者)は、さらに、エディタ装置100によって生成された画面データ(プロジェクトファイル)を表示器1500に入力する。この画面は、表示器150によって使用される画面と同じものである。
【0029】
このような構成により、表示器150によって実行されたラダープログラムは、表示器1500によって同様に実行される。その結果、表示器1500を作動させるためのプログラムを最初から開発する必要がなく、表示器150によって実行されることが確認されたプログラムをログ情報の形で使用することができ、表示器150によって行なわれた動作と同じ動作が表示器1500によって再現される。その結果、同様の処理を実現するプログラムを容易に得ることができる。なお、上記実施の形態においては、コンピュータ600がログ情報をプログラムに変換したが、表示器150がログ情報をプログラムに変換してもよい。
【0030】
[機能の構成]
図2を参照して、本発明の実施の形態に係る表示器150の構成について説明する。図2は、表示器150によって実現される機能の構成を表わすブロック図である。表示器150は、操作入力部21と、データ入力部22と、制御部23と、生成部24と、記憶部25と、出力部26とを備える。
【0031】
操作入力部21は、表示器150に対するタッチ操作の入力を受け付ける。操作入力部21は、たとえばアナログタッチパネルとして構成される。他の局面において、操作入力部21は、デジタルタッチパネルとして実現されてもよい。操作入力部21は、タッチ操作に応じた信号を制御部23に送出する。
【0032】
データ入力部22は、表示器150の外部からデータの入力を受け付ける。データ入力部22に入力されるデータは、たとえば表示器150に接続されている制御対象機器の動作環境データを含む。動作環境データは、たとえば温度その他の環境条件、制御対象機器の動作条件(たとえばモータの回転数など)を含む。
【0033】
制御部23は、操作入力部21から送られる信号に基づいてタッチ操作に応じた命令を実行するように構成されている。制御部23は、たとえばプロセッサのような中央処理装置あるいは当該命令を実行するように予め構成された回路素子の組み合せとして実現される。
【0034】
制御部23は、ラダープログラムとプロジェクトファイルとして生成された画面データとを用いてタッチ操作に応じた命令を生成し、その命令を制御対象機器に送信する。他の局面において、制御部23は、制御対象機器に対して送信する命令を生成する代わりに、タッチパネルにおける画面の表示を切り換える。
【0035】
制御部23は、当該タッチ操作に応じた出力として、画面を特定するためのデータと、タッチ操作を特定するためのデータと、タッチ操作が行なわれた時刻とを、生成部24に送出する。
【0036】
生成部24は、制御部23によって実行された命令と、タッチパネルに対する操作が行なわれた時刻とを含む操作ログを生成するように構成されている。生成部24によって生成される操作ログの構成は後述する。生成部24も、制御部23を実現するプロセッサのような中央処理装置によって実現される。
【0037】
記憶部25は、生成部24によって生成された操作ログを格納するように構成される。出力部26は、記憶部25に格納されている操作ログを出力するように構成される。出力部26は、たとえば、着脱可能なデータ記録媒体にデータを書き込むための駆動装置、あるいは表示器150に接続される通信回線に対して操作ログを送信するための通信インターフェイスとして実現される。
【0038】
ある局面において、操作入力部21は、操作ログの取得の開始を表わす画像に対する開始操作を受け付けるように構成されている。生成部24は、その開始操作の後に行なわれるタッチパネルに対する操作に基づいて操作ログの生成を開始するように構成される。
【0039】
他の局面において、操作入力部21は、操作ログの取得の終了を表わす画像に対する終了操作を受け付けるように構成されている。生成部24は、その終了操作の前に行なわれたタッチパネルに対する操作に基づいて操作ログを生成するように構成されている。この構成により、特定の操作のみを操作ログとして抽出することができる。
【0040】
他の局面において、データ入力部22は、タッチパネルに対する操作が行なわれたときにおける表示器150の外部環境の状態を表わすデータの入力を受け付ける。生成部24は、制御部23によって実行された命令と、当該操作が行なわれた時刻とに加えて、そのデータを含む操作ログを生成するように構成され得る。なお、以上述べた実施の形態においては、時間間隔情報として、操作ログには時刻が記録されたが、操作ログに保有すべき最初の操作を起点として経過した時間をカウントするようにしてもよい。この場合、たとえば、生成部24は、制御部23によって出力されるクロックに基づいてカウントすることができる。
【0041】
[ハードウェア構成]
図3を参照して、本発明の実施の形態に係る表示器150のハードウェア構成について説明する。図3は、表示器150と、表示器150が使用するプログラムを生成するエディタ装置100とのハードウェア構成を表わすブロック図である。
【0042】
図3を参照して、本発明の実施の形態に係るエディタ装置100と表示器150との構成について説明する。図3は、本実施の形態に係るエディタ装置100と、その装置により生成される画像データを使用する表示器150と、PLC(Programmable Logic Controller)180とを説明するための図である。なお、エディタ装置100と表示器150とは、一般には常に接続されているわけではなく、たとえばエディタ装置100により生成された画像データを表示器150にロードするときに一時的に接続される。
【0043】
[エディタ装置の構成]
エディタ装置100は、主たる構成として、エディタ装置100の動作を制御する制御部110と、データを一時的に記憶するためのメモリ部112と、作成される画像などを表示するための表示部114と、ユーザがデータを入力するための入力部116と、記録媒体120が装着される駆動部118と、外部とデータの入出力をするための通信部122と、大容量のデータを記憶するためのデータ記憶部140と、画面その他の図形を編集するためのエディタ部130とを含む。エディタ部130は、作画エディタ132と、変数管理部134とを含む。
【0044】
制御部110は、たとえばCPU(Central Processing Unit)、あるいはMPU(Micro Processing Unit)その他の演算装置である。制御部110は、エディタ装置100に与えられる命令に基づいて、データ記憶部140に予め格納されていたプログラムまたはデータをメモリ部112に読み出して、プログラムを実行する。
【0045】
メモリ部112は、たとえばRAM(Random Access Memory)、ROM(Read Only Memory)その他のメモリである。このメモリ部112には、初期データなどの固定データ、あるいは制御部110による一時的な処理結果その他のデータが格納されている。このデータの格納については後述する。
【0046】
表示部114は、たとえばディスプレイ装置である。表示部114は、制御部110から受信した信号に基づいて、画面を表示する。ディスプレイ装置の態様は、たとえば、液晶、有機EL(Electro Luminescence)などであるが、その他の態様であってもよい。
【0047】
入力部116は、キーボード、マウスその他の入力装置である。ユーザは、この入力部116を介して、画面の編集のためのデータ、画面に含まれる画像に関連付けられる設定データ等を入力することができる。
【0048】
駆動部118は、装着された記録媒体120からデータを読み出したり、あるいは記録媒体120にデータを書き込んだりすることができる。この駆動部118には、CD(Compact Disk)ドライブ装置、メモリカードリーダ等が含まれる。
【0049】
通信部122は、通信回線を介して外部の装置と通信するためのインターフェイスである。通信部122は、たとえばUSB(Universal Serial Bus)規格、RS(Recommendation Standard)−232C規格、RS−422規格等のインターフェイスであるが、これらに限られず、通信回線を介して接続される機器とデータを通信することができるものであればよい。
【0050】
エディタ部130は、予め記憶されたプログラムおよびデータに基づいて、ユーザが表示器150に表示させる画面などを編集するための機能を実現するものである。作画エディタ132は、作画に必要なデータ(たとえば、スイッチ、ランプ、テンキー、各種表示器などの部品、描画機能、テキスト入力機能)などを有する。
【0051】
作画エディタ132は、予め準備されたこれらのデータおよびプログラムに基づいて、ユーザが希望する画面を生成する。また、作画エディタ132は、作成された画面に配置された部品画像(アイコン)の各制御対象機器に対する入出力番号(アドレス)を割り付けることができる。作画エディタ132によって作成されたユーザ画面は、データ記憶部140に格納される。このユーザ画面は、ユーザの指示に基づいて通信部122を介して接続された表示器150に転送される。この転送された画面データは、通信部122との間で一時的に接続される表示器150のメンテナンスポート154を介して、FEPROM(Flash Erasable Programmable ROM)164にアップロードされる。
【0052】
変数管理部134は、作画エディタ132から入力された変数に、シンボルが表わす機能(ランプ、スイッチ、カウンタ、タイマ等)を機能属性として付与し、その変数をデータ記憶部140に記憶させる。
【0053】
機能属性の付与は、変数に予約語を含ませることにより行なわれる。この場合、たとえばランプの場合、“L”を予約語として、この予約語は、変数の先頭に含められる。たとえば、“LOOO”(Oは、任意の文字あるいは数字を表わす。)は、識別番号がOOOであるランプの変数を表わす。スイッチ、カウンタ、タイマ等についても、変数を同様に設定することができる。なお、機能属性の付与は、上記の方法に限られない。
【0054】
プログラムエディタ136は、作画エディタ132によって作成された画面とデータ記憶部140に記憶されている変数とに基づいて、表示器150が実行する制御プログラムを作成する。この制御プログラムは、たとえば表示器150に接続されるPLC180やPLC180を介して接続される組立て機(図示しない)その他の制御対象機器の状態を表示したり、あるいは、これらの制御対象機器に予め定められた動作を行なわせる指示を出力するためのプログラムである。
【0055】
データ記憶部140は、たとえばハードディスク装置であり、大容量のデータを記憶することができる。制御部110は、データ記憶部140に対するデータの書き込み、あるいは、データ記憶部140からのデータの読み出しを制御する。
【0056】
[表示器の構成]
図3を再び参照して、表示器150は、相互にデータバスで接続された主たる構成要素として、CPU152と、メンテナンスポート154と、メモリ160と、通信コントローラ166と、VRAM(Video RAM)168と、グラフィックコントローラ170と、ディスプレイ172と、タッチパネル174と、タッチパネルコントローラ176と、I/O(Input/Output:入出力)制御I/F(Interface)178と、I/Oユニット179とを含む。
【0057】
メモリ160は、DRAM(Dynamic RAM)162と、FEPROM(Flash Erasable and Programmable ROM)164とを含む。I/Oユニット179は、制御対象機器196,198その他の機器を接続するための入出力端子、入出力回路等を含む。複数の入出力端子が、備えられてもよい。I/O制御I/F178は、CPU152とI/Oユニット179との間の信号の授受を仲介するインターフェイス回路である。I/O制御I/F178は、入出力メモリ、D/A(Digital to Analog)変換器、A/D(Analog to Digital)変換器等を含む。
【0058】
CPU152は、FEPROM164に格納されたプログラムに基づいて、PLC180との通信処理、ディスプレイ172の表示処理等を実行する。また、CPU152は、タッチパネル174における入力に基づいて、その入力に対応する処理を実行する。
【0059】
メンテナンスポート154は、表示器150の保守時等において一時的に使用される。表示器150に表示させる画面を変更する場合、あるいは画面の表示制御の設定を変更する場合等において、新しいデータがメンテナンスポート154から入力される。これにより、表示器150とPLC180との通信が妨げられることなく、画面のデータを更新することができる。
【0060】
DRAM162は、主にディスプレイ172における表示制御その他の処理に用いられるデータを一時的に記憶する。FEPROM164は、データの書き換えが可能なフラッシュメモリである。フラッシュメモリは、稼動部を持たず、また衝撃に強いため、PLC180に接続される環境が劣悪であっても、安定して作動することができる。
【0061】
通信コントローラ166は、CPU152の制御により、PLC180との間でデータ通信を行なう。通信されるデータには、PLC180から報告されるデータ(たとえば実績その他の稼動状況を表わすデータ)、あるいは、表示器150からPLC180に送信される設定データ等が含まれる。
【0062】
VRAM168は、CPU152の制御により画面表示用のデータを一時的に保存する。このデータは、グラフィックコントローラ170に読み出され、ディスプレイ172に出力される。これにより、ディスプレイ172は、所定の画面を表示することができる。
【0063】
表示器150は、I/O制御I/F178およびI/Oユニット179を有するため、PLC180を介することなく、制御対象機器に接続することができる。したがって、表示器150は、たとえば制御対象機器196,198の状態の表示あるいは動作の制御の指示を直接実行することができる。
【0064】
なお、表示器150の構成は、上記のものに限られない。たとえば、プログラマブル表示器は、グラフィック表示を行なうため、操作盤、スイッチ、表示灯などの機能を有する他、デバイスその他の制御対象機器の稼動状況や作業指示のような管理のための各種のモニタ、機器に対する設定値を入力する端末としての機能を備えていればよい。
【0065】
このような表示器で表示される制御画面は、画面作成プログラムによって利用者が作成することができる。このようなプログラムがコンピュータで起動されると、編集のための画面が表示される。利用者は、その画面において、制御画面を構成する画像ブロックを任意に使用したり、操作の可否を設定することができる。ここで、画像ブロックとは、たとえば、制御画面そのもの、制御画面に表示されるランプ、スイッチ、カウンタ、メータ表示器、グラフ表示器などの部品画像(シンボル)、あるいは、制御画面や部品画像に付加的に表示される補助画像(たとえばポップアップウィンドウ画面)などの画像をいうが、これらに限られない。これらの画像は、利用者が全てデザインしてもよいし、予めテンプレートとして準備された画像であってもよい。
【0066】
図3を再び参照して、PLC180は、ネットワーク190を介して表示器150と接続される。PLC180はさらに、制御対象機器192,194に接続される。PLC180は、制御機能部として、予め格納された制御プログラムによって、制御対象機器192,194の動作を制御する。制御対象機器192,194は、たとえば自動組立て機、ベルトコンベアなどであるが、特定の機器に限られない。また、PLC180に接続される制御対象機器の数は、特定の数に限られない。
【0067】
[データ構造]
図4を参照して、表示器150のデータ構造について説明する。図4は、表示器150が備えるFEPROM164におけるデータの格納の一態様を概念的に表わす図である。FEPROM164は、画面データ(プロジェクトファイル)410と、ラダープログラム420と、ファームウェア430とを格納している。ラダープログラム420は、エディタ装置100によって生成される。画面データ410は、作画エディタ132によって生成される。
【0068】
ラダープログラム420は、エディタ装置100のプログラムエディタ136によって生成される。より詳しくは、プログラムの開発者がエディタ装置100に対して特定の命令を指定して、当該命令に応じた処理および当該命令が適用されるメモリ変数などの入力を行なうと、プログラムエディタ136は、それらの入力に基づいてラダープログラムを生成する。
【0069】
ファームウェア430は、表示器150の基本的な動作を制御する。ファームウェア430は、たとえば、ディスプレイ172における表示の制御、タッチパネル172に対する表示の制御、表示器150が通信する制御対象機器との間の通信の制御などを管理する。
【0070】
[ログ情報]
図5を参照して、本実施の形態に係る表示器150によって生成されるデータについて説明する。図5は、FEPROM164におけるログ情報の格納の一態様を概念的に表わす図である。FEPROM164は、DRAM162に一時的に保持されたデータを、CPU152の命令に基づいて格納する。
【0071】
一実施例として、当該ログ情報は、番号510と、アドレス520と、変更前の設定値530と、変更後の設定値540と、時間550とを含む。番号510は、各命令のログを特定する。番号510は、CPU152がラダープログラムを実行する際に、その実行の開始とともに番号を順次採番する。図5に示される例では、CPU152は、ログの番号として「001」から「100」までを採番しているが、記録されるログの数は,図5に示されるものに限られない。
【0072】
アドレス520は、制御対象機器の制御の対象対応となるデータが格納される場所を特定する。アドレス520は、ラダープログラムの作成時に、プログラムエディタ136によって当該ラダープログラムに埋め込まれる。アドレス520は、そのラダープログラムの開発時に、プログラム開発者によって指定される。
【0073】
変更前の設定値530は、アドレス520に書き込まれている値をいう。変更後の設定値540は、当該命令の実行によりそのアドレスに書き込まれている値を変更した後の値をいう。たとえば、ログの番号「001」について、変更前の設定値530は「0」であるが変更後の設定値540は「10」に設定されている。したがって、当該ログに係る命令が実行されると、アドレス「LS0000」の値は「0」から「10」に変更される。
【0074】
時間550は、たとえばミリ秒単位で規定される。時間550は、命令が与えられてから当該命令に応じた処理を実行するまでの時間を規定する。番号「001」の例では、命令が与えられてから100ミリ秒経過した後に、アドレス「LS0000」の設定値が「0」から「10」に変更される。
【0075】
なお、他の局面において、時間550は、ミリ秒単位その他の時刻に基づく情報に代えて、CPU152によって与えられるカウント値であってもよい。
【0076】
[シミュレーション用コンピュータの構成]
図6を参照して、本実施の形態に係るログ情報に基づいてシミュレーションを実行するコンピュータ600の構成について説明する。図6は、コンピュータ600のハードウェア構成を表わすブロック図である。
【0077】
コンピュータ600は、主たる構成要素として、プログラムを実行するCPU610と、コンピュータ600の使用者による指示の入力を受けるマウス620およびキーボード630と、CPU610によるプログラムの実行により生成されたデータ、又はマウス620若しくはキーボード630を介して入力されたデータを揮発的に格納するRAM640と、データを不揮発的に格納するハードディスク650と、光ディスク駆動装置660と、メモリカード10に保存されているデータを読み取り又はデータをメモリカード10に書き込むカード駆動装置670と、モニタ680と、通信I/F690とを含む。各構成要素は、相互にデータバスによって接続されている。光ディスク駆動装置660には、CD−ROM662その他の光ディスクが装着される。
【0078】
コンピュータ600における処理は、各ハードウェアおよびCPU610により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク650に予め格納されている場合がある。また、ソフトウェアは、CD−ROM662その他のデータ記録媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、光ディスク駆動装置660その他の読取装置によりそのデータ記録媒体から読み取られて、あるいは、通信I/F690を介してダウンロードされた後、ハードディスク650に一旦格納される。そのソフトウェアは、CPU610によってハードディスク650から読み出され、RAM640に実行可能なプログラムの形式で格納される。CPU610は、そのプログラムを実行する。
【0079】
図6に示されるコンピュータ600を構成する各構成要素は、一般的なものである。コンピュータ600のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【0080】
なお、データ記録媒体としては、CD−ROM、FD(Flexible Disk)、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable ROM)、EEPROM(Electronically Erasable Programmable ROM)などの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。
【0081】
ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0082】
なお、他の局面において、シミュレーションのためのコンピュータ600は、エディタ装置100を実現するコンピュータシステムによって実現されてもよい。あるいは、コンピュータ600は、表示器150あるいは表示器1500を構成するコンピュータシステムによって実現されてもよい。
【0083】
[制御構造]
図7を参照して、本発明の実施の形態に係る表示器150の制御構造について説明する。図7は、表示器150のCPU152が実行する一連の処理の一部を表わすフローチャートである。
【0084】
ステップS710にて、表示器150のCPU152は、タッチパネル174に対する操作に基づいて、ログ情報の生成の開始を表わす操作が入力されたことを検知する。ステップS720にて、CPU152は、ログ情報の記録のためのメモリ領域をDRAM162に確保する。ステップS730にて、CPU152は、タッチパネル174に表示された画像に対する操作に基づいて、当該画像に関連付けられた命令を制御対象機器192,194,196,198のいずれかに出力する。
【0085】
ステップS740にて、CPU152は、その画像に関連付けられた命令に基づいてログ情報を生成する。詳しくは、CPU152は、当該操作と、当該操作が行なわれた時刻と、制御対象機器の動作環境(たとえば温度など)とを含むログ情報として、メモリ領域に保存する。ステップS750にて、CPU152は、たとえばパネルコントローラ175から送られる信号に基づいて、タッチパネル174に対する次の操作を検知する。
【0086】
ステップS760にて、CPU152は、その操作がログ情報の生成の終了を表わす操作であるか否かを判定する。その判定は、たとえば、タッチパネル174に表示される画像の座標値と、当該座標値に割り当てられている命令の内容とに基づいて行なわれる。CPU152は、その操作がログ情報の生成の終了を表わす操作であると判定すると(ステップS760にてYES)、制御をステップS770に切り換える。そうでない場合には(ステップS760にてNO)、CPU152は、制御をステップS730に戻す。
【0087】
ステップS770にて、CPU152は、生成したログ情報に名前を付けてそのログ情報を不揮発メモリ(たとえばFEPROM164)に保存する。ログ情報の名前は、たとえば予め定められた基準に従ってデフォルトでCPU152によって示されるもの、あるいは表示器150の使用者がタッチパネル174を介して入力するもののいずれであってもよい。
【0088】
[ログ情報を用いたシミュレーション]
図8を参照して、本実施の形態に係るコンピュータ600の制御構造について説明する。図8は、コンピュータ600のCPU610が実行する処理を表わすフローチャートである。
【0089】
ステップS810にて、CPU610は、表示器150で実行されたラダープログラムが用いた画面データと同じ画面データのインストールを受け付ける。この画面データは、エディタ装置100によって生成されたものである。なお、インストールされた画面データが繰り返し使用される場合には、画面データのインストールは一度でよい。
【0090】
ステップS820にて、CPU610は、表示器150で生成されたログ情報の入力を受け付ける。ログ情報は、たとえば、CD−ROM662、メモリカード10、その他のデータ記録媒体によって入力される。あるいは、ログ情報は、通信I/F690によって受信される。
【0091】
ステップS830にて、CPU610は、ログ情報を用いたシミュレーションの実行命令の入力を受け付ける。当該実行命令は、たとえばマウス620、キーボード630その他のユーザインターフェイスを用いてコンピュータ600の使用者によって与えられる。
【0092】
ステップS840にて、CPU610は、入力された画面データを用いてログ情報に基づいて処理を実行する。ステップS850にて、CPU610は、実行される処理の内容(画面の表示の切り換え、ランプ画像の点滅色の変化等)をモニタ680に表示する。プログラムの開発者は、モニタ680に表示される画面の切り換えを確認することにより、表示器150に対して行なわれたタッチ操作が正確に再現されているか否かを確認することができる。
【0093】
[他の表示器へのインストール]
図9を参照して、本発明の実施の形態に係る表示器150によって生成されたログ情報の使用について説明する。図9は、表示器1500にログ情報をインストールするための手順を表わすフローチャートである。なお、入力されるのは、ログ情報そのものであってもよいし、ラダープログラムであってもよいが、以下では、ログ情報が入力される場合について説明する。
【0094】
ステップS910にて、新たな表示器1500の使用者は、表示器1500に表示させる画面データをエディタ装置100を用いて生成し、その画面データを表示器1500にインストールする。ある局面において、表示器150に表示される画面と同じ画面が表示器1500によって使用されることを開発者が意図している場合には、表示器150のために使用された画面をそのまま流用してもよい。
【0095】
ステップS920にて、開発者は、コンピュータ600によって動作が確認されたログ情報を表示器1500に入力する。
【0096】
ステップS930にて、開発者は、表示器150にタッチ操作を行なうことにより、プログラムの実行命令を入力する。表示器1500は、その実行命令に基づいて、ログ情報を用いて画面の表示を切り換える。これにより、表示器1500を作動させるためのラダープログラムをゼロベースで作成する必要がなくなる。
【0097】
[具体例]
図10を参照して、本実施の形態に係る表示器150によって生成されるログ情報の具体例について説明する。図10は、表示器150のFEPROM162に保存されている操作のログ情報を表わす図である。FEPROM162には、7つのログが記録されている。
【0098】
第1のログは、ログの記録を開始する命令が入力されたことを表わす。この命令は、たとえば、タッチパネルに表示されるアイコン「ログの記録の開始」(図示しない)の押下、あるいは当該開始の命令を受け付けるキーとして予め設定されたキーの押下、に応答して与えられる。
【0099】
第2のログは、スイッチA(変数)がオンに設定されたことを表わす。第3のログは、その命令に基づいて10秒後に、ランプA(変数)がオンに設定されることを表わす。第4のログは、その2秒後に、スイッチB(変数)がオンに設定されることを表わす。第5のログは、その3秒後にランプB(変数)がオンに設定されることを表わす。第6のログは、タッチパネル174に対する操作に基づいてログの収集を終了することを表わす。
【0100】
第7のログは、ログの記録を終了する命令が入力されたことを表わす。この命令は、たとえば、タッチパネルに表示されるアイコン「ログの記録の終了」(図示しない)の押下、あるいは当該開始の命令を受け付けるキーとして予め設定されたキーの押下、に応答して与えられる。「開始」および「終了」をログに含めることにより、複数のログ情報の各々を区別することができ、各ログ情報を取り出すことができる。
【0101】
図11は、表示器150に実行させるために予め作成されたラダープログラムの一例を概念的に表わす図である。ラダープログラムは、命令の開始を表わすラダーと、具体的な命令を規定する第1のラダー1、第2のラダー2、および第3のラダー3と、命令の終了を表わすラダーとを含む。
【0102】
第1のラダー1は、スイッチAを表わす部品画像1110と、ランプAについての命令を規定する部品画像1120とを含む。第2のラダー2は、ランプAに対する命令を規定する部品画像1130と、スイッチBに対する命令を規定する部品画像1140とを含む。第3のラダー3は、スイッチBに対する命令を規定する部品画像1150と、ランプBに対する命令を規定する部品画像1160とを含む。
【0103】
第1のラダー1は、スイッチAがオンに設定された後、10秒後(10,000ミリ秒)にランプAがオンにされる処理内容を規定している。部品画像1120において、記号INは入力を表わす。記号Qは出力先を規定する。記号PTについての値(10,000)は、入力された信号に基づいて次の命令が与えられるまでの時間(10,000ミリ秒)を規定する。
【0104】
第2のラダー2において、部品画像1130は、部品画像1120からの出力を入力として受け付けるように構成されている。第2のラダー2は、ランプAがオンにされた後、2秒後(2,000ミリ秒)にスイッチBがオンに設定されることを規定している。その命令は、部品画像1140において、部品画像1130から与えられる。部品画像1140の出力は、部品画像1150のスイッチBに与えられる。
【0105】
第3のラダー3において、スイッチBは、部品画像1140からの命令に基づいてオンに設定され、その3秒後(3000ミリ秒)に、ランプBがオンに設定される。
【0106】
なお、各命令と命令との間隔は、時間によって表わされる必要はなく、カウント値によって示されてもよい。
【0107】
図11に示されるラダープログラムは、表示器150において実行される。これに対して、本実施の形態に係る表示器150は、その命令の内容をログ情報として生成し、そのログ情報を出力することができる。表示器1500は、その出力されたログ情報を取り込むことにより、図11に示されるような処理を再現することができる。なお、表示器150は、ログ情報に代えてラダープログラムを出力し、表示器1500は、その出力されたラダープログラムを取り込むようにしてもよい。
【0108】
以上のようにして、本発明の実施の形態に係る表示器150は、その使用者(たとえば熟練したオペレータ)によって与えられたタッチ操作を順次記録してログ情報を生成する。このログ情報は、実行可能な命令の集合である。したがって、このようなログ情報を、同様の画面データを用いる他の表示器に入力することにより、当該他の表示器は、そのログ情報に基づいて命令を実行することにより、表示器150が実行する処理と同じ処理を実現することができる。すなわち、表示器150は、取得したログ情報を用いて実行可能なプログラムを作成するため、ゼロベースで当該プログラムの作成を検討する必要がなくなる。
【0109】
ログ情報は、タッチ操作の内容と、タッチ操作が行なわれた時刻とを含み、この時刻から、タッチ操作とタッチ操作との間の経過時間を時間間隔情報として算出するようになっている。あるいは、他の局面において、連続するタッチ操作とタッチ操作との間のカウント値が時間間隔情報としても使用され得る。このような時間間隔情報を用いることによって、高精度に制御内容が再現されるプログラムが作成できる。したがって、表示器150に対する操作が熟練した使用者による処理の微妙な相違(たとえば、あるタッチ操作と次のタッチ操作との間隔)もログ情報に含まれ得る。これにより、同様の命令が求められる他の表示器においても、当該微妙な相違が反映された命令を実行させることができる。たとえば、熟練者がマニュアル操作によって作動させていた設備を、当該プログラムを用いて簡単に自動運転させることができる。
【0110】
これにより、プログラムをゼロベースで作成することなく同様の処理を他の表示器に実現させるためのログ情報を生成可能な表示器が提供される。なお、上記の実施の形態においては、1つのログ情報をファイルとして生成する場合について述べたが、当該ファイルに名称をつけ、複数のファイルを生成することも可能である。
【0111】
たとえば、図10または図11に示されるように、「開始」および「終了」によって、ログ情報の範囲が規定される。したがって、この範囲を1つのファイルとして生成することができる。このようにすると、一連の命令シーケンスのうちの一部のログ情報をファイルとして取り出すことが可能になり、他の命令シーケンスから取り出された他のログ情報のファイルと組み合わせることも可能となる。その結果、複数のファイルの組み合わせにより新たな命令シーケンスを容易に作成することができる。
【0112】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0113】
【図1】本発明の実施の形態に係る表示器150によって生成されるデータの流れを表わす図である。
【図2】本発明の実施の形態に係る表示器150によって実現される機能の構成を表わすブロック図である。
【図3】表示器150と、表示器150が使用するプログラムを生成するエディタ装置100とのハードウェア構成を表わすブロック図である。
【図4】表示器150が備えるFEPROM164におけるデータの格納の一態様を概念的に表わす図である。
【図5】FEPROM164におけるログ情報の格納の一態様を概念的に表わす図である。
【図6】シミュレーションを実行するコンピュータ600のハードウェア構成を表わすブロック図である。
【図7】表示器150のCPU152が実行する一連の処理の一部を表わすフローチャートである。
【図8】コンピュータ600のCPU610が実行する処理を表わすフローチャートである。
【図9】本発明の実施の形態に係る表示器150によって生成されたログ情報を表示器1500にインストールするための手順を表わすフローチャートである。
【図10】表示器150のFEPROM162に保存されている操作のログ情報を表わす図である。
【図11】表示器150に実行させるために予め作成されたラダープログラムの一例を概念的に表わす図である。
【符号の説明】
【0114】
10 データ記録媒体、662 CD−ROM、1110,1120,1130,1140,1150,1160 部品画像。
【特許請求の範囲】
【請求項1】
タッチパネルを備えた表示器であって、
前記タッチパネルに表示されている画像に対する操作に基づいて、前記画像によって特定される命令を実行するように構成された制御手段と、
前記制御手段によって実行された命令および前記タッチパネルに対する操作と操作とが行なわれた時間間隔情報を含む操作ログを生成するように構成された生成手段とを備える、表示器。
【請求項2】
前記タッチパネルは、操作ログの取得の開始を表わす画像に対する開始操作を受け付け、
前記生成手段は、前記開始操作の後の前記タッチパネルに対する操作に基づいて、前記操作ログの生成を開始するように構成されている、請求項1に記載の表示器。
【請求項3】
前記タッチパネルは、操作ログの取得の終了を表わす画像に対する終了操作を受け付け、
前記生成手段は、前記終了操作の前に行なわれた前記タッチパネルに対する操作に基づいて、前記操作ログを生成するように構成されている、請求項2に記載の表示器。
【請求項4】
前記タッチパネルに対する操作が行なわれた時における前記表示器の外部環境の状態を表わすデータの入力を受け付ける入力手段をさらに備え、
前記生成手段は、前記命令と前記操作が行なわれた時刻情報とに加えて前記データを含む操作ログを生成するように構成されている、請求項1〜3のいずれかに記載の表示器。
【請求項5】
前記操作ログをプログラムに変換する変換手段をさらに備える、請求項1〜4のいずれかに記載の表示器。
【請求項6】
タッチパネルと、プログラムを実行するプロセッサと、メモリとを備えた表示器の制御方法であって、
前記プロセッサが、前記タッチパネルに対する各操作に応答して、前記プログラムに基づいて、各前記操作が行なわれた時に前記タッチパネルに表示されている画像によって特定される各命令を実行するステップと、
前記プロセッサが、前記タッチパネルに対する各前記操作に基づいて、各前記操作によって特定される各命令および2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、
前記プロセッサが、前記生成するステップにおいて生成された操作ログを格納するステップとを含む、表示器の制御方法。
【請求項7】
前記タッチパネルが、操作ログの取得の開始を表わす画像に対する開始操作を受け付けるステップをさらに含み、
前記生成するステップは、前記開始操作の後の前記タッチパネルに対する操作に基づいて、前記操作ログの生成を開始するステップを含む、請求項6に記載の制御方法。
【請求項8】
前記タッチパネルが、操作ログの取得の終了を表わす画像に対する終了操作を受け付けるステップをさらに含み、
前記生成するステップは、前記終了操作の前に行なわれた前記タッチパネルに対する操作に基づいて、前記操作ログを生成するステップを含む、請求項7に記載の制御方法。
【請求項9】
前記プロセッサが、前記タッチパネルに対する操作が行なわれた時における前記表示器の外部環境の状態を表わすデータの入力を受け付けるステップをさらに含み、
前記生成するステップは、前記命令と前記操作が行なわれた時刻とに加えて前記データを含む操作ログを生成するステップを含む、請求項6〜8のいずれかに記載の制御方法。
【請求項10】
タッチパネルと、プロセッサと、アプリケーションプログラムと、メモリとを備えた表示器の制御プログラムであって、前記表示器に、
前記タッチパネルに対する各操作に基づいて、前記プロセッサが、前記アプリケーションプログラムを実行することにより、各前記操作が行なわれた時に前記タッチパネルに表示されている画像によって特定される各命令を実行するステップと、
前記タッチパネルに対する操作に基づいて、前記プロセッサが、各前記操作によって特定される各命令および2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、
前記プロセッサが、前記生成するステップにおいて生成された操作ログを前記メモリに格納するステップとを実行させる、表示器の制御プログラム。
【請求項1】
タッチパネルを備えた表示器であって、
前記タッチパネルに表示されている画像に対する操作に基づいて、前記画像によって特定される命令を実行するように構成された制御手段と、
前記制御手段によって実行された命令および前記タッチパネルに対する操作と操作とが行なわれた時間間隔情報を含む操作ログを生成するように構成された生成手段とを備える、表示器。
【請求項2】
前記タッチパネルは、操作ログの取得の開始を表わす画像に対する開始操作を受け付け、
前記生成手段は、前記開始操作の後の前記タッチパネルに対する操作に基づいて、前記操作ログの生成を開始するように構成されている、請求項1に記載の表示器。
【請求項3】
前記タッチパネルは、操作ログの取得の終了を表わす画像に対する終了操作を受け付け、
前記生成手段は、前記終了操作の前に行なわれた前記タッチパネルに対する操作に基づいて、前記操作ログを生成するように構成されている、請求項2に記載の表示器。
【請求項4】
前記タッチパネルに対する操作が行なわれた時における前記表示器の外部環境の状態を表わすデータの入力を受け付ける入力手段をさらに備え、
前記生成手段は、前記命令と前記操作が行なわれた時刻情報とに加えて前記データを含む操作ログを生成するように構成されている、請求項1〜3のいずれかに記載の表示器。
【請求項5】
前記操作ログをプログラムに変換する変換手段をさらに備える、請求項1〜4のいずれかに記載の表示器。
【請求項6】
タッチパネルと、プログラムを実行するプロセッサと、メモリとを備えた表示器の制御方法であって、
前記プロセッサが、前記タッチパネルに対する各操作に応答して、前記プログラムに基づいて、各前記操作が行なわれた時に前記タッチパネルに表示されている画像によって特定される各命令を実行するステップと、
前記プロセッサが、前記タッチパネルに対する各前記操作に基づいて、各前記操作によって特定される各命令および2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、
前記プロセッサが、前記生成するステップにおいて生成された操作ログを格納するステップとを含む、表示器の制御方法。
【請求項7】
前記タッチパネルが、操作ログの取得の開始を表わす画像に対する開始操作を受け付けるステップをさらに含み、
前記生成するステップは、前記開始操作の後の前記タッチパネルに対する操作に基づいて、前記操作ログの生成を開始するステップを含む、請求項6に記載の制御方法。
【請求項8】
前記タッチパネルが、操作ログの取得の終了を表わす画像に対する終了操作を受け付けるステップをさらに含み、
前記生成するステップは、前記終了操作の前に行なわれた前記タッチパネルに対する操作に基づいて、前記操作ログを生成するステップを含む、請求項7に記載の制御方法。
【請求項9】
前記プロセッサが、前記タッチパネルに対する操作が行なわれた時における前記表示器の外部環境の状態を表わすデータの入力を受け付けるステップをさらに含み、
前記生成するステップは、前記命令と前記操作が行なわれた時刻とに加えて前記データを含む操作ログを生成するステップを含む、請求項6〜8のいずれかに記載の制御方法。
【請求項10】
タッチパネルと、プロセッサと、アプリケーションプログラムと、メモリとを備えた表示器の制御プログラムであって、前記表示器に、
前記タッチパネルに対する各操作に基づいて、前記プロセッサが、前記アプリケーションプログラムを実行することにより、各前記操作が行なわれた時に前記タッチパネルに表示されている画像によって特定される各命令を実行するステップと、
前記タッチパネルに対する操作に基づいて、前記プロセッサが、各前記操作によって特定される各命令および2つの操作が行なわれた時間間隔情報を含む操作ログを生成するステップと、
前記プロセッサが、前記生成するステップにおいて生成された操作ログを前記メモリに格納するステップとを実行させる、表示器の制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−9497(P2010−9497A)
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願番号】特願2008−171003(P2008−171003)
【出願日】平成20年6月30日(2008.6.30)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願日】平成20年6月30日(2008.6.30)
【出願人】(000134109)株式会社デジタル (224)
【Fターム(参考)】
[ Back to top ]