JP2010198562A - 制御プログラム作成方法および作成装置 - Google Patents
制御プログラム作成方法および作成装置 Download PDFInfo
- Publication number
- JP2010198562A JP2010198562A JP2009045825A JP2009045825A JP2010198562A JP 2010198562 A JP2010198562 A JP 2010198562A JP 2009045825 A JP2009045825 A JP 2009045825A JP 2009045825 A JP2009045825 A JP 2009045825A JP 2010198562 A JP2010198562 A JP 2010198562A
- Authority
- JP
- Japan
- Prior art keywords
- block
- definition
- functional block
- control loop
- attribute data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】制御ループの定義作業におけるユーザの負担を軽減する。
【解決手段】制御プログラム作成装置1は、機能ブロックの属性データを予め記憶する記憶部2と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義部3と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するウィンドウを表示し、このウィンドウ上で機能ブロックが選択されたときに、機能ブロックを選択された定義用オブジェクトに割り付ける制御ループ確定部4とを備える。
【選択図】 図1
【解決手段】制御プログラム作成装置1は、機能ブロックの属性データを予め記憶する記憶部2と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義部3と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するウィンドウを表示し、このウィンドウ上で機能ブロックが選択されたときに、機能ブロックを選択された定義用オブジェクトに割り付ける制御ループ確定部4とを備える。
【選択図】 図1
Description
本発明は、制御機器の機能単位のアルゴリズムが定義された機能ブロックを用いて制御ループを定義し、制御プログラムを作成する制御プログラム作成方法および作成装置に関するものである。
従来、機能ブロックを用いた制御設計コンフィギュレーションツール(制御プログラム作成装置)では、制御プログラム作成装置の画面上に機能ブロックを置き、機能ブロック中のパラメータに相当する接続端子から、その接続相手となる接続端子に接続線(リンク)を設定して、制御系の設計を行っている。このような制御プログラム作成装置を用いた制御プログラム作成方法は、一般にDCS(Distributed Control System:分散制御システム)やPLC(Programmable Logic Controller :プログラマブル・コントローラ)のコンフィギュレーションツールで用いられている方法であるが、機能ブロックを用いるフィールドバス(Foundation Fieldbus )のエンジニアリングツールにも一般的に用いられている(例えば特許文献1参照)。
図13は従来の制御プログラム作成装置を用いた制御プログラム作成方法を説明するための図であり、制御プログラム作成装置の画面上における操作手順を示す図である。
従来の制御プログラム作成方法では、装置の画面上において、フィールド機器の機能ブロックであるフィールドバスブロックの一覧1001から制御ループの定義ウィンドウ1002へ、フィールドバスブロック1000を移動させるドラッグ&ドロップ操作によって制御プログラムを作成する。制御ロジックが複数存在する場合は、フィールドバスブロックの一覧1001から制御ループの定義ウィンドウ1002へのフィールドバスブロック1000の移動を繰り返す。図13の例では、定義ウィンドウ1002上に、アナログ入力(AI)の機能ブロック1000−AIとPID演算を行う機能ブロック1000−PIDとアナログ出力(AO)を行う機能ブロック1000−AOとがある。
従来の制御プログラム作成方法では、装置の画面上において、フィールド機器の機能ブロックであるフィールドバスブロックの一覧1001から制御ループの定義ウィンドウ1002へ、フィールドバスブロック1000を移動させるドラッグ&ドロップ操作によって制御プログラムを作成する。制御ロジックが複数存在する場合は、フィールドバスブロックの一覧1001から制御ループの定義ウィンドウ1002へのフィールドバスブロック1000の移動を繰り返す。図13の例では、定義ウィンドウ1002上に、アナログ入力(AI)の機能ブロック1000−AIとPID演算を行う機能ブロック1000−PIDとアナログ出力(AO)を行う機能ブロック1000−AOとがある。
従来の制御プログラム作成方法では、数多くのフィールドバスブロックが並ぶ一覧の中からフィールドバスブロックを適宜選択して、選択したフィールドバスブロックを制御ループの定義ウィンドウへドラッグ&ドロップする操作をユーザに強いることになる。したがって、フィールドバスブロックの一覧の中から目的のフィールドバスブロックを探す必要があり、またドラッグ&ドロップ操作を繰り返す必要があるので、ユーザの負担が大きいという問題点があった。
本発明は、上記課題を解決するためになされたもので、制御ループの定義作業におけるユーザの負担を軽減することができる制御プログラム作成方法および作成装置を提供することを目的とする。
本発明は、機器が持つ機能を機能ブロックとして捉えて機能ブロックを組合わせることにより、制御系設計を行う制御プログラム作成方法において、機能ブロックの属性データを予め記憶する記憶手段と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手順と、前記制御ループを第1のウィンドウに表示する第1の表示手順と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手順と、前記検索した機能ブロックを提示する第2のウィンドウを表示する第2の表示手順と、前記第2のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手順とを備えることを特徴とするものである。
また、本発明の制御プログラム作成方法の1構成例において、前記機能ブロック検索手順で検索に用いる属性データは、アルゴリズムを表すブロックタイプ、セグメントID、ループID、ブロックID、ブロック名称のうちいずれか一つ以上であることを特徴とするものである。
また、本発明の制御プログラム作成方法の1構成例において、前記機能ブロック検索手順は、前記属性データのうちいずれかを指定するキーワードが入力されたときに、前記選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつ前記キーワードと一致する属性データを持つ機能ブロックを検索することを特徴とするものである。
また、本発明の制御プログラム作成方法の1構成例は、さらに、前記割り付け設定手順で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加するリンク追加手順を備えることを特徴とするものである。
また、本発明の制御プログラム作成方法の1構成例において、前記機能ブロック検索手順は、前記属性データのうちいずれかを指定するキーワードが入力されたときに、前記選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつ前記キーワードと一致する属性データを持つ機能ブロックを検索することを特徴とするものである。
また、本発明の制御プログラム作成方法の1構成例は、さらに、前記割り付け設定手順で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加するリンク追加手順を備えることを特徴とするものである。
また、本発明の制御プログラム作成装置は、機能ブロックの属性データを予め記憶する記憶手段と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手段と、前記制御ループを第1のウィンドウに表示する第1の表示手段と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手段と、前記検索した機能ブロックを提示する第2のウィンドウを表示する第2の表示手段と、前記第2のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手段とを備えることを特徴とするものである。
本発明によれば、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義し、この制御ループを第1のウィンドウに表示し、制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示する第2のウィンドウを表示し、第2のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを選択された定義用オブジェクトに割り付けることにより、ユーザが選択すべき機能ブロックを認識しやすくなると共に、ドラッグ&ドロップ操作を不要にすることができる。その結果、本発明によれば、制御ループの定義作業におけるユーザの負担を軽減することができる。
また、本発明では、定義用オブジェクトの選択時に、属性データのうちいずれかを指定するキーワードが入力されたとき、選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつキーワードと一致する属性データを持つ機能ブロックを検索することにより、第2のウィンドウの中から目的の機能ブロックを探す手間を更に減らすことができるので、ユーザの負担を更に軽減することができる。
また、本発明では、割り付け設定手順で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加することにより、制御ループ概要定義手順でリンクデータが定義されていない場合であっても、リンクデータを自動的に追加することができる。
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の実施の形態に係る制御プログラム作成装置の構成を示すブロック図である。
本実施の形態の制御プログラム作成装置1は、フィールド機器およびコントローラの機能ブロックの属性データを予め記憶する記憶部2と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義部3と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するウィンドウを表示して、このウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを上記選択された定義用オブジェクトに割り付ける制御ループ確定部4と、制御プログラム作成装置のユーザが装置に対して指示を与えるための入力部5と、制御プログラム作成装置のユーザに対して情報を表示するための表示部6と、機能ブロックの属性データを定義する機能ブロック定義部7とを有する。
本実施の形態の制御プログラム作成装置1は、フィールド機器およびコントローラの機能ブロックの属性データを予め記憶する記憶部2と、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義部3と、表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するウィンドウを表示して、このウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを上記選択された定義用オブジェクトに割り付ける制御ループ確定部4と、制御プログラム作成装置のユーザが装置に対して指示を与えるための入力部5と、制御プログラム作成装置のユーザに対して情報を表示するための表示部6と、機能ブロックの属性データを定義する機能ブロック定義部7とを有する。
機能ブロックは、例えばセンサやバルブポジショナなどの実際のフィールド機器やコントローラにおける最小機能単位のアルゴリズムやパラメータを定義するものである。定義用オブジェクトは、例えばフィールド機器の製造メーカ等が異なる場合であってもアルゴリズムやパラメータが同じであれば使用できるように汎用的に定義された仮の機能ブロックであり、使用したい機能ブロックの概要を表している。この定義用オブジェクトでは、フィールド機器やコントローラの機能ブロックの属性データのうち、一部の属性データが定義されている。
本実施の形態の制御設計の対象となるフィールドバスシステムの1例を図2に示す。フィールドバスシステムにおいては、コントローラ11と複数のフィールド機器12とがフィールドバス13を介して接続されている。
[制御プログラム作成装置の概略動作]
図3は制御プログラム作成装置1の動作を示すフローチャートである。まず、記憶部2には、フィールド機器およびコントローラの機能ブロックの属性データが予め記憶されている。属性データとしては、制御対象の設備との関連付けのためにつけられた、システム全体で固有の識別子であるセグメントIDと、制御ループの識別子であるループIDと、機能ブロックの識別子であるブロックIDと、機能ブロックのアルゴリズムを表すブロックタイプと、ブロック名称などがある。
図3は制御プログラム作成装置1の動作を示すフローチャートである。まず、記憶部2には、フィールド機器およびコントローラの機能ブロックの属性データが予め記憶されている。属性データとしては、制御対象の設備との関連付けのためにつけられた、システム全体で固有の識別子であるセグメントIDと、制御ループの識別子であるループIDと、機能ブロックの識別子であるブロックIDと、機能ブロックのアルゴリズムを表すブロックタイプと、ブロック名称などがある。
ブロックタイプとしては、例えばAI、PID、AO、CS(Control Selector)、ML(Manual Loader)、BG(Bias/Gain)、SC(Signal Characterizer)などがある。このようなブロックタイプを設定することで、機能ブロックのアルゴリズムが選択されたことになり、また、設定可能なポートタイプ(パラメータのタイプ)が選択されたことになる。
コントローラ11の機能ブロックの属性データは、ユーザによる入力部5の操作に応じて機能ブロック定義部7が予め作成する。フィールド機器12の機能ブロックの属性データは、機能ブロック定義部7で作成してもよいし、フィールド機器用の制御プログラム作成装置であるFBエディタ(不図示)で予め作成してもよい。つまり、フィールド機器12の機能ブロックは、制御プログラム作成装置1と同じアプリケーションで作成してもよいし、別のアプリケーションで作成してもよい。
次に、制御ループ概要定義部3は、ユーザによる入力部5の操作に応じて、定義用オブジェクトと定義用オブジェクト間の接続関係とを定義して制御ループの概要を定義する(図3ステップS1)。制御ループ概要定義部3で定義された制御ループのデータは、記憶部2に格納される。
ここで、定義される制御ループは、図4に示すように、例えばPID制御ループのアルゴリズムを定義したものであり、アナログ入力(AI)の定義用オブジェクト101−AIとPID演算を行う定義用オブジェクト101−PIDとアナログ出力(AO)を行う定義用オブジェクト101−AOとを含む。各定義用オブジェクト101の入出力端子にかかるパラメータを示すポート102はリンク103によって接続され、定義用オブジェクト101のパラメータの接続関係が定義されている。図4の例では、例えば定義用オブジェクト101−AIのOUTパラメータと定義用オブジェクト101−PIDのINパラメータが接続されている。
続いて、制御ループ確定部4は、制御ループ概要定義部3が作成した制御ループのデータを記憶部2から読み込み、図5に示すように制御ループを表示部6の画面の制御ループ定義ウィンドウ上に表示する(ステップS2)。図5において、60は表示部6の画面、61は第1のウィンドウである制御ループ定義ウィンドウ、62は制御ループ定義ウィンドウ61上の定義用オブジェクトが選択されることによって呼び出される第2のウィンドウであるプロパティ定義ウィンドウ(ダイアログ)である。
制御ループ確定部4は、表示された制御ループの特定の定義用オブジェクトをユーザが選択すると(ステップS3においてYES)、この定義用オブジェクトに割り付けが可能なフィールド機器の機能ブロックのみを選択的に提示するプロパティ定義ウィンドウ62を、表示部6の画面60に表示する(ステップS4)。
そして、制御ループ確定部4は、プロパティ定義ウィンドウ62上でユーザが機能ブロックを選択すると(ステップS5においてYES)、この選択された機能ブロックをステップS3で選択された定義用オブジェクトに割り付ける(ステップS6)。
図5の例では、定義用オブジェクト101−PIDが選択され、この定義用オブジェクト101−PIDに割り付けが可能な機能ブロックのみを選択的に提示するプロパティ定義ウィンドウ62が表示されている。このプロパティ定義ウィンドウ62上で、フィールド機器の名称が「DST_21」で機能ブロックの名称が「PID」の機能ブロックが選択された結果、この機能ブロックが定義用オブジェクト101−PIDに割り付けされている。
制御ループ確定部4は、このような定義用オブジェクトに対する機能ブロックの割り付けを未処理の定義用オブジェクト101がなくなるまで(ステップS7においてNO)繰り返し行う。
以上で、制御ループのデータと、制御ループの定義用オブジェクトに対する機能ブロックのブロック割り付けデータとからなる制御プログラムの作成処理が終了する。
[制御ループの概要定義の説明]
次に、本実施の形態の制御プログラム作成装置1についてさらに詳細に説明する。図6は制御ループ概要定義部3の構成例を示すブロック図である。制御ループ概要定義部3は、ブロック作成部30と、ポート作成部31と、リンク作成部32と、プロパティ設定部33と、ファイル作成部34とを有する。ブロック作成部30、ポート作成部31、リンク作成部32およびプロパティ設定部33は、制御ループ定義ウィンドウ61を表示し、また制御ループの表示を適宜更新する表示手段を構成している。
次に、本実施の形態の制御プログラム作成装置1についてさらに詳細に説明する。図6は制御ループ概要定義部3の構成例を示すブロック図である。制御ループ概要定義部3は、ブロック作成部30と、ポート作成部31と、リンク作成部32と、プロパティ設定部33と、ファイル作成部34とを有する。ブロック作成部30、ポート作成部31、リンク作成部32およびプロパティ設定部33は、制御ループ定義ウィンドウ61を表示し、また制御ループの表示を適宜更新する表示手段を構成している。
本実施の形態では、制御プログラム作成装置1のユーザの指示に応じて制御ループ概要定義部3が制御ループの概要を定義する。
図7は制御ループの定義時に表示部6の画面に表示される制御ループ定義ウィンドウを示す図、図8は制御ループ概要定義部3の動作を示すフローチャートである。なお、図8に示す処理フローおよび制御ループの定義の仕方は1例であって、これに限るものではない。
図7は制御ループの定義時に表示部6の画面に表示される制御ループ定義ウィンドウを示す図、図8は制御ループ概要定義部3の動作を示すフローチャートである。なお、図8に示す処理フローおよび制御ループの定義の仕方は1例であって、これに限るものではない。
まず、制御ループ概要定義部3のブロック作成部30は、ユーザが入力部5を操作した結果、定義用オブジェクト作成の指示を受けた場合(図8ステップS11においてYES)、制御ループ定義ウィンドウ61上に定義用オブジェクト101を作成する(ステップS12)。作成した定義用オブジェクト101は、入力部5を使って制御ループ定義ウィンドウ61上で適宜選択、削除、移動させることが可能である。
ポート作成部31は、定義用オブジェクト101の作成と同時に定義用オブジェクト101にポート102を自動的に作成する(ステップS13)。定義用オブジェクト101が移動すると、それに伴ってポート102も自動的に移動し、定義用オブジェクト101が削除されると、ポート102も自動的に削除される。ステップS12,S13で作成された定義用オブジェクト101とポート102は、属性が設定されていない未完成の状態である。
プロパティ設定部33は、ユーザが入力部5を使って制御ループ定義ウィンドウ61上の定義用オブジェクト101又はポート102を選択した場合(ステップS14においてYES)、選択された定義用オブジェクト101又はポート102の属性を表示する(ステップS15)。
ここで、プロパティ設定部33は、ユーザが入力部5を使って属性情報を入力すると(ステップS16においてYES)、この属性情報を選択された定義用オブジェクト101又はポート102の属性として設定する(ステップS17)。
定義用オブジェクト101の属性としては、ブロックIDと、ブロックタイプと、ブロック名称と、実行順などがある。ブロックタイプを設定することで、定義用オブジェクト101のアルゴリズムが選択されたことになり、また、設定可能なポートタイプ(パラメータのタイプ)が選択されたことになる。
ポート102の属性としては、ポートタイプがある。ポートタイプとしては、例えばIN、OUT、CAS_IN、BKCAL_IN、BKCAL_OUTなどがある。なお、設定可能なポートタイプは、ブロックタイプ毎に予め定められている。
プロパティ設定部33は、定義用オブジェクト101の属性が設定された場合には、制御ループ定義ウィンドウ61上の定義用オブジェクト101の近くにブロック名称を表示し、ポート102の属性が設定された場合には、制御ループ定義ウィンドウ61上のポート102の近くにポートタイプを表示する。
次に、リンク作成部32は、ユーザが入力部5を使って制御ループ定義ウィンドウ61上でポートタイプ設定済みのポート102を選択し、さらにポートタイプ設定済みの別のポート102を選択した場合(ステップS18においてYES)、制御ループ定義ウィンドウ61上のこれら2つのポート間にリンク103を作成する(ステップS19)。このとき、リンク作成部32は、設定済みのポートタイプに従ってリンク103の入力と出力を自動的に設定する。
プロパティ設定部33は、ユーザが入力部5を使って制御ループ定義ウィンドウ61上のリンク103を選択した場合(ステップS20においてYES)、選択されたリンク103の属性を表示する(ステップS21)。
ここで、プロパティ設定部33は、ユーザが入力部5を使って属性情報を入力すると(ステップS22においてYES)、この属性情報を選択されたリンク103の属性として設定する(ステップS23)。リンク103の属性としては、リンクの識別子であるリンクIDと、実行順などがある。
ファイル作成部34は、ユーザが入力部5を操作した結果、制御ループの定義ファイル作成の指示を受けた場合(ステップS24においてYES)、ステップS11〜S23の処理によって作成された制御ループの定義ファイルを作成する(ステップS25)。
制御ループの定義ファイルは、セグメントループデータと、ループデータと、ブロックデータと、ポートデータと、リンクデータといった情報を含む。図9に制御ループの定義ファイルの階層構造を示す。
制御ループの定義ファイルは、セグメントループデータと、ループデータと、ブロックデータと、ポートデータと、リンクデータといった情報を含む。図9に制御ループの定義ファイルの階層構造を示す。
セグメントループデータは、セグメントIDを含む。ループデータは、ループIDと、ファイル名と、ファイルの更新日時といった情報を含む。
ブロックデータは、制御ループ中の各定義用オブジェクトの情報を示すものであり、定義用オブジェクト毎に生成される。ブロックデータは、ブロックIDと、ブロック名称と、定義用オブジェクトの実行順と、ブロックタイプと、定義用オブジェクトの座標と、定義用オブジェクトに設けられた各ポートのポートデータとを含む。ポートデータは、定義用オブジェクト上でのポート位置と、ポートタイプといった情報を含む。
ブロックデータは、制御ループ中の各定義用オブジェクトの情報を示すものであり、定義用オブジェクト毎に生成される。ブロックデータは、ブロックIDと、ブロック名称と、定義用オブジェクトの実行順と、ブロックタイプと、定義用オブジェクトの座標と、定義用オブジェクトに設けられた各ポートのポートデータとを含む。ポートデータは、定義用オブジェクト上でのポート位置と、ポートタイプといった情報を含む。
リンクデータは、制御ループ中の各リンクの情報を示すものであり、リンク毎に生成される。リンクデータは、リンクIDと、入力側の定義用オブジェクトの名称と、入力側のポートタイプと、出力側の定義用オブジェクトの名称と、出力側のポートタイプと、実行順と、リンクの変曲点の座標とを含む。
ファイル作成部34は、作成した制御ループの定義ファイルを記憶部2に格納する。こうして、制御ループ概要定義部3の処理が終了する。
ファイル作成部34は、作成した制御ループの定義ファイルを記憶部2に格納する。こうして、制御ループ概要定義部3の処理が終了する。
[制御ループの確定の説明]
次に、制御ループ確定部4の動作について説明する。図10は制御ループ確定部4の1構成例を示すブロック図である。制御ループ確定部4は、機能ブロック検索部40と、割り付け設定部41と、リンク追加部42と、設定データ保存部43とを有する。機能ブロック検索部40は、プロパティ定義ウィンドウ62を表示する表示手段を構成し、設定データ保存部43は、制御プログラムを生成する出力手段を構成している。
図11は制御ループ確定部4の動作を示すフローチャートである。なお、図11に示す処理の順番は1例であって、これに限るものではない。
次に、制御ループ確定部4の動作について説明する。図10は制御ループ確定部4の1構成例を示すブロック図である。制御ループ確定部4は、機能ブロック検索部40と、割り付け設定部41と、リンク追加部42と、設定データ保存部43とを有する。機能ブロック検索部40は、プロパティ定義ウィンドウ62を表示する表示手段を構成し、設定データ保存部43は、制御プログラムを生成する出力手段を構成している。
図11は制御ループ確定部4の動作を示すフローチャートである。なお、図11に示す処理の順番は1例であって、これに限るものではない。
制御ループ確定部4の機能ブロック検索部40は、ユーザが入力部5を使って制御ループ定義ウィンドウ61上で所望の定義用オブジェクトを選択すると(図11ステップS31においてYES)、この定義用オブジェクトに割り付けが可能なフィールド機器の機能ブロックを検索し(ステップS32)、検索した機能ブロックのみを提示するプロパティ定義ウィンドウ62を、表示部6の画面60に表示する(ステップS33)。このときの様子は図5に示したとおりである。
各フィールド機器の機能ブロックの属性データは、記憶部2に予め登録されている。機能ブロック検索部40は、ステップS31で選択された定義用オブジェクトの属性データを制御ループの定義ファイルから取得し、取得した属性データと一致する属性データを有する機能ブロックを記憶部2の中から検索する(ステップS32)。
このとき、比較する属性データの種類は、ブロックタイプと、セグメントIDと、ループIDと、ブロックIDと、ブロック名称のうちいずれか一つ以上とする。また、他の定義用オブジェクトに既に割り付け済みの機能ブロックを重複して割り付けることはできない。したがって、機能ブロック検索部40は、既に割り付け済みの機能ブロックについては、ステップS31で選択された定義用オブジェクトに割り付けできないと判断し、定義用オブジェクトに割り付け可能な機能ブロックの集まりから除外する。
そして、機能ブロック検索部40は、属性データの比較によって求めた機能ブロックのリストをプロパティ定義ウィンドウ62に階層的に表示する(ステップS33)。プロパティ定義ウィンドウ62には、機能ブロックの名称と、その機能ブロックを含むフィールド機器の名称とが表示される。
なお、機能ブロック検索部40は、プロパティ定義ウィンドウ62上において、定義用オブジェクトに割り付けできない機能ブロック(すなわち、属性データが一致しないか、あるいは既に割り付け済みの機能ブロック)の表示色を変えて無効表示してもよいし、定義用オブジェクトに割り付けできない機能ブロックを非表示としてもよい。
また、機能ブロック検索部40は、ユーザが定義用オブジェクトを選択した際に、ブロックタイプ、セグメントID、ループID、ブロックID、ブロック名称のうちいずれかをキーワードとして入力した場合には、ステップS31で選択された定義用オブジェクトの属性データと一致する属性データを有し、かつ入力されたキーワードと一致する属性データを有する機能ブロックを検索するようにしてもよい。
割り付け設定部41は、プロパティ定義ウィンドウ62上でユーザが機能ブロックを選択すると(ステップS34においてYES)、この選択された機能ブロックをステップS31で選択された定義用オブジェクトに割り付ける(ステップS35)。定義用オブジェクトに対する機能ブロックの割り付けは、割り付け設定部41がブロック割り付けデータを生成することによって実現される。ブロック割り付けデータは、フィールド機器の名称および機能ブロックのブロック名称と、定義用オブジェクトのブロック名称とを対応付けるものである。
割り付け設定部41は、制御ループ定義ウィンドウ61に表示されている定義用オブジェクトのうち割り付けが終了した定義用オブジェクトに、対応するフィールド機器の名称と機能ブロックの名称とを表示する。
図5の例では、プロパティ定義ウィンドウ62上で、フィールド機器名が「DST_21」で機能ブロック名が「PID」の機能ブロックが選択された結果、この機能ブロックが定義用オブジェクト101−PIDに割り付けされている。
図5の例では、プロパティ定義ウィンドウ62上で、フィールド機器名が「DST_21」で機能ブロック名が「PID」の機能ブロックが選択された結果、この機能ブロックが定義用オブジェクト101−PIDに割り付けされている。
リンク追加部42は、ステップS35で定義用オブジェクトに割り付けされた機能ブロックのブロックタイプが所定のタイプであった場合に、所定のリンクデータを追加する(ステップS36)。図12(A)、図12(B)はリンクデータの追加の1例を機能ブロック表現で模式的に示す図である。
図12(A)の例は、ブロック200と201とからなるPID制御ループを示している。この例では、リンク202は予め設定されているが、リンク203は設定されていない。そこで、リンク追加部42は、機能ブロック200のブロックタイプと機能ブロック201のブロックタイプに基づいて、機能ブロック201のフィードバック出力BKCAL_OUTと機能ブロック200のフィードバック入力BKCAL_INとの間のリンク203を追加する。
図12(B)の例は、ブロック204と205とからなるカスケードPID制御ループを示している。この例では、リンク206は予め設定されているが、リンク207は設定されていない。そこで、リンク追加部42は、機能ブロック204のブロックタイプと機能ブロック205のブロックタイプに基づいて、機能ブロック205のフィードバック出力BKCAL_OUTと機能ブロック204のフィードバック入力BKCAL_INとの間のリンク207を追加する。
リンク追加部42が追加したリンクデータは、制御ループの定義ファイルに追加される。
リンク追加部42が追加したリンクデータは、制御ループの定義ファイルに追加される。
こうして、制御ループ確定部4は、ユーザの指示に応じて定義用オブジェクトに対する機能ブロックの割り付けを繰り返し行う(ステップS31〜S36)。
[出力手段の説明]
最後に、制御ループ確定部4の設定データ保存部43は、制御ループの定義ファイルと、ブロック割り付けデータとからなる制御プログラムを記憶部2に保存する。保存のタイミングとしては、例えば制御ループ定義ウィンドウ61が閉じるときや、ユーザから保存の指示があったとき等がある。
最後に、制御ループ確定部4の設定データ保存部43は、制御ループの定義ファイルと、ブロック割り付けデータとからなる制御プログラムを記憶部2に保存する。保存のタイミングとしては、例えば制御ループ定義ウィンドウ61が閉じるときや、ユーザから保存の指示があったとき等がある。
以上のように、本実施の形態では、所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義し、この制御ループを制御ループ定義ウィンドウに表示し、制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索し、検索した機能ブロックを提示するプロパティ定義ウィンドウを表示し、プロパティ定義ウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを選択された定義用オブジェクトに割り付けることにより、ユーザが選択すべき機能ブロックを認識しやすくなると共に、ドラッグ&ドロップ操作を不要にすることができる。その結果、本実施の形態によれば、制御ループの定義作業におけるユーザの負担を軽減することができる。
また、本実施の形態では、フィールドバスシステムの構成を示す階層図と同様に、機能ブロックをプロパティ定義ウィンドウに階層的に表示するので、ユーザは、フィールドバスシステムの構成をイメージしやすくなる。
また、本実施の形態では、定義用オブジェクトの選択時に、属性データのうちいずれかを指定するキーワードが入力されたとき、選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつキーワードと一致する属性データを持つ機能ブロックを検索することにより、プロパティ定義ウィンドウの中から目的の機能ブロックを探す手間を更に減らすことができるので、ユーザの負担を更に軽減することができる。
また、本実施の形態では、定義用オブジェクトへの割り付け時に選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加することにより、制御ループの概要の定義時にリンクデータが定義されていない場合であっても、リンクデータを自動的に追加することができる。
なお、本実施の形態の制御プログラム作成装置は、CPU、記憶装置および外部とのインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このようなコンピュータにおいて、本発明の制御プログラム作成方法を実現させるためのプログラムは、フレキシブルディスク、CD−ROM、DVD−ROM、メモリカードなどの記録媒体に記録された状態で提供される。CPUは、記録媒体から読み込んだプログラムを記憶装置に書き込み、プログラムに従って本実施の形態で説明した処理を実行する。
また、本実施の形態では、フィールドバスの制御設計について説明しているが、これに限るものではなく、フィールドバス分野以外にも、機能ブロックとそのパラメータ間の接続関係を定義してコンフィギュレーション作業を行う分野で、接続関係の定義が複雑、または同じパターンのデータが数多く現れる分野であれば、本発明を適用することができる。
本発明は、制御機器の機能ブロックを用いた制御プログラム作成技術に適用することができる。
1…制御プログラム作成装置、2…記憶部、3…制御ループ概要定義部、4…制御ループ確定部、5…入力部、6…表示部、7…機能ブロック定義部、30…ブロック作成部、31…ポート作成部、32…リンク作成部、33…プロパティ設定部、34…ファイル作成部、40…機能ブロック検索部、41…割り付け設定部、42…リンク追加部、43…設定データ保存部。
Claims (8)
- 機器が持つ機能を機能ブロックとして捉えて機能ブロックを組合わせることにより、制御系設計を行う制御プログラム作成方法において、
機能ブロックの属性データを予め記憶する記憶手段と、
所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手順と、
前記制御ループを第1のウィンドウに表示する第1の表示手順と、
表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手順と、
前記検索した機能ブロックを提示する第2のウィンドウを表示する第2の表示手順と、
前記第2のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手順とを備えることを特徴とする制御プログラム作成方法。 - 請求項1記載の制御プログラム作成方法において、
前記機能ブロック検索手順で検索に用いる属性データは、アルゴリズムを表すブロックタイプ、セグメントID、ループID、ブロックID、ブロック名称のうちいずれか一つ以上であることを特徴とする制御プログラム作成方法。 - 請求項2記載の制御プログラム作成方法において、
前記機能ブロック検索手順は、前記属性データのうちいずれかを指定するキーワードが入力されたときに、前記選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつ前記キーワードと一致する属性データを持つ機能ブロックを検索することを特徴とする制御プログラム作成方法。 - 請求項1または2記載の制御プログラム作成方法において、
さらに、前記割り付け設定手順で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加するリンク追加手順を備えることを特徴とする制御プログラム作成方法。 - 機器が持つ機能を機能ブロックとして捉えて機能ブロックを組合わせることにより、制御系設計を行う制御プログラム作成装置において、
機能ブロックの属性データを予め記憶する記憶手段と、
所望の機能ブロックの概要を表す定義用オブジェクトと定義用オブジェクト間の少なくとも一部の接続関係とを定義して制御ループの概要を定義する制御ループ概要定義手段と、
前記制御ループを第1のウィンドウに表示する第1の表示手段と、
表示された制御ループの定義用オブジェクトが選択されたときに、この選択された定義用オブジェクトの属性データと一致する属性データを持つ機能ブロックを検索する機能ブロック検索手段と、
前記検索した機能ブロックを提示する第2のウィンドウを表示する第2の表示手段と、
前記第2のウィンドウ上で機能ブロックが選択されたときに、この機能ブロックを前記選択された定義用オブジェクトに割り付ける割り付け設定手段とを備えることを特徴とする制御プログラム作成装置。 - 請求項5記載の制御プログラム作成装置において、
前記機能ブロック検索手段が検索に用いる属性データは、アルゴリズムを表すブロックタイプ、セグメントID、ループID、ブロックID、ブロック名称のうちいずれか一つ以上であることを特徴とする制御プログラム作成装置。 - 請求項6記載の制御プログラム作成装置において、
前記機能ブロック検索手段は、前記属性データのうちいずれかを指定するキーワードが入力されたときに、前記選択された定義用オブジェクトの属性データと一致する属性データを持ち、かつ前記キーワードと一致する属性データを持つ機能ブロックを検索することを特徴とする制御プログラム作成装置。 - 請求項5または6記載の制御プログラム作成装置において、
さらに、前記割り付け設定手段で選択された機能ブロックのアルゴリズムが所定のタイプであった場合に、機能ブロック間を接続する所定のリンクデータを追加するリンク追加手段を備えることを特徴とする制御プログラム作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009045825A JP2010198562A (ja) | 2009-02-27 | 2009-02-27 | 制御プログラム作成方法および作成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009045825A JP2010198562A (ja) | 2009-02-27 | 2009-02-27 | 制御プログラム作成方法および作成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010198562A true JP2010198562A (ja) | 2010-09-09 |
Family
ID=42823192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009045825A Pending JP2010198562A (ja) | 2009-02-27 | 2009-02-27 | 制御プログラム作成方法および作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010198562A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182582A (ja) * | 2012-03-05 | 2013-09-12 | Azbil Corp | 制御ループ設計装置および制御ループ設計方法 |
WO2015083231A1 (ja) * | 2013-12-03 | 2015-06-11 | 三菱電機株式会社 | 制御プログラム作成支援ツールおよび制御プログラム作成支援システム |
JP2018151867A (ja) * | 2017-03-13 | 2018-09-27 | オムロン株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
JP2018530077A (ja) * | 2015-10-09 | 2018-10-11 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | 原因結果マトリックスの安全論理を検証するためのシステム及び方法 |
JP2022027966A (ja) * | 2017-03-13 | 2022-02-14 | オムロン株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
-
2009
- 2009-02-27 JP JP2009045825A patent/JP2010198562A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182582A (ja) * | 2012-03-05 | 2013-09-12 | Azbil Corp | 制御ループ設計装置および制御ループ設計方法 |
WO2015083231A1 (ja) * | 2013-12-03 | 2015-06-11 | 三菱電機株式会社 | 制御プログラム作成支援ツールおよび制御プログラム作成支援システム |
JP2018530077A (ja) * | 2015-10-09 | 2018-10-11 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | 原因結果マトリックスの安全論理を検証するためのシステム及び方法 |
US11073812B2 (en) | 2015-10-09 | 2021-07-27 | Fisher-Rosemount Systems, Inc. | System and method for creating a set of monitor and effect blocks from a cause and effect matrix |
US11709472B2 (en) | 2015-10-09 | 2023-07-25 | Fisher-Rosemount Systems, Inc. | System and method for providing interlinked user interfaces corresponding to safety logic of a process control system |
US11886159B2 (en) | 2015-10-09 | 2024-01-30 | Fisher-Rosemount Systems, Inc. | System and method for creating a set of monitor and effect blocks from a cause and effect matrix |
JP2018151867A (ja) * | 2017-03-13 | 2018-09-27 | オムロン株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
JP7005914B2 (ja) | 2017-03-13 | 2022-01-24 | オムロン株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
JP2022027966A (ja) * | 2017-03-13 | 2022-02-14 | オムロン株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
JP7287445B2 (ja) | 2017-03-13 | 2023-06-06 | オムロン株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4462449B2 (ja) | 制御システム設定装置 | |
JP4973867B2 (ja) | Plc制御プログラム開発装置及びプログラム | |
CN110249274A (zh) | 工业用控制器和工业用控制器的数据共享方法 | |
KR101700553B1 (ko) | 시스템 개발 장치, 방법 및 프로그램 | |
JP2010198562A (ja) | 制御プログラム作成方法および作成装置 | |
JP2016506559A (ja) | Hmiデバイスにおいてオブジェクトを変化させるための方法およびデバイス | |
JP5026925B2 (ja) | 制御プログラム作成装置および制御プログラム作成方法 | |
JP6761158B1 (ja) | プログラム作成装置、プログラム作成方法、及びプログラム | |
JP6370503B1 (ja) | プログラム作成装置 | |
JP5425317B2 (ja) | モーションsfcプログラム部品作成装置 | |
JP6734314B2 (ja) | 制御装置、データ作成装置、制御方法及び制御プログラム | |
JP2009230572A (ja) | 設計支援装置 | |
TWI522759B (zh) | 系統構築支援裝置、方法,及記錄媒體 | |
JP2006243841A (ja) | Plc用ツール装置 | |
CN109952573B (zh) | 系统结构创建辅助装置 | |
JP6794668B2 (ja) | プログラミング装置 | |
JP4778312B2 (ja) | データ処理装置、プログラム、エディタ装置および記録媒体 | |
JP2009176178A (ja) | Plcのグローバル変数定義方式 | |
JP2009157534A (ja) | プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置 | |
JP6845439B2 (ja) | 情報処理装置、表示制御方法及びプログラム | |
JP2008234379A (ja) | ソフトウェア生成装置ならびにソフトウェア生成方法 | |
JPH08137521A (ja) | プログラム管理方法 | |
JP4878586B2 (ja) | プログラマブル表示器用画面生成装置、そのプログラム | |
JP2022139088A (ja) | 開発支援装置、開発支援方法、及び、開発支援プログラム | |
JP2724241B2 (ja) | ブロック図部品処理機能付きプログラム自動生成装置 |