(57)【要約】【課題】画面の作成の段階で、画面の表示に必要な通信量を取得する。【解決手段】対象装置に画面を表示させるためのプログラムを作成する画面作成装置が提供される。画面は、１以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示し、または実行するために必要な部品のデータを要求し、通信路を介して相手機器から当該データを応答として受信し、画面作成装置は、部品ごとに、通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部を含み、プログラムを作成する場合に、画面に含まれる１以上の部品に対応した通信量である画面通信量を取得する。【選択図】図６
2018151537.tif 000002
【特許請求の範囲】
【請求項１】
対象装置に画面を表示させるためのプログラムを作成する画面作成装置であって、
前記画面は、１以上の部品を含み、
前記対象装置は、前記画面を表示する場合に、当該画面の部品を表示し、または実行するために必要な部品のデータを要求し、通信路を介して相手機器から当該部品のデータを応答として受信し、
前記画面作成装置は、
前記通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部を含み、
前記プログラムを作成する場合に、前記画面に含まれる１以上の前記部品に対応した通信量である画面通信量を取得する、画面作成装置。
【請求項２】
前記画面通信量を用いて、前記対象装置に当該画面を表示させるための前記プログラムの性能を推定する性能推定部を備える、請求項１に記載の画面作成装置。
【請求項３】
前記性能は、前記対象装置において画面を表示させるのに要する画面切替時間を含み、
前記性能推定部は、
前記相手機器の通信性能と前記画面通信量から、前記画面切替時間を取得する切替時間取得部を含む、請求項２に記載の画面作成装置。
【請求項４】
前記性能は、前記対象装置において画面を表示中に伝送が要求される前記部品の通信量である表示中通信量を含み、
前記性能推定部は、
前記画面通信量と、画面を表示中において部品のデータが前記対象装置に伝送される周期とを用いて、前記表示中通信量を取得する表示中通信量取得部を含む、請求項２または３のいずれか１項に記載の画面作成装置。
【請求項５】
前記性能は、前記対象装置で画面を表示中に、前記部品のデータの伝送による前記通信路の帯域が占有される割合いである帯域占有率を含み、
前記性能推定部は、
前記画面通信量と、画面を表示中において部品のデータが前記対象装置に伝送される周期とを用いて取得される表示中通信量が、前記帯域に占める割合を取得する帯域占有率取得部を含む、請求項２から４のいずれか１項に記載の画面作成装置。
【請求項６】
推定された前記性能に関する情報を、出力部を介して出力する、請求項２から５のいずれか１項に記載の画面作成装置。
【請求項７】
推定された前記性能を、予め定められた閾値と比較することにより当該性能を評価する性能評価部を、さらに備える、請求項２から６のいずれか１項に記載の画面作成装置。
【請求項８】
前記評価に関する情報を、出力部を介して出力する、請求項７に記載の画面作成装置。
【請求項９】
前記評価に関する情報は、予め定められたデータ量を超える部品を有する画面であることを特定する情報、または当該予め定められたデータ量を超える部品の当該画面における位置を示す情報を含む、請求項８に記載の画面作成装置。
【請求項１０】
前記対象装置による前記画面の表示をシミュレートするシミュレーション部を、さらに備え、
前記シミュレーション部は、取得された前記画面切替時間に応じた待機時間をもって前記プログラムによる画面をディスプレイに表示する、請求項３に記載の画面作成装置。
【請求項１１】
前記対象装置による前記画面の表示をシミュレートするシミュレーション部を、さらに備え、
前記シミュレーション部は、取得された前記表示中通信量に応じた待機時間をもって前記プログラムによる画面をディスプレイに表示する、請求項４に記載の画面作成装置。
【請求項１２】
前記対象装置による前記画面の表示をシミュレートするシミュレーション部を、さらに備え、
前記シミュレーション部は、取得された前記帯域占有率に応じた待機時間をもって前記プログラムによる画面をディスプレイに表示する、請求項５に記載の画面作成装置。
【請求項１３】
対象装置における画面の表示時の挙動をシミュレートするシミュレーション装置であって、
前記画面は、１以上の部品を含み、
前記対象装置は、前記画面を表示する場合に、当該画面の部品を表示するための部品のデータを要求し、通信路を介して相手機器から応答として当該部品のデータを受信し、
前記シミュレーション装置は、
前記通信路を介して部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部と、
前記画面を表示させるためのプログラムを作成する場合に、前記画面に含まれる前記１以上の部品に対応した前記通信量である画面通信量を用いて、当該プログラムの前記対象装置に画面を表示させるための性能を推定する性能推定部と、を備える、シミュレーション装置。
【請求項１４】
対象装置に表示させる画面を作成する方法をコンピュータに実行させるためのプログラムであって、
前記画面は、１以上の部品を含み、
前記対象装置は、前記画面を表示する場合に、当該画面の部品を表示するための部品のデータを要求し、通信路を介して相手機器から応答として当該データを受信し、
前記方法は、
前記対象装置に画面を表示させるための表示プログラムを作成する場合に、前記画面に含まれる前記１以上の部品に対応した前記通信量である画面通信量を取得するステップと、
前記画面通信量を用いて、前記表示プログラムの画面を前記対象装置に表示させるための性能を推定するステップと、を備える、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、画面作成装置および画面作成プログラムに関し、特に、１以上の部品を含む画面を作成する装置およびプログラムに関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation)の分野に適用されるＨＭＩ（Human  Machine  Interface)等のプログラマブルターミナルは、ＰＬＣ（Programmable Logic Controller）等から得られるＦＡ機器に関する情報を表示する。また、生産管理者のオペレータ等は、タッチなどの操作により、ＨＭＩの画面を介してＦＡ機器を制御するためのデータ入力を実施することができる。
【０００３】
ＨＭＩに関して、ユーザ（この明細書においては、プログラマブルターミナルの画面を設計または実装する人を指す）は、目的またはＦＡ機器の仕様に従い上記のデータ入力を可能ならしめるように表示画面を作成する。
【０００４】
例えば、特許文献１（特開平６−１８６９４０号公報）はプログラマブルターミナルの表示制御装置を開示する。特許文献１の表示制御装置は、表示制御装置のデータ通信部が外部装置からデータと取り出すのに要する時間と、データ表示部がデータの表示を行うのに要する時間とを測定し、測定した時間データを表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−１８６９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的なＨＭＩを実現するためのＨＭＩプログラムは、それぞれが画面を構成する複数のページを含む。オペレータはボタン操作などにより画面を切替えて目的の操作を行う。画面が切替えられるとき、切替え後のページは、当該画面で表示、または当該画面に関連づけられたプログラムコードを実行するために必要なデータをＦＡに関連した外部のコントローラ等から通信により取得する。
【０００７】
オペレータの満足度に大きく関わる性能指標の１つとして、「ある画面から別の画面の切替えに要する時間（画面切替時間）」がある。画面切替時間に影響する要素の一つに、画面を表示させるのに必要な通信量（以下、単に通信量ともいう）があり、当該通信量の取得が望まれていた。
【０００８】
しかしながら、上記の特許文献１に記載のプログラマブルターミナルは、上記に述べた通信量を取得する構成は有しない。
【０００９】
この開示のある局面の目的は、画面の表示に必要な通信量を取得することができる画面作成装置を提供することである。
【課題を解決するための手段】
【００１０】
この開示のある局面では、対象装置に画面を表示させるためのプログラムを作成する画面作成装置が提供される。画面は、１以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示、または実行するために必要なデータを要求し、通信路を介して相手機器からデータを応答として受信し、画面作成装置は、通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部を含み、プログラムを作成する場合に、画面に含まれる１以上の部品に対応した通信量である画面通信量を取得する。
【００１１】
好ましくは、画面通信量を用いて、対象装置に当該画面を表示させるためのプログラムの性能を推定する性能推定部を備える。
【００１２】
好ましくは、性能は、対象装置において画面を表示させるのに要する画面切替時間を含み、性能推定部は、相手機器の通信性能と画面通信量から、画面切替時間を取得する切替時間取得部を含む。
【００１３】
好ましくは、性能は、対象装置において画面を表示中に伝送が要求される通信量である表示中通信量を含み、性能推定部は、画面通信量と、画面を表示中において部品のデータが対象装置に伝送される周期とを用いて、表示中通信量を取得する表示中通信量取得部を含む。
【００１４】
好ましくは、性能は、対象装置で画面を表示中に、部品のデータの伝送によって通信路の帯域が占有される割合いである帯域占有率を含み、性能推定部は、画面通信量と、画面を表示中において部品のデータが対象装置に伝送される周期とを用いて取得される表示中通信量が、帯域に占める割合を取得する帯域占有率取得部を含む。
【００１５】
好ましくは、推定された性能に関する情報を、出力部を介して出力する。
好ましくは、性能を、予め定められた閾値と比較することにより当該性能を評価する性能評価部を、さらに備える。
【００１６】
好ましくは、評価に関する情報を、出力部を介して出力する。
好ましくは、評価に関する情報は、予め定められたデータ量を超える部品を有する画面であることを特定する情報、または当該予め定められたデータ量を超える部品の当該画面における位置を示す情報を含む。
【００１７】
この発明のある局面に従うと、対象装置による画面の表示をシミュレートするシミュレーション部を、さらに備え、シミュレーション部は、取得された画面切替時間に応じた待機時間をもってプログラムによる画面をディスプレイに表示する。
【００１８】
好ましくは、対象装置による画面の表示をシミュレートするシミュレーション部を、さらに備え、シミュレーション部は、取得された表示中通信量に応じた待機時間をもってプログラムによる画面をディスプレイに表示する。
【００１９】
好ましくは、対象装置による画面の表示をシミュレートするシミュレーション部を、さらに備え、シミュレーション部は、取得された帯域占有率に応じた待機時間をもってプログラムによる画面をディスプレイに表示する。
【００２０】
この発明のある局面に従うと、対象装置における画面の表示時の挙動をシミュレートするシミュレーション装置が提供される。画面は、１以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示、または実行するために必要なデータを要求し、通信路を介して相手機器から当該データを応答として受信し、シミュレーション装置は、通信路を介して当該部品のデータを伝送する場合に必要な通信量を記憶するための通信量記憶部と、画面を表示させるためのプログラムを作成する場合に、上記の通信量を用いて、表示プログラムの画面を対象装置に表示させるための性能を推定する性能推定部と、を備える。
【００２１】
この発明のさらに他の局面に従うと、対象装置に表示させる画面を作成する方法をコンピュータに実行させるためのプログラムであって、画面は、１以上の部品を含み、対象装置は、画面を表示する場合に、当該画面の部品を表示、または実行するために必要なデータを要求し、通信路を介して相手機器から当該データを応答として受信する。方法は、対象装置に画面を表示させるための表示プログラムを作成する場合に、画面に含まれる１以上の部品に対応した通信量である画面通信量を取得するステップと、画面通信量を用いて、表示プログラムの画面を対象装置に表示させるための性能を推定するステップと、を備える。
【発明の効果】
【００２２】
この開示によれば、画面の作成の段階で、対象装置に画面を表示させるのに必要な通信量を取得することができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１にかかる画面作成装置を含むシステムの構成を概略的に示す図である。
【図２】実施の形態１にかかるプログラマブルターミナル４におけるＨＭＩプログラムの利用態様を模式的に示す図である。
【図３】実施の形態１にかかるＰＣ１００の構成を概略的に示す図である。
【図４】実施の形態１にかかるプログラマブルターミナル４の構成を概略的に示す図である。
【図５】実施の形態１にかかるＨＭＩプログラムの開発環境を概略的に示す図である。
【図６】実施の形態１にかかるＰＣ１００が有する性能推定評価部１０Ｂとその周辺部を模式的に示す図である。
【図７】実施の形態１にかかる処理フローチャートである。
【図８】実施の形態１にかかるページの変数と通信周期の取得を説明する図である。
【図９】実施の形態１にかかるページの変数と通信周期の取得を説明する図である。
【図１０】実施の形態１にかかるページの変数と通信周期の取得を説明する図である。
【図１１】実施の形態１にかかる画面表示開始または切替え時に要求される通信量の取得を説明する図である。
【図１２】実施の形態１にかかる表示中通信量の取得を説明するための図である。
【図１３】実施の形態１にかかる性能と評価に関する情報の表示の一例を示す図である。
【発明を実施するための形態】
【００２４】
以下に、図面を参照しつつ、各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２５】
［用語と機能の説明］
「ＨＭＩプログラム」は、プログラマブルターミナルに表示させる画面に対応する１または複数のページを記載するアプリケーションプログラムである。ＨＭＩプログラムの各ページのプログラムが実行されると画面が表示される。「ＨＭＩプログラム」の画面は、プログラマブルターミナルを動作させるために必要な部品を含む。
【００２６】
「部品」は、画像データ、テキストデータ、プログラムコードを含む。ＨＭＩプログラムが実行されて画面が表示されるとき、部品によって、絵、文字列等が表示されるとともに、プログラムコードが実行されることによる機能（画像表示、データ入出力、操作受付などの機能）が提供される。部品のうち、特に外観を持つものを「ＵＩ（User Interface)部品」という。
【００２７】
「部品のデータ」は、部品の表示状態を決定するために必要な変数または式の値を含む。
【００２８】
「ライブラリ」は、ＨＭＩプログラムで利用（再利用）できる部品のライブラリ（ファイル）である。
【００２９】
「リソース」は、画像データおよび文字列データなどの画面に組込まれるデータを含む。また、リソースには、プログラムコードが含まれてもよい。
【００３０】
「プロジェクト」は、１つのアプリケーションプログラムを構成するための情報である。
【００３１】
「標準プロジェクト」は、ＨＭＩプログラムを作成するためのプロジェクトである。ＨＭＩプログラムの「プロジェクト」は、ＨＭＩプログラムと、ＨＭＩプログラムが参照するリソースデータを有した１以上のライブラリ、ページ一覧データ、変数定義、ユーザが定義したデータ型、通信の設定データなどを含む。
【００３２】
「ＨＭＩプログラムの性能」は、「画面切替性能」と「画面の動作性能」とを含む。「画面切替性能」の指標は、オペレータから画面の表示開始または画面の切替の操作を受付けてから、ディスプレイに画面が表示される、または画面が切替わるまでの画面切替時間を含む。「画面の動作性能」の指標は、表示中画面に含まれた部品の表示の更新（レスポンス）にかかる時間を含む。この更新にかかる時間は、後述する画面表示中に発生する単位時間当たりの通信量または帯域占有率により示される。
【００３３】
[実施の形態１]
（概要）
実施の形態１では、ＰＣ１００は、対象装置に画面を表示させるためのプログラムを作成する「画面作成装置」の一実施例であり、プログラマブルターミナル４は「対象装置」の一実施例である。なお、画面作成装置の機能をプログラマブルターミナル４が備えることも可能であり、その場合には、「画面作成装置」はプログラマブルターミナル４自身となる。
【００３４】
ＰＣ１００は画面を作成する、言い換えると画面を表示させるためのプログラムを作成する。画面は、１以上の部品を含む。この部品は、上記に述べたＵＩ部品を含み得る。対象装置は、画面を表示する場合に、部品のデータを「相手機器」に通信路を介して要求し、当該通信路を介して相手機器から応答として部品のデータを受信する。
【００３５】
ＰＣ１００は、画面に含まれる部品の集合ごとに、通信路を介して当該部品のデータを伝送する場合に必要とされている通信量を記憶している。ユーザが画面作成装置を操作して画面を作成する場合は、画面作成装置は、画面に含まれる部品に対応した部品のデータの通信量である画面通信量を用いて、対象装置に当該画面を表示させるためのプログラムの性能を推定し、推定の結果をディスプレイ、音声、プリンタ等の出力部に出力させる。
【００３６】
このように、実施の形態１では、対象装置にプログラムを実行させて画面を表示させなくとも、ユーザが画面のプログラムを作成する段階で、対象装置に当該プログラムを実行させて画面を表示させる場合に必要とされる通信量を取得することができる。この通信量は、当該プログラムの対象装置に画面を表示させるための性能を表す。
【００３７】
（システム構成）
図１は、実施の形態１にかかる画面作成装置を含むシステムの構成を概略的に示す図である。図１を参照して、システムは、ＦＡに適用される複数のＰＬＣ1，ＰＬＣ２，ＰＬＣ３、主にオペレータが操作するプログラマブルターミナル４、およびＰＣ（Personal Computer）１００を備える。プログラマブルターミナル４は、通信路１１５を介してＰＬＣ1，ＰＬＣ２，ＰＬＣ３と接続される。通信路１１５は、例えばEthernet（登録商標）を含むが、これに限定されない。ＰＣ１００は、有線または無線の通信路１１１を介してプログラマブルターミナル４に接続され得る。通信路１１１は、例えばＬＡＮ（Local Area Network）を含むが、これに限定されない。
【００３８】
ＰＬＣ１〜３のそれぞれは同様の構成を有する。ＰＬＣは、典型的には、プログラムを実行する主体であるＣＰＵ（Central Processing Unit）を有したＣＰＵユニット１０、ＣＰＵユニット１０などへ電力を供給する電源ユニット１２、フィールド機器と信号をやり取りするＩＯ（Input Output）ユニット１４とを含む。ＩＯユニット１４は、ＣＰＵユニット１０とシステムバス１１を介して接続されている。ＩＯユニット１４は、ＣＰＵユニット１０とシステムバス１１を介して接続される。典型的には、ＩＯユニット１４は、フィールド機器である検出センサ１５からの信号を取得し、またはＣＰＵユニット１０でのプログラムの実行結果に応じてフィールド機器であるリレー１６を駆動する。なお、フィールド機器は、ＦＡに関連した機器の一実施例であり、例えばＰＬＣ、検出センサ１５およびリレー１６を含むが、これらの機器に限定されない。
【００３９】
ＰＣ１００は、「画面作成装置」の一実施例である。ＰＣ１００は、ユーザがプロジェクトを開発（生成）する環境を提供する。ＰＣ１００で生成されたプロジェクトは、プログラマブルターミナル４に送信される。
【００４０】
図２は、実施の形態１にかかるプログラマブルターミナル４におけるＨＭＩプログラムの利用態様を模式的に示す図である。プログラマブルターミナル４は、ＰＣ１００により作成されたＨＭＩプログラムを実行することにより、ＨＭＩのためのＧＵＩとしての役割りを果たす。
【００４１】
図２を参照して、プログラマブルターミナル４は、ＨＭＩプログラムの各ページを実行して画面を表示するとき、通信路１１５を介して、フィールド機器のデータ（検出センサ１５の測定データ、センシングデータ、リレー１６の状態データ等）を、各ＰＬＣに要求する。プログラマブルターミナル４は、応答として受信したデータを、画面の部品として表示する。これにより、オペレータに対して、フィールド機器のデータを報知することができる。
【００４２】
（ＰＣ機器１００の構成）
図３は、実施の形態１にかかるＰＣ１００の構成を概略的に示す図である。図２を参照して、ＰＣ１００は、ＣＰＵ１１０、記憶部としてのメモリ１１２およびハードディスク１１４、計時し計時データをＣＰＵ１１０に出力するタイマ１１３、入力インターフェイス１１８、表示コントローラ１２０、通信インターフェイス１２４、データリーダ／ライタ１２６を含む。これらの各部は、バス１２８を介して互いにデータ通信が可能なように接続されている。
【００４３】
ＣＰＵ１１０は、ハードディスク１１４に格納されたプログラム（コード）を実行することで、各種の演算を実施する。メモリ１１２は、典型的には、ＤＲＡＭ（Dynamic  Random  Access  Memory）などの揮発性の記憶装置である、メモリ１１２は、ハードディスク１１４から読出されたプログラム・データに加えて、データリーダ／ライタ１２６から受信されたデータ、およびワークデータなどが格納される。
【００４４】
入力インターフェイス１１８は、ＣＰＵ１１０とキーボード１０４、マウス（図示せず）、タッチパネル（図示せず）などの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス１１８は、ユーザが入力装置を操作することで与えられる操作命令を受付ける。
【００４５】
表示コントローラ１２０は、表示装置の典型例であるディスプレイ１０２と接続され、ＣＰＵ１１０における処理の結果などを表示する。表示コントローラ１２０は、ＣＰＵ１１０からの表示データに従いディスプレイ１０２を駆動する。これにより、ディスプレイ１０２には、表示データに従う画像が表示される。
【００４６】
通信インターフェイス１２４は、ＬＡＮを介してプログラマブルターミナル４との間のデータ伝送を仲介する。データリーダ／ライタ１２６は、ＣＰＵ１１０と外部の記憶媒体であるメモリカード１０６との間のデータ伝送を仲介する。
【００４７】
なお、メモリカード１０６は、ＰＣ１００で実行されるプログラムなどが格納された状態で流通し、データリーダ／ライタ１２６は、このメモリカード１０６からプログラムを読出す。なお、メモリカード１０６は、ＣＦ（Compact Flash）、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体などからなる。
【００４８】
また、ＰＣ１００には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【００４９】
（プログラマブルターミナル４の構成）
図４は、実施の形態１にかかるプログラマブルターミナル４の構成を概略的に示す図である。図４を参照して、プログラマブルターミナル４は、各種の演算を行なうＣＰＵ４１１、ＲＯＭ（Read Only Memory）４１２、ＲＡＭ（Random Access Memory）４１３、各種のプログラムおよびデータを不揮発的に格納するためのフラッシュＲＯＭ４１４、時計４１５、ユーザの操作を受付けるための操作キー４１６、データリーダ/ライタ４１７、タッチスクリーン４１８および通信インターフェイス４１９を備える。なお、これらの各部は、内部バスを介して互いに接続される。
【００５０】
タッチスクリーン４１８は、表示部として機能するディスプレイ４８１、ユーザの入力を受付けるためのタッチパネル４８２を含む。タッチパネル４８２は、ディスプレイ４８１を覆うように設置される。通信インターフェイス４１９は、ＰＣ１００およびＰＬＣ１〜３の各種の機器と通信する。
【００５１】
データリーダ／ライタ４１７は、ＣＰＵ４１１と外部の記憶媒体であるメモリカード４２０との間のデータ伝送を仲介する。メモリカード４２０は、プログラマブルターミナル４で実行されるプログラムなどが格納された状態で流通し得る。データリーダ／ライタ１２６は、メモリカード４２０からプログラムを読出す。なお、メモリカード４２０は、ＣＦ（Compact  Flash）、ＳＤ（Secure  Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible  Disk）などの磁気記憶媒体や、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）などの光学記憶媒体などからなる。
【００５２】
また、プログラマブルターミナル４には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【００５３】
（ＨＭＩプログラムの開発環境）
図５は、実施の形態１にかかるＨＭＩプログラムの開発環境を概略的に示す図である。図５では、ＰＣ１００における開発環境に関連付けて、プログラマブルターミナル４におけるＨＭＩプログラムの実行環境が示されている。
【００５４】
図５を参照して、ＰＣ１００の開発環境は、ＯＳ（オペレーティングシステム）２２０およびＨＭＩデバイスツールプログラム２２１を備える。ＨＭＩデバイスツールプログラム２２１は、ハードディスク１１４からメモリ１１２にロードされてもよい。ＨＭＩデバイスツールプログラム２２１は、ＨＭＩプログラム、ライブラリおよび各種プロジェクトなどを作成するためのエディタ１０Ａおよび各種プロジェクトをコンパイルするためのコンパイラ１０Ｃを含む。また、ＰＣ１００は、ライブラリおよびＨＭＩプログラムを作成するためのリソース、関数などのデータを有したライブラリ２２４を備える。ＨＭＩプログラムは、たとえば表示要素の配置および外観の定義、プログラミング言語による動作指示などのための部品のデータを含む。
【００５５】
実施の形態１では、コンパイラ１０Ｃが、エディタ１０Ａにより作成された標準プロジェクト２２５をコンパイルする。標準プロジェクト２２５は、ライブラリ２２４のデータを用いて作成、編集される場合がある。標準プロジェクト２２５はＨＭＩプログラム２２７、および各種のデータの定義２２８などを含む。標準プロジェクト２２５はハードディスク１１４、メモリ１１２などの記憶部に格納される。
【００５６】
定義２２８は、ＨＭＩプログラム２２７で使用（参照）されている変数の定義を含む。定義２２８において定義される変数は、ＨＭＩプログラム２２７の部品により参照される変数を含む。定義２２８の詳細は後述する。
【００５７】
ユーザは、標準プロジェクト２２５をコンパイルする場合には、コンパイラ１０Ｃを起動する。コンパイラ１０Ｃは、格納された標準プロジェクト２２５をコンパイルし、実行形式のコードに変換された実行形式プロジェクト２２９を出力する。
【００５８】
ＰＣ１００は、実行形式プロジェクト２２９を記憶部に格納する、または通信路１１１を介してプログラマブルターミナル４にロードする。プログラマブルターミナル４は、ＰＣ１００から転送された実行形式プロジェクト２２９をフラッシュＲＯＭなどに格納する。
【００５９】
プログラマブルターミナル４のオペレータがＨＭＩプログラムの実行を指示すると、プログラマブルターミナル４のＯＳ２３０の制御のもとで、ＣＰＵ４１１は、フラッシュＲＯＭ４１４から実行形式プロジェクト２２９を読出して、読出された実行形式プロジェクト２２９を、ランタイムを介して実行する。これにより、プログラマブルターミナル４にＨＭＩプログラムに対応の画面が表示される。
【００６０】
（機能構成）
実施の形態１では、ＰＣ１００は、ＨＭＩプログラムの作成時に、当該ＨＭＩプログラムの性能を推定し評価する。図６は、実施の形態１にかかるＰＣ１００が有する性能推定評価部１０Ｂとその周辺部を模式的に示す図である。図６では、この周辺部として、ＨＭＩプログラムのエディタ１０Ａ、ＨＭＩプログラムのコンパイラ１０Ｃ、インターフェイス部８０および記憶部９０が示される。エディタ１０Ａは主にユーザ操作に従いＨＭＩプログラムを編集する。コンパイラ１０Ｃは、エディタ１０Ａにより作成されたＨＭＩプログラムをコンパイルする。コンパイル後に、再度、エディタ１０Ａによる作成に戻る場合がある。実施の形態１では、ＨＭＩプログラムの作成は、エディタ１０ＡによるＨＭＩプログラムの編集またはコンパイラ１０ＣのＨＭＩプログラムのコンパイル、またはその両方を含む。
【００６１】
性能推定評価部１０Ｂは、プログラマブルターミナル４に画面を表示させるためのＨＭＩプログラムの性能を推定し、推定された性能を評価する。
【００６２】
図６を参照して、性能推定評価部１０Ｂは、ＨＭＩプログラムのページを検出するページ検出部２０、ページに含まれる変数に関する情報を抽出する変数抽出部３０、性能推定部１０Ｄ、推定された性能を評価する性能評価部６０、評価に基づくガイダンスの情報を出力するガイダンス処理部６５、および表示処理部７０を含む。
【００６３】
性能推定部１０Ｄは、基本的に、画面の各部品が必要とするデータの和集合を、通信路１１５を介して伝送する場合に必要な通信量である画面通信量を用いて性能を推定する。具体的には、性能推定部１０Ｄは、画面の表示開始または画面の切替えの場合における画面通信量を取得する第１通信量取得部４０、プログラマブルターミナル４における画面切替時間の推定値を取得する切替時間取得部４５、画面を表示中における画面通信量を取得する第２通信量取得部５０、および画面通信量によって通信路１１５の帯域が占有される程度（割合）を示す通信帯域占有率を取得する帯域占有率取得部５５を備える。
【００６４】
表示処理部７０は、ＨＭＩプログラムを実行して、ディスプレイ１０２に画面を表示させるための表示データを表示コントローラ１２０に出力する。また、表示処理部７０は、プログラマブルターミナル４による画面の表示をシミュレートするシミュレーション部７１を含む。
【００６５】
これら各部の機能は、プログラムまたは回路、またはそれらの組合せにより実現される。プログラムは、メモリ１１２またはハードディスク１１４の記憶部に格納される。ＣＰＵ１１０が記憶部からプログラムを読出し、実行することにより、各部の機能が実現される。
【００６６】
（処理フローチャート）
図７は、実施の形態１にかかる処理フローチャートである。図７の処理フローチャートは、プログラムとしてメモリ１１２またはハードディスク１１４などに格納されて、ＣＰＵ１１０により読出されて実行される。このプログラムは、メモリカード１０６に格納された状態で流通し得る。ＣＰＵ１１０は、データリーダ/ライタ１２６を介して、メモリカード１０６からプログラムを読出し、読出されたプログラムをハードディスク１１４またはメモリ１１２に格納する。
【００６７】
また、プログラムは、図示しないネットワークを介して通信インターフェイス１２４により受信される。ＣＰＵ１１０は受信されたプログラムをメモリ１１２またはハードディスク１１４などに格納するとしてもよい。
【００６８】
図７を参照して、ＨＭＩプログラムの画面表示に関する性能の推定と評価に関する処理の概要を説明する。図７の各ステップの処理は、図８〜図１２を参照して詳述する。
【００６９】
まず、ユーザはエディタ１０Ａを起動して、画面のＨＭＩプログラム２２７および定義２２８を含む標準プロジェクト２２５を作成する（ステップＳ１）。作成される標準プロジェクト２２５は記憶部９０に格納される。
【００７０】
ＣＰＵ１１０は、入力インターフェイス１１８を介して、性能の推定を開始する操作を受付けるか否かを判断する（ステップＳ２）。ＣＰＵ１１０は、当該操作を受付けない場合は（ステップＳ２でＮＯ）、ステップＳ１に戻るが、当該操作を受付けた場合は（ステップＳ２でＹＥＳ）、ＨＭＩプログラムの各ページについて性能を推定する処理を開始する。
【００７１】
まず、ＣＰＵ１１０のページ検出部２０は、ＨＭＩプログラム２２７からページを検出する（ステップＳ３）。以下、この検出されたページについて処理がなされる。
【００７２】
変数抽出部３０は、ステップＳ２で検出されたページ（以下、検出ページともいう）に含まれる変数の名称に基づき、定義２２８を検索する。変数抽出部３０は、検索により、検出ページに含まれた全ての変数のそれぞれに対応したデータの型（またデータ長）および通信周期を定義２２８から読出す（ステップＳ４）。
【００７３】
第１通信量取得部４０は、ステップＳ４で定義２２８から読出された内容に基づき、検出ページに含まれる各変数のデータ量を算出し、算出されたデータ量から、当該ページの画像を表示開始するとき、または当該ページの画像への切替が実施される時に必要な画面通信量を取得する（ステップＳ５）。
【００７４】
切替時間取得部４５は、ステップＳ５で算出された画面通信量と「相手機器」の一実施例であるＰＬＣの性能とに基づき、検出ページの画面を表示開始するとき、または当該画面へ切替る場合に要する画面切替時間を取得する（ステップＳ６）。
【００７５】
ここで、画面切替時間は、ＣＰＵ１１０がユーザから指定ページ（画面）の表示開始操作、または指定ページへの切替操作を受付けてから、指定ページに含まれる変数のデータの要求を、通信路１１５を介して相手機器に送信し、相手機器からの応答（要求された変数に対応したデータ）を受信し、受信データを部品に組込んだ画面の表示が完了するまでに要する時間を示す。
【００７６】
なお、実施の形態１では、切替時間取得部４５が取得する画面切替時間は、ＰＬＣからの応答（変数に対応したデータ）が通信路１１５を介してプログラマブルターミナル４に伝送されるのに要する時間を示す。つまり、画面切替時間に関して、実施の形態１では、プログラマブルターミナル４が上記の要求をＰＬＣに送信するのに要する時間と、プログラマブルターミナル４が相手機器の応答である受信データを部品に組込んだページの画面表示が完了するまでに要する時間は、説明を簡単にするために、略ゼロであるとみなしている。
【００７７】
第２通信量取得部５０は、表示中のページに含まれる変数のデータ量と通信周期から、当該ページの画面を表示中に、必要とされる通信量を算出する（ステップＳ７）。
【００７８】
帯域占有率取得部５５は、ステップＳ７で算出された表示中に必要な通信量と、相手機器の応答に関する性能とに基づき、上記の通信帯域占有率を算出する（ステップＳ８）。
【００７９】
続いて、性能評価部６０は、推定された検出ページの性能の評価と、評価結果の出力を実施する（ステップＳ９）。具体的には、性能評価部６０は、上記の画面切替時間と通信帯域占有率を、それぞれ、対応の閾値と比較する。閾値は、指定の性能を維持するための値であり、予め実験等により決められる。比較の結果に基づき、画面切替時間と通信帯域占有率のいずれかが、対応の閾値よりも大きいことを示す場合は、性能評価部６０は、表示コントローラ１２０を介してディスプレイ１０２に警告を出力する。
【００８０】
また、ステップＳ９では、ガイダンス処理部６５は、警告とともに、評価に関する情報を表示する。ガイダンス処理部６５は、予め定められたデータ量を超える部品を有する画面であることを特定する情報、または当該予め定められたデータ量を超える部品の当該画面における位置を示す情報を表示する。ガイダンス処理部６５は、検出ページ（画面）において、データ量のサイズが大きい変数を参照している箇所を特定する情報を出力してもよい。これにより、ユーザに対して、画面切替時間または通信帯域占有率を、対応の閾値以下に変更するための解決方法の情報（ガイダンス）を提示することができる。
【００８１】
ＣＰＵ１１０は、ＨＭＩプログラム２２７の全てのページについて性能推定の処理を実施したか否かを判断する（ステップＳ１０）。終了していないときは（ステップＳ１０でＮＯ）、ステップＳ３に戻り、次の検出ページについて以降の処理が同様に実施される。
【００８２】
一方、ＨＭＩプログラム２２７の全ページについて性能推定の処理が終了しているときは（ステップＳ１０でＹＥＳ）、ＣＰＵ１１０は、ユーザから画面のＨＭＩプログラムの作成終了の操作を受付けるか否かを判断する（ステップＳ１１）。ＨＭＩプログラム作成終了の操作を受付けたとき（ステップＳ１１でＹＥＳ）、一連の処理を終了するが、ＨＭＩプログラム作成終了の操作を受付けないとき（ステップＳ１１でＮＯ）、ステップＳ１に戻り、ＨＭＩプログラムの作成のための処理が行われる。
【００８３】
＜ステップＳ４の処理＞
図８と図９と図１０は、実施の形態１にかかるページの変数と通信周期の取得を説明する図である。図８は、定義２２８の内容の一例を示す。図８を参照して、定義２２８は、各変数に関連づけて、変数の名称、変数のデータの型（またはデータ長）、および通信周期等を含む。なお、データ型は、主に、ＨＭＩプログラム２２７を記述するプログラム言語に固有の型であるが、ユーザが定義したデータ型を含んでよい。
【００８４】
また、通信周期は、プログラマブルターミナル４が相手機器に対して変数のデータを定期的に要求（問い合わせる）する場合、その要求の間隔を示す。ユーザは、ＨＭＩプログラムの作成時に、定義２２８に各変数について通信周期を設定する。例えば、画面表示中に頻繁にデータを更新する必要がある変数に対しては通信周期を短く（例えば100ｍｓまたは500ｍｓ）設定し、そうでない変数の通信周期を長く（例えば5秒）設定する。このようにユーザは通信周期を可変に設定できるから、通信路１１５の利用可能な帯域が限られるとしても、ＨＭＩプログラムの性能を最適化することができる。
【００８５】
ステップＳ４では、検出ページは、例えば図９のようにディスプレイ１０２に表示される。変数抽出部３０は、検出ページを走査して、検出ページに含まれる文字列を抽出する。変数抽出部３０は、抽出された文字列と図８の定義２２８の変数名の文字列とを照合し、照合の結果に基づき、検出ページから全ての変数を抽出する。また、変数抽出部３０は、抽出された各変数の名称に基づき定義２２８を検索し、対応のデータ型と通信周期を抽出する。
【００８６】
図９では、検出ページから、例えば変数PLC1_Common_Short_Wが抽出されることが示される。また、図８の定義２２８によれば、変数抽出部３０は、変数PLC1_Common_Short_Wについて、データ型は‘Short’および通信周期は‘500ｍsec’であることを取得する。変数抽出部３０は、図１０に示すように、検出ページから抽出した各変数について、変数名、データ型および通信周期を関連付ける。変数抽出部３０は、このように関連付けされた情報を記憶部に格納する。
【００８７】
＜ステップＳ５の処理＞
図１１は、実施の形態１にかかる画面表示開始または切替時に要求される通信量の取得を説明する図である。検出ページの画面が表示開始される場合または切替先の画面である場合に要求される通信量を取得する処理（ステップＳ５）では、第１通信量取得部４０は、検出ページに含まれる各変数のデータ量を取得し、取得されたデータ量の総和を算出する。
【００８８】
例えば、ステップＳ４の処理により、検出ページの各変数について、変数名、データ型通信周期、およびデータ量を関連付けた情報（図１１参照）が、記憶部９０に格納されている。実施の形態１では、Short型は２バイト、Integer(19)型（＝４バイト整数２０個の配列の型）ならば4×20＝８０バイト、およびBoolean型は１バイト（機器によっては１ビット）のように各データ長が予め定義されている。なお、構造体型等のユーザ定義型の変数のデータ量は、構造体の各メンバーのデータ量から計算される。実施の形態１では、ユーザ定義の構造体変数型であるMyStruct型は、Integer型のメンバーを１８個持つ構造体であるので、当該構造体変数のデータ量は4×18＝７２バイトと算出される。
【００８９】
第１通信量取得部４０は、検出ページについて各変数のデータ量を上記の予め定義されたデータ長に基づき算出し、データ量の総和である１５５バイト（2+80+1+72＝155）を算出する。これにより、検出ページの画面の表示開始時または当該画面への切替時に要求される通信量が取得される。
【００９０】
＜ステップＳ６の処理＞
切替時間取得部４５は、上記の通信量とプログラマブルターミナル４の相手機器の性能に基づき、検出ページの画面を表示開始する場合または当該画面へ切替る場合の画面切替時間を算出する。具体的には、プログラマブルターミナル４からの読出し要求に対して、相手機器は約毎秒1000バイトの応答性能を持つ。なお、当該応答性能は、ＰＣ１００の記憶部に予め格納されている。したがって、切替時間取得部４５は、上記に算出された検出ページの画面の通信量（１５５バイト）についての画面切替時間を、155バイト÷1000バイト/秒＝１５５ｍｓと算出する。このように、相手機器の通信性能すなわち相手機器が応答可能な単位時間当たりの通信量（1000バイト/秒）と画面通信量（155バイト）との比を算出することにより、プログラマブルターミナル４において検出ページの画面を表示させるのに要する画面切替時間が取得される。なお、切替時間の取得においては、相手機器の通信性能は、相手機器が応答可能な単位時間当たりの通信量に限らず、たとえば、相手機器が応答可能なデータアクセスコマンドの個数などの他の要素を考慮してもよい。
【００９１】
＜ステップＳ７の処理＞
図１２は、実施の形態１にかかる表示中通信量の取得を説明するための図である。図１２の情報は、上述の処理により取得される。図１２によれば、検出ページに含まれる変数のうち、変数‘PLC1_Common_Short_W’と‘テスト用変数’とは、変数のデータの読出し要求は０．５秒毎に相手機器に送信され、同様に、変数‘MainSwitchStatus’と‘テスト用構造体変数’とは、変数のデータの読出し要求は０．１秒毎に相手機器に送信されることが示される。
【００９２】
第２通信量取得部５０は、図１２の情報から、検出ページの画面を表示中に発生する単位時間（例えば、１秒間）あたりに要求される通信量を、(2バイト＋80バイト)÷0.5秒＋(1バイト＋72バイト）÷0.1秒＝894バイト/秒と算出する。したがって、検出ページに、読出し周期が短い、またはデータ量が大きい変数が多く含まれるほど、当該検出ページの画像を表示中において、要求される通信量は多くなることがわかる。
【００９３】
＜ステップＳ８の処理＞
実施の形態１では、上記に述べたように相手機器は約毎秒1000バイトの応答性能を持つ。したがって、図１１または図１２に示す検出ページの変数のデータ（総量：894バイト）の読出し要求を送信した場合に、帯域占有率取得部５５は、相手機器から応答が伝送される場合の通信路１１５の帯域占有率を、894バイト/秒÷1000バイト/秒＝89.4％と算出する。これにより、検出ページの画面を表示する場合の通信路１１５の帯域占有率が取得される。
【００９４】
なお、上記のデータ量、通信量、画面切替時間、帯域占有率の取得方法は、上記のような算出による取得方法に限定されない。例えば、テーブルを検索して、テーブルから値を読出す方法であってもよい。例えば、帯域占有率の場合には、変数のデータの総量のそれぞれに対応して帯域占有率が登録されたテーブルを予め記憶しておき、帯域占有率取得部５５は、検出ページについて算出されたデータ総量に基づきテーブルを検索し、テーブルから対応の帯域占有率を読出す方法であってもよい。
【００９５】
＜ステップＳ９の処理＞
図１３は、実施の形態１にかかる性能と評価に関する情報の表示の一例を示す図である。実施の形態１では、これら情報はディスプレイ１０２に表示するとしているが、情報の出力部はディスプレイ１０２に限定されず、音声出力部またはプリンタであってもよい。また、これら情報を格納するとしてもよく、その場合には、情報の出力先は記憶部である。
【００９６】
まず、性能評価部６０による評価の処理を説明する。
上記に述べたように、検出ページの画面を表示開始する、または当該画面へ切替える時に要求される通信量は155バイトと取得されて、画面切替時間は155ｍｓと算出されている。実施の形態１では、画面切替時間の閾値は、例えば400ｍｓに設定されている。実験によれば、この閾値の時間は、多くのオペレータが「画面の表示開始が遅い、または切替が遅い」と感じ始める時間である。性能評価部６０は、検出ページについて、閾値を用いて（155ｍｓ＜400ｍｓ）の条件が成立すると判断する。性能評価部６０は、当該条件が成立するとき、すなわち検出ページについて取得された画面切替時間は十分に短いケースに該当する場合は、検出ページの性能に関する警告を表示しない。一方、性能評価部６０は、当該条件が成立するときは、当該警告を表示する。
【００９７】
また、検出ページは、画面表示中の通信量は上記に述べた894バイト/秒であり、通信帯域占有率は89.4%を占めるケースに該当する。実施の形態１では、通信帯域占有率の閾値は、例えば25%に設定されている。この閾値は、スムーズなＵＩ操作に影響を与えない通信占有率の限度の参考値である。性能評価部６０は、検出ページについて、閾値を用いた（89.4%＞25%）の条件が成立するか否かを判断する。性能評価部６０は、当該条件が成立すると判断したとき、すなわち検出ページの画面を表示中における通信路１１５の通信帯域占有率は大きいと判断する場合は、検出ページの性能に関する警告を表示する。一方、性能評価部６０は、当該条件が成立しないと判断するときは、当該警告を表示しない。
【００９８】
図１３のディスプレイ１０２には検出ページを作成する場合のページ編集画面が示される。図１３のページ編集画面では、推定された性能または性能評価に関する情報が表示される。図１３のページ編集画面の左側において、ＨＭＩプログラム２２７に含まれるページの名称の一覧が示される。また、ページ名称の一覧において、検出ページの名称に関連づけて警告のマーク２０２が表示されている。また、このページ編集画面の警告２０１は、警告のマークとともに、上記の各ステップにおいて取得された情報（検出ページの画面の表示開始または切替時に要求される通信量（1,200,378バイト）、上述の画面切替時間（5.7秒）および通信帯域占有率（120.4％）等）を含む。
【００９９】
また、このページ編集画面は警告２０３を含む。性能評価部６０は、検出ページについて取得された上記の画面切替時間が長い、または通信帯域占有率が高く、そのためにオペレータがＵＩ操作をスムーズに実施できないと推定される旨のメッセージを生成し、警告２０３として表示する。このメッセージは、性能の評価内容（例えば、‘ページの切替性能やＵＩの応答性に問題があります’のメッセージ）を含む。
【０１００】
ページ編集画面は警告２０４を含む。警告２０４は、警告のマークと、ガイダンス処理部６５が出力するガイダンス情報を含む。ガイダンス情報は、性能を改善するための情報を含む。ガイダンス情報は、例えば、検出ページは、予め定められた閾値を超えるデータ量を有した変数を有すること、ＨＭＩプログラムにおいて当該変数を参照している箇所を特定する情報、または検出ページの画面において当該変数に対応した部品の表示位置を特定する情報を含む。
【０１０１】
ガイダンス情報について、例えば、図１３の警告２０４は、検出ページに含まれる変数のうち、性能を低下させている箇所に関連づけて、警告の理由と性能を改善するためのガイダンスメッセージを含む。警告２０４のガイダンスメッセージは、例えば「変数名＋定型文‘大量の通信を発生させるために性能低下の原因となります’」、または変数の型が構造体である場合は、例えば「構造体変数名＋定型文‘大量の通信を発生させるために性能低下の原因となります。必要なメンバーだけを含む構造体に変更すると問題が解消する可能性があります’」等である。
【０１０２】
また、実施の形態１では、ガイダンス処理部６５は、ステップＳ４で検出ページから変数が抽出される際に、データ量が大きい変数（例えば、閾値（100バイト）以上の変数）を特定し、特定された変数の検出ページにおける参照位置を抽出し、ステップＳ９において、検出ページの編集画面において該変数の参照位置２０５に警告のマークを表示してもよい。
【０１０３】
または、ガイダンス処理部６５は、検出ページに対応した画面をディスプレイ１０２に表示し、この画面上で当該変数の部品が表示されている位置を指示するように警告のマークを表示するとしてもよい。
【０１０４】
（ＨＭＩプログラムの画面の表示とシミュレーション処理）
実施の形態１では、表示処理部７０は、ＨＭＩプログラムの作成時に得られた実行形式プロジェクト２２９に従い、検出ページのプログラムを実行し、検出ページの表示データを生成し、生成された表示データを表示コントローラ１２０に出力する。表示コントローラ１２０は、表示データに従いディスプレイ１０２に検出ページの画面を表示させる。したがって、ユーザは、ＨＭＩプログラムの作成時に、ＰＣ１００のディスプレイ１０２において、プログラマブルターミナル４のディスプレイ４８１に表示させる検出ページの画面を確認することができる。
【０１０５】
表示処理部７０が検出ページの画面をディスプレイ１０２に表示する場合に、シミュレーション部７１は、プログラマブルターミナル４における当該画面の表示時の挙動をシミュレートする。
【０１０６】
例えば、シミュレーション部７１は、検出ページについて第１通信量取得部４０が取得した画面表示開始時または画面切替え時の通信量に応じた待機時間、または切替時間取得部４５が取得した画面切替時間に応じた待機時間、または第２通信量取得部５０が取得した表示中通信量に応じた待機時間をもって、検出ページの画面をディスプレイ１０２に表示する。
【０１０７】
または、シミュレーション部７１は、検出ページについて取得された通信帯域占有率に応じた待機時間をもって画面をディスプレイ１０２に表示する。
【０１０８】
ユーザは、キーボード１０４を介して、検出ページの画面の表示開始（または表示切替）の操作をしてから、画面がディスプレイ１０２に表示されるまで、上記の待機時間だけ待機させられることで、検出ページの画面が有する性能を体感することが可能となる。このように、ＰＣ１００は、プログラマブルターミナル４における画面の表示時の挙動をシミュレートする「シミュレーション装置」として機能し得る。
【０１０９】
実施の形態１によれば、プログラマブルターミナル４に画面を表示させるためのＨＭＩプログラム２２７の性能を、ＨＭＩプログラム２２７の作成時に、ユーザに知らせることができる。
【０１１０】
これにより、性能が低い画面のページをＨＭＩプログラムの作成段階で特定し、対策（ＨＭＩプログラムの編集し直し）を取ることができる。したがって、実機で動作させるまで性能問題が発覚しない場合に比べて、ＨＭＩプログラムの作成段階でより性能の課題に対処することが可能となり、ＨＭＩプログラムの開発効率を改善することができる。
【０１１１】
[実施の形態２]
実施の形態２は、実施の形態１の変形例を示す。実施の形態１では、ＨＭＩプログラムを作成する環境を、ＰＣ１００に備えたが、プログラム作成環境は、ＰＣ１００に備えるケースに限定されない。例えば、プログラマブルターミナル４が、ＨＭＩプログラムを作成する環境（図５参照）と、性能推定評価部１０Ｂを備えることが可能である。その場合には、「対象装置」は当該プログラマブルターミナル４であり、プログラマブルターミナル４は、上記で説明したＰＣ１００による「画面作成装置」または「シミュレーション装置」として機能し得る。
【０１１２】
[実施の形態３]
実施の形態３では、上述の「画面作成装置」または「シミュレーション装置」の少なくとも一方をＰＣ１００のＣＰＵ１１０またはプログラマブルターミナル４のＣＰＵ４１１に実行させるためのプログラムが提供される。このようなプログラムは、ＰＣ１００またはプログラマブルターミナル４に付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカード１０６，４２０などのコンピュータ読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、ハードディスク１１４などの記録媒体にて記録させて、プログラムを提供することもできる。また、図示しないネットワークから通信インターフェイス１２４，４１９を介したダウンロードによって、プログラムを提供することもできる。
【０１１３】
なお、プログラムは、ＰＣ１００またはプログラマブルターミナル４のＯＳ（オペレーティングシステム）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、実施の形態３のプログラムに含まれ得る。
【０１１４】
また、実施の形態３にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、実施の形態３にかかるプログラムに含まれ得る。
【０１１５】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１１６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１７】
４  プログラマブルターミナル、１０Ａ  エディタ、１０Ｂ  性能推定評価部、１０Ｃ  コンパイラ、１０Ｄ  性能推定部、１１  システムバス、１２  電源ユニット、１５  検出センサ、１６  リレー、２０  ページ検出部、３０  変数抽出部、４０  第１通信量取得部、４５  切替時間取得部、５０  第２通信量取得部、５５  帯域占有率取得部、６０  性能評価部、６５  ガイダンス処理部、７０  表示処理部、７１  シミュレーション部、８０  インターフェイス部、９０  記憶部、１００  ＰＣ、１０２，４８１  ディスプレイ、１０４  キーボード、１０６，４２０  メモリカード、１１１，１１５  通信路、２０１，２０３，２０４  警告、２０２  マーク、２０５  位置。
【図１】
2018151537.tif 000003
【図２】
2018151537.tif 000004
【図３】
2018151537.tif 000005
【図４】
2018151537.tif 000006
【図５】
2018151537.tif 000007
【図６】
2018151537.tif 000008
【図７】
2018151537.tif 000009
【図８】
2018151537.tif 000010
【図９】
2018151537.tif 000011
【図１０】
2018151537.tif 000012
【図１１】
2018151537.tif 000013
【図１２】
2018151537.tif 000014
【図１３】
2018151537.tif 000015
【手続補正書】
【提出日】平成30年3月30日(2018.3.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
例えば、特許文献１（特開平６−１８６９４０号公報）はプログラマブルターミナルの表示制御装置を開示する。特許文献１の表示制御装置は、表示制御装置のデータ通信部が外部装置からデータを取り出すのに要する時間と、データ表示部がデータの表示を行うのに要する時間とを測定し、測定した時間データを表示する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
ＰＣ１００は、画面に含まれる部品の集合ごとに、通信路を介して当該部品のデータを伝送する場合に必要とされている通信量を記憶している。ユーザが画面作成装置を操作して画面を作成する場合は、画面作成装置は、画面に含まれる部品に対応した部品のデータの通信量である画面通信量を用いて、対象装置に当該画面を表示させるためのプログラムの性能を推定し、推定の結果をディスプレイ、音声出力部、プリンタ等の出力部に出力させる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
ＰＬＣ１〜３のそれぞれは同様の構成を有する。ＰＬＣは、典型的には、プログラムを実行する主体であるＣＰＵ（Central Processing Unit）を有したＣＰＵユニット１０、ＣＰＵユニット１０などへ電力を供給する電源ユニット１２、フィールド機器と信号をやり取りするＩＯ（Input Output）ユニット１４とを含む。ＩＯユニット１４は、ＣＰＵユニット１０とシステムバス１１を介して接続される。典型的には、ＩＯユニット１４は、フィールド機器である検出センサ１５からの信号を取得し、またはＣＰＵユニット１０でのプログラムの実行結果に応じてフィールド機器であるリレー１６を駆動する。なお、フィールド機器は、ＦＡに関連した機器の一実施例であり、例えばＰＬＣ、検出センサ１５およびリレー１６を含むが、これらの機器に限定されない。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
（ＰＣ機器１００の構成）
図３は、実施の形態１にかかるＰＣ１００の構成を概略的に示す図である。図３を参照して、ＰＣ１００は、ＣＰＵ１１０、記憶部としてのメモリ１１２およびハードディスク１１４、計時し計時データをＣＰＵ１１０に出力するタイマ１１３、入力インターフェイス１１８、表示コントローラ１２０、通信インターフェイス１２４、データリーダ／ライタ１２６を含む。これらの各部は、バス１２８を介して互いにデータ通信が可能なように接続されている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
ＣＰＵ１１０は、ハードディスク１１４に格納されたプログラム（コード）を実行することで、各種の演算を実施する。メモリ１１２は、典型的には、ＤＲＡＭ（Dynamic  Random  Access  Memory）などの揮発性の記憶装置である。メモリ１１２は、ハードディスク１１４から読出されたプログラム・データに加えて、データリーダ／ライタ１２６から受信されたデータ、およびワークデータなどが格納される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
図９では、検出ページから、例えば変数PLC1_Comm_Short_Wが抽出されることが示される。また、図８の定義２２８によれば、変数抽出部３０は、変数PLC1_Comm_Short_Wについて、データ型は‘Short’および通信周期は‘500ｍsec’であることを取得する。変数抽出部３０は、図１０に示すように、検出ページから抽出した各変数について、変数名、データ型および通信周期を関連付ける。変数抽出部３０は、このように関連付けされた情報を記憶部に格納する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
例えば、ステップＳ４の処理により、検出ページの各変数について、変数名、データ型、通信周期、およびデータ量を関連付けた情報（図１１参照）が、記憶部９０に格納されている。実施の形態１では、Short型は２バイト、Integer(19)型（＝４バイト整数２０個の配列の型）ならば4×20＝８０バイト、およびBoolean型は１バイト（機器によっては１ビット）のように各データ長が予め定義されている。なお、構造体型等のユーザ定義型の変数のデータ量は、構造体の各メンバーのデータ量から計算される。実施の形態１では、ユーザ定義の構造体変数型であるMyStruct型は、Integer型のメンバーを１８個持つ構造体であるので、当該構造体変数のデータ量は4×18＝７２バイトと算出される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
＜ステップＳ７の処理＞
図１２は、実施の形態１にかかる表示中通信量の取得を説明するための図である。図１２の情報は、上述の処理により取得される。図１２によれば、検出ページに含まれる変数のうち、変数‘PLC1_Comm_Short_W’と‘テスト用変数’とは、変数のデータの読出し
要求は０．５秒毎に相手機器に送信され、同様に、変数‘MainSwitchStatus’と‘テスト用構造体変数’とは、変数のデータの読出し要求は０．１秒毎に相手機器に送信されることが示される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
まず、性能評価部６０による評価の処理を説明する。
上記に述べたように、検出ページの画面を表示開始する、または当該画面へ切替える時に要求される通信量は155バイトと取得されて、画面切替時間は155ｍｓと算出されている。実施の形態１では、画面切替時間の閾値は、例えば400ｍｓに設定されている。実験によれば、この閾値の時間は、多くのオペレータが「画面の表示開始が遅い、または切替が遅い」と感じ始める時間である。性能評価部６０は、検出ページについて、閾値を用いて（155ｍｓ＜400ｍｓ）の条件が成立すると判断する。性能評価部６０は、当該条件が成立するとき、すなわち検出ページについて取得された画面切替時間は十分に短いケースに該当する場合は、検出ページの性能に関する警告を表示しない。一方、性能評価部６０は、当該条件が成立しないときは、当該警告を表示する。