(57)【要約】【課題】従来技術では「資源不足」が発生したプロジェクトや、取り扱うことのできなかったフィールド機器のエンジニアリングを可能とする、ファンクションブロック実行スケジュール資源の最適化利用機能を具備したエンジニアリング装置を実現する。【解決手段】フィールドバスシステムを構成するフィールド機器に実装される複数のファンクションブロックに対して、実行スケジューリングオブジェクトを生成するジェネレーション手段を有するエンジニアリング装置において、前記ジェネレーション手段は、フィールドバスシステムの同一セグメントに属するフィールド機器に実装された同一機能のファンクションブロックの制御周期を調査し、制御周期が同一の場合には、当該ファンクションブロックに対して１個の実行スケジューリングオブジェクトを生成する最適化処理を実行する。【選択図】　　　　　　　　　　図１
2004078572.tif 000002
【特許請求の範囲】
【請求項１】
フィールドバスシステムを構成するフィールド機器に実装される複数のファンクションブロックに対して、実行スケジューリングオブジェクトを生成するジェネレーション手段を有するエンジニアリング装置において、
前記ジェネレーション手段は、フィールドバスシステムの同一セグメントに属するフィールド機器に実装された同一機能のファンクションブロックの制御周期を調査し、制御周期が同一の場合には、当該ファンクションブロックに対して１個の実行スケジューリングオブジェクトを生成する最適化処理を実行する、エンジニアリング装置。
【請求項２】
前記ジェネレーション手段は、フィールドバスシステムの同一セグメントに属するフィールド機器に実装された同一機能のファンクションブロックの環境設定を参照し、最適化処理を実行する場合には前記制御周期の調査を実行し、最適化処理を実行しない場合には、前記セグメントのマクロサイクルを取得してマクロサイクル／制御周期を計算し、当該ファンクションブロックに対して前記マクロサイクル内の実行回数分の実行スケジューリングオブジェクトを生成する、請求項１記載のエンジニアリング装置。
【請求項３】
前記ジェネレーション手段は、フィールドバスシステムの同一セグメントに属するフィールド機器に実装された同一機能のファンクションブロックの制御周期を調査し、制御周期が同一でない場合には、マクロサイクル／制御周期を計算し、当該ファンクションブロックに対して前記マクロサイクル内の実行回数分のファンクションブロック実行スケジューリングオブジェクトを生成する、請求項１又は２記載のエンジニアリング装置。
【請求項４】
前記フィールドバスシステムのエンジニアリング装置は、分散型制御システムの制御バスに接続された汎用パソコンで実現された、請求項１乃至３のいずれかに記載されたエンジニアリング装置。
【請求項５】
前記フィールドバスシステムのエンジニアリング装置は、分散型制御システムの制御バスに接続されたフィールドバスビルダで実現された、請求項１乃至３のいずれかに記載されたエンジニアリング装置。
【請求項６】
前記フィールドバスビルダの環境設定機能の指定により、前記最適化処理を実行するか否かの切り替えを実行する、請求項５記載のエンジニアリング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フィールドバスシステムを構成するフィールド機器の各種機能を定義してダウンロードする、エンジニアリング装置に関する。
【０００２】
【従来の技術】
近年、フィールドバスを用いたプラント制御が行われている。フィールドバスを用いたプラント制御では、プラントにフィールドバスを敷設し、このフィールドバスにフィールド機器を接続し、フィールド機器が互いに通信しながらプラントの制御を実行する。また、フィールド機器は上位階層にある分散型制御システムと通信を行いながらプラントの制御を実行する。フィールドバスを用いたプラント制御では、フィールドに配置されたフィールド機器にインテリジェンスをもたせ、分散型制御システムにあった制御機能をフィールドに分散することができる。
【０００３】
フィールドバスシステムを構成するフィールド機器の各種機能は、エンジニアリング装置により定義されてデータベース化され、フィールド機器にダウンロードされて所定の制御が実行される。分散型制御システム内にフィールドバスシステムを導入する場合には、エンジニアリング装置は、分散型制御システムの上位装置である操作監視ステーションと並列に制御バスに接続される場合が多い。
【０００４】
図３は、分散型制御システム内にフィールドバスシステムを導入した場合のシステム構成を示す機能ブロック図である。１は上位の制御バス、２は制御バス１に接続された上位装置である操作監視ステーション、３は同じく制御バス１に接続されて操作監視ステーション２と通信すると共に、プロセスを制御するフィールドコントロールステーションである。
【０００５】
４はフィールドコントロールステーション３に接続された下位のＩ／Ｏバス、点線のブロック５はフィールドバスシステムであり、Ｉ／Ｏバス４を介してフィールドコントロールステーション３と通信する。
【０００６】
フィールドバスシステム５において、６はフィールドバス、７１，７２，７３，…７ｎは、このフィールドバス６に接続された複数のフィールド機器である。８はフィールドバス６とＩ／Ｏバス４を接続するインターフェイス装置である。
【０００７】
９は、上位の制御バス１に接続されたエンジニアリング装置であり、フィールドバスシステム５の各種機能を定義してデータベース化し、フィールドコントロールステーション３を経由した通信によりフィールドバスシステム５のフィールド機器にダウンロードする。
【０００８】
エンジニアリング装置９は、エンジニアリングソフトを実装した汎用のＰＣ手段で実現することができる。
【０００９】
フィールド機器における信号処理の単位はファンクションブロックであり、１個又は複数個のファンクションブロックの結合で所定の制御処理を実行する。ファンクションブロックの実行スケジュールの生成は、エンジニアリング装置のＦＢエディタ上で実行されるジェネレーション手段内で実行される。
【００１０】
図４により、ジェネレーション手段の機能を説明する。ブロック１０はエンジニアリング装置９のＦＢエディタ（ファンクションブロックエディタ）上で実行されるジェネレーション手段であり、１０１は通信経路を定義するＶＣＲ（Ｖｉｒｔｕａｌ　Ｃｏｍｍｕｎｉｃａｔｉｏｎ　Ｒｅｌａｔｉｏｎｓｈｉｐ）生成部、１０２はリンクオブジェクト生成部、１０３はセグメントのトラフィック管理を定義するＬＡＳ（Ｌｉｎｋ　Ａｃｔｉｖｅ　Ｓｃｈｅｄｕｌｅ）スケジュール生成部、１０４は本発明の対象であるファンクションブロックスケジュール生成部（ＦＢスケジュール生成部とする）、１０５はスケジューリング手段、１０６はホストファイル生成手段である。
【００１１】
ＬＡＳスケジュール生成部１０３及びＦＢスケジュール生成部１０４は、使用する資源を決定し、具体的な設定データ（通信およびブロック実行開始時刻など）は、スケジューリング手段１０５にて決定される。定義されたエンジニアリング情報は、エンジニアリングデータベース１０７に登録され、フィールドバスシステム５にダウンロードされる。
【００１２】
使用されるファンクションブロックが、いつどのようなタイミングで実行されるのかを定義するオブジェクトが「実行スケジューリングオブジェクト」である。このオブジェクトはフィールド機器に資源として実装され、決定された具体的なデータはダウンロードにより機器に設定される。
【００１３】
その具体的なデータは、ＦＢスケジュール生成部１０４のジェネレーション及びスケジューリング手段１０５にて決定される。ジェネレーションでは使用するオブジェクトを決定し、スケジューリング手段では実行開始時刻を決定する。本発明の課題は、ジェネレーションにおける使用オブジェクトの決定アルゴリズムである。
【００１４】
実行スケジューリングオブジェクトは、ファンクションブロックに対して１個もしくは複数個定義される。図５は、従来の実行スケジューリングオブジェクトの生成アルゴリズムを示すフローチャートである。
【００１５】
まずステップＳ１で当該ファンクションブロックアプリケーション（ＦＢＡＰ）の制御周期（実行周期）を取得し、ステップＳ２では、セグメントのマクロサイクルを取得する。
【００１６】
ここで制御周期とは、制御ループ（複数のファンクションブロックを用いて構成する）が１周期動作するのに必要な時間間隔である。構成する制御ループにより制御周期が異なる場合がある。マクロサイクルとは、各制御周期の最小公倍数である。マクロサイクルはセグメント（１本のフィールドバス）に共通な値であり、各フィールド機器に設定される値である。
【００１７】
ステップＳ３では、マクロサイクルとファンクションブロックの制御周期の比を取り、マクロサイクル内に何度制御が実行されるのか（実行回数）を求め、ステップＳ５でその実行回数分のファンクションブロック実行スケジューリングオブジェクトを生成する。
【００１８】
同一機器内に所属するファンクションブロックの制御周期が異なる場合は、セグメントのマクロサイクルとそれぞれの制御周期の比によってその実行回数分ファンクションブロック実行スケジュールを定義する必要があり、機器に実装されている資源（メモリ領域）を定義数分消費する。
【００１９】
例えば，マクロサイクルが１０００ｍｓｅｃ，あるファンクションブロックの制御周期が５００ｍｓｅｃであった場合には、当該ファンクションブロックに対する実行スケジュール資源は、１０００／５００＝２個必要とされる。
【００２０】
【発明が解決しようとする課題】
同一機器内に所属するファンクションブロックが同じ制御周期で動作する場合には、各ファンクションブロックに対してそれぞれ１個の実行スケジュール資源を消費するのみで良いはずである。この場合、この機器に設定されるマクロサイクルはセグメントのマクロサイクル値ではなく、ファンクションブロックが動作する制御周期となる。
【００２１】
しかしながら、従来の実行スケジュール資源の定義アルゴリズムでは、制御周期がすべて同じにも関わらず、制御周期がマクロサイクル値と異なる場合「マクロサイクル／制御周期」分の実行スケジュール資源を無駄に消費している。
【００２２】
ファンクションブロックの実行スケジュール資源に余裕のない機器を使用すると、ＦＢＡＰ構成（制御ループ構成）に基づくジェネレーション時に「資源不足」が発生する場合がある。従って、従来のエンジニアリングでは、必要最小限のファンクションブロック実行スケジュール資源しか実装されていない機器を取り扱えない場合が発生する。
【００２３】
本発明の目的は、従来技術では「資源不足」が発生したプロジェクト（セグメントのエンジニアリング単位）や、取り扱うことのできなかったフィールド機器のエンジニアリングを可能とする、ファンクションブロック実行スケジュール資源の最適化利用を実現したエンジニアリング装置の実現にある。
【００２４】
【課題を解決するための手段】
このような目的を達成するための本発明の構成は次の通りである。
（１）フィールドバスシステムを構成するフィールド機器に実装される複数のファンクションブロックに対して、実行スケジューリングオブジェクトを生成するジェネレーション手段を有するエンジニアリング装置において、
前記ジェネレーション手段は、フィールドバスシステムの同一セグメントに属するフィールド機器に実装された同一機能のファンクションブロックの制御周期を調査し、制御周期が同一の場合には、当該ファンクションブロックに対して１個の実行スケジューリングオブジェクトを生成する最適化処理を実行する、エンジニアリング装置。
【００２５】
（２）前記ジェネレーション手段は、フィールドバスシステムの同一セグメントに属するフィールド機器に実装された同一機能のファンクションブロックの環境設定を参照し、最適化処理を実行する場合には前記制御周期の調査を実行し、最適化処理を実行しない場合には、前記セグメントのマクロサイクルを取得してマクロサイクル／制御周期を計算し、期当該ファンクションブロックに対して前記マクロサイクル内の実行回数分の実行スケジューリングオブジェクトを生成する、請求項１記載のエンジニアリング装置。
【００２６】
（３）前記ジェネレーション手段は、フィールドバスシステムの同一セグメントに属するフィールド機器に実装された同一機能のファンクションブロックの制御周期を調査し、制御周期が同一でない場合には、マクロサイクル／制御周期を計算し、当該ファンクションブロックに対して前記マクロサイクル内の実行回数分の実行スケジューリングオブジェクトを生成する、請求項１又は２記載のエンジニアリング装置。
【００２７】
（４）前記フィールドバスシステムのエンジニアリング装置は、分散型制御システムの制御バスに接続された汎用パソコンで実現された、請求項１乃至３のいずれかに記載されたエンジニアリング装置。
【００２８】
（５）前記フィールドバスシステムのエンジニアリング装置は、分散型制御システムの制御バスに接続されたフィールドバスビルダで実現された、請求項１乃至３のいずれかに記載されたエンジニアリング装置。
【００２９】
（６）前記フィールドバスビルダの環境設定機能の指定により、前記最適化処理を実行するか否かの切り替えを実行する、請求項５記載のエンジニアリング装置。
【００３０】
【発明の実施の形態】
以下本発明実施態様を、図面を用いて説明する。図１は本発明を適用したエンジニアリング装置の一例を示す機能ブロック図であり、図４の従来装置で説明した要素と同一要素には同一符号を付して説明を省略する。
【００３１】
本発明の特徴部は、ジェネレーション手段１０におけるＦＢスケジュール生成部１０８の構成にある。本発明のＦＢスケジュール生成部１０８の機能は、環境設定参照部１０８ａ、ＦＢスケジュール生成アルゴリズム１０８ｂ、最適化アルゴリズム１０８ｃよりなる。
【００３２】
ＦＢスケジュール生成部１０８は、前記のようにＦＢスケジュール生成アルゴリズム及び最適化アルゴリズムの二つのアルゴリズムを有する。
まず、ＦＢスケジュール生成アルゴリズムでは、マクロサイクルはセグメントに共通とし、すべての機器に設定される。それぞれの機器に所属するファンクションブロックの実行スケジュールは、そのファンクションブロックの制御周期とマクロサイクルの比により生成する数が決定される。これは従来の生成アルゴリズムと同様である。
【００３３】
次に、最適化アルゴリズムでは、同一機器内に所属するファンクションブロックの制御周期を調査し、すべて同じ制御周期にて実行される場合は、機器に設定するマクロサイクル値をファンクションブロックの制御周期とし、実行スケジューリングオブジェクトは夫々のファンクションブロックに対して１個とする。これは本発明で導入された新アルゴリズムである。
【００３４】
同一機器内のファンクションブロックが異なる制御周期である場合は、従来の生成アルゴリズムを用いて夫々のファンクションブロック毎に実行実行スケジューリングオブジェクトが決定される。
【００３５】
ＦＢスケジュール生成アルゴリズムとして本発明の新アルゴリズムを採用するか従来のアルゴリズムを採用するかの切り替えは、アプリケーションに依存する。アプリケーションに応じて、どちらのアルゴリズムを使用するのかを環境設定機能にて選択することができる。アルゴリズム選択指定はセグメント単位でも指定可能である。
【００３６】
環境設定参照部１０８ａは、実行スケジュール生成に先立ち、ＦＢアプリケーションの環境設定機能をチェックし、本発明のアルゴリズムによる最適化処理を実行するか否かを判断する。
【００３７】
従来アルゴリズムによるジェネレーションの結果「資源不足」が発生した場合には、「最適化する」をチェックすることによりそのエラーを解消することができる。環境設定を切り替えることで容易にアプリケーションに応じたエンジニアリングを実施することができる。
【００３８】
図２は、本発明のジェネレーション手段によるＦＢスケジュール生成の動作手順を示すフローチャートである。まず、ステップＳ１で環境設定を参照し、ステップＳ２でどちらのアルゴリズム（最適化あり／なし）を採用するのかを決定する。
【００３９】
最適化処理をしない場合には、従来のアルゴリズムが採用される。まず、ステップＳ３でマクロサイクルとファンクションブロックの制御周期の比を取り、マクロサイクル内に何度制御が実行されるのか（実行回数）を求め、ステップＳ４でその実行回数分の実行スケジューリングオブジェクトを生成する。
【００４０】
ステップＳ２の判断で最適化処理をする場合には、ステップＳ５で当該ファンクションブロックがどのＦＢＡＰに属するのかで制御周期を取得し、ステップＳ６でセグメントのマクロサイクルを取得する。
【００４１】
更に、ステップＳ８で同一機器内に属するすべてのファンクションブロックの制御周期を抽出し、ステップＳ９ですべて同じ制御周期か否かを判定する。同じである場合は、ステップＳ１０でその制御周期をマクロサイクルとし、夫々のファンクションブロックに対して共通する１個の実行スケジューリングオブジェクトを生成する。
【００４２】
ステップＳ９の判断で、制御周期が異なる場合は、ステップＳ３，Ｓ４の従来アルゴリズムの処理となり、夫々の制御周期とセグメントのマクロサイクルとの比により生成する数を計算し、その数分の実行スケジューリングオブジェクトを生成する。
【００４３】
この場合、生成された実行スケジューリングオブジェクトの数がフィールド機器に設定された資源数を超える場合は、ジェネレーションエラーとなる。
【００４４】
フィールド機器のファンクションブロック実行スケジュール資源数は、ケーパビリティファイル（ＣＰ）に機器固有の設定値として記述されている。例えば，ある機器にはファンクションブロックが３個実装されており、同じくファンクションブロック実行スケジュール資源も３個実装されているものとする。
【００４５】
３個のファンクションブロックを２個用いて制御ループを作成し、いずれも制御周期を５００ｍｓｅｃとする。このときセグメントのマクロサイクルが１０００ｍｓｅｃとすると、「最適化する」場合は１個の実行スケジューリングオブジェクトを生成する。資源数は３であるからエンジニアリングエラーは発生することがない。
【００４６】
「最適化しない」場合は、それぞれ２個ずつ計４個の実行スケジューリングオブジェクトを生成する。ところが、ファンクションブロック実行スケジュール資源は全部で３個であるから、４個目の実行スケジューリングオブジェクトの生成時に資源数を超えたというエンジニアリングエラーが発生する。
【００４７】
このように、本発明によれば、同一仕様のファンクションブロック実行スケジューリングオブジェクトの重複生成を避けることができるので、資源数がすくないフィールド機器のエンジニアリングを容易とし、少ない資源数でアプリケーションの拡張性を向上させることができる。
【００４８】
以上説明した実施例では、エンジニアリング装置９は、エンジニアリングソフトを実装した汎用ＰＣを分散型制御システムの制御バス１に接続された例を示したが、フィールドバス６に直接接続することも可能である。
【００４９】
更に、操作監視ステーション２及びフィールドコントロールステーション３の表示，制御プログラム，パラメータ等を定義するビルダ機能を具備するエンジニアリングステーション（図示せず）を制御バス１に接続している分散型制御システムのシステムでは、このエンジニアリングステーションの機能の中にフィールドバスビルダの形態でエンジニアリング装置の機能を持たせることも可能である。
【００５０】
この場合、実行スケジューリングオブジェクトを生成するアルゴリズムの切り替えは、フィールドバスビルダの環境設定機能にて指定することができる。
【００５１】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次のような効果を期待することができる。
（１）ファンクションブロック実行スケジュール資源の資源不足を解消することができる。
（２）ファンクションブロック実行スケジュール資源を必要最小限実装している機器に対してもエンジニアリング可能となる。
（３）ファンクションブロック実行スケジュール資源の資源不足が解消できることから、アプリケーション（機器構成や制御ループ構成）のバリエーションをより多く提供できる。
（４）ファンクションブロック実行スケジュール生成アルゴリズム切り替え機構により、異なる二つの生成アルゴリズムを選択することができ、構築するアプリケーションに応じた適切なエンジニアリングを実現できる。
【図面の簡単な説明】
【図１】本発明によるジェネレーション手段の機能を説明する機能ブロック図である。図である。
【図２】本発明のファンクションブロック実行スケジューリングオブジェクトの生成アルゴリズムを示すフローチャートである。
【図３】分散型制御システム内にフィールドバスシステムを導入した場合のシステム構成を示す機能ブロック図である。
【図４】従来のジェネレーション手段の機能を説明する機能ブロック図である。
【図５】従来のファンクションブロック実行スケジューリングオブジェクトの生成アルゴリズムを示すフローチャートである。
【符号の説明】
１　制御バス
２　操作監視ステーション
３　フィールドコントロールステーション
４　Ｉ／Ｏバス
５　フィールドバスシステム
６　フィールドバス
７１，７２，７３，…　フィールド機器
８　インターフェイス装置
９　エンジニアリング装置
１０　ジェネレーション手段
１０８　ＦＢスケジュール生成部
１０８ａ　環境設定参照部
１０８ｂ　ＦＢスケジュール生成アルゴリズム
１０８ｃ　最適化アルゴリズム
【図１】
2004078572.tif 000003
【図２】
2004078572.tif 000004
【図３】
2004078572.tif 000005
【図４】
2004078572.tif 000006
【図５】
2004078572.tif 000007