(57)【要約】【課題】本発明は、制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するときにあって、制御パーツの持つパラメータを簡単に設定できるようにする技術の提供を目的とする。【解決手段】ユーザがディスプレイ上の表で編集したパラメータの値を、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換し、パラメータの定義情報とそれらの組データとを使ってその正当性を判断してパラメータの値を設定する。この構成に従って、ディスプレイ上の表に書き込まれるパラメータが不要のものであったり、存在してはならないものであったり、その並びの順番が規定のものでなくても、その影響を受けることなくパラメータの値を設定できるようになるので、ディスプレイ上の表で編集したパラメータの値を使ってパラメータの値を設定できるようになる。【選択図】図１
2006285890.tif 000002
【特許請求の範囲】
【請求項１】
制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するプログラム開発装置において、
ディスプレイ上に表を表示して、該表を使って、上記シートとは関係なく制御パーツの持つパラメータの値を編集して保存手段に保存し、また、該表を使って、該保存手段に保存される制御パーツの持つパラメータの値を編集する編集手段と、
上記シートに記載される制御パーツの持つパラメータの値を表形式の形に編集して、上記保存手段に出力する出力手段と、
上記保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する変換手段と、
制御パーツの持つパラメータの定義情報と上記組データとを使って、上記シートに記載される制御パーツの持つパラメータの値を設定する設定手段とを備えることを、
特徴とするプログラム開発装置。
【請求項２】
請求項１に記載のプログラム開発装置において、
上記編集手段は、何も処理を行わないパラメータについては、そのパラメータに対応付けられる上記表のセルに空白を表示し、値を強制的に空にするパラメータについては、そのパラメータに対応付けられる上記表のセルに規定の語を表示するか、あるいは、何も処理を行わないパラメータについては、そのパラメータに対応付けられる上記表のセルに規定の語を表示し、値を強制的に空にするパラメータについては、そのパラメータに対応付けられる上記表のセルに空白を表示することを、
特徴とするプログラム開発装置。
【請求項３】
請求項１に記載のプログラム開発装置において、
上記出力手段は、ユーザと対話することで、制御パーツの持つパラメータの内のどのパラメータを出力対象とするのかを決定するとともに、出力対象として決定したパラメータの上記表上における位置を決定することを、
特徴とするプログラム開発装置。
【請求項４】
請求項１に記載のプログラム開発装置において、
上記設定手段は、上記編集手段が上記シートとは関係なく制御パーツの持つパラメータの値を編集する場合には、指定されるシートに該制御パーツのシンボルを表示してパラメータの値を設定し、また、上記編集手段が上記シートに記載される制御パーツの持つパラメータの値を編集する場合にあって、該シートに記載されていない制御パーツの持つパラメータの値を編集する場合には、該シートに該制御パーツのシンボルを追加表示してパラメータの値を設定することを、
特徴とするプログラム開発装置。
【請求項５】
制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するプログラム開発装置で実行されるパラメータ設定方法であって、
上記シートに記載される制御パーツの持つパラメータの値を表形式の形に編集して、保存手段に出力する過程と、
ディスプレイ上に表を表示して、該表を使って、上記保存手段に保存される制御パーツの持つパラメータの値を編集する過程と、
上記保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する過程と、
制御パーツの持つパラメータの定義情報と上記組データとを使って、上記シートに記載される制御パーツの持つパラメータの値を設定する過程とを備えることを、
特徴とするパラメータ設定方法。
【請求項６】
制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するプログラム開発装置で実行されるパラメータ設定方法であって、
上記シートの持つ情報を複写することで、該シートと同一の情報を持つ新たなシートを作成する過程と、
上記新たなシートに記載される制御パーツの持つパラメータの値を表形式の形に編集して、保存手段に出力する過程と、
ディスプレイ上に表を表示して、該表を使って、上記保存手段に保存される制御パーツの持つパラメータの値を編集する過程と、
上記保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する過程と、
制御パーツの持つパラメータの定義情報と上記組データとを使って、上記新たなシートに記載される制御パーツの持つパラメータの値を設定する過程とを備えることを、
特徴とするパラメータ設定方法。
【請求項７】
制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するプログラム開発装置で実行されるパラメータ設定方法であって、
ディスプレイ上に表を表示して、該表を使って、制御パーツの持つパラメータの値を編集して保存手段に保存する過程と、
上記保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する過程と、
制御パーツの持つパラメータの値の設定先となるシートを指定する過程と、
上記指定したシートに、上記編集したパラメータ値を持つ制御パーツのシンボルを表示して、制御パーツのパラメータの定義情報と上記組データとを使って、該表示した制御パーツの持つパラメータの値を設定する過程とを備えることを、
特徴とするパラメータ設定方法。
【請求項８】
制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するプログラム開発装置で用いられるパラメータ設定プログラムであって、
ディスプレイ上に表を表示して、該表を使って、上記シートとは関係なく制御パーツの持つパラメータの値を編集して保存手段に保存し、また、該表を使って、該保存手段に保存される制御パーツの持つパラメータの値を編集する処理と、
上記シートに記載される制御パーツの持つパラメータの値を表形式の形に編集して、上記保存手段に出力する処理と、
上記保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する処理と、
制御パーツの持つパラメータの定義情報と上記組データとを使って、上記シートに記載される制御パーツの持つパラメータの値を設定する処理とをコンピュータに実行させるためのパラメータ設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントなどを制御するコントローラに実装されるプログラムを開発するプログラム開発装置と、そのプログラム開発装置で実行されるパラメータ設定方法と、そのプログラム開発装置で用いられるパラメータ設定プログラムとに関し、特に、制御パーツの持つパラメータを簡単に設定できるようにするプログラム開発装置と、そのプログラム開発装置で実行されるパラメータ設定方法と、そのプログラム開発装置で用いられるパラメータ設定プログラムとに関する。
【背景技術】
【０００２】
プラントなどを制御するコントローラに実装されるプログラムを開発するプログラム開発装置では、図１７に示すように、ディスプレイ上に、選択可能な制御パーツの一覧を表示する構成を採って、ユーザと対話することで、その中から使用する制御パーツを順次選択して、そのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定するとともに、各制御パーツの持つパラメータに対して値を設定することでプログラムを開発するようにしている。
【０００３】
従来のプログラム開発装置では、このパラメータの値を設定するために、図１８に示すように、ユーザによりパラメータ値の設定対象となる制御パーツが選択されると、その制御パーツの持つパラメータの設定画面を表示して、それを使ってパラメータに対して値を設定するようにしている。
【０００４】
このパラメータ値の設定方法は最も基本的な方法であり、現在のプログラム開発装置でも広く使われている方法である。
【０００５】
しかしながら、このパラメータの設定方法では、プログラムの開発者に対して多大な負荷を強いることがある。
【０００６】
すなわち、プラントによっては、似たような制御部品で構成される似たような制御ループが複数存在することがある。例えば、タンクと液面計と流量計とバルブという同じ制御部品で構成される似たような制御ループが複数存在することがある。
【０００７】
このような場合に、制御パーツの持つパラメータの設定画面を表示して、それを使ってパラメータに対して値を設定するようにしていると、パラメータの設定画面をその都度開いて、似たようなパラメータ値を何度も何度も設定しなければならないことになることから、プログラムの開発者に対して多大な負荷を強いることになるのである。
【０００８】
このようなことを背景にして、本出願人は、図１９に示すように、制御パーツ毎に、制御パーツの持つパラメータの名前とそのパラメータに設定する値とについて記述するテキストファイルを作成するようにして、そのテキストファイルを読み込んで、その読み込んだテキストファイルの指定に従って、制御パーツの持つパラメータに値を設定するようにするというパラメータの設定方法を開発した（例えば、非特許文献１参照）。
【非特許文献１】『協調オートメーション・システム，ＲＴＣ機能説明書』，山武産業システム（株）, pp.165-168, 2002年５月
【発明の開示】
【発明が解決しようとする課題】
【０００９】
確かに、このテキストファイルを用いるパラメータの設定方法によれば、制御パーツの持つパラメータの名前とそのパラメータに設定する値とについて記述するテキストファイルを作成することで、制御パーツの持つパラメータに対して値を設定できるようになることから、似たような制御部品で構成される似たような制御ループが複数存在する場合に、制御パーツの持つパラメータに対して簡単に値を設定できることになる。
【００１０】
しかしながら、テキストファイルは表形式のファイルと異なって一覧性に欠けるという問題があるとともに、特定のパラメータだけを簡単に変更することができないという問題がある。
【００１１】
この問題を解決するために、制御パーツの持つパラメータの名前とそのパラメータに設定する値とをＥxcelファイルのような表形式のファイルで編集するようにして、それを読み込むことで、制御パーツの持つパラメータに対して値を設定するようにするという方法を用いることが考えられる。Ｅxcelファイルを利用できれば、それが持つ様々な機能（ソートや演算式による記述の機能など）についても使用できるので、その面からも非常に便利なものとなる。
【００１２】
しかしながら、制御パーツの持つパラメータの種類及び数は制御パーツ毎に異なっている。
【００１３】
したがって、あるパラメータについて、この制御パーツでは、そのパラメータが必要であるが、別の制御パーツでは、そのパラメータが不要であるということが起こり、Ｅxcelファイルのような表形式のファイルを利用しようとすると、混在する不要なパラメータの設定値の扱いが難しくなる。なお、テキストファイルでは、必要なパラメータのみについて記述していることから、このような問題は起こらない。
【００１４】
しかも、制御パーツの持つパラメータは、あるパラメータにある値が設定されると、別のパラメータが存在しなくなるというように、動的に変わるデータ構造を有している。
【００１５】
これにより、Ｅxcelファイルのような表形式のファイルを使って、制御パーツの持つパラメータに対して値を設定するようにするという方法を用いることの難しさを一層複雑なものとしている。
【００１６】
本発明はかかる事情に鑑みてなされたものであって、制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するという構成を採るときにあって、このような性質を示す制御パーツの持つパラメータの値をＥxcelファイルのような表形式のファイルを使って編集する場合に、それを読み込むことができるようにする仕組みを実現することによって、制御パーツの持つパラメータを簡単に設定できるようにする新たな技術の提供を目的とする。
【課題を解決するための手段】
【００１７】
〔１〕本発明のプログラム開発装置の構成
この目的を達成するために、本発明のプログラム開発装置は、制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発する構成を採るときにあって、（１）ディスプレイ上に表を表示して、その表を使って、シートとは関係なく制御パーツの持つパラメータの値を編集して保存手段に保存し、また、その表を使って、保存手段に保存される制御パーツの持つパラメータの値を編集する編集手段と、（２）シートに記載される制御パーツの持つパラメータの値を表形式の形に編集して、保存手段に出力する出力手段と、（３）保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する変換手段と、（４）制御パーツの持つパラメータの定義情報と変換手段の変換した組データとを使って、シートに記載される制御パーツの持つパラメータの値を設定する設定手段とを備えるように構成する。
【００１８】
ここで、本発明のプログラム開発装置は、さらに、シートの持つ情報を複写することで、そのシートと同一の情報を持つ新たなシートを作成する複写手段と、編集したパラメータ値の設定先となるシートを指定する指定手段とを備えることがある。
【００１９】
この構成を採るときにあって、編集手段は、制御パーツの持つパラメータの性質により、ディスプレイ上に表示する表のセルに、不要なパラメータが書き込まれたり存在してはならないパラメータが書き込まれることがあるということを考慮して、ユーザが何も処理を行わないパラメータであることを指定できるようにするために、あるパラメータについて何も処理を行わない場合には、そのパラメータの値の入力域となる表のセルに空白を表示する。一方、ユーザが表のセルにパラメータの値を書き込まない場合には、そのパラメータの値を強制的に空にしたい場合が含まれるので、そのことを明示的に区別できるようにするために、あるパラメータの値を強制的に空にする処理を行う場合には、そのパラメータの値の入力域となる表のセルに例えば「""」のような規定の語を表示する。
【００２０】
ここで、あるパラメータについて何も処理を行わない場合に、そのパラメータの値の入力域となる表のセルに例えば「""」のような規定の語を表示し、あるパラメータの値を強制的に空にする処理を行う場合に、そのパラメータの値の入力域となる表のセルに空白を表示することもある。
【００２１】
また、出力手段は、変換手段が表形式の形で記載される制御パーツの持つパラメータの値を順序の規定されない組データに変換することにより、ディスプレイ上に表示する表のセルに書き込まれるパラメータの種類や数に制限がなくなるとともに、その並びの順番に制限がなくなることを考慮して、ユーザと対話することで、制御パーツの持つパラメータの内のどのパラメータを出力対象とするのかを決定するともに、出力対象として決定したパラメータの表上における位置を決定する。
【００２２】
また、設定手段は、編集手段がシートとは関係なく制御パーツの持つパラメータの値を編集できるようになることを考慮して、編集手段がシートとは関係なく制御パーツの持つパラメータの値を編集する場合には、指定されるシートにそれらの制御パーツのシンボルを表示してパラメータの値を設定する。そして、編集手段がシートに記載される制御パーツとは別の制御パーツの持つパラメータの値を編集できるようになることを考慮して、編集手段がシートに記載される制御パーツの持つパラメータの値を編集する場合にあって、そのシートに記載されていない制御パーツの持つパラメータの値を編集する場合には、そのシートにそれらの制御パーツのシンボルを追加表示してパラメータの値を設定する。
【００２３】
以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００２４】
〔２〕本発明のパラメータ設定方法の構成
〔２−１〕第１の構成
ユーザは、上述のように構成される本発明のプログラム開発装置を使ってプログラムを開発するときにあって、シートに記載される制御パーツの持つパラメータに対して値を設定する場合には、先ず最初に、本発明のプログラム開発装置に対して、シートに記載される制御パーツの持つパラメータの値を保存手段に出力することを要求する。
【００２５】
これを受けて、本発明のプログラム開発装置は、それらの制御パーツの持つパラメータの値を表形式の形に編集して保存手段に出力する。
【００２６】
続いて、ユーザは、本発明のプログラム開発装置に対して、保存手段に保存される制御パーツの持つパラメータの値の編集を要求する。
【００２７】
これを受けて、本発明のプログラム開発装置は、ディスプレイ上に表を表示して、その表を使ってユーザと対話することで、保存手段に保存される制御パーツの持つパラメータの値を編集する。
【００２８】
この編集を終了すると、本発明のプログラム開発装置は、保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する。
【００２９】
続いて、本発明のプログラム開発装置は、パラメータの存在条件やデータ範囲やデフォルト値などについて定義する制御パーツの持つパラメータの定義情報と、それらの組データとを使って、ユーザがディスプレイ上の表で編集したパラメータが存在できるものであるのか否かということと、そのパラメータの値が適切なものであるのか否かということとをチェックして、シートに記載される制御パーツの持つパラメータの値として設定できるものであることを判断する場合には、シートに記載される制御パーツの持つパラメータに対して、組データに含まれるそのパラメータの値を設定する。
【００３０】
〔２−２〕第２の構成
ユーザは、上述のように構成される本発明のプログラム開発装置を使ってプログラムを開発するときにあって、例えば、あるシートの規定するプログラムと同じプログラムを開発するものの、制御パーツの持つパラメータについては値を変えて設定するような場合には、先ず最初に、本発明のプログラム開発装置に対して、複写元のシートを指定してそのシートの複写を要求する。
【００３１】
これを受けて、本発明のプログラム開発装置は、複写元のシートの持つ情報を複写することで、そのシートと同一の情報を持つ新たなシートを作成する。
【００３２】
続いて、ユーザは、本発明のプログラム開発装置に対して、複写先のシートに記載される制御パーツの持つパラメータの値を保存手段に出力することを要求する。
【００３３】
これを受けて、本発明のプログラム開発装置は、それらの制御パーツの持つパラメータの値を表形式の形に編集して保存手段に出力する。
【００３４】
続いて、ユーザは、本発明のプログラム開発装置に対して、保存手段に保存される制御パーツの持つパラメータの値の編集を要求する。
【００３５】
これを受けて、本発明のプログラム開発装置は、ディスプレイ上に表を表示して、その表を使ってユーザと対話することで、保存手段に保存される制御パーツの持つパラメータの値を編集する。
【００３６】
この編集を終了すると、本発明のプログラム開発装置は、保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する。
【００３７】
続いて、本発明のプログラム開発装置は、パラメータの存在条件やデータ範囲やデフォルト値などについて定義する制御パーツの持つパラメータの定義情報と、それらの組データとを使って、ユーザがディスプレイ上の表で編集したパラメータが存在できるものであるのか否かということと、そのパラメータの値が適切なものであるのか否かということとをチェックして、複写先のシートに記載される制御パーツの持つパラメータの値として設定できるものであることを判断する場合には、複写先のシートに記載される制御パーツの持つパラメータに対して、組データに含まれるそのパラメータの値を設定する。
【００３８】
〔２−３〕第３の構成
ユーザは、上述のように構成される本発明のプログラム開発装置を使ってプログラムを開発するときにあって、シートによらずに制御パーツの持つパラメータを設定する場合には、先ず最初に、本発明のプログラム開発装置に対して、制御パーツの持つパラメータの値の編集を要求する。
【００３９】
これを受けて、本発明のプログラム開発装置は、ディスプレイ上に表を表示して、その表を使ってユーザと対話することで、制御パーツの持つパラメータの値を編集して保存手段に保存する。
【００４０】
この編集を終了すると、本発明のプログラム開発装置は、保存手段に保存される表形式の形で記載される制御パーツの持つパラメータの値を読み込み、制御パーツを単位にして、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換する。
【００４１】
続いて、本発明のプログラム開発装置は、編集したパラメータ値の設定先となるシートを指定する。ここで、パラメータ値を編集する前にシートを指定することもある。
【００４２】
続いて、本発明のプログラム開発装置は、指定したシートに、編集したパラメータ値を持つ制御パーツのシンボルを表示して、パラメータの存在条件やデータ範囲やデフォルト値などについて定義する制御パーツの持つパラメータの定義情報と、それらの組データとを使って、ユーザがディスプレイ上の表で編集したパラメータが存在できるものであるのか否かということと、そのパラメータの値が適切なものであるのか否かということとをチェックして、制御パーツの持つパラメータの値として設定できるものであることを判断する場合には、そのシンボルを表示した制御パーツの持つパラメータに対して、組データに含まれるそのパラメータの値を設定する。
【発明の効果】
【００４３】
このようにして、本発明では、制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するという構成を採るときにあって、ユーザがディスプレイ上の表で編集したパラメータの値を使って制御パーツの持つパラメータの値を設定できるようにするために、ユーザがディスプレイ上の表で編集したパラメータの値を、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データに変換し、パラメータの定義情報とそれらの組データとを使ってその正当性を判断して、パラメータの値を設定するようにする。
【００４４】
この構成に従って、本発明によれば、ディスプレイ上の表に書き込まれるパラメータが不要のものであっても、ディスプレイ上の表に書き込まれるパラメータが動的に変化するデータ構造により存在してはならないものになったとしても、ディスプレイ上の表に書き込まれるパラメータの順番がどのようなものであっても、その影響を受けることなく、制御パーツの持つパラメータに対して値を設定できるようになることから、ユーザがディスプレイ上の表で編集したパラメータの値を使って制御パーツの持つパラメータの値を設定できるようになり、これにより、制御パーツの持つパラメータを簡単に設定できるようになる。
【発明を実施するための最良の形態】
【００４５】
以下、実施の形態に従って本発明を詳細に説明する。
【００４６】
図１に、本発明を具備するプログラム開発装置１の一実施形態例を図示する。
【００４７】
この図に示すように、本発明のプログラム開発装置１は、制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプラントなどを制御するコントローラに実装されるプログラムを開発するものであり、この処理を行うために、制御ロジック編集部１０と、編集用情報格納部１１と、制御ロジック情報格納部１２と、表編集部１３と、表形式ファイル１４と、パラメータ設定部１５と、パラメータ定義テーブル１６と、マップデータ格納部１７と、対話実行部１８とを備える。
【００４８】
この制御ロジック編集部１０は、従来のプログラム開発装置の備える制御ロジック編集部と同様の処理を実行するものであり、図１７に示すように、ディスプレイ上に、選択可能な制御パーツの一覧を表示する構成を採って、ユーザと対話することで、その中から使用する制御パーツを順次選択して、そのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定するとともに、各制御パーツの持つパラメータに対して値を設定することでプログラムを作成する。
【００４９】
制御ロジック編集部１０は、その他に、このプログラム作成を容易なものとするための種々の機能を持つものであり、例えば、シートの持つ情報を複写することで、そのシートと同一の情報を持つ新たなシートを作成するといった機能を持つ。また、制御ロジック編集部１０は、ユーザによりパラメータの設定対象となる制御パーツが選択されると、その制御パーツの持つパラメータの設定画面を表示して、それを使ってパラメータに対して値を設定するという、図１８に示すような従来技術の機能を有していてもよい。
【００５０】
編集用情報格納部１１は、制御ロジック編集部１０の実行する処理に必要となる編集用情報を格納する。
【００５１】
制御ロジック情報格納部１２は、制御ロジック編集部１０の作成したプログラムの情報を格納する。
【００５２】
表編集部１３は、Ｅxcelのような表編集ソフトで構成されて、ディスプレイ上に、図２に示すような表を表示して、その表を使って、制御パーツの持つパラメータの値を編集して表形式ファイル１４に保存し、また、その表を使って、表形式ファイル１４に保存される制御パーツの持つパラメータの値を編集する。
【００５３】
実際には、表編集部１３は、この表をディスプレイに表示するにあたって、図３に示すように、ユーザがコメント（図中に示す斜体の部分がコメント）を記入できるようにしている。なお、このコメントについては、表形式ファイル１４がパラメータ設定部１５に読み込まれるときに無視されることになる。
【００５４】
ここで、図２に示す表では、閲覧性を考慮して、表の縦軸に、制御パーツを識別するためのタグ名及びパーツ種別を表示し、表の横軸に、その制御パーツの持つパラメータ名及びその値を表示するという構成を示している。例えば、ＡＩ０５００１というタグ名を持つＡＩというパーツ種別の制御パーツは、ＮＯＤＥＴＹＰ、ＮＯＤＥＮＵＭなどといったパラメータを持ち、そのパラメータ“ＮＯＤＥＴＹＰ”の値はＰＲＣで、そのパラメータ“ＮＯＤＥＮＵＭ”の値は１０であるというように表示するのである。
【００５５】
また、図２に示す表では例示していないが、表編集部１３は、あるパラメータについて何も処理を行わない場合には、そのパラメータの値の入力域である表のセルに空白を表示し、あるパラメータの値を強制的に空にする処理を行う場合には、そのパラメータの値の入力域である表のセルに「""」を表示するようにしている。
【００５６】
なお、これとは逆に、あるパラメータについて何も処理を行わない場合に、そのパラメータの値の入力域である表のセルに「""」を表示し、あるパラメータの値を強制的に空にする処理を行う場合に、そのパラメータの値の入力域である表のセルに空白を表示するようにしてもよい。
【００５７】
表形式ファイル１４は、表編集部１３の編集した表形式の形で記載される制御パーツの持つパラメータの値を保存するとともに、パラメータ設定部１５の出力する表形式の形で記載される制御パーツの持つパラメータの値を保存する。
【００５８】
パラメータ設定部１５は、パラメータ定義テーブル１６のデータを参照して、表編集部１３の編集した制御パーツの持つパラメータ及びその値を検証し、その正当性が検証される場合に、制御ロジック編集部１０の作成したプログラムに記載される制御パーツの持つパラメータに対して、表編集部１３の編集したパラメータ値を設定する。そして、制御ロジック編集部１０の作成したプログラムに記載される制御パーツの持つパラメータの値を表形式ファイル１４に出力して、表編集部１３による編集を依頼する。
【００５９】
このパラメータ設定部１５は、後述することから分かるように、表形式ファイル１４から表形式の形で記載される制御パーツの持つパラメータの値を読み込む機能（インポート機能）や、制御ロジック編集部１０が編集した表形式の形で記載される制御パーツの持つパラメータの値を表形式ファイル１４に出力する機能（エクスポート機能）や、表編集部１３の編集したパラメータ値に従ってシートを新たに作成する機能や、表編集部１３の編集したパラメータ値に従ってシートに対して制御パーツを追加する機能などを持つ。
【００６０】
パラメータ定義テーブル１６は、表編集部１３の編集した制御パーツの持つパラメータ及びその値を検証するために用意されるものであり、ＡＩ（アナログ入力）用のパラメータ定義テーブル、ＡＯ（アナログ出力）用のパラメータ定義テーブルというように、制御パーツのパーツ種別毎に、その制御パーツの持つ各パラメータの存在条件やデータ範囲やデフォルト値について定義する。
【００６１】
図４に、パラメータ定義テーブル１６のデータの一部を図示する。この図に示すパラメータ“ＯＶＥＲＶＡＬ（図中の「／／１８」に示すもの）”のデータについて説明するならば、パラメータ“ＯＶＥＲＶＡＬ”は、パラメータ“ＰＮＴＦＯＲＭ”の値がＦＵＬＬの場合にだけ存在し、そのデータのタイプが整数型（integer)で、その最大値が１００で、その最小値が０で、そのデフォルト値が２５であるということを示している。
【００６２】
マップデータ格納部１７は、パラメータ設定部１５の作業領域として用意されるものであり、パラメータ設定部１５が制御パーツを単位にして生成した、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データの集合であるマップデータを保存する。
【００６３】
対話実行部１８は、ディスプレイやマウスなどの入力機器を有して、制御ロジック編集部１０の要求に応答してユーザと対話したり、表編集部１３の要求に応答してユーザと対話したり、パラメータ設定部１５の要求に応答してユーザと対話する処理を実行する。
【００６４】
図５ないし図１１に、パラメータ設定部１５が本発明を実現するために実行する処理フローの一例を図示する。
【００６５】
ここで、図５及び図６の処理フローは、ユーザが制御ロジック情報格納部１２に格納される制御パーツの持つパラメータの値を表形式ファイル１４に出力することを指示するときに実行する処理フローであり、図７ないし図１１の処理フローは、ユーザが表形式ファイル１４に格納されるファイルデータに従って制御パーツの持つパラメータの値の設定を指示するときに実行する処理フローである。
【００６６】
次に、これらの処理フローに従って、パラメータ設定部１５が本発明を実現するために実行する処理について詳細に説明する。
【００６７】
最初に、図５及び図６の処理フローに従って、ユーザが制御ロジック情報格納部１２に格納される制御パーツの持つパラメータの値を表形式ファイル１４に出力することを指示するときに実行する処理について説明する。
【００６８】
パラメータ設定部１５は、制御ロジック編集部１０が図１７に示すような編集画面を使ってユーザと対話することでプログラムを開発しているときに、ユーザが制御ロジック情報格納部１２に格納される制御パーツの持つパラメータの値を表形式ファイル１４に出力することを指示すると、図５及び図６の処理フローに示すように、先ず最初に、ステップ１０で、図１２に示すように、その編集画面上にパラメータ出力画面を表示する。
【００６９】
このパラメータ出力画面の表示を受けて、ユーザは、編集画面のジョブ階層図から出力対象のシートを選択してくる。
【００７０】
これから、続いて、ステップ１１で、ユーザからの選択入力を受け付けることで、ジョブ階層図から出力対象のシートを選択する。
【００７１】
例えば、図１２に示すように、装置Ａというコンテナ（シートの集合）の配下にあるＡ０２というシートを出力対象のシートとして選択するのである。このとき、コンテナのレベルで出力対象のシートを選択することも可能である。
【００７２】
続いて、ステップ１２で、パラメータ出力画面に対するユーザ操作を待って、パラメータ出力画面に対するユーザ操作が検出されると、ステップ１３に進んで、そのユーザ操作が表形式ファイル１４の出力先ディレクトリの設定要求であるのか否かを判断する。
【００７３】
この判断処理に従って、ユーザ操作が出力先ディレクトリの設定要求であることを判断する場合には、ステップ１４に進んで、ユーザからの入力を受け付けることで、表形式ファイル１４の出力先ディレクトリを設定（指定）してから、次のユーザ操作を待つべくステップ１２に戻る。
【００７４】
例えば、図１２に示すように、“Ｄ：￥ＪＯＢ￥Ａ工場￥ｐａｒａｍ”というディレクトリを出力先ディレクトリとして設定して、次のユーザ操作を待つべくステップ１２に戻るのである。
【００７５】
一方、ステップ１３の判断処理に従って、ユーザ操作が出力先ディレクトリの設定要求でないことを判断する場合には、ステップ１５に進んで、ユーザ操作が出力する制御パーツタイプの設定要求であるのか否かを判断する。
【００７６】
この判断処理に従って、ユーザ操作が出力する制御パーツタイプの設定要求であることを判断する場合には、ステップ１６に進んで、ユーザからの入力を受け付けることで、出力する制御パーツタイプを設定（指定）してから、次のユーザ操作を待つべくステップ１２に戻る。
【００７７】
例えば、全ての制御パーツタイプを出力対象とするとか、ＡＩ（アナログ入力）の制御パーツとＡＯ（アナログ出力）の制御パーツのみを出力対象として設定して、次のユーザ操作を待つべくステップ１２に戻るのである。
【００７８】
一方、ステップ１５の判断処理に従って、ユーザ操作が出力する制御パーツタイプの設定要求でないことを判断する場合には、ステップ１７に進んで、ユーザ操作が出力パラメータの設定要求であるのか否かを判断する。
【００７９】
すなわち、ユーザは、各制御パーツタイプについて、制御パーツの持つパラメータの内のどのパラメータを出力対象とするのかということと、出力対象のパラメータの表上における位置とを設定したいと考える場合には、パラメータ出力画面の持つパラメータ設定ボタンを操作してくるので、このパラメータ設定ボタンが操作されたのか否かを判断するのである。
【００８０】
この判断処理に従って、ユーザ操作が出力パラメータの設定要求であることを判断する場合には、ステップ１８に進んで、図１３に示すような出力パラメータ設定画面を表示して、ユーザと対話することで、設定要求のある制御パーツタイプについて、出力しないパラメータと、出力するパラメータ及びその出力順序とを設定してから、次のユーザ操作を待つべくステップ１２に戻る。
【００８１】
このとき、ユーザは、設定対象の制御パーツタイプとして、ステップ１１で選択したシートに記載される制御パーツのタイプに限られることなく制御パーツタイプを選択することができるようになっている。これから、通常の場合、ユーザは、この出力パラメータ設定画面を使って、予め各制御パーツタイプについて、制御パーツの持つパラメータの内のどのパラメータを出力対象とするのかということと、出力対象のパラメータの表上における位置とを設定することになる。
【００８２】
一方、ステップ１７の判断処理に従って、ユーザ操作が出力パラメータの設定要求でないことを判断する場合には、ステップ１９に進んで、ユーザ操作が出力先ノードの設定要求であるのか否かを判断する。
【００８３】
この判断処理に従って、ユーザ操作が出力先ノードの設定要求であることを判断する場合には、ステップ２０に進んで、出力先となるノード（実際にプログラムを実行する物理的なコントローラ）を設定してから、次のユーザ操作を待つべくステップ１２に戻る。
【００８４】
一方、ステップ１９の判断処理に従って、ユーザ操作が出力先ノードの設定要求でないことを判断する場合には、ステップ２１に進んで、ユーザ操作が表形式ファイル１４へのパラメータの出力要求であるのか否かを判断する。
【００８５】
すなわち、ユーザは、ステップ１１で選択したシートに記載される制御パーツの持つパラメータの値（その一部又は全てについて、例えば、図１８に示すような従来技術の機能を使って設定されることがある）を表形式ファイル１４へ出力したいと考える場合には、パラメータ出力画面の持つ出力ボタンを操作してくるので、この出力ボタンが操作されたのか否かを判断するのである。
【００８６】
この判断処理に従って、ユーザ操作が表形式ファイル１４へのパラメータの出力要求であることを判断する場合には、ステップ２２に進んで、所定のチェックを行いながら、これまでに設定した情報に従って、出力対象のシートに記載される制御パーツの持つパラメータを表形式ファイル１４の扱うファイル形式に変換して表形式ファイル１４へ出力する。
【００８７】
例えば、不当な制御パーツタイプが設定されているのかとか、制御パーツ名について二重設定があるのかとか、表編集部１３の取り扱う表のセル数よりも多い数のパラメータが設定されているのかとかいったチェックを行いながら、これまでに設定した情報に従って、出力対象のシートに記載される制御パーツの持つパラメータを表形式ファイル１４の扱うファイル形式に変換して表形式ファイル１４へ出力するのである。
【００８８】
このとき、制御パーツが出力対象のパラメータを持たない場合には、そのパラメータの値を空白として出力し、制御パーツが出力対象のパラメータを持つものの値を持たない場合には、そのパラメータの値を「""」として出力することになる。図１３に示した出力パラメータ設定画面では、例えば、複数あるＡＩの内の代表的なＡＩを処理対象として出力対象のパラメータを設定するので、制御パーツが出力対象のパラメータを持たないということが起こるので、そのようなときには、そのパラメータの値を空白として出力するのである。
【００８９】
続いて、ステップ２３で、ステップ２２で行ったチェックの結果をパラメータ出力画面の持つステータス欄に記録してから、次のユーザ操作を待つべくステップ１２に戻る。
【００９０】
一方、ステップ２１の判断処理に従って、ユーザ操作が表形式ファイル１４へのパラメータの出力要求でないことを判断する場合には、ステップ２４に進んで、ユーザがパラメータ出力画面の持つ閉じるボタンを操作したのか否かを判断して、ユーザが閉じるボタンを操作したことを判断する場合には、ステップ２５に進んで、制御ロジック編集部１０に制御を返して、処理を終了する。
【００９１】
一方、ステップ２４の判断処理に従って、ユーザが閉じるボタンを操作したのではないことを判断するときには、ステップ２６に進んで、ユーザの操作に応じた処理を実行してから、次のユーザ操作を待つべくステップ１２に戻る。
【００９２】
例えば、ステータス欄に設けられる前のステータスボタンが操作される場合には、１つ前のステータスをステータス欄に表示するというように、ユーザの操作に応じた処理を実行してから、次のユーザ操作を待つべくステップ１２に戻るのである。
【００９３】
このようにして、パラメータ設定部１５は、制御ロジック編集部１０が図１７に示すような編集画面を使ってユーザと対話することでプログラムを開発しているときに、ユーザが制御ロジック情報格納部１２に格納される制御パーツの持つパラメータの値を表形式ファイル１４に出力することを指示すると、出力対象のシートに記載される制御パーツの持つパラメータを表形式ファイル１４の扱うファイル形式に変換して表形式ファイル１４へ出力するように処理するのである。
【００９４】
次に、図７ないし図１１の処理フローに従って、ユーザが表形式ファイル１４に格納されるファイルデータに従って制御パーツの持つパラメータの値の設定を指示するときに実行する処理について詳細に説明する。
【００９５】
ここで、表形式ファイル１４に格納されるファイルデータは、図２で説明したように、例えば、表の縦軸に、制御パーツを識別するためのタグ名及びパーツ種別を表示し、表の横軸に、その制御パーツの持つパラメータ名及びその値を表示するという表形式のデータ構造に従って、ユーザにより編集された制御パーツの持つパラメータの値を管理している。
【００９６】
パラメータ設定部１５は、制御ロジック編集部１０が図１７に示すような編集画面を使ってユーザと対話することでプログラムを開発しているときに、ユーザが表形式ファイル１４に格納されるファイルデータに従って制御パーツの持つパラメータの値の設定を指示すると、図７ないし図１１の処理フローに示すように、先ず最初に、ステップ３０で、図１４に示すように、その編集画面上にパラメータ読込画面を表示する。
【００９７】
このパラメータ読込画面の表示を受けて、ユーザは、編集画面のジョブ階層図から読込先のシートを選択してくる。
【００９８】
これから、続いて、ステップ３１で、ユーザからの選択入力を受け付けることで、ジョブ階層図から読込先のシートを選択する。
【００９９】
例えば、図１４に示すように、装置Ａというコンテナ（シートの集合）の配下にあるＡ０２というシートを読込先のシートとして選択するのである。このとき、コンテナのレベルで読込先のシートを選択することも可能である。
【０１００】
続いて、ステップ３２で、パラメータ読込画面に対するユーザ操作を待って、パラメータ読込画面に対するユーザ操作が検出されると、ステップ３３に進んで、そのユーザ操作が読込対象の表形式ファイルの設定要求であるのか否かを判断する。
【０１０１】
この判断処理に従って、ユーザ操作が読込対象の表形式ファイルの設定要求であることを判断する場合には、ステップ３４に進んで、ユーザからの入力を受け付けることで、表形式ファイル１４の中から読込対象の表形式ファイルを設定（指定）してから、次のユーザ操作を待つべくステップ３２に戻る。
【０１０２】
例えば、図１４に示すように、“Ｄ：￥ＪＯＢ￥Ａ工場￥ｐａｒａｍ￥Ａ０２  ＲＣ．ｘｌｓ”という表形式ファイルを読込対象の表形式ファイルとして設定して、次のユーザ操作を待つべくステップ３２に戻るのである。
【０１０３】
一方、ステップ３３の判断処理に従って、ユーザ操作が読込対象の表形式ファイルの設定要求でないことを判断するときには、ステップ３５に進んで、ユーザ操作が上書き／新規作成モードの設定要求であるのか否かを判断する。
【０１０４】
この判断処理に従って、ユーザ操作が上書き／新規作成モードの設定要求であることを判断する場合には、ステップ３６に進んで、ユーザからの入力を受け付けることで、上書きモード、新規作成モード、上書き・新規作成モードのいずれかを設定してから、次のユーザ操作を待つべくステップ３２に戻る。
【０１０５】
一方、ステップ３５の処理に従って、ユーザ操作が上書き／新規作成モードの設定要求でないことを判断する場合には、ステップ３７に進んで、ユーザ操作が表形式ファイル１４からパラメータを読み込むことを要求したのか否かを判断する。
【０１０６】
すなわち、ユーザは、ステップ３４で設定した表形式ファイルに記載される制御パーツの持つパラメータの値を読み込んで、それに従って、ステップ３１で選択した読込先のシートに記載される制御パーツの持つパラメータに対して値を設定したいと考える場合には、パラメータ読込画面の持つ読込ボタンを操作してくるので、この読込ボタンが操作されたのか否かを判断するのである。
【０１０７】
この判断処理に従って、ユーザ操作が表形式ファイルに記載されるパラメータの読込要求であることを判断する場合には、ステップ３８に進んで、ステップ３４で設定した読込対象の表形式ファイルを読み込んで、制御パーツを単位として、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データの集合であるマップ形式のデータ（マップデータ）に変換する。
【０１０８】
すなわち、読込対象の表形式ファイルに記載される制御パーツの持つパラメータの値を読み込んで、
制御パーツ０１    パラメータ０１  ：  パラメータ値＝１００
パラメータ０３  ：  パラメータ値＝    ３
・
・
制御パーツ０２    パラメータ１０  ：  パラメータ値＝  ５０
パラメータ１１  ：  パラメータ値＝    ""
・
・
というように、制御パーツを単位として、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データの集合で定義されるマップデータに変換するのである。このとき、表形式ファイル１４で、パラメータの値として空白が設定されている場合には、そのパラメータについては何も処理を行わないことを意味するので、そのパラメータについては組データを生成しないようにする。
【０１０９】
続いて、ステップ３９で、上書きモードに設定されているのか否かを判断して、上書きモードに設定されていることを判断する場合には、ステップ４０に進んで、上書きモードの処理対象とする制御パーツについてのパラメータ定義テーブル１６とステップ３８で生成したその制御パーツについてのマップデータとを使い、上書きモードの処理対象とする制御パーツの持つパラメータについてチェック（後述するチェックの他に、二重設定があるかなどの一般的なチェックも行う）を行いながら、ステップ３８で生成したマップデータに従ってパラメータに値を設定する。
【０１１０】
このとき、パラメータの値として「""」が設定されている場合には、そのパラメータの値を空にする形で設定する。また、表編集部１３の取り扱う表よりも多い数のパラメータが存在する場合には、その表には記載されていないパラメータが存在するので、そのような場合には、それらのパラメータについてはパラメータ定義テーブル１６に記載されるデフォルト値を設定する。
【０１１１】
続いて、ステップ４１で、そのチェック結果をパラメータ読込画面の持つステータス欄に記録してから、次のユーザ操作を待つべくステップ３２に戻る。
【０１１２】
一方、ステップ３９の判断処理に従って、上書きモードに設定されていないことを判断する場合には、ステップ４２に進んで、新規作成モードに設定されているのか否かを判断して、新規作成モードに設定されていることを判断する場合には、ステップ４３に進んで、新規作成モードの処理対象とする制御パーツについてのパラメータ定義テーブル１６とステップ３８で生成したその制御パーツについてのマップデータとを使い、新規作成モードの処理対象とする制御パーツの持つパラメータについてチェック（後述するチェックの他に、二重設定があるかなどの一般的なチェックも行う）を行いながら、ステップ３８で生成したマップデータに従ってパラメータに値を設定する。
【０１１３】
このとき、パラメータの値として「""」が設定されている場合には、そのパラメータの値を空にする形で設定する。また、表編集部１３の取り扱う表よりも多い数のパラメータが存在する場合には、その表には記載されていないパラメータが存在するので、そのような場合には、それらのパラメータについてはパラメータ定義テーブル１６に記載されるデフォルト値を設定する。
【０１１４】
続いて、ステップ４４で、そのチェック結果をパラメータ読込画面の持つステータス欄に記録してから、次のユーザ操作を待つべくステップ３２に戻る。
【０１１５】
一方、ステップ４２の判断処理に従って、新規作成モードに設定されていないことを判断する場合、すなわち、上書き・新規作成モードに設定されていることを判断する場合には、ステップ４５に進んで、上書き・新規作成モードの処理対象とする制御パーツについてのパラメータ定義テーブル１６とステップ３８で生成したその制御パーツについてのマップデータとを使い、上書き・新規作成モードの処理対象とする制御パーツの持つパラメータについてチェック（後述するチェックの他に、二重設定があるかなどの一般的なチェックも行う）を行いながら、ステップ３８で生成したマップデータに従ってパラメータに値を設定する。
【０１１６】
このとき、パラメータの値として「""」が設定されている場合には、そのパラメータの値を空にする形で設定する。また、表編集部１３の取り扱う表よりも多い数のパラメータが存在する場合には、その表には記載されていないパラメータが存在するので、そのような場合には、それらのパラメータについてはパラメータ定義テーブル１６に記載されるデフォルト値を設定する。
【０１１７】
続いて、ステップ４６で、そのチェック結果をパラメータ読込画面の持つステータス欄に記録してから、次のユーザ操作を待つべくステップ３２に戻る。
【０１１８】
一方、ステップ３７の判断処理に従って、ユーザ操作が表形式ファイル１４からのパラメータ読込要求でないことを判断する場合には、ステップ４７に進んで、ユーザがパラメータ読込画面の持つ閉じるボタンを操作したのか否かを判断して、ユーザが閉じるボタンを操作したことを判断する場合には、ステップ４８に進んで、制御ロジック編集部１０に制御を返して、処理を終了する。
【０１１９】
一方、ステップ４７の判断処理に従って、ユーザが閉じるボタンを操作したのではないことを判断するときには、ステップ４９に進んで、ユーザの操作に応じた処理を実行してから、次のユーザ操作を待つべくステップ３２に戻る。
【０１２０】
例えば、ステータス欄に設けられる前のステータスボタンが操作される場合には、１つ前のステータスをステータス欄に表示するというように、ユーザの操作に応じた処理を実行してから、次のユーザ操作を待つべくステップ３２に戻るのである。
【０１２１】
次に、図７及び図８の処理フローのステップ４０で実行する上書きモードの処理について詳細に説明する。
【０１２２】
ここで、この上書きモードでは、ステップ３１で選択したシートに記載される制御パーツの持つパラメータのみを表形式ファイル１４のファイルデータに従って設定する処理を行う。
【０１２３】
パラメータ設定部１５は、図７及び図８の処理フローのステップ４０の処理に入ると、図９の処理フローに示すように、先ず最初に、ステップ４００で、マップデータの全行について処理を終了したのか否かを判断して、全行について処理を終了していないことを判断する場合には、ステップ４０１に進んで、マップデータの未処理の１行（ある制御パーツの持つパラメータの名前とそのパラメータ値との組データの集合）を選択する。
【０１２４】
続いて、ステップ４０２で、選択した行に記載される制御パーツがステップ３１で選択したシートに記載されているのか否かを判断して、記載されていないことを判断する場合には、上書きモードの処理対象となる制御パーツではないので、ステップ４０３に進んで、パラメータ読込画面の持つステータス欄にエラーを記録してから、次の行について処理を行うべくステップ４００に戻る。
【０１２５】
一方、ステップ４０２の判断処理に従って、選択した行に記載される制御パーツがステップ３１で選択したシートに記載されていることを判断する場合には、ステップ４０４に進んで、選択した行に記載されるパラメータ名とそのパラメータ値との組データ（それらの間の順序に規定はない）を取り出す。
【０１２６】
続いて、ステップ４０５で、その取り出した各パラメータについて、選択した行に記載される制御パーツの持つパラメータについてのパラメータ定義テーブル１６のデータと、その取り出した組データと、上書き対象の制御パーツの持つパラメータの値とに基づいて、そのパラメータがＴＲＵＥであるかＦＡＬＳＥであるのかを判断する。
【０１２７】
図４に示すパラメータ定義テーブル１６のデータで説明したように、あるパラメータは別のパラメータがある値の場合にだけ存在するというように、制御パーツの持つパラメータは動的に変化するデータ構造を有しているので、このデータ構造を考慮して、選択した行に記載される制御パーツの持つパラメータの存在条件がＴＲＵＥであるかＦＡＬＳＥであるのかを判断するのである。
【０１２８】
そして、このとき、取り出したパラメータに値がないものの、上書き対象の制御パーツの持つそのパラメータに値がある場合にあって、その値によって、そのパラメータとは別の取り出したパラメータの存在条件が変わることがあるので、上書き対象の制御パーツの持つパラメータの値についても考慮しながら、選択した行に記載される制御パーツの持つパラメータの存在条件がＴＲＵＥであるかＦＡＬＳＥであるのかを判断するのである。
【０１２９】
続いて、ステップ４０６で、取り出した各パラメータについての存在条件（ＴＲＵＥ，ＦＡＬＳＥ）の判断結果と、取り出した組データにそのパラメータが記載されているのか否かという情報とに基づいて、図１５（ａ）に示すようなパラメータの設定・非設定の処理を行ってから、次の行について処理を行うべくステップ４００に戻る。
【０１３０】
このようにして、パラメータ設定部１５は、上書きモードでは、ステップ３１で選択したシートに記載される制御パーツの持つパラメータのみを表形式ファイル１４のファイルデータに従って設定する場合にあって、その設定が正当であるのか否かを判断して、正当であることが判断される場合にのみ、その設定を行うようにするのである。
【０１３１】
次に、図７及び図８の処理フローのステップ４３で実行する新規作成モードの処理について詳細に説明する。
【０１３２】
ここで、この新規作成モードでは、表形式ファイル１４のファイルデータに記載されている制御パーツの内、ステップ３１で選択したシート（制御パーツが一切記載されていない場合もある）に記載される制御パーツを除いた制御パーツを処理対象として、その処理対象の制御パーツの持つパラメータのみを表形式ファイル１４のファイルデータに従って設定する処理を行う。
【０１３３】
パラメータ設定部１５は、図７及び図８の処理フローのステップ４３の処理に入ると、図１０の処理フローに示すように、先ず最初に、ステップ４３０で、マップデータの全行について処理を終了したのか否かを判断して、全行について処理を終了していないことを判断する場合には、ステップ４３１に進んで、マップデータの未処理の１行（ある制御パーツの持つパラメータの名前とそのパラメータ値との組データの集合）を選択する。
【０１３４】
続いて、ステップ４３２で、選択した行に記載される制御パーツがステップ３１で選択したシートに記載されているのか否かを判断して、記載されていることを判断する場合には、新規作成モードの処理対象となる制御パーツではないので、ステップ４３３に進んで、パラメータ読込画面の持つステータス欄にエラーを記録してから、次の行について処理を行うべくステップ４３０に戻る。
【０１３５】
一方、ステップ４３２の判断処理に従って、選択した行に記載される制御パーツがステップ３１で選択したシートに記載されていないことを判断する場合には、ステップ４３４に進んで、選択した行に記載されるパラメータ名とそのパラメータ値との組データ（それらの間の順序に規定はない）を取り出す。
【０１３６】
続いて、ステップ４３５で、その取り出した各パラメータについて、選択した行に記載される制御パーツの持つパラメータについてのパラメータ定義テーブル１６のデータと、その取り出した組データとに基づいて、そのパラメータがＴＲＵＥであるかＦＡＬＳＥであるのかを判断する。
【０１３７】
図４に示すパラメータ定義テーブル１６のデータで説明したように、あるパラメータは別のパラメータがある値の場合にだけ存在するというように、制御パーツの持つパラメータは動的に変化するデータ構造を有しているので、このデータ構造を考慮して、選択した行に記載される制御パーツの持つパラメータの存在条件がＴＲＵＥであるかＦＡＬＳＥであるのかを判断するのである。
【０１３８】
続いて、ステップ４３６で、取り出した各パラメータについての存在条件（ＴＲＵＥ，ＦＡＬＳＥ）の判断結果と、取り出した組データにそのパラメータが記載されているのか否かという情報とに基づいて、図１５（ｂ）に示すようなパラメータの設定・非設定の処理を行う。
【０１３９】
ここで、図１５（ａ）に示す処理と図１５（ｂ）で示す処理とは、取り出した組データにパラメータが記載されておらず、かつ、そのパラメータの存在条件がＴＲＵＥである場合における処理が異なる。すなわち、上書きモードの場合には、制御パーツのパラメータは以前のままとするのに対して、新規作成モードの場合には、制御パーツのパラメータにもともと値がないことから、デフォルト値を設定するという違いがある。
【０１４０】
続いて、ステップ４３７で、選択した行に記載される制御パーツに対応した制御パーツ図をステップ３１で選択したシートに追加してから（布線は実行しない）、次の行について処理を行うべくステップ４３０に戻る。
【０１４１】
このようにして、パラメータ設定部１５は、新規作成モードでは、表形式ファイル１４のファイルデータに記載されている制御パーツの内、ステップ３１で選択したシートに記載される制御パーツを除いた制御パーツを処理対象として、その処理対象の制御パーツの持つパラメータのみを表形式ファイル１４のファイルデータに従って設定する場合にあって、その設定が正当であるのか否かを判断して、正当であることが判断される場合にのみ、その設定を行うようにするのである。
【０１４２】
次に、図７及び図８の処理フローのステップ４５で実行する上書き・新規作成モードの処理について詳細に説明する。
【０１４３】
パラメータ設定部１５は、図７及び図８の処理フローのステップ４５の処理に入ると、図１１の処理フローに示すように、先ず最初に、ステップ４５０で、マップデータの全行について処理を終了したのか否かを判断して、全行について処理を終了していないことを判断する場合には、ステップ４５１に進んで、マップデータの未処理の１行（ある制御パーツの持つパラメータの名前とそのパラメータ値との組データの集合）を選択する。
【０１４４】
続いて、ステップ４５２で、選択した行に記載される制御パーツがステップ３１で選択したシートに記載されているのか否かを判断して、記載されていることを判断する場合には、上書きモードの処理対象となる制御パーツであることを判断して、ステップ４５３に進んで、図９の処理フローのステップ４０４〜ステップ４０６に従って上書きモードの処理を実行して、次の行について処理を行うべくステップ４５０に戻る。
【０１４５】
一方、ステップ４５２で、選択した行に記載される制御パーツがステップ３１で選択したシートに記載されていないことを判断する場合には、新規作成モードの処理対象となる制御パーツであることを判断して、ステップ４５４に進んで、図１０の処理フローのステップ４３４〜ステップ４３７に従って新規作成モードの処理を実行して、次の行について処理を行うべくステップ４５０に戻る。
【０１４６】
このようにして、パラメータ設定部１５は、上書き・新規作成モードでは、上書きモードの対象となる制御パーツの持つパラメータについては上書きモードの形で設定を行い、新規作成モードの対象となる制御パーツの持つパラメータについては新規作成モードの形で設定を行うのである。
【０１４７】
以上に説明したように、パラメータ設定部１５は、ユーザが表形式ファイル１４に格納されるファイルデータに従って制御パーツの持つパラメータの値の設定を指示すると、ユーザがディスプレイ上の表で編集したパラメータの値を、パラメータ名とそれが持つ値との組み合わせで定義される順序の規定されない組データの集合であるマップデータに変換して、各制御パーツの持つパラメータについて、パラメータ定義テーブル１６のデータとそのマップデータとを使ってその正当性を判断してパラメータの設定を行うように処理するのである。
【０１４８】
この構成に従って、本発明のプログラム開発装置１によれば、ディスプレイ上の表に書き込まれるパラメータが不要のものであっても、ディスプレイ上の表に書き込まれるパラメータが動的に変化するデータ構造により存在してはならないものになったとしても、ディスプレイ上の表に書き込まれるパラメータの順番がどのようなものであっても、その影響を受けることなく、制御パーツの持つパラメータに対して値を設定できるようになることから、ユーザがディスプレイ上の表で編集したパラメータの値を使って制御パーツの持つパラメータの値を設定できるようになるのである。
【０１４９】
次に、図１６に従って、このように構成される本発明のプログラム開発装置１を使って実行されることになる制御パーツの持つパラメータの設定処理について説明する。
【０１５０】
図１６（ａ）に示すパラメータの設定処理では、本発明のプログラム開発装置１は、ユーザからの指示に従って、先ず最初に、シートに記載される制御パーツの持つパラメータの値を表形式ファイル１４に出力する。続いて、ディスプレイ上に表を表示して、その表を使ってユーザと対話することで、表形式ファイル１４に出力した制御パーツの持つパラメータの値を編集する。続いて、その編集した制御パーツの持つパラメータの値を読み込んで、それに従って、シートに記載される制御パーツの持つパラメータに対して値を設定する。
【０１５１】
また、図１６（ｂ）に示すパラメータの設定処理では、本発明のプログラム開発装置１は、先ず最初に、シートを複写する。続いて、その複写先のシートに記載される制御パーツの持つパラメータの値を表形式ファイル１４に出力する。続いて、ディスプレイ上に表を表示して、その表を使ってユーザと対話することで、表形式ファイル１４に出力した制御パーツの持つパラメータの値を編集する。続いて、その編集した制御パーツの持つパラメータの値を読み込んで、それに従って、複写先のシートに記載される制御パーツの持つパラメータに対して値を設定する。
【０１５２】
また、図１６（ｃ）に示すパラメータの設定処理では、本発明のプログラム開発装置１は、先ず最初に、ディスプレイ上に表を表示して、その表を使ってユーザと対話することで、制御パーツの持つパラメータの値を編集して表形式ファイル１４に読み込む。続いて、指定したシートに、その読み込んだパラメータ値を持つ制御パーツのシンボルを表示して、そのシンボルを表示した制御パーツの持つパラメータに対して、その読み込んだパラメータの値を設定する。
【０１５３】
ここで、図１６（ｃ）に示すパラメータの設定処理においては、何も記載されていない表から処理を開始するのではなくて、あるシートに記載される制御パーツの持つパラメータの値を表形式ファイル１４に出力したものを処理対象として、その処理対象の値が記載されている表から処理を開始するようにしてもよい。
【産業上の利用可能性】
【０１５４】
本発明によれば、ユーザは、制御パーツのシンボルをディスプレイ上に設定されるシートに配置し、それらの間の接続関係を設定することでプログラムを開発するときにあって、ディスプレイ上の表で編集したパラメータの値を使って制御パーツの持つパラメータの値を設定できるようになるので、制御パーツの持つパラメータを簡単に設定できるようになる。
【図面の簡単な説明】
【０１５５】
【図１】本発明のプログラム開発装置の一実施形態例である。
【図２】表編集部の表示する表の説明図である。
【図３】表編集部の表示する表の説明図である。
【図４】パラメータ定義テーブルの説明図である。
【図５】パラメータ設定部の実行する処理フローである。
【図６】パラメータ設定部の実行する処理フローである。
【図７】パラメータ設定部の実行する処理フローである。
【図８】パラメータ設定部の実行する処理フローである。
【図９】パラメータ設定部の実行する処理フローである。
【図１０】パラメータ設定部の実行する処理フローである。
【図１１】パラメータ設定部の実行する処理フローである。
【図１２】パラメータ出力画面の説明図である。
【図１３】出力パラメータ設定画面の説明図である。
【図１４】パラメータ読込画面の説明図である。
【図１５】パラメータ設定部の実行する処理の説明図である。
【図１６】本発明のプログラム開発装置を用いるパラメータ設定処理の説明図である。
【図１７】従来技術の説明図である。
【図１８】従来技術の説明図である。
【図１９】従来技術の説明図である。
【符号の説明】
【０１５６】
１    プログラム開発装置
１０  制御ロジック編集部
１１  編集用情報格納部
１２  制御ロジック情報格納部
１３  表編集部
１４  表形式ファイル
１５  パラメータ設定部
１６  パラメータ定義テーブル
１７  マップデータ格納部
１８  対話実行部
【図１】
2006285890.tif 000003
【図２】
2006285890.tif 000004
【図３】
2006285890.tif 000005
【図４】
2006285890.tif 000006
【図５】
2006285890.tif 000007
【図６】
2006285890.tif 000008
【図７】
2006285890.tif 000009
【図８】
2006285890.tif 000010
【図９】
2006285890.tif 000011
【図１０】
2006285890.tif 000012
【図１１】
2006285890.tif 000013
【図１２】
2006285890.tif 000014
【図１３】
2006285890.tif 000015
【図１４】
2006285890.tif 000016
【図１５】
2006285890.tif 000017
【図１６】
2006285890.tif 000018
【図１７】
2006285890.tif 000019
【図１８】
2006285890.tif 000020
【図１９】
2006285890.tif 000021