IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シュナイダーエレクトリックホールディングス株式会社の特許一覧

<>
  • 特許-画面作成装置 図1
  • 特許-画面作成装置 図2
  • 特許-画面作成装置 図3
  • 特許-画面作成装置 図4
  • 特許-画面作成装置 図5
  • 特許-画面作成装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-09
(45)【発行日】2024-04-17
(54)【発明の名称】画面作成装置
(51)【国際特許分類】
   G05B 19/05 20060101AFI20240410BHJP
【FI】
G05B19/05 B
【請求項の数】 6
(21)【出願番号】P 2019094558
(22)【出願日】2019-05-20
(65)【公開番号】P2020190827
(43)【公開日】2020-11-26
【審査請求日】2022-05-09
(73)【特許権者】
【識別番号】317014747
【氏名又は名称】シュナイダーエレクトリックホールディングス株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】元山 恭輔
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】特開2015-099999(JP,A)
【文献】特開2017-146803(JP,A)
【文献】特開2016-134137(JP,A)
【文献】国際公開第2014/061093(WO,A1)
【文献】特開2017-010362(JP,A)
【文献】特開2009-218937(JP,A)
【文献】特開2002-342385(JP,A)
【文献】特開2007-148875(JP,A)
【文献】特開2017-146804(JP,A)
【文献】特開2016-212916(JP,A)
【文献】特開2010-009578(JP,A)
【文献】国際公開第2017/072928(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
プログラマブル表示器が表示する画面を作成する画面作成装置であって、
画面編集の対象である複数の編集対象を含む前記画面の画面編集を分担して行う複数の編集者毎に認証するための複数のアカウントと、当該複数のアカウント毎に前記編集対象が指定された情報としての画面編集可能な編集範囲と、を対応付けて定義する定義情報を参照する参照部と、
前記参照部によって参照された前記定義情報に基づいて、前記アカウント毎に前記編集範囲に応じて、前記プログラマブル表示器が表示する画面の作成において画面の編集を制限するか否かを判定する判定部と、
前記複数のアカウントを管理する管理者が、正規表現を含むスクリプトを用いて前記判定部による判定のための前記定義情報を記述可能なように、前記定義情報を管理する管理部と、を備えることを特徴とする画面作成装置。
【請求項2】
前記参照部は、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、前記プログラムと前記データの少なくとも一方に含まれる前記定義情報、または前記プログラム及び前記データの外部に設けられる前記定義情報を参照することを特徴とする請求項に記載の画面作成装置。
【請求項3】
前記定義情報は、画面編集の対象であり、かつ、画面の一部を構成する前記編集対象について編集が可能であるか否かを示す複数のルール設定の情報と、前記アカウント毎に設定され、画面編集を行う編集者の種類を示す複数の編集者種類のそれぞれに対して、前記複数のルール設定の少なくとも1つが適用された情報と、を含むことを特徴とする請求項1または2に記載の画面作成装置。
【請求項4】
前記定義情報は、複数の前記編集対象に対して上下関係が設定された情報を含み、
前記判定部は、前記上下関係に基づいて、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された前記編集対象よりも下位の編集対象の編集も許可されるように判定することを特徴とする請求項に記載の画面作成装置。
【請求項5】
前記判定部は、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が制限された前記編集対象以外の編集対象の全てについて編集が許可されるように判定することを特徴とする請求項に記載の画面作成装置。
【請求項6】
前記参照部は、前記複数のアカウントに対応付けられた前記編集範囲内で編集された編集画面及び前記編集画面に関する編集情報について、前記編集画面と、少なくとも1つの前記編集情報と、を関連付けるリンク情報を参照し、
前記参照部によって参照された前記リンク情報において関連付けられた前記編集画面と、少なくとも1つの前記編集情報と、を組み合わせることにより、画面編集が行われたデータを作成する作成部をさらに備えることを特徴とする請求項1からのいずれか1項に記載の画面作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面作成装置に関する。
【背景技術】
【0002】
プログラマブル表示器の画面は、詳細化し、かつ、複雑化する傾向にあるため、関連する複数の画面をまとめたプロジェクトの規模は、ますます大きくなってきている。そのため、1人でプロジェクトの全てを制作することができず、複数の編集者で1つのプロジェクトを制作することが多くなってきている。よって、プロジェクトに属する画面を編集する画面編集ソフトには、1つのプロジェクトの制作作業に係る分業を管理することが求められる。
【0003】
例えば、特許文献1に開示されているプログラミング装置は、ユーザがプログラマブルロジックコントローラにアクセス操作を行うときに、ユーザが入力したパスワードに対応するアクセス権限のレベルに基づいてユーザが行う機能別のアクセス操作の種類を制限する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2007-280348号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示されているプログラミング装置では、ユーザが行う機能別のアクセス操作の種類を選択して制限するため、アカウント毎にユーザが行う機能別のアクセス操作の種類を柔軟かつ詳細に設定することができないという問題がある。本発明の一態様は、アカウント毎に画面編集可能な編集範囲を定義する定義情報を柔軟かつ詳細に設定することを目的とする。
【課題を解決するための手段】
【0006】
前記の課題を解決するために、本発明の一態様に係る画面作成装置は、画面編集を行うユーザを認証するための複数のアカウントと、画面編集の対象であり、かつ、画面の一部を構成する編集対象が指定された情報としての画面編集可能な編集範囲と、を対応付けて定義する定義情報を参照する参照部と、前記参照部によって参照された前記定義情報に基づいて、前記アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する判定部と、を備える。
【0007】
前記構成によれば、ユーザは、画面の一部を構成する編集対象が指定された状態で、画面編集を行うことができる。よって、編集対象の作成について、ユーザ毎に役割分担させることができる。
【0008】
また、本発明の一態様に係る画面作成装置は、画面編集を行うユーザを認証するための複数のアカウントと画面編集可能な編集範囲とを対応付けて定義する定義情報を参照する参照部と、前記参照部によって参照された前記定義情報に基づいて、前記アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する判定部と、前記複数のアカウントを管理する管理者が、スクリプトを用いて前記判定部による判定のための前記定義情報を記述可能なように、前記定義情報を管理する管理部と、を備える。
【0009】
前記構成によれば、管理者は、スクリプトを用いて定義情報を記述することができるため、アカウント毎に定義情報を柔軟かつ詳細に設定することができる。よって、管理者は、複雑な編集範囲の設定も容易に行うことができる。また、管理者は、アカウント毎に定義情報を容易に変更することができる。
【0010】
前記管理部は、前記管理者が、正規表現を含む前記スクリプトを用いて前記定義情報を記述可能なように、前記定義情報を管理してもよい。
【0011】
前記構成によれば、管理者は、正規表現を含むスクリプトを用いて定義情報を記述することができる。これにより、定義情報の記述量を低減することができる。また、管理者は、記述上のルールが設定された正規表現を用いて定義情報を記述する。これにより、管理者が定義情報を誤って記述することを防ぐことができる。
【0012】
前記参照部は、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、前記プログラムと前記データの少なくとも一方に含まれる前記定義情報、または前記プログラム及び前記データの外部に設けられる前記定義情報を参照してもよい。
【0013】
前記構成によれば、ユーザがプログラムを起動した場合とデータのファイルを開いた場合の少なくとも一方において、アカウント毎に編集を制限するか否かが判定されるため、アカウント毎に編集を自動的に制限することができる。
【0014】
前記定義情報は、画面編集の対象であり、かつ、画面の一部を構成する編集対象について編集が可能であるか否かを示す複数のルール設定の情報と、前記アカウント毎に設定され、画面編集を行う編集者の種類を示す複数の編集者種類のそれぞれに対して、前記複数のルール設定の少なくとも1つが適用された情報と、を含んでもよい。
【0015】
前記構成によれば、アカウント毎に設定される編集者種類のそれぞれに対して、複数のルール設定の少なくとも1つが適用される。このため、管理者は、アカウント毎に編集者種類を選択することにより、アカウント毎に画面編集可能な編集範囲を容易に設定することができる。
【0016】
前記定義情報は、複数の前記編集対象に対して上下関係が設定された情報を含み、前記判定部は、前記上下関係に基づいて、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された前記編集対象よりも下位の編集対象の編集も許可されるように判定してもよい。
【0017】
前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が許可された編集対象よりも下位の編集対象の編集も許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【0018】
前記判定部は、前記編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が制限された前記編集対象以外の編集対象の全てについて編集が許可されるように判定してもよい。
【0019】
前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が制限された編集対象以外の編集対象の全てについて編集が許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【0020】
前記参照部は、前記複数のアカウントに対応付けられた前記編集範囲内で編集された編集画面及び前記編集画面に関する編集情報について、前記編集画面と、少なくとも1つの前記編集情報と、を関連付けるリンク情報を参照し、前記画面作成装置は、前記参照部によって参照された前記リンク情報において関連付けられた前記編集画面と、少なくとも1つの前記編集情報と、を組み合わせることにより、画面編集が行われたデータを作成する作成部をさらに備えてもよい。
【0021】
前記構成によれば、編集画面や編集画面に関する編集情報を再編集する場合、アカウント毎に編集画面や編集情報を再編集する。このため、編集画面や編集情報を効率的に再編集することができることに加え、画面編集が行われた複数のデータで同じ修正をする必要がなくなり、人為的なミスを発生しにくくすることができる。
【0022】
また、リンク情報において関連付けられた編集画面と編集情報とを組み合わせることにより、画面編集が行われたデータが作成される。このため、画面編集が行われたデータが複数作成された場合において、編集画面の変更や編集情報の変更を、画面編集が行われた複数のデータに対して一気に反映させることができる。よって、ユーザによる画面作成の時間を短縮することができる。
【発明の効果】
【0023】
本発明の一態様によれば、アカウント毎に画面編集可能な編集範囲を定義する定義情報を柔軟かつ詳細に設定することができる。
【図面の簡単な説明】
【0024】
図1】本発明の実施形態1に係るPCと、プログラマブル表示器と、の構成を示すブロック図である。
図2】(a)は、管理者のみが開くことが可能なアカウントの設定画面を示す図である。(b)は、管理者のみが開くことが可能な編集者種類の設定画面を示す図である。(c)は、管理者のみが開くことが可能なルール設定の設定画面を示す図である。
図3】(a)は、図2の(c)に示すような設定画面にて設定された定義情報の一例を示す図である。(b)は、(a)に示す定義情報によって編集が制限される様子を示す図である。
図4】画面編集が行われたデータとしての画面のデータを示す図である。
図5図4に示す画面のデータが作成される様子を示す模式図である。
図6】本発明の実施形態2に係るPCにおいて、定義情報の記録場所の一例を示す図である。
【発明を実施するための形態】
【0025】
〔実施形態1〕
パーソナルコンピュータ(以降、単に「PC」と称する)1と、プログラマブル表示器2と、の構成について図1に基づいて説明する。図1は、本発明の実施形態1に係るPC1と、プログラマブル表示器2と、の構成を示すブロック図である。
【0026】
(PC1の構成)
PC1は、図1に示すように、制御部10と、記録部20と、インターフェース部30と、表示部40と、操作部50と、を備えている。PC1は、プログラマブル表示器2と接続されている。PC1は、画面編集を行うためのプログラムを実行することにより、プログラマブル表示器2が表示する画面を作成する画面作成装置として機能する。
【0027】
制御部10は、参照部11と、判定部12と、管理部13と、作成部14と、表示制御部15と、通信制御部16と、を備えている。制御部10は、PC1の各部を制御する。参照部11は、記録部20に記録された定義情報を参照する。
【0028】
前記定義情報は、画面編集を行うユーザを認証するための複数のアカウントと、画面編集の対象であり、かつ、画面の一部を構成する編集対象が指定された情報としての画面編集可能な編集範囲と、を対応付けて定義する情報である。前記構成によれば、ユーザは、画面の一部を構成する編集対象が指定された状態で、画面編集を行うことができる。よって、編集対象の作成について、ユーザ毎に役割分担させることができる。
【0029】
前記編集対象の一例としては、例えば、画面に含まれる複数のレイヤーと、画面内の領域と、画面に含まれるオブジェクトとが挙げられる。前記オブジェクトには、例えば、部品及び図形が含まれる。また、前記編集対象の一例としては、例えば、部品について、位置、サイズ、文字、アドレス、変数名等の部品の属性の一部が挙げられ、さらに、図形について、位置、サイズ、線種、線の太さ、色等の図形の属性の一部が挙げられる。アドレスは、PLC3のメモリまたはプログラマブル表示器2の内部メモリのアドレスである。変数名は、ユーザがアドレスを認識しやすいようにアドレスの代わりにユーザに提示される情報である。
【0030】
ここでは、前記定義情報が記録部20に記録されているものとして説明するが、前記定義情報は、例えば、PC1に接続される記録媒体に記録されてもよい。この場合、参照部11は、記録媒体がPC1に接続されている状態において、記録媒体に記録された前記定義情報を参照する。つまり、本発明の一態様は、前記定義情報が記録部20に記録される場合に限定されるものではなく、前記定義情報は、PC1の外部のものに記録されてもよい。
【0031】
判定部12は、参照部11によって参照された前記定義情報に基づいて、アカウント毎に前記編集範囲に応じて編集を制限するか否かを判定する。管理部13は、記録部20に記録された前記定義情報を管理する。判定部12、管理部13及び作成部14の処理の詳細については後述する。表示制御部15は、表示部40の表示に関する制御を行う。通信制御部16は、インターフェース部30によるPC1とプログラマブル表示器2との間の通信に関する制御を行う。
【0032】
インターフェース部30は、PC1がプログラマブル表示器2と通信を行うための通信部である。表示部40は、PC1での処理内容を表示するモニタである。操作部50は、例えば、ユーザがデータの入力を行うためのキーボードやユーザが操作を行うためのマウスである。
【0033】
(プログラマブル表示器2の構成)
プログラマブル表示器2は、図1に示すように、制御部21と、表示パネル22と、タッチパネル23と、ユーザメモリ24と、インターフェース部25,26と、を備えている。プログラマブル表示器2は、外部機器としてのPLC(プログラマブルロジックコントローラ)3と接続されている。
【0034】
プログラマブル表示器2は、通信ケーブルを介してPLC3と接続されることにより、PLC3との間で通信を行う。プログラマブル表示器2は、操作及び表示のための画面を表示することにより、プログラマブル表示器特有の操作機能と表示機能とを実現する専用コンピュータであり、HMI(Human Machine Interface)機器として使用される。
【0035】
制御部21は、PLC3と接続されたデバイス4の状態を表示する動作や、タッチパネル23への操作に応じてデバイス4の状態を制御する動作を特定する。表示パネル22は、ユーザによって作成された画面や、デバイス4の状態を表示する。ユーザメモリ24は、ユーザによって作成された画面を、関連する複数の画面(画面群)のまとまりとしてプロジェクトというファイル形式で記録する。プロジェクトは、PC1の作成部14によって作成されて、PC1からダウンロードされる。インターフェース部25は、プログラマブル表示器2がPC1と通信を行うための通信部である。インターフェース部26は、プログラマブル表示器2がPLC3と通信を行うための通信部である。
【0036】
PLC3は、ユーザによって作成されたシーケンスプログラムにしたがって、予め定められたスキャンタイム毎に、デバイス4の状態を読み出したり、デバイス4に制御指示を与えたりする制御装置である。
【0037】
(管理部13の処理)
管理部13は、図2の(a)から(c)に示すような定義情報を管理する。図2の(a)は、管理者のみが開くことが可能なアカウントの設定画面を示す図である。図2の(b)は、管理者のみが開くことが可能な編集者種類の設定画面を示す図である。図2の(c)は、管理者のみが開くことが可能なルール設定の設定画面を示す図である。図2の(a)から(c)に示す画面は、画面編集を行うためのプログラムによって開かれ、PC1の表示部40に表示される。ここで、管理者とは、各アカウントの管理を行う者である。
【0038】
図2の(a)に示す各項目について、「User Name」は、ログインのためのアカウントに係るユーザの名称を示し、「Password」は、ログインのためのアカウントのパスワードを示す。ログインの機能は、画面編集を行うためのプログラムと画面編集が行われるデータの少なくとも一方に設けられている。
【0039】
「Operator Type」は、画面編集を行う編集者の種類を示す。管理者は、操作部50を用いて矢印A1をクリックすると、画面編集を行う編集者の種類を示す複数の編集者種類の候補が表示される。管理者は、操作部50を用いて編集者種類の候補の1つをクリックすると、アカウントについて編集者種類が決定される。
【0040】
このように、管理者は、アカウント毎に編集者種類を選択することができる。また、管理者は、図2の(a)に示す画面において、画面編集を行うためのプログラムと画面編集が行われるデータの少なくとも一方にアカウントを追加することができる。このとき、管理部13は、操作部50からの操作情報に基づき、記録部20に記録されている定義情報を変更する。前記編集者種類の設定は、図2の(b)に示す画面で設定される。
【0041】
図2の(b)に示す各項目について、「Operator Type」は、図2の(a)に示す「Operator Type」と同一の編集者種類を示す。「Rule Name(s)」は、画面編集の対象であり、かつ、画面の一部を構成する編集対象について編集が可能であるか否かを示す複数のルール設定の名称を示す。管理者は、ボタンB1をクリックすると、複数のルール設定の候補が表示される。
【0042】
管理者は、操作部50を用いてルール設定の候補をクリックすると、編集者種類に対して適用されるルール設定が決定される。このように、管理者は、少なくとも1つのルール設定を選択することができる。このとき、管理部13は、操作部50からの操作情報に基づき、記録部20に記録されている定義情報を変更する。
【0043】
よって、定義情報は、複数のルール設定の情報と、アカウント毎に設定される複数の編集者種類のそれぞれに対して、複数のルール設定の少なくとも1つが適用された情報と、を含む。前記構成によれば、管理者は、アカウント毎に編集者種類を選択することにより、アカウント毎に画面編集可能な編集範囲を容易に設定することができる。
【0044】
図2の(c)に示す各項目について、「Rule Name」は、図2の(b)に示す「Rule Name(s)」に表示された各ルール設定の名称を示す。「Component」は、画面編集を行うためのプログラムが有する機能を示す。「Type」は、ルール設定の種類を示し、「Rule」は、ルール設定毎の具体的なルールの設定内容を示す。
【0045】
管理者は、操作部50を用いて矢印A2をクリックすると、前記プログラムの機能の候補が表示される。管理者は、操作部50を用いて前記プログラムの機能の候補の1つをクリックすると、ルール設定に対して適用される前記プログラムの機能が決定される。このとき、管理部13は、操作部50からの操作情報に基づき、記録部20に記録されている定義情報を変更する。
【0046】
また、管理者は、操作部50を用いて矢印A3をクリックすると、ルール設定の種類の候補が表示される。このように、管理者は、ルール毎にルール設定の種類を選択することができる。このとき、管理部13は、操作部50からの操作情報に基づき、記録部20に記録されている定義情報を変更する。
【0047】
さらに、管理者は、「Rule」において、具体的なルールの設定内容を、正規表現を含むスクリプトを用いて記述することができる。例えば、「Screen」の「Name」に「[0-9]」という正規表現を追加することにより、「Screen」の名前には数字しか使えなくさせることができる。
【0048】
管理者は、図2の(c)に示す「Rule」の項目により、変数名、オブジェクト名及びその他の各種のエラーチェックのルールをユーザ毎に作成することができる。図2の(c)に示す「Rule」の項目により設定されるルールとしては、例えば、オブジェクトや変数の命名規則、各オブジェクトのプロパティの数値範囲の規定、オブジェクトや変数の作成個数の上限及び作成可能なオブジェクトの種類の制限が挙げられる。
【0049】
なお、管理者は、「Rule」において、具体的なルールの設定内容を、正規表現を含まないスクリプトを用いて記述することが可能であってもよい。図2の(c)に示す画面において、「Component」及び「Type」が選択可能であることにより、各ルール設定を容易に行うことができる。
【0050】
以上により、管理部13は、プログラマブル表示器2の画面を編集する画面編集ソフト等の画面編集を行うためのプログラムにおいて、ユーザ毎にアカウントを設定可能とする。また、管理部13は、図2の(a)から(c)に示す画面において、複数のアカウントを管理する管理者が、スクリプトを用いて判定部12による判定のための定義情報を記述可能なように、定義情報を管理する。
【0051】
前記構成によれば、管理者は、スクリプトを用いて定義情報を記述することができるため、アカウント毎に定義情報を柔軟かつ詳細に設定することができる。よって、管理者は、複雑な編集範囲の設定も容易に行うことができる。また、管理者は、アカウント毎に定義情報を容易に変更することができる。
【0052】
また、アカウント毎の編集範囲が、画面編集が行われるデータ単位や画面単位等のように予め決められているものではなく、編集範囲を自由に定義することができるため、ユーザ毎の複雑な責任範囲の設定も容易に行うことができる。また、定義情報は記述方式で設定されるため、定義情報の作成を自由に行うことができ、画面編集を行うためのプログラムを自由に選択することができる。
【0053】
図2の(a)から(c)は、表形式の選択とスクリプト表記の組み合わせによる定義情報の一例であるが、以下のように定義情報の全てをスクリプト表記による記述方式としてもよい。
【0054】
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する(取り込む)こととをできるようにすれば、編集をさらに容易にすることができる。
【0055】
また、管理部13は、管理者が、正規表現を含むスクリプトを用いて定義情報を記述可能なように、定義情報を管理してもよい。前記構成によれば、管理者は、正規表現を含むスクリプトを用いて定義情報を記述することができる。これにより、定義情報の記述量を低減することができる。また、管理者は、記述上のルールが設定された正規表現を用いて定義情報を記述する。これにより、管理者が定義情報を誤って記述することを防ぐことができる。
【0056】
(判定部12の処理)
判定部12は、参照部11によって記録部20から参照された定義情報に基づいて、アカウント毎に画面編集可能な編集範囲に応じて編集を制限するか否かを判定する。具体的に図3の(a)及び(b)に基づいて以下に説明する。図3の(a)は、図2の(c)に示すような設定画面にて設定された定義情報の一例を示す図である。図3の(b)は、図3の(a)に示す定義情報によって編集が制限される様子を示す図である。
【0057】
記録部20には、例えば、図3の(a)に示すような定義情報が記録されている。図3の(a)に示すように、「Rule Name」が「Rule_1」であるルール設定では、「Component」が「ScreenDesign」に設定され、「Type」が「Object」に設定され、「Rule」が「Screen1.Grid.Ellipse1」に設定されている。
【0058】
「Rule_1」のみが適用されたアカウントを使用するユーザは、画面デザイン(ScreenDesign)のオブジェクト(Object)について、複数の画面のうちの画面1(Screen1)内の格子(Grid)上にある楕円1(Ellipse1)のみを編集することができる。つまり、図3の(b)に示すように、「Rule_1」のみが適用されたアカウントを使用するユーザは、画面1内にある格子上に楕円1以外の他のオブジェクトを追加することや編集することなどはできない。
【0059】
この場合、判定部12は、「Rule_1」のみが適用されたアカウントを使用するユーザによる楕円1の編集については制限しないと判定し、当該ユーザによる楕円1以外の他のオブジェクトの編集については制限すると判定する。
【0060】
また、定義情報は、複数の編集対象に対して上下関係が設定された情報を含む。定義情報に含まれる前記上下関係が設定された情報は、記録部20に予め記録されている。判定部12は、前記上下関係に基づいて、図2の(b)に示す編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された編集対象よりも下位の編集対象の編集も許可されるように判定する。
【0061】
前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が許可された編集対象よりも下位の編集対象の編集も許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【0062】
具体的には、例えば、図3の(a)に示す定義情報の場合を考える。この場合、図3の(b)における楕円1の編集まで許可されているため、判定部12は、編集対象としての楕円1よりも下位の編集対象、つまり、楕円1のプロパティとして、楕円1の色、線種、線の色、線の太さ、位置及びサイズ等の編集を全て許可されるように判定する。
【0063】
また、他の例として、「Rule」が「Screen1.Canvas.Rectangle1.Fill=[Red,Yellow]」に設定されている場合、長方形1(Rectangle1)の色は、赤色(Red)または黄色(Yellow)に限定される。一方、「Rule」が「Screen1.Canvas.Rectangle1.Fill」に設定されている場合、ユーザは、長方形1の色を自由に設定することができる。
【0064】
さらに、判定部12は、前記上下関係に基づいて、図2の(b)に示す編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が許可された編集対象と同位または当該編集対象よりも上位の編集対象の編集は許可されないように判定する。前記所定のルール設定にて編集が許可された編集対象よりも上位の編集対象は許可されないため、前記所定のルール設定において、下位の編集対象として、画面やオブジェクトを指定する必要がある。
【0065】
なお、判定部12は、編集者種類に所定のルール設定が適用されれば、前記編集者種類には、当該所定のルール設定にて編集が制限された編集対象以外の編集対象の全てについて編集が許可されるように判定してもよい。前記構成によれば、管理者は、ルール設定を容易に作成することができるため、アカウント毎の編集の制限を容易に行うことができる。また、編集者種類には所定のルール設定にて編集が制限された編集対象以外の編集対象の全てについて編集が許可されるため、管理者によるルール設定の作成に係る作業を削減することができる。
【0066】
具体的には、例えば、図3の(a)に示す定義情報を用いて編集を制限する場合を考える。「Rule_1」は許可を表す定義であるが、これをある編集者種類に制限するように使用する一例として「Operator_100 = !Rule_1」が考えられる。この場合、判定部12は、あるアカウントの編集者種類が「Operator_100」であるときに、図3の(a)における「Rule_1」の編集対象以外の編集対象の全てについて編集が許可されるように判定する。図3の(b)における編集が制限された編集対象は、画面1、格子及び楕円1である。このとき、判定部12は、編集が制限された編集対象としての画面1、格子及び楕円1以外の編集対象の全てについて編集が許可されるように判定する。
【0067】
つまり、判定部12は、画面1内の格子上にある楕円1以外の編集を全て許可されるように判定する。この場合、編集が制限される編集対象は、楕円1の編集の全てであるため、楕円1のプロパティの全てについて編集を行うことができない。逆に、楕円1以外の編集対象であれば、当該編集対象の全てについて編集を行うことができる。
【0068】
また、他の例として、「Rule_1」が「Screen1.Canvas.Fill」に設定されている定義情報を用いて編集を制限する場合を考える。「Rule_1」をある編集者種類に制限するように使用する一例として「Operator_100 = !Rule_1 = !Screen1.Canvas.Fill」が考えられる。この場合、ユーザは、画面1のキャンバス(Canvas)内の全てのオブジェクトの塗り込み以外全てを変更することができる。
【0069】
(作成部14の処理)
作成部14は、操作部50によるユーザ操作に応じて編集処理を行い、画面編集が行われたデータとして、例えば、図4に示す1つの画面のデータを作成する。具体的に図4及び図5に基づいて以下に説明する。図4は、画面編集が行われたデータとしての画面のデータを示す図である。図5は、図4に示す画面のデータが作成される様子を示す模式図である。
【0070】
ここで、図4に示す1つの画面のデータは、ユーザA,B,Cの3人のユーザによって作成されるものとする。また、ユーザAが基本レイアウトを担当し、ユーザBがアドレス設定を担当し、ユーザCが色設定を担当するものとする。図4に示すように、ユーザAは、編集対象としてのタイトルT1、グラフG1、数値表示器R1、スイッチSW1からSW6及び入力キーI1といったオブジェクトを編集画面P1に配置する。
【0071】
これにより、画面のデータの基本レイアウトが設定され、画面のデータの基本レイアウトは、図5に示すように、記録部20に記録されている管理データベースのユーザA担当の領域に編集画面P1として記録される。ここでは、ユーザAが使用するアカウントについて、ユーザAは、当該アカウントに対応付けられた編集範囲内で編集を行う。
【0072】
また、ユーザBは、アドレス設定が必要なグラフG1、数値表示器R1及びスイッチSW1からSW6のアドレスを設定する。これにより、画面のデータの各編集対象のアドレスが設定され、画面のデータの各編集対象のアドレスは、図5に示すように、管理データベースのユーザB担当の領域に、編集情報であるアドレス設定1として記録される。ここでは、ユーザBが使用するアカウントについて、ユーザBは、当該アカウントに対応付けられた編集範囲内で編集を行う。
【0073】
さらに、ユーザCは、タイトルT1、グラフG1、数値表示器R1、スイッチSW1からSW6及び入力キーI1の色を設定する。これにより、画面のデータの各編集対象の色が設定され、画面のデータの各編集対象の色は、図5に示すように、管理データベースのユーザC担当の領域に、編集情報である色設定1として記録される。ここでは、ユーザCが使用するアカウントについて、ユーザCは、当該アカウントに対応付けられた編集範囲内で編集を行う。
【0074】
参照部11は、編集画面P1、アドレス設定1及び色設定1を関連付けるリンク情報を参照する。編集画面P1は、ユーザAが使用するアカウントに対応付けられた編集範囲内で編集された編集画面である。アドレス設定1は、ユーザBが使用するアカウントに対応付けられた編集範囲内で編集された編集情報である。色設定1は、ユーザCが使用するアカウントに対応付けられた編集範囲内で編集された編集情報である。
【0075】
作成部14は、図5に示すように、参照部11によって参照されたリンク情報において関連付けられた編集画面P1、アドレス設定1及び色設定1を組み合わせることにより、画面編集が行われたデータとして、X社向けのプロジェクトを作成する。このように、1つの画面を複数のユーザによって作成することができる。
【0076】
また、参照部11は、編集画面P1、アドレス設定1とは異なるアドレス設定2及び色設定1とは異なる色設定2を関連付けるリンク情報を参照してもよい。この場合、作成部14は、参照部11によって参照されたリンク情報において関連付けられた編集画面P1、アドレス設定2及び色設定2を組み合わせることにより、画面編集が行われたデータとして、Y社向けのプロジェクトを作成する。Z社向けのプロジェクトについても作成部14によって同様に作成される。
【0077】
以上により、参照部11は、複数のアカウントに対応付けられた編集範囲内で編集された編集画面及び編集画面に関する編集情報について、編集画面と、少なくとも1つの編集情報と、を関連付けるリンク情報を参照する。また、作成部14は、参照部11によって参照されたリンク情報において関連付けられた編集画面と、少なくとも1つの編集情報と、を組み合わせることにより、画面編集が行われたデータを作成する。
【0078】
前記構成によれば、編集画面や編集画面に関する編集情報を再編集する場合、アカウント毎に編集画面や編集情報を再編集する。このため、編集画面や編集情報を効率的に再編集することができることに加え、画面編集が行われた複数のデータで同じ修正をする必要がなくなり、人為的なミスを発生しにくくすることができる。
【0079】
また、リンク情報において関連付けられた編集画面と編集情報とを組み合わせることにより、画面編集が行われたデータが作成される。このため、画面編集が行われたデータが複数作成された場合において、編集画面の変更や編集情報の変更を、画面編集が行われた複数のデータに対して一気に反映させることができる。よって、ユーザによる画面作成の時間を短縮することができる。
【0080】
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、前記実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。図6は、本発明の実施形態2に係るPCにおいて、定義情報の記録場所の一例を示す図である。
【0081】
図6に示すように、ユーザA,Bは、X社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトPRJ1を編集する。ユーザC,Dは、X社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトPRJ2を編集する。ユーザAからDは、画面編集を行うための共通のプログラムPRGを用いる。
【0082】
ユーザAからDが使用するアカウントには、それぞれのアカウントに対応付けられる定義情報に共通した情報であり、かつ、X社向けのプロジェクトについて画面編集を行うための共通定義情報RXが対応付けられる。共通定義情報RXは、プログラムPRGに含まれる情報であり、各ユーザに対して後述する専用定義情報が適用される前に、プログラムPRGを使用する各ユーザに対して適用される。
【0083】
プロジェクトPRJ1,PRJ2及びプログラムPRGは、記録部20に記録されてもよいが、PC1に接続される記録媒体等のPC1の外部のものに記録されてもよい。また、プロジェクトPRJ1,PRJ2及びプログラムPRGの一方が、記録部20に記録されてもよく、プロジェクトPRJ1,PRJ2及びプログラムPRGの他方が、PC1に接続される記録媒体等のPC1の外部のものに記録されてもよい。
【0084】
さらに、ユーザAが使用するアカウントには、当該アカウントに対応付けられる定義情報の専用の情報である専用定義情報RAが対応付けられる。専用定義情報RAは、プロジェクトPRJ1に含まれる情報であり、ユーザAが使用するアカウントに対応付けられる定義情報の一部である。
【0085】
つまり、ユーザAが使用するアカウントに対応付けられる定義情報は、専用定義情報RA及び共通定義情報RXから構成される。ユーザBからDが使用するアカウントに対応付けられる定義情報についても同様に、それぞれ、専用定義情報RBからRD及び共通定義情報RXから構成される。プロジェクト毎に専用定義情報が記録されれば、許可を与えられていないユーザが、プロジェクトを開いてもそのプロジェクトを編集することができない。
【0086】
図6に示すように、ユーザE,Fは、Y社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトPRJ3を編集する。ユーザG,Hは、Y社向けのプロジェクトであり、かつ、画面編集が行われるデータのファイルとしてのプロジェクトPRJ4を編集する。ユーザEからHは、画面編集を行うための共通のプログラムPRGを用いる。
【0087】
Y社向けのプロジェクトであるプロジェクトPRJ3,PRJ4についても同様に、ユーザEからHが使用するアカウントに対応付けられる定義情報は、それぞれ、専用定義情報REからRH及び共通定義情報RYから構成される。共通定義情報RYは、Y社向けのプロジェクトについて画面編集を行うための情報であるが、共通定義情報RXと同一の情報であってもよい。
【0088】
ここで、例えば、参照部11が、ユーザAが使用するアカウントに対応付けられる定義情報を参照する場合を考える。この場合、参照部11は、プログラムPRGが起動した場合とプロジェクトPRJ1が開かれた場合の少なくとも一方において、プログラムPRGに含まれる共通定義情報RXと、プロジェクトPRJ1に含まれる専用定義情報RAと、を参照する。
【0089】
なお、専用定義情報RA及び共通定義情報RXの両方は、プログラムPRG及びプロジェクトPRJ1のいずれか一方に含まれてもよい。この場合、参照部11は、プログラムPRG及びプロジェクトPRJ1のいずれか一方に含まれる専用定義情報RA及び共通定義情報RXの両方を参照する。
【0090】
また、専用定義情報RA及び共通定義情報RXの両方は、プログラムPRG及びプロジェクトPRJ1の外部にあるファイルに設けられてもよい。この場合、参照部11は、プログラムPRG及びプロジェクトPRJ1の外部にあるファイルに設けられた専用定義情報RA及び共通定義情報RXの両方を参照する。さらに、専用定義情報RAが存在せず、共通定義情報RXのみが存在していてもよい。この場合、参照部11は、共通定義情報RXのみを参照する。
【0091】
ユーザAが使用するアカウントに対応付けられる定義情報に関して説明した内容については、参照部11が、ユーザBからHが使用するアカウントに対応付けられる定義情報を参照する場合についても同様である。ここで、参照部11が定義情報を参照した後、前述した内容と同様に、判定部12による判定が行われる。
【0092】
以上により、参照部11は、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、前記プログラムと前記データの少なくとも一方に含まれる定義情報、または前記プログラム及び前記データの外部に設けられる前記定義情報を参照する。
【0093】
前記構成によれば、ユーザがプログラムを起動した場合とデータのファイルを開いた場合の少なくとも一方において、アカウント毎に編集を制限するか否かが判定されるため、アカウント毎に編集を自動的に制限することができる。
【0094】
また、画面編集を行うためのプログラムが起動した場合と画面編集が行われるデータのファイルが開かれた場合の少なくとも一方において、画面編集を行うためのプログラムが行うエラーチェックに、アカウントに対応付けられた定義情報が自動的に適用される。画面編集を行うためのプログラムが行うエラーチェックは、スクリプトを用いて管理されているため、前記エラーチェックに対する定義情報の適用を、コンパイルレスで行うことができる。
【0095】
このため、管理者が定義情報を変更する場合、管理者は、画面編集が行われるデータを開き、定義情報を変更して保存するだけで、定義情報の編集を行うことができる。また、複数のユーザで画面編集を行う場合の流れについて以下に説明する。管理者が最初に画面編集が行われるデータを作成するとともに、アカウント毎の定義情報を作成し、定義情報を画面編集が行われるデータに埋め込む。
【0096】
次に、管理者は、作成した画面編集が行われるデータをコピーし、これらを各ユーザに配布する。ユーザは自身のアカウントでログインして画面編集を行うことで、自分のエラーチェックで画面編集を行う。定義情報は、画面編集が行われるデータに埋め込まれているため、違うユーザが同じデータに対して画面編集を行うとき、それぞれのアカウントでログインすることでそれぞれの定義情報で画面編集を行うことができる。
【0097】
よって、管理者は、エラーチェックによって変数名等を管理できるため、衝突がなくなり、マージを行い易くなる。具体的には、管理者は、ユーザ毎に定義情報を設定することができるため、2つのプロジェクトをマージさせる際、衝突が起きないようにすることができる。2つのプロジェクトをマージさせる際の衝突の一例としては、作成されたオブジェクト名、画面番号や画面の名称が被っていた場合が挙げられる。
【0098】
これらの衝突が起こらないようにするため、管理者は、ユーザAによって作成されるオブジェクト名及び画面の名称がAから始まる名称となり、画面番号が1000番台となるように、定義情報を設定することが好ましい。また、管理者は、ユーザBによって作成されるオブジェクト名及び画面の名称がBから始まる名称となり、画面番号が2000番台となるように、定義情報を設定することが好ましい。
【0099】
このように、管理者がユーザ毎に定義情報を設定することにより、各ユーザがプログラムのエラーチェックの機能を使用する際に衝突が起こることを防ぐことができるため、プログラムにおける自動マージ機能を容易に実現することができる。
【0100】
〔ソフトウェアによる実現例〕
PC1の制御ブロック(特に制御部10)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0101】
後者の場合、PC1は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、前記プログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0102】
本発明は前述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0103】
1 PC(画面作成装置)
11 参照部
12 判定部
13 管理部
14 作成部
P1 編集画面
PRJ1、PRJ2、PRJ3、PRJ4 プロジェクト(画面編集が行われるデータ)
PRG プログラム(画面編集を行うためのプログラム)
図1
図2
図3
図4
図5
図6