(57)【特許請求の範囲】
【請求項１】
論理素子を含む論理情報が、前記論理素子を象徴する図形、および、前記論理素子間の接続関係を表す線分を含む図示情報により制御シーケンスとして表現されている制御設計仕様書のデータを格納する格納手段と、
前記制御設計仕様書の制御シーケンスのうちの、ソフトウエアで実現される制御シーケンスの仕様を記載したプログラム仕様書を、前記制御設計仕様書のデータに基づいて生成するにあたり必要となる情報である設計情報の指示を受け付ける設計情報付加受け付け手段と、
該設計情報付加受け付け手段により受け付けられた前記設計情報を、前記制御設計仕様書のデータと関連づけて記憶する記憶手段と、
前記制御設計仕様書のデータと前記設計情報とから、前記プログラム仕様書を生成するために必要となる情報を抽出する抽出手段と、
該抽出手段により抽出された情報に基づいて、前記プログラム仕様書を生成する生成手段と、
表示手段と、を備え、
前記制御設計仕様書の制御シーケンスは、前記表示装置の表示画面上に表示される一または複数の制御設計仕様書シートに記載されており、
前記設計情報付加受け付け手段は、前記制御設計仕様書シートと同数で、前記制御設計仕様書シートと同じサイズの、前記表示装置の表示画面上に表示される仮想的なシートである設計情報付加シートを、前記制御設計仕様書シートのそれぞれと対応させて有し、これらの設計情報付加シートを対応する前記制御設計仕様書シートと重ね合わせて前記表示装置上の表示画面に表示して、前記設計情報付加シートを設計情報付加エリアとし、該設計情報付加エリア上に前記設計情報を指示されて、該指示を受け付けることを特徴とするプログラム仕様書自動生成支援システム。
【請求項２】
論理素子を含む論理情報が、前記論理素子を象徴する図形、および、前記論理素子間の接続関係を表す線分を含む図示情報により制御シーケンスとして表現されている制御設計仕様書のデータを格納する格納手段と、
前記制御設計仕様書の制御シーケンスのうちの、ソフトウエアで実現される制御シーケンスの仕様を記載したプログラム仕様書を、前記制御設計仕様書のデータに基づいて生成するにあたり必要となる情報である設計情報の指示を受け付ける設計情報付加受け付け手段と、
該設計情報付加受け付け手段により受け付けられた前記設計情報を、前記制御設計仕様書のデータと関連づけて記憶する記憶手段と、
前記制御設計仕様書のデータと前記設計情報とから、前記プログラム仕様書を生成するために必要となる情報を抽出する抽出手段と、
該抽出手段により抽出された情報に基づいて、前記プログラム仕様書を生成する生成手段と、
表示装置と、を備え、
前記抽出手段により抽出された情報には、前記制御シーケンスに含まれる前記論理素子を象徴する図形および前記線分が含まれていて、
前記生成手段は、
前記制御シーケンスに含まれる前記論理素子を象徴する図形の形状を、前記プログラム仕様書において規定されている前記論理素子を象徴する図形の形状に変換する変換手段と、
前記制御シーケンスに含まれる線分、および前記変換手段により変換された形状の図形で象徴された前記論理素子の配置を変更して、前記制御シーケンスが前記表示装置の表示画面上の予め定められたサイズの領域に表示されるようにする配置変更手段と、
を備えることを特徴とするプログラム仕様書自動生成支援システム。
【請求項３】
請求項１において、
前記設計情報付加受け付け手段は、前記設計情報付加シートとして、ソフト枠設定シートおよび設計付属情報設定シートの２種類を有し、
前記ソフト枠設定シートおよび前記設計付属情報設定シートを、各々、前記制御設計仕様書シートと同数の、前記制御設計仕様書シートと同じサイズの仮想的なシートを、前記制御設計仕様書シートのそれぞれと対応させたものとし、
前記ソフト枠設定シートを、前記制御設計仕様書シートのそれぞれと重ね合わせて前記表示装置上の表示画面に表示して、前記ソフト枠設定シートをソフト枠設定エリアとし、
該ソフト枠設定エリア上に、前記制御設計仕様書の制御シーケンスのうちの、ソフトウエアで実現される制御シーケンスを特定するための情報であるソフト枠情報を指示されて、該指示を受け付け、
前記設計付属情報設定シートを、前記制御設計仕様書シートのそれぞれと重ね合わせて前記表示装置上の表示画面に表示して、前記設計付属情報設定シートを設計付属情報設定エリアとし、
該設計付属情報設定エリア上に、前記制御設計仕様書のデータから前記プログラム仕様書を生成するにあたり必要となる情報で、前記プログラム仕様書に基づいて作成されるプログラムを実行する制御装置のハードウエアに関連した情報を少なくとも含む情報である設計付属情報を指示されて、該指示を受け付けることを特徴とするプログラム仕様書自動生成支援システム。
【請求項４】
請求項３おいて、
前記設計情報付加受け付け手段は、前記ソフト枠設定エリア上で、前記制御設計仕様書の制御シーケンスのうちの、ソフトウエアで実現される制御シーケンスの範囲を囲む閉図形を描画されて、この描画された閉図形を前記ソフト枠情報の指示として受け付けることを特徴とするプログラム仕様書自動生成支援システム。
【請求項５】
請求項４おいて、
前記ソフト枠設定エリア上に指示された前記ソフト枠情報を受け付けた後、前記表示装置上の表示画面上に、前記ソフト枠設定エリア上に指示されたソフト枠情報のみを表示する手段を備えることを特徴とするプログラム仕様書自動生成支援システム。
【請求項６】
請求項５おいて、
前記設計情報付加受け付け手段は、前記設計付属情報設定エリア上で、前記設計付属情報を付加する位置と、前記設計付属情報の内容とを、前記設計付属情報の指示として受け付けることを特徴とするプログラム仕様書自動生成支援システム。
【請求項７】
請求項６おいて、
前記設計情報付加受け付け手段は、前記設計付属情報設定エリア上の前記位置に、前記設計付属情報の内容を表示する手段を備えることを特徴とするプログラム仕様書自動生成支援システム。
【請求項８】
請求項７において、
前記設計付属情報設定エリア上に指示された前記設計付属情報を受け付けた後、前記表示装置上の表示画面上に、前記設計付属情報設定エリア上に指示された前記設計付属情報の位置に前記設計付属情報の内容のみを表示する手段を備えることを特徴とするプログラム仕様書自動生成支援システム。
【請求項９】
請求項３において、
前記設計情報付加受け付け手段により前記ソフト枠設定エリア上に指示された前記ソフト枠情報を受け付け、かつ、前記設計情報付加受け付け手段により前記設計付属情報設定エリア上に指示された前記設計付属情報を受け付けた後、前記表示装置上の表示画面上に、前記制御設計仕様書シートに記載の制御シーケンスの表示、受け付けたソフト枠情報、および、受け付けた設計付属情報を重ね合わせて表示する手段を備えることを特徴とするプログラム仕様書自動生成支援システム。
【請求項１０】
請求項１または２において、
前記抽出手段は、前記制御設計仕様書内の図形で象徴されている各論理素子が、ソフトウエアで実現される制御シーケンスの範囲内にあるか、ソフトウエアで実現される制御シーケンスの範囲外にあるかを認識する認識手段と、
該認識手段による認識結果に基づいて、前記論理素子の接続関係に論理的整合性が有るか否かを判定する判定手段と、
前記認識手段によりソフトウエアで実現される制御シーケンスの範囲内にあると認識された論理素子であって、前記判定手段により接続関係に論理的整合性が有ると判定された論理素子のみを含んでいる制御シーケンスと、該制御シーケンスの論理素子に対して付加された設計付属情報とを、抽出する手段と、
を備えることを特徴とするプログラム仕様書自動生成支援システム。
【請求項１１】
請求項１０において、前記抽出手段は、前記判定手段による判定結果を外部に通知する通知手段を備えることを特徴とするプログラム仕様書自動生成支援システム。
【請求項１２】
請求項１１において、
前記通知手段は、少なくとも、前記認識手段によりソフトウエアで実現される制御シーケンスの範囲内にあると認識された論理素子のうち、前記判定手段により接続関係に論理的整合性が有ると判定された論理素子と、前記判定手段により接続関係に論理的整合性が無いと判定された論理素子とに、異なる色を着色して表示する手段を備えることを特徴とするプログラム仕様書自動生成支援システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＡＤ（計算機支援）システムを用いて作成されている制御設計仕様書から、プログラム仕様書を自動的に生成することを支援するプログラム仕様書自動生成支援システムに関するものである。特に、発電プラント・化学プラント・圧延プラント等において、該プラントを制御する機能が論理情報を含んだシンボルにより記載されている制御設計仕様書から、前記プラントを制御するプラント制御装置のプログラム仕様書を、自動的に生成することを支援するプログラム仕様書自動生成支援システムに関するものである。
【０００２】
【従来の技術】
発電プラント・化学プラント・圧延プラント等の制御については、コンピュータを用いたデジタル制御装置（以下、制御装置と略す）による制御が既に実用化されている。前記制御装置には、前記プラントにおける機器を制御するための制御プログラムが格納されており、前記制御装置は、前記制御プログラムを実行することにより、前記プラントの制御を行なう。
【０００３】
前記制御プログラムは、通常の高級言語によるプログラムと同様に作成される。すなわち、ユーザが、プログラム仕様書を参照しながら、入力装置により制御プログラムの内容を入力し、入力された制御プログラムの内容を表示した表示装置の表示画面を見ながら、対話型で作成を行なう。
【０００４】
この際にユーザが参照するプログラム仕様書は、制御設計仕様書から作成される。該制御設計仕様書は、論理的な機能を表現したシンボルと、論理の流れが分かるようにシンボル間を結んだ線分などとで表記されている。そして、これらのシンボルや線分などにより、プラントの機器（制御対象機器）に対する制御機能が、制御シーケンスとして表現されている。
【０００５】
制御設計仕様書は、制御対象に対する制御機能を表す図書であるので、記載されている制御シーケンスを実現するのが、ハードウエアであるのかソフトウエアであるのかという区別は記載されていない。そこで、従来、ユーザは、制御設計仕様書において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲を、手書きの多角形図形で囲むなどして、ソフトウエアで実現される制御シーケンスの範囲であると認識していた。
【０００６】
また、制御プログラムを作成する際には、入出力信号のデータアドレスの設定等の、制御装置のハードウエアに関連した情報（ハードウエア情報）が必要となる。そこで、プログラム仕様書に、ハードウエア情報を記載しなければならない。しかし、制御設計仕様書には、ハードウエア情報が記載されていないので、ユーザがハードウエア情報を付加しながらプログラム仕様書を作成する必要があった。
【０００７】
さらに、制御設計仕様書には、制御装置特有の制御条件や設計ノウハウなど（前記ハードウエア情報に、これらの制御条件や設計ノウハウなどをも含めてハードウエア情報と称することとする）が簡略化されたシンボルで表現されている場合がある。そこで、制御設計仕様書からプログラム仕様書を作成する場合には、前記制御条件や設計ノウハウなどが正しく組み込まれるように考慮しながら、手作業で、作成を行なっていた。
【０００８】
さらに、一般的に、制御設計仕様書に記載されるシンボルは、日本電機工業会標準規格（ＪＥＭ）等に準拠して、制御装置に依存しないシンボルで論理機能等が表現されている。しかし、プログラム仕様書は、制御装置の仕様に合わせて論理機能をブロック化したシンボルやラダーシーケンスのシンボルで表現されている。そこで、制御設計仕様書からプログラム仕様書を作成する場合には、制御設計仕様書のシンボルを、制御装置の仕様に合わせて変換する必要がある。従来、このような変換も、ユーザが手作業で行なっていた。
【０００９】
一方、制御設計仕様書からプログラム仕様書を作成する場合の、省力化や人為ミスの低減を図るための技術として、特開平５ー８８８６５号公報、特開平６ー１９５２１３号公報、および、特開平８ー７６８１９号公報に記載された技術がある。例えば、特開平６ー１９５２１３号公報には、記憶装置から読み込んだ変換元プログラム仕様書を、変換頻度に基づいて分類して、変換先のプログラム仕様書に直接変換するか、または、類似性を判別して共通の中間プログラム仕様書に変換した後に、変換先のプログラム仕様書に変換する技術が記載されている。
【００１０】
また、特開平５ー２６５７３４号公報には、プログラム仕様書と、ハードウエアの構成を示す設計仕様書と、ハードウエアと計算機との間の伝送を示す設計仕様書とを分けて作成せずに、同一の設計仕様書に記述して、開発・保守を容易にし、この唯一の設計仕様書から制御プログラムの生成に必要な情報のみを抽出して、制御プログラムを自動生成する装置についての技術が開示されている。
【００１１】
【発明が解決しようとする課題】
しかしながら、前記公報に記載の技術には、制御設計仕様書において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲の指定をユーザから受け付けて、前記制御設計仕様書と関連づけて記憶し、前記制御設計仕様書と前記範囲の指定とに基づいてプログラム仕様書を作成するシステムに関する技術はない。
【００１２】
また、前記公報に記載の技術には、制御設計仕様書において記載されている制御シーケンス内のシンボルに付加すべきハードウエア情報の指定をユーザから受け付けて、前記制御設計仕様書と関連づけて記憶し、前記制御設計仕様書と前記ハードウエア情報の指定とに基づいてプログラム仕様書を作成するシステムに関する技術はない。
【００１３】
さらに、前記公報に記載の技術には、制御設計仕様書からプログラム仕様書を作成する場合に、制御設計仕様書のシンボルを、制御装置の仕様に合わせて自動的に変換するシステムに関する技術はない。
【００１４】
本発明は、前記従来の技術における問題点を解決すべくなされたものであり、制御設計仕様書において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲の指定、およびハードウエア情報の指定をユーザから受け付けて、前記制御設計仕様書と関連づけて記憶し、前記制御設計仕様書、前記範囲の指定、および前記ハードウエア情報の指定からプログラム仕様書を作成するプログラム仕様書自動生成支援システムを提供して、制御設計仕様書からプログラム仕様書を作成する際の、生産性の向上を図ることを目的とする。
【００１５】
また、本発明は、制御設計仕様書からプログラム仕様書を作成する際に、制御設計仕様書のシンボルを、制御装置の仕様に合わせて自動的に変換するプログラム仕様書自動生成支援システムを提供することを目的とする。
【００１６】
さらに、本発明は、制御設計仕様書において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲の指定をユーザから受け付けて、前記制御設計仕様書と関連づけて記憶し、該制御設計仕様書からプログラム仕様書を作成するのに先だって、該制御設計仕様書内の各シンボルが、ソフトウエアで実現される制御シーケンスの範囲内にあるか、ソフトウエアで実現される制御シーケンスの範囲外にあるかを認識して、該認識結果によりシンボルの接続関係の論理的整合性をチェックし、該チェックにより論理的整合性があると判定されたシンボルを、制御装置の仕様に合わせて自動的に変換してプログラム仕様書を作成する、プログラム仕様書自動生成支援システムを提供することを目的とする。さらに、前記チェック結果をユーザに通知するプログラム仕様書自動生成支援システムを提供することを目的とする。
【００１７】
さらに、本発明は、制御設計仕様書からプログラム仕様書を作成する際に、プログラム仕様書が所定の画面のサイズに収まるように、プログラム仕様書内のシンボルの位置を自動的に調整するプログラム仕様書自動生成支援システムを提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、
論理素子を含む論理情報が、前記論理素子を象徴する図形、および、前記論理素子間の接続関係を表す線分を含む図示情報により制御シーケンスとして表現されている制御設計仕様書のデータを格納する格納手段と、
前記制御設計仕様書の制御シーケンスのうちの、ソフトウエアで実現される制御シーケンスの仕様を記載したプログラム仕様書を、前記制御設計仕様書のデータに基づいて生成するにあたり必要となる情報である設計情報の指示を受け付ける設計情報付加受け付け手段と、
該設計情報付加受け付け手段により受け付けられた前記設計情報を、前記制御設計仕様書のデータと関連づけて記憶する記憶手段と、
前記制御設計仕様書のデータと前記設計情報とから、前記プログラム仕様書を生成するために必要となる情報を抽出する抽出手段と、
該抽出手段により抽出された情報に基づいて、前記プログラム仕様書を生成する生成手段と、
を備えることができる。
【００１９】
【発明の実施の形態】
本発明は、ＣＡＤシステムで作画した制御設計仕様書からプログラム仕様書を生成する際の、支援を行なうことを特徴としている。プログラム仕様書において、論理機能が、ブロック化されたシンボルやラダーシーケンスシンボルなどの様々なシンボルで表現される場合に、支援を行なうことができる。ここでは、一例として、プログラム仕様書において、論理機能が、ブロック化されたシンボルで表現される場合について説明を行なう。
【００２０】
本発明の実施例を図１〜図２１を参照して説明する。
【００２１】
図１には、本発明の実施の形態の一例に係るプログラム仕様書自動生成支援システムの概略構成図を示している。プログラム仕様書自動生成支援システム１には、ユーザに情報を表示するＣＲＴ３と、ユーザに操作されプログラム仕様書７を生成するための情報を入力する、マウスを備えたキーボード４が、備えられている。また、ユーザがキーボード４等の入力装置を用いて、ＣＲＴ３上に表示させながら、制御設計仕様書作成部１０の機能を用いて作成した、制御設計仕様書２の情報が、制御設計仕様書データベース５に格納されている。
【００２２】
プログラム仕様書７の自動生成時には、制御設計仕様書データベース５に格納されている情報をＣＲＴ３上に表示する。設計情報付加受け付け部２０内のソフト枠作成部２１（図１に図示せず）で、制御設計仕様書において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲の指定をユーザから受け付けて、ソフト枠データ２１ａを生成する。また、設計情報付加受け付け部２０内の設計付属情報付加部２２（図１に図示せず）で、制御設計仕様書において記載されている制御シーケンス内のシンボルに付加すべきハードウエア情報等の設計付属情報の指定をユーザから受け付けて、設計付属情報データ２２ａを生成する。さらに、設計情報付加受け付け部２０で、制御設計仕様書データベース５の情報とソフト枠データ２１ａの情報、制御設計仕様書データベース５の情報と設計付属情報データ２２ａの情報とをリンクさせて設計情報データベース６に格納する。設計情報付加受け付け部２０の機能の詳細については、後述する。
【００２３】
次に、情報抽出部３０では、設計情報データベース６に格納された、リンクされた制御設計仕様書データベース５の情報とソフト枠データ２１ａの情報とから、制御設計仕様書内の各シンボルが、ソフトウエアで実現される制御シーケンスの範囲内にあるか、ソフトウエアで実現される制御シーケンスの範囲外にあるかを認識して、該認識結果によりシンボルの接続関係の論理的整合性をチェックし、該チェック結果をＣＲＴ３上に表示してユーザに通知する。さらに、制御設計仕様書内の、ソフトウエアで実現される制御シーケンスの範囲内であって、シンボルの接続関係の論理的整合性がある範囲の情報と、該範囲のシンボルに対して付加された設計付属情報とを、抽出情報３０ａとして抽出する。情報抽出部３０の機能の詳細については、後述する。
【００２４】
情報抽出部３０で抽出された抽出情報３０ａは、シンボル変換部４０に渡される。シンボル変換部４０では、ユーザが予め登録しておいたシンボル変換対応表４１と制御シーケンス対応表５１を参照して、抽出情報３０ａのシンボルを、プログラム仕様書７のシンボルに変換する。ここで、シンボル変換対応表４１とは、制御設計仕様書２に記載されるシンボルと、プログラム仕様書７に記載されるシンボルとの対応表である。また、制御シーケンス対応表５１とは、制御設計仕様書２に記載される複数のシンボルが組み合わされたパターンと、プログラム仕様書７に記載される複数のシンボルが組み合わされたパターンとの対応表である。なお、制御シーケンス対応表５１を参照しての変換においては、変換前の抽出情報３０ａのシンボル数と比較すると、変換後のプログラム仕様書７のシンボル数が変化することもあるので、プログラム仕様書７におけるシンボルの新たな配置等の処理も行なう。
【００２５】
シンボル変換部４０で生成されたプログラム仕様書は、プログラム仕様書生成部６０において、プログラム仕様書７の所定の画面サイズに納まるように、シンボルの位置を調整される。このようにして、制御設計仕様書２からプログラム仕様書７が生成される。
【００２６】
プログラム仕様書自動生成支援システム１の、上述の制御設計仕様書データベース５、設計情報データベース６、ソフト枠データ２１ａ、設計付属情報データ２２ａ、抽出情報３０ａ、シンボル変換対応表４１、および、制御シーケンス対応表５１は、図示せぬメモリに格納される。また、上述の制御設計仕様書作成部１０、設計情報付加受け付け部２０、情報抽出部３０、シンボル変換部４０、および、プログラム仕様書生成部６０における処理の内容を記述したプログラムを、メモリに記憶し、このプログラムを図示せぬＣＰＵ（中央処理装置）で実行することにより、各部の機能を実現する。
【００２７】
ここで、図１に示した制御設計仕様書データベース５の情報として格納される制御設計仕様書２と、ソフト枠データ２１ａと、設計付属情報データ２２ａとの関連について、図２を用いて説明する。
【００２８】
制御設計仕様書データベース５の情報として格納される制御設計仕様書２は、図１の制御設計仕様書作成部１０の機能を用いて、ユーザにより作成される。制御設計仕様書２は、制御設計仕様書ファイルに格納されている。制御設計仕様書ファイル名は、制御設計仕様書を特定するための名称に、制御設計仕様書ファイルであることを示す拡張子をつけて定められる。例えば、制御設計仕様書を特定するための名称ＡＡＡに、制御設計仕様書ファイルであることを示す拡張子ＤＷＧをつけて、ＡＡＡ．ＤＷＧというように定められる。制御設計仕様書２は、通常ＣＲＴ３上に表示される複数のシートから構成される。各シートには、複数のシンボルが線分（以下、信号線と称する）で結び付けられた制御シーケンスが記載されている。また、各シートには、シリアル番号が付けられている。各シンボルには、論理シンボル２０１ａ、信号取り合いシンボル２０１ｂ、入出力シンボル２０１ｃ、ソフトシンボル２０１ｄ等の属性の種類がある。各シンボルがどの種類の属性を有するかは、プログラム仕様書自動生成支援システム１に予め登録されている。制御設計仕様書２は、制御の機能を表す図書であるので、記載されている制御シーケンスがハードウエアで実現されるのかソフトウエアで実現されるのかの区別は記載されていない。また、プログラム仕様書を生成する際に必要となる、入出力信号データアドレス等のハードウエア情報（以下、ハード情報と略す）等は、記載されていない。本例においては、制御設計仕様書データベース５の情報として格納される制御設計仕様書２の情報を階層１（レイヤ１）の情報として設定する。そして、レイヤ１の情報の表示としては、２０１のように制御設計仕様書２の制御シーケンスが表示される。
【００２９】
ソフト枠データ２１ａは、設計情報付加受け付け部２０内のソフト枠作成部２１で、制御設計仕様書２において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲の指定をユーザから受け付けて作成される。ソフト枠データ２１ａは、ソフト枠データファイルに格納されている。ソフト枠データファイル名は、制御設計仕様書を特定するための名称に、ソフト枠データファイルであることを示す拡張子をつけて定められる。例えば、制御設計仕様書を特定するための名称ＡＡＡに、ソフト枠データファイルであることを示す拡張子ＳＯＦをつけて、ＡＡＡ．ＳＯＦというように定められる。ソフト枠データ２１ａは、レイヤ１と同じサイズの階層化された層（レイヤ）であるレイヤ２の情報として設定される。レイヤ２には、レイヤ１の制御設計仕様書２と同じサイズの仮想的なシートが制御設計仕様書２と同数用意されている。各シートには、制御設計仕様書２と同じシリアル番号が付けられている。そして、レイヤ２の各シートは、同じシリアル番号を有するレイヤ１のシートと対応づけられている。ソフト枠作成部２１は、レイヤ１に配置した制御設計仕様書２０１の上にレイヤ２を重ねあわせ、このレイヤ２をソフト枠設定エリア２０２とする。制御設計仕様書２０１の各シート内の制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲を、ソフト枠設定エリア２０２上に、多角形または円等の閉図形２０３（これをソフト枠２０３と称する）でユーザにより指定され、この指定を受け付ける。多角形または円等の図形による範囲指定に代えて、ソフトウエアで実現される制御シーケンスの範囲のシンボルに所定のマークを付けるなどして指定されてもよい。その他、ソフトウエアで実現される制御シーケンスの範囲の指定が可能であれば、どのような方法でもよい。このとき、ＣＲＴ３上には、レイヤ１に配置した制御設計仕様書２０１と、ソフト枠設定エリア２０２のソフト枠２０３とが重ねて表示される。これにより、ユーザは、制御設計仕様書２０１のどの範囲をソフト枠２０３で囲っているのかを認識することができる。
【００３０】
設計付属情報データ２２ａは、設計情報付加受け付け部２０内の設計付属情報付加部２２で、制御設計仕様書において記載されている制御シーケンス内のシンボルに付加すべきハードウエア情報等の指定をユーザから受け付けて作成される。設計付属情報データ２２ａは、設計付属情報データファイルに格納されている。設計付属情報データファイル名は、制御設計仕様書を特定するための名称に、設計付属情報データファイルであることを示す拡張子をつけて定められる。例えば、制御設計仕様書を特定するための名称ＡＡＡに、設計付属情報データファイルであることを示す拡張子ＥＮＧをつけて、ＡＡＡ．ＥＮＧというように定められる。設計付属情報データ２２ａは、レイヤ１と同じサイズの階層化された層（レイヤ）であるレイヤ３に設定する。レイヤ３には、制御設計仕様書２と同じサイズの仮想的なシートが制御設計仕様書２と同数用意されている。各シートには、制御設計仕様書２と同じシリアル番号が付けられている。そして、レイヤ３の各シートは、同じシリアル番号を有するレイヤ１のシートと対応づけられている。設計付属情報付加部２２は、レイヤ１に配置した制御設計仕様書２０１の上にレイヤ３を重ねあわせ、このレイヤ３を設計付属情報設定エリア２０４とする。制御設計仕様書において記載されている制御シーケンス内のシンボルに付加すべきハード情報２０５や信号名称２０６等（これらを、設計付属情報と称する）の指定を、設計付属情報設定エリア２０４において、ユーザから受け付ける。このとき、ＣＲＴ３上には、レイヤ１に配置した制御設計仕様書２０１と、設計付属情報設定エリア２０４とが重ねて表示される。これにより、ユーザは、制御設計仕様書２０１の任意のシンボルに対して設計付属情報を容易に設定することができる。
【００３１】
レイヤ１、レイヤ２、またはレイヤ３に設定された情報は、それぞれＣＲＴ３上に表示することもできる。また、レイヤ情報の重ね合わせ表示部２３を備えて、レイヤ１とレイヤ２、または、レイヤ１とレイヤ３に設定された情報を重ね合わせて、ＣＲＴ３上に表示することもできる。さらに、レイヤ情報の重ね合わせ表示部２３により、レイヤ１、レイヤ２、およびレイヤ３に設定された情報を重ね合わせて、ＣＲＴ３上に表示することもできる。これにより、ユーザは、プログラム仕様書生成に必要な全データ２０７を確認することができる。
【００３２】
次に、図３は、ソフトウエアで実現される制御シーケンスの範囲の指定をユーザから受け付けて、ソフト枠データ２１ａを生成するソフト枠作成部２１の動作を示すフローチャートである。
【００３３】
図４に示すようなＣＲＴ３上の表示画面において、ソフト枠作成部２１の起動を指示するコマンドを投入することにより、図３に示すフローチャートの処理が起動される。ここで、図４に示す表示画面について説明する。この表示画面においては、通常の表示画面において見られるような、スクロールボタン４０１〜４０３、ページ表示欄４０４、コメント表示欄４０５、Ｗｉｎｄｏｗｓ上のアプリケーションが標準的に有しているメニュー（図示せず）の他に、メニューバー４０６を有している。このメニューバー４０６には、”ファイル”、”作画”、”ページ”等のメニューがある。”ファイル”をマウスでクリックすると、編集対象ファイルの選択、編集データを閉じる、編集データを保存する等の機能を選択することができるプルダウンメニューが表示される。”作画”をマウスでクリックすると、直線を描く、矩形を描く、円を描く、ソフト枠を記入する、設計情報を記入する等の機能を選択することができるプルダウンメニューが表示される。”ページ”をマウスでクリックすると、編集ページの指定、編集ページを前後に移動する等の機能を選択することができるプルダウンメニューが表示される。
【００３４】
まず、ソフト枠データを作成したい制御設計仕様書のファイル名をユーザから入力される。この入力のために、ユーザは、メニューバーの”ファイル”をマウスでクリックし、このクリックにより開かれるプルダウンメニューの中から”新規／開く”をクリックする。このクリックにより、開くことができるファイル名の一覧表が表示される。この中からソフト枠データを作成したい制御設計仕様書のファイル名をクリックすることにより、入力を行なう。ソフト枠作成部２１は、ステップ３０１０により、入力された名称の制御設計仕様書ファイルを読み込む。次に、ステップ３０２０で読み込まれた制御設計仕様書ファイルの情報をレイヤ１の情報とする。
【００３５】
さらに、ステップ３０３０で、読み込まれた制御設計仕様書ファイルに対応するソフト枠データファイルが既に存在するか否かを判定する。制御設計仕様書ファイルに対応するソフト枠データファイルのファイル名は、前述のように、制御設計仕様書のファイル名の拡張子ＤＷＧをＳＯＦに変えたものであるので、対応するソフト枠データファイルのファイル名を、ユーザにより指定されなくとも、前記判定を行なうことができる。ステップ３０３０で、読み込まれた制御設計仕様書ファイルに対応するソフト枠データファイルが既に存在すると判定された場合には、ステップ３０５０へ進み、対応するソフト枠データファイルを読み込んでレイヤ２の情報とした後に、ステップ３０６０へ進む。ステップ３０３０で、読み込まれた制御設計仕様書ファイルに対応するソフト枠データファイルが存在しないと判定された場合には、ステップ３０４０へ進み、ソフト枠を設定する仮想シートを生成し、これを対応するソフト枠データファイルとする。そして、このソフト枠データファイルをレイヤ２の情報として、ステップ３０６０へ進む。
【００３６】
ステップ３０６０においては、レイヤ１とレイヤ２のそれぞれ１番若いシートの情報を重ねてＣＲＴ３上に表示する。次に、ステップ３０７０で、ソフト枠を設定する制御設計仕様書のシート番号を、ユーザにより指定されて、この指定を受け付ける。この指定は、図４の表示画面上の、メニューバーの”ページ”をマウスでクリックし、このクリックにより開かれるプルダウンメニューの中から”編集ページ選択”をクリックし、このクリックの後、ソフト枠を設定する制御設計仕様書のシート番号を指定することにより行なうことができる。ステップ３０７０でこの指定を受け付けると、次に、ステップ３０８０で、指定されたシートのレイヤ１とレイヤ２の情報を重ねてＣＲＴ３上に表示する。この表示画面の一例を、図５に示す。図５には、制御設計仕様書の５シート目に対応するレイヤ１とレイヤ２の情報を重ねてＣＲＴ３上に表示した状態を示している。
【００３７】
次に、ステップ３０９０において、ＣＲＴ３上に表示されている制御設計仕様書上への、ユーザによるソフト枠の作画を受け付ける。この作画は、図５に示した表示画面上のメニューバーの”作画”をマウスでクリックし、このクリックにより開かれるプルダウンメニューの中から”ソフト枠”をクリックし、このクリックの後、マウスで閉図形を作画することにより行なわれる。図５に示した表示画面上のメニューバーの”作画”をマウスでクリックし、このクリックによりプルダウンメニューが開かれた状態の画面の一例を、図６に示す。図６には、本発明において特徴的である、ソフト枠の記入を行なうためのメニューである”ソフト枠”、設計付属情報の記入を行なうためのメニューである”設計付属情報”が、プルダウンメニューとして表示されている様子の一例が示されている。
【００３８】
次に、ステップ３１００において、受け付けられた作画に基づいてソフト枠データを生成し、生成されたソフト枠データをレイヤ２の情報として、ソフト枠データファイルに格納する。この後、ステップ３１１０で、他のシートにもソフト枠を設定する指示が、ユーザにより入力されたか否かを判定する。他のシートにもソフト枠を設定する指示が、ユーザにより入力されたと判定された場合には、ステップ３０７０以降を再実行する。他のシートにもソフト枠を設定する指示が、ユーザにより入力されなかったと判定された場合には、処理を終了する。
【００３９】
ここで、ステップ３１００で格納されるソフト枠データ２１ａの構造について、図７を用いて説明する。図７は、ソフト枠が矩形である場合についての、ソフト枠データ２１ａの構造の一例を示す図である。
【００４０】
図７（ａ）においては、ソフト枠データとして、図形情報７０１、シート番号（図中では、”シートＮｏ．”と記す）７０２、太さ７０３、パターン７０４、色７０５、始点座標７０６、終点座標７０７を記述した組を、一つまたは複数有する。ソフト枠が矩形である場合には、図形情報７０１には、図形が線分であることを示すコードを格納する。この例においては、図形が線分であることを示すコードを”０１”としている。次に、シート番号７０２には、このソフト枠データを格納すべきレイヤ２上のシート番号を格納する。さらに、太さ７０３においては、ソフト枠を描く線のポイント数を格納する。さらに、パターン７０４においては、ソフト枠を描く線が、実線であるか、破線であるか、一点鎖線であるか等の種類を示すコードを格納する。この例においては、ソフト枠を描く線が実線である場合には”１”、ソフト枠を描く線が破線である場合には”２”、ソフト枠を描く線が一点鎖線である場合には”３”等をパターン７０４のコードとして格納する。さらに、色７０５においては、ソフト枠を描く線の色の種類のコードを格納する。この例においては、ソフト枠を描く線が線の色が黒である場合には”１”、ソフト枠を描く線の色が赤である場合には”２”、ソフト枠を描く線の色が黄である場合には”３”等をパターン７０４のコードとして格納する。始点座標７０６には、図形情報７０１に格納されたコードの図形の始点座標の値が格納される。終点座標７０７には、図形情報７０１に格納されたコードの図形の終点座標の値が格納される。このような構造のソフト枠データ２１ａにより、ソフト枠が矩形である場合についてのソフト枠の情報が格納される。
【００４１】
図７（ｂ）においては、ソフト枠データとして、図形情報７０１、シート番号７０２、太さ７０３、パターン７０４、色７０５、始点座標７０６、座標１、座標２、…、終点座標７０７を記述する。このとき、図７（ａ）においてと異なるのは、図形情報７０１として、矩形を表すコードを格納することと、始点座標７０６および終点座標７０７に加えて、矩形の頂点の座標を座標１、座標２、…、として格納することである。このような構造のソフト枠データ２１ａによっても、ソフト枠が矩形である場合についてのソフト枠の情報を格納することができる。
【００４２】
次に、ソフト枠データ２１ａの具体例について、図８を用いて説明する。図８は、ソフト枠が矩形であり、ソフト枠データ構造が図７（ａ）である場合についての、ソフト枠データ２１ａの具体例を示す図である。図８（ａ）においては、レイヤ２のシート番号Ａ上に、矩形のソフト枠８０１が作画された状態を示している。このように、６個の頂点（Ｘ０，Ｙ０）、（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）、（Ｘ３，Ｙ３）、（Ｘ４，Ｙ４）、（Ｘ５，Ｙ５）を有する矩形のソフト枠８０１は、６本の線分から構成される。各線分の太さのコードは”１”、パターンは実線、色は黄である。そして、第１の線分の始点座標の値は（Ｘ０，Ｙ０）、終点座標の値は（Ｘ１，Ｙ１）である。ついで、第２の線分の始点座標の値は（Ｘ１，Ｙ１）、終点座標の値は（Ｘ２，Ｙ２）、第３の線分の始点座標の値は（Ｘ２，Ｙ２）、終点座標の値は（Ｘ３，Ｙ３）である。第４の線分の始点座標の値は（Ｘ３，Ｙ３）、終点座標の値は（Ｘ４，Ｙ４）、第５の線分の始点座標の値は（Ｘ４，Ｙ４）、終点座標の値は（Ｘ５，Ｙ５）である。第６の線分の始点座標の値は（Ｘ５，Ｙ５）、終点座標の値は（Ｘ０，Ｙ０）である。そこで、図８（ｂ）に示すような、
０１，Ａ，１，１，３，（Ｘ０，Ｙ０），（Ｘ１，Ｙ１）
０１，Ａ，１，１，３，（Ｘ１，Ｙ１），（Ｘ２，Ｙ２）
０１，Ａ，１，１，３，（Ｘ２，Ｙ２），（Ｘ３，Ｙ３）
０１，Ａ，１，１，３，（Ｘ３，Ｙ３），（Ｘ４，Ｙ４）
０１，Ａ，１，１，３，（Ｘ４，Ｙ４），（Ｘ５，Ｙ５）
０１，Ａ，１，１，３，（Ｘ５，Ｙ５），（Ｘ０，Ｙ０）
という、６本の線分を表すソフト枠データが生成されて、ソフト枠データファイルに格納される。
【００４３】
次に、図９は、制御設計仕様書において記載されている制御シーケンス内のシンボルに付加すべきハードウエア情報等の設計付属情報の指定をユーザから受け付けて、設計付属情報データ２２ａを生成する設計付属情報付加部２２の動作を示すフローチャートである。図４に示すようなＣＲＴ３上の表示画面において、設計付属情報付加部２２の起動を指示するコマンドを投入することにより、図９に示すフローチャートの処理が起動される。
【００４４】
まず、設計付属情報データを作成したい制御設計仕様書のファイル名をユーザから入力される。この入力のために、ユーザは、メニューバーの”ファイル”をマウスでクリックし、このクリックにより開かれるプルダウンメニューの中から”新規／開く”をクリックする。このクリックにより、開くことができるファイル名の一覧表が表示される。この中から設計付属情報データを作成したい制御設計仕様書のファイル名をクリックすることにより、入力を行なう。設計付属情報付加部２２は、ステップ９０１０により、入力された名称の制御設計仕様書ファイルを読み込む。次に、ステップ９０２０で読み込まれた制御設計仕様書ファイルの情報をレイヤ１の情報とする。
【００４５】
さらに、ステップ９０３０で、読み込まれた制御設計仕様書ファイルに対応する設計付属情報データファイルが既に存在するか否かを判定する。制御設計仕様書ファイルに対応する設計付属情報データファイルのファイル名は、前述のように、制御設計仕様書のファイル名の拡張子ＤＷＧをＥＮＧに変えたものであるので、対応する設計付属情報データファイルのファイル名を、ユーザにより指定されなくとも、前記判定を行なうことができる。ステップ９０３０で、読み込まれた制御設計仕様書ファイルに対応する設計付属情報データファイルが既に存在すると判定された場合には、ステップ９０５０へ進み、対応する設計付属情報データファイルを読み込んでレイヤ３の情報とした後に、ステップ９０６０へ進む。ステップ９０３０で、読み込まれた制御設計仕様書ファイルに対応する設計付属情報データファイルが存在しないと判定された場合には、ステップ９０４０へ進み、設計付属情報を設定する仮想シートを生成し、これを対応する設計付属情報データファイルとする。そして、この設計付属情報データファイルをレイヤ３の情報として、ステップ９０６０へ進む。
【００４６】
ステップ９０６０においては、レイヤ１とレイヤ３のそれぞれ１番若いシートの情報を重ねてＣＲＴ３上に表示する。次に、ステップ９０７０で、設計付属情報を設定する制御設計仕様書のシート番号を、ユーザにより指定されて、この指定を受け付ける。この指定は、図４の表示画面上の、メニューバーの”ページ”をマウスでクリックし、このクリックにより開かれるプルダウンメニューの中から”編集ページ選択”をクリックし、このクリックの後、設計付属情報を設定する制御設計仕様書のシート番号を指定することにより行なうことができる。ステップ９０７０でこの指定を受け付けると、次に、ステップ９０８０で、指定されたシートのレイヤ１とレイヤ３の情報を重ねてＣＲＴ３上に表示する。
【００４７】
次に、ステップ９０９０において、ＣＲＴ３上に表示されている制御設計仕様書上の、設計付属情報を設定するシンボルをユーザにより選択され、この選択を受け付ける。この選択は、図５に示した表示画面上のメニューバーの”作画”をマウスでクリックし、このクリックにより開かれるプルダウンメニューの中から”設計付属情報”をクリックし、このクリックの後、マウスでシンボルをクリックすることにより行なわれる。ここで、マウスでシンボルをクリックする代わりに、マウスを用いてシンボルを任意の図形で囲うようにして指定することとしてもよい。
【００４８】
次に、ステップ９１００において、選択されたシンボルの種別（素子属性情報）、および、シンボルが配置されている位置の座標を表す基準点座標の値をレイヤ１から求める。本例においては、シンボルの基準点座標は、シンボルを配置する場合に基準となる情報で、シンボルの左上の点の座標とする。しかし、シンボルの重心点などを基準点座標とすることもできる。
【００４９】
次に、ステップ９１１０において、ＣＲＴ３上に表示されている制御設計仕様書上の、設計付属情報を設定する位置（ポイント）をユーザにより指定され、この指定を受け付ける。この指定は、マウスによるクリックで行なわれる。また、設定する設計付属情報の種別と内容とを、ユーザによりキーボード４から入力されて、この入力を受け付ける。設計付属情報の種別と内容の例については、後述する。
【００５０】
次に、ステップ９１２０において、選択されたシンボルについての設計付属情報データを生成し、生成した設計付属情報データをレイヤ３の情報として、設計付属情報データファイルに格納する。この設計付属情報データは、選択されたシンボルの素子属性情報と、基準点座標と、設計付属情報を設定するポイントの座標と、設定する設計付属情報の種別と、設定する設計付属情報の内容とを関連づけて生成される。
【００５１】
次に、ステップ９１３０において、他シンボルにも設計付属情報を設定するか否かを判定する。この判定は、ユーザに、他シンボルにも設計付属情報を設定するか否かを質問するメッセージと、ＹＥＳとＮＯのボタンを表示して、ＹＥＳまたはＮＯのいづれかをマウスでクリックされることにより行なうことができる。しかし、これに限らず、他の方法によってもよい。ステップ９１３０において、他シンボルにも設計付属情報を設定すると判定された場合には、ステップ９０９０以降を再実行する。他シンボルに設計付属情報を設定しないと判定された場合には、ステップ９１４０へ進む。
【００５２】
ステップ９１４０においては、他シートにも設計付属情報を設定するか否かを判定する。この判定は、ユーザに、他シートにも設計付属情報を設定するか否かを質問するメッセージと、ＹＥＳとＮＯのボタンを表示して、ＹＥＳまたはＮＯのいづれかをマウスでクリックされることにより行なうことができる。しかし、これに限らず、他の方法によってもよい。ステップ９１４０において、他シートにも設計付属情報を設定すると判定された場合には、ステップ９０７０以降を再実行する。他シートに設計付属情報を設定しないと判定された場合には、処理を終了する。
【００５３】
ここで、ステップ９１２０で格納される設計付属情報データ２２ａの構造について、図１０を用いて説明する。図１０は、設計付属情報データ２２ａの構造の一例を示す図である。
【００５４】
図１０においては、設計付属情報データとして、素子属性情報１００１、シート番号１００２、色１００３、基準点座標１００４、ポイント座標１００５、種別情報１００６、設計情報１００７を記述した組を、一つまたは複数有する。
【００５５】
素子属性情報１００１としては、設計付属情報を設定するシンボルとしてユーザに選択されたシンボルの、レイヤ１に規定されているシンボル種別を格納する。シート番号１００２には、この設計付属情報データを格納すべきレイヤ３上のシート番号を格納する。色１００３においては、設計付属情報を描く線の色の種類のコードを格納する。例えば、設計付属情報を描く線が線の色が黒である場合には”１”、設計付属情報を描く線の色が赤である場合には”２”、設計付属情報を描く線の色が黄である場合には”３”等をパターン１００３のコードとして格納する。
【００５６】
基準点座標１００４としては、シンボルが配置されている位置の座標を表す基準点座標の値を、レイヤ１から求めるて格納する。前述したように、本例においては、シンボルの基準点座標は、シンボルを配置する場合に基準となる情報で、シンボルの左上の点の座標とする。しかし、シンボルの重心点などを基準点座標とすることもできる。ポイント座標１００５としては、設計付属情報を設定する位置（ポイント）をユーザにより指定され、このポイントの座標の値を格納する。
【００５７】
種別情報１００６としては、設定する設計付属情報の種別を格納する。例えば、設計付属情報が、入出力信号のデータアドレスの設定等の、制御装置のハードウエアに関連した情報や、制御装置特有の制御条件や設計ノウハウであるハードウエア情報（ハード情報）である場合には、”１”を格納する。また、例えば、設計付属情報が、信号の名称である場合には、”２”を格納する。また、例えば、設計付属情報が、計算機番号である場合には、”３”を格納する。設計付属情報１００７としては、設定する設計付属情報の内容を格納する。
【００５８】
次に、設計付属情報データ２２ａの具体例について、図１１を用いて説明する。
【００５９】
図１１（ａ）は、レイヤ１のシート番号がＳＨ１００のシート上の、素子属性値番号が２６で、基準点座標の値が（２５，３０）のシンボルに対して、黒字で４つの設計付属情報が設定された状態を示している。これらの４つの設計付属情報について説明する。これらの４つの設計付属情報の１つ目として、まず、ポイント座標（３０，３０）にハード情報の一種である信号識別認識情報”ＤＩ１Ａ”が設定されている。この”ＤＩ１Ａ”は、信号がディジタル入力信号であることを表している。４つの設計付属情報の２つ目として、ポイント座標（３０，３５）に信号名称”４０°Ｃ以上でＯＮ”が設定されている。信号名称は、１つのシンボルに対して、１つしか設定されない。４つの設計付属情報の３つ目として、ポイント座標（３０，４０）にハード情報の一種である”ＵＮＩＴ１”が設定されている。この情報は、プログラム作成時にハードウエアアドレスを求めるために使用される。４つの設計付属情報の４つ目として、ポイント座標（３０，４５）にハード情報の一種である”ＳＬＯＴ５”が設定されている。この情報は、プログラム作成時にハードウエアアドレスを求めるために使用される。
【００６０】
図１１（ａ）に示すような４つの設計付属情報が設定されると、図１１（ｂ）に示すような設計付属情報データが生成される。図１１（ｂ）に示す設計付属情報データは、
２６，ＳＨ１００，１，（２５，３０），（３０，３０），１，ＤＩ１Ａ
２６，ＳＨ１００，１，（２５，３０），（３０，３５），２，４０℃以上
でＯＮ
２６，ＳＨ１００，１，（２５，３０），（３０，４０），１，ＵＮＩＴ１
２６，ＳＨ１００，１，（２５，３０），（３０，４５），１，ＳＬＯＴ５
という、４組のデータから構成される。
【００６１】
次に、図１１（ｃ）は、レイヤ１のシート番号がＳＨ５２のシート上の、素子属性値番号が０１で、基準点座標の値が（４０，６０）のシンボルに対して、黒字で、２つの設計付属情報が設定された状態を示している。これらの２つの設計付属情報について説明する。２つの設計付属情報の１つ目として、まず、ポイント座標（４５，６５）に信号名称”Ａ弁開指令”が設定されている。２つの設計付属情報の２つ目として、ポイント座標（４５，７０）に計算機番号”ＣＰＴＲ００１６”が設定されている。
【００６２】
図１１（ｃ）に示すような２つの設計付属情報が設定されると、図１１（ｄ）に示すような設計付属情報データが生成される。図１１（ｄ）に示す設計付属情報データは、
０１，ＳＨ５２，１，（４０，６０），（４５，６５），２，Ａ弁開指令
０１，ＳＨ５２，１，（４０，６０），（４５，７０），３，ＣＰＴＲ００１６
という、２組のデータから構成される。
【００６３】
なお、ソフト枠データおよび設計付属情報データの構造を、図１２に示すような構造とすれば、ソフト枠データおよび設計付属情報データを、同一のファイルに格納することができる。図１２に示すような構造とは、図７に示したソフト枠データの構造、および、図１０に示した設計付属情報データの構造に、それぞれ、レイヤ情報１２０１を追加した構造である。そして、ソフト枠データについては、レイヤ情報１２０１として”２”を格納し、設計付属情報データについては、レイヤ情報１２０１として”３”を格納するようにする。ソフト枠データファイルおよび設計付属情報データファイルに代えて、設計情報データファイルを設け、図１２に示すようなデータ構造を有するソフト枠データおよび設計付属情報データを、設計情報データファイルに混在させて格納するようにしてもよい。
【００６４】
次に、前述した情報抽出部３０で行なう、設計情報データベース６に格納された、リンクされた制御設計仕様書データベース５の情報とソフト枠データ２１ａの情報とから、制御設計仕様書内の各シンボルが、ソフトウエアで実現される制御シーケンスの範囲内にあるか、ソフトウエアで実現される制御シーケンスの範囲外にあるかを認識して、該認識結果によりシンボルの接続関係の論理的整合性をチェックし、該チェック結果をＣＲＴ３上に表示してユーザに通知する処理の詳細について説明する。この処理の詳細を、図１３のフローチャートで示す。
【００６５】
まず、最初に、ステップ１３１０において、制御設計仕様書データベース５の情報とソフト枠データ２１ａの情報とから、ソフトウエアで実現される制御シーケンスの範囲を認識する。この、ソフトウエアで実現される制御シーケンスの範囲の認識の方法を、図１４を用いて説明する。ソフトウエアで実現される制御シーケンスの範囲を認識するために、図１４に示すように、レイヤ２（１４０２）に記載されたソフト枠（本例においては矩形とする）のポイント座標の値を、レイヤ１（１３０１）に当てはめる。そして、レイヤ１（１３０１）上で、ソフトウエアで実現される制御シーケンスの範囲を認識する。
【００６６】
次に、ステップ１３２０において、レイヤ１（１３０１）上に記載されている各シンボルが、ステップ１３１０で認識されたソフトウエアで実現される制御シーケンスの範囲内にあるか範囲外にあるかを、図１５に示す方法により判定する。この判定は、レイヤ１の制御設計仕様書のシート番号の若い方から順に行なう。各シート内においては、図１５（ａ）に示すように、左上から右下へと順に判定を行なう。なお、各シンボルに対してフラグを用意して、ソフトウエアで実現される制御シーケンスの範囲内にあると判定されたシンボルに対してはフラグを”１”とし、ソフトウエアで実現される制御シーケンスの範囲外にあると判定されたシンボルに対してはフラグを”０”とする等の方法により、判定結果を記憶することができる。各シンボルが、ソフトウエアで実現される制御シーケンスの範囲内にあるか範囲外にあるかの判定は、まず、上記順に論理シンボル１３０２およびソフトシンボル１３０３をすべて検索して判定を行ない、次に上記順に信号取り合いシンボル１３０４をすべて検索して判定を行なってもよい。
【００６７】
ここで、各シンボルが、ソフトウエアで実現される制御シーケンスの範囲内にあるか範囲外にあるかを判定する方法について、図１５（ｂ）、図１５（ｃ）を用いて説明する。
【００６８】
図１５（ｂ）においては、ソフト枠１５００と、シンボル１５０１と、シンボル１５０２とが配置されている。ソフト枠１５００の内側がソフトウエアで実現される制御シーケンスの範囲内、ソフト枠１５００の外側がソフトウエアで実現される制御シーケンスの範囲外である。ここで、図１５（ｂ）に示すようにｘ軸ｙ軸を設定し、シンボル１５０１、シンボル１５０２のそれぞれの中心または基準点から、＋ｘ方向、＋ｙ方向に補助線を引く。この補助線と、ソフト枠１５００との交点を求める。このとき、補助線とソフト枠１５００との交点の数が、＋ｘ方向、＋ｙ方向共に奇数であるシンボルを、ソフト枠１５００の内側、すなわち、ソフトウエアで実現される制御シーケンスの範囲内にあるシンボルであると判定する。そして、これ以外のシンボルを、ソフト枠１５００の外側、すなわち、ソフトウエアで実現される制御シーケンスの範囲外にあるシンボルであると判定する。シンボル１５０１は、＋ｘ方向に引いた補助線と、ソフト枠１５００との交点の数が１、＋ｙ方向に引いた補助線と、ソフト枠１５００との交点の数が１であるので、ソフト枠１５００の内側、すなわち、ソフトウエアで実現される制御シーケンスの範囲内にあるシンボルであると判定される。シンボル１５０２は、＋ｘ方向に引いた補助線と、ソフト枠１５００との交点の数が０、＋ｙ方向に引いた補助線と、ソフト枠１５００との交点の数が２であるので、ソフト枠１５００の外側、すなわち、ソフトウエアで実現される制御シーケンスの範囲外にあるシンボルであると判定される。
【００６９】
図１５（ｃ）においては、ソフト枠１５１０と、ソフト枠１５２０と、シンボル１５０３とが配置されている。ソフト枠１５１０は、ソフト枠１５２０の中に入れ子になっている。ソフト枠１５２０の内側で、かつ、ソフト枠１５１０の外側である領域が、ソフトウエアで実現される制御シーケンスの範囲内である。ソフト枠１５２０の外側の領域、または、ソフト枠１５１０の内側の領域が、ソフトウエアで実現される制御シーケンスの範囲外である。このような場合においても、シンボル１５０３の中心または基準点から、＋ｘ方向、＋ｙ方向に補助線を引く。この補助線と、ソフト枠１５１０またはソフト枠１５２０との交点を求める。このとき、補助線とソフト枠１５１０またはソフト枠１５２０との交点の数が、＋ｘ方向、＋ｙ方向共に奇数であるシンボルを、ソフトウエアで実現される制御シーケンスの範囲内にあるシンボルであると判定する。そして、これ以外のシンボルを、ソフトウエアで実現される制御シーケンスの範囲外にあるシンボルであると判定する。シンボル１５０３は、＋ｘ方向に引いた補助線と、ソフト枠１５１０またはソフト枠１５２０との交点の数が２、＋ｙ方向に引いた補助線と、ソフト枠１５１０またはソフト枠１５２０との交点の数が２であるので、ソフトウエアで実現される制御シーケンスの範囲外にあるシンボルであると判定される。
【００７０】
再び、図１３のフローチャートの説明に戻る。ステップ１３３０においては、前記各シンボルと、信号線で接続されている相手シンボルとの接続関係をチェックする。ここでは、各シンボルと、信号線で接続されている相手シンボルとが、共にソフトウエアで実現される制御シーケンスの範囲内にあるか否かを判定する。ここで、シンボルが信号取り合いシンボル１３０４である場合の、接続関係について説明する。図１６は、信号取り合いシンボルの接続関係の説明図である。図１６においては、シート番号ＳＨ−Ｚの制御設計仕様書１６０１と、シート番号ＳＨ−Ｘの制御設計仕様書１６０２とが示されている。信号取り合いシンボルは、取り合い記号と取り合い先シート番号の情報を有するシンボルである。シート番号ＳＨ−Ｚの制御設計仕様書１６０１上には、取り合い記号Ａで、取り合い先シート番号がＳＨ−Ｘである信号取り合いシンボル１６１１が記載されている。シート番号ＳＨ−Ｘの制御設計仕様書１６０２上には、取り合い記号Ａで、取り合い先シート番号がＳＨ−Ｚである信号取り合いシンボル１６１２が記載されている。信号取り合いシンボルによる信号取り合い（接続）が成立するのは、信号取り合いを行なっている２つの信号取り合いシンボルの、取り合い記号が同一で、かつ、取り合い先シート番号がお互いのシート番号を示している場合である。そこで、信号取り合いシンボル１６１１と信号取り合いシンボル１６１２とは、信号取り合い（接続）が成立している。
【００７１】
再び、図１３のフローチャートの説明に戻る。ステップ１３３０において、自シンボルと、信号線で接続されている相手シンボルとが、共にソフトウエアで実現される制御シーケンスの範囲内にあると判定されたシンボルについては、ステップ１３６０で、自シンボル、相手シンボル、およびシンボル間を接続している信号線の色を緑色に替える。例えば、図１３においては、ソフトシンボル１３０３、シンボル１３０８、および信号線１３０６の色を緑色に替える。ステップ１３３０において、自シンボルと、信号線で接続されている相手シンボルとが、共にソフトウエアで実現される制御シーケンスの範囲内にあると判定されなかった場合には、ステップ１３４０へ進む。
【００７２】
ステップ１３４０においては、前記各シンボルと、信号線で接続されている相手シンボルとが、共にソフトウエアで実現される制御シーケンスの範囲外にある（ハードウエアで実現される制御シーケンスの範囲内にある）か否かを判定する。前記各シンボルと、信号線で接続されている相手シンボルとが、共にソフトウエアで実現される制御シーケンスの範囲外にあると判定された場合には、ステップ１３８０へ進み、自シンボル、相手シンボル、およびシンボル間を接続している信号線の色を黄色に替える。ステップ１３４０において、シンボルと、信号線で接続されている相手シンボルとが、共にソフトウエアで実現される制御シーケンスの範囲外にあると判定されなかった場合には、ステップ１３５０へ進む。
【００７３】
ステップ１３５０においては、相手シンボルが入出力シンボル１３０５であるか否かを判定する。入出力シンボル１３０５は、ハードウエアで実現される。相手シンボルが入出力シンボル１３０５であると判定された場合には、入出力シンボル１３０５との接続点までがソフトウエアで実現される制御シーケンスの範囲であると判断する。この場合には、ステップ１３６０へ進み、自シンボルと、相手シンボルとの間を接続している信号線の色を緑色に替える。このとき、入出力シンボル１３０５の色は替えない。例えば、図１３においては、シンボル１３０８と信号線１３０７の色を緑色に替える。ステップ１３５０において、相手シンボルが入出力シンボル１３０５でないと判定された場合には、ステップ１３７０へ進む。
【００７４】
ステップ１３７０においては、ソフトウエアで実現される制御シーケンスの範囲内にあるシンボルと、ハードウエアで実現される制御シーケンスの範囲内にあるシンボルとが、直接接続されていると判断できる。このような場合には、論理的に不整合であるとして、自シンボルおよび相手シンボルを赤色に替える。例えば、図１６においては、前述のように、信号取り合いシンボル１６１１と信号取り合いシンボル１６１２とは、信号取り合い（接続）が成立している。ところが、信号取り合いシンボル１６１１は、ソフトウエアで実現される制御シーケンスの範囲内にあり、信号取り合いシンボル１６１２は、ハードウエアで実現される制御シーケンスの範囲内にある。このような場合には、信号取り合いシンボル１６１１および信号取り合いシンボル１６１２は、赤色に替えられる。ハードウエアで実現される制御シーケンスの範囲内を流れる信号（ハードウエア信号）を、ソフトウエアで実現される制御シーケンスの範囲内を流れる信号（ソフトウエア信号）として取り込むためには、入力処理が必要となる。
【００７５】
上述のような処理の後、情報抽出部３０は、緑色に色替えされたシンボルおよび信号線（すなわち、制御設計仕様書内の、ソフトウエアで実現される制御シーケンスの範囲内であって、シンボルの接続関係の論理的整合性がある範囲）の情報と、該範囲のシンボルに対して付加された設計付属情報とを、抽出情報３０ａとして抽出する。
【００７６】
次に、シンボル変換部４０で行なわれる、ユーザが予め登録しておいたシンボル変換対応表４１と制御シーケンス対応表５１を参照して、抽出情報３０ａのシンボルを、プログラム仕様書７のシンボルに変換する処理（シンボル変換処理）について説明する。図１７は、このシンボル変換処理を説明するための図である。
【００７７】
図１７上、プログラム仕様書自動生成支援システム１において、制御設計仕様書２０７から抽出された抽出情報３０ａは、シンボル変換部４０で、予め登録されているシンボル変換対応表４１および制御シーケンス対応表５１を参照して、順次シンボルを変換される。前述したように、シンボル変換対応表４１とは、制御設計仕様書２に記載されるシンボルと、プログラム仕様書７に記載されるシンボルとの対応表である。制御設計仕様書２に記載されるシンボルと、プログラム仕様書７に記載されるシンボルとの対応の一例を図１８に示す。シンボル変換対応表４１としては、図１９に示すようなコード番号（図中では、”コードＮｏ．”と記す）の対応表を有している。また、制御シーケンス対応表５１とは、制御設計仕様書２に記載される１つのシンボル、または複数のシンボルが組み合わされたパターンと、プログラム仕様書７に記載される複数のシンボルが組み合わされたパターンとの対応表である。
【００７８】
制御設計仕様書２に記載される１つのシンボルと、プログラム仕様書７に記載される複数のシンボルが組み合わされたパターンとの対応の一例を、図１７の制御シーケンス対応表５１の図内に示す。この例においては、制御設計仕様書２に記載されるシンボルの１つである”ランプ表示”を示すシンボルが、プログラム仕様書７においては複数のシンボルが組み合わされたパターンとして記載されることを示している。制御設計仕様書２に記載される複数のシンボルが組み合わされたパターンと、プログラム仕様書７に記載される複数のシンボルが組み合わされたパターンとの対応の一例を、図２０に示す。制御シーケンス対応表５１としては、シンボルの組み合わせのパターンにコード番号を付け、このコード番号の対応表を有している。制御シーケンス対応表５１としては、例えば、１００パターンについての対応表を有することができる。
【００７９】
シンボル変換対応表４１を参照して変換されたシンボルは、制御設計仕様書２０７における変換前のシンボルの基準点の座標の値を踏襲してプログラム仕様書に配置される。また、信号線も、制御設計仕様書２０７における変換前の信号線の両端のシンボルとの接続点に関する情報（シンボルの何番目の入力信号であるかなど）や、折れ線の情報などを踏襲してプログラム仕様書に配置される。制御シーケンス対応表５１を参照してシンボルを変換する場合には、変換対象となるシンボルの組み合わせのパターンを認識する処理が必要となる。また、制御シーケンス対応表５１を参照しての変換においては、変換前の抽出情報３０ａのシンボル数と比較すると、変換後のプログラム仕様書７のシンボル数が変化することもあるので、プログラム仕様書７におけるシンボルの新たな配置等の処理が必要となる。また、変換前の抽出情報３０ａのシンボル数と比較すると、変換後のプログラム仕様書７のシンボル数が増加することもあるので、プログラム仕様書の図面のサイズが、所定の図面サイズ（通常は制御設計仕様書と同じサイズ）をオーバーする場合がある。この場合には、プログラム仕様書の図面のサイズが、所定の図面サイズに収まるように、プログラム仕様書上のシンボルの配置座標の値を調整する必要がある。そこで、プログラム仕様書上のシンボルの配置座標の値を、プログラム仕様書生成部６０において調整する。
【００８０】
プログラム仕様書生成部６０において、プログラム仕様書上のシンボルの配置座標の値を調整する処理について、図２１を用いて説明する。図２１においては、シンボル変換前の制御設計仕様書のシートを２０７に示し、制御設計仕様書２０７をシンボル変換した後のプログラム仕様書を６０１に示す。そして、プログラム仕様書６０１上のシンボルの配置座標の値を調整した結果を６０２に示す。制御設計仕様書２０７およびプログラム仕様書６０１内の各点に対しては、それぞれ、制御設計仕様書２０７およびプログラム仕様書６０１の左上の点を原点として、図２１に記載したようにＸ軸およびＹ軸を定め、Ｘ座標およびＹ座標が設定されているものとする。プログラム仕様書６０１の左上の点を、特に、座標調整基準点６０３と称する。
【００８１】
例えば、制御設計仕様書２０７上の（ｘ，ｙ）を基準点座標の値とするシンボルが、シンボル変換部４０でシンボル変換対応表４１を参照して変換されたとする。シンボル変換対応表４１を参照しての変換においては、前述のように、制御設計仕様書２０７における変換前のシンボルの基準点の座標の値を踏襲して、変換後のシンボルが、プログラム仕様書６０１に配置される。そこで、制御設計仕様書２０７上の（ｘ，ｙ）を基準点座標の値とするシンボルは、プログラム仕様書６０１の（ｘ，ｙ）を基準点座標の値とするシンボルに変換される。当該シンボルの座標の値（ｘ，ｙ）に、座標調整基準点６０３を基準として、Ｙ軸の正の方向に縮小変換を施して座標の値を調整し、（ｘ，ｙ’）を得て、プログラム仕様書６０２上に（ｘ，ｙ’）を基準点座標の値として当該シンボルを配置する。
【００８２】
ここで、前記縮小変換について説明する。前記縮小変換としては、予め固定的な縮小率を設定しておく方法と、プログラム仕様書６０１のシートごとに自動的に縮小率を設定する方法とが考えられる。自動的に縮小率を設定する方法においては、その縮小率は、プログラム仕様書６０１の最下層に配置されるシンボル６０４が、所定の図面サイズに収まるように設定すればよい。このためには、縮小率は、
【００８３】
【数１】
0003581538.tif 000002
【００８４】
で設定すればよい。このような縮小変換により、プログラム仕様書６０１上のシンボルの配置座標の値が調整され、プログラム仕様書６０２が生成される。プログラム仕様書６０２は、所定の図面サイズに収めることができる。ここでは、Ｙ軸の正の方向に縮小変換を施して座標の値を調整する例について説明したが、同様にＸ軸の正の方向に縮小変換を施して座標の値を調整することもできる。この場合には、縮小率は、
【００８５】
【数２】
0003581538.tif 000003
【００８６】
で設定すればよい。この配置座標の値の調整により、シンボル同士の重なりが新たに発生することが予測される。シンボル同士の重なりが新たに発生した場合には、重なったシンボルをマウス等で選択して移動させることで、重なりを避けることができる。
【００８７】
以上、本発明の一例について説明したが、本発明は、その要旨を逸脱しない範囲で、種々変形して実施することができる。
【００８８】
【発明の効果】
本発明によれば、制御設計仕様書において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲の指定、およびハードウエア情報の指定をユーザから受け付けて、前記制御設計仕様書と関連づけて記憶し、前記制御設計仕様書、前記範囲の指定、および前記ハードウエア情報の指定からプログラム仕様書を作成するプログラム仕様書自動生成支援システムを提供することができる。これにより、プログラム仕様書を作成する際の、生産性の向上を図ることができる。
【００８９】
また、本発明によれば、制御設計仕様書からプログラム仕様書を作成する際に、制御設計仕様書のシンボルを、制御装置の仕様に合わせて自動的に変換するプログラム仕様書自動生成支援システムを提供することもできる。これにより、従来プール代数式を用いたり用いなかったりすることによりユーザごとに異なっていた変換のパターンを、統一することができる。
【００９０】
さらに、本発明は、制御設計仕様書において記載されている制御シーケンスのうち、ソフトウエアで実現される制御シーケンスの範囲の指定をユーザから受け付けて、前記制御設計仕様書と関連づけて記憶し、該制御設計仕様書からプログラム仕様書を作成するのに先だって、該制御設計仕様書内の各シンボルが、ソフトウエアで実現される制御シーケンスの範囲内にあるか、ソフトウエアで実現される制御シーケンスの範囲外にあるかを認識して、該認識結果によりシンボルの接続関係の論理的整合性をチェックし、該チェックにより論理的整合性があると判定されたシンボルを、制御装置の仕様に合わせて自動的に変換してプログラム仕様書を作成する、プログラム仕様書自動生成支援システムを提供することもできる。これにより、プログラム仕様書の信頼性の向上を図ることができる。さらに、前記チェック結果をユーザに通知するプログラム仕様書自動生成支援システムを提供することもできる。
【００９１】
さらに、本発明は、制御設計仕様書からプログラム仕様書を作成する際に、プログラム仕様書が所定の画面のサイズに収まるように、プログラム仕様書内のシンボルの位置を自動的に調整するプログラム仕様書自動生成支援システムを提供することもできる。
【図面の簡単な説明】
【図１】本発明の一実施例のプログラム仕様書自動生成支援システムの概略構成を示すブロック図である。
【図２】制御設計仕様書データベース５の情報として格納される制御設計仕様書２と、ソフト枠データ２１ａと、設計付属情報データ２２ａとの関連について説明するための図である。
【図３】ソフト枠作成部２１の動作を示すフローチャートである。
【図４】ＣＲＴ３上の表示画面の一例を示す説明図である。
【図５】ＣＲＴ３上の表示画面の一例を示す説明図である。
【図６】ＣＲＴ３上の表示画面の一例を示す説明図である。
【図７】ソフト枠データ２１ａの構造の一例を示す説明図である。
【図８】ソフト枠データ２１ａの具体例を示す説明図である。
【図９】設計付属情報付加部２２の動作を示すフローチャートである。
【図１０】設計付属情報データ２２ａの構造の一例を示す説明図である。
【図１１】設計付属情報データ２２ａの具体例を示す説明図である。
【図１２】ソフト枠データおよび設計付属情報データを、同一のファイルに格納することができる構造の一例を示す説明図である。
【図１３】情報抽出部３０の動作を示すフローチャートである。
【図１４】ソフトウエアで実現される制御シーケンスの範囲の認識の方法の説明図である。
【図１５】シンボルがソフトウエアで実現される制御シーケンスの範囲内にあるか範囲外にあるかを判定する方法の説明図である。
【図１６】信号取り合いシンボルの接続関係の説明図である。
【図１７】シンボル変換処理の説明図である。
【図１８】制御設計仕様書に記載されるシンボルと、プログラム仕様書に記載されるシンボルとの対応の一例の説明図である。
【図１９】シンボル変換対応表４１の一例の説明図である。
【図２０】制御設計仕様書に記載される複数のシンボルが組み合わされたパターンと、プログラム仕様書に記載される複数のシンボルが組み合わされたパターンとの対応の一例の説明図である。
【図２１】プログラム仕様書生成部６０において、プログラム仕様書上のシンボルの配置座標の値を調整する処理を示すフローチャートである。
【符号の説明】
１…プログラム仕様書自動生成支援システム、２…制御設計仕様書２、３…ＣＲＴ、４…キーボード、５…制御設計仕様書データベース、６…設計情報データベース、７…プログラム仕様書、１０…制御設計仕様書作成部、２０…設計情報付加受け付け部、２１…ソフト枠作成部、２１ａ…ソフト枠データ、２２…設計付属情報付加部、２２ａ…設計付属情報データ、３０…情報抽出部、３０ａ…抽出情報、４０…シンボル変換部、４１…シンボル変換対応表、５１…制御シーケンス対応表、６０…プログラム仕様書生成部。
【図１】
0003581538.tif 000004
【図２】
0003581538.tif 000005
【図３】
0003581538.tif 000006
【図４】
0003581538.tif 000007
【図５】
0003581538.tif 000008
【図６】
0003581538.tif 000009
【図７】
0003581538.tif 000010
【図８】
0003581538.tif 000011
【図９】
0003581538.tif 000012
【図１０】
0003581538.tif 000013
【図１１】
0003581538.tif 000014
【図１２】
0003581538.tif 000015
【図１３】
0003581538.tif 000016
【図１４】
0003581538.tif 000017
【図１５】
0003581538.tif 000018
【図１６】
0003581538.tif 000019
【図１７】
0003581538.tif 000020
【図１８】
0003581538.tif 000021
【図１９】
0003581538.tif 000022
【図２０】
0003581538.tif 000023
【図２１】
0003581538.tif 000024