(57)【特許請求の範囲】
【請求項１】
プログラマブル表示器が画面を表示するための画面プログラムを作成する作成装置であって、
部品プログラムを含む画面プログラムを作成する画面プログラム作成部と、
予め作成された部品プログラムを記録する記録部と、
部品プログラムに前記プログラマブル表示器が備えるメモリのアドレスを割り当てるアドレス割当部と、を備え、
前記プログラマブル表示器は部品プログラムに割り当てられた前記メモリのアドレスのデータを参照して画面中に部品を表示するものであり、
前記画面プログラム作成部が前記記録部に記録されている予め作成された部品プログラムを含めた画面プログラムを作成しようとする際に、前記アドレス割当部は前記メモリのアドレスの割当状況を確認し、追加しようとする部品プログラム又は部品プログラムを含む画面プログラムが必要とする未割当のアドレスがある場合に当該未割当のアドレスを、追加しようとする部品プログラム又は部品プログラムを含む画面プログラムに割り当て、
前記画面プログラム作成部が、少なくとも１つの画面プログラムを含むプロジェクト内から複製した部品プログラムを含み、かつ当該プロジェクトに属する画面プログラムを作成しようとする場合、
前記アドレス割当部は、複製元の部品プログラムに既に割り当てられている前記メモリのアドレスを、複製により得られる部品プログラムに割り当てることを特徴とする作画装置。
【請求項２】
前記画面プログラム作成部が、前記記録部に記録されている予め作成された部品プログラムを、作成中の画面プログラムに追加する場合、
前記アドレス割当部は、当該画面プログラムに含まれている部品プログラムに既に割り当てられている前記メモリのアドレスを、未だ割り当てられていない前記メモリのアドレスに変更して、追加する部品プログラムに割り当てる前記メモリのアドレスを確保し得ることを特徴とする請求項１に記載の作画装置。
【請求項３】
ユーザに報知する報知部と、
前記アドレス割当部の状態に応じて前記報知部を制御する制御部と、をさらに備え、
１つの画面プログラムに含まれる部品プログラムに割当可能な前記メモリのアドレスの総数に、上限が設定されており、
前記画面プログラム作成部が、前記記録部に記録されている予め作成された部品プログラムを、作成中の画面プログラムに追加する場合、
前記アドレス割当部が、前記上限を超えるために、追加する部品プログラムに必要なアドレスを割り当てられない状態になったことを、前記制御部が確認すると、
前記制御部は、前記報知部を制御して、当該部品プログラムを追加できない旨を、ユーザに対して報知させることを特徴とする請求項１または請求項２に記載の作画装置。
【請求項４】
コンピュータを請求項１〜請求項３のいずれかに記載の作画装置の各部として機能させることを特徴とする作画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル表示器が表示する画面プログラムを作成する作画装置や、当該画面プログラムを作成する際に作画装置に実行される作画プログラムに関する。
【背景技術】
【０００２】
作業機械等の駆動を制御したり、センサなどの検出装置の検出結果を取得したりするなど、各種機器を制御する制御装置として、ＰＬＣ（Programmable Logic Controller）が広く利用されている。ＰＬＣは、事前に作成された制御プログラムに従って、各種機器の制御を行う。
【０００３】
また、ＰＬＣが制御するそれぞれの機器には、ＰＬＣが備えるメモリ（以下、ＰＬＣメモリとする）の異なるアドレスが割り当てられる。これにより、それぞれの機器のデータ（例えば、機器に入出力するデータや、機器の状態を示すデータなど。以下同じ。）が、ＰＬＣメモリの異なるアドレスに記憶される。ＰＬＣは、制御プログラムに従い、ＰＬＣメモリのアドレスに記憶されたデータを参照して処理することで、それぞれの機器を制御する。
【０００４】
ユーザは、例えば特許文献１で提案されるような制御プログラム作成装置を用いて、制御プログラムを作成することができる。なお、特許文献１で提案される制御プログラム作成装置は、制御プログラムの流用時におけるＰＬＣメモリのアドレスの不整合を解消するものである。具体的に、この制御プログラム作成装置は、ユーザが、ある機器を制御する制御プログラムの一部を複製して、当該ある機器を制御する他の制御プログラムに貼り付けるように指示する場合、複製元と貼付先とで当該ある機器に割り当てられるＰＬＣメモリのアドレスが異なることを確認すると、当該ある機器に割り当てられるＰＬＣメモリのアドレスが貼付先と一致するように修正した上で、複製した部分を貼り付ける。
【０００５】
ところで、ＰＬＣや各種機器の監視や制御を一元的に行うべく、プログラマブル表示器を導入することがある（例えば、特許文献２参照）。このプログラマブル表示器は、ＰＬＣメモリのデータ（即ち、各種機器のデータ）や、直接的に接続される各種機器のデータを、プログラマブル表示器が備えるメモリ（以下、ＨＭＩメモリとする）の当該機器に割り当てられたアドレスに記憶する。
【０００６】
プログラマブル表示器が画面を表示するための画面のプログラム（以下、画面プログラムとする）には、部品画像（例えば、機器の状態を示すメータや作動灯、機器のＯＮ／ＯＦＦを制御するスイッチなどの画像）を表示するためのプログラム（以下、部品プログラムとする）が含まれ得る。プログラマブル表示器は、部品プログラムに割り当てられたＨＭＩメモリのアドレスに記憶されたデータを参照し、当該部品プログラムに従い当該データを処理して得られる部品画像を表示する。ユーザは、例えば特許文献２で提案されるような作画装置を用いて、画面プログラムを作成することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２９９２０４号公報
【特許文献２】特開２０１０−１２８７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ユーザは、ＰＬＣまたは機器の監視や、制御の便宜上、実行し得る動作モード（例えば、メンテナンスや試運転、通常運転など）や制御する機器の種類等に応じて、画面プログラムを複数作成することがある。このような場合、ユーザが、例えば過去に自身が作成した画面プログラムや部品プログラムを流用したり、作画装置または作画プログラムのメーカ等が作成した部品プログラムを流用したりすることができれば、容易に画面プログラムを作成することができるため、好ましい。
【０００９】
しかしながら、部品プログラムを含む画面プログラムや部品プログラムを流用すると、部品プログラムに割り当てられたＨＭＩメモリのアドレスが、過去に自身が設定したものやメーカ等が設定したものと同じになる。そのため、プログラマブル表示器が、場合によってはユーザの意図に反した画面を表示し得るため、問題となる。
【００１０】
具体的に例えば、複数のメータ画像を表示するための複数の部品プログラムを含む画面プログラムにおいて、それぞれのメータ画像を表示するためのそれぞれの部品プログラムに割り当てられたＨＭＩメモリのアドレスが、上述の流用によって同じものになる場合がある。この場合、それぞれのメータ画像が異なる機器のデータを示すようにユーザが意図していたとしても、それぞれの部品プログラムはＨＭＩメモリの同じアドレスのデータを参照するように構成されているため、結果的に同じ機器の値を示す複数のメータ画像が表示されてしまう。なお、この問題は、それぞれのメータ画像を表示するそれぞれの部品プログラムについて、割り当てるＨＭＩメモリのアドレスを、ユーザに逐一設定させることで解消可能であるが、ユーザに煩雑な操作を要求することになるため、好ましくない。
【００１１】
そこで、本発明は、プログラマブル表示器で表示する画面をユーザの意図に合致させるとともに、当該画面を表示するための画面プログラムの作成を容易化する作画装置や、当該作画装置で実行される作画プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の作画装置は、プログラマブル表示器が画面を表示するための画面プログラムを作成する作画装置であって、部品プログラムを含む画面プログラムを作成する画面プログラム作成部と、予め作成された部品プログラムを記録する記録部と、部品プログラムに、前記プログラマブル表示器が備えるメモリのアドレスを割り当てるアドレス割当部と、を備え、前記プログラマブル表示器は、部品プログラムに割り当てられた前記メモリのアドレスのデータを参照することで、画面中に部品を表示するものであり、前記画面プログラム作成部が、前記記録部に記録されている予め作成された部品プログラムを含めた画面プログラムを作成しようとする場合、前記アドレス割当部は、前記メモリの未だ割り当てられていないアドレスを、当該部品プログラムに割り当てることを特徴とする。
【００１３】
また、上記構成の作画装置において、前記画面プログラム作成部が、前記記録部に記録されている予め作成された部品プログラムを、作成中の画面プログラムに追加する場合、前記アドレス割当部は、当該画面プログラムに含まれている部品プログラムに既に割り当てられている前記メモリのアドレスを、未だ割り当てられていない前記メモリのアドレスに変更して、追加する部品プログラムに割り当てる前記メモリのアドレスを確保し得ることとしても構わない。
【００１４】
このように構成すると、アドレス割当部が、必要に応じて、画面プログラムに含まれている部品プログラムに既に割り当てられているメモリのアドレスを変更して、追加する部品プログラムに割り当てるメモリのアドレスを確保する。そのため、部品プログラムにメモリのアドレスが効率良く割り当てられ、画面プログラムにより多くの部品プログラムを追加することが可能になる。
【００１５】
また、上記構成の作画装置において、ユーザに報知する報知部と、前記アドレス割当部の状態に応じて前記報知部を制御する制御部と、をさらに備え、１つの画面プログラムに含まれる部品プログラムに割当可能な前記メモリのアドレスの総数に、上限が設定されており、前記画面プログラム作成部が、前記記録部に記録されている予め作成された部品プログラムを、作成中の画面プログラムに追加する場合、前記アドレス割当部が、前記上限を超えるために、追加する部品プログラムに必要なアドレスを割り当てられない状態になったことを、前記制御部が確認すると、前記制御部は、前記報知部を制御して、当該部品プログラムを追加できない旨を、ユーザに対して報知させることとしても構わない。
【００１６】
このように構成すると、画面プログラム作成部が、１つの画面プログラムに設定されるメモリのアドレス総数の上限を超えて部品プログラムを追加しようとする場合、ユーザに対して部品プログラムを追加できない旨が報知される。そのため、プログラマブル表示器が正常に実行可能な画面プログラムを、容易に作成することが可能になる。
【００１７】
また、上記構成の作画装置において、前記画面プログラム作成部が、少なくとも１つの画面プログラムを含むプロジェクト内から複製した部品プログラムを含み、かつ当該プロジェクトに属する画面プログラムを作成しようとする場合、前記アドレス割当部は、複製元の部品プログラムに既に割り当てられている前記メモリのアドレスを、複製により得られる部品プログラムに割り当てることとしても構わない。
【００１８】
ユーザが、プロジェクト内で部品プログラムを複製しようとする場合、割り当てられるメモリのアドレスをも含めた複製を企図していることが多い。そのため、この場合に、部品プログラムに割り当てられるメモリのアドレスをも含めて複製することで、ユーザの意図に沿った画面プログラムが作成され得るようになる。
【００１９】
また、本発明の作画プログラムは、コンピュータを上記の作画装置の各部として機能させることを特徴とする。
【発明の効果】
【００２０】
本発明によると、画面プログラム作成部が、部品プログラムを含む画面プログラムや部品プログラムを流用して、画面プログラムを作成したとしても、部品プログラムに割り当てられるプログラマブル表示器のメモリのアドレスが重複することが抑制される。そのため、プログラマブル表示器が表示する画面をユーザの意図に合致させる画面プログラムを、ユーザが容易に作成することが可能になる。
【図面の簡単な説明】
【００２１】
【図１】は、本発明の実施形態に係る作画装置を含むシステムの全体構成例を示すブロック図である。
【図２】は、プログラマブル表示器の表示部に表示される画面の一例を示す図である。
【図３】は、作画装置によるプロジェクトの作成動作の第１例を示すフローチャートである。
【図４】は、図３のＳＴＥＰ１〜５の動作について具体的に説明する図である。
【図５】は、図３のＳＴＥＰ１〜３及び６の動作について具体的に説明する図である。
【図６】は、作画装置によるプロジェクトの作成動作の第２例を示すフローチャートである。
【図７】は、図６のＳＴＥＰ１１〜１３、１６、１７、１４及び１５の動作について具体的に説明する図である。
【図８】は、図６のＳＴＥＰ１１〜１３、１６及び１８の動作について具体的に説明する図である。
【発明を実施するための形態】
【００２２】
＜システムの全体構成例＞
以下、本発明の実施形態について、図面を参照して説明する。最初に、本発明の実施形態に係る作画装置を含むシステムの全体構成例を、図１を参照して説明する。図１は本発明の実施形態に係る作画装置を含むシステムの全体構成例を示すブロック図である。
【００２３】
図１に示すシステムは、プロジェクトを作成する作画装置１と、作画装置１が作成したプロジェクトやユーザから入力される指示に基づいて画面を表示するとともに各種機器を制御するプログラマブル表示器２と、プログラマブル表示器２によって制御されるＰＬＣ３と、ＰＬＣ３によって制御される機器４と、を備える。なお、図１では、作画装置１及びプログラマブル表示器２が、常時通信可能に接続されているように図示しているが、これらは必要な場合のみ（例えば、作画装置１が、プログラマブル表示器２へプロジェクトを出力するときのみ）通信可能に接続すれば足りる。
【００２４】
作画装置１が作成するプロジェクトには、ＰＬＣ３や各種機器４の動作制御を行うための制御プログラムや、画面プログラムが含まれる。１つのプロジェクトには、少なくとも１つの画面プログラムが含まれる。１つのプロジェクトに複数の画面プログラムが含まれる場合、例えばユーザが、プロジェクトを実行中のプログラマブル表示器２に所定の操作をすることで、プログラマブル表示器２が表示する画面全体（即ち、処理する画面プログラム）が切り替えられ得る。
【００２５】
作画装置１は、プロジェクトを作成するプロジェクト作成部１１と、予め作成された部品プログラムが記録される記録部１２と、画像を表示する表示部１３と、ユーザに操作されることでユーザの指示が入力される操作部１４と、プログラマブル表示器２と接続するＩ／Ｆ（Interface）１５と、作画装置１の全体の動作を制御するとともにデータをやり取りする作画制御部１６と、作画装置１の各部が処理を行う際にデータを展開及び記憶する作画メモリ１７と、を備える。なお、作画装置１は、作画プログラムがインストールされたコンピュータなどから成る。
【００２６】
プロジェクト作成部１１は、画面プログラムを作成する画面プログラム作成部１１１と、プログラマブル表示器２が画面プログラムを処理する際に参照するＨＭＩメモリ２５（詳細は後述）のアドレスを割り当てるアドレス割当部１１２と、制御プログラムを作成する制御プログラム作成部１１３と、を備える。このプロジェクト作成部１１は、作画制御部１６が、必要なデータを作画メモリ１７に展開し処理することで実行し得る機能の一部として解釈され得るものであるが、説明の便宜上、以下では作画制御部１６及び作画メモリ１７から独立したものとして扱う。なお、プロジェクト作成部１１の動作の詳細については、後述する。
【００２７】
記録部１２は、ユーザが過去に作成したプロジェクトや画面プログラム、部品プログラムなどを記録する。また、記録部１２は、作画装置１または作画プログラムのメーカが作成した部品プログラムを記録する。即ち、記録部１２は、ユーザやメーカ等によって予め作成された部品プログラム（予め作成された画面プログラムやプロジェクトに含まれる部品プログラムをも含む）を、記録する。この記録部１２に記録される部品プログラムは、単体または画面プログラムやプロジェクトと併せて、プロジェクト作成部１１の画面プログラム作成部１１１に読み出され得る。
【００２８】
表示部１３は、例えば液晶パネルなどの表示装置から成り、作画装置１の処理結果をユーザに対して表示する。操作部１４は、例えばキーボードやマウスなどの入力装置から成り、ユーザに操作されることで入力された指示を作画装置１へ出力する。ユーザは、表示部１３に表示される画像を確認しながら、操作部１４を操作することで、所望のプロジェクトや画面プログラムなどを作成する。また、作画装置１は、作成したプロジェクトを、Ｉ／Ｆ１５を介してプログラマブル表示器２へ出力する。
【００２９】
プログラマブル表示器２は、作画装置１と接続するＩ／Ｆ２１と、画面を表示するとともにユーザに操作されることでユーザの指示が入力されるタッチパネル２２と、ＰＬＣ３と接続するＩ／Ｆ２３と、プログラマブル表示器２の全体の動作を制御するとともにデータをやり取りするＨＭＩ制御部２４と、プログラマブル表示器２の各部が処理を行う際にデータを展開及び記憶するＨＭＩメモリ２５と、を備える。
【００３０】
タッチパネル２２は、画面を表示する表示部２２１と、表示部２２１上のユーザが触れた位置を検出する位置検出部２２２と、を備える。表示部２２１は、作画装置１によって作成されたプロジェクトに含まれる画面プログラムに従って、画面を表示する。
【００３１】
ＨＭＩメモリ２５には、Ｉ／Ｆ２１を介して作画装置１から入力されるプロジェクトが、記憶（または記録）される。ＨＭＩ制御部２４は、ＨＭＩメモリ２５に記憶されるプロジェクトを実行することで、画面プログラムに従った画面を表示部２２１に表示させたり、制御プログラムに従った指示をＩ／Ｆ２３を介してＰＬＣ３へ出力したりする。ＨＭＩ制御部２４は、画面プログラムに従った画面を表示部２２１に表示させる際に、必要に応じてＨＭＩメモリ２５に記憶されているデータを参照する。ＨＭＩメモリ２５には、機器４のデータ（例えば、後述するＰＬＣメモリ３４に記憶されるデータ）が、記憶される。このとき、上述のアドレス割当部１１２が割り当てたＨＭＩメモリ２５の所定のアドレスに、機器４のデータが記憶される。なお、プログラマブル表示器２の動作については、後に具体例を挙げて詳述する。
【００３２】
ＰＬＣ３は、プログラマブル表示器２と接続するＩ／Ｆ３１と、機器４と接続するＩ／Ｆ３２と、ＰＬＣ３の全体の動作を制御するとともにデータをやり取りするＰＬＣ制御部３３と、ＰＬＣ３の各部が処理を行う際にデータを展開及び記憶するＰＬＣメモリ３４と、を備える。
【００３３】
ＰＬＣメモリ３４には、Ｉ／Ｆ３２を介して機器４から入力されるデータが記憶される。当該データは、Ｉ／Ｆ３１を介してプログラマブル表示器２から入力され、上述のようにＨＭＩメモリ２５に記憶される。また、ＰＬＣメモリ３４には、ユーザ等によって設定されたり、Ｉ／Ｆ３１を介してプログラマブル表示器２から入力されたりする、制御プログラムが記憶（または記録）され得る。ＰＬＣ制御部３３は、Ｉ／Ｆ３１を介してプログラマブル表示器２から入力される指示や、ＰＬＣメモリ３４に記憶している制御プログラムに従い、機器４の動作を制御する指示を、Ｉ／Ｆ３２を介して機器４へ出力する。
【００３４】
図１では、プログラマブル表示器２に接続されて制御されるＰＬＣ３が１つの場合を例示しているが、複数のＰＬＣ３がプログラマブル表示器２に接続されても構わない。同様に、図１では、ＰＬＣ３に接続されて制御される機器４が１つの場合を例示しているが、複数の機器４がＰＬＣ３に接続されても構わない。また、ＰＬＣ３を介することなく、プログラマブル表示器２に直接的に接続されて制御される機器４を備えても構わない。ただし、以下では説明の簡略化のため、原則的に図１に示すシステムについて説明する。
【００３５】
＜プログラマブル表示器の動作例＞
プログラマブル表示器２によるプロジェクトの実行例について、図２を参照して説明する。図２は、プログラマブル表示器の表示部に表示される画面の一例を示す図である。ＨＭＩ制御部２４は、プロジェクトを実行すると、当該プロジェクトに含まれる画面プログラムに従った画面を表示部２２１に表示する。図２に示す例では、表示部２２１が表示する画面の中に、スイッチ（兼作動灯）画像Ｓ１，Ｓ２と、メータ画像Ｍ１が含まれている。
【００３６】
ユーザは、図２に示すような表示部２２１が表示する画面を確認し、例えば表示部２２１の表面に設けられた略透明な位置検出部２２２に触れる操作を行う。これにより、ユーザの指示が位置検出部２２２に入力され、位置検出部２２２は当該指示をＨＭＩ制御部２４へ出力する。当該指示が入力されたＨＭＩ制御部２４は、必要に応じて、ＰＬＣ３へ指示を出力するとともに、ＨＭＩメモリ２５の所定のアドレス（例えば、ユーザが触れた部品画像を表示するための部品プログラムに割り当てられたアドレス）のデータを書き換える。
【００３７】
具体的に例えば、ユーザが、表示部２２１のスイッチ画像Ｓ１に触れた場合を例に挙げて説明する。今、図２に示す状態のとき、スイッチ画像Ｓ１を表示するための部品プログラムに割り当てられたＨＭＩメモリ２５のアドレスのデータが、「機器４がＯＮ」を示すものになっていると仮定する。また、表示部２２１のスイッチ画像Ｓ１が表示されている領域上をユーザが触れることで、ＨＭＩ制御部２４が、「機器４のＯＮ／ＯＦＦを切り替える」指示がユーザから入力されたことを認識するように、スイッチ画像Ｓ１を表示するための部品プログラムが構成されているものとする。さらに、スイッチ画像Ｓ１を表示するための部品プログラムは、割り当てられたＨＭＩメモリ２５のアドレスのデータに従って、表示色を変える（例えば、ＯＮを示すデータであれば灰色、ＯＦＦを示すデータであれば白色になる）ように構成されているものとする。
【００３８】
上記の場合、表示部２２１のスイッチ画像Ｓ１が表示されている領域上をユーザが触れると、ＨＭＩ制御部２４は、スイッチ画像Ｓ１を表示するための部品プログラムに割り当てられたＨＭＩメモリ２５のアドレスのデータを、「機器４がＯＦＦ」を示す値に書き換える。また、ＨＭＩ制御部２４は、機器４をオフにするべく、ＰＬＣ３にその旨の指示を出力する。ＰＬＣ３は、機器４に割り当てられたＰＬＣメモリ３４のアドレスのデータを、「機器４がＯＦＦ」を示す値に書き換え、機器４をＯＦＦにする指示を機器４に出力する。
【００３９】
上記のように、スイッチ画像Ｓ１を表示するための部品プログラムに割り当てられたＨＭＩメモリ２５のアドレスのデータが、「機器４がＯＦＦ」を示す値に書き換えられると、ＨＭＩ制御部２４は、スイッチ画像Ｓ１を表示するための部品プログラムに従って、表示部２２１が表示する画面中のスイッチ画像Ｓ１の表示色を変更する（例えば、ＯＮを示す灰色から、ＯＦＦを示す白色に変更する）。これにより、ユーザは、スイッチ画像Ｓ１に対応する機器４の動作状況（停止）を把握し得る。
【００４０】
一方、例えば機器４がセンサなどの検出装置である場合、機器４が検出した値のデータは、Ｉ／Ｆ３２を介してＰＬＣ３へ出力され、ＰＬＣメモリ３４に記憶される。また、当該データは、Ｉ／Ｆ３１を介してプログラマブル表示器２へ出力され、ＨＭＩメモリ２５に記憶される。今、図２に示す状態のとき、メータ画像Ｍ１を表示するための部品プログラムに、ＨＭＩメモリ２５の当該データが記憶されるアドレスが割り当てられているものとする。また、メータ画像Ｍ１を表示するための部品プログラムは、割り当てられたＨＭＩメモリ２５のアドレスのデータの値を、画像として表現するように構成されているものとする。
【００４１】
ＨＭＩ制御部２４は、メータ画像Ｍ１を表示するための部品プログラムに従って、当該部品プログラムに割り当てられたＨＭＩメモリ２５のアドレスのデータの値を参照し、当該値を表示するメータ画像Ｍ１を、表示部２２１が表示する画面中に含ませる。これにより、ユーザは、機器４が検出した値を把握し得る。
【００４２】
なお、ＨＭＩ制御部２４は、上記のようにプロジェクトを実行する以前に、Ｉ／Ｆ２３を介してＰＬＣ３と通信することで、当該プロジェクトを実行可能か否か（例えば、プログラマブル表示器２に接続されるＰＬＣ３や、ＰＬＣ３に接続される機器４が、当該プロジェクトで規定されたものであるか否か）を確認しても構わない。さらに、ＨＭＩ制御部２４は、プロジェクトの実行が不可能であることを確認する場合、表示部２２１にその旨を表示しても構わない。
【００４３】
＜作画装置の動作例＞
作画装置１の動作例（プロジェクト作成部１１によるプロジェクトの作成動作例、特に画面プログラムの作成動作例）について、図面を参照して説明する。
【００４４】
［第１例］
作画装置１によるプロジェクトの作成動作の第１例について、図面を参照して説明する。図３は、作画装置によるプロジェクトの作成動作の第１例を示すフローチャートである。
【００４５】
図３に示す動作は、ユーザが、作成中の画面プログラムに部品プログラム（例えば、メーカ等が予め作成したもの）を追加する指示を入力する場合や、部品プログラムを含む画面プログラム（例えば、ユーザが以前に作成したプロジェクトに含まれるもの）を作成中のプロジェクトに追加する指示を入力する場合などに、行われるものである。即ち、図３に示す動作は、画面プログラム作成部１１１が、記録部１２に記録されている予め作成された部品プログラムを含めた画面プログラムを作成しようとする際に、行われるものである。また、図３に示す動作は、繰り返し行われ得る。
【００４６】
図３に示す動作が開始されると、画面プログラム作成部１１１は、ユーザから指示された部品プログラム（または、部品プログラムを含む画面プログラム）を追加するべく、記録部１２から、指示された部品プログラム（または、部品プログラムを含む画面プログラム）を読み出す（ＳＴＥＰ１）。このとき、アドレス割当部１１２は、ＨＭＩメモリ２５のアドレスの、現在の割当状況を確認する（ＳＴＥＰ２）。
【００４７】
アドレス割当部１１２は、ＨＭＩメモリ２５に、追加しようとする部品プログラム（または、部品プログラムを含む画面プログラム）が必要とする未割当のアドレスがある場合（ＳＴＥＰ３、ＹＥＳ）、当該未割当のアドレスを、追加しようとする部品プログラム（または、追加しようとする画面プログラムに含まれる部品プログラム）に割り当てる（ＳＴＥＰ４）。そして、画面プログラム作成部１１１は、ＳＴＥＰ４でＨＭＩメモリ２５のアドレスが割り当てられた部品プログラムを画面プログラムに追加（または、ＳＴＥＰ４でＨＭＩメモリ２５のアドレスが割り当てられた部品プログラムを含む画面プログラムをプロジェクトに追加）して（ＳＴＥＰ５）、図３に示す動作を終了する。
【００４８】
上記のＳＴＥＰ１〜５の動作の具体例について、図面を参照して説明する。図４は、図３のＳＴＥＰ２〜５の動作について具体的に説明する図である。なお、以下の図４についての説明は、後述する図５、図７及び図８にも矛盾無き限り適用されるものである。
【００４９】
図４は、ユーザが、作成中の画面の所望の位置に、所望の部品画像を追加配置する（例えば、操作部１４を成すマウスを用いて部品画像をドラッグアンドドロップする）ことで、画面プログラムに部品プログラムが追加される場合を例示したものである。本例において、図４（ａ）及び図４（ｂ）に示す「作成中の画面」は、作画装置１の表示部１３に表示する必要があるが、「追加しようとする部品画像」や「アドレスの割当状況」は、表示すると好ましいものの、必ずしも表示を要するものではない。また、「アドレスの割当状況」に示す「ＰＲＴ０００００」は、ＰＲＴ０００００〜ＰＲＴ０００９９の１００個のアドレスを示し、「ＰＲＴ００１００」は、ＰＲＴ００１００〜ＰＲＴ００１９９の１００個のアドレスを示し、「ＰＲＴ００２００」は、ＰＲＴ００２００〜ＰＲＴ００２９９の１００個のアドレスを示し、「ＰＲＴ００３００」は、ＰＲＴ００３００〜ＰＲＴ００３９９の１００個のアドレスを示すものである。本例では、この４００個のアドレスが、１つの画面プログラムにおいて割当可能なアドレスとなる。このような割当可能なアドレス総数の上限は、例えば、プログラマブル表示器２が、画面プログラムを正常に実行し得るために、設定される。
【００５０】
図４（ａ）は、ユーザが、作成中の画面に部品画像を配置する前の状態を示すものである。この状態において、「ＰＲＴ０００００」及び「ＰＲＴ００１００」が示すＨＭＩメモリ２５の２００個のアドレスが、既に割り当てられている（図中の「使用」）。一方、「ＰＲＴ００２００」及び「ＰＲＴ００３００」が示すＨＭＩメモリ２５の２００個のアドレスは、未だ割り当てられていない（図中の「未」）。
【００５１】
ユーザは、必要なＨＭＩメモリ２５のアドレスが２００個である部品プログラムを、作成中の画面プログラムに追加しようとする。このとき、アドレス割当部１１２は、ＨＭＩメモリ２５の未割当のアドレスが２００個あることを確認する。そのため、アドレス割当部１１２は、図４（ｂ）に示すように、当該部品プログラムに当該２００個の未割当のアドレスを割り当てる。そして、画面プログラム作成部１１１は、当該部品プログラムを、作成中の画面プログラムに追加する。
【００５２】
以上に対して、アドレス割当部１１２は、画面プログラムに追加しようとする部品プログラムが必要とする、ＨＭＩメモリ２５の未割当のアドレスがない場合（ＳＴＥＰ３、ＮＯ）、当該部品プログラムにＨＭＩメモリ２５のアドレスを割り当てることが不可能になる。作画制御部１６は、アドレス割当部１１２がこの状態になったことを確認すると、部品プログラムの追加が不可能である旨をユーザに報知し（ＳＴＥＰ６）、図３に示す動作を終了する。なお、ＳＴＥＰ６において、作画制御部１６が、表示部１３を制御して画像の表示によってユーザに報知を行っても構わないし、他の方法（例えば、スピーカが発する音等）によって報知を行っても構わない。
【００５３】
上記のＳＴＥＰ１〜３及び６の動作の具体例について、図面を参照して説明する。図５は、図３のＳＴＥＰ１〜３及び６の動作について具体的に説明する図である。上述のように、図４の説明は矛盾無き限り図５にも適用されるため、重複する説明については省略する。
【００５４】
図５（ａ）は、ユーザが、作成中の画面に部品画像を配置する前の状態を示すものである。この状態において、「ＰＲＴ０００００」及び「ＰＲＴ００１００」が示すＨＭＩメモリ２５の２００個のアドレスが、既に割り当てられている。一方、「ＰＲＴ００２００」及び「ＰＲＴ００３００」が示すＨＭＩメモリ２５の２００個のアドレスは、未だ割り当てられていない。
【００５５】
ユーザは、必要なＨＭＩメモリ２５のアドレスが３００個である部品プログラムを、作成中の画面プログラムに追加しようとする。このとき、アドレス割当部１１２は、ＨＭＩメモリ２５の未割当のアドレスが２００個しかないため、当該部品プログラムにアドレスを割り当てることが不可能になる。作画制御部１６は、アドレス割当部１１２がこの状態になったことを確認すると、図５（ｂ）に示すように、表示部１３を制御して、部品プログラムを追加することができない旨を示すエラーメッセージ（具体的に例えば、部品画像を配置できない旨や、配置できなかった部品画像及び配置できない理由）を表示させる。
【００５６】
以上のように、画面プログラム作成部１１１が、部品プログラムを含む画面プログラムや部品プログラムを流用して、画面プログラムを作成したとしても、部品プログラムに割り当てられるＨＭＩメモリ２５のアドレスが重複することが抑制される。そのため、プログラマブル表示器２が表示する画面をユーザの意図に合致させる画面プログラムを、ユーザが容易に作成することが可能になる。
【００５７】
さらに、画面プログラム作成部１１１が、１つの画面プログラムに設定されるＨＭＩメモリ２５のアドレス総数の上限を超えて部品プログラムを追加しようとする場合、ユーザに対して部品プログラムを追加できない旨が報知される。そのため、プログラマブル表示器２が正常に実行可能な画面プログラムを、容易に作成することが可能になる。
【００５８】
なお、図３のＳＴＥＰ４において、アドレス割当部１１２が、追加しようとする部品プログラム（または、追加しようとする画面プログラムに含まれる部品プログラム）に未割当のアドレスを割り当てる際に、割当の実行をユーザに報知しても構わない。例えば、割当を実行する旨を、表示部１３に表示しても構わない。
【００５９】
［第２例］
作画装置１によるプロジェクトの作成動作の第２例について、図面を参照して説明する。図６は、作画装置によるプロジェクトの作成動作の第２例を示すフローチャートである。なお、図６は、作画装置１によるプロジェクトの作成動作の第１例について示す図３に相当するものである。
【００６０】
図６に示す動作も、図３に示す動作と同様に、画面プログラム作成部１１１が、記録部１２に記録されている予め作成された部品プログラムを含めた画面プログラムを作成しようとする際に、行われるものである。また、図６に示す動作も、繰り返し行われ得る。
【００６１】
図６に示す動作が開始されると、画面プログラム作成部１１１は、ユーザから指示された部品プログラム（または、部品プログラムを含む画面プログラム）を追加するべく、記録部１２から指示された部品プログラム（または、部品プログラムを含む画面プログラム）を読み出す（ＳＴＥＰ１１）。このとき、アドレス割当部１１２は、ＨＭＩメモリ２５のアドレスの、現在の割当状況を確認する（ＳＴＥＰ１２）。
【００６２】
アドレス割当部１１２は、ＨＭＩメモリ２５に、追加しようとする部品プログラム（または、部品プログラムを含む画面プログラム）が必要とする未割当のアドレスがある場合（ＳＴＥＰ１３、ＹＥＳ）、当該未割当のアドレスを、追加しようとする部品プログラム（または、追加しようとする画面プログラムに含まれる部品プログラム）に割り当てる（ＳＴＥＰ１４）。そして、画面プログラム作成部１１１は、ＳＴＥＰ１４でＨＭＩメモリ２５のアドレスが割り当てられた部品プログラムを画面プログラムに追加（または、ＳＴＥＰ１４でＨＭＩメモリ２５のアドレスが割り当てられた部品プログラムを含む画面プログラムをプロジェクトに追加）して（ＳＴＥＰ１５）、図６に示す動作を終了する。なお、上記のＳＴＥＰ１１〜ＳＴＥＰ１５の動作は、図３のＳＴＥＰ１〜５の動作に示すものと同様である（具体例については図４を参照）。
【００６３】
これに対して、アドレス割当部１１２は、画面プログラムに追加しようとする部品プログラムが必要とする、ＨＭＩメモリ２５の未割当のアドレスがない場合（ＳＴＥＰ１３、ＮＯ）、当該画面プログラムに含まれる部品プログラムに既に割り当てられているＨＭＩメモリ２５のアドレスを変更することで、追加しようとする部品プログラムに割り当てるＨＭＩメモリ２５のアドレスを確保できるか否かを確認する（ＳＴＥＰ１６）。
【００６４】
アドレス割当部１１２は、追加しようとする部品プログラムに割り当てるＨＭＩメモリ２５のアドレスを確保できる場合（ＳＴＥＰ１６、ＹＥＳ）、画面プログラムに含まれる部品プログラムに既に割り当てられているＨＭＩメモリ２５のアドレスを、未割当のアドレスに変更する（ＳＴＥＰ１７）。そして、アドレス割当部１１２は、ＳＴＥＰ１７によって得られたＨＭＩメモリ２５の未割当のアドレスを、追加しようとする部品プログラムに割り当てる（ＳＴＥＰ１４）。さらに、画面プログラム作成部１１１が、ＳＴＥＰ１４でＨＭＩメモリ２５のアドレスが割り当てられた部品プログラムを画面プログラムに追加して（ＳＴＥＰ１５）、図６に示す動作を終了する。
【００６５】
上記のＳＴＥＰ１１〜１３、１６、１７、１４及び１５の動作の具体例について、図面を参照して説明する。図７は、図６のＳＴＥＰ１１〜１３、１６、１７、１４及び１５の動作について具体的に説明する図である。上述のように、図４の説明は矛盾無き限り図７にも適用されるため、重複する説明については省略する。
【００６６】
図７（ａ）は、ユーザが、作成中の画面に部品画像を配置する前の状態を示すものである。この状態において、「ＰＲＴ０００００」及び「ＰＲＴ００２００」が示すＨＭＩメモリ２５の２００個のアドレスが、既に割り当てられている。具体的には、「ＰＲＴ０００００」が割り当てられている部品プログラムと、「ＰＲＴ００２００」が割り当てられている部品プログラムと、が作成中の画面プログラムに含まれている。このような、割り当てられたＨＭＩメモリ２５のアドレスが不連続となる状態は、例えば、ユーザが部品画像の削除を行うことで生じ得る。一方、「ＰＲＴ００１００」及び「ＰＲＴ００３００」が示すＨＭＩメモリ２５の２００個のアドレスは、未だ割り当てられていない。
【００６７】
ユーザは、必要なＨＭＩメモリ２５のアドレスが連続した２００個である部品プログラムを、作成中の画面プログラムに追加しようとする。このとき、アドレス割当部１１２は、ＨＭＩメモリ２５の未割当のアドレスが２００個であるが連続していないことを確認することで、既に割り当てられているＨＭＩメモリ２５のアドレスを変更すれば、追加しようとする部品プログラムにＨＭＩメモリ２５のアドレスを割当可能であることを確認する。
【００６８】
この場合、図７（ｂ）に示すように、アドレス割当部１１２は、既に「ＰＲＴ００２００」が割り当てられている部品プログラムについて、「ＰＲＴ００１００」が割り当てられるように変更する。そして、図７（ｃ）に示すように、アドレス割当部１１２は、この変更によって得られた未割当の「ＰＲＴ００２００」及び「ＰＲＴ００３００」を、追加しようとする部品プログラムに割り当て、画面プログラム作成部１１１は、当該部品プログラムを作成中の画面プログラムに追加する。
【００６９】
一方、アドレス割当部１１２は、追加しようとする部品プログラムに割り当てるＨＭＩメモリ２５のアドレスを確保できない場合（ＳＴＥＰ１６、ＮＯ）、当該部品プログラムにＨＭＩメモリ２５のアドレスを割り当てることが不可能になる。作画制御部１６は、アドレス割当部１１２がこの状態になったことを確認すると、部品プログラムの追加が不可能である旨をユーザに報知し（ＳＴＥＰ１８）、図６に示す動作を終了する。なお、ＳＴＥＰ１８において、作画制御部１６が、表示部１３を制御して画像の表示によってユーザに報知を行っても構わないし、他の方法（例えば、スピーカが発する音等）によって報知を行っても構わない。
【００７０】
上記のＳＴＥＰ１１〜１３、１６及び１８の動作の具体例について、図面を参照して説明する。図８は、図６のＳＴＥＰ１１〜１３、１６及び１８の動作について具体的に説明する図である。上述のように、図４の説明は矛盾無き限り図８にも適用されるため、重複する説明については省略する。
【００７１】
図８（ａ）は、ユーザが、作成中の画面に部品画像を配置する前の状態を示すものである。この状態において、「ＰＲＴ０００００」及び「ＰＲＴ００２００」が示すＨＭＩメモリ２５の２００個のアドレスが、既に割り当てられている。一方、「ＰＲＴ００１００」及び「ＰＲＴ００３００」が示すＨＭＩメモリ２５の２００個のアドレスは、未だ割り当てられていない。
【００７２】
ユーザは、必要なＨＭＩメモリ２５のアドレスが３００個である部品プログラムを、作成中の画面プログラムに追加しようとする。このとき、アドレス割当部１１２は、ＨＭＩメモリ２５の未割当のアドレスが２００個しかないため、仮に既に割り当てられているＨＭＩメモリ２５のアドレスを変更したとしても、追加しようとする部品プログラムにアドレスを割り当てることが不可能になる。作画制御部１６は、アドレス割当部１１２がこの状態になったことを確認すると、図８（ｂ）に示すように、表示部１３を制御して、部品プログラムを追加することができない旨を示すエラーメッセージ（具体的に例えば、部品画像を配置できない旨や、配置できなかった部品画像及び配置できない理由）を表示させる。
【００７３】
以上のように、本例でも第１例と同様の動作が行われ、同様の効果を得ることができる。さらに、本例では、アドレス割当部１１２が、必要に応じて、画面プログラムに含まれている部品プログラムに既に割り当てられているＨＭＩメモリ２５のアドレスを変更して、追加する部品プログラムに割り当てるＨＭＩメモリ２５のアドレスを確保する。そのため、部品プログラムにＨＭＩメモリ２５のアドレスが効率良く割り当てられ、画面プログラムにより多くの部品プログラムを追加することが可能になる。
【００７４】
なお、図６のＳＴＥＰ１４において、アドレス割当部１１２が、追加しようとする部品プログラム（または、追加しようとする画面プログラムに含まれる部品プログラム）に未割当のアドレスを割り当てる際に、割当の実行をユーザに報知しても構わない。例えば、割当を実行する旨を、表示部１３に表示しても構わない。
【００７５】
＜変形例＞
画面プログラム作成部１１１が、プロジェクト内から複製した部品プログラムを含み、当該プロジェクトに属する画面プログラムを作成しようとする場合、アドレス割当部１１２は、複製元の部品プログラムに既に割り当てられているＨＭＩメモリ２５のアドレスを、複製により得られた部品プログラムに割り当てても構わない。
【００７６】
ユーザが、プロジェクト内で部品プログラム（または、部品プログラムを含む画面プログラム）を複製しようとする場合、割り当てられるＨＭＩメモリ２５のアドレスをも含めた複製を企図していることが多い。そのため、この場合は、上記のように部品プログラムに割り当てられるＨＭＩメモリ２５のアドレスをも含めて複製することとして、ユーザの意図に沿った画面プログラムが作成され得るようにすると、好ましい。
【００７７】
以上、本発明における実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができる。
【産業上の利用可能性】
【００７８】
本発明は、プログラマブル表示器が表示する画面プログラムを作成する作画装置や、当該画面プログラムを作成する際に作画装置に実行される作画プログラムに利用することができる。
【符号の説明】
【００７９】
１      作画装置
１１    プロジェクト作成部
１１１  画面プログラム作成部
１１２  アドレス割当部
１１３  制御プログラム作成部
１２    記録部
１３    表示部
１４    操作部
１５    Ｉ／Ｆ
１６    作画制御部
１７    作画メモリ
２      プログラマブル表示器
２１    Ｉ／Ｆ
２２    タッチパネル
２２１  表示部
２２２  位置検出部
２３    Ｉ／Ｆ
２４    ＨＭＩ制御部
２５    ＨＭＩメモリ
３      ＰＬＣ
３１    Ｉ／Ｆ
３２    Ｉ／Ｆ
３３    ＰＬＣ制御部
３４    ＰＬＣメモリ
４      機器
【図１】
0005518689.tif 000002
【図２】
0005518689.tif 000003
【図３】
0005518689.tif 000004
【図４】
0005518689.tif 000005
【図５】
0005518689.tif 000006
【図６】
0005518689.tif 000007
【図７】
0005518689.tif 000008
【図８】
0005518689.tif 000009