JP4390858B2 - 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器 - Google Patents
分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器 Download PDFInfo
- Publication number
- JP4390858B2 JP4390858B2 JP51669198A JP51669198A JP4390858B2 JP 4390858 B2 JP4390858 B2 JP 4390858B2 JP 51669198 A JP51669198 A JP 51669198A JP 51669198 A JP51669198 A JP 51669198A JP 4390858 B2 JP4390858 B2 JP 4390858B2
- Authority
- JP
- Japan
- Prior art keywords
- process control
- control scheme
- bus
- function
- tuning
- 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.)
- Expired - Lifetime
Links
- 238000004886 process control Methods 0.000 title claims description 245
- 230000006870 function Effects 0.000 title claims description 239
- 238000000034 method Methods 0.000 title claims description 122
- 230000006854 communication Effects 0.000 claims description 121
- 238000004891 communication Methods 0.000 claims description 118
- 230000008569 process Effects 0.000 claims description 77
- 230000015654 memory Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 10
- 238000012905 input function Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 150000002678 macrocyclic compounds Chemical class 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- LGAILEFNHXWAJP-BMEPFDOTSA-N macrocycle Chemical compound N([C@H]1[C@@H](C)CC)C(=O)C(N=2)=CSC=2CNC(=O)C(=C(O2)C)N=C2[C@H]([C@@H](C)CC)NC(=O)C2=CSC1=N2 LGAILEFNHXWAJP-BMEPFDOTSA-N 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000001311 chemical methods and process Methods 0.000 description 1
- 238000012993 chemical processing Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000368 destabilizing effect Effects 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4185—Total 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 the network communication
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4184—Total 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 fault tolerance, reliability of production system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31113—General, vendor indenpendant display and control interface for sensor actuator
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31119—Fielddevice comprises also controller and pneumatic actuator and sensor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31121—Fielddevice, field controller, interface connected to fieldbus
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31211—Communicate diagnostic data from intelligent field device controller to central
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33273—DCS distributed, decentralised controlsystem, multiprocessor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33326—Analyzer, diagnostic for servovalve
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34427—Diagnostic, monitoring incorporated in controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45226—Process control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/80—Management or planning
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Description
これは、1996年10月4日に出願された米国特許出願連続番号第08/726,263号の一部継続出願である。
発明の分野
本発明は、概してプロセス制御ネットワークに関し、特に分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする際に使用するための方法および機器に関する。
関連する技術
化学プロセス、石油プロセス、およびその他の製造プロセスおよび精製プロセスのような大型プロセスは、プロセスパラメータを測定、制御し、それによってプロセスの制御を達成するために、多様な場所に配置される多数のフィールドデバイスを含んでいる。これらのフィールドデバイスとは、例えば、弁およびスイッチなどの制御部品だけではなく温度センサ、圧力センサおよび流量センサのようなセンサであることもある。歴史的に、プロセス制御産業は、液位計および圧力計を手作業で読み取ったり、バルブホイールを回すなどの手作業の動作を使用し、プロセス内の測定フィールドデバイスおよび制御フィールドデバイスを運転してきた。20世紀に始まったプロセス制御産業は、局所的な空気式調節計の使用を開始し、局所的な空気式調節計、送信機、および弁位置決め装置が、一定のプラント要素の制御を達成するためにプロセスプラント内のさまざまな場所に配置された。マイクロプロセッサをベースにした分散型制御システム(DCS)が1970年代に出現し、分散型電子プロセス制御が、プロセス制御産業で一般的になった。
知られているように、DCSは、プロセス中に配置される電子センサ、送信機、電流・圧力変換器、弁位置決め器などの多数の電子監視制御装置に接続されるプログラマブル論理コントローラのようなアナログコンピュータまたはデジタルコンピュータを含む。DCSコンピュータは、いくつかの総合的な制御スキームに従ってプロセスパラメータの測定および制御を達成するために、集中化された、および頻繁に複雑な制御スキームを記憶し、実現する。しかしながら、通常、DCSによって実現される制御スキームは、同様にDCSの拡大、アップグレード、再プログラムおよび保守を、DCSのプロバイダがこれらの活動のどれかを実行するためには一体となって関与しなければならないという理由から、困難かつ高価にするDCS製造メーカに独占的なものになっている。さらに、特定のDCSが使用または接続することができる装置は、DCSの独占的な性質、およびDCSプロバイダが、一定のデバイスや他のベンダにより製造されるデバイスの機能をサポートしない可能性があるという事実のために制限されることがある。
独占的なDCSの使用に固有な問題点のいくつかを克服するために、プロセス制御産業は、さまざまな製造メーカにより製造されたフィールドデバイスを同じプロセス制御ループ内でいっしょに使用できるようにする、例えばHARTプロトコル、PROFIBUSプロトコル、WORLDFIPプロトコル、LONWORKSプロトコル、Device−Netプロトコル、およびCANプロトコルのような多数の標準開放通信プロトコルを開発してきた。実際、これらのプロトコルの内の1つに準拠するフィールドデバイスは、たとえそのフィールドデバイスがDCSコントローラ製造メーカ以外の製造メーカによって製造されていても、DCSまたはそのプロトコルをサポートする他のコントローラと通信し、それにより制御されるためにプロセスで使用することができる。
さらに、いまでは、プロセス制御業界内には、プロセス制御を分散し、それによってDCSコントローラを簡略化するか、DCSコントローラに対するニーズを大きく排除する動きが出てきている。分散化制御は、弁位置決め装置、送信機などのプロセス制御装置に1つまたは複数のプロセス制御機能を実行させ、他のプロセス制御装置によって使用されるバス構造全体でデータを通信することにより得られる。制御機能を実現するために、各プロセス制御装置は、標準開放通信プロトコルを使用して他のプロセス制御装置と通信する能力だけではなく、1つまたは複数の基本制御機能を実行することができるマイクロプロセッサを含む。このようにして、さまざまな製造メーカによって製造されたフィールドデバイスは、互いに通信し、DCSの介入を受けずに1つまたは複数のプロセス制御機能や制御ループを実行するためにプロセス制御ループ内で相互接続することができる。現在、FOUNDATIONTM Fieldbus(これ以降「Fieldbusプロトコル」)として知られているフィールドバス財団(Fieldbus Foundation)によって公表されているデジタル二線式ループプロトコルは、さまざまな製造メーカによって製造されるデバイスが、1つのプロセス内で分散化制御を達成するために標準バスを介して相互運用し、互いと通信できるようにする1つの開放通信プロトコルである。
前記に注記されたように、プロセス制御機能の分散化は、同様に、プロセス制御ネットワークのための制御スキームを実現、変更またはアップグレードするためにプロセスオペレータがDCS製造メーカに依存する必要性を削減する独占的なDCSの必要性を簡略化、場合によっては排除する。事実上、基本プロセス制御機能を標準通信バスにより相互接続されるフィールドデバイス内に配置することにより、プロセスを構成し直したり、アップグレードしたり、拡大したり、それ以外の場合にはフィールドデバイスが互いに通信する方法を構成し直すことにより、変更することが可能になる。ただし、制御機能を実行するデバイスのすべてが1つの開放通信規格に準拠しているため、このような通信再構成は、比較的簡単である。その結果、このような制御スキームの再構成は、ある特定の製造メーカの独占情報を必要または使用したり、独占的な方法でのデバイスの再プログラミングを必要とすることはない。さらに、分散化制御は、プロセス制御装置のそれぞれがDCSや他のコントローラに直接接続される必要はないが、代わりにデバイスのすべてを1つのバスタイプアーキテクチャを使用して同時に接続することができるため、プロセス環境内で必要とされるワイヤの数や長さを削減する。また、分散化制御を行うと、各信号が移動しなければならない距離が短くなったため、および典型的にはDCSコントローラで発生するデータフローボトルネックが削減されるために、プロセスの総体的な制御速度が加速される結果となる。
正確には、さまざまな制御機能が、プロセス制御ネットワーク全体に分散されるいろいろなデバイスにより異なるときに実現されるために、分散化制御はプロセス制御ネットワークをさらに構成し直しやすくする一方で、例えばネットワークの起動などのプロセス制御ネットワークをデバッグし、チューニングする手順をはるかに困難にする。実際、Fieldbusネットワークなどの分散化された制御機能を有するプロセス制御ネットワークは、バス上で同期通信を使用しきわめて複雑に対話し、そのため多様な制御要素と機能デバイスの間の対話をモデル化するのが困難であり、プロセス制御システムの設計に一体となって関与していなかったオペレータによって完全に理解されない可能性がある、多くの制御要素および機能デバイスを含む。最大の複雑度と操作難易度が、プロセスネットワークが初めて初期化されるとき、つまり「オンラインにされる」ときに生じるのは言うまでもない。不安定になるプロセス制御ネットワークは、特に石油とガスのパイプライン用途、原子力発電所、化学処理用途、および類似物などにおいてきわめて危険であるため、初期化プロセスは、一般的にはかなりの技能を必要とする。さらに、プロセス制御システムがいったん稼動中になると、システムのチューニングまたは再チューニングが必要となることがある。
分散型制御機能を有するプロセス制御ネットワークは、異なる動作のそれぞれをステップごとに実行したり、プロセス制御スキームのデバッグとチューニングを可能にするために所定の時間で停止するようにプログラムできる総合的な制御アルゴリズムを記憶する集中制御装置を含まないため、これらのシステムがオンラインにされるときにそれらのシステムをデバッグすることは困難であり、これらのシステムをチューニングし直すことは困難となる可能性がある。実際、総合的な制御スキームのさまざまな機能は、バス上で発生する同期通信に基づき、プロセス制御ネットワーク内の異なった場所で実行され、これらの異なった制御機能は所定の時間に実現するようにスケジュールされるため、そのすべてが、新規制御スキームを実現するときや、プロセス制御スキームをデバッグまたはチューニングし直すときに有利である、可変値などを表示するために多様なポイントで制御スキームを停止し、制御スキームを通して一度に1つづつ動作を実行したり、制御スキームをチューニングし直すための機構はない。
発明の要約
本発明は、分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングするための方法および機器を目的とする。本発明の1つの態様に従って、分散型制御機能を有するプロセス制御ネットワークの初期化およびチューニングの間、方法は、実行中のプロセスループを停止し、ユーザに表示するためにプロセス制御情報を保存する。それ以降、ユーザによって命令されると、方法はプロセス制御ネットワークの実行を続行し、システムエラーを隔離、つまり「バグ」する。また、方法は、制御機能パラメータをループ実行速度でリアルタイムで監視し、保存し、プロセス制御ネットワークをチューニングしたり、チューニングし直す際に有効である「トレース」機能を提供する。
本発明の別の態様に従って、方法および機器は、選択されたプロセス制御パラメータをチューニングするためのリクエストを受け取り、バス上でパラメータを調整し、プロセス制御ループ内でリアルタイムで制御機能の入力パラメータと出力パラメータを監視し、オペレータが、分散型制御機能を有するプロセス制御ループが適切にチューニングされているかどうかを判断できるようにする。
本発明のさらなる態様に従って、二線式両方向デジタル通信環境で動作するプロセス制御ループは、プロセス制御ループの実行中にリアルタイムでプロセス制御変数およびその変数を記憶するメモリにアクセスするための制御論理回路を含む。プロセス制御変数は、プロセス制御ループ内のデバイスが局所的に、またはプロセス制御ループに接続または結合されるホストデバイスに周辺で使用できる可能性がある。1つの実施例においては、プロセス制御ループは、1つまたは複数のブレークポイントを定義し、特定のイベント、条件またはプログラムコード実行アドレスが発生するブレークポイントまで実行するように制御ループに命令するルーチンを含む可能性がある。また、プロセス制御ループは、プロセス制御スキームのそれ以降の機能ブロックを単一ステップで進むために、ブレークポイントの発生時に、またはそれ以外のフロー制御位置で有効であるルーチンを含む可能性もある。
ブレークポイントは、制御機能の間と、プロセス制御ループ内のプロセス制御装置内に記憶される制御機能の内側の両方で実現してよい。例えば、1つのブレークポイントが、データがバス上でフィールドデバイスの中にラッチされてから設定され、第2ブレークポイントが、フィールドデバイスが制御機能を実行してから設定されることがある。別の例では、第1ブレークポイントは、制御アルゴリズムが実行されてからではあるが、データが同じまたは異なるプロセス制御デバイス内に存在することがある別の制御機能に転送される前に設定されるが、第2ブレークポイントは、データがあるデバイスから別のデバイスに伝送された後であるが、次のプロセス制御機能に対応するアルゴリズムが実行を開始する前に設定される。
本発明の方法および機器を使用すると、分散型制御機能を有するプロセス制御ネットワーク内でプロセス制御スキームを単一ステップで進み、所定のブレークポイントでのようなプロセス制御スキームを停止させる能力のために、診断試験時間が大幅に縮小される。
【図面の簡単な説明】
図1は、Fieldbusプロトコルを使用する例のプロセス制御ネットワークの概略ブロック図である。
図2は、その中の3つの機能ブロックのセットを有するFieldbusデバイスの概略ブロック図である。
図3は、図1のプロセス制御ネットワークのデバイスのいくつかの中での機能ブロックを示す概略ブロック図である。
図4は、図1のプロセス制御ネットワーク内のプロセス制御ループの制御ループ概略図である。
図5は、図1のプロセス制御ネットワークのバスのセグメントのマクロサイクルのタイミング概略図である。
図6Aは、図1のプロセス制御ネットワークをデバッグする上で使用するためのブレークポイントルーチンの動作を示すフローチャートである。
図6Bは、図1のプロセス制御ネットワークをデバッグする上で使用するためのステップルーチンの動作を示すフローチャートである。
図6Cは、図1のプロセス制御ネットワークをチューニングする上で使用するためのチューニングルーチンの動作を示すフローチャートである。
図7は、チューニングルーチンの間の図4のプロセス制御ループでの機能ブロックのセットの動作を示す概略ブロック図である。
図8は、本発明に従ったブレークポイント単一ステップおよびチューニングを可能にするトレースチューニング機能ブロックの図である。
好ましい実施例の説明
本発明のプロセス制御ネットワークをデバッグし、チューニングするための方法および機器は、Fieldbus(フィールドバス)デバイスのセットを使用し、分散化または分散型手法でプロセス制御機能を実現するプロセス制御ネットワークといっしょに詳細に説明されるが、本発明のデバッグおよびチューニングの方法と機器が、二線式バス以外に依存するプロトコル、およびアナログ通信だけ、またはアナログ通信とデジタル通信の両方をサポートするプロトコルを含む、それ以外のタイプのフィールドデバイスと通信プロトコルを使用して、分散型制御機能を実行するプロセス制御ネットワークとともに使用できることが注記されなければならない。したがって、このプロセス制御ネットワークがHART(ハート)、PROFIBUS(プロフィバス)などの通信プロトコル、または現在存在するか、将来開発される可能性のあるそれ以外の任意の通信プロトコルを使用するとしても、例えば、本発明のデバッグし、チューニングする方法および機器は、分散型制御機能を実行する任意の制御プロセスネットワークで使用することができる。
本発明のデバッグし、チューニングする方法および機器の詳細を説明する前に、Fieldbusプロトコル、このプロトコルに従って構成されたフィールドデバイス、およびFieldbusプロトコルを使用するプロセス制御ネットワーク内で通信がどのように発生するのかについての一般的な説明が示される。ただし、Fieldbusプロトコルはプロセス制御ネットワーク内で使用するために開発された比較的新しい全デジタル通信プロトコルである一方で、このプロトコルが技術で既知であり、出版、配布され、とりわけテキサス州オースティン(Austin,Texas)に本拠がある非営利団体であるFieldbus財団から入手できる多数の記事、パンフレット、および仕様書に詳細に説明されていることを理解する必要がある。特に、Fieldbusプロトコル、およびFieldbusプロトコルを使用するデバイスと通信し、そのデバイスにデータを記憶する手法は、ここに全体的に参照して組み込まれる、フィールドバス財団の通信技術仕様書およびユーザレイヤ技術仕様書として知られるマニュアルに詳しく説明される。
Fieldbusプロトコルは、計器または例えば工場やプラントなどのプロセス制御環境に位置するセンサ、アクチュエータ、コントローラ、弁などの「フィールド」装置を相互接続する二線式ループつまりバスへの標準化された物理インタフェースを提供する、全デジタル、シリアル両方向通信プロトコルである。Fieldbusプロトコルは、実質的には、プロセス設備内にフィールド計器(フィールドデバイス)用ローカルエリアネットワークを提供し、これらのフィールドデバイスがプロセス全体で分散された場所にある制御機能を実行し、総合的な制御戦略を実現するためにこれらの制御機能が実行される前後に互いに通信できるようにする。Fieldbusプロトコルは制御機能をプロセス制御ネットワーク全体に分散できるようにするため、それは典型的にはDCS(分散型制御システム)と対応する集中プロセスコントローラの複雑度を削減するか、その必要性をまったく排除する。
図1を参照すると、Fieldbusプロトコルを使用するプロセス制御ネットワーク10は、プログラム論理コントローラ(PLC)13、多くのコントローラ14、別のホストデバイス15、およびフィールドデバイス16,18,20,22,24,26,28,30、および32のセットなどの多くのそれ以外のデバイスに、二線式Fieldbusループつまりバス34を介して接続されるホスト12を含むことがある。バス34は、ブリッジデバイス30および32によって分離される、さまざまなセクションまたはセグメント34a、34b、および34cを含む。セクション34a、34b、および34cのそれぞれは、バス34に接続されるデバイスのサブセットを相互接続し、後述されるようにデバイス間の通信を可能にする。言うまでもなく、図1のネットワークは説明のためだけであり、プロセス制御ネットワークをFieldbusプロトコルを使用して構成できるそれ以外の多くの方法がある。典型的には、構成者は、フィールドデバイスがバス34から取り除かれるときに新しいフィールドデバイスがバス34に接続される時点を認識し、フィールドデバイス16〜32により生成されるデータを受け取り、ホスト12または何らかの手法でホスト12に接続されるそれ以外のデバイス内に位置することがある1つまたは複数のユーザ端末とインタフェースするだけではなく、(そのそれぞれが通信、および場合によっては制御機能を実行することができるマイクロプロセッサを含むという点で「スマート」なデバイスである)デバイスのそれぞれをセットアップしたり、構成する責任を負うホスト12のようなデバイスの内の1つに位置する。
バス34は、二線式の、純粋にデジタルな通信をサポートするか、可能にし、フィールドデバイス16〜32のようなそれに接続されるデバイスの任意のものまたはすべてに電力信号を提供することがある。代わりに、デバイス12〜32のどれかまたはすべてが専用の電源を備えたり、別個のワイヤ(図示されていない)を介して外部電源に接続されることがある。デバイス12〜32は、複数のデバイスがバスセグメント34a、34b、および34cを構成する同じワイヤの組に接続される標準型バスタイプコネクションでバス34に接続されているとして図1に説明されているが、Fieldbusプロトコルは、各デバイスが(通常4〜20mAのアナログDCSシステムに類似する)別個の二線式組を介してコントローラまたはホストに接続される2地点間通信、および各デバイスが、例えばプロセス制御ネットワーク内のフィールドデバイスの内の1つでのジャンクションボックスや端末領域である場合がある二線式バスでの1つの共通ポイントに接続されるツリー、つまり「支線」コネクションを含むその他のデバイス/ワイヤトポロジを可能にする。
データは、Fieldbusプロトコルに従って同じまたは異なる通信ボーレートつまり速度で、異なるバスセグメント34a、34b、および34c上を送信されることがある。例えば、Fieldbusプロトコルは、図1のバスセグメント34bと34cによって使用されているとして示される毎秒31.25Kbitの通信速度(H1)、および通常、高度プロセス制御、遠隔入出力、および高速工場自動化用途に使用され、図1のバスセグメント34aによって使用されているとして示される毎秒1.0Mbitおよび/または毎秒2.5Mbit(H2)通信速度を提供する。同様に、データは、電圧モードシグナリングまたは電流モードシグナリングを使用して、Fieldbusプロトコルに従ったバスセグメント34a、34b、および34c上で送信されることがある。言うまでもなく、バス34の各セグメントの最大長は、厳密に制限されていないが、代わりにそのセクションの通信速度、ケーブル種類、ワイヤサイズ、バス電力オプションなどによって決定される。
Fieldbusプロトコルは、バス34に接続できるデバイスを3つのカテゴリ、つまり基本デバイス、リンクマスタデバイス、およびブリッジデバイスに分類する。(図1のデバイス18,20,24、および28などの)基本デバイスは通信する、つまりバス34上でまたはバス34から通信信号を送受することができるが、バス34で発生する通信の順序またはタイミングを制御することはできない。(図1のホスト12だけではなく、デバイス16、22および26などの)リンクマスタデバイスは、バス34上で通信し、バス34上で通信信号のフローおよびタイミングを制御することができるデバイスである。(図1のデバイス30および32などの)ブリッジデバイスは、さらに大きなプロセス制御ネットワークを作成するために、Fieldbusの個々のセグメントや分岐で通信し、相互接続するように構成されたデバイスである。希望される場合、ブリッジデバイスは、バス34の異なるセグメント上で使用される異なるデータ速度および/または異なるデータシグナリングフォーマットの間で変換し、バス34のセグメントの間で移動する信号を増幅し、バス34のさまざまなセグメントの間で流れる信号を濾波し、ブリッジが結合される先のバスセグメントの1つでデバイスによって受信されるように当てられたそれらの信号だけを通す、および/またはバス34の異なるセグメントをリンクするために必要なそれ以外の処置を講じることがある。異なる速度で動作するバスセグメントを接続するブリッジデバイスは、ブリッジのさらに低速のセグメント側でリンクマスタ機能を備えなければならない。ホスト12と15、PLC13、およびコントローラ14は、任意のタイプのフィールドバスデバイスでよいが、通常はリンクマスタデバイスとなる。
デバイス12〜32のそれぞれはバス34で通信する機能を備え、重要なことに、バス34上での通信信号を介してプロセスから、または別のデバイスから、デバイスによって取得されるデータを使用して1つまたは複数のプロセス制御機能を独立して実行する機能を備える。したがって、Fieldbusデバイスは、過去においてはDCSの集中デジタルコントローラにより実行されていた総合的な制御戦略の部分を直接実現することができる。制御機能を実行するために、各Fieldbusデバイスは、デバイス内のマイクロプロセッサで実現される1つまたは複数の標準化された「ブロック」を含む。特に、各Fieldbusデバイスは、1つのリソースブロック、ゼロ個または1個以上の機能ブロック、およびゼロ個または1個以上の変換器ブロックを含む。これらのブロックはブロックオブジェクトと呼ばれる。
リソースブロックは、例えばデバイスタイプ、デバイス改訂表示、他のデバイスに特殊な情報がデバイスのメモリ内で入手できる場所の表示などを含むFieldbusデバイスの特性のいくつかに関するデバイスに特殊なデータを記憶し、通信する。さまざまなデバイス製造メーカが異なるタイプのデータをフィールドデバイスのリソースブロックに記憶するが、Fieldbusプロトコルに準拠する各フィールドデバイスはデータを記憶するリソースブロックを含む。
機能ブロックは、フィールドデバイスに関連する入力機能、出力機能、または制御機能を定義し、実現するので、機能ブロックは、通常、入力機能ブロック、出力機能ブロック、および制御機能ブロックと呼ばれる。しかし、ハイブリッド機能ブロックのようなそれ以外のカテゴリの機能ブロックが存在、または将来開発される可能性がある。各入力または出力機能ブロックは、(プロセス測定デバイスからのプロセス変数のような)少なくとも1つのプロセス制御入力または(作動デバイスに送信される弁位置のような)プロセス制御出力を作成するが、各制御機能ブロックは(性質が独占的である可能性がある)アルゴリズムを使用し、1つまたは複数のプロセス入力および制御入力から、1つまたは複数のプロセス出力を作成する。標準的な機能ブロックの例は、アナログ入力(AI)、アナログ出力(AO)、バイアス(B)、制御セレクタ(CS)、分離入力(DI)、分離出力(DO)、手動ローダ(ML)、比例/微分(PD)、比例/積分/微分(PID)、率(RA)、および信号セレクタ(SS)機能ブロックを含む。ただし、他の種類の機能ブロックが存在し、新しいタイプの機能ブロックが定義または作成され、Fieldbus環境で動作する可能性がある。
変換器ブロックは、機能ブロックの入力および出力を、センサおよびデバイスアクチュエータのようなローカルハードウェアデバイスを結合し、機能ブロックが、ローカルセンサの出力を読み取り、ローカルデバイスに弁部材を移動するなどの1つまたは複数の機能を実行するように命令する。変換器ブロックは、通常、ローカルデバイスによって送達される信号を解釈し、ローカルデバイスのタイプ、ローカルデバイスに関連する較正情報などを識別する情報などの、ローカルハードウェアデバイスを適切に制御するために必要な情報を記憶する。
大部分の機能ブロックは、所定の基準に基づいて警報やイベント表示を作成することができ、さまざまなモードで異なるように動作することができる。一般的には、機能ブロックは、例えば、ある機能ブロックのアルゴリズムが自動的に動作する自動モードで、例えば、機能ブロックの入力または出力が手動で制御されるオペレータモードで、ブロックが動作しない休止モード、ブロックの動作が別のブロックの出力から影響を受ける(によって決定される)カスケードモードで、およびリモートコンピュータがブロックのモードを決定する1つまたは複数のリモートモードで動作することがある。
重要なことには、各ブロックは、Fieldbusプロトコルによって定義される標準的なメッセージフォーマットを使用して、Fieldbusバス34上で同じまたは異なるフィールドデバイス内の他のブロックと通信することができる。その結果、(同じデバイスまたは別のデバイスの)機能ブロックの組み合わせは、1つまたは複数の分散化制御ループを作成するために互いに通信できる。したがって、例えば、1つのフィールドデバイスでのPID機能ブロックは、第2フィールドデバイス内のAI機能ブロックの出力を受け取り、データを第3フィールドデバイス内のAO機能ブロックに送達し、フィードバックとしてAO機能ブロックの出力を受け取り、DCSコントローラとは別個で、それから離れたプロセス制御ループを作成するために、バスを介して接続されることがある。このようにして、機能ブロックの組み合わせは、集中DCS環境から制御機能を移動し、DCSマルチ機能コントローラが監督機能または調整機能を実行できるようにしたり、それらを完全に全体で排除できるようにする。さらに、機能ブロックは、プロセスの容易な構成のためのグラフィックによるブロック指向型構造を提供し、これらのブロックは1つの一貫した通信プロトコルを使用できるため、異なる供給業者のフィールドデバイスの間での機能の分散を可能にする。
ブロックオブジェクトを含み、実現することに加え、各フィールドデバイスは、リンクオブジェクト、傾向オブジェクト、警報オブジェクト、およびビューオブジェクトを含む1つまたは複数のオブジェクトを含む。リンクオブジェクトは、フィールドデバイスの内部で、およびFieldbusバス34全体の両方で(機能ブロックのような)ブロックの入力と出力の間のリンクを定義する。
傾向オブジェクトは、図1のホスト12やコントローラ14のような他のデバイスによるアクセスのための機能ブロックパラメータの局所的な傾向変動を可能にする。傾向オブジェクトは、例えば機能ブロックパラメータなどに関する短期履歴データを保持し、このデータを非同期でバス34を経由して他のデバイスや機能ブロックに報告する。警報オブジェクトは、バス34上で警報およびイベントを報告する。これらの警報またはイベントは、デバイスまたはデバイスのブロックの内の1つで発生するイベントに関係することがある。ビューオブジェクトは、標準的な人間/機械インタフェースで使用されるブロックパラメータの事前に定義されるグループ分けであり、ときどき表示するために他のデバイスに送信できる。
図2を参照すると、例えば図1のフィールドデバイス16〜28の内のどれかである可能性がある3つのFieldbusデバイスが、リソースブロック48、機能ブロック50,51または52、および変換器ブロック53と54を含むとして示されている。フィールドデバイスでは、(入力機能ブロックである場合がある)機能ブロック50が、変換器ブロック53を通して、例えば温度センサ、設定ポイント表示センタなどである場合があるセンサ55に結合される。第2デバイスでは、(出力機能ブロックである場合がある)機能ブロック51が、変換器ブロック54を通して、弁56のような出力装置に結合される。第3デバイスでは、(制御機能ブロックである場合がある)機能ブロック52は、機能ブロック52の入力パラメータの傾向を変動する(trending)ためにそれと関連する傾向オブジェクト57を有する。
リンクオブジェクト58は、関連するブロックのそれぞれのブロックパラメータを定義し、警報オブジェクト59は関連するブロックのそれぞれに警報またはイベント通知を提供する。ビューオブジェクト60は、機能ブロック50,51、および52のそれぞれに関連し、それらが関連する機能ブロックのデータリストを含むまたは分類する。これらのリストには、さまざまな定義されたビューのセットのそれぞれに必要な情報が含まれている。言うまでもなく、図2のデバイスは単に例示的であり、ブロックオブジェクト、リンクオブジェクト、警報オブジェクト、傾向オブジェクト、およびビューオブジェクトなどの他の数の、および他のタイプのブロックオブジェクトが任意のフィールドデバイスで提供されることがある。
図3を参照すると、デバイス16,18および24を位置決め装置/弁デバイスとして、およびデバイス20,22,26および28を送信機として描くブロック図は、位置決め装置/弁16、送信機20、およびブリッジ30に関連する機能ブロックも示す。図3に示されるように、位置決め装置/弁16は、リソース(RSC)ブロック61、変換器(XDCR)ブロック62、および1個のアナログ出力(AO)機能ブロック63、2個のPID機能ブロック64と65、および1個の信号選択(SS)機能ブロック69を含む多くの機能ブロックを含む。送信機20は、1個のリソースブロック61、2個の変換器ブロック62、2個のアナログ入力(AI)機能ブロック66と67を含む。また、ブリッジ30は、リソースブロック61およびPID機能ブロック68を含む。
理解されるように、図3のさまざまな機能ブロックは、多くの制御ループで(バス34上で通信することによって)いっしょに動作し、位置決め装置/弁16、送信機20、およびブリッジ30の機能ブロックが位置する制御ループは、これらの機能ブロックのそれぞれに接続されるループ識別ブロックにより図3で識別される。このようにして、図3に示されるように、位置決め装置/弁16のAO機能ブロック63およびPID機能ブロック64、および送信機20のAI機能ブロック66は、LOOP1(ループ1)として示される制御ループ内で接続されるが、位置決め装置/弁16のSS機能ブロック69、送信機20のAI機能ブロック67、およびブリッジ30のPID機能ブロック68は、LOOP2(ループ2)として示される制御ループでされる。位置決め装置/弁16の他のPID機能ブロック65は、LOOP3(ループ3)として示される制御ループ内で接続される。
図3のLOOP1として示される制御ループを構成する相互接続された機能ブロックは、図4に描かれるこの制御ループの概略図でさらに詳細に示される。図4からわかるように、制御ループLOOP1は、位置決め装置/弁16のAO機能ブロック63とPID機能ブロック64、および送信機20のAI機能ブロック66の間の通信リンクにより完全に形成されている。図4の制御ループ図は、これらの機能ブロックのプロセスおよび制御の入力と出力を接続する回線を使用するこれらの機能ブロックの間の通信相互接続を示す。したがって、プロセス測定またはプロセスパラメータ信号を含むことがあるAI機能ブロック66の出力は、バスセグメント34bを介して、AO機能ブロック63の入力に到達可能となるように(communicatively)結合される制御信号を含む出力を有するPID機能ブロック64の入力に到達可能となるように結合される。例えば、弁16の位置を示すフィードバック信号を含む、AO機能ブロック63の出力は、PID機能ブロック64の制御入力に接続される。PID機能ブロック64は、AI機能ブロック66からのプロセス測定信号とともにこのフィードバック信号を使用し、AO機能ブロック63の適切な制御を実現する。言うまでもなく、図4の制御ループ図で回線によって示されるコネクションは、AO機能ブロックおよびPID機能ブロック63と64の場合でのように、機能ブロックが同じフィールドデバイス(例えば、位置決め装置/弁16)内にあるときに、フィールドデバイス内で内部的に実行されることがあるか、これらの機能は標準的なFieldbus同期通信を使用して二線式通信バス34で実現されることがある。言うまでもなく、他の制御ループは、他の構成で到達可能となるように相互接続される他の機能ブロックにより実現される。
通信と制御の活動を実現し、実行するために、Fieldbusプロトコルは、物理層、通信「スタック」、およびユーザ層として識別される技術の3つの一般的なカテゴリを使用する。ユーザ層は、(機能ブロックのような)ブロックおよび特定のプロセス制御デバイスつまりフィールドデバイス内のオブジェクトという形で提供される制御機能および構成機能を含む。ユーザ層は、典型的にはデバイス製造メーカによって独占的に設計されるが、Fieldbusプロトコルによって定義される標準メッセージフォーマットに従ってメッセージを送受信し、標準的にユーザによって構成されることができなければならない。物理層および通信スタックは、二線式ワイヤバス34を使用して標準化された手法でさまざまなフィールドデバイスのさまざまなブロックの間で通信を達成するために必要とされ、よく知られている開放型システム間相互接続(OSI)で層化された通信モデルによってモデル化される可能性がある。
OSI層1に相当する物理層は、各フィールドデバイスおよびバス34に埋め込まれ、Fieldbus伝送媒体(二線式バス34)から受け取られる電磁信号を、フィールドデバイスの通信スタックによる使用が可能なメッセージに変換するために動作する。物理層は、バス34、およびフィールドデバイスの入力と出力でバス34に存在する電磁信号と見なしてよい。
各Fieldbusデバイスに存在する通信スタックは、OSI層2に相当するデータリンク層、Fieldbusアクセスサブレイヤ(sublayer)、およびOSI層6に相当するFieldbusメッセージ指定層を含む。FieldbusプロトコルではOSI層3〜5用の対応する構造はない。ただし、フィールドバスデバイスのアプリケーションは層7を含むが、ユーザ層はOSIプロトコルでは定義されていない層8である。通信スタック内の各層が、Fieldbusバス34で送信されるメッセージまたは信号の一部を符号化または復号かする責任を負う。その結果、通信スタックの層は、プリアンブル、フレーム開始デリミタとフレーム終了デリミタのようなFieldbus信号の一定の部分を追加または削除し、場合によってはFieldbus信号のフレーム除去(stripped)部分を復号化し、信号やメッセージの残りがどこで送信されなければならないのか、または信号が、例えば受信フィールドデバイス内にない機能ブロックのメッセージやデータを含んでいるために廃棄されなければならないかどうかを特定する。
データリンク層は、さらに詳細に後述されるリンクアクティブスケジューラと呼ばれる集中化バススケジューラに従って、バス34へのメッセージの伝送を制御し、バス34へのアクセスを管理する。データリンク層は、伝送媒体上の信号からプリアンブルを削除し、受信されたプリアンブルを使用し、入信Fieldbus信号とフィールドデバイスの内蔵クロックを同期することができる。同様に、データリンク層は、通信スタック上のメッセージを物理的なFieldbus信号に変換し、これらの信号をクロック情報で符号化し、二線式バス34での伝送のための適切なプリアンブルを有する「同期シリアル」信号を作成する。復号化プロセスの間に、データリンク層は、フレーム開始デリミタとフレーム終了デリミタのようなプリアンブル内の特殊符号を認識し、特定のFieldbusメッセージの始まりと終わりを識別し、バス34から受信される信号またはメッセージの完全性を検証するためにチェックサムを実行することがある。同様に、データリンク層は、フレーム開始デリミタとフレーム終了デリミタを通信スタックで追加し、これらの信号を適切なときに伝送媒体に配置することによって、バス34上でFieldbus信号を送信する。
Fieldbusメッセージ仕様層は、ユーザ層(つまり、フィールドデバイスの機能ブロック、オブジェクトなど)が、メッセージフォーマットの標準セットを使用しバス34全体で通信できるようにし、通信サービス、メッセージフォーマット、および通信スタック上に置かれ、ユーザ層に提供されるメッセージを構築するために必要とされるプロトコル動作を記述する。Fieldbusメッセージ仕様層は、ユーザ層用の標準化された通信を供給するため、特定のFieldbusメッセージ仕様通信サービスが、前述の目的のタイプごとに定義される。例えば、Fieldbusメッセージ仕様層は、ユーザがデバイスのオブジェクトディショナリを読み取ることができるようにするオブジェクトディクショナリサービスを含む。オブジェクトディクショナリは、デバイスの(ブロックオブジェクトのような)オブジェクトのそれぞれを記述するか、識別するオブジェクト記述を記憶する。Fieldbusメッセージ仕様層は、ユーザが、デバイスの1つまたは複数のオブジェクトに関連して、この後に記述される仮想通信関係(VCR)として知られる通信関係を読み取り、変更することができるようにするコンテキスト管理サービスも提供する。さらに、依然として、Fieldbusメッセージ仕様層は、そのすべてがFieldbusプロトコルではよく知られており、したがってここではさらに詳細に説明されない可変アクセスサービス、イベントサービス、アップロードサービスとダウンロードサービス、およびプログラム呼出しサービスを提供する。Fieldbusアクセスサブレイヤは、Fieldbusメッセージ仕様層をデータリンク層にマッピングする。
これらの層の動作を許す、つまり可能にするために、各Fieldbusデバイスは、VCR、動的変数、統計、リンクアクティブスケジューラタイミングスケジュール、機能ブロック実行タイミングスケジュール、およびデバイスタグとアドレス情報を記憶するデータベースである管理情報ベース(MIB)を含む。言うまでもなく、MIB内の情報は、標準的なFieldbusメッセージやコマンドを使用して任意の時点でアクセスまたは変更することができる。さらに、デバイス記述が、通常、各デバイスで提供され、ユーザやホストにVFD内の情報の拡張図を提供する。ホストによって使用されるために、典型的にはトークン化されなければならないデバイス記述は、ホストがデバイスのVFD内のデータの意味を理解するために必要とされる情報を記憶する。
理解されるように、プロセス制御ネットワーク全体で分散される機能ブロックを使用して任意の制御戦略を実現するためには、機能ブロックの実行は、特定の制御ループ内の他の機能ブロックの実行に関して正確にスケジュールされなければならない。同様に、さまざまな機能ブロックの間の通信は、適切なデータが、そのブロックが実行する前に各機能ブロックに提供されるように、バス34上で正確にスケジュールされなければならない。
さまざまなフィールドデバイス(およびフィールドデバイス内のさまざまなブロック)がFieldbus伝送媒体上でどのように通信するのかは、ここで図1に関して説明される。通信が発生するために、バス34の各セグメントでのリンクマスタデバイスの1つ(例えば、デバイス12,16、および26)が、バス34の関連するセグメント上での通信をアクティブにスケジュールし、制御するリンクアクティブスケジューラ(LAS)として動作する。バス34の各セグメントごとのLASは、各デバイスの各機能ブロックがバス34で定期的な通信活動を開始することがスケジュールされている時間、およびこの通信活動が発生する時間の長さを含む通信スケジュール(リンクアクティブスケジュール)を記憶し、更新する。バス34のセグメントごとに一方の1つだけのアクティブLASしかない場合があるが、(セグメント34bでのデバイス22のような)他方のリンクマスタデバイスはバックアップLASとして役立ち、例えば現在のLASが失敗するとアクティブになる。基本デバイスは、任意の時点でLASになる機能は備えていない。
一般的には、バス34での通信活動は、そのそれぞれがバス34の特定のセグメントでアクティブな機能ブロックごとに1つの同期通信、およびバス34のセグメントでアクティブな1つまたは複数の機能ブロックに1つまたは複数の非同期通信を含む、繰り返されたマクロサイクルに分けられる。デバイスは、たとえそれが物理的にバス34の別のセグメントに接続されていても、バス34上でのブリッジおよびLASの調整された動作により、アクティブとなる、つまりバス34の任意のセグメントにデータを送信し、そこからデータを受信することができる。
各マクロサイクルの間、バス34の特定のセグメントでアクティブである機能ブロックのそれぞれは、通常、別であるが正確にスケジュールされた(同期)時間で、および別の正確にスケジュールされた時間で実行し、適切なLASにより作成される強制データコマンドに応えてバス34のそのセグメントでその出力データを公表する。好ましくは、各機能ブロックは、機能ブロックの実行期間の終了直後にその出力データを公表するようにスケジュールされる。さらに、さまざまな機能ブロックのデータ公表時間は、バス34のある特定のセグメントでの2つの機能ブロックが同時にデータを発表しないように、連続してスケジュールされる。同期通信が発生していない時間中、各フィールドデバイスは、同様に、警報データ、表示データなどを、トークン駆動型通信を使用して非同期で伝送することが許される。実行時間および各機能ブロックの実行を完了するために必要な時間の量は、機能ブロックが常駐するデバイスの管理情報ベース(MIB)に記憶されるが、前記に注記されるようにバス34のセグメント上のデバイスのそれぞれに強制データコマンドを送信するための時間はそのセグメントのLASデバイスのMIBに記憶される。これらの時間は、機能ブロックが、バス34に接続されるデバイスのすべてによって知られている「絶対リンクスケジュール開始時間」の開始からのオフセットとして、データを実行または送信する時間を特定するため、通常、オフセット時間として記憶される。
各マクロサイクルの間に通信を達成するには、LAS、例えば、バスセグメント34bのLAS16は、リンクアクティブスケジュールに記憶される伝送時間のリストに従ってバスセグメント34bのデバイスのそれぞれに強制データコマンドを送信する。強制データコマンドを受信すると、デバイスの機能ブロックは、特定の時間量の間、その出力データをバス34で公表する。機能ブロックのそれぞれは、通常、そのブロックの実行がブロックが強制データコマンド受信することがスケジュールされる直前に完了されるようにスケジュールされるため、強制データコマンドに応えて公表されるデータは、機能ブロックのもっとも最近の出力データでなければならない。ただし、機能ブロックがゆっくりと実行しており、強制データコマンドを受信したときに新しい出力をラッチしていない場合には、機能ブロックは、機能ブロックの前回の実行中に生成された出力データを発表し、タイムスタンプを使用して、発表されたデータが古いデータであることを示す。
LASがバス34の特定のセグメント上の機能ブロックのそれぞれに強制データコマンドを送信した後、損機能ブロックが実行している時間の間、LASは、非同期通信活動を発生させる可能性がある。非同期通信を達成するためには、LASはパストークンメッセージをある特定のフィールドデバイスに送信する。フィールドデバイスがパストークンメッセージを受信すると、そのフィールドデバイスはバス34(またはそのセグメント)に完全なアクセスを得て、警報メッセージ、傾向データ、オペレータ設定ポイント変更などの非同期メッセージを、メッセージが完了するまで、または割り当てられた最大「トークン保持時間」が満了するまで送信することができる。その後で、フィールドデバイスはバス34(またはその特定のセグメント)をリリースし、LASはパストークンメッセージを別のデバイスに送信する。このプロセスは、マクロサイクルの最後まで、またはLASが強制データコマンドを送信し、同期通信を達成するようにスケジュールされるまで繰り返す。言うまでもなく、メッセージトラフィックの量およびバスの特定のセグメントに結合されるデバイスとブロックの数に応じて、必ずしもすべてのデバイスが各マクロサイクル中にパストークンメッセージを受け取らない可能性がある。
図5は、図1のバスセグメント34bの機能ブロックが、バスセグメント34bの各マクロサイクルの間に実行する時間、および同期通信が、バスセグメント34bと対応する各マクロサイクルの間に発生する時間を描くタイミング概略図を示す。図5のタイミングスケジュールでは、時間は水平軸に示され、(図3の)位置決め装置/弁16および送信機20の異なった機能ブロックに対応する活動は垂直軸に示される。機能ブロックのそれぞれが動作する制御ループは、サブスクリプト名称として図5に特定される。したがって、AILOOP1は送信機20のAI機能ブロック66を指し、PIDLOOP1は位置決め装置/弁16などのPID機能ブロック64を指す。示された機能ブロックのそれぞれのブロック実行期間はクロスハッチされたボックスによって描かれるが、スケジュールされた各同期通信は図5の垂直バーによって特定される。
このようにして、セグメント34b(図1)の特定のマクロサイクル中に、図5のタイミングスケジュールに従い、AILOOP1機能ブロックがまずボックス70により指定される時間期間実行する。それから、垂直バー72によって示される時間期間中、AILOOP1機能ブロックの出力は、バスセグメント34bのLASからの強制データコマンドに応えてバスセグメント34b上で公表される。同様に、ボックス74,76,78,80および81が、(異なるブロックのそれぞれに対し異なる)機能ブロックPIDLOOP1,AILOOP2、AOLOOPI、SSLOOP2およびPIDLOOP3それぞれの実行時間を示す一方、垂直バー82、84、86、88および89が、機能ブロックPIDLOOP1、AILOOP2、AOLOOP1、SSLOOP2、およびPIDLOOP3それぞれがバスセグメント34b上でデータを公表する時間を示す。
明らかとなるように、図5のタイミング概略図は、機能ブロックのどれかの実行時間中、および機能ブロックが実行していないマクロサイクルの最後での時間中、および同期通信がバスセグメント34bで発生しているときに発生する可能性のある、非同期通信活動に使用できる時間も示す。言うまでもなく、希望される場合には、さまざまな機能ブロックを同時に実行するように意図的にスケジュールすることが可能であり、例えば他のデバイスが機能ブロックによって作成されるデータに加入していない場合、すべてのブロックがバスでデータを公表しなければならないわけではない。
フィールドデバイスは、各フィールドデバイスのスタックのFieldbusアクセスサブレイヤに定義される仮想通信関係(VCR)を使用して、データおよびメッセージをバス34上で公表または伝送することができる。クライアント/サーバVCRは、バス34上のデバイス間の待ち行列に入れられた、スケジュールされていないユーザによって始動される1対1の通信に使用される。このような待ち行列に入れられたメッセージは、過去のメッセージを上書きすることなく、その優先順位に従い、伝送のために提出された順序で送受される。したがって、フィールドデバイスは、LASからパストークンメッセージを受信し、リクエストメッセージをバス34上の別のデバイスに送信するときにクライアント/サーバVCRを使用することができる。要求者が「クライアント」と呼ばれ、リクエストを受け取るデバイスが「サーバ」と呼ばれる。サーバは、LASからパストークンメッセージを受け取ると応答を送信する。クライアント/サーバVCRは、例えば、設定ポイント変更、チューニングパラメータのアクセスと変更、警報肯定応答、およびデバイスアップロードとダウンロードなどのオペレータが始動するリクエストを達成するために使用される。
レポート分配VCRは、待ち行列に入れられ、スケジュールされず、ユーザによって始動される1対多通信に使用される。例えば、イベントまたは傾向レポートを持つフィールドデバイスがLASからパストークンを受信すると、そのフィールドデバイスはそのメッセージをそのデバイスの通信スタックのFieldbusアクセスサブレイヤに定義される「グループアドレス」に送信する。そのVCR上で傾聴するように構成されるデバイスがレポートを受け取る。レポート分配VCRタイプは、通常、オペレータコンソールに警報通知を送信するためにFieldbusデバイスによって使用される。
公表者/加入者VCRタイプは、バッファに入れられる1対多通信に使用される。バッファに入れられた通信とは、データの最新バージョンだけを記憶、送信する通信であるため、新しいデータは過去のデータを完全に上書きする。機能ブロック出力は、例えばバッファに入れられるデータを含む。「公表者」フィールドデバイスは、公表者/加入者VCRタイプ使用して、公表者デバイスがLASからまたは加入者デバイスから強制データメッセージを受信すると、バス34上の「加入者」フィールドデバイスのすべてにメッセージを公表または一斉送信する。公表者/加入者関係は事前に決められ、各フィールドデバイスの通信スタックのFieldbusアクセスサブレイヤ内に定義、記憶される。
バス34上で適切の通信活動を保証するために、各LASは定期的に時間分配メッセージをバス34のセグメントに接続されるフィールドデバイスのすべてに送信し、受信側デバイスが互いに同期するようにそのローカルアプリケーション時間を調整できるようにする。これらの同期メッセージの間、クロック時間は、それ自体の内蔵クロックに基づき各デバイス内で独自に維持される。クロック同期により、フィールドデバイスは、例えば、データが作成された時間を示すためにFieldbusネットワーク全体でデータにタイムスタンプを付けることができる。
さらに、各バスセグメント上の各LAS(およびそれ以外のリンクマスタデバイス)は、バス34のそのセグメントに接続されているすべてのデバイス、つまりパストークンメッセージに適切に応答しているデバイスのすべてのリストである「ライブリスト」を記憶する。LASは、ライブリスト上にないプローブノードメッセージを定期的に送信することによって、継続的にバスセグメントに追加される新しいデバイスを認識する。実際、各LASは、それが、パストークンメッセージをライブリスト中のフィールドデバイスのすべてに送信するサイクルを完了した後に、少なくとも1つのアドレスを調べるように要求される。フィールドデバイスが調べられたアドレスに存在し、プローブノードメッセージを受信すると、デバイスはただちにプローブ応答メッセージを返す。プローブ応答メッセージを受信すると、LASはそのデバイスをライブリストに追加し、ノード起動メッセージを調べられたフィールドデバイスに送信することによって確認する。フィールドデバイスは、そのフィールドデバイスがパストークンメッセージに適切に応答する限り、ライブリストにとどまる。ただし、LASは、フィールドデバイスが、3回連続して試した後に、トークンを使用しないか、またはただちにトークンをLASに返さない場合、フィールドデバイスをライブリストから削除する。フィールドデバイスがライブリストに追加されたり、ライブリストから削除されると、LASはライブリスト中の変更をバス34の適切なセグメント上の他のすべてのリンクマスタデバイスに一斉送信し、各リンクマスタデバイスが、ライブリストのカレントコピーを維持できるようにする。
前記に注記されるように、フィールドデバイスの機能ブロック間の通信相互接続および機能ブロックの実行時間はユーザによって決定され、例えば、機能ブロックの実行時間および通信時間をスケジュールするようにLASをプログラムするホスト12内に位置する較正アプリケーションを使用して、プロセス制御ネットワーク10内で実現される。ただし、プロセス制御スキームをただ実現し、それから、バグが存在しないことを保証し、制御スキームのプロセス制御ループが適切にチューニングされていることを保証するために、最初にそのスキームを試験しないでそのプロセスの実行を開始することは一般的には望ましくない。実際には、プロセス制御スキーム内のどこかにあるマイナーなエラーによって、プロセスが非常にすばやく不安定になり、安全ではなく、プロセス制御構成要素に損傷を与える可能性がある。さらに、たとえ制御スキームが正しくても、適切なプロセス動作を保証するためにチューニングされる必要のあるタイミングパラメータ、利得などのパラメータがある。したがって、指定された制御ループの動作中のさまざまなときにプロセスの動作を停止し、開始するための機構を提供し、制御ループが、希望される計画に従って機能していることを保証し、および/または制御ループ内の一定のパラメータをチューニングするために、制御ループ内の分散された場所にあるプロセスパラメータの値を表示することによって、プロセスまたはプロセス制御の状態を表示するための機構を提供することが望ましい。
Fieldbusプロセス制御ネットワークは、ホスト12にデバイスのそれぞれ内に傾向変動ブロックをセットアップさせ、傾向変動されたデータの値を収集させてから、プロセス制御ループが実行し、この種の通信を実行し始めてからそのデータをユーザに表示させることによって、デバッグされたり、チューニングされるが、ホスト12は、ホスト12がLASからパストークンメッセージを受信するときだけ、バス34に接続できるようにする非同期(公表されていない)通信を使用しなければならない。その結果、ホスト12は、傾向オブジェクト(複数の場合がある)により収集されたフィードバックデータが、上書きなどのために失われることがないことを保証することはできない。また、ホスト12は、傾向データが制御ループ内の他のブロックの動作に関して収集されたときを正確に判断できないか、あるいはデータが収集されていたときにどの制御機能が発生したのかを突き止めるためにループのタイミングを再生しなければならない可能性がある。このプロセスは、不正確で単調で時間がかかり、その上、実際には、データが収集されるときにはプロセス制御ループの動作を停止しない。
本発明に従って、ブレークポイントまたは単一ステップ停止ポイントは、プロセス制御ループを構成するデバイスおよび/または機能ブロック内またはその間に設定され、分散型制御機能を有するプロセス制御ネットワーク内のプロセス制御ループが、ブレークポイントまたは単一ステップ停止ポイントの内の1つに到達したときに停止できるようにするために動作する。さらに、チューニング手順により、プロセス制御ループは、1つまたは複数の完全なサイクルを実行し、その後でプロセス制御ループをチューニングし直すために使用することができるプロセス制御ループの「トレース」を作成できるようにする。このようにして、本発明に従って、プロセス制御変数つまりパラメータの値は、1つまたは複数のフィールドデバイスのメモリに記憶され、バスを経由してユーザに送達され、ユーザが、ブレークポイントや単一ステップ停止位置のそれぞれで、つまりタイミング手順中にプロセス制御ループの状態を表示できるようにする。
希望される場合、ブレークポイントまたは単一ステップ停止ポイントは、任意のデバイスに位置し、そのデバイスがプロセス制御スキーム内で動作するときに発生し、プロセス制御ループの、機能ブロック間のような、さまざまなプロセス制御機能の間に位置するか、および/または特定のプロセス制御機能を構成するアルゴリズム内に位置することがある。言うまでもなく、これらのアルゴリズムは通常デバイス通常メーカに独占的であり、通常フィールドデバイス内のメモリに固定またはhardcodedされるため、デバイス製造メーカは、典型的には、機能ブロックを構成するアルゴリズム内でブレークポイントおよび単一ステップ停止ポイントの機能性を提供する。
ブレークポイント、単一ステップ停止ポイント、またはチューニング停止ポイントのそれぞれで、プロセス制御スキームの動作は、ユーザによってバス34上で非同期通信を介して再び開始するように命令されるまで自動的に停止する。希望される場合、ブレークポイント、単一ステップ停止ポイント、またはチューニング手順のどれかが、満たされると、アルゴリズムまたはプロセス制御ネットワークに動作をやめさせ、満たされないと、プロセス制御スキームに中断なく続行させる、それに対応する1つまたは複数の条件を備えている場合がある。条件は、何らかの変数、時間またはそれ以外の希望される条件の値に関連することがある。言うまでもなく、ブレークポイントおよび停止ポイントも、ユーザが多くのブレークポイントや停止ポイントのうちのどれがある特定のデバッグ手順中に稼動中となるのかを制御できるように、オンまたはオフにされることがある。
ブレークポイントまたは単一ステップ停止ポイントに到達すると、1つまたは複数のデバイスが、同期通信または非同期通信のどちらかを使用して、バス34上で希望される変数の値をユーザに送達し、ユーザがブレークポイントまたは単一ステップ停止ポイントでプロセス制御ネットワークの状態を表示し、中断や停止を発生させた条件を表示できるようにする。
ブレークポイントおよび単一ステップ停止ポイントは、通常、プロセス制御ループの機能ブロック内、または機能ブロック間に配置されているが、チューニング手順は、中断をプロセス制御ループ実行サイクルの最後に(つまり、各マクロサイクルの最後に、バスセグメントの所定数のマクロサイクルの完了後に)位置させ、ループの実行を停止することがある。その後、チューニング手順は、ユーザに、先行するマクロサイクル中のループ動作に関するデータを提供し、ユーザが、プロセス制御機能または機能ブロックの内のどれかの内で一定のチューニングパラメータを変更し、それによってプロセス制御ループをチューニングし直すことができるようにする。言うまでもなく、これらの通信は、制御ループの通常の動作が中断されている間に、バス34の非同期通信を使用して実行してよい。
図6A、6Bおよび6Cを参照すると、本発明に従ってプロセス制御ループをデバッグし、チューニングするための方法のフローチャートが示される。プロセスループをデバッグし、チューニングするための方法は、通常、プロセス制御ループのフローを制御しながら、プロセス制御ネットワークの動作に関して可視性を達成するためにプロセスエンジニアにより活用される。これらのプロセス制御ループをデバッグし、チューニングするための方法により、プロセスエンジニアは、プロセス制御ループ初期化を実行し、不適切な初期化の結果、または経時的なシステム内の変更の結果生じる問題を検出できるようになる。言うまでもなく、図6のプロセス制御ループをデバッグし、チューニングするための方法は、プロセス制御ループをオンラインにするための正常な起動活動として起動してよい。これらのループを構成する要素またはルーチンは、さらに詳しく後述されるように、ホストデバイス内の1つまたは複数のメモリ内に、および/または1つまたは複数のフィールドデバイス内のメモリ内に記憶されることがあることに注記しなければならない。
プロセス制御ループをデバッグし、チューニングするとき、ブレークポイント処理ルーチン102(図6A)、単一ステップモード処理ルーチン104(図6B)、およびチューニング処理ルーチン106(図6C)を含む3つの一般的なルーチンが使用できる。3つのルーチン102,104および106のそれぞれは、ブレークポイント、単一ステップ、およびチューニング機能を備える機能ブロックに、ブレークポイントおよび単一ステップ動作をアクティブにさせるようにコマンドを送信することによって、図1のホスト12のようなホストコンピュータによって始動されることがある動作のデバッグモードまたはチューニングモードのときにだけ稼動できる。この時点で、ホスト12は、(ユーザ命令に従って)どのブレークポイントをオンにするのか、各ブレークポイントでの中断条件が何になるのか、およびユーザに表示するためにホストデバイス12に送信されるためには、ブレークポイント(または単一ステップ停止ポイント)でどのデータを収集する必要があるのかを指定することができる。チューニング手順の場合、ホスト12は、表示されるおよび/または潜在的に変更されるパラメータ、チューニングパラメータの変更が許される前に、実行されるループ実行サイクルの数などを指定できる。実際には、このコマンドまたは一連のコマンドは、プロセス制御ネットワークをデバッグモードまたはチューニングモードにする。
図6Aを参照すると、ブレークポイント処理ルーチン102は、図1のバスセグメント34b上のフィールドデバイス16,18,20、および22のような複数のフィールドデバイス内で制御ループが機能ブロックを実行するときに、プロセス制御ループのフローを制御する。ユーザインタフェース、希望されるブレークポイントの場所、およびそのそれぞれに関連するそれ以外のデータを備えるホストデバイス内でソフトウェアによって実現されるブロック110は、例えばバス34上で非同期通信を使用して設定される。ブレークポイントは、デバイスまたはデバイスの機能ブロック内の特定の命令の実行により、中断条件が調べられる命令レベル(ステップ112)で、特定の機能ブロックへのデータフローまたはそれからのデータフロー、あるいはプロセス制御ループの機能ブロックの実行により、中断条件が調べられる機能ブロックレベル(ステップ114)で、および/またはデバイスへのデータフローまたはデバイスからのデータフロー、あるいはデバイスの動作によって中断条件が調べられるデバイスレベル(ステップ116)で設定してよい。言うまでもなく、複数のブレークポイントが設定され、異なるブレークポイントが、異なる命令レベル、機能ブロックレベル、およびデバイスレベルで設定されることがある。
命令レベルでは、ブレークポイントは、選択された命令アドレスロケーションにある機能ブロック内で設定される。指定された命令アドレスの実行時に、ブレークポイント条件は、その条件が満たされているかどうかを確認するために調べられる。満たされている場合は、実行は終了される。この種のブレークポイントは一般的な集中型プロセッサのブレークポイント機能に類似しているが、参照される命令は、ユーザインタフェース端末に関してリモート位置にあるデバイス内にあり、ホストデバイス内にはない。
機能ブロックレベルでは、ブレークポイントは、機能ブロック間のデータの転送時に、または機能ブロックの実行の終わりまたは始めに設定される。機能ブロック間のブレークポイントは、オペレーティングシステム内のLASを制御し、強制データメッセージが、ユーザが、プロセス制御ループのその動作が実行する必要があることを示すメッセージを送信してしまうまで、次の機能ブロックに送達されないようにすることによって強制される可能性がある。この例では、Fieldbus通信スタックによって制御されるLASは、ユーザによって実行するように命令されるまで選択された機能ブロックが実行するのを停止するように命令される。
デバイスレベルでは、ブレークポイントは、指定されたデバイスアドレスのロケーションにある機能ブロック内に設定される。指定されたデバイスの実行時に、実行はブレークポイント条件に基づいて、終了されるか、休止される。
ステップ118は、定義されたブレークポイントのそれぞれが、選択されたイベントで無条件に、または条件付きで発生するように設定し、ホスト12に送達されたユーザ入力に従ってLASデバイスまたはデバイスのそれ以外のものに、そのイベント(例えば、条件突き中断を引き起こすパラメータの値など)のパラメータの表示を記憶する。
ステップ120は、機能ブロック、通常はアナログ出力(AO)機能ブロックなどの制御ループのもっとも上流にある機能ブロックを、制御ループの動作中にアクセスされるデータパラメータがバス34を介してホストデバイス12に送信されるように、稼動ステータスをシュミュレーションするように設定する。その後では、ステップ122で、アクティブなブレークポイントがステップ124により検出されるまで、プロセス制御ループが実行される。一般的に、ブレークポイント処理ルーチン102を実現するための1つまたは複数のコントローラは、LASを備えるデバイスおよび/またはそれ以外のデバイス内に常駐し、適切なバスセグメントのためにLASを制御し、プロセス制御ネットワークが、ブレークポイントに到達するまで実行できるようにする。ブレークポイントでは、LASコントローラまたはそれ以外のコントローラがプロセス制御ループの実行を停止し、関連するプロセス制御ループ内のフィールドデバイスの機能ブロックに記憶される選択されたパラメータに対するアクセスを可能にする。このようにして、ステップ126は、選択されたパラメータにアクセスし、ステップ128は、ユーザに表示するために、ブレークポイントのロケーションを示すデータおよびブレークポイントが発生した理由(例えば条件)に関するデータとともに、ホスト12にこれらのパラメータを伝送する。ホスト12は、既知のまたは希望される通信方法を使用して(ユーザに表示するために)追加プロセスデータを取得することもできる。
Fieldbusシステムでは、デバイスのFieldbus通信ソフトウェアスタックが、必要に応じてリンクオブジェクトを汎用入力ブロックに追加することによって公表された変数を読み取れるようにする表示機能ブロック動作、または公表された変数の表示を更新するために実行されるカスタム機能ブロックが、ブレークポイントでのプロセスデータを検査するために使用されることがある。表示機能ブロック動作は、同様に、すでにバス上で使用できるデータを検索するために必要とされるバスサイクルの数を削減する、変数を別個にポーリングするニーズを排除する。
ステップ130は、ホスト12経由でユーザによりそうするように命令されると、(ステップ122に戻ることにより)プロセス制御スキームを実行し続ける。ユーザ続行を希望しないが、代わりにブレークポイントの停止または変更を希望する場合、ステップ132が、プロセス制御ネットワーク内のブレークポイントを、ホスト12を介してユーザに命令されるように、クリアするか、変更する。それから、ステップ133が、新しいブレークポイントまたはブレークポイント条件が(ステップ122に制御を戻すことにより)インストールされたプロセス制御スキームを実行するために進むか、あるいはブレークポイントルーチン102を終了する。さらに詳しく後述されるように、異なるステップは、好ましくは、バスのLASデバイス内または個々のフィールドデバイス内のソフトウェアによって必要に応じて実行され、デバッグされているプロセス制御ループ内の機能ブロックの動作(停止および開始)を制御する。
図6Bを参照すると、単一ステップモード処理ルーチン104は、制御ループがプロセス制御ネットワーク10内の複数のフィールドデバイス内の機能ブロックを実行するときに、プロセス制御ループのフローを制御する。単一ステップモード処理ルーチン104は、単一ステップ停止ポイントに到達するまでプロセス制御ネットワークを実行するように、ループの実行を停止するように、それからプロセス制御ネットワーク10内のフィールドデバイスの機能ブロックに記憶されるか、それによって生成される選択されたパラメータにアクセスするように、およびユーザに表示するためにホストデバイスのこのようなデータを送信するようにLASデバイスを制御することができる。
特に、ステップ134は、図6Aのルーチン102内のそれらの同じレベルに類似した、命令レベル(ステップ136)で、機能ブロックレベル(ステップ138)で、および/またはデバイスレベル(ステップ140)で設定する。このようにして、命令レベルでステップするとき、ステップは、機能内の各命令アドレスロケーションで設定される。つまり、それらは機能ブロックの機能を実現するアルゴリズム内で設定される。指定された命令アドレスの実行時には、実行が終了される。機能ブロックレベルでステップするとき、各機能ブロックの間のアドレスが指定される。機能ブロックの間のブレークポイントを使用して、これらの単一ステップ停止ポイントは、各機能ブロック実行の最後に実行を停止するようにループ内でLASを制御するか、時間を公表することにより達成できる。1つの実施例では、LASは、Fieldbus通信スタックにより制御され、選択された機能ブロックが実行されるのを停止する。デバイスレベルでステップするとき、ステップは、各デバイスアドレスのロケーションで設定される。指定されたデバイスの実行時に、ループのプロセス制御スキームの実行が終了される。
ステップ142が、例えば、LASデバイスが強制データコマンドを公表できるようにすることによってプロセス制御ネットワークを実行し、ステップ144が、単一ステップ停止ポイントが到達されたかどうかを判断する。到達されていない場合、ステップ142は、単一ステップ停止ポイントに到達するまで繰り返す。停止ポイントに到達されると、ステップ146がパラメータまたは単独ステップ停止ポイントに関連するその他の指定されたデータを検索し、ステップ148がホストデバイスでユーザにこのデータを伝送する。この時点で、単一ステップ停止ポイントの位置を示すデータも、ユーザに表示するためにホストデバイスに送信されることがある。
単一ステップモード処理ルーチン104は、ホスト12が、単一ステップモード処理ルーチン104が終了されることを命令しない限り、ブロック150で続行し、ユーザがホスト12を介して命令すると、制御を実行ステップ142に戻す。もしそうであるならば、単一ステップモードは、ステップ150によりクリアされ、ルーチン104が終了される。
ブレークポイント処理ルーチン102および単一ステップモード処理ルーチン104により、オペレータは、その間プロセス制御ネットワークが不安定になる可能性がある、プロセス制御スキームを多数回のサイクルを通して実行させなくても、プロセスデータおよび機能ブロックを分析し、制御戦略に存在する可能性のある問題点を検出できるようになる。さらに、これらのルーチンによって、ユーザは、通常は、ホストデバイスに送信されたり、ユーザに表示されたりしないプロセス制御ループに関連するデータを表示できるようになり、それによってユーザはプロセス制御スキームをデバッグできるようになる。
図6Cを参照すると、チューニングルーチン106の動作を示すフローチャートが示される。チューニングは、通常、制御ループが動作中に適切な出力を作成するように、例えば、図4のPID機能ブロック64などのPID機能ブロック内で利得または時間定数を設定するために使用される。言うまでもなく、PID制御は、プロセス制御ループが、入力の変更に妥当に速く反応するように(つまり、ループがoverdampedされないように)ではあるが、プロセス制御ループが、ループがプロセス出力の変更や設定ポイントの変更に応えて大きく振動するほど速く応答しないように(つまり、ループがunderdampedされないように)調整されるのが好ましい。
チューニングルーチン106は、テストチューニングパラメータのセットで制御ループを始動するステップ162で始まる。(図4のLOOP1などの)制御ループが選択された時間量の間、または所定のマクロサイクル回数の間実行した後に、ステップ164はループの稼動設定ポイントまたはそれ以外のパラメータや値を変更し、その後でステップ166がループデータまたはパラメータを、例えばループの各マクロサイクルの間にメモリ内で所定のパラメータの値を収集し、記憶することによって傾向変動する。例えば、プロセス制御ループ(つまりマクロサイクル)事前に設定された数の実行の後に、ループのトレースが捕捉されたため、ループの応答が決定できる。このときに、ループの実行は停止または中断され、捕捉されたデータがチューナーデバイスおよび/またはユーザに送達される。チューナーでは、ステップ168が、ループの過去の成績に基づいた新しいチューニングパラメータ(つまり傾向変動されたパラメータ)を計算するか、代わりにユーザがデータを表示し、新しいチューニングパラメータを手動で提供する。次に、ステップ170が(PID利得、時間定数など)新しいチューニングパラメータを、チューニングされているループ内の適切な機能ブロックの中に挿入する。希望される場合、ステップ162から170は、希望されるように繰り返され、チューニングパラメータを調整する。利得またはその他のチューニングパラメータの適切なセットが特定された後、制御ループは(ステップ172で)実行を続け、ステップ174が新しいパラメータでループの安定性をチェックする。ループが安定しており、適切にチューニングされているときは、チューニングルーチン106は中止され、ループは希望される手法でオンラインにされる。
プロセス制御ループをデバッグし、チューニングするための方法102,104、および106は、データをプロセス制御ループサイクルとしてリアルタイムで(または中断されるときに)視覚化し、例えばLASのコマンドを採取し、ブレークポイントおよび単一ステップ動作を実行するようにループを制御することによって動作する。さらに、パラメータは、制御ループのリアルタイム動作中に調整されるが、バス34上の他のデバイスは通常のように動作し、プロセスの残りをオフラインにしなくても制御ループを、隔離し、デバッグできるようにする。
本発明のデバッグおよびチューニングの方法が、分散型制御機能を有するプロセス制御ネットワークで実現される多くの異なった方法がある。例えば、ブレークポイントルーチン、単一ステップルーチンおよびループチューニングルーチン102,104、および106が、LASの通信スタックに記憶される(ブレークポイントおよび停止ポイントアドレス、条件、ループ実行条件などの)すべての必要なデバッグおよび/またはチューニングパラメータに、プロセス制御ループがデバッグモードまたはチューニングモードにあるときに、通信を制御させ、プロセス制御ループ内の機能ブロックの実行を制御させることによって実現されることがある。
図7を参照すると、図4のプロセス制御ループ、LOOP1は、(それぞれがそれに関連する通信スタックを有する)到達可能となるように相互接続された機能ブロック66,64、および63を持つとして示される。さらに、例えば図1のバスセグメント34b上のデバイスのどれであってもよい、LASデバイスの通信スタック190も、LASと機能ブロック66,64、および63の間の通信を示すように図示される。この実施例では、通信スタック190は、機能ブロック66,64、および63(または、これらの機能ブロックが位置するデバイス)が、「スナップショット」運転モードで独立して動作し、それによってブレークポイント、単一ステップ停止ポイント、およびチューニング手順の使用を可能にするために使用されるデバッグ手順および/またはトレースチューン手順を含むように構成される。さらに、この構成では、機能ブロック66,64および63に関連するスタックは、マスタスタック、この場合にはLASデバイスのスタック190からのコマンドによりそうするように命令されない限り、稼動にならないスレーブスタックである。
ブレークポイント、単一ステップ、またはループ分析を実行するために、マスタスタック190は、強制データメッセージを機能ブロック66,64、および64に、例えば図5のタイミングスケジュールによって指定される順序で送信する。ただし、マスタスタック190のトレースチューン機能は、ブレークポイントまたは単一ステップ停止ポイント(またはチューニング停止ポイント)のそれぞれのロケーションを記憶するか、それ以外の場合は追跡調査し、このようなブレークポイントまたは停止ポイントに達すると、プロセス制御ループの動作を中止し、ブレークポイント条件に達したかどうかを判断するか、単一ステップ中断ポイントが存在する場合は動作を停止する。これらの機能を実行するために、マスタスタック190は、機能ブロックから命令を受け取るか、マスタスタックが、ブレークポイント条件が満たされているのかどうかを判断できるようにする機能ブロックからデータを受け取ることがある。言うまでもなく、ブレークポイントに関連する条件が満たされていないと、LASは、プロセス制御スキームつまり戦略を実現するためにメッセージ(強制データメッセージ)を可能にする通信を続行する。しかし、有効なブレークポイントまたは停止ポイントに達すると、マスタスタック190のトレースチューン手順が、収集されたまたは傾向変動されたデータをバスを介してユーザに公表し、1つまたは複数の適切なデバイスに、バスを介してユーザに収集されたまたは傾向変動されたデータを強制的に公表させるか、中断、つまり単一ステップが発生した旨、ブレークポイントの理由、および/またはブレークポイントや停止ポイントでの条件を(ホストデバイスを介して)ユーザに知らせるために必要なそれ以外の処置を講じる。
同様に、マスタスタック190は、ユーザから(ホスト12を介して)、チューニングパラメータを続行、変更するなどの命令を受け取ることがある。マスタスタック190は、ブレークポイント(または単一ステップ停止ポイント)に到達しないとき、またはユーザがマスタスタックに(バス34を介して)次のブレークポイント、単一ステップまで、またはループのトレースが記録されるまで続行するように命令するとき、さらにバス34で強制データコマンドおよびパストークンコマンドを送信することによって、プロセス制御ネットワークを実行し続ける。このようにして、LASデバイス(またはそれ以外のデバイス)内のマスタスタックは、プロセス制御ループの動作を制御し、図6のルーチン102,104および106のブレークポイント、停止ポイント、および追跡機能の実現を可能にする。言うまでもなく、トレースチューン命令は、LASデバイスまたはその他のデバイスのスタックで符号化され、適切な初期化データ(どのブレークポイントをオンにするのか、どのデータを公表するのかなど)を受信するためにホストまたはユーザと通信するために必要な命令を含むことがある。チューニングルーチン106で使用されると、マスタスタック190は、傾向変動されたデータまたはプロセス制御ループの過去の実行中に収集されたデータを、ホスト内に、LASデバイス内に、またはそれ以外のデバイス内に位置するチューナー192に送信するか、および/またはユーザに表示するために、データをホストに送信することがある。チューナー192は、このデータを使用し、新しいチューニングパラメータを計算し、および/またはユーザから新しいチューニングデータを受信することがある。それから、チューナー192は、新しいチューニングパラメータをそこで使用するための適切なデバイスに送信し、それからLASデバイスがプロセス制御スキームをやり直すか、制御スキームが続行できるようにする。
別の実施例においては、別個のトレースチューン機能ブロックが、プロセス制御ループ内の機能ブロックまたはデバイスのそれぞれに関連することがあり、これらの1つまたは複数のトレース機能ブロックは、チューニング手順またはデバッグ手順の間にループ内の機能ブロックを制御し、ブレークポイント、単一ステップ停止ポイント、およびプロセス制御ループのチューニングを可能にするように動作することがある。例えば、図8を参照すると、AI機能ブロック66は、トレースチューン機能ブロック200を含むとして示されるが、PID機能ブロック64およびAO機能ブロック63は、トレースチューン機能ブロック202を共用するとして示される。しかし、希望される場合は、別個のトレースチューン機能ブロックは、PID機能ブロックとAO機能ブロック64と63のそれぞれに提供されるか、または1つのトレースチューン機能ブロックがデバイス内の機能ブロックの任意の組み合わせに使用されることがある。
また、図8に示されるように、機能ブロック66,64および63のそれぞれは、そのそれぞれがそれに関連する1つまたは複数の条件を有することがある、ブレークポイントおよび/または停止ポイントロケーション204を含む。理解されるように、機能ブロック66,64および63は、その中のアルゴリズム内でプログラムされる任意の数のブレークポイントまたは単一ステップ停止ポイントを含むことがある、および/またはこれらのブレークポイントまたは停止ポイントは機能ブロック内で他のアドレスに、またはデバイス内のアドレスに位置することがある。
ブレークポイント、単一ステップ停止ポイント、またはループチューニング手順を開始するとき、ループ内の各機能ブロックに関連するトレースチューン機能ブロック200または202は、例えばホスト12により始動され、これらのトレースチューニングされた機能ブロックは、ユーザから、または例えばホストデバイス内に位置するマスタトレースチューン機能ブロックからこのような条件を受け取ってから、ブレークポイントロケーション204のそれぞれでブレークポイント条件を設定するために使用される。ブレークポイント、単一ステップ、ループチューニング条件、各ブレークポイントを識別するアドレスまたは他のポインタ、単一ステップまたはループチューニング条件がトレースチューン機能ブロック200と202または機能ブロック66,64、および63に記憶された後、制御ループに関連するLASデバイスは、ブレークポイント、単一ステップ停止ポイント、またはループチューニング停止ポイントに達するまで、実行を開始する。特に、AI機能ブロック66のアルゴリズムのようなアルゴリズム内の各ブレークポイントは、ブレークポイントに関連するブレークポイント条件が満たされるかどうかを確かめるためにチェックされ、満たされる場合には、このような表示が、それからすぐにAI機能ブロック66のモードを、同様にプロセス制御ループの上流にある機能ブロック内のモードのカスケードまたは発散(shedding)を引き起こす中断モードに変更するトレースチューン機能ブロック200に通信される。この時点で、トレースチューン機能ブロック200は、AI機能ブロック66内のデータまたはそれに関連するデータおよびブレークポイント条件を、同期バス通信または非同期バス通信を介して公表し、このようなデータをユーザ(またはホストデバイス)へ、またはホストデバイスとの通信を制御するマスタトレースチューン機能ブロックに送達する。それから、ユーザは、バス34上で信号を送信し、トレースチューン機能ブロック200を命令し、機能ブロック66が動作を続行したり、チューニングパラメータなどを変更したり、ルーチン102,104および106に指定されるそれ以外の機能を実行できるようにする。
AI機能ブロック66が完了すると、トレースチューン機能ブロック200は、AI機能ブロック66がバス34条でそのデータを公表する前に再びAI機能ブロック66を中断モードに入れることによってループの動作を中止し、それによって単一ステップ機能を生じさせる。もう一度、この時点で、関連するデバイスまたは機能ブロックデータは、トレースチューン機能ブロック200によりホストに送信されることがある。言うまでもなく、このデータは、プロセス制御機能を実行する機能ブロック66,64またあ63に記憶されるか、トレースチューン機能ブロック200に記憶されることがある。
ユーザがプロセス制御ルーチンが続行しなければならない旨を示した後に、トレースチューン機能ブロック200は、AI機能ブロック66のモードを、AI機能ブロック66に実行を続行させるか、そのデータを動作を開始する可能性のあるPID機能ブロック64に公表させる通常モードに戻す。この時間中、トレースチューン機能ブロック202は、任意のブレークポイント、単一ステップまたはチューニング停止ロケーションに到達したかどうかを判断するためにPID機能ブロック64およびAO機能ブロック63とインタフェースし、到達している場合は、適切な機能ブロック64または63のモードを変更し、それにより同様に中断が発生する機能ブロックの上流にある機能ブロックの発散を引き起こすプロセスの動作を中止する。トレースチューン機能ブロック200と同様に、トレースチューン機能ブロック202は、機能ブロック64および63の実行前、実行中、または実行後にブレークポイント、単一ステップ停止ポイントまたはチューニング停止ポイントの発生を検出し、それによってルーチン102,104または106のどれかの動作を可能にする。
このようにして、トレースチューン機能ブロック200および202は、機能ブロックがそのデータをバス34で公表する直前または直後、あるいは任意のデバイス動作の開始時などに、制御ループの機能ブロックの任意の2つの間だけではなく、制御ブロックの機能ブロックのどれかのアルゴリズムのコード内のブレークポイントまたは停止ポイントを制御することができる。同様に、トレースチューン機能ブロック200および202は、ブレークポイントまたはその他の停止ポイントに到達すると、ホストデバイスに傾向変動されたまたは要求されたデータを送信することができる。さらに、トレースチューン機能ブロック200および202は、それが関連するデバイスのモードを変更することによりモードの実行の停止および開始を制御する。チューニングルーチンで使用されると、トレースチューン機能ブロック200または202は、関連する機能ブロックに適切なチューニングデータを傾向変動させる(trend)か、それ以外の場合適切なチューニングデータを収集させ、このデータを表示するか、そのデータをトレースチューン機能ブロックに関連するメモリに記憶し、このデータを、ユーザに表示する上で、および/またはPID利得などの新しいチューニングパラメータを計算する上で使用するためにチューナーまたはホストデバイスに送信することがある。同様に、ブロック64などの例えばPID機能ブロックに関連するトレースチューン機能ブロックは、PID機能ブロック64内の適切なメモリロケーションに新しいチューニングパラメータを記憶し、プロセスループが続行またはやり直すことができるようにすることがある。
言うまでもなく、ブレークポイント、単一ステップ、またはチューニングルーチンの起動時に、トレースチューン機能ブロック200,202などは、それらが、制御ループ内で機能ブロックのそれぞれを適切に制御するように動作することを保証するために初期化されなければならない。トレースチューン機能ブロック200および202は、その通常の動作中にプロセス制御ループと干渉しないようにセットアップされることがあり、デバッグ手順またはチューニング手順が始動されるときだけループの動作を中止するだろう。
機能ブロック、デバイス、または制御ループに関するデータを収集し、ユーザに送信するために、トレースチューン機能ブロック200および202は、データを傾向変動するか、それらが制御する機能ブロックにデータのを傾向変動させることがあり、傾向変動されたデータを、ブレークポイントまたは停止ポイントでのプロセス条件を識別する上で、およびプロセス制御ループの任意の特定のループの実行後に新しいチューニングパラメータを識別に使用するためにホストに傾向変動されたデータを提供することがある。
言うまでもなく、希望される場合には、このようなブレークポイント、単一ステップポイントおよびチューニングポイントなどのトレースチューン機能ブロックまたはトレースチューン機能を実現するためのそれ以外の方法は、プロセス制御ループ内の機能ブロックやデバイスのそれぞれの個々の動作を制御し、それによってプロセス制御ネットワークをデバッグし、チューニングできるように所定のロケーションまたは希望されるロケーションでのそれらの機能ブロックの様式化された、特殊化された停止および開始を可能にするために、プロセス制御ネットワーク内で希望されるように使用してよい。
機能ブロック200および202は、AO機能ブロックを含むループでデバッグ手順およびチューニング手順を実行するか、そのループを使用する上で使用するためにここに説明されてきたが、本発明の単純な制御ループ構成で接続されるAI機能ブロックおよびPID機能ブロック、トレースチューン機能ブロック、およびその他のデバッグおよびチューニングルーチンは、希望されるように、他の機能ブロックおよび他の制御機能といっしょに使用することができ、ここに示された構成以外の構成を有する制御ループで実現することができる。さらに、機能ブロック200および202の動作は、フィールドバス「機能ブロック」であることなく、デバイスの機能ブロックと関連するデバイス内のソフトウェアにより実行できる。ただし、デバッグモードまたはチューニングモード中にバス上で通信を容易にするために機能ブロック使用することは有利である。
さらに、デバッグ機能およびチューニング機能はここに、Fieldbus「機能ブロック」と使用され、それによって実行されるとして説明されてきたが、本発明のデバッグ機能およびチューニング機能が、その他の型の制御システムおよび/または通信プロトコルに関連する、他のタイプのブロック、プログラム、ハードウェア、ファームウェアなどを使用して実現できることに注記する。実際、Fieldbusプロトコルは、プロセス制御機能を実行することができる特定のタイプのエンティティを説明するために「機能ブロック」という用語を使用するが、ここで用いられる機能ブロックという用語がそのように制限されるのではなく、あらゆる種類のデバイス、プログラム、ルーチンまたはプロセス制御ネットワーク内の分散されたロケーションで任意の手法でプロセス制御機能を実行することができるその他のエンティティを含むことが注記される。したがって、ここに説明されたデバッグ機能ブロックおよびチューニング機能ブロックまたはルーチンは、他のプロセス制御ネットワークで、またはFieldbusプロトコルが、これらのネットワークまたはプロトコルがプロセス内の分散されたロケーションで実行される制御機能に厳密に備えるか、制御機能がプロセス内の分散されたロケーションで実行できるようにする限り、「機能ブロック」として厳密に識別することを使用しない(現在存在しているか、あるいは将来開発される可能性がある)プロセス制御通信プロトコルやスキームを使用して実現することができる。
さらに、機能および機能ブロックをデバッグし、チューニングすることはここに、位置決め装置/弁デバイスを含む制御ループのデバッグおよびチューニングを実行する上で使用されるとして説明されてきたが、これらの機能および機能ブロックが、ダンパー、ファンなどの可動部品を備えるデバイスのようなそれ以外の種類のデバイスを使用する制御ループ内でデバッグおよびチューニングを実行するために使用することができることが注記される。
さらに、ここに説明される機能のデバッグおよびチューニングは、1つまたは複数のプロセス制御デバイス内に記憶されるソフトウェアで実現されるのが好ましいが、それらは、代わりにまたはさらに、希望されるようにハードウェア、ファームウェアなどで実現してよい。ソフトウェア内で実現される場合、本発明のデバッグおよびチューニング機能は、磁気ディスク、レーザディスクなどのコンピュータ読取り可能メモリ内で、その他の記憶媒体上で、デバイスのRAMやROM内などに記憶されることがある。同様に、このソフトウェアは、例えば、電話回線、インターネットなどの通信チャネル上を含む、既知のまたは希望される送達方法を介してユーザまたはデバイスに送達されることがある。
したがって、本発明は、例示的であることだけを意図され、本発明の制限とはならないことが意図される特定の例に関して説明されてきたが、変更、追加または削除を、本発明の精神および範囲から逸脱することなく、開示された実施例に加えることができることは当業者にとっては明らかであろう。
Claims (28)
- バス上で通信可能となるようにリンクされた複数のフィールドデバイスにより実現される分散型制御機能を有するプロセス制御ネットワークをデバッグまたはチューニングする上で使用するためのシステムであって、フィールドデバイスのそれぞれが、1つまたは複数のプロセス制御機能および1つまたは複数の通信機能を実行することができ、
プロセス制御ネットワークの分散型制御機能及び通信機能の実行スケジュールであるプロセス制御スキームを定義するために、バス上で通信可能にリンクされた複数のフィールドデバイスによって実現されるプロセス制御ネットワークの分散型プロセス制御機能および通信機能のそれぞれの実行をスケジュールするプロセス制御動作スケジューラと、
プロセス制御スキームがデバッグ/チューニングモードにあるときに、プロセス制御スキームが中断されなければならない複数のフィールドデバイスの内の1つにより停止が実行されるプロセス制御スキーム内の停止ロケーションを示す情報を記憶するメモリと、
示された停止ロケーションに達し、プロセス制御スキームがデバッグ/チューニングモードにあるときに示された停止ロケーションでプロセス制御スキームの実行を停止するコントローラと、を備えるシステム。 - スケジューラが、バス上での出力データの公開を要求するために複数のフィールドデバイスへのメッセージを可能にする通信を送信することによりバス上の通信を制御し、コントローラがスケジューラに結合され、スケジューラが、プロセス制御スキームが示された停止ロケーションにあるときに、フィールドデバイスへのメッセージを可能にする通信を送信しないようにし、それによってプロセス制御スキームを中断する、請求項1に記載のシステム。
- コントローラが、さらに、バスに通信可能となるように接続されるホストデバイスから命令を受信する通信機、および、プロセス制御スキームの動作を、ホストデバイスでユーザ入力に応えて続行させるための手段とを含む、請求項1に記載のシステム。
- 通信機が、プロセス制御スキームが中断されるときにプロセスの状態に関するプロセス制御データを検索するための手段と、検索されたプロセス制御データをユーザに表示するためにホストデバイスに送信するための手段とを含む、請求項3に記載のシステム。
- 停止ロケーションを示す情報は、プロセス制御スキーム内の条件付ブレークポイントを示し、
停止ロケーションを示す情報は、条件付ブレークポイントに関連する条件と、プロセス制御スキーム内で条件付ブレークポイントに達したときに、条件付ブレークポイントに関連する条件が満たされているかどうかを判断するための手段とを含む、請求項3に記載のシステム。 - 停止ロケーションを示す情報が、プロセス制御スキーム内の命令レベル、機能ブロックレベルおよび/またはデバイスレベルで設定された単一ステップの停止ポイントを多数示す請求項3に記載のシステム。
- 停止ロケーションを示す情報が、プロセス制御スキーム内のチューニングを行う時点であるチューニング停止ポイントを示し、システムがさらに、プロセス制御スキームがチューニング停止ポイントにおいて中断される前に生成されたプロセスパラメータのプロセスデータを記憶するための手段と、記憶されたプロセスデータに基づいて、プロセス制御ネットワークに関するプロセスチューニングパラメータを決定するチューナーと、複数のフィールドデバイスの内の1つにプロセスチューニングパラメータを通信するための手段とを含む、請求項3に記載のシステム。
- プロセスチューニングパラメータが利得である、請求項7に記載のシステム。
- 停止ロケーションを示す情報が、複数のフィールドデバイスの内の1つがプロセス制御スキーム内で動作するようにスケジュールされるときにプロセス制御スキームが中断されるように、複数のフィールドデバイスの内の1つを示す、請求項1に記載のシステム。
- 停止ロケーションを示す情報は、複数のフィールドデバイスのプロセス制御又は通信機能の内の1つのプログラムコード中の命令のアドレスである命令アドレスを示し、命令アドレスがプロセス制御スキームで実現されるときにプロセス制御スキームの中断を引き起こす、請求項1に記載のシステム。
- 停止ロケーションを示す情報が複数のフィールドデバイスの内の1つの機能を示し、機能がプロセス制御スキーム内の複数のフィールドデバイスの内の1つによって実現されるときにプロセス制御スキームの中断を引き起こす、請求項1に記載のシステム。
- コントローラが、示された停止ロケーションが複数のフィールドデバイスの内の1つの動作に関連するときに、複数のフィールドデバイスの1つにより実行される機能の動作を中断するための手段を含んでいる、請求項1に記載のシステム。
- システムが、複数のフィールドデバイスのそれぞれに位置する中断ソフトウェア手段を含み、中断ソフトウェア手段のそれぞれが、表示された停止ロケーションが関連するフィールドデバイスの動作に関連するときに関連するフィールドデバイスによって実行される機能の動作を中断する、請求項1に記載のシステム。
- バス上で通信可能となるようにリンクされる複数のフィールドデバイスにより実現される分散型制御機能を有するプロセス制御ネットワークをデバッグまたはチューニングするための方法であって、フィールドデバイスのそれぞれが、1つまたは複数のプロセス制御機能、および1つまたは複数の通信機能を実行することができ、
プロセス制御ネットワークの分散型制御機能及び通信機能の実行スケジュールであるプロセス制御スキームを定義するため、プロセス制御機能および通信機能の実行の順序をスケジュールするステップと、
プロセス制御スキームが中断されるプロセス制御機能または通信機能に関連する、プロセス制御スキーム内の1つまたは複数の停止ロケーションを設定するステップと、
プロセス制御スキームを実行するステップと、
複数のフィールドデバイスの内の任意の1つが、設定された停止ロケーションの1つを構成する制御機能または通信機能をいつ実現するのかを検出するステップと、
1つの設定された停止ロケーションでプロセス制御スキームの実行を中断するステップと、
プロセス制御スキームの実行が続行することを指示するユーザからの入力を待機するステップと、
プロセス制御スキームの実行が続行する必要があることを指示するユーザからの入力の受信時に、1つの設定されたロケーションでプロセス制御スキームを開始するステップと、を含む方法。 - プロセス制御スキームを実行するステップが、バス上での出力データの公開を要求するために、複数のフィールドデバイスのうち第1のデバイスに対するメッセージを可能にし且つ別のときに複数のフィールドデバイスのうち第2のデバイスに対するメッセージを可能にする通信を送信するステップを含み、プロセス制御スキームの実行を中断するステップが、プロセス制御スキームの実行が続行する必要があることを示すユーザ入力の受信までメッセージを可能にする通信を送信するステップを中止するステップを含む、請求項14に記載の方法。
- さらに、プロセス制御スキームが中断されるとプロセスの状態に関するプロセスデータを検索するステップを含み、検索されたプロセスデータをユーザに表示するためにバスを介してホストに送信する、請求項14に記載の方法。
- 1つ又は複数の停止ロケーションを設定するステップが、条件付ブレークポイントとしてプロセス制御スキームの内の1つを設定し、条件付ブレークポイントに関連する条件を記憶するステップを含み、中断するステップが、プロセス制御スキームが条件付ブレークポイントに達したときに条件付ブレークポイントに関連する条件が満たされているかを判断し、条件が満たされていない場合にはプロセス制御スキームを自動的に続行するステップを含む、請求項14に記載の方法。
- 設定するステップが、プロセス制御スキーム内の命令レベル、機能ブロックレベルおよび/またはデバイスレベルで設定された単一ステップ停止ポイントとして複数の停止ロケーションを設定するステップを含む、請求項14に記載の方法。
- 設定するステップが、プロセス制御スキーム内のプロセス制御チューニング停止ポイントとして1つまたは複数の停止ロケーションを設定するステップを含み、方法が、さらに、プロセス制御スキームが中断される前に複数のフィールドデバイスの1つからのプロセスパラメータに関連するプロセスデータを検索、記憶されるプロセスデータを使用してプロセス制御ネットワークのプロセスチューニングパラメータを決定し、プロセスチューニングパラメータを複数のフィールドデバイスの他のものに通信するステップを含む、請求項14に記載の方法。
- 互いに通信可能となるようにバスに結合される複数のフィールドデバイスによって実現される分散型制御機能を有するプロセス制御ネットワークで使用するためのプロセス制御デバイスであって、フィールドデバイスのそれぞれが、入力機能、出力機能、または制御機能をプロセス制御ネットワーク内で実行することができ、バス上で通信することができる1つまたは複数の機能ブロックを含み、
複数のフィールドデバイスにより実行されるプロセス制御機能および通信機能の実行スケジュールを含むプロセス制御スキームの一部を実行するためにプロセス機能を実現する第1機能ブロックと、
第1機能ブロックと関連する、またはデバイスと関連するプロセス制御スキーム内でのロケーションを示す情報を記憶するメモリと、
プロセス制御スキームが示されたロケーションに到達したときに、プロセス制御スキームを中断するようにプロセス制御デバイスを制御するための手段を含む第1機能ブロックに通信可能となるように結合されるトレースチューン機能ブロックと、を備え、
トレースチューン機能ブロックは、複数のフィールドデバイスに関連する複数の機能ブロックの1組により形成される複数の制御ループのうち1つの実行履歴であるトレースを生成するよう構成されている、プロセス制御デバイス。 - 第1機能ブロックが、プロセス機能を実行するアルゴリズム、およびアルゴリズムの実行後にバスを介して通信するソフトウェアを含み、メモリに記憶されたロケーションが第1機能ブロックのアルゴリズムの実行の前または後のロケーションを示す、請求項20に記載のデバイス。
- 第1機能ブロックが、プロセス機能を実行する命令のセットを含み、表示されたロケーションが命令のセットの1つと関連し、トレースチューン機能ブロックの制御手段が、第1機能ブロックが命令のセットの表示された1つに到達すると第1機能ブロックの動作を停止する、請求項20に記載のデバイス。
- トレースチューン機能ブロックが、プロセス制御スキームの実行を表示されたロケーションで再開するためにユーザ入力に反応する手段を含む、請求項20に記載のデバイス。
- トレースチューン機能ブロックが、プロセス制御スキームの実行が中断されるときに、バスを介してプロセス制御デバイスからプロセスデータを通信するための手段を含む、請求項20に記載のデバイス。
- トレースチューン機能ブロックが、さらに、表示されたロケーションで満たされていなければならない条件を示すための手段、表示されたロケーションで条件が満たされているかどうか判断するための手段、および条件が表示されたロケーションで満たされているときにプロセス制御スキームの実行を停止するための手段とを含む、請求項20に記載のデバイス。
- トレースチューン機能ブロックが、プロセス制御スキームが表示されたロケーションに到達したときに、第1機能ブロックのモードをブレイクモードに変更するための手段を含む、請求項20に記載のデバイス。
- トレースチューン機能ブロックが、プロセス制御スキームの動作中にプロセスパラメータと関連するデータを記憶するための手段と、プロセス制御スキームが表示されたロケーションに到達したときにバスを介して記憶されたデータを通信するための手段とを含む、請求項20に記載のデバイス。
- トレースチューン機能ブロックが、プロセス制御スキームが表示されたロケーションに到達したときに、バスを介して第1機能ブロックからプロセスデータを通信するための手段を含む、請求項20に記載のデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72626396A | 1996-10-04 | 1996-10-04 | |
US08/726,263 | 1996-10-04 | ||
PCT/US1997/017343 WO1998014851A1 (en) | 1996-10-04 | 1997-09-26 | Method and apparatus for debugging and tuning a process control network having distributed control functions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001502085A JP2001502085A (ja) | 2001-02-13 |
JP4390858B2 true JP4390858B2 (ja) | 2009-12-24 |
Family
ID=24917866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51669198A Expired - Lifetime JP4390858B2 (ja) | 1996-10-04 | 1997-09-26 | 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0929854B1 (ja) |
JP (1) | JP4390858B2 (ja) |
CN (1) | CN1262899C (ja) |
AU (1) | AU4597797A (ja) |
BR (1) | BR9711584A (ja) |
CA (1) | CA2267525C (ja) |
DE (1) | DE69704666T2 (ja) |
WO (1) | WO1998014851A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI111106B (fi) | 1999-02-19 | 2003-05-30 | Neles Controls Oy | Menetelmä prosessinsäätösilmukan virittämiseksi teollisuusprosessissa |
US6445962B1 (en) * | 1999-03-15 | 2002-09-03 | Fisher Rosemount Systems, Inc. | Auto-tuning in a distributed process control environment |
TWI262914B (en) | 1999-07-02 | 2006-10-01 | Agouron Pharma | Compounds and pharmaceutical compositions for inhibiting protein kinases |
US6947389B1 (en) * | 2000-06-30 | 2005-09-20 | Fisher-Rosemount Systems, Inc. | Two-mode foundation fieldbus device configurator |
DE10113260B4 (de) | 2001-03-16 | 2005-10-20 | Siemens Ag | Synchrones, getaktetes Kommunikationssystem mit Relativuhr und Verfahren zum Aufbau eines solchen Systems |
US7496041B2 (en) * | 2003-02-28 | 2009-02-24 | Fisher-Rosemount Systems, Inc. | High speed auto-tuning loop |
DE102004063776A1 (de) | 2004-12-30 | 2006-07-13 | Endress + Hauser Gmbh + Co. Kg | Feldgerät zur Daten- und Parameterverarbeitung in einem dezentralen Automatisierungssystems |
US7904182B2 (en) * | 2005-06-08 | 2011-03-08 | Brooks Automation, Inc. | Scalable motion control system |
CN101096409B (zh) * | 2006-06-26 | 2010-05-12 | 山东东大一诺威聚氨酯有限公司 | 一种用于鼠标垫的聚氨酯弹性体的制备方法 |
WO2012028161A1 (en) * | 2010-08-31 | 2012-03-08 | Abb Technology Ag | Method for debugging of process or manufacturing plant solutions comprising multiple sub-systems |
US20120215326A1 (en) * | 2011-02-17 | 2012-08-23 | Invensys Systems Inc. | Distributed Proportional/Integral/Derivative Tuning |
US9002973B2 (en) | 2011-10-21 | 2015-04-07 | Fisher Controls International Llc | Delayed publishing in process control systems |
US9817382B2 (en) | 2013-06-03 | 2017-11-14 | Tescom Corporation | System and methods for control and monitoring of a field device |
US10754329B2 (en) * | 2015-10-12 | 2020-08-25 | Fisher-Rosemount Systems, Inc. | Automatic distribution of device parameters for commissioning portions of a disconnected process control loop |
US10401816B2 (en) * | 2017-07-20 | 2019-09-03 | Honeywell International Inc. | Legacy control functions in newgen controllers alongside newgen control functions |
TWI676942B (zh) * | 2018-05-16 | 2019-11-11 | 中華電信股份有限公司 | 應用於帳務領域之批次執行的加速測試方法與系統 |
CN110989508A (zh) * | 2019-11-04 | 2020-04-10 | 林高峰 | 多层级标准模块的工艺解耦和工序组合控制系统 |
EP3855265B1 (en) * | 2020-01-21 | 2023-08-09 | Hexagon Technology Center GmbH | Ml for process monitoring |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63281597A (ja) * | 1987-05-14 | 1988-11-18 | Yokogawa Electric Corp | 分散形制御システムの機能検査方式 |
JPH0772866B2 (ja) * | 1990-01-26 | 1995-08-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | エキスパート・システムの状態を巻戻す方法及びシステム |
JPH03246733A (ja) * | 1990-02-26 | 1991-11-05 | Nippon Telegr & Teleph Corp <Ntt> | 分散プログラムデバッグ方式 |
EP0450116B1 (de) * | 1990-04-02 | 1995-01-11 | Siemens Aktiengesellschaft | Automatisierungsgerät mit Test in einzelnen Schritten |
JPH04158453A (ja) * | 1990-10-23 | 1992-06-01 | Nec Corp | デバッグサポート方式 |
JPH07113912B2 (ja) * | 1991-05-31 | 1995-12-06 | 富士ゼロックス株式会社 | 分散型情報処理システムのデバッグ方式 |
US5390351A (en) * | 1992-03-06 | 1995-02-14 | Pitney Bowes Inc. | System for communicating with plural nodes in predetermined intervals depended on integers assigned and changed based upon configuration thereof |
JPH07200494A (ja) * | 1993-12-28 | 1995-08-04 | Mitsubishi Electric Corp | 分散制御方式 |
JPH07225603A (ja) * | 1994-02-10 | 1995-08-22 | Yokogawa Electric Corp | 分散形制御装置 |
JP3018912B2 (ja) * | 1994-08-12 | 2000-03-13 | 横河電機株式会社 | 検証支援システム |
JP3244982B2 (ja) * | 1995-01-30 | 2002-01-07 | 株式会社日立製作所 | 分散制御システム |
-
1997
- 1997-09-26 EP EP97944499A patent/EP0929854B1/en not_active Expired - Lifetime
- 1997-09-26 AU AU45977/97A patent/AU4597797A/en not_active Abandoned
- 1997-09-26 CN CNB971985456A patent/CN1262899C/zh not_active Expired - Lifetime
- 1997-09-26 BR BR9711584A patent/BR9711584A/pt not_active Application Discontinuation
- 1997-09-26 CA CA002267525A patent/CA2267525C/en not_active Expired - Lifetime
- 1997-09-26 WO PCT/US1997/017343 patent/WO1998014851A1/en active IP Right Grant
- 1997-09-26 JP JP51669198A patent/JP4390858B2/ja not_active Expired - Lifetime
- 1997-09-26 DE DE69704666T patent/DE69704666T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2267525A1 (en) | 1998-04-09 |
BR9711584A (pt) | 1999-08-24 |
DE69704666D1 (de) | 2001-05-31 |
EP0929854A1 (en) | 1999-07-21 |
AU4597797A (en) | 1998-04-24 |
CA2267525C (en) | 2006-03-21 |
EP0929854B1 (en) | 2001-04-25 |
WO1998014851A1 (en) | 1998-04-09 |
JP2001502085A (ja) | 2001-02-13 |
CN1262899C (zh) | 2006-07-05 |
DE69704666T2 (de) | 2002-05-29 |
CN1232557A (zh) | 1999-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6044305A (en) | Method and apparatus for debugging and tuning a process control network having distributed control functions | |
JP4739515B2 (ja) | 分散制御機能を有するプロセス制御ネットワークにおける遠隔診断 | |
JP3993243B2 (ja) | プロセス制御ネットワーク用のネットワークアクセス可能なインタフェース | |
JP4390858B2 (ja) | 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器 | |
US6742136B2 (en) | Redundant devices in a process control system | |
EP1267233B1 (en) | Function block apparatus for viewing data in a process control system | |
US7519083B2 (en) | Shadow function block interface for use in a process control network | |
JP4072975B2 (ja) | 分散型制御機能を有するプロセス制御ネットワークに於けるローカルデバイスおよびプロセス診断 | |
US6618745B2 (en) | Linking device in a process control system that allows the formation of a control loop having function blocks in a controller and in field devices | |
JP2001501760A (ja) | プロセス制御ネットワークで使用するための保守インタフェースデバイス | |
JP2009080841A (ja) | 分散制御機能を有するプロセス制御ネットワークで用いられる図式ジェネレータ | |
MXPA99003076A (en) | Method and apparatus for debugging and tuning a process control network having distributed control functions | |
MXPA00003216A (en) | Remote diagnostics in a process control network having distributedcontrol functions | |
MXPA99003084A (en) | A network accessible interface for a process control network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070424 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070720 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071022 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080408 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080703 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080811 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090127 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090420 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090608 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090727 |
|
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: 20090908 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091007 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121016 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131016 Year of fee payment: 4 |
|
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 |
|
EXPY | Cancellation because of completion of term |