(57)【要約】      （修正有）【課題】アカウント毎に画面編集可能な編集範囲を定義する定義情報を柔軟かつ詳細に設定することができる画面作成装置を提供する。【解決手段】ＰＣ（画面作成装置）１は、画面編集を行うユーザを認証するための複数のアカウントと、画面編集の対象であり、かつ、画面の一部を構成する編集対象が指定された情報としての画面編集可能な編集範囲と、を対応付けて定義する定義情報を参照する参照部１１と、参照部１１によって参照された定義情報に基づいて、アカウント毎に編集範囲に応じて編集を制限するか否かを判定する判定部１２と、を備える。【選択図】図１
2020190827.tif 000002
【特許請求の範囲】
【請求項１】
画面編集を行うユーザを認証するための複数のアカウントと、画面編集の対象であり、かつ、画面の一部を構成する編集対象が指定された情報としての画面編集可能な編集範囲と、を対応付けて定義する定義情報を参照する参照部と、
前記参照部によって参照された前記定義情報に基づいて、前記アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する判定部と、を備えることを特徴とする画面作成装置。
【請求項２】
画面編集を行うユーザを認証するための複数のアカウントと画面編集可能な編集範囲とを対応付けて定義する定義情報を参照する参照部と、
前記参照部によって参照された前記定義情報に基づいて、前記アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する判定部と、
前記複数のアカウントを管理する管理者が、スクリプトを用いて前記判定部による判定のための前記定義情報を記述可能なように、前記定義情報を管理する管理部と、を備えることを特徴とする画面作成装置。
【請求項３】
前記管理部は、前記管理者が、正規表現を含む前記スクリプトを用いて前記定義情報を記述可能なように、前記定義情報を管理することを特徴とする請求項２に記載の画面作成装置。
【請求項４】
前記参照部は、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、前記プログラムと前記データの少なくとも一方に含まれる前記定義情報、または前記プログラム及び前記データの外部に設けられる前記定義情報を参照することを特徴とする請求項１から３のいずれか１項に記載の画面作成装置。
【請求項５】
前記定義情報は、画面編集の対象であり、かつ、画面の一部を構成する編集対象について編集が可能であるか否かを示す複数のルール設定の情報と、前記アカウント毎に設定され、画面編集を行う編集者の種類を示す複数の編集者種類のそれぞれに対して、前記複数のルール設定の少なくとも１つが適用された情報と、を含むことを特徴とする請求項１から４のいずれか１項に記載の画面作成装置。
【請求項６】
前記定義情報は、複数の前記編集対象に対して上下関係が設定された情報を含み、
前記判定部は、前記上下関係に基づいて、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された前記編集対象よりも下位の編集対象の編集も許可されるように判定することを特徴とする請求項５に記載の画面作成装置。
【請求項７】
前記判定部は、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が制限された前記編集対象以外の編集対象の全てについて編集が許可されるように判定することを特徴とする請求項５に記載の画面作成装置。
【請求項８】
前記参照部は、前記複数のアカウントに対応付けられた前記編集範囲内で編集された編集画面及び前記編集画面に関する編集情報について、前記編集画面と、少なくとも１つの前記編集情報と、を関連付けるリンク情報を参照し、
前記参照部によって参照された前記リンク情報において関連付けられた前記編集画面と、少なくとも１つの前記編集情報と、を組み合わせることにより、画面編集が行われたデータを作成する作成部をさらに備えることを特徴とする請求項１から７のいずれか１項に記載の画面作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面作成装置に関する。
【背景技術】
【０００２】
プログラマブル表示器の画面は、詳細化し、かつ、複雑化する傾向にあるため、関連する複数の画面をまとめたプロジェクトの規模は、ますます大きくなってきている。そのため、１人でプロジェクトの全てを制作することができず、複数の編集者で１つのプロジェクトを制作することが多くなってきている。よって、プロジェクトに属する画面を編集する画面編集ソフトには、１つのプロジェクトの制作作業に係る分業を管理することが求められる。
【０００３】
例えば、特許文献１に開示されているプログラミング装置は、ユーザがプログラマブルロジックコントローラにアクセス操作を行うときに、ユーザが入力したパスワードに対応するアクセス権限のレベルに基づいてユーザが行う機能別のアクセス操作の種類を制限する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２８０３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されているプログラミング装置では、ユーザが行う機能別のアクセス操作の種類を選択して制限するため、アカウント毎にユーザが行う機能別のアクセス操作の種類を柔軟かつ詳細に設定することができないという問題がある。本発明の一態様は、アカウント毎に画面編集可能な編集範囲を定義する定義情報を柔軟かつ詳細に設定することを目的とする。
【課題を解決するための手段】
【０００６】
前記の課題を解決するために、本発明の一態様に係る画面作成装置は、画面編集を行うユーザを認証するための複数のアカウントと、画面編集の対象であり、かつ、画面の一部を構成する編集対象が指定された情報としての画面編集可能な編集範囲と、を対応付けて定義する定義情報を参照する参照部と、前記参照部によって参照された前記定義情報に基づいて、前記アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する判定部と、を備える。
【０００７】
前記構成によれば、ユーザは、画面の一部を構成する編集対象が指定された状態で、画面編集を行うことができる。よって、編集対象の作成について、ユーザ毎に役割分担させることができる。
【０００８】
また、本発明の一態様に係る画面作成装置は、画面編集を行うユーザを認証するための複数のアカウントと画面編集可能な編集範囲とを対応付けて定義する定義情報を参照する参照部と、前記参照部によって参照された前記定義情報に基づいて、前記アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する判定部と、前記複数のアカウントを管理する管理者が、スクリプトを用いて前記判定部による判定のための前記定義情報を記述可能なように、前記定義情報を管理する管理部と、を備える。
【０００９】
前記構成によれば、管理者は、スクリプトを用いて定義情報を記述することができるため、アカウント毎に定義情報を柔軟かつ詳細に設定することができる。よって、管理者は、複雑な編集範囲の設定も容易に行うことができる。また、管理者は、アカウント毎に定義情報を容易に変更することができる。
【００１０】
前記管理部は、前記管理者が、正規表現を含む前記スクリプトを用いて前記定義情報を記述可能なように、前記定義情報を管理してもよい。
【００１１】
前記構成によれば、管理者は、正規表現を含むスクリプトを用いて定義情報を記述することができる。これにより、定義情報の記述量を低減することができる。また、管理者は、記述上のルールが設定された正規表現を用いて定義情報を記述する。これにより、管理者が定義情報を誤って記述することを防ぐことができる。
【００１２】
前記参照部は、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、前記プログラムと前記データの少なくとも一方に含まれる前記定義情報、または前記プログラム及び前記データの外部に設けられる前記定義情報を参照してもよい。
【００１３】
前記構成によれば、ユーザがプログラムを起動した場合とデータのファイルを開いた場合の少なくとも一方において、アカウント毎に編集を制限するか否かが判定されるため、アカウント毎に編集を自動的に制限することができる。
【００１４】
前記定義情報は、画面編集の対象であり、かつ、画面の一部を構成する編集対象について編集が可能であるか否かを示す複数のルール設定の情報と、前記アカウント毎に設定され、画面編集を行う編集者の種類を示す複数の編集者種類のそれぞれに対して、前記複数のルール設定の少なくとも１つが適用された情報と、を含んでもよい。
【００１５】
前記構成によれば、アカウント毎に設定される編集者種類のそれぞれに対して、複数のルール設定の少なくとも１つが適用される。このため、管理者は、アカウント毎に編集者種類を選択することにより、アカウント毎に画面編集可能な編集範囲を容易に設定することができる。
【００１６】
前記定義情報は、複数の前記編集対象に対して上下関係が設定された情報を含み、前記判定部は、前記上下関係に基づいて、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された前記編集対象よりも下位の編集対象の編集も許可されるように判定してもよい。
【００１７】
前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が許可された編集対象よりも下位の編集対象の編集も許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【００１８】
前記判定部は、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が制限された前記編集対象以外の編集対象の全てについて編集が許可されるように判定してもよい。
【００１９】
前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が制限された編集対象以外の編集対象の全てについて編集が許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【００２０】
前記参照部は、前記複数のアカウントに対応付けられた前記編集範囲内で編集された編集画面及び前記編集画面に関する編集情報について、前記編集画面と、少なくとも１つの前記編集情報と、を関連付けるリンク情報を参照し、前記画面作成装置は、前記参照部によって参照された前記リンク情報において関連付けられた前記編集画面と、少なくとも１つの前記編集情報と、を組み合わせることにより、画面編集が行われたデータを作成する作成部をさらに備えてもよい。
【００２１】
前記構成によれば、編集画面や編集画面に関する編集情報を再編集する場合、アカウント毎に編集画面や編集情報を再編集する。このため、編集画面や編集情報を効率的に再編集することができることに加え、画面編集が行われた複数のデータで同じ修正をする必要がなくなり、人為的なミスを発生しにくくすることができる。
【００２２】
また、リンク情報において関連付けられた編集画面と編集情報とを組み合わせることにより、画面編集が行われたデータが作成される。このため、画面編集が行われたデータが複数作成された場合において、編集画面の変更や編集情報の変更を、画面編集が行われた複数のデータに対して一気に反映させることができる。よって、ユーザによる画面作成の時間を短縮することができる。
【発明の効果】
【００２３】
本発明の一態様によれば、アカウント毎に画面編集可能な編集範囲を定義する定義情報を柔軟かつ詳細に設定することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態１に係るＰＣと、プログラマブル表示器と、の構成を示すブロック図である。
【図２】（ａ）は、管理者のみが開くことが可能なアカウントの設定画面を示す図である。（ｂ）は、管理者のみが開くことが可能な編集者種類の設定画面を示す図である。（ｃ）は、管理者のみが開くことが可能なルール設定の設定画面を示す図である。
【図３】（ａ）は、図２の（ｃ）に示すような設定画面にて設定された定義情報の一例を示す図である。（ｂ）は、（ａ）に示す定義情報によって編集が制限される様子を示す図である。
【図４】画面編集が行われたデータとしての画面のデータを示す図である。
【図５】図４に示す画面のデータが作成される様子を示す模式図である。
【図６】本発明の実施形態２に係るＰＣにおいて、定義情報の記録場所の一例を示す図である。
【発明を実施するための形態】
【００２５】
〔実施形態１〕
パーソナルコンピュータ（以降、単に「ＰＣ」と称する）１と、プログラマブル表示器２と、の構成について図１に基づいて説明する。図１は、本発明の実施形態１に係るＰＣ１と、プログラマブル表示器２と、の構成を示すブロック図である。
【００２６】
（ＰＣ１の構成）
ＰＣ１は、図１に示すように、制御部１０と、記録部２０と、インターフェース部３０と、表示部４０と、操作部５０と、を備えている。ＰＣ１は、プログラマブル表示器２と接続されている。ＰＣ１は、画面編集を行うためのプログラムを実行することにより、プログラマブル表示器２が表示する画面を作成する画面作成装置として機能する。
【００２７】
制御部１０は、参照部１１と、判定部１２と、管理部１３と、作成部１４と、表示制御部１５と、通信制御部１６と、を備えている。制御部１０は、ＰＣ１の各部を制御する。参照部１１は、記録部２０に記録された定義情報を参照する。
【００２８】
前記定義情報は、画面編集を行うユーザを認証するための複数のアカウントと、画面編集の対象であり、かつ、画面の一部を構成する編集対象が指定された情報としての画面編集可能な編集範囲と、を対応付けて定義する情報である。前記構成によれば、ユーザは、画面の一部を構成する編集対象が指定された状態で、画面編集を行うことができる。よって、編集対象の作成について、ユーザ毎に役割分担させることができる。
【００２９】
前記編集対象の一例としては、例えば、画面に含まれる複数のレイヤーと、画面内の領域と、画面に含まれるオブジェクトとが挙げられる。前記オブジェクトには、例えば、部品及び図形が含まれる。また、前記編集対象の一例としては、例えば、部品について、位置、サイズ、文字、アドレス、変数名等の部品の属性の一部が挙げられ、さらに、図形について、位置、サイズ、線種、線の太さ、色等の図形の属性の一部が挙げられる。アドレスは、ＰＬＣ３のメモリまたはプログラマブル表示器２の内部メモリのアドレスである。変数名は、ユーザがアドレスを認識しやすいようにアドレスの代わりにユーザに提示される情報である。
【００３０】
ここでは、前記定義情報が記録部２０に記録されているものとして説明するが、前記定義情報は、例えば、ＰＣ１に接続される記録媒体に記録されてもよい。この場合、参照部１１は、記録媒体がＰＣ１に接続されている状態において、記録媒体に記録された前記定義情報を参照する。つまり、本発明の一態様は、前記定義情報が記録部２０に記録される場合に限定されるものではなく、前記定義情報は、ＰＣ１の外部のものに記録されてもよい。
【００３１】
判定部１２は、参照部１１によって参照された前記定義情報に基づいて、アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する。管理部１３は、記録部２０に記録された前記定義情報を管理する。判定部１２、管理部１３及び作成部１４の処理の詳細については後述する。表示制御部１５は、表示部４０の表示に関する制御を行う。通信制御部１６は、インターフェース部３０によるＰＣ１とプログラマブル表示器２との間の通信に関する制御を行う。
【００３２】
インターフェース部３０は、ＰＣ１がプログラマブル表示器２と通信を行うための通信部である。表示部４０は、ＰＣ１での処理内容を表示するモニタである。操作部５０は、例えば、ユーザがデータの入力を行うためのキーボードやユーザが操作を行うためのマウスである。
【００３３】
（プログラマブル表示器２の構成）
プログラマブル表示器２は、図１に示すように、制御部２１と、表示パネル２２と、タッチパネル２３と、ユーザメモリ２４と、インターフェース部２５，２６と、を備えている。プログラマブル表示器２は、外部機器としてのＰＬＣ（プログラマブルロジックコントローラ）３と接続されている。
【００３４】
プログラマブル表示器２は、通信ケーブルを介してＰＬＣ３と接続されることにより、ＰＬＣ３との間で通信を行う。プログラマブル表示器２は、操作及び表示のための画面を表示することにより、プログラマブル表示器特有の操作機能と表示機能とを実現する専用コンピュータであり、ＨＭＩ（Human Machine Interface）機器として使用される。
【００３５】
制御部２１は、ＰＬＣ３と接続されたデバイス４の状態を表示する動作や、タッチパネル２３への操作に応じてデバイス４の状態を制御する動作を特定する。表示パネル２２は、ユーザによって作成された画面や、デバイス４の状態を表示する。ユーザメモリ２４は、ユーザによって作成された画面を、関連する複数の画面（画面群）のまとまりとしてプロジェクトというファイル形式で記録する。プロジェクトは、ＰＣ１の作成部１４によって作成されて、ＰＣ１からダウンロードされる。インターフェース部２５は、プログラマブル表示器２がＰＣ１と通信を行うための通信部である。インターフェース部２６は、プログラマブル表示器２がＰＬＣ３と通信を行うための通信部である。
【００３６】
ＰＬＣ３は、ユーザによって作成されたシーケンスプログラムにしたがって、予め定められたスキャンタイム毎に、デバイス４の状態を読み出したり、デバイス４に制御指示を与えたりする制御装置である。
【００３７】
（管理部１３の処理）
管理部１３は、図２の（ａ）から（ｃ）に示すような定義情報を管理する。図２の（ａ）は、管理者のみが開くことが可能なアカウントの設定画面を示す図である。図２の（ｂ）は、管理者のみが開くことが可能な編集者種類の設定画面を示す図である。図２の（ｃ）は、管理者のみが開くことが可能なルール設定の設定画面を示す図である。図２の（ａ）から（ｃ）に示す画面は、画面編集を行うためのプログラムによって開かれ、ＰＣ１の表示部４０に表示される。ここで、管理者とは、各アカウントの管理を行う者である。
【００３８】
図２の（ａ）に示す各項目について、「User Name」は、ログインのためのアカウントに係るユーザの名称を示し、「Password」は、ログインのためのアカウントのパスワードを示す。ログインの機能は、画面編集を行うためのプログラムと画面編集が行われるデータの少なくとも一方に設けられている。
【００３９】
「Operator Type」は、画面編集を行う編集者の種類を示す。管理者は、操作部５０を用いて矢印Ａ１をクリックすると、画面編集を行う編集者の種類を示す複数の編集者種類の候補が表示される。管理者は、操作部５０を用いて編集者種類の候補の１つをクリックすると、アカウントについて編集者種類が決定される。
【００４０】
このように、管理者は、アカウント毎に編集者種類を選択することができる。また、管理者は、図２の（ａ）に示す画面において、画面編集を行うためのプログラムと画面編集が行われるデータの少なくとも一方にアカウントを追加することができる。このとき、管理部１３は、操作部５０からの操作情報に基づき、記録部２０に記録されている定義情報を変更する。前記編集者種類の設定は、図２の（ｂ）に示す画面で設定される。
【００４１】
図２の（ｂ）に示す各項目について、「Operator Type」は、図２の（ａ）に示す「Operator Type」と同一の編集者種類を示す。「Rule Name(s)」は、画面編集の対象であり、かつ、画面の一部を構成する編集対象について編集が可能であるか否かを示す複数のルール設定の名称を示す。管理者は、ボタンＢ１をクリックすると、複数のルール設定の候補が表示される。
【００４２】
管理者は、操作部５０を用いてルール設定の候補をクリックすると、編集者種類に対して適用されるルール設定が決定される。このように、管理者は、少なくとも１つのルール設定を選択することができる。このとき、管理部１３は、操作部５０からの操作情報に基づき、記録部２０に記録されている定義情報を変更する。
【００４３】
よって、定義情報は、複数のルール設定の情報と、アカウント毎に設定される複数の編集者種類のそれぞれに対して、複数のルール設定の少なくとも１つが適用された情報と、を含む。前記構成によれば、管理者は、アカウント毎に編集者種類を選択することにより、アカウント毎に画面編集可能な編集範囲を容易に設定することができる。
【００４４】
図２の（ｃ）に示す各項目について、「Rule Name」は、図２の（ｂ）に示す「Rule Name(s)」に表示された各ルール設定の名称を示す。「Component」は、画面編集を行うためのプログラムが有する機能を示す。「Type」は、ルール設定の種類を示し、「Rule」は、ルール設定毎の具体的なルールの設定内容を示す。
【００４５】
管理者は、操作部５０を用いて矢印Ａ２をクリックすると、前記プログラムの機能の候補が表示される。管理者は、操作部５０を用いて前記プログラムの機能の候補の１つをクリックすると、ルール設定に対して適用される前記プログラムの機能が決定される。このとき、管理部１３は、操作部５０からの操作情報に基づき、記録部２０に記録されている定義情報を変更する。
【００４６】
また、管理者は、操作部５０を用いて矢印Ａ３をクリックすると、ルール設定の種類の候補が表示される。このように、管理者は、ルール毎にルール設定の種類を選択することができる。このとき、管理部１３は、操作部５０からの操作情報に基づき、記録部２０に記録されている定義情報を変更する。
【００４７】
さらに、管理者は、「Rule」において、具体的なルールの設定内容を、正規表現を含むスクリプトを用いて記述することができる。例えば、「Screen」の「Name」に「[0-9]」という正規表現を追加することにより、「Screen」の名前には数字しか使えなくさせることができる。
【００４８】
管理者は、図２の（ｃ）に示す「Rule」の項目により、変数名、オブジェクト名及びその他の各種のエラーチェックのルールをユーザ毎に作成することができる。図２の（ｃ）に示す「Rule」の項目により設定されるルールとしては、例えば、オブジェクトや変数の命名規則、各オブジェクトのプロパティの数値範囲の規定、オブジェクトや変数の作成個数の上限及び作成可能なオブジェクトの種類の制限が挙げられる。
【００４９】
なお、管理者は、「Rule」において、具体的なルールの設定内容を、正規表現を含まないスクリプトを用いて記述することが可能であってもよい。図２の（ｃ）に示す画面において、「Component」及び「Type」が選択可能であることにより、各ルール設定を容易に行うことができる。
【００５０】
以上により、管理部１３は、プログラマブル表示器２の画面を編集する画面編集ソフト等の画面編集を行うためのプログラムにおいて、ユーザ毎にアカウントを設定可能とする。また、管理部１３は、図２の（ａ）から（ｃ）に示す画面において、複数のアカウントを管理する管理者が、スクリプトを用いて判定部１２による判定のための定義情報を記述可能なように、定義情報を管理する。
【００５１】
前記構成によれば、管理者は、スクリプトを用いて定義情報を記述することができるため、アカウント毎に定義情報を柔軟かつ詳細に設定することができる。よって、管理者は、複雑な編集範囲の設定も容易に行うことができる。また、管理者は、アカウント毎に定義情報を容易に変更することができる。
【００５２】
また、アカウント毎の編集範囲が、画面編集が行われるデータ単位や画面単位等のように予め決められているものではなく、編集範囲を自由に定義することができるため、ユーザ毎の複雑な責任範囲の設定も容易に行うことができる。また、定義情報は記述方式で設定されるため、定義情報の作成を自由に行うことができ、画面編集を行うためのプログラムを自由に選択することができる。
【００５３】
図２の（ａ）から（ｃ）は、表形式の選択とスクリプト表記の組み合わせによる定義情報の一例であるが、以下のように定義情報の全てをスクリプト表記による記述方式としてもよい。
【００５４】
Rule_1 = ScreenDesign.All.Editable
Rule_2 = ScreenDesign.Object.Screen1, Screen2, @Screen, Screen1.Grid1
Rule_3 = Alarm.Property.@ALARMGROUP.Name
Rule_4 = Alarm.Value.@ALARMGROUP.Name = ^A+[0-9a-zA-Z]+[0-9]$
…
このように、定義情報の全てを記述方式とすることで、コピーや追記などによって、多数のルール・アカウント・編集者種類などの編集や、他の定義情報を作成する際の再利用などが容易になる。加えて、表形式で入力した定義情報を、上記のような記述方式にExportする（書き出す）ことと、記述方式で書かれた定義情報をImportする（取り込む）こととをできるようにすれば、編集をさらに容易にすることができる。
【００５５】
また、管理部１３は、管理者が、正規表現を含むスクリプトを用いて定義情報を記述可能なように、定義情報を管理してもよい。前記構成によれば、管理者は、正規表現を含むスクリプトを用いて定義情報を記述することができる。これにより、定義情報の記述量を低減することができる。また、管理者は、記述上のルールが設定された正規表現を用いて定義情報を記述する。これにより、管理者が定義情報を誤って記述することを防ぐことができる。
【００５６】
（判定部１２の処理）
判定部１２は、参照部１１によって記録部２０から参照された定義情報に基づいて、アカウント毎に画面編集可能な編集範囲に応じて編集を制限するか否かを判定する。具体的に図３の（ａ）及び（ｂ）に基づいて以下に説明する。図３の（ａ）は、図２の（ｃ）に示すような設定画面にて設定された定義情報の一例を示す図である。図３の（ｂ）は、図３の（ａ）に示す定義情報によって編集が制限される様子を示す図である。
【００５７】
記録部２０には、例えば、図３の（ａ）に示すような定義情報が記録されている。図３の（ａ）に示すように、「Rule Name」が「Rule_1」であるルール設定では、「Component」が「ScreenDesign」に設定され、「Type」が「Object」に設定され、「Rule」が「Screen1.Grid.Ellipse1」に設定されている。
【００５８】
「Rule_1」のみが適用されたアカウントを使用するユーザは、画面デザイン（ScreenDesign）のオブジェクト（Object）について、複数の画面のうちの画面１（Screen1）内の格子（Grid）上にある楕円１（Ellipse1）のみを編集することができる。つまり、図３の（ｂ）に示すように、「Rule_1」のみが適用されたアカウントを使用するユーザは、画面１内にある格子上に楕円１以外の他のオブジェクトを追加することや編集することなどはできない。
【００５９】
この場合、判定部１２は、「Rule_1」のみが適用されたアカウントを使用するユーザによる楕円１の編集については制限しないと判定し、当該ユーザによる楕円１以外の他のオブジェクトの編集については制限すると判定する。
【００６０】
また、定義情報は、複数の編集対象に対して上下関係が設定された情報を含む。定義情報に含まれる前記上下関係が設定された情報は、記録部２０に予め記録されている。判定部１２は、前記上下関係に基づいて、図２の（ｂ）に示す編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された編集対象よりも下位の編集対象の編集も許可されるように判定する。
【００６１】
前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が許可された編集対象よりも下位の編集対象の編集も許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【００６２】
具体的には、例えば、図３の（ａ）に示す定義情報の場合を考える。この場合、図３の（ｂ）における楕円１の編集まで許可されているため、判定部１２は、編集対象としての楕円１よりも下位の編集対象、つまり、楕円１のプロパティとして、楕円１の色、線種、線の色、線の太さ、位置及びサイズ等の編集を全て許可されるように判定する。
【００６３】
また、他の例として、「Rule」が「Screen1.Canvas.Rectangle1.Fill=[Red,Yellow]」に設定されている場合、長方形１（Rectangle1）の色は、赤色（Red）または黄色（Yellow）に限定される。一方、「Rule」が「Screen1.Canvas.Rectangle1.Fill」に設定されている場合、ユーザは、長方形１の色を自由に設定することができる。
【００６４】
さらに、判定部１２は、前記上下関係に基づいて、図２の（ｂ）に示す編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された編集対象と同位または当該編集対象よりも上位の編集対象の編集は許可されないように判定する。前記所定のルール設定にて編集が許可された編集対象よりも上位の編集対象は許可されないため、前記所定のルール設定において、下位の編集対象として、画面やオブジェクトを指定する必要がある。
【００６５】
なお、判定部１２は、編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が制限された編集対象以外の編集対象の全てについて編集が許可されるように判定してもよい。前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が制限された編集対象以外の編集対象の全てについて編集が許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【００６６】
具体的には、例えば、図３の（ａ）に示す定義情報を用いて編集を制限する場合を考える。「Rule_1」は許可を表す定義であるが、これをある編集者種類に制限するように使用する一例として「Operator_100 = !Rule_1」が考えられる。この場合、判定部１２は、あるアカウントの編集者種類が「Operator_100」であるときに、図３の（ａ）における「Rule_1」の編集対象以外の編集対象の全てについて編集が許可されるように判定する。図３の（ｂ）における編集が制限された編集対象は、画面１、格子及び楕円１である。このとき、判定部１２は、編集が制限された編集対象としての画面１、格子及び楕円１以外の編集対象の全てについて編集が許可されるように判定する。
【００６７】
つまり、判定部１２は、画面１内の格子上にある楕円１以外の編集を全て許可されるように判定する。この場合、編集が制限される編集対象は、楕円１の編集の全てであるため、楕円１のプロパティの全てについて編集を行うことができない。逆に、楕円１以外の編集対象であれば、当該編集対象の全てについて編集を行うことができる。
【００６８】
また、他の例として、「Rule_1」が「Screen1.Canvas.Fill」に設定されている定義情報を用いて編集を制限する場合を考える。「Rule_1」をある編集者種類に制限するように使用する一例として「Operator_100 = !Rule_1 = !Screen1.Canvas.Fill」が考えられる。この場合、ユーザは、画面１のキャンバス（Canvas）内の全てのオブジェクトの塗り込み以外全てを変更することができる。
【００６９】
（作成部１４の処理）
作成部１４は、操作部５０によるユーザ操作に応じて編集処理を行い、画面編集が行われたデータとして、例えば、図４に示す１つの画面のデータを作成する。具体的に図４及び図５に基づいて以下に説明する。図４は、画面編集が行われたデータとしての画面のデータを示す図である。図５は、図４に示す画面のデータが作成される様子を示す模式図である。
【００７０】
ここで、図４に示す１つの画面のデータは、ユーザＡ，Ｂ，Ｃの３人のユーザによって作成されるものとする。また、ユーザＡが基本レイアウトを担当し、ユーザＢがアドレス設定を担当し、ユーザＣが色設定を担当するものとする。図４に示すように、ユーザＡは、編集対象としてのタイトルＴ１、グラフＧ１、数値表示器Ｒ１、スイッチＳＷ１からＳＷ６及び入力キーＩ１といったオブジェクトを編集画面Ｐ１に配置する。
【００７１】
これにより、画面のデータの基本レイアウトが設定され、画面のデータの基本レイアウトは、図５に示すように、記録部２０に記録されている管理データベースのユーザＡ担当の領域に編集画面Ｐ１として記録される。ここでは、ユーザＡが使用するアカウントについて、ユーザＡは、当該アカウントに対応付けられた編集範囲内で編集を行う。
【００７２】
また、ユーザＢは、アドレス設定が必要なグラフＧ１、数値表示器Ｒ１及びスイッチＳＷ１からＳＷ６のアドレスを設定する。これにより、画面のデータの各編集対象のアドレスが設定され、画面のデータの各編集対象のアドレスは、図５に示すように、管理データベースのユーザＢ担当の領域に、編集情報であるアドレス設定１として記録される。ここでは、ユーザＢが使用するアカウントについて、ユーザＢは、当該アカウントに対応付けられた編集範囲内で編集を行う。
【００７３】
さらに、ユーザＣは、タイトルＴ１、グラフＧ１、数値表示器Ｒ１、スイッチＳＷ１からＳＷ６及び入力キーＩ１の色を設定する。これにより、画面のデータの各編集対象の色が設定され、画面のデータの各編集対象の色は、図５に示すように、管理データベースのユーザＣ担当の領域に、編集情報である色設定１として記録される。ここでは、ユーザＣが使用するアカウントについて、ユーザＣは、当該アカウントに対応付けられた編集範囲内で編集を行う。
【００７４】
参照部１１は、編集画面Ｐ１、アドレス設定１及び色設定１を関連付けるリンク情報を参照する。編集画面Ｐ１は、ユーザＡが使用するアカウントに対応付けられた編集範囲内で編集された編集画面である。アドレス設定１は、ユーザＢが使用するアカウントに対応付けられた編集範囲内で編集された編集情報である。色設定１は、ユーザＣが使用するアカウントに対応付けられた編集範囲内で編集された編集情報である。
【００７５】
作成部１４は、図５に示すように、参照部１１によって参照されたリンク情報において関連付けられた編集画面Ｐ１、アドレス設定１及び色設定１を組み合わせることにより、画面編集が行われたデータとして、Ｘ社向けのプロジェクトを作成する。このように、１つの画面を複数のユーザによって作成することができる。
【００７６】
また、参照部１１は、編集画面Ｐ１、アドレス設定１とは異なるアドレス設定２及び色設定１とは異なる色設定２を関連付けるリンク情報を参照してもよい。この場合、作成部１４は、参照部１１によって参照されたリンク情報において関連付けられた編集画面Ｐ１、アドレス設定２及び色設定２を組み合わせることにより、画面編集が行われたデータとして、Ｙ社向けのプロジェクトを作成する。Ｚ社向けのプロジェクトについても作成部１４によって同様に作成される。
【００７７】
以上により、参照部１１は、複数のアカウントに対応付けられた編集範囲内で編集された編集画面及び編集画面に関する編集情報について、編集画面と、少なくとも１つの編集情報と、を関連付けるリンク情報を参照する。また、作成部１４は、参照部１１によって参照されたリンク情報において関連付けられた編集画面と、少なくとも１つの編集情報と、を組み合わせることにより、画面編集が行われたデータを作成する。
【００７８】
前記構成によれば、編集画面や編集画面に関する編集情報を再編集する場合、アカウント毎に編集画面や編集情報を再編集する。このため、編集画面や編集情報を効率的に再編集することができることに加え、画面編集が行われた複数のデータで同じ修正をする必要がなくなり、人為的なミスを発生しにくくすることができる。
【００７９】
また、リンク情報において関連付けられた編集画面と編集情報とを組み合わせることにより、画面編集が行われたデータが作成される。このため、画面編集が行われたデータが複数作成された場合において、編集画面の変更や編集情報の変更を、画面編集が行われた複数のデータに対して一気に反映させることができる。よって、ユーザによる画面作成の時間を短縮することができる。
【００８０】
〔実施形態２〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、前記実施形態１にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。図６は、本発明の実施形態２に係るＰＣにおいて、定義情報の記録場所の一例を示す図である。
【００８１】
図６に示すように、ユーザＡ，Ｂは、Ｘ社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトＰＲＪ１を編集する。ユーザＣ，Ｄは、Ｘ社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトＰＲＪ２を編集する。ユーザＡからＤは、画面編集を行うための共通のプログラムＰＲＧを用いる。
【００８２】
ユーザＡからＤが使用するアカウントには、それぞれのアカウントに対応付けられる定義情報に共通した情報であり、かつ、Ｘ社向けのプロジェクトについて画面編集を行うための共通定義情報ＲＸが対応付けられる。共通定義情報ＲＸは、プログラムＰＲＧに含まれる情報であり、各ユーザに対して後述する専用定義情報が適用される前に、プログラムＰＲＧを使用する各ユーザに対して適用される。
【００８３】
プロジェクトＰＲＪ１，ＰＲＪ２及びプログラムＰＲＧは、記録部２０に記録されてもよいが、ＰＣ１に接続される記録媒体等のＰＣ１の外部のものに記録されてもよい。また、プロジェクトＰＲＪ１，ＰＲＪ２及びプログラムＰＲＧの一方が、記録部２０に記録されてもよく、プロジェクトＰＲＪ１，ＰＲＪ２及びプログラムＰＲＧの他方が、ＰＣ１に接続される記録媒体等のＰＣ１の外部のものに記録されてもよい。
【００８４】
さらに、ユーザＡが使用するアカウントには、当該アカウントに対応付けられる定義情報の専用の情報である専用定義情報ＲＡが対応付けられる。専用定義情報ＲＡは、プロジェクトＰＲＪ１に含まれる情報であり、ユーザＡが使用するアカウントに対応付けられる定義情報の一部である。
【００８５】
つまり、ユーザＡが使用するアカウントに対応付けられる定義情報は、専用定義情報ＲＡ及び共通定義情報ＲＸから構成される。ユーザＢからＤが使用するアカウントに対応付けられる定義情報についても同様に、それぞれ、専用定義情報ＲＢからＲＤ及び共通定義情報ＲＸから構成される。プロジェクト毎に専用定義情報が記録されれば、許可を与えられていないユーザが、プロジェクトを開いてもそのプロジェクトを編集することができない。
【００８６】
図６に示すように、ユーザＥ，Ｆは、Ｙ社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトＰＲＪ３を編集する。ユーザＧ，Ｈは、Ｙ社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトＰＲＪ４を編集する。ユーザＥからＨは、画面編集を行うための共通のプログラムＰＲＧを用いる。
【００８７】
Ｙ社向けのプロジェクトであるプロジェクトＰＲＪ３，ＰＲＪ４についても同様に、ユーザＥからＨが使用するアカウントに対応付けられる定義情報は、それぞれ、専用定義情報ＲＥからＲＨ及び共通定義情報ＲＹから構成される。共通定義情報ＲＹは、Ｙ社向けのプロジェクトについて画面編集を行うための情報であるが、共通定義情報ＲＸと同一の情報であってもよい。
【００８８】
ここで、例えば、参照部１１が、ユーザＡが使用するアカウントに対応付けられる定義情報を参照する場合を考える。この場合、参照部１１は、プログラムＰＲＧが起動した場合とプロジェクトＰＲＪ１が開かれた場合の少なくとも一方において、プログラムＰＲＧに含まれる共通定義情報ＲＸと、プロジェクトＰＲＪ１に含まれる専用定義情報ＲＡと、を参照する。
【００８９】
なお、専用定義情報ＲＡ及び共通定義情報ＲＸの両方は、プログラムＰＲＧ及びプロジェクトＰＲＪ１のいずれか一方に含まれてもよい。この場合、参照部１１は、プログラムＰＲＧ及びプロジェクトＰＲＪ１のいずれか一方に含まれる専用定義情報ＲＡ及び共通定義情報ＲＸの両方を参照する。
【００９０】
また、専用定義情報ＲＡ及び共通定義情報ＲＸの両方は、プログラムＰＲＧ及びプロジェクトＰＲＪ１の外部にあるファイルに設けられてもよい。この場合、参照部１１は、プログラムＰＲＧ及びプロジェクトＰＲＪ１の外部にあるファイルに設けられた専用定義情報ＲＡ及び共通定義情報ＲＸの両方を参照する。さらに、専用定義情報ＲＡが存在せず、共通定義情報ＲＸのみが存在していてもよい。この場合、参照部１１は、共通定義情報ＲＸのみを参照する。
【００９１】
ユーザＡが使用するアカウントに対応付けられる定義情報に関して説明した内容については、参照部１１が、ユーザＢからＨが使用するアカウントに対応付けられる定義情報を参照する場合についても同様である。ここで、参照部１１が定義情報を参照した後、前述した内容と同様に、判定部１２による判定が行われる。
【００９２】
以上により、参照部１１は、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、前記プログラムと前記データの少なくとも一方に含まれる定義情報、または前記プログラム及び前記データの外部に設けられる前記定義情報を参照する。
【００９３】
前記構成によれば、ユーザがプログラムを起動した場合とデータのファイルを開いた場合の少なくとも一方において、アカウント毎に編集を制限するか否かが判定されるため、アカウント毎に編集を自動的に制限することができる。
【００９４】
また、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、画面編集を行うためのプログラムが行うエラーチェックに、アカウントに対応付けられた定義情報が自動的に適用される。画面編集を行うためのプログラムが行うエラーチェックは、スクリプトを用いて管理されているため、前記エラーチェックに対する定義情報の適用を、コンパイルレスで行うことができる。
【００９５】
このため、管理者が定義情報を変更する場合、管理者は、画面編集が行われるデータを開き、定義情報を変更して保存するだけで、定義情報の編集を行うことができる。また、複数のユーザで画面編集を行う場合の流れについて以下に説明する。管理者が最初に画面編集が行われるデータを作成するとともに、アカウント毎の定義情報を作成し、定義情報を画面編集が行われるデータに埋め込む。
【００９６】
次に、管理者は、作成した画面編集が行われるデータをコピーし、これらを各ユーザに配布する。ユーザは自身のアカウントでログインして画面編集を行うことで、自分のエラーチェックで画面編集を行う。定義情報は、画面編集が行われるデータに埋め込まれているため、違うユーザが同じデータに対して画面編集を行うとき、それぞれのアカウントでログインすることでそれぞれの定義情報で画面編集を行うことができる。
【００９７】
よって、管理者は、エラーチェックによって変数名等を管理できるため、衝突がなくなり、マージを行い易くなる。具体的には、管理者は、ユーザ毎に定義情報を設定することができるため、２つのプロジェクトをマージさせる際、衝突が起きないようにすることができる。２つのプロジェクトをマージさせる際の衝突の一例としては、作成されたオブジェクト名、画面番号や画面の名称が被っていた場合が挙げられる。
【００９８】
これらの衝突が起こらないようにするため、管理者は、ユーザＡによって作成されるオブジェクト名及び画面の名称がＡから始まる名称となり、画面番号が１０００番台となるように、定義情報を設定することが好ましい。また、管理者は、ユーザＢによって作成されるオブジェクト名及び画面の名称がＢから始まる名称となり、画面番号が２０００番台となるように、定義情報を設定することが好ましい。
【００９９】
このように、管理者がユーザ毎に定義情報を設定することにより、各ユーザがプログラムのエラーチェックの機能を使用する際に衝突が起こることを防ぐことができるため、プログラムにおける自動マージ機能を容易に実現することができる。
【０１００】
〔ソフトウェアによる実現例〕
ＰＣ１の制御ブロック（特に制御部１０）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【０１０１】
後者の場合、ＰＣ１は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、前記プログラムは、当該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１０２】
本発明は前述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１０３】
１  ＰＣ（画面作成装置）
１１  参照部
１２  判定部
１３  管理部
１４  作成部
Ｐ１  編集画面
ＰＲＪ１、ＰＲＪ２、ＰＲＪ３、ＰＲＪ４  プロジェクト（画面編集が行われるデータ）
ＰＲＧ  プログラム（画面編集を行うためのプログラム）
【図１】
2020190827.tif 000003
【図２】
2020190827.tif 000004
【図３】
2020190827.tif 000005
【図４】
2020190827.tif 000006
【図５】
2020190827.tif 000007
【図６】
2020190827.tif 000008