(57)【要約】【課題】駆動機器の状態を視覚的に表わす画面の設計工数を従来よりも削減できる技術を提供する。【解決手段】表示装置は、駆動機器の状態を表わす、予め定められた規格において定められている複数の変数を規定している情報モデルと、画面に関する表示ルールとを受信する。表示ルールにおいて、複数の変数の一部または全部について、変数の値を視覚的に表わす表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられる。表示装置は、情報モデルに含まれる表示対象の各変数に対応する表示オブジェクトと表示定義とを表示ルールから取得し、当該表示オブジェクトの各々を対応する表示定義に従って画面上に配置する。【選択図】図１
2019152949.tif 000002
【特許請求の範囲】
【請求項１】
コントローラによって制御される駆動機器の状態を表わす画面を表示するための表示部と、
前記駆動機器の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデルを前記コントローラから受信するための通信部とを備え、
前記通信部は、前記画面に関する表示ルールを前記コントローラまたは外部機器からさらに受信し、
前記表示ルールにおいて、前記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられており、
前記画面を生成するための制御装置をさらに備え、
前記制御装置は、前記情報モデルに含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を前記表示ルールから取得し、当該表示オブジェクトの各々を対応する表示定義に従って前記画面上に配置する、表示装置。
【請求項２】
前記表示部は、前記情報モデルに含まれる複数の変数の内から、前記表示対象の変数を選択する操作を受け付けるように構成されている、請求項１に記載の表示装置。
【請求項３】
前記制御装置は、前記コントローラから逐次的に受信した変数の値に応じて、対応する表示オブジェクトの表示態様を更新する、請求項１または２に記載の表示装置。
【請求項４】
前記表示装置は、生成された画面を画面履歴として記憶するための記憶装置をさらに備え、
前記制御装置は、前記記憶装置に記憶されている前記画面履歴の内から一の画面履歴が選択されたことに基づいて、当該一の画面履歴に示される画面を前記表示部に再表示する、請求項１〜３のいずれか１項に記載の表示装置。
【請求項５】
前記表示定義は、前記画面上に表示される表示オブジェクトの表示位置と、当該表示オブジェクトの表示サイズとの少なくとも一方を含む、請求項１〜４のいずれか１項に記載の表示装置。
【請求項６】
前記予め定められた規格は、ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）を含む、請求項１〜５のいずれか１項に記載の表示装置。
【請求項７】
コントローラによって制御される駆動機器の状態を表わす画面に関する画面生成方法であって、
前記駆動機器の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデルを前記コントローラから受信するステップと、
前記画面に関する表示ルールを前記コントローラまたは外部機器から受信するステップとを備え、
前記表示ルールにおいて、前記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられており、さらに、
前記情報モデルに含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を前記表示ルールから取得し、当該表示オブジェクトの各々を対応する表示定義に従って前記画面上に配置するステップを備える、画面生成方法。
【請求項８】
コントローラによって制御される駆動機器の状態を表わす画面に関する画面生成プログラムであって、
前記画面生成プログラムは、コンピュータに、
前記駆動機器の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデルを前記コントローラから受信するステップと、
前記画面に関する表示ルールを前記コントローラまたは外部機器から受信するステップとを実行させ、
前記表示ルールにおいて、前記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられており、
前記画面生成プログラムは、コンピュータに、さらに、
前記情報モデルに含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を前記表示ルールから取得し、当該表示オブジェクトの各々を対応する表示定義に従って前記画面上に配置するステップを実行させる、画面生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、駆動機器の状態を視覚的に表わす画面を自動生成するための技術に関する。
【背景技術】
【０００２】
様々な生産現場において、生産工程を自動化するＦＡ（Factory  Automation）システムが普及している。ＦＡシステムは、種々の産業用の駆動機器によって構成される。産業用の駆動機器は、たとえば、ワークを移動するための移動テーブルや、ワークを搬送するためのコンベアや、予め定められた目的の場所までワーク移動するためのアームロボットなどを含む。これらの駆動機器は、ＰＬＣ（Programmable Logic Controller）やロボットコントローラなどの産業用の制御装置（以下、「コントローラ」ともいう。）によって制御される。
【０００３】
駆動機器の状態を監視するためには、コントローラ内の変数にアクセスする必要がある。コントローラ内の変数にアクセスするための技術に関し、特開２０１２−０１８５４１号公報（特許文献１）は、「外部機器の種類や接続に関係なく、外部機器のデータを容易に収集することが可能な」表示装置を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０１８５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
駆動機器の状態を直感的に把握するために、駆動機器の状態を視覚的に表わす画面（以下、「表示装置画面」ともいう。）を表示する表示装置がある。当該表示装置は、設計者によって設計された画面生成プログラムに従って表示装置画面を生成する。
【０００６】
より具体的には、設計者は、表示装置画面の構成部品である各表示オブジェクトについてコントローラ内の変数を対応付け、当該変数に対する表示オブジェクトの表示態様を画面生成プログラム上で定義する。その後、設計者は、設計した画面生成プログラムをコンパイルし、当該画面生成プログラムの実行ファイルを表示装置にダウンロードする。表示装置は、当該実行ファイルの実行命令を受け付けたことに基づいて表示装置画面を生成し表示する。その後、表示装置は、コントローラから変数の値を受信すると、当該変数の値の大きさに応じて、対応する表示オブジェクトの表示態様を変える。ユーザは、表示オブジェクトの表示態様を確認することで、駆動機器の状態を直感的に把握することができる。
【０００７】
このように、設計者は、ＦＡシステムの装置構成に合わせて予めプログラミングを行う必要がある。このような画面設計の手間を軽減するために、表示装置画面をより容易に生成することが可能な技術が求められている。
【０００８】
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、駆動機器の状態を視覚的に表わす画面の設計工数を従来よりも削減することが可能な技術を提供することである。
【課題を解決するための手段】
【０００９】
本開示の一例では、表示装置は、コントローラによって制御される駆動機器の状態を表わす画面を表示するための表示部と、上記駆動機器の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデルを上記コントローラから受信するための通信部とを備える。上記通信部は、上記画面に関する表示ルールを上記コントローラまたは外部機器からさらに受信する。上記表示ルールにおいて、上記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられている。上記表示装置は、上記画面を生成するための制御装置をさらに備える。上記制御装置は、上記情報モデルに含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を上記表示ルールから取得し、当該表示オブジェクトの各々を対応する表示定義に従って上記画面上に配置する。
【００１０】
この開示によれば、予め定められた規格に準拠した情報モデルが用いられることで、設計者は、上記画面を設計する上で、コントローラおよび駆動機器の間で遣り取りされる変数の形式（たとえば、変数名や変数型）を気にする必要がなくなる。その結果、設計者は、各変数に対応付ける表示オブジェクトと各表示オブジェクトの表示定義とを規定するだけで上記画面の仕様を決めることができる。これにより、上記画面の設計工数が従来よりも削減される。
【００１１】
本開示の一例では、上記表示部は、上記情報モデルに含まれる複数の変数の内から、上記表示対象の変数を選択する操作を受け付けるように構成されている。
【００１２】
この開示によれば、ユーザは、表示対象の変数を任意に選択することができる。また、ユーザは、監視したい変数に応じて上記画面を適宜変更することができる。
【００１３】
本開示の一例では、上記制御装置は、上記コントローラから逐次的に受信した変数の値に応じて、対応する表示オブジェクトの表示態様を更新する。
【００１４】
この開示によれば、ユーザは、駆動機器の状態を表わす変数の値を直感的に把握することができる。
【００１５】
本開示の一例では、上記表示装置は、生成された画面を画面履歴として記憶するための記憶装置をさらに備える。上記制御装置は、上記記憶装置に記憶されている上記画面履歴の内から一の画面履歴が選択されたことに基づいて、当該一の画面履歴に示される画面を上記表示部に再表示する。
【００１６】
この開示によれば、ユーザは、自身または他の人が生成した任意の画面を任意のタイミングで呼び出すことができる。
【００１７】
本開示の一例では、上記表示定義は、上記画面上に表示される表示オブジェクトの表示位置と、当該表示オブジェクトの表示サイズとの少なくとも一方を含む。
【００１８】
この開示によれば、上記画面上における表示オブジェクトの表示位置および表示サイズが固定される。
【００１９】
本開示の一例では、上記予め定められた規格は、ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）を含む。
【００２０】
この開示によれば、ＯＰＣ−ＵＡに従った通信プロトコルが利用されることで、表示装置とコントローラとのデータ交換がＯＳやベンダーに依存せずに実現され得る。
【００２１】
本開示の他の例では、コントローラによって制御される駆動機器の状態を表わす画面に関する画面生成方法は、上記駆動機器の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデルを上記コントローラから受信するステップと、上記画面に関する表示ルールを上記コントローラまたは外部機器から受信するステップとを備える。上記表示ルールにおいて、上記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられている。上記画面生成方法は、さらに、上記情報モデルに含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を上記表示ルールから取得し、当該表示オブジェクトの各々を対応する表示定義に従って上記画面上に配置するステップを備える。
【００２２】
この開示によれば、予め定められた規格に準拠した情報モデルが用いられることで、設計者は、上記画面を設計する上で、コントローラおよび駆動機器の間で遣り取りされる変数の形式（たとえば、変数名や変数型）を気にする必要がなくなる。その結果、設計者は、各変数に対応付ける表示オブジェクトと各表示オブジェクトの表示定義とを規定するだけで上記画面の仕様を決めることができる。これにより、上記画面の設計工数が従来よりも削減される。
【００２３】
本開示の他の例では、コントローラによって制御される駆動機器の状態を表わす画面に関する画面生成プログラムは、コンピュータに、上記駆動機器の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデルを上記コントローラから受信するステップと、上記画面に関する表示ルールを上記コントローラまたは外部機器から受信するステップとを実行させる。上記表示ルールにおいて、上記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられている。上記画面生成プログラムは、コンピュータに、さらに、上記情報モデルに含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を上記表示ルールから取得し、当該表示オブジェクトの各々を対応する表示定義に従って上記画面上に配置するステップを実行させる。
【００２４】
この開示によれば、予め定められた規格に準拠した情報モデルが用いられることで、設計者は、上記画面を設計する上で、コントローラおよび駆動機器の間で遣り取りされる変数の形式（たとえば、変数名や変数型）を気にする必要がなくなる。その結果、設計者は、各変数に対応付ける表示オブジェクトと各表示オブジェクトの表示定義とを規定するだけで上記画面の仕様を決めることができる。これにより、上記画面の設計工数が従来よりも削減される。
【発明の効果】
【００２５】
ある局面において、駆動機器の状態を視覚的に表わす画面の設計工数を従来よりも削減することができる。
【図面の簡単な説明】
【００２６】
【図１】実施の形態に従うＦＡシステムの構成例を示す図である。
【図２】表示装置とコントローラとサポート装置との間のデータの流れを示すシーケンス図である。
【図３】図２のステップＳ３０で表示される選択画面の一例を示す図である。
【図４】図２のステップＳ３４で表示される選択画面の一例を示す図である。
【図５】図２のステップＳ３８で表示される選択画面の一例を示す図である。
【図６】ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）で規定されるアドレス空間の一例を示す図である。
【図７】ＰａｃｋＭＬ（Packaging Machine Language）に従う情報モデルの一例を示す図である。
【図８】「Ｓｔａｔｕｓ」タグで管理される状態変数の一例を示す図である。
【図９】プロセス変数の１つのデータ構造を示す図である。
【図１０】オブジェクト情報の一例を示す図である。
【図１１】テンプレート情報の一例を示す図である。
【図１２】図１１に示されるテンプレート情報の続きを示す図である。
【図１３】生成された表示装置画面の一例を示す図である。
【図１４】生成された表示装置画面の他の例を示す図である。
【図１５】変形例に従う表示装置画面を示す図である。
【図１６】実施の形態に従う表示装置のハードウェア構成を示すブロック図である。
【図１７】実施の形態に従うコントローラのハードウェア構成の一例を示す模式図である。
【図１８】実施の形態に従うサポート装置のハードウェア構成を示す模式図である。
【図１９】実施の形態に従う表示装置が実行する処理の一部を表わすフローチャートである。
【図２０】実施の形態に従う表示装置の機能構成の一例を示す図である。
【図２１】変形例に従うサポート装置の機能構成の一例を示す図である。
【図２２】変形例に従うサポート装置の機能構成を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００２８】
＜Ａ．適用例＞
図１を参照して、本発明の適用例について説明する。図１は、ＦＡシステム１の構成例を示す図である。
【００２９】
ＦＡシステム１は、生産工程を自動化するためのシステムである。図１の例では、ＦＡシステム１は、１つ以上の表示装置１００と、１つ以上のコントローラ２００と、１つ以上の駆動機器３００と、１つ以上のサポート装置４００とで構成されている。
【００３０】
表示装置１００、コントローラ２００、およびサポート装置４００は、ネットワークＮＷ１に接続されている。ネットワークＮＷ１には、たとえば、ベンダーやＯＳの種類などに依存することなくデータ交換を実現することができる予め定められた規格に従ったネットワークを採用することが望ましい。当該予め定められた規格は、標準規格であってもよいし、ベンダー独自の規格または仕様であってもよい。標準規格としては、たとえば、ＯＰＣ−ＵＡなどが知られている。ＯＰＣ−ＵＡとは、ベンダーやＯＳ（Operating System）の種類などに依存することなくデータ交換を実現するために定められた通信の標準規格である。ＯＰＣ−ＵＡに対応したコントローラ２００が用いられることで、表示装置１００は、コントローラ２００内で管理されるデータ（変数）に容易にアクセスすることができる。
【００３１】
以下では、ＯＰＣ−ＵＡを前提として説明を行うが、採用される規格は、ＯＰＣ−ＵＡに限定されるわけではなく、ベンダーやＯＳの種類などに依存することなくデータ交換を実現することができる任意の標準規格やベンダー独自の規格または仕様が採用され得る。
【００３２】
コントローラ２００および駆動機器３００は、ネットワークＮＷ２に接続されている。ネットワークＮＷ２には、データの到達時間が保証される、定周期通信を行うフィールドネットワークを採用することが好ましい。このような定周期通信を行うフィールドネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００３３】
駆動機器３００は、生産工程を自動化するための種々の産業用機器を含む。一例として、駆動機器３００は、アームロボットを制御するロボットコントローラや、サーボモータを制御するサーボドライバや、ワークを撮影するための視覚センサや、生産工程で利用されるその他の機器などを含む。
【００３４】
表示装置１００は、たとえば、ＨＭＩ（Human Machine Interface）、ＰＣ（Personal Computer）、サーバ、スマートフォン、タブレット端末、または、表示機能を有するその他の情報処理装置である。表示装置１００は、ハードウェア構成として、通信部１０１と、制御装置１０２と、表示部１２０とを含む。
【００３５】
通信部１０１は、ネットワークＮＷ１に接続するための通信インターフェイスである。通信部１０１は、標準規格において定められている複数の変数を規定している情報モデル２１２をコントローラ２００から受信する。ここでいう「変数」とは、駆動機器３００の状態を表わすデータのことをいう。異なる言い方をすれば、「変数」とは、対応する駆動機器３００の各構成の状態に連動して値が変化するデータのことをいう。典型的には、「変数」は、駆動機器３００を制御するためのコントローラ２００用の制御プログラムで利用されるデータであり、一つの値を表わすデータだけでなく、配列として表されるデータや、構造体として表されるデータも含む。
【００３６】
この「変数」について仕様（たとえば、変数名や変数の型など）が定められている標準規格がある。その例が、ＰａｃｋＭＬである。ＰａｃｋＭＬで定義されている機能（たとえば、Ｃｏｍｍａｎｄ、Ｓｔａｔｕｓ、Ａｄｍｉｎなど）は、ＯＰＣ−ＵＡの情報モデルに従って表現される。ＰａｃｋＭＬは、ＩＳＡ（The International Society of Automation）−８８において規定されており、包装機械に特化して定められた標準規格である。このような標準規格に従うことで、装置間で遣り取りするデータについて仕様を決める必要が無くなる。
【００３７】
通信部１０１は、情報モデル２１２をコントローラ２００から受信する一方で、表示装置１００の画面に関する表示ルール４１２をサポート装置４００から受信する。サポート装置４００は、たとえば、ＰＣまたはタブレット端末である。サポート装置４００には、コントローラ２００用の制御プログラムの開発ツールがインストールされ得る。設計者は、当該開発ツール上でコントローラ２００用の制御プログラムを設計し、設計した制御プログラムをコントローラ２００にインストールすることができる。また、設計者は、当該開発ツール上で表示装置１００に表示する画面設計することもできる。当該開発ツールは、たとえば、オムロン社製の「Ｓｙｓｍａｃ  Ｓｔｕｄｉｏ」である。
【００３８】
表示ルール４１２は、ＰａｃｋＭＬなどの標準規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とを対応付けている。「表示オブジェクト」とは、表示装置１００の画面を構成し得る部品（画像）の１つを表わす。「表示定義」とは、対応付けられている表示オブジェクトの表示位置や表示サイズなど画面上の配置に関する定義を表わす。図１の例では、「変数Ａ」には、表示オブジェクト「タコメータ１３１Ａ」と、表示定義「表示定義Ａ」とが対応付けられている。「変数Ｂ」には、表示オブジェクト「サーモメータ１３１Ｂ」と、表示定義「表示定義Ｂ」とが対応付けられている。
【００３９】
制御装置１０２は、コントローラ２００から受信した情報モデル２１２と、サポート装置４００から受信した表示ルール４１２とに基づいて、表示装置画面１３０を生成する。より具体的には、制御装置１０２は、情報モデル２１２に含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を表示ルール４１２から取得し、当該表示オブジェクトの各々を対応する表示定義に従って表示装置画面１３０上に配置する。図１の例では、表示装置１００は、情報モデル２１２に含まれる「変数Ａ」については、対応付けられている「表示定義Ａ」に従って「タコメータ１３１Ａ」を表示装置画面１３０上に配置する。また、表示装置１００は、情報モデル２１２に含まれる「変数Ｂ」については、対応付けられている「表示定義Ｂ」に従って「サーモメータ１３１Ｂ」を表示装置画面１３０上に配置する。ユーザは、タコメータ１３１Ａおよびサーモメータ１３１Ｂを確認することで、「変数Ａ」および「変数Ｂ」の値を視覚的に確認することができる。
【００４０】
以上のようにして、標準規格に準拠した情報モデル２１２が用いられることで、設計者は、表示装置画面１３０を設計する上で、コントローラ２００および駆動機器３００間で遣り取りされる変数の形式（たとえば、変数名や変数型）を気にする必要がなくなる。その結果、設計者は、各変数に対応付ける表示オブジェクトと表示オブジェクトの表示定義とを規定するだけで表示装置画面１３０の仕様を決めることができる。これにより、表示装置画面１３０を設計する必要がなくなる。また、画面を生成するためのプログラムを表示装置１００上に事前に準備（ダウンロード）する必要がなくなり、コストの削減、利便性の向上、操作性の向上など種々の効果が生まれる。究極的には、ユーザは、購入した表示装置１００を現場に持って行くだけで即座に表示装置１００を利用することができる。
【００４１】
また、表示ルール４１２の内容を編集して、当該表示ルール４１２を表示装置１００に再配布するだけで、表示装置画面１３０が再生成されるので、画面の設計変更が容易になる。
【００４２】
なお、図１の例では、表示ルール４１２がサポート装置４００から配布される例について説明を行ったが、表示ルール４１２は、その他の外部機器から配布されてもよい。ここでいう「外部機器」とは、表示装置画面１３０の自動生成を担う装置とは異なる装置のこという。すなわち、図１の例では、外部機器は、コントローラ２００やサポート装置４００やサーバ（図示しない）などを指す。また、後述のように、表示装置画面１３０の自動生成機能がサポート装置４００に実装されている場合には、外部機器は、表示装置１００やコントローラ２００やサーバ（図示しない）などを指す。
【００４３】
また、図１の例では、表示ルール４１２において、各変数について、表示オブジェクトの種類および表示定義が対応付けられている例について説明を行ったが、表示オブジェクトの種類および表示定義は、それぞれ別データとして定義されてもよい。すなわち、表示装置１００は、各変数について表示オブジェクトの種類が対応付けられた表示ルールと、各変数について表示定義が対応付けられた表示ルールとを個別に受信するように構成されてもよい。
【００４４】
＜Ｂ．シーケンスフロー＞
図２〜図５を参照して、上述の表示装置画面１３０の生成処理に関する処理フローについて説明する。図２は、表示装置１００とコントローラ２００とサポート装置４００との間のデータの流れを示すシーケンス図である。
【００４５】
ステップＳ１０において、表示装置１００は、標準規格に従う情報モデル２１２の取得要求をコントローラ２００に送信する。情報モデル２１２の詳細については後述する。
【００４６】
ステップＳ１２において、コントローラ２００は、情報モデル２１２の取得要求を表示装置１００から受信したことに基づいて、情報モデル２１２を表示装置１００に送信する。情報モデル２１２において、コントローラ２００の制御対象である駆動機器３００の状態を表わす変数が規定されている。
【００４７】
ステップＳ２０において、表示装置１００は、表示装置画面１３０の生成操作を受け付けたことに基づいて、表示ルール４１２の取得要求をコントローラ２００に送信する。
【００４８】
ステップＳ２２において、サポート装置４００は、表示ルール４１２の取得要求を表示装置１００から受信したことに基づいて、表示ルール４１２を表示装置１００に送信する。表示ルール４１２において、標準規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられている。表示ルール４１２の詳細については後述する。
【００４９】
ステップＳ３０において、表示装置１００は、表示対象の変数の選択を受け付ける選択画面を表示する。図３は、ステップＳ３０で表示される選択画面の一例を示す図である。
【００５０】
図３には、変数の選択画面の一例として、選択画面１３５が示されている。選択画面１３５は、表示装置１００の表示部１２０に表示される。選択画面１３５は、情報モデル２１２に含まれる複数の変数の内から、表示装置画面１３０に表示させる変数を選択する操作を受け付けるように構成されている。より具体的には、選択画面１３５は、情報モデル２１２に含まれる変数名を表示する変数名表示領域１３６と、各変数に対する選択操作を受け付ける選択操作受付領域１３７とを含む。
【００５１】
変数名表示領域１３６には、情報モデル２１２に規定される変数名が一覧で表示される。変数名表示領域１３６に表示される変数名は、各変数を一意に特定することができる情報であればよい。一例として、変数名表示領域１３６に表示される変数名は、コントローラ２００による駆動機器３００の制御プログラム上で定義される変数名で表示されてもよいし、各変数を関連付けられた別名で表示されてもよい。
【００５２】
選択操作受付領域１３７には、各変数に対応するようにチェックボックスが表示される。変数が選択された場合には、対応するチェックボックスにチェックマークが表示される。変数が未選択である場合には、対応するチェックボックスにチェックマークが表示されない。チェックボックスが選択される度に、チェックマークの表示／非表示が交互に切り替えられる。
【００５３】
再び図２を参照して、ステップＳ３２において、表示装置１００は、変数の選択画面１３５で選択された変数に従って、上述の表示装置画面１３０（図１参照）を生成する。より具体的には、表示装置１００は、ステップＳ２２で受信した表示ルール４１２を参照して、選択対象の各変数について対応付けられている表示オブジェクトと表示定義とを取得する。表示装置１００は、取得した表示オブジェクトを対応する表示定義に従って表示装置画面１３０に配置する。その後、表示装置１００は、生成した表示装置画面１３０を表示部１２０に表示する。
【００５４】
このように、表示装置１００は、ステップＳ３０で選択された任意の変数に従って表示装置画面１３０を自動生成する。これにより、ユーザは、表示装置画面１３０の生成プログラムを修正すること無しに、自身が監視したい変数に応じて表示装置画面１３０を適宜変えることができる。
【００５５】
ステップＳ３４において、表示装置１００は、ステップＳ３２で生成された表示装置画面１３０を閉じる操作を受け付けたか否かに基づいて、表示装置画面１３０を保存するか否かを選択する選択画面を表示する。図４は、ステップＳ３４で表示される選択画面の一例を示す図である。
【００５６】
図４には、保存／非保存の選択画面の一例として、選択画面１４０が示されている。選択画面１４０は、表示装置１００の表示部１２０に表示される。選択画面１４０は、表示装置画面１３０の作成日時と、表示装置画面１３０の作成者と、表示装置画面１３０に付ける画面名の入力領域１４１と、表示装置画面１３０について残すメモの入力領域１４２と、保存ボタン１４３と、キャンセルボタン１４４とを含む。
【００５７】
保存ボタン１４３が押下されたことに基づいて、表示装置１００は、ステップＳ３２で生成された表示装置画面１３０を画面履歴として保存する。当該画面履歴は、表示装置画面１３０を生成するための情報（たとえば、選択された変数や各変数に対応付けられている表示ルールなど）、表示装置画面１３０の生成日時、表示装置画面１３０の作成者、入力領域１４１に入力された画面名、および、入力領域１４２に入力されたメモなどを含む。当該画面履歴は、たとえば、表示装置１００の記憶装置１１０（図１６参照）に保存される。
【００５８】
キャンセルボタン１４４が押下されたことに基づいて、表示装置１００は、ステップＳ３２で生成された表示装置画面１３０を保存せずに選択画面１４０を閉じる。
【００５９】
再び図２を参照して、ステップＳ３８において、表示装置１００は、画面履歴の表示操作を受け付けたことに基づいて、画面履歴の選択画面を表示する。図５は、ステップＳ３８で表示される選択画面の一例を示す図である。
【００６０】
図５には、画面履歴の選択画面の一例として、選択画面１４５が示されている。選択画面１４５は、表示装置１００の表示部１２０に表示される。選択画面１４５は、画面履歴１４６と、表示ボタン１４７とを含む。
【００６１】
表示装置画面１３０の作成日時１４６Ａと、表示装置画面１３０の作成者１４６Ｂと、表示装置画面１３０に付けられた画面名１４６Ｃと、表示装置画面１３０について残されたメモ１４６Ｄとが画面履歴１４６において一覧表示される。ユーザは、画面履歴１４６に表示されている各行を任意に選択することができる。選択された行は、他の行とは異なる態様で表示される。図５の例では、行１４８が選択されている。
【００６２】
ステップＳ４０において、表示装置１００は、画面履歴１４６の一の行が選択がされた状態で、表示ボタン１４７が押下されたことに基づいて、表示装置１００は、選択された行に対応する表示装置画面１３０を表示部１２０に表示する。このように、表示装置１００は、内部の記憶装置１１０（図１６参照）に記憶されている画面履歴の内から一の画面履歴が選択されたことに基づいて、当該一の画面履歴に示される画面を表示部１２０に再表示する。これにより、ユーザは、自身または他の人が生成した任意の画面を任意のタイミングで呼び出すことができる。
【００６３】
＜Ｃ．情報モデル２１２＞
図６〜図９を参照して、上述の情報モデル２１２（図１参照）について説明する。情報モデル２１２において、駆動機器３００の状態を表わす各変数の仕様が標準規格に従って定められている。当該標準規格の例が、ＯＰＣ−ＵＡに則って規格化されたＰａｃｋＭＬである。情報モデル２１２は、ＯＰＣ−ＵＡで規定されるアドレス空間に則って定められている。
【００６４】
ＰａｃｋＭＬの理解のために、ＯＰＣ−ＵＡのアドレス空間について説明する。図６は、ＯＰＣ−ＵＡで規定されるアドレス空間の一例を示す図である。図６には、ＯＰＣ−ＵＡで規定されるアドレス空間の一例として、アドレス空間２１２Ａが示されている。
【００６５】
アドレス空間２１２Ａには、駆動機器３００の状態を表わす各変数の論理アドレスが規定されている。論理アドレスとは、表示装置１００の記憶装置１１０（図１６参照）上の論理位置のこといい、記憶装置１１０上の所定の情報（たとえば、図６の「ＲＯＯＴ」）を基準とした相対位置を表わす。
【００６６】
より具体的には、アドレス空間２１２Ａは、複数のノードで構成される。各ノードは、対応する変数の属性（たとえば、アドレス、変数値、変数の型など）を規定する。各ノードは、他のノードと関連付けられており階層関係を有する。表示装置１００は、アドレス空間２１２Ａに規定されている各ノードの論理アドレスを辿ることで、目的のノードを探索することができ、辿りついた目的のノードの属性を参照することで、当該ノードに規定されている変数の型や変数の値を取得することができる。
【００６７】
図６には、コントローラ「ｎｅｗ＿Ｃｏｎｔｒｏｌｌｅｒ＿０」内の変数がノードＮ１〜Ｎ３として管理されている。表示装置１００は、オブジェクト「ＤｅｖｉｃｅＳｅｔ」に含まれるノード「ｎｅｗ＿Ｃｏｎｔｒｏｌｌｅｒ＿０」、オブジェクト「Ｒｅｓｏｕｒｃｅｓ」に含まれるノード「ＣＰＵ」を順に辿ることで、オブジェクト「ＧｌｏｂａｌＶａｒｓ」に含まれるノードＮ１〜Ｎ３にアクセスすることができる。
【００６８】
図６の例では、ノードＮ１〜Ｎ３には、変数の属性として、変数の値と変数の型とが規定されている。表示装置１００は、ノードＮ１を参照することで、ノードＮ１に関連付けられている変数「Ｖａｒ１」の型および値を特定することができる。また、表示装置１００は、ノードＮ２を参照することで、ノードＮ２に関連付けられている変数「Ｖａｒ２」の型および値を特定することができる。また、表示装置１００は、ノードＮ３を参照することで、ノードＮ３に関連付けられている変数「Ｖａｒ３」の型および値を特定することができる。
【００６９】
ＰａｃｋＭＬでは、ＯＰＣ−ＵＡのアドレス空間に従って各変数の変数名などが情報モデルとして定められている。図７は、ＰａｃｋＭＬに従う情報モデルの一例を示す図である。図７には、ＰａｃｋＭＬに従う情報モデルの一例として、情報モデル２１２が示されている。
【００７０】
図６に示されるアドレス空間２１２Ａと同様に、情報モデル２１２上では、各変数の論理アドレスが規定されている。ＰａｃｋＭＬでは、各ノードについてのタグ名と、各タグに対する標準的な変数とが関連付けられている。図７に示されるように、「ＰａｃｋＭＬ」タグで示される「Ｆｏｌｄｅｒ」の下位には、「Ｃｏｍｍａｎｄ」タグで示される「Ｆｏｌｄｅｒ」と、「Ｓｔａｔｕｓ」タグで示される「Ｆｏｌｄｅｒ」と、「Ａｄｍｉｎ」タグで示される「Ｆｏｌｄｅｒ」とが存在する。
【００７１】
「Ｃｏｍｍａｎｄ」タグでは、コントローラ２００における制御プログラムによって読み書きされる各種変数が管理される。すなわち、タグ「Ｃｏｍｍａｎｄ」で管理される変数は、コントローラ２００や駆動機器３００の状態に応じて変化する。
【００７２】
「Ｓｔａｔｕｓ」タグでは、コントローラ２００や駆動機器３００の状態を表わす変数が管理される。すなわち、タグ「Ｃｏｍｍａｎｄ」で管理される変数は、タグ「Ｃｏｍｍａｎｄ」で管理される変数のフィードバックを受けて変化する。
【００７３】
「Ａｄｍｉｎ」タグでは、コントローラ２００の上位システムによって収集されるデータが管理される。当該データは、ＦＡシステム１の生産能力の分析やＦＡシステム１に対する操作情報などを含む。
【００７４】
図８は、「Ｓｔａｔｕｓ」タグで管理される状態変数の一例を示す図である。図８には、「Ｓｔａｔｕｓ」タグで示される状態変数１４９Ａが示されている。状態変数１４９Ａは、「Ｓｔａｔｕｓ」構造体で定義される。状態変数１４９Ａは、メンバとして、「ＳｔａｔｕｓＣｕｒｒｅｎｔ」と、「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」とを含む。
【００７５】
「ＳｔａｔｕｓＣｕｒｒｅｎｔ」は、コントローラ２００や駆動機器３００の状態を示す変数である。一例として、「ＳｔａｔｕｓＣｕｒｒｅｎｔ」が「１」であることは、「初期化中」を示す。「ＳｔａｔｕｓＣｕｒｒｅｎｔ」が「２」であることは、「停止状態」を示す。「ＳｔａｔｕｓＣｕｒｒｅｎｔ」が「３」であることは、「開始中」を示す。
【００７６】
「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」は、コントローラ２００または駆動機器３００の動作モードを示す変数である。一例として、「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」が「１」であることは、「生産モード」を示す。「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」が「２」であることは、「メンテナンスモード」を示す。
【００７７】
情報モデル２１２では、状態変数以外にも様々な変数が管理される。一例として、情報モデル２１２は、複数のプロセス変数を含む。プロセス変数では、データの型だけが決まっており、プロセス変数の定義自体は、ベンダーや設計者によって決められる。
【００７８】
図９は、プロセス変数の１つのデータ構造を示す図である。図９には、構造体のプロセス変数１４９Ｂが示されている。プロセス変数１４９Ｂは、メンバとして、「ＩＤ」、「Ｎａｍｅ」、「Ｕｎｉｔ」、「Ｖａｌｕｅ」を含む。
【００７９】
＜Ｄ．表示ルール４１２＞
上述のように、表示ルール４１２では、情報モデル２１２で定義される変数の内の表示対象の各変数について、表示オブジェクトの種類と、表示定義とが対応付けられている。各変数に対応付けられる表示オブジェクトと、各変数に対応付けられる表示定義とは、別個に定義されてもよいし、一体的に定義されてもよい。以下では、図１０〜図１２を参照して、各変数に対応付けられる表示オブジェクトと、各変数に対応付けられる表示定義とが、別個に定義されている場合の表示ルール４１２について説明する。
【００８０】
なお、以下では、表示対象の各変数と表示オブジェクトの種類との対応関係を「オブジェクト情報」と称する。表示対象の各変数と表示定義との対応関係を「テンプレート情報」と称する。
【００８１】
（Ｄ１．オブジェクト情報）
図１０は、オブジェクト情報の一例を示す図である。図１０には、オブジェクト情報の一例として、オブジェクト情報４１２Ａが示されている。オブジェクト情報４１２Ａは、表示ルール４１２に含まれる情報である。
【００８２】
図１０に示されるように、オブジェクト情報４１２Ａにおいて、表示オブジェクト名と、表示オブジェクトの種類と、情報モデル２１２における変数名と、当該変数の設定値との対応関係が規定される。
【００８３】
一例として、上述のプロセス変数１４９Ｂ（図９参照）について表示オブジェクトが対応付けられる。上述のように、プロセス変数１４９Ｂの定義自体は、ベンダーや設計者によって定義される。すなわち、プロセス変数１４９Ｂのメンバ「ＩＤ」、「Ｎａｍｅ」、「Ｕｎｉｔ」、「Ｖａｌｕｅ」について、表示オブジェクトの対応付けを行う必要がある。一例として、「ＩＤ」の「１」〜「９９９」には表示オブジェクトとして圧力計が対応付けられ、「ＩＤ」の「１０００」〜「１９９９」には表示オブジェクトとして温度計が対応付けられる。
【００８４】
図１０の例では、プロセス変数「ＭａｃｈｉｎｅＡ＿Ｐｒｓｓｕｒｅ１」には、圧力計の表示オブジェクト「タコメータ」が対応付けられている。より具体的には、当該プロセス変数のメンバ「ＩＤ」には、ＩＤ「１００」が対応付けられている。当該プロセス変数のメンバ「Ｎａｍｅ」には、名前「装置Ａ圧力バルブ１」が対応付けられている。当該プロセス変数のメンバ「Ｕｎｉｔ」には、単位「Ｋ」が対応付けられている。これにより、ＩＤ「１００」で示されるプロセス変数「ＭａｃｈｉｎｅＡ＿Ｐｒｓｓｕｒｅ１」について、表示オブジェクト「タコメータ」が対応付けられる。
【００８５】
表示オブジェクト「タコメータ」は、当該プロセス変数のメンバ「Ｖａｌｕｅ」の値に応じて表示態様を変える。典型的には、表示装置１００は、プロセス変数のメンバ「Ｖａｌｕｅ」の値に連動させて表示オブジェクト「タコメータ」のメータを逐次更新する。図１０の例では、プロセス変数のメンバ「Ｖａｌｕｅ」の値が「０」であるので、「タコメータ」のメータが「０」を指すように表示態様が更新される。
【００８６】
プロセス変数「ＭａｃｈｉｎｅＡ＿Ｔｈｅｒｍｏ１」には、温度計の表示オブジェクト「サーモメータ」が対応付けられている。より具体的には、当該プロセス変数のメンバ「ＩＤ」には、ＩＤ「１５００」が対応付けられている。当該プロセス変数のメンバ「Ｎａｍｅ」には、名前「装置Ａ温度１」が対応付けられている。当該プロセス変数のメンバ「Ｕｎｉｔ」には、単位「℃」が対応付けられている。これにより、ＩＤ「１５００」で示されるプロセス変数「ＭａｃｈｉｎｅＡ＿Ｐｒｓｓｕｒｅ１」について、表示オブジェクト「タコメータ」が対応付けられる。
【００８７】
表示オブジェクト「サーモメータ」は、当該プロセス変数のメンバ「Ｖａｌｕｅ」の値に応じて表示態様を変える。典型的には、表示装置１００は、プロセス変数のメンバ「Ｖａｌｕｅ」の値に連動させて表示オブジェクト「サーモメータ」のメータを逐次更新する。図１０の例では、プロセス変数のメンバ「Ｖａｌｕｅ」の値が「０」であるので、「サーモメータ」のメータが「０」を指すように表示態様が更新される。
【００８８】
また、プロセス変数の他にも、上述の状態変数１４９Ａ（図８参照）について表示オブジェクトが対応付けられている。図１０の例では、状態変数「Ｓｔａｔｕｓ」について表示オブジェクト「状態遷移図」が対応付けられている。表示オブジェクト「状態遷移図」は、ＦＡシステム１の各状態の遷移関係を視覚的に表わす表示オブジェクトである。
【００８９】
図８で説明したように、状態変数「Ｓｔａｔｕｓ」は、メンバとして、現状態を示す「ＳｔａｔｕｓＣｕｒｒｅｎｔ」と、現在の動作状態を示す「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」とを含む。表示オブジェクト「状態遷移図」は、状態変数のメンバ「ＳｔａｔｕｓＣｕｒｒｅｎｔ」の値と、「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」の値とに応じて表示態様を変える。図１０の例では、メンバ「ＳｔａｔｕｓＣｕｒｒｅｎｔ」の値が「２」であるので、その値に対応する「Ｓｔｏｐｐｅｄ」状態（図８参照）が「状態遷移図」において強調される。また、メンバ「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」の値が「１」であるので、その値に対応する「ＰＲＯＤＵＣＴＩＯＮ  ＭＯＤＥ」（図８参照）が「状態遷移図」において強調される。
【００９０】
なお、状態変数「Ｓｔａｔｕｓ」には、表示オブジェクト「状態遷移図」の代わりに、表示オブジェクト「ステータスランプ」が対応付けられてもいい。表示オブジェクト「ステータスランプ」は、特定の状態と特定の動作モードとをそれぞれ２種類の表示態様（たとえば、点灯および消灯）で示す表示オブジェクトである。表示オブジェクト「ステータスランプ」は、状態変数のメンバ「ＳｔａｔｕｓＣｕｒｒｅｎｔ」の値と、「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」の値とに応じて表示態様を変える。
【００９１】
図１０の例では、メンバ「ＳｔａｔｕｓＣｕｒｒｅｎｔ」の値が「２」であるので、その値に対応する「Ｓｔｏｐｐｅｄ」状態（図８参照）が「ステータスランプ」において点灯する。また、メンバ「ＵｎｉｔＭｏｄｅＣｕｒｒｅｎｔ」の値が「１」であるので、その値に対応する「ＰＲＯＤＵＣＴＩＯＮ  ＭＯＤＥ」（図８参照）が「ステータスランプ」点灯する。
【００９２】
（Ｄ２．テンプレート情報）
次に、図１１および図１２を参照して、表示対象の各変数と表示定義との対応関係を規定するテンプレート情報について説明する。図１１は、テンプレート情報の一例を示す図である。図１２は、図１１に示されるテンプレート情報の続きを示す図である。図１１および図１２には、テンプレート情報の一例として、テンプレート情報４１２Ｂが示されている。
【００９３】
テンプレート情報４１２Ｂは、表示ルール４１２に含まれる情報である。オブジェクト情報４１２Ａにおいて、表示オブジェクト名と、表示オブジェクトの種類と、表示定義との対応関係が規定される。
【００９４】
表示定義は、表示オブジェクトの表示位置（座標値）と、表示オブジェクトのサイズとの少なくとも一方を含む。好ましくは、表示定義は、表示オブジェクトを説明するための文字情報をさらに含む。表示定義は、たとえば、ＸＭＬ（Extensible Markup Language）で定義される。
【００９５】
図１１の例では、圧力計の表示オブジェクト「タコメータ」は、表示装置画面１３０（図１参照）上の座標（０，０）を基準として、横幅「８０」、縦幅「１００」のサイズで表示されるように定義されている。また、表示オブジェクトを説明するための文字情報として、テキスト「ＩＤ：」に並べて、上述のプロセス変数のメンバ「ＩＤ」の内容が表示されるように定義されている。この文字情報は、表示装置画面１３０上の座標（１４０，２０）を基準としてフォントサイズ「１２」で表示されるように定義されている。また、表示オブジェクトを説明するための文字情報として、テキスト「Ｎａｍｅ：」に並べて、上述のプロセス変数のメンバ「Ｎａｍｅ」の内容が表示されるように定義されている。この文字情報は、表示装置画面１３０上の座標（１４０，６０）を基準としてフォントサイズ「１２」で表示されるように定義されている。
【００９６】
図１１および図１２に示されるように、温度計の表示オブジェクト「サーモメータ」、ステータスの表示オブジェクト「状態遷移図」、ステータスの表示オブジェクト「ステータスランプ」についても同様に表示定義が対応付けられている。
【００９７】
＜Ｅ．表示装置画面１３０＞
上述の図１０および図１１を参照しつつ、図１３および図１４を参照して、表示装置画面の生成処理について説明する。図１３は、生成された表示装置画面の一例を示す図である。図１３には、生成された表示装置画面の一例として、表示装置画面１３０が示されている。
【００９８】
表示装置１００は、表示ルール４１２のオブジェクト情報４１２Ａ（図１０参照）に含まれる表示オブジェクトの内から、変数の選択画面１３５（図３参照）で選択された各変数に対応付けられている表示オブジェクトを特定する。たとえば、変数の選択画面１３５において、プロセス変数「装置Ａバルブ圧力１」およびプロセス変数「装置Ａ温度１」が選択されたとする。この場合、表示装置１００は、表示ルール４１２のオブジェクト情報４１２Ａを参照して、プロセス変数「装置Ａバルブ圧力１」に対応付けられている表示オブジェクト「タコメータ」と、プロセス変数「装置Ａ温度１」に対応付けられている表示オブジェクト「サーモメータ」とを取得する。
【００９９】
次に、表示装置１００は、表示ルール４１２のテンプレート情報４１２Ｂ（図１１参照）に含まれる表示定義の内から、選択された表示オブジェクトに対応付けられている表示定義を特定する。より具体的には、表示装置１００は、表示ルール４１２のテンプレート情報４１２Ｂを参照して、表示オブジェクト「タコメータ」に対応付けられている表示定義と、表示オブジェクト「サーモメータ」に対応付けられている表示定義とを取得する。次に、表示装置１００は、表示オブジェクト「タコメータ」および表示オブジェクト「サーモメータ」をそれぞれ、対応の表示定義で示される表示装置画面１３０上の表示位置に配置する。これにより、表示装置画面１３０が生成される。
【０１００】
その後、表示装置１００は、コントローラ２００から逐次的に受信したプロセス変数の値に応じて、表示装置画面１３０上の対応する表示オブジェクトの表示態様を更新する。一例として、表示装置１００は、駆動機器３００内のいずれかのコンポーネントの圧力を表わすプロセス変数をコントローラ２００から受信した場合、当該プロセス変数に対応付けられている表示オブジェクト「タコメータ」の表示を更新する。典型的には、表示装置１００は、プロセス変数の値に連動させて表示オブジェクト「タコメータ」のメータを更新する。また、表示装置１００は、駆動機器３００内のいずれかのコンポーネントの温度を表わすプロセス変数をコントローラ２００から受信した場合、当該プロセス変数に対応付けられている表示オブジェクト「サーモメータ」の表示を更新する。典型的には、表示装置１００は、プロセス変数の値に連動させて表示オブジェクト「サーモメータ」のメータを順次更新する。
【０１０１】
このように、表示対象として選択された変数の大きさに連動させて表示オブジェクトの表示態様が更新されることで、ユーザは、駆動機器３００の状態を直感的に把握することができる。
【０１０２】
図１４は、生成された表示装置画面の他の例を示す図である。図１４には、生成された表示装置画面の他の例として、表示装置画面１３０Ａが示されている。
【０１０３】
図１４の例では、変数の選択画面１３５（図３参照）において、状態変数「Ｓｔａｔｕｓ」が選択されたとする。このことに基づいて、表示装置１００は、表示ルール４１２のオブジェクト情報４１２Ａ（図１０参照）を参照して、状態変数「Ｓｔａｔｕｓ」に対応付けられている表示オブジェクトを取得する。その結果、表示オブジェクト「状態遷移図」が取得される。
【０１０４】
次に、表示装置１００は、表示ルール４１２のテンプレート情報４１２Ｂ（図１１参照）に含まれる表示定義の内から、選択された表示オブジェクト「状態遷移図」に対応付けられている表示定義を特定する。その後、表示装置１００は、取得した表示定義に従って、表示装置画面１３０Ａ上に表示オブジェクト「状態遷移図」を配置する。これにより、表示装置画面１３０Ａが生成される。
【０１０５】
その後、表示装置１００は、コントローラ２００から逐次的に受信した状態変数の値に応じて、表示オブジェクト「状態遷移図」の表示を更新する。典型的には、表示装置１００は、状態変数「Ｓｔａｔｕｓ」のメンバである「ＳｔａｔｕｓＣｕｒｒｅｎｔ」を参照して現状態を特定し、当該現状態に対応する状態遷移図上の状態を他の状態と異なる表示態様で表示する。図１４の例では、現状態の「ＥＸＣＵＴＥ」が他の状態とは異なる態様で表示されている。
【０１０６】
その後、表示装置１００は、状態変数「Ｓｔａｔｕｓ」のメンバである「ＳｔａｔｕｓＣｕｒｒｅｎｔ」の値に合わせて「状態遷移図」の表示態様を逐次更新する。このとき、表示装置１００は、コントローラ２００から受信した、状態遷移に関する変数（コマンド変数）に基づいて、現状態から遷移可能な次状態に順次遷移する。
【０１０７】
一例として、表示装置１００は、「Ｈｏｌｄ」コマンドを受信すると、現状態を「ＥＸＣＵＴＥ」状態から「ＨＯＬＤＩＮＧ」状態に遷移させる。また、表示装置１００は、「ＳＣ」コマンド（実行完了コマンド）を受信すると、現状態を「ＥＸＣＵＴＥ」状態から「ＣＯＭＰＬＥＴＩＮＧ」状態に遷移させる。また、表示装置１００は、「Ｓｕｓｐｅｎｄ」コマンドを受信すると、現状態を「ＥＸＣＵＴＥ」状態から「ＳＵＳＰＥＮＤＩＮＧ」状態に遷移させる。
【０１０８】
＜Ｆ．表示装置画面１３０の変形例＞
図１５を参照して、表示装置画面１３０の生成方法の変形例について説明する。図１５は、変形例に従う表示装置画面１３０Ｂを示す図である。
【０１０９】
上述では、各表示オブジェクトの表示位置が固定されている前提で説明を行ったが、各表示オブジェクトの表示位置は、固定されている必要はない。たとえば、表示装置１００は、選択された各変数に対応付けられている表示オブジェクトを所定順で並べて表示してもよい。
【０１１０】
本変形例においては、表示装置画面１３０Ｂに対して、表示オブジェクトの表示領域および表示順が予め定められている。図１５の例では、表示装置画面１３０Ｂに対して、表示オブジェクトの表示領域１６１Ａ〜１６１Ｆが定められており、各表示オブジェクトは、表示領域１６１Ａ〜１６１Ｆに順に表示される。
【０１１１】
各表示オブジェクトの表示順の決め方は、任意である。一例として、表示装置１００は、変数の選択画面１３５（図３参照）での表示順に従って、選択された変数に対応する各表示オブジェクトを表示領域１６１Ａ〜１６１Ｆに順に表示する。あるいは、表示装置１００は、変数の選択画面１３５での変数の選択順に従って、選択された変数に対応する各表示オブジェクトを表示領域１６１Ａ〜１６１Ｆに順に表示する。
【０１１２】
＜Ｇ．ハードウェア構成＞
図１６〜図１８を参照して、表示装置１００、コントローラ２００、およびサポート装置４００のハードウェア構成について順に説明する。
【０１１３】
（Ｇ１．表示装置１００のハードウェア構成）
まず、図１６を参照して、表示装置１００のハードウェア構成について説明する。図１６は、表示装置１００のハードウェア構成を示すブロック図である。
【０１１４】
表示装置１００は、汎用的なアーキテクチャを有するハードウェア構成を有している。すなわち、表示装置１００は、一種のパーソナルコンピュータとして実装される。但し、表示装置１００を汎用的なハードウェアではなく、専用ハードウェアを用いて実装してもよい。
【０１１５】
より具体的には、表示装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などの制御装置１０２と、主メモリ１０４と、フラッシュメモリなどの記憶装置１１０と、通信インターフェイス１１２と、Ｉ／Ｏ（Input/Output）インターフェイス１１４と、フィールドバスインターフェイス１１６と、表示部１２０とを含む。これらのコンポーネントは、内部バス１２５を介して、互いにデータ通信可能に接続されている。
【０１１６】
制御装置１０２は、記憶装置１１０に格納された制御プログラム（図示しない）を読み出して、主メモリ１０４に展開して実行することで、表示装置１００を制御する。すなわち、制御装置１０２は、主メモリ１０４および記憶装置１１０と連係することで、制御演算を実行する制御部を実現する。
【０１１７】
通信インターフェイス１１２、Ｉ／Ｏインターフェイス１１４、および、フィールドバスインターフェイス１１６は、表示装置１００と外部装置とのデータの遣り取りを仲介する。より具体的には、通信インターフェイス１１２は、上述の通信部１０１の一例であり、ネットワークＮＷ１（図１参照）などを介した、コントローラ２００やサポート装置４００との通信を仲介する。通信インターフェイス１１２には、たとえば、ＥｔｈｅｒＮＥＴに従う通信が可能なコンポーネントが採用され得る。Ｉ／Ｏインターフェイス１１４は、各種のユーザインターフェイス装置（たとえば、キーボード、マウスなど）との通信を仲介する。Ｉ／Ｏインターフェイス１１４としては、たとえば、ＵＳＢ通信やシリアル通信が可能なコンポーネントを採用することができる。フィールドバスインターフェイス１１６は、コントローラ２００との間のデータの遣り取りを仲介する。フィールドバスインターフェイス１１６には、たとえば、ＥｔｈｅｒＣＡＴに従う通信が可能なコンポーネントが採用される。
【０１１８】
表示部１２０は、ユーザに対して各種情報を提示するとともに、ユーザからの操作を受け付ける。より具体的には、表示部１２０は、ディスプレイ１２２と、タッチパネル１２４とを含む。ディスプレイ１２２は、典型的には、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）ディスプレイなどからなる。タッチパネル１２４は、ディスプレイ１２２の上に装着され、ユーザによるタッチ操作を受け付ける。ディスプレイ１２２は、典型的には、感圧式や押圧式のデバイスが用いられる。
【０１１９】
（Ｇ２．コントローラ２００のハードウェア構成）
図１７を参照して、コントローラ２００のハードウェア構成について説明する。図１７は、コントローラ２００のハードウェア構成の一例を示す模式図である。
【０１２０】
コントローラ２００は、通信インターフェイス２０１と、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などの制御装置２０２と、チップセット２０４と、主メモリ２０６と、記憶装置２０８と、内部バスコントローラ２２２と、フィールドバスコントローラ２２４と、メモリカードインターフェイス２３９とを含む。
【０１２１】
制御装置２０２は、記憶装置２０８に格納された制御プログラム２１１を読み出して、主メモリ２０６に展開して実行することで、駆動機器３００の一例であるサーボドライバ３００Ｂなどに対する任意の制御を実現する。制御プログラム２１１は、コントローラ２００を制御するための各種プログラムを含む。一例として、制御プログラム２１１は、システムプログラム２０９およびユーザプログラム２１０などを含む。システムプログラム２０９は、データの入出力処理や実行タイミング制御などの、コントローラ２００の基本的な機能を提供するための命令コードを含む。ユーザプログラム２１０は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム２１０Ａおよびモーション制御を実行するためのモーションプログラム２１０Ｂとを含む。制御プログラム２１１は、たとえば、ラダー言語やＳＴ（Structured Text）言語で記述されているＰＬＣプログラムである。制御プログラム２１１の記述は、情報モデル２１２に規定される各変数を含む。
【０１２２】
チップセット２０４は、各コンポーネントを制御することで、コントローラ２００全体としての処理を実現する。
【０１２３】
内部バスコントローラ２２２は、コントローラ２００と内部バスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、Ｉ／Ｏユニット２２６が接続されている。
【０１２４】
フィールドバスコントローラ２２４は、コントローラ２００とフィールドバスを通じて連結される各種の駆動機器３００とデータを遣り取りするインターフェイスである。このようなデバイスの一例として、サーボドライバ３００Ｂが接続されている。他にも、ロボットコントローラや視覚センサなどの駆動機器が接続されてもよい。
【０１２５】
内部バスコントローラ２２２およびフィールドバスコントローラ２２４は、接続されているデバイスに対して任意の指令を与えることができるとともに、デバイスが管理している任意のデータ（測定値を含む）を取得することができる。また、内部バスコントローラ２２２および／またはフィールドバスコントローラ２２４は、サーボドライバ３００Ｂとの間でデータを遣り取りするためのインターフェイスとしても機能する。
【０１２６】
通信インターフェイス２０１は、各種の有線／無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス２３９は、外部記憶媒体の一例であるメモリカード２４０（たとえば、ＳＤカード）を着脱可能に構成されており、メモリカード２４０に対してデータを書き込み、メモリカード２４０からデータを読出すことが可能になっている。
【０１２７】
（Ｇ３．サポート装置４００のハードウェア構成）
図１８を参照して、サポート装置４００のハードウェア構成について説明する。図１８は、サポート装置４００のハードウェア構成を示す模式図である。
【０１２８】
サポート装置４００は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。サポート装置４００は、ＣＰＵやＭＰＵなどの制御装置４０２と、主メモリ４０４と、フラッシュメモリなどの記憶装置４１０と、通信インターフェイス４１１と、Ｉ／Ｏインターフェイス４１４と、表示インターフェイス４２０とを含む。これらのコンポーネントは、内部バス４２５を介して互いに通信可能に接続されている。
【０１２９】
制御装置４０２は、プログラムを主メモリ４０４に展開して実行することで、本実施の形態に従う各種処理を実現する。主メモリ４０４は、揮発性メモリにより構成され、制御装置４０２によるプログラム実行に必要なワークメモリとして機能する。記憶装置４１０には、たとえば、サポート装置４００を制御するための各種プログラムや、上述の表示ルール４１２などが格納される。
【０１３０】
通信インターフェイス４１１は、外部機器との間でネットワークを介してデータを遣り取りする。当該外部機器は、たとえば、表示装置１００やコントローラ２００、サーバ、その他の通信機器などを含む。サポート装置４００は、通信インターフェイス４１１を介して、情報処理プログラムをダウンロードできるように構成されてもよい。当該情報処理プログラムは、コントローラ２００の制御プログラムを開発するための開発ツールを提供するためのプログラムである。また、当該開発ツールは、上述の表示ルール４１２を編集することできるように構成される。
【０１３１】
Ｉ／Ｏインターフェイス４１４は、操作部４１５に接続され、操作部４１５からのユーザ操作を示す信号を取り込む。操作部４１５は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。
【０１３２】
表示インターフェイス４２０は、表示部４２１と接続され、制御装置４０２などからの指令に従って、表示部４２１に対して、画像を表示するための画像信号を送出する。表示部４２１は、ディスプレイ、インジケータなどからなり、ユーザに対して各種情報を提示する。
【０１３３】
＜Ｈ．表示装置１００の制御構造＞
図１９を参照して、表示装置１００の制御構造について説明する。図１９は、表示装置１００が実行する処理の一部を表わすフローチャートである。図１９に示される処理は、表示装置１００の制御装置１０２がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【０１３４】
ステップＳ１１０において、制御装置１０２は、標準規格で規定される情報モデル２１２（図７参照）をコントローラ２００から受信する。
【０１３５】
ステップＳ１１２において、制御装置１０２は、表示装置画面１３０の生成操作を受け付けたか否かを判断する。一例として、制御装置１０２は、表示装置画面１３０に予めインストールされている画面生成プログラムが起動されたことに基づいて、表示装置画面１３０の生成操作を受けたと判断する。ステップＳ１１２において、制御装置１０２は、表示装置画面１３０の生成操作を受け付けたと判断した場合（ステップＳ１１２においてＹＥＳ）、制御をステップＳ１２０に切り替える。そうでない場合には（ステップＳ１１２においてＮＯ）、制御装置１０２は、ステップＳ１１２の処理を再び実行する。
【０１３６】
ステップＳ１２０において、制御装置１０２は、上述の表示ルール４１２（図１０および図１１参照）をサポート装置４００から受信する。
【０１３７】
ステップＳ１２２において、制御装置１０２は、ステップＳ１１０で受信した情報モデル２１２に規定される変数の一覧を選択画面１３５（図３参照）に表示する。ユーザは、選択画面１３５に表示されている変数の内から任意の変数を選択する。
【０１３８】
ステップＳ１２４において、制御装置１０２は、選択画面１３５で選択された変数に従って表示装置画面１３０を生成する。より具体的には、制御装置１０２は、ステップＳ１２０で受信した表示ルール４１２を参照して、選択対象の各変数について対応付けられている表示オブジェクトと表示定義とを取得する。制御装置１０２は、取得した表示オブジェクトを対応する表示定義に従って表示装置画面１３０に配置する。その後、制御装置１０２は、生成した表示装置画面１３０を表示部１２０に表示する。
【０１３９】
ステップＳ１３０において、制御装置１０２は、監視対象として選択された変数をコントローラ２００から受信したか否かを判断する。制御装置１０２は、監視対象として選択された変数をコントローラ２００から受信したと判断した場合（ステップＳ１３０においてＹＥＳ）、制御をステップＳ１３２に切り替える。そうでない場合には（ステップＳ１３０においてＮＯ）、制御装置１０２は、制御をステップＳ１４０に切り替える。
【０１４０】
ステップＳ１３２において、制御装置１０２は、ステップＳ１３０で受信した変数の値に応じて、当該変数に付けられている表示装置画面１３０上の表示オブジェクトについて表示態様を更新する。すなわち、制御装置１０２は、ステップＳ１３０で受信した変数の値に連動させて対応する表示オブジェクトの表示態様を変える。これにより、ユーザは、コントローラ２００や駆動機器３００の状態を直感的に把握することができる。
【０１４１】
ステップＳ１４０において、制御装置１０２は、表示装置画面１３０を閉じる操作を受け付けたか否かを判断する。制御装置１０２は、表示装置画面１３０を閉じる操作を受け付けたと判断した場合（ステップＳ１４０においてＹＥＳ）、制御をステップＳ１５２に切り替える。そうでない場合には（ステップＳ１４０においてＮＯ）、制御装置１０２は、制御をステップＳ１３０に戻す。
【０１４２】
ステップＳ１５２において、制御装置１０２は、現在の表示装置画面１３０について保存操作を受け付けたか否かを判断する。制御装置１０２は、現在の表示装置画面１３０について保存操作を受け付けたと判断した場合（ステップＳ１５２においてＹＥＳ）、制御をステップＳ１５４に切り替える。そうでない場合には（ステップＳ１５２においてＮＯ）、制御装置１０２は、図１９に示される処理を終了する。
【０１４３】
ステップＳ１５４において、制御装置１０２は、現在の表示装置画面１３０を画面履歴として保存する。画面履歴は、表示装置画面１３０を生成するための情報（たとえば、選択された変数や各変数に対応付けられている表示ルールなど）、表示装置画面１３０の生成日時、表示装置画面１３０の作成者、表示装置画面１３０に付された画面名、および、表示装置画面１３０ついて残されたメモなどを含む。
【０１４４】
＜Ｉ．表示装置１００の機能構成＞
図２０を参照して、表示装置１００の機能について説明する。図２０は、表示装置１００の機能構成の一例を示す図である。
【０１４５】
図２０には、表示装置１００の一例であるＨＭＩ１００Ａが示されている。ＨＭＩ１００Ａは、アプリケーションとして、ＯＰＣ−ＵＡクライアント１８０と、メインプログラム１８４と、画面生成プログラム１８５と、画面制御プログラム１８６とを含む。また、ＨＭＩ１００Ａは、データとして、記憶装置１１０の記憶領域１１０Ｂに格納されている表示装置画面１３０と、記憶装置１１０の記憶領域１１０Ａに格納されている画面履歴１４６と、情報モデル２１２と、表示ルール４１２とを含む。
【０１４６】
ＨＭＩ１００Ａは、ＯＰＣ−ＵＡの通信規格に従って、コントローラ２００と通信する。ＯＰＣ−ＵＡに従った通信を実現するためには、表示装置１００をクライアントとして機能させるとともに、コントローラ２００をサーバとして機能させる必要がある。より具体的には、コントローラ２００には、サーバ機能を有するＯＰＣ−ＵＡサーバ２４２がインストールされている。ここでいう「ＯＰＣ−ＵＡサーバ」とは、通信ドライバとして機能するアプリケーション（プログラム）である。
【０１４７】
また、ＨＭＩ１００Ａには、ＯＰＣ−ＵＡサーバ１５０との通信機能を有するＯＰＣ−ＵＡクライアント１８０がインストールされている。ここでいう「ＯＰＣ−ＵＡクライアント」とは、ＯＰＣ−ＵＡサーバ１５０に通信要求（アクセス要求）を送信するアプリケーションである。
【０１４８】
ＯＰＣ−ＵＡクライアント１８０は、ディスカバリ機能１８０Ａと、サブスクリプション機能１８０Ｂとを有する。ディスカバリ機能１８０Ａは、コントローラ２００のＯＰＣ−ＵＡサーバ２４２に情報モデル２１２の取得要求を送信する。ディスカバリ機能１８０Ａは、コントローラ２００から情報モデル２１２を受信し、情報モデル２１２のコピーを生成する。サブスクリプション機能１８０Ｂは、指定された通信周期が経過するごとに、ＯＰＣ−ＵＡサーバ１５０に対して変数の取得命令を送信し、当該変数をＯＰＣ−ＵＡサーバ１５０から定期的に受信する。受信した変数の値は、表示装置画面１３０に逐次反映される。
【０１４９】
メインプログラム１８４および画面生成プログラム１８５は、互いに協働して、表示装置画面１３０を生成する。より具体的には、メインプログラム１８４は、ユーザの入力操作を受け付けるユーザインターフェイスの表示機能を実行する。当該ユーザインターフェイスによって提供される画面は、変数の選択画面１３５（図３参照）や、表示装置画面１３０についての保存の選択画面１４０（図４参照）、画面履歴の選択画面１４５（図５参照）などを含む。
【０１５０】
変数の選択画面１３５は、ユーザが表示装置画面１３０の生成操作を表示部１２０に対して行ったことに基づいて表示部１２０に表示される。選択画面１３５に対して変数の選択操作が行われた場合、メインプログラム１８４は、画面生成プログラム１８５に対して表示装置画面１３０の生成依頼を出力する。
【０１５１】
表示装置画面１３０の保存／非保存を選択するための選択画面１４０は、ユーザが表示装置画面１３０を閉じる操作を表示部１２０に対して行ったことに基づいて表示部１２０に表示される。選択画面１４０に対して保存操作が行われた場合、メインプログラム１８４は、現在の表示装置画面１３０を画面履歴１４６として保存する。
【０１５２】
画面履歴の選択画面１４５は、ユーザが過去に生成された表示装置画面１３０の呼出し操作を表示部１２０に対して行ったことに基づいて表示部１２０に表示される。選択画面１４５に対して画面履歴の選択操作が行われた場合、メインプログラム１８４は、選択された表示装置画面１３０を表示するための情報を記憶装置１１０の記憶領域１１０Ｂに展開する。
【０１５３】
画面生成プログラム１８５は、表示装置画面１３０の生成命令をメインプログラム１８４から受けたことに基づいて、表示装置画面１３０を生成する。より具体的には、画面生成プログラム１８５は、サポート装置４００から受信した表示ルール４１２を参照して、表示対象として選択された各変数に対応付けられている表示オブジェクトと、当該表示オブジェクトの表示定義とを取得する。次に、画面生成プログラム１８５は、取得した表示オブジェクトを対応する表示定義に従って表示装置画面１３０に配置する。なお、表示ルール４１２に規定される内容は、サポート装置４００において、追加または編集され得る。
【０１５４】
画面制御プログラム１８６は、記憶装置１１０の記憶領域１１０Ｂに格納されている表示装置画面１３０を参照して、当該表示装置画面１３０を表示部１２０に表示する。この表示処理は、メインプログラム１８４から更新命令を受け付ける度に実行される。
【０１５５】
＜Ｊ．変形例１＞
上述では、表示装置画面１３０の生成機能が表示装置１００に実装されている前提で説明を行ったが、表示装置画面１３０の生成機能は、サポート装置４００に実装されてもよい。
【０１５６】
以下では、図２１を参照して、表示装置画面１３０の生成機能がサポート装置４００に実装されている例について説明を行う。図２１は、サポート装置４００の機能構成の一例を示す図である。
【０１５７】
図２１には、表示装置１００の一例であるサポート装置４００が示されている。サポート装置４００は、アプリケーションとして、ＯＰＣ−ＵＡクライアント１８０と、メインプログラム１８４と、画面生成プログラム１８５とを含む。また、サポート装置４００は、データとして、記憶装置１１０の記憶領域１１０Ｂに格納されている表示装置画面１３０と、記憶装置１１０の記憶領域１１０Ｃに格納されているプロジェクトデータ１１１Ａと、情報モデル２１２と、表示ルール４１２とを含む。
【０１５８】
コントローラ２００は、アプリケーションとして、ＯＰＣ−ＵＡサーバ２４２を含む。コントローラ２００は、データとして、情報モデル２１２を含む。
【０１５９】
ＯＰＣ−ＵＡクライアント１８０は、ディスカバリ機能１８０Ａを有する。ディスカバリ機能１８０Ａは、コントローラ２００のＯＰＣ−ＵＡサーバ２４２に情報モデル２１２の取得要求を送信する。ディスカバリ機能１８０Ａは、コントローラ２００から情報モデル２１２を受信し、情報モデル２１２のコピーを生成する。
【０１６０】
メインプログラム１８４および画面生成プログラム１８５は、互いに協働して、表示装置画面１３０を生成する。より具体的には、メインプログラム１８４は、ユーザの入力操作を受け付けるユーザインターフェイス１２０Ａの表示機能を実行する。ユーザインターフェイス１２０Ａは、コントローラ２００に対する制御プログラムの設計画面や、表示ルール４１２の編集画面や、画面生成プログラム１８５に関する各種設計画面などを含む。ユーザインターフェイス１２０Ａに対する設計内容は、プロジェクトデータ１１１Ａとして保存される。
【０１６１】
画面生成プログラム１８５は、表示装置画面１３０の生成命令をメインプログラム１８４から受けたことに基づいて、表示装置画面１３０を生成する。より具体的には、画面生成プログラム１８５は、表示ルール４１２を参照して、表示対象として選択された各変数に対応付けられている表示オブジェクトと、当該表示オブジェクトの表示定義とを取得する。次に、画面生成プログラム１８５は、取得した表示オブジェクトを対応する表示定義に従って表示装置画面１３０に配置する。
【０１６２】
＜Ｋ．変形例２＞
上述の変形例１では、情報モデル２１２がＯＰＣ−ＵＡサーバとＯＰＣ−ＵＡクライアントとの間の通信によって取得される例について説明を行ったが、情報モデル２１２は、他の方法で取得されてもよい。すなわち、表示装置画面１３０の生成機能を実現するために、ＯＰＣ−ＵＡサーバおよびＯＰＣ−ＵＡクライアントが必ずしも利用される必要はない。
【０１６３】
以下では、図２２を参照して、ＯＰＣ−ＵＡサーバおよびＯＰＣ−ＵＡクライアントを利用しない表示装置画面１３０の生成機能について説明する。図２２は、サポート装置４００の機能構成の変形例を示す図である。
【０１６４】
図２２には、表示装置１００の一例であるサポート装置４００が示されている。サポート装置４００は、表示装置画面１３０に関する設計データ１９０と、コントローラ２００の制御プログラム１９２に関する設計データ１９１を含む。設計データ１９０は、記憶装置１１０の記憶領域１１０Ｂに格納されている表示装置画面１３０と、記憶装置１１０の記憶領域１１０Ｃに格納されているプロジェクトデータ１１１Ａと、メインプログラム１８４と、画面生成プログラム１８５と、情報モデル２１２と、表示ルール４１２とを含む。設計データ１９１は、コントローラ２００の制御プログラム１９２を含む。
【０１６５】
本変形例においては、ＨＭＩとコントローラ２００とサポート装置４００とで共通で利用される情報モデル２１２が予め格納されている。情報モデル２１２の取得方法は、任意である。たとえば、外部記憶装置に格納されている情報モデル２１２がサポート装置４００に書き込まれてもよいし、サーバなどからダウンロードされてもよい。
【０１６６】
画面生成プログラム１８５は、表示装置画面１３０の生成命令をメインプログラム１８４から受けたことに基づいて、表示装置画面１３０を生成する。より具体的には、画面生成プログラム１８５は、表示ルール４１２を参照して、表示対象として選択された各変数に対応付けられている表示オブジェクトと、当該表示オブジェクトの表示定義とを取得する。次に、画面生成プログラム１８５は、取得した表示オブジェクトを対応する表示定義に従って表示装置画面１３０に配置する。
【０１６７】
＜Ｌ．まとめ＞
以上のようにして、表示装置１００は、予め定められた規格に従った情報モデル２１２と、表示ルール４１２とに基づいて、表示装置画面１３０を生成する。より具体的には、情報モデル２１２には、駆動機器３００の状態を表わす複数の変数を含む。表示ルール４１２には、駆動機器３００の状態を表わす各変数と、表示オブジェクトの種類と、当該表示オブジェクトの表示定義との対応関係が規定されている。表示装置１００は、情報モデル２１２に含まれる変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を表示ルール４１２から取得し、当該表示オブジェクトの各々を対応する表示定義に従って表示装置画面１３０上に配置する。
【０１６８】
予め定められた規格に準拠した情報モデル２１２が用いられることで、設計者は、表示装置画面１３０を設計する上で、コントローラ２００および駆動機器３００間で遣り取りされる変数の形式（たとえば、変数名や変数型）を気にする必要がなくなる。その結果、設計者は、各変数に対応付ける表示オブジェクトと各表示オブジェクトの表示定義とを規定するだけで表示装置画面１３０の仕様を決めることができる。これにより、表示装置画面１３０を設計する必要がなくなる。また、画面を生成するためのプログラムを表示装置１００上に事前に準備（ダウンロード）する必要がなくなり、コストの削減、利便性の向上、操作性の向上など種々の効果が生まれる。究極的には、ユーザは、購入した表示装置１００を現場に持って行くだけで即座に表示装置１００を利用することができる。
【０１６９】
＜Ｍ．付記＞
以上のように、本実施形態は以下のような開示を含む。
【０１７０】
［構成１］
コントローラ（２００）によって制御される駆動機器（３００）の状態を表わす画面（１３０）を表示するための表示部（１２０）と、
前記駆動機器（３００）の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデル（２１２）を前記コントローラ（２００）から受信するための通信部（１０１）とを備え、
前記通信部（１０１）は、前記画面（１３０）に関する表示ルール（４１２）を前記コントローラ（２００）または外部機器（４００）からさらに受信し、
前記表示ルール（４１２）において、前記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられており、
前記画面（１３０）を生成するための制御装置（１０２）をさらに備え、
前記制御装置（１０２）は、前記情報モデル（２１２）に含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を前記表示ルール（４１２）から取得し、当該表示オブジェクトの各々を対応する表示定義に従って前記画面（１３０）上に配置する、表示装置。
【０１７１】
［構成２］
前記表示部（１２０）は、前記情報モデル（２１２）に含まれる複数の変数の内から、前記表示対象の変数を選択する操作を受け付けるように構成されている、構成１に記載の表示装置。
【０１７２】
［構成３］
前記制御装置（１０２）は、前記コントローラ（２００）から逐次的に受信した変数の値に応じて、対応する表示オブジェクトの表示態様を更新する、構成１または２に記載の表示装置。
【０１７３】
［構成４］
前記表示装置（１００）は、生成された画面（１３０）を画面履歴として記憶するための記憶装置をさらに備え、
前記制御装置（１０２）は、前記記憶装置に記憶されている前記画面履歴の内から一の画面履歴が選択されたことに基づいて、当該一の画面履歴に示される画面を前記表示部（１２０）に再表示する、構成１〜３のいずれか１項に記載の表示装置。
【０１７４】
［構成５］
前記表示定義は、前記画面（１３０）上に表示される表示オブジェクトの表示位置と、当該表示オブジェクトの表示サイズとの少なくとも一方を含む、構成１〜４のいずれか１項に記載の表示装置。
【０１７５】
［構成６］
前記予め定められた規格は、ＯＰＣ−ＵＡ（Object Linking and Embedding for Process Control Unified Architecture）を含む、構成１〜５のいずれか１項に記載の表示装置。
【０１７６】
［構成７］
コントローラ（２００）によって制御される駆動機器（３００）の状態を表わす画面（１３０）に関する画面生成方法であって、
前記駆動機器（３００）の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデル（２１２）を前記コントローラ（２００）から受信するステップ（Ｓ１２）と、
前記画面（１３０）に関する表示ルール（４１２）を前記コントローラ（２００）または外部機器（４００）から受信するステップ（Ｓ２２）とを備え、
前記表示ルール（４１２）において、前記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられており、さらに、
前記情報モデル（２１２）に含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を前記表示ルール（４１２）から取得し、当該表示オブジェクトの各々を対応する表示定義に従って前記画面（１３０）上に配置するステップ（Ｓ３２）を備える、画面生成方法。
【０１７７】
［構成８］
コントローラ（２００）によって制御される駆動機器（３００）の状態を表わす画面（１３０）に関する画面生成プログラムであって、
前記画面生成プログラムは、コンピュータに、
前記駆動機器（３００）の状態を表わす変数であって予め定められた規格において定められている複数の変数を規定している情報モデル（２１２）を前記コントローラ（２００）から受信するステップ（Ｓ１２）と、
前記画面（１３０）に関する表示ルール（４１２）を前記コントローラ（２００）または外部機器（４００）から受信するステップ（Ｓ２２）とを実行させ、
前記表示ルール（４１２）において、前記予め定められた規格において定められている複数の変数の一部または全部について、変数の値を視覚的に表わすための表示オブジェクトの種類と、当該表示オブジェクトの表示に関する表示定義とが対応付けられており、
前記画面生成プログラムは、コンピュータに、さらに、
前記情報モデル（２１２）に含まれる複数の変数の内の表示対象の各変数に対応する表示オブジェクトおよび表示定義を前記表示ルール（４１２）から取得し、当該表示オブジェクトの各々を対応する表示定義に従って前記画面（１３０）上に配置するステップ（Ｓ３２）を実行させる、画面生成プログラム。
【０１７８】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１７９】
１００  表示装置、１０１  通信部、１０２，２０２，４０２  制御装置、１０４，２０６，４０４  主メモリ、１１０，２０８，４１０  記憶装置、１１０Ａ，１１０Ｂ，１１０Ｃ  記憶領域、１１１Ａ  プロジェクトデータ、１１２，２０１，４１１  通信インターフェイス、１１４，４１４  インターフェイス、１１６  フィールドバスインターフェイス、１２０，４２１  表示部、１２０Ａ  ユーザインターフェイス、１２２  ディスプレイ、１２４  タッチパネル、１２５，４２５  内部バス、１３０，１３０Ａ，１３０Ｂ  表示装置画面、１３１Ａ  タコメータ、１３１Ｂ  サーモメータ、１３５，１４０，１４５  選択画面、１３６  変数名表示領域、１３７  選択操作受付領域、１４１，１４２  入力領域、１４３  保存ボタン、１４４  キャンセルボタン、１４６  画面履歴、１４６Ａ  作成日時、１４６Ｂ  作成者、１４６Ｃ  画面名、１４６Ｄ  メモ、１４７  表示ボタン、１４８  行、１４９Ａ  状態変数、１４９Ｂ  プロセス変数、１５０，２４２  ＯＰＣ−ＵＡサーバ、１６１Ａ，１６１Ｆ  表示領域、１８０  ＯＰＣ−ＵＡクライアント、１８０Ａ  ディスカバリ機能、１８０Ｂ  サブスクリプション機能、１８４  メインプログラム、１８５  画面生成プログラム、１８６  画面制御プログラム、１９０，１９１  設計データ、１９２，２１１  制御プログラム、２００  コントローラ、２０４  チップセット、２０９  システムプログラム、２１０  ユーザプログラム、２１０Ａ  シーケンスプログラム、２１０Ｂ  モーションプログラム、２１２  情報モデル、２１２Ａ  アドレス空間、２２２  内部バスコントローラ、２２４  フィールドバスコントローラ、２２６  Ｉ／Ｏユニット、２３９  メモリカードインターフェイス、２４０  メモリカード、３００  駆動機器、３００Ｂ  サーボドライバ、４００  サポート装置、４１２  表示ルール、４１２Ａ  オブジェクト情報、４１２Ｂ  テンプレート情報、４１５  操作部、４２０  表示インターフェイス。
【図１】
2019152949.tif 000003
【図２】
2019152949.tif 000004
【図３】
2019152949.tif 000005
【図４】
2019152949.tif 000006
【図５】
2019152949.tif 000007
【図６】
2019152949.tif 000008
【図７】
2019152949.tif 000009
【図８】
2019152949.tif 000010
【図９】
2019152949.tif 000011
【図１０】
2019152949.tif 000012
【図１１】
2019152949.tif 000013
【図１２】
2019152949.tif 000014
【図１３】
2019152949.tif 000015
【図１４】
2019152949.tif 000016
【図１５】
2019152949.tif 000017
【図１６】
2019152949.tif 000018
【図１７】
2019152949.tif 000019
【図１８】
2019152949.tif 000020
【図１９】
2019152949.tif 000021
【図２０】
2019152949.tif 000022
【図２１】
2019152949.tif 000023
【図２２】
2019152949.tif 000024