(57)【要約】【課題】  制御装置のメモリから付加情報を含む制御プログラムをダウンロードすると共に、これをマスタとして制御プログラムのバージョンアップ等の改変を行い、しかるのちに、改変後の新たな制御プログラムを制御装置にダウンロードすると言った制御プログラム改変作業において、制御装置側のメモリ容量の大小に応じて、付加情報を最大限有効に取り扱うことを可能とした制御システムを提供する。【解決手段】  プログラム作成支援装置は、作成した制御プログラムを制御装置に格納する際、作成した制御プログラムの付加情報が、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納する。【選択図】図２
2007094546.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と、制御装置で実行されるべき制御プログラムを作成するプログラム作成支援装置とが通信を介して接続された制御システムにおいて、
プログラム作成支援装置は、
制御装置で実行されることで制御を行なう制御プログラムを作成する手段と、
制御プログラムに付属する付加情報を作成する手段と、
作成した制御プログラムを制御装置に格納する際、作成した制御プログラムの付加情報がメモリ容量の点から制御装置に格納可能かどうかを判断する手段とを備え、
メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納する、ことを特徴する制御システム。
【請求項２】
制御プログラムを作成する手段は、
所定の機能を果たす機能ブロックを複数配置し、それらの機能ブロック間を結線する操作を通じて、制御プログラムと表示用結線情報とを生成する機能を有し、かつ付加情報には表示用結線情報が含まれており、
付加情報を制御装置に格納できないと判断した場合は、付加情報から表示用結線情報を削除して制御装置に格納する、ことを特徴する請求項１に記載の制御システム。
【請求項３】
制御装置から読み出した付加情報に表示用結線情報が存在しない場合は、制御プログラムに基づいて結線表示を行なう、ことを特徴とする請求項１に記載の制御システム。
【請求項４】
画面上で範囲指定する手段を備え、
範囲指定された範囲に含まれる結線以外を削除した結線情報を制御装置に格納する、ことを特徴とする請求項２に記載の制御システム。
【請求項５】
制御装置と、制御装置で実行されるべき制御プログラムを作成する制御プログラム作成支援装置とが通信を介して接続された制御システムにおいて、
プログラム作成支援装置は、作成した制御プログラムを制御装置に格納する際、作成した制御プログラムの付加情報が、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納する、ことを特徴する制御システムにおけるプログラム作成支援装置の制御方法。
【請求項６】
所定の機能を果たす機能ブロックを複数配置し、それらの機能ブロック間を結線する操作を通じて、制御プログラムと表示用結線情報とを生成する機能を有すると共に、付加情報には表示用結線情報が含まれており、
付加情報を制御装置に格納できないと判断した場合は、付加情報から表示用結線情報を削除して制御装置に格納する、ことを特徴する請求項５に記載の制御システムにおけるプログラム作成支援装置の制御方法。
【請求項７】
制御装置から読み出した付加情報に表示用結線情報が存在しない場合は、制御プログラムに基づいて結線表示を行なう、ことを特徴とする請求項５に記載の制御システムにおけるプログラム作成支援装置の制御方法。
【請求項８】
範囲指定された範囲に含まれる結線以外を削除した結線情報を制御装置に格納する、ことを特徴とする請求項６に記載の制御システムにおけるプログラム作成支援装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置と制御装置で実行される制御プログラムを作成する制御プログラム作成支援装置とが通信を介して接続された制御システムに関する。
【背景技術】
【０００２】
制御装置（典型的にはプログラマブルコントローラ、以下ＰＬＣ）を用いて所望の制御を行なうためには、利用者は、プログラミング装置を使って制御装置に適した制御言語（例えば、ラダー言語）を用いて制御プログラム（利用者が作成するプログラムという意味でユーザプログラムと呼ぶ）を作成する必要がある。
【０００３】
ユーザプログラムを作成する場合、利用者は、ユーザプログラムの内容を理解しやすいようにプログラム中の命令やプログラムの固まりに対してコメントを付加することができる。ユーザプログラムをＰＬＣへ格納する際にコメントもあわせてＰＬＣへ格納する技術は、従来より種々知られている（例えば、特許文献１参照）。
【０００４】
コメントはプログラミング装置でユーザプログラムを表示する際に、ユーザプログラムとともに表示されるが、ＰＬＣでユーザプログラムを実行する際には、必要ないものである。したがって、ユーザプログラムをＰＬＣへ格納する際にコメントもあわせてＰＬＣへ格納するかどうかは、ＰＬＣ上にコメント格納用のメモリ備えているかどうかにかかっている。
【０００５】
このようにコメントはＰＬＣ上でのユーザプログラム実行には必要のない情報であるが、ＰＬＣ上のユーザプログラムとの整合性を保つためにはコメントもＰＬＣ上に格納されることが望ましい。
【０００６】
コメントのようにＰＬＣ上でのユーザプログラム実行には必要ないがＰＬＣ上に格納することが望ましい付加情報としては、ユーザプログラムを記述する言語によってさまざまなものがある。
【０００７】
例えば、プロセス制御の記述に適した言語では、特定の機能の固まりであるブロックを複数作成し、そのブロックとブロックの間を結線することで制御の流れ表現することがある。このブロック間をどのように線で結ぶかという結線情報は、ＰＬＣ上でのユーザプログラムの実行には必要ないものである。この結線情報もＰＬＣ上に格納するが望ましい付加情報の一つである。
【特許文献１】特開平０７−１１０６５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、ＰＬＣ上に十分なメモリを確保することは困難であるため、当初は、ＰＬＣ上に格納できたこれらの付加情報も、ユーザプログラム変更に伴ってＰＬＣ上に格納できない事態が生じうる状況にある。
【０００９】
この発明は、このような従来の問題点に着目してなされてものであり、その目的とするところは、制御装置のメモリから付加情報を含む制御プログラムを読み出すと共に、これをマスタとして制御プログラムのバージョンアップ等の改変を行い、しかるのちに、改変後の新たな制御プログラムを制御装置のメモリに格納すると言った制御プログラム改変作業において、制御装置側のメモリ容量の大小に応じて、付加情報を最大限有効に取り扱うことを可能とした制御システムを提供することにある。
【００１０】
この発明のさらに他の目的並びに作用効果は、明細書の以下の記述を参照することにより、当業者であれば容易に理解される筈である。
【課題を解決するための手段】
【００１１】
この発明の制御システムは上記の目的を達成するために、次のような構成を採用するものである。
【００１２】
すなわち、本発明の制御システムは、制御装置と、制御装置で実行されるべき制御プログラムを作成するプログラム作成支援装置とが通信を介して接続された制御システムを前提とする。
【００１３】
プログラム作成支援装置は、制御装置で実行されることで制御を行なう制御プログラムを作成する手段と、制御プログラムに付属する付加情報を作成する手段と、作成した制御プログラムを制御装置に格納する際、作成した制御プログラムの付加情報がメモリ容量の点から制御装置に格納可能かどうかを判断する手段とを備える。加えて、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納する、ことを特徴する。
【００１４】
このような構成によれば、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納するため、メモリ容量に収まるか否かを気にせずとも、ユーザは制御プログラムの改変並びに付加情報の任意作成に専念することができる。
【００１５】
つまり、作成された付加情報がメモリ容量の点から制御装置に格納可能のときには、その付加情報は制御プログラムと共に制御装置に格納されるから、これをマスタとして後日プログラムの改変を行うような場合には、プログラム開発支援装置において、それらの付加情報を制御プログラムと共に制御装置から読み出し、それを有効に利用することができる。
【００１６】
一方、作成された付加情報がメモリ容量の点から制御装置に格納不能のときには、その付加情報はメモリ容量に収まるように自動的に加工されてから制御装置に格納されるから、ユーザはメモリ容量に収まるか否かを意識せずに、制御プログラム並びに付加情報の作成に専念することができる。
【００１７】
本発明の好ましい実施の形態においては、制御プログラムを作成する手段は、所定の機能を果たす機能ブロックを複数配置し、それらの機能ブロック間を結線する操作を通じて、制御プログラムと表示用結線情報とを生成する機能を有し、かつ付加情報には表示用結線情報が含まれており、付加情報を制御装置に格納できないと判断した場合は、付加情報から表示用結線情報を削除して制御装置に格納する、ことを特徴とする。
【００１８】
このような構成によれば、付加情報を制御装置に格納できないと判断した場合は、付加情報から表示用結線情報を削除して制御装置に格納するため、表示用結線情報が削除された分だけ付加情報のデータ量が少なくなり、他の付加情報については生かしたまま、制御装置への格納が可能となる。
【００１９】
このとき、制御装置から読み出した付加情報に表示用結線情報が存在しない場合は、制御プログラム並びに他の付加情報（計器ブロックの座標、計器ブロックの仕様等）に基づいて一定のルールにしたがって結線表示を行なうようにすれば、表示用結線情報が欠落したままであっても、制御プログラムをある程度わかりやすく表示させることができる。
【００２０】
本発明の好ましい他の実施形態にあっては、画面上で範囲指定する手段を備え、範囲指定された範囲に含まれる結線以外を削除した結線情報を制御装置に格納する、ことを特徴とする。
【００２１】
このような構成によれば、特に配線レイアウトに工夫をしたような結線部分については、予め範囲指定しておくことで、ユーザ作成の配線に従った結線情報を全て制御装置に格納できない場合でも、範囲指定された結線部分の結線情報は保存可能となるため、のちの自動配線復元作業に際しても、ユーザの望んだ配線系統図を再現することができ、ユーザの努力が無駄になることがない。
【００２２】
別の一面から見た本発明は、制御システムにおけるプログラム作成支援装置の制御方法としても把握することができる。
【００２３】
すなわち、この方法は、制御装置と、制御装置で実行されるべき制御プログラムを作成する制御プログラム作成支援装置とが通信を介して接続された制御システムにおいて、プログラム作成支援装置は、作成した制御プログラムを制御装置に格納する際、作成した制御プログラムの付加情報が、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納する、ことを特徴とするものである。
【００２４】
また、本発明方法の好ましい実施の形態においては、所定の機能を果たす機能ブロックを複数配置し、それらの機能ブロック間を結線する操作を通じて、制御プログラムと表示用結線情報とを生成する機能を有すると共に、付加情報には表示用結線情報が含まれており、付加情報を制御装置に格納できないと判断した場合は、付加情報から表示用結線情報を削除して制御装置に格納する、ことを特徴とするものである。
【００２５】
また、本発明方法の好ましい実施の形態においては、制御装置から読み出した付加情報に表示用結線情報が存在しない場合は、制御プログラムに基づいて結線表示を行なう、ことを特徴とするものである。
【００２６】
さらに、本発明方法の好ましい他の実施の形態においては、範囲指定された範囲に含まれる結線以外を削除した結線情報を制御装置に格納する、ことを特徴とするものである。
【発明の効果】
【００２７】
本発明によれば、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納するため、メモリ容量に収まるか否かを気にせずとも、ユーザーは制御プログラムの改変並びに付加情報の任意作成に専念することができる。
【００２８】
つまり、作成された付加情報がメモリ容量の点から制御装置に格納可能のときには、その付加情報は制御プログラムと共に制御装置に格納されるから、これをマスタとして後日プログラムの改変を行うような場合には、プログラム開発支援装置において、それらの付加情報を制御プログラムと共に制御装置から読み出し、それを有効に利用することができる。
【００２９】
一方、作成された付加情報がメモリ容量の点から制御装置に格納不能のときには、その付加情報はメモリ容量に収まるように自動的に加工されてから制御装置に格納されるから、ユーザはメモリ容量に収まるか否かを意識せずに、制御プログラム並びに付加情報の作成に専念することができる。
【発明を実施するための最良の形態】
【００３０】
以下に、この発明に係る制御システム並びにその制御方法の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００３１】
先に述べたように、本発明の制御システムは、制御装置と、制御装置で実行されるべき制御プログラムを作成するプログラム作成支援装置とが通信を介して接続されたものである。そして、プログラム作成支援装置は、制御装置で実行されることで制御を行う制御プログラムを作成する手段と、制御プログラムに附属する付加情報を作成する手段と、作成した制御プログラムを制御装置に格納する際、作成した制御プログラムの付加情報がメモリ容量の点から制御装置に格納可能かどうかを判断する手段とを備えている。そして、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合には、メモリ容量に収まるように付加情報を加工してから制御装置に格納することを特徴とするものである。
【００３２】
図示の実施の形態においては、制御装置としては、その一例としてプロセスコントローラが示されており、またプログラム作成支援装置としては、その一例として開発支援装置が示されている。
【００３３】
当業者にはよく知られているように、プロセスコントローラとは、制御対象となる温度、圧力、速度などのプロセス量を、例えばＰＩＤ制御演算を通じて目標値に制御するものであり、また開発支援装置は、このプロセスコントローラに対する制御プログラムの作成、改変、各種の設定処理、動作中のモニタ処理などを司る装置であり、一般的にはパソコンを主体として構成される。
【００３４】
本発明が適用されるシステム並びに要素の説明図が図１に示されている。同図（ａ）に示されるように、本発明に係る制御システムは、開発支援装置１と、プロセスコントローラ２と、入力ユニット３と、出力ユニット４とを備えている。図から明らかなように、開発支援装置１とプロセスコントローラ２とは通信を介して接続され、プロセスコントローラ２と入力ユニット３及び出力ユニット４とは内部バスラインを介して接続されている。入力ユニット３はプロセス制御に必要な各種の入力信号を外部から取り込むためのものであり、また出力ユニット４はプロセス制御に必要な各種の出力信号を外部へと送出するためのものである。
【００３５】
開発支援装置１は、制御プログラムを作成する機能、作成された制御プログラムをプロセスコントローラ２内のメモリに格納する機能、プロセスコントローラ２内のメモリに格納された制御プログラムを読み出す機能、プロセスコントローラ２内のメモリに格納された制御プログラムに対して各種のパラメータを設定する機能、プロセスコントローラ２内のメモリに格納された制御プログラムの動作に関わる入出力状態などをオンラインでモニタする機能等々が備えられている。なお、この種の開発支援装置１の詳細については、当業者にはよく知られているので、それらの動作の詳細説明については省略する。
【００３６】
次に、プロセスコントローラ内部の詳細ブロック図が図１（ｂ）に示されている。同図に示されるように、プロセスコントローラ２の内部には、ＣＰＵユニット２１とプロセス制御ユニット２２とが含まれている。ＣＰＵユニット２１はプロセスコントローラ２の主としてシーケンス制御並びに入出力更新制御などを司るものであり、その内部には、通信インタフェース２１ａ、ＭＰＵ２１ｂ、システムメモリ２１ｃ、データメモリ２１ｄ、ユーザプログラムメモリ２１ｅ、Ｉ／Ｏメモリ２１ｆ、補助記憶装置（Ａ）２１ｇが含まれている。
【００３７】
通信インタフェース２１ａは、開発支援装置（パソコンなど）１とＣＰＵユニット２１との間における通信のための制御を担うものである。ＭＰＵ２１ｂはＣＰＵユニット２１の全体を統括制御するものである。システムメモリ２１ｃは、ＣＰＵユニット２１としての機能を実現するための各種のシステムプログラムを格納するメモリである。データメモリ２１ｄは、ＣＰＵユニット２１側の制御に必要な各種のデータを格納するメモリである。ユーザプログラムメモリ２１ｅは、ユーザにより任意作成されたユーザプログラム（例えば、シーケンス制御のためのラダー図プログラム）などを格納するメモリである。Ｉ／Ｏメモリ２１ｆは、ユーザプログラムの実行に必要な入力データや出力データを格納するメモリである。補助記憶装置（Ａ）２１ｇは、ＦＲＯＭなどで構成され、ユーザプログラムの実行とは直接関係しない情報（例えば、コメントに相当するデータ）を格納する記憶装置である。ＭＰＵ２１ｂは、ユーザプログラムメモリ２１ｅに格納されているユーザプログラムを実行することでシーケンス制御を実現する。
【００３８】
一方、プロセス制御ユニット２２は、プロセス制御を実現するための部分であり、ＭＰＵ２２ａ、システムメモリ２２ｂ、補助記憶装置（Ｂ）２２ｃなどを含んでいる。ＭＰＵ２２ａはプロセス制御ユニット２２内の全体を統括制御するものである。システムメモリ２２ｂは、プロセス制御ユニットに必要な機能であるＰＩＤ演算機能などを実現するための各種システムプログラムを格納するメモリである。補助記憶装置（Ｂ）２２ｃは、ユーザにより任意に作成されたプロセス制御プログラムを格納するメモリである。さらに、補助記憶装置（Ｂ）２２ｃは、後に詳細に説明するように、プロセス制御プログラムを構成する計器ブロックや計器ブロック間の入出力関係を現す結線などを開発支援装置１の表示部（図示せず）へ表示するために必要な各種の付加情報を格納するメモリである。この付加情報には、少なくとも「タグ」と「表示用結線情報」が含まれている。ＭＰＵ２２ａは、補助記憶装置（Ｂ）２２ｃに格納されたプロセス制御プログラムを実行することでプロセス制御を実現する。
【００３９】
次に、図５〜図７の画面説明図を参照しながら、プロセス制御プログラムのプログラミングに使用されるブロック結線図について説明する。
【００４０】
ワークスペースツリーと結線図との関係を示す画面説明図が図５に示されている。ブロック結線図は、計器ブロック間の結線情報を図示したものである。ブロック結線図は、ワークスペースツリー（画面左側ウィンドウに存在する）に登録された計器ブロックを右側のウィンドウ（結線図表示領域）内の所望の位置に貼り付け、その計器ブロックの図形の一部同士を線で結ぶことにより作成することができる。この例にあっては、ワークスペースツリー上の「中項目」に登録されたＴａｇ００１とＴａｇ００２と名付けられた２つの計器ブロックが結線図表示領域に貼り付けられている。
【００４１】
次に、ブロック結線図の構成情報の詳細を図６及び図７を参照して説明する。図６及び図７は同じブロック結線図の表示モードを切り替えて表示したものである。ブロック結線図は以下の要素により構成される。
【００４２】
（１）計器ブロックのブロック番地
プロセス制御プログラムに登録される計器ブロックのブロック番地情報（図６の（１）参照）である。ブロック番地は計器ブロックの格納アドレスであり、プロセスコントローラ内で一意に定められる。
【００４３】
（２）計器ブロックのブロック形式
ブロック結線図に貼り付けられる計器ブロックのブロック形式（図６の（２）参照）である。ブロック形式はプロセスコントローラ内で定義されている。
【００４４】
（３）計器ブロックの代表タグ
登録される計器ブロックに付加されるタグ情報（図３の（３）参照）である。タグ名称は、ユーザが開発支援装置上で設定する。
【００４５】
（４）計器ブロック間結線のライン情報
ブロック間結線の描画情報であり、表示用結線情報に相当する。曲がり角の座標（図７の（４）、［ｘ１，ｙ１］〜［ｘｎ，ｙｎ］参照）が記録される。ラインの形成はユーザが開発支援装置上で設定する。
【００４６】
（５）計器ブロックの位置情報
ブロック結線図上に貼り付ける計器ブロックの位置情報（図７の（５）、［ｘ００１，ｙ００１］、［ｘ００２，ｙ００２］参照）である。
【００４７】
（６）計器ブロックの発信元指定アドレス
結線の発信元指定アドレス情報（図７の（６）参照）である。どの計器ブロックのどのアイテム（ＩＴＥＭ）から接続されているかを格納している情報であり、図７の例であれば、Ｔａｇ００２のＩＴＥＭ「ＰＶ」の発信元指定アドレスはＴａｇ００１の「ＳＰ」である。
【００４８】
以上説明した各情報（１）〜（６）は、１ファイルに圧縮された後、プロセスコントローラへと転送される。以上がブロック結線図の構成情報の詳細である。
【００４９】
プロセス制御プログラムを構成する付加情報としてのユーザデータの一例を示すユーザデータテーブルが図４に示されている。
【００５０】
図４に示されるように、データ属性としては、「タグ」、「コメント」、「装置情報」、「表示用結線情報」等々のものが種々存在し、それぞれにはインデックス「１」〜「５」が付されている。また、各インデックスに対応させて、プライオリティ「１」〜「５」が設定されている。さらに、各データ属性のそれぞれには、プログラムデータから復元可能がどうかを示す情報「０」または「１」が含まれている。プログラムデータから復元できない場合は「０」が、復元可能な場合は「１」が格納される。
【００５１】
プログラムデータから復元可能とは、付加情報であるユーザデータをプログラムデータから復元できることを意味する。ここで、プログラムデータとは、プロセス制御プログラムを構成するデータの１つであり、プロセスコントローラ上でプロセス制御プログラムを実行するために必須のデータの１つである。
【００５２】
そして、後述する図２及び図３のフローチャートの処理においては、図４の各情報が適宜参照されることとなる。
【００５３】
次に、図２を参照しながら、開発支援装置からプロセスコントローラへのユーザデータ転送処理を説明する。
【００５４】
この種のプロセスコントローラシステムにおいて、新規に制御プログラムを開発する場合は、開発支援装置１において先に説明したブロック結線図を作成することによって、所望のプロセス制御プログラムを作成し、さらにこれにタグ情報や表示用結線情報などを含む付加情報を付与する。しかる後、新規作成された制御プログラム並びに付加情報は、プロセスコントローラ２内のメモリ（例えば、補助記憶装置（Ａ）２１ｇ及び補助記憶装置（Ｂ）２２ｃなど）に格納される。
【００５５】
一方、制御対象ラインに変更があったり、増設があるような場合、プロセス制御プログラムの改変作業が必要となる。この場合、開発支援装置１はプロセスコントローラ２内のメモリから制御プログラム並びに付加情報を読み出す。しかる後、この読み出された旧プログラム並びに付加情報に対して、プログラム作成機能を作動させることによって、新たな計器ブロックや結線を付加することにより、バージョンアップや増設等に伴う改変作業を行い、その結果改変された新たなプロセス制御プログラムが完成する。
【００５６】
問題となるのは、こうして新規作成されたプロセス制御プログラムをプロセスコントローラ２のメモリに格納する際に発生する。すなわち、プロセスコントローラ２内に存在するメモリ（補助記憶装置（Ａ）２１ｇ及び補助記憶装置（Ｂ）２２ｃなど）は、そもそもさほど大きなメモリ容量を有しない。そのため、プログラム改変作業に伴うデータの増加量が規定値を超えると、もはや、その新規作成されたプロセス制御プログラムに伴う付加情報を格納すべきメモリ容量がオーバーしてしまう。しかしながら、この発明にあっては、このような場合にあっても、ユーザに特に意識させることなく新たに追加された結線情報を含む付加情報を適切に処理する。
【００５７】
すなわち、図２に示されるように、開発支援装置において、ダウンロード処理（ユーザデータを開発支援装置からプロセスコントローラへ転送する処理）が開始されると、まずプロセスコントローラの側の補助記憶装置の状態確認が行われ、プロセスコントローラ側の補助記憶装置容量は所定のレジスタｉに格納される（ステップ２０１）。
【００５８】
続いて、図４に示されるユーザデータのデータ数が求められ、こうして求められたデータ数は所定のレジスタｍに格納される（ステップ２０２）。このユーザデータのデータ数は予め決められた値でも良い。
【００５９】
続いて、転送エントリ（ユーザデータ転送用メモリ）に全てのユーザデータをコピーした後（ステップ２０３）、転送エントリ内のユーザデータの合計サイズを取得することによって、転送すべきデータのサイズを求め、こうして求められたデータのサイズを所定のレジスタｊに格納する（ステップ２０４）。
【００６０】
続いて、補助記憶装置容量ｉと転送すべきデータサイズｊとの大小比較が行われる（ステップ２０５）。ここで、補助記憶装置容量ｉよりも転送すべきデータサイズｊの方が小さいと判定されると（ステップ２０５ＮＯ）、データ転送処理が実行されて、転送エントリのデータはプロセスコントローラ２内の補助記憶装置へと転送される（ステップ２１０）。
【００６１】
これに対して、補助記憶装置容量ｉよりも転送すべきデータサイズｊの方が大きいと判定されると（ステップ２０５ＹＥＳ）、ユーザデータテーブルよりプログラムデータから復元可能な属性をプライオリティの低いものから１つ検出しては（ステップ２０６）、転送エントリから検出された属性に該当するデータを削除する処理（ステップ２０７）を、レジスタｍを１つ減算しては（ステップ２０８）、繰り返す。こうして、レジスタｍの値が０となると（ステップ２０９ＹＥＳ）、ダウンロード処理を終了する。
【００６２】
このように、以上説明したダウンロード処理においては、補助記憶装置容量ｉよりも転送すべきデータサイズｊが小さいときには、通常どおりデータ転送処理が行われるのに対して（ステップ２１０）、転送すべきデータサイズｊが補助記憶容量ｉよりも大きい場合には（ステップ２０５ＹＥＳ）、ユーザデータ（付加情報）の内、プログラムデータから復元可能な属性をプライオリティの低いものから１つ検出し（ステップ２０６）、転送エントリから検出された属性に該当するデータを削除する（ステップ２０７）といったデータ加工処理を行うのである。
【００６３】
そのため、この加工処理の結果、転送すべきデータサイズはプロセスコントローラ２側の補助記憶装置容量ｉよりも小さくなるため、ユーザに気づかせることなく、独りでにデータ容量は縮小されて、開発支援装置からプロセスコントローラへのデータ転送が行われるのである。
【００６４】
次に、プロセスコントローラから開発支援装置へのユーザデータ転送処理（アップロード処理）を示すフローチャートが図３に示されている。同図に示されるように、アップロード処理が開始されると、アップロード対象となるデータ数が求められ、こうして求められたデータ数は所定のレジスタｍに格納される（ステップ３０１）。
【００６５】
しかる後、レジスタｍのデータ数をループ回数に設定した後、所定のループ処理（ステップ３０２〜３０６）が繰り返し実行される。
【００６６】
このループ処理（ステップ３０２〜３０６）においては、まずインデックスｍのデータが存在するか否かが、図４に示すユーザデータテーブルを参照して実行される（ステップ３０３）。
【００６７】
図４を参照して先に説明したように、各データ属性「タグ」、「コメント」、「装置情報」、「表示用結線情報」・・・のそれぞれにはインデックス「１」、「２」、「３」、「４」、「５」・・・が付されている。そのため、レジスタｍの内容に基づきインデックスが１つずつ指定されて、そのようなインデックスが存在しない場合に限り（ステップ３０３ＮＯ）、関連付けられたプログラムデータよりインデックスｍのユーザデータの復元処理が行われ（ステップ３０４）、こうして得られたインデックスｍのユーザデータを開発支援装置に格納する処理が実行される（ステップ３０５）。
【００６８】
より具体的には、例えばインデックスｍが「４」であると表示用結線情報が存在しないため、このとき表示用結線情報がそれと関連付けられたプログラムデータより復元されることとなる（ステップ３０４）。この「表示用結線情報」の復元は、公知のブロック自動結線アルゴリズムを用いて実施することができる。
【００６９】
次に、ブロック自動結線アルゴリズムについて、図７〜図１０を参照して説明する。ブロック間結線は以下の４パターンに分類される。ここで、結線元計器ブロックＡのＩＴＥＭ座標をＩ１（Ｘ１，Ｙ１）、結線先計器ブロックＢのＩＴＥＭ座標をＩ２（Ｘ２，Ｙ２）とする。
【００７０】
結線パターン１が図８（ａ）に示されている。同図に示されるように、結線パターン１においては、Ｘ１＜Ｘ２であり、かつＹ１＝Ｙ２である場合、座標Ｉ１→座標Ｉ２へ直線を引くものである。
【００７１】
結線パターン２が図８（ｂ）に示されている。同図に示されるように、結線パターン２にあっては、Ｘ１＜Ｘ２であり、かつＹ１≠Ｙ２の場合、座標Ｉ１→Ｉ２への経路は、点Ｌ１及び点Ｌ２を経由する。ここで、Ｌ１及びＬ２のＸ座標は結線が直線となるような任意の値とする。
【００７２】
結線パターン３が図９に示されている。同図（ａ）に示されるように、結線パターン３−１にあっては、Ｘ１＞Ｘ２の場合、座標Ｉ１→Ｉ２への経路は計器ブロックの上部を迂回する結線となる。但し、同図（ｂ）に示されるように、計器ブロックＡと計器ブロックＢのＹ座標に一定の間隔がある場合、計器ブロックの上部を迂回するのではなくて、計器ブロックＡと計器ブロックＢとの隙間を通して結線する。
【００７３】
結線パターン４が図１０に示されている。同図に示されるように、結線の途中に障害となる計器ブロックが存在する場合、座標Ｉ１→Ｉ２への経路は障害となる計器ブロックを迂回する結線となる。
【００７４】
このように、以上説明した結線パターン１〜４からなるルールを使用することにより、ダウンロードされたプロセス制御プログラムに結線情報が存在しなくとも、それと関連づけられたプログラムデータより結線情報を復元することができるのである。
【００７５】
従って、この図３のフローチャートに示される処理を内蔵した開発支援装置によれば、こと結線情報に関しては、プロセスコントローラ２のメモリに余裕がある場合に限りダウンロードを許容する一方、余裕がない場合には結線情報を削除してデータ容量を縮小した後これをダウンロードする一方、さらに将来の改良にあたってプロセスコントローラ２側のデータをマスタとし、これを開発支援装置１にアップロードして利用する場合には、その都度結線情報が再現されるため、ブロック結線図の理解に不便を生ずることがないという利点がある。
【００７６】
なお、図２のフローチャートにおいては、ユーザデータテーブルよりプログラムデータから復元可能な属性をプライオリティの低いものから１つ検出し（ステップ２０６）、転送エントリから検出された属性に該当するデータを削除する（ステップ２０７）ことにより、付加情報の加工（具体的には結線情報の削除）を行ったが、このような方法によると、せっかく見やすくなるように工夫された結線経路が削除されてしまう虞れがある。
【００７７】
このような不都合を回避するためには、開発支援装置１の画面に映し出されたブロック結線図において、範囲指定処理を可能とし、指定された範囲のブロック結線図については、削除対象から除外するといった処理を採用すれば、このような不便を回避することができる。
【００７８】
なお、上述の実施形態においてプロセス制御ユニット２２がプロセスコントローラ２に着脱可能に構成される場合は、プロセス制御ユニット２２が備える補助記憶装置（Ｂ）２２ｃのみにプロセス制御プログラムを格納することが望ましい。そのようにすることで、プロセス制御ユニット２２の可搬性が向上する。
【００７９】
また、以上の実施形態においては、本発明をプロセスコントローラに適用したが、その他様々なプログラム言語を用いるコントローラに広く応用できる技術であることは勿論であり、例えばフローチャート式制御プログラムで動作するコントローラにおいて、各ブロック間の結線を付加情報と見なして、容量オーバに応じた削除処理を実行したり、その他各種ファンクションブロックを採用するプログラマブルコントローラにおいて、ファンクションブロック間の結線を付加情報と見なして、選択的に削除を行うなどの様々な応用が可能であることは言うまでもない。
【産業上の利用可能性】
【００８０】
本発明によれば、メモリ容量の点から付加情報を制御装置に格納できないと判断した場合は、メモリ容量に収まるように付加情報を加工してから制御装置に格納するため、メモリ容量に収まるか否かを気にせずとも、ユーザーは制御プログラムの改変並びに付加情報の任意作成に専念することができる。
【００８１】
つまり、作成された付加情報がメモリ容量の点から制御装置に格納可能のときには、その付加情報は制御プログラムと共に制御装置に格納されるから、これをマスタとして後日プログラムの改変を行うような場合には、プログラム開発支援装置において、それらの付加情報を正義プログラムと共に制御装置からアップロードし、それを有効に利用することができる。
【００８２】
一方、作成された付加情報がメモリ容量の点から制御装置に格納不能のときには、その付加情報はメモリ容量に収まるように自動的に加工されてから制御装置に格納されるから、ユーザはメモリ容量に収まるか否かを意識せずに、制御プログラム並びに付加情報の作成に専念することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明が適用されるシステム並びに要素の説明図である。
【図２】開発支援装置からプロセスコントローラへのユーザデータ転送処理を示すフローチャートである。
【図３】プロセスコントローラから開発支援装置へのユーザデータ転送処理を示すフローチャートである。
【図４】ユーザデータの一例を示すユーザデータテーブルの説明図である。
【図５】ワークスペースツリーと結線図との関係を示す画面説明図である。
【図６】通常表示モードにおけるブロック結線図の表示例を示す画面説明図である。
【図７】タグ表示モードにおけるブロック結線図の表示例を示す画面説明図である。
【図８】結線パターンの説明図である。
【図９】結線パターンの説明図である。
【図１０】結線パターンの説明図である。
【符号の説明】
【００８４】
１    開発支援装置（パソコンなど）
２    プロセスコントローラ
３    入力ユニット
４    出力ユニット
２１    ＣＰＵユニット
２１ａ  通信インタフェース
２１ｂ  ＭＰＵ
２１ｃ  システムメモリ
２１ｄ  データメモリ
２１ｅ  ユーザプログラムメモリ
２１ｆ  Ｉ／Ｏメモリ
２１ｇ  補助記憶装置（Ａ）
２２    プロセスコントローラ
２２ａ  ＭＰＵ
２２ｂ  システムメモリ
２２ｃ  補助記憶装置（Ｂ）
【図１】
2007094546.tif 000003
【図２】
2007094546.tif 000004
【図３】
2007094546.tif 000005
【図４】
2007094546.tif 000006
【図５】
2007094546.tif 000007
【図６】
2007094546.tif 000008
【図７】
2007094546.tif 000009
【図８】
2007094546.tif 000010
【図９】
2007094546.tif 000011
【図１０】
2007094546.tif 000012