JP4260221B2 - フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 - Google Patents
フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 Download PDFInfo
- Publication number
- JP4260221B2 JP4260221B2 JP52857797A JP52857797A JP4260221B2 JP 4260221 B2 JP4260221 B2 JP 4260221B2 JP 52857797 A JP52857797 A JP 52857797A JP 52857797 A JP52857797 A JP 52857797A JP 4260221 B2 JP4260221 B2 JP 4260221B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- block
- parameter
- fms
- value
- 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
- 238000000034 method Methods 0.000 title description 141
- 230000008859 change Effects 0.000 description 149
- 230000008569 process Effects 0.000 description 80
- 238000004891 communication Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 40
- 238000007726 management method Methods 0.000 description 40
- 230000004044 response Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000000737 periodic effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 239000000126 substance Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 206010036618 Premenstrual syndrome Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000009530 blood pressure measurement Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25428—Field device
-
- 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/31098—Configuration editor for networking interconnection
-
- 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/31103—Configure parameters of controlled devices
-
- 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/31326—Database to manage communication networks
-
- 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]
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)
- Testing And Monitoring For Control Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Programmable Controllers (AREA)
- Control By Computers (AREA)
Description
本発明は、広義にはデーターベース管理に関し、詳細にはプロセス内で、スマートフィールドデバイスのパラメーターに起きた変化の為のトランザクションレコードのデーターベースを保守する為のデーターベース管理のシステム及び方法に関する。
発明の背景
代表的には、プロセス工場(例えば、化学精製工場及び薬品製造工場)はそのプロセス内のパラメーターを制御、測定するフィールドデバイスを多数持つ。各フィールドデバイスは制御デバイス(流体バルブコントローラーの如き)、測定器(温度ゲージ、プレッシャーゲージ、流量計等)及び/又はプロセスと関連する値に影響し或いはそれを決定する他の如何なるデバイスを含み得る。過去10年ぐらい迄は、フィールドデバイスは代表的には、どちらかと言えば単純なデバイスであって手動或いは電子的に制御されその出力を電子的に表示したり或いはそのデバイスに接続されたゲージに表示するものであった。しかしながら、これらのデバイスは代表的には、これらのデバイスによって得られた表示値或いは測定値に関するアナログ信号のごとき限定的な情報を制御器に提供するのみであった。
最近では、所謂「スマート“フィールドデバイスが開発された。スマートフィールドデバイスはそのデバイスに関連するプロセスコントローラー及び/又は管理システムと通信する事が出来る。代表的なスマートフィールドデバイスはそのデバイスに関連する値、例えば測定値、を示すアナログ信号を送信する事ができ、校正、構成、診断、保守及び/又はプロセス情報を含む詳細なデバイス特有の情報をストアしたり亦デジタル的に送信することも出来る。或スマートデバイスは例えば、デバイスが測定に用いる単位、デバイスが正確に作動可能な最大範囲、デバイスに就いてのトラブルシューテイング情報、デバイスをどの様に、そして何時校正すべきか等をストアし且つ送信する事が出来る。更に、スマートデバイスはそれ自身動作可能で、自己テスト、自己校正等を行う事が出来る。例えばスマートデバイスはハート(HART、ハイウエーアドレス可能遠隔トランスデューサー)プロトコル(ハートデバイス)、フィールドバスプロトコル(フィールドデバイス)、Modバスプロトコル及びDEプロトコル等に従うデバイスを含む。しかしながら、異なったタイプのスマートデバイスをサポートする為に他のスマートデバイスプロトコルが存在可能であり或いは将来開発可能である。
現在、従来式のスマートデバイスはすべて或プロセスに関し、一又はそれ以上の特別な入出力機能を持つ。入力機能とは温度又は圧力測定デバイスによって実行される機能のような、あるプロセスに関連する値を測定或いは読む如何なる機能をも言う。出力機能とはバルブ又は流量コントローラーによって行われるような或プロセス内の或ものを変化する如何なる機能をも言う。更に、フィールドバスデバイスの様な、ある種のスマートデバイスはプロセス制御に関連する機能である制御機能を行う。デバイスに依って行われる各入力、出力及び制御部分機能はブロックと呼ばれる。従って、定義により、各デバイスは少なくとも、一つ及び恐らくそれ以上のブロックを含む。フィールドバスデバイスは通常多重ブロック(即ち、一又はそれ以上の入出力及び制御ブロック)含み、一方ハートデバイスは、それ自体ブロックを持たないが、ハートデバイスの内容は当業者によって唯一つのブロックを構成するものとして考えられている。
各ブロック(概念上のブロック)及び、従って各デバイスは一又はそれ以上のパラメーターを有する。パラメーターはそのブロックを特徴づけ、影響を及ぼし、或いは別の態様で関係するブロックの一属性である。パラメーターは、例えば、ブロックのタイプ、ブロックの最大動作或いは測定範囲、ブロックのモード、ブロック測定値等である。
同様に、各パラメーターはそれに関連する一又はそれ以上のプロパテイを持っており、そのプロパテイの各々はパラメーター内の情報を定義し、或いは記述する。例えば、温度測定デバイスの温度パラメーターは、パラメーターの名前(例えば「温度」)をストアするラベルプロパテイ、パラメーターの値(例えば温度実測値)をストアする値プロパテイ及び温度が表現される単位(例えば摂氏度或いは華氏度)をストアする単位プロパテイからなる。デバイス或いはブロック構成はそのデバイス又はブロック関連の各パラメーターの各プロパテイの値のセットを含む。
上述のように、スマートフィールドデバイスは数種の利用可能なプロトコル(例えばハート及びフィールドプロトコル)の一つに於いて通信可能なように開発される。これらのプロトコルはデバイス製造者にそのデバイス特有の情報を提供する事を許容し、勿論特定の情報はスマートフィールドデバイスの型に依って異なる。従って、これらのプロトコルは複雑であり、デバイスプログラミングにおいて使用上困難がある。更に詳細に述べるならば、これらのプロトコルの或ものは、それに従うすべてのスマートデバイスとの通信の為の完全に整合性を有する方法を提供しない。その代わりこれらのプロトコル、例えばハートプロトコル、は単にデバイス製造者に対し各スマートフィールドデバイスから得られる情報且つその情報の検索方法を特定する方法を提供するたけである。
スマートデバイスとの通信は或程度スマートデバイス製造者の提供するデバイス記述言語(DDL)及びデバイス記述サービス(DDS)の出現によって単純化された。DDLはスマートデバイから得られるデーターを記述する為のプロトコル、スマートデバイスに関連し、其れから検索されるデータの意味、スマートデバイスの実働化の為の方法、データーを取る為のスマートデバイスと通信する為のフォーマット、編集表示及びメニューの如きデバイスに就いて及びスマートデバイスの係る他の情報のハンドリング及びインタープリトの為のユーザーインタフェース情報を提供する人間可読言語である。
DDLソースファイルはデバイス開発者によって書かれた人間可読テキストを含む。これらのファイルはデバイスに関し、デバイスとバス或いはデバイスが接続されるホストとの間のすべての情報を特定化する。基本的には、デバイスの為のDDLソースファイル開発に際しては、開発者は、各ブロック、パラメーター及びスマートデバイスの特別な特徴に関係するグループ特有の、及び販売者特有の定義を提供する為は勿論、デバイスのコア或いは本質的なパラメーター特性を記述する為にDDL言語を使用する。
DDLソースファイルは管理システムの如きホストシステムにストアされる様デバイス製造業者或いは第3者開発者によってユーザーに提供されうる、デバイス記述(DD)として知られる機械可読ファイルを作る為にバイナリフォーマットに編集される。或場合には、例えばフィールドデバイスでは、DDLソースファイルはスマートデバイス内にストアされ得、スマートデバイスからホストシステムに転送し得る。ホストシステムがスマートデバイスの為のDDオブジェクトファイルを受領した時は、デバイスとの完全なインタフェイス記述を導き出す為にDDをデコード及びインタプリトする事が出来る。
DDSはFisher−Resemount Systems,Inc.及び/又はRosemount,Incによって、スマートデバイスのDDを自動的にデコーデイング且つインタプリテイングする為に開発され提供された汎用ソフトウエアシステムである。更に詳細には、DDSはルーテインのライブラリであって、ホストによってコールされた時、1)スマートデバイスのセットアップ及び構成、(2)スマートデバイスとの通信、(3)ユーザーインタフェイス及び(4)スマートデバイスと結合して使用される場合の可能な方法に関する情報を含むスマートデバイスに関する情報をホストに提供する為にスマートデバイスのDDをインタプリトする。DDSの一つの非常に有効な応用例はホストシステムと関連するDDLソースファイル(そして対応のDDオブジェクトファイル)を持つ一又はそれ以上のスマートデバイスどの間に整合性のあるインタフェイスを提供する場合である。
DDS,DDL及びDDは公知であるが、DDLの特定の機能及びフォーマットに関する一層の情報及び特にフィールドバスのDDLに就いての情報はInteroperable System Project Fieldbus Specification Device Description Languageと言うタイトルでInteroperable System Project Foundation(1993)のマニュアルに含まれている。これは参照文献として本明細書に含まれる。ハートDDLに関する同様な文献はthe HART foundationによって提供されている。
管理システムは一つ又はそれ以上のスマートデバイスと相互に作用するシステムであって、デバイス、ブロック、パラメーター、変数或いはこれらのデバイスに関連する構成情報を読む。代表的には、管理システムは、スマートデバイスと相互接続し、通信し且つ其れを再構成することを許す適当な通信ポートを有するパーソナルコンピューターを含む。管理システムはオンラインであり、即ちスマートデバイスと有線或いは他の恒久的な接続が為されている。管理システムは持ち運び可能とする事ができ、スマートデバイスを再構成する為に周期的にスマートデバイスに接続されても良い。
管理システムは代表的にはシステム内でスマートデバイスに関し多様な機能を実行する。例えば、管理システムは或プロセスの状態及び同プロセスに関連或いは接続しているスマートフィールドデバイスに関しての情報(即ち、変数やパラメーターの値)を提供しても良い。管理システムは必要に応じ、プロセス内でスマートデバイスを再構成する事によってユーザがプロセスをモニターしコントロールする事が出来るように使用され得る。
本システムに依って提供される特徴を使用して管理システム内で諸機能を実行する為に用いられるソフトウエアルーテインは代表的にはアプリケーションと呼ばれる。代表的には、管理システムは特定のスマートデバイス上で変化を実行し且つそれからデーター読み取る為に個々のスマートデバイス製造者によって提供されるアプリケーションを実行する。その結果、管理システム内の各種アプリケーションは屡共通の或いは整合性のあるインタフェイスを共有するする事が出来ず、一つのアプリケーションから他のアプリケーションに移行する事は従って、面倒な時間のかかる作業となる。更に、異なったアプリケーションで作られ、且つストアされたスマートデバイス構成データー、構成ログ及びスマートデバイス診断データーは、異なったデーターベースで多様なフォーマットでストアされており、そして或場合には、所有権の絡むフォーマットにストアされている為に、分散不可能であり、相互参照も不可能である。従って、或システム内で、各デバイスに共通な課題が別のアプリケーションでは重ねて行わなければならない。
別々に開発されたアプリケーションを実行する管理システムは代表的には、各デバイスのアプリケーションは別々日稼動しているので、同時に或工場又は或プロセスにおいてすべてのスマートデバイスに関する情報を見ることはない。ユーザーがプロセス内のデバイスに関連するDDS、DDL及びDDに対し、十分な知識をもつことは通常ないので、更に或プロセス内の複数の、異なったデバイスに関するデーターを総括的に見るアプリケーションをユーザーが書くことは不可能である。もし仮にユーザーが十分な知識を持っていたとしても、かかるアプリケーションは開発に時間がかかり亦費用を要し、しかもシステムに新しいスマートデバイスが加わるごとに、同アプリケーションの更新が必要となる。
統合された管理システムの必要性は、そのプロセスに依って作られる製品に、排出物が一定のレベル以下である事、及び安全手続きが基準に合っている等厳密な基準が課せられている、例えば、ある種の化学及び医薬品プロセスを規制するEPA及びFDAの如き政府機関によって認定されなければならないプロセス或いはシステムでは特に大きい。かかる認定を維持する為の規制されたプロセスを実施する為の工場にとって最も容易な方法は重要なプロセスパラメーターの値が、関連の政府機関の規制必要基準及び安全手続きに従う特定の値或いは特定の範囲に留まっている事を政府検査官に証明する十分に徹底した記録を保持する事である。プロセスのスマートデバイス結合した統合システムは、これらの値をデーターベース内に自動的に記録するように用いられる。従って、統合システムのデーターベースにストアされたデーターはこれらの重要な値が夫々の基準値範囲に留まっている事を証明するのに使用され得る。
以前では、管理システムが制御システムにおけるフィールドデバイスの状態を変えた時は(フィールドデバイス内のどの情報を変えた時も)常に、管理システムは内部の「状態データーベース」内に、デバイスの為の完全に新しい或いは現在「状態」をストアした。デバイスの「状態」とは(1)何時変化が起きたか(即ち何時デバイスが新し状態に置かれたか)の表示、及び(2)デバイス内にストアされたすべての情報に対応するデータである。先行技術の状態データーベースはまたデバイスの状態に加えて付加的な情報(即ち何がデバイス状態の変化を起こしたか或いは何故に就いての情報)を含み得た。
この様な態様で状態データーベースを保持する事及び制御システムのそのフィールドデバイスになされた変化の際に常に新しい状態に対応する完全なセットの変数をストアする事は大きな記憶容量と多大なプロセシング時間を必要とする。更に、多重オンライン管理システムは代表的には相互接続され、各システムからのデータは全制御システムの状態を反映する為統合された履歴データベースを構成する為に結合される。各新状態に対応する時間の多重相互接続状態データーベースの記録内の表示の存在は多重データーベースをかかる統合履歴データーベースに開発することを許すけれども、先行技術の管理システムが、携帯通信機と直接インタフェイスし、そして携帯通信機から管理システム内にデーターを転送する事が出来ないと言う良く知られた欠点を克服する事は出来ない。その理由は、極めて原始的な器具である現在の携帯通信機が内部にリアルタイムクロックを持たず、従って、管理システムに携帯通信機が戻す状態記録にタイムスタンプを付す事が出来ないからである。結局、管理システムは時系列的に且つ歴史的なデータベースにおいて、現存する時系列データーベースに対しその新状態をストアする為に携帯通信機から受信した記録又は新状態を挿入すべき特定の時間を決定する事が出来ない。
統合管理システムはまたデバイスが使用されるプロセスの保証性を保持する為にスマートデバイスをもっと規則的に再構成する為に使用される。現在大部分の、複数のスマートフィールドデバイスをサポートする管理システムは、そのサポートされるスマートデバイスの各々の為に書かれた特定化されたソフトウエアを含み、そのスマートデバイスと通信する事が可能である。従って、新しいスマートデバイスをプロセスに加える事は、そのプロセスの為の管理システムが再プログラムされる事を要求する。再度申し上げるが、このプログラミングは、管理システムのソフトウエアのみならずスマートデバイスプロトコル及び新スマートデバイスに就いても知識を持つ人間によって、作られなければならないので、時間がかかり,且つ費用を要する。
特別なプロトコルに従う異なったスマートデバイスとインタフェイスする携帯用通信機が存在するが、これらのデバイスは単にデバイスとの間でデーターを読み書きするだけで、如何なる有意義な態様でそのデーターを処理する事は出来ない。
アプリケーション開発の他の面倒な局面は、あるシステム内の各スマートデバイスとユーザーとの間の通信における、是に関連する或いはこの為に必要な多数の課題を実施する為のアプリケーションをプログラムする事である。開発者は各分離したデバイスとどのように通信するかと言う事を含む詳細について注意を向けなければならないし、同時に開発者は、例えばデイスプレーなどユーザーにどのようにして情報を提供するかについても特別な注意を払はなければならない。代表的なアプリケーションは一定のユーザーインタフェイスを使用しないので、この課題はもっと難しいものとなる。これら機能の各々は多くのプログラミング時間と努力を要求し、それはシステムに新しいスマートデバイスが加わるごとに繰り返されなければならないのである。
更に、アプリケーションは代表的には、プロセス内のデバイス、ブロック或いはの現在構成を見る事をユーザに許すが、そのアプリケーションはユーザに過去の構成を見る事或いはその構成を比較する為の多重構成の同時デイスプレーを許さない。
発明の概要
本発明の1態様では、少なくとも1つの調整可能なパラメータを含む変更可能な構成を各々有する複数のフィールドデバイスの1つに対応付けられる構成データベースを管理するために、コンピュータによるデータベース管理システムが設けられる。このシステムは、調整可能なパラメータを第1時間に第1値に設定するための初期化手段と、調整可能なパラメータを第2時間に第2値に設定するための更新手段と、初期化手段および更新手段に応答して複数のトランザクションを保存するためのトランザクションメモリとを含む。各トランザクションは、特定の調整可能なパラメータの特定の値と、特定の調整可能なパラメータが特定の値を達成する対応時間とを含む。
本発明の別の態様では、少なくとも1つの調整可能なパラメータを含む可変構成を各々有する複数のデバイスの1つに対応付けられる構成データベースを管理するために、コンピュータによるデータベース管理システムが設けられる。このシステムは、特定のデバイスを選択するための第1選択手段と、特定のデバイスの特定のパラメータを選択するための第2選択手段と、特定の時間に特定のパラメータに特定の値を割り当てるための割当て手段と、特定のパラメータの特定の値を特定の時間に特定のデバイスに伝達するために前記割当て手段に結合された手段と、トランザクションレコードを形成するための記録手段とを含む。トランザクションレコードは特定のデバイスを一意に識別する識別子を含み、さらに、特定のデバイスの特定のパラメータと、特定のパラメータの特定の値と、特定の値が特定のパラメータに付与される特定の時間とを指定する。このシステムはさらに、構成データベースにトランザクションレコードを保存するための手段を含む。
【図面の簡単な説明】
図1は、プロセスとディジタル制御システムと管理システムとの間の相互接続を示すブロック図である。
図2は、デバイス通信インタフェースおよび本発明に従って動作する制御装置を有する図1の管理制御システムのブロック図である。
図3は、本発明によるオブジェクト情報の上部階層である。
図4は、本発明によるオブジェクト情報の下部階層である。
図5は、内部に含まれるトランザクションデータベースを示す図2のFMSデータベースの線図である。
図6は、図5のトランザクションデータベースのレコードの線図である。
図7ないし図10は、本発明によるトランザクションデータベース管理システムおよび方法のプログラミングを示す流れ図である。
図11は、図2の制御ブロックを示す。
図12は、本発明に従って構築された制御に対応付けられる初期化段階を示す流れ図である。
図13ないし図19は、本発明による制御の動作を示す流れ図である。
図20は、本発明による1組のデバイス制御によって生成できる表示画面である。
図21は、本発明による1組のパラメータ制御によって生成できる表示画面である。
図22は、本発明による1組のブロック制御によって生成できる表示画面である。
図23は、本発明に従って1組の時間線およびパラメータ制御によって生成できる表示画面である。
図24は、図5のトランザクションデータベースから予想されるデバイス状態を再構築するためのプログラミングを示す流れ図である。
詳細な説明
図1は、以下でフィールド管理解システム(FMSシステム)と呼ぶ管理システム10が、プロセス12、プロセス12を制御するディジタル制御システム14(DCS)、および別のFMSシステム15などさらなる管理システムと相互接続されている状態を示す。プロセス12は、製造工程または精練工程など、所望の種類のプロセスから構成することができ、3つのHARTデバイス16、19、20および1つのフィールドバス22を含む4つのスマートフィールドデバイスと、従来型(すなわち非スマート)デバイス24とを含むものとして示されている。デバイス16、18、20、22、24は、所望の方法でディジタル制御システム14によって制御される。
一般に、FMSシステム10はPCを使用するソフトウェアツールであり、フィールドデバイスの管理タスクを実行する応用プログラムを含む。FMSシステム10は、ユーザがプロセス12に対応付けられるスマートフィールドデバイスのいずれかおよび全部を例えば構成、校正、監視、および障害探索するのを助けることによって、プロセス12内のデバイスの各々のデバイス管理を統合する。
FMSシステム10は、任意の種類のコンピュータまたはマイクロプロセッサを使用するシステムで構成することができ、オペレーティングシステムおよびCPU36に接続されたディスプレイ30、プリンタ31、キーボード32、およびマウス34を含むことができる。FMSデータベース40を備えたメモリ38は、オペレーティングシステムおよびCPU36に接続される。FMSデータベース40を含むメモリ38は、ディスプレイ30またはプリンタ31を介して情報をユーザに表示したりスマートデバイス16、18、20、22と通信することに関連するタスクを実行する際に、FMSシステムによって使用されるソフトウェアおよびデータを保存する。さらにFMSデータベース40は、例えばデバイスの過去の構成に関する情報、オフラインスマートデバイスや従来型デバイスなどのオフラインデバイスに関する情報、および次のサービスがいつ必要になるか、誰がサービス手順を実行したか、望ましい交換デバイス等を含むサービスノートに関する情報など、スマートデバイスからは得られないデバイス関連情報を保存する。オフラインスマートデバイスに関するデータは、そのデータが実際にオフラインデバイス内に保存される形式と同一の形式で、データベース40内に保存することができるので、FMSシステム10にとって、オフラインデバイスは、これらのデバイスがオンラインの場合に利用できるのと同様の方法で、データベース40を介して利用できるように見える。
スマートデバイス16、18は、通信回線42およびモデム44を介してFMSシステムに接続されたオンラインデバイスである。スマートデバイス22は、フィールドバスインタフェース45を介してFMSシステムに接続されたオンラインデバイスである。スマートデバイス20は、FMSシステム10に永久接続されないオフラインデバイスである。しかし、スマートデバイス20は、デバイス20および/または他のスマートデバイスからデータを読み出したり、そこへデータを書き込むために、後で詳述するようにデバイス20および/または他のスマートデバイスのどれにでも定期的に接続できるハンドヘルドコミュニケータおよび/または2次(ラップトップ)FMS46を介して、FMSシステム10と通信することができる。その後、ハンドヘルドコミュニケータおよび/または2次FMS46をFMSシステム10に接続し、それが接続されたスマートデバイス20および/またはその他のいずれかのスマートデバイスに関するデータをアップロードすることができる。
希望すれば、FMSシステムのオペレーティングシステムおよびCPU36を、例えばイーサネット通信リンク48および/またはその他の通信リンクを介して、ディジタル制御システム14および他のFMSシステム、例えばもう1つのFMSシステム15に接続することができる。
図2は、ハードウェアおよびソフトウェアコンポーネントを含むFMSシステム10の様々な構成部品間の相互接続を示すものであり、FMSシステム10のメモリ38に保存された様々なソフトウェアコンポーネントが相互同士、およびディスプレイ30、プリンタ31、キーボード32、マウス34、FMSデータベース40、およびプロセス12内のスマートデバイスと、いかに相互作用するかを説明するために使用される。FMSシステム10のソフトウェアコンポーネントは、メモリ38に保存され、オペレーティングシステムおよびCPU36上で実行することを理解されたい。
FMSシステム10はマイクロソフトウィンドウズ環境(ウィンドウズ95TM環境など)で動作することが望ましく、したがって、標準ウィンドウズオペレーティングシステム46を含み、これは、データや情報をディスプレイ30やプリンタ31に表示したり、データや情報をキーボード32やマウス34から検索するために使用される。したがって、ウィンドウズオペレーティングシステム46に提供されたり、そこから検索される情報は、当業者には周知である所望の種類の標準ウィンドウズ呼出しフォーマットで提供することが望ましい。しかし、本発明では、例えばマッキントッシュ、Xウィンドウズ、またはIBM DOSフォーマットをはじめ、その他の所望のウィンドウズ系または非ウィンドウズ系のインタフェースフォーマット(グラフィカルユーザインタフェースであるか否かに関係なく)を使用して、FMSシステム10を実現することができる。
FMSシステム10は、コアアプリケーション52およびアドオンアプリケーション54から構成される1組のFMSアプリケーションを含む。コアアプリケーション52は基本的に、予め定められ頻繁に使用される動作を実行するために、FMSシステム提供者によって作成されたプログラムである。アドオンアプリケーションは、ユーザまたは第3者開発業者によって作成され、カスタマイズされた機能を実行するためにFMSシステム10に移入された応用プログラムである。
以下で使用するアプリケーションとは、FMSシステム10によって実現されるソフトウェアルーチンを指し、これは、プロセス12または1つ以上のデバイス、ブロック、パラメータに関連するユーザ情報、またはFMSシステム10に接続または対応付けられたデバイスに対応付けられたその他の情報を表示したり、FMSシステム10に対応付けられるか接続された1つ以上のデバイスをユーザに再構成させることができる。アプリケーションによって使用される情報は一般的にプロセス12内のスマートデバイスに保存されるか、またはこれによって作成され、あるいはFMSデータベース40に保存される。
したがって、例えば、FMSシステム10は、ユーザがFMSデータベース40内および/またはプロセス12内部のスマートデバイス内のデータと相互作用して、プロセス12内のデバイスの1つ以上の現在の状態を表示したり、プロセス12内のスマートデバイスの1つ以上の構成を変更したり、複数のデバイスを同時にまたは逐次的に表示したり、共通スマートデバイス制御および構成機能を実行したり、ネットワーク内でデバイスを位置決めするブラウザを実行したり、デバイスの状態を監視したり、アラームリストを生成したり、デバイスの校正および検査ルーチンを実現することを可能にするコアまたはその他のアプリケーションを含むことができる。
その他の一般的なコアアプリケーションとして、構成アプリケーション、構成管理アプリケーション、アラーム走査アプリケーション、履歴イベントログアプリケーション、レポートアプリケーション、トレンド解析アプリケーション、および診断アプリケーションを挙げることができる。構成アプリケーションは、プロセス内のデバイスの1つ以上のパラメータに対応付けられる変数の値を表示し、これらのパラメータ値のうち適切な幾つかをユーザに変更させることができる。構成管理アプリケーションは、例えばデバイスのリセット、デバイスの初期化、およびデバイスの校正など、デバイス全体の構成をユーザに管理させる。アラーム走査アプリケーションは、FMSシステム10によって管理されている全てのデバイスを検査し、これらのデバイスが正しく作動しているかどうか、あるいはこれらのデバイスのどれかに誤りが発生していないかどうかを決定する。履歴イベントログアプリケーションは、例えばユーザログイン情報、FMSシステム10によって管理されているデバイスの構成に行なわれた変更、FMSシステム10によって管理されているデバイスに対応付けられるアラーム、およびその他のイベントを示す時刻表示メッセージを含むイベントログを提供する。レポートアプリケーションは、1つ以上のデバイスの例えば過去、現在、および所望の未来の構成を全て示すレポートを自動的に生成する。トレンド解析または「傾向変動(trending)」アプリケーションは、特定のデバイス内またはプロセス全体で発生するかもしれないトレンド(傾向)を識別するために、プロセス12内のデバイスによって測定されたデータを記録する。その他の所望のアプリケーションを作成し、FMSシステム10に設けることができることは、明白である。
FMSシステム10の動作中、ユーザは、実行するアプリケーションの1つまたはそれ以上を選択する。選択されたアプリケーションは、図2で現在のアプリケーション56として識別されている。複数のアプリケーションをFMSシステム10によって同時に実行できるので、複数の現在のアプリケーション56が存在し得る。現在のアプリケーション56はどれも、ウィンドウズオペレーティングシステム46、インタフェースブロック58、ディジタル制御インタフェース(DCI)60、およびFMSデータベースインタフェース62と直接インタフェースすることができる。望むならば、現在のアプリケーション56は、オープンデータベースコネクティビティ(ODBC)ブロック64(ほとんど全てのデータベースとの通信を可能にする、よく知られたマイクロソフトデータベースアプリケーションインタフェース(API)システム)ともインタフェースすることができる。しかし、多くのアプリケーションにとって、そうした接続は必要でなく、あるいは望ましくない。さらに、現在のアプリケーション56はどれも、ウィンドウズオペレーティングシステム46、プロセス12内のスマートデバイス、およびデータベース40とインタフェースブロック58を介して、間接的にインタフェースすることができる。
インタフェースブロック58は基本的に、例えば特に構成されたウィンドウズカスタムコントロール、OXCコントロール、またはVBXコントロールを有するソフトウェアパッケージであり、これは、現在のアプリケーション56、プロセス12内のスマートデバイス、データベース40、およびウィンドウズオペレーティングシステム46とディスプレイ30とプリンタ31とキーボード32とマウス34とから構成されるユーザインタフェース65の間における特定の頻繁に使用される情報の通信に関係する機能を、自動的に実行する。インタフェースブロック58は現在のアプリケーション56によって使用され、関係するプロトコルの仕様を知っているアプリケーション設計者がいなくても、これらのインタフェース機能を実行することができる。その結果、インタフェースブロック58により、アプリケーションはいっそう容易に設計することが可能になり、一貫したユーザインタフェースが得られる。
現在のアプリケーション56およびインタフェースブロック58は、サーバ68、70から構成されるサーバネットワーク66を介して、DCI60、およびプロセス12内のスマートデバイス、他のFMSシステムまたはディジタル制御システム、および/またはデータベース40とインタフェースして通信することが望ましい。一般的に、サーバネットワーク66はFMSシステム10内に配置され、それに対応付けられるが、図2のDCI60とサーバ66、70との間の点線は、DCI60が、例えば図1に示すイーサネット接続を介して、他のFMSシステムのサーバネットワークにもアクセスできることを示す。
基本的に、DCI60は、データベース40、プロセス12内のスマートシステム、および/またはその他のFMSシステムと通信し、そこからデータを検索するために必要な機能や、これらに関係するその他の機能を実行するライブラリルーチンで構成されるコンビニエンス層(convenience layer)である。動作中、DCI60は、現在のアプリケーション56およびインタフェースブロック58から送信されたコマンドおよびメッセージを、サーバネットワーク66で認識され使用されるフォーマットに変換し、同様に、サーバネットワーク66によって提供されたデータを、現在のアプリケーション56およびインタフェースブロック58で認識され使用される形式に変換する。
DCI60は、これらの通信機能を実施するために任意の好ましいプロトコルを使用できるが、好ましくは目的向きプロトコルを使用し、また最も好ましくは、マイクロソフト社により開発および文書化されたObject Linking and Embedding(OLE)プロトコルのようなオブジェクト連結および埋込みプロトコルを使用する。マイクロソフトOLE(2.0)プロトコルは、マイクロソフトのウインドウズ95のオペレーティングシステムに使用され、技術上周知のものである。
一般に目的向きプロトコルは、送信メッセージにより対話する独立オブジェクトの収集として世界をモデル化するプログラミング模範である。オブジェクトには、データ(状態)およびそのデータで実施できる方法(アルゴリズム)が含まれる。加えてオブジェクトは、インタフェース接続部を通して互いに関連し、また階層メッセージを通して他のオブジェクトと通信できる。オブジェクトは、メッセージを受信すると、そのオブジェクト内のデータを処理することができるオブジェクト自体の方法を使用することにより、および特定のタスクを実施しかつ適切な結果を多分返送するために他のオブジェクトへメッセージを送信することにより、応答する。
DCI60はOLE階層を通してサーバネットワーク66と通信する。DCIは、OLEオブジェクトの読出と書込に関する標準OLE手順と呼出しを使用し、OLEオブジェクト内の一組の列挙された値を列挙し、OLEオブジェクト内の特性を入手および設定し、OLEオブジェクトの方法を呼出しかつ実施し、およびOLEアイテム方法(特定の方式のOLE方法)と連係してOLE収集オブジェクト内に格納されている特性データを検索する。しかしながら他のOLE手順は、サーバネットワーク66と通信するためにOLEオブジェクトでDCI60により実施できる。
以下にさらに詳細に説明するように、FMSシステム10により好ましくは使用される特定のOLE階層は、各種の情報の全てを分類するために、かつDDのそれぞれに関連する各種のDDLのそれぞれに利用できるかまたはそれぞれにより使用される各種の情報間の相関関係を分類するために開発されたOLEオブジェクト階層であり、ついでそのDDは、FMSシステム10によりサービスされているプロセス12内のデバイスと関連する。この決められた階層は一組のOLEオブジェクトを形成し、そのそれぞれは、その階層により定義される一組の特性と、および特性データを処理するために、かつ階層により形成される関係に従って他のOLEオブジェクトと通信するために使用できる特定の組の方法とを格納する。この階層は、図3および4と連係してさらに詳細に検討する。
本質的にDCI60は、決められた階層について識別された全てのOLEオブジェクトがサーバネットワーク66のメモリ内にあたかも存在するように、サーバネットワーク66と通信する。DCI60は、OLEプロトコル内のOLEオブジェクトとの通信に必要な単一の組の呼出しを実施する。しかしながら現実には、それぞれのOLEオブジェクトのデータと方法は、読出の呼出しまたは書込の呼出しのような呼出しが、例えばDCI60、DDS72、スマートデバイスコミュニケーションネットワーク74、またはFMSデータベースインタフェース80によりそのようなOLEオブジェクト用のサーバネットワーク66へ送られるまで、サーバネットワーク66のメモリへは実際には格納または収納されない。その時点においてサーバネットワーク66は、OLEオブジェクトに関係するデータと方法を検索し、かつがサーバ68または70の1つに関連するメモリに格納しなければならないことを認識し、そのOLEオブジェクトのデータと方法を検索するのに必要な機能を自動的に実施する。
サーバネットワーク66は、そのメモリに格納されるOLEオブジェクトの1つの内部のデータと方法の読出と書込に関係する呼出しを受信したとき、プロセス12およびFMSデータベース40内のOLEオブジェクト、DDS72、スマートデバイスからデータを読出しかつ、それへデータを書込むように、その格納されたルーチンに従ってOLEオブジェクトデータへ要求された情報を返すか、または要求された機能を実施する。
同様にDCI60は、サーバネットワーク66に関連するメモリに格納されるOLEオブジェクトの変更を認識または受信し、カレントアプリケーション56およびインタフェースブロック56との通信を実施するために、それに基づいた機能を実施する。サーバネットワーク66は、決められたOLE階層内のOLEオブジェクトとインタフェースをとり、またデバイスサーバ68およびデータベースサーバ70を備える。デバイスサーバ68は本質的には、決められたOLE階層内の一組のOLEオブジェクトとの規定された対応を有する一組のソフトウエアルーチンである。これらのルーチンは、DDS72、スマートデバイスコミュニケーションネットワーク74、および決められた階層のOLEオブジェクトとの通信のために特に開発される。そのようなルーチンは、プロセス12内のスマートデバイスから、および/またはプロセス12内のスマートデバイスに関連するDD(これはファイルである)から入手できるか、またはその内部に格納される特定の種類のデータと情報を例えば送信、検索および変更できる。同様にデータベースサーバ70は本質的に、決められたOLE階層内のOLEオブジェクトに関連する一組のソフトウエアルーチンである。これらのルーチンは、DDSまたはAPIおよび/またはFMSデータベースインタフェース80と通信して、FMSデータベース40から、および/またはスマートデバイス用のデータがFMSデータベース40に格納されるスマートデバイスに関連するDDから入手できるか、またはその内部に格納される特定の種類のデータと情報を例えば送信、検索および変更する。図2に示されるようにDDS72により使用されるDDは、DDSライブラリ72へ連結されるデバイス記述ライブラリ76に格納される。
サーバ66と70のルーチンは、DDS72から、スマートデバイスから、またはデータベース40からOLEオブジェクトのデータを検索するために必要な特定の読出機能を実施するルーチンが、DCI60からのそのようなデータについての要求により自動的に実施されるように、OLEオブジェクトのそれぞれに関連する。同様にサーバ66と70のルーチンは、スマートデバイスの構成を変更するために、または情報をデータベース40に格納するために要求される特定の書込機能を実施するルーチンが、OLEオブジェクト内のそのようなデータを書込む要求により自動的に実施されるように、OLEオブジェクトのそれぞれに関連する。
例えば、スマートデバイス内、またはそれに関連するデータを表すOLEオブジェクト内の特性値を書込むようにDCI60によりなされる要求により、サーバ68は、新しい特性値をスマートデバイスへ書込むルーチンを実施する。同様に、スマートデバイスに格納される、またはそれと関連する特性値を任意のOLEオブジェクトから読出す要求により、そのOLEオブジェクトに関連する特性値をDDSおよび/またはスマートデバイスから検索するサーバルーチンが自動的に呼び出され、またそのような特性値が、OLEオブジェクトとして、サーバ68に関連するメモリ(図示されない)に格納される。同様に、データベース40に格納されるデータに関連するOLEオブジェクト内の特性値を書込むように例えばDCI60によりなされる要求により、そのOLEオブジェクトが関連するデータベース40内の位置へ新しい特性値を書込むサーバ70ルーチンが自動的に実施される。同様に、OLEオブジェクトから特性値を読出す要求により、サーバ70は、DDSから、および/またはこれらの特性値に関連するデータベース40内の位置からそのOLEオブジェクトに関連するデータを検索し、またそのような特性値を、OLEオブジェクトとして、サーバ70のメモリ(図示されない)に格納する。
これらのサーバルーチンは、単純であり、直接的であり、かつ技術に有能な者による書込みが容易であるので、ここでは提供されない。しかしながらOLEおよびDDLに周知の者は、任意の好ましいプログラミング言語を使用して単純な仕方でそのようなルーチンを作成できる。必要に応じて、できるだけ高速で実施して、それによりFMSシステム10内のカレントアプリケーションの操作速度を増加するように、任意の好ましい方法で、そのルーチンを書込むか、または最適化ができる。
一般に、プロセス12のオンラインデバイスの1つから特定のデータ、またはその1つに関連する特定のデータを検索するために、サーバ68はDDS72に特定のデータを尋ねる。そのデータが、スマートデバイス用のDDに格納されているならば、DDS72は、参照されたデバイスについてDDS72を調べるか、または参照されたデバイスのブロックに関連するDDを調べて、要求されたデータをサーバ68へ返す。
特定のデータがDDから入手できたならば、サーバ68は、検索されたデータが関連するOLEオブジェクト内にそのデータを格納し維持する。しかしながら要求された特定のデータがデバイス用またはデバイスのブロック用のDDから入手できないが、代わりにオンラインデバイス内に格納されているならば、サーバ68は、コマンドをスマートデバイスコミュニケーションインタフェース74(これは、例えばカールスルーエに所在するドイツの会社であるSoftIngにより開発されたFieldbusデバイスインタフェース、またはコロラド州ボルダーに所在するMicromotionのHARTデバイスインタフェースを含む既知の任意のスマートデバイスコミュニケーションインタフェースから構成できる)へ送り、オンラインデバイスから特定のデータを検索する。
ついでスマートデバイスコミュニケーションインタフェース74は、サーバ68により要求されるデータのために特定のオンラインデバイスへ到達する仕方についての情報の要求をDDS72へ送る。DDS72は、オンラインデバイス用のDDからこの命令情報を検索し、命令情報をスマートデバイスコミュニケーションインタフェース74へ返し、ついでインタフェース74が適切な要求をオンラインスマートデバイスへ送る。ついでスマートデバイスは、特定のデータを含むデータストリームに応答する。ついでスマートデバイスコミュニケーションインタフェース74は、オンラインスマートデバイスから受信したデータストリームを解釈する仕方についての情報の要求をDDS72へ送る。ついでDDS72は、オンラインスマートデバイス用のDDからの解釈命令を検索し、その解釈命令をスマートデバイスコミュニケーションインタフェース74へ返し、ついでインタフェース74が、サーバ68により要求された特定のデータを抽出するために、解釈命令に従ってオンラインデバイスからのデータストリームを解釈する。ついでスマートデバイスコミュニケーションインタフェースが、特定のデータをサーバ68へ返し、サーバ68は、そのデータが関連するOLEオブジェクトへ検索されたデータを提供する。
サーバー68がまずDDS72に、例えばデータが書込み可能であるかどうか、どのタイプ、どの特定値及びどのデータ範囲が書き込み可能であるか、等の書込み情報の要求を送信する場合を除いて、オンラインデバイスへのデータ書き込みの工程は、同デバイスからのデータ読取りの工程に類似している。データの書き込みが可能であれば、サーバー68はスマートデバイスコミュニケーションインタフェース74に書き込み指令を送り、同インタフェース74は、次いでDDS72とインタフェースで接続して当該オンラインデバイスの書込みプロトコルを照会し、情報に応じてオンラインデバイスに書込み指令を送信する。スマートデバイスコミュニケーションインタフェース74はまた、デバイス内で発生する書込み検証、応答コード、データまたは値の変更等のオンラインデバイスからの他のデータを解釈し、適当なOLEオブジェクトに保存するためにこうしたデータをサーバー68に送信することができる。
インタフェースによっては、DDS72がサーバー68に対し、データ要求に返答するにはさらなる情報が必要であると通知する場合がある。例えば、DDS72は、あるパラメータのハンドリングプロパティ(即ち、同パラメータが読取り可能及び/或いは書込み可能かどうか)が特定デバイスのモードパラメータに依存すると判断することができる。DDS72は、サーバー68に、デバイスのモードパラメータ要求を送信する。サーバー68は、これに応答して、スマートデバイスコミュニケーションインタフェース74にデバイスのモードパラメータ要求を送信し、同インタフェース74は、上述の通りに作動して同デバイスのモードパラメータを検索する。サーバー68は、スマートデバイスコミュニケーションインタフェース74から同デバイスのモードパラメータを受信すると、同情報をDDS72に送信し、DDS72は次いでデバイスのパラメータのハンドリングプロパティを決定し、こうしたプロパティをサーバー68に戻し、サーバー68がこれを受けてその値を適当なOLEパラメータオブジェクトに配置する。
サーバー70と、DDS72と、FMSデータベースインタフェース80との間の通信は、FMSデータベースインタフェース80がスマートデバイスではなくFMSデータベース40との間で情報の読取り及び書込みを行うようにプログラムされていることを除けば、上述のものと類似している。しかしながら一般的には、FMSデータベースインタフェース80は、DDS72とサーバー70との間の通信に関連している点でスマートデバイスコミュニケーションインタフェース74の機能に似ている。
FMSデータベースインタフェース80に、例えばデータベース40に於けるオフラインデバイスに付随する値のような情報、及びオンライン及びオフラインデバイスに対して行われる変更に関するデータを、DDLフォーマットで、即ちオンラインデバイスに於けるこうした情報の保存方法に似たフォーマットで保存させることは可能である。このような場合には、FMSデータベースインタフェース80はDDS72にアクセスしてデータがFMSデータベース40内にどのように保存されているかを決定する必要があると思われる。例えば場合によっては、データベース40は、デバイスの状態を模倣する、といった目的で過去のパラメータ等のパラメータ値を保存している。従って、FMSデータベースインタフェース80は、同データベースにどんな種類のデータが保存されているか、つまり、整数、計数他、を知るために、DDS72にアクセスしてこの情報を検索しなければならない場合がある。しかしながら、データベース40に保存される情報は、DDLフォーマットで保存される必要はない。従って、サーバー70からのデータベース40との間のデータの読取り及び書込み指令を実行するに当たって、FMSデータベースインタフェース80はDDS72にアクセスしてデバイス値を求める必要がない可能性がある。代わりにFMSデータベースインタフェース80は、データベース40との間で直接、データの書込み及び読取りを行うことができる。
FMSデータベースインタフェース80は、好適には任意のコンベンショナルタイプのアプリケーションプログラムインタフェース(API)であり、任意の望ましい或いは周知の方法に従ってデータベース40から情報を検索するように特にセットアップされ、構築されている。従って、FMSデータベースインタフェース80は、データベース40のどこに、どんな方法でデータが保存され、検索されるかを自動的に記録する。
先の指摘の通り、カレントアプリケーション56、及び必要であればインタフェースブロック58もまた、FMSデータベースインタフェース62及びODBCブロック64を通じてデータベース40とインタフェースで接続することができる。FMSデータベースインタフェース62は、データ及び要求をカレントアプリケーション56による認識或いは使用が可能なフォーマットからODBCブロック64による認識及び使用が可能な形式に、またこの逆で変換するように開発されたルーチンのライブラリを有する任意の望ましい或いは周知のアプリケーションプログラムインタフェースで構成することができる。FMSデータベースインタフェース62(API)を使用してデータベース40への書込みを行うことは、ODBCブロック64を直接使用することとは対照的に、データベースの完全性及び一貫性の維持を助長し、またアプリケーションがデータベース管理からシールドされるためにアプリケーションによる書込みが容易になる。典型的には、データベース40にデータを本明細書に於いて検討したOLEオブジェクト階層通信計画によるアクセスが不可能な、或いは同計画との互換性のないフォーマットで保存する必要のあるアプリケーションでは、FMSデータベースインタフェース62及びODBCブロック64(または他の任意のオープンデータベースアクセスシステム)が使用される。
図3及び図4は、1つまたは複数のDDLで定義された、或いは同DDLから入手可能な全ての情報を表示するように開発された特別のOLEオブジェクト階層と、こうしたDDLのプロトコルに従ったスマートデバイスと、こうしたDDLを使用しているデバイスに関連する情報を保存したデータベースとを示している。図3及び図4の階層はまた、こうしたOLEオブジェクト間の関係性を表示している。この階層をOLE環境に於いて使用すると、DDL、DDLを使用するスマートデバイス及びDDLを使用するスマートデバイスに関連する情報を保存するデータベースに付随する情報を検索するアプリケーションを実行することができる。このように、図3及び図4の階層は、DDL情報(即ち、DDLのDDから入手可能な情報及び/或いはデバイスまたは1つまたは複数のDDLを使用するデバイスに付随するデータベースから入手可能な情報)の配置だけでなく、この情報にアクセスし、これを検索、変更するために図2のDCI60及びサーバー68、70間のインタフェースを定義する方法を示している。
図3及び図4の階層に於ける各OLEオブジェクトは、好適にはOLEオートメーションオブジェクトであり、OLEオブジェクトのタイプを内部に同定した長円形として表示されている。図3及び図4のOLEオブジェクトは各々、1つまたは複数のDDL内に定義された、或いはDDLによって使用される情報サブセット、及びDD、スマートデバイス及びスマートデバイスに関する情報を保存しているデータベースから入手可能な情報サブセットを含むか、これに接続されている。
一般に、図3及び図4のOLEオートメーションオブジェクトは各々、プロパティ(または属性)、方法及びインタフェースを含んでいる。図3及び図4内のOLEオブジェクトはオートメーションオブジェクトであるため、これにはIDispatchインタフェース(OLEプロトコルの周知のインタフェース)が接続されている。図3及び図4のOLEオートメーションオブジェクトのIDispatchは、例えばDCI60及びサーバーネットワーク66によって、同OLEオブジェクトのプロパティ及び方法に関する情報を検索し、他のOLEオブジェクトと通信する際に使用可能である。
OLEオブジェクトのプロパティは、オブジェクトに関するデータで構成される。各プロパティはまた、例えばプロパティ値の取得、及びOLEオブジェクトのプロパティ値の設定に際して使用可能な機能を有している。例えばOLEオブジェクトのプロパティは、オブジェクトの名称、オブジェクト内またはオブジェクトに付随する項の計数、オブジェクトに付随するラベル及びオブジェクトに付随するヘルプを含んでいる。
OLEオブジェクトの方法は、OLEオブジェクト上またはOLEオブジェクト内のデータ上で作動し、OLEオブジェクト内のデータを使用して特別ルーチンを実行し、他のOLEオブジェクトと通信する。例えば、一つの方法は他のOLEオブジェクト内の値セットを計数することができる。OLEオートメーションオブジェクトのプロパティと方法は、共にサーバーネットワーク66及びDCI60によるアクセスが可能な当該OLEオブジェクトのプログラマブルインターフェースを定義する。
図3及び図4の階層は、図3が示す上部階層と図4が示す下部階層で構成される。図3の上部階層は、HART、Fieldbus及びその他のスマートデバイスまたはコンベンショナルデバイスのようなデバイスと、Fieldbusブロックのような工程内接続されたブロックとの物理的或いは定義された連結度に対応し、且つそれを図示している。図4の下部階層は、HART及びFieldbusDDL等のDDLから入手可能な、或いはこれらによって参照されるデータと、DD、スマートデバイス及び/或いはスマートデバイスまたは他のデバイスに関するデータベースに保存されている、及び/或いはこれから入手可能なデータとの間の関係性を図示している。
図3及び図4の階層の完全な理解を促進するため、本明細書の末尾に表(「OLEオブジェクトDDL等価物」と題する)を提供している。「OLEオブジェクトDDL等価物」表は、図4の下部階層に示された各OLEオブジェクトに関して、当該OLEオブジェクトに対応するFieldbusDDLの機能的同等物であるデータ、定義及び/或いは構成を同定している。しかしながら、図3及び図4のOLEオブジェクトも同様に、HART DDLのような他のDDLに於いて入手可能な機能的に同等である種類のデータ、定義及び構成を有すること、従って図3及び図4の階層はあらゆるDDLに適用可能であることを認識すべきである。やはり本明細書の末尾に記載している他の表(「OLEオブジェクトの定義」と題する)は、図3及び図4が示す各OLEオブジェクトに付随する幾つかの重要なプロパティ及び方法のリストを提示し、こうしたプロパティ及び方法について簡単に説明している。
先にも述べたように、図3及び図4のOLEオブジェクトのプロパティは、DDL(例えば、HART及びFieldbusDDL等)から入手可能か或いはDDLによって定義される同タイプのデータを表し、またこれに対応している。これは、上述のように図3及び図4のOLEオブジェクトがこうしたDDLから入手可能であるか、或いはこうしたDDLによって定義されるデータをマップし、表示するように開発されているためである。従って、例えば、図3のブロックオブジェクトは、FieldbusDDLによって認識され使用されるブロックエンティティを表し、またこれに対応しており、図3のデバイスオブジェクト及び図4のパラメータオブジェクトは、HART及びFieldbusDDLの両方によって認識され使用されるデバイス及びパラメータエンティティを各々表し、またこれに対応している。「OLEオブジェクトの定義」表に於いて同定された方法は標準的なOLE方法である。
図3および図4の階層内の各OLEオブジェクトは、そのOLEオブジェクトへの階層を通るパスを通過することによってアクセスまたは定義することができる。図3のトップから始まり、図3と図4の階層を通る各パスは、ルートオブジェクトを含んでいる。特に,ルートオブジェクトは、ルートオブジェクトの下のいずれかのOLEオブジェクトが関係しているViewTimeを定義している。さらに詳しく言えば、ルートオブジェクトは、「過去」、「現在」、または「未来」であるViewTimeと結び付けられており、時には特定の時間を指定しているViewTimeと結び付けられている。ViewTimeが現在である場合、時間は実際の時間である。ViewTimeが過去である場合、時間はいずれかの歴史的時間に設定されるが、1つ以上のパラメータ値に対して変更が加えられた時間に設定されることが望ましい。さらに、この変更は、データベース4,たとえばイベントログに保存される。ViewTimeが未来の場合、時間は未来の時間に設定するか、一般的に未来を指していることだけを示すように設定できる。
ルートオブジェクトのアイテムメソッドは、OLEオブジェクト定義テーブルで識別されるコレクションのセットを含んでおり、このコレクションのセットは図3の階層の次の層を定義している。一般に、OLEメソッドのアイテムメソッドのコレクションは、OLEオブジェクトと、図3および図4の階層内のそのOLEオブジェクトの下のOLEオブジェクトの間の相互接続を定義している。OLEオブジェクトのアイテムメソッドの各コレクションは、そのコレクションを含んでいるOLEオブジェクトの下にあるそのコレクションの引用名によって、図3および図4の階層において示される。コレクション内のメンバーの一般名は、コレクションタイプと結び付いているOLEオブジェクトの下にあり、かつプロパティの1つとしてこの式に関係した情報を持っているOLEオブジェクトの上にある、引用が終りアンダーラインが付されている式によって、図3および図4において識別される。
したがって、たとえば、ルートオブジェクトは、(BlockTagコレクションとして識別される)BlockTagオブジェクトのコレクションを持ち、それぞれが、BlockTagとして図3に一般的に示されている特定の名前を持っている。一般に,ブロックタグは、特定のブロックを識別するために、FMSシステムをインストール/構成する技術者によってFMSシステム内で特定のブロックに割り当てられるユニークな識別子である。したがって、Block Tagの名前を持っているBlockTagオブジェクトは、図3に示すように、ブロックオブジェクトをユニークに定義する。明らかに、図3および図4の階層内のBlockTagオブジェクトの実際のメンバーは、(その名前がFieldbus DDLプロトコルで使われているので)FMSシステム10と接続あるいは結び付いているブロックのメンバーに依存している。
PhysicalTag,DeviceID,DeviceTagオブジェクトは、それぞれ、ルートオブジェクトのPhysicalTag,DeviceID,DeviceTagコレクションと関連あるいは結び付いており、FMSシステム10と接続あるいは結び付いている特定のデバイスをユニークに定義するのに使われる。通常、デバイスIDは、デバイスメーカーの名前、デバイスのモデル番号、デバイスのシリアル番号から構成される情報の組を含んでいる。通常,デバイスタグや物理タグは、プラントまたはプロセス12のようなプロセスにおけるデバイスの位置を参照している。物理タグ及び/又はデバイスタグの値は、プラントにおける特定の物理的位置に結び付けられている英数字コードであるか、物理的位置の記述である。HARTデバイスの場合、物理タグはデバイスタグと同じと見なされ、Fieldbusデバイスの場合は、物理タグはデバイスタグとは別の値を持ちうる。DeviceTagオブジェクト、DeviceIDオブジェクトのような引用コレクション名の直ぐ下の、図3および図4にあるOLEオブジェクトも、DDLLがコレクションと見なす、あるいは定義する構文に関係付けられているので、コレクションとして参照される。
デバイスタグ、物理タグ、及び/又はデバイスIDを持つ代わりに、あるいは持つ他に、デバイスは、FMSシステムとの物理通信接続によって識別されうる。特に、各デバイスは、各々が式TCP/IPノード名によって識別されるネットワークの1メンバーを通してFMSシステムに接続される(これは、ルートオブジェクトのNetコレクションであるネットワークオブジェクトによって、図3に示されている)。
各ネットワークは、図3においてNetNodeオブジェクトによって識別される一連のノードを含んでいる。また、ネットワークノードは、com1やcom2などの名前を持ちうる、(ポートオブジェクトによって示されている)ポートセットを含んでいる。ポートは、(モデムオブジェクトによって識別される)モデムを通じて、16のステーションアドレスのいずれかでデバイスに接続され、モデムは異なるステーションアドレスによって識別される。
また、ネットワークノードのポートは、ステーションアドレスを持っている(HIUオブジェクトによって識別される)1つまたは複数のHARTインタフェースユニット(HIU)を通してデバイスに接続されることもある。各HIUは、(インタチェンジオブジェクトによって識別される)1つまたは複数のインターチェンジを含んでおり、このインターチェンジは通常回線番号によって識別される8回線を含んでいる。また、インターチェンジオブジェクトは、(先に述べた引用名に関する一般的規則に反し、ラベルBlockによって識別される)メソッドを含んでおり、このメソッドはHIUを記述している特定のブロックオブジェクトにインタフェースを返す。
また、ネットワークノードは、1つまたは複数のDCS、たとえばRS3,Provox,またはその他のDCSを通してデバイスとつなげられる。図3は、各ノードが総称的なDCSオブジェクトを通して接続されていることを示しているが、たとえば、RS3 DCSとの実際の接続が行なわれ、ノード番号、カード番号、回線(通常ポート毎に4回線)によって図3において識別される。しかし、これらのDCSシステムの構成はまだ完全に開発されていないので、実際の接続は示されておらず、DCSオブジェクトについては、OLEオブジェクト定義テーブルで言及されていない。
さらに、ネットワークノードは、1つまたは複数のFieldbusインタフェースカードとつなげられることもある。しかし、Fieldbusデバイスはまだ販売されていないので、デバイスとの正確な接続はまだ分かっていない。したがって、この接続は図3の階層には示されていない。しかし、そのようなFieldbus接続は、Fieldbusオブジェクトを示すことによって、また、ネットワークノード間のFieldbus接続とNetNodeオブジェクトとデバイスオブジェクトの間のデバイスに必要なコンポーネントに関係したその他のOLEオブジェクトを示すことによって、簡単に追加することができる。
あるデバイスが先に述べたいずれかの方法で識別されると、そのデバイス内のブロックは、HART Tag名を持つ、タグオブジェクトとして示されているTagコレクションによってユニークに決めることができる。デバイスがHARTデバイスである場合、そしてその内容がただ1つの概念ブロックによって示される場合、そのブロックは既にユニークに識別されており、HARTコレクションによって簡単に指定できる。タグオブジェクトに関係したタグの名前は、図3においてHART Tagとして指定されている。なぜなら、HARTデバイスのHARTタグはこの識別子として使われているからである。しかし、他のタイプのデバイスに別のタグを代わりに使うことができる。
既に述べたように、ブロックオブジェクトとプロセスのブロックは、図3の上の階層を通る定義済みのパスを通過することによってユニークに識別できる。同様に、図3と図4の階層内のすべてのその他のOLEオブジェクトは、特定のOLEオブジェクトを通り、図3の階層のトップのルートオブジェクトからのパスを通過することによって得られるユニークな名前によって識別できる。したがって、図3と図4の階層内のいずれかのOLEオブジェクトのプロパティとメソッドは、そのOLEオブジェクト用に開発された名前を使って、参照可能であり、取得可能である。
具体的に言えば、名前は、図3のルートオブジェクトから当該OLEオブジェクトへのパスを通る時に存在する引用および非引用/アンダーライン式からなるストリングをコンパイルし、その式を感嘆符(!)によって分けることによって図3と図4の階層から決定しうる。たとえば、ブロックオブジェクトの名前は、以下のいずれかでありうる。
Root!BlockTag!Block Tag!
Root!PhycialTag!HART Tag!Tag!HART Tag
Root!DeviceID!Unique Indentifier!HART
Root!Net!TCP/IP Node Name!Port
Name!Modem!Station Addresss!Tag!HART Tag
明らかに、図3と図4に示されている他のOLEオブジェクトの名前は、このフォーマットを使って開発できる。(NamedConfigsオブジェクトによって示されている)図3のルートオブジェクトのNamedConfigコレクションは、FMSデータベース40に保存され、デバイスからは利用できないオブジェクトに関係付けられている。各NamedConfigsオブジェクトは、特定のNamedConfigオブジェクトを指定するためにConfigNameによって識別される。たとえば、NamedConfigオブジェクトは、プロセス内の特定の機能を実装するのに必要な「レシピ」すなわち特定の構成、プロセス内のブロックの過去の構成、または、ブロックオブジェクトに関係している他のユーザ情報を含みうる。しかし、図2のサーバネットワーク66にとって、各NamedConfigオブジェクトは、NamedConfigオブジェクトのパラメータ値データが、デバイスからではなく、FMSデータベース40から検索されるという点を除き、ブロックオブジェクトのように見える。NamedConfigオブジェクトは、通常ブロックオブジェクトに結び付けられている情報のサブセットを持つことができる。
図4の下位の階層は、システムの各ブロックと結び付いているデータ間の内部関係を示している。したがって、図4に示すように、各ブロックオブジェクト(およびNamedConfigオブジェクト)は、(名前は若干異なるが)それぞれが関連のOLEオブジェクトを持っている、Pram,Unit,Database,Refresh,ItemArray,Collection,Menu,Method,EditDisplay,WAOという名前のコレクションのセットを含んでいる。また、これらの各OLEオブジェクトは、図4に定義されているように、関連の他のOLEオブジェクトを持っている。したがって、たとえば、Param Nameによって識別されるパラメータオブジェクトは、VariableParameterオブジェクト、あるいはRecordParameterオブジェクト、あるいはArrayParameterオブジェクトでありうる。VariableParameterオブジェクトである場合、それは、関連のOLEオブジェクトを持っているIndexedItemArray,Enum,PreEdit,PostEditのコレクションを含む。EnumerationValuesオブジェクト(列挙型の変数のVariableParameterオブジェクトのコレクション)は、列挙値オブジェクトによって識別される特定の列挙値を持ち、この列挙値オブジェクトはメソッドオブジェクトのコレクションを含む。たとえば、このメソッドオブジェクトは、VariableParameterオブジェクトの列挙値を取得あるいは変更するメソッドを含む。
DatabaseParametersやDatabaseParameterオブジェクトを除き、図4内のすべてのOLEオブジェクトに保存あるいは結び付けられているプロパティ、データ、メソッドは、DDまたはDDLに合致しているデバイスの使用によって利用できる情報を表わしている。DatabaseParametersオブジェクトやDatabaseParametersオブジェクトのデータやメソッドは、データベースに保存される。
図3に示されているように、図4のどのOLEオブジェクトでも、図3のルートオブジェクトから当該OLEオブジェクトへのパスをたどることによって開発される名前によって、ユニークに識別することができる。したがって、たとえば、プリエディトメソッドブロックの名前は、図3のブロックオブジェクト用の名前の最後に付加することによって作成することができる。そしてまた、図3のブロックオブジェクトは、図4のブロックオブジェクト−!Param!Param Name!PreEdit!Index−によっても表わされる。
図3と図4の階層内の特定のオブジェクトに名前が設定され、サーバネットワーク66と結び付いているメモリに保存されると、以後、DCI60とサーバネットワーク66は、サーバネットワーク66が作成する短いユニークな「ハンドル」を使って、そのOLEオブジェクトを操作したり、そのOLEオブジェクトにアクセスすることができる。たとえば、ハンドルは、サーバネットワーク66のメモリに保存されたOLEオブジェクトを識別するユニークな番号でありうる。
基本的に、ユニークな名前またはハンドルの場合、図3と図4の階層によって識別されるいかなるOLEオブジェクトでも、DCI60またはサーバネットワーク66によって直接アクセスでき、DDS、データベース、スマートデバイス、あるいは必要に応じその他のOLEオブジェクトとの通信を確立するために、そのOLEオブジェクト内のメソッドを起動することができる。したがって、たとえば、特定のデバイスから特定のパラメータ値を検索するためにDDS72にアクセスするサーバ68内のソフトウェアルーチンは、パラメータ値を読み取るようにOLE VariableParameterオブジェクトに指示するコマンドを使って、VariableParameterオブジェクトへのコールがDCI60によって開始されるときに、起動することができる。
明らかに、サーバネットワーク66は、DCI60とカレントアプリケーション56に対して透過的に、データベース40、DDS72、およびオンラインデバイスと通信する。なぜなら、サーバネットワークは、OLEオブジェクトまたはDDSが要求する新しい情報を取得するのに必要な実装ルーチンを決めるために、図4の下位階層によって識別されるOLEオブジェクト間の相互関係に自動的にアクセスするからである。
図3および図4のOLEオブジェクトがアクセスされるためには、そのOLEオブジェクトと図3のルートオブジェクトの間の少なくとも1つのパス上にある、そのOLEオブジェクトの上のOLEオブジェクトは、サーバネットワークメモリに保存されなければならないことに注意しなければならない。したがって、たとえば、あるブロックのパラメータのVariableParameterオブジェクトにアクセスするとき、パラメータオブジェクト、そのパラメータに結び付いているブロックオブジェクト、そしてそのブロックもサーバネットワークメモリに保存されなければならない。デバイスオブジェクト、デバイスIDオブジェクト、ルートオブジェクトも、サーバネットワークメモリに保存することができる。こうした高位オブジェクトがない場合、サーバネットワーク66は、VariableParameterオブジェクトのデータを突き止め、検索する方法を決めるのに十分な情報にアクセスすることができない。
通常、DCI60は、OLEオブジェクトから値を取得するためにコマンドを送る。たとえば、DCI60は、VariableParameterオブジェクトに提供されている名前またはハンドルを使って特定のデバイスの特定のブロックに対するVariableParameterオブジェクトのハンドリングプロパティを取得するためにコマンドを送る。識別済みのOLEオブジェクトがまだサーバネットワーク66のメモリに保存されていない場合、サーバネットワーク66は、このデータを、たとえばDDS72、スマートデバイス自身、またはデータベース40のいずれかから検索するために、そのVariableParameterオブジェクトの上の1つまたは複数のOLEオブジェクトの作成済みルーチンやメソッドを使う。その後、サーバネットワーク66は、このデータをサーバメモリに保存する。必要な場合、サーバネットワークは66は最初にメモリ内のルートオブジェクト、デバイスIDオブジェクト、デバイスオブジェクト、ブロックオブジェクト、そしてパラメータオブジェクトを保存する。
次に、サーバは、(DDS72はブロックの変数パラメータのハンドリング情報が存在している場所なので)DDS72にアクセスするために、VariableParameterオブジェクトのメソッドや関連の作成済みルーチンを使用する。この例のように、変数パラメータのハンドリングプロパティの値がスマートドライブに設定されてるモードパラメータに依存している場合、DDSは、その変数を含んでいるデバイスまたはブロックに関係しているモードパラメータ情報を必要としていることをサーバ68に知らせるメッセージをサーバ68に返す。その時点で、サーバ68はVariableParameterオブジェクトに関係しているデバイスオブジェクトを突き止め、デバイスとの通信方法を知る。すなわち、システム上でのデバイスの位置やそのデバイスと対話する方法を知る。次に、サーバ66はデバイスオブジェクトに結び付いているデバイスと通信するために作成済みのルーチンを使って、スマートドライブ通信インタフェース74に対してデバイスのモードパラメータを検索するように指示する。スマートドライブ通信インタフェース74がモードパラメータ値をサーバ68に返すと、サーバ68は、この情報をDDS72に提供し、その後、DDS72はサーバ66にハンドリングプロパティを計算して返す。さらにまた、サーバ66はこの情報をVariableParameterオブジェクトに転送し、それによってDCI60に転送する(なぜなら、OLEオブジェクトの変更により、メッセージがホストに、この場合はDCI60に送られるからである)。したがって、DCI60にとって、パラメータのハンドリングプロパティの読み取り要求は、OLEオブジェクトに送られ、ハンドリングプロパティを持ったメッセージが返されたように見える。DDSとの、またOLEオブジェクト間の通信は、カレントアプリケーション56には透過的にサーバによって自動的に実現される。アプリケーションは、アクセスされたデバイスのタイプ、そのデバイスと結び付いているDDまたはDDLの特徴について知る必要がない。したがって、先に定義されているインタフェースを使って、アプリケーションは、通信を実装するのに使わなければならないDDS、DDL、またはDDの特徴を考慮することなく、同じまたは異なるDDLプロトコルに従って多数の様々なスマートデバイスと通信することができる。
専門家には明らかなように、DCI60は、たとえば、次のような比較的単純なルーチンを実行することによって、図3と図4に示されているOLE階層と通信したり、このOLE階層から情報を検索したりすることができる。(1) オブジェクト階層を作成し、それをサーバネットワーク66と結び付ける、(2) オブジェクト階層を通って指定のオブジェクトの下のオブジェクトを探す、(3) あるオブジェクトから別のオブジェクトへの特定のパスを通るItem、1レベル下のオブジェクトを列挙するためのインタフェースを作成するNewEnumのような標準OLEメソッドを実装する、(4) DDLオペレーションに関連したメソッドを含むことができるブロックオブジェクトに関係したメソッドを実装する、(6) OLEオブジェクトからの非ブロッキング読み書き要求を起動し,制御する、(7) ブロッキング読み書きからの結果を検索する、(8) データベース40への変更を制御する,(9) たとえば時間の変更、変更を行なった人やコンピュータの身元を始めとする、システムに対するユーザ変更に関係した情報を含むイベントログの作成と保守を制御する。
その結果、FMSシステム10のアプリケーションは、DDS、データベース、またはスマートドライブとのインタフェースを特別にプログラミングする必要がなくなる。そして、それにより、アプリケーション開発者には、DDLフォーマットやDD、スマートカード通信に関する詳細な知識が必要なくなる。
先に述べたように、図3と図4の階層を使って、FMSシステム10によって実装されるどのアプリケーションも、たとえば、階層の各オブジェクトと結び付いているIUnknownやIDispathインタフェースを利用するためにOLE互換プログラミング環境を使って、FMSデバイスとのインタフェースを取ることができることに注意しなければならない。Visual BasicプログラムやC++プログラムが、先の定義済みOLE階層を使うのに適していると思われる。
さらに、図3と図4の階層は特にFieldbus DDLやFieldbus DDLと非常に似ているHART DDLに関係付けられているが、本発明に従い、たとえばModbusスマートデバイスを始めとする他のスマートデバイスと結び付けられる他のDDL用の階層や類似の階層を作成しうると思われる。さらに、図3や図5の階層は、他のオブジェクト指向プログラミングプロトコルを使って、または非オブジェクト指向プログラミングプロトコルを使っても、実装できる。
図5に示したように、FMSデータベース40(図1と図2)は、トランザクションデータベース200を含んでいる。そして、FMSシステム10は、このトランザクションデータベース200を使って、プロセス12のデバイス16,18,20,22に対応する様々なブロックのパラメータに対する変更を表わしている情報を保存する。特に、トランザクションデータベース200は、FMSシステム10が知っている各パラメータの変更に対応したトランザクションレコード202を保存するのに適している。各トランザクションレコード202は、多数のフィールド204−213を含んでいる。そして、各フィールド204−213は、トランザクションレコード202に対応している「トランザクション」関係の情報(すなわち、パラメータの値の変更)を保存する。
ここで説明したレコード202のフィールド204−213は、BlockKey,TimeKey,ParamName,ParamKind,ValueMode,ParamDataType,ParamSize,PramData,Archived,Expectedとして識別される。しかし、ここで説明したトランザクションデータベース200のトランザクションレコード202の特定の内容だけは、例外である。本発明に従い、トランザクションデータベース200のレコード202は、必要ならば、保存されているトランザクションやその他の情報に関連したその他の必要なあるいは希望する情報を含めるのに適している。
特定のフィールド204−213のそれぞれの意味は、特定の時点(T)での特定のブロック(B)の特定のパラメータ(P)への特定の値(V)の代入を含む変更やトランザクションの例と共に、詳細に説明される。BlockKeyフィールド204は、変更が過去、現在、未来のいずれであれ、変更が適用されるブロックの識別番号を含んでいる。BlockKeyフィールド204に保存される識別番号は、FMSシステム10がブロックBに割り当て、ブロックBをユニークに識別するのに使うユニークな番号である。特定のブロックのBlockKeyの値は任意である。しかs、FMSシステム10は、すべてのブロックに割り当てられているBlockKeyのインデックス(FMSデータベース40の場合)を保守しなければならない。
TimeKeyフィールド205は、トランザクションレコード202が表している変更が行なわれた特定の時間Tを表している番号または番号の集まりを保存している。たとえば、TimeKeyは必要なだけの精度(秒またはミリ秒)で表されている実際のカレンダの日時であるか、特定の基準日時からの(たとえば、1980年1月1日12:00am)からの経過秒数またはミリ秒数のような、この情報から得られた数字である。便宜のために、変更ためのTimeKeyは、変更の日付を含んでいるフィールドと変更の時刻を含んでいるフィールドで表すことができる。また、ここで、タイムフィールドは、実際の時刻または基準の時刻からの経過秒数(またはミリ秒数)として表わすこともできる。
ParamNameフィールド206は、トランザクションレコード202によって保存されている変更が関係している特定のブロックBの特定のパラメータPの名前を含んでいる。トランザクションレコード202のParamNameフィールド206に保存されている名前は、先に説明したようにブロックBのOLEパラメータオブジェクトで使われるパラメータの実際の名前である。便宜のために、この名前はDDLにあるパラメータの名前と一致している。
ParamKindフィールド207は、パラメータPの種類に対応している1文字の英字を含んでいる。特にパラメータPが「実際の」または「現実の」パラメータ(すなわち、ブロックの動作に影響したり、ブロックの動作を変えたりするパラメータ)である場合、ParamKindフィールド207は値Pを含んでいる。パラメータがデータベース40(図1)に保存されているパラメータである場合、ParamKindフィールド207は値Dを含む。後者のタイプのパラメータは、データベース40だけに保存され、デバイスには保存されない。パラメータの種類の追加指定も提供できる(たとえば、ユーザ定義パラメータまたはブロックに影響しないブロックに関する情報を含んでいるパラメータ)。
ValueModeフィールド208はパラメーター「P」の値「V」がブロックBに対応するデバイスの「実際の」状態の一部であるか、あるいはその代わりに、そのデバイスの「将来の」状態の一部であるかを示すアルファベット文字を含む。特に、ValueModeフィールド208は、トランザクションレコード202が実際の状態の一部を表わす場合(つまり、レコード202がブロックBに対する過去を表わすか、あるいは現在の変化を表わす場合)、値「H」を含む。他方、ValueModeフィールド208は、トランザクションレコード202が将来の状態の一部を表わす場合(つまり、トランザクションレコード202が将来の指定されていない時間においてブロックBに対して為されるべき変化を表わす場合)、値「F」を含む。
ParamDataTypeフィールド209はパラメーターPに記憶されたデータのタイプまたは値「D」に対応する数(つまり、1=ストリング、2=整数、3=長い整数、4=符号の付いていない長い整数、5=浮動小数点、6=二倍精度、7=バイナリー等)を含む。様々な利用できるデータタイプに対応する数は、FMSシステム10によって任意に指定することができるが、FMSシステム10はこれらの指定のトラックを保持しなければならない。
ParamDataSizeフィールド210はパラメーターPに記憶されたデータDのサイズに対応する数を含む。ParamDataSizeフィールド210に記憶された値は、パラメーターPの値を表わすデータDを記憶するために使用されるバイト数である。
トランザクションレコード202内のParamDataフィールド211は、トランザクションレコード202によって表わされる変化によって、パラメーターPに指定される実際のデータまたは値Dを記憶する。
Archivedフィールド212は連合するトランザクションレコード202の内容が既にアーカイブに保管されたか、あるいはバックアップ記憶媒体に保管されたかの表示を記憶する任意のフィールドである。Archivedフィールドは、これらのアーカイブに保管されているトランザクションレコード202を次のアーカイビング手順の間に飛ばすことができるように、既にアーカイブに保管されているこれらのトランザクションレコード202を特定することによって、データベース200のバックアップを完成するために必要な時間を最小にする働きをする。更にArchivedフィールドは、まだアーカイブに保管されていないトランザクションレコード202の(例えば、ハウスキーピングまたはユーティリティソフトウエアによる)不注意な、及び/または望ましくない削除に対する保護手段を提供する。トランザクションレコード202のArchivedフィールド212は、トランザクションレコード202が既にアーカイブに保管されている場合、1または「真の」値を含み、またそうでない場合は0または「偽の」値を含む。
Expectedフィールド213は、トランザクションレコード202によって表示される変化またはトランザクションが、その変化を実施したFMSシステム10によって、「予想される」変化、あるいは「予想されない」変化であると特定されたかどうかの指示を含む。下記において詳細に説明するように、FMSシステム10は本発明のトランザクションデータベース200のトランザクションレコード202を使用して、どの特定の時間に対しても、プロセス12内のどのデバイスのどのブロックの予想される状態をも再現することができる。あるデバイスに対して「予想される」状態とは、FMSシステム10のトランザクションデータベース200に保管されたトランザクション史に基づいて、FMSシステム10がそのデバイスの状態であると考える状態である。しかし、ある所定の時間に、FMSシステム10は1つのデバイスの実際の状態に等しくない状態をそのデバイスに対して「予想する」かもしれない。例えば、第2のFMSシステム10、あるいはハンドヘルドコミュニケータ46が、そのデバイスの状態を変更したが、その変更を実施したことを第1のFMSシステム10にまだ知らせていないかもしれない。
1つのFMSシステム10(あるいはハンドヘルドコミュニケータ)が1つのデバイス(例えば、ブロックBを含むデバイス)に対して変更をする前に、FMSシステム10はFMSシステム10が「予想する」状態にそのデバイスがあるのか、あるいはデバイスが別の「予想されない」状態にあるのかを決定する。もしそのデバイスがFMSシステム10によって予想される状態にある場合、FMSシステム10は変更を行い、(変更が予想されていたことを示す)その変更に対応する1(あるいは他の適当な「真の」値)をトランザクションレコード202のExpectedフィールド213に保管する。他方、FMSシステム10が、デバイスがFMSシステム10が予想した状態以外の状態にあることを発見した場合、FMSシステム10はFMSシステム10のトランザクションデータベース200に一致しなかった変更が為されたことを知る。(変更をFMSトランザクションデータベース200に一致させる手順については、下記において詳述する)。その場合、FMSシステム10は、FMSシステム10が予想するデバイスの状態から、FMSシステム10が見い出したそのデバイスの実際の状態へとデバイスの状態を変更するために、デバイスに対して為されていなければならないであろう変更を表わすトランザクションレコード202をトランザクションデータベース200に記入する。更に、FMSシステム10は、その変更に対応して、その変更が予想されていなかったことを示す0(または他の適当な「偽の」値)を、トランザクションレコード202用のExpectedフィールド213に保管する。図9及び図10に関連して下記に詳細に説明するように、Expectedフィールド213は、二次的なFMSシステム及び/またはハンドヘルドコミュニケータ46からのトランザクションレコード202を一次的なFMSシステム10に一致させる際に、(一次的FMS等の)1つのFMSシステム10によって使用される。
トランザクションレコード202のParamKindフィールド207、ValueModeフィールド208、ParamDataTypeフィールド209、ParamDataSizeフィールド210は、全体としてトランザクションレコード202及びパラメーターPに対応するパラメーターオブジェクトのParamDataフィールド211に記憶されるデータの処理を容易にするために、トランザクションレコード202に含まれる。上述のように、その変更を行った人物の名前、その変更を行った理由、あるいは標準のプラントのオペレーティング手順、規定の要件、ユーザーの好み等によって必要になるかもしれない他の情報等の他の適当な情報も、トランザクションデータベース200のトランザクションレコード202に保管することができる。あるいはその代わりに、この付加的な情報をトランザクションデータベース200と同様の、付加的な情報用の付加的なフィールドと共に、トランザクション特定情報(例えば、BlockKeyフィールド204、Timekeyフィールド205、ParamNameフィールド206等)を含む第2のデータテーブルに保管することもできる。その後FMSシステム10は、トランザクションデータベース200内の変更を表示する特定のトランザクションレコード202内のトランザクション特定フィールドを使用して、第2のデータテーブルを相互参照することによって、各々の変更に対する付加的な情報にアクセスする。
次に、トランザクションデータベース200に対してFMSシステム10によって遂行されるデータベース機能について詳細に説明する。一般に、FMSシステム10は、プロセス12において、例えばデバイス16、18、20、22等のスマートフィールドデバイスに対してなされる変更の歴史的なレコードを維持するため;様々なフィールドデバイス内のパラメーターの現在値を保管するため;またこれらのデバイスに対してなされる将来の変更レコードを保管するために、トランザクションデータベース200を使用する。トランザクションデータベース200に対して、幾つかの特殊な機能をFMSシステム10によって果たすことができる。
第1の機能は、FMSシステム10(本明細書において、時には一次的FMSシステムと称する)自体がデバイスのパラメーターに対する変更、より詳細には、デバイスの特定のブロックに対する変更を行う時、FMSシステム10はその変更に関する上述の情報の全てを提供するデータベース200にレコード202を付け加える。変更が為されるブロックに対してFMSシステム10によって指定されるBlockKeyがBlockkeyフィールド204に保管される。変更が為される時間に対応するTimeKeyはTimeKeyフィールド205に保管される。その値が変更されるパラメーターの名前はParamNameフィールド206に保管される。そのパラメーターの種類はParamKindフィールド207に保管される。パラメーターの値のモードはValueModeフィールド208に保管される。パラメーターによって記憶されるデータのタイプはDataTypeフィールド209に保管される。パラメーターによって記憶されるデータのサイズはParamDataSizeフィールド210に保管される。パラメーターに記憶される新しい値はParamDataフィールド211に保管される。Archivedフィールド212はもちろん0に設定される。なぜなら、トランザクションレコード202は新しいので、まだアーカイブに保管され得ないからである。最後に、FMSシステム10自体がデバイスに対する変更を行ったので、Expectedフィールド213は、変更が予想されたものであることを示す1に設定される:FMSシステム10が変更自体を認可し実施したので、変更は明確に「予想されている」。
多くのデバイスにおいて、FMSシステム10はプロセス12内の全てのスマートデバイスに永久的に接続されているのではない。なぜなら、このような永久的接続は、デバイスが永久的に接続されるFMSシステム10によってデバイスの構成をしやすくするという点で利点を提供するが、典型的に設置に費用がかかるからである。いわゆる過渡的な、あるいは一次的な接続をFMSシステム10とスマートデバイス間に提供することができ、FMSシステム10がスマートデバイスに所望の変更を行うことができるように、スマートデバイスはFMSシステム10に永久的には接続されない。あるいはその代わりに、二次的なFMSシステム46を一次的FMSシステム10にまず接続して、どのような変更を行うかに関する指示を受けるようにすることができ、二次的FMSシステム46を次に一次的FMSシステム10から切断し、代わりにスマートデバイスに接続して、二次的FMSシステム46によって指示される変更を行うようにすることもできる。
変更を行うために、一次的FMSシステム10が二次的FMSシステム46に指示を送る時、一次的FMSシステム10は実施すべき変更に対する指示(つまり、変更すべきパラメーター名、及びそのパラメーターに対する新しい値)と共に、デバイスの「予想される」状態も二次的FMSシステム46に送る。
二次的FMSシステムまたはラップトップコンピューター46に一次的FMSシステムによる変更指示がロードされた後、技術者が二次的FMSシステム46をフィールドに取り込み、それを変更を行うべきプロセスのスマートフィールドデバイス16、18、20及び/または22等に接続して、以下の変更作成操作を行う(図7)。
図7はプロセス12内のスマートデバイス16、18、20及び22に変更を行う際に、FMSシステム10がどのようにしてトランザクションデータベース200と相互作用するかを示すフローチャートである。もちろん、FMSシステム10はそれが電気的に、あるいは他の適当な通信モードを介して、デバイスに結合されている場合にのみ、デバイスを変更することができる。上述のように、FMSシステム10はフィールドデバイスまたは過渡的なデバイスに永久的に接続することができる。二次的FMSシステム46とFMSシステム10間の過渡的な接続が図1において点線47で示されており、別のこのような接続が(付加的に、あるいは二者択一的にハンドヘルドコミュニケータ46を表わすことができる)二次的FMSシステム46とフィールドデバイス20間に示されている。FMSシステム10が永久的にフィールドデバイスと接続される場合、FMSシステム10自体がフィールドデバイスに変更を行うことができる。デバイスがFMSシステム10に永久的に接続されない場合、2つの方法でFMSシステム10を使用してフィールドデバイスの変更を行うことができる。第1は、フィールドデバイスをFMSシステム10の場所に輸送し、シリアルインターフェイスまたはFMSシステム10の他のポートへの過渡的な接続を介してFMSシステム10とインターフェイスで連結し、FMSシステム10自体が変更を行えるようにすることができる。第2は、デバイスをFMSシステム10に直接インターフェイスで連結することが非実用的であるか、不便である場合、二次的FMSシステム46(図1)をFMSシステム10に過渡的に接続するか、インターフェイスで連結し、FMSシステム10が必要な変更を行うよう指示することができる。二次的FMSシステム46を次にFMSシステム10から切断し、フィールドオペレーターが変更を行うべき各々のリモートフィールドデバイスの所に運ぶ。オペレーターは二次的FMSシステム46をフィールドデバイスに接続し、ちょうどFMSシステム10が行うのと同様に、二次的FMSシステム46が変更を行う。
以後、簡略化のために、FMSシステム10及び二次的FMSシステム46を各々一次的FMSシステム及び二次的FMSシステムと称することがある。これらのラベルは単に任意の名称であり、一次的及び二次的FMSシステムは構造と機能が同じであってよく、あるいは所望であれば、二次的FMSシステムが一次的FMSシステムと比べて機能的に劣っていてもよいことに注意すべきである。
例えば、(一次的であれ二次的であれ)FMSシステムが、ハートデバイス16、18、20またはフィールドバスデバイス22(図1)等のスマートフィールドデバイスにおいて、1つ以上のパラメーターに1つ以上の変更を加えるプロセスについて、図7を参照して詳細に説明する。
変更実施プロセスは、変更を実施すべきスマートフィールドデバイスにFMSシステム10または46を接続するブロック220において始まり、変更を実施すべき特定のブロックの全てのパラメーターのためにデバイスから値を得ることによって、そのデバイスの実際の状態を引き出す。次にブロック222がデバイスの実際の状態をそのデバイスの予想される状態と比較するが、この予想される状態は上述のように、FMSシステム10をデバイスに接続する前にFMSシステム10に保管されている。一次的FMSシステム10が二次的FMSシステム46に対してデバイスに変更を行うように指示する時、一次的FMSシステム10は二次的FMSシステム46に対してそのデバイスの予想される状態を伝達する。
ブロック222がデバイスの実際の状態が予想される状態と等しいと決定した場合、ブロック224がFMSシステム10に次の変更をデバイスに加えさせ、ブロック226がその変更レコードをトランザクションデータベース200(図5)に付け加える。ブロック222がデバイスの実際の状態が予想される状態と等しくないと決定した場合、ブロック224がデバイスに変更を加える前に、ブロック228が「予想されない」変更を計算し、予想されない変更のレコードをトランザクションデータベース200に付け加え、FMSシステム10が変更を実施する前に存在するデバイスの現在の状態をトランザクションデータベース200が正確に反映するようにする。
厳密に言えば、予想されない変更は、一方で、FMSシステム10が予想するデバイスの状態から、他方で、FMSシステム10が見い出したデバイスの実際の状態へと、デバイスの状態を変更するために必ず実施していなければならない変更(FMSシステム10に対してunbeknownst)である。「予想されない」変更レコードがトランザクションデータベース200に付け加えられた後、付加的な変更が必要である場合、ブロック230はFMSシステム10のオペレーターがデバイスに付加的な変更を行うことを許し、FMSシステム10は付加的な変更を表わすトランザクションレコードをトランザクションデータベース200に保管する。これらの付加的な変更はトランザクションデータベース200において「予想される」変更として特定される。
その後、上述のように、次の変更をデバイスに加えるブロック224に制御が移る。その変更レコードがブロック226によって一旦FMSシステムのトランザクションデータベース200に加えられると、ブロック232はFMSシステム10が接続されるデバイスに更なる変更を実施しなければならないかどうかを決定する。そうである場合、制御はブロック222に戻り、次の変更のために前述のプロセスを繰り返し、そうでない場合は、図7のプロセスが終了する。
第2FMSシステムに変更を行うように命令を与えることに加え、第1FMSシステム10は、本質的に情報が漏れない(safe)ハンドヘルドコミュニケータ46、例えばフィッシャー−ローズマウント・システムズ・インク製のモデル275−HCハートコミュニケータに、変更命令をダウンロードすることができる。このようなハンドヘルドコミュニケータ46は、フィールドオペレータが、第1FMSシステムとは離れたエリア及び/又は本質的に情報が漏れないことが要求される危険の多いエリア(第2(ラップトップ)FMSシステムはこのような危険の多いエリアでの使用には適さない)に配置されたハートフィールドデバイスに、変更情報を伝達するために用いられる。オペレータは、ハンドヘルドコミュニケータ46をスマートハートフィールドデバイスに接続して変更を行うことができる。
ハンドヘルドコミュニケータ46(図1)を用いてスマートフィールドデバイスに変更を行うプロセスを図8をもとに詳細に説明する。
まず、図1に示すようにハンドヘルドコミュニケータ46がFMSシステム10に接続され、ブロック240(図8)に示すようにFMSシステム10がハンドヘルドコミュニケータ46のメモリ内のある特定のコンフィギュレーションを記憶する。もちろん、所望により、複数のコンフィギュレーションを複数のデバイス用のハンドヘルドコミュニケータ46に記憶させることもできる。さらに、ハンドヘルドコミュニケータ46は、図1のように第1FMSシステム10からコンフィギュレーション情報を受信するのと同様の方法で、第2FMSシステム46からコンフィギュレーション情報を受信することができる。
ハンドヘルドコミュニケータ46に、1又はそれ以上のスマートフィールドデバイス16、18、20、22のコンフィギュレーション情報がロードされた後、ハンドヘルドコミュニケータ46がこれらのスマートフィールドデバイスのうちの1つに接続され、ブロック242に示すように、そこでコミュニケータ46が接続されたデバイスの新しいコンフィギュレーション情報をこのデバイスに送り込む。
コンフィギュレーションは、第1FMSシステム10及び第2FMSシステム46に関連した上述の変更と同じ情報をすべて含む。さらに、コンフィギュレーションは、デバイスのパラメータのいくつか(部分コンフィギュレーション)あるいはすべて(全コンフィギュレーション)の新しい値を含むことができる。コンフィギュレーションと変更との相違点は、単にコンフィギュレーションが変更とは異なり時間的要因を含まないという点である。このような相違点がある理由は、ハンドヘルドコミュニケータ46にコスト上の制約があり、また非常に使いやすいことが望まれているからで、そのために時間記録機能が省かれている。従って、ハンドヘルドコミュニケータ46がデバイスに変更を行う図8に示した一連の処理は、FMSシステム10がこのような変更を行う図7に示した一連の処理に比べていくぶん簡単である。しかしながら、その結果、ハンドヘルドコミュニケータでは、FMSシステム10に比べて、それほど複雑な演算を行うことができない。
図8に点線で示したブロック244に示すように、ハンドヘルドコミュニケータ46は、任意で接続されたデバイスの全状態を読み返し、その状態を第1FMSシステム10(又は第2FMSシステム46)に戻すことができるため、FMSシステム10又は46は、デバイスの新しい状態をFMSシステムのトランザクションデータベース200と一致させることができる。典型的には、プラントは、FMSシステム10が命令を与えてハンドヘルドコミュニケータ46に行わせようとする変更がそのまま確実に実行されることが必須である状況において、この一連の処理を標準操作手順の一部として必要とすることがある。重要なことは、FMSシステム10がコンフィギュレーションをハンドヘルドコミュニケータ46に伝達する際に、FMSシステム10が、自身のトランザクションデータベース200にトランザクションを入力して伝達するコンフィギュレーションに対応する変更を反映するということである。トランザクションレコードは予期される変更として認識される。それは、FMSシステム10が、ハンドヘルドコミュニケータ46が実際に変更を行うであろうと仮定しているからである。
上述のように、複数FMSシステムは相互接続が可能なため、これらのそれぞれのトランザクションデータベース200のデータをマージし、複数FMSシステムを利用するプラントにおいて一貫性のある包括的な体系(view)を構築することができる。これにより、例えば、上述のような政府機関からの様々な規制要求やプラント安全団体によって決められたガイドラインや規則に応じてプラントを運営する責任のある監査人等が、プラントの運営に関する過去のこれまでの情報を容易に再検討することができる。
図9は、ある1つのFMSシステム(例えば、第2FMSシステム46)のトランザクションデータベース200が他のFMSシステム(例えば、第1FMSシステム10)のトランザクションデータベース200にマージされる処理を示したフローチャートである。本明細書で先に記載したように、どのFMSシステムも第1FMSシステム又は第2FMSシステムとなり得るが、“第1FMS”であるとする場合は通常定置型のシステムを意味するものとする。また、第2FMSシステムは通常ラップトップコンピュータ内に設けられ、監査責任者等が必要時にいつでも容易にアクセスできるとは限らない。以下、FMS1及びFMS2という用語は、それぞれ、第1FMSシステムのトランザクションデータベース200、第2FMSシステムのトランザクションデータベース200を意味するものとする。
最初に、ブロック250で、第2FMSシステム46に一致しないトランザクションレコードが存在するか否かが判断される。存在しないか、あるいは第2FMSシステム46で一致しなかったトランザクションレコードがすべて一致すれば、図9の処理は終了する。一致しないトランザクションが第2FMSシステム46に残っている(すなわち、トランザクションレコードがまだ第1FMSシステム10のトランザクションデータベース200に一致していない)場合、ブロック252に進み、ここで次の一致しないトランザクションレコード(本明細書中ではTRと記載する)が、第2FMSシステム46のメモリから第1FMSシステム10のメモリにロードされる。さらに、ブロック254で、トランザクションレコードによって示される変更が予期される変更であるかどうかを判断するために、このトランザクションレコードTRが検討される。予期される変更である場合、次にブロック256で、トランザクションレコードTRが、第1FMSのトランザクションデータベースFMS1にすでに存在してはいるがFMS1において“予期されない”変更と認識されている変更と同じ変更を示しているかどうかが判断される。トランザクションレコードTRにより示される変更がFMS1の予期されない変更と一致しない場合、トランザクションレコードTRは、次に第1FMSのトランザクションデータベースFMS1に日付順に格納され、制御はブロック250に戻り、一致しないトランザクションが第2FMSシステム46にまだ残っていないかどうかが判断される。ブロック256において、トランザクションレコードTRにより示される変更がトランザクションデータベースFMS1の予期されない変更と一致すると判断された場合、次にブロック260で予期されない変更がトランザクションレコードTR(これは予期される変更)に書き換えられ、制御はブロック250に戻る。
一方、ブロック254で、トランザクションレコードTRが予期されない変更を示すと判断された場合、制御は次にブロック262に進み、第1FMSのトランザクションデータベースFMS1が、トランザクションレコードTRにより示される変更と同じパラメータと同じ値の割り当て(assignment)を示すトランザクションレコードを含むかどうか、及びどのトランザクションレコードが、トランザクションレコードTRのタイムキーをある所定の許容範囲の時間的誤差内に近づけるタイムキー(フィールド205、図6)として機能する(bear)のかが判断される。このようなトランザクションレコードがFMS1に存在しない場合、次にブロック264において、第1FMSのトランザクションデータベースFMS1の最後にトランザクションレコードTRが追加され、レコード202のイクスペクテッドフィールド213をトランザクションデータベースFMS1の変更に対応するように設定することにより、このトランザクションレコードにより示される変更は“予期されない”変更として認識される。その後、制御はブロック250に戻り、一致しないトランザクションレコード202が第2FMSシステム46にさらにまだあるかどうかをチェックする。ブロック262で、トランザクションレコードTRにより示される変更に類似する変更が、第1FMSのトランザクションデータベースFMS1にすでにあるようだと判断された場合、予期されないトランザクションレコードTRに対応する実際の変更が既にトランザクションデータベースFMS1のトランザクションレコード202により示されているので、次のブロック266でトランザクションレコードTRは消去される。そして制御は再びブロック250に戻り、一致しないトランザクションレコード202が第2FMSシステム46にまだあるかどうかをチェックする。
FMSトランザクションデータベース200の使用例をいくつか、表をもとに以下に詳細に記載する。第1実施例において、第1FMSシステム10(P_FMS)は、第2FMSシステム46(S_FMS)が特定のスマートフィールドデバイス(実施例1と記載された表参照)に将来的変更CF(すなわち、時期がまだ決まっていない変更)を行うように命令を与える。この実施例では、第1及び第2FMSシステムで起こったこと、並びに該命令が実行された際にデバイスで起こったことを説明しており、結果は第2FMSシステム46から第1FMSシステム10に報告され返される。
前述の表の第1の行は、ある任意の時間iにおけるフィールド・デバイスの一次及び二次PMSシステムを記述している。時間iにおいて、デバイスの実際の状態はS(i)であり、その状態は一次FMSシステム10及び二次FMSシステム46のトランザクション・データベース200に正確に反映される。
後の時間i+1においては、一次FMSシステム10が、二次FMSシステム46にデバイスに将来に変更を加えるよう指令を出す。従って、この時に、デバイスは、状態S(i)のままでいる。更に、一次及び二次FMSトランザクション・データベースP_FMS及びS_FMSは、デバイスの実際の状態がS(i)であることを正確に反映し続けるが、二次FMSシステム46のトランザクション・データベース200は、現在、将来の変更CFを示すトランザクション・レコード202を保持している。
また、後の時期に、二次FMSシステム46は、デバイスに接続され、デバイスに対してC(i+1)と呼ばれる将来の変更を行おうと試みる。二次FMSシステム46は、デバイスの以前の実際の状態S(i)が、デバイスについて二次システム46が予想する状態S(i)に一致するということを検知するので、二次FMSシステム46は、デバイスに変更を加え、そのトランザクション・データベースS_FMSに変更に対応するトランザクション・レコード202を記録する。デバイスに変更を加えたので、デバイスは、現在、状態S(i+1)にあり、また、その変更についてのトランザクション・レコード(ちなみに、トランザクション・データベース200の期待された状態と呼ばれる)、二次FMSシステム46のトランザクション・データベース200に反映されたデバイスの期待された状態もまた、S(i+1)に更新される。しかしながら、一次FMSシステム10が、まだ、二次FMS46が将来の変更CFに成功したことを通知されていないので、一次FMSシステム10は、デバイスについて期待した状態としてS(i)を維持する。
時間i+3に、二次FMSシステム46が一次FMSシステム10に接続し、変更C(i+1)に対応するトランザクション・レコードを一次FMSシステム10に伝達すると、一次FMSシステム10は、図9のプロセスと関連して、そのトランザクション・レコードを上記で説明した一次FMSトランザクション・データベース200に一致させる。特に、到来するトランザクション・レコードは、期待された変更と呼ばれ、変更が、まだ、期待された変更として一次FMSトランザクション・データベース200に入れられていないので(それが実際に入れられていないと想定して)、一次FMSシステム10のトランザクション・データベース200によって反映されたデバイスの期待された状態が、デバイスの実際の状態、すなわち、S(i+1)を正確に反映するように、変更C(i+1)に関するトランザクション・レコードが、時間順にブロック258(図9)毎に一次FMSトランザクション・データベース200に入れられる。
その代わりに、変更C(i+1)を示すトランザクション・レコードが一次FMSトランザクション・データベース200と一致した場合には、合致する期待しない変更が、一次FMSトランザクション・データベース200に存在すると確定され、次に、期待された変更C(i+1)に関するトランザクション・レコードが、対応する期待しない変更に関するトランザクション・レコード202の変わりに、一次FMSトランザクション・データベース200に挿入されていたかもしれない。
「実施例2」とタイトルを付けた次の表を参照して、一次FMSトランザクション・データベース200に対する「期待しない」変更を示すトランザクション・レコード202の一致を説明する別の実施例をここで詳細に説明する。
この実施例では、一次FMSシステム10及び2つの二次FMSシステム46が、最初の時間iにおいて、デバイスの実際の状態S(i)を正確に反映する。
後の時間i+1に、一次FMSシステム10が、第1の二次FMS(FMS1)にデバイスに変更C(i+1)を加えるよう指令を出す。また、その時に、二次FMSシステム10が、第2の二次FMS(FMS2)に同じデバイスに将来の変更CFを加えるよう指令を出す。従って、時間i+1において、一次FMSシステム及び第1と第2の二次FMSシステムのトランザクション・データベース200が、デバイスの実際の状態S(i+1)を正確に反映する。それに加えて、変更C(i+1)の記録が、第1の二次FMSシステム46に保存され、将来の変更CFの記録が第2の二次FMSシステム46に保存される。
後の時間i+2において、FMS1が、図7に関連して上記で説明した手順に従ったデバイスに変更C(i+1)を加える。従って、その時に、FMS1は、そのトランザクション・データベース200に実際の状態S(i+1)を正確に反映するが、一次FMS PFMS及び第2の二次FMS PFMS2は、それぞれのトランザクション・データベース200にデバイスの以前の状態S(i)を反映し続ける。また、FMS2は、まだ、まだ行われていない将来の変更CFに関するトランザクション・レコードを保持する。
後の時間i+3において、FMS2は、デバイスに将来の変更CFを加えようと試み、デバイスが期待しない状態S(i+1)にあるということを検知する(すなわち、FMS2のトランザクション・データベース200が反映しない、状態S(i)以外の状態である)。従って、FMS2は、デバイスの状態を(FMS2が期待した)S(i)からS(i+1)に変更するために行われたにちがいない期待しない変更CUを計算する。次に、FMS2は、期待しない変更CUに対応するトランザクション・レコードをそのトランザクション・データベース200に記録し、次に、デバイスに将来の変更CFを加え、変更CFに対応するトランザクション・レコードを現在のタイムキーと共にFMS2のトランザクション・データベース200に記録する。従って、これで、FMS2のトランザクション・データベース200は、デバイスの現在の状態S(i+2)を正確に反映し、FMS2のトランザクション・データベース200には、デバイスに対して行われたとFMS2が認識した期待しない変更CUの記録が含まれる。
更に、後に時間i+4において、二次FMSシステムFMS2が一次FMSシステム10に接続され、期待しない変更CU及び現在行われ、承認された変更C(i+2)を一次FMSシステム10に報告する。次に、そうした2つの変更に関するトランザクション・レコードは、一次FMSシステム10によって、図9の手順に従ってそのトランザクション・データベース200と一致させられるので、一次FMSシステム10のトランザクション・データベース200は、デバイスの実際の状態S(i+2)を正確に反映し、変更CU及びC(i+2)に対応するトランザクション・レコードが含まれる。一次FMS FMS1は、依然として、デバイスについてS(i+1)の状態を期待するということを反映しているが、二次FMS FMS2は、デバイスの実際の状態S(i+2)正確に反映する。
更に、後に時間i+5において、FMS1が一次FMSシステム10に接続され、それに対する変更C(i+1)を報告する。一次FMSシステム10は、変更C(i+1)に関するトランザクション・レコードをそのトランザクション・データベース200に一致させ、C(i+1)が、時間i+4に一次FMSシステム10のトランザクション・データベース200に入力された期待しない変更CUに一致する、ということを発見する。従って、ブロック260(図9)に従って、変更C(i+1)に関するトランザクション・レコードが、一次FMSシステム10のトランザクション・データベース200の期待しない変更CUに関するトランザクション・レコードと入れ替わる。従って、この時に、すべての未決のトランザクション・レコード202が、一次FMSトランザクション・データベース200に一致させられており、デバイスの実際の現在の状態S(i+2)を、また、非常に重要なことであるが、デバイスの構成歴の完全な会計履歴(すなわち、デバイスの構成歴)を正確に反映する。
ここで、インターフェース・ブロック58の機能を更に詳細に説明する。上記のように、動作中に、現アプリケーション56は、インターフェース・ブロック58を呼び出して、特定の1つ、あるいは、それ以上の制御((プログラム))を初期化し、制御((プログラム))は、その後で、ウインドウズ・オペレーティング・システム46、プロセス内12のスマート・デバイス、及び/あるいは、プロセス12に関連したデバイス、ブロック、又は、パラメータに関するFMSデータベース40との間のインターフェースに関連したすべての動作を自動的に処理する。また、インターフェース・ブロック56も、サーバ・ネットワーク66のメモリに保存されたルート・オブジェクトの時間プロパティを変更して、有利な方法でディスプレーを制御することができる。
インターフェース・ブロック58の各制御((プログラム))は、デバイス、パラメータ、あるいは、時間に関わる情報をディスプレー30上に表示し、更新する;及び、ユーザ、あるいは、アプリケーションの入力に応答して、スマート・デバイス、データベース40、及びサーバ・ネットワーク66と通信を行って、現アプリケーション56を更に関わらせる事なく、DDS72、スマート・デバイス、データベース40、あるいは、サーバ・ネットワーク66のルート・オブジェクト、と間でデータ検索、データ書込みを行う。重要なことであるが、一旦確立されたら、制御((プログラム))は、一般的に、現アプリケーション56、及び確立されているであろう他の制御((プログラム))とは独立して動作するように見える。
図11に示したように、インターフェース・ブロック58には、マスタ・コントロール・ルーチン300が含まれ、それを使用して、プロセス12と関連したデバイス、ブロック、あるいは、パラメータに関する制御機能を含めた制御機能を実行することができる。また、インターフェース・ブロック58には、マスタ・タイムライン・コントロール
・ルーチン301が含まれ、それを使用して、ルート・オブジェクトからの時間の読み取り、書込み、及びデータベース40からの時間値の変更といった制御機能を実行することができる。
現アプリケーション56がインターフェース・ブロック58を呼び出して、デバイス、ブロック、パラメータ、あるいは、タイムライン制御を行う場合、実際、マスタ・タイムライン・コントロール・ルーチン300、あるいは、301の一つがコピーされ、特定の制御ルーチン、あるいは、制御((プログラム))に変換される。そうした特定の制御((プログラム))は、デバイス制御((プログラム))302、ブロック制御((プログラム))304、パラメータ制御((プログラム))306、及びタイムライン制御((プログラム))308として図11に示してある。その後、特定の制御((プログラム))302、304、306、308は、ウインドウズ・オペレーティング・システム46、現アプリケーション56、データベース40(DCI60を介して)、DDS72(DCI60を介して)、及びオンライン・スマート・デバイス(DCI60を介して)との間の通信に関連した機能を自動的に処理するが、それは、そうした通信が、そのために制御((プログラム))が生成される特定のデバイス、ブロック、パラメータ、あるいは、タイムラインに関連しているからである。一旦確立されたら、各々の制御((プログラム))302、304、306、308は、他の制御((プログラム))及び現アプリケーション56とは独立して、連続的に動作する。同じ、及び/あるいは、異なるタイプの制御((プログラム))を幾つでも同時に実行させることができる。
図11には、マスタ・コントロール・ルーチン300、あるいは、301の一つのコピーである別個のルーチンとして制御((プログラム))302、304、306、308を示してあるが、制御((プログラム))302、304、306、308には、マスタ・タイムライン・コントロール・ルーチン300、あるいは、301の一つを使用する特定のデバイス、ブロック、パラメータ、あるいは、タイムライン制御((プログラム))を実行するために必要なデータを含めることができる。
図12には、一般的に、例えば、図11に示した制御((プログラム))のいずれかを含めて、制御((プログラム))を初期化するために現アプリケーション56が実行すべきステップを示してある。制御((プログラム))が関連付けられた図3及び4の階層内のOLEオブジェクトを指す独自な名前をインターフェース・ブロック58に与えることによって、ブロック310は、制御((プログラム))のタイプを、例えば、デバイス、ブロック、パラメータ、あるいは、タイムライン制御((プログラム))を定義する。概念的に、FMSアプリケーションにとって利用可能な場合に、図3及び4の階層の具体例が存在するので、例えば、制御((プログラム))が関連付けられたルート・オブジェクトの時間と外観を指定することによって、タイムライン制御((プログラム))が、特定の階層のルート・オブジェクトを指定する。
ブロック311は、例えば表示される文字、情報が表示されるスタイルのフォント、サイズ等、制御情報が表示される表示画面の場所、制御表示のサイズがユーザーにより変更できる場合は制御表示の初期のウインドウ・サイズ、とまたいわゆる制御の「可視性」のようなものから成るユーザー・インターフェースの属性を定義する。制御の「可視性」は、制御が、実際に表示されるかあるいは画面上でみるこができるかどうかを決定する。データを該関連するOLE(リンキングと埋め込み)オブジェクトから検索するために不可視制御が、まだ稼働しおり、該情報をカレントのアプリケーション56に提供している間に、該制御のインターフェースの稼働は、単に非作動化される。
ブロック312は、制御のリフレッシュ(再生)速度(即ち制御が、該関連するOLEオブジェクトから情報を周期的な読み込みで受け取る速度)を定義する。実際は、ブロック312は、制御を図3と4の中の階層の特定のルート(最上位)オブジェクトに接続してから、ルート・オブジェクトは、周期的読み込みに応答してOLEオブジェクトがデータを再生する速度を定義する。
図13は、デバイス制御、ブロック制御、パラメータ制御、とまた図11のタイムライン(スケジュール)制御に使用することができる制御ルーチンの一般動作を示している。ブロック313は、図3と4の階層とカレントのアプリケーション56により設けられた名前により定義されている正しいOLEオブジェクトへ接続するか接続を再設定する。具体的には、制御は、例えば制御に関連するOLEオブジェクトの特性のような情報を読み込むために、DCI(表示制御インターフェース)60を経由してサーバ・ネットワーク66にコマンドを送信する。該コマンドは、周期的に要求されているデータを制御に送信するために、デバイス、ブロックあるいはパラメータ・オブジェクトのようなOLEオブジェクトに告げる周期的な読み込みであることが好ましい。
読み込みに応答して、サーバ・ネットワーク66は、OLEオブジェクトからのデータをDDS(デジタル・データ保存)72、スマー・デバイスあるいはデータベース40あるいいはその双方から検索することでOLEオブジェクトへの接続を設定してから、該データをOLEオブジェクトとしてサーバ・ネットワーク・メモリーの中に保存する。しかし、この読み込み機能を実行するために、サーバ・ネットワーク66は、また該ネットの中にデバイスあるいはブロック・オブジェクトあるいはその双方に関するデータを、図3と4の階層により定義されているとおりに要求されたOLEオブジェクトの上に保存しなければならない。サーバ・メモリーの中に保存されたとき、要求されたOLEオブジェクト・データが、DCI60に送信されてから、該データが、インターフェース・ブロック58に関連するメモリーあるいは制御キャッシュに保存されるインターフェース・ブロック58に送信される。
ブロック314は、それから図12のブロック311により制御に設けられているユーザーの属性により定義されている特定の制御に対してユーザーの表示装置30上の画面を設定するかあるいは初期化する。標準ウインドウス呼び出しとウインドウス・フォーマットを利用して、制御情報を表示させるための表示属性を、如何なる希望する方法でも構成させることができる。各デバイス、パラメータ、とタイムライン制御に対する例としての画面は、図20−22に図示されている。
次ぎに、ブロック315は、何等かのメッセージがアプリケーション、ウインドウス操作システム46を経由するユーザーのインターフェース、あるいはDCI60を経由してOLEブロックから受信されたかどうかを調べる。これ等の如何なるメッセージも受信されていない場合は、ブロック315は、引続きこのようなメッセージを点検する。ブロック315が、メッセージを受信したとき、制御は、1、2と3のラベルが付けられた識別子に示されているとおりに転送される。
図14は、カレント・アプリケーション56からのメッセージに応答した制御の作動を示している。ブロック316は、読み込みOLEオブジェクト・データ・メッセージ、変更パラメータ・オブジェクト値、あるいはルート・オブジェクト値メッセージと変更ユーザーインターフェース・メッセージを含む三つの一般タイプの一つである可能性があるメッセージを翻訳する。読み込みOLEオブジェクト・データ・メッセージに応答して、ブロック318は、要求されたデータを、引用された図3と4のOLEオブジェクトから読み込む。例えば、ブロック制御が、ブロック・オブジェクトの名前特性あるいは「Param」(パラメータ)集を読み込むことができる一方で、デバイス制御は、デバイスID特性あるいはデバイス・オブジェクトの「タグ」集を読み込むことができる。パラメータ制御は、変数パラメータ・オブジェクトの数値あるいは名前のようなパラメータ特性を読み込むことができる。タイムライン制御は、ルート・オブジェクトの特性を読み込むことができ、またデータベース40からの過去に存在したルート・オブジェクトに対する時間のリストを入手することができる。その後で、ブロック318は、制御をブロック315に返す。
変更パラメータあるいはルート値メッセージに応答して、ブロック320は、例えば、変数パラメータ・オブジェクト、記録パラメータ・オブジェクト、あるいは図4のアレー・パラメータ・オブジェクトのような、引用されたパラメータ・オブジェクト、に対して変更を実行してから、制御をブロック315に返す。変更−ユーザー−インターフェース・メッセージに応答して、ブロック322は、ユーザー・インターフェースの変更を実行してから、制御をブロック315に返す。
図15は、読み込みOLEオブジェクト・データ処理の間に、制御により実行されるルーチン324を示している。具体的には、ブロック326は、DCO60を経由してメッセージを、制御に関連するOLEオブジェクトに送信して、該オブジェクトからのデータを検索する。その後で、ブロック328は、どんなタイプの読み込みメッセージが受信されたかを決定する。非ブロック化、非周期あるいは非ブロック化、周期的メッセージが受信された場合は、ブロック328は、制御を、ルーチンが元々呼び出された該ブロックに返す。非ブロックは、制御が読み込みメッセージを制御に関連したOLEオブジェクトに対して送信したものに照会し、他の機能で継続する前に、OLEオブジェクトの応答を待たない。非周期読み込みは、制御に関連するOLEオブジェクトからの単独の、一回読み込みに対する要求である。周期的読み込みは、OLEオブジェクトに、該OLEと関連するルート・オブジェクトの中で定義されている速度で周期的にOLEの中のデータに対して起こった制御の変更を通知することを命令する。
しかし、読み込みが、常に非周期的読み込みであるブロック化であった場合は、ブロック330は、OLEオブジェクトからのデータ返還を待つ。次ぎに、ブロック332は、制御キャッシュの中の受信されたOLEオブジェクト・データを保存する。必要に応じて、ブロック334は、読み込みにより入手された新しいデータを反映させるために下記に説明されるユーザー・インターフェース変更ルーチンによりユーザーのインターフェースを変更する。ブロック336は、カーレント・アプリケーション56に、例えば、制御の初期化の間に、OLEオブジェクト・データ読み込みからメッセージあるいはデータ変更を受信することを希望しているアプリケーションが識別されたかどうかを通知する。その後で、制御は、ルーチン324を呼んだ何れかのブロックに返される。
図16は、OELOLEオブジェクト(変数パラメータ・オブジェクト)のパラメータあるいはルーツ値あるいはルート・オブジェクトの変更の制御により実行されるルーチン338を示している。ブロック340は、変更されるべきであると示されているパラメータあるいはルート値が書き込み可能であるかどうかを決定する。要約すれば、ブロック340は、CLEオブジェクトハンドリング特性を読み込んでから、パラメータ値が書き込み可能であるかどうかを決定するためにメッセージを送信する。ブロック340が、パラメータあるはルート・データ値が書き込み不能であると決定した場合は、ブロック342は、下記に説明されている変更−ユーザー・インターフェース・ルーチンを呼び出すことでユーザーあるいはカレント・アプリケーション342に、パラメータあるいはルート値が書き込み可能でないことを通知する。その後で、制御はルーチン338が、元々呼び出されたブロックに返される。
それとは反対に、ブロック340が、パラメータあるいはルート値が書き込み可能であると決定した場合は、ブロック344は、新しいパラメータ値(あるいはルート値)が受け入れられた数値であるかどうかを決定する。この機能を実施するには、ブロック344が、例えば、最低値、最大値と、例えば、変数、計数セット等である、受け入れられた数値のタイプのような制御と関連するパラメータ・オブジェクトの数値特性を読み込む。その後、ブロック344が、新しい数値が範囲外あるいは間違ったタイプと決定した場合は、ブロック346は、メッセージをアプリケーションに送信するか、あるいは受け入れることができない数値が入力されたことを示すためにユーザーの表示を変更するか、あるいはその双方を行う。その後、制御は、るーりん388が、元々呼び出されたブロックに返される。
ブロック344が、新しい数値が、パラメータあるいはルート・オブジェクトに対して受け入れられる数値であると決定した場合は、ブロック348は、DCI60を経由してメッセージを正しいOLEパラメータあるいはルート・オブジェクトに送信する。新しい数値が、そこで、言うまでもなく、スマート・デバイスの中あるいはデータベース40の中で対応する変更を行うOLEオブジェクトの中で変更される。
ブロック350は、帰還メッセージを待ち、またブロック352は、書き込みが成功したかどうかを決定するために、メッセージを復号する。書き込みが、成功であった場合は、ブロック354は、ユーザー・インターフェースを経由してアプリケーションあるいはユーザーあるいはその双方に、変更が行われたことを示す(例えば、スクリーン上のデータの背景の色を変更することで)。
ブロック352が、書き込みが不成功であると決定した場合は、ブロック356は、ユーザー・インターフェースを経由してアプリケーションあるいはユーザーあるいはその双方に、変更が行われなかったことを示す(例えば、スクリーン上のデータを元の状態に変更することで)。棄却の理由が、決定できるかあるいはユーザーに表示されることができるように、OLEオブジェクトに関連するレスポンス・コードが、アプリケーションにとって入手可能であることを付け加える。
ブロック352が、変更が行われたが、書き込み条件が存在すると決定した場合は、ブロック358は、OLEオブジェクトから特に正しい読み込みを開始することで、OLEオブジェクトからレスポンス・コードを検索する。ブロック360は、そこで希望すれば、アプリケーションあるいはユーザーあるいはその双方に、書き込み条件が存在することを示す。ブロック360は、また条件のタイプ(例えば、OLEオブジェクト特性が、最も近い入手可能な数値に設定されていたこと)を示すことができる。ブロック354、356と360は、制御を、元々ルーチン338を呼び出したブロックに返す。
図17は、ユーザー・インターフェース表示を変更するために制御により実行されたルーチン362を示している。ブロック364は、新しいカレント・アプリケーション56により提供された新しい属性と関連するか、あるいはここで新たに存在する条件に対して制御により以前に定義された属性のセットに従って該表示インターフェースの属性を変更する。該以前に定義された属性は、制御キャッシュのような、制御に関連するメモリーに保存される。ブロック366は、荒らしいユーザーの表示属性と表示されるはずの制御キャッシュの中のデータを利用してユーザー表示を再生する。それから、制御は、元々ルーチン362が呼び出されたブロックに返る。
図18は、ユーザー・インターフェースからのメッセージに応答する制御の作動を示している。ブロック370は、ユーザーの行動が、意味があるかどうかを決定するために点検する。ブロック370は、例えば、ユーザーが、マウスの正しいボタンをクリックした、あるいはポインター(即ち、カーソルあるいは矢印)の位置が、制御が、行動に対して要求さているとおりのユーザーの行動を認識する制御表示の領域の範囲内であるかどうかを決定する。ユーザーの行動が無意味であった場合は、ブロック372は、単にユーザーの行動を無視するか、あるいは行動が無視されたことの一定の表示(即ち、ユーザーの表示を、同じ表示インターフェース属性で再生する)を与える。その後で、制御は、ブロック315に返される。
これとは反対に、ユーザーの行動が、意味がある場合は、ブロック374は、ユーザーのインターフェースからメッセージを翻訳する。ユーザーのインターフェースからのメッセージが、ユーザーがパラメータ値あるいはルート値を変更したいことを示している場合は、ブロック376は、変更−パラメータ/ルート値ルーチン338を呼び出してから、制御をブロック315に返す。希望すれば、ブロック376は、例えば、書き込まれるべきデータを囲んでいる背景フィールドの色変更を実施するために、またユーザー・インターフェースを変更できる。成功した書き込みの表示が受け取られたら、直ちに、ブロック376は、また数値が書き込まれたことを示すために背景の色をその元の状態に返す(ルーチン338がこれを行っていなかった場合は)。
これとは反対に、ブロック374が、ユーザーがユーザーのインターフェースの中で変更を要求していることを決定した場合は、ブロック378は、変更−パラメータ/ルート値ルーチン362を呼び出してから、制御をブロック315に返す。
図19は、DCI60からの、即ち図3と4の階層の中のOLEオブジェクトからのメッセージに応答した制御の作動を示している。ブロック380は、最初にDCI60からのメッセージが、非ブロック化読み込み帰還か、あるいはメッセージが、OEL階層の引用されたOLEオブジェクトの範囲内の一部の他の変更あるいは変更された条件を示しているかどうかを決定する。条件変更メッセージは、例えば、多重のユーザーが特定のブロックをアクセスすることを同時に処理中のデバイスの範囲内で予防するFMS阻止メッセージから成る。例えば、ブロックが、異なるユーザーにより、携帯通信機あるいはデバイスに取り付けられている他のFMSシステムによりアクセスされている場合、OLEオブジェクトは、DCI60を経由して制御に対する該状態を識別する。その後で、制御は、該ブロックのデータがもはや書き込み不能であることを、例えば、通常書き込み可能な数値を囲んで、スクリーン上のグレーの背景を表示して、ユーザーに示す。
非ブロック化読み込み返還の場合、ブロック382は、返還された数値が変更されたかどうかを決定する。該場合、ブロック384は該新数値を制御キャッシュの中に保存する。ブロック384と、制御キャッシュの中に保存されたデータの中に変更がない場合は、ブロック382は、同様に、制御をブロック386に提供する。該ブロック386は、ブロック380が、OLEオブジェクトからのメッセージが変更と関連しており非ブロック化読み取りと関連していないと決定した場合は、また実行される。
ブロック386は、変更されたデータあるいは新しい条件あるいは状態が、スクリーンに表示されるべきかどうかのような、ユーザーのインターフェースに対する変更が必要かどうかを決定する。必要な場合は、ブロック390は、変更−ユーザー−インターフェース・ルーチン362を呼び出して、変更されたデータあるいは条件をユーザーに表示する。しかし、ブロック386が、変更されたデータあるいは条件が表示される必要がないと決定したか、あるいはブロック390が、該変更されたデータあるいは条件をユーザーに表示した場合は、ブロック392は、アプリケーションが、書き込み済みの命令に従って、該変更されたデータあるいは条件について通知を受けるべきかどうかを決定する。もしそうである場合は、394は、変更されたデータあるいは条件を示しながら、メッセージをカーレント・アプリケーション56に送信する。その後で、制御はブロック315に返される。
一般的に、デバイス、ブロック、パラメータ、あるいはタイムライン制御によりアクセスされた情報は、
(1)制御が通常のマイクロソフト・ウインドウス・エディット制御と同様に働くEDITスタイル;
(2)制御が通常のマイクロソフト・ウインドウス・コンボ・ボックス制御と同様に(即ちドロップ・ダウン・リストと同様に)働くCOMBOスタイル;
(3)制御が、通常のマイクロソフト・ウインドウス・リスト・ボックス制御と同様に(即ち計数の中の各項目が、リスト・ボックス・エントリーとして示されるように)働くLISTスタイル;
(4)制御が、通常のマイクロソフト・ウインドウス・ボックス制御と同様に働くGROUPスタイル;とまた
(5)制御が、持ち上げられているか沈められたパネル、あるいは他の全ての希望するスタイルあるいはフォーマットで表示するPANELスタイルから成る、希望する方法で、スクリーンに表示させることができる。
図20は、二つのデバイス制御に関連する制御表示400と402を示している。デバイス制御表示400と402の各々は、カーレント・アプリケーションと関連するメモリーの中に保存されているデバイスの絵あるいはデバイスのデジタル・ビットマップ(通常はデバイスのメーカーあるいはDDS供給者により供給される)から成る。その代わりに、該ビットマップを、データベース40の中に保存して、OLEオブジェクトによりアクセスさせることもできる。
該制御表示400と402には、例えば、デバイスの名前(図20に示されている)、タグ、略称(MONIKER)等、あるいは他のデバイス特有の情報から成る、デバイスに関する他の希望する情報を入れることができる。更に、デバイスに対するメニューも、デバイス制御表示400と402に関連するプルダウン・ウインドウの中に設けることができる。該メニューには、例えばデバイスに対するデバイス・オブジェクトに関連する名前集、目盛り調整、再設定、とまた自己診断方法を含むデバイス上で実行できる方法、デバイスに関連するブロック、デバイスに関連するパラメータのリスト、デバイスに対する支援、デバイスのためのサービス・ノート等のようなデバイスに関連するファイルを含めることができる。表示できるデバイスに関する他の情報は、デバイスの中の各パラメータの各々の変数の内容、デバイスのフェース・プレート情報、例えば、デバイスの中でエラーが起こっていいるかどうか、とまた例えば、特定の時間に存在しているかあるいは存在したデバイスの一つあるいはそれ以上のパラメータの変数の数値の対称リストを含むデバイスの作動状態から成る。
図21は、デバイスの三個の特定のパラメータ制御と関連する特定のパラメータ制御表示408、410と412に沿って一般的なパラメータ制御表示406を示している。パラメータ制御表示406−412の各々の場所は、スクリーンの異なるところにあり、特に、パラメータ制御表示406の場所は、スクリーンのトップにある一方で、パラメータ制御表示408、410と412は、パラメータ制御表示406の下に連続して置かれている。
該パラメータ制御表示406は、パラメータ制御表示が、例えば「圧力」、「温度」、あるいは「モード」が示される、情報のタイプに関する情報を提供するラベル・フィールド、パラメータの数値を示す数値フィールド、とまた数値が示される単位を示す単位フィールドから成る三個のフィールドを持っていることを示す。パラメータの数値を、整数、小数点数字(パラメタ制御表示408と410)あるいは、パラメータ制御表示412に関連するプルダウン・メニューの中でリストアップされているとおりの計数された数値のセットの一つで構成されている計数された数値とすることができる。該パラメータ制御表示412は、単位変数が、該表示に関連する計数されたセットに適用できないので、該変数を含まない。
図22は、ブロック制御に関連する二個の制御表示414と416をを示している。デバイス制御表示と同様に、ブロック制御表示は、一般的に、例えば、ブロックが入力、出力あるいは制御(あるいはインターフェース)ブロックの何れかであることを含む、ブロックあるいはブロックが置かれているデバイスあるいはその双方に関連する絵あるいは他のブロックあるいは他の希望する情報あるいはその双方の他の符号から成る。
図23は、デバイス、ブロックとパラメータ制御のような他の制御に接続され、またパラメータ制御を接続することができる、OLEルート・オブジェクトの時間とビュー(仮想テーブル)特性を制御し変更するために使用されるタイムライン制御表示420と422を示している。表示420と422に関連するタイムライン制御の各々は、関連するルート・オブジェクトの時間値を、ルート・オブジェクトが入手でき、システムに対して時間の変更が行われ、トランザクション記録が、FMSデータベース40(図1)のトランザクション・データベース200(図5)に保存されたとき、一般的に過去の時間を含む如何なる以前の時間に変更できる。更に、制御表示420と422に関連するタイムライン制御は、過去、現在、あるいは将来の設定の間で、ルート・オブジェクトのビューを変更することができる。
各タイムライン制御表示は、図23の中に示されている通り、通常、どれが過去、現在を示しているスライダー424から成り、将来のビューは、ユーザーが、各々が例えば日付と時間を有する過去の経過した時間から選択できるように、コンボ・ボックス426と同時に選択される。
該タイムライン制御スライダー424を変更することで、ユーザーは、タイムライン制御に、該タイムライン制御に関連するルート・オブジェクト・ビューを変更するように告げる。タイムライン制御コンボ・ボックス426を変更することで、ユーザーは、タイムライン制御にルート・オブジェクト時間値を、特定の時間に変更することを告げる。
タイムライン制御が、時間あるいはルート・オブジェクトのビューを変更したとき、ルート・オブジェクトに関連するパラメータ、デバイスあるいはブロック制御のような他の何れの制御も、OLEオブジェクトにより作られた変更メッセージに応答して自動的に更新される。該メッセージは、ルート・オブジェクトと同じ階層の中のOLEオブジェクトが、新しい時間、あるいは、ここでルート・オブジェクトと関連するビューに関連する新しいデータを検索したとき、OLブジェクトにより作られる。
図23は、またタイムライン制御表示420と関連するタイム制御と同じルート・オブジェクトに接続されている温度と圧力パラメータ制御表示430と432を示している。同様に、温度と圧力パラメータ制御表示440と442は、タイムライン制御表示422と関連するタイム制御と同じルート・オブジェクトに接続されている。タイムライン制御表示420と422は、異なった時間、即ち、過去の時間(制御表示420)と現在(制御表示422)に設定されるので、温度パラメータ430と440の数値は、異なり、また圧力パラメータ432と442は、異なる。パラメータ制御表示のリストを、デバイスあるいはブロック等に対する一つあるいはそれ以上の完全な形状で表示させるようにスクリーンの上の構成させることができる。デバイスとブロックあるは他のパラメータ制御あるいはその双方を、タイムライン制御として同じルート・オブジェクトに関連させることができ、また異なる時間に於けるデバイス、ブロックあるいはパラメータの構成を、スクリーンの中で対称あるいは他の関係で示している構成表示を示すために使用することができる。タイムライン制御を、デバイス、ブロックあるいはパラメータの設定あるいは数値をスクロールして、表示上で他の制御と関連させて使用することができる。言うまでもなく、全ての過去あるいは現在の情報をユーザーに示すために、例えば現在のオンライン・デバイスに関連する情報、即ち、オンラインデータ、とまた過去と将来のオンライン・デバイス、とまたオフライン・デバイスに関連する情報、即ちオフライン・データを含む、如何なるタイムライン、デバイス、ブロック、パラメータあるいは他の制御あるいはその双方の組合せも、可能である。更に、図23に関連して示されているとおり、デバイスに対する同じデータ、例えば、同じパラメータ値を、タイムライン制御を利用して異なる時間に対して示すことがで、また希望すれば、設定値間の差を示すためにルーチンを実施することができる。
タイムライン制御は、ルート・オブジェクトの時間特性を、タイムライン制御を使用してユーザーが指定する特定の時間(以下ビュー時間と称す)に変更する。従って、OLE階層のなかのルート・オブジェクトの全てのオブジェクトの川下に対する時間属性は、上記に説明されているとおりビュー時間に合うように変更される。更に、これ等のオブジェクトの他の特性の数値は、ビュー時間に対応する数値に更新される。
特にブロック・オブジェクトに対しては、希望する時点(即ちタイムライン制御を使用してビュー時間で指定された)での対応するブロックの状態5)は、上記で説明されているトランザクション・データベース200(図を使用して得られる。より具体的には、ビュー時間に於けるブロック・オブジェクトのパラメータ値(即ち、ビュー時間に於けるブロック・オブジェクトのパラメータ・オブジェクトの数値特性の数値)は、ビュー時間あるいはそれより前に、最後にこれ等のパラメータ・オブジェクトに対応するパラメータに対して割り当てられた数値を探し出すためにビュー時間で始まる時計の逆回りでトランザクション・データベース220を検索することで得られる。この手続きは、詳しく、図24のフローチャートに参照符号を付けて説明されている。
図24は、どのようにして特定のブロックの状態を、上記に説明されているデータベース200から再構築できるかを示すフローチャートである。先ず、ブロック450が、「セット」タイプ変数{S}をゼロに初期化する。「セット」タイプ変数{S}は、ビュー時間状態が再構築されなければならないブロックのパラメータのビュー時間に於ける数値を蓄積するのに使用される。ブロック452が、ビュー時間と等しい状態のセットと{S}関連する時間を、そこで設定する。その後で、ブロック454が、設定変数{S}が、ブロック・オブジェクトの各パラメータに対する数値を含んでいるかどうかを決定する。肯定的である場合は、ブロック456は、アッセンブルされた状態{S}を、ビュー時間に於けるブロックの状態として割り当ててから、図構築ルーチンは、終了する。
ブロック454が、蓄積された状態(即ち、セット変数{S}の内容)が、ブロックの中の各パラメータに対する数値を含んでいないと決定した場合は、ブロック458は、現在値が蓄積された状態{S}の中に含まれていない次のパラメータPを識別する。ブロック460は、そこで、ビュー時間あるいはそれより前に、最後行われた変更TRをを探し出すためにビュー時間で始まる時計の逆回りで時計と逆回りでトランザクション・データベース200を検索する。ブロック462は、そこで、トランザクションTRの符号で示されている変更によりパラメータPセットと共に、パラメータPを、蓄積された状態{S}に加えてから、制御は、ブロックの中の全てのパラメータの数値が、状態{S}に蓄積されたかどうか更にもう一度点検するために、そこでブロック454に返る。
デバイス、ブロック、パラメータ、とまたタイムライン制御が、本明細書の中に図示されまた説明されているが、本発明に従った他の制御も、他の特性あるいは、図3と4の中で示されているOLEオブジェクトの何れかの中のデータを含むDDLを経由して入手できるデータを示すように構築できる。
本発明は、単に例示を目的としており、発明を限定することを目的として特定の例を引用して説明されたが、本発明の精神と範囲を逸脱することなく、変更、追加あるいは削除あるいはその双方を、開示された実施例に行うことが可能であることは当業者にとっては明かである。
Claims (11)
- デバイスを設定し、前記デバイスのコンフィギュレーションに対してなされた変更の記録を保存するためのコンピューターベースのデータベース管理システムであって、前記デバイスのコンフィギュレーションは、1以上の調整可能なパラメーターを含み、該システムは:
第1回目に前記デバイスのコンフィギュレーションの調整可能な前記1以上のパラメーターのうちの少なくともひとつを第1の値に設定し、第2回目に前記1以上の調整可能なパラメーターのうちの少なくともひとつを第2の値に設定するための携帯型の設定手段と、
前記携帯型の設定手段と通信するためのインターフェイス手段と、
トランザクション記憶装置とを備え、
前記第1の値は前記デバイスが第1様式で動作するために設定するように選択され、前記第2の値は前記デバイスが第2様式で動作するために設定するように選択され、
前記第2様式は前記第1様式とは異なる様式であり、
前記デバイスは第1回目にはパラメータの第1の値にしたがい、第2回目にはパラメータの第2の値にしたがって動作し、
前記携帯型の設定手段は、第1回目には、設定されるべきパラメータと、そのパラメータが設定されるべき第1の値との単一の指示を出力し、第2回目には、設定されるべきパラメータと、そのパラメータが設定されるべき第2の値との単一の指示を出力し、上記各回毎に一のトランザクションレコードを作成して前記携帯型の設定手段内に複数のトランザクションレコードを作成し、
前記各トランザクションレコードは、設定されるパラメータ、パラメータがそれに設定される値およびパラメータがその値に設定される時間とを含み、
前記インターフェイス手段は、前記データベース管理システムが前記携帯型の設定手段から前記複数のトランザクションレコードを受け取ることを許容し、
前記トランザクション記憶装置は前記携帯型の設定手段に応答し、
前記トランザクション記憶装置は前記複数のトランザクションレコードを保管するためのものである、システム。 - 請求項1に記載のシステムであって、
前記デバイスが、前記データベース管理システムを実行するコンピュータから分離されたものである、システム。 - 請求項1に記載のシステムで、各トランザクションレコードに含まれる前記時間が、また、日付の指示と、更に前記1以上の調整可能なパラメータのうちのひとつが特定の値に設定される日の時間指示を含む、システム。
- 請求項1に記載のシステムで、トランザクション記憶装置に保管される1つのトランザクションレコードが、トランザクションレコードの対応する時間指示によって指示される時間現在の、ひとつのトランザクションレコードが関係するデバイスの複数の調整可能なパラメーターの各々のための値からなる、システム。
- 請求項1に記載のシステムで、トランザクション記憶装置に保管される1つのトランザクションレコードが、トランザクションレコード内に含まれる時間現在の、ひとつのトランザクションレコードが関係するデバイスの各々の調整可能なパラメーター用の値からなる、システム。
- 請求項1に記載のシステムで、トランザクション記憶装置に保管される各々のトランザクションレコードが、前記トランザクションレコードによって記録されたトランザクションのタイプの指示を含み、そのタイプが歴史的なタイプ、現在のタイプ、及び将来のタイプからなる群から選ばれる、システム。
- 請求項1に記載のシステムで、更に、特定のデバイスの前記1以上の調整可能なパラメーターのおのおのに前記設定手段が出力した最近の値を見い出すために、逆年代順に、前記デバイスに関係するトランザクションレコードをスキャンすることによって、特定のデバイスの現在の状態を決定するための決定手段を含む、システム。
- 請求項7に記載のシステムで、トランザクション記憶装置内の1つのトランザクションレコードが特定のデバイスの前記1以上の調整可能なパラメーターのおのおののための値を含む、システム。
- 請求項1に記載のシステムで、トランザクション記憶装置内の1つのトランザクションレコードが特定のデバイスの前記1以上の調整可能なパラメーターのひとつのための値を含み、トランザクションレコードの時間指示が、その値が、将来の指定されない時間において、前記トランザクションレコードにおいて指示される前記調整可能なパラメーターに前記携帯型の設定手段によって出力されるべきものであることのみを指示する、システム。
- 請求項1に記載のシステムで、更に、トランザクション記憶装置に保管されているトランザクションレコードを、二次的なトランザクション記憶装置に保管されているトランザクションレコードに一致させるための手段を備える、システム。
- 請求項1に記載のシステムで、更に、トランザクション記憶装置に保管されているトランザクションレコードを、機能的に同一であるコンピューターベースのデータベース管理システムのトランザクション記憶装置に保管されているトランザクションレコードに一致させるための手段を備える、システム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/599,371 US6094600A (en) | 1996-02-06 | 1996-02-06 | System and method for managing a transaction database of records of changes to field device configurations |
US08/599,371 | 1996-02-06 | ||
US08/759,387 | 1996-12-04 | ||
US08/759,387 US5960214A (en) | 1996-02-06 | 1996-12-04 | Integrated communication network for use in a field device management system |
US08/764,057 US5903455A (en) | 1996-02-06 | 1996-12-12 | Interface controls for use in a field device management system |
US08/764,057 | 1996-12-12 | ||
PCT/US1997/001534 WO1997029409A1 (en) | 1996-02-06 | 1997-02-05 | System and method for managing a transaction database of records of changes to field device configurations |
Related Child Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007185632A Division JP4722885B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185763A Division JP4722890B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185712A Division JP4722888B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185662A Division JP4722886B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185688A Division JP4722887B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185729A Division JP4722889B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2008267906A Division JP4906829B2 (ja) | 1996-02-06 | 2008-10-16 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000504865A JP2000504865A (ja) | 2000-04-18 |
JP4260221B2 true JP4260221B2 (ja) | 2009-04-30 |
Family
ID=27416778
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52857797A Expired - Lifetime JP4260221B2 (ja) | 1996-02-06 | 1997-02-05 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185729A Expired - Fee Related JP4722889B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185662A Expired - Fee Related JP4722886B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185688A Expired - Fee Related JP4722887B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185763A Expired - Fee Related JP4722890B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185712A Expired - Fee Related JP4722888B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185632A Expired - Fee Related JP4722885B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007185729A Expired - Fee Related JP4722889B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185662A Expired - Fee Related JP4722886B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185688A Expired - Fee Related JP4722887B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185763A Expired - Fee Related JP4722890B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185712A Expired - Fee Related JP4722888B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
JP2007185632A Expired - Fee Related JP4722885B2 (ja) | 1996-02-06 | 2007-07-17 | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0885412B1 (ja) |
JP (7) | JP4260221B2 (ja) |
AU (1) | AU1849397A (ja) |
DE (3) | DE69726763T2 (ja) |
WO (1) | WO1997029409A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6999824B2 (en) | 1997-08-21 | 2006-02-14 | Fieldbus Foundation | System and method for implementing safety instrumented systems in a fieldbus architecture |
US6067477A (en) * | 1998-01-15 | 2000-05-23 | Eutech Cybernetics Pte Ltd. | Method and apparatus for the creation of personalized supervisory and control data acquisition systems for the management and integration of real-time enterprise-wide applications and systems |
FI108678B (fi) | 1998-06-17 | 2002-02-28 | Neles Controls Oy | Kenttälaitteiden hallintajärjestelmä |
EP1046972B1 (de) * | 1999-04-22 | 2013-03-06 | ABB Research Ltd. | Softwaremässige Repräsentation von Geräten |
FR2797503B1 (fr) * | 1999-08-13 | 2001-11-02 | Crouzet Automatismes | Procede de configuration d'un systeme bati autour d'au moins un reseau numerique et comportant au moins un composant intelligent analogique ou tout-ou-rien |
US6330517B1 (en) | 1999-09-17 | 2001-12-11 | Rosemount Inc. | Interface for managing process |
US6449715B1 (en) * | 1999-10-04 | 2002-09-10 | Fisher-Rosemount Systems, Inc. | Process control configuration system for use with a profibus device network |
US6446202B1 (en) * | 1999-10-04 | 2002-09-03 | Fisher-Rosemount Systems, Inc. | Process control configuration system for use with an AS-Interface device network |
GB2394630B (en) * | 1999-10-04 | 2004-06-09 | Fisher Rosemount Systems Inc | Process control configuration system for use with a Profibus device network |
EP1419420A1 (en) * | 2001-08-23 | 2004-05-19 | Fieldbus Foundation | Foundation fieldbus server providing device information using a live-list-based dynamic directory structure |
US7984199B2 (en) * | 2008-03-05 | 2011-07-19 | Fisher-Rosemount Systems, Inc. | Configuration of field devices on a network |
EP2116911B1 (de) | 2008-05-07 | 2014-01-15 | Siemens Aktiengesellschaft | Automatisierungssystem und Verfahren zur Wiederherstellung der Betriebsfähigkeit eines Automatisierungssytems |
DE102008039696A1 (de) * | 2008-08-26 | 2010-03-04 | Endress + Hauser Wetzer Gmbh + Co. Kg | Verfahren zum Betreiben eines Systems von Feldgeräten |
DE102020214242A1 (de) | 2020-11-12 | 2022-05-12 | WAGO Verwaltungsgesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Konfigurieren einer industriellen Steuerungsvorrichtung |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0772898B2 (ja) * | 1981-06-27 | 1995-08-02 | 富士通株式会社 | インデックスの作成方式 |
US4586151A (en) * | 1983-09-02 | 1986-04-29 | Zymark Corporation | Self-configuring computerized robot control system |
EP0434986A3 (en) * | 1989-12-22 | 1993-06-16 | Siemens Aktiengesellschaft | Method for putting into operation a module connected to an electronic control system |
JP2810231B2 (ja) * | 1990-01-30 | 1998-10-15 | ジヨンソン・サービス・カンパニー | ノードを有する分散形ネットワークシステム中のデータの位置付け方法 |
JPH0731646B2 (ja) * | 1990-08-17 | 1995-04-10 | サプライ テック,インコーポレーテッド | 電子データ交換装置および方法 |
JPH04152404A (ja) * | 1990-10-17 | 1992-05-26 | Hitachi Ltd | フィールド機器の制御方式 |
JP3292300B2 (ja) * | 1990-11-22 | 2002-06-17 | 株式会社日立製作所 | フィールドバスシステム |
JP3142595B2 (ja) * | 1991-03-30 | 2001-03-07 | マツダ株式会社 | 生産設備の制御システム設計支援及び故障診断方法 |
JPH05204406A (ja) * | 1992-01-28 | 1993-08-13 | Hitachi Ltd | プロセス制御装置 |
FR2692701B1 (fr) * | 1992-06-18 | 1994-09-30 | Aerospatiale | Procédé de contrôle de configuration d'une installation complexe et dispositif pour la mise en Óoeuvre de ce procédé. |
JPH06110546A (ja) * | 1992-09-29 | 1994-04-22 | Toshiba Corp | 制御監視装置 |
JP3204279B2 (ja) * | 1993-03-29 | 2001-09-04 | 横河電機株式会社 | 制御装置 |
JP3024422B2 (ja) * | 1993-04-01 | 2000-03-21 | 三菱電機株式会社 | プログラマブルコントローラおよびプログラマブルコントローラの運転方法 |
JPH06348712A (ja) * | 1993-06-07 | 1994-12-22 | Toshiba Corp | 分散協調制御システム |
JPH0773246A (ja) * | 1993-09-01 | 1995-03-17 | Nec Software Kansai Ltd | 乗降客情報管理方式 |
US5631825A (en) * | 1993-09-29 | 1997-05-20 | Dow Benelux N.V. | Operator station for manufacturing process control system |
GB9320404D0 (en) * | 1993-10-04 | 1993-11-24 | Dixon Robert | Method & apparatus for data storage & retrieval |
JPH07115685A (ja) * | 1993-10-20 | 1995-05-02 | Hitachi Ltd | フィールドバス用コンフィグレータ |
FR2713360B1 (fr) * | 1993-12-01 | 1996-03-08 | Aerospatiale | Système de commande centralisée d'une installation industrielle. |
JPH07182033A (ja) * | 1993-12-21 | 1995-07-21 | Mitsubishi Electric Corp | 履歴記録方法 |
JP3251414B2 (ja) * | 1994-01-11 | 2002-01-28 | 三菱電機株式会社 | プログラマブルコントローラおよびそのプログラム容量変更方法 |
WO1995026527A1 (en) * | 1994-03-25 | 1995-10-05 | Oxy-Dry Corporation | Touch screen control system and method for controlling auxiliary devices of a printing press |
US5611059A (en) * | 1994-09-02 | 1997-03-11 | Square D Company | Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system |
-
1997
- 1997-02-05 DE DE69726763T patent/DE69726763T2/de not_active Expired - Lifetime
- 1997-02-05 EP EP97904119A patent/EP0885412B1/en not_active Expired - Lifetime
- 1997-02-05 DE DE69726764T patent/DE69726764T2/de not_active Revoked
- 1997-02-05 WO PCT/US1997/001534 patent/WO1997029409A1/en active IP Right Grant
- 1997-02-05 AU AU18493/97A patent/AU1849397A/en not_active Abandoned
- 1997-02-05 JP JP52857797A patent/JP4260221B2/ja not_active Expired - Lifetime
- 1997-02-05 DE DE69712327T patent/DE69712327T2/de not_active Expired - Lifetime
-
2007
- 2007-07-17 JP JP2007185729A patent/JP4722889B2/ja not_active Expired - Fee Related
- 2007-07-17 JP JP2007185662A patent/JP4722886B2/ja not_active Expired - Fee Related
- 2007-07-17 JP JP2007185688A patent/JP4722887B2/ja not_active Expired - Fee Related
- 2007-07-17 JP JP2007185763A patent/JP4722890B2/ja not_active Expired - Fee Related
- 2007-07-17 JP JP2007185712A patent/JP4722888B2/ja not_active Expired - Fee Related
- 2007-07-17 JP JP2007185632A patent/JP4722885B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4722885B2 (ja) | 2011-07-13 |
JP2007317219A (ja) | 2007-12-06 |
JP2000504865A (ja) | 2000-04-18 |
DE69726764T2 (de) | 2004-10-07 |
EP0885412A1 (en) | 1998-12-23 |
JP2008009996A (ja) | 2008-01-17 |
AU1849397A (en) | 1997-08-28 |
WO1997029409A1 (en) | 1997-08-14 |
DE69712327D1 (de) | 2002-06-06 |
JP4722886B2 (ja) | 2011-07-13 |
JP4722889B2 (ja) | 2011-07-13 |
JP4722887B2 (ja) | 2011-07-13 |
DE69712327T2 (de) | 2002-11-21 |
EP0885412B1 (en) | 2002-05-02 |
JP2007328803A (ja) | 2007-12-20 |
DE69726763D1 (de) | 2004-01-22 |
JP4722890B2 (ja) | 2011-07-13 |
DE69726763T2 (de) | 2004-10-07 |
JP2007328801A (ja) | 2007-12-20 |
JP2007317218A (ja) | 2007-12-06 |
JP4722888B2 (ja) | 2011-07-13 |
JP2007328802A (ja) | 2007-12-20 |
DE69726764D1 (de) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4906829B2 (ja) | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 | |
JP4722885B2 (ja) | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 | |
EP1411402B1 (en) | System and method for developing software programs by way of multiple applications and users | |
JP6388682B2 (ja) | グラフィック・プログラミング言語オブジェクトを編集及び報告する方法及び編集・報告システム | |
US6850808B2 (en) | Method and system for developing a software program using compound templates | |
US6053951A (en) | Man/machine interface graphical code generation wizard for automatically creating MMI graphical programs | |
US20080189637A1 (en) | Data quality and status behavior for human machine interface graphics in industrial control and automation systems | |
JP2018106687A (ja) | 動的装置記述言語メニュー用装置及び方法 | |
JP2011253545A (ja) | バッチ処理用事象ヒストリアン | |
EP0879444B1 (en) | Method and apparatus using a device description for a conventional device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070116 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070416 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080116 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080416 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081016 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20081113 |
|
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: 20090113 |
|
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: 20090204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 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: 20120220 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |
|
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 |