(57)【要約】【課題】プログラマブル表示装置（ＰＴ）の表示画面を自動的に作成すること【解決手段】自動画面生成ツール４０は、ＰＴの表示画面の基となるテンプレート画面データを記憶する記憶部４４と、テンプレート画面データを構成する個々の画面の管理情報を記憶する記憶部４３と、設定パラメータとそれらの割付アドレスとを関連付けたパラメータメモリ割付情報を記憶する記憶部４２並びにＦＡネットワークシステムを構成する機器についての機器構成情報（スレーブに接続される各機器のスレーブ番号，ユニット番号等）を記憶する記憶部４１にアクセス可能となる。機器構成情報と管理情報に基づき、所定のテンプレート画面データを必要枚数分複製するとともに、複製された画面データ内の画面を構成する部品の割付アドレスを、パラメータメモリ割付情報に基づいて変更することにより、各表示画面を構成する画面データを自動的に生成する機能を持つ。【選択図】　　　　図５
2004030345.tif 000002
【特許請求の範囲】
【請求項１】
ＦＡネットワークに接続されるプログラマブル表示装置の表示画面を作成する画面作成装置であって、
前記表示画面の基となるテンプレート画面データを記憶するテンプレート画面データ記憶手段と、
そのテンプレート画面データを構成する個々の画面の管理情報を記憶する画面管理情報記憶手段と、
設定パラメータとそれらの割付アドレスとを関連付けたパラメータメモリ割付情報並びにＦＡネットワークシステムを構成する機器についての機器構成情報を取得する取得手段と、
前記取得手段で取得した前記機器構成情報並びに、前記画面管理情報記憶手段に格納された前記管理情報に基づいて、所定の前記テンプレート画面データを必要枚数分複製するとともに、その複製された画面データ内の画面を構成する部品の割付アドレスを、前記パラメータメモリ割付情報に基づいて変更することにより、各表示画面を構成する画面データを自動的に生成する画面データ作成手段を備えたことを特徴とする画面作成装置。
【請求項２】
前記画面データ作成手段は、
前記機器情報に基づいて、機器構成をツリー構造のデータ群に加工する機器構成ツリー作成処理と、
その機器構成ツリー作成処理で作成したデータ群を構成する末端のリーフに対し、パラメータメモリ割付情報を設定するパラメータメモリ割付情報登録処理を実行する機能を備え、
それら各処理を実行後に、前記複製処理並びに前記割り付けアドレスの変更を行うようにしたことを特徴とする請求項１に記載の画面作成装置。
【請求項３】
前記表示画面は、各機器の情報を表示する詳細画面と、その詳細画面を呼び出すための呼出画面を含み、
前記呼出画面のテンプレート画面データには、画面を構成する前記部品として別の表示画面を呼び出すための画面切替ボタンを複数備え、
前記テンプレート画面データを複製して得られた画面データ内の前記画面切替ボタンのうち、未利用のものを削除する部品削除機能を備えたことを特徴とする請求項１または２に記載の画面作成装置。
【請求項４】
ＦＡネットワークに接続されるプログラマブル表示装置の表示画面を作成する画面作成装置用のプログラム製品であって、
前記表示画面の基となるテンプレート画面データを取得する処理と、
そのテンプレート画面データを構成する個々の画面の管理情報を取得する処理と、
設定パラメータとそれらの割付アドレスとを関連付けたパラメータメモリ割付情報を取得する処理と、
ＦＡネットワークシステムを構成する機器についての機器構成情報を取得する処理と、
前記取得した前記機器構成情報並びに、前記管理情報に基づいて、所定の前記テンプレート画面データを必要枚数分複製する処理と、
その複製された画面データ内の画面を構成する部品の割付アドレスを、前記パラメータメモリ割付情報に基づいて変更する処理を実行することにより、各表示画面を構成する画面データを自動的に生成するプログラム部分を持つことを特徴とするプログラム製品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブル表示装置の表示画面を作成することのできる画面作成装置及びプログラム製品に関するものである。
【０００２】
【従来の技術】
良く知られているように、ＦＡ（ファクトリーオートメーション）においては、ＰＬＣ（プログラマブルコントローラ）に直接或いはネットワークを介してＩ／Ｏ機器が接続され、ＰＬＣは、係るＩ／Ｏ機器のうち入力機器からの情報（入力データ）を取得し、演算処理を実行して出力機器への制御内容を決定し、その制御内容に対応する制御データ（ＯＮ／ＯＦＦ）を出力することにより、ＦＡシステム全体の制御を行うようになっている。
【０００３】
また、ＦＡネットワークの場合、ＰＬＣのメモリや、スレーブの各ユニットの情報その他の状態を表示させたり、ＰＬＣに対して各種の設定をすることができるプログラマブル表示器であるＰＴ（プログラマブルターミナル）を設け、ＦＡネットワークの管理・監視等を行うようにしたものがある。また、監視対象の情報は、Ｉ／Ｏ情報に限ることはなく、例えば温度調節器の設定温度と現在の温度のような情報でも良い。
【０００４】
当然のことながら、実際の作業時にＰＴを用いて監視等をするためには、その監視等をするための動作画面・メニュー画面を予め作成する必要がある。そして、そのＰＴの画面データを作成する場合に、従来以下の手法を用いて行っていた。
【０００５】
すなわち、プログラマブル表示器用の専用ソフトウェアを使用し、表示画面のレイアウトを作成する。つまり、表示画面内に、他の画面を呼び出すための選択ボタン領域や、監視するメモリ内容を表示する領域や、各領域に併記する文字等の構成要素（部品）を配置し、表示画面を作成する。さらに、実際にデータ等を表示するために、各部品に対して各種の設定項目を割り付ける。この設定項目の具体的な内容としては、例えば、呼び出し先（リンク先）の画面と関連づけるリンク情報であったり、監視対象の情報を呼び出す際に使用するＰＬＣメモリなどへの割付アドレス等がある。そして、従来は、上記した各部品を配置した画面の生成と、設定項目の登録を各画面毎に行っている。
【０００６】
なお、画面内の構成部品が同一な画面を複数枚作成するためには、画面編集用のソフトウェアを使用し、必要な画面を必要枚数分だけコピー　＆　ペーストした上で、各画面内に含まれる部品について割付アドレスなどの設定変更を手作業で行う。これにより、部品配置の処理を省略することはできる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記した従来の方法では、以下に示す各種の問題を有し、作業性が必ずしも良好とは言えなかった。すなわち、まず、画面データ作成工数が大きいと言う問題を有する。つまり、例えば、ある装置を複数使用し、装置毎に操作用画面を準備することを想定する。すなわち、それらの操作画面の部品構成は同一のため、画面自体は上記したコピー　＆　ペーストにより作成することができるものの、異なる操作画面間では各部品の割付アドレス（例えばボタンを押下した際にビットがＯＮされるＰＬＣメモリのアドレス）が異なる。従って、コピーした後、通信アドレスを一つ一つ修正する必要があり、煩雑である。
【０００８】
この発明は、プログラマブル表示装置の表示画面を自動的に作成することができる画面作成装置及びプログラム製品を提供することを目的とする。
【０００９】
【課題を解決するための手段】
この発明による画面作成装置は、ＦＡネットワークに接続されるプログラマブル表示装置の表示画面を作成する画面作成装置である。そして、前記表示画面の基となるテンプレート画面データを記憶するテンプレート画面データ記憶手段と、そのテンプレート画面データを構成する個々の画面の管理情報を記憶する画面管理情報記憶手段と、設定パラメータとそれらの割付アドレスとを関連付けたパラメータメモリ割付情報並びにＦＡネットワークシステムを構成する機器についての機器構成情報を取得する取得手段と、前記取得手段で取得した前記機器構成情報並びに、前記画面管理情報記憶手段に格納された前記管理情報に基づいて、所定の前記テンプレート画面データを必要枚数分複製するとともに、その複製された画面データ内の画面を構成する部品の割付アドレスを、前記パラメータメモリ割付情報に基づいて変更することにより、各表示画面を構成する画面データを自動的に生成する画面データ作成手段を備えて構成した。
【００１０】
本発明によれば、機器構成情報および画面管理情報に基づき、必要枚数の画面データを作成することができる。そのためユーザーは、画面データのコピー＆ペースト作業を行う必要がなくなる。しかも、パラメータメモリ割付情報に基づき、対象部品に対して各部品に応じた割付アドレスが自動的に設定されるため、画面データ内の各部品に対してアドレス設定作業を行わなくて済む。よって、自動的に各種の表示画面を生成することができる。
【００１１】
そして、好ましくは、前記画面データ作成手段は、前記機器情報に基づいて、機器構成をツリー構造のデータ群に加工する機器構成ツリー作成処理と、その機器構成ツリー作成処理で作成したデータ群を構成する末端のリーフに対し、パラメータメモリ割付情報を設定するパラメータメモリ割付情報登録処理を実行する機能を備え、それら各処理を実行後に、前記複製処理並びに前記割り付けアドレスの変更を行うようにすることである。ここで機器構成ツリー作成処理は、実施の形態では、図１３に示すステップ１を実行する機能に対応し、パラメータメモリ割付情報登録処理は図１３に示すステップ２を実行する機能に対応する。
【００１２】
さらに、前記表示画面は、各機器の情報を表示する詳細画面と、その詳細画面を呼び出すための呼出画面を含み、前記呼出画面のテンプレート画面データには、画面を構成する前記部品として別の表示画面を呼び出すための画面切替ボタンを複数備え、前記テンプレート画面データを複製して得られた画面データ内の前記画面切替ボタンのうち、未利用のものを削除する部品削除機能を備えるとよい。
【００１３】
ここで、呼出画面は、実施の形態では間接的に呼び出すメニュー画面と、直接詳細画面を呼び出す一覧画面の何れも含むものである。このように削除すると、リンクが張られていない画面切替ボタンが画面上存在しないため、未利用のボタンを誤って押すことが無くなるばかりでなく、見た目も綺麗になる。
【００１４】
そして、本発明に係るプログラム製品は、ＦＡネットワークに接続されるプログラマブル表示装置の表示画面を作成する画面作成装置用のプログラム製品であって、前記表示画面の基となるテンプレート画面データを取得する処理と、そのテンプレート画面データを構成する個々の画面の管理情報を取得する処理と、設定パラメータとそれらの割付アドレスとを関連付けたパラメータメモリ割付情報を取得する処理と、ＦＡネットワークシステムを構成する機器についての機器構成情報を取得する処理と、前記取得した前記機器構成情報並びに、前記管理情報に基づいて、所定の前記テンプレート画面データを必要枚数分複製する処理と、その複製された画面データ内の画面を構成する部品の割付アドレスを、前記パラメータメモリ割付情報に基づいて変更する処理を実行することにより、各表示画面を構成する画面データを自動的に生成するプログラム部分を持つように構成した。
【００１５】
【発明の実施の形態】
図１は、ＦＡネットワークシステムの一例を示している。図に示すように、ＰＬＣ（プログラマブルコントローラ）１０とスレーブ２０をデバイスネット（登録商標）等のフィールドネットワーク３０を介して接続したネットワークシステムを構築する。
【００１６】
ＰＬＣ１０は、複数のユニットから構成される。すなわち、ユーザプログラムを演算実行したり、Ｉ／Ｏリフレッシュや周辺処理をサイクリックに実行する機能を持つＣＰＵユニット１１や、電源ユニット１２や、入出力機器を接続するＩ／Ｏユニット１３や、上記したフィールドネットワーク３０に接続し、他の装置と通信を行うマスタユニット１４等がある。これらのユニットは、バスを介して接続される。もちろん、これらの他にもユニットは存在し、必要に応じて連結するユニットを増減する。
【００１７】
スレーブ２０は、複数のユニット２１を備え、そのユニット２１に、センサやリレーその他の各種入出力機器が連結されている。これにより、例えばスレーブに接続された入力機器（スイッチやセンサなど）で検出したセンシング情報がフィールドネットワーク３０を介してＰＬＣ１０に取り込まれる。
【００１８】
そして、ＰＬＣ１０は、取得したセンシング情報に基づいて動作すべき出力機器の制御内容を決定し、出力機器（リレーやバルブ、アクチュエータなど）に対して制御命令を送るようになっている。また、温度調節器なども接続される。また、本実施の形態では、各ユニット２１は、それぞれ２チャネル（ＣＨ，２ＣＨ）を有する。そして、各チャネルの特定は、ネットワーク上のスレーブを特定するためのスレーブ番号と、各スレーブ上のユニットを特定するためのユニット番号と、そのユニットにおけるチャネル番号を指定することにより行われる。
【００１９】
つまり、ネットワーク構成から見ると、まず、各スレーブ単位で一まとまりとなっており、各スレーブは、複数のユニットの集合体であり、その各ユニットにはチャネルが２つずつ存在する。従って、フィールドネットワーク３０を０階層とすると、各スレーブは第１階層となり、ユニットが第２階層となり、チャネルは第３階層というようにツリー上に展開されることになる。
【００２０】
一方、実際のＦＡネットワークが設置される生産工場の現場においては、例えば、複数の工程Ａ，Ｂ，Ｃ，…を経てある製品を完成するシステムの場合、各工程単位で動作状況をチェックしたいという要求がある。係る場合、例えば工程Ａを行う設備の制御を行う入出力機器等は、スレーブ＃１の０番から３番までのユニットの各チャネルに接続され、工程Ｂを行う設備の制御を行う入出力機器等は、スレーブ＃１の４番，５番とスレーブ＃２の０番から２番のユニットの各チャネルに接続される。このように、実際の工程単位でのユニットの集合と、上記したネットワークにおけるハード的なスレーブ単位でのユニットの集合とは必ずしも一致しない。
【００２１】
また、各工程単位に着目すると、１つの工程内でもより小さい単位での複数の工程・機能に分解することができる。従って、ある工程或いはそれをさらに細かく分けた工程をそれぞれ機能とし、各工程に属する機器ひいてはその機器が接続されるユニットのチャネルをグループとしてとらえた場合、各機能にもレベル付けをすることができる。つまり、上記した例では、最初にグループ分けした工程Ａ，Ｂ，Ｃ，…が最上位の機能レベル１となり、各工程において、次に細分化したグループがあると、それが機能レベル２のグループとなる。以下、同様である。
【００２２】
従って、機能に着目した場合も、階層的に表すことができ、各グループに属するユニットのチャネルをその機能の階層（機能レベル）に合わせてツリー上に表現することができる。
【００２３】
一方、図１に示すように、ＰＬＣ１０にはＲＳ２３２Ｃなどのシリアル通信を介してプログラマブル表示装置であるＰＴ（プログラマブルターミナル）３５が接続される。このＰＴ３５は、プログラマブル表示器とも称され、各ユニットの情報その他の状態を表示させたり、ＰＬＣに対して各種の設定をすることができる。
【００２４】
また、このＰＴ３５の表示画面について簡単に説明すると、図２から図４に示すように、作成する画面データに含まれる画面は（１）メニュー画面、（２）一覧画面、（３）詳細画面の３種類に分けられることを前提としている。この（３）の詳細画面が、１つのユニット或いは１つのチャネルひいてはそのチャネルに接続された機器の情報・状態を表示する画面である。従って、詳細画面は、機器の数だけ存在することになる。そして、メニュー画面や一覧画面中の選択ボタンを押下することにより、最終的に目的の詳細画面に至るようにする。
【００２５】
つまり、メニュー画面には、全体を複数のグループに区分けした場合の各グループ（ゾーン）を選択するもので、図２の例では、６つのゾーンが用意された例を示している。
【００２６】
各ゾーンに属する機器（ユニット・チャネル）の一覧表を表示するのが、一覧画面である。従って、例えば、図２のメニュー画面において、ゾーン１を選択すると、そのゾーン１に属する機器が全て表示される（図３参照）。もちろん、１つの画面に表示される個数は決まっているので、ゾーン１に属する機器の数が当該個数よりも多い場合には、複数枚の画面を用いて表示される。よって、各ゾーン毎にこのような一覧画面が作成される。
【００２７】
そして、係るメニュー画面→一覧画面→詳細画面へ至る経路は、上記したツリーに合わせると、画面間でのリンクのはり方が容易に行えるので好ましい。さらに、利用するツリーであるが、利用者の使用時の便宜を考えると、機能に着目したツリーを用いるのが良い。
【００２８】
なお、上記した例は、最も単純なツリー構造のものに対するもので、メニュー画面で区分けされた各ゾーン（機能レベル１）の下に各機器（ユニット）が割り付けられたため、メニュー画面の次が一覧画面となったが、例えばある１つのゾーンが複数のグループにさらに分割されているような場合には、当該ゾーンを選択すると、それら複数のグループを区分けするためのメニュー画面（図２における機能レベルよりも１つ下の機能レベル用のもの）に飛び、そこにおいて目的のグループ（一種の細分化されたゾーン）を選択することにより、図３に示すような機能一覧画面に至る経路もありえる。そして、機能レベルの階層に応じてメニュー画面も階層化される。
【００２９】
ここで本発明に係るツール（支援装置）は、上記した実際の機能に応じたツリーにあわせた表示画面を自動的に作成するものである。まず、概略を説明すると、上記した機能に着目した場合、「メニュー画面」は、機器構成情報のグループに応じて作成される。つまり、グループのレベル毎に階層構造を持つメニュー画面群である。また、「一覧画面」は、最下位のメニュー画面から遷移する画面で、同じグループに属する複数の機器用の画面となる。さらに、「詳細画面」は、一覧画面から属している機器を選択することにより遷移する画面で、その機器に関する情報を一覧画面よりも詳細に表示している画面となる。
【００３０】
そして、ＦＡネットワークを構成する各機器の構成情報、つまり、ネットワークに接続されたどのスレーブのどのユニットの何チャネルに接続されるかのネットワークシステムにおけるハード的な構成情報と、複数のグループのうちのどれに属する機器かを特定する論理的な構成情報に基づいて、機器構成を階層的に表したツリー構造のデータ群に加工する。このツリー構造に基づき、上記した３種類の画面各階層に対応する画面をどのように割り付ければ良いかを特定する。さらに、各画面に属するグループ数や機器の数などから、当該画面の必要枚数を算出する。一方、各画面のテンプレートを予め用意しておく。これにより、そのテンプレートを用いて、上記算出した必要枚数分複製することにより、ツリー構造に対応する画面を用意する。
【００３１】
さらに、ハード的な構成情報と論理的な構成情報に基づいて、画面間のリンク、つまり、例えば図２におけるメニュー画面中の各画面切替ボタンＢ１と、その画面切替ボタンＢ１を選択したときに呼び出される画面（一覧画面，他のメニュー画面）の紐付けや、一覧画面と詳細画面との紐付けを自動的に行い、さらに、各機器のパラメータメモリ割付情報（スレーブ番号，ユニット番号，チャネル番号，パラメータ，ＩＯアドレスなど）に従って、詳細画面中の所定領域に表示するデータの参照先アドレスなどを、割り付ける。これにより、必要な画面が自動的に生成される。
【００３２】
また、係る画面データ自動生成処理は、同一の機器を複数使用されているあるシステムにおいて、機器の使用数と機器の階層構成から、メニュー画面や一覧画面、詳細画面と呼んでいる各機器の操作／モニタ画面の必要枚数を判定し、画面データを複製する機能である。
【００３３】
上記した機能を実現するためのツール装置は、図５に示すようになっている。つまり、自動画面生成ツール４０は、上記したように外部の各種記憶部の情報を取得し、各画面を生成するものである。この自動画面生成ツール４０は、図１ではＲＳ２３２Ｃなどのシリアル通信によりＰＴ３５に直接接続し、作成した画面を通信によってＰＴ３５に登録するようになっているが、本発明はこれに限ることはなく、イーサネット（登録商標）などのＬＡＮを介してＰＴ３５に接続するようにしても良い。また、自動画面作成ツール４０において作成した画面データをメモリカードなどの記録媒体に一旦保存し、その記録媒体をＰＴ３５に装着し、その記録媒体から画面データを読み出し、登録するようにしても良い。さらには、係る自動画面生成ツール４０の機能をＰＴ３５の１つの機能として組み込むようにしても良い。
【００３４】
一方、情報の取得元となる記憶部としては、機器構成情報記憶部４１と、パラメータメモリ割付情報記憶部４２と、画面管理情報記憶部４３並びにテンプレート画面データ記憶部４４がある。各記憶部４１〜４４は、本発明用に設けても良いし、例えば機器構成情報記憶部４１やパラメータメモリ割付情報記憶部４２など、別の用途のために用意されているものがある場合には、それを利用しても良い。
【００３５】
機器構成情報記憶部４１は、システムを構成する機器の階層構造をまとめたもので、一行がある機器に該当する。そして、情報には機器の物理的な構成番号を示す情報と、機器を論理的な構成番号を示す情報が含まれている。つまり、物理的な構成情報には、例えば「スレーブ番号」，「ユニット番号」，「チャネル番号」などの複数階層レベルの機器番号などの情報が含まれる。係る物理的な構成情報は、フィールドネットワーク３０に接続されたコンフィグレータからの情報を元に生成することができる。
【００３６】
さらに、論理的な構成情報には、例えば「機能レベル１」、「機能レベル２」，……などの複数階層レベルの機能に分類するための情報が含まれている。この論理的な構成情報は、システムのユーザーが編集する情報で、物理的に構成されている機器を、ユーザーの用途に合わせて複数階層の機能レベル（グループ）に分類するために使用する。そして、具体的な内部データ構造としては、図６に示すように、＜スレーブ番号＞，＜ユニット番号＞，＜チャネル番号＞，＜機能グループ１＞，＜機能グループ２＞，……の順に並べたデータとする。
【００３７】
つまり、１行目は、スレーブ番号が＃１のスレーブにおけるユニット番号が＃１のユニットの１番のチャネルに接続される機器は、ゾーン１に属することがわかる。また、この図６から明らかなように、機能レベルの欄は、工程，機能，エリアなどのユーザが論理的に分けたグループを識別するための名称を登録する。数字に限ることは無く、任意の文字列により登録することができる。この例では、エリアを特定することから、「ゾーン番号」でグループ分けをしている。これは、図２の例にも対応している。そして、この機器構成情報は、機器の数だけ存在する。また、この図６では、論理的な構成情報としては、機能レベル１のみ設定された単純な例を示しているが、レベル２以降が存在する場合ももちろんある。
【００３８】
パラメータメモリ割付情報記憶部４２は、対象の装置に含まれる各機器の各パラメータに対する割付メモリアドレスの対比表を格納した記憶部である。図７に示すように、機器のスレーブ番号，ユニット番号，チャネル番号，パラメータ名称及び対応するデータが格納されるＩＯアドレスを関連付けたテーブルとなっている。
【００３９】
また、画面管理情報記憶部４３は、テンプレート画面データを構成する各画面に関する補助情報を格納するもので、例えば、図８に示すようなデータ構造で管理される。ここで、本ファイルでは、１行の情報がある１つの画面に対応している。そして、格納する情報は、機能レベル，対象画面データファイル名及び、その画面が管理することができる対象機能グループの数（管理数）の３種類である。
【００４０】
機能レベルは、画面管理情報で設定した機能レベルに対応するものである。そして、この機能レベル欄には、機能レベルを表わす数字の他に、一覧画面を表わす「Ｓ」並びに詳細画面を表わす「Ｄ１」〜「Ｄ１０」が用いられる。なお、Ｄｎの添え字ｎは、詳細画面のパターンの種類に対応するものであり、対応する詳細画面のパターンが多い場合には、添え字の数も増える。
【００４１】
一例を示すと、図８における１行目は、機能レベルが「１」であるので、メニュー画面であることが分かり、さらに、その画面の管理数が、「４」であるので、当該画面の内容としては、下位階層の画面への画面切替ボタンを４個備えて構成されるものである。
【００４２】
同様に、２行目は、機能レベルが「Ｓ」であるので、一覧画面についての画面管理情報であり、管理数が「４」であることから、当該画面の内容としては、１つの画面中に、詳細画面への画面切替ボタンを４個備えて構成されるものである。
【００４３】
さらに、３行目は、機能レベルが「Ｄ１」であるので、詳細画面についての画面管理情報である。そして、詳細画面は、各機器ごとに設定されるものであるので、管理数が「１」となり、係る１つの機器についての情報が表示されるようになる。
【００４４】
テンプレート画面データ記憶部４４は、上記した３種類の画面のもととなるテンプレート画面データを格納するものである。テンプレート画面データは、画面管理情報にあるように、それぞれ機能レベルに対応した所定枚数の画面から構成される。テンプレートであるので、同一種類の画面データは１つ用意される。具体的には、最終的に作成される画面レイアウト、つまり、画面切替ボタンや、各コメント等の画面を構成する部品の配置情報（部品の種類と位置等）を定めたデータである。
【００４５】
そして、コメントは、相対番号とパラメータ名称を関連付けたコメント情報テーブル（図９参照）を用意しておき、テンプレート上では係る相対番号を用いて定義する。つまり、このコメント情報は、テンプレート画面データの各画面内の部品と、パラメータメモリ割付情報内の情報を関連付けるためのもので、パラメータ名称をキーにして関連付ける。そして、相対番号は一つの画面内に複数の同一パラメータ名称に関連付けられた部品が存在する場合に、それら同一パラメータの部品を区別するために使用される。従って、相対番号の数は、１つの画面内に存在する部品の総数となる。
【００４６】
そして、コメント情報を用いて定義付けされたテンプレートの一例としては、図１０から図１２に示すようなものがある。これらは、それぞれ図２から図４に示した各画面に対応するテンプレートである。
【００４７】
つまり、図１０は、メニュー画面用のテンプレートであり、４つの矩形領域が、部品の一種である画面切替ボタンである。このテンプレート画面データのコメント情報としては、相対番号が１〜４となり、各相対番号には画面切替ボタンを表すパラメータ名称が割り付けられる。そして、この図１０に示すテンプレート画面データと、図８に示す画面管理情報の１行目のデータ等に基づいて、図２に示すメニュー画面が形成される。なお、図２のようにゾーン数が６個とすると、図１０に示すテンプレートを２枚複写し、１枚目の複写画面で４つのゾーン（ゾーン１〜ゾーン４）を割り付け、２枚目の複写画面で残りの２つのゾーン（ゾーン５，ゾーン６）を割り付けるようにする。そして、２枚目の複写画面では、不要となった２つの部品を削除することにより、図２（ｂ）に示すように、２つの画面切替ボタンＢ１のみが配置された画面が生成される。
【００４８】
また、図１１は、一覧画面用のテンプレートであり、ここでも４つの矩形領域として、部品の一種である画面切替ボタンＢ２が設定され、さらに別のコメントも貼り付けられる。そして、係るテンプレート画面データを１枚複製するとともに、所定の情報を関連付けることで、図３に示すような一覧画面を生成することができる。そして、ゾーン１に属する機器が３つの場合、テンプレート画面から１つ分を削除することにより形成している。
【００４９】
さらに、図１２は、詳細画面用のテンプレートである。そして、係るテンプレート画面データを１枚複製するとともに、所定の情報を関連付けることで、図４に示すような詳細画面を生成することができる。
【００５０】
そして、自動画面生成ツール４０では、上記した各記憶部から必要な情報を収集し、各画面データを作成するもので、概略の構成は、図１３に示すフローチャートを実施する機能を有する。
【００５１】
すなわち、まず、機器構成ツリー作成処理を行う（ＳＴ１）。つまり、機器構成情報記憶部４１から、機器構成情報を読み出し、機器構成をツリー構造のデータ群に加工する。次いで、パラメータメモリ割付情報登録処理を行う（ＳＴ２）。すなわち、パラメータメモリ割付情報記憶部４２にアクセスし、ステップ１を実行して得られたツリー構造を構成する各ノードに対し、必要な情報の割付を行う。そして、画面複製・設定処理を実行し、所望のテンプレート画面データを複製するとともに、その複製した複製画面に必要な情報を設定することにより、各ノードに合わせた表示画面を作成する（ＳＴ３）。
【００５２】
つまり、前の２つの処理において、「機器構成情報」並びに「パラメータメモリ割付情報」の入力情報を、ソフトウェア内部で扱いやすいように加工しておき、最後の処理において、他の「画面管理情報」，「テンプレート画面データ」とともに、画面を複製することにより、各画面に応じた情報を備えた画面を自動生成するようになる。そして、上記した各処理ステップの具体的なアルゴリズムは以下の通りである。
【００５３】
まず、ステップ１の機器構成ツリー作成処理は、システムを構成する各機器を、機能毎にグループ分けして階層化して表現される図１４に示すようなツリー構造を作成するものである。このツリー内の各ノードが、各機能グループに該当し、末端のリーフは、各機器（スレーブに備えたユニットのチャネル）に対応するもので、機器構成情報のレコード数分存在する。なお、図において、末端のリーフに標記されたハイフンで連結された３つの番号は、その機器が接続されるチャネルを特定する物理構成情報（物理アドレス）、つまり、スレーブ番号−ユニット番号−チャネル番号である。また、末端のリーフよりも上位階層のノードは、各機能レベルに属するグループに対応する。
【００５４】
そして、係るツリーを作成するための具体的なアルゴリズムは、図１５，図１６に示すフローチャートのようになっている。すなわち、まずルートノードを作成する（ＳＴ１１）。各ノードは、このルートノードから適宜分岐された経路上に配置される。
【００５５】
次に、機器構成情報記憶部４１にアクセスし、機器構成情報をレコード毎（一行毎）に順次読み込む（ＳＴ１２）。そして、ステップ１１で作成したルートノードに移動し（ＳＴ１３）、子ノード作成処理のループ（ＳＴ１４，ＳＴ１５）を実行する。つまり、まず子ノードを作成し（ＳＴ１４）、その後作成した子ノードに移動する（ＳＴ１５）。なお、本明細書に添付した図面のフローチャート中に存在するループの条件は、そのループの継続条件を記載している。従って、ルートノード作成（ＳＴ１１）の次に行われる「レコード処理」は、「レコードあり」となっているので、レコードが無くなるまでステップ１２から１７までの処理を繰り返し実行する。また、「子ノード作成」の場合、機能レベルが残っている場合、つまり、現在のノードよりも下位の階層が存在する場合には、ループ内の処理（ステップ１４，１５）を実行することになる。
【００５６】
つまり、子ノードを作成し、その作成した子ノードに移動し、その移動後の子ノードのさらに下位の階層が存在する（機能レベルが残っている）場合に、その下にさらに子ノードを作成する。また、下位に続くノードがない場合、つまり、その下には末端のリーフが接続される場合には、現在の子ノードに至った経路を１つずつ逆に辿り、１つ上のノードに戻り、別の子ノードが存在する場合には、そのノードの下に新たに子ノードを作成する。そして、接続される子ノードが無い場合には、さらに１つ上位に戻り、接続される子ノードの有無を判断する。
【００５７】
このノードの検索・作成手順の一例を示すと、図１７のようになる。つまり、ルートノードを出発点とし、まず「ノード１」が子ノードに設定され、その「ノード１」の下に「ノード２」が子ノードとして設定され、さらに、「ノード２」の下に「ノード３」が子ノードとして設定される。
【００５８】
「ノード３」に続く下の機能レベルのノードが存在しない場合、１つ上の「ノード２」に戻り、その「ノード２」の下位に続く別の子ノードがないか調べ、図１７に示す例では、「ノード４」が存在したため、ノード２の子ノードとして「ノード４」を設定する。
【００５９】
この「ノード４」よりも下位の機能レベルのノードがない場合には、順次接続されている上位のノードに戻る。つまり、「ノード２」→「ノード１」→「ルートノード」に至る。そして、ルートノードの下に、「ノード５」が子ノードとして作成され、さらに、その下に「ノード６」→「ノード７」が子ノードとして作成される。この例では、ノード７の下にはノードがないので、「ノード６」→「ノード５」と戻り、その「ノード５」の下に「ノード８」が子ノードとして作成される。このように、適宜移動しながら全てのノードを、ルートノードを頂点としたツリー構造で表現する。
【００６０】
上記の処理をステップ１４のノード作成処理とステップ１５の子ノードへの移動処理を繰り返し実行することにより行うが、ステップ１４のさらに具体的なアルゴリズムとしては、図１６に示すフローチャートを実行することにより実現できる。つまり、機器構成情報の機能レベルをサーチする（ＳＴ２１）。そして、子ノードが存在した場合には（ステップ２２でＹｅｓ）、戻り値を現在の子ノードのポインタに設定する（ＳＴ２６）。このように戻り値を設定した状態で、ステップ１５を実行し、発見した子ノードに移動する。つまり、図１７の例で言うと、現在の子ノードが「ノード１」とすると、子ノードとしてノード２が存在するので戻り値を「ノード１」に設定した状態で「ノード２」に移動することになる。このように、戻り値を設定しておくことにより、子ノードが存在しない場合に上位の階層のノードに戻ることができる。
【００６１】
一方、子ノードが発見できない場合（ステップ２２でＮｏ）には、新規ノードを作成し（ＳＴ２３）、その作成した新規ノードを子ノードに登録するとともに、その新規に作成した子ノードのポインタを戻り値に設定する（ＳＴ２３から２５）。そして、このように戻り値を設定した状態で、ステップ１５を実行し、新規に作成した子ノードに移動する。
【００６２】
そして、全てのノードの配置が完成したならば、子ノード作成のループから出て、最下層の子ノードの下にリーフを作成する（ステップ１６）。つまり、図１４の例で言うと、ルートノードの下にまずゾーン１が作成され、本例では、ゾーン１より下位の階層はない（機能レベルは１のみ）ので、そのゾーン１の下にリーフが作成される。そして、作成されたリーフに対し、物理構成情報（スレーブ番号−ユニット番号−チャネル番号）を登録する（ＳＴ１７）。
【００６３】
図１３に示すステップ２のパラメータメモリ割付情報登録処理は、具体的には、図１８に示すフローチャートを実施するようになる。すなわち、本処理では、パラメータメモリ割付情報に含まれている全情報を、各装置・機器（物理的な構成情報で識別できる）毎に分解し、その部分情報を装置に対応する末端のリーフ内のテーブルに登録するものである。この処理を行うことにより、ある機器に対応するパラメータのメモリ割付アドレスは、該当するリーフ内を検索することにより、得ることができる。
【００６４】
具体的には、まず、パラメータメモリ割付情報記憶部４２にアクセスし、パラメータメモリ割付情報をレコード毎（一行毎）に順次読み込む（ＳＴ３１）。そして、スレーブ番号−ユニット番号−チャネル番号からなる物理構成情報を取得する（ＳＴ３２）。次いで、その取得した物理構成情報をキーにして、ステップ１を実行して得られたツリー構造における該当リーフを検索する。すなわち、ステップ１、より具体的にはステップ１７を実行することにより各リーフに物理構成情報を登録しているので、取得した物理構成情報に一致するリーフの有無を判断する。そして、該当リーフがない（ステップ３４でＮｏ）場合には、ステップ３１に戻り、次のレコードに対し上記の処理を行う。
【００６５】
そして、該当するリーフを検出したならば（ステップ４でＹｅｓ）、係る検出したリーフに対し、パラメータ名称とメモリアドレスの組をテーブルに登録する。このパラメータ名称等は、ステップ３１で読み込んだパラメータメモリ割付情報に含まれているので、それを所定のテーブルに格納することにより、本ステップを実行することができる。上記処理を全てのレコードに対し実行する。
【００６６】
図１４に示したツリー構造のものに対し、上記したパラメータメモリ割付情報登録処理を実行すると、図１９に示すように、各リーフに対応するパラメータの通信アドレスが設定される。
【００６７】
このようにしてパラメータメモリ割付情報の登録が済むと、各画面の作成処理（複製・設定処理）を実行することになる。ここでは、前処理で作成したツリー構成の情報と、テンプレート画面データ並びに画面管理情報を元に、必要画面数の画面作成および部品のアドレス設定などを行う。そして、具体的には、図２０以降のフローチャートを実施する。図２０，図２１は、画面複製・設定処理のメインフローチャート部分であり、このフローチャート内の処理は、ルートノードから開始し、全ノード（末端のリーフは含まない）を対象に再帰的にメニュー画面群を作成する処理を示している。
【００６８】
まず、再帰的に処理を行うため、処理対象の機能グループレベル（機能レベル）を保存する。そして、初期値は０である。そこで、まず機能レベルを１加算し（ＳＴ４１）、現在の機能レベル（最初は１）に該当するノードが存在するか否かを判断する（ＳＴ４２）。
【００６９】
該当するノードが存在する場合には、機能レベルに対応したテンプレート画面をコピーした後、その画面で扱える管理数分のノードを処理し、管理数を超える場合には新規にテンプレート画面をコピーすることを、ノードがなくなるまで繰り返す（ＳＴ４３からＳＴ４８）。
【００７０】
つまり、対応するテンプレート画面データをコピーする（ＳＴ４３）。そして、そのテンプレート画面の１枚の複写画面で扱うノードの管理数を取得する（ＳＴ４４）。これは、画面管理情報記憶部に格納された管理数から取得できる。ついで、子ノード数カウンタ用カウンタをリセットする（ＳＴ４５）。
【００７１】
その後、子ノード処理のループに移行し、１つの子ノードに対する処理を実行する都度、子ノード数カウント用カウンタを１インクリメントする（ＳＴ４７）。そして、１つの画面で扱える管理数分のノードを処理したならば、新規にテンプレート画面をコピーし、残りのノードの処理を実行する。図１９に示したツリーの場合、機能レベル１に属するグループ（ノード）がゾーン１から６までの合計６個存在し、テンプレート画面の管理数は「４」であるので（図８参照）、１枚目のコピーした複写画面では、ゾーン１からゾーン４まで処理される。ここでの処理は、テンプレート中に存在する各部品に対し、順番に処理対象のノードに関する情報を貼り付けることである。機能レベル１のテンプレート画面データは、図１０に示すように、所定位置に４個の画面切替ボタンが存在するものであるので、例えば、相対番号（図９のコメント情報参照）の１番から順に、処理対象となったノードの順番に割り当てる。これにより、図２（ａ）のように、各画面切替ボタンの領域内に、各ノードを特定する情報（ゾーン１，ゾーン２，…）が標記された画面が生成される。
【００７２】
そして、２枚目の複写画面に対するノード処理を実行すると、ゾーン５，ゾーン６の２つのノードに対する処理（画面切替ボタンへの設定）を終了する（このときの子ノード数カウント用カウンタのカウンタ値は、２となっている）と、子ノードが無くなるので、このノード処理のループを抜け、ステップ４８の部品削除処理を行う。
【００７３】
この部品削除処理は、図２２に示すように、カウンタのカウント値（上記の場合は「２」）が、管理数未満の場合に実行されるもので、ノード処理が行われなかった部品を削除する。これにより、図１９に示すツリーの場合には、テンプレート画面にあった下側の２つの画面切替ボタンは削除され、図２（ｂ）に示すように、ゾーン５，６のための２つの画面切替ボタンのみが残った画面が作成される。
【００７４】
そして、上記した画面複製・設定処理についての再帰処理の中で、子ノードを持たないノードに辿り着くと、［ノード処理］のループを抜け、機能レベルを１減算した後（ＳＴ４９）、そのノードの子リーフを対象とした一覧／詳細画面作成処理に進む（ＳＴ５０）。
【００７５】
この一覧／詳細画面作成処理は、具体的には、図２３，図２４に示すフローチャートを実行するようになっている。つまり、このフローチャートでは、前の処理に引き続き、リーフだけを持つノードに対して処理を行ない、一覧画面の作成を行う。そして、一覧画面の作成では、前のメニュー画面の作成と同様に、管理数に応じて画面のコピー処理を行う。
【００７６】
つまり、先頭ノード／リーフへ移動し（ＳＴ５１）、リーフ処理のループを実行する。つまり、リーフがあるか否かを判断し（ＳＴ５２）、リーフが存在する場合には、一覧画面用のテンプレート画面をコピーするとともに、管理数を取得する（ＳＴ５３，ＳＴ５４）。そして、カウンタをリセットする（ＳＴ５５）。
【００７７】
そして、検出された各リーフに対して順番に処理をする。つまり、一覧画面中に存在する所定の部品に対する設定を行うとともに、そのリーフについてステップ５６の詳細画面作成処理をする。処理対処のリーフに対する処理を終了すると、カウンタを１インクリメントし、次のリーフに対する処理を実行する。
【００７８】
そして、ノードに接続されるリーフの数が管理数を越える場合には、管理数分のリーフの処理を実行したならば、ステップ５３の一覧画面のコピーを再度行うとともに、上記処理を繰り返し実行する。
【００７９】
そして、最後の画面に対しては、カウンタ値が管理数未満の場合には、未使用の部品が存在するため、係る不要な部品の削除を行う（ＳＴ５８）。この部品削除処理は、図２２に示すフローチャートと同様である。
【００８０】
その後、画面切替ボタンの設定変更処理を行う（ＳＴ５９）。この処理は、画面データに含まれる部品のうち、画面切替ボタンに対して、切替え先画面番号を設定する処理である。そして、画面切替ボタンのコメントに特定の定義文字列を設定しておくことにより、その文字列に応じて、該当する画面番号を設定する。
【００８１】
定義済文字列としては、以下のものがある。
＄ｔｏｐ＄　　　　先頭画面
＄ｐａｒｅｎｔ＄　親画面（ノード／リーフの親子関係による。）
＄ｃｈｉｌｄ＄　　子画面（ノード／リーフの親子関係による。）
＄ｐｒｅｖ＄　　　同一機能レベルの前画面
＄ｎｅｘｔ＄　　　同一機能レベルの次画面
係る処理を実行することにより、画面同士のリンク，紐付けが行われ、画面切替ボタンをクリックすることにより、対応する画面が読み出されて表示されるようになる。
【００８２】
また、ステップ５６の詳細画面の作成処理は、具体的には図２５並びに図２６に示すフローチャートを実行する。つまり、まず各リーフ毎に登録されている詳細レベル数分の画面をコピーして作成する（ＳＴ６１）。次いで、各画面内の部品に対し、リーフの物理的な構成情報に基づいてメモリ割付を変更する（ＳＴ６２）。その後、画面切替ボタンの設定変更を行う（ＳＴ６３）。この設定変更処理は、図２３のステップ５９と同様である。
【００８３】
また、上記したステップ６２の部品のメモリ割付処理は、具体的には図２６に示すフローチャートを実行する。つまり、部品コメントを取得し（ＳＴ７１）、リーフに登録されているパラメータについて、部品のコメントと一致するかどうか比較を行ない（ＳＴ７２）、合致した部品について、そのアドレス情報を書き換える（ＳＴ７３から７５）。そして、処理対象を次の登録パラメータに移行し（ＳＴ７６）、当該登録パラメータに対して上記と同様の処理をする。これを繰り返すことにより、最終的に全ての登録パラメータに対して処理をする。
【００８４】
なおまた、上記した各図に示すフローチャートを実行する機能は、本実施の形態ではアプリケーションプログラム（プログラム製品）で構成され、自動画面生成ツールであるコンピュータ（パソコン）にインストールされ、そのＣＰＵにおいて、各処理部となって稼働する。また、各種記憶部に記憶されるべき情報も、上記プログラム製品として、或いはプログラム製品とともに供給されるようにしてもよい。
【００８５】
【発明の効果】
以上のように、この発明では、プログラマブル表示装置の表示画面を自動的に作成することができる。従って、ユーザの作成労力が軽減されるとともに、実際のシステムの通りに設定することができる。
【図面の簡単な説明】
【図１】ＦＡネットワークシステムの一例を示す図である。
【図２】プログラマブル表示装置の表示画面（メニュー画面）の一例を示す図である。
【図３】プログラマブル表示装置の表示画面（一覧画面）の一例を示す図である。
【図４】プログラマブル表示装置の表示画面（詳細画面）の一例を示す図である。
【図５】本発明に係る画面作成装置である自動画面生成ツールの一実施の形態を示す図である。
【図６】機器構成情報記憶部のデータ構造の一例を示す図である。
【図７】パラメータメモリ割付情報記憶部のデータ構造の一例を示す図である。
【図８】画像管理情報記憶部のデータ構造の一例を示す図である。
【図９】コメント情報のデータ構造の一例を示す図である。
【図１０】テンプレート画面データ（メニュー画面）の一例を示す図である。
【図１１】テンプレート画面データ（一覧画面）の一例を示す図である。
【図１２】テンプレート画面データ（詳細画面）の一例を示す図である。
【図１３】自動画面生成ツールの機能を説明するフローチャートである。
【図１４】作成される機器構成ツリーの一例を示す図である。
【図１５】機器構成ツリー作成処理の具体的なアルゴリズムを説明するフローチャートである。
【図１６】機器構成ツリー作成処理の具体的なアルゴリズムを説明するフローチャートである。
【図１７】作成される機器構成ツリーの一例を示す図である。
【図１８】パラメータメモリ割付情報登録処理の具体的なアルゴリズムを説明するフローチャートである。
【図１９】作成される機器構成ツリーの一例を示す図である。
【図２０】画像複製設定処理の具体的なアルゴリズムを説明するフローチャート（その１）である。
【図２１】画像複製設定処理の具体的なアルゴリズムを説明するフローチャート（その２）である。
【図２２】部品削除処理の具体的なアルゴリズムを説明するフローチャートである。
【図２３】一覧／詳細画面作成処理の具体的なアルゴリズムを説明するフローチャート（その１）である。
【図２４】一覧／詳細画面作成処理の具体的なアルゴリズムを説明するフローチャート（その２）である。
【図２５】詳細画面作成処理の具体的なアルゴリズムを説明するフローチャートである。
【図２６】部品メモリ割付変更処理の具体的なアルゴリズムを説明するフローチャートである。
【符号の説明】
１０　ＰＬＣ
１１　ＣＰＵユニット
１２　電源ユニット
１３　Ｉ／Ｏユニット
１４　マスタユニット
２０　スレーブ
２１　ユニット
３０　フィールドネットワーク
３５　ＰＴ
４０　自動画面生成ツール
４１　機器構成情報記憶部
４２　パラメータメモリ割付情報記憶部
４３　画面管理情報記憶部
４４　テンプレート画面データ記憶部
【図１】
2004030345.tif 000003
【図２】
2004030345.tif 000004
【図３】
2004030345.tif 000005
【図４】
2004030345.tif 000006
【図５】
2004030345.tif 000007
【図６】
2004030345.tif 000008
【図７】
2004030345.tif 000009
【図８】
2004030345.tif 000010
【図９】
2004030345.tif 000011
【図１０】
2004030345.tif 000012
【図１１】
2004030345.tif 000013
【図１２】
2004030345.tif 000014
【図１３】
2004030345.tif 000015
【図１４】
2004030345.tif 000016
【図１５】
2004030345.tif 000017
【図１６】
2004030345.tif 000018
【図１７】
2004030345.tif 000019
【図１８】
2004030345.tif 000020
【図１９】
2004030345.tif 000021
【図２０】
2004030345.tif 000022
【図２１】
2004030345.tif 000023
【図２２】
2004030345.tif 000024
【図２３】
2004030345.tif 000025
【図２４】
2004030345.tif 000026
【図２５】
2004030345.tif 000027
【図２６】
2004030345.tif 000028