JP2022092595A - プロセス制御環境における通信の変数レベルの整合性チェック - Google Patents
プロセス制御環境における通信の変数レベルの整合性チェック Download PDFInfo
- Publication number
- JP2022092595A JP2022092595A JP2021198329A JP2021198329A JP2022092595A JP 2022092595 A JP2022092595 A JP 2022092595A JP 2021198329 A JP2021198329 A JP 2021198329A JP 2021198329 A JP2021198329 A JP 2021198329A JP 2022092595 A JP2022092595 A JP 2022092595A
- Authority
- JP
- Japan
- Prior art keywords
- message
- data integrity
- variable
- process control
- integrity check
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims description 56
- 238000012369 In process control Methods 0.000 title 1
- 238000010965 in-process control Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 239
- 238000004886 process control Methods 0.000 claims abstract description 209
- 230000008569 process Effects 0.000 claims description 153
- 238000001514 detection method Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 27
- 238000012795 verification Methods 0.000 abstract description 2
- 241000196324 Embryophyta Species 0.000 description 44
- 230000000875 corresponding effect Effects 0.000 description 24
- 230000004044 response Effects 0.000 description 17
- 238000005259 measurement Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000010248 power generation Methods 0.000 description 3
- 235000011470 Adenanthera pavonina Nutrition 0.000 description 2
- 240000001606 Adenanthera pavonina Species 0.000 description 2
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- 101000879673 Streptomyces coelicolor Subtilisin inhibitor-like protein 3 Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013496 data integrity verification Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000013349 risk mitigation Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 101001016186 Homo sapiens Dystonin Proteins 0.000 description 1
- 101000832669 Rattus norvegicus Probable alcohol sulfotransferase Proteins 0.000 description 1
- 101000880156 Streptomyces cacaoi Subtilisin inhibitor-like protein 1 Proteins 0.000 description 1
- 101000880160 Streptomyces rochei Subtilisin inhibitor-like protein 2 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000011989 factory acceptance test Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 239000000383 hazardous chemical Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 229920000346 polystyrene-polyisoprene block-polystyrene Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 238000010963 scalable process Methods 0.000 description 1
- 238000012026 site acceptance test Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition 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/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
- G05B19/4186—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 by protocol, e.g. MAP, TOP
-
- 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/41875—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 quality surveillance of production
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1642—Formats specially adapted for sequence numbers
-
- 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
-
- 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/0428—Safety, monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/24—Testing correct operation
-
- 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/31244—Safety, reconnect network automatically if broken
-
- 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/32—Operator till task planning
- G05B2219/32368—Quality control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33234—Detect bad data transfer
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33236—Add check data to message to check faulty 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/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33243—Detect quality of received data, message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
【課題】受信デバイスが変数ごとに受信値の整合性を検証することを可能にし、プロセス制御デバイスがデバイス変数値を送信および受信することを可能にする方法を提供する。【解決手段】整合性の検証を容易にするために、メッセージ内の任意の所望の数の変数は、メッセージ内のデータ整合性チェックを行うことができる。データ整合性チェックがある受信値ごとに、受信デバイスは、受信値およびシード(送信デバイスと受信デバイスの両方に知られている)に基づいて独自のデータ整合性チェックを計算し、次いで、受信データ整合性チェックと比較して、受信値が通信中に変更されたかどうかを検証することができる。【選択図】図2
Description
本開示は、概して、プロセス制御環境における通信の整合性を検証することに関し、より具体的には、通信を受信するデバイスの変数値の信頼性および信用性を向上させるために、そのような通信における変数値(安全システムで使用されるものなど)の整合性を変数ごとに検証することに関する。
発電、化学、石油、または他のプロセスで使用されるような分散型またはスケーラブルなプロセス制御システムなどの分散プロセス制御システムは、プロセス制御ネットワークを介して、少なくとも1つのホストまたはオペレータワークステーションに、およびアナログ、デジタル、または組み合わされたアナログ/デジタルバスを介して、1つ以上の器具類またはフィールドデバイスに、互いに通信可能に結合された1つ以上のプロセスコントローラを典型的に含む。
フィールドデバイスは、バルブの開閉、デバイスのオン/オフの切り替え、およびプロセスパラメータの測定などのプロセスまたはプラント内の機能を行う。フィールドデバイスの例としては、バルブ、バルブポジショナ、スイッチ、および送信機(例えば、温度、圧力、または流量を測定するためのセンサを含むデバイス、ならびに感知された温度、圧力、および流量を送信するための送信機)が挙げられる。
プロセスコントローラは、典型的にはプラント環境内に位置するが、フィールドデバイスによって行われるプロセス測定値(またはフィールドデバイスに関する他の情報)を示す信号を受信し、ならびに、例えば、プロセス制御判定を行い、受信した情報に基づき制御信号を生成し、スマートフィールドデバイス(例えば、HART(登録商標)、WirelessHART(登録商標)、およびFOUNDATION(登録商標)のFieldbusフィールドデバイス)に実装されている制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。
制御モジュールの実行により、プロセスコントローラは、通信リンクまたは信号路を通じてフィールドデバイスに制御信号を送信して、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する(例えば、プラントまたはシステム内部で稼働または実行している1つ以上の工業プロセスのうちの少なくとも一部分を制御する)。例えば、コントローラおよびフィールドデバイスの第1のセットが、プロセスプラントまたはシステムによって制御されているプロセスの第1の部分を制御し得、コントローラおよびフィールドデバイスの第2のセットが、プロセスの第2の部分を制御し得る。
入出力(I/O)カード(「I/Oデバイス」または「I/Oモジュール」と呼ぶ場合もある)は、これもまた典型的にはプラント環境内に位置付けられるが、典型的にはコントローラと1つ以上のフィールドデバイスとの間に配設され、それらの間の通信を可能にする(例えば、電気信号をデジタル値に変換することによって、およびその逆によって)。通常、I/Oカードは、プロセスコントローラと、I/Oカードによって使用されるものと同じ通信プロトコル用に構成された1つ以上のフィールドデバイスの入力または出力との間の中間ノードとして機能する。具体的には、フィールドデバイスの入力および出力は、典型的には、アナログ通信またはディスクリート通信用に構成される。フィールドデバイスと通信するために、コントローラは通常、フィールドデバイスによって使用されるのと同じタイプの入力または出力用に構成されたI/Oカードを必要とする。すなわち、アナログ制御出力信号(例えば、4~20mAの信号)を受信するように構成されたフィールドデバイスの場合、コントローラには、適切なアナログ制御出力信号を送信するためのアナログ出力(AO)I/Oカードが必要であり、アナログ信号を介して測定値または他の情報を送信するように構成されたフィールドデバイスの場合、コントローラには典型的には、送信された情報を受信するためにアナログ入力(AI)カードが必要である。同様に、ディスクリート制御出力信号を受信するように構成されたフィールドデバイスの場合、コントローラには、適切なディスクリート制御出力信号を送信するためのディスクリート出力(DO)I/Oカードが必要であり、ディスクリート制御入力信号を介して情報を送信するように構成されたフィールドデバイスの場合、コントローラにはディスクリート入力(DI)I/Oカードが必要である。さらに、いくつかのI/Oカードは、抵抗温度検出器(RTD)(温度によってワイヤの抵抗を変化させる)または熱電対(TC)(温度に比例した電圧を生成する)用に構成されている。一般に、各I/Oカードは、複数のフィールドデバイス入力または出力に接続することができ、特定の入力または出力への各通信リンクは、「I/Oチャネル」(または、より一般的には「チャネル」)と称される。例えば、120チャネルのDO I/Oカードは、120個の個別のDO I/Oチャネルを介して120個の個別のディスクリートフィールドデバイス入力に通信可能に接続され得、コントローラが(DO I/Oカードを介して)ディスクリート制御出力信号を120個の個別のディスクリートフィールドデバイス入力に送信することを可能にする。
本明細書で利用される場合、フィールドデバイス、コントローラ、およびI/Oデバイスは、概して「プロセス制御デバイス」と称され、概してプロセス制御システムまたはプラントのフィールド環境内に位置付けされるか、配設されるか、または設置される。1つ以上のコントローラと、1つ以上のコントローラに通信可能に接続されたフィールドデバイスと、コントローラとフィールドデバイスとの間の通信を容易にする中間ノードと、によって形成されたネットワークは、「I/Oネットワーク」または「I/Oサブシステム」と称され得る。
I/Oネットワークからの情報は、データハイウェイまたは通信ネットワークを経由して、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、ハンドヘルドデバイス、データヒストリアン、レポートジェネレータ、中央集中型データベース、または、典型的にはプラントのより過酷なフィールド環境から離れた制御室もしくは他の場所、例えば、プロセスプラントのバックエンド環境内に置かれる他の中央集中型管理コンピューティングデバイスなどの1つ以上の他のハードウェアデバイスに利用可能であり得る。
プロセス制御ネットワークを経由して通信される情報により、オペレータまたは保守担当者は、ネットワークに接続された1つ以上のハードウェアデバイスを介して、プロセスに関して所望の機能を実行することが可能となる。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定を変更し、プロセスコントローラまたはスマートフィールドデバイス内の制御モジュールの動作を修正し、プロセスの現在の状態またはプロセスプラント内の特定のデバイスのステータスを視認し、フィールドデバイスとプロセスコントローラとによって生成されたアラームを視認し、要員のトレーニングまたはプロセス制御ソフトウェアのテストを目的としたプロセスの動作をシミュレーションし、プロセスプラント内の問題またはハードウェア障害を診断することなどを行えるようにするアプリケーションを実行し得る。ハードウェアデバイス、コントローラ、およびフィールドデバイスによって使用されるプロセス制御ネットワークまたはデータハイウェイは、有線通信路、無線通信路、または有線通信路と無線通信路との組み合わせを含み得る。
さらに、多くのプロセスでは、有害化学物質の流出や爆発など、プラント内に重大な危険をもたらし得る問題が発生したとき、プロセスプラント内の安全に関わる重大な問題を検出し、バルブの閉鎖、デバイスの電源遮断、プラント内の流れの切り替えなどを自動的に行うための安全システム(「安全計装システム」または「SIS」と呼ばれることもある)が設けられている。安全システムまたはSISが何をしなければならないか(機能要件)、およびどれだけの性能を発揮しなければならないか(安全性の整合性要件)は、ハザードおよび操作性の調査(HAZOP)、保護層の分析(LOPA)、リスクグラフなどから判定され得る。技術の例は、IEC61511およびIEC61508に記載されている。安全システムまたはSISの設計、建設、設置、および運用中に、安全担当者は通常、これらの要件が満たされていることを検証する。機能要件は、障害モード、影響、および重要度分析(FMECA)などの設計レビュー、および様々なタイプのテスト(例えば、工場の受け入れテスト、サイトの受け入れテスト、および定期的な機能テスト)によって検証され得る。
一般的に、安全システムまたはSISは、「特定の制御機能」を実行してフェイルセーフを実行したり、許容できないまたは危険な状態が発生したときにプロセスの安全な操作を維持したりするように設計されている。通常、安全システムは、安全システムの機能が損なわれないようにするために、他の制御システムから比較的独立している。安全システムは通常、基本プロセス制御システム(BPCS)と同じタイプの制御要素(センサ、論理ソルバまたはコントローラ、アクチュエータ、および他の制御機器を含む)で構成される。しかしながら、従来の実装では、安全システムの制御要素は、安全システムの適切な機能のみに専念している(例えば、制御システムによって制御されるプロセスの適切な制御ではない)。
一般に、「安全計装機能」または「SIF」は、特定の危険に関連するリスクを軽減することを目的とした安全システム内の特定の機器セットであり、安全システム制御ループまたは「安全ループ」と考えられ得るか、または称され得る。SIFは、(1)指定された条件に違反した場合に、工業プロセスを自動的に安全な状態にする、(2)指定された条件が許す場合にプロセスが安全な方法で前進することを可能にする(許容機能)、または(3)産業上の危険の影響を軽減するための措置を講じる、ことを目的としている。SIFは通常、軽微な機器の損傷から、エネルギーおよび/または材料の制御不能な壊滅的放出を伴うイベントまで様々なものがあり得る、以前に特定された安全、健康および環境(SH&E)イベントの可能性を排除することを目的としている、全体的なリスク削減戦略の一部として実装される。
通常、各SIFまたは安全ループには、IEC61508/61511で「リスクグラフ」、「リスクマトリックス」、またはLOPAとして定義されている方法のうちの1つを使用して、「安全整合性レベル」または「SIL」(1、2、3、または4)で定義される特定のレベルの保護が割り当てられる。SILの割り当ては、SIFによって保護されることを目的とした、特定のハザードに関連するリスクが、SIFの有益なリスク削減効果なしで計算されるリスク分析における実践である。次いで、その軽減されていないリスクが、許容可能なリスク目標と比較される。軽減されていないリスクが許容可能なリスクよりも高い場合、軽減されていないリスクと許容可能なリスクの違いは、SIFのリスク削減を通じて対処する必要がある。この必要なリスク削減量は、SIL目標と相関関係がある。本質的に、必要とされるリスク削減の各桁は、必要なSIL数のうちの1つの増加と相関している。典型的な例では、SIL-1は最大100倍のリスク削減を表し、SIL-2は、最大1000倍のリスク削減を表し、SIL-3は、最大10,000倍のリスク削減を表し、SIL-4は、最大100,000倍のリスク削減を表す。
国際電気標準会議(IEC)の規格IEC61508は、ハードウェアの安全性の整合性と体系的な安全性の整合性という2つの大きなカテゴリに分類される要件を使用してSILを定義している。デバイスまたはシステムは通常、特定のSILを達成するために、両方のカテゴリの要件を満たす必要がある。ハードウェアの安全性の整合性に関するSIL要件は、デバイスの確率的分析に基づく。特定のSILを達成するために、デバイスは通常、危険な障害の最大確率と最小の安全な障害の割合の目標を満たす。通常、「危険な障害」の概念は、問題のシステムに対して定義され、通常、システム開発全体で整合性が検証される要件制約の形式で定義される。実際に必要な目標は、需要の可能性、デバイスの複雑さ、および使用される冗長性のタイプによって異なる。
通信に関して、IEC61508規格は、安全通信が、所望のSILの1時間当たりの危険な障害の許容確率の1%を超えてはならないことを示している。SIL3アプリケーションでの使用を受け入れるには、安全通信による危険な障害の可能性が1時間当たり10~9未満である必要がある。つまり、通信を介して受信した特定の情報の整合性を検証する機能は、安全システムが一般的な安全基準に準拠した方法で情報に依存できるかどうかに大きな影響を与える可能性がある。別の言い方をすれば、情報の整合性を検証する機能がないと、通信に関連する予想エラー率が許容可能な閾値を超え、情報が安全システムで使用不能にする可能性がある。
前述のように、安全システムには通常、プロセスプラント内に配置された個別のバスまたは通信ラインを介して安全フィールドデバイスに接続されるプロセス制御コントローラとは別に、1つ以上の個別の論理ソルバまたはコントローラ(「安全コントローラ」と呼ばれることもある)がある。安全コントローラは、安全フィールドデバイスを使用して、重大なイベントに関連するプロセス状況、例えば、いくつかの安全スイッチまたは遮断バルブの位置、プロセス中のオーバーフローまたはアンダーフロー、重要な発電または制御デバイスの動作、障害検出デバイスの動作などを検出し、それによって、プロセスプラント内の異常な状態を表す「イベント」を検出する。イベントが検出されると、安全コントローラは、1つ以上のバルブを閉じる、1つ以上のデバイスを非アクティブ化またはオフにする、プラントのセクションから電源を切るなどのコマンドの送信など、イベントの悪影響を制限するための何らかのアクションを実行する。
この背景説明は、以下の詳細な説明への理解および認識を容易にする文脈を提供することに留意されたい。この背景技術のセクションに記載されている範囲での現在名前が挙げられている発明者らの研究、(ならびに別の方法で出願時に先行技術と見なされていない場合がある背景技術の記載の態様)は、明示的にも黙示的にも本開示に対する先行技術とは認められない。
説明された方法およびシステムは、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、プロセス制御デバイスがデバイス変数値を送信および受信することを可能にする。
一実施形態では、デバイス変数に対する値を含むメッセージを送信するための方法は、値の整合性を変数ごとに検証することができるように、メッセージを送信することを含む。この方法は、プロセスを制御するためのプロセス制御環境内の第1のプロセス制御デバイスによって、デバイス変数に対する検出値を検出すること、プロセス制御デバイスにより、検出値およびシードを入力として使用して、データ整合性計算を実行することにより、第1のデータ整合性チェックを計算すること、検出値および検出値に対する第1のデータ整合性チェックを含むように、メッセージを符号化すること、またはメッセージを送信すること、のうちのいずれか1つ以上を含み得る。メッセージを送信することは、(i)メッセージを受信することと、(ii)デバイス変数に対するメッセージ内の候補値に対する第2のデータ整合性チェックを計算することと、(iii)第2のプロセス制御デバイスにおいて、第1および第2のデータ整合性チェックが一致するかどうかに基づいて、候補値でデバイス変数にマップされたプロセス変数を更新する、または更新しないことと、(iv)プロセス変数に従って、プロセスのための制御スキームの一部として機能を実装することと、を行うように構成された第2のプロセス制御デバイスによって受信可能であるメッセージを送信することを含み得る。
一実施形態では、システムは、パラメータまたは変数レベルで(例えば、変数ごとに)認証することができるプロセス変数に対する値を含むメッセージを送信するように構成される。システムは、プロセスを制御するためのプロセス制御環境の入力/出力(I/O)ネットワーク内の1つ以上の他のプロセス制御デバイスに通信可能に結合されるように構成された第1のプロセス制御デバイスを含み得る。第1のプロセス制御デバイスは、(A)フィールドデバイスを1つ以上のコントローラに結合するように構成された通信インターフェース、または(B)通信インターフェースに通信可能に結合された回路のセット、のうちのいずれか1つ以上を含み得る。回路のセットは、デバイス変数に対する検出値を検出することと、検出値およびシードを入力として使用して、データ整合性計算を実行することにより、第1のデータ整合性チェックを計算することと、検出値および検出値に対する第1のデータ整合性チェックを含むように、メッセージを符号化することと、通信インターフェースを介して、メッセージを第2のプロセス制御デバイスに送信することと、を行うように構成され得る。第2のプロセス制御デバイスは、(i)メッセージを受信すること、(ii)デバイス変数に対するメッセージ内の候補値に対する第2のデータ整合性チェックを計算すること、(iii)第2のプロセス制御デバイスにおいて、第1および第2のデータ整合性チェックが一致するかどうかに基づいて、候補値でデバイス変数にマップされたプロセス変数を更新する、または更新しないこと、または(iv)プロセス変数に従って、プロセスのための制御スキームの一部として機能を実装すること、のうちのいずれか1つ以上を行うように構成され得る。
一実施形態では、プロセス制御デバイスからのメッセージに含まれるデバイス変数値の整合性を検証するための方法が実装され得る。この方法は、(1)プロセスを制御するためのプロセス制御環境内の第2のプロセス制御デバイスにおいて、第1のプロセス制御デバイスによって送信されたメッセージを受信することと、(2)メッセージを復号化して、メッセージ内で、(i)デバイス変数に対する候補値、および(ii)デバイス変数に対する第1のデータ整合性チェックを識別することと、(3)候補値およびシードを入力として使用して、第2のデータ整合性計算を実行することにより、第2のデータ整合性チェックを計算することと、(4)第2のデータ整合性チェックを第1のデータ整合性チェックと比較して、第2のデータ整合性チェックが第1のデータ整合性チェックと一致するかどうかを判定し、それによって、候補値が第1のデータ整合性チェックの計算に使用された検出値と一致するかどうかを判定することと、(5)デバイス変数にマップされたプロセス変数が前の値を維持するように、候補値を破棄することにより、第2のデータ整合性チェックが第1のデータ整合性チェックと一致しないという判定に応答することと、(6)第2のプロセス制御デバイスにおいて、候補値でプロセス変数を更新することにより、第2のデータ整合性チェックが第1のデータ整合性チェックと一致するという判定に応答することと、(7)プロセス変数に従って、プロセスのための制御スキームの一部として機能を実装することと、のうちのいずれか1つ以上を含み得る。
一実施形態では、プロセス制御デバイスからのメッセージに含まれるデバイス変数値の整合性を検証するためのシステムが実装され得る。システムは、プロセス制御環境において第1のプロセス制御デバイスに通信可能に結合されるように構成された第2のプロセス制御デバイスを含み得る。第2のプロセス制御デバイスは、(A)第2のプロセス制御デバイスを第1のプロセス制御デバイスに通信可能に結合するように構成された通信インターフェース、または(B)通信インターフェースに通信可能に結合された回路のセット、のうちのいずれか1つ以上を含み得る。回路のセットは、通信インターフェースを介して、第1のプロセス制御デバイスによって送信されたメッセージを受信することと、メッセージを復号化して、メッセージ内で、(i)デバイス変数に対する候補値、および(ii)デバイス変数に対する第1のデータ整合性チェックを識別することと、候補値およびシードを入力として使用して、第2のデータ整合性計算を実行することにより、第2のデータ整合性チェックを計算することと、第2のデータ整合性チェックを第1のデータ整合性チェックと比較して、第2のデータ整合性チェックが第1のデータ整合性チェックと一致するかどうかを判定し、それによって、候補値が第1のデータ整合性チェックの計算に使用された検出値と一致するかどうかを判定することと、デバイス変数にマップされたプロセス変数が前の値を維持するように、候補値を破棄することにより、第2のデータ整合性チェックが第1のデータ整合性チェックと一致しないという判定に応答することと、候補値でプロセス変数を更新することにより、第2のデータ整合性チェックが第1のデータ整合性チェックと一致するという判定に応答することと、プロセス変数に従って、プロセスのための制御スキームの一部として機能を実装することと、を行うように構成され得る。
説明された方法およびシステムは、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、プロセス制御デバイスがデバイス変数値を送信および受信することを可能にする。整合性の検証を容易にするために、メッセージ内の任意の所望の数の変数は、メッセージ内のデータ整合性チェックを行うことができる。データ整合性チェックがある受信値ごとに、受信デバイスは、受信値およびシード(送信デバイスと受信デバイスの両方に知られている)に基づいて独自のデータ整合性チェックを計算することができる。受信データと計算データの整合性チェックの間に不一致が存在する各プロセス変数値について、受信デバイスは、受信値が元の送信値と一致しないと見なすことができる(したがって、受信値を破棄することができる)。一方、受信データおよび計算データの整合性が特定のデバイス変数の一致をチェックする場合、受信デバイスは受信値の整合性を検証することができる(つまり、元の送信値と一致することを検証することができる)。その結果、受信デバイスは、受信値に自信を持って対応することができる(例えば、デバイス変数に対応するローカルまたはシステム全体のプロセス変数を更新したり、受信値に応じて制御を実装したりするなど)。比較すると、従来のシステムがデータの整合性の検証を可能にする範囲で、通常はパケットベースまたはメッセージベースで検証する。このようなシステムでは、メッセージ内のデータが変更されると、メッセージ全体が検証できなくなる。したがって、送信後に単一のデバイス変数値(または任意の他のデータ)が破損した場合、受信デバイスはメッセージ全体を破棄する必要がある(または、整合性を検証できない値で先に進む必要がある)。
本明細書で使用される場合、「メッセージ」という用語は、ノードによって(例えば、リンクを介して)送信または受信されるデータのセットによって表される通信の単位を指す。メッセージを表すデータのセットは、ペイロード(すなわち、配信されることを意図されたコンテンツ)およびプロトコルオーバーヘッドを含むことができる。オーバーヘッドは、プロトコルまたはペイロードに関連するルーティング情報およびメタデータを含むことができる(例えば、メッセージのプロトコルの識別、目的の受信者ノード、発信ノード、メッセージまたはペイロードのサイズ、の整合性をチェックするためのデータ整合性情報メッセージなど)。場合によっては、パケットまたはパケットのシーケンスは、メッセージと見なされることがある。
いずれの場合においても、様々な技術、システム、および方法が、図1~7を参照して以下で考察される。
I.例示的なプロセス制御環境
図1は、示された安全コントローラ、プロセスコントローラ、およびフィールドデバイスの各々が、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、変数値を含むメッセージを送信および受信するように(所望される場合)構成され得るプロセスプラント10を示す。変数ごとにデータの整合性を検証するためのこの改善は、安全システム(図1に示すものなど)にとって特に有益であり、そうでなければ安全システムの実装ではエラーが発生しやすい変数値を搬送する通信に依存できるようになる。
図1は、示された安全コントローラ、プロセスコントローラ、およびフィールドデバイスの各々が、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、変数値を含むメッセージを送信および受信するように(所望される場合)構成され得るプロセスプラント10を示す。変数ごとにデータの整合性を検証するためのこの改善は、安全システム(図1に示すものなど)にとって特に有益であり、そうでなければ安全システムの実装ではエラーが発生しやすい変数値を搬送する通信に依存できるようになる。
本明細書で使用される場合、「プロセス制御デバイス」は、プロセスプラント10で実装するように構成され、メッセージがプロセスプラント10内の1つ以上のデバイスによって受信され、復号化され、作用されるように、プロセスプラント10で実装される1つ以上のプロトコルに従ってプロセス変数を搬送するメッセージを送信または受信するように構成された任意のデバイスである。
図示のように、プロセスプラント10は、安全システム14(点線で示される)と統合されたプロセス制御システム12を含み、これは、一般に、プロセスプラント10のありそうな安全動作を最大化するためにプロセス制御システム12によって提供される制御を監視し、かつオーバーライドするための安全計装システム(SIS)として動作する。
A.例示的なプロセス制御システムおよび例示的な安全システムの例示的な構成要素
高レベルでは、プラント10は、制御されたプロセスが測定され制御されるエリアに通常配置、配置、または設置されるプロセス制御デバイス(例えば、フィールドデバイス、コントローラ、およびI/Oデバイス)を含むフィールド環境(例えば、図1に示されるノード18および20内の構成要素)、ならびにフィールド環境(例えば、オフィス環境、リモート環境など)から分離または除去された構成要素、例えば、図1に示される構成要素21および16などを含み得るバックエンド環境を含み得る。
高レベルでは、プラント10は、制御されたプロセスが測定され制御されるエリアに通常配置、配置、または設置されるプロセス制御デバイス(例えば、フィールドデバイス、コントローラ、およびI/Oデバイス)を含むフィールド環境(例えば、図1に示されるノード18および20内の構成要素)、ならびにフィールド環境(例えば、オフィス環境、リモート環境など)から分離または除去された構成要素、例えば、図1に示される構成要素21および16などを含み得るバックエンド環境を含み得る。
より具体的には、プロセスプラント10は、プロセス制御オペレータ、保守要員、構成エンジニアなどのようなプラント要員によってアクセス可能である1つ以上のホストワークステーション、コンピュータ、またはユーザインターフェイス16(任意のタイプのパーソナルコンピュータ、ワークステーションなどであってもよい)を含む。図1に示される例では、3つのユーザインターフェイス16は、2つの別個のプロセス制御/安全制御ノード18および20、ならびに構成データベース21に、共通の通信回線またはバス22を介して接続されているものとして示される。通信ネットワーク22は、任意の所望のバスベースまたは非バスベースのハードウェアを使用して、任意の所望のハードワイヤードまたはワイヤレスの通信構造を使用して、およびイーサネットプロトコルなどの任意の所望のまたは好適な通信プロトコルを使用して実装することができる。
一般的に言えば、本明細書で使用される際、別段の指定がない限り、「ネットワーク」という用語は、ノード間の遠距離通信を可能にするように接続されるノード(例えば、情報を送信する、受信するまたは転送することができるデバイスまたはシステム)およびリンクの集合を指す。実施形態に応じて(特に明記しない限り)、記載されたネットワークのそれぞれは、ノード間のトラフィックを方向付ける転送を担う専用のルータ、スイッチ、またはハブ、ならびに、任意選択的に、ネットワークの構成および管理を担う専用デバイスを含むことができる。記載されたネットワーク内のノードのうちのいくつかまたは全てはまた、他のネットワークデバイス間で送信されるトラフィックを方向付けるために、ルータとして機能するように適合され得る。記載されたネットワークのノードは、有線または無線の様式で相互接続され得、ネットワークデバイスは、異なるルーティングおよび転送能力を有し得る。
一般的に言えば、プロセスプラント10のノード18および20の各々は、異なるデバイスが取り付けられているバックプレーン上に提供され得るバス構造を介して一緒に接続されたプロセス制御システムデバイスと安全システムデバイスの両方を含む。ノード18は、プロセスコントローラ24(コントローラの冗長ペアであり得る)、ならびに1つ以上のプロセス制御システム入力/出力(I/O)デバイス28、30、および32を含むものとして図1に示されている。ノード20は、プロセスコントローラ26(コントローラの冗長ペアであり得る)、ならびに1つ以上のプロセス制御システムI/Oデバイス34および36を含むものとして示されている。プロセス制御システムI/Oデバイス28、30、32、34、および36のそれぞれは、図1にフィールドデバイス40および42として示されている、プロセス制御関連のフィールドデバイスのセットに通信可能に接続されている。プロセスコントローラ24および26、I/Oデバイス28~36、ならびにコントローラフィールドデバイス40および42は、一般に、図1のプロセス制御システム12を構成する。
フィールドデバイス40、42、60、および62のうちの1つ以上は、バルブなどのデバイスのアクチュエータであり得、それが結合されているコントローラから受信したコマンドに応答し得る(例えば、コントローラからのコマンドに応じてバルブを開閉するために、バルブを作動させるように構成されている)。同様に、フィールドデバイス40、42、60、および62のうちの1つ以上は、センサを介して測定値(例えば、流量、温度、圧力など)を検出し、測定値をコントローラに送信するように構成された送信機であり得る。フィールドデバイスの1つ以上は、フィールドデバイスが駆動または測定するように構成された一次プロセス変数以外の1つ以上の「二次」変数値を送信するように構成された「スマート」フィールドデバイスであり得る。例えば、HART実装では、一次変数は、4~20mA信号を介してフィールドデバイスによって送信または受信され得、1つ以上の二次変数は、4~20mA信号に重ね合わされたデジタル信号を介して送信または受信され得る。
一般的に言えば、「フィールドデバイス変数」は、検出(例えば、センサ測定または計算を介して)または設定(例えば、コントローラから受信したメッセージに応答して)するように構成されたフィールドデバイス内部の変数である。典型的な実装形態では、フィールドデバイス変数がその一部である関連するプロセス制御システムまたは安全システムは、フィールドデバイス変数にマッピングされた1つ以上のプロセス変数を含む(例えば、構成システム80を介して)。より広義には、「デバイス変数」が特定のデバイスに関して考察される場合、これは一般に、特定のデバイスによって検出、計算、設定、更新などされる変数を指す。
ノード18は、1つ以上の安全システム論理ソルバ50、52を含み、一方、ノード20は、安全システム論理ソルバ54および56を含む。論理ソルバ50~56の各々は、メモリに記憶された安全論理モジュール58を実行し、安全システムフィールドデバイス60および62に制御信号を提供し、かつ/または安全システムフィールドデバイス60および62から信号を受信するように通信接続されているプロセッサ57を有するI/Oデバイスである。
一般的に言えば、本明細書で使用される「メモリ」または「メモリデバイス」という句は、コンピュータ可読媒体または媒体(「CRM」)を含むシステムまたはデバイスを指す。「CRM」は、情報(例えば、データ、コンピュータ可読命令、プログラムモジュール、アプリケーション、ルーチンなど)を配置、保持、または検索するための関連するコンピューティングシステムによってアクセス可能な媒体(複数可)を指す。「CRM」は、本質的に非一時的である媒体を意味し、電波などの無形な一時的信号は指さないことに留意されたい。記載されているメモリのCRMは、関連するコンピューティングシステム内に含まれるか、または関連するコンピューティングシステムと通信する、任意の技術、デバイス、またはデバイスグループに実装され得る。記載されているメモリのCRMは、揮発性または不揮発性の媒体、およびリムーバブルまたは非リムーバブルの媒体を含むことができる。
いずれにしても、ノード18および20の各々は、リング型バス接続74を介して互いに通信可能に結合されている少なくとも1つのメッセージ伝播デバイス(MPD)70または72を含む。安全システム論理ソルバ50~56、安全システムフィールドデバイス60および62、MPD70および72、ならびにバス74は、一般に、図1の安全システム14を構成する。
いくつかの実施形態では、安全システムフィールドデバイス60および62は、典型的なプロセス制御操作ではなく、安全システムの実装のために特別に設計されたフィールドデバイスであり得る。一方、いくつかの実施形態では、安全システムフィールドデバイス40および60は、典型的なプロセス制御システム(例えば、システム12)で実施することができるフィールドデバイスであり得、例えば、プロセス制御システム12と安全システム14の両方におけるフィールドデバイスとして同時に機能し得る。しかしながら、そのような実施形態では、フィールドデバイスは、安全システムでの実装に通常必要とされる高度な基準を満たす必要がある可能性が高い(例えば、デバイスによって送信および受信されるデータの検証可能な整合性に対する要求の高まりに関して)。結果として、本明細書に開示される変数ごとのデータ整合性検証技術は、安全システム14などの安全システムにおいて特に有用であり得る。
プロセスコントローラ24および26は、ほんの一例として、Emerson Process Managementによって販売されているDeltaV(商標)コントローラであり得、任意の他の所望のタイプのプロセスコントローラは、モジュールI/Oデバイス28、30および32(コントローラ24用)、I/Oデバイス34および36(コントローラ26用)、およびフィールドデバイス40および42を使用するプロセス制御機能を提供するようにプログラムされる(一般に制御と称されるものを使用する)。特に、コントローラ24および26のそれぞれは、そこに記憶されているか、そうでなければそれに関連付けられた1つ以上のプロセス制御ルーチンを実装するか、または監視し、フィールドデバイス40および42ならびにワークステーション14と通信して、任意の所望の方法でプロセス10またはプロセス10の一部を制御する。フィールドデバイス40および42は、センサ、バルブ、送信機、ポジショナなどの任意の所望のタイプのフィールドデバイスとすることができ、例えば、ほんの少し例を挙げれば、(フィールドデバイス40について示されているような)HARTもしくは4~20maプロトコル、(フィールドデバイス42について示されているような)Foundation Fieldbusプロトコルなどの任意のフィールドバスプロトコル、またはCAN、Profibus、ASインターフェースプロトコルを含む、任意の所望のオープン、専有、または他の通信またはプログラミングプロトコルに準拠することができる。同様に、I/Oデバイス28~36は、任意の適切な通信プロトコルを使用する任意の既知のタイプのプロセス制御I/Oデバイスであり得る。一般的に言えば、プロセスコントローラは、制御ルーチン(プロセスを制御するためのより大きな制御戦略の一部)を実装して、1つ以上のコントローラ出力値(つまり、コントローラによって送信されるコマンド)を判定し、1つ以上のプロセス入力(すなわち、コントローラのコマンドに応答する制御バルブの位置などの操作変数)を駆動して、コントローラ入力としてコントローラにおいて受信された1つ以上の測定されたプロセス入力(例えば、測定された温度、流量、圧力など)に基づいて、プロセス出力(つまり、温度、流量などの制御変数)を所望の値(つまり、設定点)にすることによって、制御されるプロセスの制御を実施する。
図1の安全論理ソルバ50~56は、プロセッサ57と、フィールドデバイス60および62を使用して安全システム14に関連する制御機能を提供するためにプロセッサ57上で実行されるように適合された安全論理モジュールまたはルーチン58を記憶するメモリとを含む任意の所望のタイプの安全システム制御デバイスであり得る。制御されたプロセスの安全な制御を実装するために論理ソルバによって実装される論理は、「安全スキーム」または「安全システムスキーム」と称され得る。安全スキームは、1つ以上のプロセス変数値(例えば、センサ測定値、診断指標など)の評価および安全スキームの論理に基づいて検出された1つ以上の安全でない状態に基づいて、フィールドデバイス40、42、60、または62の1つ以上を安全な状態に遷移させる(例えば、関連するバルブを作動させて安全な状態になるように駆動させる)ように命令することを伴い得る。安全な状態の性質は、一般に、問題のプロセスとフィールドデバイスの特定の性質に依存する。例えば、タンクがオーバーフローするリスクがある場合、論理ソルバは、バルブを閉じることによって安全な状態になるように入口バルブを駆動し得る(これにより、より多くの液体がタンクに入るのを防ぐ)。対照的に、論理ソルバは、出口バルブを開くことによって(それによって、タンクを排水することによって)安全な状態になるように出口バルブを駆動し得る。言い換えれば、この特定の例では、入口バルブの安全な状態は、0%開いている場合があり、出口バルブの安全な状態は、100%開いている場合がある。
当然のことながら、安全フィールドデバイス60および62は、上記のものなどの任意の既知のまたは所望の通信プロトコルに適合するか、または使用する任意の所望のタイプのフィールドデバイスであり得る。特に、フィールドデバイス60および62は、別個の専用の安全関連制御システムによって従来制御されるタイプの安全関連フィールドデバイスであり得る。図1に示されるプロセスプラント10では、安全フィールドデバイス60は、HARTまたは4~20maプロトコルなどの専用またはポイントツーポイント通信プロトコルを使用するものとして示され、一方、安全フィールドデバイス62は、Fieldbusプロトコルなどのバス通信プロトコルを使用するものとして示されている。しかしながら、前述のように、一実施形態では、安全フィールドデバイス60および62は、プロセス制御システム12および安全システム14の両方で展開および使用することができる典型的なフィールドデバイスであり得る。
共通のバックプレーン76(コントローラ24、26、I/Oデバイス28~36、安全論理ソルバ50~56、ならびにMPD70および72を通る点線で示される)は、コントローラ24および26を、プロセス制御I/Oカード28、30および32または34および36に、ならびに安全論理ソルバ52および54または56および58に、ならびにMPD70または72に接続するために、ノード18および20の各々において使用される。コントローラ24および26はまた、バス22に通信可能に結合され、バス22のバスアービトレータとして動作して、I/Oデバイス28~36、論理ソルバ52~56およびMPD70および72の各々が、バス22を介したワークステーション16のいずれかと通信することを可能にする。
理解されるように、ワークステーション16の各々は、プロセッサ77と、プロセッサ78上で実行されるように適合された1つ以上の構成および/または表示アプリケーションを記憶するメモリ78とを含む。
構成アプリケーション80および表示アプリケーション82は、ワークステーション14のうちの1つに記憶されているものとして図1の分解図に示されている。しかしながら、所望される場合、これらのアプリケーションは、ワークステーション14のうちの異なるものの内で、またはプロセスプラント10に関連付けられた他のコンピュータ内で記憶および実行され得る。一般的に言えば、構成アプリケーション80は、構成情報を構成エンジニアに提供し、構成エンジニアがプロセスプラント10の一部または全部の要素を構成し、その構成を構成データベース21に記憶することを可能にする。構成アプリケーション80によって実行される構成活動の一部として、構成エンジニアは、プロセスコントローラ24および26のための制御ルーチンまたは制御モジュールを作成し得、安全論理ソルバ50~56のいずれかおよび全てのための安全論理モジュールを作成し得、これらの異なる制御および安全モジュールを、バス22およびコントローラ24および26を介して、プロセスコントローラ24および26ならびに安全論理ソルバ50~56のうちの適切なものにダウンロードし得る。同様に、構成アプリケーション80を使用して、他のプログラムおよび論理を作成し、I/Oデバイス28~36、フィールドデバイス40、42、60および62などのいずれかにダウンロードすることができる。
構成データベース80は、プロセスプラントフロアまたはフィールド環境において実装されるように計画されているか、または望まれている様々なデバイスまたは構成要素、およびそれらの相互接続を具体的に識別または対処するデータおよび他の情報を記憶する構成データベースを含むか、またはそうでなければそれにアクセスすることができる。一例として、構成データベースは、フィールド環境にある構成要素のいくつかの論理的な識別子を記憶し、コントローラおよび他のデバイスが、論理的な識別子を介して構成要素およびに関連付けられた信号を参照できるようにする。例えば、所与のフィールドデバイスについて、構成データベースは、論理識別子を特定のハードウェアアドレスまたはI/Oチャネルにマッピングまたはバインドする情報を記憶することができる。ハードウェアアドレスは、特定のコントローラ、特定のコントローラに接続された特定のI/Oカード、または特定のI/Oカードをフィールドデバイスに接続するI/Oチャネルのための特定のアドレスを特定し得る。場合によっては、このマッピングまたはバインディングは、コントローラ、ユーザインターフェースデバイス、オペレータワークステーション、または任意の他の所望のデバイス(例えば、論理識別子を解く必要がある任意のデバイス)に記憶され得る。
論理識別子がハードウェアアドレスまたはI/Oチャネルに結合された後、識別子は、「割り当てられた」と見なされる。場合によっては、システム10は、「割り当てられていない」論理識別子を含み、これらは、ソフトウェア要素(例えば、制御ルーチンまたは機能ブロック)が参照するが、結合を有していない識別子である。すなわち、論理識別子は、システム10および構成データベースが、タグにバインドされていないハードウェアアドレスまたはI/Oチャネルを有していないときに「割り当てられていない」と見なされる。したがって、割り当てられていない論理識別子が制御ルーチンによって参照されると、プラント10内の信号によって搬送される値が読み出されないことになり、コマンドがプラント10内のフィールドデバイスを介して送信されないことになる。
そのような論理識別子の例としては、各々が、特定の計器、コントローラ、バルブ、または他の物理フィールドデバイス(例えば、フィールドデバイス60A)を表す、デバイスタグ(DT)と、各々が、特定のデバイスによって受信または生成され、典型的にはフィールドデバイスによって利用される特定のパラメータ(例えば、フィールドデバイス60Aがコントローラ52から受信したコマンド、またはフィールドデバイス60Aがコントローラ52に送信した測定値)に対応する特定の信号を表すデバイスシグナルタグ(DST)とがある。いくつかのデバイスでは、DSTは、デバイスのDTと、そのデバイスによって受信または生成された特定の信号の識別子、例えば、制御モジュールによって参照される特定のパラメータの識別子との組み合わせを含む。レガシーデバイスまたはダムデバイスのようないくつかのデバイスでは、DTは、物理デバイスとデバイスによって生成された信号の両方を表す。一般的に言えば、デバイスの論理識別子は、デバイスを一意に識別するために、フィールド環境およびバックエンド環境の両方において、プロセスプラント10によって使用される。DTおよびDSTは、「システムタグ」または「システム識別子」と称され得る。「システムタグ」で表される変数は、「システム変数」と称され得る。
場合によっては、1つ以上のスマートフィールドデバイス(例えば、フィールドデバイス40、42、60、または62のうちの1つ以上)も、スマートフィールドデバイス22に固有の論理識別子を格納し得る。これらの論理識別子は、フィールドデバイスと、その関連信号を識別するためにプラント10が利用するシステムタグとは、異なる場合があり、「ソース識別子」、「ソースタグ」と称され得る。ソースタグは、実装に応じて、前述の構成データベースに記憶される場合とそうでない場合がある。
一般的に言えば、本明細書で考察される「フィールドデバイス変数」は、記載されたフィールドデバイスに局所的な変数である。一例として、スマートフィールドデバイスは、スマートフィールドデバイスにローカルなフィールドデバイス変数を一意に識別するローカル「ソースタグ」を有し得る。所望される場合、スマートフィールドデバイスは、フィールドデバイス変数値を対応するコントローラに送信するように構成され得、次いで、受信値を、関心のあるソースタグにマッピングすることを意図したシステムタグにマッピングし得る。場合によっては、制御システム10は、フィールドデバイスの1つ以上のソースタグがシステムタグにマッピングされないように構成され得る(したがって、表された変数は、関連するプロセス制御システムまたは安全システムに統合されず、考慮されない場合がある)。いくつかのソースタグは、それが表す変数がプロセス制御システムまたは安全システムの運用目標または安全目標にほとんど影響を与えない可能性があるため、プロセス制御システムまたは安全システムによって無視される場合がある。
表示アプリケーション82は、プロセス制御システム12および安全システム14の状態に関する情報を含む、1つ以上の表示を、必要に応じて、別々のビューまたは同じビューのいずれかで、プロセス制御オペレータ、安全オペレータなどのユーザに提供するために使用することができる。例えば、表示アプリケーション82は、アラームの指示を受信してオペレータに表示するアラーム表示アプリケーションであり得る。このようなアラームディスプレイは、プロセス制御システム12と安全システム14の両方からのアラームを受信し、プロセス制御システム12と安全システム14の両方からのアラームが、アラームディスプレイアプリケーションを実行するオペレータワークステーション14に送信され、異なるデバイスからのアラームとして認識されるので、統合されたアラームディスプレイでアラームを受信し、表示することができる。同様に、オペレータは、プロセス制御アラームと同じ方法で、アラームバナーに表示される安全アラームを処理できる。例えば、オペレータまたはユーザは、アラーム表示を使用して安全アラームを確認し、安全アラームをオフにすることができ、これは、バス22およびバックプレーン76を介した通信を使用して、安全システム14内の適切なプロセスコントローラ24、26にメッセージを送信し、安全アラームに関して対応するアクションを実行する。同様の方法で、他の表示アプリケーションは、システム12および14のうちの一方からの任意のデータが、プロセス制御システムのために伝統的に提供されるディスプレイまたはビューに統合することができるように、これらのシステムが同じタイプおよび種類のパラメータ、セキュリティおよび参照を使用するので、プロセス制御システム12と安全システム14の両方からの情報またはデータを表示し得る。
いずれの場合においても、アプリケーション80および82は、各プロセスコントローラ24および26に個別の構成および他の信号を送信し得、また、各安全システム論理ソルバ50~56からデータを受信し得る。これらの信号は、プロセスフィールドデバイス40および42の動作パラメータの制御に関連付けられたプロセスレベルのメッセージを含み得、安全関連フィールドデバイス60および62の動作パラメータの制御に関連付けられた安全レベルのメッセージを含み得る。安全論理ソルバ50~56は、プロセスレベルのメッセージと安全レベルのメッセージの両方を認識するようにプログラムされ得るが、安全論理ソルバ50~56は、2つのタイプのメッセージを区別することができ、プロセスレベルの構成信号によってプログラムされることも、影響を受けることもできない。一例では、プロセス制御システムデバイスに送信されるプログラミングメッセージは、安全システムデバイスによって認識され、それらの信号が安全システムデバイスをプログラムするために使用されるのを妨げる一定のフィールドまたはアドレスを含み得る。
所望される場合、安全論理ソルバ50~56は、プロセス制御I/Oカード28~36に使用されるハードウェアおよびソフトウェア設計と比較して、同じまたは異なるハードウェアまたはソフトウェア設計を採用し得る。しかしながら、プロセス制御システム12内のデバイスおよび安全システム14内のデバイスに代替技術を使用することで、共通の原因となるハードウェアまたはソフトウェアの故障を最小化または排除し得る。
さらに、論理ソルバ50~56を含む安全システムデバイスは、それによって実装される安全関連機能に無許可の変更が加えられる可能性を低減または排除するために、任意の所望の分離およびセキュリティ技術を採用し得る。例えば、安全論理ソルバ50~56および構成アプリケーション80は、論理ソルバ50~56内の安全モジュールに変更を加えるために、特定の権限レベルを持つ人または特定のワークステーションにいる人を必要とする場合があり、この権限レベルまたは場所は、コントローラ24および26ならびにI/Oデバイス28~36によって実行されるプロセス制御機能に変更を加えるために必要な権限またはアクセスレベルまたは場所とは異なる。この場合、安全ソフトウェア内で指定された、または安全システム14の変更を許可されたワークステーションに配置された人だけが、安全関連機能を変更する権限を有し、これにより、安全システム14の動作に対する破損の可能性が最小限に抑えられる。理解されるように、そのようなセキュリティを実装するために、安全論理ソルバ50~56内のプロセッサは、受信メッセージを適切な形式およびセキュリティについて評価し、安全論理ソルバ50~56内で実行される安全レベル制御モジュール58に加えられた変更に対してゲートキーパーとして動作する。
さらに、所望される場合、安全関連機能が論理ソルバ50~56内で有効化されると、適切なアクセス権なしにオペレータワークステーション14を介して安全機能へのステータスの変更を行うことができず、これにより、プロセス制御システム12に関連付けられた通信構造が、安全システム14の初期化を提供するために使用され、安全システム14の動作のランタイムレポートを提供するために使用されることを可能にするが、プロセス制御システム12への変更が安全システム14の動作に影響を与えることができないという意味で、プロセス制御システム12を安全システム14から依然として隔離することができる。
理解されるように、ノード18および20の各々でバックプレーン76を使用することにより、安全論理ソルバ50および52と安全論理ソルバ54および56とが互いにローカルに通信して、これらのデバイスの各々が実装する安全機能を調整したり、データを互いに通信したり、または他の統合機能を実行したりすることができる。一方、MPD70および72は、プラント10の非常に異なる場所に配設された安全システム14の部分が依然として互いに通信して、プロセスプラント10の異なるノードで調整された安全動作を提供できるように動作する。特に、バス74と組み合わせたMPD70および72は、プロセスプラント10の異なるノード18および20に関連付けられた安全論理ソルバが通信可能に一緒にカスケードされ、割り当てられた優先度に応じてプロセスプラント10内の安全関連機能のカスケードを可能にすることを可能にする。あるいは、プロセスプラント10内の異なる場所にある2つ以上の安全関連機能は、プラント10の別個の領域またはノード内の個々の安全フィールドデバイスへの専用ラインを実行する必要なしに、インターロックされるか、または相互接続され得る。言い換えれば、MPD70および72ならびにバス74の使用により、構成エンジニアは、プロセスプラント10全体に自然に分散されているが、それらの異なる構成要素が通信可能に相互接続されて、異種の安全関連ハードウェアが必要に応じて相互に通信できる安全システム14を設計し、構成することができる。この機能はまた、必要に応じて、または新しいプロセス制御ノードがプロセスプラント10に追加されるときに、追加の安全論理ソルバを安全システム14に追加することを可能にするという点で、安全システム14のスケーラビリティを提供する。
B.フィールドデバイスおよびコントローラの例
図2は、図1に示すI/Oネットワーク1である場合、リンク199を介して通信可能に結合されたフィールドデバイス60Aおよびコントローラ52(図1にも示す)の例示的な構成要素を示すブロック図であり、これらの各々は、受信デバイスが受信値の整合性を変数ごとに検証することができるような方法で、変数値を含むメッセージを送信および受信するように構成され得る。
図2は、図1に示すI/Oネットワーク1である場合、リンク199を介して通信可能に結合されたフィールドデバイス60Aおよびコントローラ52(図1にも示す)の例示的な構成要素を示すブロック図であり、これらの各々は、受信デバイスが受信値の整合性を変数ごとに検証することができるような方法で、変数値を含むメッセージを送信および受信するように構成され得る。
特に明記しない限り、「通信リンク」または「リンク」は、2つ以上のノードを接続する経路または媒体である。リンクは、物理リンクまたは論理リンクとすることができる。物理リンクは、情報が転送されるインターフェースおよび/または媒体であり、本質的に有線であってもよくまたは無線であってもよい。物理リンクの例には、(i)電気エネルギーを伝送するための導体または光を伝送するための光ファイバ接続を備えたケーブルなどの有線リンク、および(ii)電磁波の1つ以上の特性に加えられた変更を介して情報を伝える無線電磁信号などの無線リンクが含まれる。2つ以上のノード間の論理リンクは、基礎となる物理リンクまたは2つ以上のノードを接続する中間ノードの抽象概念を表す。例えば、2つ以上のノードは、論理リンクを介して論理的に連結され得る。論理リンクは、物理リンクおよび中間ノード(例えば、ルータ、スイッチ、または他のネットワーク機器)の任意の組み合わせを介して確立され得る。
示されるように、フィールドデバイス60Aは、回路のセット102、リンク199を介してフィールドデバイス60Aをコントローラ52に結合するための通信インターフェース104、アクチュエータ106(例えば、バルブを作動させるためのもの)、および/またはセンサ(例えば、圧力、流量、タンクレベル、温度などのプロセス変数値を検出または測定するためのもの)を含む。回路のセット102は、メモリ111に結合されたプロセッサ113を含む。メモリ111は、プロセッサ113によって実行されると、フィールドデバイスに本明細書で説明される機能の1つ以上(例えば、図6および7を参照して説明されるもの)を実行させる論理または命令121を含み得る。具体的には、論理121は、データ整合性チェックを計算するためのデータ整合性式132およびアクチュエータ/センサ論理134を含み得る。メモリ111はまた、シード123およびデバイス変数125(フィールドデバイス60Aによって、センサ108を介して、またはプロセッサ113による計算を介して、検出される任意の好適な変数であり得る)を含み得る。
さらに、コントローラ52は、回路のセット152と、(i)リンク199を介してコントローラ52をフィールドデバイス60Aに結合し、(ii)コントローラ52を通信ネットワーク22に結合するための通信インターフェース154とを含む。回路のセット152は、プロセッサ163およびメモリ161を含み、これは、プロセッサ163によって実行されると、コントローラ52に本明細書で説明される機能の1つ以上(例えば、図6および7を参照して説明されるもの)を実行させる論理または命令171を含む。メモリ152は、フィールドデバイス60Aによって使用される同じデータ整合性式132および同じシード123を含み、コントローラ52がフィールドデバイス60Aから受信した値のデータ整合性チェックを計算することを可能にする。コントローラ52は、デバイス変数125に対応するか、またはそれにマップするプロセス変数175を含む。
動作中、フィールドデバイス60Aは、アクチュエータ106(例えば、コントローラ52からのコマンドに応答してバルブを作動させる)および/またはセンサ108(例えば、センサ108を介してプロセス変数値を検出し、その値をコントローラ52に送信する)に関して制御機能を実行するために論理134を実装する。さらに、フィールドデバイス60Aは、データ整合性式132を実装して、変数125の値およびシード123を式132に入力することによって、デバイス変数125のデータ整合性チェックを生成することができる。シード123は、フィールドデバイス160およびメッセージの意図された受信者(例えば、コントローラ52)に知られている任意の比較的一意の情報であり得る。場合によっては、データ整合性チェックは、変数125が更新されるたびに更新されるシーケンスパラメータ、変数125のステータスを示す変数ステータスパラメータなどの追加の入力を使用して計算され得る。
メッセージを介してデバイス変数125の値をコントローラ52に送信するとき、フィールドデバイス60Aは、コントローラ52が受信値の整合性を検証することができるようにするための計算されたデータ整合性チェックを含み得る。一般的に言えば、コントローラ52(または任意の所望の受信者)は、既知のシード123(コントローラ52にも既知)および受信されたメッセージに含まれる値に基づいてデータ整合性チェックを再計算するように構成される。式132は、入力のいずれかを変更すると、異なるデータ整合性チェックが行われるように構成されている。したがって、変数125(または使用されている場合はシーケンスパラメータまたは変数ステータスパラメータ)の値が送信中に何らかの形で変更された場合、コントローラ52によって計算されたデータ整合性チェックはメッセージで受信されたものとは異なり、したがって、入力のうちの1つ(例えば、変数125の値)が送信されたものと異なることがわかる。
一般に、コントローラ52は、受信値の整合性を検証することに応答して、フィールドデバイス60Aから受信されたデバイス変数125の値でプロセス変数175を更新する。コントローラ52によって計算されたデータ整合性チェックが受信データ整合性チェックと一致しない場合、コントローラ52は、プロセス変数175を受信値で更新するのではなく、受信値を破棄する。実施形態に応じて、プロセス変数175は、ローカル変数またはシステム変数であり得る。さらに、コントローラ52は、安全スキームの一部として機能を実装するための制御論理182を含み得る(例えば、危険な状態の検出に応答して1つ以上のフィールドデバイスを安全な状態にする)。特定の構成に応じて、制御論理182は、プロセス変数175の値を考慮し得る(したがって、デバイス変数125に依存し得る)。変数ごとのデータ整合性チェックに関する追加の詳細は、図6および7に示される方法を参照して以下に説明される。
所望される場合、フィールドデバイス60Aは、所望の数の変数値のうちのいずれに対してもデータ整合性チェックを計算および送信し得、所望される場合、単一の変数値について複数のデータ整合性チェックを送信し得る(例えば、各々が異なる受信者を対象とする場合)。さらに、任意の好適なプロセス制御デバイスは、式132などのデータ整合性式およびシード123などのシードを実装することによってデータ整合性の変数ごとの検証を可能にするメッセージで変数値を送信するように構成され得る。
II.例示的なプロトコル
図3は、本明細書に記載のプロセス制御デバイスによって、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、プロセス制御デバイスがデバイス変数値を送信および受信するために使用され得る例示的なプロトコルスタック300の例示的な層を示す。
図3は、本明細書に記載のプロセス制御デバイスによって、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、プロセス制御デバイスがデバイス変数値を送信および受信するために使用され得る例示的なプロトコルスタック300の例示的な層を示す。
プロトコルスタック300は、物理層303、データリンク層305、ネットワーク層307、トランスポート層309、およびアプリケーション層311の5つの層を含む。記載されているシステムによって使用されるプロトコルは、記載されているものに対する追加のまたは代替の層を含み得る。プロトコル300の各層303~311は、ネットワーク上のノードがメッセージの内容を適切に理解するためにプロトコルデータユニット(PDU)またはメッセージが従わなければならない一連の規則を有し得る。各層のPDUには、ペイロードとメタデータ(例えば、ヘッダ、フッタ、プリアンブルなどに含まれる)が含まれる場合がある。一般的に言えば、ペイロードはPDUのコンテンツまたはデータであり、メタデータは「データに関するデータ」である(例えば、フォーマット、シーケンス、タイミング、宛先アドレスおよび送信元アドレス、通信ハンドシェイクなど)。
一般的に言えば、各層303~311の各々は、インターネットプロトコルスイートに見られる任意の好適なプロトコル(例えば、TCP、UDP、IPなど)、または、HART、HART-IP、WirelessHART、Ethernet/IP、Fieldbus、ControlNetなどの典型的なプロセス制御通信プロトコルに見られる任意の好適なプロトコルまたは標準であってもよい。一実施形態では、本明細書で説明されるメッセージは、アプリケーション層311のHARTプロトコルに準拠しており、標準的なHARTコマンド、レスポンス、およびフォーマットが使用されている。一実施形態では、説明されたメッセージは、産業オートメーション用の機械間通信プロトコルであるOpen Platform Communications United Architecture(「OPC UA」)など、他のプロトコルに準拠している場合がある。ALPDUは、任意の好適なNLDUを介して送信され得る。
III.例示的なメッセージペイロード
図4および5は、例示的なメッセージペイロード400および500を示し、各々は、図3に示されるメッセージペイロード352の例を表し、各々は、受信デバイスが含まれる値の整合性を変数ごとに検証することができるように、対応するデータ整合性チェックを有する1つ以上の変数値を含む。図1に示されるプロセス制御デバイスのうちのいずれか1つ以上は、ペイロード400および500と同様の方法でフォーマットされたペイロードを含むメッセージを送信または受信するように構成され得る。
図4および5は、例示的なメッセージペイロード400および500を示し、各々は、図3に示されるメッセージペイロード352の例を表し、各々は、受信デバイスが含まれる値の整合性を変数ごとに検証することができるように、対応するデータ整合性チェックを有する1つ以上の変数値を含む。図1に示されるプロセス制御デバイスのうちのいずれか1つ以上は、ペイロード400および500と同様の方法でフォーマットされたペイロードを含むメッセージを送信または受信するように構成され得る。
ペイロード400は、メッセージ部分402~410を含む。一般的に言えば、変数部分402~406は、各々特定の変数に固有の「変数部分」であり、その特定の変数に対する値を搬送するように構成される。例えば、変数部分402は、デバイス変数値411(例えば、図2に示されるデバイス変数125の値)を含む。所望される場合、部分402は、変数に関連する他のデータを含み得る。
整合性部分408および410は、変数部分において搬送される値に対応するデータ整合性チェックを含む。部分408および410の各々は、データ整合性チェックが対応する変数部分を示すパラメータを含み得る。例えば、整合性部分408は、データ整合性チェック425と、データ整合性チェック421が対応するメッセージ部分を識別するパラメータ423とを含む。例えば、図2を参照すると、データ整合性チェック425は、値411およびシード123を入力として使用して、データ整合性式132を介して計算された値であり得る。部分パラメータ423は、部分408のチェック421が部分402(したがって値411)に対応することを示す値「402」(または部分402または値411を識別する任意の他の好適なID)を含み得る。
同様に、整合性部分410は、データ整合性チェック(図示せず)およびそれが対応する部分を示すパラメータを含み得る。例えば、整合性部分410は、変数部分406または変数部分402に対応し得る(例えば、値411が2つの異なる受信者によって受信されることを意図されるとき、部分408/410の各々は、異なる受信者に対応する。
図5に移ると、部分502~510は、図4に示される部分402~410に対応する。同様に、デバイス変数値514は、値411に対応し、データ整合性チェック525は、データ整合性チェック425に対応し、部分パラメータ523は、部分パラメータ423に対応する。
しかしながら、部分502~510は、ペイロード400の部分402~410に必ずしも含まれない追加のデータを含む。例えば、変数部分502は、(i)問題の変数に固有の値を含む(例えば、図2に示される変数125を一意に識別する)デバイス変数コード511、(ii)変数タイプ(例えば、プロセス変数、整合性変数など)に固有の値を含むデバイス変数分類512、(iii)問題の変数に対応するユニット(例えば、華氏、摂氏、ケルビンなど)に固有の値を含むデバイス変数ユニットコード513、(iv)値514のステータスを示す値を含むデバイス変数ステータス515(例えば、良好または信頼できる、不良または信頼できない、不明など)を含む。
さらに、整合性部分508は、データ整合性チェック525に関連するデータを含み得る。例えば、それは、(i)問題のデータ整合性チェックに固有の値を含むデバイス変数コード521、(ii)変数タイプに固有の値を含むデバイス変数分類522(例えば、問題の変数がデータ整合性チェックであることを示す)、(iii)データ整合性チェック525が対応するメッセージ部分を識別する部分523、(iv)値514が更新されるたびに増分されるシーケンスパラメータ524、(v)部分502(すなわち、関連する部分)および部分508に含まれる構成データの、CRCなどのデータ整合性チェック526、および(vi)データ整合性チェック525のステータスまたは信頼性を示すデバイス変数ステータスを含み得る。構成データのデータ整合性チェック526は、チェック525が意図された情報に対するものであることを保証することができる。例えば、構成がDeg CからDeg Fに変更された場合、または熱電対のタイプが変更された場合について考える。実施形態に応じて、この変化は、値514のチェック525によって捕捉されない場合がある。したがって、チェック526は、例えば、変数値411/514に関連付けられたメタデータへの変更をキャプチャすることができる。
IV.変数レベルでデータ整合性チェックを可能にするメッセージを送信するための例示的な方法
図6は、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、変数値を含むメッセージを送信するための例示的な方法を示す。方法600は、全体的または部分的に、図1および2に示されるものなどのいずれか1つ以上の好適なプロセス制御デバイス(例えば、コントローラ24、26、50、52、54、もしくは56、またはフィールドデバイス40、42、60、もしくは62)によって実施され得、方法600を実行するように恒久的または半恒久的に構成された回路のセット(例えば、フィールドデバイス60Aの)を介して実装され得る。一実施形態では、方法600は、メモリに格納され、方法600の機能を実装するためにプロセッサによって実行可能である一組の命令またはルーチンによって具体化され得る。以下の考察は図1および2に示される構造を参照し得るが、方法600は、本明細書に記載されているものなど、プロセス変数値および変数ごとのデータ整合性チェックを含むメッセージを送信するように構成された任意の好適なプロセス制御デバイスによって実装され得ることを理解されたい。
図6は、受信デバイスが変数ごとに受信値の整合性を検証することを可能にする方法で、変数値を含むメッセージを送信するための例示的な方法を示す。方法600は、全体的または部分的に、図1および2に示されるものなどのいずれか1つ以上の好適なプロセス制御デバイス(例えば、コントローラ24、26、50、52、54、もしくは56、またはフィールドデバイス40、42、60、もしくは62)によって実施され得、方法600を実行するように恒久的または半恒久的に構成された回路のセット(例えば、フィールドデバイス60Aの)を介して実装され得る。一実施形態では、方法600は、メモリに格納され、方法600の機能を実装するためにプロセッサによって実行可能である一組の命令またはルーチンによって具体化され得る。以下の考察は図1および2に示される構造を参照し得るが、方法600は、本明細書に記載されているものなど、プロセス変数値および変数ごとのデータ整合性チェックを含むメッセージを送信するように構成された任意の好適なプロセス制御デバイスによって実装され得ることを理解されたい。
方法600は、ステップ605で始まり、第1のプロセス制御デバイス(例えば、フィールドデバイス60A)は、デバイス変数に対する値を検出する。値は、センサ測定(例えば、流量、温度、圧力、粘度、レベル、光、音など)または計算によって検出することができる。計算によって検出値の例には、第1のプロセス制御デバイスの健全性や、それが作動させるデバイス(例えば、バルブ)や計測に使用するデバイス(例えば、センサ)に関連する診断パラメータが挙げられる。
ステップ610において、第1のプロセス制御デバイス(例えば、フィールドデバイス60A)は、改善されたデータ整合性が望まれる各検出値に対するデータ整合性チェックを計算する。データ整合性チェックは、巡回冗長検査(CRC)、チェックサム、またはハッシュなど、データの整合性を検証するための任意の好適なエラー検出コードであり得る。
所望される場合、検出値のうちのいくつかは、対応するデータ整合性チェックを有しない場合がある。データ整合性チェックは、図1Bに示されるデータ整合性式132を介して計算され得る。一般的に言えば、データ整合性チェックを計算するために、第1のプロセス制御デバイスは、検出値およびシードを式132への入力として使用する。シードは、第1のプロセス制御デバイスおよび意図された受信デバイス(例えば、コントローラ52)に知られている任意の好適なシードであり得る。一実施形態では、シードは、マスカレードの検出を可能にするのに十分に独特である。
例えば、シードは、フィールドデバイス60Aのためにプロセス制御システム12および/または安全システム14によって使用されるデバイスタグ、目的のコントローラ52のデバイスタグ、フィールドデバイス60Aのシリアル番号、コントローラ52のシリアル番号、フィールドデバイス60Aのハードウェアアドレス(例えば、MACアドレス)、コントローラ52のハードウェアアドレス、プロセス制御環境10のサイトID、ランダムに生成された一意の値、またはそれらのいくつかの組み合わせであり得る。例示的な実施形態では、シードは、フィールドデバイス60Aのデバイスタグとフィールドデバイス60Aのシリアル番号との組み合わせである。
一実施形態では、第1のプロセス制御デバイスは、それぞれの値が更新されるたびに更新される検出値ごとのシーケンスパラメータを含む。所望される場合、このシーケンスパラメータは、データ整合性式の入力として使用され得る。
一実施形態では、第1のプロセス制御デバイスは、値の相対的な信頼性(例えば、良好、不良、不明など)を示す各検出値に対して変数ステータスを生成する。所望される場合、この変数ステータスは、データ整合性式の入力として使用され得る。
所望される場合、第1のプロセス制御デバイスは、検出値ごとに複数のデータ整合性チェックを計算し得る。これは、他の複数のプロセス制御デバイスが検出値を受信して、それに依存する場合に有用であり得る(例えば、メッセージにおいて搬送される検出値は、メッセージが最初の通信パスを介して1つのデバイスに到達するまでに破損している可能性があるが、第2の通信パスを介して別のデバイスで受信するときには破損していない可能性があるためである)。さらに、これは、データの第2の消費者に第2のシードが必要な場合に有用であり得る(例えば、セキュリティ上の理由でシードを共有したくない高レベルのシステム)。
ステップ615において、第1のプロセス制御デバイス(例えば、フィールドデバイス60A)は、各検出値および各対応するデータ整合性チェック(1つ存在すると仮定する)によりメッセージを符号化する。メッセージは、図4および5のメッセージ400および500のものなどのフォーマットに従って符号化され得る。メッセージは、データ整合性計算の計算に使用される各入力を含むように符号化され得る。したがって、変数値、変数のシーケンス番号、変数のステータス、およびシードに基づいて、データ整合性式が特定の変数に対して計算される実施形態では、メッセージは、所与の変数についての変数値、シーケンス番号、および変数ステータスを含み得る。
例えば、メッセージは、各々が異なる変数に対応する複数の部分を有するペイロードを含み得る(例えば、図4に示される部分402~406を参照されたい)。次いで、データ整合性チェックを有する各値について、メッセージは、データ整合性チェックに対応する追加の部分を含み得る(例えば、図4に示される部分408および410を参照されたい)。
説明のために、メッセージは、それぞれ、第1、第2、および第3の変数に対応する第1、第2、および第3の部分を含み得る。第1および第3の変数に対してデータ整合性チェックが望まれるが、(例えば)第2の変数に対しては望まれない場合、メッセージは、第1の変数に対するデータ整合性チェック(例えば、第4の部分)および第3の変数に対するデータ整合性チェック(例えば、第5の部分)を含む第4および第5の部分も含み得る。
メッセージは、整合性部分およびデータ整合性チェックが対応する変数値またはメッセージ部分を判定するための手段を含み得る。例えば、メッセージ内の各整合性部分は、対応する変数値を搬送する部分のメッセージ内の位置を示す「部分番号」パラメータを含み得る。説明のために、整合性部分408が部分402の変数値に対応する場合、パラメータ422は「402」に設定され得る。メッセージが単一の検出値に対する複数のデータ整合性チェックを含む場合、複数の整合性部分は、同じ変数値部分を識別する「部分番号」パラメータを含み得る。
いくつかの実施形態では、メッセージごとに最大8つの部分が予想され得、整合性部分の「部分番号」は、それが対応する変数部分を示すために0~7に設定され得る。所望される場合、変数部分および整合性部分は、図5を参照して考察したものなどの追加および/または代替情報で符号化され得る。
ステップ620において、第1のプロセス制御デバイス(例えば、フィールドデバイス60A)は、メッセージが第2のプロセス制御デバイス(例えば、コントローラ50~56または24/26のうちの1つ、フィールドデバイス40/42/60/62のうちの1つ、ワークステーション16、ヒストリアンなど)によって受信可能であるように、メッセージを送信する。実施形態に応じて、第1のプロセス制御デバイスは、有線または無線リンクを介してメッセージを送信することができる。一般的に言えば、第2のプロセス制御デバイスは、プロセス制御環境(例えば、プラント10)で制御されるプロセスのための制御スキームの一部として機能を実装するように構成されたデバイスである。制御スキームは、環境内の機器の安全な動作を維持する責任がある安全システムスキーム(例えば、安全システム14を介して実施される)であり得る(例えば、不安定な状態またはそうでなければ潜在的に危険な状態の検出に応答して、環境内の1つ以上のプロセス制御デバイスを駆動する責任がある)。一実施形態では、制御スキームは、制御目的(例えば、エタノールなどの所望の製品または化学物質の生産、発電など)を達成するためにプロセスを制御するためのプロセス制御スキームまたは戦略(例えば、プロセス制御システム12を介して実施される)である。安全システムスキームは、潜在的に危険な状態が発生したときにのみ介入する「パッシブ」システムとして特徴付けられ得るが、プロセス制御システムは通常、よりアクティブであり、プロセスの状態に継続的に反応し、所望の目的を達成するためにプロセスの様々な側面を目的の状態に駆動しようとする。
第1および第2のプロセス制御デバイスは、パブリッシュ/サブスクライブモデル(例えば、第1のデバイスが第2のデバイスからプロンプトを出さずに定期的にメッセージを送信する場合)を介してメッセージを送信および受信するように、または要求/応答メッセージに従ってメッセージを送信する(例えば、第1のデバイスが第2のデバイスからの要求に応答してメッセージを送信する)ように構成され得る。一実施形態では、第1および第2のプロセス制御デバイスは各々、必要に応じて、要求/応答モデルまたは公開/サブスクライブモデルのいずれかを実装するように構成可能である。
第1および第2のプロセス制御デバイスは、プロセス制御環境に実装され得る任意の好適なプロトコルに従ってメッセージを送信および受信するように構成され得るが、そのようなプロトコルは、本明細書に記載されている変数ごとのデータ整合性チェックに対応することができるか、または対応するように修正することができることが前提である。第1および第2のプロセス制御デバイスで利用できるプロトコルの例には、HART、HART-IP、WirelessHART、Profibus、FOUNDATION(商標)フィールドバス、Ethernet/IP、ControlNet、DeviceNet、Modbus、OPC UAなどがある。
場合によっては、方法600は、スキャンサイクルに比例するレートで実施される(例えば、全てのスキャンサイクル、1つおきのスキャンサイクルなど)。一般的に、スキャンサイクルは全てのスキャン時間(1ミリ秒、100ミリ秒、1秒などの任意の所望の時間)ごとに発生する。スキャンサイクルは、一般的に言えば、関連するコントローラが入力を収集し、制御アルゴリズムを実行し、それに応じて出力を更新するサイクルである。したがって、コントローラ52が所与のスキャン時間中にスキャンサイクルを実施するように構成されている場合、フィールドデバイス60Aは、スキャン速度に等しい速度またはより速い速度で(例えば、スキャン時間に対する高調波周期)方法600を実施するように構成され得る(例えば、それにより、最新のフィールドデバイス変数値をコントローラ52に提供する)。
場合によっては、方法600は、関連するフィールドデバイス変数(例えば、フィールドデバイス60Aが値を送信するように構成されている変数)において変化が検出されるたびに実施される。
所望される場合、方法600は、変数ごとにデータの整合性の検証を可能にする方法で、変数値を含むメッセージを送信する目的で、任意の好適なデバイスによって実装され得る。例えば、場合によっては、コントローラ(例えば、論理ソルバ50~56またはプロセスコントローラ24/26)、ワークステーション(プロセス制御環境10に対してリモートまたはローカル)、ヒストリアン、資産管理システム(AMS)内のデバイス、ネットワークデバイス、またはプロセス制御環境に実装され得る他の任意の所望のデバイスは、変数ごとにデータの整合性の検証を可能にするメッセージを送信するための方法600を実装することができ、結果として、任意のそのようなプロセス制御デバイスは、一実施形態では、フィールドデバイス60Aによって実行されるものとして上記の機能を実装することができる。同様に、第2のプロセス制御デバイス(すなわち、送信されたメッセージの受信者)は、これらのデバイスのいずれかであり得る。
V.変数レベルでデータ整合性チェックを可能にするメッセージを受信するための例示的な方法
図7は、受信値の整合性を変数ごとに検証することを可能にする方法で、変数値を含むメッセージを受信するための例示的な方法700を示す。方法700は、全体的または部分的に、図1および2に示されるものなどのいずれか1つ以上の好適なプロセス制御デバイス(例えば、コントローラ24、26、50、52、54、もしくは56、またはフィールドデバイス40、42、60、もしくは62)によって実施され得、方法700を実行するように恒久的または半恒久的に構成された回路のセット(例えば、コントローラ52)を介して実装され得る。一実施形態では、方法700は、メモリに格納され、方法700の機能を実装するためにプロセッサによって実行可能である一組の命令またはルーチンによって具体化され得る。以下の考察は、図1および2に示される構造を参照して方法700を説明するが、方法600は、本明細書に記載されているものなど、プロセス変数値および変数ごとのデータ整合性チェックを含むメッセージを受信するように構成された任意の好適なプロセス制御デバイスによって実装され得ることを理解されたい。
図7は、受信値の整合性を変数ごとに検証することを可能にする方法で、変数値を含むメッセージを受信するための例示的な方法700を示す。方法700は、全体的または部分的に、図1および2に示されるものなどのいずれか1つ以上の好適なプロセス制御デバイス(例えば、コントローラ24、26、50、52、54、もしくは56、またはフィールドデバイス40、42、60、もしくは62)によって実施され得、方法700を実行するように恒久的または半恒久的に構成された回路のセット(例えば、コントローラ52)を介して実装され得る。一実施形態では、方法700は、メモリに格納され、方法700の機能を実装するためにプロセッサによって実行可能である一組の命令またはルーチンによって具体化され得る。以下の考察は、図1および2に示される構造を参照して方法700を説明するが、方法600は、本明細書に記載されているものなど、プロセス変数値および変数ごとのデータ整合性チェックを含むメッセージを受信するように構成された任意の好適なプロセス制御デバイスによって実装され得ることを理解されたい。
方法700は、プロセス変数値および変数ごとのデータ整合性チェックを含む、第1のプロセス制御デバイスによって送信されるメッセージを処理するために実装され得る。具体的には、方法700は、図1および2に示されるコントローラ52などの第2のプロセス制御デバイスによって実施され得る。
この方法は、ステップ705で始まり、第2のプロセス制御デバイス(例えば、コントローラ52)が、第1のプロセス制御デバイス(例えば、フィールドデバイス60A)からメッセージを受信する。場合によっては、第2のプロセス制御デバイスは、説明された技術と一致する方法でデータ整合性の変数ごとの検証を可能にする方法で、メッセージを送信するように構成された任意の好適なデバイス(フィールドデバイスまたはその他)からメッセージを受信することができる。メッセージは、有線または無線のリンクを介して受信され得る。
ステップ710において、第2のプロセス制御デバイス(例えば、コントローラ52)は、受信したメッセージを復号化して、(i)デバイス変数に対する候補値、および(ii)各候補値に対するデータ整合性チェックを識別する。場合によっては、メッセージは、データチェックが存在しない変数値を含み得る。すなわち、所望される場合、メッセージは、データ整合性チェックを有するフィールドデバイス値とデータ整合性チェックを有さないフィールドデバイス値との何らかの組み合わせを含み得る。
さらに、場合によっては、メッセージは、所与の候補値に対する複数のデータ整合性チェックを含み得る(例えば、各データ整合性チェックは、メッセージの異なる受信者を対象としている)。このような場合、第2のプロセス制御デバイスは、所与の候補値に対応するデータ整合性チェックを判定する必要がある。いくつかの実施形態では、第2のプロセス制御デバイスは、データ整合性チェックのうちの1つがそれに割り当てられていると想定するように事前構成されている(例えば、第2のプロセス制御デバイスに対するデータ整合性チェックは、メッセージの同じ相対位置または部分に常にあり得る)。いくつかの実施形態では、メッセージは、それが対応する受信デバイスを識別するためのデータ整合性チェックの各々のパラメータ(例えば、意図された受信デバイスのタグ、シリアル番号、一意の識別子、IPアドレスなどを識別するデータ整合性チェックごとのパラメータ)を含む。
メッセージを復号化する際に、第2のプロセス制御デバイス(例えば、コントローラ52)は、メッセージを分析して、メッセージのどの部分が変数部分(すなわち、デバイス変数値を搬送する部分)であり、どの部分が整合性部分(すなわち、デバイス変数値のデータ整合性チェックを搬送する部分)であるかを判定し得る。そのために、メッセージの各部分は、そのタイプを示すパラメータまたはフィールド(例えば、部分が変数部分であることを示すデバイス変数コード、整合性部分など)を含み得る。次いで、第2のプロセス制御デバイスは、整合性部分を分析して、整合性部分が対応する変数部分を判定する。これは、整合性部分が対応するメッセージ内の部分を示す、各整合性部分の「部分番号」パラメータの分析を伴い得る。
ステップ715において、第2のプロセス制御デバイス(例えば、コントローラ52)は、候補値に対する第2のデータ整合性チェックを計算する。例えば、図2および4を参照すると、コントローラ52は、部分402内の候補値411および部分408内の対応するデータ整合性チェック421を識別することができる。次いで、式132への入力として値411および所定のシードを使用して、第2のデータ整合性チェックを計算することができる。次いで、第2の整合性チェックを永続的または一時的に記憶し得る。同様に、第2のプロセス制御デバイスは、メッセージに含まれる他のデータ整合性チェックの各々について、第2のデータ整合性チェックを計算し得る。
ステップ720において、第2のプロセス制御デバイス(例えば、コントローラ52)は、比較される所与の候補値に対する第1および第2のデータ整合性チェックを選択する。例えば、前の例に固執して、コントローラ52は、値411および値411に対応するデータ整合性チェック421を選択し得る。
ステップ725において、第2のプロセス制御デバイス(例えば、コントローラ52)は、第1および第2のデータ整合性チェックを比較する。例えば、値411の場合、コントローラ52は、受信されたデータ整合性チェック421を、値411およびシードを入力として使用して、コントローラ52によって計算されたデータ整合性チェックと比較し得る。データ整合性チェック421以降に値411が変更されていない場合、第1および第2のデータ整合性チェックは一致するはずである。値411が変更された場合(または、シーケンス番号を使用して整合性チェックを計算する実施形態ではシーケンス番号が変更された場合)、第1および第2の整合性チェックは一致しない。
ステップ730において、第2のプロセス制御デバイス(例えば、コントローラ52)は、第1および第2のデータ整合性チェックが一致した場合(第1のデータ整合性チェックが計算されたときから候補値が変化していないことを示し、したがって、受信された候補値が、フィールドデバイス60Aが送信することを意図した検出値であることを示す)、ステップ740に進み、そうでない場合(値411がフィールドデバイス60Aによって送信された元の値と何らかの形で異なることを示す)、ステップ735に進む。
ステップ735において、データ整合性チェックの不一致が存在するという判定に応答して、第2のプロセス制御デバイス(例えば、コントローラ52)は、第1および第2のデータ整合性チェックに対応する所与の候補値を破棄する。つまり、対応するプロセス変数を値411で更新せずに続行する。第2のプロセス制御デバイスおよびより大きな制御システムまたは安全システムは、問題の変数の値がメッセージを受信する前に持っていた値であるという仮定の下で動作を継続することができる。場合によっては、第2のプロセス制御デバイスは、不一致が存在することを検出したことに応答して(または特定の期間の経過、または特定の数のメッセージの経過の間に特定の数の不一致を受信したことに応答して)(例えば、ワークステーションを介して)アラームを生成することができる。場合によっては、第2のプロセス制御デバイスは、そのような状態で操作を進めるにはリスクが高すぎると判定し得、第1のフィールドデバイス(例えば、フィールドデバイス60A)に(例えば、バルブを開閉させることにより)安全な状態になるようにメッセージを送信し得る。
ステップ740において、データ整合性チェックの一致が存在するという判定に応答して、第2のプロセス制御デバイス(例えば、コントローラ52)は、フィールドデバイス変数に対応するプロセス変数を候補値で更新する。
例えば、方法700を実施する前に、バルブCV001は、25%オープンの位置を有し得る。受信したメッセージでは、問題の変数はCV001のバルブ位置である可能性があり、メッセージの候補値は50%オープンである可能性がある(バルブ位置が変更されたことを示す)。データ整合性の不一致の検出に応答して、コントローラ52は、候補値を破棄し、例えば、バルブがまだ25%オープンである、バルブの位置が不明であるなどの仮定の下で動作を継続することができる。
しかしながら、受信値の整合性を検証することに応答して、コントローラ52は、バルブの位置を表すシステム変数を50%に更新することができる。したがって、コントローラ52、制御システム12、および/または安全システム14は、この更新された制御バルブ位置に基づいて動作する(例えば、制御ルーチンを実施する)ことができる。いくつかの実施形態では、更新されたプロセス変数は、制御システム12および/または安全システム14の構成要素によってアクセス可能なシステム変数である。いくつかの実施形態では、更新されたプロセス変数は、コントローラ52におけるローカル変数である。
ステップ745において、第2のプロセス制御デバイス(例えば、コントローラ52)は、受信したメッセージが、ステップ725および730でデータ整合性チェックが分析されていない追加の候補値を含むかどうかを判定する。追加の候補値がメッセージに存在する場合、コントローラはステップ720に進み、そうでなければ、ステップ750に進む。例えば、図4を参照すると、コントローラ52は、メッセージ400の変数部分406が整合性部分(例えば、部分408)も有することを判定し得る。結果として、コントローラ52は、ステップ720に進み、変数部分406に含まれる値の整合性を分析し得る。
ステップ750において、第2のプロセス制御デバイス(例えば、コントローラ52)は、受信したメッセージの分析を終了し、次のタスク(例えば、将来のスキャン中に受信された新しいメッセージの処理)に進む。
場合によっては、コントローラ52(または方法700を実装する任意の他のデバイス)は、所定のスキャン期間または時間の開始時にスキャンサイクルを実装するように構成される。そのような場合、方法600は、コントローラ52によってスキャンサイクルごとに実施される。方法600は、メッセージを受信し、変数ごとに含まれる変数値の整合性を検証するように構成された任意の好適なデバイスによって実装され得ることに留意されたい。例えば、場合によっては、スマートフィールドデバイスは、方法600を実装し得る。
さらに、図6を参照して考察されるように、第1および第2のプロセス制御デバイスは、サブスクライブ/パブリッシュモデル(例えば、第1のデバイスが第2のデバイスからプロンプトを出さずに定期的にメッセージを送信する場合)を介してメッセージを送信および受信するように、または要求/応答メッセージに従ってメッセージを送信する(例えば、第1のデバイスが第2のデバイスからの要求に応答してメッセージを送信する)ように構成され得る。一実施形態では、第1および第2のプロセス制御デバイスは各々、必要に応じて、要求/応答モデルまたは公開/サブスクライブモデルのいずれかを実装するように構成可能である。さらに、図6を参照して述べたように、第1および第2のプロセス制御デバイスは、プロセス制御環境に実装され得る任意の好適なプロトコルに従ってメッセージを送信および受信するように構成され得るが、そのようなプロトコルは、本明細書に記載されている変数ごとのデータ整合性チェックに対応することができるか、または対応するように修正することができることが前提である。
VI.追加の検討事項
一実施形態では、単一のメッセージ部分(SLOTと呼ばれることもある)の残余誤差を計算することができる。実施形態に応じて、以下の仮定が使用され得る(しかし必ずしもそうではない)。通信用のデータパスがシールド付きツイストペアを使用するという制限は、最悪の場合のビット誤り率を10-4に制限する。0x9eb2 16ビットCRC(CRC-16-DNP)多項式は、135ビット(または16バイト)未満のメッセージのハミング距離が6である。ハミング距離を超えるビットエラーでさえ、結果への寄与はごくわずかである(奇数エラーが検出される)。データワードは6バイト-48ビット(フロート+ステータス+シーケンス番号)、コードワードは8バイト-64ビット(データワード+2バイトCRC)、64ビットコードワードでの6ビットエラーの確率は、所与のBERで7.45408-17である。これらの仮定の下で、0x9eb2 16ビットCRC多項式の場合、データワードサイズに対して2051の6ビットエラーが発生する可能性がある。このような仮定の下では、検出されない6ビットエラーの確率は2.83214-24である。転送速度を40Hzとすると、PFHは4.07828-19に等しくなり得る。
一実施形態では、単一のメッセージ部分(SLOTと呼ばれることもある)の残余誤差を計算することができる。実施形態に応じて、以下の仮定が使用され得る(しかし必ずしもそうではない)。通信用のデータパスがシールド付きツイストペアを使用するという制限は、最悪の場合のビット誤り率を10-4に制限する。0x9eb2 16ビットCRC(CRC-16-DNP)多項式は、135ビット(または16バイト)未満のメッセージのハミング距離が6である。ハミング距離を超えるビットエラーでさえ、結果への寄与はごくわずかである(奇数エラーが検出される)。データワードは6バイト-48ビット(フロート+ステータス+シーケンス番号)、コードワードは8バイト-64ビット(データワード+2バイトCRC)、64ビットコードワードでの6ビットエラーの確率は、所与のBERで7.45408-17である。これらの仮定の下で、0x9eb2 16ビットCRC多項式の場合、データワードサイズに対して2051の6ビットエラーが発生する可能性がある。このような仮定の下では、検出されない6ビットエラーの確率は2.83214-24である。転送速度を40Hzとすると、PFHは4.07828-19に等しくなり得る。
いくつかの実施形態では、説明されたシステムの実装は、安全なネットワーク接続と、ユーザベースまたは役割ベースの承認の両方を含み得る。例えば、HART-IPは、TLSおよびDTLSを使用した安全な接続の確立をサポートしている。「ユーザ」はコントローラまたは安全アプリケーションである可能性があるため、役割ベースの承認が望ましい場合がある。いくつかの実施形態では、説明されたシステムは、ユーザ/役割ベースの承認なしで実装され得る。
ディスクリートプロセス制御要素(例えば、ディスクリートデバイス、ディスクリート通信チャネル、ディスクリート信号、など)を管理し、制御システム5内のディスクリート要素をスマートコミッショニングするための様々な態様、装置、システム、コンポーネント、デバイス、方法、および技法を以下に説明する。
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、およびエンジンはいずれも、コンピュータもしくはプロセッサのRAMもしくはROMなどにおける磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリ記憶デバイス、または他の記憶媒体などの、任意の有形の非一時的コンピュータ可読メモリに記憶され得る。本明細書に開示される例示的なシステムは、他の構成要素の中でも、ハードウェア上で実行されるソフトウェアまたはファームウェアを含むように開示されているが、そのようなシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、およびファームウェア構成要素のうちのいずれかまたは全てが、ハードウェアにのみ、ソフトウェアにのみ、またはハードウェアおよびソフトウェアの任意の組み合わせで、具体化され得ることが企図される。したがって、本明細書に記載される例示的なシステムは、1つ以上のコンピュータデバイスのプロセッサで実行されるソフトウェアに実装されるものとして記載されているが、提供される例がかかるシステムを実装する唯一の方式ではないことを、当業者は容易に認識するであろう。
方法600および700を具体的に参照すると、説明された機能は、図1および2に示されるシステム10のデバイス、回路、またはルーチンによって、全体的または部分的に実装され得る。説明された方法の各々は、各々の方法の論理機能を実行するように恒久的または半恒久的に構成されて(例えば、ASICまたはFPGA)それぞれの方法の論理機能を実行する回路のセット、または少なくとも一時的に構成されて(例えば、1つ以上のプロセッサ、および論理機能を表し、メモリに保存されたセット命令またはルーチン)それぞれの方法の論理機能を実行する回路のセットによって具体化され得る。
本明細書を通して、複数の事例は、単一の事例として記載された構成要素、動作、または構造を実装することができる。1つ以上の方法の個々の動作が別個の動作として図示および記載されたが、個々の動作のうちの1つ以上が、特定の実施形態において同時に実行され得る。
本明細書に使用される際、「一実施形態」または「実施形態」に対する任意の参照は、実施形態と併せて説明された特定の要素、特徴、構造または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「一実施形態において」という句の出現は、必ずしも全てが同一の実施形態を参照しているとは限らない。
本明細書に使用される際、「備える(comprises)」、「備える(comprising)」、「含む(includes)」、「含む)including)」、「有する(has)」、「有する(having)」という用語、またはそれらの任意の他の変形は、非排他的な包含を網羅することを意図する。例えば、要素のリストを含むプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的に列挙されていないか、またはかかるプロセス、方法、物品もしくは装置に固有の他の要素を含むことができる。さらに、正反対に明示的に述べられない限り、「または」は、排他的なまたはではなく、包括的なまたはを指す。例えば、条件AまたはBは、Aが真(または存在)且つBが偽(または存在しない)、Aが偽(または存在しない)且つBが真(または存在する)、ならびにAおよびBの双方が真である(または存在する)のうちのいずれか1つによって満たされる。
さらに、「システムが少なくとも1つのX、Y、またはZを含む」という句は、システムがX、Y、Z、またはそれらの何らかの組み合わせを含むことを意味する。同様に、「コンポーネントがX、Y、またはZのために構成される」という句は、コンポーネントがXのために構成される、Yのために構成される、Zのために構成される、またはX、Y、およびZの何らかの組み合わせのために構成されることを意味する。
加えて、「a」または「an」の使用は、本明細書の実施形態の要素および構成要素を説明するために用いられる。この説明、およびそれに続く特許請求の範囲は、1つまたは少なくとも1つを含むように読まれるべきである。単数形はまた、それが複数形を含まないことが明らかでない限り、複数形も含む。
様々な実施形態において、本明細書に説明されるハードウェアシステムは、機械的にまたは電子的に実装され得る。例えば、ハードウェアシステムは、恒久的に構成された専用回路または論理を含み得る(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして)。ハードウェアシステムはまた、特定の動作を実施するためにソフトウェアによって一時的に構成されるプログラマブル論理または回路(例えば、汎用プロセッサまたは他のプログラマブルプロセッサ内に包含されるもの)も含み得る。専用かつ恒久的に構成された回路において、または一時的に構成された回路(例えば、ソフトウェアによって構成された)においてハードウェアシステムを機械的に実装する決定は、コストおよび時間を考慮してなされ得ることが理解されよう。
Claims (34)
- 値の整合性を変数ごとに検証することができるように、デバイス変数に対する前記値を含むメッセージを送信するための方法であって、
プロセスを制御するためのプロセス制御環境内の第1のプロセス制御デバイスによって、デバイス変数に対する検出値を検出することと、
前記プロセス制御デバイスにより、前記検出値およびシードを入力として使用して、データ整合性計算を実行することにより、第1のデータ整合性チェックを計算することと、
前記検出値および前記検出値に対する前記第1のデータ整合性チェックを含むように、メッセージを符号化することと、
(i)前記メッセージを受信することと、(ii)前記デバイス変数に対する前記メッセージ内の候補値に対する第2のデータ整合性チェックを計算することと、(iii)第2のプロセス制御デバイスにおいて、前記第1および第2のデータ整合性チェックが一致するかどうかに基づいて、前記候補値で前記デバイス変数にマップされたプロセス変数を更新する、または更新しないことと、(iv)前記プロセス変数に従って、前記プロセスのための制御スキームの一部として機能を実装することと、を行うように構成された前記第2のプロセス制御デバイスによって受信可能であるように、前記メッセージを送信することと、を含む、方法。 - 前記第2のプロセス制御デバイスは、フィールドデバイスである、請求項1に記載の方法。
- 前記第2のプロセス制御デバイスは、コントローラである、請求項1に記載の方法。
- 前記コントローラ、安全システムのための論理ソルバであり、前記制御スキームは、前記論理ソルバに結合された1つ以上のフィールドデバイスをいつ安全な状態に駆動するかを判定するための安全システムスキームである、請求項3に記載の方法。
- 前記コントローラは、前記プロセスを制御するように構成されたプロセス制御システムのためのプロセスコントローラであり、前記制御スキームは、前記プロセス制御システムのためのプロセス制御スキームである、請求項3に記載の方法。
- 前記第1のプロセス制御デバイスは、フィールドデバイスであり、前記デバイス変数は、フィールドデバイス変数である、請求項1に記載の方法。
- 前記第1のプロセス制御デバイスは、コントローラである、請求項1に記載の方法。
- 前記メッセージは、各々がデータ整合性チェックを有する複数の検出値を含むように符号化され、前記方法は、
第2のデバイス変数に対する第2の検出値を検出することと、
前記第2の検出値および前記シードを入力として使用して、前記データ整合性計算を実行することにより、第3のデータ整合性チェックを計算することと、をさらに含み、
前記メッセージを符号化することは、前記第2の検出値と、前記第2の検出値に対する前記第2のデータ整合性チェックと、を含むように、前記メッセージを符号化することをさらに含み、
前記第2のプロセス制御デバイスは、
(i)前記第2のデバイス変数に対する前記メッセージ内の第2の候補値に対する第4のデータ整合性チェックを計算することと、
(ii)前記第2のプロセス制御デバイスにおいて、前記第3および第4のデータ整合性チェックが一致するかどうかに基づいて、前記第2の候補値で前記第2のデバイス変数にマップされた第2のプロセス変数を更新する、または更新しないことと、
(iii)前記第2のプロセス変数に従って、前記プロセスのための制御スキームの一部として機能を実装することと、を行うようにさらに構成されている、請求項1に記載の方法。 - 前記メッセージを前記符号化することは、前記メッセージが複数のメッセージ部分を含むように、前記メッセージを符号化することを含み、前記複数のメッセージ部分は、
第1のメッセージ部分が、前記第1の検出値を含み、
第2のメッセージ部分が、前記第2の検出値を含み、
第3のメッセージ部分が、前記第1のデータ整合性チェックと、前記複数のメッセージ部分のどれに前記第1のデータ整合性チェックが対応するかを示すパラメータと、を含み、
第4のメッセージ部分が、前記第3のデータ整合性チェックと、前記複数のメッセージ部分のどれに前記第3のデータ整合性チェックが対応するかを示すパラメータと、を含むことを含む、請求項8に記載の方法。 - 前記デバイス変数に対する更新を示すためにシーケンスパラメータをインクリメントすることであって、前記シーケンスパラメータは、前記デバイス変数が更新されるたびに更新されるように構成されている、インクリメントすることをさらに含み、
前記第1のデータ整合性チェックを計算することは、前記データ整合性計算のための前記入力のうちの1つとして、前記シーケンスパラメータを使用することをさらに含み、
前記メッセージを符号化することは、前記シーケンスパラメータを含むように、前記メッセージを符号化することをさらに含む、請求項1に記載の方法。 - 前記デバイス変数に対する変数ステータスを検出することをさらに含み、
前記第1のデータ整合性チェックを計算することは、前記データ整合性計算のための前記入力のうちの1つとして、前記変数ステータスを使用することをさらに含み、
前記メッセージを符号化することは、前記変数ステータスを含むように、前記メッセージを符号化することをさらに含む、請求項10に記載の方法。 - 前記第1のプロセス制御デバイスは、前記メッセージを受信する第3のプロセス制御デバイスが、第3のデータ整合性チェックを介して、前記検出値の前記整合性を検証することができるように、前記検出値に対する前記第3のデータ整合性チェックを計算するように構成されており、前記方法は、
前記第1のプロセス制御デバイスによって、前記検出値および第2のシードを入力として使用して、前記データ整合性計算を実行することによって、前記第3のデータ整合性チェックを計算することをさらに含み、
前記メッセージを符号化することは、前記検出値に対する前記第3のデータ整合性チェックを含むように、前記メッセージを符号化することをさらに含み、
前記メッセージを送信することは、前記第3のプロセス制御デバイスによって受信可能であるように、前記メッセージを送信することを含み、前記第3のプロセス制御デバイスは、(i)前記メッセージを受信することと、(ii)前記メッセージ内の前記候補値に対する第4のデータ整合性チェックを計算することと、(iii)前記第3のプロセス制御デバイスにおいて、前記第3および第4のデータ整合性チェックが一致するかどうかに基づいて、前記候補値で前記デバイス変数にマップされたプロセス変数を更新する、または更新しないことと、を行うように構成されている、請求項1に記載の方法。 - 前記シードは、前記第1のプロセス制御デバイスのシリアル番号と前記第1のプロセス制御デバイスのタグとを組み合わせることによって形成される値であり、前記タグは、前記第1のプロセス制御デバイスが前記プロセス制御環境内の1つ以上の他のデバイスによってアドレス指定可能である識別子である、請求項1に記載の方法。
- 前記パラメータレベルで認証することができるプロセス変数に対する値を含むメッセージを送信するためのシステムであって、前記システムは、
プロセスを制御するためのプロセス制御環境の入力/出力(I/O)ネットワーク内の1つ以上の他のプロセス制御デバイスに通信可能に結合されるように構成された第1のプロセス制御デバイスを含み、前記第1のプロセス制御デバイスは、
(A)前記フィールドデバイスを前記1つ以上のコントローラに結合するように構成された通信インターフェースと、
(B)回路のセットであって、前記通信インターフェースに通信可能に結合されており、かつ
デバイス変数に対する検出値を検出することと、
前記検出値およびシードを入力として使用して、データ整合性計算を実行することにより、第1のデータ整合性チェックを計算することと、
前記検出値および前記検出値に対する前記第1のデータ整合性チェックを含むように、メッセージを符号化することと、
前記通信インターフェースを介して、(i)前記メッセージを受信することと、(ii)前記デバイス変数に対する前記メッセージ内の候補値に対する第2のデータ整合性チェックを計算することと、(iii)第2のプロセス制御デバイスにおいて、前記第1および第2のデータ整合性チェックが一致するかどうかに基づいて、前記候補値で前記デバイス変数にマップされたプロセス変数を更新する、または更新しないことと、(iv)前記プロセス変数に従って、前記プロセスのための制御スキームの一部として機能を実装することと、を行うように構成された前記第2のプロセス制御デバイスに前記メッセージを送信することと、を行うように構成されている、回路のセットと、を含む、システム。 - 前記第2のプロセス制御デバイスは、コントローラである、請求項14に記載のシステム。
- 前記第1のプロセス制御デバイスは、フィールドデバイスであり、前記デバイス変数は、フィールドデバイス変数である、請求項14に記載のシステム。
- 前記メッセージは、各々がデータ整合性チェックを有する複数の検出値を含むように符号化され、前記回路のセットは、
第2のデバイス変数に対する第2の検出値を検出することと、
前記第2の検出値および前記シードを入力として使用して、前記データ整合性計算を実行することにより、第3のデータ整合性チェックを計算することと、を行うようにさらに構成されており、
前記メッセージを符号化することは、前記第2の検出値と、前記第2の検出値に対する前記第2のデータ整合性チェックと、を含むように、前記メッセージを符号化することをさらに含み、
前記第2のプロセス制御デバイスは、
(i)前記第2のデバイス変数に対する前記メッセージ内の第2の候補値に対する第4のデータ整合性チェックを計算することと、
(ii)前記第2のプロセス制御デバイスにおいて、前記第3および第4のデータ整合性チェックが一致するかどうかに基づいて、前記第2の候補値で前記第2のデバイス変数にマップされた第2のプロセス変数を更新する、または更新しないことと、
(iii)前記第2のプロセス変数に従って、前記プロセスのための制御スキームの一部として機能を実装することと、を行うようにさらに構成されている、請求項14に記載のシステム。 - 前記回路のセットは、前記メッセージが複数のメッセージ部分を含むように、前記メッセージを符号化するようにさらに構成されており、前記複数のメッセージ部分は、
第1のメッセージ部分が、前記第1の検出値を含み、
第2のメッセージ部分が、前記第2の検出値を含み、
第3のメッセージ部分が、前記第1のデータ整合性チェックと、前記複数のメッセージ部分のどれに前記第1のデータ整合性チェックが対応するかを示すパラメータと、を含み、
第4のメッセージ部分が、前記第3のデータ整合性チェックと、前記複数のメッセージ部分のどれに前記第3のデータ整合性チェックが対応するかを示すパラメータと、を含むことを含む、請求項17に記載のシステム。 - 前記回路のセットは、
前記デバイス変数に対する更新を示すためにシーケンスパラメータをインクリメントすることであって、前記シーケンスパラメータは、前記デバイス変数が更新されるたびに更新されるように構成されている、インクリメントすることをさらに含み、
前記第1のデータ整合性チェックを計算することは、前記データ整合性計算のための前記入力のうちの1つとして、前記シーケンスパラメータを使用することをさらに含み、
前記メッセージを符号化することは、前記シーケンスパラメータを含むように、前記メッセージを符号化することをさらに含む、請求項14に記載のシステム。 - 前記回路のセットは、
前記デバイス変数に対する変数ステータスを検出するようにさらに構成されており、
前記第1のデータ整合性チェックを計算することは、前記データ整合性計算のための前記入力のうちの1つとして、前記変数ステータスを使用することをさらに含み、
前記メッセージを符号化することは、前記変数ステータスを含むように、前記メッセージを符号化することをさらに含む、請求項19に記載のシステム。 - 前記回路のセットは、前記メッセージを受信する第3のプロセス制御デバイスが第3のデータ整合性チェックを受信するように、前記メッセージの異なる受信者に対する前記検出値に対する複数のデータ整合性チェックを計算するように構成されており、前記回路のセットは、
前記検出値および第2のシードを入力として使用して、前記データ整合性計算を実行することにより、第3のデータ整合性チェックを計算するように構成されており、
前記メッセージを符号化することは、前記検出値に対する前記第3のデータ整合性チェックを含むように、前記メッセージを符号化することをさらに含み、
前記メッセージを送信することは、前記第3のプロセス制御デバイスによって受信可能であるように、前記メッセージを送信することを含み、前記第3のプロセス制御デバイスは、(i)前記メッセージを受信することと、(ii)前記メッセージ内の前記候補値に対する第4のデータ整合性チェックを計算することと、(iii)前記第3のプロセス制御デバイスにおいて、前記第3および第4のデータ整合性チェックが一致するかどうかに基づいて、前記候補値で前記デバイス変数にマップされたプロセス変数を更新する、または更新しないことと、を行うように構成されている、請求項14に記載のシステム。 - 前記シードは、前記第1のプロセス制御デバイスのシリアル番号と前記第1のプロセス制御デバイスのタグとを組み合わせることによって形成される値であり、前記タグは、前記第1のプロセス制御デバイスが前記プロセス制御環境内の1つ以上の他のデバイスによってアドレス指定可能である識別子である、請求項14に記載のシステム。
- プロセス制御デバイスからのメッセージに含まれるデバイス変数値の整合性を検証するための方法であって、
プロセスを制御するためのプロセス制御環境内の第2のプロセス制御デバイスにおいて、第1のプロセス制御デバイスによって送信されたメッセージを受信することと、
前記メッセージを復号化して、前記メッセージ内で、(i)デバイス変数に対する候補値、および(ii)前記デバイス変数に対する第1のデータ整合性チェックを識別することと、
前記候補値およびシードを入力として使用して、第2のデータ整合性計算を実行することにより、第2のデータ整合性チェックを計算することと、
前記第2のデータ整合性チェックを前記第1のデータ整合性チェックと比較して、前記第2のデータ整合性チェックが前記第1のデータ整合性チェックと一致するかどうかを判定し、それによって、前記候補値が前記第1のデータ整合性チェックの計算に使用された検出値と一致するかどうかを判定することと、
前記デバイス変数にマップされたプロセス変数が前の値を維持するように、前記候補値を破棄することにより、前記第2のデータ整合性チェックが前記第1のデータ整合性チェックと一致しないという判定に応答することと、
前記第2のプロセス制御デバイスにおいて、前記候補値で前記プロセス変数を更新することにより、前記第2のデータ整合性チェックが前記第1のデータ整合性チェックと一致するという判定に応答することと、
前記プロセス変数に従って、前記プロセスのための制御スキームの一部として機能を実装することと、を含む、方法。 - 前記第2のプロセス制御デバイスは、コントローラである、請求項23に記載の方法。
- 前記コントローラ、安全システムのための論理ソルバであり、前記制御スキームは、前記論理ソルバに結合された1つ以上のフィールドデバイスをいつ安全な状態に駆動するかを判定するための安全システムスキームである、請求項24に記載の方法。
- デバイス変数は、第1のデバイス変数であり、前記メッセージを前記復号化することは、前記メッセージを復号化して、前記メッセージ内で、
前記第1のデバイス変数に対する前記候補値を含む、第1のメッセージ部分と、
第2のデバイス変数に対する候補値を含む、第2のメッセージ部分と、
(i)前記第1のデータ整合性チェック、および(ii)前記複数のメッセージ部分のどれに前記第1のデータ整合性チェックが対応するかを示すパラメータを含む、第3のメッセージ部分と、
(i)前記第2のデバイス変数に対する前記候補値に対する第3のデータ整合性チェック、および(ii)前記複数のメッセージ部分のどれに前記第3のデータ整合性チェックが対応するかを示すパラメータを含む、第4のメッセージ部分と、を識別することを含む、請求項23に記載の方法。 - 前記メッセージを復号化することは、
前記デバイス変数が更新されるたびに更新されるように構成されたシーケンスパラメータを識別することをさらに含み、
前記第2のデータ整合性チェックを計算することは、前記データ整合性計算のための前記入力のうちの1つとして、前記シーケンスパラメータを使用することをさらに含む、請求項23に記載の方法。 - 前記シードは、前記第1のプロセス制御デバイスのシリアル番号を含む値である、請求項23に記載の方法。
- プロセス制御デバイスからのメッセージに含まれるデバイス変数値の前記整合性を検証するためのシステムであって、
プロセス制御環境において第1のプロセス制御デバイスに通信可能に結合されるように構成された第2のプロセス制御デバイスを含み、前記第2のプロセス制御デバイスは、
(A)前記第2のプロセス制御デバイスを前記第1のプロセス制御デバイスに通信可能に結合するように構成された通信インターフェースと、
(B)回路のセットであって、前記通信インターフェースに通信可能に結合されており、かつ
前記通信インターフェースを介して、前記第1のプロセス制御デバイスによって送信されたメッセージを受信することと、
前記メッセージを復号化して、前記メッセージ内で、(i)デバイス変数に対する候補値、および(ii)前記デバイス変数に対する第1のデータ整合性チェックを識別することと、
前記候補値およびシードを入力として使用して、第2のデータ整合性計算を実行することにより、第2のデータ整合性チェックを計算することと、
前記第2のデータ整合性チェックを前記第1のデータ整合性チェックと比較して、前記第2のデータ整合性チェックが前記第1のデータ整合性チェックと一致するかどうかを判定し、それによって、前記候補値が前記第1のデータ整合性チェックの計算に使用された検出値と一致するかどうかを判定することと、
前記デバイス変数にマップされたプロセス変数が前の値を維持するように、前記候補値を破棄することにより、前記第2のデータ整合性チェックが前記第1のデータ整合性チェックと一致しないという判定に応答することと、
前記候補値で前記プロセス変数を更新することにより、前記第2のデータ整合性チェックが前記第1のデータ整合性チェックと一致するという判定に応答することと、
前記プロセス変数に従って、前記プロセスのための制御スキームの一部として機能を実装することと、を行うように構成されている、回路のセットと、を含むシステム。 - 前記第2のプロセス制御デバイスは、コントローラである、請求項29に記載のシステム。
- 前記コントローラは、前記プロセスを制御するように構成されたプロセス制御システムのためのプロセスコントローラであり、前記制御スキームは、前記プロセス制御システムのためのプロセス制御スキームである、請求項30に記載のシステム。
- デバイス変数は、第1のデバイス変数であり、前記メッセージを前記復号化することは、前記メッセージを復号化して、前記メッセージ内で、
前記第1のデバイス変数に対する前記候補値を含む、第1のメッセージ部分と、
第2のデバイス変数に対する候補値を含む、第2のメッセージ部分と、
(i)前記第1のデータ整合性チェック、および(ii)前記複数のメッセージ部分のどれに前記第1のデータ整合性チェックが対応するかを示すパラメータを含む、第3のメッセージ部分と、
(i)前記第2のデバイス変数に対する前記候補値に対する第3のデータ整合性チェック、および(ii)前記複数のメッセージ部分のどれに前記第3のデータ整合性チェックが対応するかを示すパラメータを含む、第4のメッセージ部分と、を識別することを含む、請求項29に記載のシステム。 - 前記回路のセットは、
前記デバイス変数が更新されるたびに更新されるように構成されたシーケンスパラメータを識別するようにさらに構成されており、
前記第2のデータ整合性チェックを計算することは、前記データ整合性計算のための前記入力のうちの1つとして、前記シーケンスパラメータを使用することをさらに含む、請求項29に記載のシステム。 - 前記シードは、前記第1のプロセス制御デバイスのシリアル番号を含む値である、請求項29に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/117,814 US11424865B2 (en) | 2020-12-10 | 2020-12-10 | Variable-level integrity checks for communications in process control environments |
US17/117,814 | 2020-12-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022092595A true JP2022092595A (ja) | 2022-06-22 |
Family
ID=80080862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021198329A Pending JP2022092595A (ja) | 2020-12-10 | 2021-12-07 | プロセス制御環境における通信の変数レベルの整合性チェック |
Country Status (5)
Country | Link |
---|---|
US (1) | US11424865B2 (ja) |
JP (1) | JP2022092595A (ja) |
CN (1) | CN114625075A (ja) |
DE (1) | DE102021132493A1 (ja) |
GB (1) | GB2607648A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220413568A1 (en) * | 2021-06-29 | 2022-12-29 | Nvidia Corporation | Power delivery communication system |
Family Cites Families (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3849056A (en) | 1972-11-02 | 1974-11-19 | Combustion Eng | Computer based plant protection system |
US4410329A (en) | 1981-11-06 | 1983-10-18 | General Electric Company | Washing machine with oversuds detection and correction capability |
JPH0650442B2 (ja) | 1983-03-09 | 1994-06-29 | 株式会社日立製作所 | 設備群制御方法およびシステム |
US4598355A (en) | 1983-10-27 | 1986-07-01 | Sundstrand Corporation | Fault tolerant controller |
US4736320A (en) | 1985-10-08 | 1988-04-05 | Foxboro Company | Computer language structure for process control applications, and translator therefor |
US4885717A (en) | 1986-09-25 | 1989-12-05 | Tektronix, Inc. | System for graphically representing operation of object-oriented programs |
US4827423A (en) | 1987-01-20 | 1989-05-02 | R. J. Reynolds Tobacco Company | Computer integrated manufacturing system |
GB2200476B (en) | 1987-01-29 | 1991-02-06 | British Gas Plc | Monitor system |
US5535331A (en) * | 1987-09-04 | 1996-07-09 | Texas Instruments Incorporated | Processor condition sensing circuits, systems and methods |
US4816647A (en) | 1987-11-13 | 1989-03-28 | General Electric Company | Power control for appliance having a glass ceramic cooking surface |
US5051898A (en) | 1988-06-13 | 1991-09-24 | Eda Systems, Inc. | Method for specifying and controlling the invocation of a computer program |
US4972328A (en) | 1988-12-16 | 1990-11-20 | Bull Hn Information Systems Inc. | Interactive knowledge base end user interface driven maintenance and acquisition system |
US5014208A (en) | 1989-01-23 | 1991-05-07 | Siemens Corporate Research, Inc. | Workcell controller employing entity-server model for physical objects and logical abstractions |
US5146401A (en) | 1989-09-05 | 1992-09-08 | Honeywell Inc. | Apparatus for providing a universal interface in a process control system |
GB2275813B (en) | 1989-11-02 | 1995-01-25 | Combustion Eng | Method of data processing and plant operation |
JPH0658624B2 (ja) | 1990-03-30 | 1994-08-03 | インターナショナル・ビシネス・マシーンズ・コーポレーション | グラフィカル・ユーザ・インターフェース管理装置 |
US5168441A (en) | 1990-05-30 | 1992-12-01 | Allen-Bradley Company, Inc. | Methods for set up and programming of machine and process controllers |
US5321829A (en) | 1990-07-20 | 1994-06-14 | Icom, Inc. | Graphical interfaces for monitoring ladder logic programs |
JPH04101201A (ja) | 1990-08-21 | 1992-04-02 | Toshiba Corp | プラント監視制御システム |
US5195098A (en) | 1991-05-10 | 1993-03-16 | Echelon Corporation | Binary data error correction using hint signal |
SE513182C2 (sv) | 1991-06-12 | 2000-07-24 | Icl Systems Ab | Förfarande och system för att revidera data i ett distribuerat datasystem |
US5603018A (en) | 1991-07-15 | 1997-02-11 | Mitsubishi Denki Kabushiki Kaisha | Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats |
US5339430A (en) | 1992-07-01 | 1994-08-16 | Telefonaktiebolaget L M Ericsson | System for dynamic run-time binding of software modules in a computer system |
US5485600A (en) | 1992-11-09 | 1996-01-16 | Virtual Prototypes, Inc. | Computer modelling system and method for specifying the behavior of graphical operator interfaces |
US5420397A (en) | 1992-12-15 | 1995-05-30 | Micro Weiss Electronics, Inc. | Control device and safety circuit for heating pads with PTC heater |
US5649200A (en) | 1993-01-08 | 1997-07-15 | Atria Software, Inc. | Dynamic rule-based version control system |
US5446903A (en) | 1993-05-04 | 1995-08-29 | International Business Machines Corporation | Method and apparatus for controlling access to data elements in a data processing system based on status of an industrial process by mapping user's security categories and industrial process steps |
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 |
US5631825A (en) | 1993-09-29 | 1997-05-20 | Dow Benelux N.V. | Operator station for manufacturing process control system |
US5576946A (en) | 1993-09-30 | 1996-11-19 | Fluid Air, Inc. | Icon based process design and control system |
US5555385A (en) | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
US6038586A (en) | 1993-12-30 | 2000-03-14 | Frye; Russell | Automated software updating and distribution |
US5485620A (en) | 1994-02-25 | 1996-01-16 | Automation System And Products, Inc. | Integrated control system for industrial automation applications |
US5546301A (en) | 1994-07-19 | 1996-08-13 | Honeywell Inc. | Advanced equipment control system |
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 |
US5553237A (en) | 1994-12-13 | 1996-09-03 | Base Ten Systems, Inc. | Safety critical monitoring of microprocessor controlled embedded systems |
US5812394A (en) | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
US5864657A (en) | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US5909368A (en) | 1996-04-12 | 1999-06-01 | Fisher-Rosemount Systems, Inc. | Process control system using a process control strategy distributed among multiple control elements |
US5768119A (en) | 1996-04-12 | 1998-06-16 | Fisher-Rosemount Systems, Inc. | Process control system including alarm priority adjustment |
US5838563A (en) | 1996-04-12 | 1998-11-17 | Fisher-Rosemont Systems, Inc. | System for configuring a process control environment |
US5940294A (en) | 1996-04-12 | 1999-08-17 | Fisher-Rosemont Systems, Inc. | System for assisting configuring a process control environment |
US5984502A (en) | 1996-06-14 | 1999-11-16 | The Foxboro Company | Keypad annunciator graphical user interface |
WO1997049018A1 (en) | 1996-06-19 | 1997-12-24 | Hoechst Celanese Corporation | Multi-tasking process control system and method |
DE19634341A1 (de) | 1996-08-24 | 1998-02-26 | Bosch Gmbh Robert | Verfahren zum Schutz von speicherprogrammierten Steuerungen vor einem Überschreiben |
US6385494B1 (en) | 1996-09-30 | 2002-05-07 | Caterpillar Inc. | System and method for producing production control software |
US5950209A (en) | 1996-10-02 | 1999-09-07 | Alcatel Usa Sourcing, L.P. | Software release control system and method |
US5903897A (en) | 1996-12-18 | 1999-05-11 | Alcatel Usa Sourcing, L.P. | Software documentation release control system |
US6381698B1 (en) | 1997-05-21 | 2002-04-30 | At&T Corp | System and method for providing assurance to a host that a piece of software possesses a particular property |
US5984504A (en) | 1997-06-11 | 1999-11-16 | Westinghouse Electric Company Llc | Safety or protection system employing reflective memory and/or diverse processors and communications |
US6999824B2 (en) | 1997-08-21 | 2006-02-14 | Fieldbus Foundation | System and method for implementing safety instrumented systems in a fieldbus architecture |
US6138174A (en) | 1997-11-24 | 2000-10-24 | Rockwell Technologies, Llc | Industrial control system providing remote execution of graphical utility programs |
US6167316A (en) | 1998-04-03 | 2000-12-26 | Johnson Controls Technology Co. | Distributed object-oriented building automation system with reliable asynchronous communication |
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 |
US6442515B1 (en) | 1998-10-26 | 2002-08-27 | Invensys Systems, Inc. | Process model generation independent of application mode |
US6442512B1 (en) | 1998-10-26 | 2002-08-27 | Invensys Systems, Inc. | Interactive process modeling system |
US6546297B1 (en) | 1998-11-03 | 2003-04-08 | Robertshaw Controls Company | Distributed life cycle development tool for controls |
DE29824256U1 (de) | 1998-12-14 | 2001-06-13 | Wratil Peter | Einheit zur Sicherheitsüberwachung von Steuerungseinrichtungen |
US7206646B2 (en) | 1999-02-22 | 2007-04-17 | Fisher-Rosemount Systems, Inc. | Method and apparatus for performing a function in a plant using process performance monitoring with process equipment monitoring and control |
US6385496B1 (en) | 1999-03-12 | 2002-05-07 | Fisher-Rosemount Systems, Inc. | Indirect referencing in process control routines |
US6584466B1 (en) | 1999-04-07 | 2003-06-24 | Critical Path, Inc. | Internet document management system and methods |
US6647301B1 (en) | 1999-04-22 | 2003-11-11 | Dow Global Technologies Inc. | Process control system with integrated safety control system |
US6515683B1 (en) | 1999-06-22 | 2003-02-04 | Siemens Energy And Automation | Autoconfiguring graphic interface for controllers having dynamic database structures |
US6587108B1 (en) | 1999-07-01 | 2003-07-01 | Honeywell Inc. | Multivariable process matrix display and methods regarding same |
DE19934514C5 (de) | 1999-07-22 | 2013-03-14 | Pilz Gmbh & Co. Kg | Verfahren zum Konfigurieren eines an einen Feldbus angeschlossenen Busteilnehmers |
DE19939567B4 (de) | 1999-08-20 | 2007-07-19 | Pilz Gmbh & Co. Kg | Vorrichtung zum Steuern von sicherheitskritischen Prozessen |
US6415418B1 (en) | 1999-08-27 | 2002-07-02 | Honeywell Inc. | System and method for disseminating functional blocks to an on-line redundant controller |
US6618745B2 (en) | 1999-09-10 | 2003-09-09 | Fisher Rosemount Systems, Inc. | Linking device in a process control system that allows the formation of a control loop having function blocks in a controller and in field devices |
US6477435B1 (en) | 1999-09-24 | 2002-11-05 | Rockwell Software Inc. | Automated programming system for industrial control using area-model |
US6445963B1 (en) | 1999-10-04 | 2002-09-03 | Fisher Rosemount Systems, Inc. | Integrated advanced control blocks in process control systems |
CA2322113A1 (en) | 1999-10-04 | 2001-04-04 | Pitney Bowes Inc. | System and method for managing user permissions for accessing functionality of multiple software applications |
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 |
US6775707B1 (en) | 1999-10-15 | 2004-08-10 | Fisher-Rosemount Systems, Inc. | Deferred acknowledgment communications and alarm management |
US6687698B1 (en) | 1999-10-18 | 2004-02-03 | Fisher Rosemount Systems, Inc. | Accessing and updating a configuration database from distributed physical locations within a process control system |
US6449624B1 (en) | 1999-10-18 | 2002-09-10 | Fisher-Rosemount Systems, Inc. | Version control and audit trail in a process control system |
US6631476B1 (en) | 1999-12-22 | 2003-10-07 | Rockwell Automation Technologies, Inc. | Safety network for industrial controller providing redundant connections on single media |
US6721900B1 (en) | 1999-12-22 | 2004-04-13 | Rockwell Automation Technologies, Inc. | Safety network for industrial controller having reduced bandwidth requirements |
US6684385B1 (en) | 2000-01-14 | 2004-01-27 | Softwire Technology, Llc | Program object for use in generating application programs |
US7130701B1 (en) | 2000-05-24 | 2006-10-31 | Schneider Automation Inc. | System for remote configuration monitoring of an industrial control system |
US7069580B1 (en) | 2000-06-16 | 2006-06-27 | Fisher-Rosemount Systems, Inc. | Function-based process control verification and security in a process control system |
US6647315B1 (en) | 2000-09-29 | 2003-11-11 | Fisher-Rosemount Systems, Inc. | Use of remote soft phases in a process control system |
US7113085B2 (en) | 2000-11-07 | 2006-09-26 | Fisher-Rosemount Systems, Inc. | Enhanced device alarms in a process control system |
JP3997988B2 (ja) | 2001-05-31 | 2007-10-24 | オムロン株式会社 | 安全ユニット及びコントローラシステム並びにコントローラの連結方法及びコントローラシステムの制御方法 |
US6915444B2 (en) | 2001-09-12 | 2005-07-05 | Rockwell Automation Technologies, Inc. | Network independent safety protocol for industrial controller using data manipulation techniques |
US7107358B2 (en) | 2001-09-12 | 2006-09-12 | Rockwell Automation Technologies, Inc. | Bridge for an industrial control system using data manipulation techniques |
EP1479007B1 (en) | 2002-02-07 | 2018-01-10 | Invensys Systems, Inc. | System and method for authentication and fail-safe transmission of safety messages |
US7289861B2 (en) | 2003-01-28 | 2007-10-30 | Fisher-Rosemount Systems, Inc. | Process control system with an embedded safety system |
US7076312B2 (en) | 2002-08-02 | 2006-07-11 | Fisher-Rosemount Systems, Inc. | Integrated electronic signatures for approval of process control and safety system software objects |
US6928328B2 (en) | 2002-08-02 | 2005-08-09 | Fisher-Rosemount Systems, Inc. | Integrated electronic signatures for approval of process control system software objects |
DE10247520A1 (de) | 2002-10-11 | 2004-04-22 | Siemens Ag | Verfahren und Einrichtung zur Prozessautomatisierung mit Steuergeräten zur Ansteuerung von Peripheriegeräten über ein Bussystem |
SE0203819D0 (sv) | 2002-12-19 | 2002-12-19 | Abb As | Method to increase the safety integrity level of a control system |
US7237109B2 (en) | 2003-01-28 | 2007-06-26 | Fisher- Rosemount Systems, Inc. | Integrated security in a process plant having a process control system and a safety system |
US6975966B2 (en) | 2003-01-28 | 2005-12-13 | Fisher-Rosemount Systems, Inc. | Integrated diagnostics in a process plant having a process control system and a safety system |
US7865251B2 (en) | 2003-01-28 | 2011-01-04 | Fisher-Rosemount Systems, Inc. | Method for intercontroller communications in a safety instrumented system or a process control system |
US8738971B2 (en) * | 2011-12-07 | 2014-05-27 | Arm Limited | Limiting certain processing activities as error rate probability rises |
US9397836B2 (en) * | 2014-08-11 | 2016-07-19 | Fisher-Rosemount Systems, Inc. | Securing devices to process control systems |
US11363035B2 (en) * | 2015-05-22 | 2022-06-14 | Fisher-Rosemount Systems, Inc. | Configurable robustness agent in a plant security system |
US10740186B2 (en) * | 2017-05-15 | 2020-08-11 | The Boeing Company | High data integrity processing system |
CN107480986B (zh) * | 2017-08-14 | 2019-08-09 | 飞天诚信科技股份有限公司 | 一种利用硬件实现数字货币钱包的方法及硬件钱包 |
US11531381B2 (en) * | 2018-09-28 | 2022-12-20 | Fisher-Rosemount Systems, Inc. | Smart functionality for discrete field devices and signals |
DE102019106049A1 (de) * | 2019-03-08 | 2020-09-10 | Krohne Messtechnik Gmbh | Verfahren zur sicheren Kommunikation zwischen einem Feldgerät der Automatisierungstechnik und einem Endgerät sowie System zur sicheren Kommunikation zwischen einem Feldgerät und einem Endgerät |
US11316706B2 (en) * | 2019-04-16 | 2022-04-26 | Mastercard International Incorporated | Method and system for using dynamic private keys to secure data file retrieval |
-
2020
- 2020-12-10 US US17/117,814 patent/US11424865B2/en active Active
-
2021
- 2021-12-07 JP JP2021198329A patent/JP2022092595A/ja active Pending
- 2021-12-08 GB GB2117694.6A patent/GB2607648A/en active Pending
- 2021-12-09 DE DE102021132493.9A patent/DE102021132493A1/de active Pending
- 2021-12-10 CN CN202111507155.0A patent/CN114625075A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102021132493A1 (de) | 2022-06-15 |
CN114625075A (zh) | 2022-06-14 |
GB202117694D0 (en) | 2022-01-19 |
US11424865B2 (en) | 2022-08-23 |
US20220190962A1 (en) | 2022-06-16 |
GB2607648A (en) | 2022-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032066B2 (en) | Method for tamper-proof storage of data of a field device | |
US7237109B2 (en) | Integrated security in a process plant having a process control system and a safety system | |
US7330768B2 (en) | Integrated configuration in a process plant having a process control system and a safety system | |
JP6225244B2 (ja) | 油田処理制御システム | |
US6975966B2 (en) | Integrated diagnostics in a process plant having a process control system and a safety system | |
US20100004761A1 (en) | Distributed and adaptive smart logic with multi-communication apparatus for reliable safety system shutdown | |
US20160085237A1 (en) | Information controller, information control system, and information control method | |
US10505786B2 (en) | Root cause analysis of failure to meet communication requirements in a process control system | |
CN103053131A (zh) | 用于防篡改地传输控制数据的方法和*** | |
US10185291B2 (en) | System and method for shutting down a field device | |
US20150229660A1 (en) | Method for Monitoring Security in an Automation Network, and Automation Network | |
US20210092097A1 (en) | Whitelisting for HART Communications in a Process Control System | |
US20110264396A1 (en) | Electrical circuit with physical layer diagnostics system | |
JP2022092595A (ja) | プロセス制御環境における通信の変数レベルの整合性チェック | |
US20200096962A1 (en) | Field Device and Method for Parameterizing the Field Device | |
US20210092107A1 (en) | Secure off-premises access of process control data by a mobile device | |
Patel et al. | Real-time, simulation-based identification of cyber-security attacks of industrial plants | |
CN116601571A (zh) | 针对边缘设备与基于云的服务平台之间的连接的蜜罐 | |
US11732820B2 (en) | Activating trip functions of a safety valve positioner by way of a control panel to achieve a safe state | |
US20220373991A1 (en) | Self-testing automation system |