(57)【要約】【課題】制御ループの定義作業におけるユーザの負担を軽減する。【解決手段】制御プログラム作成装置１は、機能ブロックの属性データを予め記憶する記憶部２と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義部３と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するウィンドウを表示し、このウィンドウ上で機能ブロックが選択されたときに、機能ブロックを選択された定義用オブジェクトに割り付ける制御ループ確定部４とを備える。【選択図】  図１
2010198562.tif 000002
【特許請求の範囲】
【請求項１】
機器が持つ機能を機能ブロックとして捉えて機能ブロックを組合わせることにより、制御系設計を行う制御プログラム作成方法において、
機能ブロックの属性データを予め記憶する記憶手段と、
所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手順と、
前記制御ループを第１のウィンドウに表示する第１の表示手順と、
表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手順と、
前記検索した機能ブロックを提示する第２のウィンドウを表示する第２の表示手順と、
前記第２のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手順とを備えることを特徴とする制御プログラム作成方法。
【請求項２】
請求項１記載の制御プログラム作成方法において、
前記機能ブロック検索手順で検索に用いる属性データは、アルゴリズムを表すブロックタイプ、セグメントＩＤ、ループＩＤ、ブロックＩＤ、ブロック名称のうちいずれか一つ以上であることを特徴とする制御プログラム作成方法。
【請求項３】
請求項２記載の制御プログラム作成方法において、
前記機能ブロック検索手順は、前記属性データのうちいずれかを指定するキーワードが入力されたときに、前記選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつ前記キーワードと一致する属性データを持つ機能ブロックを検索することを特徴とする制御プログラム作成方法。
【請求項４】
請求項１または２記載の制御プログラム作成方法において、
さらに、前記割り付け設定手順で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加するリンク追加手順を備えることを特徴とする制御プログラム作成方法。
【請求項５】
機器が持つ機能を機能ブロックとして捉えて機能ブロックを組合わせることにより、制御系設計を行う制御プログラム作成装置において、
機能ブロックの属性データを予め記憶する記憶手段と、
所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手段と、
前記制御ループを第１のウィンドウに表示する第１の表示手段と、
表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手段と、
前記検索した機能ブロックを提示する第２のウィンドウを表示する第２の表示手段と、
前記第２のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手段とを備えることを特徴とする制御プログラム作成装置。
【請求項６】
請求項５記載の制御プログラム作成装置において、
前記機能ブロック検索手段が検索に用いる属性データは、アルゴリズムを表すブロックタイプ、セグメントＩＤ、ループＩＤ、ブロックＩＤ、ブロック名称のうちいずれか一つ以上であることを特徴とする制御プログラム作成装置。
【請求項７】
請求項６記載の制御プログラム作成装置において、
前記機能ブロック検索手段は、前記属性データのうちいずれかを指定するキーワードが入力されたときに、前記選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつ前記キーワードと一致する属性データを持つ機能ブロックを検索することを特徴とする制御プログラム作成装置。
【請求項８】
請求項５または６記載の制御プログラム作成装置において、
さらに、前記割り付け設定手段で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加するリンク追加手段を備えることを特徴とする制御プログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御機器の機能単位のアルゴリズムが定義された機能ブロックを用いて制御ループを定義し、制御プログラムを作成する制御プログラム作成方法および作成装置に関するものである。
【背景技術】
【０００２】
従来、機能ブロックを用いた制御設計コンフィギュレーションツール（制御プログラム作成装置）では、制御プログラム作成装置の画面上に機能ブロックを置き、機能ブロック中のパラメータに相当する接続端子から、その接続相手となる接続端子に接続線（リンク）を設定して、制御系の設計を行っている。このような制御プログラム作成装置を用いた制御プログラム作成方法は、一般にＤＣＳ（Distributed Control System：分散制御システム）やＰＬＣ（Programmable Logic Controller ：プログラマブル・コントローラ）のコンフィギュレーションツールで用いられている方法であるが、機能ブロックを用いるフィールドバス（Foundation Fieldbus ）のエンジニアリングツールにも一般的に用いられている（例えば特許文献１参照）。
【０００３】
図１３は従来の制御プログラム作成装置を用いた制御プログラム作成方法を説明するための図であり、制御プログラム作成装置の画面上における操作手順を示す図である。
従来の制御プログラム作成方法では、装置の画面上において、フィールド機器の機能ブロックであるフィールドバスブロックの一覧１００１から制御ループの定義ウィンドウ１００２へ、フィールドバスブロック１０００を移動させるドラッグ＆ドロップ操作によって制御プログラムを作成する。制御ロジックが複数存在する場合は、フィールドバスブロックの一覧１００１から制御ループの定義ウィンドウ１００２へのフィールドバスブロック１０００の移動を繰り返す。図１３の例では、定義ウィンドウ１００２上に、アナログ入力（ＡＩ）の機能ブロック１０００−ＡＩとＰＩＤ演算を行う機能ブロック１０００−ＰＩＤとアナログ出力（ＡＯ）を行う機能ブロック１０００−ＡＯとがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２５１２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の制御プログラム作成方法では、数多くのフィールドバスブロックが並ぶ一覧の中からフィールドバスブロックを適宜選択して、選択したフィールドバスブロックを制御ループの定義ウィンドウへドラッグ＆ドロップする操作をユーザに強いることになる。したがって、フィールドバスブロックの一覧の中から目的のフィールドバスブロックを探す必要があり、またドラッグ＆ドロップ操作を繰り返す必要があるので、ユーザの負担が大きいという問題点があった。
【０００６】
本発明は、上記課題を解決するためになされたもので、制御ループの定義作業におけるユーザの負担を軽減することができる制御プログラム作成方法および作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、機器が持つ機能を機能ブロックとして捉えて機能ブロックを組合わせることにより、制御系設計を行う制御プログラム作成方法において、機能ブロックの属性データを予め記憶する記憶手段と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手順と、前記制御ループを第１のウィンドウに表示する第１の表示手順と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手順と、前記検索した機能ブロックを提示する第２のウィンドウを表示する第２の表示手順と、前記第２のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手順とを備えることを特徴とするものである。
【０００８】
また、本発明の制御プログラム作成方法の１構成例において、前記機能ブロック検索手順で検索に用いる属性データは、アルゴリズムを表すブロックタイプ、セグメントＩＤ、ループＩＤ、ブロックＩＤ、ブロック名称のうちいずれか一つ以上であることを特徴とするものである。
また、本発明の制御プログラム作成方法の１構成例において、前記機能ブロック検索手順は、前記属性データのうちいずれかを指定するキーワードが入力されたときに、前記選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつ前記キーワードと一致する属性データを持つ機能ブロックを検索することを特徴とするものである。
また、本発明の制御プログラム作成方法の１構成例は、さらに、前記割り付け設定手順で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加するリンク追加手順を備えることを特徴とするものである。
【０００９】
また、本発明の制御プログラム作成装置は、機能ブロックの属性データを予め記憶する記憶手段と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手段と、前記制御ループを第１のウィンドウに表示する第１の表示手段と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手段と、前記検索した機能ブロックを提示する第２のウィンドウを表示する第２の表示手段と、前記第２のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手段とを備えることを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義し、この制御ループを第１のウィンドウに表示し、制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示する第２のウィンドウを表示し、第２のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを選択された定義用オブジェクトに割り付けることにより、ユーザが選択すべき機能ブロックを認識しやすくなると共に、ドラッグ＆ドロップ操作を不要にすることができる。その結果、本発明によれば、制御ループの定義作業におけるユーザの負担を軽減することができる。
【００１１】
また、本発明では、定義用オブジェクトの選択時に、属性データのうちいずれかを指定するキーワードが入力されたとき、選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつキーワードと一致する属性データを持つ機能ブロックを検索することにより、第２のウィンドウの中から目的の機能ブロックを探す手間を更に減らすことができるので、ユーザの負担を更に軽減することができる。
【００１２】
また、本発明では、割り付け設定手順で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加することにより、制御ループ概要定義手順でリンクデータが定義されていない場合であっても、リンクデータを自動的に追加することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る制御プログラム作成装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係るフィールドバスシステムの１例を示すブロック図である。
【図３】本発明の実施の形態に係る制御プログラム作成装置の動作を示すフローチャートである。
【図４】制御ループの１例を示す図である。
【図５】本発明の実施の形態において制御ループの定義用オブジェクトに対する機能ブロックの割り付け処理を説明するための図である。
【図６】本発明の実施の形態に係る制御プログラム作成装置の制御ループ概要定義部の構成例を示すブロック図である。
【図７】本発明の実施の形態において制御ループの定義時に表示される制御ループ定義ウィンドウを示す図である。
【図８】本発明の実施の形態に係る制御プログラム作成装置の制御ループ概要定義部の動作を示すフローチャートである。
【図９】本発明の実施の形態における制御ループの定義ファイルの階層構造を示す図である。
【図１０】本発明の実施の形態に係る制御プログラム作成装置の制御ループ確定部の構成例を示すブロック図である。
【図１１】本発明の実施の形態に係る制御プログラム作成装置の制御ループ確定部の動作を示すフローチャートである。
【図１２】本発明の実施の形態におけるリンクデータの追加の１例を機能ブロック表現で模式的に示す図である。
【図１３】従来の制御プログラム作成装置を用いた制御プログラム作成方法を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態に係る制御プログラム作成装置の構成を示すブロック図である。
本実施の形態の制御プログラム作成装置１は、フィールド機器およびコントローラの機能ブロックの属性データを予め記憶する記憶部２と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義部３と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するウィンドウを表示して、このウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを上記選択された定義用オブジェクトに割り付ける制御ループ確定部４と、制御プログラム作成装置のユーザが装置に対して指示を与えるための入力部５と、制御プログラム作成装置のユーザに対して情報を表示するための表示部６と、機能ブロックの属性データを定義する機能ブロック定義部７とを有する。
【００１５】
機能ブロックは、例えばセンサやバルブポジショナなどの実際のフィールド機器やコントローラにおける最小機能単位のアルゴリズムやパラメータを定義するものである。定義用オブジェクトは、例えばフィールド機器の製造メーカ等が異なる場合であってもアルゴリズムやパラメータが同じであれば使用できるように汎用的に定義された仮の機能ブロックであり、使用したい機能ブロックの概要を表している。この定義用オブジェクトでは、フィールド機器やコントローラの機能ブロックの属性データのうち、一部の属性データが定義されている。
【００１６】
本実施の形態の制御設計の対象となるフィールドバスシステムの１例を図２に示す。フィールドバスシステムにおいては、コントローラ１１と複数のフィールド機器１２とがフィールドバス１３を介して接続されている。
【００１７】
［制御プログラム作成装置の概略動作］
図３は制御プログラム作成装置１の動作を示すフローチャートである。まず、記憶部２には、フィールド機器およびコントローラの機能ブロックの属性データが予め記憶されている。属性データとしては、制御対象の設備との関連付けのためにつけられた、システム全体で固有の識別子であるセグメントＩＤと、制御ループの識別子であるループＩＤと、機能ブロックの識別子であるブロックＩＤと、機能ブロックのアルゴリズムを表すブロックタイプと、ブロック名称などがある。
【００１８】
ブロックタイプとしては、例えばＡＩ、ＰＩＤ、ＡＯ、ＣＳ（Control Selector）、ＭＬ（Manual Loader）、ＢＧ（Bias/Gain）、ＳＣ（Signal Characterizer）などがある。このようなブロックタイプを設定することで、機能ブロックのアルゴリズムが選択されたことになり、また、設定可能なポートタイプ（パラメータのタイプ）が選択されたことになる。
【００１９】
コントローラ１１の機能ブロックの属性データは、ユーザによる入力部５の操作に応じて機能ブロック定義部７が予め作成する。フィールド機器１２の機能ブロックの属性データは、機能ブロック定義部７で作成してもよいし、フィールド機器用の制御プログラム作成装置であるＦＢエディタ（不図示）で予め作成してもよい。つまり、フィールド機器１２の機能ブロックは、制御プログラム作成装置１と同じアプリケーションで作成してもよいし、別のアプリケーションで作成してもよい。
【００２０】
次に、制御ループ概要定義部３は、ユーザによる入力部５の操作に応じて、定義用オブジェクトと定義用オブジェクト間の接続関係とを定義して制御ループの概要を定義する（図３ステップＳ１）。制御ループ概要定義部３で定義された制御ループのデータは、記憶部２に格納される。
【００２１】
ここで、定義される制御ループは、図４に示すように、例えばＰＩＤ制御ループのアルゴリズムを定義したものであり、アナログ入力（ＡＩ）の定義用オブジェクト１０１−ＡＩとＰＩＤ演算を行う定義用オブジェクト１０１−ＰＩＤとアナログ出力（ＡＯ）を行う定義用オブジェクト１０１−ＡＯとを含む。各定義用オブジェクト１０１の入出力端子にかかるパラメータを示すポート１０２はリンク１０３によって接続され、定義用オブジェクト１０１のパラメータの接続関係が定義されている。図４の例では、例えば定義用オブジェクト１０１−ＡＩのＯＵＴパラメータと定義用オブジェクト１０１−ＰＩＤのＩＮパラメータが接続されている。
【００２２】
続いて、制御ループ確定部４は、制御ループ概要定義部３が作成した制御ループのデータを記憶部２から読み込み、図５に示すように制御ループを表示部６の画面の制御ループ定義ウィンドウ上に表示する（ステップＳ２）。図５において、６０は表示部６の画面、６１は第１のウィンドウである制御ループ定義ウィンドウ、６２は制御ループ定義ウィンドウ６１上の定義用オブジェクトが選択されることによって呼び出される第２のウィンドウであるプロパティ定義ウィンドウ（ダイアログ）である。
【００２３】
制御ループ確定部４は、表示された制御ループの特定の定義用オブジェクトをユーザが選択すると（ステップＳ３においてＹＥＳ）、この定義用オブジェクトに割り付けが可能なフィールド機器の機能ブロックのみを選択的に提示するプロパティ定義ウィンドウ６２を、表示部６の画面６０に表示する（ステップＳ４）。
【００２４】
そして、制御ループ確定部４は、プロパティ定義ウィンドウ６２上でユーザが機能ブロックを選択すると（ステップＳ５においてＹＥＳ）、この選択された機能ブロックをステップＳ３で選択された定義用オブジェクトに割り付ける（ステップＳ６）。
【００２５】
図５の例では、定義用オブジェクト１０１−ＰＩＤが選択され、この定義用オブジェクト１０１−ＰＩＤに割り付けが可能な機能ブロックのみを選択的に提示するプロパティ定義ウィンドウ６２が表示されている。このプロパティ定義ウィンドウ６２上で、フィールド機器の名称が「ＤＳＴ＿２１」で機能ブロックの名称が「ＰＩＤ」の機能ブロックが選択された結果、この機能ブロックが定義用オブジェクト１０１−ＰＩＤに割り付けされている。
【００２６】
制御ループ確定部４は、このような定義用オブジェクトに対する機能ブロックの割り付けを未処理の定義用オブジェクト１０１がなくなるまで（ステップＳ７においてＮＯ）繰り返し行う。
【００２７】
以上で、制御ループのデータと、制御ループの定義用オブジェクトに対する機能ブロックのブロック割り付けデータとからなる制御プログラムの作成処理が終了する。
【００２８】
［制御ループの概要定義の説明］
次に、本実施の形態の制御プログラム作成装置１についてさらに詳細に説明する。図６は制御ループ概要定義部３の構成例を示すブロック図である。制御ループ概要定義部３は、ブロック作成部３０と、ポート作成部３１と、リンク作成部３２と、プロパティ設定部３３と、ファイル作成部３４とを有する。ブロック作成部３０、ポート作成部３１、リンク作成部３２およびプロパティ設定部３３は、制御ループ定義ウィンドウ６１を表示し、また制御ループの表示を適宜更新する表示手段を構成している。
【００２９】
本実施の形態では、制御プログラム作成装置１のユーザの指示に応じて制御ループ概要定義部３が制御ループの概要を定義する。
図７は制御ループの定義時に表示部６の画面に表示される制御ループ定義ウィンドウを示す図、図８は制御ループ概要定義部３の動作を示すフローチャートである。なお、図８に示す処理フローおよび制御ループの定義の仕方は１例であって、これに限るものではない。
【００３０】
まず、制御ループ概要定義部３のブロック作成部３０は、ユーザが入力部５を操作した結果、定義用オブジェクト作成の指示を受けた場合（図８ステップＳ１１においてＹＥＳ）、制御ループ定義ウィンドウ６１上に定義用オブジェクト１０１を作成する（ステップＳ１２）。作成した定義用オブジェクト１０１は、入力部５を使って制御ループ定義ウィンドウ６１上で適宜選択、削除、移動させることが可能である。
【００３１】
ポート作成部３１は、定義用オブジェクト１０１の作成と同時に定義用オブジェクト１０１にポート１０２を自動的に作成する（ステップＳ１３）。定義用オブジェクト１０１が移動すると、それに伴ってポート１０２も自動的に移動し、定義用オブジェクト１０１が削除されると、ポート１０２も自動的に削除される。ステップＳ１２，Ｓ１３で作成された定義用オブジェクト１０１とポート１０２は、属性が設定されていない未完成の状態である。
【００３２】
プロパティ設定部３３は、ユーザが入力部５を使って制御ループ定義ウィンドウ６１上の定義用オブジェクト１０１又はポート１０２を選択した場合（ステップＳ１４においてＹＥＳ）、選択された定義用オブジェクト１０１又はポート１０２の属性を表示する（ステップＳ１５）。
【００３３】
ここで、プロパティ設定部３３は、ユーザが入力部５を使って属性情報を入力すると（ステップＳ１６においてＹＥＳ）、この属性情報を選択された定義用オブジェクト１０１又はポート１０２の属性として設定する（ステップＳ１７）。
【００３４】
定義用オブジェクト１０１の属性としては、ブロックＩＤと、ブロックタイプと、ブロック名称と、実行順などがある。ブロックタイプを設定することで、定義用オブジェクト１０１のアルゴリズムが選択されたことになり、また、設定可能なポートタイプ（パラメータのタイプ）が選択されたことになる。
【００３５】
ポート１０２の属性としては、ポートタイプがある。ポートタイプとしては、例えばＩＮ、ＯＵＴ、ＣＡＳ＿ＩＮ、ＢＫＣＡＬ＿ＩＮ、ＢＫＣＡＬ＿ＯＵＴなどがある。なお、設定可能なポートタイプは、ブロックタイプ毎に予め定められている。
【００３６】
プロパティ設定部３３は、定義用オブジェクト１０１の属性が設定された場合には、制御ループ定義ウィンドウ６１上の定義用オブジェクト１０１の近くにブロック名称を表示し、ポート１０２の属性が設定された場合には、制御ループ定義ウィンドウ６１上のポート１０２の近くにポートタイプを表示する。
【００３７】
次に、リンク作成部３２は、ユーザが入力部５を使って制御ループ定義ウィンドウ６１上でポートタイプ設定済みのポート１０２を選択し、さらにポートタイプ設定済みの別のポート１０２を選択した場合（ステップＳ１８においてＹＥＳ）、制御ループ定義ウィンドウ６１上のこれら２つのポート間にリンク１０３を作成する（ステップＳ１９）。このとき、リンク作成部３２は、設定済みのポートタイプに従ってリンク１０３の入力と出力を自動的に設定する。
【００３８】
プロパティ設定部３３は、ユーザが入力部５を使って制御ループ定義ウィンドウ６１上のリンク１０３を選択した場合（ステップＳ２０においてＹＥＳ）、選択されたリンク１０３の属性を表示する（ステップＳ２１）。
【００３９】
ここで、プロパティ設定部３３は、ユーザが入力部５を使って属性情報を入力すると（ステップＳ２２においてＹＥＳ）、この属性情報を選択されたリンク１０３の属性として設定する（ステップＳ２３）。リンク１０３の属性としては、リンクの識別子であるリンクＩＤと、実行順などがある。
【００４０】
ファイル作成部３４は、ユーザが入力部５を操作した結果、制御ループの定義ファイル作成の指示を受けた場合（ステップＳ２４においてＹＥＳ）、ステップＳ１１〜Ｓ２３の処理によって作成された制御ループの定義ファイルを作成する（ステップＳ２５）。
制御ループの定義ファイルは、セグメントループデータと、ループデータと、ブロックデータと、ポートデータと、リンクデータといった情報を含む。図９に制御ループの定義ファイルの階層構造を示す。
【００４１】
セグメントループデータは、セグメントＩＤを含む。ループデータは、ループＩＤと、ファイル名と、ファイルの更新日時といった情報を含む。
ブロックデータは、制御ループ中の各定義用オブジェクトの情報を示すものであり、定義用オブジェクト毎に生成される。ブロックデータは、ブロックＩＤと、ブロック名称と、定義用オブジェクトの実行順と、ブロックタイプと、定義用オブジェクトの座標と、定義用オブジェクトに設けられた各ポートのポートデータとを含む。ポートデータは、定義用オブジェクト上でのポート位置と、ポートタイプといった情報を含む。
【００４２】
リンクデータは、制御ループ中の各リンクの情報を示すものであり、リンク毎に生成される。リンクデータは、リンクＩＤと、入力側の定義用オブジェクトの名称と、入力側のポートタイプと、出力側の定義用オブジェクトの名称と、出力側のポートタイプと、実行順と、リンクの変曲点の座標とを含む。
ファイル作成部３４は、作成した制御ループの定義ファイルを記憶部２に格納する。こうして、制御ループ概要定義部３の処理が終了する。
【００４３】
［制御ループの確定の説明］
次に、制御ループ確定部４の動作について説明する。図１０は制御ループ確定部４の１構成例を示すブロック図である。制御ループ確定部４は、機能ブロック検索部４０と、割り付け設定部４１と、リンク追加部４２と、設定データ保存部４３とを有する。機能ブロック検索部４０は、プロパティ定義ウィンドウ６２を表示する表示手段を構成し、設定データ保存部４３は、制御プログラムを生成する出力手段を構成している。
図１１は制御ループ確定部４の動作を示すフローチャートである。なお、図１１に示す処理の順番は１例であって、これに限るものではない。
【００４４】
制御ループ確定部４の機能ブロック検索部４０は、ユーザが入力部５を使って制御ループ定義ウィンドウ６１上で所望の定義用オブジェクトを選択すると（図１１ステップＳ３１においてＹＥＳ）、この定義用オブジェクトに割り付けが可能なフィールド機器の機能ブロックを検索し（ステップＳ３２）、検索した機能ブロックのみを提示するプロパティ定義ウィンドウ６２を、表示部６の画面６０に表示する（ステップＳ３３）。このときの様子は図５に示したとおりである。
【００４５】
各フィールド機器の機能ブロックの属性データは、記憶部２に予め登録されている。機能ブロック検索部４０は、ステップＳ３１で選択された定義用オブジェクトの属性データを制御ループの定義ファイルから取得し、取得した属性データと一致する属性データを有する機能ブロックを記憶部２の中から検索する（ステップＳ３２）。
【００４６】
このとき、比較する属性データの種類は、ブロックタイプと、セグメントＩＤと、ループＩＤと、ブロックＩＤと、ブロック名称のうちいずれか一つ以上とする。また、他の定義用オブジェクトに既に割り付け済みの機能ブロックを重複して割り付けることはできない。したがって、機能ブロック検索部４０は、既に割り付け済みの機能ブロックについては、ステップＳ３１で選択された定義用オブジェクトに割り付けできないと判断し、定義用オブジェクトに割り付け可能な機能ブロックの集まりから除外する。
【００４７】
そして、機能ブロック検索部４０は、属性データの比較によって求めた機能ブロックのリストをプロパティ定義ウィンドウ６２に階層的に表示する（ステップＳ３３）。プロパティ定義ウィンドウ６２には、機能ブロックの名称と、その機能ブロックを含むフィールド機器の名称とが表示される。
【００４８】
なお、機能ブロック検索部４０は、プロパティ定義ウィンドウ６２上において、定義用オブジェクトに割り付けできない機能ブロック（すなわち、属性データが一致しないか、あるいは既に割り付け済みの機能ブロック）の表示色を変えて無効表示してもよいし、定義用オブジェクトに割り付けできない機能ブロックを非表示としてもよい。
【００４９】
また、機能ブロック検索部４０は、ユーザが定義用オブジェクトを選択した際に、ブロックタイプ、セグメントＩＤ、ループＩＤ、ブロックＩＤ、ブロック名称のうちいずれかをキーワードとして入力した場合には、ステップＳ３１で選択された定義用オブジェクトの属性データと一致する属性データを有し、かつ入力されたキーワードと一致する属性データを有する機能ブロックを検索するようにしてもよい。
【００５０】
割り付け設定部４１は、プロパティ定義ウィンドウ６２上でユーザが機能ブロックを選択すると（ステップＳ３４においてＹＥＳ）、この選択された機能ブロックをステップＳ３１で選択された定義用オブジェクトに割り付ける（ステップＳ３５）。定義用オブジェクトに対する機能ブロックの割り付けは、割り付け設定部４１がブロック割り付けデータを生成することによって実現される。ブロック割り付けデータは、フィールド機器の名称および機能ブロックのブロック名称と、定義用オブジェクトのブロック名称とを対応付けるものである。
【００５１】
割り付け設定部４１は、制御ループ定義ウィンドウ６１に表示されている定義用オブジェクトのうち割り付けが終了した定義用オブジェクトに、対応するフィールド機器の名称と機能ブロックの名称とを表示する。
図５の例では、プロパティ定義ウィンドウ６２上で、フィールド機器名が「ＤＳＴ＿２１」で機能ブロック名が「ＰＩＤ」の機能ブロックが選択された結果、この機能ブロックが定義用オブジェクト１０１−ＰＩＤに割り付けされている。
【００５２】
リンク追加部４２は、ステップＳ３５で定義用オブジェクトに割り付けされた機能ブロックのブロックタイプが所定のタイプであった場合に、所定のリンクデータを追加する（ステップＳ３６）。図１２（Ａ）、図１２（Ｂ）はリンクデータの追加の１例を機能ブロック表現で模式的に示す図である。
【００５３】
図１２（Ａ）の例は、ブロック２００と２０１とからなるＰＩＤ制御ループを示している。この例では、リンク２０２は予め設定されているが、リンク２０３は設定されていない。そこで、リンク追加部４２は、機能ブロック２００のブロックタイプと機能ブロック２０１のブロックタイプに基づいて、機能ブロック２０１のフィードバック出力ＢＫＣＡＬ＿ＯＵＴと機能ブロック２００のフィードバック入力ＢＫＣＡＬ＿ＩＮとの間のリンク２０３を追加する。
【００５４】
図１２（Ｂ）の例は、ブロック２０４と２０５とからなるカスケードＰＩＤ制御ループを示している。この例では、リンク２０６は予め設定されているが、リンク２０７は設定されていない。そこで、リンク追加部４２は、機能ブロック２０４のブロックタイプと機能ブロック２０５のブロックタイプに基づいて、機能ブロック２０５のフィードバック出力ＢＫＣＡＬ＿ＯＵＴと機能ブロック２０４のフィードバック入力ＢＫＣＡＬ＿ＩＮとの間のリンク２０７を追加する。
リンク追加部４２が追加したリンクデータは、制御ループの定義ファイルに追加される。
【００５５】
こうして、制御ループ確定部４は、ユーザの指示に応じて定義用オブジェクトに対する機能ブロックの割り付けを繰り返し行う（ステップＳ３１〜Ｓ３６）。
【００５６】
［出力手段の説明］
最後に、制御ループ確定部４の設定データ保存部４３は、制御ループの定義ファイルと、ブロック割り付けデータとからなる制御プログラムを記憶部２に保存する。保存のタイミングとしては、例えば制御ループ定義ウィンドウ６１が閉じるときや、ユーザから保存の指示があったとき等がある。
【００５７】
以上のように、本実施の形態では、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義し、この制御ループを制御ループ定義ウィンドウに表示し、制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するプロパティ定義ウィンドウを表示し、プロパティ定義ウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを選択された定義用オブジェクトに割り付けることにより、ユーザが選択すべき機能ブロックを認識しやすくなると共に、ドラッグ＆ドロップ操作を不要にすることができる。その結果、本実施の形態によれば、制御ループの定義作業におけるユーザの負担を軽減することができる。
【００５８】
また、本実施の形態では、フィールドバスシステムの構成を示す階層図と同様に、機能ブロックをプロパティ定義ウィンドウに階層的に表示するので、ユーザは、フィールドバスシステムの構成をイメージしやすくなる。
【００５９】
また、本実施の形態では、定義用オブジェクトの選択時に、属性データのうちいずれかを指定するキーワードが入力されたとき、選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつキーワードと一致する属性データを持つ機能ブロックを検索することにより、プロパティ定義ウィンドウの中から目的の機能ブロックを探す手間を更に減らすことができるので、ユーザの負担を更に軽減することができる。
【００６０】
また、本実施の形態では、定義用オブジェクトへの割り付け時に選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加することにより、制御ループの概要の定義時にリンクデータが定義されていない場合であっても、リンクデータを自動的に追加することができる。
【００６１】
なお、本実施の形態の制御プログラム作成装置は、ＣＰＵ、記憶装置および外部とのインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータにおいて、本発明の制御プログラム作成方法を実現させるためのプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリカードなどの記録媒体に記録された状態で提供される。ＣＰＵは、記録媒体から読み込んだプログラムを記憶装置に書き込み、プログラムに従って本実施の形態で説明した処理を実行する。
【００６２】
また、本実施の形態では、フィールドバスの制御設計について説明しているが、これに限るものではなく、フィールドバス分野以外にも、機能ブロックとそのパラメータ間の接続関係を定義してコンフィギュレーション作業を行う分野で、接続関係の定義が複雑、または同じパターンのデータが数多く現れる分野であれば、本発明を適用することができる。
【産業上の利用可能性】
【００６３】
本発明は、制御機器の機能ブロックを用いた制御プログラム作成技術に適用することができる。
【符号の説明】
【００６４】
１…制御プログラム作成装置、２…記憶部、３…制御ループ概要定義部、４…制御ループ確定部、５…入力部、６…表示部、７…機能ブロック定義部、３０…ブロック作成部、３１…ポート作成部、３２…リンク作成部、３３…プロパティ設定部、３４…ファイル作成部、４０…機能ブロック検索部、４１…割り付け設定部、４２…リンク追加部、４３…設定データ保存部。
【図１】
2010198562.tif 000003
【図２】
2010198562.tif 000004
【図３】
2010198562.tif 000005
【図４】
2010198562.tif 000006
【図５】
2010198562.tif 000007
【図６】
2010198562.tif 000008
【図７】
2010198562.tif 000009
【図８】
2010198562.tif 000010
【図９】
2010198562.tif 000011
【図１０】
2010198562.tif 000012
【図１１】
2010198562.tif 000013
【図１２】
2010198562.tif 000014
【図１３】
2010198562.tif 000015