JP4885435B2 - ユーザによる修正が可能な状態遷移コンフィギュレーションデータベースを有する状態マシン機能ブロック - Google Patents

ユーザによる修正が可能な状態遷移コンフィギュレーションデータベースを有する状態マシン機能ブロック Download PDF

Info

Publication number
JP4885435B2
JP4885435B2 JP2004257939A JP2004257939A JP4885435B2 JP 4885435 B2 JP4885435 B2 JP 4885435B2 JP 2004257939 A JP2004257939 A JP 2004257939A JP 2004257939 A JP2004257939 A JP 2004257939A JP 4885435 B2 JP4885435 B2 JP 4885435B2
Authority
JP
Japan
Prior art keywords
state
input
state machine
cells
output
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
Application number
JP2004257939A
Other languages
English (en)
Other versions
JP2005085271A (ja
Inventor
ギャリー ケー. ロウ,
マイケル ジー. オット,
ケント エー. バー,
ゴドフリー アール. シェリフ,
Original Assignee
フィッシャー−ローズマウント システムズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フィッシャー−ローズマウント システムズ, インコーポレイテッド filed Critical フィッシャー−ローズマウント システムズ, インコーポレイテッド
Publication of JP2005085271A publication Critical patent/JP2005085271A/ja
Application granted granted Critical
Publication of JP4885435B2 publication Critical patent/JP4885435B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23289State logic control, finite state, tasks, machine, fsm
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明の開示は、概略的にはプロセスプラントで使用するための機能ブロックに関し、より詳細にはプロセスプラントに関連する状態マシンの構成及び実現に関連する。
化学、石油や他のプロセスにおいて使用されるようなプロセス制御システムは、少なくとも一つのホスト又はオペレータワークステーションとフィールドデバイスとにアナログ、デジタル、又は結合されたアナログ/デジタルバス若しくはラインを介して通信可能に接続された一又はそれ以上のプロセスコントローラを典型的に含んでいる。例えばバルブ、バルブポジショナ、スイッチ及びトランスミッタ(例えば温度、圧力及びフローのセンサ)であり得るフィールドデバイスは、バルブの開閉、プロセスパラメータの測定のようなプロセスプラント内の機能を実行する。プロセスコントローラは、フィールドデバイスによって作成されるプロセスの測定値を表す信号及び/又はそのフィールドデバイスに関連する他の情報を受け取り、この情報を制御ルーチンを実現するために使用し、及び次に、プロセスの動作を制御するためにフィールドデバイスへのバス又はライン上を送られる制御信号を生成する。フィールドデバイス及びコントローラからの情報は、プロセスを構成し、プロセスの現在の状態を見、プロセスの動作を修正する等のプロセスに関する所望の機能をオペレータが実行するのを可能とするために、オペレータワークステーションによって実行される一又はそれ以上のアプリケーションに典型的に利用可能とされる。
加えて、多くのプロセスでは、プロセスプラント内の問題に関連する重大な安全性を検出し、及び毒性の化学物質の漏れや爆発などのプラント内の重大な障害を引き起こし若しくはこれに繋がる問題が生じた時に、自動的にバルブを閉じ、デバイスから電力を取り去り、プラント内のフローをスイッチする等のために、独立した安全システムが設けられている。これらの安全システムは、標準のプロセス制御コントローラから独立した論理ソルバと称される一又はそれ以上のコントローラを典型的に有しており、これは、プロセスプラント内の独立したバス又は通信ラインを介して安全フィールドデバイスに接続されている。論理ソルバは、プロセスプラント内の「事象」を検出するための、特定の安全スイッチ又はシャットダウンバルブの位置、プラントのオーバーフロー又はアンダーフロー、重要な発電又は制御デバイスの動作、障害検出デバイスの動作等、重大な事象に関連するプロセス状態を検出するために安全フィールドデバイスを使用する。事象(典型的には「原因(cause)」と称される)が検出された時、安全コントローラは、その結果の有害な性質を制限するために、幾つかのアクション(典型的には「結果(effect)」と称される)を採り、その例は、バルブを閉じること、デバイスをオフにすること、プラントのセクションから電力を取り去ること等である。一般的には、これらのアクション又は結果は、安全デバイスを、プロセスプラント内の重大な又は危険な状態を避けように設計された作動した又は「安全」な動作モードにスイッチする。
プロセス制御システム及び安全システム等のプロセスプラント内のシステムは、典型的には種々のプロセス及び/又はシステムそれ自身の状態を継続して追跡する。システムへの入力信号がそのシステムによって追跡される状態を引き起こし得、そのシステムによって生成される出力信号は、システムへの入力信号に加えて、システムの現在の状態に依存し得る。現時点では、システムの状態は、プログラム言語で記載されたルーチンを使用して追跡され得る。このようなルーチンを記述することは、単調で、時間を要し、エラーに満ちたものである。安全システムでは、このようなエラーは重大であり、その理由は、適正に動作する安全システムの不具合は、重大な損害又はプラント要員の死にも導き、そして、プラント内の装置及び材料の潜在的に数百ドルもの破壊に導きかねない。
また、システムの状態は、国際電気標準会議(IEC)によって標準化された、一般的に「シーケンシャルファンクションチャート」(IEC61131−3標準に示されている)と称されるプログラマブルコントローラのためのプログラム技術を使用して追跡され得る。しかし、当業者によく知られているように、システムの状態を追跡するためにシーケンシャルファンクションチャートを使用することは困難である。加えて、プログラミング言語で記載されるルーチンと同様に、シーケンシャルファンクションチャートは単調で、時間を要し、エラーに満ちたものである。
プロセスプラント内の制御システム、安全システム等は、それぞれ機能ブロックダイヤグラムプログラミング環境に容易に組み込まれ得る一又はそれ以上の状態マシン機能ブロックを使用する。このような状態マシン機能ブロックは、一又はそれ以上の入力を含み得、これは、状態マシン機能ブロックによって実現される状態マシンが状態を変更するようにするために使用され得る。状態マシン機能ブロックは、もしあれば次の状態を示す状態遷移コンフィギュレーションデータに基づいて遷移すべき次の状態を決定する。状態遷移コンフィギュレーションデータは、状態マシンの現在の状態と少なくとも一つの入力とに基づいてデータベースから検索される。状態マシン機能ブロックはまた、状態マシンの状態に基づいて生成された一又はそれ以上の入力を含み得る。状態マシン機能ブロックの入力は、例えばプロセス制御システム又は安全システムに関連し得、その出力は、例えばプロセス制御システム又は安全システムにおけるフィールドデバイスの制御のために使用され得る。
状態マシン機能ブロックは、その少なくとも一部は、グラフィカルユーザインターフェイスメカニズムを介して構成され得る。グラフィカルユーザインターフェイスメカニズムは複数のグラフィカル要素を含み得、グラフィカル要素の少なくとも幾つかは、状態マシンが状態間をどのように遷移するかを特定するのに使用され得る。一つの実施例では、複数のセルがコンピュータのディスプレイデバイス上に表示され、そこでは、第1の複数のセルの各セルは、前記少なくとも一つの入力のそれと状態マシンの複数の状態のうちの状態のそれとの少なくとも幾つかの可能な組み合わせの一つに対応している。複数のセルはマトリックス状に配され、例えば、そこでは、マトリックスの列は状態マシンの複数の可能な状態に対応し、マトリックスの行は状態マシン入力(又はその逆)に対応している。特定の状態及び特定の入力に対応するセルでは、プログラマーは次の状態を示すコンフィギュレーションデータをコンピュータの入力デバイスを使用して入力し得る。次の状態のコンフィギュレーションデータは、その状態マシンがそのセルに対応する状態にあり及びそのセルに対応する入力が特定の値にある時に、そ状態マシンが遷移する次の状態を表している。
他の実施形態として、グラフィカルユーザインターフェイスはダイヤグラムを有し得、そこではダイヤグラム上のオブジェクトが状態マシンの状態を表している。例えばプログラマーは、一つの状態から他の状態へ矢印を置き、そしてその矢印で入力を関連づける。これは、特定された入力が特定の値であるときに、一つの状態からもう一つの状態へ状態マシンが遷移すべきことを示し得る。
ここでクレームされている状態マシン機能ブロックの実施形態は、制御システム又は安全システムに関連する状態の追跡を継続するという従来技術に比較して、より容易である。例えば、構成の幾つか又は全ては、上述のメカニズムのようなグラフィカルユーザインターフェイスメカニズムを使用して達成される。加えて、状態マシン機能ブロックの実施形態は、コントローラ、ロジックソルバ、フィールドデバイス等に組み込むのが容易であり、これらは機能ブロックロジックを使用している。なぜなら、状態マシン機能ブロックの入力と出力とを他の機能ブロック、制御計画内の要素、オペレータインターフェイス等に相互接続することにより、他のタイプの機能ブロックと同じ又は同様に組み込まれ得るからである。更に、状態マシン機能ブロックの動作は、その動作がマトリックス状のように部分的に図式的に容易にイラスト化され得るので、容易に文書化され得る。状態マシン機能ブロック又は状態マシン機能ブロックの構成のためのメカニズムの異なる実施形態は、上述の利点の一つ若しくはそれ以上を提供し、又はその何れをも提供しない。
本明細書に記載されている方法、装置及びシステムの特徴及び利点は、以下の詳細な記述と添付図面とを参照することにより、最も良く理解されるであろう。
プロセスプラントの実施形態
図1は、一又はそれ以上のノード12,16,18及び20を含む例示のプロセスプラント10のブロックダイヤグラムである。図1の実施形態のプロセスプラント10では、ノード12及び16のそれぞれは、例えばFoundation Fieldbus インターフェイス, HARTインターフェイス等の入力/出力(I/O)デバイス24を介して一又はそれ以上のフィールドデバイス22及び23に接続されたプロセスコントローラ12a、16aを含んでいる。プロセスコントローラ12a及び16aはまた、ノード18及び20内の一又はそれ以上のホスト又はオペレータワークステーション18a及び20aに、例えば、バス、イーサネット(R)LAN等の結線されたローカルエリアネットワーク(LAN)、ワイヤレスLAN、ワイドエリアネットワーク(WAN)、インターネット等の一又はそれ以上を有し得るネットワーク30を介して接続されている。コントローラノード12,16及びI/Oデバイス24並びにこれらに関連するフィールドデバイス22、23は、その中の下に典型的に配置され、時には過酷なプラント環境の至る所に分散配置され、オペレータワークステーションノード18及び20は、コントローラ要員によって容易に評価できるように、通常はコントロール室又は他のより過酷でない環境に配置されている。
一般的に言えば、ノード18及び20のワークステーション18a及び20aは、プロセスプラント10を構成し及びモニタし、並びに/又はプロセスプラント10内のデバイス22,23,24及びコントローラ12a、16aを運用するために使用されるアプリケーションを格納し及び実行するために使用される。更に、データベース32がネットワーク30に接続され、ノード12,16,18,20,22,23,24,50及び70内にダウンロードされ及び/又は格納されたときのプロセスプラント10の現在の構成を格納するデータヒストリアン及び/又はコンフィギュレーションデータベースとして動作する。
コントローラ12a及び16aのそれぞれは、例示すれば、Emerson Process Managementによって販売されているDeltaV(商標)コントローラであり得、これは、多くの異なる独立して実行される制御モジュール又はブロックを使用して制御計画を実現するコントローラアプリケーションを格納し及び実行し得る。制御モジュールは、それぞれ機能ブロックと一般的に称されるもので構成され得、各機能ブロックは、全体に亘る制御ルーチンの一部又はサブルーチンであり、他の機能ブロックと関連して(リンクと称される通信により)、プロセスプラント10内のプロセス制御ループを実現するように動作する。よく知られているように、機能ブロックは、入力機能(トランスミッタ、センサ又は他のプロセスパラメータ測定デバイス等)、制御機能(PID、ファジー論理、制御等を実行する制御ルーチンに関連するようなもの)、又は幾つかのデバイス(例えばバルブ)の動作を制御してプロセスプラント10内の幾つかの物理的な機能を果たす入力機能の一つを典型的に実行する。もちろん、混成の又は他のタイプの機能ブロックも存在し、それを使用することもできる。Fieldbusプロトコル及びDeltaV(商標)システムプロトコルは、オブジェクト指向プログラミングプロトコルで設計され及び実現された制御モジュール及び機能ブロックを使用し得るが、制御モジュールは、例えばシーケンシャル機能ブロック、ラダーロジック等の何れの所望の制御プログラミングスキームを使用しても設計され得、そして、機能ブロック又は何れの特定のプログラミング技術を使用して設計されるかに制限されることはない。典型的には、プロセス制御ノード12及び16内に格納されたときの制御モジュールの構成は、ワークステーション18a及び20aによって実行されるアプリケーションにアクセス可能なコンフィギュレーションデータベース32に格納され得る。機能ブロックは、例えばコントローラ12a、16aに格納され及びこれらによって実行され得、その典型的な場合は、これらの機能ブロックが標準の4〜20mAデバイス及びHARTデバイスのようなコンピュータ化したフィールドデバイスの幾つかに使用され若しくは関連づけられたとき、又はFieldbusデバイスの場合にはそれらのフィールドデバイス自身に格納され及び実現されたときである。
図1に例示されているシステムでは、コントローラ12a及び16aに接続されたフィールドデバイス22及び23は、標準の4〜20mAデバイスか、又はプロセッサ及びメモリを含むHART、Profibus、若しくはFoundation Fieldbusフィールドデバイスのようなコンピュータ化したフィールドデバイスであり得る。これらのデバイスの幾つかは、Foundation Fieldbusフィールドデバイスのように(図1では参照符号23が付されている)、コントローラ12a及び16aに実現されている制御計画に関連して、機能ブロックのようなモジュール又はサブモジュールを格納し及び実行する。もちろん、フィールドデバイス22及び23は、センサ、バルブ、トランスミッタ、ポジショナ等の何れのタイプのデバイスであってもよく、I/Oデバイス24は、HART、Foundation Fieldbus、Profibus等の何れの所望の通信又はコントローラプロトコルに合致するI/Oデバイスのタイプであってもよい。
コントローラー12a及び16aは、それぞれ、メモリに格納されその中に格納されるかそれに関連する制御ループを含み得る一又はそれ以上のプロセス制御ルーチンを実現し又は監視するプロセッサを含んでいる。コントローラー12a及び16aは、何れかの所望の方法によって、プロセスを制御するために、フィールドデバイス22,23、ワークステーション18a、20a及びデータベース32と通信を行う。コントローラー12a及び16aはそれぞれ、何れかの所望の方法によって、制御計画又は制御ルーチンを実現するように構成され得る。
プロセスプラント10はまた、プロセス制御ノード12及び16と統合された安全システム14(破線で表されている)を含んでいる。安全システム14は、一般的には、プロセスプラント10の適切な安全動作を最大化するために、プロセス制御ノード12及び16によって提供される制御をモニタし及び最優先する安全装備システム(Safety Instrumented System (SIS))として動作し得る。
ノード12及び16のそれぞれは、一又はそれ以上の安全システムロジックソルバ50を含み得る。ロジックソルバ50のそれぞれは、プロセッサ及びメモリを有するI/Oデバイスであり、メモリに格納されている安全ロジックモジュールを実行するように構成されている。ロジックソルバ50のそれぞれは、安全システムフィールドデバイス60及び62へ制御信号を提供し、及び/又はそれから信号を受け取るために接続されている。加えて、ノード12及び16のそれぞれは、少なくとも一つのメッセージ伝達デバイス(MPD)70を含み、これは、リング又はバス接続74(図1では一部分のみが例示されている)を介して他のMPDに通信可能に接続されている。安全システムロジックソルバ50、安全システムフィールドデバイス60及び62、MPD70並びにバス74は、一般的に図1の安全システム14を構成している。
図1のロジックソルバ50は、プロセッサ及び安全ロジックモジュールを格納するメモリを含む安全システム制御デバイスの何れのタイプであってもよく、安全ロジックモジュールは、フィールドデバイス60及び62を使用して安全システム14に関連する制御機能を提供するためにプロセッサで実行されるように適合している。もちろん、安全システムフィールドデバイス60及び62は、上述の公知又は所望の通信プロトコルに従う又は使用するフィールドデバイスの何れのタイプでもあり得る。特に、フィールドデバイス60及び62は、独立した専用の安全関連の制御システムによって通常制御されるタイプの安全関連のフィールドデバイスであり得る。図1に例示されているプロセスプラント10では、安全フィールドデバイス60は、HART又は4〜20mAプロトコルのような専用又はポイントツーポイント通信プロトコルを使用するように画かれている一方、安全フィールドデバイス62は、Fieldbusプロトコルのようなバス通信プロトコルを使用するように画かれている。安全フィールドデバイス60は、バルブのシャットダウン、スイッチのシャットオフ等の何れの所望の機能をも果たし得る。
ノード12及び16のそれぞれにおいては、コントローラー12a及び16aを、プロセス制御I/Oカード24、安全ロジックソルバ50、及びMPD70に通信可能に接続するために、共通のバックプレーン(図示せず)が使用され得る。コントローラー12a及び16aはまた、ネットワーク30にも通信可能に接続されている。コントローラー12a及び16a、I/Oデバイス24、ロジックソルバ50、MPD70は、ネットワーク30を介してノード18及び20と通信し得る。
以下で当業者に理解されるように、ノード12及び16に於けるバックプレーン(図示せず)は、互いにデータを交信するための、及び/又は他の統合された機能を果たすための、これらのデバイスによって実現される安全機能を調整するために、ロジックソルバ50が局所的に互いに通信することを可能にする。同様に、ノード16に於けるバックプレーン(図示せず)は、互いにデータを交信するための、及び/又は他の統合された機能を果たすための、これらのデバイスによって実現される安全機能を調整するために、ロジックソルバ50が局所的に互いに通信することを可能にする。それに対して、MPD70は、プロセスプラント10の非常に異なる位置に配されている安全システム14の一部が、それでもプロセスプラント10の異なるノードで安全動作を調整するために互いに通信を行うのを可能とする。特に、プロセスプラント10の異なるノード12及び16に関連するロジックソルバ50が、バス74に関連するMPD70は、割り当てられた優先度に従ってプロセスプラント10内で安全関連の機能の縦続接続を可能とするために互いに通信可能にカスケードされることを可能とする。MPD70及びバス74は、ネットワーク30に代わる通信リンクを安全システムに提供する。
あるいは、プロセスプラント10内の異なる位置での2つ又はそれ以上の安全関連機能は、プロセスプラント10の別々のエリア又はノード内の個々の安全フィールドデバイスへの専用ラインを走らせることなく、連結又は相互接続され得る。換言すれば、MPD70及び72並びにバス74は、現実にプロセスプラント10内に分散し、しかしその異なる構成要素が、要求に応じて互いに通信するバラバラの安全関連ハードウエアが互いに通信するのを可能とするために、通信可能に相互接続されている安全システム14を安全エンジニアが設計し及び構成するのを可能としている。この特徴はまた、それらが必要とされ又は新たなプロセス制御ノードがプロセスプラント10に付加されるときに、安全システム14に付加されるべき追加の安全ロジックソルバの追加を可能とするという点に於いて、安全システム14の拡張性をも提供する。
図2は、例示のワークステーション18a(ワークステーション20aは同じ又は同様のデバイスを有し得る)のブロックダイヤグラムである。ワークステーション18aは少なくとも一つのプロセッサ100、揮発性メモリ104及び不揮発性メモリ108を有している。揮発性メモリ104は、例えばランダムアクセスメモリ(RAM)を含み得る。いくつの実施形態では、RAMは、停電の際にデータが失われないように、一又はそれ以上のバッテリーによってバックアップされ得る。不揮発性メモリ108は、例えば、一又はそれ以上のハードディスク、読み出し専用メモリ(ROM)、コンパクトディスクROM(CD−ROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、デジタル多用途ディスク(DVD)、フラッシュメモリなどを含み得る。ワークステーション18aはまた、ワークステーションI/Oデバイス112を含み得る。プロセッサ100、揮発性メモリ104、不揮発性メモリ108及びワークステーションI/Oデバイス112は、アドレス/データバス116を介して相互接続されている。ワークステーション18aはまた、少なくとも一つのディスプレイデバイス120及び少なくとも一つのユーザ入力デバイス124を含み、これらは、例えば、キーボード、キーパッド、マウス、トラックボール、タッチスクリーン、ライトペン等のうちの一又はそれ以上であり得る。幾つかの実施形態では、揮発性メモリ104、不揮発性メモリ108及びワークステーションI/Oデバイス112の一又はそれ以上は、アドレス/データバス116(図示せず)とは別のバスを介してプロセッサ100に接続され、又はプロセッサ100に直接接続されている。
ディスプレイデバイス120及びユーザ入力デバイス124は、ワークステーションI/Oデバイス112に接続されている。加えて、ワークステーション18aはネットワーク30にワークステーションI/Oデバイス112を介して接続されている。ワークステーションI/Oデバイス112は図2では一つのデバイスとして画かれているが、複数のデバイスを有していてもよい。加えて、幾つかの実施形態では、一又はそれ以上のディスプレイデバイス120及びユーザ入力デバイス124は、アドレス/データバス116に直接又はプロセッサ100に接続されていてもよい。
図1及び図2を参照すれば、制御ノード12及び16の一又はそれ以上と関連するプロセス制御構成アプリケーションは、一又はそれ以上のワークステーション18a及び20aに格納され及びそれらによって実行され得る。例えば、プロセス制御構成アプリケーションは、不揮発性メモリ108及び/又は揮発性メモリ104に格納され得、そして、プロセッサ100によって実行され得る。しかしながら、所望なら、このアプリケーションは、プロセスプラント10に関連する他のコンピュータに格納され及び実行されることが可能である。一般的に言えば、プロセス制御構成アプリケーションは、コントローラ12a及び16a、I/Oデバイス24並びに/又はフィールドデバイス22、23によって実現されるべき制御ルーチン、制御モジュール、機能ブロック、プログラム、ロジック等をプログラマーが生成し及び構成することを許容する。これらの制御ルーチン、制御モジュール、機能ブロック、プログラム、ロジック等は、次にコントローラ12a及び16a、I/Oデバイス24、並びに/又はフィールドデバイス22、23の適当な一つに、ネットワーク30を介してダウンロードされ得る。
同様に、安全システム14に関連する安全システム構成アプリケーションは、一又はそれ以上のワークステーション18a及び20aの一つに格納され及び実行され得る。例えば、安全システム構成アプリケーションは、不揮発性メモリ108及び/又は揮発性メモリ104に格納され得、そして、プロセッサ100によって実行され得る。しかしながら、所望なら、このアプリケーションは、プロセスプラント10に関連する他のコンピュータに格納され実行されることが可能である。一般的に言えば、安全システム構成アプリケーションは、コントローラ12a及び16a、ロジックソルバ50並びに/又はデバイス60、62によって実現されるべき制御ルーチン、制御モジュール、機能ブロック、プログラム、ロジック等をプログラマーが生成し及び構成することを許容する。これらの制御ルーチン、制御モジュール、機能ブロック、プログラム、ロジック等は、次にコントローラ12a及び16a、ロジックソルバ50、並びに/又はフィールドデバイス60,62の適当な一つに、ネットワーク30を介してダウンロードされ得る。
状態マシン機能ブロック
制御システム又は安全システム構成アプリケーションは、機能ブロックプログラミングパラダイムを使用した制御モジュール及び/又は制御ルーチンのプログラミングを許容する。図3は制御モジュール154を表すディスプレイ150の一例を示している。ディスプレイ150は、構成アプリケーションに関連するユーザインターフェイスの一部であり、ディスプレイ150は、例えば、ワークステーション18aのディスプレイデバイス120を介して、プログラマーに表示されている。ディスプレイ150は、プロセスプラントの動作の間の実現のために、ネットワーク30を介してコントローラ12a及び16a、I/Oデバイス24、ロジックソルバ50及び/又はフィールドデバイス22、23、60、62の適当な一つに生成され及びダウンロードされ得る通信可能に相互接続された機能ブロックのセットを有する制御モジュール154を表示している。図3に示すように、制御モジュール154は、状態マシン機能ブロック(SMFB)160、複数のアナログ入力(AI)及びデジタル入力(DI)機能ブロック、複数のアナログ出力(AO)及びデジタル出力(DO)機能ブロック並びに他の機能ブロック(FBs)を含んでいる。SMFB160は、例えばDI機能ブロック又は他のFBであり得る機能ブロック114と通信可能に相互接続された入力を有している。SMFB160はまた、例えばDO機能ブロック又は他のFBであり得る機能ブロック118と通信可能に相互接続された出力を有している。制御モジュール154は、制御システム、安全システム等の一部としてのスイッチ、バルブなどのデバイスを一緒に制御する複数の制御モジュールの一つを制御し又はその一つであり得る。もちろん、制御モジュール154は、まさにSMFBを採用する制御モジュールの単なる一つの例である。一般的に言えば、制御プログラムは、所望の数のSMFBと所望の何れの方法によっても通信可能に接続される何れのタイプの機能ブロックをも含むように何れの方法によってもプログラムされ得、そして、何れの所望の又は有用な方法で何れの所望の機能も実行し得るように構成され得る。例えば、もしFieldbusネットワークで使用されたなら、制御モジュールは何れのフィールドバスのタイプの機能ブロックをも含み得る。
幾つかの実施形態では、SMFB160への一又はそれ以上の入力は、機能ブロック以外からも受け取られる。例えば、SMFB160への一又はそれ以上の入力は、例えばオペレータインターフェイスを介してオペレータからの入力を受け取るように通信可能に接続され得る。例えば、オペレータは、ノード18又は20のようなノードで実現されるオペレータインターフェイスを使用して、SMFB160への入力を供給することができる。
SMFBは、状態マシンを実現する機能ブロックであり得る。幾つかの実施形態では、状態マシンは、複数の状態の一つに存在し得るエンティティ(即ち、デバイス、プロセッサによって実現されるソフトウエア等)を含み得る。状態マシンは、もしその状態マシンへの特定の入力が出現すると、一つの状態からもう一つの状態に遷移し得る。SMFBは、その状態マシンの現在の状態に基づいた出力を提供し得る。ちょうど一つを例示すれば、SMFBは、その状態マシンの現在の状態を示す一又はそれ以上の出力を提供し得る。より一般的には、状態マシンは、そのエンティティ又は他の幾つかのエンティティ(即ち、プロセスプラント、プロセスプラントのサブパート、プロセスプラントの構成要素等)の状態を与えられた時間に格納し、並びにその状態を変更し及び/又はその状態マシンへの入力に基づいてアクション若しくは出力が起こるようにするエンティティ(即ち、デバイス、プロセッサによって実現されるソフトウエア等)を含み得る。
構成アプリケーションに関連するユーザインターフェイスを使用して、プログラマーは制御モジュール154のような制御モジュールを設計し得る。ちょうど一つを例示すれば、ユーザインターフェイスは、プログラマーに、例えば標準の若しくはカスタマイズされた機能ブロックのステンシルを含むステンシル又はパレットから所望の機能ブロックを選択するためのメカニズムを提供する。加えて、ユーザインターフェイスは、その上にプログラマーが機能ブロックの表示の挿入又は置くことを行い得るグラフィカルダイヤグラムを提供し得る。プログラマーは、ステンシル又はパレットから機能ブロックを選択し、次にその機能ブロックをグラフィカルダイヤグラム上に「ドラッグアンドドロップ」するために、例えば、マウス、トラックボール、キーボード、キーパッド、タッチスクリーン等を使用し得る。プログラマーは、例えば、マウス、トラックボール、キーボード、キーパッド、タッチスクリーン等を使用して、例えば一つの機能ブロックの出力と、もう一つの機能ブロックの入力との間に線を引くことにより、機能ブロックを追加的に通信可能に接続することができる。
一度構成されると、制御モジュール154は、例えばコントローラ12a、14a、16a、I/Oデバイス24、ロジックソルバ50及びフィールドデバイス22、23、60、62の一又はそれ以上によって実現され得る。
図4は、例えば図3のディスプレイ150のようなユーザインターフェイスディスプレイ上に表示され得るSMFB200の表示の一例を示している。SMFB200の表示は、SMFB200が7つのデータ入力(IN_D1からIN_D7)と、7つのデータ出力(STATE及びOUT_D1からOUT_D6)とを含むことを示している。データ入力は、一般的には、プロセスプラント内の状態を表す、オペレータコマンドを表す、等を行い、SMFB200によって実現される状態マシンに状態を変更させる。データ出力は、SMFB200に対応する状態マシンの状態の一又はそれ以上のインディケータを含み得る。例えば、STATE出力は、状態マシンの状態(例えば、状態1、状態2、状態3等)のインディケータであり得る。出力OUT_D1は、状態マシンが「状態1」の状態にあるかどうかを示すインディケータであり得る。同様に、OUT_D2、OUT_D3…OUT_D6は、それぞれ状態マシンが「状態2」、「状態3」、…、「状態6」の状態にあるかどうかを示すインディケータであり得る。SMFBはまた、ENABLE入力、TRK_VAL入力、及びTRK_IN_D入力のようなデータ入力以外の他の入力を含み、そして、状態を表す出力以外の他の出力を含み得る。ENABLE入力、TRK_VAL入力、及びTRK_IN_D入力は、以下に詳述される。SMFB200は7つのデータ入力と7つのデータ出力を有するように図4に示されているが、他の実施形態では、所望の数のデータ入力及びデータ出力を含み得る。SMFB200のデータ入力の数及びデータ出力の数は、構成し得又は構成不可である。一つの実施形態では、出力OUT_Dxの数は、一般的にはSMFBによって実現される状態マシンの可能な状態の数に対応し、可能な状態の数は構成可能である。しかしながら、出力OUT_D1、OUT_D2等は、状態マシンの可能な状態の数に必ずしも対応している必要はない。例えば、もし、出力OUT_D1、OUT_D2等の数より状態の数が少なければ、余分な出力は使用されないままとなる。
構成プログラムに関連するユーザインターフェイスを使用して、プログラマーはSMFB200のような一又はそれ以上の機能ブロックを構成し得る。SMFBの構成に関しては、プログラマーは可能な状態の数を特定し得、入力がどのようにして状態マシンに状態間を遷移させるかを特定し得る。プログラマーがSMFBを構成するのを許容するために、構成アプリケーションは、ディスプレイデバイス120上に、その機能ブロックに関連する構成ウインドウ、スクリーン等のようなユーザインターフェイスメカニズムを表示し得る。
図5は、図4のSMFB200のようなSMFBの少なくとも一部を構成するために使用され得るユーザインターフェイスメカニズムの一例を示している。ユーザインターフェイスメカニズムは、SMFBに関連する構成ウインドウ、スクリーン等の一部として表示され得る表又はマトリックス300(以下では「マトリックス300」と称する)を有している。マトリックス300は、行及び列に配された複数のセル304を有している。各列はその状態マシンの複数の可能な状態の一つに対応しており、各行はその状態マシンへの入力に対応している。従って、各セル304は状態と入力とに対応している。マトリックス300の例では7つの入力に対応する行及び6つの状態を含んでいるが、状態及び出力の異なる数を有する同様のマトリックスが、異なる数の入力及び状態を有するSMFBについて使用され得る。入力と状態の数は構成可能である。換言すれば、各行は、状態マシンの複数の可能な状態の一つに対応し得、各列は、状態マシンへの入力に対応し得る。
図4を参照すれば、マトリックス300の入力「1」から「7」が、SMFB200の入力IN_D1からIN_D7に対応している。同様に、マトリックス300の状態「1」〜「6」が、SMFB200の出力OUT_D1からOUT_D6に対応している。加えて、この実施形態では、プログラマーは、可能な状態のそれぞれ及び/又は入力のそれぞれにラベルを付すことができる。例えば、図5の「状態1」は「作動中」とラベルされ、入力1は「初期」とラベルされる。入力及び/又は状態のラベルは、状態マシンの動作を理解するのを容易にする。
プログラマーは、構成情報をセル304に入力することにより、SMFBを構成することができる。特に、状態の一つと入力の一つとに対応する特定のセル304については、プログラマーはそのSMFBが遷移すべき状態を示すセルに構成情報を入力することができる。図6は、セル304の幾つかに入力されたコンフィギュレーションデータを有するマトリックス300の例である。例えば、セル304Aは、状態マシンが「実行中」の状態のとき及び「初期」の入力がアサートされたときに、その状態マシンが遷移すべき次の状態を表すコンフィギュレーションデータを含んでいる。特に、セル304Aのコンフィギュレーションデータは、その状態マシンが「リセット待ち」の状態に遷移することを示している。同様に、セル304Bは、状態マシンが「リセット待ち」の状態にあるとき及び「リセット許容」入力がアサートされたときに、その状態マシンが「リセット準備完了」の状態に遷移すべきことを示すコンフィギュレーションデータを含んでいる。また、セル304Cは、状態マシンが「リセット待ち」の状態にあるとき及び「作動要求」入力がアサートされたときに、その状態マシンが「実行中」の状態に遷移すべきことを示すコンフィギュレーションデータを含んでいる。
この特定の実施形態では、もし、プログラマーがセル304にコンフィギュレーションデータを入力しなければ、その特定の状態と入力に対しては、状態遷移は起こらないであろう。例えば、セル304Dはコンフィギュレーションデータを含んでおらず、これは、状態マシンが「作動中」の状態にあるとき及び「スタート復帰」入力がアサートされたときに、その状態マシンが「実行中」の状態に留まるべきことを示している。他の実施形態では、プログラマーは、状態マシンがその特定の状態/入力の組合せに対する状態を変更すべきでないことを示すコンフィギュレーションデータを入力し得る。
プログラマーは、当業者によく知られている技術を含む種々の技術の何れかを使用して、マトリックス300にコンフィギュレーションデータを入力し得る。例えば、セル304にコンフィギュレーションデータを入力するために、プログラマーは、マウス、トラックボール、タッチスクリーン等を使用してセル304を選択し得る。次に、ユーザは、例えばキーボードを介してセル304に直接コンフィギュレーションデータを入力することができる。あるいは、プログラマーは、セル304を選択し、次に「編集」、「変更」等をプルダウンメニューから選択し、又は「編集」ボタン、「変更」ボタン等を選択することができる。次に、ユーザインターフェイスは、プルダウンメニュー、ウインドウ、ディスプレイスクリーン等を介して状態のリストをプログラマーに表示する。状況に応じて、状態のリストは、セルが対応する状態又は「遷移なし」の選択肢を含み得る。次に、プログラマーは、例えばキーボード、マウス、トラックボール、タッチスクリーン等を使用して、状態の一つを選択し得る。もし、プログラマーがセルに対応する状態又は「遷移なし」の選択肢を選択したなら、コンフィギュレーションデータは、その状態及び入力の組み合わせに対しては、遷移が起こらないことを示すであろう。
マトリックス300等のマトリックスを含むユーザインターフェイスを使用するSMFBの構成は、例えば、シーケンシャルファンクションチャート又はC++のようなプログラミング言語を使用することに比較して、状態マシンの実現を有利にする。例えば、C++プログラムを使用して状態マシンを実現することは、おそらく最初に状態遷移ダイヤグラムを生成し、次にそのダイヤグラムを実現するためのプログラムを記述することを含むであろう。次に、そのプログラムはテストされデバグされるであろう。しかし、マトリックス300のよなマトリックスを使用して構成されたSMFBでは、プログラムを記述する必要はない。どちらかと言えば、「プログラミング」はマトリックスを満たすことを単に意味するであろう。加えて、どのようなソフトウエアコードも記述される必要がないので、そのコードのデバグ及びテストは必要ない。どちらかと言えば、テストすることは、SMFBが正しい次の状態に移行したことを検証するために状態及び入力の種々の組合せテストすることを意味する。
更に、SMFBの機能は、マトリックス300を単に調べることにより容易に理解され得る。従って、構成されたSMFBの機能は、例えばマトリックスの表現を印刷することにより、容易に文書化することができる。
マトリックス300のようなマトリックスに従って構成されたSMFBは、例えば安全システム又はプロセス制御システムに於いて使用され得る。例示の一つに過ぎないものとして、マトリックス300のようなマトリックスに従って構成されたSMFBは、プロセスプラント内のバーナーを管理するための安全システムの一部として使用され得る。例えば、SMFBは、「点火」、「ガス遮断」及び「排気」のような状態を含み得る。バーナーが始動したとき、SMFBは最初にバーナーに於けるどのようなガスも排気されるようにする排気の状態に移行することができる。次に、SMFBは、バーナーを点火する点火の状態に移行することができる。また、もしバーナーの炎が消えたなら、SMFBはバーナーへのガスを遮断するガス遮断の状態に移行することができる。次に、SMFBは排気の状態に移行することができる。
マトリックス300のようなマトリックスに従って構成されたSMFBは、コントローラ12a、16a、I/Oデバイス24、ロジックソルバ50及びフィールドデバイス22、23、60、62の一又はそれ以上によって実現され得る。幾つかの実施形態では、SMFBは、ソフトウエアによって構成されたプロセッサや、例えば一又はそれ以上のゲートアレイ、標準セル、フィールドプログラマブルゲートアレイ(FPGA)、FROM、EPROM、EEPROM、プログラマブルアレイロジック(PAL)、プログラマブルロジックアレイ(PLA)等の一又はそれ以上を有するデバイスのようなプログラマブルロジックデバイスによって実現され得る。
SMFBに関連するコンフィギュレーションデータ(例えば、マトリックス300のようなマトリックスに入力されたデータ及び任意の他のコンフィギュレーションデータ)は、ハードディスク、RAM、ROM、CD−ROM、EPROM、EEPROM、DVD、フラッシュメモリ等及び/又はプロセッサに付随するメモリのようなコンピュータ読み取り可能な媒体上に格納され得る。
図7は、構成されたSMFBの動作の例示の方法のフローダイヤグラムである。方法350は、例えば周期的に及び/又はきっかけとなるイベントに応答して実現され得る。ブロック354では、SMFBはそのデータ入力を受け取る。例えば図4を参照すれば、SMFBは入力IN_D1からIN_D7までを受け取る。ブロック358では、データ入力、現在のSMFBの状態及びコンフィギュレーションデータベースに格納されているコンフィギュレーションデータに基づいて、必要ならその状態マシンの状態を変更する。コンフィギュレーションデータベースのデータは、マトリックス300のようなマトリックスを介して入力されたデータを含み得る。状態は、他のファクターによっても同様に変更され得る。例えば、以下に詳述するが、SMFBは一又はそれ以上のデータ入力を無視するように構成され得る。このように、状態の変更は、必要に応じて、どのデータ入力が無視されるべきかを表すコンフィギュレーションデータにも基づいている。もう一つの例として、2つ又はそれ以上のデータ入力は、現在の状態から2つ又はそれ以上の次の状態への状態変化を示し得る。従って、SMFBは、データ入力の優先順位を決定する優先データに基づいてSMFBが遷移すべき可能な次の状態はどれかを決定するために、データ入力の一つを選択し得る。更なる例として、幾つかの実施形態では、SMFBへの入力は、状態(例えば、GOOD(良好)の状態、BAD(不良)の状態)を含み得る。このように、状態の変更はまた、例えば、BADの状態を有する入力をどのように取り扱うかを示すコンフィギュレーションデータにも基づき得る。
次に、ブロック366では、SMFBは状態マシンの現在の状態に基づいて、そのデータ出力を設定し得る。例えば、もし、データ出力が現在の状態を示すべきであるなら、次にデータ出力はそれに応じて設定され得る。
図4に戻って再び参照すれば、SMFBは任意的に「ENABLE」の入力を含み得る。一実施形態では、もし、ENABLE入力がアサート停止であるなら、SMFBは使用禁止の状態(例えば状態0)に強制され、ENABLE入力がアサートされるまでその状態を続ける。次に、ENABLE入力がアサートされると、SMFBは初期状態(例えば状態1)に強制され、その後、SMFBは、図5のマトリックス300のような構成マトリックスに入力されたコンフィギュレーションデータに従って他の状態に遷移し得る。
SMFBは、状態マシンを所望の状態に強制する単一又は複数の入力を付加的に含み得る。例えば、SMFB200は、TRK_IN_D入力及びTRK_VAL入力を含んでいる。TRK_IN_D入力がアサートされたとき、SMFBはTRK_VAL入力によって特定された状態に入るように強制される。例えば、もし、TRK_VAL入力が「6」でTRK_IN_D入力がアサートされたなら、SMFBは状態「6」に入るように強制される。
SMFBは、追加の方法のより任意に構成され得る。例えば、SMFBは、もしあれば入力IN_D1、IN_D2等の一又はそれ以上が無視されるべきかどうかを示す入力(又は遷移)マスクを含み得る。また、SMFBは、複数の状態を有する入力に応答するように構成し得る。例えば、SMFBへの一又は全ての入力は、「良好」又は「不良」の状態を有し得、SMFBは入力の状態への依存とは異なるように応答するように構成し得る。特定の実施形態では、SMFBは「不良」である入力を無視し、たとえそれが「不良」でもその入力を使用し、又はその入力の最後の「良好」の値を使用するように構成し得る。更に、SMFBはリセットパラメータを含み得、それは、真のときにSMFBを「1」の状態に入るように強制する。
上述の種々のコンフィギュレーションデータ及び次の状態のコンフィギュレーションデータは、同じコンピュータ読み取り可能な媒体又は異なるコンピュータ読み取り可能な媒体に格納され得る。
図8は、SMFBの一例のブロックダイヤグラムである。SMFB400は、入力IN_D1、IN_D2等とSMFB400の現在の状態との少なくとも一部に基づいて次の状態を決定するロジック404含んでいる。特に、ロジック404は、次の状態のコンフィグレーションデータベース406に格納されている次の状態コンフィグレーションデータにアクセスする。データベース406は、上述のようなコンピュータ読み取り可能な媒体に格納され得る。次の状態のコンフィグレーションデータは、図5のマトリックス300のようなマトリックスに入力されたコンフィグレーションデータを含み得る。
ロジック404の出力は、スイッチングロジック408に供給される。スイッチングロジック408は、ロジック404の出力と入力TRK_VALから、TRK_IN_D入力に基づいて選択する。例えば、もし、TRK_IN_D入力がアサートされたなら、スイッチングロジック408はTRK_VA入力を選択し得る。さもなければ、スイッチングロジック408はロジック404の出力を選択し得る。
スイッチングロジック408の出力は、スイッチングロジック412に供給され、これは、イネープル及びリセットロジック416の出力に基づいて、スイッチングロジック408の出力、値0及び値1の中から選択する。イネープル及びリセットロジック416の出力は、その状態がディスエーブルの状態(状態0)又は初期状態(状態1)に強制されるべきかどうかを示している。イネープル及びリセットロジック416は、この出力をENABLE入力に基づいて生成する。例えば、もし、ENABLE入力がアサート停止であるなら、イネープル及びリセットロジック416の出力は、その状態が0に強制されるべきことを示し得る。もし、ENABLE入力がアサート停止からアサートに変化したなら、イネープル及びリセットロジック416の出力は、その状態が1に強制されるべきことを示し得る。もし、ENABLEがアサートされ及び先にアサートされていたなら、イネープル及びリセットロジック416の出力は、その状態が0又は1に強制されるべきではないことを示し得る。
スイッチングロジック412の出力は、SMFB400の現在の状態であり、SMFB400の出力として供給され得る。スイッチングロジック412の出力はまた、そのSMFBの現在の状態に相当する適当な出力OUT_D1、OUT_D2等を設定するロジック420に供給され得る。
ブロック404,408,412,416及び420のそれぞれは、ハードウエア、ソフトウエア及びファームウエアの一又はそれ以上によって実現され得る。加えて、これらのブロックの幾つかは、結合され、並べ替え、改変され又は省略され得、及び追加のブロックが付加され得る。単なる一つの例として示したブロック408及び412は、一つのブロックに統合し得る。
図9は、SMFB400の実施例の動作の方法のフローダイヤグラムである。図9の方法450は、例えば周期的及び/又はきっかけとなるイベントに応答して実現され得る。ブロック454では、SMFB400のデータ入力が処理される。例えば、データ入力IN_D1、IN_D2等の何れかがアサートされたか否かが決定され得る。他の実施形態では、一又はそれ以上のデータ入力が「BAD」の状態を有しているなら、その「BAD」の状態をどのように取り扱うかが決定され得る。ブロック458では、SMFB400のENABLE入力が処理される。例えば、そのENABLE入力がアサートされたかどうか、及び/又はそれが以前に処理されてから変更されたかどうかが決定される。
ブロック462では、SMFB400の状態が、必要に応じて変更され得る。加えて、SMFB400の一又はそれ以上のデータ出力が、必要に応じて変更され得る。例えば、データ入力に於ける変更が、SMFB400の状態が変更されるべきことを示していることが決定され得る。加えて、もし状態が変化したなら、SMFB400の一又はそれ以上のデータ出力が変更されるべきである。
方法450を実現するのに使用され得る幾つかの例示のルーチンは、少なくとも一部分は、ここに記述される。例えば、図10は、SMFBへのデータ入力IN_D1、IN_D2等を処理するために使用され得る例示のルーチン500のフローダイヤグラムである。ブロック540では、変数zが1に設定される。ブロック508では、データ入力IN_Dzの状態が「不良(BAD)」であるか否かが決定される。もしその状態が不良でないなら、変数TRANSITIONSのビット番号zが、データ入力IN_Dzの値に設定される。もしその状態が不良なら、次にそのデータ入力がどのように取り扱われるべきかが決定され得る。一実施形態では、SMFBは「BAD」入力を3つの方法の一つによって取り扱い得る:即ち、BAD入力をとにかく使用する(ALWAYS_USE)、無視する(IGNORE_IF_BAD)、又は最後に「GOOD」であった入力値を使用する(USE_LAST_GOOD)、の何れかである。従って、ブロック516では、SMFBが最後の「GOOD」のデータ入力を使用すべきかどうかが決定され得る。もし、SMFBが最後の「GOOD」の値を使用すべきなら、ブロック512はスキップされ得る。そうでなければ、次にブロック520で、SMFBはBAD入力値を無視すべきかどうかを決定する。もし、SMFBがBAD値を無視すべきでないなら、次にルーチンはブロック512に進み得る。もし、SMFBがBAD値を無視すべきなら、次にルーチンはブロック524に進み得る。ブロック524では、変数TRANSITIONのビット番号「x」が、0に設定される。
ブロック528では、変数zがインクリメントされ、ブロック532で変数zがSMFBへのデータ入力の数より大きいか否かが決定され得る。もし、zがSMFBへのデータ入力の数より大きくなければ、ルーチンはブロック508に戻って次のデータ入力を処理する。そうでなければ、ルーチンは終了する。
図11は、SMFBへのENABLE入力を処理するのに使用され得る例示のルーチン545のフローダイヤグラムである。ブロック550では、変数LASTENABLEの値がENABLE入力の値と同じであるかどうかが決定され得る。LASTENABLEの値は、一般的には先の時間でのENABLEの値(例えば、ENABLE変数の値は、先のルーチン545の実行中のENABLE変数の値)を示している。もし、LASTENABLE及びENABLEの値が同じなら、ルーチン545は終了する。そうでなければ、ルーチンはブロック554に進み、そこでENABL入力がアサートされているかどうかが決定され得る。もし、ENABL入力がアサートされていれば、次にブロック558で変数RESETがTRUE(真)に設定される。
もし、ブロック5554でENABL入力がアサートされていないことが決定されると、次にブロック562で、STATE変数の現在の値に対応する出力OUT_D1、OUT_D2等がアサート停止にされる。次にブロック566で、STATE変数が0に設定される。ブロック558及び566の後、ルーチンはブロック570に進み、そこで変数LASTENABLEがENABL入力の値に設定される。ブロック570の後、ルーチンは終了する。
図12は、STATE変数の次の状態を決定するため、及び必要に応じて適当な出力OUT_D1、OUT_D2等を設定するために使用され得る例示のルーチン600のフローダイヤグラムである。ブロック604に於いて、ENABL入力がアサートされたかどうかが決定され得る。もしアサートされていなければ、ルーチンは終了する。もし、ENABL入力がアサートされているなら、ルーチンはブロック608に進み、そこで変数NEWSTATEが0に設定される。次に、ブロック612に於いて、TRK_IN_Dがアサートされているかどうかが決定され得る。もし、それがアサートされているなら、ルーチンはブロック616に進み、そこでNEWSTATE変数が入力TRK_VALの値に設定される。
もし、入力TRK_IN_Dがアサートされていないことがブロック612で決定されると、ルーチンはブロック620に進む。ブロック620では、変数RESETがTRUE(真)であるかどうかが決定される。もしそうなら、ルーチンはブロック624に進み、そこでNEWSTATE変数が1に設定される。次に、ブロック626で、RESET変数がFALSE(偽)に設定される。
もし、ブロック620で変数RESETがTRUEでないことが決定されると、次にルーチンはブロック628に進み得る。ブロック628では、TRANSITION_MASK変数、TRANSITION変数及び変数STATEによって指示されるSTATECHANGEMASKをビット毎にAND演算することにより、変数TEMPが決定され得る。TRANSITION_MASK変数は、特定の入力IN_Dxが状態変化を生ずるのを抑制するのに使用されることができる構成可能な変数である。例えば、もし、プログラマーが、入力IN_D3が状態マシンを状態変化させるのを妨げることを望むなら、プログラマーは変数TRANSITION_MASKの第3ビットを0に設定することができる。もし、プログラマーが、入力D3が状態マシンを状態変化させるのを許容することを望むなら、プログラマーは、変数TRANSITION_MASKの第3ビットを1に設定することができる。
STATECHANGEMASK配列の要素のそれぞれは、状態の対応する一つについて、入力IN_D1、IN_D2等のどの入力が状態変化を引き起こすかを示す変数であり得る。特に、配列の各要素は、状態マシンの状態の一つに対応し得る。例えば、STATECHANGEMASK[1]は状態1に対応し、STATECHANGEMASK[2]は状態2に対応する、等である。加えて、各要素の各ビットは、入力IN_D1、IN_D2等の一つに対応し得る。例えば、ビット1はIN_D1に対応し、ビット2はIN_D2に対応する、等である。例えば図6を参照すれば、マトリックス300についてSTATECHANGEMASK配列は6つの要素を有しており、STATECHANGEMASK[3]は0x44である。
ブロック628の後、ルーチンはブロック632に進み、そこで変数TEMPが0であるかどうかが決定される。もしそれが0でなければ、ルーチンはブロック636に進み、そこで変数zが、変数TEMPに於けるゼロではない第1ビットの数(即ち、最下位ビットから開始)に設定され得る。実際には、これは、IN_D1が最も高い優先度であり、IN_D2が次に高い優先度であり、IN_D3がその次に高い優先度である、等となるような順序に基づいて、入力の優先度を設定する。他の実施形態では、他の優先順位スキームが採用され得る。例えば、プログラマーは、入力に優先度を割り当てること、又は異なる優先順位を使用すること(例えば、IN_D1が最も低い優先度、IN_D2が次に低い優先度等)が許容される。優先度はSMFBの全体に又は各状態に対して設定し得る。
次に、ブロック640で、変数NEWSTATEが状態マトリックスの行z及び列STATEの値に設定され得る。
ブロック616、626及び640の後、ルーチンはブロック644に進む。また、もし、ブロック632で、変数TEMPが0であると決定されると、ルーチンはブロック644に進み得る。ブロック644では、変数NEWSTATEが0であるかどうかが決定される。もしそれが0なら、ルーチンは終了する。もしそれが0でないなら、ルーチンはブロック648に進み、そこで、STATE変数に対応する出力OUT_D1、OUT_D2等がアサート停止にされる。次に、ブロック652では、変数STATEが変数NEWSTATEの値に設定される。ブロック656では、STATE変数に対応する出力OUT_D1、OUT_D2等がアサートにされ、ルーチンは終了する。
図9の方法450及び図10−12のルーチンが単なる例示であり、他の実施例では、ブロックが改変され、新たなブロックが追加され、ブロックの順序が変更され、ブロックが省略され、及び/又は結合され得ることが理解されるべきである。単なる例示としての図10を参照すれば、ブロック508、516,520及び524は、もし「BAD」の状態を有する入力の特別な取り扱いが必要とされず又は望まれていないなら、省略され得る。
他の実施形態でとして、ブロック636は、変数zが0ではないTEMPの最後のビットの数に設定されるように、改変され得る。更なる実施形態として、ブロック636は、幾つかの優先度データに基づいて、0ではないTEMPのビットの一つに対応する数にzを設定するように改変され得る。
図4を再び参照すれば、データ出力の全てがSMFB200に対応する状態マシンの状態のインディケータである必要はない。例えば、一実施形態では、状態マシンの種々の状態に対応する出力OUT_D1、OUT_D2等の値は、構成可能である。従って、例えば、特定の状態に対しては、複数の出力OUT_D1、OUT_D2等がアサートされ得る。プログラマーがSMFBを構成するのを許容するために、構成アプリケーションはディスプレイデバイス120上に、その機能ブロックに関連する構成ウインドウ、スクリーン等のユーザインターフェイスメカニズムを表示し得る。
図13は、図4のSMFB200のようなSMFBの少なくとも一部を構成するために使用され得るユーザインターフェイスメカニズムの一例である。このユーザインターフェイスメカニズムは、そのSMFBに関連する構成ウインドウ、スクリーン等の一部として表示される表又はマトリックス700(以下では「マトリックス700」と称する)を含んでいる。マトリックス700は、行及び列に配された複数のセル704を有している。各列は、状態マシン機能ブロックの複数の出力OUT_D1、OUT_D2等の一つに対応し、各行は、状態マシンの可能な状態の一つに対応している。従って、各セル704は状態及び出力に対応している。他の実施形態では、各列は複数の出力の一つに対応し得、各列は状態マシンの可能な状態の一つに対応し得る。
マトリックス700の出力「1」から「4」までは、SMFBの出力OUT_D1からOUT_D4にそれぞれ対応し得る。同様に、マトリックス700の状態「1」から「6」は、状態マシンの可能な状態に対応し得る。加えて、この例では、ユーザは出力のそれぞれにラベルを付すことが可能である。例えば、図13では、「出力1」は「バルブ−101を開ける」とラベルされている。出力のラベリングは、状態マシンの動作の理解及び/又はその状態マシンのプロセスプラントとの結び付けを容易にする。
プログラマーは、セル704に構成情報を入力することにより、SMFBを構成し得る。特に、状態の一つと出力の一つとに対応する特定のセル704について、プログラマーは、その状態マシンがその状態にあるときに、その出力がアサートされるべきであることを示しているセルにコンフィグレーションデータを入力することができる。マトリックス700の例では、コンフィグレーションデータはセル704の幾つかに入力されている。例えば、セル704Aは、状態マシンが「作動中」の状態にあるときに、出力OUT_D3がアサートされるべきことを示すコンフィグレーションデータを含んでいる。同様に、セル704Bは、状態マシンが「作動中」の状態にあるときに、出力OUT_D4がアサートされるべきことを示すコンフィグレーションデータを含んでいる。
この特定の実施形態では、もし、プログラマーがセル704にコンフィグレーションデータを入力しなかったなら、その特定の状態については、対応する出力はアサートされるべきでないとみなされる。例えば、セル704C及び704Dは「×」が付けられておらず、状態マシンが「作動中」の状態にあるときに、出力OUT_D1及びOUT_D2はアサートされるべきでないことを示している。他の実施形態では、プログラマーは、その状態マシンがもし特定の状態にあるなら特定の出力をアサートすべきではないことを示すコンフィグレーションデータを入力し得る。同様に、特定の状態及び出力に対して、その出力がアサートされるか否かは問題ではないことを示すことも可能である。
プログラマーは、当業者によく知られている技術を含む種々の技術の何れをも使用して、マトリックス700にコンフィギュレーションデータを入力し得る。例えば、セル704にコンフィギュレーションデータを入力するために、プログラマーは、マウス、トラックボール、タッチスクリーン等を使用してセル704を選択し得る。次に、ユーザは、例えばキーボードを介してセル704に直接コンフィギュレーションデータを入力することができる。あるいは、プログラマーは、セル704を選択し、次に「編集」、「変更」等をプルダウンメニューから選択し、又は「編集」ボタン、「変更」ボタン等を選択することができる。次に、ユーザインターフェイスは、プルダウンメニュー、ウインドウ、ディスプレイスクリーン等を介して選択肢のリストをプログラマーに表示する。例えば、選択肢のリストは、「出力をアサートする」、「出力をアサート停止にする」選択肢、状況に応じて「無関係」の選択を含み得る。次に、プログラマーは、例えばキーボード、マウス、トラックボール、タッチスクリーン等を使用して、選択肢の一つを選択し得る。もし、プログラマーが「出力をアサートする」の選択肢を選択したなら、コンフィギュレーションデータは、その対応する状態に対しては、対応する出力がアサートされるべきことを示すであろう。例えば、「×」がセルに表示される、「1」がセルに表示される、「TRUE」がセルに表示される、「アサート」がセルに表示される、等である。もし、プログラマーが「出力をアサート停止にする」の選択肢を選択したなら、コンフィギュレーションデータは、その対応する状態に対しては、対応する出力がアサートされるべきではないを示すであろう。例えば、セルがブランクのままにされる、「0」がそのセルに表示される、「FALSE」という語がセルに表示される、「アサート停止」という語がセルに表示される、等である。
マトリックス700は6つの状態及び4つの出力に対する行を含んでいるけれど、異なる数の状態及び出力を有する同様のマトリックスが、異なる数の状態及び出力を有するSMFBについて使用され得る。状態及び出力の数は構成可能である。
図7を再び参照すれば、前述のように、現在の状態がブロック362で決定された後SMFBのデータ出力が現在の状態(ブロック366)に基づいて設定され得る。例えば、データ出力は、図13のマトリックス700のようなマトリックスに入力されたコンフィグレーションデータに従って設定され得る。図14は、SMFBの他の実施形態のブロックダイヤグラムである。SMFB750は、図8のSMFB400と同様であるが、状態マシンの現在の状態に基づいて適当な出力OUT_D1、OUT_D2等を設定するロジック754を含んでいる。特に、ロジック754は、出力コンフィグレーションデータベース758に格納されている状態/出力コンフィグレーションデータにアクセスする。データベース758及びデータベース406は、同じコンピュータ読み取り可能な媒体又は異なるコンピュータ読み取り可能な媒体上に格納され得る。出力コンフィグレーションデータベースは、図13のマトリックス700のようなマトリックスに入力されたコンフィグレーションデータを含んでいる。
図15は、SMFBの次の状態を決定し、及び必要に応じて適当な出力OUT_D1、OUT_D2等をアサートするのに使用され得る例示のルーチン800のフローダイヤグラムである。ルーチン800は、図12のルーチン600と同様である。しかし、ブロック652の後、フローはブロック804に進み、そこで適当な出力OUT_D1、OUT_D2等がアサートされる。
図16は、適当な出力OUT_D1、OUT_D2等をアサートするために使用され得る例示のルーチン850のフローダイヤグラムである。ブロック854では、変数zが1に設定される。ブロック858では、出力OUT_Dzが、変数STATEによって指示されている配列変数OUTPUTの要素のビットナンバーzの値に設定される。OUTPUT配列の各要素は、対応する状態の一つに対して、出力OUT_D1、OUT_D2等の値を指示する変数であり得る。例えば、OUTPUT[1]は状態1に対応し、OUTPUT[2]は状態2に対応する、等である。加えて、各要素の各ビットは、出力OUT_D1、OUT_D2等の一つに対応し得る。例えば、ビット1はOUT_D1に対応し、ビット2はOUT_D2に対応する、等である。例えば図13を参照すれば、マトリックス700については、OUTPUT配列は6つの要素を有し、要素OUTPUT[1]は0x06である。
ブロック862では、変数zはインクリメントされ、ブロック866では、zの値が出力OUT_D1、OUT_D2等の数より大きいか否かがどうかが決定される。もし、zが出力OUT_D1、OUT_D2等の数より大きくなければ、ルーチンはブロック858に戻り得る。そうでなければ、ルーチンは終了する。
SMFBに対するコンフィグレーションデータは、上述のものに加えて他のタイプのグラフィカルユーザーインターフェースを介して入力され得る。例えば、コンフィグレーションデータは、状態遷移ダイヤグラムと同様のグラフィカルユーザーインターフェースを介して入力され得る。図17は、SMFBを構成するために使用され得る例示の状態遷移ダイヤグラム900である。ダイヤグラム900は、複数のグラフィカル要素904,908,912,916,920,924,928及び932を含んでいる。要素904,908及び912は、状態マシンの状態1,2及び3をそれぞれ表している。要素916は、状態マシンが状態1にあるときに、もし入力2がアサートされているなら状態2に遷移すべきことを表している。要素920は、状態マシンが状態1にあるときに、もし入力3がアサートされているなら状態3に遷移すべきことを表している。要素924は、状態マシンが状態2にあるときに、もし入力1がアサートされているなら状態1に遷移すべきことを表し、そして、要素928は、状態マシンが状態3にあるときに、もし入力1がアサートされているなら状態1に遷移すべきことを表している。同様に、要素932は、状態マシンが状態3にあるときに、もし入力4がアサートされているなら状態2に遷移すべきことを表している。
一般的には、SMFBは、ソフトウエア、ファームウエア若しくはハードウエア、又はソフトウエア、ファームウエア及び/若しくはハードウエアの幾つかの組合せによって実現され得る。例えば、SMFBは、コントローラ12a、16a、I/Oデバイス24、ロジックソルバ50、及びデバイス22,23,60及び62の一又はそれ以上によって実現され得る。他の実施形態として、SMFBは、ワークステーション18a及び20aの一又はそれ以上によって実現され得る。例えば、SMFBは、プロセスプラントの動作をテストし又はオペレータを訓練するためのシュミレーションの一部として、ワークステーション18a及び/又はワークステーション20aによって実現され得る。幾つかの実施形態では、SMFBは、ソフトウエアに従って構成されたプロセッサによって実現され、あるいは、例えばゲートアレイ、標準セル、フィールドプログラマブルゲートアレイ(FPGA)、PROM、EPROM、EEPROM、プログラマブルアレイロジック(PAL)、プログラマブルロジックアレイ(PLA)等の一又はそれ以上を有するデバイスのようなプログラマブルロジックデバイスによって実現され得る。
図8のブロック404,408,412,416及び420と、図14のブロック754は、ソフトウエア、ファームウエア、若しくはハードウエア、又はソフトウエア、ファームウエア及び/若しくはハードウエアの幾つかの組合せによって実現され得る。加えて、図10〜12,図15及び図16のフローダイヤグラムはルーチンとして記載されているけれども、これらのフローダイヤグラムは、ソフトウエア、ハードウエア、若しくはファームウエア、又はソフトウエア、ハードウエア及び/若しくはファームウエアの幾つかの組合せによって実現され得る。
上述のユーザインターフェイスのようなユーザインターフェイスの実施形態は、プロセッサによって全部又は一部が、例えばソフトウエアプログラムに従って構成される。例えば、ワークステーション18a若しくは20a、又は幾つかのコンピュータは、上述のユーザインターフェイスの全部又は一部を実現し得る。ユーザインターフェイスの実施形態を実現するためのソフトウエアプログラムは、ハードディスク、RAM、バッテリーによってバックアップされたRAM、ROM、CD−ROM、PROM、EPROM、EEPROM、DVD、フラッシュメモリ等の有形の媒体上、又はRAMのようなプロセッサに関連するメモリ上に格納されたソフトウエアに埋め込まれ得るが、当業者は、プログラムの全体又はその一部は、これに代えてプロセッサ以外の、並びに/又はファームウエア及び/若しくは公知の方法で専用のハードウエアに埋め込まれたデバイスによって実行され得ることを容易に理解するであろう。
本発明は、種々の改変及び代替の構成を容易に適用し得るが、その特定の例示された実施形態は、図面に示され及びここに詳述されている。しかしながら、開示を上述の特定の形式に限定することを意図しているのではなく、それとは反対に、添付の特許請求の範囲に規定される開示の精神及び範囲内にある全ての改変、代替構成及び装置を意図していることを理解すべきである。
プロセスプラントの一例を示すブロックダイヤグラムである。 図1に図示的に例示したワークステーションの一例を示すブロックダイヤグラムである。 制御モジュールを表すディスプレイの一例である。 状態マシン機能ブロックの一例である。 状態マシン機能ブロックに対する次の状態の構成を入力するための例示のマトリックスである。 次の状態のコンフィギュレーションデータがマトリックス状に表示されている図5の例示のマトリックスである。 状態マシン機能ブロックの動作方法の一例を示すフローダイヤグラムである。 状態マシン機能ブロックの一例のブロックダイヤグラムである。 状態マシン機能ブロックのもう一つの例示の方法を表すフローダイヤグラムである。 状態マシン機能ブロックへのデータ入力を処理するための例示のルーチンを表すフローダイヤグラムである。 状態マシン機能ブロックへのイネープル入力を処理するための例示のルーチンを表すフローダイヤグラムである。 状態を変更し及び状態マシン機能ブロックの出力を設定するための例示のルーチンを表すフローダイヤグラムである。 状態マシン機能ブロックに対する出力コンフィギュレーションデータを入力するためのマトリックスの一例である。 状態マシン機能ブロック他の例を表すブロックダイヤグラムである。 状態を変更し及び状態マシン機能ブロックの出力を設定するためのも一つの例示のルーチンを表すフローダイヤグラムである。 状態マシン機能ブロックの適当な出力値を設定するための例示のルーチンのフローダイヤグラムである。 状態マシン機能ブロックに対する次の状態のコンフィギュレーションデータを入力するための例示の状態遷移ダイヤグラムである。
符号の説明
10 プロセスプラント
12 コントローラノード
12a プロセスコントローラ
14 安全システム
14a コントローラ
16 コントローラノード
16a プロセスコントローラ
18 オペレータワークステーションノード
18a ワークステーション
20 オペレータワークステーションノード
20a ワークステーション
22 フィールドデバイス
23 フィールドデバイス
24 プロセス制御I/Oカード
30 ネットワーク
32 コンフィギュレーションデータベース
50 安全システムロジックソルバ
60 安全システムフィールドデバイス
62 安全システムフィールドデバイス
70 MPD
74 バス
100 プロセッサ
104 揮発性メモリ
108 不揮発性メモリ
112 ワークステーションI/Oデバイス
114 機能ブロック
116 アドレス/データバス
118 機能ブロック
120 ディスプレイデバイス
124 ユーザ入力デバイス
150 ディスプレイ
154 制御モジュール
160 SMFB
200 SMFB
300 マトリックス
400 SMFB
406 コンフィグレーションデータベース
408 スイッチングロジック
412 スイッチングロジック
416 リセットロジック
420 ロジック
700 マトリックス
750 SMFB
754 ロジック
758 データベース
758 出力コンフィグレーションデータベース
900 状態遷移ダイヤグラム
904 グラフィカル要素
908 グラフィカル要素
912 グラフィカル要素
916 グラフィカル要素
920 グラフィカル要素
924 グラフィカル要素
928 グラフィカル要素
932 グラフィカル要素

Claims (50)

  1. ディスプレイデバイス及び入力デバイスを有するコンピュータデバイスを介してプロセスプラントに関連する状態マシンを実現するための機能ブロックを構成するための方法であって、該状態マシンは複数の状態マシン状態を規定し、前記プロセスプラントの動作に関連する少なくとも1つの機能ブロック入力を含み、及び前記プロセスプラントの動作に影響を与える少なくとも1つの機能ブロック出力を含み、該方法は、
    前記複数の状態マシン状態の種々の状態マシン状態の間の状態マシン遷移を構成するために、及び前記少なくとも1つの機能ブロック出力を構成するために、前記ディスプレイデバイスを介してグラフィカルユーザーインターフェースを提供することを含み、
    ここで、前記グラフィカルユーザーインターフェースは、状態マシン状態に対応する第1の次元及び機能ブロック入力に対応する第2の次元を有する第1のマトリックス状に配された第1の複数のセルを含み、前記第1の複数のセルの各セルは、前記第1のマトリックス内のセルの位置によって規定される状態マシン/機能ブロック入力の組み合わせに対応し、前記グラフィカルユーザーインターフェースは、状態マシン状態に対応する第3の次元及び機能ブロック入力に対応する第4の次元を有する第2のマトリックス状に配された第2の複数のセルを含み、前記第2の複数のセルの各セルは、前記第2のマトリックス内のセルの位置によって規定される状態マシン/機能ブロック入力の組み合わせに対応し、
    遷移データが入力される前記第1の複数のセルの個々のセルに対応する状態マシン/機能ブロック入力に対応する状態マシンと、遷移データが入力されるセルに対応する状態マシン/機能ブロック入力に対応する機能ブロック入力とに前記状態マシンがあるときに、第1の複数のセルの個々のセルは、その状態マシンが遷移すべき次の状態を表す入力デバイスを介して状態遷移データを受け取るように構成され、
    前記第2の複数のセルは、機能ブロック出力データが入力される前記第2の複数のセルの個々のセルに対応する状態マシン/機能ブロック出力に対応する機能ブロック出力の出力値を表す入力デバイスを介して機能ブロック出力データを受け取るように構成され、
    前記第1の複数のセルの少なくとも1つに対応する状態マシン/機能ブロック入力の組み合わせに対応する状態マシンと、前記第1の複数のセルの少なくとも1つに対応する状態マシン/機能ブロック入力の組み合わせに対応する機能ブロック入力とに前記状態マシンがあるときに、前記状態マシンが遷移すべき次の状態を表す第1の複数のセルの少なくとも1つに対して前記入力デバイスを介して前記グラフィカルユーザインターフェイスに入力される状態マシン遷移データを受け取り、
    前記機能ブロック出力データが入力される前記第2の複数のセルの個々のセルに対応する状態マシン/機能ブロック入力の組み合わせに対応する機能ブロック出力の出力値を表す前記第2の複数のセルの少なくとも1つに対して前記入力デバイスを介して前記グラフィカルユーザインターフェイスに入力される機能ブロック出力データを受け取り、
    その状態遷移データ及び機能ブロック出力データをその状態マシンが関連する第1のコンピュータ読み取り可能な媒体上に格納する
    方法。
  2. 請求項1記載の方法であって、前記第1の複数のセルの適当なセルに前記状態遷移データの表示を前記ディスプレイデバイス上に表示することを更に含んでいる方法。
  3. 請求項1記載の方法であって、前記マトリックスは、少なくとも一つのセルの行及び複数のセルの列を含み、前記少なくとも一つの行のそれぞれの行は前記少なくとも一つの入力のうちの対応する入力に関連し、前記複数の列の各列は前記複数の状態のうちの対応する状態に関連している、方法。
  4. 請求項1記載の方法であって、前記マトリックスは、少なくとも一つのセルの行及び複数のセルの列を含み、前記複数の行のそれぞれの行は前記複数の状態のうちの対応する状態に関連し、前記少なくとも一つの列の各列は前記少なくとも一つの入力のうちの対応する入力に関連している、方法。
  5. 請求項1記載の方法であって、前記セルに対応する入力の前記特定の値は、論理1、論理0、論理TRUE値及び論理FALSE値のうちの一つである、方法。
  6. 請求項1記載の方法であって、
    前記少なくとも一つの入力に於ける入力の数を表すデータを前記入力デバイスを介して受け取ることと、
    前記入力の数に基づいて前記第1の複数のセルに於けるセルの数を決定することと
    を更に含んでいる、方法。
  7. 請求項6記載の方法であって、
    前記複数の状態に於ける状態の数を表すデータを前記入力デバイスを介して受け取ることを含み、
    前記第1の複数のセルに於けるセルの数を決定することは、前記入力の数と前記状態の数とに基づいて前記セルの数を決定することとを含んでいる、方法。
  8. 請求項1記載の方法であって、
    前記複数の状態に於ける状態の数を表すデータを前記入力デバイスを介して受け取ることと、
    前記状態の数に基づいて前記第1の複数のセルに於けるセルの数を決定することとを更に含んでいる、方法。
  9. 請求項1記載の方法であって、前記少なくとも一つの入力は複数の入力を含み、該方法は、
    前記複数の入力に関連する優先度を表すデータを前記グラフィカルユーザーインターフェースを介して受け取り、これによって第2の入力の優先度に対し高い優先度を有する第1の入力が第2の入力より優位になることと、
    前記複数の入力に関連する優先度を表すデータを格納することと
    を更に包含している方法。
  10. 請求項1記載の方法であって、前記少なくとも一つの入力の一又はそれ以上が前記状態マシンによって無視されるべきことを表すデータを受け取ることと、
    前記少なくとも一つの入力の一又はそれ以上が前記状態マシンによって無視されるべきことを表すデータを格納することとを更に包含している方法。
  11. 請求項1記載の方法であって、前記少なくとも一つの入力は、プロセス制御システム、プロセス制御システムのシミュレーション、安全システム、安全システムのシミュレーションの少なくとも一つに関連づけられるべきである、方法。
  12. 請求項1記載の方法であって、前記少なくとも一つの入力は、プロセスプラントに関連する少なくとも一つの他の機能ブロックから受け取られるべきである、方法。
  13. 請求項1記載の方法であって、前記少なくとも一つの入力は、オペレータインターフェイスから受け取られるべきである、方法。
  14. コンピュータデバイスによって実行されるように構成された機械的読み取り可能な命令を格納可能な有形の媒体であって、該媒体は、
    ディスプレイデバイスを介してグラフィカルユーザーインターフェースを提供するための第1のコードを含み、ここで、前記グラフィカルユーザーインターフェースは、複数の状態の中の状態マシン遷移を構成するとともに前記複数の状態に従って状態マシンを構成するために設けられ、該グラフィカルユーザーインターフェースは、第1の次元および第2の次元を有する第1のマトリックスに配された第1の複数のセルを有する複数のグラフィカル要素を含み、前記第1の次元に沿った位置は状態マシン状態に対応し、前記第2の次元に沿った位置は状態マシン入力に対応して、前記第1の複数のセルにおけるセルが第1および第2の次元に関するセルの位置に対応する入力/状態の組み合わせを規定し、前記セルが状態間の所望の遷移を示すのに使用され得るように構成され、前記グラフィカルユーザーインターフェースは、第3の次元および第4の次元を有する第2のマトリックスに配された第2の複数のセルを有する複数のグラフィカル要素を含み、前記第3の次元に沿った位置は状態マシン状態に対応し、前記第4の次元に沿った位置は状態マシン出力に対応して、前記第2の複数のセルにおけるセルが第3および第4の次元に関するセルの位置に対応する状態/出力の組み合わせを規定するように構成され、
    前記グラフィカルユーザーインターフェースを介して状態遷移データを受け取るための第2のコードを含み、前記状態遷移データは、前記グラフィカル要素の一つに関連する状態マシンの次の状態を規定し、
    前記入力デバイスを介して前記第2の複数のセルの少なくとも幾つかに関連する出力構成データを受け取る第3のコードを含み、前記第2の複数のセルの少なくとも幾つかのそれぞれに関連する前記出力構成データのそれぞれは、前記状態マシンが前記セルに対応するときにそのセルに対応する出力の出力値を表すデータを含み、
    プロセスプラントにおける状態が前記グラフィカル要素の一つが対応する状態マシン状態/状態マシン入力の組み合わせに対応したときに、状態マシンが状態マシンの次の状態に遷移するように、プロセスプラントにおける状態マシンを実装する機能ブロックに関連するコンピュータ読み取り可能な媒体上にその状態遷移データを格納するための第4のコードと、
    前記出力構成データを格納するための第5のコードと
    を包含している媒体。
  15. 請求項14記載の有形の媒体であって、前記第2のコードは、前記第1の複数のセルの少なくとも幾つかに関連するデータを前記コンピュータデバイスの入力デバイスを介して受け取るための第6のコードを含み、前記データのそれぞれは、前記状態マシンがそのセルに対応する状態にあるとき及び前記セルに対応する入力が特定の値であるときに、前記状態マシンが遷移すべき次の遷移を表している、媒体。
  16. 請求項15記載の有形の媒体であって、前記第1の複数のセルの適当なセルにおける前記状態遷移データの表示を前記ディスプレイデバイス上に表示する第7のコードを更に含んでいる、媒体。
  17. 請求項15記載の有形の媒体であって、前記第1のコードは、前記第1のマトリックス及び第2のマトリックスを前記ディスプレイデバイス上に表示する第7のコードを含み、前記第1のマトリックスは、セルの少なくとも一つの行及びセルの複数の列を含み、前記セルの少なくとも一つの行のそれぞれの行は前記少なくとも一つの入力のうちの対応する入力に関連し、前記複数の列の各列は前記複数の状態のうちの対応する状態に関連し
    前記第2のマトリックスは、少なくとも1つのセルの行と複数のセルの列とを含み、前記少なくとも1つの行のそれぞれは前記少なくとも1つの出力の対応する出力に関連し、前記複数の列の各列は前記複数の状態の対応する状態に関連している、媒体。
  18. 請求項15記載の有形の媒体であって、前記第1のコードは、前記第1のマトリックス及び第2のマトリックスを前記ディスプレイデバイス上に表示する第7のコードを含み、該マトリックスはセルの複数の行とセルの少なくとも一つの列とを含み、前記複数の行のそれぞれの行は前記複数の状態のうちの対応する状態に関連し、前記少なくとも一つの列の各列は前記少なくとも一つの入力のうちの対応する入力に関連している、媒体。
  19. 請求項15記載の有形の媒体であって、前記特定の値は、論理1、論理0、論理TRUE値及び論理FALSE値のうちの一つである、媒体。
  20. 請求項15記載の有形の媒体であって、
    前記少なくとも一つの入力に於ける入力の数を表すデータを前記入力デバイスを介して受け取る第7のコードと、
    前記入力の数に基づいて前記第1の複数のセルに於けるセルの数を決定する第8のコードとを更に含んでいる、媒体。
  21. 請求項20記載の有形の媒体であって、
    前記複数の状態に於ける状態の数を表すデータを前記入力デバイスを介して受け取る第9のコードを更に含み、
    前記第8のコードは、前記入力の数と前記状態の数とに基づいて前記セルの数を決定することとを含んでいる、媒体。
  22. 請求項15記載の有形の媒体であって、
    前記複数の状態に於ける状態の数を表すデータを前記入力デバイスを介して受け取る第7のコードと、
    前記状態の数に基づいて前記第1の複数のセルに於けるセルの数を決定する第8のコードとを更に含んでいる、媒体。
  23. 請求項14記載の有形の媒体であって、前記少なくとも一つの入力は複数の入力を有し、前記有形の媒体は、
    前記複数の入力に関連する優先度を表すデータを前記入力デバイスを介して受け取り、これによって第2の入力の優先度に対し高い優先度を有する第1の入力が第2の入力より優位になる第5のコードと、
    前記複数の入力に関連する優先度を表す前記データを格納する第6のコードと
    を含んでいる、媒体。
  24. 請求項14記載の有形の媒体であって、
    前記少なくとも一つの入力の一又はそれ以上を無視すべきかどうかを表すデータを受け取る第5のコードと、
    前記少なくとも一つの入力の一又はそれ以上を無視すべきかどうかを表すデータを格納する第6のコードと
    を更に包含している、媒体。
  25. 請求項14記載の有形の媒体であって、前記少なくとも一つの入力は、プロセス制御システム、プロセス制御システムのシミュレーション、安全システム、安全システムのシミュレーションの少なくとも一つに関連づけられるべきである、媒体。
  26. 請求項14記載の有形の媒体であって、前記少なくとも一つの入力は、前記プロセスプラントに関連する少なくとも一つの他の機能ブロックから受け取られるべきである、媒体。
  27. 請求項14記載の有形の媒体であって、前記少なくとも一つの入力は、オペレータインターフェイスから受け取られるべきである、媒体。
  28. プロセスプラントに於ける一又はそれ以上のフィールドデバイスを制御し又は制御をシミュレートするのに使用するための機能ブロックにおける状態マシンを実現するための方法であって、該方法は、
    ディスプレイデバイスによって表示されるグラフィカルユーザーインターフェースを提供することを含み、該グラフィカルユーザーインターフェースは、複数の状態マシン状態の間の状態マシン遷移を構成するための複数のグラフィカル要素を含み、該グラフィカル要素は、第1の次元および第2の次元を有する第1のマトリックスに配された機能ブロックに関連する第1の複数のセルを含み、前記第1の次元に沿った位置は状態マシン状態に対応し、前記第2の次元に沿った位置は状態マシン入力に対応して、前記第1の複数のセルにおけるセルが第1および第2の次元に関するセルの位置に対応する入力/状態の組み合わせを規定するように構成され、前記グラフィカル要素は、第3の次元および第4の次元を有する第2のマトリックスに配された機能ブロックに関連する第2の複数のセルを含み、前記第3の次元に沿った位置は状態マシン状態に対応し、前記第4の次元に沿った位置は状態マシン出力に対応して、前記第2の複数のセルにおけるセルが第3および第4の次元に関するセルの位置に対応する状態/出力の組み合わせを規定するように構成され、
    一つ又はそれ以上の状態マシン入力は、プロセスプラント内の一つ又はそれ以上の動作条件を表し、
    前記第1の複数のセルの少なくとも1つに関連する状態マシンの次の状態を前記グラフィカルユーザインターフェイスに関連するインターフェイス入力を介して識別する状態遷移データを受け取ることを含み、
    前記機能ブロックに関連する第1のコンピュータ読み取り可能な媒体上に前記状態遷移データを格納することを含み、
    前記第2の複数のセルの少なくとも1つに関連する状態マシン出力データを前記グラフィカルユーザインターフェイスに関連するインターフェイス入力を介して受け取り、前記出力データは、前記状態マシンが前記第2の複数のセルの少なくとも1つに対応する状態にあるときに前記第2の複数のセルの少なくとも1つに対応する状態マシン出力に対して設定すべき出力値を規定し、
    前記機能ブロックに関連する第1のコンピュータ読み取り可能な媒体上に前記出力データを格納することを含み、
    前記少なくとも1つの状態マシン入力を受け取り、
    該少なくとも1つの入力、現在の状態、および前記第1のコンピュータ読み取り可能な媒体上に格納された状態遷移データに基づいて状態マシンの次の状態を決定することを含み、
    前記状態マシンの現在の状態を次の状態に設定することと、
    一又はそれ以上のフィールドデバイスの制御に使用するために前記格納された出力データに従って前記状態マシンの現在の状態に対応する少なくとも一つの機能ブロック出力を設定することを含む、方法。
  29. 請求項28記載の方法であって、前記少なくとも一つの入力は、複数の入力を含み、
    前記次の状態を決定することは、更に前記複数の入力に関連する優先度に基づいて、次の状態を決定することを含む、方法。
  30. 請求項29記載の方法であって、更に前記複数の入力に関連する優先度に基づいて次の状態を決定することは、更に前記複数の入力に関連する順序に基づいて、次の状態を決定することを含む、方法。
  31. 請求項28記載の方法であって、
    前記少なくとも一つの入力の少なくとも一つと、前記第1のコンピュータ読み取り可能な媒体上に格納された前記状態遷移データとに基づいて、状態遷移が起こるべきかどうかを決定することを更に含み、
    前記次の状態を決定することは、もし状態遷移が起こったなら次の状態を決定することを含み、
    前記状態マシンの現在の状態を次の状態に設定することは、もし状態遷移が起こったなら前記状態マシンの現在の状態を次の状態に設定することを含んでいる、方法。
  32. 請求項28記載の方法であって、前記次の状態を決定することは、特定の値である前記少なくとも一つの入力の一又はそれ以上を決定することを含んでいる、方法。
  33. 請求項32記載の方法であって、前記次の状態を決定することは、前記特定の値であって前記第1のコンピュータ読み取り可能な媒体上に格納された前記状態遷移データに基づく状態変化に対応する前記少なくとも一つの入力の前記一又はそれ以上のうちの一又はそれ以上を決定することとを更に含んでいる、方法。
  34. 請求項33記載の方法であって、前記特定の値であり状態変化に対応する前記少なくとも一つの入力の前記一又はそれ以上のうちの一つを選択することを更に包含している方法。
  35. 請求項34記載の方法であって、前記少なくとも一つの入力は複数の入力を含み、
    特定の値であり状態変化に対応する前記少なくとも一つの入力の前記一又はそれ以上のうちの一つを選択することは、前記複数の入力に関連する優先度に基づいて選択し、これによって第2の入力の優先度に対し高い優先度を有する第1の入力が第2の入力より優位になることを含んでいる、方法。
  36. 請求項35記載の方法であって、特定の値であり状態変化に対応する前記少なくとも一つの入力の前記一又はそれ以上のうちの一つを選択することは、前記複数の入力に関連する順序に基づいて選択することを含んでいる、方法。
  37. 請求項28記載の方法であって、前記次の状態を決定することは、前記第1のコンピュータ読み取り可能な媒体上に格納された前記状態遷移データに基づいて現在の状態からの起こり得る状態変化に関連する前記少なくとも一つの入力の一又はそれ以上を決定することを含んでいる、方法。
  38. 請求項37記載の方法であって、前記次の状態を決定することは、特定の値でもある現在の状態からの起こり得る状態変化に関連する前記少なくとも一つの入力の前記一又はそれ以上のうちの一又はそれ以上を決定することを更に含んでいる、方法。
  39. 請求項28記載の方法であって、前記少なくとも一つの機能ブロック出力を設定することは、複数の機能ブロック出力を設定することを含む、方法。
  40. 請求項39記載の方法であって、前記複数の機能ブロック出力の少なくとも幾つかのそれぞれは、前記状態マシンの現在の状態が前記状態マシンの複数の可能な状態のそれぞれの一つに対応しているかどうかを表している、方法。
  41. 請求項39記載の方法であって、前記複数の機能ブロック出力を提供することは、状態マシンの現在の状態を表す一つの機能ブロック出力を提供することを含む方法。
  42. 請求項28記載の方法であって、前記少なくとも一つの機能ブロック出力は、状態マシンの現在の状態を表す一つの機能ブロック出力を含んでいる方法。
  43. 請求項28記載の方法であって、
    前記状態マシン機能ブロックがディスエープルにされるべきかどうかを表す入力を受け取ることと、
    前記状態マシン機能ブロックがディスエーブルにされるべきかどうかを表す入力が、前記状態マシン機能ブロックはディスエーブルにされるべきことを表しているときに、状態マシンの現在の状態をディスエーブルの状態に設定すること
    を更に包含している方法。
  44. 請求項43記載の方法であって、
    前記状態マシン機能ブロックが初期状態に強制されるべきかどうかを表す入力を受け取ることと、
    前記状態マシン機能ブロックが初期状態に強制されるべきかどうかを表す入力が、前記状態マシン機能ブロックは初期状態に強制されるべきことを表しているときに、状態マシンの現在の状態を初期状態に設定することとを更に包含し、
    前記状態マシン機能ブロックがディスエーブルにされるべきかどうかを表す入力、及び前記状態マシン機能ブロックが初期状態に強制されるべきかどうかを表す入力は、単一の入力を包含している方法。
  45. 請求項28記載の方法であって、
    前記状態マシン機能ブロックが初期状態に強制されるべきかどうかを表す入力を受け取ることと、
    もし、前記状態マシン機能ブロックが初期状態に強制されるべきかどうかを表す入力が、前記状態マシン機能ブロックは初期状態に強制されるべきであることを表しているなら、状態マシンの現在の状態を初期状態に設定することと
    を更に包含している方法。
  46. 請求項28記載の方法であって、前記状態マシン機能ブロックへ入力された前記少なくとも一つのデータを受け取ることは、プロセス制御システム、プロセス制御システムのシミュレーション、安全システム、安全システムのシミュレーションの少なくとも一つに関連づけられる少なくとも一つの信号を受け取ることを含んでいる、方法。
  47. 請求項28記載の方法であって、前記少なくとも一つの入力は、前記プロセスプラントに関連する少なくとも一つの他の機能ブロックから受け取られるべきである、方法。
  48. 請求項28記載の方法であって、前記少なくとも一つの入力は、オペレータインターフェイスから受け取られるべきである、方法。
  49. 請求項28記載の方法であって、前記少なくとも一つの機能ブロック出力を設定することは、プロセス制御システムの一部に出力信号を提供することを含み、該プロセス制御システムの一部は、少なくとも部分的に、前記少なくとも一つの機能ブロック出力に基づいて前記一又はそれ以上のフィールドデバイスを制御する、方法。
  50. 請求項28記載の方法であって、前記少なくとも一つの機能ブロック出力を設定することは、安全システムの一部に少なくとも一つの機能ブロック出力を提供することを含んでおり、該安全システムの一部は、少なくとも部分的に、前記少なくとも一つの機能ブロック出力に基づいて前記一又はそれ以上のフィールドデバイスを制御する、方法。
JP2004257939A 2003-09-05 2004-09-06 ユーザによる修正が可能な状態遷移コンフィギュレーションデータベースを有する状態マシン機能ブロック Expired - Lifetime JP4885435B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/656,005 US7730415B2 (en) 2003-09-05 2003-09-05 State machine function block with a user modifiable state transition configuration database
US10/656,005 2003-09-05

Publications (2)

Publication Number Publication Date
JP2005085271A JP2005085271A (ja) 2005-03-31
JP4885435B2 true JP4885435B2 (ja) 2012-02-29

Family

ID=33160005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004257939A Expired - Lifetime JP4885435B2 (ja) 2003-09-05 2004-09-06 ユーザによる修正が可能な状態遷移コンフィギュレーションデータベースを有する状態マシン機能ブロック

Country Status (6)

Country Link
US (2) US7730415B2 (ja)
JP (1) JP4885435B2 (ja)
CN (1) CN1598723B (ja)
DE (1) DE102004042550B4 (ja)
GB (2) GB2405705B (ja)
HK (1) HK1074083A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730415B2 (en) 2003-09-05 2010-06-01 Fisher-Rosemount Systems, Inc. State machine function block with a user modifiable state transition configuration database
US7500209B2 (en) * 2005-09-28 2009-03-03 The Mathworks, Inc. Stage evaluation of a state machine
CN101009915B (zh) * 2006-01-26 2011-04-13 华为技术有限公司 媒体无关切换功能设备及其状态迁移方法
US20070233865A1 (en) * 2006-03-30 2007-10-04 Garbow Zachary A Dynamically Adjusting Operating Level of Server Processing Responsive to Detection of Failure at a Server
US7496579B2 (en) * 2006-03-30 2009-02-24 International Business Machines Corporation Transitioning of database service responsibility responsive to server failure in a partially clustered computing environment
JP4671131B2 (ja) 2006-08-10 2011-04-13 横河電機株式会社 安全計装システム
US8005553B2 (en) 2006-09-29 2011-08-23 Fisher-Rosemount Systems, Inc. Automatic configuration of synchronous block execution for control modules run in fieldbus networks
US7761171B2 (en) 2006-09-29 2010-07-20 Fisher-Rosemount Systems, Inc. Methods and apparatus to generate schedules to execute functions in a process control system
WO2008097912A2 (en) * 2007-02-06 2008-08-14 Progress Software Corporation Event-based process configuration
US8812052B2 (en) 2007-02-27 2014-08-19 Qualcomm Incorporated SPS receiver with adjustable linearity
EP2183690A1 (en) * 2007-09-07 2010-05-12 ABB Technology AG Configuration of intelligent electronic device
DE102007043328A1 (de) * 2007-09-12 2009-03-19 Endress + Hauser Process Solutions Ag Verfahren zur Überwachung einer Prozessanlage mit einem Feldbus der Prozessautomatisierungstechnik
CN101408761B (zh) * 2007-10-09 2011-09-28 研华股份有限公司 输入/输出模块系统利用图形操作设定的方法
EP2169489B1 (en) * 2008-09-30 2012-08-01 Siemens Aktiengesellschaft Method for implementing production processes
US9231630B2 (en) * 2009-05-05 2016-01-05 San Diego, CA Radio device having dynamic intermediate frequency scaling
US9256219B2 (en) * 2009-08-11 2016-02-09 Fisher-Rosemount Systems, Inc. System configuration using templates
DE102009054230A1 (de) * 2009-11-23 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Manipulatoren
US20110258125A1 (en) * 2010-04-16 2011-10-20 Vinay Rama Iyer Collaborative Social Event Planning and Execution
EP2820537A1 (en) 2012-02-15 2015-01-07 The Mathworks, Inc. Generating a state diagram
WO2013123376A1 (en) * 2012-02-15 2013-08-22 The Mathworks, Inc. Unified state transition table describing a state machine model
JP2013207385A (ja) * 2012-03-27 2013-10-07 Toshiba Corp 状態遷移処理装置
US8744604B2 (en) * 2012-05-09 2014-06-03 Fisher Controls International Llc Method and apparatus for configuring a blackout period for scheduled diagnostic checks of a field device in a process plant
US20140280528A1 (en) * 2013-03-12 2014-09-18 Rockwell Automation Technologies, Inc. State machine configurator
US9086688B2 (en) * 2013-07-09 2015-07-21 Fisher-Rosemount Systems, Inc. State machine function block with user-definable actions on a transition between states
US9777856B2 (en) 2013-12-12 2017-10-03 Regulator Technologies Tulsa, Llc Pressure vacuum relief valve
CN103728957B (zh) * 2014-01-15 2017-02-01 浙江大学 一种基于实时数据库的hart现场设备管理方法及系统
US9130566B1 (en) * 2014-09-24 2015-09-08 Xilinx, Inc. Programmable IC with power fault tolerance
US20160116894A1 (en) * 2014-10-28 2016-04-28 Flow Data, Inc. Control system with a network of controllers using linked cause-and-effect matrices
CN104407591A (zh) * 2014-11-27 2015-03-11 杭州优稳自动化系统有限公司 一种基于实时数据库的Modbus设备主从站通讯管理方法及系统
US10438144B2 (en) 2015-10-05 2019-10-08 Fisher-Rosemount Systems, Inc. Method and apparatus for negating effects of continuous introduction of risk factors in determining the health of a process control system
GB2558817B (en) 2015-10-09 2022-03-02 Fisher Rosemount Systems Inc System and method for verifying the safety logic of a cause and effect matrix
GB2545719B (en) * 2015-12-23 2018-06-06 Moog Unna Gmbh System and method for controlling a wind turbine
US10447078B2 (en) 2017-10-02 2019-10-15 Fisher-Rosemount Systems, Inc. Smart function block for integration of PLCS into a control system and methods for the same
US10545470B2 (en) 2017-11-10 2020-01-28 Rockwell Automation Technologies, Inc. Configurable mode model
KR102412088B1 (ko) * 2021-11-08 2022-06-22 (주) 바우디움 상태 기계에 의하여 작업의 진행 상황을 관리하는 방법 및 이를 이용한 장치

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4607256A (en) * 1983-10-07 1986-08-19 Honeywell, Inc. Plant management system
JPS61253503A (ja) 1985-05-02 1986-11-11 Mitsubishi Electric Corp シ−ケンス制御装置
JPS63293604A (ja) 1987-05-27 1988-11-30 Fuji Electric Co Ltd シ−ケンステ−ブル式制御装置
JPS6419170A (en) 1987-07-10 1989-01-23 Shinnensho System Kenkyusho High pressure air supply device for internal combustion engine
JPS6441004A (en) * 1987-08-07 1989-02-13 Mitsubishi Electric Corp Programmable sequence controller
GB9011700D0 (en) * 1990-05-25 1990-07-18 Inmos Ltd Communication interface
JPH0589069A (ja) * 1991-09-30 1993-04-09 Toshiba Corp 分散形制御システム
JPH05346810A (ja) * 1991-10-09 1993-12-27 Yaskawa Electric Corp プログラマブルコントローラの出力異常処理方式
JP3275450B2 (ja) 1993-04-30 2002-04-15 オムロン株式会社 故障診断方法および装置
US5594858A (en) * 1993-07-29 1997-01-14 Fisher-Rosemount Systems, Inc. Uniform control template generating system and method for process control programming
US5530643A (en) 1993-08-24 1996-06-25 Allen-Bradley Company, Inc. Method of programming industrial controllers with highly distributed processing
JPH0798561A (ja) * 1993-09-29 1995-04-11 Yokogawa Electric Corp 分散形制御装置
US5576946A (en) * 1993-09-30 1996-11-19 Fluid Air, Inc. Icon based process design and control system
JPH08328613A (ja) * 1995-05-30 1996-12-13 Meidensha Corp シーケンス・プログラムの作成・データ設定方法
JPH09148852A (ja) 1995-11-24 1997-06-06 Matsushita Electric Ind Co Ltd 送信出力可変装置
US5838563A (en) * 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US5768119A (en) 1996-04-12 1998-06-16 Fisher-Rosemount Systems, Inc. Process control system including alarm priority adjustment
JP3550460B2 (ja) * 1996-04-25 2004-08-04 株式会社日立製作所 サーバレスプラント監視・制御装置
US5903886A (en) * 1996-04-30 1999-05-11 Smartlynx, Inc. Hierarchical adaptive state machine for emulating and augmenting software
US5845063A (en) * 1996-09-11 1998-12-01 Elsag International N.V. Signal status propagation in a distributed control system
US6029181A (en) * 1996-09-26 2000-02-22 Honeywell, Inc. System and method for translating visual display object files from non-component object model (COM) objects to COM objects
US5818736A (en) * 1996-10-01 1998-10-06 Honeywell Inc. System and method for simulating signal flow through a logic block pattern of a real time process control system
US6421069B1 (en) * 1997-07-31 2002-07-16 Sony Corporation Method and apparatus for including self-describing information within devices
US6219628B1 (en) 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US6526566B1 (en) 1997-11-14 2003-02-25 National Instruments Corporation Graphical programming system and method including nodes for programmatically accessing data sources and targets
US6239800B1 (en) * 1997-12-15 2001-05-29 International Business Machines Corporation Method and apparatus for leading a user through a software installation procedure via interaction with displayed graphs
JP3651742B2 (ja) * 1998-01-21 2005-05-25 株式会社東芝 プラント監視システム
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US6448982B1 (en) * 1998-04-23 2002-09-10 Siemens Energy & Automation, Inc. System for graphically generating logic for a cause and effects matrix
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US6157864A (en) 1998-05-08 2000-12-05 Rockwell Technologies, Llc System, method and article of manufacture for displaying an animated, realtime updated control sequence chart
US6263255B1 (en) * 1998-05-18 2001-07-17 Advanced Micro Devices, Inc. Advanced process control for semiconductor manufacturing
US6289252B1 (en) 1998-08-31 2001-09-11 Fisher-Rosemount Systems, Inc. Distributed batch processing system and methods
US6505341B1 (en) * 1998-11-10 2003-01-07 Scientronix, Inc. System and method for programming a logic control unit
US6442512B1 (en) * 1998-10-26 2002-08-27 Invensys Systems, Inc. Interactive process modeling system
JP2002531899A (ja) 1998-11-30 2002-09-24 シーベル システムズ,インコーポレイティド プロセス監視用の状態モデル
EP1141813A4 (en) * 1998-12-23 2007-10-24 Triconex Corp DEVELOPMENT AND TEST SYSTEM FOR THE MAINTENANCE OF A PROGRAM WITH CAUSE EFFECT DIAGRAM
US6718533B1 (en) * 1999-02-26 2004-04-06 Real-Time Innovations, Inc. Method for building a real-time control system with mode and logical rate
AU5273100A (en) * 1999-05-17 2000-12-05 Foxboro Company, The Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US6901560B1 (en) * 1999-07-01 2005-05-31 Honeywell Inc. Process variable generalized graphical device display and methods regarding same
US6577323B1 (en) * 1999-07-01 2003-06-10 Honeywell Inc. Multivariable process trend display and methods regarding same
US6834370B1 (en) * 1999-07-08 2004-12-21 Osi Software, Inc. Method for creating master recipes
JP3819639B2 (ja) 1999-07-09 2006-09-13 株式会社東芝 プログラミング装置
US6993456B2 (en) * 1999-09-30 2006-01-31 Rockwell Automation Technologies, Inc. Mechanical-electrical template based method and apparatus
US6556950B1 (en) * 1999-09-30 2003-04-29 Rockwell Automation Technologies, Inc. Diagnostic method and apparatus for use with enterprise control
US6489971B1 (en) 1999-12-07 2002-12-03 International Business Machines Corporation Graphical programming environment for deterministic finite state automata
US6917845B2 (en) * 2000-03-10 2005-07-12 Smiths Detection-Pasadena, Inc. Method for monitoring environmental condition using a mathematical model
WO2001095161A2 (en) * 2000-06-02 2001-12-13 Virtio Corporation Method and system for virtual prototyping
JP3494215B2 (ja) * 2000-06-23 2004-02-09 栗田工業株式会社 プログラム制御装置
US6742165B2 (en) * 2001-03-28 2004-05-25 Mips Technologies, Inc. System, method and computer program product for web-based integrated circuit design
US6931288B1 (en) * 2001-04-16 2005-08-16 Rockwell Automation Technologies, Inc. User interface and system for creating function block diagrams
US6668203B1 (en) * 2001-04-26 2003-12-23 Sandia Corporation State machine analysis of sensor data from dynamic processes
US6735596B2 (en) * 2001-06-07 2004-05-11 Guy Charles Corynen Computer method and user interface for decision analysis and for global system optimization
WO2003003235A1 (en) 2001-06-27 2003-01-09 4 Media, Inc. Improved media delivery platform
JP2003177804A (ja) * 2001-09-28 2003-06-27 Nippon Koei Power Systems Co Ltd シーケンス制御プログラム生成方法、その方法をコンピュータに実行させるプログラムおよびシーケンス制御プログラム生成装置
US20030086520A1 (en) * 2001-11-07 2003-05-08 Russell William Earl System and method for continuous optimization of control-variables during operation of a nuclear reactor
US6993706B2 (en) 2002-01-15 2006-01-31 International Business Machines Corporation Method, apparatus, and program for a state machine framework
US6941301B2 (en) * 2002-01-18 2005-09-06 Pavilion Technologies, Inc. Pre-processing input data with outlier values for a support vector machine
AU2003253594A1 (en) 2002-04-23 2003-11-10 Tokyo Electron Limited Method and apparatus for simplified system configuration
US7050863B2 (en) 2002-09-11 2006-05-23 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
US6915235B2 (en) * 2003-03-13 2005-07-05 Csi Technology, Inc. Generation of data indicative of machine operational condition
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7730415B2 (en) 2003-09-05 2010-06-01 Fisher-Rosemount Systems, Inc. State machine function block with a user modifiable state transition configuration database
US7269468B2 (en) * 2003-09-05 2007-09-11 Fisher-Rosemount Systems, Inc. State machine function block with a user modifiable output configuration database
US7487076B2 (en) * 2003-10-31 2009-02-03 The Mathworks, Inc. Simplified data signal support for diagramming environment languages

Also Published As

Publication number Publication date
GB0419583D0 (en) 2004-10-06
US8600524B2 (en) 2013-12-03
US20050055695A1 (en) 2005-03-10
HK1074083A1 (en) 2005-10-28
US7730415B2 (en) 2010-06-01
DE102004042550B4 (de) 2023-03-09
JP2005085271A (ja) 2005-03-31
GB0724070D0 (en) 2008-01-16
CN1598723A (zh) 2005-03-23
DE102004042550A1 (de) 2005-05-19
GB2405705A (en) 2005-03-09
US20110270418A1 (en) 2011-11-03
GB2405705B (en) 2009-10-28
CN1598723B (zh) 2014-07-09

Similar Documents

Publication Publication Date Title
JP4885435B2 (ja) ユーザによる修正が可能な状態遷移コンフィギュレーションデータベースを有する状態マシン機能ブロック
JP6820306B2 (ja) 有形媒体
JP4754793B2 (ja) ユーザによる修正可能な出力コンフィギュレーションデータベースを備えた状態マシン機能ブロック
JP4578839B2 (ja) プロセス安全システムで使用するための原因結果マトリックスの機能ブロック実装
US7096078B2 (en) Boolean logic function block
US11886159B2 (en) System and method for creating a set of monitor and effect blocks from a cause and effect matrix
US5997167A (en) Programmable controller including diagnostic and simulation facilities
US20020198907A1 (en) System for graphically generating logic for a cause and effects matrix
US7433801B2 (en) Identifying and visualizing faults in PLC-based manufacturing systems
US6141628A (en) Programmable logic controller software with embedded class logic and alarm/shutdown functionality
US8930000B2 (en) Plant monitor and control device and a maintenance support method thereof
CN111552263A (zh) 用于检查工业设施的方法、计算机可读存储介质和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100823

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110927

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: 20111115

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: 20111208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4885435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250