JP5291912B2 - プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法及び動的モディファイア機能ブロック - Google Patents

プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法及び動的モディファイア機能ブロック Download PDF

Info

Publication number
JP5291912B2
JP5291912B2 JP2007258847A JP2007258847A JP5291912B2 JP 5291912 B2 JP5291912 B2 JP 5291912B2 JP 2007258847 A JP2007258847 A JP 2007258847A JP 2007258847 A JP2007258847 A JP 2007258847A JP 5291912 B2 JP5291912 B2 JP 5291912B2
Authority
JP
Japan
Prior art keywords
block
functional block
function block
machine
dynamic modifier
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.)
Active
Application number
JP2007258847A
Other languages
English (en)
Other versions
JP2008090846A (ja
Inventor
ソコロバ マリナ
オスカー ジュント ラリー
ジェイ.ルイス マーティ
Original Assignee
フィッシャー−ローズマウント システムズ,インコーポレイテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by フィッシャー−ローズマウント システムズ,インコーポレイテッド filed Critical フィッシャー−ローズマウント システムズ,インコーポレイテッド
Publication of JP2008090846A publication Critical patent/JP2008090846A/ja
Application granted granted Critical
Publication of JP5291912B2 publication Critical patent/JP5291912B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13101Function block instance, only one function block exists, several instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

本発明は概して、プロセス制御システム、より具体的にはプロセス制御システムで使用される動的なモディファイア(Modifier)機能ブロックに関係する。
化学薬品の処理工程や、石油精製工程、又はその他のプロセスに使用されるようなプロセス制御システムは通常、アナログ、デジタル又はアナログ・デジタル混在バスを介して、少なくとも一つのホスト又は少なくとも一つのオペレーターワークステーションに、および一つ以上のフィールド装置に通信可能に連結される、一つ以上の集中プロセスコントローラを含んでいる。例えば、装置のコントローラ、バルブ、バルブ・ポジショナ、スイッチおよびトランスミッタ(例えば、温度、圧力および流量センサ、等)などのフィールド装置は、バルブの開閉や工程パラメータの測定など、プロセス制御システム内における機能を実行する。中央プロセスコントローラは、フィールド装置により作成されたプロセス計測情報且つ/又はフィールド装置に関するその他の情報を示す信号を受け取り、制御ルーチンを実施するためにこの情報を使用して、プロセス制御システムの動作を制御するためにフィールド装置にバス又はその他の通信回線を通して送信される制御信号を生成する。
最近のプロセス制御産業では、プロセス制御システムを構成するフィールド装置やコントローラおよびその他のエンティティ(実体)間でのデジタル制御および通信を使用する傾向にある。このようなデジタル制御および通信に移行する傾向の一部として、多くの標準デジタル並びにアナログ/デジタル混在オープン通信プロトコルが、フィールド装置およびコントローラの相互動作を図るために開発されている。例えば、HART(登録商標)、PROFIBUS(登録商標)、WORLDFIP、Device−Net、CAN(登録商標)およびFOUNDATION(登録商標) Fieldbus(以下、「Fieldbus」)などの通信プロトコルが、フィールド装置およびコントローラ間でのより高速、且つより情報豊富な通信を可能にするために現在幅広く使用されている。具体的に、前述の通信プロトコルは、制御パラメータおよびその他の制御関連情報またはデータに加えて、例えば、構成情報並びにその他のタイプの情報をフィールド装置間および、フィールド装置とコントローラ間で通信できるようにもできる。更に、これらの通信プロトコルと関連する標準を標準化してオープン形式(つまり、独自に開発したプロプライエタリではない形式)を使用することで、異なる製造メーカにより製造された装置を単一のプロセス制御システムの中に容易に統合できるようになるため、装置の交換が簡素化され、特定の用途を実施するためにより最適なフィールド装置の選択を行うことが可能になる。
前述のデジタル通信プロトコル又はアナログ/デジタル混在通信プロトコルの多くは、分散制御方式の実施を容易にする。具体的には、これらの通信プロトコルは、大抵の場合、集中型プロセスコントローラの介入を必要とせずにプロセス制御アプリケーション又は該プロセス制御アプリケーションの一部を実行するために、フィールド装置が直接お互いと相互運用できるようにする枠組み又はアーキテクチャを提供する。このような制御実行の非集中化により、プロセス制御ルーチンの設計を簡素化し、中央制御装置に関連した通信および処理にかかる間接コストを削減して、ある情報を必要とする装置により該情報が受信される速度(従って、該受信側装置が該受信した情報などに基づいてより迅速に適切な処置をとる能力)を向上させることができる。
分散制御を図るデジタルおよびアナログ/デジタル混在通信プロトコルのいくつかは、一般に機能ブロックと呼ばれる基本構成ブロック又はソフトウェア構成を利用する。一般に、機能ブロックは、(例えば、プロセッサを介して)実行時に、動作の一つ以上のアルゴリズム又はシーケンスを実行する、高レベルのコンピュータ言語(例えば、C、C++等)を使用して生成されうる。(但し、必ずしも当該高レベルのコンピュータ言語を使用して生成される必要はない。)複数タイプの機能ブロックが存在し、一般に各タイプの機能ブロックがプロセス制御ルーチンの特定の一部又は一部分を実施する。一般に、機能ブロックは、プロセス制御システム内において入力、制御、出力、並びにその他の機能を実施するものであり、コントローラ、及びプロセス制御システムの全体にわたり分散されるフィールド装置の少なくとも一つの内部にダウンロードおよびインスタンス化することができる。例えば、アナログ入力(AI)機能ブロックは、工程パラメータ(例えば、温度、流動、など)を測定するように構成されたセンサ又はトランスミッタにインスタンス化されうる。また、比例・積分・微分(PID)機能ブロックは、AI機能ブロックを実行するセンサ又はトランスミッタと通信状態にありうるコントローラ内にインスタンス化されうる。更に、アナログ出力(AO)機能ブロックは、コントローラに応答し且つAI機能ブロックにより測定された一つ以上のパラメータに影響を及ぼすバルブなどの別のフィールド装置内にインスタンス化されうる。このように、異なるタイプの機能ブロックを、フィールド装置やコントローラ内にインスタンス化でき、また、プロセス制御方式の制御ループ機能及びその他所望の機能の少なくともいずれかを実行できるように、データバスやネットワーク又はその他の通信媒体を通じた通信を介して相互連結することができる。
従来から、機能ブロックは概して静的な性質のものであり、従って、いったんコントローラ又はその他のプロセス制御装置内に構成され、インスタンス化された後は、該ブロックの挙動又は該ブロックにより実行される動作を簡単に変更することができなかった。結果として、機能ブロックの動作をアップグレード、拡張、もしくは変更する場合には、通常新しい機能ブロックを作成しなければならなかった。新しい機能ブロックをプロセス制御システム内に設置して使用する際には通常、プロセス制御システム(又は少なくともそれの一部)をオフライン状態にして再構成することが必要であった。(例えば、新しい機能ブロックをコンパイルしてからコントローラや1以上のフィールド装置などにダウンロードしなければならなかった。)更に、プロセス制御アプリケーションで必要とされない、又は頻繁に使用されない、或いは一時的にのみ必要とされるような拡張機能又は能力を機能ブロックに含むことができる場合でも、一般に、あらゆる可能な拡張機能又は能力を含んでいる機能ブロックを静的にインスタンス化することは、機能ブロックを格納且つ/又はインスタンス化して実行する装置により当該の拡張機能又は能力が実際に使用されるか否か、或いは当該の拡張機能又は能力が当該装置によってどれだけ頻繁に使用されるかに関係なく、(例えば、メモリやプロセッサ利用などのシステム資源の面で)効率的ではない。
本発明は、プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法、このような修正を可能とする動的モディファイア機能ブロック、及びこのような修正が可能である機能ブロックを提供することを目的とする。
一態様によると、複数のフィールド装置を制御しうるプロセス制御システムは、動的モディファイア(Modifier)機能ブロックをインスタンス化又は削除するように構成された基礎機能ブロックなどの、実施例としての機能ブロックを含んでいる。より具体的には、機能ブロックの動作を修正変更するための実施例として挙げられる方法は、機能ブロックをメモリに格納することを含み、基礎機能ブロックに関連する少なくとも一つの修正変更可能な属性をメモリに格納することも含む。また、該実施例として挙げられる方法には、修正変更可能な属性を、動的モディファイア機能ブロックをメモリにインスタンス化する第1の値、又は、動的モディファイア機能ブロックをメモリから削除する第2の値に設定することも含まれる。加えて、該実施例として挙げられる方法には、基礎機能ブロックがコンパイルされてメモリに格納された後、修正変更可能な属性を設定することも含まれる。
別の態様によると、実施例としての機能ブロックは、プロセス制御システムで使用するために機械可読媒体に格納される。実施例として挙げられる機能ブロックは、プロセス制御システムに関連したアルゴリズムを機械に実行させる基礎機能ブロックと、少なくとも一つの動的モディファイア機能ブロックを機械に削除又はインスタンス化させる、基礎機能ブロック内にある少なくとも一つの属性とを含んでいる。動的モディファイア機能ブロックが、基礎機能ブロックの能力(機能)を変更、アップグレード、又は拡張するためのアルゴリズムを実行するように構成される。
さらに別の態様によると、実施例としての機能ブロックの動的モディファイア機能ブロックは、プロセス制御ルーチン内の機能ブロックの基礎機能ブロックを機械に修正変更させるように構成される。実施例として挙げられる動的モディファイア機能ブロックは、基礎機能ブロックの少なくとも一つの属性に基づいて、インスタンス化されるか削除される。また、機能ブロックは、基礎機能ブロックおよび動的モディファイア機能ブロック間でデータをやり取りするインターフェースをも含んでいる。
以下の説明では、実施例として挙げられる機器およびシステムが、その他の数多く存在する構成要素の中でも特にハードウェア上で実行されるソフトウェア及びファームウェアのうちの少なくともいずれかを含んだ状態で説明されているが、このようなシステムは単に本発明の実施形態の一例に過ぎず、本発明を限定するものであると見なされるべきでない。例えば、これらのハードウェア、ソフトウェアおよびファームウェア構成要素のいずれか又は全ては、ハードウェアにおいてのみ、又はソフトウェアにおいてのみ、或いはハードウェアとソフトウェアのいかなる組み合わせにおいても具体化できるものと考慮される。従って、実施例として挙げられる機器およびシステムが以下において説明されているが、通常の技術を有する当業者であれば、ここに提供される実施例がこれらの機器およびシステムを実施する唯一の手段ではないことが容易に理解できるはずである。
機能ブロックの能力又は動作を修正、強化、拡張、アップグレード、もしくは変更することができる様態に更なるフレキシビリティ(柔軟性・融通性)を提供する一つのアプローチとしては、全開示内容が参照することにより本稿に援用される米国特許第6,510,351号に記載されているものがある。この特許に記載されるように、制御を一つ以上のモディファイア機能ブロックに分岐させるためのポインタを設定できるように、基礎機能ブロック内にポインタ(例えば、メモリーのアドレス)を提供することにより、基礎又は元となる機能ブロックの動作又は能力(機能)を変更することができる。場合によって、基礎機能ブロックは、単一のモディファイア機能ブロックの異なる部分(例えば、異なるアルゴリズム又はルーチン)への分枝、及び複数の異なる機能ブロックへの分枝の少なくとも一方をもたらすために、複数のポインタを含みうる。このように、基礎機能ブロックの実行は、モディファイア機能ブロックへの分岐、そのモディファイア機能ブロックと関係する動作の実行、及びその後モディファイア機能ブロックによる基礎機能ブロックへの制御の戻りにつながりうる。特定のデータ且つ/又はパラメータが基礎機能ブロックとモディファイア機能ブロック間でやり取りされ、モディファイア機能ブロックがそれの動作を実行することを可能にする、且つ/又はモディファイア機能ブロックによって基礎機能ブロックが動作又は情報を処理する方法を変更できるようにする。
しかしながら、機能ブロックが作成される時にモディファイア機能ブロックが作成されインスタンス化されるので前述のモディファイア機能ブロックは完全に動的ではない。故に、基礎機能ブロックおよびモディファイア機能ブロックを格納するのに必要なローカルメモリーが消費される。即ち、機能ブロックを作成するには、モディファイア機能ブロックにより提供される拡張又は変更機能が使用されるか使用されないかにかかわらず、モディファイア機能ブロックを作成することが必要とされる。また、パラメータを介するインターフェースのデータ交換は、交換できるデータ量を限定し、更にデータ受渡しの繰返し数、よってその所要時間を増加させる。更に、モディファイア機能ブロックのパラメータが基礎機能ブロックのパラメータにマップされていないので、モディファイア機能ブロックは、モディファイア機能ブロックの外部に示すことができるパラメータを提供しない。
ここに記載される動的モディファイア機能ブロックは、本明細書において基礎機能ブロックと呼ばれることできる別の機能ブロックの能力を変更、アップグレード、拡張するのに使用できる。また、本明細書に記載される動的モディファイア機能ブロックの場合、ユーザは、動的モディファイア機能ブロックに関連したアルゴリズムを実行し、更にローカルメモリーから動的モディファイア機能ブロックおよび動的モディファイア機能ブロックに関連するデータをインスタンス化および削除する能力を得ることができる。よって、周知のモディファイア機能ブロックとは対照的に、ここに記載される動的モディファイア機能ブロックは、実行時中(例えば、プロセス制御システムがオンライン又は稼動中)、且つ/又はダウンロード時など実行時前のいかなる時点においてもインスタンス化することができる。また、動的モディファイア機能ブロックは、実行時中に削除することもできるし、又は実行時前にインスタンス化しないようにすることもできる。
本明細書に記載される動的モディファイア機能ブロックを使用する場合は通常、基礎機能ブロックは、基礎機能ブロックにおいて一つ以上の属性を介して動的モディファイア機能ブロックをインスタンス化且つ/又は削除する能力をユーザに提供すること以外は不変のままである。実際には、ここに記載される動的モディファイア機能ブロックによって、ユーザは、(通常プロセス制御ルーチンの作動に必要とされ、大抵の場合はプロセス制御ルーチンが実行できるようにするためにインスタンス化された状態のままでなければならない)基礎機能ブロックの属性を変更することにより、基礎機能ブロックの能力又は動作を修正変更、拡張する、もしくは変更できるようになる。ここに記載されるような動的モディファイア機能ブロックを簡単に追加且つ/又は削除する能力は、プロセス制御システム用に高度な制御能力を開発できる速度(rate)を著しく増加させるのに役立つ。更に、ユーザは、単に基礎機能ブロックに間接コスト(オーバーヘッド)を追加して、1以上の動的モディファイア機能ブロックにより提供される機能特性を使用する特定のアプリケーションをユーザが持っている場合に、ローカルの装置メモリを使用するだけでよい。即ち、ユーザ又はオペレータは、動的モディファイア機能ブロックにより提供される追加機能性が必要とされない時に、動的モディファイア機能ブロックをインスタンス化しない、又は既にインスタンス化された動的モディファイア機能ブロックを削除することによって、システムの間接コスト(オーバーヘッド)を削減することができる。
図1は、本明細書に記載される動的モディファイア機能ブロック機器および方法を使用する実施例として挙げられるプロセス制御システム10のブロック図である。図1に示されるように、プロセス制御システム10は、コントローラ12、オペレータステーション14、アクティブアプリケーション・ステーション16およびスタンバイアプリケーション・ステーション18を含んでおり、これら全ては一般にアプリケーション制御ネットワーク(ACN)と呼ばれるバス又はローカルエリアネットワーク(LAN)20を介して通信可能に連結されうる。オペレータステーション14およびアプリケーションステーション16は、一つ以上のワークステーション又はその他の適切なコンピュータ・システム又は処理装置を使用して実施されうる。例えば、シングルプロセッサのパーソナルコンピュータ、シングル又はマルチプロセッサのワークステーションなどを使用して、アプリケーションステーション16を実施することが可能である。また、LAN20は所望のあらゆる通信メディアおよびプロトコルを使用して実施されうる。例えば、LAN20は、ハードワイヤード(有線)又はワイヤレスEthernet(登録商標)通信方式に基づくものでもよい。これについては周知の方式であるため、ここで更に詳しく説明しない。しかしながら、通常の技術を有する当業者には、その他の適切な通信媒体およびプロトコルを使用しうることが容易に理解できるはずである。更に、図中LANが一つだけ設けられた状態で示されているが、一つ以上のLANとアプリケーションステーション16内の適切な通信系ハードウェアを使用してアプリケーションステーション16およびコントローラ12間の冗長通信経路を提供するようにしてもよい。
コントローラ12は、データバス28および入出力(I/O)装置30を介して、複数のスマート・フィールド装置22、24および26に連結されうる。I/O装置30は、コントローラ12およびデータバス28に連結されたその他の装置(例えば、スマート・フィールド装置22〜26、など)のインターフェースを一つ以上提供し、当該インターフェースによって送受信された信号とまとめて通信する。例えば、I/O装置30は、外部メモリインターフェースやシリアルポート又は汎用入出力などの任意のタイプの既存する又は将来的な標準インターフェース、或いはモデムやネットワーク・インターフェースカードなどの任意のタイプの既存する又は将来的な通信装置などにより実施されうる。データバス28は、例えば、(複式接続、ビット直列接続、並列/ビット直列混合接続、交換ハブ接続による)並列電気母線(バス)、マルチドロップ回線トポロジ、ディジーチェーン・トポロジなどの、論理的通信に機能性を提供するいかなる物理的構成でありうる。
スマート・フィールド装置22〜26は、Fieldbus適合のバルブ、アクチュエータ、センサなどでありえ、この場合スマート・フィールド装置22〜26は周知のFieldbusプロトコルを使用して、データバス28を介して通信する。もちろん、その他のタイプのスマート・フィールド装置および通信プロトコルをその代りに使用してもよい。例えば、その代りに、スマート・フィールド装置22〜26は、周知のProfibus(登録商標)およびHART(登録商標)通信プロトコルによりデータバス28を介して通信する、Profibus(登録商標)又はHART(登録商標)に適合する装置でありえる。Fieldbus(登録商標)装置、HART装置(登録商標)などでありうるスマート・フィールド装置のグループを追加してコントローラ12と通信することを可能にするために、I/O装置(I/O装置30に類似するか又は同一のものである)を追加してコントローラ12に連結しうる。
コントローラ12内に設けられる集中型プロセス制御ルーチンは、実施例として挙げられるプロセス制御システム10の任意の所望の制御を実施するために、フィールド装置22〜26から入力を受け取り、制御ルーチンに関連した計算およびその他の作業を実行して、I/O装置30を介してフィールド装置22〜26に命令を送信する。一般に、集中型プロセス制御ルーチンは、機能ブロックを使用して、制御ルーチンに関連した計算およびその他の作業を実行する。但し、プロセス制御ネットワーク10の非集中プロセス制御部分(つまり、図1においてバス28に関連した部分)は、コントローラ12により実行されている制御と共に、又はその代わりに非集中的な方法でそれ自身のプロセス制御ルーチンを実施しうる。このように、コントローラ12が、バス28に接続された装置22〜26とインターフェース接続し且つ該装置22〜26に対するいくつかの制御を実行しうる一方、これらの装置は分散制御を実施するためにも制御機能又は機能ブロックを格納し実行しうる。
本明細書に記載される動的モディファイア機能ブロックは、I/O装置30において、図1のフィールド装置22〜26の任意のものにおいて、又はプロセス制御システム10内のその他の装置において、任意の機能ブロック又はコントローラ12に設けられるその他の機能要素の能力又は動作を修正変更、拡張、もしくは変更するために使用されうる。従って、動的モディファイア機能ブロックは、本明細書においてFieldbusプロトコルで実施されるように記載されているが、その代わりに、任意のコントローラに関連した任意のもの、或いは現在使用されている又は将来開発されるであろう通信プロトコルを含むその他の制御又は通信プロトコルでも実施されることができる。
スマート・フィールド装置22〜26に加えて、一つ以上の非スマート・フィールド装置32および34をコントローラ12に通信可能に連結しうる。非スマート・フィールド装置32および34は、例えば、各々ハードワイヤード式リンク36および38を介してコントローラ12と通信するような、従来の4−20ミリアンペア(mA)又は0−10ボルト直流(VDC)装置でありうる。
コントローラ12は、例えば、Emerson Process Management(登録商標)およびFisher−Rosemount Systems社により販売されるDeltaV(登録商標)でありうる。しかし、その他のコントローラをその代りに使用してもよい。更に、図1にはコントローラが一つだけ設けられた状態で示されているが、いかなる所望のタイプの(又はいかなる所望のタイプを組合せた)コントローラを追加してLAN20に連結することも可能である。いかなる場合も、コントローラ12は、プロセス制御システム10に関連した一つ以上のプロセス制御ルーチン(システムエンジニア又はその他のシステムオペレータによりオペレータステーション14を使用して生成され且つコントローラ12にダウンロードされインスタンス化されたもの)を実行しうる。
図2は、概して、例えば、実施例として挙げられるプロセス制御システム10を実施するために使用しうる実施例としてのシステム200、より具体的には、図1のI/O装置30、データバス28およびフィールド装置22〜26と共に実施例としてのコントローラ12により実施例としてのプロセス制御システム10を実施するために使用しうるような、システム200を描く図である。実施例としてのシステム200は、制御系(サブシステム)スケジューラ202、制御モジュール204および機能ブロック206を含んでいる。一般に、図1の実施例として挙げられるコントローラ12に含まれうる制御系スケジューラ202は、制御系スケジューラ202により制御されうるその他の制御モジュールとともに前もって定義された順序で制御モジュール204の動作又はプロセスを実行するソフトウェア・アプリケーションとして実施される。例えば、制御系スケジューラ202は、制御ループで制御モジュール204を実行しうる。別の言い方をすると、制御系スケジューラ202は、制御モジュール204に加えて複数の制御モジュール(図示せず)の動作を制御する又は統合・調整する。一般に、制御モジュールは、各々の工場内区域や設備などに関連した制御機能又は作業を実行するためにインスタンス化され実行されうる制御ルーチンを含んでいる。より具体的に、制御モジュール204は、一台以上台の物理的設備又は装置と関連し、当該設備又は装置(例えば、図2のフィールド装置22〜26)を監視且つ/又は制御するために使用されうる。
また、制御モジュール204はその他のオブジェクトおよびサブオブジェクトから成りうる。しかし、議論の目的上、以下、このようなオブジェクトおよびサブオブジェクトは、制御モジュール204に関連してのみ説明する。制御モジュール204は、制御方式内の機能を入力に基づいて実行して制御方式内のその他の機能ブロックに出力を提供するオブジェクト指向プログラミング・プロトコルにおけるオブジェクトである、通信可能に相互接続された機能ブロック206から構成される。制御モジュール204をコントローラ(例えば、図1のコントローラ12)専用に設けるようにしてもよく、場合によっては、フィールド装置(例えば、図1のフィールド装置22〜26)が制御モジュール204又はそれの一部分を格納し実行するようにしてもよい。
制御モジュール204およびその機能ブロック206は、例えば、プロセス制御サブシステム内の物理的条件且つ/又は制御条件と関連する入力変数、出力変数又はそれ同等のものなどのパラメータでありうる、一つ以上の属性と関連しうる。また、機能ブロック206の各々は一つ以上の属性と関連しうる。機能ブロック206は、以下詳細にわたり説明されるように、各々がプロセス制御システム内の一つ以上の数学関数(例えば、合計演算、乗法演算、割り算演算、など)、論理関数、論理演算表現(例えば、論理和、論理積、など)、制御関数、インターフェース、同調機能(関数)、又はその他の所望の機能(関数)を含んでいる。
機能ブロック206は、指定されたアルゴリズムおよび内部制御パラメータ一式に応じて入力パラメータを処理するその他任意のタイプの論理且つ/又はソフトウェアからなる。このように、機能ブロック206の各々は、機能ブロック206に通信可能に連結される制御モジュール204、その他の機能ブロック、又はその他のソフトウェア、プログラマブルデバイスなどで使用できる出力パラメータを生成しうる。具体的には、機能ブロック206のうちの一つについての入力パラメータは、該機能ブロック206のうち別の一つ以上の出力パラメータ、または制御サブシステムスケジューラ202および制御モジュール204の外部にあるその他の機能ブロックの出力パラメータにリンクされうる。機能ブロック206に関連したパラメータは、全体のアプリケーション・プロセス(例えば、製造ID、装置のタイプ、など)に関係しうるものであり、制御機能(例えば、PIDコントローラ、アナログ入力、など)をカプセル化し、且つ/又は、例えば温度センサ、圧力センサ、流動センサなどのセンサへのインターフェースを表わしうる。
機能ブロック206の各々は、ユーザにより割り当てられることができる独自のタグにより識別される。また、各機能ブロックのパラメータは、パラメータがプロセス制御システムの全体にわたってどのように通信されるかを定義するオブジェクトの記述により表わされる。よって、システムにおける多くのパラメータは、それらのタグ(つまりパラメータに関連した機能ブロックのタグ)およびパラメータ名への参照により一意に識別される。実行時中、機能ブロックが対応する入力値を使用して実行された後、その出力(つまり出力値)は更新されてから他の機能ブロック206且つ/又はこれらの出力を読込む(例えば、これらの出力へのアクセスを得る、又はこれらの出力に相互関連(バインド)する)プロセス制御システムのその他の装置に一斉同時送信(broadcast)される。機能ブロック206は、同一のフィールド装置内且つ/又はプロセス制御システムの異なる装置に存在しうる。
一般に、周知の技術を使用して機能ブロック206の任意のアルゴリズムへの修正変更又は変更を行う場合、実施例として挙げられるシステム200に対して、例えば、制御サブシステムスケジューラ202を停止し、これにより次いで、制御モジュール204および制御サブシステムスケジューラ202により呼び出される又は発動されるその他の制御モジュールへの呼出しが中断されることが必要となりうる。ユーザはその後、一つ以上の機能ブロック206のアルゴリズムを変更するために機能ブロック206の一つ以上を各々修正変更できるようになる。しかし、本明細書に記載される動的モディファイア機能ブロックでは、ユーザが実行時中に、一つ以上の機能ブロック206の能力又は動作を修正変更、拡張、もしくは変更するためにアルゴリズムを作成することができ、かつ1以上の動的モディファイア機能ブロックのアルゴリズムをインスタンス化することができる。従って、本明細書に記載される動的モディファイア機能ブロックは、制御サブシステムスケジューラ202を中断せずにシステム200を更新又は修正変更することを可能にする。結果として、制御モジュール204、および制御サブシステムスケジューラ202により呼び出されるその他の制御モジュールへの呼出しを中断しなくてすむようになる。従って、実施例として挙げられるシステム200への修正変更には従来フィールド装置且つ/又はプロセス制御システムの稼動を停止又はその他類似した方法による中途終了が必要とされたが、ここに記載される動的モディファイア機能ブロックは、そのような中断停止を必要とせずに実施例としての200への修正変更を可能にする。従って、ここに記載される動的モディファイア機能ブロックは、プロセス制御システムの能力又は動作への修正変更、拡張機能又はその他の変更を可能にすると同時に、前記のような著しい生産コストおよび時間の消耗につながりうる稼動の停止又はその他類似した方法による中途終了を防止する。
図3は、実施例として挙げられる機能ブロック定義302、実施例として挙げられる基礎機能ブロック304、実施例として挙げられるモディファイア機能ブロック306、および実施例として挙げられる動的モディファイア機能ブロック308および309を含む、実施例として挙げられる機能ブロック300を示す図である。実施例としての機能ブロック定義302は、実施例としての機能ブロック300を作成するために定義および属性を提供し、特に、実施例としての基礎機能ブロック304、実施例としてのモディファイア機能ブロック306、および実施例としての動的モディファイア機能ブロック308および309にそのデータを割り当てる。図4を参照して以下詳細に説明されるように、実施例として挙げられる機能ブロック定義302は、メモリおよび索引(インデックス)オブジェクト(例えば、実施例としての基礎機能ブロック304、実施例としてのモディファイア機能ブロック306、および実施例としての動的モディファイア機能ブロック308および309)を割り当てるために、ダウンロード時(例えば、フィールド装置にダウンロードされる時)に作成される。図示される如く、実施例として挙げられる機能ブロック定義302は、実施例として挙げられる基礎機能ブロック304および実施例として挙げられるモディファイア機能ブロック306の実行を可能にする定義およびオブジェクト・データ(例えば、アルゴリズムおよびデータ・ブロック)をインスタンス化するために作成される。また、実施例として挙げられる機能ブロック定義302は、動的モディファイア機能ブロック308および309のための定義をインスタンス化するためにダウンロード時作成されるが、作成されるのは実施例として挙げられる動的モディファイア機能ブロック308の実行を可能にするオブジェクト・データ(例えば、アルゴリズムおよびデータ・ブロック)のみで、動的モディファイア機能ブロック309のためのデータ・ブロックは含まれない。
理解されるように、モディファイア機能ブロック306は、基礎機能ブロック304の能力を変更、アップグレード、又は拡張するのに使用されうる。基礎機能ブロック304は、フィールド装置やコントローラなど中に含まれるプロセッサにより実行される一組(セット)以上の名声を有するソフトウェア・ルーチン又はアルゴリズムを含んでいる。また、基礎機能ブロック304は、基礎機能ブロック304に関連したアルゴリズムに提供されたデータを入力するか、又はアルゴリズムにより生成されたデータを出力する、ローカルメモリーに格納された一つ以上のデータ・ブロックを含んでいる。更に、基礎機能ブロック304は、ローカルメモリーに格納された一連の命令およびデータから構成されるアルゴリズムを有するモディファイア機能ブロック306により提供される、拡張能力のいくつかを条件付きで実施するのに使用される分岐点310を含んでいる。
一般に、分岐点310は、機能ブロック300が作成された時点で基礎機能ブロック304において作成され、基礎機能ブロック304がコンパイルされた後に更新されうる。分岐点310の内容は、モディファイア機能ブロック306上のアルゴリズムのエントリー点312へのポインタ、又は基礎機能ブロック304上のアルゴリズムの次のコード行へのポインタを含むように設定される。従って、ユーザは、モディファイア機能ブロック306に関連した一つ以上のアルゴリズムの実行を有効/無効に設定し、それによって基礎機能ブロック304の能力を変更、アップグレード、又は拡張するために、ポインタの値を変更することができる。分岐点310でのポインタは、メモリ内のモディファイア機能ブロック306のアドレス、モディファイア機能ブロック306のアルゴリズムの何らかの部分のアドレス、モディファイア機能ブロック306の名称又はその他の識別子を示すアドレスでありえ、或いは、モディファイア機能ブロック306へ制御を受け渡すために使用されるその他の操作ハンドル又は分枝装置でありうる。
制御がモディファイア機能ブロック306に受け渡された時点で、特定の事前定義されたデータが、モディファイア機能ブロック306に送信され(又は利用可能になり)、そして、モディファイア機能ブロック306は、そのアルゴリズム実行中にこのデータを使用又は変更する。一般に、該データは、基礎機能ブロック304内の制御を送り返すべきところのモディファイア機能ブロック306で使用するためのパラメータ且つ/又はデータ値、且つ/又は制御を行い実行して基礎機能ブロック304に制御を送り返すためにモディファイア機能ブロック306のアルゴリズムを実行するのに必要とされるその他のデータ又は情報を含んでいる、固定された又は事前に定義されたインターフェース314によって提供されうる。
インターフェース314は、装置内のメモリの定義された部分として実施されうるし、或いは基礎機能ブロック304又はモディファイア機能ブロック306内に提供されうるし、又はその他の様態において提供されうる。モディファイア機能ブロック306が、インターフェース314を介して提供されるデータに作用するアルゴリズムを実施した後、分岐点310直後の命令であるか、或いは、何らかの様態において基礎機能ブロック304上アルゴリズムの他の何らかの位置としてインターフェース314により定義されうる、戻り命令316が、基礎機能ブロック304のアルゴリズム中の所定点に制御を戻す。戻り命令316は、GOTO又はEND LOOP命令など、任意の所望のタイプの戻り命令でありえ、且つ/又はモディファイア機能ブロック306において使用されるコードのタイプによってその他任意の形式をとりうる。また、モディファイア機能ブロック306は、モディファイア機能ブロック306に制御且つ/又はデータを送信するのに使用されるものと同じ又は異なるインターフェースでありうるインターフェース314を介して特定のデータを送り返す。
基礎機能ブロック304およびモディファイア機能ブロック306が機能ブロック300の作成時一緒に作成されるので、モディファイア機能ブロック306の機能性が使用されているか使用されていないかにかかわらず、モディファイア機能ブロック306を格納するのに必要なローカルメモリーが消費される。即ち、機能ブロック300の作成には、モディファイア機能ブロック306の作成が必要とされる。また、パラメータの受渡しを介するインターフェース314を通じてのデータ交換は、交換できるデータの量を限定し、繰返し数、したがってデータを受け渡すための所要時間を増加させる。更に、モディファイア機能ブロック306のパラメータが、基礎機能ブロック304のパラメータにマップされないので、モディファイア機能ブロック306は、モディファイア機能ブロック306の外部に表わされうるパラメータを提供しない。
モディファイア機能ブロック306とは対照的に、動的モディファイア機能ブロック308および309は基礎機能ブロック304の能力を動的に変更、アップグレード、又は拡張するのに使用されうる。より具体的には、動的モディファイア機能ブロック308および309を採用することにより、ユーザはローカルメモリーから、動的モディファイア機能ブロックアルゴリズム(複数可)およびアルゴリズムに関連したデータ・ブロック(複数可)をインスタンス化/削除する能力(例えば、動的モディファイア機能ブロック308を削除して、動的モディファイア機能ブロック309をインスタンス化する能力)を得ることができる。モディファイア機能ブロック306とは対照的に、動的モディファイア機能ブロック309は実行時中に、且つ/又はダウンロード時など実行時前のいかなる時点においてもインスタンス化することができる。同様に、動的モディファイア機能ブロック308を、実行時中に削除するようにも、又は、実行時前にインスタンス化しないようにすることもできる。図中では動的モディファイア機能ブロック308および309だけが示されているが、いかなる数の動的モディファイア機能ブロックも機能ブロック300で実施しうる。図示される如く、動的モディファイア機能ブロック308は、基礎機能ブロック304実行時以外に実行する。具体的に言うと、動的モディファイア機能ブロック308は、基礎機能ブロック304の実行前又は実行後に実行しうる。動的モディファイア機能ブロック308および309はインスタンス化されると、それぞれ基礎機能ブロック304の能力を変更、アップグレード、又は拡張するための一連の命令から構成されたアルゴリズムおよびデータ・ブロックをローカルメモリーに有する。動的モディファイア機能ブロック309もまたインスタンス化されると、基礎機能ブロック304且つ/又は動的モディファイア機能ブロック308の実行前且つ/又は実行後に実行しうる。
図示される如く、基礎機能ブロック304は、動的モディファイア機能ブロック308および309をインスタンス化且つ/又は削除するために書込みチェックされるように構成される、一つ以上の属性311を含んでいる。図4を参照して以下説明されるように、1以上の属性311は、機能ブロックの定義302、特に動的モディファイア機能ブロック308および309をインスタンス化且つ/又は削除すべき定義にマップされる。例えば、ユーザは、基礎機能ブロック304の1以上の属性311を変更することにより、動的モディファイア機能ブロック309をインスタンス化することができ、その後それは基礎機能ブロック304の実行中に書込みチェックされる。同様に、ユーザは、1以上の属性311を変更することにより動的モディファイア機能ブロック308を削除することができ、その後それは基礎機能ブロック304の実行中に書込みチェックされる。図3の実施例において、動的モディファイア機能ブロック308は前記1以上の属性311により有効にされ、これにより制御モジュール(例えば、図2の制御モジュール204)が動的モディファイア機能ブロック308の実行をスケジュールする。属性(複数可)311に変更がなされない場合は、基礎機能ブロック304の書込みチェックにより基礎機能ブロック304の実行を継続することが可能になる。
動的モディファイア機能ブロック308は、動的モディファイア機能ブロック308のインスタンス化後に機能ブロック定義302に格納されるエントリー点318を含んでいる。エントリー点318はポインタとして、機能ブロック定義302に格納される。ポインタは、メモリにおける動的モディファイア機能ブロック308のアドレス、動的モディファイア機能ブロック308のアルゴリズムの何らかの部分のアドレス、動的モディファイア機能ブロック308の名称又はその他の識別子を示すアドレスでありえ、或いは、制御を動的モディファイア機能ブロック308へ受け渡すのに使用される、その他の操作ハンドル又は分枝装置でありうる。従って、スケジューラ(例えば、図2の制御サブシステムスケジューラ202)は、エントリー点318で動的モディファイア機能ブロック308のアルゴリズムの実行を呼び出す。動的モディファイア機能ブロック308がそのアルゴリズムを実施する時、命令320はスケジューラに制御を戻す。命令320は、命令のブロックを終了させる任意の所望のタイプの命令でありえ、動的モディファイア機能ブロック308および309で使用されるコードのタイプによってその他のいかなる形式をもとりうる。このように、動的モディファイア機能ブロック308は、基礎機能ブロック304の実行時以外(実行の外側で)にスケジューラによって呼び出されるか又は発動される。
また図3に示されるように、機能ブロック300は、基礎機能ブロック304および動的モディファイア機能ブロック308(且つ/又は動的モディファイア機能ブロック309)間でデータを交換するのに使用されうるインターフェース(複数可)322を含んでいる。インターフェース(複数可)322は、例えば基礎機能ブロック304にデータを書込むための書込みインターフェース、および基礎機能ブロック304からデータを読込むための別の読込みインターフェースなどの多重インターフェースでありうる。1以上のインターフェース322は、基礎機能ブロック304のデータ・オブジェクトに書込むべき登録コールバックとして実装されうる。例えば、動的モディファイア機能ブロック308は、基礎機能ブロック304に登録コールバックを書込ませるために、インターフェース(複数可)322に対して属性且つ/又はデータポインタを送り渡しうる。同様に、動的モディファイア機能ブロック309も、インスタンス化された場合、基礎機能ブロック304に書込むべき登録コールバックを呼び出すために、属性且つ/又はデータポインタをインターフェース(複数可)322に送り渡しうる。また、インターフェース(複数可)322は、基礎機能ブロック304のメモリにおけるデータ・オブジェクトのアドレスを示すアドレス、基礎機能ブロック304のメモリにおけるデータ・オブジェクトのアドレスへの索引(インデックス)を提供することができ、また、機能ブロック間でデータ・オブジェクトを読込む且つ/又は書込むための任意のその他の実施形態でありうる。
図中、動的モディファイア機能ブロック308は単一のエントリー点318および単一の戻り命令320と共に示されているが、動的モディファイア機能ブロックは、動的モディファイア機能ブロック308のアルゴリズムにおける複数の点で実行を開始し、且つ/又は制御を戻しうる。例えば、エントリー点318および戻り命令320は、動的モディファイア機能ブロック308内のアルゴリズムの異なる部分又はサブルーチンを呼び出すように設定されることができ、それによって、基礎機能ブロック304に関連したアルゴリズムに異なる拡張機能を提供しうる。
本明細書に記載される動的モディファイア機能ブロック308および309は、任意の時点において又は選択された時点において、任意の基礎機能ブロック304(例えば、入力、出力又は制御機能ブロック)の能力を拡張するために、任意の目的又方法で、任意の基礎機能ブロック304を変更、修正変更、アップグレードするために使用されうることは明らかであろう。よって、例えば動的モディファイア機能ブロック(例えば、動的モディファイア機能ブロック308および309)は、基礎機能ブロック304において、適応ゲイン、ゲインスケジューリング、不感時間補償などを実施するため、又は、基礎機能ブロック304にその他の拡張又は改造された能力を提供するために使用されうる。また、動的モディファイア機能ブロック308および309がユーザーインタフェースと通信可能に連結される場合、ユーザーインタフェースは、インスタンス化後に動的モディファイア機能ブロック309に関連した一つ以上の属性を自動的に表示しうる。逆に、ユーザーインタフェースは、削除後に動的モディファイア機能ブロック308に関連した一つ以上の属性を自動的に除去しうる。
同様に、又当然のことながら、これらの機能ブロックを実行するプロセッサに関連した任意の1以上のメモリの中に、又は、装置の任意の1以上のメモリに、基礎機能ブロック304および動的モディファイア機能ブロック308および309を格納することができる。このようなメモリには、ハードドライブ又はディスクドライブ上の、ランダムアクセス記憶装置(「RAM」)、読み取り専用メモリ(「ROM」)、消去可能プログラム可能読み取り専用メモリ(「EPROM」)、電気的消去可能プログラム可能読み取り専用メモリ(「EEPROM」)、又はプロセッサによりアクセス可能なその他の適切なメモリが含まれうる。同様に、これらの機能ブロックは、磁気ディスク、光ディスク(例えば、コンパクトディスク又はレーザーディスク)、磁気テープ又は光学テープ又はその他のコンピュータ可読記憶媒体など、任意の所望のタイプのメモリに格納された状態で、ユーザに販売もしくは提供されうる。また、ここに記載される基礎および動的モディファイア機能ブロックは、単一ユニット(例えば、同じメモリに格納されたもの)、又は別のユニット(例えば、別のメモリに格納されたもの)として、同時又は異なる時点において、ユーザに提供されうる。
一般に、機能ブロックは、例えば図3の機能ブロック定義302をインスタンス化するのに使用される一式の規則およびプロパティ特性(例えば、名称、ID、インターフェースエントリー点、フラグ、既定(デフォルト)値、等)を形成するラッパー記述子を含んでいる。ラッパー記述子は、解釈およびユーザ構成に同じ関係を提供するために、実行時制御および基礎機能ブロックの間で共有される。具体的には、コントローラは、ダウンロードスクリプトおよびサービス制御オブジェクトをパーズ(解析)するためにこれらのラッパー記述子を使用しうる。また、機能ブロックの各属性は、一意の属性ID(例えば、整数値)で定義される。動的モディファイア機能ブロックを有する基礎機能ブロックについては、動的モディファイア機能ブロックは特定の属性(例えば、図3の属性(複数可)311)により制御され、従って、特定の属性IDと関連付けられる。
図4は、例えば図2の実施例として挙げられる機能ブロック定義302に配置されるところの、基礎機能ブロックの属性(複数可)402をポインタ404と共に動的モディファイア機能ブロック記述子406へ関連付けるための、実施例として挙げられる動的モディファイア機能ブロック・マッピングテーブル400を示す。実施例としての動的モディファイア機能ブロック・マッピングテーブル400は、動的モディファイア機能ブロック記述子406の特定の動的モディファイア機能ブロック408の記述子へのポインタ「DYN_MOD_PNTR」(動的モディファイア・プリンター)と関連する属性識別子「MOD_ADAPT」(モディファイア・アダプタ)を含んでいる。図中テキスト形式で示されているが、このようなテキスト形式の記述は、その代わりに又はそれに加えて、アドレス、コード及びその他の表記の少なくともいずれかにより実施できること、は通常の技術を有する当業者であれば容易に理解できるはずである。よって、属性「MOD_ADAPT」への書込みチェックは、複数の動的モディファイア機能ブロックと関連する各々の動的モディファイア機能ブロック記述子408、410および412に個々独立してマップすることができる。例えば、第2の動的モディファイア機能ブロックに関連する別のポインタが動的モディファイア機能ブロック・マッピングテーブル400に格納され、動的モディファイア機能ブロック記述子410の位置を突きとめるために属性識別子「MOD_ADAPT」と関連付けられうる。
図5は、ダウンロード中に行われる、実施例としての機能ブロックの装置へのインスタンス化500(例えば、ローカルメモリーの機能ブロックに関連したオブジェクトのインスタンス作成)を示す。ここにおいて、機能ブロック定義オブジェクト540(例えば、図3の機能ブロック定義302)および機能ブロックオブジェクト(例えば、図3の基礎機能ブロック304、モディファイア機能ブロック306、および動的モディファイア機能ブロック308)のインスタンス化が行われる、又はインスタンスが作成される。実施例としての機能ブロックダウンロードのインスタンス化500において、矢印は、実施例として挙げられる機能ブロックのインスタンス化500の構築関係を示す(つまり、矢印が定義オブジェクトを示す)。このように、図5に示される如く、基礎機能ブロック・ラッパー記述子512は、基礎機能ブロックに対して一式の規則およびプロパティ特性を提供し、モディファイア機能ブロック・ラッパー記述子514はモディファイア機能ブロックに対して一式の規則およびプロパティ特性を提供し、そして、1以上の動的モディファイア機能ブロック・ラッパー記述子516は1以上の動的モディファイア機能ブロック(例えば、図3のブロック308および309)に対して一式の規則およびプロパティ特性を提供する。実施例として挙げられる機能ブロックインスタンス化500は、めいめいのラッパー記述子512〜516から属性を数え、合成体(複合)ラッパー定義520を作成するために属性をローカル・キャッシュに格納する。実施例として挙げられる合成体ラッパー520は、インスタンス化する動的モディファイア機能ブロック・ラッパー記述子(複数可)516と関連する動的モディファイア機能ブロックのリスト(例えば、図3の動的モディファイア機能ブロック308および309)をユーザに提供する。機能ブロック定義530は、合成体ラッパー520から構築され、機能ブロックの属性を提供する。機能ブロック定義530は、基礎機能ブロック・データ552およびモディファイア機能ブロック・データ554などのサブブロック・データに割り当てるメモリ容量(空間)を定義する。モディファイア機能ブロック・データ554のインスタンスにおいて、機能ブロック定義530は、モディファイア機能ブロック・データ554などのサブブロック・データのメモリ容量を定義する。
実施例として挙げられる機能ブロックのインスタンス化500については、機能ブロック定義530が、ダウンロード前にユーザにより定義される値を有する属性を含んでおり、この属性により、動的モディファイア機能ブロック・データ556がインスタンス化されるかどうかが決定される。これにより、動的モディファイア機能ブロックのアルゴリズムにより提供される拡張機能又は変更をユーザが希望しない場合には、ダウンロード時に不要なメモリ容量が消費されないですむ。上に説明されるように、動的モディファイア機能ブロックの定義はインスタンス化されるが、動的モディファイア機能ブロック・データ556のためのメモリは定義されない。従って、実行時に、又はダウンロードから実行時に至るいかなる時点においても、動的モディファイア機能ブロックをインスタンス化するために、ユーザは、機能ブロック定義530の属性の値を変更することができる。
動的モディファイア機能ブロックによる機能ブロックのインスタンス化後に、機能ブロックの初期化の呼出し(複数可)により、ダウンロードスクリプトから決定されうる、且つ/又はラッパー記述子512〜516に備えられる一つ以上の属性からコピーされうる、変数が特定の開始値と共に格納される。また、コントローラ(例えば、図1のコントローラ12)に直接に初期化を行うこともでき、この場合、別の構成データベースを必要としないで済む。機能ブロックの属性のインターフェース(例えば、図3のインターフェース(複数可)322)もまた始動され、ここにおいて、インターフェースは、図3を参照して上記されるように動的モディファイア機能ブロックと基礎機能ブロック間でデータを交換するために登録コールバック機能を使用しうる。
図6は、有効になっている動的モディファイア機能ブロックを3つ伴う、実施例として挙げられる機能ブロックの名称(名前)空間600を示す。実施例として挙げられる名称空間600は、インスタンス化中に有効となった属性(例えば、基礎機能ブロックおよびモディファイア機能ブロックに関連する属性)を持つ静的セクタ610と、第1の動的モディファイア機能ブロック622、第2の動的モディファイア機能ブロック624、および第3の動的モディファイア機能ブロック626のための属性を持つ動的セクタ620とを含む。上述されるように、ユーザは属性622〜626に関連する動的モディファイア機能ブロックのうちのいずれをもインスタンス化又は削除することができることにより、動的属性セクタ620を変更しうる。動的属性セクタ620が変更すると、動的セクタ620に含まれるインデックス(例えば、特定のアドレスからのインデックス)が無効になりうる。例えば、ユーザが第1および第2の動的モディファイア機能ブロックを削除したとする。この操作により、第1の動的モディファイア機能ブロックおよび第2の動的モディファイア機能ブロック624の属性622および624が各々取り除かれ、第3の動的モディファイア機能ブロック626の属性が実施例として挙げられる名称空間600に移動する。
機能ブロックの名称空間が動的モディファイア機能ブロックのインスタンス化と共に変化すると、動的モディファイア機能ブロックとの機能ブロックの実行且つ/又はインスタンス化によって、クライアント(例えば、その他の機能ブロック)によりマップされうる動的モディファイア機能ブロックのあらゆる属性をマップするためにキー機構が作成される。一般に、クライアントから機能ブロックの属性にアクセスする際には、そのアクセスは名称空間のアドレスおよびインデックスによりマップされる。
図6を参照して上述されるように、機能ブロックの名称空間は、あらゆる動的モディファイア機能ブロックの有効又は無効設定と共に変化する。従って、属性への無効な参照を防ぐためにキー機構が提供され、このような機構は制御モジュール(例えば、図2の制御モジュール204)に設けられうる。該キー機構には、機能ブロックの動的セクタ(例えば、動的セクタ620)の属性にクライアント(複数可)が相互関連付けられた(バインドされた)ときにクライアント(複数可)に転送される、各々の動的モディファイア機能ブロック(複数可)用に一つ以上のキー(例えば、ポインタ値、インデックス値、アドレス位置、独自の値、又はそれのいかなる組み合わせ)が格納される。動的モディファイア機能ブロックがインスタンス化又は削除されると、動的モディファイア機能ブロックに関連した機能ブロックはキー機構の中のキー(複数可)を更新する。このように、あるクライアントが機能ブロックの属性、そして特に動的モディファイア機能ブロックに関連した属性にアクセスすると、該クライアントは前回のアクセスからのキーを現在のキーと表で比較する。相互関連した(バインド)キーと現在のキーが一致すると、該クライアントのアクセスが許可される。或いは、相互関連したキーと現在のキーが一致しない場合、該クライアントは再度、属性に相互関連付けられなければならない。
もちろん、動的モディファイア機能ブロックは、(Fieldbusプロトコルの他にも)いかなる外部プロセス制御通信プロトコルを使用しても実施することができ、また、Fieldbusプロトコルにより特にサポートされる別の機能ブロックの任意のものに類似する又はそれと同等の任意の機能ブロックを含む、任意のタイプの機能ブロックと通信するのに使用されうる。なおまた、本稿の一実施形態における動的モディファイア機能ブロックはFieldbusの「機能ブロック」であるが、ここにおける「機能ブロック」という表現の使用は、Fieldbusプロトコルにより機能ブロックとして識別されるものに限定されず、むしろ、何らかのプロセス制御ルーチン機能を実施するのに使用されうる、またその他のいかなる機能ブロックに情報又はデータを提供するための事前に定義された設定又はプロトコルを有する、任意のタイプの通信プロトコル且つ/又は制御システムに関連するその他任意のタイプのブロック、プログラム、ハードウェア、ファームウェアなどを含みうる、ということに留意されたい。従って、一般に機能ブロックはオブジェクト指向プログラミング環境内のオブジェクトの形をとっているが、そうである必要はなく、むしろ、プロセス制御環境内の特定の制御機能(入出力を含む)を実行するのに使用されるその他の論理ユニットでもありうる。
図7は、実行時中に動的モディファイア機能ブロック(例えば、図3の動的モディファイア機能ブロック308および309等)を削除及び又はインスタンス化するための、実施例として挙げられるプロセス700を描くフローチャートである。図7に描かれるプロセスを参照して説明される動作は、コンピュータ可読媒体に格納されそこでアクセスされうる機械可読命令、コード、ソフトウェアなどを使用して実施されうる。このようなコンピュータ可読媒体の例としては、光学的記憶装置、磁気記憶装置、不揮発性固体記憶装置および揮発性固体記憶装置が挙げられるが、これに限定されるものではない。更に、該動作のいくつか又は全てはマニュアル操作で実行することができ、該動作の順序は変更でき、該動作のいくつかは修正変更するか又は完全に削除することができる。同様に、各ブロックの動作のいくつか又は全ては反復して実行できる。図7に描かれる動作は、図1の実施例としてのコントローラ12及びフィールド装置22〜26の少なくともいずれかにより実行されうる。
実施例としてのプロセス700は、基礎機能ブロック(例えば、図3の基礎機能ブロック304)のアルゴリズムの実行により開始する(ブロック702)。ブロック702における基礎機能ブロックの実行中に、動的モディファイア機能ブロックのインスタンス化又は削除を進めるべきかどうかを判断するために、書込みチェックが基礎機能ブロックの特定の1以上の属性に対して実行される(ブロック704)。基礎機能ブロックの1以上の属性に変更が無い、と書込みチェックによって決定されると(ブロック704)、実施例としてのプロセス700はブロック702に戻り、基礎機能ブロックの実行を続ける。基礎機能ブロックの1以上の属性に変更有り、と書込みチェックによって決定されると(ブロック704)、実施例としてのプロセス700は、新しい動的モディファイア機能ブロックをインスタンス化するか又は既存の動的モディファイア機能ブロックを削除するかを決定する(ブロック706)。
ブロック706で実施例として挙げられるプロセス700が、基礎機能ブロックの1以上の属性(複数可)に対する特定の変更(例えば、論理状態の変更を示すブール変数、フラグ値、又はその他の属性に対する特定の変更)によって、「既存の動的モディファイア機能ブロックを削除する」と判断すると、実施例として挙げられるプロセス700は、例えば一意の属性ID及びインデックスへのポインタの少なくともいずれかを使用して削除すべき動的モディファイア機能ブロックを識別する(ブロック708)。削除すべき動的モディファイア機能ブロックを識別した後、実施例としてのプロセス700は、該識別された動的モディファイア機能ブロックに関連するデータ・ブロックをメモリから削除する(ブロック710)。実施例としてのプロセス700は、次のステップに進み、該削除された動的モディファイア機能ブロックに関連した属性を取り除き、該削除された動的モディファイア機能ブロックと関連していた属性(複数可)に関連したキー機構中のキーを更新することにより、動的属性空間中の属性を更新する(ブロック712)。それから、実施例としてのプロセス700は、該削除された動的モディファイア機能ブロックの実行をスケジューラから取り除き(ブロック714)、プロセス700の実行を終了させるか、制御を呼出し工程に戻すかのいずれかを実行する。
実施例としてのプロセス700が、基礎機能ブロックの属性(複数可)に対する特定の変更(例えば、論理状態変更を示すブール変数、フラグ値又はその他の属性に対する特定の変更)により「新しい動的モディファイア機能ブロックをインスタンス化する」と判断すると(ブロック706)、実施例としてのプロセス700は、例えば、一意の属性ID及びインデックスへのポインタの少なくともいずれかを使用して、インスタンス化すべき動的モディファイア機能ブロックを識別する(ブロック716)。ブロック716においてインスタンス化すべき動的モディファイア機能ブロックを識別した後、実施例としてのプロセス700は、該識別された動的モディファイア機能ブロックに関連するデータ・ブロックをメモリに作成する(ブロック718)。実施例としてのプロセス700は、次のステップに進み、該インスタント化された動的モディファイア機能ブロックに関連した属性を追加し、該インスタント化された動的モディファイア機能ブロックに関連する属性(複数可)に関連するキー機構中のキーを更新することにより、動的属性空間中の属性を更新する(ブロック720)。それから、実施例としてのプロセス700は、動的モディファイア機能ブロックに関連するあらゆる変数を初期化する(ブロック722)。また、実施例としてのプロセス700は、インスタンス化された動的モディファイア機能ブロックの実行をスケジューラに追加して(ブロック724)、プロセス700の実行を終了させるか、制御を呼出し工程に戻すことのいずれかを実行する。
図8は、図1の実施例としてのコントローラ12、フィールド装置22〜26、及びアプリケーションステーション16の少なくともいずれかを実施するために使用又はプログラムされることができる、実施例としてのプロセッサ・プラットフォーム800の概略図である。例えば、プロセッサ・プラットフォーム800は、一つ以上の汎用シングルスレッド及びマルチスレッド・プロセッサ、コア、マイクロコントローラなどのうちの少なくともいずれかにより実施することができる。プロセッサ・プラットフォーム800はまた、種々様々な同時実行式シングルスレッド及びマルチスレッド・プロセッサ、コア、マイクロコントローラなどの少なくともいずれかが内蔵される、一つ以上の計算装置によっても実施されうる。
図8の実施例のプロセッサ・プラットフォーム800は、少なくとも一つの汎用プログラム可能プロセッサ805を含んでいる。プロセッサ805はプロセッサ805のメインメモリの中にある(例えば、RAM815内にある)コード化命令810を実行する。コード化命令810は、図2、図3、図4および図7を参照して実施例として記載されるプロセスの動作を実施するのに使用されうる。プロセッサ805は、プロセッサー・コア、プロセッサ且つ/又はマイクロコントローラなど、任意のタイプの処理装置でありうる。プロセッサ805は、バス825を介してメインメモリ(ROM820およびRAM815を含む)と通信状態にある。RAM815は、動的ランダムアクセス記憶装置(「DRAM」)や、同期型ランダムアクセス記憶装置(「SDRAM」)、及びその他任意のタイプのRAM装置のうちの少なくともいずれかにより実施されうる。また、ROMは、フラッシュメモリ且つ/又はその他所望のタイプの記憶装置により実施されうる。メモリ815および820へのアクセスはメモリ制御部(コントローラー)(図示省略)により制御されうる。メインメモリ(ROM820およびRAM815を含む)は、実施例としてのプロセス、属性、および図2〜7に関連するその他の格納可能なデータを格納するのに使用されうる。
プロセッサ・プラットフォーム800はまた、インターフェース回路830も含んでいる。インターフェース回路830は、外部メモリインターフェース、シリアルポート、汎用入出力などの任意のタイプのインターフェース標準により実施されうる。一つ以上の入力装置835および一つ以上の出力装置840が、インターフェース回路830に接続される。
上記に実施例として記載される方法及び機器(装置)の少なくともいくつかは、プロセッサ上で作動する一つ以上のソフトウェア及びファームウェアプログラムのいずれかにより実施される。しかし、例えば、特定用途向け集積回路、プログラム可能論理アレイ、およびその他のハードウェア装置等の(但しこれらに限定されない)専用ハードウェア実施形態もまた同様に、全体的又は部分的のいずれかにおいて、本明細書に実施例として記載される方法及び機器のいくつか又は全てを実施するように構成することができる。更に、その代わりとして、例えば分散処理又は構成部分/オブジェクト分散処理、並行処理、又は仮想機械処理等の(但しこれらに限定されない)ソフトウェア実施形態もまた、ここに実施例として記載される方法及び機器を実施するのに使用できる。
なお、本明細書に実施例として記載されるソフトウェア且つ又はファームウェア実施形態は、磁気媒体(例えば、磁気ディスクまたはテープ)、光ディスクなどの光磁気又は光学媒体、又はメモリーカードなどの固体状態媒体や、一つ以上の読み取り専用(不揮発性)メモリや、ランダムアクセスメモリー又はその他の書換え可能(揮発性)メモリを収容するその他のパッケージ、或いは、コンピュータ命令を含む信号、などの有形記憶媒体に格納されうる。また、Eメール又はその他の情報アーカイブ又は一式のアーカイブに添付された電子ファイルは、有形記憶媒体と同等の配布媒体と見なされる。従って、本明細書に実施例として記載されるソフトウェア及びファームウェアは、上記されるもの又は後継の記憶媒体などの有形記憶媒体又は配布媒体に格納することができる。
本明細書においては、特定の標準およびプロトコルを参照しながら実施例として挙げられる構成部分および機能がある程度の範囲で説明されているが、当然のことながら、この特許の適用範囲はこのような標準およびプロトコルに限定されるものではない。このような標準は周期的に、同じ一般機能を備え、より高速で、より効率的な均等物にとって変わられる。従って、同機能を有する置換られた標準およびプロトコルは、この特許に考慮されており、付随の特許請求の範囲に含まれるように意図される均等物である。
なお、この特許には、ハードウェア上で実行されるソフトウェア又はファームウェアを含むシステムの実施例が開示されているが、このようなシステムは単に本特許を例証するための実施形態に過ぎず、本特許を限定するものであると見なされるべきではない。例えば、これらのハードウェアおよびソフトウェア構成要素のいずれか又は全ては、ハードウェアにおいてのみ、又はソフトウェアにおいてのみ、ファームウェアにおいてのみ、又はハードウェア、ファームウェア、及びソフトウェアの少なくともいずれかの組み合わせにおいて具体化できるものと考慮されている。従って、実施例として挙げられるシステム、方法および製造品が上に説明されているが、通常の技術を有する当業者であれば、本明細書に提供される実施例がこれらのシステム、方法および製造品を実施する唯一の手段ではないことが容易に理解できるはずである。また、本稿おいて実施例として挙げられる特定の方法、機器および製造品が記載されているが、この特許の適用領域の範囲はそれに限定されるものではない。むしろ、本特許は、字義的にもしくは均等論に基づいて添付の特許請求の範囲内に公正に含まれるとされる方法、機器および製造品の全てを網羅するものである。
実施例として挙げられるプロセス制御システムを示すブロック図である。 本明細書に実施例として記載される機器、方法、および製造品を実施するのに使用されうる、実施例として挙げられるシステムのブロック図である。 実施例としての基礎機能ブロック、モディファイア機能ブロックおよび動的モディファイア機能ブロックを含んでいる、実施例としての機能ブロックのブロック図である。 実施例としての動的モディファイア機能ブロック・マッピングテーブルのブロック図である。 動的モディファイア機能ブロックを有する機能ブロックのインスタンス化の実施例のブロック図である。 動的モディファイア機能ブロックを有する機能ブロックの名称空間および指標の実施例のブロック図である。 本明細書に記載される動的モディファイア機能ブロックをインスタンス化及び削除の少なくともいずれかをするのに使用されうる、実施例としてのプロセスのフローチャートである。 本明細書に記載される方法および機器を実施するのに使用されうる処理システムの実施例の概略図である。

Claims (37)

  1. 動的モディファイア機能ブロックをインスタンス化又は削除するように構成された基礎機能ブロックを含む機能ブロックの動作を修正変更する方法であって、
    機械のメモリに機能ブロックを格納することと、
    基礎機能ブロックに関連した修正変更可能な属性を少なくとも一つメモリに格納することからなり、
    前記修正変更可能な属性を、機械に動的モディファイア機能ブロックをメモリにおいてインスタンス化させるための第1の値、又は、機械に動的モディファイア機能ブロックをメモリから削除させるための第2の値に設定することができることを特徴とする方法。
  2. 前記機能ブロックが、複数の通信可能に連結された機能ブロックを使用してプロセス制御ルーチンを実行するプロセス制御システムと関連することを特徴とする請求項1に記載の方法。
  3. 前記複数の通信可能に連結された機能ブロックの各々が、別の複数の通信可能に連結された機能ブロックのうちの一つ以上に対して少なくとも一つの出力信号を提供し、別の複数の通信可能に連結された機能ブロックのうちの一つ以上から少なくとも一つの入力信号を受け取ることを特徴とする、請求項2に記載の方法。
  4. 前記動的モディファイア機能ブロックが、実行された時にプロセス制御システムに関連したアルゴリズムを機械に実行させる機械可読媒体に格納された一連の機械可読命令からなることを特徴とする請求項1に記載の方法。
  5. 前記アルゴリズムが、制御機能、自動チューニング機能、又はインターフェース機能の少なくとも一つであることを特徴とする請求項4に記載の方法。
  6. 動的モディファイア機能ブロックインスタンス化した後、基礎機能ブロックと関連した一式の機械可読命令の実行前又は実行後に、動的モディファイア機能ブロックと関連する一式の機械可読命令を実行するように機械をスケジュールすることを更に含むことを特徴とする請求項1に記載の方法。
  7. 動的モディファイア機能ブロックをインスタンス化又は削除せずに基礎機能ブロックと関連したアルゴリズムを機械に実行させるために、前記修正変更可能な属性を第3の値に設定できることを特徴とする請求項1に記載の方法。
  8. 前記機械が、フィールド装置にあるプロセッサからなることを特徴とする請求項1に記載の方法。
  9. 前記機械が、修正変更可能な属性の値を識別するための書込みチェック機能を実行するためのものであることを特徴とする請求項1に記載の方法。
  10. 基礎機能ブロックがコンパイルされてメモリに格納された後に、前記修正変更可能な属性を第1の値又は第2の値に設定することができることを特徴とする、請求項1に記載の方法。
  11. 基礎機能ブロックがプロセス制御ルーチンを変更するためにプロセス制御ルーチン内で作動している時に、修正変更可能な属性を第1の値から第2の値に変更することを更に含む請求項1に記載の方法。
  12. 機能ブロックをメモリに格納することが、動的モディファイア機能ブロックをインスタンス化することからなることを特徴とする請求項1に記載の方法。
  13. 動的モディファイア機能ブロックインスタンス化した後、基礎機能ブロックと関連した一連の機械可読命令の前又は後に、動的モディファイア機能ブロックと関連した一連の機械可読命令を実行するように機械をスケジュールすることを更に含むことを特徴とする請求項12に記載の方法。
  14. 実行時にプロセス制御システムと関連したアルゴリズムを機械に実行させる、機械可読媒体に格納された第1の一連の機械可読命令を有する基礎機能ブロックと、
    第1の一連の機械可読命令内に置かれる少なくとも一つ属性と、からなり、
    前記属性が、少なくとも一つの動的モディファイア機能ブロックの削除又はインスタンス化の少なくとも一つを機械に実行させる値に設定可能であることを特徴とする、プロセス制御システムで使用するために機械可読媒体に格納された機能ブロック。
  15. 前記動的モディファイア機能ブロックが、実行時にプロセス制御システムと関連した第2のアルゴリズムを機械に実行させる、機械可読媒体に格納された第2の一連の機械可読命令からなることを特徴とする請求項14に記載の機能ブロック。
  16. 前記第2のアルゴリズムが、制御機能、自動チューニング機能、又はインターフェース機能の少なくとも一つであることを特徴とする請求項15に記載の機能ブロック。
  17. 前記プロセス制御システムが、複数の通信可能に相互接続された機能ブロックを使用してプロセス制御ルーチンを実行することを特徴とする請求項14に記載の機能ブロック。
  18. 複数の通信可能に相互接続された機能ブロックの各々が、別の複数の通信可能に相互接続された機能ブロックのうちの一つ以上に、少なくとも一つの出力信号を提供し、別の複数の通信可能に相互接続された機能ブロックのうちの一つ以上から少なくとも一つの入力信号を受け取ることを特徴とする、請求項17に記載の機能ブロック。
  19. 基礎機能ブロックおよび少なくとも一つの動的モディファイア機能ブロック間でデータの受渡しを行うためのインターフェースを更に含む請求項14に記載の機能ブロック。
  20. 前記インターフェースが、基礎機能ブロックにデータ値を書込むための登録コールバック機能からなることを特徴とする請求項19に記載の機能ブロック。
  21. 前記インターフェースが、少なくとも一つの動的モディファイア機能ブロックにより読込まれるデータ値からなることを特徴とする請求項19に記載の機能ブロック。
  22. 前記インターフェースが、少なくとも一つの動的モディファイア機能ブロックにより読込まれるデータ値に関連したメモリーアドレス値を含んでいることを特徴とする請求項19に記載の機能ブロック。
  23. 前記属性が更に、プロセス制御システムと関連したアルゴリズムを、動的モディファイア機能ブロックをインスタンス化又は削除せずに機械に実行させる値に設定可能であることを特徴とする請求項14に記載の機能ブロック。
  24. 基礎機能ブロックがコンパイルされ、機械と関連した機械可読のメモリに格納された後、少なくとも一つの属性が修正変更可能となることを特徴とする請求項14に記載の機能ブロック。
  25. 前記機械が、機械可読命令を格納するためのメモリを有するフィールド装置にあるプロセッサからなることを特徴とする請求項14に記載の機能ブロック。
  26. 前記機能ブロックが、実行時に、前記少なくとも一つの属性の値を識別するために機械に書込みチェック機能を実行させる機械可読命令を含んでいることを特徴とする請求項14に記載の機能ブロック。
  27. 前記機能ブロックが、実行時に、少なくとも一つの動的モディファイア機能ブロックを削除又はインスタンス化した後に、少なくとも一つの動的モディファイア機能ブロックの各々の属性と関連したキーを機械に修正変更させる機械可読命令を含んでいることを特徴とする、請求項14に記載の機能ブロック。
  28. 各キーが、インデックス値又はメモリーアドレスのうちの少なくとも一つの少なくとも一部分からなることを特徴とする請求項27に記載の機能ブロック。
  29. 的モディファイア機能ブロックの各々の属性を読込む前に、プロセス制御システムと関連したクライアントにより当該属性に前回アクセスした際に当該クライアントに転送されたキーと、現在のキーとが一致するかどうかが比較されることを特徴とする、請求項27に記載の機能ブロック。
  30. 実行時にプロセス制御ルーチン内の機能ブロックの基礎機能ブロックを機械に修正変更させる一式の機械可読命令を実行するように構成された機能ブロックの動的モディファイア機能ブロックであって、
    前記動的モディファイア機能ブロックが、基礎機能ブロックの属性の少なくとも一つに基づいて、インスタンス化又は削除されることを特徴とする、動的モディファイア機能ブロック。
  31. 前記一式の機械可読命令が、制御機能、自動チューニング機能、又はインターフェース機能の少なくとも一つからなることを特徴とする請求項30に記載の動的モディファイア機能ブロック。
  32. 前記機能ブロックが、基礎機能ブロックおよび動的モディファイア機能ブロックの間でデータの受渡しを行うためのインターフェースを更に含むことを特徴とする、請求項30に記載の動的モディファイア機能ブロック。
  33. 前記インターフェースが、基礎機能ブロックにデータ値を書込むための登録コールバック機能からなることを特徴とする請求項32に記載の動的モディファイア機能ブロック。
  34. 前記インターフェースが、動的モディファイア機能ブロックにより読込まれるデータ値からなることを特徴とする請求項32に記載の動的モディファイア機能ブロック。
  35. 前記インターフェースが、動的モディファイア機能ブロックにより読込まれるデータ値に関連したメモリーアドレス値を含んでいることを特徴とする請求項32に記載の動的モディファイア機能ブロック。
  36. 基礎機能ブロックがコンパイルされ、機械と関連した機械可読のメモリに格納された後、属性が修正変更可能となることを特徴とする請求項30に記載の動的モディファイア機能ブロック。
  37. 前記機械が、機械可読命令を格納するためのメモリを有するフィールド装置に設けられるプロセッサからなることを特徴とする請求項30に記載の動的モディファイア機能ブロック。
JP2007258847A 2006-10-02 2007-10-02 プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法及び動的モディファイア機能ブロック Active JP5291912B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/537839 2006-10-02
US11/537,839 US7561930B2 (en) 2006-10-02 2006-10-02 Dynamic modifier function blocks for use in a process control system

Publications (2)

Publication Number Publication Date
JP2008090846A JP2008090846A (ja) 2008-04-17
JP5291912B2 true JP5291912B2 (ja) 2013-09-18

Family

ID=39226679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007258847A Active JP5291912B2 (ja) 2006-10-02 2007-10-02 プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法及び動的モディファイア機能ブロック

Country Status (6)

Country Link
US (1) US7561930B2 (ja)
JP (1) JP5291912B2 (ja)
CN (1) CN101158869B (ja)
DE (1) DE102007046965A1 (ja)
GB (1) GB2442592B (ja)
HK (2) HK1115769A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006027012A1 (de) * 2006-06-08 2007-12-13 Endress + Hauser Process Solutions Ag Verfahren zum Austausch eines Feldgerätes der Automatisierungstechnik
CN101611358B (zh) * 2007-02-14 2011-10-05 西门子公司 为自动化系统更换结构组件的方法
JP4919995B2 (ja) * 2008-03-13 2012-04-18 株式会社東芝 制御システム、制御装置および制御方法
US9256219B2 (en) * 2009-08-11 2016-02-09 Fisher-Rosemount Systems, Inc. System configuration using templates
US9535413B2 (en) * 2010-02-12 2017-01-03 Rockwell Automation Technologies, Inc. Automatic device parameter binding method and system
EP2498155B1 (de) * 2011-03-11 2016-01-06 Siemens Aktiengesellschaft Verfahren zur Erkennung von Änderungen an SW-Schnittstellen und zum automatischen Anpassungen dieser Schnittstellen in einer Automatisierungsslösung
US9135395B2 (en) * 2011-04-29 2015-09-15 Rockwell Automation Technologies, Inc. Element specific variable translation
US8849429B2 (en) * 2011-05-09 2014-09-30 General Electric Company System and method for block instantiation
US9772617B2 (en) * 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
US9213329B2 (en) * 2012-10-25 2015-12-15 Honeywell Gmbh System and method for vendor release independent reusable customized function block libraries
BR112015016953A2 (pt) 2013-01-15 2017-07-11 Hewlett Packard Development Co atualização de firmware dinâmico
DE102015103881A1 (de) * 2015-03-17 2016-09-22 Endress + Hauser Wetzer Gmbh + Co. Kg Verfahren zur Datenübertragung
DE102015106116A1 (de) * 2015-04-21 2016-10-27 Phoenix Contact Gmbh & Co. Kg Verfahren und Steuereinrichtung zur flexiblen Prozesssteuerung
US10438144B2 (en) 2015-10-05 2019-10-08 Fisher-Rosemount Systems, Inc. Method and apparatus for negating effects of continuous introduction of risk factors in determining the health of a process control system
US10671038B2 (en) 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
US10387238B2 (en) * 2016-09-22 2019-08-20 Rockwell Automation Technologies, Inc. Industrial control program sequence monitoring
US10401816B2 (en) * 2017-07-20 2019-09-03 Honeywell International Inc. Legacy control functions in newgen controllers alongside newgen control functions
US10447078B2 (en) * 2017-10-02 2019-10-15 Fisher-Rosemount Systems, Inc. Smart function block for integration of PLCS into a control system and methods for the same
KR102659832B1 (ko) * 2019-03-05 2024-04-22 삼성전자주식회사 데이터 저장 장치 및 시스템
JP7380635B2 (ja) * 2021-04-09 2023-11-15 横河電機株式会社 プログラム修正支援装置及びプログラム修正支援方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0310304A (ja) * 1989-06-08 1991-01-17 Fuji Electric Co Ltd プログラム制御システム
JPH05224963A (ja) * 1991-09-10 1993-09-03 Internatl Business Mach Corp <Ibm> リアルタイムシステム用プロセス制御システム
JP2003233502A (ja) * 1999-01-13 2003-08-22 Sony Corp 演算処理装置及びオブジェクト間通信の管理方法
US6510351B1 (en) * 1999-03-15 2003-01-21 Fisher-Rosemount Systems, Inc. Modifier function blocks in a process control system
US6415418B1 (en) * 1999-08-27 2002-07-02 Honeywell Inc. System and method for disseminating functional blocks to an on-line redundant controller
US6510353B1 (en) 1999-11-04 2003-01-21 Fisher-Rosemount Systems, Inc. Determining tuning parameters for a process controller from a robustness map
US7822495B2 (en) * 2002-04-15 2010-10-26 Fisher-Rosemount Systems, Inc. Custom function blocks for use with process control systems
JP2006079280A (ja) * 2004-09-08 2006-03-23 Sony Corp 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
US8381198B2 (en) * 2005-08-15 2013-02-19 Sony Ericsson Mobile Communications Ab Systems, methods and computer program products for safety checking executable application programs in a module

Also Published As

Publication number Publication date
HK1163268A1 (en) 2012-09-07
HK1115769A1 (en) 2008-12-05
DE102007046965A1 (de) 2008-04-24
GB0719220D0 (en) 2007-11-14
US20080189526A1 (en) 2008-08-07
US7561930B2 (en) 2009-07-14
CN101158869B (zh) 2012-01-04
GB2442592A (en) 2008-04-09
JP2008090846A (ja) 2008-04-17
GB2442592B (en) 2011-09-14
CN101158869A (zh) 2008-04-09

Similar Documents

Publication Publication Date Title
JP5291912B2 (ja) プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法及び動的モディファイア機能ブロック
US9971914B2 (en) Industrial simulation using redirected I/O module configurations
US7822833B2 (en) System for creating and validating configurations of offline field devices in a process control system
US7822495B2 (en) Custom function blocks for use with process control systems
US6385496B1 (en) Indirect referencing in process control routines
EP2833225B1 (en) Systems and methods for batch device commissioning and decommissioning
JP7048638B2 (ja) コントロール装置
JP2009003926A (ja) プロセス制御システムに関連する情報にアクセスする機器および方法
CN111142466B (zh) 工程装置、工程装置的控制方法和存储介质
CN111052010B (zh) 控制系统、开发辅助装置和存储介质
JP7085305B2 (ja) コントロールシステム及びコントロール方法
JP2019139365A (ja) アプリケーションプログラムを生成する方法、装置、プログラム
CN112470088B (zh) 控制装置
WO2019187965A1 (ja) コントロール装置
US12118412B2 (en) Data processing
GB2480398A (en) Dynamic modifier function blocks for use in a process control system
CN107561950B (zh) 楼宇中控制器的编程方法及提供控制器编程工具的服务器
CN112825027A (zh) 用于配置计算单元的存储器单元的方法
CN116795048A (zh) 用于工业工厂的现场设备的自动配置
CN114690696A (zh) 自适应控制的工业设备及其运行方法
CN106066638B (zh) 用于灵活的过程控制的方法和装置
JP2003248514A (ja) 監視制御システム
KR20240066958A (ko) 장비 행동 카탈로그 구성 장치 및 장비 행동 카탈로그를 이용하는 가상 생산 시스템
CN115658314A (zh) 一种在线动态映射功能块关联关系的内存管理方法、存储介质及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130306

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130610

R150 Certificate of patent or registration of utility model

Ref document number: 5291912

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250