(57)【特許請求の範囲】
【請求項１】
情報を不揮発に記憶するデータ記憶部と外部記憶媒体とを有し、複数の画面を含むプロジェクトデータを作成するプロジェクトデータ作成装置であって、
作成中のプロジェクトデータを管理単位であるリソースに分解するプロジェクトデータ分解部と、
前記プロジェクトデータ分解部が分解したリソースを管理するためのインデックス情報を生成し、リソースの実データを前記データ記憶部に記憶させるリソースデータ管理部と、
１以上のリソースをグループ化するためのブロックを前記作成中のプロジェクトデータ内に１以上作成し、該作成中のプロジェクトデータに含まれる画面と前記ブロックの遷移関係を定義する画面構成情報を生成する画面構成部と、
前記ブロックの各々にインポートするデータを前記外部記憶媒体から読み出してリソースに分解するインポートデータ分解部と、
前記ブロックにインポートするデータ同士、及び作成中のプロジェクトデータと前記ブロックにインポートするデータとの間にリソースの重複が発生するか否かを判断する整合性確認部と、
前記整合性確認部がリソースの重複が生じないと判断した場合に、前記ブロックの各々にインポートしたデータに含まれる画面同士の遷移関係に基づいて、前記画面構成情報を再構築するとともに、インポートしたデータのリソースの実データを前記データ記憶部に記憶させることによって、前記ブロックの各々にインポートしたデータを前記作成中のプロジェクトデータに統合するインポートデータ統合部と、
を備えることを特徴とするプロジェクトデータ作成装置。
【請求項２】
前記インポートデータ統合部は、前記ブロックにインポートするデータのうち、ユーザの操作によって指定されたリソースを前記作成中のプロジェクトデータにインポートすることを特徴とする請求項１に記載のプロジェクトデータ作成装置。
【請求項３】
前記インポートデータ統合部は、ユーザの操作によって指定されたリソースに付随するリソースを前記作成中のプロジェクトデータにインポートすることを特徴とする請求項２に記載のプロジェクトデータ作成装置。
【請求項４】
前記作成中のプロジェクトデータに含まれる画面と前記ブロックとの遷移関係を画面遷移図作成画面上または画面ツリー上にて定義することを特徴とする請求項１に記載のプロジェクトデータ作成装置。
【請求項５】
前記ブロックの各々に含まれるリソースの実データをプロジェクト形式に変換し、前記外部記憶媒体へ出力するデータ出力部を備えることを特徴とする請求項１から４のいずれか１項に記載のプロジェクトデータ作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロジェクトデータ作成装置に関する。
【背景技術】
【０００２】
プログラマブル表示器のプロジェクトデータを作成するにあたっては、エディタ上で画面遷移図を作成することによって画面同士の遷移関係を定義する方法が知られている（特許文献１参照）。プログラマブル表示器のプロジェクトデータ作成において、新たなプロジェクトデータを作成する場合、一からプロジェクトデータを作成するのではなく、過去に作成したプロジェクトデータや、テンプレートデータやサンプルデータなどからデータを流用することがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第９９／２７４３８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のプロジェクトデータ作成装置において、複数の既存のデータ等を流用してプロジェクトデータを作成する場合、例えば、プロジェクトデータＡに、プロジェクトデータＢ，Ｃ，Ｄという三つのデータの一部を流用するのであれば、作画ソフトを複数（例えば、Ａ，Ｂ，Ｃ，Ｄの四つ）立ち上げて手動でプロジェクトデータＡにコピーしたり、プロジェクトデータＡの「他のプロジェクト読み込み」という機能を使用して、プロジェクトデータＢ、プロジェクトデータＣ、プロジェクトデータＤを順次取り込むというような作業を行う必要がある。これらの作業は、リソースの重複などにも気を使いながら行う必要があり、非常に手間がかかるとともに、面倒な作業である。特に、流用する画面が多いと作業に手間がかかってしまっていた。【０００５】
本発明は、上記に鑑みてなされたものであって、過去に作成したプロジェクトデータやテンプレートデータ、サンプルデータなどを、画面同士の遷移関係を含めてデータを流用することが可能なプロジェクトデータ作成装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、情報を不揮発に記憶するデータ記憶部と外部記憶媒体とを有し、複数の画面を含むプロジェクトデータを作成するプロジェクトデータ作成装置であって、作成中のプロジェクトデータを管理単位であるリソースに分解するプロジェクトデータ分解部と、プロジェクトデータ分解部が分解したリソースを管理するためのインデックス情報を生成し、リソースの実データをデータ記憶部に記憶させるリソースデータ管理部と、１以上のリソースをグループ化するためのブロックを作成中のプロジェクトデータ内に作成し、作成中のプロジェクトデータに含まれる画面とブロックの遷移関係を定義する画面構成情報を生成する画面構成部と、ブロックにインポートするデータを外部記憶媒体から読み出してリソースに分解するインポートデータ分解部と、ブロックにインポートするデータ同士、及び作成中のプロジェクトデータとブロックにインポートするデータとの間にリソースの重複が発生するか否かを判断する整合性確認部と、整合性確認部がリソースの重複が生じないと判断した場合に、ブロックにインポートしたデータに含まれる画面同士の遷移関係に基づいて、画面構成情報を再構築するとともに、インポートしたデータのリソースの実データをデータ記憶部に記憶させることによって、ブロックにインポートにしたデータを作成中のプロジェクトデータに統合するインポートデータ統合部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明にかかるプロジェクトデータ作成装置は、過去に作成した画面データやテンプレート、サンプルデータなどを部分的に流用して容易にプロジェクトデータを作成できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明にかかるプロジェクトデータ作成装置の実施の形態の構成を示す図である。
【図２】図２は、実施の形態にかかるプロジェクトデータ作成装置のインポート処理の流れを示すフローチャートである。
【図３】図３は、画面遷移図の一例を示す図である。
【図４】図４は、画面構成情報の一例を示す図である。
【図５】図５は、画面ツリーの一例を示す図である。
【図６】図６は、ブロック定義後の画面遷移図の一例を示す図である。
【図７】図７は、ブロック定義後の画面構成情報の一例を示す図である。
【図８】図８は、各ブロックへインポートするデータを指定する操作の概念を示す図である。
【図９Ａ】図９Ａは、ブロック情報の一例を示す図である。
【図９Ｂ】図９Ｂは、ブロック情報の一例を示す図である。
【図９Ｃ】図９Ｃは、ブロック情報の一例を示す図である。
【図１０】図１０は、所属ブロック情報の一例を示す図である。
【図１１】図１１は、インポート処理後の画面遷移図の一例を示す図である。
【図１２】図１２は、ブロックを展開した後の画面遷移図の一例を示す図である。
【図１３】図１３は、ブロックを展開した後の画面構成情報の一例を示す図である。
【図１４】図１４は、ブロックごとに一つのファイルとしてデータを保存する概念図である。
【図１５】図１５は、インポート処理の完了後にブロックＡの中に別のブロック（ブロックＥ）を定義又はインポートした画面遷移図を示す図である。
【図１６】図１６は、ブロックＥを定義又はインポートした後の画面構成情報の一例を示す図である。
【図１７Ａ】図１７Ａは、ブロック情報の一例を示す図である。
【図１７Ｂ】図１７Ｂは、ブロック情報の一例を示す図である。
【図１７Ｃ】図１７Ｃは、ブロック情報の一例を示す図である。
【図１７Ｄ】図１７Ｄは、ブロック情報の一例を示す図である。
【図１８】図１８は、ブロックＥを定義又はインポートした後の所属ブロック情報を示す図である。
【図１９】図１９は、ブロックＡ〜Ｃ，Ｅを展開した画面遷移図を示す図である。
【図２０】図２０は、画面番号２０３の画面と画面番号３１３の画面とをブロックＤとして定義した場合の画面遷移図を示す図である。
【図２１】図２１は、画面番号２０３の画面と画面番号３１３の画面とをブロックＤとして定義した場合の画面構成情報を示す図である。
【図２２Ａ】図２２Ａは、ブロック情報の一例を示す図である。
【図２２Ｂ】図２２Ｂは、ブロック情報の一例を示す図である。
【図２２Ｃ】図２２Ｃは、ブロック情報の一例を示す図である。
【図２２Ｄ】図２２Ｄは、ブロック情報の一例を示す図である。
【図２２Ｅ】図２２Ｅは、ブロック情報の一例を示す図である。
【図２３】図２３は、画面番号２０３の画面と画面番号３１３の画面とをブロックＤとして定義した場合の所属ブロック情報を示す図である。
【図２４】図２４は、画面遷移図作成画面の一例を示す図である。
【図２５】図２５は、リソース設定表示欄にリソースに重複がある旨の表示がなされた画面遷移図作成画面を示す図である。
【図２６】図２６は、重複内容確認画面の一例を示す図である。
【図２７】図２７は、インポート詳細設定画面の一例を示す図である。
【図２８】図２８は、インポートするリソースを変更した後のインポート詳細設定画面の一例を示す図である。
【図２９】図２９は、リソースの重複を解消した後の画面遷移図作成画面を示す図である。
【図３０】図３０は、インポート完了後の画面遷移図作成画面を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明にかかるプロジェクトデータ作成装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態．
図１は、本発明にかかるプロジェクトデータ作成装置の実施の形態の構成を示す図である。実施の形態のプロジェクトデータ作成装置は、コンピュータ５００がプログラム（プログラミングツール）を実行することによるソフトウェア処理にてコンピュータ５００上に実現される。コンピュータ５００は、ＣＰＵ（Central  Processing  Unit）１００、ＲＡＭ（Random  Access  Memory）４０、データ記憶部４０１、表示部２０１、ユーザインタフェース２０２及び外部記憶媒体３０１を有する。
【００１１】
ＣＰＵ１００は、ＲＡＭ４０をワークエリアとしてプログラムを実行する。ＲＡＭ４０は、ＣＰＵ１００がプログラムを実行する際にワークエリアとして使用する記憶装置である。表示部２０１は、情報を視覚的に表示する装置であり、一般的にはＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などが適用される。ユーザインタフェース２０２は、キーボードや各種ポインティングデバイス（マウス、トラックボール、ペンタブレットなど）が適用される。データ記憶部４０１及び外部記憶媒体３０１は、コンピュータ５００に内蔵又は外付けされて情報を不揮発に記憶する記憶装置であり、一般的にはハードディスクドライブ（Hard  Disk  Drive:  HDD）やフラッシュメモリドライブ（flash  Solid  State  Drive:  flash  SSD）などが適用される。なお、外部記憶媒体３０１とデータ記憶部４０１とは、一つの記憶装置の領域を論理的に分割することによって構成されたものであっても良い。外部記憶媒体３０１は、プロジェクトデータ３０２、サンプルデータ３０３及びテンプレートデータ３０４を記憶する。ここで、プロジェクトデータ３０２は、過去に作成済みのプロジェクトデータ（既存のプロジェクトデータ）であり、サンプルデータ３０３は、特定の機能を実現するためにメーカが擬似的に設定を行って提供しているプロジェクトデータであり、テンプレートデータ３０４は、プログラミングツールの製造者によって作られた部分的なプロジェクトデータ（テンプレート）であるとする。
【００１２】
ＣＰＵ１００がプロジェクトデータ作成用プログラムであるプログラミングツールを実行することにより、ＣＰＵ１００上には、制御部１０１、データ入力部１０２、リソースデータ管理部１０３、画面構成部１０４、整合性確認部１０５及びデータ出力部１０６が形成される。
【００１３】
制御部１０１は、画面遷移図作成画面を表示部２０１に表示させるなど、プロジェクトデータの作成に関する処理全般を制御する。
【００１４】
データ入力部１０２は、プロジェクトデータ分解部１０２ａと、インポートデータ分解部１０２ｂとを有する。プロジェクトデータ分解部１０２ａは、ユーザインタフェース２０２を通じた操作によって画面設計者が作成中のプロジェクトデータをプロジェクトデータにおける管理単位であるリソース（使用される部品や画面及びそれらに関する設定、並びにプロジェクト全体で共通する設定等）に分解して、リソースを特定する情報（識別情報）及び実データ（オブジェクトの画像データやテキストの文字列データなど）を、制御部１０１を経由してリソースデータ管理部１０３に出力する処理を行う。ここで言う部品とは、オブジェクト、テキスト、アラームなどである。インポートデータ分解部１０２ｂは、外部記憶媒体３０１から読み出したサンプルデータ、テンプレートデータ又は既存プロジェクトデータをリソースに分解して、識別情報及び実データを整合性確認部１０５に出力する処理を行う。
【００１５】
リソースデータ管理部１０３は、リソースに関するインデックス情報１０３ａを管理し、リソースの実データ４０１ａはデータ記憶部４０１に記録する。
【００１６】
画面構成部１０４は、画面及びブロックの遷移関係を定義する画面構成情報１０４ａと、ブロックを構成する画面の遷移関係を定義するブロック情報１０４ｂと、ブロックに所属する画面を定義する所属ブロック情報１０４ｃとを管理する。なお、ブロックとは、１以上のリソースをグループ化するための入れ物に相当するものであり、コンピュータシステムにおけるフォルダに類似する概念である。
【００１７】
整合性確認部１０５は、プロジェクト全体としてリソースの重複があるか否かを判断する。
【００１８】
データ出力部１０６は、プロジェクトの少なくとも一部をプロジェクト形式に変換して、ファイルとして出力する。
【００１９】
リソースデータ管理部１０３及び画面構成部１０４は、各々の機能により、整合性確認部１０５がリソースの重複が生じないと判断した場合に、ブロックにインポートしたデータを作成中のプロジェクトデータに統合するインポートデータ統合部１０７としての働きをする。
【００２０】
次に、実施の形態にかかるプロジェクトデータ作成装置の動作について説明する。図２は、実施の形態にかかるプロジェクトデータ作成装置のインポート処理の流れを示すフローチャートである。
【００２１】
制御部１０１が表示部２０１に表示させたエディタ画面上において、画面設計者がプロジェクトデータを作成する操作をユーザインタフェース２０２を通じて行う（ステップＳ１０１）。ユーザインタフェース２０２を通じた画面設計者の操作によって作られたプロジェクトデータは、プロジェクトデータ分解部１０２ａがリソースに分解する。プロジェクトデータ分解部１０２ａは、分解したリソースの識別情報及び実データを制御部１０１を経由してリソースデータ管理部１０３に出力する。リソースデータ管理部１０３は、制御部１０１を経由してプロジェクトデータ分解部１０２ａから渡されたリソースの識別情報に基づいて、各画面のリソースを管理するための情報（インデックス情報１０３ａ）を生成し、プロジェクトデータ分解部１０２ａから入力されたリソースを登録・定義する。リソースデータ管理部１０３は、インデックス情報１０３ａに登録・定義したリソースの実データを、データ記憶部４０１に記憶させる。
【００２２】
制御部１０１が表示部２０１に表示させた画面遷移図作成画面５０上において、画面設計者が画面遷移図を作成する操作をユーザインタフェース２０２を通じて行うことにより、画面構成情報が制御部１０１に入力される（ステップＳ１０２）。制御部１０１は入力された画面構成情報を取り込み、画面構成部１０４に出力する。図３は、画面遷移図の一例を示す図である。図４は、画面構成情報の一例を示す図である。なお、以下の説明では、画面遷移図作成画面５０上で画面構成情報を入力する操作を行う場合を例とするが、画面ツリーの作成画面６０上からでも同様に画面構成情報を入力する操作を行うことが可能である。図５は、画面ツリーの一例を示す図である。画面構成情報は、画面遷移図中の画面を特定する情報（画面の名称や番号など）と遷移先の画面を特定する情報とを関連付けた情報である。画面構成部１０４は、制御部１０１から渡された画面構成情報を保持して管理する。
【００２３】
また、画面遷移図作成画面５０上でブロックを定義する操作（換言すると、どのブロックが画面遷移図中のどの画面と遷移関係を有するかを指定する操作）がユーザインタフェース２０２を通じて画面設計者によってなされると、制御部１０１は入力された情報を取り込み、画面構成部１０４へ出力する（ステップＳ１０３）。画面構成部１０４は、制御部１０１から入力された情報に基づいて画面構成情報を変更することにより、作成中のプロジェクトデータに含まれる画面とブロックの遷移関係を定義する画面構成情報を生成する。図６は、ブロック定義後の画面遷移図の一例を示す図である。図７は、ブロック定義後の画面構成情報の一例を示す図である。図７に示すように、画面構成情報には、定義したブロックに関する遷移関係の情報が追加され、画面やブロックを特定する情報と遷移先の画面やブロックを特定する情報とを関連付けた情報となる。
【００２４】
図８は、各ブロックへインポートするデータを指定する操作の概念を示す図である。各ブロックへインポート可能なデータは、外部記憶媒体３０１に格納されているプロジェクトデータ３０２、サンプルデータ３０３及びテンプレートデータ３０４である。各ブロックへインポートするデータを指定する操作が画面設計者によってユーザインタフェース２０２を通じてなされると（ステップＳ１０４）、画面構成部１０４は、ブロックにインポートする画面を特定する情報と、インポート対象の画面同士の遷移関係とを示すブロック情報１０４ｂを作成する。また、画面構成部１０４は、どの画面がどのブロックに所属するかを示す所属ブロック情報１０４ｃを作成する。ブロック情報１０４ｂ及び所属ブロック情報１０４ｃは、画面構成部１０４で管理される。図９Ａ〜図９Ｃは、ブロック情報の一例を示す図である。ブロック情報は、ブロックを構成する画面を特定する情報と、ブロック中での遷移先の画面を特定する情報とを関連付けた情報である。図１０は、所属ブロック情報の一例を示す図である。
【００２５】
その後、制御部１０１は、データ入力部１０２へ指示を送り、ブロックにインポートするデータを外部記憶媒体３０１から読み出させる。データ入力部１０２は、画面のデータだけではなく、付随するリソース（使用するオブジェクト、テキスト、アラーム等に関する設定など）のデータも一緒に外部記憶媒体３０１から読み出す。インポートデータ分解部１０２ｂは、外部記憶媒体３０１から読み出したデータをリソース単位に分解し、整合性確認部１０５に渡す。なお、ブロックにインポートするデータは、コンピュータ５００に接続される不図示の外部記憶装置（メモリカードなど）から読み出すことも可能である。
【００２６】
ここで、「付随するリソース」について具体例を挙げて補足説明する。アラーム表示を行うオブジェクトが配置されている画面をインポートする場合には、どういう状態になった時にどういうエラーを表示するのかについてのプロジェクト全体としての設定項目である「アラーム監視」の設定も一緒にインポートする必要がある。このようにインポートする画面等に含まれるオブジェクトに関連してプロジェクト全体について行う必要がある設定は付随するリソースとなる。また、画面Ａが画面呼び出し機能により別の画面Ｂを画面Ａの一部として表示する関係にある場合、画面Ｂは画面Ａに付随するリソースとなる。
【００２７】
整合性確認部１０５は、インポートデータ分解部１０２ｂから渡されたリソース同士や、インポートデータ分解部１０２ｂから渡されたリソースとリソースデータ管理部１０３が管理しているリソース（作成中のプロジェクトデータのリソース）との間に重複するものが無いかを確認する。重複するリソースがある場合、整合性確認部１０５は、制御部１０１にリソースの重複がある旨を通知する。
【００２８】
リソースの重複が無い場合は、整合性確認部１０５は、インポートデータ分解部１０２ｂから入力されたリソースの識別情報及び実データをリソースデータ管理部１０３に出力する。インポートデータ統合部１０７の一部を構成するリソースデータ管理部１０３は、整合性確認部１０５から識別情報及び実データを受信すると、リソースの実データをデータ記憶部４０１に記憶させて管理する。また、リソースデータ管理部１０３は、管理しているリソースのインデックス情報を識別情報に基づいて更新する（ステップＳ１０５）。また、インポートデータ統合部１０７の一部をなす画面構成部１０４は、ブロックにインポートしたデータに含まれる画面同士の遷移関係と画面構成情報とに基づいて、画面構成情報を再構築する。このようにして、インポートデータ統合部１０７は、ブロックにインポートしたデータを作成中のプロジェクトデータに統合する。
【００２９】
なお、既存のデータをブロックにインポートする処理については、後段で具体例を挙げてより詳細に説明する。
【００３０】
図１１は、インポート処理後の画面遷移図の一例を示す図である。
【００３１】
インポート処理の完了後は、ブロックを展開することが可能である。ブロックの展開は、インポート処理後に制御部１０１が自動的に行っても良いし、ユーザインタフェース２０２を通じた特定の操作をトリガとして行っても良い。ブロックに複数の画面が含まれる場合、そのブロックを遷移先画面として含む画面からの遷移先は、所定の規則に基づいて決定しても良いし、ユーザに入力を促して指定させても良い。例えば、ブロックに含まれる画面の中で画面番号が最も小さい画面を遷移先として選択するようにしても良い。ブロックを展開した場合は、画面構成部１０４は画面構成情報を更新する。図１２は、ブロックを展開した後の画面遷移図の一例を示す図である。図１３は、ブロックを展開した後の画面構成情報の一例を示す図である。ブロックを展開した場合には、展開前の画面構成情報（すなわち、図７に示したブロック定義後の画面構成情報）における各ブロックの項目が、ブロック情報１０４ｂの内容に基づいて更新される。なお、画面構成部１０４は、ブロックを展開した後も、ブロック情報１０４ｂ及び所属ブロック情報１０４ｃを消去せずに保持するため、後述するように、ブロックを展開した後に再ブロック化することが可能である。
【００３２】
また、各ブロックに含まれる画面等のリソース、すなわちブロックによってグループ化されているデータは、ブロックごとに一つのファイルとしてデータを保存することも可能である。ブロックに含まれる画面を一つのファイルとして保存する場合には、リソースデータ管理部１０３は、制御部１０１からの指令に応じて、画面構成部１０４に定義されている所属ブロック情報１０４ｃと、自身が管理しているリソースのインデックス情報とに基づいて、必要なデータ（実データ、付随するリソースのデータ）をデータ記憶部４０１から読み出す。リソースデータ管理部１０３が読み出したデータは、データ出力部１０６にて１プロジェクトの形式に変換され、外部記憶媒体３０１にファイルとして出力される。外部記憶媒体３０１への記憶は、別名保存やエクスポートなど任意の保存形式で行うことが可能である。図１４は、ブロックごとに一つのファイルとしてデータを保存する概念図である。
【００３３】
また、インポート処理の完了後に新しいブロックを定義又はインポートすることも可能である。図１５は、インポート処理の完了後にブロックＡの中に別のブロック（ブロックＥ）を定義又はインポートした画面遷移図を示す図である。図１６は、ブロックＥを定義又はインポートした後の画面構成情報の一例を示す図である。図１７Ａ〜図１７Ｄは、ブロック情報の一例を示す図である。図１８は、ブロックＥを定義又はインポートした後の所属ブロック情報を示す図である。なお、図１６、図１７Ａ〜図１７Ｄでは、画面番号１１２の画面とブロックＥとの相互遷移、画面番号２０２の画面と画面番号２０５の画面との相互遷移、画面番号１の画面から画面番号３０１の画面への遷移、及び画面番号２０１の画面から画面番号３０１の画面への遷移が、ユーザインタフェース２０２を通じたユーザの操作によって追加されている。
【００３４】
図１９は、ブロックＡ〜Ｃ，Ｅを展開した画面遷移図を示す図である。画面番号１０１の画面とブロックＡとは相互遷移の関係にあることが画面構成情報に定義されていたため、ブロックＡに含まれる画面の中で画面番号が最も小さい画面番号１０２の画面に画面番号１０１の画面との相互遷移が設定されている。なお、ブロック中のどの画面に遷移を追加するかは、ユーザが予め規則として設定することも可能であるし、その都度指定することも可能である。
【００３５】
ここで、遷移関係のない画面番号２０３の画面と画面番号３１３の画面とをブロックＤとしてブロック化するとともに、ブロックＡ〜Ｃ，Ｅを再ブロック化する場合を考える。図２０は、画面番号２０３の画面と画面番号３１３の画面とをブロックＤとして定義した場合の画面遷移図を示す図である。図２１は、画面番号２０３の画面と画面番号３１３の画面とをブロックＤとして定義した場合の画面構成情報を示す図である。図２２Ａ〜図２２Ｅは、ブロック情報の一例を示す図である。図２３は、画面番号２０３の画面と画面番号３１３の画面とをブロックＤとして定義した場合の所属ブロック情報を示す図である。各画面は一つのブロックにしか所属できないため、画面構成部１０４は、画面番号２０３の画面の所属ブロックはＢからＤに、画面番号３１３の画面の所属ブロックはＣからＤにそれぞれ変更している。ブロックＢにおいては、画面番号２０３の画面は別ブロックとなったため、画面構成部１０４は、画面番号２０４の画面からの遷移先としての画面番号２０３の画面の指定を削除している。同様に、ブロックＣにおいては、画面番号３１３の画面は別ブロックとなったため、画面構成部１０４は、画面番号３０１の画面からの遷移先としての画面番号３１３の画面の指定を削除している。
【００３６】
上記のように、ブロックを展開した後も画面構成部１０４が所属ブロック情報１０４ｃ及びブロック情報１０４ｂを消去せずに残しておくことで、再ブロック化を行うことが可能となる。なお、ここではブロックＤを新たに定義した上で再ブロック化する例を示したが、元通りにブロック化することももちろん可能である。
【００３７】
既存のデータをブロックにインポートする処理の具体例について説明する。図２４は、画面遷移図作成画面の一例を示す図である。制御部１０１は、画面遷移図作成画面５０内にリソース設定表示欄５１を表示させる。リソース設定表示欄５１では、作成中のプロジェクトに設定されている項目は、設定されていない項目とは異なる態様（図２４では網掛け状態）で表示される。なお、表示部２０１がカラー表示可能であるならば、表示色を異ならせるようにしても良い。
【００３８】
画面遷移図作成画面５０からは検索画面５２を呼び出すことが可能となっており、検索画面５２を呼び出す操作がユーザインタフェース２０２を通じて行われると、制御部１０１は画面遷移図作成画面５０内に検索画面５２を表示させる。検索画面５２からは、一つの画面や複数の画面、既存のプロジェクト、テンプレート等を検索することが可能である。検索画面５２の検索結果表示欄５３に表示された検索結果をドラッグし、画面遷移図のブロック内にドロップすることで、ドラッグ＆ドロップしたデータをブロックにインポートするデータとして指定することが可能である。なお、ブロックにインポートするデータを指定する操作はドラッグ＆ドロップに限定されることはなく、検索結果を表示欄５３に表示された検索結果をタッチし、続けて画面遷移図内のブロックをタッチする操作（タッチ＆タッチ）などを適用することも可能である。
【００３９】
なお、画面等のデータを検索するに当たっては、外部記憶装置３０１に記録されているデータの各々を特定する設定情報をデータごとに複数のキーワードの少なくともいずれかに関連付けて記録するとともに、プログラミングツールに対する各々の操作に設定された難易度を示す判定基準データを記録し、かつ、プログラミングツールの実行環境及びユーザがユーザインタフェース２０２に対して行った操作内容を示すユーザデータを蓄積しておくようにしてもよい。このようにした上で、ユーザインタフェース２０２から入力された用語と一致するキーワードに関連付けられた設定情報を検出し、判定基準データとユーザデータとに基づいて、ユーザの習熟度及び趣向を判定し、設定情報に、特性判断部の判定結果に基づいて順位付けをして検索結果表示欄５３に表示させるようにすれば、ユーザの目的にあった画面データやテンプレートデータを素早く検索でき、ユーザの習熟度や趣向に応じた内容を効率よく提示できる。
【００４０】
リソースデータをインポートする場合は、制御部１０１は、インポート元を示すメッセージをリソース設定表示欄５１に表示する。また、インポートしたデータ同士のリソース、又は作成中のプロジェクトに設定されていたリソースとインポートしたデータのリソースとが重複する場合、制御部１０１はリソース設定表示欄５１にリソースに重複がある旨の警告を表示する。図２５は、リソース設定表示欄にリソースに重複がある旨の表示がなされた画面遷移図作成画面を示す図である。画面遷移図作成画面５０では、各ブロックが異なる色で表示されており、リソース設定表示欄５１では、インポートされる予定のリソースがインポート元のブロックと同じ色で表示される。これにより、画面遷移図作成画面５０上で、どのブロックでインポートされるリソースであるかを容易に識別可能となっている。なお、図２５では、ハッチングの種類を変えることによって、ブロック等の色が異なることを表現している。
【００４１】
警告が表示されている項目に対して特定の操作（右クリックにより表示されるメニューでの選択やダブルクリックなど）が行われると、制御部１０１は表示部２０１に重複内容確認画面５４を表示させる。また、警告表示がなされている状態でインポート実行ボタン７０が押下された場合も、制御部１０１は表示部２０１に重複内容確認画面５４を表示させる。図２６は、重複内容確認画面の一例を示す図である。重複内容確認画面５４は、重複内容表示欄５５とインポート詳細設定呼び出しボタン５６とを備えている。重複内容表示欄５５には、リソースのどの部分が重複しているかが表示される。インポート詳細設定呼び出しボタン５６を押下されると、制御部１０１は表示部２０１にインポート詳細設定画面５７を表示させる。なお、画面遷移図のブロック上で特定の操作（右クリックにより表示されるメニューでの選択やダブルクリックなど）が行われた場合にも、制御部１０１は表示部２０１にインポート詳細設定画面５７を表示させる。
【００４２】
図２７は、インポート詳細設定画面の一例を示す図である。インポート詳細設定画面５７の左側のインポート項目選択欄５８は、ブロックに対してインポートするリソースを選択する操作欄である。図２７では、ボックスにチェックマークが付けられたリソースがブロックに対してインポートされる。重複内容確認画面５４の重複内容表示欄５５に表示されていた項目は、異なる背景色で表示されており、どの項目が重複しているか容易に識別可能となっている。
【００４３】
インポート詳細設定画面５７の右側のインポート後プロジェクト表示欄５９は、インポート項目選択欄５８で選択されたリソースをインポートした後のプロジェクトのリソースを示している。インポート後プロジェクト表示欄５９では、インポートされる予定のリソースがブロックごとに異なる背景色で表示されており、どのブロックでインポートされるリソースであるかを容易に識別可能となっている。なお、図２７では、ハッチングの種類を変えることによって、背景色が異なることを表現している。インポート後プロジェクト表示欄５９では、インポート後の画面番号やタイトルを変更可能である。例えば、ベース画面の「２１  手動制御ライン」を「１１１  手動制御ライン」に変えることにより、画面番号を２１から１１１に変更してインポートすることができる。
【００４４】
図２８は、インポートするリソースを変更した後のインポート詳細設定画面の一例を示す図である。図２８では、図２７と同様に、ハッチングの種類を変えることによって、背景色が異なることを表現している。重複内容確認画面５４の重複内容表示欄５５に表示されていた「コメントグループＮｏ．１  アラームメッセージ」は、インポート項目選択欄５８のチェックマークが外されており、インポート対象から除かれている。また、「アラームＮｏ．３  製造ラインアラーム」は、インポート後プロジェクト表示欄５９での番号が３から１に変更されている。これらの操作により、重複内容確認画面５４の重複内容表示欄５５に表示されていたリソースの重複は解消される。
【００４５】
図２９は、リソースの重複を解消した後の画面遷移図作成画面を示す図である。図２９では、図２５と同様に、ハッチングの種類を変えることによって、ブロック等の色が異なることを表現している。この状態でインポート実行ボタン７０を押下すると、各ブロックにデータがインポートされる。
【００４６】
図３０は、インポート完了後の画面遷移図作成画面を示す図である。リソース設定表示欄５１でのどのブロックでのインポートかを示す表示は消え、プロジェクトに設定されている項目は、設定されていない項目とは異なる色で表示される。インポート完了後は、前述のように各ブロックを展開することが可能となる。
【００４７】
本実施の形態にかかるプロジェクトデータ作成装置は、複数のデータからのインポートを視覚的に行うことができる。例えば、データＡからは画面番号１〜１０の画面とアラームの設定とをインポートし、データＢからは画面番号５０〜７５の画面と接続機器の設定とロギングの設定とをインポートし、データＣからはプログラマブル表示器のセットアップの設定をインポートするような操作を、パズルのピースを組み合わせるような感覚で行うことができる。すなわち、本実施の形態にかかるプロジェクトデータ作成装置は、プロジェクトデータをブロックに分割するという概念を取り入れ、画面遷移図などと合わせることで、複数のデータからのインポートを容易に行うことができる。
【００４８】
複数人で一つのプロジェクトファイルを修正する場合、ブロック単位でデータを出力して各人が別々のブロックのデータを修正し、修正完了後のデータを各ブロックにインポートして統合することで、複数人での修正作業が容易に行える。統合の際にはリソースの重複があれば警告表示がなされるため、複数人で作業を分担してもプロジェクトデータの整合性が損なわれることはない。
【００４９】
このように、本実施の形態にかかるプロジェクトデータ作成装置は、複数のデータから部分的にデータを流用して、一つのプロジェクトを作成することができる。また、画面同士の遷移関係を含めてデータを流用することができる。また、複数人で分担してプロジェクトデータを作成した場合、データを統合するのが容易である。また、画面に付随するリソース（使用するオブジェクト、テキスト、アラーム等に関する設定など）をまとめて流用することができる。
【産業上の利用可能性】
【００５０】
以上のように、本発明にかかるプロジェクトデータ作成装置は、過去に作成した画面データやテンプレート、サンプルデータなどを部分的に流用してプロジェクトデータを作成可能である点で有用であり、特に、複数人で分担してプロジェクトデータを作成するのに適している。
【符号の説明】
【００５１】
４０  ＲＡＭ、５０  画面遷移図作成画面、６０  画面ツリーの作成画面、７０  インポート実行ボタン、１００  ＣＰＵ、１０１  制御部、１０２  データ入力部、１０２ａ  プロジェクトデータ分解部、１０２ｂ  インポートデータ分解部、１０３  リソースデータ管理部、１０３ａ  インデックス情報、１０４  画面構成部、１０４ａ  画面構成情報、１０５  整合性確認部、１０６  データ出力部、１０７  インポートデータ統合部、２０１  表示部、２０２  ユーザインタフェース、３０１  外部記憶媒体、３０２  プロジェクトデータ、３０３  サンプルデータ、３０４  テンプレートデータ、４０１  データ記憶部、４０１ａ  実データ、５００  コンピュータ。
【図１】
0005916897.tif 000002
【図２】
0005916897.tif 000003
【図３】
0005916897.tif 000004
【図４】
0005916897.tif 000005
【図５】
0005916897.tif 000006
【図６】
0005916897.tif 000007
【図７】
0005916897.tif 000008
【図８】
0005916897.tif 000009
【図９Ａ】
0005916897.tif 000010
【図９Ｂ】
0005916897.tif 000011
【図９Ｃ】
0005916897.tif 000012
【図１０】
0005916897.tif 000013
【図１１】
0005916897.tif 000014
【図１２】
0005916897.tif 000015
【図１３】
0005916897.tif 000016
【図１４】
0005916897.tif 000017
【図１５】
0005916897.tif 000018
【図１６】
0005916897.tif 000019
【図１７Ａ】
0005916897.tif 000020
【図１７Ｂ】
0005916897.tif 000021
【図１７Ｃ】
0005916897.tif 000022
【図１７Ｄ】
0005916897.tif 000023
【図１８】
0005916897.tif 000024
【図１９】
0005916897.tif 000025
【図２０】
0005916897.tif 000026
【図２１】
0005916897.tif 000027
【図２２Ａ】
0005916897.tif 000028
【図２２Ｂ】
0005916897.tif 000029
【図２２Ｃ】
0005916897.tif 000030
【図２２Ｄ】
0005916897.tif 000031
【図２２Ｅ】
0005916897.tif 000032
【図２３】
0005916897.tif 000033
【図２４】
0005916897.tif 000034
【図２５】
0005916897.tif 000035
【図２６】
0005916897.tif 000036
【図２７】
0005916897.tif 000037
【図２８】
0005916897.tif 000038
【図２９】
0005916897.tif 000039
【図３０】
0005916897.tif 000040