(57)【要約】被制御装置からの入力信号を受け取り、かつ被制御装置における少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号決定に際して前記入力信号を使用するプロセス制御システム。ここに当該装置の一般制御用ソースコードおよび装置の安全遮断システム用ソースコードは統一されたコンパイルにおける制御コードにコンパイルされる。
2004502205.tif 000002
【特許請求の範囲】
【請求項１】
被制御装置からの入力信号を受け取り、かつ、前記被制御装置における少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するプロセス制御システムであって、前記装置の一般制御用ソースコード及び前記装置の安全遮断用ソースコードが統一コンパイルにおける前記制御システム用制御コードにコンパイルされることを特徴とするプロセス制御システム。
【請求項２】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセス制御システムであって、
少なくとも１つの安全完全性プログラミングソースコードセクション及び少なくとも１つの一般制御ソースコードセクションを有するアプリケーションプログラムインスタンスと、
前記アプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換するための安全完全性プログラミング規則集合を有するコンパイルトランスレータと、
によって特徴付けられるプロセス制御システム。
【請求項３】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセス制御システムであって、
安全完全性プログラミングソースコードからコンパイルされた第１マシンオペレーションコードと、
一般制御ソースコードからコンパイルされた第２マシンオペレーションコードと、
前記第１マシンオペレーションコードおよび前記第２マシンオペレーションコードは前記プロセス制御システムにおける同一制御コンピュータにおいて実行することと、
によって特徴付けられるプロセス制御システム。
【請求項４】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセス制御システムであって、
設計通りに前記制御コンピュータに本質的に完全に適合して前記マシンオペレーションコードを実行するために前記制御コンピュータのリアルタイム能力を評価する手段と、
前記リアルタイム能力が受容されないときに前記マシンオペレーションコードのリアルタイムサイクル部分の実行を停止する手段と、
によって特徴付けられるプロセス制御システム。
【請求項５】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定する制御コンピュータにおいてマシンオペレーションコードを実行するプロセス制御システムであって、
前記マシンオペレーションコードの非可変部分を特徴付けるコンパイラ標示データ値を定義する手段と、
前記コンパイラ標示データ値を前記制御コンピュータへロードする手段と、
前記プログラムメモリセクション内の前記マシンオペレーションコードを特徴付けるリアルタイム標示データ値を定義する手段と、
前記リアルタイム標示データ値と前記コンパイルトランスレータ標示データ値を比較する手段と、
前記コンパイルトランスレータ標示データ値と前記リアルタイム標示データ値とが値において異なるときに、前記マシンオペレーションコードのリアルタイム実行を停止する手段と、
によって特徴付けられるプロセス制御システム。
【請求項６】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセス制御システムであって、
アプリケーションプログラムインスタンスをマシンオペレーションコードに変換するコンパイルトランスレータと、
前記マシンオペレーションコードを保持するためのメモリを有し、前記出力信号を生成する制御コンピュータと、
前記制御コンピュータ、前記マシンオペレーションコードにおける手順および構造と、安全完全性レベル必要条件との間の協調作用を保証する前記コンパイルトランスレータにおける安全完全性プログラミング規則集合と、
前記安全完全性プログラミングセクションにおいて使用するための安全ドメイン属性パラメータ集合を有する第１プロセスユニットステップデータオブジェクトタイプと、
前記安全完全性プログラミングセクション外の前記メモリにおいて使用するための正常操作属性パラメータ集合を有する第２プロセスユニットステップデータオブジェクトタイプと
によって特徴付けられるプロセス制御システム。
【請求項７】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセス制御システムであって、アプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換するために付属コンパイルトランスレータが用いられ、
アプリケーションプログラムインスタンスをマシンオペレーションコードに変換するためのコンパイルトランスレータと、
前記マシンオペレーションコードを保持するためのメモリを有し、前記出力信号を生成する制御コンピュータと、
前記制御コンピュータ、前記マシンオペレーションコードにおける手順および構造と、安全完全性レベル必要条件との間の協調作用を保証する前記コンパイルトランスレータにおける安全完全性プログラミング規則集合と、
前記アプリケーションプログラムインスタンスの機能タイプステートメントを前記安全完全性プログラミングセクションに関する入力および出力信号の第１リストに翻訳するための前記コンパイルトランスレータにおける手段と、
前記機能タイプステートメントには関係なく、前記安全完全性プログラミングセクションに関する前記アプリケーションプログラムインスタンスにおける入力および出力信号の第２リストを定義するための前記コンパイルトランスレータにおける手段と、
前記第１リスト内の前記値と前記第２リスト内の前記値とを比較するための前記コンパイルトランスレータにおける手段と、
前記第１リストと前記第２リストとがそれらが含む値において異なる場合に前記マシンオペレーションコードの生成を抑制するためのコンパイルトランスレータにおける手段と、
によって特徴付けられるプロセス制御システム。
【請求項８】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行する制御コンピュータであって、アプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換するために付属コンパイルトランスレータが用いられ、前記制御コンピュータがリアルタイムにおいて非可変である前記マシンオペレーションコードの部分を保持するプログラムメモリセクションを有し、
前記制御コンピュータ、前記マシンオペレーションコードにおける手順および構造と、安全完全性レベル必要条件との間の協調作用を保証する前記コンパイルトランスレータにおける安全完全性プログラミング規則集合と、
前記アプリケーションプログラムインスタンスの機能タイプステートメントを前記安全完全性プログラミングセクションに関する入力および出力信号の第１リストに翻訳するための前記コンパイルトランスレータにおける手段と、
前記プログラムメモリセクションに関して前記マシンオペレーションコードを特徴付けるコンパイルトランスレータ標示データ値を定義するための前記コンパイルトランスレータにおける手段と、
前記機能タイプステートメントには関係なく、前記安全完全性プログラミングセクションに関する前記アプリケーションプログラムインスタンスにおける入力および出力信号の第２リストを定義するための前記コンパイルトランスレータにおける手段と、
前記第１リスト内の前記値と前記第２リスト内の前記値とを比較するための前記コンパイルトランスレータにおける手段と、
前記第１リストと前記第２リストとがそれらが含む値において異なる場合に前記マシンオペレーションコードの生成を抑制するためのコンパイルトランスレータにおける手段と、
前記プログラムメモリセクションにおける前記マシンオペレーションコードを特徴付けるリアルタイム標示データ値を定義し、前記リアルタイム標示データ値と前記コンパイルトランスレータ標示データ値を比較するための前記制御コンピュータにおける手段と、
前記コンパイルトランスレータ標示データ値と前記リアルタイム標示データ値とが値において異なるときに前記マシンオペレーションコードのリアルタイム実行を停止するための前記制御コンピュータにおける手段と、
によって特徴付けられるプロセス制御コンピュータ。
【請求項９】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセス制御システムであって、
アプリケーションプログラムインスタンスをマシンオペレーションコードに変換するためのコンパイルトランスレータと、
前記マシンオペレーションコードを保持するためのメモリを有し、前記出力信号を生成する制御コンピュータと、
前記制御コンピュータ、前記マシンオペレーションコードにおける手順および構造と、安全完全性レベル必要条件との間の協調作用を保証する前記コンパイルトランスレータにおける安全完全性プログラミング規則集合と、
前記安全完全性プログラミングセクションにおいて使用するための優先属性パラメータであって、複数の優先順位レベルをサポートする前記優先属性パラメータを有する制限された遮断状態プロセス制御オブジェクトタイプと、
によって特徴付けられるプロセス制御システム。
【請求項１０】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセス制御システムであって、
前記マシンオペレーションコードを保持し、かつ、前記出力信号を生成するためのメモリであって、一次メモリ及びシャドウメモリを有するメモリを備える制御コンピュータと、
前記一次メモリ内のデータ値と前記シャドウメモリ内の個別データ値とを比較する手段と、
前記一次メモリ内の前記データ値と前記シャドウメモリ内の前記個別データ値とが異なっていることが前記比較手段によって決定されたときに、前記制御コンピュータを停止する手段と、
によって特徴付けられるプロセス制御システム。
【請求項１１】
請求項２乃至９のいずれかに記載のプロセス制御システムにおいて、
一次メモリ及びシャドウメモリを有する第１前記制御コンピュータであって、前記入力信号を読取るために前記マシンオペレーションコードを実行し、かつ、第１調停済み入力値から第１プロセス制御信号を決定する第１前記制御コンピュータと、
一次メモリ及びシャドウメモリを有する第２前記制御コンピュータであって、前記入力信号を読取るために前記マシンオペレーションコードを実行し、かつ、第２調停済み入力値から第２プロセス制御信号を決定する第２前記制御コンピュータと、
前記入力信号の双方向性伝送を可能にするために前記第１制御コンピュータおよび前記第２制御コンピュータに接続された双方向通信チャネルと、
前記第２制御コンピュータから伝送された前記入力信号および前記第１制御コンピュータによって読取られた前記入力信号から前記第１制御コンピュータ内の前記第１調停済み入力値を決定する手段と、
前記第１制御コンピュータから伝送された前記入力信号および前記第２制御コンピュータによって読取られた前記入力信号から前記第２制御コンピュータ内の前記第２調停済み入力値を決定する手段と、
前記第１プロセス制御信号と前記第２プロセス制御信号とを１つの前記出力信号として合わせて前記制御デバイスに結合する手段と、
を備えているシステム。
【請求項１２】
請求項３乃至９のいずれかに記載のプロセス制御システムにおいて、前記制御コンピュータは、
少なくとも１つの前記出力信号に対する少なくとも１つのデジタル信号のデジタルアドレス及び関連集合を定義する手段と、
前記出力信号を前記制御デバイスへ出力する出力回路と、
前記デジタル信号の前記集合を単一アナログ信号に変換するための前記コンピュータプロセッサに接続された第１Ｄ／Ａ回路と、
前記第１Ｄ／Ａ回路を前記出力回路へインターフェイスする多重化回路であって、前記デジタルアドレスを受け取るためのアドレス入力を有する多重化回路と、
前記デジタルアドレスをアドレス値アナログ信号に変換するための第２Ｄ／Ａ回路と、
前記アドレス値アナログ信号を１組のアドレス値デジタル信号に変換するために前記第２Ｄ／Ａ回路を前記コンピュータプロセッサへインターフェイスするＡ／Ｄ回路と、
前記１組のアドレス値デジタル信号と前記デジタルアドレスを比較する手段と、
前記１組のアドレス値デジタル信号と前記デジタルアドレスとが同じであることが前記比較手段によって決定されない場合に、前記コンピュータプロセッサにおける前記マシンオペレーションコードのリアルタイム実行を停止する手段と、
を備えているプロセス制御システム。
【請求項１３】
請求項３，４，及び９のいずれかに記載のプロセス制御システムにおいて、前記マシンオペレーションコードは、コンパイルトランスレータによってアプリケーションプログラムインスタンスからコンパイルされ、前記コンパイルトランスレータは、
前記制御コンピュータ、前記マシンオペレーションコードにおける手順および構造と、安全完全性レベル必要条件との間の協調作用を提供する安全完全性プログラミング規則集合と、
前記安全完全性プログラミング規則集合に依存して第１プロセスユニットステップデータオブジェクトをコンパイルする手段と、
前記安全完全性プログラミング規則集合に関係なく第２プロセスユニットステップデータオブジェクトをコンパイルする手段と、
を備えている制御システム。
【請求項１４】
請求項１３に記載の制御コンピュータにおいて、前記アプリケーションプログラムインスタンスは安全完全性プログラミングセクションを有し、前記コンパイルトランスレータは、
前記アプリケーションプログラムインスタンスの機能タイプステートメントを前記安全完全性プログラミングセクションに対する入力および出力信号の第１リストに翻訳する手段と、
前記機能タイプステートメントに関係なく、前記安全完全性プログラミングセクションに対する前記アプリケーションプログラムインスタンスにおける入力および出力信号の第２リストを定義する手段と、
前記第１リスト内の値と前記第２リスト内の値とを比較する手段と、
前記第１リストと前記第２リストとがそれらのそれぞれのリストの値において異なる場合に前記マシンオペレーションコードのコンパイルを抑制する手段と、
を備えている制御コンピュータ。
【請求項１５】
請求項１３に記載の制御コンピュータにおいて、前記コンパイルトランスレータは、複数の優先順位レベルをサポートする優先属性パラメータを有する制限された遮断プロセス制御オブジェクトタイプをコンパイルする手段を更に備えている制御コンピュータ。
【請求項１６】
請求項３乃至９のいずれかに記載の制御コンピュータにおいて、
一次メモリ及びシャドウメモリと、
前記一次メモリ内のデータ値と前記シャドウメモリ内の個別データ値とを比較する手段と、
前記一次メモリ内のデータ値と前記シャドウメモリ内の個別データ値とが異なるときに前記制御コンピュータを停止する手段と、
を備えている制御コンピュータ。
【請求項１７】
製造設備から入力信号を受け取り、かつ、前記製造設備における少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセスであって、
安全ドメイン規則集合および標準操作規則集合を使用するコンパイルトランスレータによって前記マシンオペレーションコードを生成するステップと、
前記出力信号決定を実行するために前記マシンオペレーションコードを制御コンピュータにロードするステップと、
によって特徴付けられるプロセス。
【請求項１８】
製造設備から入力信号を受け取り、かつ、前記製造設備における少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行する制御プロセスであって、
安全完全性プログラミングソースコードから第１マシンオペレーションコードをコンパイルするステップと、
一般制御ソースコードから第２マシンオペレーションコードをコンパイルするステップと、
前記入力信号を受け取り、かつ、前記個別制御デバイスを調節するために前記第１マシンオペレーションコード及び前記第２マシンオペレーションコードを同一の制御コンピュータにおいて実行するステップと、
によって特徴付けられるプロセス。
【請求項１９】
製造設備から入力信号を受け取り、かつ、前記製造設備における少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセスであって、
前記制御コンピュータの設計に本質的に完全に適合して前記マシンオペレーションコードを実行するために前記制御コンピュータのリアルタイム能力を評価するステップと、
前記リアルタイム能力が受容されないときに前記出力信号を中止するステップと、
によって特徴付けられるプロセス。
【請求項２０】
製造設備から入力信号を受け取り、かつ、前記製造設備における少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定する制御コンピュータにおいてマシンオペレーションコードを実行するプロセスであって、
前記制御コンピュータの設計に実質的に完全に適合して前記マシンオペレーションコードを実行するために前記制御コンピュータのリアルタイム能力を評価するステップと、
前記リアルタイム能力が受容されないときに前記マシンオペレーションコードのリアルタイムサイクル部分の実行を停止するステップと、
によって特徴付けられるプロセス。
【請求項２１】
製造設備から入力信号を受け取り、かつ、前記製造設備における少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定する制御コンピュータにおいてマシンオペレーションコードを実行する制御プロセスであって、
前記マシンオペレーションコードの非可変部分を特徴付けるコンパイラ標示データ値を定義するステップと、
前記コンパイラ標示データ値を前記制御コンピュータへロードするステップと、
前記制御コンピュータにおいて、前記マシンオペレーションコードの前記非可変部分を特徴付けるリアルタイム標示データ値を定義するステップと、
前記リアルタイム標示データ値と前記コンパイルトランスレータ標示データ値とを比較するステップと、
前記コンパイルトランスレータ標示データと前記リアルタイム標示データ値とが値において異なるときに、前記制御デバイスが、コンパイルされたマシンオペレーションコードに適合するマシンオペレーションコードによって調節されるように前記マシンオペレーションコードのリアルタイムサイクル部分を停止するステップと、
によって特徴付けられるプロセス。
【請求項２２】
製造設備から入力信号を受け取り、かつ、前記製造設備における少なくとも１つの個別制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセスであって、
少なくとも２つのプロセスユニットステップオブジェクトを有するアプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換するステップと、
第１制御コンピュータにおいて前記マシンオペレーションコードを実行するステップと、
第２制御コンピュータにおいて前記マシンオペレーションコードを実行するステップと、
前記アクティブプロセスユニットステップを現行プロセスユニットステップから新規プロセスユニットステップに変更するために前記第１制御コンピュータにおいて第１提案済みプロセスユニットステップを定義するステップと、
前記アクティブプロセスユニットステップを現行プロセスユニットステップから新規プロセスユニットステップに変更するために前記第２制御コンピュータにおいて第２提案済みプロセスユニットステップを定義するステップと、
各制御コンピュータが両方の提案済みプロセスユニットステップを含むように前記第１制御コンピュータと前記第２制御コンピュータとの間で前記第１及び第２提案済みプロセスステップを双方向に伝送するステップと、
次のプロセスユニットステップを定義するために前記第１制御コンピュータにおいて前記第１及び第２提案済みプロセスユニットステップを調停するステップと、
次のプロセスユニットステップを定義するために前記第２制御コンピュータにおいて前記第１及び第２提案済みプロセスユニットステップを調停するステップと、
各制御コンピュータにおいて前記次のプロセスユニットステップを新規現行プロセスユニットステップとして実行するステップと、
によって特徴付けられるプロセス。
【請求項２３】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセスであって、関連コンパイルトランスレータは、アプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換し、
前記制御コンピュータ、前記マシンオペレーションコードにおける手順および構造と、安全完全性レベル必要条件との間における協調作用を保証するために、前記コンパイルトランスレータにおいて、前記アプリケーションプログラムインスタンスの機能タイプステートメントを、前記コンパイルトランスレータにおける安全完全性プログラミング規則集合に対する入力および出力信号の第１リストに翻訳するステップと、
前記機能タイプステートメントには関係なく、前記コンパイルトランスレータにおいて、前記安全完全性プログラミングセクションに対する前記アプリケーションプログラムインスタンスにおける入力および出力信号の第２リストを定義するステップと、
前記コンパイルトランスレータにおいて、前記第１リスト内の値と前記第２リスト内の値とを比較するステップと、
前記第１リストと前記第２リストとがそれらが含む値において異なる場合に、前記コンパイルトランスレータにおいて、前記マシンオペレーションコードの生成を抑制するステップと、
実行するために前記マシンオペレーションコードを制御コンピュータへロードするステップと、
によって特徴付けられるプロセス。
【請求項２４】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行する制御コンピュータ実行プロセスであって、
前記制御コンピュータにおいて安全ドメイン属性パラメータを有する第１プロセスユニットステップデータオブジェクトタイプを使用するステップと、
前記制御コンピュータにおいて標準操作属性パラメータを有する第２プロセスユニットステップデータオブジェクトタイプを使用するステップと、
によって特徴付けられる制御コンピュータ実行プロセス。
【請求項２５】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセスであって、
制限された遮断状態プロセス制御オブジェクトタイプを用いて前記マシンオペレーションコードをコンパイルするステップによって特徴付けられるプロセス。
【請求項２６】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセスであって、
ブール演算子タイプ及び安全ドメインブール演算子タイプを用いてコンパイルトランスレータにより前記マシンオペレーションコードを生成するステップと、
前記出力信号を生成するために制御コンピュータにおいて前記マシンオペレーションコードを実行するステップと、
によって特徴付けられるプロセス。
【請求項２７】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセスであって、
一次メモリを有し、プロセス制御信号を生成する制御コンピュータを提供するステップと、
前記制御コンピュータにシャドウメモリを提供するステップと、
リアルタイムで読取りアクセスされたときに、前記一次メモリ内のデータ値と前記シャドウメモリ内の個別データ値とを比較するステップと、
前記一次メモリ内の前記データ値と前記シャドウメモリ内の前記個別データ値とが異なることが前記比較手段によって決定されたときに、前記制御コンピュータを停止するステップと、
前記プロセス制御信号を前記出力信号として前記制御デバイスへ印加するステップと、
によって特徴付けられるプロセス。
【請求項２８】
製造設備から入力信号を受け取り、かつ、前記製造設備内の少なくとも１つの個別制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行するプロセスであって、
前記コンパイルトランスレータ内に埋め込まれ、前記制御コンピュータ、前記マシンオペレーションコードにおける手順および構造と、安全完全性レベル必要条件との間における協調作用を保証する安全完全性プログラミングセクションの使用によりアプリケーションプログラムインスタンスを前記マシンオペレーションコードインスタンスに変換するステップと、
一次メモリ及びシャドウメモリを有する第１制御コンピュータであって、前記入力信号を読み取り、かつ第１調停済み入力値から第１プロセス制御信号を生成する第１制御コンピュータにおいて前記マシンオペレーションコードを実行するステップと、
一次メモリ及びシャドウメモリを有する第２制御コンピュータであって、前記入力信号を読み取り、かつ第２調停済み入力値から第２プロセス制御信号を生成する第２制御コンピュータにおいて前記マシンオペレーションコードを実行するステップと、
前記第１制御コンピュータと前記第２制御コンピュータとの間において前記入力信号を双方向に伝送するステップと、
前記第２制御コンピュータから伝送された入力信号および前記第１制御コンピュータによって読取られた入力信号から前記第１制御コンピュータにおいて前記第１調停済み入力値を決定するステップと、
前記第１制御コンピュータから伝送された入力信号および前記第２制御コンピュータによって読取られた入力信号から前記第２制御コンピュータにおいて前記第２調停済み入力値を決定するステップと、
第１プロセス制御信号と第２プロセス制御信号とを合わせて１つの前記出力信号として前記制御デバイスに結合するステップと、
によって特徴付けられるプロセス。
【請求項２９】
前記マシンオペレーションコード実行ステップは、第１制御コンピュータにおいて前記マシンオペレーションコードの第１インスタンスを、第２制御コンピュータにおいて前記マシンオペレーションコードの第２インスタンスを冗長に実行する請求項１７乃至２１及び２３乃至２７のいずれかに記載のプロセス。
【請求項３０】
前記マシンオペレーションコード実行ステップは、第１制御コンピュータにおいて前記マシンオペレーションコードの第１インスタンスを、第２制御コンピュータにおいて前記マシンオペレーションコードの第２インスタンスを、第３制御コンピュータにおいて前記マシンオペレーションコードの第３インスタンスを冗長に実行する請求項１７乃至２１及び２３乃至２７のいずれかに記載のプロセス。
【請求項３１】
両方の制御コンピュータがそれらの出力制御電圧を同一出力線上のそれぞれ１つの前記制御デバイスに同時に印加するように、前記冗長マシンオペレーションコードがアクティブな冗長度において実行される請求項２９に記載のプロセス。
【請求項３２】
前記第１、第２及び第３制御コンピュータがそれらの出力制御電圧を同一出力線上のそれぞれ１つの制御デバイスに同時に印加するように、前記冗長マシンオペレーションコードがアクティブな冗長度において実行される請求項３０に記載のプロセス。
【発明の詳細な説明】
【０００１】
本発明は安全機能に関して特に関心が持たれる制御システムに関する。
【０００２】
幾つかのプロセス制御システムにおいては、プロセス制御システムによって制御される装置における安全必要条件に適合するために、一般プロセス制御システムおよび第２付加安全遮断（シャットダウン）コンピュータシステムの両方が用いられる。この種安全必要条件は、例えばＩＥＣ　６１５０８（国際電気機械委員会規格６１５０８）第１から７部まで；ＶＤＥ　０８０１（ドイツ技術規格０８０１）ＡＫ１から６まで；ＤＩＮ（ドイツ正規化協会規格）０１１６、第８．７章；ＤＩＮ　Ｖ　１９２５０、ＡＫ１から６まで；ＥＮ（欧州規格）２９８、第９、及び、１０章；ＥＮ　６１０１０−１；ＥＮ　５００８１−２；ＥＮ　５５０１１；及びＥＮ　５５０２２などの文書化された規格において正式化されている。同様に、プロセス制御安全必要条件も、例えば米国における２９　Ｃ．Ｆ．Ｒ．１９１０．１１９などの規定に正式化されている。
【０００３】
正式化された各必要条件に関しては、システムの正式化された受容性を決定する際に、「保証」として知られているプロセスが用いられる。証明プロセスは（ａ）システムの設計と（ｂ）システムの構成、改変、及び、使用における組織による実施と（ｃ）正式化された必要条件との間の適合性を調べる。「保証」、及び、ＩＥＯ　６１５０８に関しては、ＳＩＬ（安全統合性レベル）として知られている受容性に関する４レベルが定義されている。即ち、ＳＩＬ１は幾らかの些細なリスクを持つプロセスに該当し、ＳＩＬ４は潜在的な高いリスクを持つプロセス（例えば、自動制御された公共輸送システムまたは自動制御された原子力発電所）に該当する。「保証」は、一般に、「保証された」システムが用いられる社会において、この種審査に関して信頼性を持つ訓練された「保証機関」によって行われる。この種の「保証機関」の一例としてはドイツのミュンヘンに本社を置くＴＵＶ　Ｂａｙｅｒｎが挙げられる。
【０００４】
許容される管理解決策の提供に際しては、どちらかと言えばリスクの高いプロセスにおいては、一般プロセス制御システムにおいて比較対象とされ得る属性よりも優れた強靭さ及びリアルタイム診断的精巧さを持つために、しばしば、安全遮断システムが必要とされる。また、一般に臨界的パラメータを修正するためのオペレータの能力範囲においては、安全遮断システムの方が一般プロセス制御システムよりも更に安全である。この点に関して、安全遮断コンピュータのデータスペース空間へのアクセスには安全保管された物理的なロック及びキーが使用される。安全遮断コンピュータシステム設計は、一般プロセス制御システム設計とは幾分異なる経路をたどる。即ち、これはシステムの操作およびプログラミング属性において通常と異なることに帰着する。この種システムとそれらの通常的でない操作およびプログラミング属性の同時使用は一般に効果的であるとされているが、欠陥がある。エンジニア、監督者、及び、オペレータは、添付された通常と異なる操作およびプログラミング属性に関して習熟していなければならず、或る状況においては、通常と異なる操作上の及びプログラミング属性にそれぞれ基づく機能が相互作用するので、２つのシステムが全体として制御を実施する仕方について広範囲に亙って理解することは混乱を生じる。また、安全遮断コンピュータシステムの使用が組み込まれたプロセス制御システムは２つの異なるシステムにおいて異なる時間に使用される密接に関連した潜在的に多様性を有する制御コンピュータが実行するロジック集合の編集を可能化する。統一された許可権限の下における時間的な１点においてロジック的に統一された制御システムを状況が特性付けることはない。「潜在的に多様性をもつ」とは、プログラミングエンジニアに許可された安全上のアクセスレベルにおいて変更され得ると合理的に予測可能なロジックの当該部分を意味する。読取り専用メモリチップ（ＲＯＭ）は、コンパイルプロセスから導出されたロジックをしばしば提供するが、制御コンピュータロジックへの定例的増分（インクリメント）修正が新規ＲＯＭ生成およびＲＯＭ構成変更プロセスを含まない限り、この点に関して「潜在的多様性」を持たない。統一された許可権限の下において、時間的な１点においてロジック的に統一された制御システム（即ち、ここでは、当該装置の一般制御に関して潜在的に多様性を有する全てのソースコード及び当該装置の安全遮断システムに関して潜在的に多様性を有する全てのソースコードが同一コンパイルインスタンスにおいてマシンオペレーションコードにコンパイルされるコンパイルされる）が複雑な管理機能において理想的に望ましい。最終的に、２つの異なるシステムに関して１つのサポートベースを提供することは、通常、１つのシステムに関する場合よりも更に高価であり、この種の余分な費用は資源の効率的使用を混乱させる。
【０００５】
前述の問題解決に必要なことは、プロセス制御の安全関連態様及びプロセス制御の一般態様の両方を実行するために統一された１つの単一システムを提供することである。そのための迅速な解決策は全ての制御上の必要性のために安全実施可能なシステムを使用することである。ただし、機能を一般制御する場合、ならびに、その（機能の）安全遮断を提供する場合に安全実施可能システム（しばしば、物理的３重冗長性をもつ）を使用することは、１つのＩ／Ｏ点当たりに必要な資本を増大させるので、高価である。従って、一方において、１つの単一統合システムの問題に技術的解決策を提供し、同時に、全ての制御に関して安全遮断システムを使用することは一般に当該問題の効率的な解決策ではない。従って、前述の問題解決に真に必要かつ望ましいことは、（ａ）安全関連プロセス制御および（ｂ）一般的プロセス制御の両方を実行できる１つの経済的に実現可能な統合された単一システムを提供することである。本発明は、一方において、装置の一般プロセス制御を実行可能な統一されたシステムを提供することにより、この必要性に解決策を提供し、同時に、他方において、（更に、保証機関によって受入れ可能な制御システムの作成、改変、及び、使用に関してそれぞれ組織的および工学的処理を結合させ）少なくとも安全完全性レベル３（ＳＩＬ１、ＳＩＬ２、ＳＩＬ３）適合を達成するために（ａ）バーナ及び火力利用装置安全遮断の実行、および、（ｂ）安全管理および安全統合システム解決策の実行に用いられる機能を提供する。
【０００６】
以下に示す組み込み済み文書は、本明細に記載された統一制御システムへの改変以前における一般プロセス制御システムにおける諸実施形態について記述する。
【０００７】
一般プロセス制御システムに使用される制御コンピュータの一実施形態についてはＳｅｄｅｒｌｕｎｄ、Ｅｄｗａｒｄ　Ｒ．；　Ｕｎｄｅｓｍｉｔｈ、Ｒｏｂｅｒｔ　Ｊ．；Ｒｏｏｔ、Ｌａｒｒｙ　Ａ．；　Ｄｕｐｒｅｅ、Ｗａｙｎｅ　Ｐ．；及び、Ｔｈｏｍａｓ、Ｌｏｗｅｌｌ　Ｖ．に１９９６年９月１０日発行の　米国特許第５，５５５，４２４号（２４Ｓｅｄｅｒｌｕｎｄ等）、「Ｅｘｔｅｎｄｅｄ　Ｈａｒｖａｒｄ　ａｒｃｈｉｔｅｃｔｕｒｅ　ｃｏｍｐｕｔｅｒ　ｍｅｍｏｒｙ　ｓｙｓｔｅｍ　ｗｉｔｈ　ｐｒｏｇｒａｍｍａｂｌｅ　ｖａｒｉａｂｌｅ　ａｄｄｒｅｓｓ　ｉｎｃｒｅｍｅｎｔ」（プログラマブル可変アドレスインクリメント付き拡張ハーバードアーキテクチャコンピュータメモリシステム）に記載済みである。
【０００８】
２４Ｓｅｄｅｉｌｕｎｄ等に記載済みの制御コンピュータのような２つの制御コンピュータを使用する一般プロセス制御システムにおける冗長制御コンピュータシステムの一実施形態に関しては、Ｂａｃａ、Ｊｒ．　Ｅｌｏｙ；Ｄｕｐｒｅｅ、Ｗａｙｎｅ　Ｐ．；Ｇｒｌｎｗｉｓ、Ｄｏｎａｌｄ　Ｊ．Ｋａｎｓｅ、Ｊｏｈａｎｎｅｓ　Ｃ．；Ｐｅｌｌｅｔｉｅｒ、Ｄｏｕｇｌａｓ　Ｐ．Ｓｃｈｕｉｚｅ、Ｏｓｃａｒ　Ｅ．米国特許第５，５８３，７５７号（Ｂａｃａ、Ｊｒ．等）に１９９６年１２月１０日に発行の「Ｍｅｔｈｏｄ　ｏｆ　Ｉｎｐｕｔ　ｓｉｇｎａｌ　ｒｅｓｏｌｕｔｉｏｎ　ｆｏｒ　ａｃｔｉｖｅｌｙ　ｒｅｄｕｎｄａｎｔ　ｃｏｎｔｒｏｌ　ｃｏｍｐｕｔｅｒｓ」「アクティブに冗長な制御コンピュータに関する入力信号解決の方法」に記載されている。
【０００９】
２４Ｓｅｄｅｒｌｕｎｄ等に記載の制御コンピュータに関するデータアクセス達成のためのシステムの一実施形態に関しては、Ｓｅｄｅｒｉｕｎｄ、Ｅｄｗａｒｄ　Ｒ．；Ｔｈｏｍａｓ、Ｎａｄｅｎｅ　Ｔ．；Ｌｉｎｄｅｓｍｉｔｈ、Ｒｏｂｅｒｔ　Ｊ．；Ｃｏｗｉｅｓ、Ｒｕｓｓｅｌｌ　Ｗ．に１９９６年１０月２２日発行の米国特許第５，５６８，６１５号（１５Ｓｅｄｅｒｉｕｎｄ等）「Ｓｔｅａｌｔｈ　Ｉｎｔｅｒｆａｃｅ　ｆｏｒ　ｃｏｎｔｒｏｌ　ｃｏｍｐｕｔｅｒｓ」（制御コンピュータ用ステルスインタフェース）に記載済みである。
【００１０】
２４Ｓｅｄｅｒｉｕｎｄｅｔ等に記載の制御コンピュータと共に使用するリモートフィールドユニット（また、短縮形式において「リモート」、「ＲＦＵ」、または「リモートユニット単位」とも呼ばれる）を提供するシステムの一実施形態に関しては、Ｇｌａｓｅｒ、Ｒｏｂｅｒｔ　Ｓ．　；Ｈｏｙ、Ｒｏｂｅｒｔ　Ｓ．；Ｆｅｒｎａｎｄｅｚ、Ｇ．　Ｐａｕｌ；Ｇｒａｌ、Ｔｉｍｏｔｈｙ　Ｊ．１９９５年６月２７日発行の米国特許第５，４２８，７６９（６９Ｇｌａｓｅｒ等）「Ｐｒｏｃｅｓｓ　ｃｏｎｔｒｏｌ　ｉｎｔｅｒｆａｃｅ　ｓｙｓｔｅｍ　ｈａｖｉｎｇ　ｔｒｉｐｌｙ　ｒｅｄｕｎｄａｎｔ　Ｒｅｍｏｔｅ　Ｆｉｅｌｄ　Ｕｎｉｔ　ｆｉｅｌｄ　ｕｎｉｔｓ」（３重冗長ＲＦＵフィールドユニットを備えたプロセス制御システム）に記載済みである。
【００１１】
６９Ｇｌａｓｅｒ等に記載のフィールドユニットと共に使用するための配電系統における電流読取り用インタフェースを提供するシステムの一実施形態に関してはＧｌａｓｅｒ、Ｒ．　Ｓｔｅｖｅｎ、Ｂａｄｅ、Ｊｅｆｆｒｅｙ　Ｍ．に１９９２年９月２９日発行の米国特許第５，１５１，８６６号（６９Ｇｌａｓｅｒ等）「Ｈｉｇｈ　ｓｐｅｅｄ　ｐｏｗｅｒ　ａｎａｌｙｚｅｒ」「高速電力解析器」に記載されている。
【００１２】
冗長制御コンピュータシステムと共に使用される高速ゲートウェイを提供するシステムの一実施形態に関してはＢａｃａ，Ｊｒ．等に記載済みであり、２４Ｓｅｄｅｒｌｕｎｄ等に記載済みの制御コンピュータに関するデータアクセスを達成するするためのシステムに関して記載済みの文書を次に示す。
【００１３】
（ａ）Ａｌｉｂｅｒｙ、Ｊｒ．、Ｊａｍｅｓ　Ｄ．；Ｔｒｏｉｓｉ、Ｐｅｔｅｒ　Ａ．；Ｊｏｈｎｓｏｎ、Ｓｕｓａｎ　Ｊ．；Ｃｕｌｌｅｎ、Ｊａｍｅｓ　Ｈ．；Ｂｕｔｌｅｒ、Ｒｉｃｈａｒｄ　Ｌ．；◇Ｆｅｒｒｅｉｒａ、Ｊａｍｅｓ　Ｐ．；Ｅｌｌｉｓｏｎ、Ｊｏｓｅｐｈ；Ｐａｔｅｌ、Ｃｈｉｍａｎ　Ｌ　；　Ｕｂａｎ、Ｊａｍｅｓ　Ｅ；Ｓｃｈｕｌｔｚ．Ｄａｌｅ　Ｈ．に１９９６年５月２１日発行の米国特許第５，５１９，６０３号（Ａｌｌｂｅｒｙ、Ｊｒ．等）
「Ｉｎｔｅｌｌｉｇｅｎｔ　ｐｒｏｃｅｓｓ　ｃｏｎｔｒｏｌ　ｃｏｍｍｕｎｉｃａｔｉｏｎ　ｓｙｓｔｅｍ　ａｎｄ　ｍｅｔｈｏｄ　ｈａｖｉｎｇ　ｃａｐａｂｉｌｉｔｙ　ｔｏ　ｔｉｍｅ　ａｌｉｇｎ　ｃｏｒｒｅｓｐｏｎｄｉｎｇ　ｄａｔａ　ｓｅｔｓ」（対応するデータ集合に時間的配置合わせする能力を有するインテリジェントプロセス制御通信システム及び方法）。
【００１４】
（ｂ）ｄｅ　Ｂｒｕｉｊｎ、Ｒｏｎｎｙ　Ｐ．；Ｖｅｒｂｏｖｅｎ、Ｍａｒｃ　Ｌ　Ｋ．；ｖａｎ　Ｗｅｅｌｅ、Ｌｅｏｎａｒｄｕｓ　Ａ．；Ｖｅｒｍｅｉｒｅ、Ｒｏｇｅｒ　Ｒ．；Ｓｃｈｕｉｚｅ、Ｏｓｃａｒ　Ｅ．；Ｓｃｈｕｌｔｚ、Ｄａｌｅ　Ｈ．；Ｂｅｌｌ、Ｂｒｉａｎ　Ｇ．に１９９５年６月２７日発行の米国特許第５，４２８，７４５号（４５ｄｅ　Ｂｗｉｊｎ等）「Ｓｅｃｕｒｅ　ｃｏｍｍｕｎｉｃａｔｉｏｎ　ｓｙｓｔｅｍ　ｆｏｒ　ｒｅ−ｅｓｔａｂｌｉｓｈｉｎｇ　ｔｉｍｅ　ｌｉｍｉｔｅｄ　ｃｏｍｍｕｎｉｃａｔｉｏｎ　ｂｅｔｗｅｅｎ　ｆｉｒｓｔ　ａｎｄ　ｓｅｃｏｎｄ　ｃｏｍｐｕｔｅｒｓ　ｂｅｆｏｒｅ　ｃｏｍｍｕｎｉｃａｔｉｏｎ　ｔｉｍｅ　ｐｅｒｉｏｄ　ｅｘｐｉｒａｔｉｏｎ　ｕｓｉｎｇ　ｎｅｗ　ｒａｎｄｏｍ　ｎｕｍｂｅｒ」（新規乱数を使用し通信時限満了以前における第１と第２コンピュータ間時限通信再確立のための安全通信システム）。
【００１５】
（ｃ）ｄｅ　Ｂｒｕｉｊｎ、Ｒｏｎｎｙ　Ｐ．；ｖａｎ　Ｗｅｅｌｅ、Ｌｅｏｎａｒｄｕｓ　Ａ．；Ｖｅｒｂｏｖｅｎ、Ｍａｒｃ　Ｌ．Ｋ．；Ｖｅｒｍｅｉｒｅ、Ｒｏｇｅｒ　Ｒ．；Ｓｃｈｕｌｚｅ、Ｏｓｃａｒ　Ｅ．；Ｂｅｌｌ、Ｂｒｉａｎ　Ｇ．；Ｓｃｈｕｌｔｚ、Ｄａｌｅ　Ｈ．に１９９６年１０月１日発行の米国特許第５，５６１，７７０（７０ｄｅ　Ｂｒｕｉｊｎ等）「Ｓｙｓｔｅｍ　ａｎｄ　ｍｅｔｈｏｄ　ｆｏｒ　ｄｅｔｅｒｍｉｎｉｎｇ　ｗｈｅｔｈｅｒ　ｔｏ　ｔｒａｎｓｍｉｔ　ｃｏｍｍａｎｄ　ｔｏ　ｃｏｎｔｒｏｌ　ｃｏｍｐｕｔｅｒ　ｂｙ　ｃｈｅｃｋｉｎｇ　ｓｔａｔｕｓ　ｏｆ　ｅｎａｂｌｅ　ｉｎｄｉｃａｔｏｒ　ａｓｓｏｃｉａｔｅｄ　ｗｉｔｈ　ｖａｒｉａｂｌｅ　ｉｄｅｎｔｉｆｉｅｄ　ｉｎ　ｔｈｅ　ｃｏｍｍａｎｄ」（コマンド内で識別される変数と関連するインジケータを作動化する状態をチェックすることにより制御コンピュータへコマンドを伝送するかどうかを決定するシステム及び方法）。
【００１６】
上記３件の特許に記載されたシステムは、明細書において高速インタフェース（ＨＳＩ）とも呼ばれる。
【００１７】
冗長制御コンピュータシステム及び前述の特許に記載済みのインタフェースと共に使用する人間インターフェイスを提供するシステムの一実施形態はｖａｎ　Ｗｅｅｌｅ、Ｌｅｏｎａｒｄｕｓ　Ａ．に；ｄｅ　Ｂｒｕｌｉｎ、Ｒｏｎｎｙ　Ｐ．；ＶｅｒｍｅＩｒｅ、Ｒｏｇｅｒ　Ｒ．；Ｚｅｍｅｒｉｎｇ、Ｃｈｒｉｓｔｏ；Ｌｅｎｔｉｎｇ、Ｂｅｎに１９９７年５月２０日発行の米国特許第５，６３１，８２５号（Ｖａｎ　Ｗｅｅｌｅ等）「Ｏｐｅｒａｔｏｒ　ｓｔａｔｉｏｎ　ｆｏｒ　ｍａｎｕｆａｃｔｕｒｉｎｇ　ｐｒｏｃｅｓｓ　ｃｏｎｔｒｏｌ　ｓｙｓｔｅｍ」（プロセス制御システム作成オペレータステーション）に記載されている。
【００１８】
前述のシステムにおいて実行されるアプリケーションプログラムコードのリアルタイム解釈を提供するシステムの諸実施形態はＰｒｅｓｓｎａｌｌ、Ｄａｎａ　Ｗ．；Ｐｏｌｉｓｈａｋ、Ｊｅｆｆｅｒｙ　Ｔ．；Ｆｅｌｉｘ、Ｂｒａｄｌｅｙ　Ｋ．；Ｄｕｒｉｓｉｎ、Ｍｉｃｈａｅｌ　Ｊ．；Ｅｌｌｉｓｏｎ、Ｊｏｓｅｐｈ．；に１９９６年２月１３日発行された米国特許第５，４９１，６２５号（Ｐｒｅｓｓｎａｌｌ等）「Ｉｎｆｏｒｍａｔｉｏｎ　ｄｉｓｐｌａｙ　ｓｙｓｔｅｍ　ｆｏｒ　ａｃｔｉｖｅｌｙ　ｒｅｄｕｎｄａｎｔ　ｃｏｍｐｕｔｅｒｉｚｅｄ　ｐｒｏｃｅｓｓ　ｃｏｎｔｒｏｌ」（アクティブに冗長なコンピュータ化されたプロセス制御用情報ディスプレイシステム）、及び、Ｖａｎ　ｄｅ　Ｌａｖｏｉｒ、Ｒｏｎｎｙ；Ｆｏｌｌｏｎ、Ｍａｒｉｎｕｓ（Ｎｅｅｒｐｅｌｔ、ＢＥ）；Ｒａｖｅｎｓｃｒｏｆｔ、Ｉａｎに１９９５年４月１８日発行の米国特許第５，４０８，６０３号（ｖａｎ　ｄｅ　Ｌａｖｏｉｒ等）　「Ｇｌｏｂａｌ　ｐｒｏｃｅｓｓ　ｃｏｎｔｒｏｌ　ｉｎｆｏｒｍａｔｉｏｎ　ｓｙｓｔｅｍ　ａｎｄ　ｍｅｔｈｏ」（グローバルプロセス制御情報システムおよび方法）に記載されている。
【００１９】
人間に対してインタフェースを提供する大型図式概観システムはオペレーションステーションと共に好ましい実施形態に配置される。この図式概観システムはＪｏｈｎ　Ｌ．Ｃｌｅｍｅｎｔへ１９９８年３月１０日発行の米国特許第５，７２６，６６８号（Ｃｌｅｍｅｎｔ）「Ｐｒｏｇｒａｍｍａｂｌｅ　ｇｒａｐｈｉｃｓ　ｐａｎｅｌ」（プログラマブルグラフィックスパネル）に記載されている。冗長制御コンピュータシステムにおけるプロセッサとして将来代替使用するために新規制御コンピュータを提供するシステムの一実施形態はＢａｃａ，Ｊｒ．等に記載されており、統合された分散システムにおける使用方法について記載した文書を次に示す。（ａ）Ｄｕｐｒｅｅ，Ｗａｙｎｅ　Ｐ．；Ｃｈｕｒｃｈｉｌｌ，Ｓｔｅｐｈｅｎ　Ｇ．；Ｇａｌｌａｎｔ，Ｊｅｆｆｒｙ　Ｒ．；Ｒｏｏｔ，Ｌａｒｒｙ　Ａ．、Ｒｏｂｅｒｔ　Ａ．、Ｂｒｅｓｓｅｔｔｅ，Ｗｉｌｌｉａｍ　Ｊ．；Ｏｒｒ，ＩＩＩ　Ｒｏｂｅｒｔ　Ａ、Ｒａｍａｓｗａｍｙ、Ｓｒｉｋａｌａ、Ｌｕｃａｓ、Ｊｅｆｆｒｅｙ　Ａ．、Ｂｌｅｃｋ、Ｊａｍｅｓに１９９７年８月５日発行の米国特許第５，６５５，１３３号（Ｄｕｐｒｅｅ等）「Ｍａｓｓｉｖｅｌｙ　ｍｕｌｔｉｐｌｅｘｅｄ　ｓｕｐｅｒｓｃａｌａｒ　Ｈａｒｖａｒｄ　ａｒｃｈｉｔｅｃｔｕｒｅ　ｃｏｍｐｕｔｅｒ」（超多重化スーパースカラハーバードアーキテクチャコンピュータ）。（ｂ）Ｄｕｐｒｅｅ、Ｗａｙｎｅ　Ｐ．；Ｖｅｒｎｉｅｒｓ，Ｇｅｒｒｉｔ；Ｌｕｃａｓ、Ｊｅｆｆｒｅｙ　Ａ．；Ｒｏｏｔ、Ｌａｒｒｙ　Ａ．；Ｃｈｕｒｃｈｉｌｌ、Ｓｔｅｐｈｅｎ　Ｇ．；に１９９９年９月７日発行の米国特許第５，９４９，９９４号「Ａ　Ｄｅｄｉｃａｔｅｄ　Ｃｏｎｔｅｘｔ−Ｃｙｃｌｉｎｇ　Ｃｏｍｐｕｔｅｒ」（専用コンテキスト文サイクリングコンピュータ）。（ｃ）Ｗｏｏｄｓ、Ｒａｎｄｙ　Ｄ．；Ｊａｃｈｉｒｎ、Ｄａｖｉｄ　Ｍ．；Ｄｕｐｒｅｅ、Ｗａｙｎｅ　Ｐ．；Ｖｅｒｎｉｅｒｓ，Ｇｅｒｒｉｔ　Ｈ．；Ｃｈｕｒｃｈｉｌｌ、Ｓｔｅｐｈｅｎ　Ｇ．；Ｆｅｒｎａｎｄｅｚ、Ｇｅｏｒｇｅ　Ｐ．を発明者とし１９９９年３月２６日出願のＰＣＴ特許出願ＷＯ第９９／０６６３４号　「Ｄｉｓｔｒｉｂｕｔｅｄ　Ｃｏｍｐｕｔｅｒ　Ｅｎｖｉｒｏｎｍｅｎｔ　Ｕｓｉｎｇ　Ｒｅａｌ−Ｔｉｍｅ　Ｓｃｈｅｄｕｌｉｎｇ　Ｌｏｇｉｃ、ａｎｄ、Ｔｉｍｅ　Ｄｅｔｅｒｍｉｎｉｓｔｉｃ　Ａｒｃｈｉｔｅｃｔｕｒｅ」（リアルタイムスケジュール設定ロジックおよび時間決定性アーキテクチャを用いた分散コンピュータ環境）。これらの特許は汎用制御システムの熟考された一実施形態における使用方法を示す。
【００２０】
組合わされかつ統一された（ａ）一般プロセス制御システムと（ｂ）安全遮蔽コンピュータシステムを経済的に提供するために必要な機能を組み込むために必要な上述したような一般プロセス制御システムを改変することによって実現された追加機能は、ここで更に提供される本発明に関する概要と詳細の研究を介して理解される。
【００２１】
本発明は、被制御装置からの入力信号を受け取り、かつ、当該装置の一般制御に関するソースコード及び当該装置の安全遮蔽に関するソースコードが統一されたコンパイルにおける前記制御システムに関する制御コードにコンパイルされることを特徴とする被制御装置における少なくとも１つの制御デバイスの特性を改変する少なくとも１つの出力信号を決定する際に入力信号を使用するプロセス制御システムを提供する。
【００２２】
また、本発明は、設備の製造から入力信号を受け取り、かつ前記設備製造における少なくとも１つの個別制御装置を調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセス制御システムを提供し、次のことによって特徴付けられる、即ち、
アプリケーションプログラムインスタンスが少なくとも１つの安全完全性プログラミングソースコードセクション（区分体）および少なくとも１つの一般制御ソースコードセクションを有する、及び、
コンパイルトランスレータが前記アプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換するための安全完全性プログラミング規則集合を有する。
【００２３】
本発明は製造設備から入力信号を受け取りかつ前記製造設備における少なくとも１つの制御装置を調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行するプロセス制御システムを追加的に提供し、次のことによって特徴付けられる、即ち、
第１マシンオペレーションコードが安全完全性プログラミングソースコードからコンパイルされる、
第２番マシンオペレーションコードが一般制御ソースコードからコンパイルされる、
前記第１マシンオペレーションコード及び前記第２マシンオペレーションコードが前記プロセス制御システムにおける同一制御コンピュータ上で実行する。
【００２４】
本発明は更に製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行する制御コンピュータを提供し、次のことによって特徴付けられる、即ち、
手段が前記制御コンピュータに実質的に完全に従って設計された通りに前記マシンオペレーションコードを実行するように前記制御コンピュータのリアルタイム能力を評価する、
前記リアルタイム能力が受容し難い時に手段が前記マシンオペレーションコードのリアルタイムサイクル部分の実行を停止させる。
【００２５】
また、本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスを調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行する制御システムを提供し、次のことによって特徴付けられる、即ち、
手段が前記マシンオペレーションコードの非多様性部分を特徴付けるコンパイラシグネチャデータ値を定義する、
手段が前記コンパイラシグネチャデータを前記制御コンピュータにロードする、
手段が前記プログラムメモリセクションにおける前記マシンオペレーションコードを特徴付けるリアルタイムシグネチュアデータ値を定義する、
手段が前記リアルタイムシグネチュアデータ値とコンパイルする前記トランスレータシグネチュアデータ値を比較する、
コンパイルする前記トランスレータシネチュアデータ値と前記リアルタイムシグネチュアデータ値の値が異なる時に手段が前記マシンオペレーションコードのリアルタイム実行を停止させる。
【００２６】
本発明は前記製造設備において少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号決定に前記入力信号を使用するために製造設備から入力信号を受け取り、かつマシンオペレーション命令コードを実行するプロセス制御システムを追加的に提供し、次のことを特徴とする、即ち、
コンパイルするトランスレータがアプリケーションプログラムインスタンスをマシンオペレーションコードに変換する、
制御コンピュータが前記マシンオペレーションコードを保持するメモリを備え、この場合、前記制御コンピュータは前記出力信号を生成する、
コンパイルする前記トランスレータにおける安全完全性プログラミング規則集合が前記制御コンピュータと前記マシンオペレーションコードにおける手順および構造と安全完全性レベル必要条件の間における協調作用を保証する、
第１プロセスユニットステップデータオブジェクトのタイプが前記安全完全性プログラミングセクションにおいて使用するための安全ドメイン属性パラメータ集合を有する、
第２プロセスユニットステップデータオブジェクトのタイプが前記安全完全性プログラミングセクションの外側の前記メモリにおける使用のための正常作動属性パラメータの集合を有する。
【００２７】
本発明は、更に、製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号の決定に際して前記入力信号を使用するためにマシンオペレーションコードを実行するプロセス制御システムを提供する。ここにコンパイルする付属トランスレータはアプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換するために使用され、次のことを特徴とする、即ち、
コンパイルトランスレータはアプリケーションプログラムインスタンスをマシンオペレーションコードに変換する、
制御コンピュータは前記マシンオペレーションコードを保持するメモリを有し、ここに前記制御コンピュータは前記出力信号を生成する、
前記コンパイルトランスレータにおける安全完全性プログラミング規則集合は前記制御コンピュータと前記マシンオペレーションコードにおける手順および構造と安全完全性レベル必要条件との間の協調作用を保証する、
前記コンパイルトランスレータにおける手段は前記アプリケーションプログラムインスタンスの機能タイプステートメントを前記安全完全性プログラミングセクションに関する入力および出力信号の第１リストに翻訳する、
前記コンパイルトランスレータにおける手段は、前記機能タイプステートメントに関係なく、前記安全完全性プログラミングセクションに関する前記アプリケーションプログラムインスタンスにおける入力および出力信号の第２リストを規定する、
前記コンパイルトランスレータにおける手段は、前記第１リストにおける値と前記第２リストにおける値とを比較する、
コンパイルトランスレータにおける手段は、前記第１と前記第２リストに含まれる値が異なる場合に、前記マシンオペレーションコードの生成を抑制する。
【００２８】
また、本発明は、製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行する制御コンピュータを提供する。ここに、付属するコンパイルトランスレータはアプリケーションプログラムインスタンスを前記マシンオペレーションコードに変更するために用いられ、ここに、前記制御コンピュータは、リアルタイムにおいて非多様性である前記マシンオペレーションコードの一部分を保持するためのプログラムメモリセクションを有し、次のことを特徴とする、即ち、
コンパイルトランスレータにおける安全完全性プログラミング規則集合は前記制御コンピュータと前記マシンオペレーションコードにおける手順および構造と安全完全性レベル必要条件の間における協調作用を保証する、
前記コンパイルトランスレータにおける手段は、前記アプリケーションプログラムインスタンスの機能タイプステートメントを前記安全完全性プログラミングセクションに関する入力および出力信号の第１リストに翻訳する、
前記コンパイルトランスレータにおける手段は、前記プログラムメモリセクションにかんする前記マシンオペレーションコードを特徴付ける前記コンパイルトランスレータシグニチャデータ値を規定する、
前記コンパイルトランスレータにおける手段は、前記機能タイプステートメントには関係なく、前記安全完全性プログラミングセクションに関する前記アプリケーションプログラムインスタンスにおける入力および出力信号の第２のリストを規定する、
前記コンパイルトランスレータにおける手段は、をする前記における手段、前記第１リスト内の値と前記第２リスト内の値を比較する、
前記コンパイルトランスレータにおける手段は、前記第１リストと前記第２リストに含まれる値が異なる場合に、前記マシンオペレーションコードの生成を抑制する、
前記制御コンピュータにおける手段は、前記プログラムメモリセクション内の前記マシンオペレーションコードを特徴付けるリアルタイムシグニチュアデータ値を定義し、かつ前記リアルタイムシグニチュアデータ値と前記コンパイルトランスレータシグニチュアデータ値とを比較する、
前記制御コンピュータにおける手段は、前記コンパイルトランスレータシグニチャデータ値と前記リアルタイムシグニチャデータ値が異なる時に、前記マシンオペレーションコードのリアルタイム実行を停止させる。
【００２９】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関する特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次のことを特徴とするプロセス制御システムを追加的に提供する、即ち、
コンパイルトランスレータはアプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換する、
制御コンピュータは前記マシンオペレーションコードを保持するためのメモリを有する。ここに前記制御コンピュータは前記出力信号を生成する、
前記コンパイルトランスレータにおける安全完全性プログラミング規則集合は前記制御コンピュータと前記マシンオペレーションコードにおける手順および構造と安全完全性レベル必要条件との間における協調作用を保証する、
制限された遮断状態プロセス制御オブジェクトタイプは前記安全完全性プログラミングセクションにおける使用のために優先順位属性パラメータを有し、ここに前記優先順位属性パラメータは複数の優先順位レベルをサポートする。
【００３０】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関する特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次のことを特徴とするプロセス制御システムを追加的に提供する、即ち、
制御コンピュータは前記マシンオペレーションコードを保持し、かつ出力信号を生成するメモリを有し、前記メモリは一次メモリ及びシャドウメモリを有する、
手段は前記一次メモリ内データ値とそれぞれの前記シャドウメモリ内データ値を比較する、
前記一次メモリ内の前記データ値と前記シャドウメモリ内のデータ値が異なることが前記比較手段によって決定された時に、手段は前記制御コンピュータを停止させる。
【００３１】
プロセスの展望に関して考察すれば、本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関して調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行し、次のステップによって特徴付けられるプロセスを提供する、即ち、
安全ドメイン規則集合および標準操作規則集合を使用し、コンパイルトランスレータによって前記マシンオペレーションコードを生成するステップ、
前記出力信号決定を実行するために前記マシンオペレーションコードを制御コンピュータへロードするステップ。
【００３２】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関して調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行し、次のステップによって特徴付けられる制御プロセスを提供する、即ち、
安全完全性プログラミングソースコードから第１マシンオペレーションコードをコンパイルするステップ、
一般制御ソースコードから第２マシンオペレーションコードをコンパイルするステップ、
前記入力信号を受け取り、かつそれぞれの前記制御デバイスを調節するために前記第１マシンオペレーションコード及び前記第２マシンオペレーションコードを同一制御コンピュータにおいて実行するステップ。
【００３３】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関して調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行し、次のステップによって特徴付けられるプロセスを提供する、即ち、
前記制御コンピュータの設計に実質的に完全にしたがって、前記マシンオペレーションコードを実行する前記制御コンピュータのリアルタイム能力を評価するステップ、
前記リアルタイム能力が受け入れ不可能である時に前記出力信号を中止するステップ。
【００３４】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関して調節する少なくとも１つの出力信号を決定する制御コンピュータにおいてマシンオペレーションコードを実行し、次のステップによって特徴付けられるプロセスを提供する、即ち、
前記制御コンピュータの設計に実質的に完全にしたがって、前記マシンオペレーションコードを実行する前記制御コンピュータのリアルタイム能力を評価するステップ、
前記リアルタイム能力が受け入れ不可能である時に前記マシンオペレーションコードのリアルタイムサイクル部分の実行を停止するステップ。
【００３５】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関して調節する少なくとも１つの出力信号を決定する制御コンピュータにおいてマシンオペレーションコードを実行し、次のステップによって特徴付けられる制御プロセスを追加的に提供する、即ち、
前記マシンオペレーションコードの非多様性部分を特徴付けるコンパイラシグネチャデータ値を定義するステップ、
前記コンパイラシグネチャデータ値を前記制御コンピュータへロードするステップ、
前記マシンオペレーションコードの前記非多様性部分を特徴付けるリアルタイムシグネチャデータ値を前記制御コンピュータにおいて定義するステップ、
前記リアルタイムシグネチャデータ値と前記コンパイルトランスレータシグネチャデータ値を比較するステップ、
前記コンパイルトランスレータシグネチャデータ値と前記リアルタイムシグネチャデータ値が異なる時に、コンパイルされたマシンオペレーションコードに適合するマシンオペレーションコードによって前記制御デバイスが調節されるように、前記マシンオペレーションコードのリアルタイムサイクル部分を停止させるステップ。
【００３６】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスに関して調節する少なくとも１つの出力信号を決定するマシンオペレーションコードを実行し、次のステップによって特徴付けられるプロセスを追加的に提供する、即ち、
アプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換するステップであり、前記アプリケーションプログラムインスタンスは少なくとも２つのプロセスユニットステップオブジェクトを有する、
第１制御コンピュータにおいて前記マシンオペレーションコードを実行するステップ、
第２制御コンピュータにおいて前記マシンオペレーションコードを実行するステップ、
活動プロセスユニトステップを現行プロセスユニトステップから新規プロセスユニットステップへ変更するために、第１提案プロセスユニットステップを前記第１制御コンピュータにおいて定義するステップ、
活動プロセスユニトステップを現行プロセスユニトステップから新規プロセスユニットステップへ変更するために、第２提案プロセスユニットステップを前記第２制御コンピュータにおいて定義するステップ、
各制御コンピュータが両方の提案プロセスユニットステップを含むように、前記第１および前記第２提案プロセスユニットステップを前記第１制御コンピュータと前記第２制御コンピュータの間で双方向的に伝送するステップ、
その次のプロセスユニットステップを定義するために、前記第１制御コンピュータにおいて前記第１と第２提案プロセスユニットステップを調停するステップ、
その次のプロセスユニットステップを定義するために、前記第２制御コンピュータにおいて前記第１と第２提案プロセスユニットステップを調停するステップ、
その次のプロセスユニットステップを各制御コンピュータにおいて新規現行プロセスユニットステップとして実施するステップ。
【００３７】
また、本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次のステップによって特徴付けされるプロセスを提供する。ここに、付属コンパイルトランスレータはアプリケーションプログラムインスタンスを前記マシンオペレーションコードに変換する、即ち、
前記コンパイルトランスレータにおいて、前記制御コンピュータと前記マシンオペレーションコードにおける手順および構造と安全完全性レベル必要条件との間の協調作用を保証するために前記アプリケーションプログラムインスタンスの機能タイプステートメントを前記コンパイルトランスレータにおける安全完全性プログラミング規則集合に関する入力および出力信号の第１リストへ翻訳するステップ、
前記コンパイルトランスレータにおいて、前記機能タイプステートメントには関係なく、前記安全完全性プログラミングセクションに関する前記アプリケーションプログラムインスタンスにおける入力および出力信号の第２リストを定義するステップ、
前記コンパイルトランスレータにおいて、前記第１における値と前記第２リストにおける値を比較するステップ、
前記第１リストと前記第２リストが含む値が異なる場合には前記コンパイルトランスレータにおいて、前記マシンオペレーションコードの生成を抑制するステップ、
実行のために、前記マシンオペレーションコードを制御コンピュータへロードするステップ。
【００３８】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次のステップによって特徴付けされるプロセスを追加的に提供す、即ち、
前記制御コンピュータにおいて安全ドメイン属性パラメータを有する第１プロセスユニットステップデータオブジェクトタイプを使用するステップ、
前記制御コンピュータにおいて標準操作属性パラメータを有する第２プロセスユニットステップデータオブジェクトタイプを使用するステップ。
【００３９】
本発明は更に製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次のステップによって特徴付けされるプロセスを追加的に提供する、即ち、
制限された遮断状態プロセス制御オブジェクトタイプを用いて前記機生成コードをコンパイルするステップ。
【００４０】
また、本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次に示すステップによって特徴付けされるプロセスを提供する、即ち、
ブール演算子タイプ及び安全ドメインブール演算子タイプを使用し、コンパイルトランスレータによって前記マシンオペレーションコードを生成するステップ、
前記出力信号を生成するために制御コンピュータにおいて前記マシンオペレーションコードを実行するステップ。
【００４１】
本発明は製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次に示すステップによって特徴付けされるプロセスを追加的に提供する、即ち、
一次メモリを有する制御コンピュータを提供するステップであって、ここに前記制御コンピュータはプロセス制御信号を生成する、
シャドウメモリを前記制御コンピュータに提供するステップ、
リアルタイム読取りアクセスした時に前記一次メモリ内のデータ値と前記シャドウメモリ内のそれぞれのデータ値を比較するステップ、
前記一次メモリ内の前記データ値と前記シャドウメモリ内の前記それぞれのデータ値が異なることが前記比較手段によって決定される時に、前記制御コンピュータを停止するステップ、
前記制御デバイスへ前記プロセス制御信号を前記出力信号として供給するステップ。
【００４２】
本発明は更に製造設備から入力信号を受け取り、かつ前記製造設備における少なくとも１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に前記入力信号を使用するためにマシンオペレーションコードを実行し、次に示すステップによって特徴付けされるプロセスを提供する、即ち、
前記コンパイルトランスレータ内に埋め込まれた安全完全性プログラミングセクションの使用を介してアプリケーションプログラムインスタンスを前記マシンオペレーションコードインスタンスに変換するステップ。ここに前記安全完全性プログラミングセクションは前記制御コンピュータと前記マシンオペレーションコードにおける手順および構造と安全完全性レベル必要条件との間の協調作動を保証する、
一次メモリ及びシャドウメモリを有する第１制御コンピュータにおいて前記マシンオペレーションコードを実行するステップ。ここに前記第１制御コンピュータは前記入力信号を読み取り、かつ調停済み入力値から第１プロセス制御信号を生成する、
一次メモリ及びシャドウメモリを有する第２制御コンピュータにおいて前記マシンオペレーションコードを実行するステップ。ここに前記第２制御コンピュータは前記入力信号を読み取り、かつ調停済み入力値から第２プロセス制御信号を生成する、
前記第１制御コンピュータと前記第２番制御コンピュータの間で前記入力信号を双方向的に伝送するステップ、
前記第１制御コンピュータにおいて前記第２制御コンピュータから伝送された入力信号および前記第１制御コンピュータによって読み取られた入力信号から前記第１調停済み入力値を決定するステップ、
前記第２制御コンピュータにおいて前記第１制御コンピュータから伝送された入力信号および前記第２制御コンピュータによって読み取られた入力信号から前記第２調停済み入力値を決定するステップ、
第１プロセス制御信号と第２プロセス制御信号を１つの前記出力信号にまとめて前記制御デバイスに結合するステップ。
【００４３】
次の１１節は好ましい実施形態に関するシステム概観の討論を呈示する。
【００４４】
好ましい実施形態は、装置（製造設備）から入力信号を受け取り、かつ少なくともそれぞれ１つの制御デバイスの特性を変更する少なくとも１つの出力信号を決定する際に入力信号を使用するためにマシンオペレーションコードを実行するプロセス制御システムを提供する。この装置において、当該装置の一般制御に関するソースコードおよび当該装置の安全遮断システムに関するソースコードは同じコンパイルインスタンスにコンパイルされる（制御装置特性の変更に関する更なる討論は本システム概観の第５節において呈示される）。これは、制御および操作に関する全ての増分変更は時間的な１点において統一された一体として、好ましくはソースコードを表現するために使用される同じ言語および装置の一般制御および装置の安全遮断システムに関するソースコードを使用することにより実行されるという理想的な結果を達成することを援助する。これの利点の１つは、システムにおいて異なる機能および特徴の間の相互作用に関する全ての問題が、当該装置について責任を持つ組織内における１つの説明責任を持つ権限のもとに、最も良く監督およびテスト可能であることである。
【００４５】
制御コンセプトの一般的な集積（制御概要）はプログラミングエンジニアによって高水準のプログラム言語の文脈において少なくとも１つの安全完全性プログラミング（ＳＩＰ）サブセクションを有するアプリケーションプログラムとして知られているソースコードファイル内に表現される。付属コンパイルトランスレータはアプリケーションプログラムインスタンスを、制御コンピュータとマシンオペレーションコード集合における手順及び構造と安全完全性プログラミングサブセクションのソースコードに関するＳＩＬ必要条件との間の適合性と強調作動性を保証するコンパイルトランスレータにおける安全完全性プログラミング規則集合を備えた制御コンピュータマシンオペレーションコードインスタンスに変換するために用いられる。（ａ）安全完全性プログラミングセクションと（ｂ）安全完全性プログラミングセクションの外部においてコンパイルされた一般プロセス制御目的のコード（すなわち、ＳＩＬ必要条件強調作動協力条項を必要としないコード）との両方に関して共通言語を使用することは、安全遮断ロジックと一般プロセス処理は高度に類似した操作およびプログラミング属性によって関係付けられているので、一実施形態において更なる高効率を可能にする。少なくとも１つのＳＩＰセクション及び少なくとも１つの非ＳＩＰセクションを有するアプリケーションプログラム全体を同一コンパイルインスタンスにおいて制御コンピュータマシンオペレーションコードへコンパイルすることは制御システムを統一された権限の下における時間的一点において統一されたる局部的統一体（エンティティ）として可能にする。マシンオペレーションコードは非可変部分と可変部分を有する。この場合、可変（データ）部分はコンパイルトランスレータによって生成されたインスタンスと共に開始され、従って、特定のあらゆる時点において被制御装置の性質を反映するように制御コンピュータの各サイクルと共に変更される。
【００４６】
プロセス制御システムは第１及び第２制御コンピュータを使用する。この場合、各制御コンピュータは一次メモとシャドウメモリを有する。双方向通信チャネルは第１制御コンピュータを第２制御コンピュータへ接続し、かつ入力信号の双方向伝送を可能にするために用いられる。
【００４７】
第１調停済み入力値は、第１制御コンピュータにおいて、第２制御コンピュータから伝送された入力信および第１制御コンピュータによって読取られた入力信号から決定される。第２調停済み入力値は、第２制御コンピュータにおいて、第１制御コンピュータから伝送された入力信および第２制御コンピュータによって読取られた入力信号から決定される。
【００４８】
各制御コンピュータがプロセス制御信号を導出するために調停済み入力値に関してアプリケーションプログラムのマシンオペレーションコードを実行した後で第１プロセス制御信号および第２プロセス制御信号（各々第１及び第２制御コンピュータからの）は、両制御コンピュータから該当する制御デバイスへ同時に印加される１つの出力信号にまとめて結合される。出力信号がゲートエレメントの位置又は制御デバイスの動的性質を変えるので、制御デバイスの特性は出力信号によって変更される。この点に関する諸例は、開いているか（流体的に導通）または閉じているた（流体的に不導通）かの代替特性を持つブロックバルブを有する。アナログバルブは、例えば、１０％開、２５％開、７３％開などのような範囲内における複数の相対位置にそれぞれ対応する特定の位置としてそのゲート特性が画定され、また、ポンプは、電力供給される（流体をポンピングする）か、又は、電力供給されない（流体をポンピングしない）かによって代替的に特徴付けられる。制御デバイスの特性は装置の操作上の属性をリアルタイムで固有に画定する。例えば、パイプチャネル内の流体流に対する開口断面積の属性は、開いているか、閉じているか、または（アナログバルブの場合）開口相対パーセンテージに応じて、弁を特徴付ける位置に固有に固定される。ポンプ特性は電力供給されると作動して物質をポンピングするか、又は、ポンプ特性は電力供給されないと物質をポンピングしないことであり、ポンプの設置位置における装置内の圧力おこび運動エネルギーの属性に影響を及ぼす。
【００４９】
出力信号生成に際して、（１）各制御コンピュータは、デジタルアドレスと各出力信号に関する少なくとも１つのデジタル値のデジタル値との集合（１組）を定義する。（２）コンピュータプロセッサに接続された第１Ｄ／Ａ回路は、デジタル値の集合がアナログ出力信号へ向けられるならばデジタル値の集合を単一アナログ信号に変換し、又は、デジタル出力信号の場合には、デジタル値はデジタル信号に変換される。（３）多重化回路は第１Ｄ／Ａ回路を付属出力回路にインターフェイスする。（４）制御コンピュータプロセッサに接続れた第２Ｄ／Ａ回路は多重化回路に関するデジタルアドレスをアドレス−バリューアナログ信号に変換する。（５）Ａ／Ｄ回路は、アドレス−バリューアナログ信号を１組のアドレス−バリューデジタル信号に変換するために第２Ａ／Ｄ回路および制御コンピュータプロセッサをインタフェースする。（６）アドレス−バリューデジタル信号の集合とデジタルアドレスが比較される。
【００５０】
アドレス−バリューデジタル信号の集合とデジタルアドレスが同じであることが決定されない場合には、制御コンピュータプロセッサ内のマシンオペレーションコードが装置のリアルタイム操作を停止させ、（制御デバイスをフェールセーフモード（態様）に保持する場合を除く）、全ての始動診断集合を順調に実行するまで、制御システムからの出力はフェールセーフ位置に設定され。制御システムからデバイス（例えばパイプの実効開口断面積のような被制御装置のリアルタイム属性を変更するフィールドデバイス内におけるエレメントの位置決めに用いられる）への信号入力のがゼロ電圧値、ゼロアナログ値、及び／又は、ＦＡＬＳＥ　Ｂｏｏｌｅａｎ（偽ブール）値である場合、界磁制御デバイスのフェールセーフコンテキスト（文脈）は、フィールドデバイスの位置として画定される。
【００５１】
各制御コンピュータプロセッサを出力回路（ここで更に説明するように、通常、「Ｃａｎｓ」と表示されたキャビネット内に配置される）へインターフェイスする際には１組のマザーボードも使用され、また、各マザーボードにはメザニンボードも装備される。マザーボード、及び、メザニンボードは両者とも「ｄｅａｄｍａｎ（デッドマン）」回路を備える。ここに、「デッドマン」は高度に信頼できる構成、設計属性、および、効果的なサブパートであり、次のように回路を作動可能化する。即ち、（ａ）電力供給された出力（正常運転出力として）を、ただし交互に、提供可能にする。（ｂ）特定の操作状況（事象）の発生に際して、出力が電力供給されていることを条件として、リアルタイムに、明瞭、直接的、かつ明快なラッチ作用による中止を強制する。この場合、明確に、解放される。保証されたシステムを達成するための機能を提供する際に、「Ｃａｎデッドマン」回路は各マザーボードに配置される。また、ＳＩＬ　メザニンボード　ＤＯ（デジタル出力信号）Ｄｅａｄｍａｎ（ここではＤＯ　Ｄｅａｄｍａｎ　Ｃｉｒｃｕｉｔとして略称される）は各メザニンボードに配置される。また、ウォッチドッグ回路（「番犬」）も制御コンピュータに装備され、（ａ）制御コンピュータからの事前決定事象出力の発生が時機を得た仕方において発生しない場合、又は、（ｂ）信号が或る診断回路からの入力である場合、制御コンピュータにおけるマシンオペレーションコードのリアルタイム実行を停止させるために制御コンピュータプロセッサへのリセット接続を提供する。制御コンピュータからの１組の進行中の第１パルスがしきい値からはみ出し、ＲＣ回路内コンデンサに収まらない場合には、その出力信号を被制御装置へ供給することを停止させるために、Ｃａｎデッドマン回路は、Ｃａｎデッドマンが出力を実行する（すなわちＣａｎデッドマンが「点火する」）ように、活動パルスレーバに接続されたＲＣ回路を備える。制御コンピュータからの出力が制御コンピュータの異常を表示した場合にＣａｎからの全てのデジタル出力の電源を取去るために、ＤＯデッドマン回路はラッチされたデッドマン（Ｃａｎデッドマンから分離したデッドマン）を実行する。この点に関して、制御コンピュータからの１組の進行中の第１パルスがしきい値からはみ出し、ＲＣ回路内コンデンサに収まらない場合には、その出力信号を被制御装置へ供給することを停止させるために、Ｃａｎデッドマン回路は、Ｃａｎデッドマンが出力を実行する（すなわちＣａｎデッドマンが「点火する」）ように、活動パルスレーバに接続されたＲＣ回路を備える。確率の非常に高いしきい値以上に設計された能力に完全に適合して、制御コンピュータが実行する場合に限り結論が得れれるように複雑に設計されたマシンオペレーションコード部分集合が制御コンピュータによって実行された結果として第２パルスが得られる。コンピュータはＤＯデッドマン回路からのデッドマン出力に応答し、電力供給されたＣａｎからのデジタル出力供給に戻ることを可能にするためにそのリアルタイム初期化テストの完全な実行を要求する。標準的な一般実技において、被制御装置を迅速かつ効果的にフェールセーフコンテキストへ組み込むためにデジタル出力信号が用いられることに留意されたい。フェールセーフ構成に配置構成するための被制御装置の操作上遷移のために、アナログ出力信号が明確にエネルギ低下される場合には、デジタル出力信号は、しばしば、制御コンピュータとアナログ出力信号を受け取る磁制御デバイスの間の接続を開くためのスイッチとして実行される。
【００５２】
システムは次に示す用途のＳＥＱＵＥＮＣＥデータオブジェクトタイプを提供する。即ち、（１）プログラミングエンジニアによるコンピュータにおけるアプリケーションプログラムソースコードプログラミング。ここに、ソースコードは制御コンピュータにおける使用のためにマシンオペレーションコードにコンパイルされる。（２）制御コンピュータへロードするためにマシンオペレーションコードへのソースコードコンパイルのコンピュータ実施プロセス。（３）操作に際して制御コンピュータを用いたオペレータの部分的適応すみ対話。この点に関して、ＳＥＱＵＥＮＣＥは、制御システムによって被制御装置（例えば、ボイラ及びボイラと関連した１組のバルブ）の一部であるプロセスユニットとして操作された１組の物理的構成成分を用いて、アプリケーションプログラムのデータスキーマにおける連携のためのインフォロジカルな構造であるように仮想的に設計される。ＳＥＱＵＥＮＣＥは、コンパイルトランスレータ内のデータロジカルオブジェクトの一タイプ、及び制御コンピュータ内の一データタイプとしても表現される。
【００５３】
コンパイルトランスレータ内のコンピュータ実行ロジックのＳＩＰ（安全完全性プログラミング）規則部分集合の集合体はコンピュータ実施ロジックを供給する。（ここに、ＳＩＰ規則集合は、各制御コンピュータと、各制御コンピュータにおいて実行されたマシンオペレーションコードにおける手順および構造と、ＳＩＬ必要条件との間における適合性および強調作動協力条項の保証向けられた隣接、及び又は、非隣接コンピュータ実行コンパイルトランスレータロジックの収集体であるコンパイルトランスレータの部分集合、部分、及び／又は、「セクション」である。）前記のコンピュータ実施ロジックは実行することによって次に示す適合性を提供する。即ち、（ａ）次の形式におけるアプリケーションプログラムロジック、即ち（１）ＳＩＰセクションにおけるコンパイルに関して定義済みのデータ変数および（２）ＳＩＰセクションにおけるコンパイルに関して定義されたアプリケーションプログラムステートメント。（ｂ）次に示す項目を対象として定義されたＳＩＬ特定強制条項。即ち、（１）被操作装置に適したＳＩＬレベル及び（２）装置の制御用に用いられた制御コンピュータ。この点に関して、ＳＩＰ規則集合は、ＳＩＰセクション内アプリケーションプログラムステートメントに関して使用するためのＳＩＰ変数のＳＩＰ変数リストにコンパイルされるアプリケーションプログラムの特定インスタンスにおける機能タイプステートメントを翻訳する。次に、コンパイルトランスレータのＳＩＰ規則集合におけるロジックの第２部分は、次の条項を保証するための当該セクション内コーディングによってＳＩＰセクションにおいて使用される各ＳＩＰ変数を比較する。即ち、（ａ）ＳＩＰ変数リスト内のＳＩＰ変数は１つの単一ＳＩＰセクションの外側において決定された値を持つことはない。（ｂ）ＳＩＰリスト内の全てのＳＩＰ変数は少なくとも１つのＳＩＰセクションにおいて使用される。（ｃ）ＳＩＰセクションにおいて使用された非ＳＩＰ変数の使用から得られるあらゆる結論がステートメント内において優勢であり、ここに、それらは、ＳＩＰ変数に基づくステートメント部分によって使用される。第３考察の実施に際して、ＳＩＰブール演算子タイプ（ＳＩＰＡＮＤとＳＩＰＯＲはこのタイプの例である）はコンピュータステートメントにおける非ＳＩＰ変数の使用は終了したので、ＳＩＰ規則集合はステートメントの残余に十分に適用されることをコンパイルトランスレータへ知らせるために提供される。コンパイルトランスレータにおけるロジックの第３部分は、ＳＩＰ変数、ＳＩＰ変数リスト、及び、ＳＩＰセクションにおける位置合わせに関する考察事項に対するＳＩＰセクション内コードの不適合に際してマシンオペレーションコードの生成を抑圧する。コンパイルトランスレータにおけるロジックの他の部分は、プログラムメモリ（制御コンピュータにおける一般メモリの一部分であり、ここではマシンオペレーションコードはリアルタイムにおいて瞬時的に変化しない）内のマシンオペレーションコードに特徴付けするコンパイルトランスレータシグネチャデータ値を定義する。このシグネチャデータ値は、コンパイルトランスレータによって生成されたマシンオペレーションコードに関するマシンオペレーションコードの完全性を検査するためにリアルタイムで用いられる。
【００５４】
ＳＥＱＵＥＮＣＥデータオブジェクトタイプは、次に示す例のような関連属性を持つ。即ち、（ａ）被制御装置に関する１組のプロセスユニットステップ（例えば、「ｍａｉｎｔｅｎａｎｃｅ　ｏｆｆ−ｌｉｎｅ」プロセスユニットステップ。「ｅｑｕｉｐｍｅｎｔ　ｔｅｓｔｉｎｇ」プロセスユニットステップ。「ｐｕｒｇｅ＿ｗｉｔｈ＿ａｉｒ」プロセスユニットステップ。「ｉｎｉｔｉａｌ　ｆｉｒｉｎｇ　ａｎｄ　ｗａｒｍ−ｕｐ」プロセスユニットステップ。「ｆｕｌｌ　ｐｒｅｓｓｕｒｅ」プロセスユニットステップ。「ｏｐｅｒａｔｅ　ａｔ　ｓｔｅａｄｙ　ｏｕｔｐｕｔ　ｐｒｅｓｓｕｒｅ」プロセスユニットステップ。「ｇｅｎｔｌｅ　ｄｅｃｒｅａｓｅ　ｏｆ　ｐｒｅｓｓｕｒｅ」プロセスユニットステップ。「ｄｉｓｃｈａｒｇｅ　ｏｆ　ｐｒｏｄｕｃｔ」プロセスユニットステップ。（ｂ）１組のアラーム。（例えば、「ｈｉｇｈ　ｌｅｖｅｌ　ｉｎ　ｔｈｅ　ｗａｔｅｒ　ｔａｎｋ」アラーム。「ｌｏｓｓ　ｏｆ　ｂｕｒｎｅｒ　ｆｌａｍｅ」アラーム。「ｅｍｅｒｇｅｎｃｙ　ｓｉｔｕａｔｉｏｎ」アラーム。「ｈｉｇｈ　ｐｒｅｓｓｕｒｅ」アラーム。「ｌｏｗ　ｐｒｅｓｓｕｒｅ」アラーム。（ｃ）「ｔｉｍｅ　ｉｎ　ｃｕｒｒｅｎｔ　ａｃｔｉｖｅ」プロセスユニットステップ（ＳＳＴＥＰにおけるＳＴＩＭＥ）。（ｄ）ＳＥＱＵＥＮＣＥにおける「ｓｈｕｔｄｏｗｎ」状態。（ｅ）ＳＥＱＵＥＮＣＥにおける「ｅｍｅｒｇｅｎｃｙ」状態。（ｆ）ＳＥＱＵＥＮＣＥにおける「ｍａｔｅｒｉａｌ　ｒｅｃｉｐｅ　ｂｅｉｎｇ　ｕｓｅｄ」。その上、安全ドメイン属性パラメータを有する第１プロセスユニットステップデータオブジェクトタイプがＳＩＰセクションにおける使用のために提供される。正常操作属性パラメータ集合を有する第２プロセスユニットステップデータオブジェクトタイプがＳＩＰセクション外使用のために提供される。所有権化済みの制限された遮断状態プロセス制御オブジェクトタイプも使用のために提供される。この点に関して、制限された遮断状態プロセス制御オブジェクトタイプはＳＥＱＵＥＮＣＥにおける状況を識別するために機能するオブジェクトであり、ここに、関連装置における当該プロセスユニットユニットの「ｓｈｕｔｄｏｗｎ」は望ましいが、システムに対する経済的罰は最小限化されるとしても、システムにおける確実かつ安全操作状態を達成する制限され、拘束された仕方であることが必要である。強制的遮断の多数レベルの管理に際して、制限された遮断状態プロセス制御オブジェクトタイプが提供され、ここに、優先順位属性パラメータが５種の優先順位レベルをサポートする。ＳＥＱＵＥＮＣＥの性質についての更に詳細な討論はシステムに使われるソフトウェアにおいて詳細に討論することとする。
【００５５】
リアルタイム実行環境において、プログラムメモリにおいてマシンオペレーションコードゐ特徴付けるリアルタイムシグネチャデータ値を定義し、かつ当該リアルタイム標示データ値を既に簡単に説明済みのコンパイルトランスレータ標示サインデータ値と比較するする制御コンピュータにおいて実行可能ロジックが提供される。（制御コンピュータにおける一般メモリの一部分であり、ここにマシンオペレーションコードはリアルタイムにおいて瞬間的に変化しない）制御コンピュータは、コンパイルトランスレータ標示データ値とリアルタイム示データ値が異なる場合に、マシンオペレーションコードのリアルタイム実行を停止する。制御コンピュータは、一次メモリにおけるデータ（制御コンピュータにおける一般メモリの一部分であっり、この場合、マシンオペレーションコードはリアルタイムにおいて瞬間的に変化し得る）とそれらの値の差異に関して調査するための読取りアクセスに際してシャドウメモリにおけるデータを比較する。制御コンピュータは、一次メモリ内データ値とシャドウメモリ内のそれぞれのデータ値が異なることが決定された時に、停止させられる。
【００５６】
次の節において、リアルタイム、Ｈｚ１、Ｈｚ１０、および、Ｈｚ１００について検討することとする。
【００５７】
リアルタイムコンピュータ処理は一般にコンピュータ処理の方法として定義され、この場合、イベント（事象）が実際の時間限界内で所与の反応を引き起こさせ、ここに、コンピュータ動作は、外部状態および実際の時間のコンテキスト内において明確に制御される。プロセス制御の分野における関連説明として、リアルタイムコンピュータ制御処理は関連プロセス制御ロジック、決定、および、リアルタイムプロセス（例えばここに示された「プロセスユニット」）を実施している被制御装置を監視および変更するために機能するプロセス制御決定プログラムに本質的な定量的操作に関する。ここにプロセス制御決定プログラムは、他の周期も同様に利用されるが一般に１０ｍｓと２秒の間の周期をもつなり高い周波数で実行される。「ａｄｖａｎｃｅｄ」制御ルーチンの場合には、単一解決例が実質的な計算時間を必要とするので更に長い期間が本質的に必要である（制御素要素設定変更の決定における周波数は、関連変数測定値としての周波数に対して等しいか又は未満の周波数において実行されるべきである）。好ましい実施形態において、毎秒１回実行される（Ｈｚ１リアルタイムサイクル部分）制御コンピュータ実行リアルタイムロジックはＨｚ１ロジックと呼ばれ、毎秒１０回実行される（Ｈｚ１０リアルタイムサイクル部分）制御コンピュータ実行リアルタイムロジックはＨｚ１０ロジックと呼ばれる。毎秒１００回実行される（Ｈｚ１００リアルタイムサイクル部分）制御コンピュータ実行リアルタイムロジックはＨｚ１００ロジックと呼ばれる。ここにＨｚは「ヘルツ」を表し、一般的に毎秒１サイクルを意味する。
【００５８】
次の節では、それぞれ好ましい実施形態を参照して、左制御コンピュータ及び右制御コンピュータについて検討することとする。
【００５９】
次の話題は冗長度概念であり、好ましい実施形態には冗長な制御コンピュータセットが用いられる。冗長セットにおける各制御コンピュータのデータベースにおける第１基本ロジック的識別子は制御コンピュータ上の物理的スイッチによってそのデータベースに定義され、スイッチの一方の位置は制御コンピュータを「左」制御コンピュータと定義し、もう一方の位置は制御コンピュータを対を構成する「右」制御コンピュータとして定義する。３個の制御コンピュータが用いられる（遠隔フィールドユニットの場合のように）場合には、１つの制御コンピュータを「中間」制御コンピュータとして定義する１つのスイッチが同様に装備される。
【００６０】
次の節では、冗長度の討論、仲裁された冗長度、調停済み冗長度、およびアクティブ冗長度について提示する。
【００６１】
プロセス制御システムにおける「冗長操作」、プロセス制御システムにおける「調停済冗長操作」、及び、プロセス制御システムにおける「アクティブ冗長操作」は３つの関連した操作上の方法論である。この点に関して、リアルタイム制御コンピュータマシンが多数の強固な設計において使用されている。冗長度は、プロセス制御ロジックを（制御コンピュータ実行ロジックの形で）実行するため、及び、制御に必要な活動性を実行するために実質的にアクティブに利用可能な少なくとも２つの制御コンピュータマシンの供給に関係する。ただし、厳密には、冗長操作は、２つの制御コンピュータマシンの動作の間の明確な協調に必要な条件を満たさないし、これら両方の制御コンピュータマシンによるフィールドデバイスの活発な直接制御にも役立たない。１組の冗長制御コンピュータマシンは、データ値のリアルタイムにおける協調または何等かの相互診断なしには同一装置に関する制御上の決定を実行できない。実際には、安全遮断システム設計への幾らかの方法は、少なくとも２つの完全に独立したシステムが制御を実施するという点で好ましい。即ち、一方のシステムは、安全問題を特に対象としない「一般制御」システムの状態には一切配慮することのない「安全」専用である（オプションとしては、３つの独立した安全サブシステムの全てがそれらの安全遮断システム内に更に独立した権限を持つことも考えられる）。
【００６２】
その代りに、冗長性はバックアップコンピュータ及び主プロセス制御システムに問題が発生したことを示す兆候があれば迅速に取って代わることのできるプロセス制御システムの提供を意味する。冗長に作動しているマシン間の協調には（協調が必要な時に）「アービトレーション（調停）」が必要である、即ち装置制御エレメントの制御を実際に実施する主マシンとスタンバイするマシンを決定すること、及び／又は、適切な対策が主マシンによってとられることを保証することを助けるために「第２オピニオン」投票を実施すること、および、制御エレメントの位置を決定するためにどの値を使用するかを決定することが必用である。調停の一形式においては、実際に装置を操作している仲間の一次マシンが決定した値にスタンバイマシンが重ね書きして、（ａ）制御の移転が界磁制御デバイスに「衝撃を与えない」ように時期を決定すること、及び（ｂ）個別の界磁制御エレメントに関する制御権限の移転が好ましくない過渡現象を生じないことが達成される。他の調停形式においては、現場へ送信されるべき値に関して、一組のマシンによって投票が行われ、その結果、一マシンが、他のマシンの注意深い監視の下に、票決された値をフィールドデバイスに適用することを実行し、更に、この一組のマシンは、フィールド制御エレメントに出力電圧を指示しているマシンを、「投票」によって随意にスタンバイ状態に入れることができる。調停には、フィールドデバイスの差に応じて、条件が付けられる。即ち、（ａ）入力値（それらの出力信号の決定に応じた）、または、複数のマシンによてフィールドマシンに提示された出力信号の調停なしに或る種の出力信号が実施されること。（ｂ）或る種の出力値は、入力値の間の差異が許容範囲内である限り、一マシンの入力値（それらの出力信号の決定に応じた）が受け入れた後で、決定されること。ただし、許容範囲を越えた場合には、当該マシンは相互の値を無視するものとする。（ｃ）或る種の出力値は、左右のマシンへの入力値の間の差が許容範囲内である限り、一マシンの入力値（それらの出力信号の決定に応じた）が受け入れた後で、決定されること。ただし、許容範囲を越えた場合には、どちらかのマシンがフィールドデバイスを備フェールセーフモードに位置決めする電力を持つものとする。アクティブ冗長性はフィールドバイスで実行されることが好ましい。この場合、「アクティブ冗長性」は、少なくとも２つの個別制御コンピュータがそれらの出力制御電圧を同一出力結線上の１つのフィールド制御デバイスに同時に印加することを意味する。このアクティブ冗長度方法は印加されているうちの最も高い電圧がフィールドデバイスの状態を規定することを意味する。ただし、低い方の電圧はフィールドデバイスに供給される電圧の安定性に影響する。理由は、全ての電圧は回路をドライブしているフィールドデバイスにおける「抵抗」（ＤＣ回路安定性で）または「インピーダンス」（ＤＣ回路の過渡期間中）にかかることに因る。好ましい実施形態において、（ａ）いくらかのアクティブに冗長な出力信号は２つのマシンの間で調停されていない入力値から決定された出力に起因する。（ｂ）いくらかのアクティブに冗長な出力信号は、左右マシン間の差が許容差内にある限り左マシンの入力値を受入れた後で入力値から決定された出力に起因する。ただし許容差を超過した場合には、マシンは相互の値を無視する。（ｃ）いくらかのアクティブに冗長な出力信号は、左右マシン間の差が許容差内にある限り左マシンの入力値を受入れた後で入力値から決定された出力に起因する。ただし許容差を越えた場合にはどちらかのマシンがフィールドデバイスをフェールモードにドライブする電力を持つものとする。（ｄ）いくらかのアクティブに冗長な出力信号は、左右マシンの間の差が許容差内にある限り右マシンの入力値を受入れた後で入力値から決定された出力に起因する。ただし許容差を超過した場合には、マシンは相互の値を無視する。（ｅ）いくらかのアクティブに冗長な出力信号は、左右マシンの間の差が許容差内にある限り右マシンの入力値を受入れた後で入力値から決定された出力に起因する。ただし許容差を越えた場合にはどちらかのマシンがフィールドデバイスをフェールモードにドライブする電力を持つものとする。好ましい実施形態において、Ｈｚ１０、及び、Ｈｚ１００操作は、リアルタイムコードを実行する一般または安全指向の両ロジックセクションにおける第１「（ａ）」の場合によって特性付けられる。Ｈｚ１「一般操作」は、一般に特性を示される第２「（ｂ）」、及び、第４「（ｄ）」の場合によって特徴付けられ、Ｈｚ１「安全指向」操作は第３「（ｃ）」および第５「（ｄ）」の場合によって特徴付けられる。入力信号調停に関しては、Ｂａｃａ　Ｊｒ．等に発行された米国特許第５，５８３，７５７号に記載のアナログ入力信号調停方法論への幾らかの変更が、好ましい実施形態の開発において実行された。これらの改変に関する情報は前記特許に開示されており、図１５、１６、１７、及び、１８に概説されていて、本出願明細の他の部分において更に検討されるはずである。プロセスユニットステップ管理における他の変更は、前記特許における情報と図５５から５８までに関する検討を比較することによって理解されるはずである。
【００６３】
次のパラグラフはアプリケーションプログラムの討論を呈示する。
【００６４】
制御概念の一般的な集積（制御スキーマ）はプログラミングエンジニアによって、高水準プログラム言語のコンテキストにおいて、アプリケーションプログラミングとして知られるソースコードファイルに表現される。コンパイルトランスレータはアプリケーションプログラムインスタンスを制御コンピュータへロードするためのマシンオペレーションコードインスタンスに変換するためにインスタンスのコンパイルを実施する。
【００６５】
次のパラグラフはコンパイルトランスレータに関する検討を呈示する。
【００６６】
コンパイルトランスレータはコンピュータ実行ソフトウェアであり、高水準ソースコード言語ソフトウェア（例えばアプリケーションプログラム）をマシンオペレーションコードに変換および翻訳する。この際に、ソフトウェアコンパイル、語彙分析、コメント除去、マクロ置換、規則に関するステートメント分析、中間オブジェクトコード生成、アセンブリコード生成、マシンオペレーションコード形式における標準サブルーチンへのリンク、及び／又は、２進機械コード生成の技法が用いられる。
【００６７】
次のパラグラフはマシンオペレーションコードの検討を呈示する。
【００６８】
マシンオペレーションコードはマシンコード及びデータであり、通常２進形式において、にコンピュータにロードされ、コンピュータ回路における導通小道を定義するためにマシンコードが用いられ、データが引用され、用いられ、変更され、そのほか、コンピュータ回路によって電気的に処理される期間中、特定の機能を実施するようにコンピュータを作動可能化する。マシンオペレーションコードは非可変部分と可変（データ）部分を持つ。ここに、可変（データ）部分はコンパイルトランスレータによって生成されたインスタンスによって開始し、あらゆる特定時点において被制御装置の性質を反映するように制御コンピュータの各サイクルと共に変更される。
【００６９】
次のパラグラフはフェールセーフ概念の検討を呈示する。
【００７０】
フィールド制御デバイスのフェールセーフコンテキストは信号が制御システムから当該デバイス（例えば、配管の実効開口横断面のように、制御されつつある装置のリアルタイム属性を変更するフィールドデバイス内のエレメントの位置決めに用いられる）へ入力される信号がゼロ電圧の値、ゼロアナログ値、及び／又は、ＦＡＬＳＥブール値を持つ場合における界磁デバイス装置の位置として定義される。
【００７１】
次のパラグラフは、用語「デッドマン」の検討を呈示する。
【００７２】
「デッドマン」は高度に信頼できる構成、設計属性、および、回路のサブパートである。前記回路は回路自体が、（ａ）エネルギが与えられた出力（通常運転出力として）を供給し、しかも、代替的に、（ｂ）特別な操作状況（イベント）のリアルタイムにおける発生に際して明瞭、直接的、かつ混乱することなくエネルギが与えられた出力の供給中止を強制的にラッチすることを可能にする。ここに、前記中止は、明確に解放されるまで継続するようにラッチされる。
【００７３】
次のパラグラフはユニットオペレーション、ユニットオウロセス、及び、好ましい実施形態に関するＳＥＱＵＥＮＣＥ概念についての検討を提示する。
【００７４】
好ましい実施形態における制御コンピュータプログラムにおいて、制御コンピュータ実行ロジックおよび前述のＳＥＱＵＥＮＣＥオブジェクトの使用の導入に際して、化学工学の当該技術分野及び技術に関する２つの用語をこの順に簡単し説明することとする。「ユニットオペレーション」（化学処理において用いて実施される物理的変化手順の特定の種類、例えば、濾過、蒸発、蒸留、または、熱伝導）および「ユニットプロセス」（化学反応を介した物質の変位の特定の種類、例えば、酸化、加水分解、エステル化、重合、または、窒化）の伝統的な概念は「原始」物質から「製品」物質へのインクリメンタルな特定の所要変移を実施するために実行しなければならない機能的アクティビティを定義する。これらの物理的変化および化学変換は、オペレーションに際して、（マイクロ及びマクロコンテキストの両方において）原始物を製品物質に変換する装置の使用によって通常発生し、これは、少なくとも１つの「プロセスユニット」（例えば、反応装置、分留塔、結晶化装置、ドライヤ、石油タンク集中所、蒸留ユニット、抽出ユニット、または、蒸発器）において既述の実施形態における制御目的のために引用および組織化されるべき少なくとも１つの「ユニットオペレーション」又は「ユニットプロセス」の実行に関連する装置の当該部分に関して有用である。従って、化学製造プラント全体を通じて、「原始物質」の多くのインスタンスを「製品物質」に変換するために「プロセスユニット」のそれぞれの集合において幾つかの順次的および並列的「ユニットオペレーション」及び「ユニットプロセス」が効果的かつ集合的に実行される（この場合、状況をマクロに調べると「プロセスユニット」からの「製品物質」は、次の「プロセスユニット処理」にとって原始物質」である）。工学および操作に携わる人々は、これらの順次的および並列的「ユニットオペレーション」及び「ユニットプロセス」の操作を実施する際に、この種「プロセスユニット」の集合のコンテキストにおいてこの種プラントの操作を伝統的に使用し管理して来た。ここにマクロコンテキストにおいて「未加工の」（「原始」）物質は「完成した」（「製品」）物質に変換される。例えば、オペレータのチームは、プラントにおける「反応装置」「プロセスユニット」を立ちあげ、のチーム自体が第１「蒸留タワー」という「プロセスユニット」の「メンテナンスを実施し、第１蒸留タワーと並列運転するために第２「蒸留タワー」という「プロセスユニット」を運転する。しかし、「プロセスユニット」はたとえば、化学製造プラントのような設備において隔離された方法において物理的に単独で使用（好ましい実施形態の標的使用）されるわけではないことを理解されたい。理由は、化学製造のプラントは通常、結合容器、配管、弁、計器、および結線で構成される実質的に１個の大きい設備を作ることにより内部流体移動を可能にしていることによる。従って、「プロセスユニット」の定義は実にロジック的であり（大脳的および電気回路実装備的な両面のコンテキストにおいて）、具体的かつ物理的に明瞭に定義されているというよりも、むしろ文化的である。この点に関しては、例えば、バルブ付き配管が反応装置をサージタンクに接続している場合、当該反応装置、配管、弁、及び、サージタンクは１つの結合かつ統一された物理的設備として組み立てられ、反応装置を第１「プロセスユニット」、サージタンクを第２「プロセスユニット」とみなすと便利であるが、管理および制御目的からはプロセスユニット問題には弁（および配管）が含まれ、（ａ）１つの弁で接続された２つの「プロセスユニット」の間の物理的分離は明確でない、及び、（ｂ）リアルタイムにおける特定の時点において弁の２分岐制御は明確に望ましくないという理由により、科学技術的に芸術的かつ文化的な決定が行われるべきであることを受け入れることが必要である。
【００７５】
次に、「プロセスユニット」は、物理的設備の大きい収集体のサブパートであるとしても（更に大きい設備における部分集合的設備区分体）相互接続され、かつ統一された単体として作動する物理的設備の領域に関係する有用な抽象概念である。ただし、この有用な抽象概念は、（１）複雑な設備が物質のハンドリングと処理をリアルタイムで実行しつつある時には有用に統合された協調関係にある一組の物質処理領域が存在すること、および（２）これら領域の各々は、リアルタイムおけるその動的状態に関して、それら自体の領域コンテキストにおいて、それらの付属する「プロセスユニット」の状態を反映かつ特徴付ける特質を持っていることを認識する。装置に関して制御コンピュータによる制御を実施する際に、ＳＥＱＵＥＮＣＥは制御下にある装置内の「プロセスユニット」によって抽象かされた領域に自体をマップする対話的なオブジェクトであり、更に、ＳＥＱＵＥＮＣＥ対話的オブジェクトは当該ＳＥＱＵＥＮＣＥにリアルタイムに付属した「プロセスユニット」の操作状態を対話的に特徴付ける一組の属性を持つ。この点に関して、ＳＥＱＵＥＮＣＥの幾らかの属性を次に示す。即ち、一連のプロセスユニットステップ（この場合、リアルタイムの特定の瞬間において、ただ１つのプロセスユニットステップだけが「アクティブ」である）；一組のアラーム；レシピ；現行アクティブプロセスユニットステップにおける時間；ホーンの状態（または、ホーン状態の集合、大きいシステムにおいては、タイプの異なる問題が基音の異なるホーン、および、随意にプリプログラムされて付属したオーディオアナウンスメントを持つことは有用である）；非常状態；遮断状態；装置の物理的次元、属性、および、特性を変更できる一組の制御エレメント（例えば、弁の開閉、ポンプの電源供給、又は、電源遮断によって配管チャネルの内部を流れる流体に関する開口横断面の属性を変更する）；温度、圧力、液体表面位、弁の位置、、及び／又は、制御コンピュータのデータベースへの入力としての電圧またはデジタルメッセージで表されたシャフト回転速度などの装置内に設置されたセンサからの一組の測定値。好ましい実施形態において、装置内に設置されたセンサからの測定値は多数のＳＥＱＵＥＮＣＥＳの従属することがあり得るが、制御エレメントはただ１つのＳＥＱＵＥＮＣＥに従属し、かつそのただ１つのＳＥＱＵＥＮＣＥにおいて（通常アナログまたはデジタル）出力値および信号として算定れたそのリアルタイム位置計測値を持つことが好ましい（制御エレメントに関して計算された出力出力値が他の諸ＳＥＱＵＥＮＣＥのロジックに引用されるとしても）ことに留意されたい。ＳＥＱＵＥＮＣＥオブジェクトの属性の幾つかは、被制御装置の物理的部分である物理的表示を持つが（例えば、タ送信機、ブ弁、および、ソレノイド）他の属性（例えば、プロセスユニットステップ、アラーム、非常状態、シャットダウン状態、または、レシピ）はＳＥＱＵＥＮＣＥデータオブジェクトおよび物理的装置のその付属している「プロセスユニット部分」のの態様に関係する実質的なデータインジケータである。これらの他の属性は幾らかのＳＥＱＵＥＮＣＥの「プロセスユニット」内の直接的な物理的表示を持たない。幾らかのＳＥＱＵＥＮＣＥの「プロセスユニット」（例えば、「冷却水」、「空調用空気」、「サービス水」、または「電力」などのユーティリティシステムに関係したＳＥＱＵＥＮＣＥオブジェクトによって定義される）は物理的に装置全体に分散され、かつもう一方の「プロセスユニット」の幾つかにインタフェースすることに留意されたい。プロセス制御の使用を実行する際に、幾らかのＳＥＱＵＥＮＣＥＳは有用に定義される、制御されている装置の操作に関係する他の態様に関しても定義される。（例えば、会計システへの定期的ベースによる通信）、従って、当該装置のリアルタイム制御に対して直接的衝撃を与えることなしに幾らかのＳＥＱＵＥＮＣＥＳは、当該装置の操作全体のリアルタイム管理に関する考慮を報告する補助体の組織化に関して定義される。この点に関して、アッリケーションプログラムの特定インスタンスをシステム内リアルタイム制御コンピュータ用にマシンオペレーションコードに変換するコンパイルトランスレータは、（ユーザ言語ファイルは被制御装置に関する制御プログラム用の文書化されたソースコードを含む）、ＳＥＱＵＥＮＣＥが必要性をリアルタイム管理するために一般対話的オブジェクトとして定義されるとき、状況プログラミングに必要なデータ集合を特徴付けるために、フルセットプログラミングエンジニアが必要とする時間を著しく最小限化する属性変数を定義済みの各ＳＥＱＵＥＮＣＥに関する継承を介して提供する。
【００７６】
従って、ＳＥＱＵＥＮＣＥＳは、ロジック的背骨の定義を、プロセス制御プログラムの特定のインスタンスに関してユニット操作、ユニットプロセス、および、その操作サイクルが同時に或いは相互にに独立して実施される統一されたユーティリティを定義するロジック的オブジェクトグループとして作動可能化する。プロセス制御によって制御されつつある装置の動的操作におけるサージキャパシティ又は同時サイクリングが必要とされるとき、ＳＥＱＵＥＮＣＥの間の境界が頻繁に発生する。単一データオブジェクトを参照する際に用語ＳＥＱＵＥＮＣＥを使用することは（一連のオブジェクトと対照的に）反直観的ように思われるが、本用語は、元来、特定の「ユニットプロセス」に関するプロセスユニットステップのシーケンスに関係して当発明者供の製造文化において発展した。（例えば、反応装置は、プロセスユニットの「シーケンス」をもつ。すなわち、「保守整備」、「臨界計器の自動試験」「先ずロードしてから、第２成分を加える」、「冷却」、「放電」、「清掃」「保守整備」「プロセスユニットステップが順序に従って終了しない限り臨界計器の自動試験プロセスユニットステップに終わる」、「清浄なプロセスユニットステップにより」等と表現され、この場合における反応装置「プロセスユニット」は、制御プログラムにおけるＳＥＱＵＥＮＣＥ対話的オブジェクトにマップされ、ＳＥＱＵＥＮＣＥは、その属性の１つとして順次的なプロセスユニットステップの集合を持つ）。
【００７７】
装置のコンピュータ制御を実施するために特定のプロセス制御プログラムを明瞭に実行するための基本的な第１ステップを実現する際に、プログラミングエンジニアは、被制御装置においてプロセスユニットの当該集合を反映するように一組のＳＥＱＵＥＮＣＥＳを特徴付ける（それぞれの「ユニットプロセス」及び「ユニット操作」に関する）。前述の説明から明白であるように、これは幾分判定的かつ科学技術的に芸術的な特徴付けである。定義済みＳＥＱＵＥＮＣＥＳは直列的な仕方において実行されるロジックを有するが、装置における「プロセスユニット」の相対位置計測に明確に位置合わせされた調子においてＳＥＱＵＥＮＣＥＳが進行するように制御コンピュータにおいてロジック実行を順序付けることは必要でない。ただし、この点に関して、プログラミングエンジニアは、リアルタイムの一時点において定義され、次に直ぐ後で引用されるデータのインパクトを常に考察しなければならない。
【００７８】
システム内の制御コンピュータプログラム内のプログラムにおける制御コンピュータ実行ロジックはリアルタイム１秒当たり少なくとも１度全ての制御コンピュータ実行ロジックが完了するように作動する。この１秒において、制御コンピュータ実行ロジックは、被制御装置からの測定値として全てのアナログ入力およびデジタル入力を読み取り、直列的な仕方で各ＳＥＱＵＥＮＣＥにおいて（すなわち、ＳＥＱＵＥＮＣＥ　１…ＳＥＱＵＥＮＣＥ　２…．．．、ＳＥＱＵＥＮＣＥ　Ｎ）ロジックの実行を実施し、被制御装置に対して全てのアナログ出力及びデジタル出力を定義し、通信を実施し、リアルタイムのその次の秒の開始において全てのアナログ入力およびデジタル入力を読み取る準備を整える。
【００７９】
次のパラグラフには好ましい実施形態に関して制御コンピュータタスクの検討を呈示する。
【００８０】
米国特許第５，５８３，７５７号（Ｂａｃａ、Ｊｒ．、等）に示されているように、２つの冗長なプロセッサの使用は、制御コンピュータ自体の代替操作モードに関してロジック的指定の使用によって容易にされる。この点に関して、冗長設定された制御コンピュータの状態に対応する各制御コンピュータのデータベースにおける第２の基本的ロジック識別子が、「タスク」によって示された操作モードとしてそのデータベースに対して定義される。好ましい実施形態において：
パートナ制御コンピュータにおける実行制御プログラムの全てのロジックまたはロジック的部分集合のどちらかがタスクＡ制御コンピュータに転送されつつある時にタスクＡ（Ｔａｓｋ　Ａｌｐｈａ）が操作モードを定義する。
【００８１】
実行制御プログラムのデジタル及びアナログ出力は操作可能でないが、実質的に他の全ての点において、当該制御コンピュータが当該制御プロセスおけるフルパートナとして参加している時に、タスクＢ（Ｔａｓｋ　Ｂａｋｅｒ）が操作モードを定義する。
【００８２】
パートナ制御コンピュータにおける動的データ（リアルタイムにおいて値変更を受けるデータ）がタスクＣ制御コンピュータに転送されつつある時にタスクＣ（Ｔａｓｋ　Ｃｈａｒｌｉｅ）が操作モードを定義する、
制御コンピュータがタスクＦにおける制御コンピュータとフルパートナとして当該制御プロセスに参加し、タスクＦにおける制御コンピュータのロジックサイクルに同期している時に、タスクＤ（Ｔａｓｋ　ＤｏｇまたはＴｈｅ　Ｄｏｇ）が操作モードを定義する。
【００８３】
制御コンピュがスタンドアロンソステムとして開始するか、又は、タスクＤの以前の状態であるが、タスクＦ状態には決して達成したことがないどちらかであって、制御コンピュータがアクティブパートナ制御コンピュータなしで制御プロセスを実行しているときには、タスクＥ（Ｔａｓｋ　ＥｃｈｏまたはタスクＥａｇｌｅ）が操作モードを定義する。
【００８４】
制御コンピュータがタスクＤにおける制御コンピュータとフルパートナとして制御プロセスに参加する時か、または、制御コンピュータがタスクＦの状態において存在したことがあるが、現在ではスタンドアローンで実行中である時に、タスクＦ（Ｔａｓｋ　Ｆｏｘ又はＴｈｅ　Ｆｏｘ）が操作モードを定義する。
【００８５】
制御コンピュータが低速度インタフェースからのアプリケーションプログラムソースコードの新規インスタンスに対応する新規マシンオペレーションコードバージョンを獲得しつつある時に、タスク６が操作モードを定義する。
【００８６】
制御コンピュータが高速度インタフェースからのアプリケーションプログラムソースコードの新規インスタンスに対応する新規マシンオペレーションコードバージョンを獲得しつつある時に、タスク８が操作モードを定義する。
【００８７】
制御コンピュータがその装置のＨｚ１、Ｈｚ１０、Ｈｚ１００制御を停止したが、制御コンピュータのメモリ内においてデータベース及びプログラム値の調査を可能にするために基本的操作システムを実行し続ける時に、タスク４（ＤＥＢＵＧ　Ｔａｓｋ）が操作モードを定義する。
【００８８】
タスクＦコンピュータにとっての「パートナ」、または、「隣人」コンピュータは、最も一般的にはタスクＤ、または、タスクＢコンピュータである。逆に、タスクＤ、または、タスクＢコンピュータにとっての「パートナ」、または、隣人コンピュータは最も一般的にタスクＦコンピュータである。極めて稀に、タスクＦ、及び、タスクＤパートナーシップがそれらの２方向通信「主要」リンクを喪失した一般的に好ましくなく、高度に異常な状況においては、優先するタスクＦコンピュータはタスクＦにおいて継続し、優先するタスクＤコンピュータはタスクＥを変更する。
【００８９】
実行制御プログラムのロジックにおいて実施された決定の結果として実行された判断判定の結果として左或いは右ずれかの制御コンピュータが任意のタスクにあり、又は、人的対話によってタスクに強制され得る。左右データ定義は一般に操作において変更されることなく、人的対話によってのみ変更され得る。ただし、実行制御プログラムのロジックはマシンのタスク状態を実質的に即座に変更し、２つの左制御コンピュータ、又は、２つの右制御コンピュータがアクティブに冗長な操作の実行を試行する場合には（プロセスは被制御装置の安全操作を維持するために実行される）、制御デバイスの位置決定に向けられたロジックを実行してフェールセーフにする。また、実行制御プログラムのロジックには診断アラームが存在し（緊急および遮断状態フラグを定義する付属ロジックを備える）、２つの制御コンピュータにおける左、右、及び、タスク状態の他の受容可能でない組み合わせに際して活動化する。要約すれば、アクティブに冗長なシステムにおいては、実行制御プログラムのロジックは、各制御コンピュータの状態および一組としての制御コンピュータの状態に関して一組の診断チェックを実施し、（ａ）安全操作に必要な個別の位置合わせが実質的に常時存在することを保証し、（ｂ）安全操作に関して必要な個別の位置合わせが存在しない場合には、装置におけるリスク最小化に関して即座に対策を実施することが好ましい。
【００９０】
以下の諸パラグラフには、個別の好ましい実施形態に関するＣａｎｓ、Ｃａｎ　マザーボードｓ、およびＩ／Ｏケーブルドライバボードに関して呈示する。
【００９１】
好ましい実施形態において、それぞれ装置（制御されている）に対する入力信号および出力信号の全集合の部分集合はそれぞれマザーボードを介して各制御コンピュータへインタフェースし、入力信号、出力信号、および、マザーボードは、任意の特定部分集合として、当発明者の語彙集に引用されるキャビネット内に「Ｃａｎ」として物理的に配置される。この点に関して、「Ｃａｎ」は入力ボード、出力ボード、マザーボードｓ、個別電源を頻繁に保持し、「左」制御コンピュータ及び「右」制御コンピュータの両方に対してスイッチに置き換わる。「Ｃａｎ」インスタンスに関するそれぞれに値は、「左」制御コンピュータ及び「右」制御コンピュータの両データベースにおいて同じであり、「左」制御コンピュータおよび「右」制御コンピュータからの値を診断および調停状態決定に際して協調させるために用いられる。通常、好ましい実施形態において、「Ｃａｎ」は、制御されている装置における測定および制御装置を用いた電気通信において、１００アナログ入力信号、１００デジタル入力信号１００アナログ出力信号、および、１００デジタル出力信号、合計４００信号用の上記フィールドインタフェース電子装置を保持する。本明細書に記載の好ましい実施形態を注意深く研究することによって理解できるはずであるように、「左」制御コンピュータおよび「右」制御コンピュータの両者は、制御コンピュータおよび制御下にある装置に「Ｃａｎ」を介してインターフェイスする１００アナログ入力信号、１００デジタル入力信号、１００アナログ出力信号、および、１００デジタル出力信号を処理するためのそれら自体の特有、分離かつ個別のボードの組（集合）を有するので、「Ｃａｎ」は合計８００個の信号を処理するフィールドインタフェース電子装置を保持する。信号が三重冗長性遠隔フィールドユニットから受け取られる時に、仮想の「Ｃａｎ」（遠隔フィールドユニットを表す）は依然として存在するとみなされ、「Ｃａｎ」データベース値は、この仕方において管理される全ての信号に関して、「左」制御コンピュータ及び「右制御コンピュータのデータベースにおいて整列される。二重冗長性或いは三重冗長性仕方において信号が装置（制御されている）にインターフェイスされるかどうかに拘わらず、「左」制御コンピュータと「右」制御コンピュータの間の調停処理はインタフェース方法論においてはこの差異を取り扱わない仕方において実行する。ただし、信号に個別に対応する或る種の診断は、全体として「左」制御コンピュータ及び「右」制御コンピュータのデータベースにおける当該システムに関して広範囲にわたる状態を適切に特徴付けるために異なる実行可能なロジックによって必ずしも解釈されるとはかぎらない。この点に関して、複数の個別「Ｃａｎ」によって構成されるマザーボードは、「メザニンボードｓ」として知られているボード上に配置された多数のデッドマン回路を有する。
【００９２】
フィールドＩＯボードを制御コンピュータにインターフェイスする「Ｃａｎ」マザーボードに加えて、各制御コンピュータは、制御コンピュータによってアドレスされる全ての「Ｃａｎ」マザーボードｓと制御コンピュータの間にインタフェースを提供するＩ／Ｏケーブルドライバボードを有する。このＩ／Ｏ　ケーブルドライバボードはＡ／Ｄ及びＤ／Ｃ／Ａ変換回路を保持し、「Ｃａｎ」マザーボードｓと制御コンピュータの間にデータおよび信号の交換を提供する制御バスにインターフェイスされる。ここでは、メモリ容量に関して、１６ビットのワード１０２４個に相当するメモリ容量を「Ｋ」によって表すことに留意されたい。
【００９３】
図１は、安全遮断能力を備えたプロセス制御システムにおいて必要な従来技術によるキードメインの従来技術による概観９６を示す。プロセス制御システム全体には、プロセス制御システムによって制御される有用な装置と関連した危険に関する安全必要条件に適合可能にするために、一般プロセス制御システムと第２添付安全遮断コンピュータシステム両方の使用が組み込まれている。一般プロセス制御システムは、アプリケーションプログラム８９からマシンオペレーションコードを生成するために汎用プログラムコンパイルトランレータ９５を使用する。マシンオペレーションコードは制御コンピュータ９２にロードされ、制御コンピュータ９２は、Ｉ／Ｏ回路９０を経て監視装置８４を制御するために監視装置８４にインターフェイスする。第２添付安全遮断コンピュータシステムは安全問題専用の安全プログラム７１６からマシンオペレーションコードを生成するために。安全プログラムコンパイルトランスレータ９４を使用する。マシンオペレーションコードは安全管理コンピュータ９３にロードされ、安全管理コンピュータ９３はプロセス制御システムによって制御される有用な装置と関連した危険性（ハザード）に関する安全必要条件に適合可能にするためにＩ／Ｏ回路９１を介してモニタ装置８４にインタフェースしこれを制御する。
【００９４】
図２は、好ましい実施形態のシステムに従う安全遮断能力を備えたプロセス制御システムにおいて必要とされるキードメインの統一システム８１概観を提示する。アプリケーションプログラム７１３は少なくとも１つのＳＩＰセグメント７１２及び少なくとも１つの非ＳＩＰセグメント（図示せず、「非ＳＩＰセグメント」は「一般プロセス制御セグメント」とも称され、見方によってはＳＩＰセグメント７１２に含まれないアプリケーションプログラム７１３の一部である）を有する。単一コンパイルトランスレータ８５はアプリケーションプログラムを制御コンピュータ８２用マシンオペレーションコードにコンパイルする。コンパイルトランスレータ８５は、コンパイルトランスレータ内のコンピュータ実行ロジックの部分集合としてＳＩＰ（安全完全性プログラム）規則集合８６を持つ（ここにＳＩＰ規則集合は、各制御コンピュータ、制御コンピュータにおける手順および構造、及び、ＳＩＬ必要条件間の順応的かつ協力的随伴を保証することを指向する隣接、及び又は、非隣接コンピュータ実行コンパイルトランスレータロジックの収集体であるコンパイルトランスレータの部分集合、部分、及び／又は、「区分体」である）。ＳＩＰ規則集合を提供するために実行する特定のステートメントは、一実施形態において、コンパイルトランスレータ内において隣接し、一代替実施形態においては、ＳＩＰ規則集合を提供するために実行する特定のステートメントはコード化された時に非隣接である。ただし、非隣接実施形態におけるステートメントは、特定ＳＩＬの必要条件が承認権限の満足度に対して確認されるように、認証権限により全体論的仮想区分体として設計され、管理され、かつ、確認される。隣接または非隣接いずれのコード化代替案においても、ＳＩＰ規則集合は、（１）各ＳＩＰ区分体におけるコンパイルに関して定義されるデータ変数および（２）各ＳＩＰ区分体におけるコンパイルに関して定義されるアプリケーションプログラムステートメントの形式における、（１）操作される装置に適したＳＩＬレベルおよび（２）装置の制御用に用いられる制御コンピュータに関して定義された（ｂ）ＳＩＬ特有制約条件付きの（ａ）アプリケーションプログラムロジックの位置合わせを提供するために実行するコンピュータ実施ロジックを提供する。一実施形態において、ＳＩＰ区分体７１２は、個別のアプリケーションプログラムファイルとして管理される。この場合各ファイルは、アプリケーションプログラムの一般プロセス制御セグメントに関して使用される安全アクセスコードと異なる特別のＳＩＰ安全アクセスコードを有する。更なる一実施形態において、ＳＩＰ区分体７１２は、各ＳＩＰ区分体のコンパイルに際して生成されるチェックサムを有する。ここに、チェックサムはチェックサムファイルに記録され、更に、監査を容易にするために、制御コンピュータメモリにロードされる。更なる一実施形態において、チェックサムは第１コンパイルパス、及び、その後の第２コンパイルパスにおいて生成され、ここに、第２パスチェックサムは、チェックサムファイル内におけるその前のコンパイルインスタンスから保持されたチェックサムと比較され、従って、ＳＩＰ区分体のコードにおける一貫性は、ＳＩＰの内容における意図的な変更が、チェックサムファイル内に記憶されたチェックサムの特定保護されたユーティリティを介した現行変更を用いて、担当プログラミングエンジニアによって実施される時まで、第１コンパイルインスタンスから任意の後続コンパイルインスタンスまで確認される。第１パスチェックサム、第２パスチェックサム、及び、その前のコンパイルインスタンスから保持されたチェックサムの比較によってこれら３つのチェックサムが同じでないことが表示された場合には、当該コンパイルプロセスは、制御コンピュータにローディングするための統一されたマシンオペレーションコードを生成する段階までは進行しない。
【００９５】
既に注記したように、ＳＩＰ（安全完全性プログラミング）規則集合はコンピュータ実行ロジックを提供するＳＩＰ規則集合は、（１）各ＳＩＰ区分体におけるコンパイルに関して定義されるデータ変数および（２）各ＳＩＰ区分体におけるコンパイルに関して定義されるアプリケーションプログラムステートメントの形式における、（１）操作される装置に適したＳＩＬレベルおよび（２）装置の制御用に用いられる制御コンピュータに関して定義された（ｂ）ＳＩＬ特有制約条件付きの（ａ）アプリケーションプログラムロジックの位置合わせを提供するために実行するコンピュータ実施ロジックを提供する。この点に関して、ＳＩＰ規則集合は、当該ＳＩＰ区分体内のアプリケーションプログラムステートメントに関して使用されるＳＩＰ変数のＳＩＰ変数リストにコンパイルされつつあるアプリケーションプログラムの特定のインスタンスにけるファンクションタイプステートメントを解釈する。従って、コンパイルトランスレータのＳＩＰ規則集合内ロジックの第２の部分は、次に示す条件を保証するために、ＳＩＰ区分体内に用いられる各ＳＩＰ変数と当該区分体内におけるコード化を比較する。即ち、（ａ）ＳＩＰ変数リスト内のＳＩＰ変数は１つの単一ＳＩＰ区分体外で決定された値を持つことはない。（ｂ）ＳＩＰリスト内の全てのＳＩＰ変数は少なくとも１つのＳＩＰ区分体において使用される。（ｃ）ＳＩＰ区分体において使用される非ＳＩＰ変数の使用から得られるあらゆる結論はステートメント内において支配される。この場合、それら（前記結論）はＳＩＰ変数に基づくテートメント部分にによって使用される。第３の考察の実施に際して、ＳＩＰブール演算子タイプは、コンピュータステートメントにおける非ＳＩＰ変数の使用によってＳＩＰ規則集合８６が当該ステートメントの残りの部分に十分に適用されることが結論付けられることをコンパイルトランスレータ８５に合図するために提供される。ＳＩＰブール演算子タイプの２つの演算子ＳＩＰＡＮＤおよびＳＩＰＯＲである。この点に関して、ステートメントの一例を次に示す：
結論（ＳＩＰ）ＩＦ〈ＳＩＰ変数を含まない文節）〉ＳＩＰＡＮＤ〈ＳＩＰ変数を含む文節〉
前述のステートメントにおいて、ＳＩＰ結論変数は十分に厳格なＳＩＰである文節と結合した考察によって定義される値であるので「ＳＩＰ変数を含む文節」は安全操作が違反されないことを保証するために「ＳＩＰ変数を含まない文節」におけるあらゆる結論を無効にするように機能する。ＳＩＰの巌格さへの遷移はＡＮＤブール演算子によって始動される。
【００９６】
コンパイルトランスレータにおけるロジックの第３の部分は、ＳＩＰ変数、ＳＩＰ変数リスト、及び、ＳＩＰ区分体における位置合わせ考察に対してＳＩＰ区分体におけるコードが非適合である際に、マシンオペレーションコードの生成を抑制する。コンパイルトランスレータ８５におけるロジックの他の部分は、プログラムメモリ内のマシンオペレーションコード（マシンオペレーションコードがリアルタイムにおける瞬時毎に変化しない場合における制御コンピュータ内一般メモリの一部分）を特徴付けるコンパイルトランスレータ標示データ値を定義する。この標示データ値はコンパイルトランスレータによって生成されたマシンオペレーションコードに対するマシンオペレーションコードの完全性を検査するためにリアルタイムに使用される。
【００９７】
安全ドメイン属性パラメータを有する第１プロセスユニットステップデータオブジェクトタイプはＳＩＰ区分体内における使用のために提供され、正常操作属性パラメータを有する第２プロセスユニットステップデータオブジェクトタイプはＳＩＰ区分体外における使用のために提供される。制限された優先化澄み遮断状態プロセス制御オブジェクトタイプも使用にために提供される。この点に関して、制限された遮断状態プロセス制御オブジェクトタイプはＳＥＱＵＥＮＣＥにおける状況を識別するために機能するオブジェクトであり、付随装置におけるそのプロセスユニットの「遮断」は望ましいが、システムにおける経済的罰則が最小限化される場合であってさえも、システムにおける確実かつ安全な操作上の状態を達成する制限されかつ拘束された仕方であることが条件付けられる。多くのレベルの絶対命令的遮断を管理する際に、制限された遮断状態プロセス制御オブジェクトタイプが提供され、ここに、優先順位属性パラメータは５つのレベルの優先順位をサポートする。
【００９８】
ＳＩＰ変数、ＳＩＰ区分体、及び、ＳＩＰプロセスユニットステップを管理する際には次に示す３キー技法に従う。
【００９９】
１．ソースコードレベルにおけるＣＲＣ３２は、当該区分体内のソースコードの変更に関する特定責任担当者の制御の下に変更管理システムによってＳＩＰセグメントの各コンパイルに関して確認される。
【０１００】
２．コンパイルトランスレータに対してＳＩＰプロセスユニットステップとして指定および定義された全てのプロセスユニットステップはＳＩＰ区分体内において明確に算定されなければならない（ＳＩＰプロセスユニットステップはコンパイルトランスレータに対して最初に定義されてはならず、更に、ＳＩＰ区分体におけるブール計算結果として定義されてはならない）。
【０１０１】
３．マシンオペレーションコードデータ集合において、全てのＳＩＰ変数はオペレータによる手動変更に対して保護される。
【０１０２】
好ましい実施形態において、シャドウメモリ回路８８は新規制御コンピュータ８２を実施するために制御コンピュータ９２に加えられる。この点に関して、３個の制御コンピュータを有する代替実施形態において達成される機能性を更に経済的に提供するために、好ましい実施形態は、シャドウメモリ回路８８を備えた２つの制御コンピュータを使用する。ただし、装置８４に対して制御を実施するために３個の制御コンピュータが使用され、各制御コンピュータが３個のコンピュータのいずれかにおける（すなわち、前述のエラー補正コードメモリへの制限なしに）メモリ故障の発生を識別するための診断システム及び方法を有するならばコンパイルトランスレータ８５従ってマシンオペレーションコードを使用する利益がシャドウメモリ区分体８８を使用することなしに達成されることに留意されたい。好ましい実施形態においては、しきい値から外れたデッドマン８７においてＲＣ回路におけるコンデンサを維持するために制御コンピュータ８２が進行中の一組のパルスを提供しない時には、フェールセーフ出力を実施するためにＩ／Ｏ回路８３にデッドマン８７が使用される。これらのパルスは、制御コンピュータが設計された能力に完全に適応して非常に高い確率のしきい値以上において実行中である場合に限り結論に達するまで実施するように非常に複雑に設計されたマシンオペレーションコード部分集合を制御コンピュータによって実行することの結果として得られる。換言すれば、マシンオペレーションコード部分集合は、種々の内部構成要、レジスタ、及び、制御コンピュータのサブサーキットが、統計学的信頼度の高い水準において、或いは、統計学的に高い確率しきい値以上において、正しく、かつ承認権限者に対して提示されたこれらの設計に従って作動することを確立できる程度に十分に複雑である。
【０１０３】
図３Ａについて考察することとし、制御コンピュータ８２の好ましい実施形態の構成図が制御コンピュータ１０として示される。制御コンピュータ１０は中央プロセッサ、及び、制御装置（ＣＰＵ）１２を含む。ここに示す一実施形態によれば、ＣＰＵ１２は、Ｒａｄｓｔｏｎｅ　Ｔｅｃｈｎｏｌｏｇｙ　ＰＬＣからのＭＩＰＲＯＣプロセッサ、ハーバードアーキテクチャプロセッサを基調とする。ただし、他のＣＰＵ回路、または、マイクロプロセッサが条件つきで使用されること、及び、本発明の原理は何等特定のＣＰＵ構成または統合に制限されないことを理解されたい。更に、次の事を理解されたい、即ち、熟考された実施形態においてはＡＳＩＣ（アプリケーション特化集積回路）技術（承認機関によって受入れ承認された実施形態として熟考された適切な承認を含む）の使用を介して達成されるであろうように、コンピュータ１０における全ての回路は、適切なアプリケーションとして、１つの単一マイクロコンピュータチップに集積される。
【０１０４】
ハーバードアーキテクチャ構成によれば、コンピュータ１０はデータ及びでーたシャドウメモリ１４、プログラム及びプログラムシャドウメモリ１６、及び、これらメモリの各々に関する個別バス構造を含む。また、コンピュータ１０は、プログラム及びプログラムシャドウ１６から例えばＱオペレーション（Ｑ＿ＯＰ）、及び、Ｃオペレーション（Ｃ＿ＯＰ）信号のような制御信号を受け取るＱ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６も含む。この点に関して、データメモリ及びデータシャドウメモリ１４における６４Ｋ（およびシャドウの６４Ｋ）は、このメモリの非シャドウ部分と共にデータバス１８（「Ｂ」バス）およびデータメモリアドレスバス２０を介して、データをインターフェイスする。６４Ｋ（およびシャドウの６４Ｋ）プログラム及びプログラムシャドウメモリ１６はプログラムメモリデータバス２２（「ＰＭバス」）、及び、このメモリの非シャドウ部分と接続したプログラムメモリアドレス２４（「ＰＣバス」）を介してデータをインタフェースする。３２０Ｋ（およびシャドウの３２０Ｋ）Ｑ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６は、このメモリの非シャドウ部分に接続したデータバス１８（「Ｂ」バス）を介してデータをインターフェイスする。好ましい実施形態においては、プログラム及びプログラムシャドウメモリ１６のプログラムメモリの６４Ｋは４組のメモリにおいてインタフェースされる。プログラムメモリＲＯＭの最初の１６Ｋは「Ｌｏ　Ｐ　ＲＯＭ」として参照される。プログラムメモリＲＯＭのその次の１６Ｋは「Ｈｉ　Ｐ　ＲＯＭ」として参照される。プログラムメモリＲＡＭの最初の１６ＫはＰ　ＲＡＭとして参照され。プログラムメモリＲＡＭの残りの１６Ｋは「Ｈｉ　Ｐ　ＲＡＭ」として参照される。
【０１０５】
また、コンピュータ１０はＣＰＵ　１２をデータバス１８上のデータにアクセス可能にするインデックス割り込み回路２６を含む。更に詳細には、インデックス割込み回路２６は、８つのアドレスモーの１つから派生された１６ビットアドレスを供給する。アドレッシングモード態様は、実行されるべき命令によって選択される。Ｉ／Ｏケーブルドライバ６０１はデータバス１８を介してＣＰＵ　１２を添付された「Ｃａｎ」にインターフェイスし、ＮＤコンバータ６０７、及び、Ｄ／Ａコンバータ６０５を保持する。ウオッチドッグ回路６０３はデータバス１８へ双方向的にインタリンクされ、また、（ここで、更に詳細に記述されるように）メモリ比較オペレーションからの入力を受け取るために制御コンピュータ１０のメモリへ単方向的に（それぞれ）インタリンクされる。インデックス割込み回路２６も同様に優先順位割込みバス３０とリンクされる。ウオッチドッグ回路６０３は、（ａ）インデックスの割込み２６およびＣＰＵ　１２からの事前決定イベント出力の発生が時機を得た仕方においてデータバス１８を介して受け取られないか、又は、（ｂ）メモリからの比較エラー信号１２３０，１０７２，９３８の検出に際して、制御コンピュータにおけるマシンオペレーションコードのリアルタイム実行を停止するためにＣＰＵ　１２への接続ＣＬＫ　ＨＬＴ　１０を提供する。タスクＣオペレーションにおいて、ＣＰＵ　１２はウオッチドッグ６０３の操作を開始する。エラー比較線９３８、１０７２、及び、１２３９は別々に示されているが、これらの線の任意の２個または３個全ては、ウオッチドッグ（ウォッチドッグ）６０３への接続以前に代替実施形態において電気的に結合可能であることに留意されたい。開始に際して、エラー状態を強制し、線１２３０、１０７２、９３８に関連した操作を確認するために、ＣＰＵ　１２はテストパターンをメモリ１６、３６、１４に送る。タスクＢ、Ｄ、Ｅ、Ｆにおいて、線１２３０、１０７２、９３８は、メモリ比較エラーの表示に関して監視される。線９３８を介したエラーは、ＣＰＵ　１２を停止するためにＣＬＫ　ＨＬＴ接続信号の即時表明を促す。エラー誤差層貫通孔は、線１２３０或いは１０７２を介したエラーは、パートナ制御コンピュータがタスクＤ、Ｅ、または、Ｆにおいて許容可能に作動している場合にはＣＬＫ　ＨＬＴ表明を実施し、パートナ制御コンピュータウォッチドッグ６０３はＣＬＫ　ＨＬＴ信号の表明許可を承諾する。ウオッチドッグ６０３はデータバス１８を介してマイルポスト値を探索し、図１９のルーチン２５００が、それらの事前決定された方法論により、マイルポスト間の事前決定されたリアルタイムのインクリメント以内に実行中であることを確認する。Ｈｚ１０におよびＨｚ１００オペレーションに関する開始および停止ストローブは成功した到着に関して監視される。回線１２３０及び１０７２に関して検討された仕方おける条件付き遮断は、それぞれ、マイルポスト到着、Ｈｚ１０開始、停止ストローブ到着、及び、Ｈｚ１００開始／停止ストローブ到着に関する受容不可能な識別に際して実施される。デュアルシステムにおけるウオッチドッグ６０３回路は固定した位置状態通信に関して独立した通信リンクを備える。
【０１０６】
コンピュータ１０は１６ビットのバス構造を用いてはいるが、他の適切なバス幅を適当なアプリケーション中で条件付きで用いられることを理解すべきである。同様に、データメモリ及びデータシャドウメモリ１４、Ｑ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６並びにプログラムメモリ及びプログラムシャドウメモリ１６の記憶能力もまた、条件付きで変更される。プログラムメモリ及びプログラムシャドウメモリ１６は、以下に示すように、ランダムアクセスメモリ（ＲＡＭ）、電気的プログラマブル読み出し専用メモリ（「ＥＰＲＯＭ」）又はこれらの双方並びにオペレーティングシステムを利用してプログラムの命令を記憶することがある。例えば、ＥＰＲＯＭを用いて、オペレーティングシステムと、変更されないと思われるようなサブルーチンと、を記憶し、一方ＲＡＭを用いて、より更新されやすいようなサブルーチンを記憶する。プログラムメモリ及びプログラムシャドウメモリ１６もまた、ＥＥＰＲＯＭやフラッシュメモリなどの他の適当なメモリ回路を適切なアプリケーション中で用いることがある。
【０１０７】
図３Ａに示すように、コンピュータ１０はまた、制御バス２８、優先順位割り込みバス３０及びプログラマブルインタフェース３４を含んでいる。プログラマブルインタフェース３４は、入出力動作のためプログラマブルポート６３２に対するインタフェースとなっている。言い換えれば、プログラマブルインタフェース３４は、様々なセンサーからアナログ値とデジタル値を表す入力信号を受信するように構成されており、また、１つ以上の制御デバイスに対する出力信号を送信するように構成されている。加えて、プログラマブルインタフェースは、通信信号を受信したり送信したりするためにも用いられる。しかしながら、ほとんどのＩ／Ｏは、制御バス２８を介して好ましい実施形態で取り扱われている（図４に示すＬＩＮＫ３２４ａ、ｂ及びネットコントローラ３２８ａ、ｂはＩ／Ｏケーブルドライバボード６０１のそれと類似の仕方でインタフェースされている）。
【０１０８】
図３Ｂに、図３Ａのブロック図に加えて、制御コンピュータに対する入力信号と出力信号「Ｃａｎ」それぞれ中に位置している回路コンポーネント６６８をさらに含む図を示す。図３Ａに示すＩ／Ｏケーブルドライバボード６０１がここでは、さらに、マザーボード（１）６８１及びマザーボード（Ｎ）６８２と共に図示されている１セットのマザーボードに対してリボンケーブル６８０を介して接続されている様子が示されている。マザーボード１は、ＣＡＮアドレスデッドマン回路６９１及びメザニンボード６８９を有し、その上に、ＤＯデッドマン回路６８８と期されているデッドマン回路が配置されている。マザーボードＮもまた、ＣＡＮアドレスデッドマン回路６８３とメザニンボード６８４を有し、その上には、ＤＯデッドマン回路６８５と期されているデッドマン回路が配置されている。ＤＯデッドマン回路収縮物（ｃｏｎｄｅｎｓｅｓ）はこの場合、「ＳＩＬメザニンボードデジタル出力デッドマン回路」を参照する。各ＣＡＮアドレスデッドマン回路６８３、６９１上のＲＣ回路は、制御コンピュータからの最初のパルスとしてのアドレシング入力がしきい値（未満に）オフセットした状態でＲＣ回路中のキャパシタを支えない場合にはそのＣＡＮから被制御装置８４への出力が停止されるようにアクティビティパルス受信機に接続されている。ＤＯデッドマン回路６８８、６８５は、制御コンピュータからの出力コマンドが制御コンピュータ１０の非標準動作を示している場合にＣａｎからの全てのデジタル出力（ＤＯ）を無効化するデッドマンとなっているが；この点で、ＤＯデッドマン回路はそのＲＣ回路がアクティビティパルス受信機に接続されていて、ＤＯデッドマン出力１９１５は、制御コンピュータからの１セットの出力中の第２パルスがしきい値未満のＲＣ回路中のキャパシタを支えない婆にそのＣＡＮから装置８４へのデジタル出力信号の（スイッチ６８７、６９０を介しての）提供を停止するように実現されている（すなわち、デッドマンは「ファイアする」）が、この場合、第２のパルスは、制御コンピュータが非常に高い可能性しきい値より高い設計機能に完全に適合して実行中である場合にだけ、終結まで実行するに十分複雑であるように設計されているマシンオペレーションコードサブセットを制御コンピュータが実行すると発生する。ＡＯデッドマン接続１９１３ａ、ｂは、必要に応じて装置８４の制御エレメントに対するアナログ出力信号を（スイッチ６９５、６９７によって）無効化するように交互に実現される。
【０１０９】
冗長制御コンピュータシステムにおける制御コンピュータ１０の使用法を図４を参照して説明するが、同図では、アクティブに冗長な制御コンピュータシステム３１０のブロック図が提示されている。システム３１０は、１対のアクティブに冗長な制御コンピュータ１０ａと１０ｂを含むが、これらは各々が制御コンピュータ１０にとっては同一であるのが望ましい。制御コンピュータ１０ａ、１０ｂは各々が、リモートフィールドユニット３１４ａ、３１４ｂなどの１つ以上のリモートフィールドユニットから共通の入力データを受信する。これらのリモートフィールドユニットは、光ファイバケーブル３１６ａ〜３１６ｄに使用法で図示されるように、アクティブ冗長制御コンピュータ１０ａ、ｂから遠隔に置かれている（図４では交差ハッチングを用いて光ファイバリンケージを示していることに注意されたい）。この点で、米国特許第５，４２８，７６９号（上述の１９６９年、ゲレーザ（Ｇｌａｓｅｒ）らによる）には、制御コンピュータ１０ａ、ｂなどの１対のアクティブ冗長制御コンピュータと、フィールドコンピュータユニット３１４（例えば、流量センサー３１８や温度センサー３２０）を介して取り扱われる信号によって制御されている装置８４と直接に関連する入／出力デバイスと、の間での通信と制御リンクを詳細に述べている。代替例として、ローカルフィールド計装を用いて、より直接的に制御コンピュータ１０ａ、ｂを入力センサー及び制御デバイスと接続するが；この場合、フィールドコンピュータユニット３１４を使用する場合と同様、信号は３冗長モードでは取り扱われないが、複式冗長モードでは取り扱われる。複式冗長モードでは、入力信号は（Ｉ４４ａ、４４ｂを介して）、いかにさらに説明するように２つの制御コンピュータ１０ａ、ｂ間で調停され、また、出力信号は（Ｏ４５ａ、４５ｂを介して）、２つの電圧を同じ導体に印加するコンテクストで出力回路の安定性を維持するために演算増幅器を用いて制御デバイスに至る１つのワイヤ上に同時に印加される。
【０１１０】
アクティブに動作している２つの制御コンピュータ１０ａ、ｂの冗長性が、単一の意志決定制御コンピュータに優るある種の故障許容範囲の利点を有しているとはいえ、本発明の原理はアクティブ冗長の２つの制御コンピュータ構成に限られないことを理解すべきである。したがって、例えば、適切な環境下では図４に示す２つの制御コンピュータ１０ａ、ｂの代わりに３つの制御コンピュータを用いることが条件付きで望ましい。
【０１１１】
本実施形態においては、制御コンピュータ１０ａ、ｂは、１つ以上のリモートフィールドユニットとの間で送受信されている信号の１部と、直接的なリンケージ状態にある２つの制御コンピュータとの間で送受信されている信号の別の（第２の）部分とによって同時に動作するのが望ましい（つまりリモートフィールドユニット３１４のベネフィットなしに）。制御コンピュータ１０ａ、ｂは各々が、これら２つの方式でフィールドから受信されたデータに基づいて独立した判断を実行する。制御コンピュータ１０ａ、ｂによるこの判断によって、出力信号の第１の部分の場合においては適切なリモートフィールドユニットによって特定の出力デバイス（例えば、バルブ、ポンプモータ、反応炉ヒーター）に対して究極的に出力される出力信号値が決定され；制御コンピュータ１０ａ、ｂによる判断によって、直接的に出力信号の第２の部分の場合において特定の出力デバイス（例えば、バルブ、ポンプモーター、反応炉ヒーター）に対して究極的に出力される出力信号値が決定される。この点で、システム３１０によって制御される１つのタイプの出力デバイスを図示するためにポンプ３２２を図４に示す。
【０１１２】
出力信号値を２つのアクティブ冗長制御コンピュータ１０ａ、ｂ間で和解させることが可能であるが、２つの独立したセットの出力信号値を別様にリモートフィールドユニット３１４ａ〜３１４ｂに通信する事が可能であることを理解すべきである。この点で、リモートフィールドユニット３１４から受信した入力値を調停する事は可能であるが、これによって、出力値を和解させるすなわち調停することが不必要となるべきである。その理由は、こうすると、制御コンピュータ１０ａ、ｂの双方が、同じプロセス制御プログラムで作業して、同じセットの調停炭入力値で動作することが可能となるからである。
【０１１３】
入力信号の調停すなわち和解のプロセスを容易にするために、並列通信リンク３２４を制御コンピュータ１０ａ、ｂ間に装備する。並列通信リンク３２４は「主要な」リンクと呼ばれるが、それは、それによって制御コンピュータ同士間でデータ信号とタイミング信号を直接的に転送することが可能となるからである。また、左側の制御コンピュータ１０ａは「ドッグ」とラベル付けされ、右側の制御コンピュータは「フォックス」とラベル付けされていることに注意されたい。これらは、以前に定義されたような制御コンピュータ１０ａ、ｂの代替の動作モードに対するロジック的な呼称である。したがって、図４には、制御コンピュータ１０ａ中に包含された又は別様にカップリングされたリンク回路３２４ａ及び制御コンピュータ１０ｂに包含されたリンク回路３２４ｂを示す。これらのリンク回路は、構造が同一であるのが望ましく、リンク回路３２４ａ〜３２４ｂは、時として、ここではリンク回路３２４と総称される。この同じ参照手順をここでは、アクティブ冗長プロセス制御システム３１０中では同一であるのが好ましい他のコンポーネントのことを総称するのに用いられる。制御コンピュータ１０ａ、ｂが一時的に、主要リンク３２４上で通信不能に陥った場合、これら制御コンピュータは各々が、これら双方が単独で動作中であると仮定するモードでその動作を継続する。
【０１１４】
制御コンピュータ１０ａ、ｂの各々が独立した判断をすると、タスクＦ中の制御コンピュータは、そのプロセス制御プログラムサイクル（例えば、１つの第２周期）の最初でタスクＤ中にある制御コンピュータにタイミング信号を送信し、これで、タスクＤ中の制御コンピュータは新しいプロセス制御プログラムサイクルも開始するように促される。制御コンピュータ１０ａ、ｂが自分自身のクロック発振器の下で動作するので、タスクＤ中の制御コンピュータがそのプログラムサイクルタイミング信号を検出して解釈して、制御コンピュータを周期的に相対的同期状態に保持する。しかしながら、タスクＤ中の制御コンピュータのプログラムサイクルは、一般的には、タスクＦ中の制御コンピュータのプログラムサイクルより、それがプログラムサイクルタイミング信号を送信して次に検出するのに必要な周期（例えば、２０マイクロ秒から１〜２ミリ秒）だけ後で発生することを理解すべきである。
【０１１５】
すでに注記したように、中央処理ユニット１２は、ハーバードアーキテクチャに基づいているのが望ましいが、それは、このアーキテクチャによって、ｏｐコード命令とこの命令のオペランドデータを同じクロックサイクルでフェッチできるからである。それは、ハーバードアーキテクチャに基づいた制御コンピュータが、物理的に分離した命令とデータ記憶内容を含み、これら記憶内容の各々が中央処理ユニットに対する自信のアドレスとデータラインを有するからである。これと対照的に、フォンノイマンアーキテクチャに基づいた制御コンピュータでは、一般的に、命令をフェッチし、デコードし、実行するのに数コンピュータクロックサイクルを必要とする。
【０１１６】
制御コンピュータ１０ａ、ｂは各々が、リモートフィールドユニット３１４ａ〜３１４ｂとの通信を容易にするためにネットワークコントローラ３２８ａ〜３２８ｂを含んでいる。このネットワークコントローラ３２８ａ〜３２８ｂは各々が、光ファイバケーブル３３２、３３４を介して１つ以上のブレークアウト回路３３０に接続されている。ブレークアウト回路３３０は、リモートフィールドユニット３１４ａ〜３１４ｂからの入力信号をネットワークコントローラ３２８に出力する。同様に、ブレークアウト回路３３０は、ネットワークコントローラ３２８からの出力信号を適切なリモートフィールドユニット３１４ａ〜３１４ｂに出力する。プロセス制御システム３１０が多くのリモートフィールドユニット３１４を有する大型のシステムである場合、いくつかのブレークアウト回路３３０が直列に接続されて、ネットワークコントローラ３２８の周りに通信リングを形成することに注意すべきである。加えて、第２のレベルにあるブレークアウト回路３３０もまたブレークアウト回路に接続されて通信リングを形成し、これによってさらに、双方向性信号通信を制御コンピュータ１０ａ、ｂとシステム３１０で必要とされるリモートフィールドユニット３１４の各々との間で確立することがあり得る。さらに、また、ネットワークコントローラ３２８は、光ファイバケーブル３３２、３３４のどちらか一方を用いて、通信リングレベルでブレークアウト回路３３０と双方向性通信を実行することが可能であることが望ましいことに注意すべきである。
【０１１７】
図４に示すように、ブレークアウト回路３３０ａは、リモートフィールドユニット３１４ａの左側制御コンピュータ回路３３６ａとリモートフィールドユニット３１４ｂの左側制御コンピュータ回路３３６ｂの双方に接続されているのが望ましい。同様に、ブレークアウト回路３３０ｂは、リモートフィールドユニット３１４ａの右側制御コンピュータ回路３４０ａとリモートフィールドユニット３１４ｂの右側制御コンピュータ回路３４０ｂの双方に接続されているのが望ましい。このようにして、左側制御コンピュータ３１４ａは、リモートフィールドユニット３１４中の全ての左側制御コンピュータ回路３３６からの入力信号を受信し、一方、右側制御コンピュータ３１４ｂは、リモートフィールドユニット中の右側制御コンピュータ回路３４０の全てから入力信号を受信する。したがって、２つの互いに分離した光ファイバベースの通信ネットワークが、たとえ制御コンピュータの各々がリモートフィールドユニットの各々とカップリングされていたとしても、制御コンピュータ１０ａ、ｂとリモートフィールドユニット３１４間に確立されることになる理解すべきである。
【０１１８】
リモートフィールドユニット３１４の中央制御コンピュータ回路３３８ａ〜３３８ｂは、制御コンピュータ１０ａ、ｂのどれとも直接には通信せず、一方、中央制御コンピュータ回路３３８は、そのそれぞれのリモートフィールドユニット中の左と右側の制御コンピュータ回路と直接に通信する。加えて、３つの制御コンピュータ１０を用いるような場合、中央制御コンピュータ回路３３８は、この第３の制御コンピュータと直接に通信することが可能であることを理解すべきである。図４に示すように、中央制御コンピュータ回路３３８は、左と右側の制御コンピュータ回路が、例えば流量センサー３１８や温度センサー３２０などの様々なセンサーから受信する対応する入力信号の全てを受信する。同様に、中央制御コンピュータ回路もまた、左と右側の制御コンピュータ回路が接続されているポンプ３２２などの出力デバイスの各々に接続されている。
【０１１９】
これらの入力接続と出力接続は、入力回路３４２ａなどの１つ以上の入力回路と、出力回路３４３ａなどの１つ以上の出力回路中に形成されている。この点で、左、右及び中央の制御コンピュータ回路は、対応する入力回路と出力回路を含んでいる。このようにして、リモートフィールドユニット３１４中の左、右及び中央制御コンピュータ回路の各々が、初期入力信号調停と最終出力調停を実行することが可能である。例えば、流量センサー３１８からの入力信号は、入力回路３４２ａなどの対応する入力回路の各々によって処理される。次に、左、右及び中央の制御コンピュータ回路が、直列通信ラインを介して対応する流量入力信号を順番に交換する。次に、左、右及び中央の制御コンピュータ回路の各々が流量入力信号の値を独立に判断する。最終的に、左側制御コンピュータ回路３３６ａが、流量値を左側制御コンピュータ１０ａに送信し、一方、右側制御コンピュータ回路３４０ａが、右側制御コンピュータ１０ｂにその流量値を送信する。
【０１２０】
左右の制御コンピュータ回路は、初期調停プロセスを実行するのが望ましいとはいえ、これらの制御コンピュータ回路は互いに異なった結果に達することがあり得ることを理解すべきである。このような差異は対応する入力回路の動作又は、リモートフィールドユニット３１４中の制御コンピュータ回路が互いに通信することが一時的に不可能とする結果発生することがある。加えて、故障は、リモートフィールドユニット３１４中に包含されている１つ以上の制御コンピュータ回路の動作中にも発生する。左右及び中央の制御コンピュータ回路は各入力センサーからデータを受信するのが望ましいとはいえ、互いに分離したしかし対応するセンサーがこれら制御コンピュータ回路の個々に対して装備されていて、これによって任意の入力パラメータを測定するということもまたあり得る。このような場合、センサー自身は、自身では同じ物理的現象を観測することを意図されていたとしても、互いに異なった入力値を発生することがある。したがって、左側制御コンピュータ１０ａと右側制御コンピュータ１０ｂとが、対応する流量信号の値などの、対応する入力信号の互いに異なった値を受信することがあることを理解すべきである。
【０１２１】
制御コンピュータ１０ａ、ｂは、その入力信号の全てを１つ以上のリモートフィールドユニット３１４から受信し得るとはいえ、リモートフィールドユニット３１４の代替物として又はリモートフィールドユニットから受信した入力信号に加えて、直接に接続された入力回路ボードから入力信号を受信することもまたあり得る。したがって、例えば、制御コンピュータ１０ａは、入力回路ボード４４ａと出力回路ボード４５ａを含んでいることをが図示されている。リモートフィールドユニット３１４ａ中の入力回路ボード３４２ａを用いて、アナログ入力信号を受信し、入力回路ボード４４ａを用いて、デジタル入力信号を受信する。しかしながら、リモートフィールドユニット３１４ａ〜３１４ｂ及び制御コンピュータ１０ａ、ｂは、アナログ入力回路ボードとデジタル入力回路ボードの双方と、アナログ出力回路ボードとデジタル出力回路ボードを備えていることを理解すべきである。
【０１２２】
制御コンピュータ１０ａ、ｂは各々がまた、オプションとしてＩＦＳ回路４６を含んでおり、これによって高速インタフェース（ＨＳＩ）を介してのインテリジェントフロントエンド通信システム４８との通信を容易化する。フロントエンド通信システム４８は、制御コンピュータ１０ａ、ｂとプラントワイド、すなわちローカルエリアネットワーク５０間でのインテリジェントインタフェースとなる。言い換えれば、フロントエンド通信システム４８は、入力データ及び／又は出力データを制御コンピュータ１０ａ、ｂから１つ以上の、オペレータワークステーション５２などのネットワークエンティティに迅速に転送する手段となる。同様に、フロントエンド通信システム４８によって、オペレータは、コマンド信号を制御コンピュータ１０ａ、ｂの一方又は双方に送ることが可能である。
【０１２３】
フロントエンド通信システム４８は、ＩＦＳ回路４６ａ〜４６ｂ、ＩＦＱ回路５４及びフロントエンドコンピュータ５６を含んでいる。ＩＦＳ回路４６は、制御コンピュータ１０中に包含されている複式ポート付きデータメモリの「ステルス」ポート（ステルスポート）に対するインタフェースとなっており、一方、ＩＦＱ回路５４はフロントエンドコンピュータ５６のＱバスに対するインタフェースとなっている。一実施形態では、フロントエンドコンピュータ５６は、デジタルエクイップメント社のリアルタイムＥＬＮオペレーティングシステムを用いたＭＩＣＲＯＶＡＸ３４００コンピュータであるのが望ましい。フロントエンド通信システム４８はまた、ＩＦＳ回路４６ａ〜４６ｂとＩＦＱ回路５４間の光ファイバ通信リンクとなっている。この点で、少なくとも１つの光ファイバ５８ａによって、ＩＦＳ回路４８ａからＩＦＱ回路５４への信号通信が可能とされ、一方、別の光ファイバ６０ａによって、ＩＦＱ回路からこのＩＦＳ回路への信号通信が可能となっている。また、フロントエンド通信システム４８中では、追加のＩＦＱ回路５４とフロントエンドコンピュータ５６を組み合わせて含むことによって冗長性が与えられていることに注意すべきである。フロントエンド通信システム４８は、１９９６年５月２１日に発行され「インテリジェントプロセス制御通信システム及び対応するデータセットを時間整合する機能を持つ方法」という題名の米国特許第５，５１９，６０３号（アルバリージュニア（Ａｌｌｂｅｒｙ，　Ｊｒ．）ら）；１９９５年６月２７日に発行され「新たな乱数を用いて通信期間満了前に第１と第２のコンピュータ間で時間制限付き通信を再確立する安全通信システム」という題名の米国特許第５，４２８，７４５号（４５デ・ブリジン（ｄｅ　Ｂｒｕｊｉｎ）ら）；及び１９９６年１０月１日に発行され「コマンド中で識別される変数と関連するイネイブルインジケータの状態をチェックすることによってコマンドを制御コンピュータに送信すべきであるかどうか決定するシステムと方法」という題名の米国特許第５，５６１，７７０号（７０デ・ブリジン（ｄｅ　Ｂｒｕｊｉｎ）ら）にさらに説明されている。これらの特許は、本明細書中で高速インタフェース（ＨＳＩ）として記されているとこれらが記載する本発明の使用法を示すためにすでに明示的に本出願書に参照して組み込まれている。
【０１２４】
図５を参照すると、リンク回路３２４のブロック図が示されている。リンク回路３２４は、一方の端が制御コンピュータ３２４のデータバス１８と制御バス２８に接続され、他方の端がリボンコネクタ６４に接続されている。この点で、制御コンピュータ同士間の主要リンク３２４中に冗長性を構築するために、２つの同じリンク回路３２４が制御コンピュータ１０ａ、ｂの各々に装備され得ることに注意すべきである。
【０１２５】
リンク回路３２４は、制御コンピュータ１０のデータバス１８に接続された「双方向性バッファ」をラベル付けされたドローイングエレメント６６を含んでいる。一実施形態では、双方向性バッファ６６は、データバス１８上でデータを送受信する事が可能な２つの８ビットバッファから成っている。リンク回路３２４はまた、制御コンピュータ１０から制御ライン２８に接続された制御回路７０を含んでいる。この点で、制御回路７０は、プログラマブルアレイロジック「ＰＡＬ」回路から成る。制御回路７０を用いて、制御ライン２８上で送信される信号をデコードして、リンク回路３２４に含まれる１つ以上の他の回路を選択的にアクセスする。例えば、データをデータバス１８を介して送受信する場合、制御回路７０はイネイブル信号と入／出力信号を双方向性バッファ６６に送る。
【０１２６】
リンク回路３２４はまた、１セットの出力バッファ７４と１セットの入力バッファ７６を含んでいる。出力バッファ７４は３つのオクタルラッチから成り、一方、入力バッファは３つのオクタルトライステートバッファから成る。入力バッファ７４中のラッチの内の２つを用いて、リボンコネクタ６４への１セットの１６ビット出力データラインとし、一方、残余のラッチを用いて、リボンコネクタへの１セットの８ビットコードラインとしている。同様に、入力バッファ７６の内の２つを用いて、リボンコネクタ６４からの１セットの１６ビット入力データラインとし、残余のバッファを用いてリボンコネクタ６４からの１セットの８ビットコードラインとしている。リンク回路３２４はまた、入力データ／コードライン８０と出力データ／コードライン７８２間で相互接続されたループバック回路７８を含んでいる。このループバック回路は、リンク回路３２４の機能性を試験するための経路となっている。ループバック回路７８は、セットを成す３つのオクタルトライステートバッファから成っている。
【０１２７】
ループバック回路３２４はまた、割り込み信号を制御コンピュータ１０の中央処理ユニット１２に送るための追加のラインを含むことがあるが、割り込み信号を主要リンク３２４を介して使用する必要はない。この点で、制御コンピュータ１０ａ、ｂは各々が、複数の判明な時間ドメインのための正確なクロック周波数信号の発生源として精密オーブン被制御発振器を含んでいる。例えば、この発振器を用いて、リアルタイムクロック「ＲＴＣ」となる１２ビットアップカウンタをインクレメントする。ＲＴＣがタイムアウトすると、割り込み信号が発生してＨｚ１２００時間ドメインを生成する（すなわち、０．８３ミリ秒毎の割り込み）。Ｈｚ１２００ルーチンがまた、次のＨｚ１２００割り込みを発生するに必要とされる命令サイクル数にＲＴＣを調整するために備えられている。より具体的には、ＩＮＴＣＹＣと呼ばれるカウンタの値がＲＴＣカウンタの現行値に加算されて、割り込み待ち時間に対して調整する。次に、Ｈｚ１２００ルーチンは、ＣＣ３００と呼ばれるカウンタの値を試験して、Ｈｚ３００割り込みルーチンを実行すべき時間であるか決定する。
【０１２８】
Ｈｚ３００時間ドメインで位相ロックするために、６０Ｈｚの矩形波信号は精密水晶から発生される。電圧コンパレータを読みとることによって遷移を検出して、６０Ｈｚ位相ロックをする。６０Ｈｚ遷移は５つ目のＨｚ３００割り込み毎に検出されるはずであるので、ＣＹＣＬＥと呼ばれるカウンタをセットアップして、Ｈｚ３００割り込みループをカウントする。ＬＡＳＴと呼ばれるメモリロケーションを用いて、コンパレータの６０Ｈｚの最後に検出されたＨｚ３００のビット値を記憶する。ＬＯＷからＨＩＧＨへの６０Ｈｚ遷移が検出された場合はいつでも、次の試験が実行される。ＣＹＣＬＥが４のときに６０Ｈｚ遷移が検出されたら、ＩＮＴＣＹＣの値が１だけインクレメントされるが、それは、早期検出がなされたからである。ＣＹＣＬＥが５のときに６０Ｈｚ遷移が検出されたら、理想的な条件が存在し、したがって、クロック信号補正は実行されない。ＣＹＣＬＥが６のときに６０Ｈｚ遷移が検出されたら、ＩＮＴＣＹＣが１だけでデクレメントされるが、それは、遅延検出が発生したからである。これら３つの条件の内どれか１つでも満足されれば、ＣＹＣＬＥはゼロになる。ＣＹＣＬＥが他のいずれかの値のときに６０Ｈｚ遷移が検出された場合、又はＣＹＣＬＥが検出されなかった場合、上記の試験の結果、２つの理想的条件が続いて検出されるまで位相ロックは実行されない。
【０１２９】
しかしながら、６０Ｈｚ位相ロックがタスクＤ中の制御コンピュータ１０では実行されないことに注意すべきである。それどころか、ＩＮＴＣＹＣカウンタに固定値が設定される。加えて、疑似Ｈｚ１５０時間ドメインが、ＰＨＺと呼ばれるビットをトグルすることによってフォックスとドッグ双方の制御コンピュータ１０ａ、ｂ中で生成される。ＰＨＺがＬＯＷすなわちＨｚ１５０である場合、制御コンピュータ１０ａ、ｂの双方が主要リンク３２４コードラインのＳＳＴＡＲＴラインをトグルする。ドッグ制御コンピュータ（例えば、制御コンピュータ１０ａ）は、即座にＳＳＴＡＲＴラインを読みとり、ドッグ制御コンピュータはＨｚ１５０での位相補正を実行して、フォックス制御コンピュータ（例えば、制御コンピュータ１０ｂ）の周波数にロックする。この位相補正は、＋／−６４カウント値を持つＲＴＣカウンタの現行値を変更することによって遂行される。この迅速な調整は、ドッグがフォックスより先んじているか遅れているかによって、正又は負のどちらかの方向でＨｚ１５０毎に実行される。
【０１３０】
制御コンピュータが最初に開始される場合、タスクＤで始動するのが望ましく、主要リンク３２４コードライン上のＦＢＯＳ（第２のビットのフォックス開始）ビットを監視することによって第２の「ＢＯＳ」信号を開始を待つ。このビットは、制御コンピュータ１０ａ、ｂの双方によって第２の（すなわち、新しいＨｚ１サイクルインスタンス）の開始でトグルされる。ＦＢＯＳ信号が検出されるとすぐに、ドッグ制御コンピュータがその正常の１秒プロセス制御時間ラインを実行を開始して、自身をフォックス制御コンピュータに対して整合させる。フォックス制御コンピュータが検出されなかった場合、適当な期間後（例えば、５秒）後に、ドッグ制御コンピュータが動作中（Ｅ）のタスクに上昇するが、このタスクでは、このコンピュータが現在動作している唯一の制御コンピュータであると仮定される。
【０１３１】
図６を参照すると、Ｈｚ１時間ドメインで実行されるプログラムタスクのシーケンスのフローチャートが図示されている。この点で、このフローチャートは、Ｈｚ１時間ドメイン中で実行される考えられるあらゆるタスク（例えば、データディスプレイの駆動）を示しているわけではないことに注意すべきである。むしろ、このフローチャートは、制御コンピュータ１０中にプログラムされたタスクのシーケンスを一般的に示すものであり；より詳細な４１ステップの進行状況は図１９と２０を参照して検討する。１秒Ｈｚ１サイクルインスタンスの開始時には、各制御コンピュータ１０が、リモートフィールドユニット３１４とネットワークコントローラ３２８を介して双方向性通信を実行する（ステップ５００）。より具体的には、制御コンピュータは、適切な出力信号を、最後のＨｚ１サイクルインスタンス（すなわち、直前の秒）で決定されたリモートフィールドユニット３１４に送信する。次に、制御コンピュータは、リモートフィールドユニット３１４に対して、現在のＨｚ１サイクルインスタンスに対するその調停済み入力信号を送るように要求する。
【０１３２】
ステップ５０２で一般的に示したように、直列通信ボード（図示せず）が光ファイバ直列通信リンク３５（図４に示す）上で互いに通信する。別の直列通信リンク（図示せず）を用いて、例えば、プロセスステータスデータを他の制御コンピュータに対してネットワークコントローラ３２８ａ、ｂと同様に転送するが；この直列通信リンクは、自分自身の固有の回路と、その特定の通信タスクに固有のファームウエアと、を有している。このデータは一般的には算定値と同じように扱われるとはいえ、このデータもまた、以下に示すような分解を受けるべき別の形態の入力データとして扱われることに注意すべきである。
【０１３３】
次に、制御コンピュータ１０は、制御コンピュータに直接に接続されているあらゆる入力回路から入力信号を読みとる（ステップ５０４）。ＡＩＦ信号とＤＩＦ信号は、フィールド計装から受信した入力信号値を表す。ＡＯＴ信号とＤＯＴ信号は、物理的に制御装置８４を制御する出力デバイス（例えば、ポンプ、バルブ、スイッチ）に送信される出力信号を検証するために用いられるフィードバック信号を表す。入力信号のオリジンとは無関係に、入力信号は一般的に１セットのアナログ入力「ＡＩＦ」信号、１セットのデジタル入力「ＤＩＦ」信号、１セットのアナログ出力トラック「ＡＯＴ」信号及び１セットのデジタル出力トラック「ＤＯＴ」信号から成ることに注意すべきである。
【０１３４】
制御コンピュータ１０が自身に接続されている１つ以上の入／出力「Ｉ／Ｏ」回路ボード（例えば、入力回路４４ａ）を有していると仮定すると、制御コンピュータがこれらのＩ／Ｏ回路と正しく通信できるかどうか試験が実行される（ステップ５０６）。次に、受信された入力信号がプログラム済みの処理ステップ、例えば線形化及びスケーリングを受ける（ステップ５０８）。次に、制御コンピュータ１０は適切な健康と福祉報告を入力信号上に作成する（ステップ５１０）。この点で、様々な問題ビットが報告される。
【０１３５】
次に、制御コンピュータ１０は、主要リンク３２４を介してフィールドからの処理済み入力信号を交換して、交換された信号を調停／分解する（ステップ５１２）。主要リンク３２４を介してのこの信号交換方法は、図７Ａ〜７Ｂのフローチャートを参照して説明される。次に、米国特許第５，５８３，７５７（バカ・ジュニア（Ｂａｃａ，　Ｊｒ．）ら）中並びに本明細書の図１５、１６、１７及び１８を参照して概説されるように調停が進行する。
【０１３６】
一旦これら手順の全てが実行されたら、ＡＩ／ＤＩ　ＣＯＰＹステップ５１４が特定の制御コンピュータ内にタスクＥが存在するかどうかという条件付きで実行されて、２つの制御コンピュータ１０ａ、ｂがアクティブ冗長モードで実行中でない場合を扱う。次に、制御コンピュータ１０が、交換され調停／分解済みの入力値に基づいて必要な出力値を決定するプログラム済みＳＥＱＵＥＮＣＥＳをランする（ステップ５１６）。最終的に、制御コンピュータ１０は、ステップ５１８に示すように、制御コンピュータに直接接続されているあらゆるＩ／Ｏ回路（例えば出力回路４５ａ）によって必要とされるアナログ及びデジタルの出力「ＡＯ」信号と「ＤＯ」信号を送信する。この時点で、制御コンピュータは、さもなければＨｚ１サイクルインスタンス内（例えば、１秒）以内で実行又は完了する必要があるなんらかの残余Ｈｚ１タスクを実行することがある。例えば、Ｈｚ１サイクルインスタンス中の残りの時間中に、制御コンピュータ１０ａ、ｂの内の一方からのプロセス制御プログラムが要求に応じて他方の制御コンピュータに対して送信されてプログラムロードを遂行したりする。すると、復帰ライン５２０で示すように、制御コンピュータは開始位置に復帰して、次のＨｚ１サイクルインスタンスの開始を待つ。
【０１３７】
図７と図８を参照すると１セットのフローチャート１２２と１２４が示されて、ステップ１２６〜１６６に表されるようにアクティブ冗長制御コンピュータ１０ａ、１０ｂによる対応する入力信号の相互交換が表されている。図７には、現在タスクＤにある制御コンピュータ（例えば、制御コンピュータ１０ａ）によって用いられる主要リンク方式１２２が表されている。同様に図８には、現在タスクＦにある制御コンピュータ（例えば、制御コンピュータ１０ｂ）によって用いられる主要リンク方式１２４が表されている。従って図７と図８は、時間と動作が相互に関連する方式を表す。
【０１３８】
ドッグ制御コンピュータ１０ａは、リンク回路３２４の出力データ／コードライン７８２のデータライン上のリンクジョブ番号を送信することによって主要リンク３２４の交換を開始する（ステップ１２６）。１つの実施形態ではジョブ番号は、交換されるデータワードの集合のアドレス開始を表すのに用いられる。この方法によって制御コンピュータ１０ａ、１０ｂの各々は、相互交換されるデータテーブル内の対応するメモリアドレスロケーションのリンクリストでプログラミングされる。
【０１３９】
次にドッグ制御コンピュータ１０ａはスタートビットを出力データ／コードライン７８２内の「送信」コードラインに設定して、フォックス制御コンピュータ１０ｂにそれが準備できていることを知らせる（ステップ１２８）。前記のように制御コンピュータ１０ａ、１０ｂ間の接近したタイミング関係によって、フォックス制御コンピュータ１０ｂはドッグ制御コンピュータ１０ａからのリンクジョブ番号とスタートビットの探索をいつ開始したらよいかを知る（判断動作１３０）。一度このスタートビットが受信されると、フォックス制御コンピュータは同じくそのスタートビットを設定する（ステップ３２１）。ドッグ制御コンピュータ１０ａはフォックスのスタートビットを探索し（判断動作１３４）、またそのスタートビットをクリアしクリアされたフォックスのスタートビットを探索することによって応答する（ステップ１３６）；フォックスのスタートビットがクリアされない場合は、タイムアウトがＨｚ１サイクルの継続を指示するまでブロックはアボートされる。
【０１４０】
他方で主要リンク方式の緊密に制御されたタイミング関係によって、フォックス制御コンピュータ１０ｂはそのリンクジョブ番号をドッグ制御コンピュータ１０ａに送信し（ステップ１３８）、そのスタートビットをクリアする（ステップ１４０）。一旦これら２つのステップが完了すると、フォックス制御コンピュータ１０ｂは第１のブロック又はデータのバースをドッグ制御コンピュータ１０ａに送信し始める（ステップ１４２）。１つの実施形態ではこのデータバースは、１０個までの１６ビットデータワード、１０個のデータワードの妥当性を示す「ｇｏｏｄｎｅｓｓ」ワード、及びこの送信済みデータバースのチェックサムから成る。
【０１４１】
ドッグ制御コンピュータ１０ａはフォックスのスタートビットがクリアされたことを検出して、前記のフォックスのリンクジョブ番号とデータバースの受信を即座に開始する（ステップ１４４）。それからドッグ制御コンピュータ１０ａはフォックス制御コンピュータ１０ｂから受信したデータのそれ自身のチェックサムを算定する（ステップ１４６）。その後ドッグ制御コンピュータ１０ａはそのデータバースをフォックス制御コンピュータ１０ｂに即座に送信する（図７のステップ１４８）。このデータバースは、１０個までの１６ビットデータワード、このデータの妥当性に対する「ｇｏｏｄｎｅｓｓ」ワード、このドッグデータバースのチェックサム、及びフォックスのデータバースに対してドッグが算定したチェックサムを含む。
【０１４２】
フォックス制御コンピュータ１０ｂはドッグのデータバースを受信し（ステップ１５０）、受信したデータのそれ自身のチェックサムを算定する（ステップ１５２）。それからフォックス制御コンピュータ１０ｂはこの算定済みチェックサムをドッグ制御コンピュータ１０ａに送信する（ステップ１５４）。ドッグ制御コンピュータ１０ａがそのデータバースを送信した後、それはフォックスがドッグのデータバースに対して計算したチェックサムを受信するためにプリセットされた時間のあいだ待機する（ステップ１５６）。この点で、この時間は主要リンク方式の他の適切な待機時間とともに、これらのステップを完遂するために必要な中央処理ユニットの命令の数に関係することに注意されたい。
【０１４３】
また、図７と図８に見られるように、両方のコンピュータ１０ａと１０ｂは得られたデータ交換から１連の比較を実施する（ステップ１５８〜１６０）。これらの比較には（ａ）リンクジョブ番号の比較、（ｂ）フォックスのデータバースとともに送信されたチェックサムと、ドッグがこのデータに対して算定したチェックサムとの比較、及び（ｃ）ドッグのデータバースとともに送信されたチェックサムと、フォックスがこのデータに対して算定したチェックサムとの比較が含まれる。これらの比較の全てが一致した場合は、相互交換は成功したと判断され（判断動作１６２）、ドッグ制御コンピュータ１０ａは別の主要リンク３２４と次のリンクジョブ番号との交換を開始する（ステップ１６４）。交換が不成功に終わったと判断された場合、ドッグ制御コンピュータはその不成功の交換に用いられた同一のリンクジョブ番号との別の主要リンク３２４の交換を開始する（ステップ１６６）。このようにして、それが成功するまで、又は所定数の試みが失敗するまで、又は主要リンク３２４交換に割り当てられた時間が終了するまで、どれが最初に起ころうとそれまでドッグ制御コンピュータ１０ａは同一主要リンク３２４の交換を繰り返す。同様のプロシージャがフォックス制御コンピュータ１０ｂによっても用いられる。
【０１４４】
前記の説明から、ドッグ制御コンピュータ１０ａはリンクが成功したことを判断するが、フォックス制御コンピュータ１０ｂはリンクが不成功に終わったことを判断する可能性が高いと理解されよう。その場合ドッグは次のリンクジョブ番号を送信し、フォックスは最後のリンクジョブ番号を送信する。主要リンク３２４の交換が実施される速度のために、リンクジョブ番号間の比較はデータ交換後に実施されるのが望ましい。したがってドッグ制御コンピュータ１０ａは、フォックスが前の交換からのデータバースをそれが次のデータバースを送信するまで送信したことを検出しない。リンクジョブ番号の不一致に応答して、ドッグ制御コンピュータ１０ａは先行するリンクジョブ番号との主要リンク交換を繰り返すことによって、フォックス制御コンピュータ１０ｂはこのデータバースを成功裏に受信する機会を持つことができる。言いかえればこの不一致は、この特定のＨｚ１サイクルインスタンスの残余に対して続く。
【０１４５】
図３Ａの検討において前述したように、プログラムメモリ及びプログラムシャドウメモリ１６、データメモリ及びデータシャドウメモリ１４、及びＱ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６の全てがコンピュータ１０のメモリとなる。
【０１４６】
アクティブ冗長制御コンピュータシステム３１０の内の各コンピュータ１０は複数の分離した物理的メモリを用いて、各制御コンピュータ１０内にプライマリメモリ及びエッセンシャルシャドウメモリを設置する。１６ビットアドレスが円滑に促進されマシンオペレーションコードのドメインがリアルタイムにそれらの動的オルタレーションの特性に関して本質的に分離されているかぎり、複数のメモリの使用は冗長制御コンピュータシステムの３１０の動作の効率及び安全性に関して有効性をもつ。制御コンピュータ１０の好ましい実施形態では、図９Ａ、９Ｂ、１０、１１Ａ、１１Ｂ、１２の回路８９９、９９９、１０９９、１１９９は図２のシャドウメモリ領域８８の機能の実質的な部分を提供する。
【０１４７】
ここで、これらのメモリコンポーネントとサブシステムの構成及び調整済みオペレーションを説明する。図９Ａ、９Ｂ、１０、１１Ａ、１１Ｂ、１２を検討すると、別に明記されない限り、「通信リンケージ」ドローイングエレメントはしばしば１６本の並列な物理的ラインから構成され、図３Ａの議論のコンテクスト内でその凡例に関して示されるように、各ラインは０（ＦＡＬＳＥ）のデータロジカル値又は１（ＴＲＵＥ）のデータロジカル値のどちらかを表す電圧を通す。
【０１４８】
図９Ａ、９Ｂ、１０はプログラムメモリ及びプログラムシャドウメモリ１６（図３Ａ）に関する詳細を表す。図９Ａ及び９Ｂでは、（プログラムメモリＲＡＭ及びＲＯＭ回路８９９）ＲＯＭアドレスバッファ９０２、シャドウＲＯＭアドレスバッファ９０４、シャドウＲＡＭバスＭｕｘ８０６、及びＲＡＭバスＭｕｘ８０４がＰＣバス２４に接続される。ＲＡＭバスＭｕｘ８０４及びシャドウＲＡＭバスバッファ８０６を通って進行すると、これら２つのエレメントは通信リンケージ８２４、８２２を経由して、それぞれプログラムＲＡＭ８０１及びシャドウプログラムＲＡＭ８０２へ入力としてリンクされる。ＲＡＭシャドウバスＭｕｘ８０６は通信リンケージ８２２へのその出力を反転することに注意されたい。それからメモリＲＡＭ８０１が通信リンケージ８２６を経由してバスＭｕｘ９２２及びトランシーバ８４５に接続される。ＲＯＭアドレスバッファ９０２、シャドウＲＯＭアドレスバッファ９０４、プログラムメモリＲＯＭ９０６、プログラムメモリシャドウＲＯＭ９１０、通信リンケージ９４０及び（反転された）８２９の同様のインターリンクにおいて、同様の接続配置がプログラムメモリＲＯＭとともに用いられる。プログラムメモリＲＯＭ９０６はさらに読み出し専用リンケージ９２１を経由してバスＭｕｘ９２２に接続され；プログラムメモリシャドウＲＯＭ９１０は読み出し専用リンケージ９１４を経由してバスＭｕｘ９２６に接続し、シャドウプログラムＲＡＭ８０２はリンケージ８２８を経由してバスＭｕｘ９２６及びバッファ８１２に接続する。バスＭｕｘ９２２はＰＭバス２２（図３Ａ）にリンクし；バスＭｕｘ９２６は図１０で明瞭に示されるようにリンケージ９５４を経由してコンパレータ回路に出力し、トランシーバ８４５はデータバス１８（図３Ａ）に出力しバッファ８１２に反転接続する。制御ＰＬＤ８４７及びシャドウ制御ＰＬＤ８４９は、リンケージ８１９、８２７、８２５、８２３、８３３、８３５、８３７、８３１、８３９、８４１で表される制御ラインを通じてプログラムメモリ及びプログラムシャドウメモリ１６のオペレーションの多くを制御する。データバス１８からの書き込みオペレーションは、バッファ８１２を通じてデータロジカルに反転されたシャドウプログラムＲＡＭ８０２への書き込み及びアドレスでプログラムメモリＲＡＭ８０１及びシャドウプログラムＲＡＭ８０２の両方に書き込まれることに留意されたい。
【０１４９】
ここで図１０を参照するとコンパレータ回路９９９が表されている。コンパレータ回路９９９は、コンピュータ１０の（ａ）プログラムメモリ及びプログラムシャドウメモリ１６、（ｂ）データメモリ及びデータシャドウメモリ１４、及び（ｃ）Ｑ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６に対する３つの物理的インスタンスにおいて二重化されている。言い換えれば、プログラムメモリ及びプログラムシャドウメモリ１６はコンパレータ９９９に従うコンパレータ回路を持ち、データメモリ及びデータシャドウメモリ１４はコンパレータ９９９に従うコンパレータ回路を持ち、Ｑ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６はコンパレータ９９９に従うコンパレータ回路を持っている。３つのメモリシステムからコンパレータ９９９のそれらの３つの独立し分離したインスタンスへの入力は主データライン２２、１０３４、１１２４及びシャドウデータライン９５４、１０３６、１１２２上に表されて、図９Ａ、９Ｂ、１１Ａ、１１Ｂ、１２の各々に対するコンパレータ９９９と同じ回路の物理的に分離したインスタンス（図２１Ａ、２１Ｂのコンパレータエレメント９４６、１０７４、１２１０を参照）へのリンケージを表す。コンパレータレジスタ９０８及びコンパレータレジスタ９２４は両方ともデータバス１８（図３Ａ）を通じてテストパターンを受信し、そのテストパターンはデコーダ９２３からのＲＵＮ／ＴＥＳＴライン９５２が起動した際のコンパレータ９２５、ＲＵＮ／ＴＥＳＴマルチプレクサ回路９２８及びテストマルチプレクサ回路９３０の信頼性を確認するために用いられる。コンパレータレジスタ９０８は通信リンケージ９１８を用いてテストマルチプレクサ回路９２８とインタフェースし、コンパレータレジスタ９２４は通信リンケージ９４０を用いてテストマルチプレクサ回路９３０とインタフェースする。テストマルチプレクサ回路９３０は通信リンケージ９３６を経由してコンパレータ９２５に出力し、テストマルチプレクサ回路９２８は通信リンク９３４を経由してコンパレータ９２５に出力する。それからコンパレータ及びエラービットラッチ９２７は比較エラーライン上の信号をウォッチドッグ６０３への（図３Ａの物理的に異なるライン９３８、１０７２、１２３０の全ての）特定のコンパレータに出力し、そのウォッチドッグは、（ａ）プログラムメモリ及びプログラムシャドウメモリ１６からの読み出し、（ｂ）データメモリ及びデータシャドウメモリ１４からの読み出し又は（ｃ）Ｑ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６からの読み出しのあいだのデータの不一致が発生したときに、制御コンピュータ１０のリアルタイムの実行を休止する。好ましい実施形態の回路は、ＣＯＭＰＡＲ＿ＥＮライン８４３、１０３９、１１２１からのプログラマブルロジックデバイスの入力を通じてイネイブルされる。
【０１５０】
この点で、ＳＩＬ３の下での安全シャットダウンシステムに対する認証プロセスにおけるいくつかの要件は、スタックバッファ出力、デコーダの故障、意図しないマルチプレクサ回路の選択及びメモリのアクセスエラーを引き起こす類似の故障を検出することである。ＣＰＵ１２はこれらのタスクを単独で実施することはできない；しかしながらシャドウメモリの機能及び関連する判断は、ＣＰＵ１２及び図９Ａ、９Ｂ、１０の回路を用いることによってプログラムメモリ及びプログラムシャドウメモリ１６に対して達成され、それによって（ａ）オペレーションの適切な予測を確実に可能にするシステムを実現し、（ｂ）プログラムメモリＲＡＭ及びＲＯＭの読み出し故障を検出するハードウェアを提供し、（ｃ）エラーチェックハードウェアをテストする方法を提供し、（ｄ）エラー信号９３８をウォッチドッグ６０３に送信してエラーの発生を指示し、（ｅ）ＣＰＵ１２の休止後に再始動するとき回路内のラッチされたエラーフラグをクリアするためのＣＰＵ１２からのコマンドを可能にし、（ｆ）メモリのアクセスエラーが発生したときにＬＥＤインジケータを「ＯＮ」にラッチする。それぞれ（ａ）図１０の回路と図１１Ａ、１１Ｂの回路を組み合わせ、また（ｂ）図１０の回路と図１２の回路を組み合わせることによって、データメモリ及びデータシャドウメモリ１４に対して、及びＱ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６に対して同様の機能を達成することができる。
【０１５１】
さらに制御コンピュータ１０でのロジック（マシンオペレーションコード）の実行と共同することによって、ＳＩＬ認証済みシステムのイネイブルにプログラムメモリ及びプログラムシャドウメモリ１６を用いることが可能になる。これに関連してイネイブルされる技術のいくつかを次のパラグラフで説明する。
【０１５２】
アドレスラインのスタック状態は次のような方法で検出される。プログラムメモリＲＯＭ９０６は反転した複製コピーをシャドウプログラムメモリＲＯＭ９１０内に持っている。アドレスラインのスタック状態が発生した場合、同じ入力アドレスのデータインスタンスはラインのスタック状態発生直後に異なる可能性がある、異なるアドレスロケーションからデータは読み出されるので、プログラムメモリＲＯＭ９０６からの出力はシャドウプログラムメモリＲＯＭ９１０と比較できない。
【０１５３】
ＲＯＭ読み出しエラーが発生する場合エラー信号を設定する際、制御コンピュータ１０のバックプレーンからのアドレスラインがバッファされ反転されてシャドウプログラムメモリＲＯＭ９１０に接続され（シャドウプログラムメモリＲＯＭ９１０は反転したたデータでプログラムされる）、シャドウプログラムメモリＲＯＭ９１０の出力はコンパレータロジックに出力され、プライマリＲＯＭバッファの出力はコンパレータに送信され、ＰＬＤ８４７は比較イネイブル８４３をアサートし、比較エラーが検出された場合エラー信号９３８がアサートされる。
【０１５４】
誤ったアドレスバスが選択された場合エラー信号を設定する際、ＰＣバス２４又はデータメモリアドレスバス２０の選択において誤アドレスバス選択状態が検査される。プログラムメモリ回路８９９は、プログラムメモリＲＡＭ８０１の複写コピー（シャドウプログラムメモリＲＡＭ８０２）を含む。誤アドレスバス選択状態が発生した場合、プログラムメモリＲＡＭ８０１からの出力は一般にプログラムメモリシャドウＲＡＭ９０２の出力と比較できない。
【０１５５】
ＰＬＤ８４７の誤デコーディングを検出する際、制御ＰＬＤ８４７及びシャドウ制御ＰＬＤ８４９からの命令を効果的に相違させることによって一般にエラー信号９３８のアサーションが実行される。
【０１５６】
プログラムメモリ９０６、８０１からの出力がシャドウプログラムメモリ９１０、８０２からの出力と比較できない場合、バスＭｕｘ９２２又はバスＭｕｘ９２６を通じてデータマルチプレクシングされたエラーが検出される。
【０１５７】
前記の説明から明らかな方法によって、書き込みされたアドレス指定された「ロケーション」に対して読み取りが試みられる場合、ＲＡＭの書き込みエラーをプログラムメモリＲＡＭに引き起こしかねないプログラムメモリ回路８９９上の故障がコンパレータ９４６を用いて感知される。
【０１５８】
比較エラー信号報告を得るために、比較エラー信号９３８は制御コンピュータバックプレーンボードを用いてウォッチドッグ６０３及び「比較／構成」バッファ１０４９に接続される。
【０１５９】
制御コンピュータ１０はスタートアップ時ソフトウェアのテスト後に次の初期化手順を実施する：（ａ）レジスタ、マルチプレクサ及びバッファの全てをＲｕｎモードに設定し、（ｂ）プログラムメモリ及びプログラムシャドウメモリ１６のエラー信号のビットをクリアする。
【０１６０】
安全証明プロセスは、テスト回路が正常に作動しているかどうかを判断するためにチェックされる必要があることを示している。テストは、プログラムメモリ及びプログラムシャドウメモリ１６がシステム内で用いられている間に行われる必要がある。したがってプログラムメモリ及びプログラムシャドウメモリ１６は、プログラムメモリ及びそれぞれのシャドウメモリをチェックするために用いられるコンパレータを制御コンピュータ１０がチェックできるように設計される。１つの実施形態では制御コンピュータ１０内の（ロジック及び／又はマシンオペレーションコードを実行する）ソフトウェアは、制御コンピュータのタスクＤ又はタスクＢの第１の始動に際してコンパレータをテストする。別の実施形態ではソフトウェアは、制御コンピュータのタスクＤ及びタスクＢの第１の始動の両方においてコンパレータをテストし、２４時間以内の現在のスケジュールのコンパレータもテストする。登録された値は制御コンピュータ１０の（マシンオペレーションコードを実行する）ロジックによって定められコンパレータのレジスタに入力されて、Ｒｕｎ／Ｔｅｓｔ信号９５２及びテストモード信号９５７のアサーションとともにテストが行われる。制御コンピュータ１０はレジスタ内で比較エラー状態を設定して、コンパレータ９４６が正常に作動しているかどうかを決定する。制御コンピュータ１０はまたウォッチドッグ６０３のインジケータを、プログラムメモリ及びプログラムシャドウメモリ１６がテストモードにありしたがってテスト中に発生した故意のエラーはＣＰＵ１２を停止させないことを指示するように設定する。
【０１６１】
ここで図１１Ａと１１Ｂ及び図１０を参照すると、データメモリ及びデータシャドウメモリ１４が表されている。データメモリ及びデータシャドウメモリ１４内のバッファ１００４、１００８、１００６、１０１０、データＲＡＭ１０１２、データシャドウＲＡＭ１０１４、シャドウデータバッファインバータ１０２０及びトランシーバ１０１６のオペレーションの詳細の多くは図９Ａ、９Ｂ、１０に関連した題材の検討から明らかであるが、データメモリ及びデータシャドウメモリ１４はさらにＭＡアドレスラッチ１００２を提示しており、それはデータメモリ及びデータシャドウメモリ１４にアドレスをラッチして、データメモリ及びデータシャドウメモリ１４の書き込みオペレーションが行われその出力がデータバス１８（図３Ａ）を経由してＣＰＵ１２に送信される毎に診断が実施される。
【０１６２】
図９Ａ及び９Ｂとの第２の差異は、リンケージ１０５２を通じてステルスインタフェース２７９１（図２１Ａ及び２１Ｂ）とインタフェースするステルスＢＩ−ＤＩＲバッファ１０１８及びシャドウステルスバッファインバータ１０２２の使用に際して現れる。背景の議論で説明したように、２４Ｓｅｄｅｒｌｕｎｄ等の特許に説明されている制御コンピュータのデータアクセスを行うシステムの実施形態は、１９９６年１０月２２日交付の（１５Ｓｅｄｅｒｌｕｎｄ等による）米国特許第５，５６８，６１５号「制御コンピュータのステルスインタフェース」の中で説明されている。その特許は、複数のアクティブ冗長制御コンピュータをコンピュータネットワークにカップリングするインテリジェント前置通信システムのステルスインタフェース２７９１を説明している。各アクティブ冗長制御コンピュータのステルスインタフェース２７９１は、物理的プロセスに結びついた動的データを記憶してこのデータをコンピュータネットワークと通信する前置きコンピュータに転送するマルチポートメモリを含む。マルチポートメモリはさらに、前置コンピュータとそのアクティブ冗長制御コンピュータ間で送信されるメッセージを記憶するメールボックスのセクションを含む。ステルスインタフェース２７９１はさらに、前置コンピュータの機能を最終的に制御してマルチポートデータメモリ内の特定のメモリロケーションに情報を書き込むガーディアン回路を含む。好ましい実施形態ではデータメモリ及びデータシャドウメモリ１４はその特許で議論されたようにステルスポート回路とのリンケージ及びインタフェースを有している（簡単に概観するには米国特許第５，５６８，６１５号の特に図３を参照されたい）；しかしながらデータメモリ及びデータシャドウメモリ１４はまたそのようなインタフェース機能を持たないシステムにも設置することができることは明らかである。ステルス制御ライン１０３３、１０３７、ステルスＢＩ−ＤＩＲバッファ１０１８及びシャドウステルスバッファインバータ１０２２の使用によって、ステルスボード回路に対する関係が表される。図２１Ａ及び２１Ｂにはさらにステルスインタフェース２７９１（ステルスポート）及びそのリンケージが更に表されている。
【０１６３】
第３の差異は、診断アサーションに際してエラー信号９３８、１２３０、１０７２のどれに対するビットをも保持する「比較／構成」バッファ１０４９内にある；「比較／構成」バッファ１０４９はまたデータメモリ及びデータシャドウメモリ１４に対する署名コードを保持してシステム構成の診断を指示する。
【０１６４】
制御ライン１０２１、１０２３、１０２９、１０３５、１０３７、１０４３、１０２７、１０３１、１０３３、１０２５、１０４１、１０６１、１０３９は、制御ＰＬＤ１０５１及びシャドウ制御ＰＬＤ１０５３から実行されるデータメモリ及びデータシャドウメモリ１４の回路１０９９におけるオペレーションを管理する。
【０１６５】
ＳＩＬ３における安全シャットダウンシステムの証明プロセスにおけるいくつかの要件は、スタックしたバッファ出力、デコーダの故障、意図しないマルチプレクサ回路の選択、及びメモリアクセスエラーを引き起こす類似の故障を検出することである。ＣＰＵ１２はこれらのタスクを単独で実施することはできない；しかしながらデータメモリ及びデータシャドウメモリ１４によってＣＰＵ１２及び制御コンピュータ１０のロジックを用いてシャドウメモリの機能及び関連する決定を遂行してシステムのオペレーションの適切な予測を確実に可能にする。安全の証明には、データメモリ及びデータシャドウメモリ１４の全てのアクセスエラーが検出されることが必要である。そのようなエラーは、メモリコンポーネント、バッファ又はＰＬＤのデコーディングにおける不良によって発生する。エラーが発生した場合、オンボードエラー検出によって、エラーライン１０７２を通じて適切な動作を取るようウォッチドッグ６０３に警告が行われる。エラーの検出によって、各制御コンピュータ１０のメモリの読み取りが正しく行われまた誤データが制御コンピュータ１０のデータバスに送信されないことが保証される。
【０１６６】
エラー検出の実行に際しては、データメモリ及びデータシャドウメモリ１４内に読み取りエラーを検出するハードウェアが設置される；エラーチェックするハードウェアをさらにテストする方法が提供される；エラー信号１０７２がウォッチドッグ６０３に送信されて、データメモリ回路１０９９内でエラーが発生したことを指示する（また本明細書でさらに説明するようにウォッチドッグ６０３が適切な動作を取る）；制御コンピュータ１０は起動時データメモリ回路１０９９上にラッチされたエラーフラグをクリアする；（プログラムメモリ及びプログラムシャドウメモリ１６の場合と同様に）エラー信号がアサートされるとＬＥＤインジケータが「ＯＮ」にラッチされる。
【０１６７】
図９Ａ、９Ｂ、１０の検討で明らかになった方法によって、（ａ）データメモリの故障、（ｂ）バッファ制御ラインの故障、（ｃ）シャドウデータメモリ１０１４及びデータＲＡＭ１０１２から読み出されたデータの不一致、（ｄ）アドレスバス１０３２、１０３０ラインのエラー又は（ｅ）メモリの読み取りアドレスロケーションのエラー、が検出されるとエラー信号１０７２がアサートされる。
【０１６８】
起動及びコンパレータ１０７４のリアルタイムのテストは、プログラムメモリ及びシャドウプログラムメモリ１６内のコンパレータ９４６について説明された方法と基本的に同じ方法で進行する。
【０１６９】
ここで図１０及び図１２を参照すると、Ｑ＆Ｃメモリ回路１１９９内にＱ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６が表されている。Ｑ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６の詳細の多くは図９Ａ、９Ｂ、１０に関連した題材の検討から明らかであるが、回路１１９９はさらにＱ＆Ｃメモリアドレスとインタフェースするアドレスバッファ１１６を備えることによってメンテナンスオペレーションにおける診断が強化される。Ｑ／Ｃメモリ回路１１９９は制御コンピュータ１０内のＣメモリ１１０及びＱメモリ１０８にアクセスしてシャドウする。Ｑ／Ｃメモリレジスタ及びプログラマブルロジックデバイス６１１及びＱ／Ｃメモリシャドウレジスタ及びプログラマブルロジックデバイス６１２は、これらの図の他の機能コンポーネントに制御信号を出力する。
【０１７０】
制御信号及びアドレッシング信号は、プログラムメモリ及びプログラムシャドウメモリ１６からのＱオペレーション（Ｑ＿ＯＰ）信号を含むＱ／Ｃ／Ｄレジスタ及びＰＬＤ６１１及びＱ／Ｃ／Ｄシャドウレジスタ及びＰＬＤ６１２内の３つの別個のレジスタに選択的に送信される。制御ライン１１２９、１１２７、１１２５、１１２１、１１３１、１１３３、１１２３は、ＣＰＵ１２及びメモリ１０８、１１０、５９３、５９４からのデータのインタフェースを管理する機能を持つ。
【０１７１】
Ｑメモリ１０８は、コンピュータ１０によって実行される特定のプログラムを最終的に定義するメモリアドレスの順序付けされたシーケンスを記憶する。コンパイルされリンクされた一般的なプログラムとは著しく異なり、コンピュータ１０のアプリケーションプログラムは、プログラムメモリ及びプログラムシャドウメモリ１６とＱ＆Ｃメモリ及びＱ＆Ｃシャドウメモリ３６間で一意的に分割されている。この点でプログラムメモリ及びプログラムシャドウメモリ１６を用いて、各種のアプリケーションプログラムに用いられるサブルーチンの有限な共通のセットに対する命令又はオペレーションコードを記憶する。したがって例えばプログラムメモリ及びプログラムシャドウメモリ１６は、２つの数の加算及びＩＦ…ＴＨＥＮ表現等の複数の異なる算術サブルーチン及びロジカルサブルーチンを含むことができる。
【０１７２】
それと比較して、Ｑメモリ１０８はこれらのサブルーチンに関連するアドレス情報を記憶する。具体的にはＱメモリ１０８は、制御コンピュータのアプリケーションプログラムを定義する順序付けされたシーケンスにおいて、サブルーチンの第１の命令のアドレス等のこれらのサブルーチンのアドレスを記憶する。Ｑメモリはまたこれらのサブルーチンに必要ないかなるアーギュメントのアドレスをも記憶するのが望ましい。これらのアーギュメント又はオペランドは、データメモリ及びデータシャドウメモリ１４内に又はＣメモリ１１０及びＣシャドウメモリ５９４内にある。アプリケーションプログラムに対するレスポンシビリティのこの分割によってプログラムに用いられるルーチンは、プログラム全体にわたって繰り返し用いられるにもかかわらず一度記憶されるだけでよいことを理解すべきである。したがってコンピュータ１０内のアプリケーションプログラムに対して必要とされる記憶容量は最小化される。Ｑメモリ１０８の使用は他の長所をも持つ。例えば（１つ以上のアドレスのスタック上へのプッシュ等の）一般的なサブルーチンのオーバヘッドが回避されるために、実行速度が増大する。
【０１７３】
Ｃメモリ１１０は、Ｑ／Ｃ／Ｄレジスタ及びＰＬＤ６１１内のＣレジスタ又は代わりにＤレジスタによって制御されアクセスされる；またシャドウＣメモリ５９４は、Ｑ／Ｃ／Ｄシャドウレジスタ及びＰＬＤ６１２内のＣレジスタ又は代わりにＤレジスタによって制御されアクセスされる。Ｃメモリ１１０はデータ値を記憶し、この点でＣメモリ１１０及びＣシャドウメモリ５９４は、他の場合にはデータメモリ及びデータシャドウメモリ１４によって提供される記憶容量を拡張する。しかしながらＣレジスタは、シャドウＣメモリ５９４及びシャドウＣレジスタの場合のように、プログラム命令によって自動的に変更されるインクレメントにおいてＣメモリ１１０にアクセスできるように設計される。Ｃメモリ１１０及びＣシャドウメモリ５９４は、用いられる命令によって１、２、又は４のアドレスインクレメントにおいてアクセスされる。
【０１７４】
Ｑ／Ｃ／Ｄレジスタブロック６１１内のＤレジスタとＱ／Ｃ／Ｄシャドウレジスタブロック６１２内のシャドウＤレジスタは、データメモリ及びデータシャドウメモリ１４のレジスタと混同されない。Ｑ／Ｃ／Ｄレジスタブロック６１１内のＤレジスタとＱ／Ｃ／Ｄシャドウレジスタブロック６１２内のシャドウＤレジスタを用いることによって、メモリ内に及びメモリの外へアドレスポインタを転送することなくＣメモリ内の２つの異なるデータテーブルにアクセスすることが可能になる。言い換えればＣレジスタに収納されるカウンタはＣメモリ（そこでは１より大きいアドレスインクレメントが有効である）内の１つのデータテーブルのアドレスを指示するが、Ｄレジスタに収納されるカウンタはＣメモリ回路（そこではアドレスインクレメントは１であるのが適切である）内の別のデータテーブルのアドレスに指示する。
【０１７５】
図１２からさらに、Ｑメモリ１０８及びＣメモリ１１０はバッファ１１２を経由してデータバス１８に接続されることに注意すべきである。シャドウＱメモリ５９３及びシャドウＣメモリ５９４はバッファ６２０を経由してデータバス１８に接続される。したがってＱメモリ１０８及びＣメモリ１１０に対する書き込み及び読み取りオペレーションは、Ｑオペレーション及びＣオペレーション制御信号を通じて効果的にマルチプレクシングされると理解すべきである。またＱ、Ｃ又はＤレジスタの現行アドレスをロジックアナライザデバッギングデバイスコネクタに渡すために、アドレスバッファ１１６が提供される。Ｑ、Ｃ又はＤレジスタの現行アドレスはまたバッファ１１２を経由してＣＰＵ１２によって読み出すこともできる。Ｑメモリ１０８内のアドレスの順序付けされたシーケンスがコンピュータ１０によって実行されるステップを定めるという事実から、Ｑ、Ｃ又はＤレジスタの現行アドレスがプログラミングされたオペレーションの現行の状態を定義するための別の方法を提供することがわかる。
【０１７６】
制御コンピュータ１０の安全証明は全てのメモリエラーを検出するためにＱ／Ｃメモリ回路１１９９を必要とする。これらのエラーはメモリコンポーネント、バッファ及び／又はデコーダの故障の際に発生する。エラーが発生した場合、オンボードエラー検出によってエラー信号１２３０を通じてウォッチドッグ６０３に適切な動作を取るよう警告がなされる。
【０１７７】
図９Ａ、９Ｂ、１０に関する議論の検討から明らかになった方法によって、（ａ）読み取りエラー、（ｂ）ハードウェアのエラー、（ｃ）ハードウェアの故障、（ｄ）メモリアドレスラインのエラー及び（ｅ）デコーダのエラーの検出によってエラー信号１２３０がアサートされる。リアルタイムなコンパレータ１２１０の起動及びテストはまた、プログラムメモリ及びシャドウプログラムメモリ１６内のコンパレータ９４６について検討された方法と基本的に同じ様に進行する。
【０１７８】
図３Ａ〜１２で用いられるラインについての凡例の規則は、スペーシングの理由から図１３Ａ、１３Ｂ、２１Ａ、２１Ｂでは当てはまらない。
【０１７９】
図１３Ａ、１３Ｂ、１４は、制御コンピュータ１０ａ、１０ｂを入力回路及び出力回路とインタフェースさせるマザーボードのセット内の各マザーボード上に配置されたデッドマン及びアドレス確認回路の詳細を表す。各メザニンボード６８４、６８９（図３Ｂ）は、「関連する」デジタル出力をディスエイブルするためのＤＯデッドマン接続１９１５ａ、１９１５ｂを持つＳＩＬメザニンボードＤＯ（デジタル出力信号）ＲＣタイマ及びデッドマン１９０２（ＤＯデッドマン回路６８８、６８５のキーコンポーネント）；持続時間及びタイマリセットを持つＲＣタイマ１９０４；及びタイマリセットの際に制御コンピュータ１０から事前決定された事象の出力を受信する接続１９０６を有している。ＲＣタイマ１９０４は、事前設定された事象が受信され（スイッチ１９２８を開く充電しきい値量まで）持続時間に向けて次第に充電する場合、最大時間（全キャパシタ放電）にリセットされる；持続時間が短期タイマによって達せられて（すなわちＲＣタイマ１９０４内のキャパシタが接続１９０６上の信号：Ｄによって放電されてＲＣタイマ１９０４を最大時間に効果的にリセットする前に、スイッチ１９２８を開く充電しきい値量まで回路が充電して）事前決定された事象が受信された場合、ＤＯデッドマン接続１９１３（ａ，ｂ）、１９１５（ａ，ｂ）はスイッチ６８７、６９０、６９５、６９７に有効化されて、デジタル出力を（及び図３Ｂの議論で選択的に述べられたようにアナログ出力を）ディスエイブルする。
【０１８０】
各マザーボードはさらにＣａｎアドレスデッドマン回路６８３、６９１及びＣａｎアドレス確認回路１９２２を持つ。マザーボード回路１９０１を表す図１３Ａおよび１３Ｂを参照すると、出力信号の発生に際して各コンピュータ１０は各出力信号に関するデジタルアドレスと関連するデジタル信号のセットを定義する；制御コンピュータ１０に接続されている第１のデジタル−アナログ回路１９０８は、出力ボードアドレスに関連するデジタル信号のセットを単一のアナログ信号に変換し；マルチプレクサ回路１９１０は第１のデジタル−アナログ回路１９０８を関連するＣＰＵ回路１９１２とインタフェースさせる。同様に第２のデジタル−アナログ回路１９１４はＣａｎ識別子に関連するデジタルアドレスをＣａｎＩＤアドレス値のアナログ信号に変換し；ＣａｎＩＤアドレス値アナログ信号はさらにマルチプレクサ回路１９１０を介し回路１９１２経由でコンピュータ１０とインタフェースされる。アドレス値デジタル信号のセットとデジタルアドレスが同じであると決定されない場合は、そのＣａｎからのデジタル出力はタイマアウトするとスイッチ６８７、６９０を通じて終了し（図３Ｂ）；それからＤＯデッドマン状態値１９１６がコンピュータ１０によって監視され、パートナーの制御コンピュータがアクティブでない場合（パートナーがアクティブで、制御コンピュータ１０がタスク４に入る場合）、コンピュータ１０はリアルタイムの次の秒で全てのＣａｎへのリンケージ１９０６を通じて１６進数の値：Ｄの送信（ボードセレクトアドレスＢ１…Ｂ８のセットでコンピュータ１０から受信したデコーダ１９１８からの出力）をディアクティベートし；それから各Ｃａｎ内における：Ｄ値の不在によって、図３Ｂのように構成された全てのデジタル出力（代替実施形態ではアナログ出力）をディアクティベートするようにシステム１９２８内の全てのスイッチが作動する。：Ｄ値は全ての起動テストが成功裏に完了した場合コンピュータ１０によって提供されるだけなので、スイッチ１９２８による全てのデジタル出力のディアクティベートによって最終的に、タスク４からのコンピュータ１０の再開始が実行されるまで、ＤＯデッドマン状態値１９１６を監視するコンピュータ１０を用いＤＯデッドマン状態値１９１６の変化の指示に応答して、システム内のフェールセーフな全てのデジタル出力の位置にラッチされる。
【０１８１】
スイッチ１９２８によってＤＯデッドマン接続１９１３（ａ，ｂ）、１９１５（ａ，ｂ）経由のデジタル出力の送出を終了させる動作を考慮すると、Ｃａｎアドレスデッドマン回路６８３、６９１は（ＲＣタイマ１９０４と同じように作動する）デッドマンタイマ１３０６を用いてＣａｎイネイブル信号と反応して、Ｃａｎデッドマン信号及び出力デッドマン信号１３０８をスイッチ１９２８に送出する。したがってスイッチ１９２８において、制御システムのいかなる部分のＣａｎアドレッシング又はボードアドレッシング内で局所的に現れたいかなる不一致によっても、システム内の少なくとも全てのデジタル出力のＣａｎ及び引き続くフェールセーフ位置において影響を受けた出力のフェールセーフ位置は非常に短時間に即座の影響を受ける。
【０１８２】
制御コンピュータ１０及びその関連するロジックをイネイブルしてマザーボード６８１、６８２のアドレスの決定論的完全性をテストする際、メザニンボード６８５、６８８上に１０−位置ＤＩＰスイッチ１３０７がインストールされる。スイッチ１３０７は、制御コンピュータ１０のロジックで識別されるようにマザーボードのロジカルアドレスに設定されて、マザーボードを通じて全ての回路をアドレス指定する。関連するレジスタ及び演算増幅器１３０３とともに、Ｃａｎアドレス確認回路１９１４はスイッチ１３０７の設定に比例したＣａｎ電圧１３０５を発生する。
【０１８３】
制御コンピュータ１０の（マシンオペレーションコードを実行する）ロジック内のセルフテストルーチンは、マルチプレクサ１９１０及び回路１９１２を通じて戻された電圧の各々を読み取り、それをそのマザーボードに対するデジタルアドレスに基づいた予測電圧と比較して、その電圧がトレランスの範囲外であれば全Ｃａｎに対するＢ１…Ｂ８内の：Ｄの送出を停止する動作を取る。
【０１８４】
Ｃａｎアドレス確認回路１９１４及びコンパレータ１９２２は、デジタル出力ボードがマザーボード６８１、６８２に対してアドレス指定可能になる前に、またオンボードＲＣタイマ及びデッドマン１９０２がボードセレクト信号Ｂ１…Ｂ８の受信を通じてリセットされる前に、適切なマザーボード６８１、６８２がアドレス指定されていることを検証するメカニズムを提供する。その回路は、抵抗器ラダー、Ｃａｎアドレススイッチ、演算増幅器ウィンドウコンパレータ及び別の演算増幅器から成る。このボードがインストールされる場合、ボードアドレススイッチは主マザーボード６８１、６８２と同じスイッチ位置に対応しなければならない。抵抗器ラダーからの電圧は、抵抗器ラダー上のステップの各々に対して１．５Ｖ±０．５Ｖのインクレメントの範囲内にある。それからこの電圧は信号ＣＡＮ＿ＩＤになる（この明細書の前の部分で定義された用語「Ｃａｎ」を参照）。特定のＣａｎ内のＤＯがアドレス指定されると、まず制御コンピュータは関連する特定のＣＡＮ＿ＩＤ電圧より低いダイオード電圧降下（０．６〜０．７Ｖ）であるＶＲＥＦ値を印加する。そのＶＲＥＦの値はＣＡＮ＿ＩＤ電圧の±１ダイオード電圧降下の範囲内にあると仮定すれば、コンパレータ１９２２はその出力を接地に引き込まない。ウィンドウコンパレータ１９２２が接地に引き込まずまた制御コンピュータ１０内のロジックの実行によって可能であれば、ＲＣタイマ１９０４は「リセット」されて、：Ｄがデコーダ１９１８からアサートされたときにそのアサーションからのＤＯデッドマン接続１９１３（ａ，ｂ）、１９１５（ａ，ｂ）の制限を続行する。ボードアドレス電圧に類似の方法でチャネルアドレス電圧１９９９を確認する際、チャネルアドレス電圧はさらにＭｕｘ１９１０を経由して制御コンピュータ１０で処理される。
【０１８５】
ここで図１４を参照すると、デジタル出力アドレス妥当化回路１７０１が提示されるが、それはラッチ１３０２内の回路をさらに詳細に表している。回路１７０１は、未使用のＤＯボードアドレスが「試みられ」たかどうかを検出する。この問題を解決する際、２つのＣＭＯＳインバータ及びいくつかのダイオード及び抵抗器が単純なラッチ回路を形成する。秒ごとに、回路１７０１のラッチは信号１９０６内に：Ｄ値をもつＲＣタイマ１９０４とともに設定され、「ｎｏｒｍａｌ　ｏｎ」状態にされる。ＤＯボードセレクトデコーダの未使用の出力Ａ、Ｂ、Ｃ、Ｆの値は定義されていない。ロジック的真又はロジック的偽の状態は、Ａ、Ｂ、Ｃ、Ｆがある特定の値を持つようにある値がコンピュータ１０から送信されなければならないのでアドレスエラーが発生したことを表す。未使用のＤＯアドレスラインがイネイブルされた場合（真または偽）、ラッチ１３０２はＤＯボードセレクトＯＫ１７０３をアサートしない。制御コンピュータ１０の（マシンオペレーションコードを実行する）ロジック内のセルフテストルーチンは、マルチプレクサ１９１０及び回路１９１２を通じて回路１７０１の出力１７０３を読み取り；その出力が低い場合、システムはラッチ１３０２及びＲＣタイマ１９０４のリセットを効果的に中止する。ＬＥＤ＃２１７０５は出力１７０３の状態の視覚的指示をイネイブルする。ＬＥＤ＃２１７０５は、不良が検出されると点灯する。
【０１８６】
好ましい実施形態では、温度測定値又は圧力測定値等のフィールド信号は、局部的なローカルマザーボード６８１、６８２及びＩ／Ｏケーブルドライバボード６０１を介して制御コンピュータ１０とインタフェースする入力ボード上の入力チャネルを通じて制御コンピュータに入力される。制御コンピュータ１０の各インスタンスは、フィールド信号とインタフェースする分離した別個の回路セットを持っているので、これらの２つの回路セットは安全クリティカル回路のためのそれぞれの冗長制御コンピュータ１０ａ、１０ｂと並列に動作する。フィールドから流入する信号は２つのチャネルに結合され、２つの制御コンピュータ間の比較に対して、各チャネルからのデータ値（それは最終的に制御コンピュータ１０の各インスタンス内でデータロジカルに値付けされる）が得られる。それから出力信号が「制御コンピュータ−Ｉ／Ｏドライバカード−ローカルマザーボード−出力ボード−出力チャネル」の並列回路セットを通って生成されるが、そこでは出力チャネルの各々から出力された電圧がそれぞれのフィールド制御デバイスに同時に印加される。出力回路は演算増幅器を用いて、２つの制御コンピュータがそのような同時的印加を実施するときに同じワイヤ上でフィールド制御デバイスへの複数の電圧の同時的印加によって誘発されたいかなるインピーダンス関連電流をも安定化させる。（６９Ｇｌａｓｅｒ等による）米国特許第５，４２８，７６９号には、これら３つの制御コンピュータ又はフィールドインタフェースコンピュータがそのような同時的印加を実施する際に同じワイヤ上でフィールド制御デバイスに同時に印加される３つの電圧によって誘発されかねないインピーダンスのいかなる不安定性をも安定化させるシステム及び方法が説明されている。２つの制御コンピュータのためのハードウェアが同時的印加を実行する際、誘発された全ての不安定性の管理を可能にするために演算増幅器が用いられる。
【０１８７】
本明細書で前述したように、Ｂａｃａ，Ｊｒ．等による米国特許第５，５８３，７５７号で説明されているアナログ入力信号の調停方法に対するいくつかの修正例がここで説明されているシステムにおいて実現されている；その特許で開示された情報に対するこれらの修正例の概要が図１５、１６、１７、１８に表されている。
【０１８８】
図１５には米国特許第５，５８３，７５７号の図８（ｃ）に対する修正例が提示されており、そこでは（制御コンピュータ１０がタスクＢモードで実行しているときに既に実行された）入力信号の調停におけるある条件ロジックが修正されている。
【０１８９】
図１６には米国特許第５，５８３，７５７号の図８（ｅ）に対する修正例が提示されており、そこでは入力信号調停におけるあるロジックが修正されている。方法ステップ２２０１及び２２０２に示されているように、ＡＩＦ変数はＡＩＦの絶対値となるように修正されている。
【０１９０】
図１７には米国特許第５，５８３，７５７号の図８（ｇ）に対する修正例が提示されており、そこでは入力信号調停におけるあるロジックが修正されている。方法ステップ２３０１及び２３０２に示すように、ＡＩＦ変数はＡＩＦの絶対値となるように修正されている。
【０１９１】
図１８には米国特許第５，５８３，７５７号の図８（ｈ）に対する修正例が提示されており、そこでは（制御コンピュータ１０がタスクＢモードで実行しているときに既に実行された）入力信号の調停におけるある条件ロジックが修正されている。
【０１９２】
説明されている実施形態の制御プログラムのマシンオペレーションコードのリアルタイムの実行は毎秒１回の頻度で発生する。図１９は、Ｈｚ１サイクルに関連する秒の開始を定義するＨｚ１ステップ２５０２とともにリアルタイムに開始する際の制御プログラムのＨｚ１サブポーションの実行アウトラインの概要２５００を表している。
【０１９３】
それからＶＥＲＣＨＫＨｚ１ステップ２５０４は、制御プログラムのマシンオペレーションコードを実行する制御コンピュータ１０と、制御プログラムのマシンオペレーションコードを生成するのに用いられたアプリケーションプログラムソースコードとのあいだのバージョンチェックを実行する。
【０１９４】
それからＲＭＵＸＨｚ１ステップ２５０６は、（６９Ｇｌａｓｅｒ等による）米国特許第５，４２８，７６９号で導入されまたここでさらに説明されたリモートフィールドユニットと制御コンピュータ１０ａ、１０ｂとをインタフェースさせるサイクルをＨｚ１制御プログラムマシンオペレーションコードで実行する。
【０１９５】
各制御コンピュータ１０におけるＲＭＵＸＨｚ１ステップ２５０６の実行は、図２２で概要が提示された方法によって可能となる。図２２のステップ２８０２に表されるように、制御コンピュータは、リモートフィールドユニットと通信する各デジタル出力に対して、ネットワークコントローラ３２８Ａ、３２８Ｂボードを経由してフィールドリモートと通信するデジタル出力の補数として「反映デジタル出力値」を計算する。方法ステップ２８０１等の方法内のステップにおいて、「ＮＣ」とは６９Ｇｌａｓｔｅｒ等の特許で基本的に説明されているネットワークコントローラカード３２８Ａ、３２８Ｂのことである。方法２８００の受信済チェックサムの妥当性が制御コンピュータ１０内で確認されない場合、その通信に対して「不良」状態が定義されて、そのエラーは、「まだ通信している」制御コンピュータの値のリモートフィールドユニット３１４Ｉ／０による使用の関連する実行を伴う通信歩調の割り込みを通じてリモートに伝達される。制御コンピュータの場合、影響を受けたリモート入力信号に対するパートナー値はそれらが（やはり）受容できないと指示されるまで装置８４の制御のもとに使用される。ステップ２８０６の場合のような用語「ＢＰＡＩ」は、「ボード問題アナログ入力」のことである。ＲＭＵＸＨｚ１のステップ２５０６で実行される方法をさらに検討すると、図２３Ａ〜２３Ｅは、ネットワークコントローラ３２８Ａ、３２８Ｂのボードを通じてリモートフィールドユニット３１４ａ、３１４ｂから受信した診断値に対する、（制御コンピュータ内で実行される）リモートフィールドユニット診断情報方法を提示している。
【０１９６】
図１９に戻ると、図２３Ａ〜２３Ｅに従ってフィールドリモートユニット診断Ｈｚ１ステップ２５０７が実行される。図２３Ａ〜２３Ｅを検討すると、ステップ２９０３の場合のようなＣメモリへの参照は、関連するＣシャドウメモリ５９４を持つ図１２の６４ＫのＣメモリ１１０を参照する。６秒間に及ぶリモートフィールドユニットからのデータ診断のマルチプレクシングを制御するコンテクストインジケータとして、図２３Ａ〜２３Ｅに説明される方法のステップ２９０１に表されるようなＭＰＸＣＴＲが用いられ、そこでは：
０の値は、リモートフィールドユニットの左のコンピュータ（３３６Ａ、３３６Ｂ）の値が検査されていることを表す；
１の値は、偶数番号のＣａｎに対する入力調停比較問題についての値が検査されていることを表す；
２の値は、リモートフィールドユニットの中央のコンピュータ（３３８Ａ、３３８Ｂ）の値が検査されていることを表す；
３の値は、リモートフィールドユニットの左、中央、右コンピュータの全てからのフィールド問題合計データ（例えば、短絡しているかもしれないＤＯ、問題を提示しているＡＩ）が検査されていることを表す；
４の値は、リモートフィールドユニットの右コンピュータ（３４０Ａ、３４０Ｂ）の値が検査されていることを表す；
５の値は、奇数番号のＣａｎに対する入力調停比較問題についての値が検査されていることを表す。
【０１９７】
方法ステップ２９０２の場合のような変数ＣＩＮＣＲＭ及びＲＳＴＡＴＩは、図２３Ａ〜２３Ｅに説明されている一般的方法において状態データ及び診断データを保持するためにメモリ内の記憶ロケーションを決定する値である。
【０１９８】
図２４は、ネットワークコントローラ３２８Ａ、３２８Ｂ内で高レベルに実行して、リモートフィールドユニット３１４ａ、３１４ｂと制御コンピュータ１０間のインタフェースを可能にする一般的な方法を表している。ネットワークコントローラ３２８Ａ、３２８Ｂはそれ自身のコンピュータプロセッサを用いてこのルーチンを実行することに注意すべきである。図２４のステップ３００１を見ると、リモートフィールドユニット３１４ＩＯへの参照は、図２２のステップ２８０３の用語法の使用に類似する。このルーチンは、ネットワークコントローラ３２８Ａ、３２８Ｂがリモートフィールドユニット３１４とインタフェースして、ステップ３００３、３００４、３００５、３００６、３００７、３００８の場合のように入力のデータベースからデータを検索して、ステップ３００９、３０１０、３０１１、３０１２、３０１３、３０１４の場合のようにそのデータを入力のデータベースから制御コンピュータに送信するステップセットを通じてステップ３００１の初期化から進行する際に、ネットワークコントローラ３２８Ａ、３２８Ｂ内で実行される方法の一般的状態を取り扱う。これらのステップでは「制御ＣＰＵ」とは、制御コンピュータ１０ＣＰＵ１２のことである。プロセスはステップ３０１５及び３０１６で実行して制御コンピュータからデータを検索してそれをリモートフィールドユニットへ転送するために出力データベースに記憶することに注意されたい。入力データベースは例えばステップ３００３に表されるように、リモートフィールドユニット３１４から検索したデータを保持する。
【０１９９】
図２４は、ネットワークコントローラ３２８Ａ、３２８Ｂの情報を制御コンピュータとインタフェースさせるネットワークコントローラ３２８Ａ、３２８Ｂの方法を表すが、図２５及び２６はネットワークコントローラ３２８Ａ、３２８Ｂとリモートフィールドユニット３１４ａ、３１４ｂとのインタフェースに関係しており、そこでは図２５はネットワークコントローラ３２８Ａ、３２８Ｂから各リモートフィールドユニットへ情報を送信する方法を説明している。これに関して、図２４のステップ３０１５及び３０１６で参照される出力データベースは、リモートフィールドユニット３１４へ転送される情報の発生源である。図２５ではそのような情報はステップ３１０１の場合のようにリモートフィールドユニットＩＯ出力ブロックからアクセスされる。ポーリング信号はステップ３１０２及び３１０３で第２のポーリング信号と補数をなし、第２の信号がリモートフィールドユニット３１４でのさらなる検査のために第１の信号のデータロジカルな補数となることによって、正しくアドレス指定され識別されたリモートフィールドユニット３１４とネットワークコントローラ間のデータ交換が保証される。
【０２００】
図２６は、ネットワークコントローラ３２８Ａ、３２８Ｂで実行しリモートフィールドユニット３１４ａ、３１４ｂからデータを検索してその情報を図２６のステップ３２０１で参照された入力ブロックに記憶する方法を表している。
【０２０１】
図２２及び２２Ａ〜２３Ｅはリモートフィールドユニット３１４ａ、３１４ｂとインタフェースするために制御コンピュータ内で実行される方法を表し、他方で図２４、２５、２６はリモートフィールドユニットとインタフェースするネットワークコントローラボード３２８Ａ、３２８Ｂにおける方法を詳述し、図２７、２８、２９は証明された安全シャットダウンシステムとしての制御システムとインタフェースするためにリモートフィールドユニット３１４内で実行される方法を詳述する。これに関して、図２７のステップ３３０１及び３３０２は図２５のステップ３１０２及び３１０３で導入された信号とその信号の補数との相互作用を表している。図２８ではステップ３３０３に含まれる方法はさらに拡張され；図２７のステップ３３０４の方法（そこでは「ＤＯ」はデジタル出力及び反映したデジタル出力値のことである）が図２９で説明される。さらに図３４を見ると用語ＵＡＲＴは、ステップ３４０１、３４０２、３４０３に示されるようなユニバーサル非同期受信機及び送信機を参照する。図２９では、（ステップ２８０２の制御コンピュータ１０の方法に関して前述した）リモートフィールドユニットコンピュータによる反映したＤＯの補数の使用法がステップ３５０１及び３５０２に表されている。
【０２０２】
リモートフィールドユニットとの情報の交換（図１９に戻って）に続いて、ＰＣＴＯＰＣＨｚ１ステップ２５０８は１つの制御コンピュータシステム対から別の関連するプロセス制御システム対への通信を実行することによって、（ａ）これら２つのシステム間で交換される必要のあるデータ及び（ｂ）それらのシステムは、互いに調和してそれらの個別の制御下にある処理の異なる部分に対して動作する。（Ｂａｃａ，Ｊｒ等による）米国特許第５，５８３，７５７号の１０列３０〜４０行において説明されているように、この通信の交換は影響を受ける。
【０２０３】
次に、Ｈｚ１ステップ２５０８の後にＤＩＩＮステップ２５１０でデジタル入力が各制御コンピュータ１０ａ、１０ｂのリアルタイムデータベース内に読み込まれ、それから同様の方法でアナログ入力がＡＩＩＮＨｚ１ステップ２５１２で獲得される。
【０２０４】
アナログ入力及びデジタル入力の読み取りに続いて、ルーチンはＳＩＰ診断Ｈｚ１ステップ２５１４で診断を実行してそれらの入力／出力値が正しいアドレスであることを保証する。（「電圧キー」とも呼ばれる）このルーチンは、マルチプレクサ１９１０を通じてＣＡＮ＿ＩＤ電圧１３０５の各インスタンスを検査することによって各マザーボードの適正なアドレス指定をチェックする。
【０２０５】
同様に次のＶＲＥＦＨｚ１ステップ２５１６で診断を実行して、入力／出力ボードが各制御コンピュータ１０ａ、１０ｂからの出力信号に対して適正にエコー信号で応答しているかどうかを判断し、さらにルーチンは入力／出力信号のボードが各制御コンピュータによって適正にアドレス指定されることを保証するように指示する。
【０２０６】
最後のボード問題診断Ｈｚ１ステップ２５１７で、全てのＩ／Ｏボード診断データが照会されて、ボード問題を持つシステム内の最も高い番号のボードを識別してメンテナンスオペレーションを強化する。
【０２０７】
ＡＯＴＨｚ１ステップ２５１８及びＤＯＴＨｚ１ステップ２５２０では、ＡＯ（アナログ出力）追跡電圧及びＤＯ（デジタル出力）追跡電圧が、制御コンピュータ１０からの出力ワイヤ上に存在しまたそれらが信号を同じフィールドデバイスにアクティブに（望ましくはアクティブに冗長な仕方で）駆動する際に、データ値の中に読み込まれる。「アクティブな冗長性」とは、冗長制御コンピュータ１０ａ、１０ｂ（又はフィールド制御コンピュータ）の各々からフィールドデバイスに対する出力電圧の同時的印加を意味する。６９Ｇｌａｓｅｒ等による特許で説明されているように三重に冗長なリモートフィールドユニット３１４を用いる場合は、アクティブ冗長フィールド制御コンピュータの各々からの３つの出力電圧が（６９Ｇｌａｓｅｒ等の特許で説明されているような管理されたインピーダンス安定性を伴って）フィールドデバイスに印加される。２つの制御コンピュータ１０ａ、１０ｂ（６９Ｇｌａｓｅｒ特許の６列２０〜２４行に記されまた図１に表されているような制御コンピュータ１４）がアナログ出力及びデジタル出力をフィールドデバイスに直接送出する場合は、アクティブ冗長フィールド制御コンピュータの各々からの２つの出力電圧が（演算増幅器によって管理されたインピーダンス安定性を伴って）フィールドデバイスに印加される。後者（２つの制御コンピュータ）の場合、追跡値は、同じワイヤ上でアナログ又はデジタルフィールドデバイスに対する２つの電圧の同時的印加に基づく。追跡値は各制御コンピュータ１０内に読み込まれて、その特定の制御コンピュータから送信されかつ統合システムとして動作する双方の制御コンピュータ１０ａ、１０ｂから引き出された信号に対する個々の制御コンピュータの寄与を確認するのに有効な出力値との比較が行われる。３個のフィールド制御コンピュータの場合は、その追跡値は、同じワイヤ上でアナログ又はデジタルフィールドデバイスに対する３つの電圧の同時的印加に基づき；またその追跡値は６９Ｇｌａｓｅｒ特許に説明されるように監視され管理される。追跡値は、制御されている装置８４内の制御デバイスに印加されているコンピュータ制御システムからの電圧を測定する。次にＡＲＢＬＮＫＨｚ１ステップ２５２６及びそのＴｒａｃｋＡｒｂステップ２６０４に進む。診断データからボード問題が示されず、また特定のフィールドデバイスに対する双方の制御コンピュータ１０ａ、１０ｂからのアナログ出力追跡電圧値の差が互いの１．５パーセントの範囲内にある場合は、双方の制御コンピュータのデータベース内で、左の制御コンピュータのアナログ出力追跡電圧値を用いる。診断データからボード問題が示された場合は、ボード問題を持たない制御コンピュータ１０からのアナログ出力追跡電圧値が用いられる。診断データからボード問題が示されず、また双方の制御コンピュータ１０ａ、１０ｂからのアナログ出力追跡電圧値の差が１．５パーセントより大きい場合は、最も低いアナログ出力追跡電圧値を双方の制御コンピュータのデータベース内で用いる。
【０２０８】
診断データからボード問題が示されず、双方の制御コンピュータ１０ａ、１０ｂからのアナログ出力追跡電圧値の差が１．５パーセントより大きく、また２つのアナログ出力追跡値がそのアナログ出力値のトレランスの範囲外にありまた１つの制御コンピュータがタスクＢモードである場合、タスクＢモードでない制御コンピュータ１０からのアナログ出力追跡電圧値が双方の制御コンピュータのデータベース内で用いられる。診断データからボード問題が示されず、双方の制御コンピュータ１０ａ、１０ｂからのアナログ出力追跡電圧値の差が１．５パーセントより大きく、また２つのアナログ出力追跡電圧値そのアナログ出力値のトレランスの範囲外にあり、１つの制御コンピュータがタスクＤモードで他の制御コンピュータがタスクＦモードである場合、２つの制御コンピュータ１０ａ、１０ｂからの最も低いアナログ出力追跡電圧値が双方の制御コンピュータのデータベース内で用いられる。図３０は、タスクＢルーチンステップ３６０１を持つ実行可能マシンオペレーションコードにおけるアナログ出力追跡信号管理のフローチャート３６００を表しており、それは、制御コンピュータの１つがタスクＢにある場合に実行可能ましのペレ−ションコードにおけるアナログ出力追跡信号の機能のさらなるフローチャートを表してる図３１のフローチャート３７００を参照している。
【０２０９】
ここで、デジタル出力の場合を考察すると、診断データからはなんらボード問題が示されていなくて、特定のフィールドデバイスに対する双方の制御コンピュータ１０ａ、ｂそれぞれからのデジタル出力追跡論理値の値が一致する場合、左側制御コンピュータのデジタル出力追跡電圧値が双方の制御コンピュータのデータベース中で用いられる。診断データからはなんらボード問題が示されていなくて、特定のフィールドデバイスに対する双方の制御コンピュータ１０ａ、ｂからのデジタル出力追跡論理値の値が一致しない場合、ゼロデジタル出力追跡論理値が双方の制御コンピュータのデータベース中で用いられる。診断データからボード問題が示されている場合、このボード問題を持たない方の制御コンピュータからのデジタル出力追跡電圧値が用いられる。双方の制御コンピュータ中に診断データからボード問題が示されている場合、ゼロデジタル出力追跡電圧が用いられる。
【０２１０】
ボードチェックカウントＨｚ１ステップ２５２１においては、しきい値を越えた場合に、メンテナンスのため又はタスクにシフトするために、診断問題を有するボードの合計が定義される。
【０２１１】
Ｈｚ１サイクルの次のＡＯＦＣＰＹＨｚ１ステップ２５２２においては、獲得されたＡＯ（アナログ出力）追跡及びＤＯ（デジタル出力）追跡の値が、「生」の形態でアクセスできるようにデータメモリとシャドウメモリ１４にコピーされる。この点で、ＡＲＢＬＮＫ　Ｈｚ１ステップ２５２６においては、アナログ追跡値が調停され、また、デジタル論理値が調整されて、制御プログラムのロジックで使用される追跡値を誘導する。ＡＲＢＬＮＫ　Ｈｚ１ステップ２５２６での調停に先立って個別の制御コンピュータ１０、ｂによって読みとられた「生」の値の別のコピーがトラブルシューティングで用いられる。
【０２１２】
ＡＯＣＰＹ　Ｈｚ１ステップ２５２２からＨｚ１サイクルがＭＯＮＩＴＯＲ　Ｈｚ１ステップ２５２４にまで続いて、制御コンピュータの各々と連携したハードウエアに対して診断チェックを実行する。これらの診断の１部は、各Ｈｚ１サイクル毎に１回実行される；すなわち、これらの診断の１部は、完全に実行するのにＨｚ１サイクルをいくつか必要とし、また、これら特定の診断のある部分は、ＭＯＮＩＴＯＲ　Ｈｚ１ステップ２５２４中の各Ｈｚ１パスで実現される。ＭＯＮＩＯＴＯＲ　Ｈｚ１ステップ２５２４で実行される１つの方法は、Ｉ／Ｏケーブルドライバボード６０１上のＡ／Ｄ６０７とＤ／Ａ６０５のチェックを実現する（図３Ａと３Ｂ）。この方法では、リアルタイムの分と秒のクロックの値に基づいて各秒毎の試験値が、Ｄ／Ａ値の範囲内の最小値から開始されて時間にわたって徐々に増加して時間の最後でＤ／Ａ範囲の最大値に達するように算定される。この試験値は、Ｄ／Ａ６０５から出力され、出力試験値と比較されている変換済み値とＡ／Ｄ６０７で変換されて、回路が正しく動作しているか決定される。
【０２１３】
ＭＳＩＶＡＬ　Ｈｚ１ステップ２５２５は、Ｈｚ　１ステップ２５３６内での入力ボタンの妥当性検証および精度で使用するための値を確立するための診断決定ステップである。
【０２１４】
それから、ＭＬＡの時間が肝要なリンクＨｚ１ステップ２５７５の第１インスタンスが、ロードされたプログラムが使用するのに大きくなりすぎないように、その他のシステムが制御コンピュータのＣＰＵ活用を概算し、Ｈｚ１サイクルで使用可能な遊休時間を求めることができるようにするために有効なデータを収集するために実行する。
【０２１５】
診断チェックＨｚ１　ステップ２５２４に続いて、制御コンピュータ１０ａ、１０ｂ間での主要なリンク３２４を介したデータ交換が、基本的にはＢａｃａ　Ｊｒ．らに対する米国特許番号第５，５８３，７５７号（特に、Ｂａｃａ、Ｊｒ．らの図１の要素２４ａおよび２４ｂを参照すること）に記述されるようにデータを交換し、（ａ）制御要素の位置を生じさせる上で使用するための値の定義、および（ｂ）アービトレーション診断の一助にアービトレーションを可能とするためにＡＲＢＬＮＫ　Ｈｚ１ステップ２５２６で実行する。その特許中のアービトレーションプロセスの説明のいくつかの修正は、本明細書の図１５から図１８に関して説明されている。ＡＲＢＬＮＫ　Ｈｚ１ステップ２５２６、図２０は、ＡＲＢＬＮＫ詳細２６００を提供する。
【０２１６】
ＡＲＢＬＮＫ　Ｈｚ１ステップ２５２６は、「変更許可」ビットアービトレーションを実行するＯＵＴＣＰＡＲＢ　Ｈｚ１ステップ２６０２で開始する。この点において、出力値をソフトウェア内で手動で無効にする（つまり、操作技術者が、制御コンピュータプログラムの実行側のリアルタイムロジック回路によって定義された値を無効にする値を入力する）ことができる能力は、変更許可ビットに対して、値を変更しようとする知覚された試みを比較することによって部分的に可能にされる。「変更許可」ビットアービトレーションステップは、左制御コンピュータと右制御コンピュータ１０ａ，ｂの両方が、ある特定の手動無効値を制御デバイスに出力できるようにすることに関して合意することを保証する。
【０２１７】
ＯＵＴＣＰＡＲＢ　Ｈｚ１ステップ２６０２に続いて、ＴｒａｃｋＡｒｂステップ２６０４　Ｈｚ１ステップは、ステップ２５１８と２５２０に関して前述されたように、アナログ出力追跡調査値およびデジタル出力追跡調査値を仲裁するために実行する。
【０２１８】
リンクＭＣＵバッファＨｚ１ステップ２６０６において、管理および調整ロジックは、人間入力タッチ修理パネルと制御コンピュータデータベースを接続する入力バッファ内の値に関して実行される。管理および調整ロジックは、両方のコンピュータが「合意に達し」、タッチパネルを通して人間が発する入力を処理する上で同じデータを活用することを規定するために実行する。ＭＣＵ変更調整Ｈｚ１ステップ２６０８では、使用できると見なされていた入力バッファ内の値は、制御使用のために、制御コンピュータのデータベースの中に組み込まれている。この点で、追加の許可が評価され、範囲チェックがこのような組込みの前に定義されている変更の量に関して実行される。
【０２１９】
さらに、図５５から図５９の説明で詳説されるように、Ｈｚ１サイクルステップ２６０９ａと２６０９ｂは、次に、ＳＣＵプロセスユニットステップ変更入力、およびＨｚ１　ＳＣＵステップ２５３６からのプロセスユニットステップ変更を仲裁するために実行する。
【０２２０】
次に、出力変更許可値のアービトレーションに類似したステップでは、アナログ入力変更許可値およびデジタル入力変更許可値が、ＩＮＰＵＴ　ＣＰ　ＡＲＢ　Ｈｚ１ステップ２６１０で仲裁される。この点では、プロセス制御プログラムの中へのある特定の入力信号を手動で無効にし、定義することが可能である状況がある。いくつかのケースでは、これが、計装修理中に計装を使用しなくても、制御プログラムに有効にシミュレーションされた値を与えることができるようにする。これの例は、値があまり頻繁に変化せず、その通常の動作でコンピュータによって監視されているが、修理状態にある外気温である可能性がある。しかしながら、いくつかの信号は、それらが制御コンピュータプログラムの安全完全性部分の動作に重大である場合、このようにして受け入れることはできない。その結果、変更許可は、入力値の手動無効特徴が実現される場合もあれば、実現されない場合もあるように、プロセス制御プログラムのデータスキーマで定義される。制御プログラム（これらの変更許可値を仲裁する）内のＩＮＰＵＴ　ＣＰ　ＡＲＢ　Ｈｚ１ステップ２６１０は、両方のコンピュータが、操作技術者による値入力の試みが手動無効を受け入れるか、拒否するかのどちらかのために両方のコンピュータによって相互に実行されることに合意することを保証する。これに続いて、アービトレーションは、一般的に、Ｂａｃａ，Ｊｒ．らに対する米国特許番号第５，５８３，７５７号に定義され、さらに、安全完全性プログラミングで使用するためにこれ以降記述される修正で定義されるように、ＩＮＰＵＴ　ＡＲＢ　Ｈｚ１ステップ２６１２内の入力信号のすべてで実行される。
【０２２１】
最後に、ＬＩＮＫ　ＲＥＭＡＩＮＩＮＧ　Ｈｚ１ステップ２６１４では、ＡＲＢＬＮＫ　Ｈｚ１ステップ２５２６は、２つの制御コンピュータの一般的な調整のために必要とされるその他のデータに関して、制御コンピュータ１０ａ，ｂ間でデータ交換を可能にすることによって終わる。
【０２２２】
図３２は、左制御コンピュータと右制御コンピュータ間でのデータの交換およびデータのアービトレーションにおいて、ＡＲＢＬＮＫ　Ｈｚ１ステップ２５２６で実行される方法論の追加概要を提示する。図３２のレビューでは、頭文字「ＬＣＣ」は、「左制御コンピュータ」を指し、頭文字「ＲＣＣ」は「右制御コンピュータ」を参照する。左制御コンピュータと右制御コンピュータ１０ａ，ｂ間の密接な効果的な同期は、中断を使用しないＨｚ１ステップ２５２６内のデータブロックの交換を容易にする。この点で、制御コンピュータは、Ｈｚ３００で毎秒１５０回、そのマシンオペレーションコード１５０内でのその相対位置を調整する。
【０２２３】
それから、ＭＬＡの時間が肝要なリンクＨｚ１　ステップ２５７５の第２インスタンスは、ロードされているプログラムが使用するには大きくなりすぎないように、その他のシステムが、制御コンピュータのＣＰＵ活用を概算し、Ｈｚ１サイクルで使用可能な遊休時間を決定できるようにするために有効なデータを収集するために実行する。
【０２２４】
このステップに続いて、人間タッチパネルインタフェース内に常駐した任意の値変更は、Ｈｚ１ステップ２６０８が実行しなかったのであれば（つまり、パートナーが機能していないならば）ＰＯＳＴＬＩＮＫ　Ｈｚ１ステップ２５３０で制御コンピュータの入力バッファに組み込まれる。
【０２２５】
それから、ＡＩＣＯＰＹ　Ｈｚ１ステップ２５２８は、制御コンピュータ１０ａ，ｂが、積極的に冗長なモードで制御プログラムを同時に実行していない場合には、デジタル入力アービトレーションおよびアナログ入力アービトレーションからの出力の実行を処理するために、ある特定の制御コンピュータ内でのタスクＥまたはタスクＦの存在を条件として実行する。
【０２２６】
ステップ前進Ｈｚ１ステップ２５３１は、図５５から図５９に関してさらに説明されるように，このＨｚ１パスの全てのＳＥＱＵＥＮＣＥＳに関する全てのプロセスニットステップを処理するために実行する。
【０２２７】
プロセス制御データ書込みルーチンは、Ａｌｌｂｅｒｙ，Ｊｒ．らに対する「対応するデータセットを時間調整する機能を有するインテリジェントプロセス制御通信システムおよび方法」と題される１９９６年５月２１日に発行された米国特許番号第５，５１９，６０３号、ｄｅ  Ｂｒｕｉｊｉｎ，Ｒｏｎｎｙ  Ｐ．らに対する「新規無作為番号を使用する通信時間期間満了前に第１コンピュータと第２コンピュータ間で時間が制限された通信を確立し直すための安全な通信システム」と題される、１９９５年６月２７日に発行された米国特許番号第５，４２８，７４５号、ｄｅ  Ｂｒｕｉｊｉｎ、Ｒｏｎｎｙ  Ｐ．らに対する「コマンド内で特定される変数と関連付けられるイネーブルインジケータのステータスをチェックすることにより制御コンピュータにコマンドを伝送するかどうかを決定するためのシステムおよび方法」と題される、１９９６年１０月１日に発行された米国特許第５，５６１，７７０号、Ｓｅｄｅｒｌｕｎｄ、Ｅｄｗａｒｄ  Ｒ．らに対する「制御コンピュータ用のステルスインタフェース」と題される、１９９６年１０月２２日に発行された米国特許第５，５６８，６１５号、およびｖａｎ  Ｗｅｅｌｅ、Ｌｅｏｎａｒｄｕｓ  Ａ．らに対する「プロセス制御システムを製造するためのオペレータステーション」と題される、１９９７年５月２０日に発行された米国特許第５，６３１，８２５号の記述に関してＭＤＷ  ＰＲＯＣＥＳＳＯＲ  Ｈｚ１ステップ２５５２で実行する。米国特許番号第５，５６８，６１５号第１７段、２５行目から４２行目で記述されている一意の識別子に関して、好ましい実施形態においては、データ書込みメッセージ（ＭＤＷ）に関するバージョン識別子が、フォックス（Ｆｏｘ）制御コンピュータおよびドッグ（Ｄｏｇ）制御コンピュータによって別個に評価される。
【０２２８】
ＭＳＩとは、好ましい実施形態において、ＭＳＩ  Ｈｚ１ステップ２５３４のマシンオペレーションコードで実行されるロジックの結果を示すために駆動される液晶英数字変数表示装置一式だけではなく、ＭＣＵタッチパッドとＳＣＵタッチパッドの両方を保持する物理的なパネルである、「ＭＣＵ」と「ＳＣＵ」「インタフェース」パネルの略語である。ＭＣＵ  Ｈｚ１ステップ２５３２、ＭＳＩ  Ｈｚ１ステップ２５３４、およびＳＣＵ  Ｈｚ１ステップ２５３６は、ヒューマングラフィックインタフェースに値を動かし、オペレータに英数字形式でデータを提示するために、および次のＨｚ１サイクルで使用するための一時バッファで確立されていたあらゆる値を獲得するためにも実行する。この点で、２種類の実際の入力タッチパッドが照会される（ＭＳＩは、記述されている実施形態では、Ｃａｎマザーボードあたり、２つのＳＣＵタッチパッドインタフェース、１つのＭＣＵタッチパッドインタフェースおよび１０の液晶値表示装置をサポートする）。第１の型のタッチパッド（本明細書中、マスタ制御装置の略語として「ＭＣＵ」とも呼ばれている）はプロセス制御機械のデータベースに（入力バッファを介して）一般的アインタフェースを提供し、第２ＳＣＵタッチパッド型インタフェース領域は、本明細書中の他の部分で記述されているＳＥＱＵＥＮＣＥオブジェクトの属性に特殊である数多くの入力ボタンを有する。ＳＥＱＵＥＮＣＥオブジェクトに関する特殊な入力の例は、肯定応答警告、緊急ステータス強制、停止ステータス強制、そのＳＥＱＵＥＮＣＥで実行中の特定のプロセスユニットステップの変更、およびそのＳＥＱＵＥＮＣＥ内の新しいレシピの入力などの入力ボタンを含むだろう。アービトレーションのある形式（Ｈｚ１ステップ２６０９ａと２６０９ｂ）は、ＳＣＵタッチパッド値入力に対して実行される。ＳＣＵバッファ読取りルーチンの実行時に、たとえ１台の制御コンピュータだけが実際にＳＣＵエントリの位置を突き止めるとしても、制御コンピュータ１０ａ、ｂは、ＳＣＵ入力に関する情報を共用し、入力を処理する。フォックス／ドッグ（Ｆｏｘ／Ｄｏｇ）スイッチによって現在選択されているＭＳＩに入力されるＳＣＵデータは、Ｈｚ１ステップ２５２５で測定される信号によって確証された後に、両方の制御コンピュータによって使用される。妥当性検証が失敗すると、オペレータによって読み取られる表示装置にエラーコードが出力される。リアルタイム制御プログラムの次の部分（後述されるように、ＲＥＡＤＫＥＹ  ２５３８）は、人間が保護されている機能を活性化し、無効にするためにシステムに提供されているあらゆる打切りキーまたはハードウェアキーのステータスを読み取る。この点で、キーは特定の製造工場に関連のある責任のある監督者の管理下で保たれる（この動作に続いて、プロセスコンピュータプログラムのリアルタイムロジックがコンピュータロジックの実行によって定義された、あるいは統一した一貫性のある方法で所望される場合に、両方のコンピュータが停止に影響を及ぼすように「ＳＣＵ」（ＳＥＱＵＥＮＣＥ制御装置）タッチパッドを通して人間によって入力された可能性のあるあらゆる停止決定を仲裁する）。
【０２２９】
ＭＳＩ  Ｈｚ１ステップ２５３４の説明を続けると、ロジックは、オペレータから「ＭＳＩ」インタフェースへの入力に関する照会なしに英数字表示用に値を動かすために実行する。しかしながら、ＭＣＵ（２５３２）ステップおよびＳＣＵ（２５３６）Ｈｚ１ステップおよびＭＳＩ物理パネルに関して、動作中のプロセス制御システムの制御コンピュータ１０ａ，ｂのデータベースの中への新しい値の受入れを実行する上で、存在ビット（ｅｘｉｓｔ−ｂｉｔ）の級数が調べられる。さまざまな種類の変数に関して存在ビット（ｅｘｉｓｔ−ｂｉｔ）がある。存在ビット（ｅｘｉｓｔ−ｂｉｔ）は、その変数型に関する変数の非ゼロ値の定義を可能にする。この点において、ＳＥＱＵＥＮＣＥ存在ビット（ｅｘｉｓｔ−ｂｉｔ）は、マシンオペレーションコードに関するアプリケーションプログラム用のソースコードがコンパイルされる時点で、アプリケーションプログラミングエンジニアによって定義されるＳＥＱＵＥＮＣＥごとに提供される。同様に、アプリケーションプログラムエンジニアによって定義される各プロセスユニットステップに存在ビット（ｅｘｉｓｔ−ｂｉｔ）が与えられる。また、存在ビット（Ｅｘｉｓｔ−ｂｉｔｓ）は、制御方式で利得として定義されるアナログ一定値とデジタル一定値のために、作成される特定のタイマのために、およびその他のシステムに伝送されるそれらの値のために作成される。定義される警報は、制御コンピュータによって計算され、それによって制御コンピュータによりリアルタイムで動的に変更されるアナログ値とデジタル値がそうであるように存在ビット（ｅｘｉｓｔ−ｂｉｔｓ）を与えられる（値が動的に変更してよいが、存在ビット（ｅｘｉｓｔ  ｂｉｔｓ）リアルタイムで一定であることに注意する）。フォックス（Ｆｏｘ）コンピュータまたはドッグ（Ｄｏｇ）コンピュータのどちらかが停止されてから、再起動されたとき、アドレス指定されなければならない２台のコンピュータ内のデータベースの調整に関して問題がある。この点で、通常、動作し始めるコンピュータは、装置８４を制御するために、プロセス制御プログラムを実行していたコンピュータから動的なデータの値を受け取る。コンピュータが「オンラインになる」起動プロセス中、プロセスは、実行中のコンピュータから新しいコンピュータにデータを転送するために実行し、これが発生するために一定の時間ブロックが提供されなければならない。制御コンピュータ１０ａ，ｂ内のアービトレーションプロセスは、２台のコンピュータがおそらく調整されたデータベースを有することができない時間中に、アービトレーションのいくつかの態様を抑制するために変数が提供されない場合に（その起動時間中に）混乱する。この点で、「新パートナー」制御コンピュータ１０が、「確立された」制御コンピュータ１０から１秒変更可能動的データの値を受け取る準備ができているときに、コンピュータ制御側装置８４内で１秒間Ｈｚ１サイクルコードの実行を中断するデジタル変数が提供される。次の秒で、「確立された」コンピュータが、Ｈｚ１０コードおよびＨｚ１００コードとともに実行中のＨｚ１サイクルのその通常の動作に戻る。前記から、秒の級数が、通常のプロセス制御ロジッ��がＨｚ１ロジックを実行するために実行中ではない隣接するシーケンス内で発生することが望ましくないことが理解されなければならない。その結果、該１秒内に、「確立された」動作中の制御側コンピュータの時間が肝要なデータを、オンラインになる新しいコンピュータにリンクするのに十分な時間がない場合に、オンラインになる新しいコンピュータが停止し、この制御コンピュータをＨｚ１サイクルに再起動することは、６０秒間禁止され、阻止される。この即座の再起動に対する制限は、装置８４を制御している制御コンピュータの中に導入される実際の中断間隔の数を最小限に抑えるために課される。
【０２３０】
図３３Ａおよび図３３Ｂは、ＳＣＵ  Ｈｚ１ステップ２５３６でＳＣＵに制御コンピュータ１０を接続するための方法論で追加の詳細を示す。この点で、ステップ４２０１と４２０２は、変数ＵＳＴＥＰおよび変数ＬＳＴＥＰも示す。これらの２つの変数は、それぞれ「ステップアドレス上限」と「ステップアドレス加減」を指す。ステップ４２０３では、変数ＳＴＥＰＣＰに対する参照は、制御コンピュータによって特定の瞬間に定義されたプロセスユニットステップから、オペレータによって所望される新しいプロセスユニットステップへの、アクティブなプロセスユニットステップのオペレータによる変更を規制する制御コンピュータのデータベース内の変数である「ステップ変更許可」を指す。
【０２３１】
メソッドステップ４２０２では、「優先順位」に対する注釈中の参照は、部分的にＪＳＴＥＰ関数呼出し（切り詰められた停止オブジェクト型に対する参照）に対してである。ＪＳＴＥＰ関数呼出しは、さらに警報種別またはオペレータ入力によって定義されるように、一定の緊急ステータスインジケータに関して条件付きでアクティブステータスを与えられる。アクティブＪＳＴＥＰ関数呼出しステータスの定義は、「通常の」動作よりリスクが少ないと考えられる稼動状態を定義する上で使用されるプロセスユニットステップに対する（またはのための）装置８４の動的な状態の修正を開始するために、ＳＥＱＵＥＮＣＥで任意のプロセスユニットステップ保持ステータスを無効にする。この点で、装置８４の動的かつ包括的なステータスは、動的な流体の完全な速やかな停止が最も安全な方法ではない緊急状況もあるが、通常の動作を中断できないことを考えると、むしろ運転の暫定的にリスクが削減された状態（例えば、制限がない場合、制御された冷却およびシステム内での流体の流れの速度の制御された減速）が装置８４の動作で最良の安全性を達成する上で好ましいアプローチを最適に定義するほどである可能性がある。ＪＳＴＥＰ関数呼出しによって容易にされるアプローチを容易に理解する上での隠喩は、飛行中の大きな機体の振動を経験した航空機に関してである。このような状況での好ましい補正処置は、通常、すべてのエンジン動作の速やかな停止ではなく、むしろ機体にかかる応力がいくぶん緩和され、制御された負荷が達成されるように、エンジン負荷を適度なレベルまで削減することである。したがって、実際には、「切り詰められた」（つまり「抑制された」、「制限された」および「限定された」）航空機の稼動停止が達成されている。同様に、「切り詰められた」（つまり「抑制された」、「制限された」、および「限定された」）制御下にある装置８４の稼動停止は、ＴＲＵＥ（真）とアサートされたとき、およびＨｚ１、Ｈｚ１０およびＨｚ１００実行中のアプリケーションプログラムがＪＳＴＥＰ関数呼び出しに関してプロセスユニットステップへの呼応する移動にコンピュータによって実行されるロジックを提供するときに、ＪＳＴＥＰ関数呼出しに応えて制御コンピュータ１０によって達成される。したがって、ＪＳＴＥＰ関数呼出しは、ＳＥＱＵＥＮＣＥの属性およびデータロジックオブジェクトであり、装置８４が制御コンピュータ１０によって制御される特徴付けられた稼動方法で切りつけられた停止修正を開始するために活用される。それ自体として、ＪＳＴＥＰ関数呼出しは、切り詰められた停止ステータスプロセス制御オブジェクトを構成する。多くのレベルの停止命令を管理する上で、本発明は、複数の（つまり、５つの）優先順位レベルをサポートする優先順位属性パラメータを有する切り詰められた停止ステータスプロセス制御オブジェクトに備える。
【０２３２】
図１９のＨｚ１サイクルを続行すると、ＲＥＡＤＫＥＹ  Ｈｚ１ステップ２５３８は、ハードウェア打切りスイッチのステータス、（どのパートナーの値がそのＣａｎのためにＭＳＩ／ＭＣＵ／ＳＣＵインタフェースに表示されるのかを定義する）ＭＳＩパネル用のフォックス（Ｆｏｘ）／ドッグ（Ｄｏｇ）選択スイッチの位置、および（一定の変数を修正するために使用される）ＭＣＵキーを評価するためにロジックを実行する。
【０２３３】
ＡＤＣＣＨＫ  Ｈｚ１ステップ２５４０は、コンピュータ停止を始める局所的に生成された診断の動作を調整するために実行する。
【０２３４】
ＲＨＭ  Ｈｚ１ステップ２５４２では、リモートフィールドユニット３１４ａ，ｂで計算された診断に関するデータのステータスが、プロセス情報システムからのデータ要求を処理するために獲得される。
【０２３５】
ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＳＥＣＴＩＯＮ（通信セクション）Ｈｚ１ステップ２５４４では、他の制御コンピュータに対する高い優先順位の通信が、Ｈｚ１ステップ２５０８での伝達のために作られる。
【０２３６】
それから、条件付きのＨｚ１バイパスステップ２５４５は、新しいパートナーが、基本的な調整（つまり、リアルタイムで緩やかな同期）を容易にするために、タスクＤまたはＢ入力を実現しているときに起動動作で使用するために実行する。このルーチンの目的とは、必要な場合に、実行中の（タスクＥまたはＦ）コンピュータと起動コンピュータを調整するために追加の時間量を提供することである。調整されたデータの転送が、このルーチンが実行するときまでに完了しなかった場合には、Ｈｚ１ステップ２５４６と２５４８間の空間に関するコードの実行は、実行中のコンピュータ内で１秒間スキップされる。当座の間に使用されただろう時間は、調整されたデータの新しいパートナーへの転送のために使用できる。
【０２３７】
それから、第３インスタンスのＭＬＡの時間が肝要なリンクＨｚ１ステップ２５７５は、ロードされるプログラムが大きくなりすぎないように、その他のシステムが、制御コンピュータのＣＰＵ活用を概算し、Ｈｚ１サイクルの使用可能な遊休時間を求めることができるようにするために有効なデータを収集するために実行する。
【０２３８】
この点で、リアルタイムプロセスコンピュータコードは、ＳＴＡＲＴ  ＳＥＱＵＥＮＣＥ  Ｈｚ１ステップ２５４６で開始するシーケンスのそれぞれに関係するすべてのコードを実行する。この点では、各ＳＥＱＵＥＮＣＥは、通常、実行されるコードの４つのサブセクションを有する。コードの第１サブセクションは、その特定のＳＥＱＵＥＮＣＥに適切である可能性があるあらゆる特殊な計算に関係する。各ＳＥＱＵＥＮＣＥのコードの第２サブセクションは、そのＳＥＱＵＥＮＣＥの警報の定義である。コードの第３サブセクションは、プロセスユニットステップ終了ロジックおよびＳＥＱＵＥＮＣＥのプロセスユニットステップ定義ロジックの実行に向けられている。コードの最後のサブセクションは、その特定のＳＥＱＵＥＮＣＥの出力の決定に向けられ、２つのｓｕｂｐｉｅｃｅｓで進行する。第１ｓｕｂｐｉｅｃｅは、そのＳＥＱＵＥＮＣＥに関連しているすべてのデジタル出力の定義に向けられ、第２ｓｕｂｐｉｅｃｅは、その特定のＳＥＱＵＥＮＣＥに関連するアナログ出力に向けられる。ＳＥＱＵＥＮＣＥロジックの実行は、通常、Ｈｚ実行で最大の単一時間片であり、それが装置に対する報告責任のある、信頼できる管理に関連する制御エンジニアによって本質的に書き込まれる被制御側装置８４の特定のインスタンスの特殊なロジックを実行する。
【０２３９】
ＥＮＤ  ＳＥＱＵＥＮＣＥ（シーケンス終了）里程標２５４８で示されるようなすべてのＳＥＱＵＥＮＣＥロジックの実行の最後で、第４インスタンスのＭＬＡの時間が肝要なリンクＨｚ１ステップ２５７５は、それから、ロードされるプログラムが使用するために大きくなりすぎないように、その他のシステムが制御コンピュータのＣＰＵ活用を概算し、Ｈｚ１サイクルの使用可能な遊休時間を求めることができるようにするために有効なデータを収集するために実行する。
【０２４０】
それから、ＡＤＩＡＧステータスＨｚ１ステップ２５４９は、アプリケーションプログラムでオプションの参照のために変数にステータスデータを記憶するために１６ビット形式のアナログ値で実行する。
【０２４１】
ＳＧＣＯＰＹ  Ｈｚ１ステップ２５５０Ａは、次に、Ｃｌｅｍｅｎｔ特許に記述されているグラフィックインタフェースに通信を提供するために実行する。図３４Ａ１から図３４Ａ３および図３４Ｂから図３４Ｅは、ＳＧＣＯＰＹ  Ｈｚ１ステップ２５５０Ａで実行される方法の中で追加の詳細を提示する。この点で、「図３４」は、図３４Ａ１から図３４Ａ３、および図３４Ｂから図３４Ｅを１つの統一された方法として表す。「図３４」を説明する際に、「ＳＧ」に対する参照は、例えば、メソッドステップ４４０１で注記されるように、Ｊｏｈｎ  Ｌ．Ｃｌｅｍｅｎｔに対する、１９９８年３月１０日に発行され、「プログラマブルグラフィックパネル（Ｐｒｏｇｒａｍｍａｂｌｅ  ｇｒａｐｈｉｃｓ  ｐａｎｅｌ）」と題される米国特許番号第５，７２６，６６８号（Ｃｌｅｍｅｎｔ）に記述されているように、シリアルグラフィックシステムの概念に対してである。メソッドステップ４４０２でのＣ−ＲＥＧに対する参照は、Ｄレジスタを参照するＤ−ＲＥＧに対する参照もあるメソッドステップ４４０３でも実行されるように、Ｃレジスタに対してである。これらのレジスタは、図２１Ａと図２１Ｂの図面要素１０４と１０６として明細書中に示されている。同様にして、ステップ４４０６では、参照は、図２１Ａと図２１Ｂの要素２７１３に図示されているようにＥレジスタのＥ−ＲＥＧに対してなされる。および、メソッドステップ４４０５では、Ｘ−ＲＥＧに対する参照は、図２１Ａと図２１Ｂの要素２７１２に図示されるようにＸレジスタに対してである。ステップ４４０８でのＣＣフォーマットに対する参照は、変数ＡＤＩＡＧ、つまりシリアルグラフィックシステムから定期的に受信される３６ビット変数を特徴付ける上で、制御コンピュータのデータベースに適切である制御コンピュータフォーマットに対する参照である。
【０２４２】
ＳＧステータスＨｚ１ステップ２５５０Ｂは、シリアルグラフィックパネル上でグラフィックバルブ動作を処理するために実行する。
【０２４３】
ＭＴＨＴＳＴ  Ｈｚ１ステップ２５５４、ＨＷ  ＤＩＡＧＮＯＳＴＩＣＳ  Ｈｚ１ステップ２５５６、ＲＥＡＬ−ＴＩＭＥ  ＣＳＵＭ  Ｈｚ１ステップ２５５７、およびＷＤＳＴＡＴＵＳ  Ｈｚ１ステップ２５５９は、（ａ）電力レベルおよび基準電圧が測定され、許容基準値に比較され、（ｂ）内部試験が、ＣＰＵ１２が、システム内のロジック回路および算術回路の適切な実行を確認するために実行するシグニチャルーチンからの予想可能な結果を作成していることを保証するために実行する、個々の制御コンピュータ１０ａ，ｂに関する診断試験および健康試験に向けられる。ＨＷ  ＤＩＡＧＮＯＳＴＩＣＳ  Ｈｚ１ステップ２５５６を実現する上で、ウォッチドッグ６０３は、図３５に示されている。この点で、ステップ４５０１でのように、ＷＤはウォッチドッグ６０３を参照する。ステップ４５０１では、予想通りウォッチドッグ６０３内で毎秒交代し、ＣＰＵ１２へデータバス１８を介して伝達される「鼓動」信号も参照される。ステップ４５０１では、ウォッチドッグ６０３からのこの予想可能な信号のデータロジックな挨拶がＣＰＵ１２で評価される。ステップ４５０２では、ウォッチドッグ６０３タイムアウトフラグは、本明細書で前述されたように、データメモリ回路構成要素１０９９でラッチされたエラーフラグと同じである。コンピュータ内で実行中の制御プログラムマシンオペレーションコードが、リアルタイムの最近の瞬間に決定されたＣＲＣとのロードの時点で、ロジックと関連するＣＲＣ（サイクリック冗長性検査法）のクロスチェックを使用することによってコンピュータ内にロードされたプログラムと比較されるので、ＲＥＡＬ−ＴＩＭＥ  ＣＳＵＭは、少なくとも約３時間ごとにＣＲＣを再確認する。
【０２４４】
ＤＯＯＵＴ  Ｈｚ１ステップ２５５８およびＡＯＯＵＴ  Ｈｚ１ステップ２５６０では、デジタル出力が、制御コンピュータに関連するフィールドインタフェースハードウェアに対して生成され、アナログ出力信号が関連するアナログ出力処理ハードウェアを介してフィールドデバイスに出力される。
【０２４５】
ＢＵＬＢ  Ｈｚ１ステップ２５６２のためのルーチンは、プロセス制御システムでのさまざまなデータ値のステータスをオペレータに対して描くために使用される電球を活動化および非活動化するために実行する。
【０２４６】
ＰＲＯＧＬＮＫ  Ｈｚ１ステップ２５６４は、本明細書中でさらに参照されるように、タスクＡまたはタスクＣのどちらかと関連付けられる活動の実現に向けられるロジックを実行する。
【０２４７】
それから、診断要約ルーチンは、アプリケーションプログラム内でのオプションのアクセスのために重要な個別デジタル（真または偽）基準値に、システムの一般的な動作に関する診断データを簡略化するために個々のビットデータ上のＤＤＩＡＧ  Ｈｚ１ステップ２５６６で実行する。
【０２４８】
リアルタイム制御ロジックのＨＺ−ＩＮＦＩＮＩＴＹ  Ｈｚ１ステップ２５７０は、任意の特定の１秒内で完全に達成される必要はないが、リアルタイムプロセス制御ロジックの１秒内のある特定のＨｚ１サイクルの実行で使用可能な時間内に実行する一般的な通信を実行する。
【０２４９】
ＭＩＦＤＲＶ  Ｈｚ１ステップ２５６８は、データを同化し、米国特許番号第５，５１９，６０３号、第５，４２８，７４５号、第５，５６１，７７０号、第５，５６８，６１５号、および第５，６３１，８２５号に記述されているプロセス制御通信インタフェースとのデータの交換を可能にするためにＨＺ−ＩＮＦＩＮＩＴＹ  Ｈｚ１ステップ２５７０で実行するための第１ルーチンである。また、このルーチンは、各Ｈｚ１０サイクルで実行する。
【０２５０】
これに続いて、ＥＮＤＳＳ  Ｈｚ１ステップ２５７２の最後のルーチンが、米国特許番号第５，５１９，６０３号、第５，４２８，７４５号、第５，５６１，７７０号、第５，５６８，６１５号、および第５，６３１，８２５号に記述されているようにプロセス制御通信インタフェースをストローブするために実行し、Ｈｚ１サイクルの最後をインタフェースに信号で知らせる。
【０２５１】
それから、コンピュータは、リアルタイムの次の秒の始まりおよびＢＥＧＩＮＮＩＮＧ  ＯＦ  ＳＥＣＯＮＤ  Ｈｚ１ステップ２５０２が指定される次のＨｚ１サイクルの開始を待機するために（Ｈｚ１０サイクルおよびＨｚ１００サイクルの実行を続行する一方で）ＨＺ−ＩＮＦＩＮＩＴＹ  Ｈｚ１ステップ２５７０の動作でＨｚ１実行を終了する。
【０２５２】
制御コンピュータ内のＨｚ１０またはＨｚ１００のどちらかで実行するロジックは、Ｈｚ１サイクルのロジックが実行するにつれて適切な当座の回数で間欠的に実行する。この点で、Ｈｚ１０ロジックは、本明細書中にさらに記述されるのを除き、信号を読み取り、Ｈｚ１０またはＨｚ１００時間フレーム内で発生するアービトレーションなしに、導出されたロジック信号および出力信号を処理するために信号上で実行する。
【０２５３】
安全性態様に関するＨｚ１０時間フレームロジックは、図３６Ａ、図３６Ｂおよび図３７に描かれている。図３６Ａと図３６Ｂは、ＤＩＲＥＤ（デジタル入力読取り）機能性に関係するロジックを記述し、図３７は、ＡＩＲＥＤ（アナログ入力読取り）に関して実行するロジックである。ＭＩＦＤＲＶ  Ｈｚ１ステップ２５６８のロジックも各Ｈｚ１０サイクルで実行する。ＤＩＲＥＡＤは、デジタル入力の読取り値を参照し、図３６Ａと図３６Ｂのロジックは、Ｈｚ１０またはＨｚ１００内でのデジタル入力の監視および読取りを可能にするために制御コンピュータ内で実行する。ある特定の読取りフレーム内でデジタル入力の変更が発生すると、それは直ちにトラップされ、Ｈｚ１ロジックでの実行のために活用される。この点では、ＤＩＲＥＡＤおよびＤＩＦＲＥＡＤの使用は、デジタル入力が、それが参照され、本質的に遅延なく達成されるときに（つまり、完全な１秒のＨｚ１サイクルが完了するのを、および次のＨｚ１サイクルが開始するのを待機せずに）更新された形式でタイムリーに使用できるように、Ｈｚ１０とＨｚ１００ロジックサイクル（獲得されたデータがＨｚ１で使用されるとしても）内で発生する。この点で、デジタル入力変更に対する応答は、装置８４内で変更を達成するための制御コンピュータ１０ａ，ｂの急速な回答が証明された安全性停止システムに必要な時間フレーム内で影響を及ぼされるようにそれが開始された同じ秒の内に発生することができる。図３６Ａと図３６Ｂは、デジタル入力に関する機能性を実現するためのロジックを示し、図３７は、アナログ入力のために類似した機能性を実現するためのロジックを示す。ＤＩＨ値は、ＤＩＲＥＡＤがデジタル入力のためにアプリケーションプログラム内に定義されている場合は、コンパイル変換器によって真にセットされる。これが、このように宣言されたデジタル入力に関するアービトレーションおよび診断報告を抑制する。偽にセットされるＤＩＨは、アービトレーションロジックによって獲得されたデジタル入力値の読取りの前に、（例えば）Ｈｚ１０内で獲得された最新のデジタル入力に関して、毎秒一度、デジタル入力値に関するアービトレーションおよび診断を実現する。アナログ入力は、ステップ４７０１、４７０２、および４７０３に示されているように、ＡＩＦ変数に記憶される。ＡＩＦは、「アナログ入力フィールド」値を表す。ステップ４７０４で参照されるＡＩＶは、ちょうどデジタル化されたところであるが、必ずしも尺度係数値まで縮小されていない未処理電圧として「アナログ入力電圧」に関係する（この点では、制御コンピュータ１０ａ、１０ｂのデータベース内のアナログ変数は、スパンおよび通信で使用するために関連する尺度係数とともに固定点フォーマットで記憶されることが注記されなければならない）。図３６Ａと図３６Ｂでは、ステップ４６０１で、デジタル入力の値の前述された変更が検知、照会される。ルーチンの意図は、それが、値が変更した後に、Ｈｚ１サイクルで可能な限り素早く使用されるように、デジタル入力のデータベース内の値を更新するためのシステムを確立することである。しかしながら、この点において、Ｈｚ１サイクルは毎秒一度だけ実行するため、このよ���にして獲得されているデジタル入力は、Ｈｚ１０時間フレーム内で実際には出力を達成していないが、それが獲得される時間の１秒以内で達成されている可能性がある。これは、デジタル入力が毎秒一度だけ照会されてから、その秒の内に実行しているロジックで使用される前のケースより秀逸である。その点では、デジタル入力が毎秒一度だけ獲得される場合、２秒という時間期間が、（ａ）デジタル入力を定義する状態が、制御コンピュータによる制御下でフィールド装置内で実際に変更したときと、（ｂ）そのデジタル入力が制御コンピュータから出力を達成するときの間で生じることが可能である（これは、装置状態の変更がある特定のデジタル入力のための読取り瞬間の直後に発生するときに、およびデジタル入力の使用が、デジタル入力読取りの直前に発生するときに起こる）。デジタル入力が毎秒１０回照会されているとき、Ｈｚ１サイクル内では、デジタル入力が獲得されたときとそれがデジタル出力に影響を及ぼしたときの間のＨｚ１サイクルで発生できるだろう最大量の時間は１秒だろう。同様にして図３７では、ＡＩＦの値を、１秒の１０分の１という期間内に装置８４に表されるように、最新の値に更新すると、それが発生した同じ秒内での制御コンピュータ１０に対するそのアナログ入力によって監視されている属性の値のその変更の使用が可能になる。アナログ入力値が毎秒一度だけ照会されていた場合には、（前の秒で読み取られたアナログ入力の直後に、装置８４内で測定されている属性に関して（ｒｅｓｐｅｃｔｉｖｅ  ｔ）変更した）アナログ入力が、（ａ）前の秒のプログラムが期限切れとなるまで、（ｂ）アナログ入力が次に続く秒で照会されるまで、および（ｃ）アナログ入力に関するアナログ出力が後続の秒でも決定されるまで出力に影響を及ぼさないだろう。図３６Ａと図３６Ｂでは、メソッドステップ４６０２での「ｑｕｅ」に対する参照は、図１２の中の図面要素１０８で示されているようにＱメモリ１０８からの読取りに対する参照である。同様にして、図３７では、メソッドステップ４７０５内のＱリストへのアクセスは、Ｑメモリおよび図１２の要素１０８にあるＱメモリ１０８に記憶されている情報も指す。図１２のＱメモリ１０８は、図３ＡのＱ＆ＣメモリおよびＱ＆Ｃシャドウメモリ３６に含まれる。
【０２５４】
タスクＢは、制御コンピュータ１０ａ，ｂの特殊な実行状態を定義する。制御コンピュータがタスクＢにあるとき、すべての出力がゼロに設定されることを除き、それはリアルタイムプロセス制御プログラムを実行中である（しかしながら、出力打切り信号は完全尺度まで設定される）。この実行状態は、新しいプログラムロードの機能上の完全性を保証するために、運転人員に追加手段を与えることによって、新しいプロセス制御プログラムのインスタンスの起動およびチェックアウトを補助する。タスクＢでは、デジタル出力とアナログ出力が計算されるが、タスクＢ制御コンピュータは、すべての時間定義域内のフィールドデバイスに、それらの出力に関するゼロ電圧を出力する。タスクＢ制御コンピュータ内での打切り出力は、タスクＢを実行中の制御コンピュータが、被制御側装置で実行されている製造プロセスを「シャットダウンする」のを妨げる目的で地上経路を提供するために完全尺度に設定される。タスクＢがタスク４からのオペレータにより開始されると、制御コンピュータは起動診断を行い、タスクＣを実行するプロセスに移行し、タスクＢを実行する。タスクＢ制御コンピュータがタスクＤにもたらされると、それは再びタスクＣは通らないが、直接的にタスクＤに移動する。タスクＢにある間、出力信号試験は実行されない（つまり、ＤＯ試験も、ＡＯ試験も、どちらかの制御コンピュータ内のモニタルーチンによって実行されない）。タスクＦ制御コンピュータが、仲間の制御コンピュータがタスクＢにある間に診断を失敗しても、タスクＦ制御コンピュータは停止しない。ＳＩＬ／ＳＩＰモードでは、図１３に関して前述されたように、ＤＯデッドマンを介したシステム全体の故障の場合、安全性デジタル出力がフェイルセーフする。１つの制御コンピュータ１０がタスクＢにある場合、ウォッチドッグ６０３は仲間のタスクＦ制御コンピュータを、単独制御コンピュータとして処理する（つまり、ウォッチドッグ６０３は、タスクＦ制御コンピュータを停止しない）。タスクＢ制御コンピュータのためのプロセスユニットステップアービトレーションは、それがあたかもタスクＤ制御コンピュータであるかのように、同じである。ＡＩアービトレーションおよびＤＩアービトレーションは、左制御コンピュータから右制御コンピュータに基づいているため、新しいプログラムロードは右制御コンピュータで最良に実行される。
【０２５５】
ＡＩアービトレーションおよびＤＩアービトレーションの説明においては、追加の繰り返された参照が、Ｂａｃａ  Ｊｒ．らに対する米国特許番号第５，５８３，７５７号で記述されているアナログ入力信号アービトレーション方法論に対する修正に対して（本明細書に前述されたように）注記される。その特許に開示されている情報に対するこれらの修正は、本明細書の図１５、図１６、図１７および図１８、およびそれらの図に関係する説明に概略されている。この点では、図１５および図１８は、制御コンピュータがタスクＢ）にあるときに、入力信号アービトレーションでの一定の条件付きロジックで、米国特許番号第５，５８３，７５７号の図８（ｃ）と図８（ｈ）に対する修正を提示する。
【０２５６】
好ましい実施形態では、プロセス制御データベース内のその他の種別の変数だけではなく各入出力（Ｉ／Ｏ）信号も、アプリケーションソースコード生成の時間中に、プログラミングエンジニアによって定義される関連する変更許可値を有する。変更許可値は、ヒューマンインターフェースタッチパッドからの、実行中のリアルタイムプロセス制御プログラムのデータベース内のある特定の変数に対する修正を可能にするか、禁止するかのどちらかである。Ｉ／Ｏ信号のためのこの特徴を無効にする必要があるときがあり、その結果、このようなときのために、ソフトウェア打切り物理キーが提供される。しかしながら、好ましい実施形態においては、プロセスユニットステップ移動のための変更許可は、キーの使用によって無効にされないことが注記されなければならない。運転手順の方法および修練として、ソフトウェア打切り物理キーは、報告責任のある個人の管理化にしっかりと維持される。ソフトウェア打切り物理キーが回されると、すべてのＩ／Ｏ変更許可データ値が１という値に設定される。これにより、その値が、保護されていないものだけではなく、通常はオペレータによって使用されるインタフェースからの変更を禁止するルーチンによって保護されているすべての入力信号と出力信号を手動にすることができる。ソフトウェア打切り物理キーが復元されるとすぐに、変更許可データ値はコンパイルされている通りに復元される。ソフトウェア打切り物理キーは、プログラムされている保護の安全性無効が、ＭＣＵから、あるいはオペレータステーション５２および米国特許番号第５，５１９，６０３号、第５，４２８，７４５号、第５，５６１，７７０号、第５，５６８，６１５号および第５，６３１，８２５号で記述されている、関連するＨＳＩのどちらかから実現されるときに使用される。使用されているとき、ソフトウェア打切り物理キーは、システム内の両方の制御コンピュータ１０ａ，ｂに適用する制御プログラム内の呼出しを起動する。ロジックは、ＳＥＱＵＥＮＣＥが、ＭＣＵまたはＳＣＵのどちらかから手動で一定のプロセスユニットステップの中に入れられるのを防ぐために、プロセスユニットステップ変更許可も与え、これらのプロセスユニットステップ変更許可は、アプリケーションプログラム作成中もプログラミングエンジニアによって定義される。
【０２５７】
打切り信号（ＤＡ）は、アプリケーションプログラムから引き出されるように、実行側制御プログラム内で明示的に計算される（打切り信号は、無効にするロジックおよび回路構成要素が条件付きで特定の出力信号電圧を接地に短絡させるために所望される一定の状況を処理するためにプログラミングエンジニアによって個別にかつ明確に定義される）。打切り信号は、接地へのある特定の出力信号を開くために結線されているスイッチに対するある種のデジタル出力信号として表され、それによって、活性化時、ＤＡは信号に関連付けられるフィールドデバイスから電気的なエネルギーを取り除く開放回路を確立し、フィールドデバイスに、計算されたときにその設計された落下位置に押しやる。しかし、この点では、打切り信号は、データベースが打切り信号に「０」という値または「偽」をを有するときに、ゼロではない高い電圧として好ましい実施形態の中で表現され、打切り信号は、データベースが打ち切り信号に「１」という値または「真」を有するときにゼロ電圧として好ましい実施形態の中で表現される。および電圧は、値の計算直後にスイッチに設定される。打切り信号のこの処理は、データベースが「１」または「真」という値を有するときに、好ましい実施形態において、ゼロ以外の電圧として、あるいはデータベースが「０」または「偽」という値を有するときに、ゼロ電圧として表現されるその他のデジタル出力のための処理とは異なる。電圧は、ＤＯＯＵＴ  Ｈｚ１ステップ２５５８でスイッチに設定される。第２ハードウェア打ち切りキーは、（プログラムされているＤＡ安全動作を無効とするために）ＤＡによって保護されているすべての接続されている出力に接地経路を与えることによって、打切り信号を無効にするために提供される。ソフトウェア打切りキーと類似した方法で、好ましい実施形態の使用では、ハードウェア打切り物理キーは、説明責任のある個人の管理下でしっかりと保持される。好ましい実施形態において、アナログ出力信号ルーチンとデジタル出力信号ルーチン、および回路構成要素は、存在していない（コンパイル変換器によって特定されなかった）それらのチャネルに対してゼロ信号を出力するが、存在している（およびコンパイル変換器が存在ビットを確立したものに対して）基板上にある。さらに、好ましい実施形態においては、打切り信号よびその関連するデジタル出力は、Ｈｚ１、Ｈｚ１０、またはＨｚ１００のどれかで計算、駆動される。
【０２５８】
許可されているソースコードプログラムだけに関係するマシンオペレーションコードが、好ましい実施形態で使用される制御コンピュータ内で起動されることを保証するためにチェックが提供される。制御コンピュータは、特定の冗長に配備された制御コンピュータ組に関する特殊な特定するシグニチャビットパターンを提供するように構成されているトグルスイッチのセットを具備する。スイッチによって定義されるデータ値が、制御エンジニアによって書かれるアプリケーションプログラムのインスタンスに指定されてから、ある特定のデータロケーションにコンパイル変換器によって定義される仲間の値と一致しない場合、制御コンピュータ１０は、タスクＢまたはタスクＤ（および、暗示的には、タスクＥまたはタスクＦ）オペレーションモードの完全な実行を開始することができない。制御コンピュータによって実現される制御プログラムは、アプリケーションプログラムのインスタンスに指定される仲間の値が、起動時に、スイッチによって定義されたデータ値に一致することを検証する。これらの値が一致しない場合、制御コンピュータは、タスク４を実行し、ロードプロセスで使用されているインタフェースに対するエラーコードを表示する。
【０２５９】
プロセス制御システムおよび安全停止システムを１つの統合され、結合されたシステムとして提供する上で、結合されたシステムの（１）安全ドメインおよび結合されたシステムの態様に関する関数、（２）結合されたシステムの安全ドメインおよび態様に関係する関数と一般的なプロセス制御ドメインに関係する関数の間に、（ａ）予想可能な動作を達成し、（ｂ）有効なロジック独立性を提供する機能、および結合されたシステムの態様が、システムの全体的なロジックでの技法のセットの実現を通して達成される。この点では、セット内で異なる個々の技法を集合的に実行することにより、全体としてのシステムの許容性および有用性を確認する上で必要な正確さが達成されるが、個々の技法は、頻繁に、セット内のその他の技法とは相対的に無関係に実行し、多くの場合、それぞれが個々の技法によって処理されている全体的なシステムの態様（複数の場合もある）において許容できる予想性を可能にするほど十分な頻度で実行する限り、任意の順序で実行してよい。古典的なブール回路構成要素の形で表されるようなロジック回路で達成される技法もあれば、リアルタイムＣＰＵ１２の実行を通して成し遂げられるロジックで達成される技法もあり、アプリケーションプログラムソースコードのインスタンスを制御コンピュータによる実行のためにマシンオペレーションコードのそれぞれのインスタンスに変換するコンパイル変換器の機能を通して成し遂げられたロジックを用いて達成される技法もある。説明の目的のために、本明細書中で、技法は、（１）タスクＤ、タスクＥ、タスクＦ（または条件付きで、タスクＢ）が起動されると必ず各制御コンピュータによって実行される起動診断、（２）（ａ）起動診断によって確証された状況が許容できるステータスで続行する旨、および（ｂ）入力信号と出力信号が使用するために有効である旨、確認することに向けられる、タスクＤ、タスクＥ、タスクＦ（または条件付きでタスクＢ）が、起動が完了した後にリアルタイムでＨｚ１サイクルを実行している間に各制御コンピュータによって実行される実行時診断（３）シャドウメモリと定期的なメモリ値の比較、（４）積極的に冗長な制御を実行するために機能している２つの制御コンピュータ１０ａ、ｂの間でのプロセスユニットステップのアービトレーションおよび調整、（５）プログラミングエンジニアによるし様のために地押されていたアプリケーションプログラムマシンオペレーションコードが、使用されているアプリケーションプログラムマシンオペレーションコードであることを確認することに向けられる、タスクＤ、タスクＥ、タスクＦ（または条件付きでタスクＢ）が、起動が完了した後にリアルタイムでＨｚ１サイクルを実行している間に各制御コンピュータによって実行される実行時診断、および（６）（ａ）安全ドメインと結合されたシステムの態様に関する関数と、（ｂ）結合されたシステムの一般的なプロセス制御ドメインおよび態様に関する関数の間での独立性と「必要なドメイン分離」の施行という一般的なカテゴリに編成される。
【０２６０】
読者は、スペーシングの考慮のために、再び、図３Ａから図１２で使用されている線凡例の規約が、図１３Ａ、図１３Ｂ、図２１Ａおよび図２１Ｂでは従われていないことに注意する必要がある。
【０２６１】
図２１Ａと２１Ｂは、好まれている制御コンピュータのブロックフロー図を提示し、プログラマブル電子安全性関係システムの機能上の安全性のための国際規格（ＩＥＣ６１５０８）の要件を履行するという文脈で、制御システムを使用して信頼できる、安全な動作を達成するために、証明されたシステムに関する診断方法の実行で重要な構成要素を示す。
【０２６２】
診断のサブセットは、タスクＤ、タスクＥ、タスクＦ（または条件付きでタスクＢ）をタスクＣを介して開始するというプロセスにおいて各制御コンピュータによって実行される起動診断として特定される。アプリケーションプログラムの「起動」が、それが、リアルタイムでアプリケーションプログラムの特定のインスタンスのアクティブな実行を開始する一連の動作を伴うという点で、根本的なシステムブートとは異なる起動の態様を扱うことが注意されなければならない。この点で、および図２１Ａと図２１Ｂに関して、制御コンピュータ１０ａ、ｂは以下の試験を実行し、以下の試験のどれかの不合格は、タスクＦ、タスクＥまたはタスクＤのステータスのどれかへ進む際にある特定の制御コンピュータの能力の効果的な停止を生じさせる。
【０２６３】
制御コンピュータプログラムメモリは、ＣＰＵ１２がタスクＣの間に起動されるたびにメモリコンテンツに関係するチェックサムの計算で検証される。制御コンピュータＱメモリ１０８，５９３も、ＣＰＵ１２がタスクＣの間に起動されるたびにメモリコンテンツに関係するチェックサムの計算で検証される。
【０２６４】
インストールされているとしてのＳＩＰ（安全完全性プログラム）シャドウメモリ基板の存在は、ＳＩＰデータロジック値がソースアプリケーションプログラムで宣言される場合に検証される。この点で、（実施形態が、ＳＩＰセクションを有するとして指定されていないアプリケーションプログラムから、マシンオペレーションコードを実行するためにＳＩＰ準拠していないハードウェアを使用する構成もサポートする場合に）ある実施形態でのＳＩＰアプリケーションプログラムインジケータの宣言は、ＳＩＰ準拠ハードウェアが使用中であることを確認するすべてのハードウェアのチェックを開始する。
【０２６５】
すべてのメモリの正しいロードに関係するステータスは、さらに、ＣＰＵ１２がタスクＣの間に「起動される」たびにＳＩＰロードセマフォが正しいかどうかを確かめるための試験で確認される。ＳＩＰロードセマフォロケーションは、：５５５５で初期化され、すべての完全性試験がロードアシスタント間で実行される試験に関して、それが新しいアプリケーションプログラムを制御コンピュータにロードするために合格した場合に、ネットワーク５０上のマシンオペレーションコードソースコンピュータから制御コンピュータ１０の中にアプリケーションプログラムを転送するロードアシスタントによって：ＡＡＡＡに変更される。ＬＳＩ（低速インタフェース）またはＨＳＩ（高速インタフェース）による読取りアクセスは、ロケーション値を：５５５５に修正し、ロード側システムを介した捕捉および再ロードを防ぐ。これが、制御コンピュータ内で他の特徴に準拠する方法で新しいマシンオペレーションコードをロードするための（外部システムに常駐する）証明されたロードソフトウェアの使用を強制する。
【０２６６】
コンパレータ回路９９９に従ったプログラムおよびプログラムシャドウメモリ１６コンパレータは、図９Ａと図９Ｂに関して説明されたように、ＣＰＵ１２がタスクＣの間に起動されるたびに出力に関してチェックされる。
【０２６７】
コンパレータ回路９９９に従ったデータおよびデータシャドウメモリ１４コンパレータは、図１１Ａと図１１Ｂに関して説明されたように、ＣＰＵ１２がタスクＣの間に起動されるたびに出力に関してチェックされる。
【０２６８】
コンパレータ回路９９９に従ったＱ＆ＣメモリおよびＱ＆Ｃシャドウメモリ３６コンパレータは、図１２に関して説明されたように、ＣＰＵ１２がタスクＣの間に起動されるたびに出力に関してチェックされる。Ｃ＆Ｄメモリコンパレータの出力はＤ−メモリコンパレータの出力に接続されているため、Ｄ−メモリコンパレータの失敗もこのエラーコードをトリガする。
【０２６９】
ＲＯＭＳ９０６，９１０は、ＳＩＬ動作に適切な正しいソフトウェアバージョンインジケータに関して、ＣＰＵ１２がタスクＣの間に起動されるたびに検証される。好ましい実施形態においては、ＲＯＭＳ９０６，９１０は、ＥＥＰＲＯＭ技術を使用して実現される。
【０２７０】
タスクＣで実行されるロジックは、シミュレーションステータス検証インジケータに関して照会することによって、工場プロセス制御システム内でのシミュレーションプログラムの未検証起動から保護する。
【０２７１】
一定の状況では、ＰＲＯＬＩＮＫ  Ｈｚ１ステップ２５６２の間にリンクする十分な時間がない場合には、タスクＦコンピュータは、１秒という限られた時間（１  Ｈｚ１サイクル）の装置８４の制御でＨｚ１サイクル全体を実行しない。ＦタスクコンピュータがデータをＣタスクコンピュータへデータを転送している間中、ＦタスクＣＰＵ１２はプロセスを制御しないが、アクティブデータをＣタスクのＣＰＵ１２に送信する。２回の起動試みの間の時間は、タスクＦコンピュータが前の起動試みの間にプロセス制御を中断した場合には１分未満であってはならない。
【０２７２】
制御コンピュータ１０のデータベース内のＣＰＵ  ＩＤは、制御コンピュータの意図された使用と、ロードされているアプリケーションプログラムの間の調整を保証するために同じ値に関して、物理的なスイッチ設定値に比較される。
【０２７３】
２台のプロセスコンピュータ内のＣＰＵ左／右スイッチが検証され、２つの左プロセスコンピュータまたは２つの右プロセスコンピュータが、装置８４で制御を実行しようと試みないように、反対の値に設定される。
【０２７４】
各プロセスコンピュータのアクティブリンクリストは、コンパイル変換器およびオペレーティングシステムバージョンが一致することを保証するために、その隣接するプロセスコンピュータのリンクリストにつき合わせて比較される。
【０２７５】
コンパイル変換器およびプロセスコンピュータオペレーティングシステムバージョン識別子は、アイデンティティのために比較される。
【０２７６】
ＲＯＭ（ＥＰＲＯＭ）の適切なバージョン識別子は、ロードされているアプリケーションプログラムのデータベース内でバージョン番号に突き合わせて比較する。
【０２７７】
診断の第２サブセットは、タスクＤ、タスクＥ、タスクＦ（または条件付きでタスクＢ）の動作が確立した後に、各制御コンピュータにより実行される実行時診断として特定される。この点で、および連続して図２１Ａと図２１Ｂに関して、制御コンピュータ１０ａ，ｂはそれぞれ以下の試験を実行し、以下の試験のどれかで許容できる結果を満たす上での「失敗」は、示されている動作を生じさせる。
【０２７８】
プロセッサ、インデックス割込み、およびＣＰＵサポート試験（ａ）は、主要なＣＰＵ１２レジスタ（Ａ、Ｅ、ＭＡ、Ｘバイトスワップ）およびバス（Ｂ、ＰＭ、ＰＣ、ＭＡ）の上で歩行ビット試験を実行し、（ｂ）回転するシーケンスですべての主要な命令を試験する。２台の制御コンピュータ１０ａ，ｂが積極的に冗長にプロセス制御を実行しているとき、この完全な診断は、８つのサブセット（図４２Ａと図４２Ｂを参照すること）で、ほぼ５秒毎に一度（であるが、それより頻繁ではない）という打切りの頻度で実行される。１台の制御コンピュータ１０がプロセス制御を実行しているとき、この診断は、ほぼＨｚ１（であるが、それより頻繁ではない）頻度で実行される。この診断が問題が存在すると判断すると、制御コンピュータはＨｚ１、Ｈｚ１０、およびＨｚ１００のサイクルの実行を停止し、制御コンピュータによって駆動されるすべてのデジタル出力はフェイルセーフモードに電源を切られる。
【０２７９】
以下の段落は、Ｑメモリ１０８診断の説明を提示する。
【０２８０】
Ｑメモリ１０８の代表的なチェックサムが計算されてから、アプリケーションプログラムソースコードがマシンオペレーションコードに変換された時点でコンパイル変換器によって計算される関連するチェックサムと比較される。この診断は、少なくとも４時間に１度の頻度で実行される。この診断が問題が存在すると判断すると、制御コンピュータは、そのＨｚ１、Ｈｚ１０、Ｈｚ１００のサイクルの実行を停止し、隣接システムが存在する場合は、制御コンピュータによって駆動されるすべてのデジタル出力がフェイルセーフモードに電源を切られる。
【０２８１】
以下の段落は、Ｐメモリ９０６、８０１診断の説明を提示する。
【０２８２】
代表されるＰメモリチェックサム９０６、８０１は、アプリケーションプログラムソースコードがマシンオペレーションコードに変換された際に計算され、コンパイル変換機により計算される関連チェックサムと比較される。この診断は少なくとも毎４時間に一回の頻度で実行される。この診断が問題が存在すると判断すると、制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、隣接システムが存在する場合は、制御コンピュータにより駆動されるすべてのデジタル出力はフェイルセーフモードに電源を切られる。
【０２８３】
以下の段落は、ウォッチドッグ６０３停止線診断の説明を提示する。
【０２８４】
ウォッチドッグ６０３線の失敗が監視される。制御コンピュータ１０の中のウォッチドッグ６０３は、ＣＬＫ  ＨＬＴがアサートされると、データバス１８を介してＣＰＵ１２へ通信する。毎秒、ウォッチドッグ６０３停止が試みられたかどうかを調べるために、ステータスワードが調べられる。ウォッチドッグ６０３がＣＰＵ１２を停止しようとし、ＣＰＵ１２が実行し続けると、ＣＰＵ１２がデータバス１８を介して伝達されるステータスワードを介して停止するという決定を特定するだろう。この診断は、少なくともＨｚ１という頻度で実行される。この診断が問題が存在すると判断すると、制御コンピュータ１０は、そのＨｚ１、Ｈｚ１０、およびＨｚ１００のサイクルの実行を停止し、制御コンピュータによって駆動されるすべてのデジタル出力が、フェイルセーフモードに電源を切られる。
【０２８５】
以下の段落は、自己診断診断の説明を提示する。
【０２８６】
ロジックは、リアルタイムですべての試験のシグニチャを定義することによって設定される自己試験の無事実行を監視する。リアルタイムシグニチャ値は、（許容できるステータスを定義する）定数と比較される。この診断は、少なくともＨｚ１という頻度で実行される。この診断が問題が存在すると判断すると、制御コンピュータによって駆動されるすべてのデジタル出力が、フェイルセーフモードに電源を切られる。
【０２８７】
関数選択線診断に対する以下の診断のセット（および図４３Ａと図４３Ｂに関して）では、２台の制御コンピュータ１０ａ，ｂが積極的に冗長な方法でプロセス制御を実行しているときは、診断はほぼ５秒毎に１度（であるが、それより頻繁ではない）頻度で実行される。１台の制御コンピュータがプロセス制御を実行していると、診断はほぼＨｚ１（であるが、それより頻繁ではなく）という頻度で実行される。診断が問題が存在すると判断すると、制御コンピュータはそのＨｚ１、Ｈｚ１０およびＨｚ１００のサイクルの実行を停止し、制御コンピュータによって駆動されるすべてのデジタル出力はフェイルセーフモードに電源を切られる。
【０２８８】
以下の段落は、Ｃａｎアドレスライン（５３０１、５３０６）診断の説明を提示する。
【０２８９】
各Ｃａｎマザーボードは、ＣａｎＩＤ１３０７と同じ位置に設定されるＤＩＰスイッチ１３９９をインストールさせる。スイッチ１３０７の設定値が、抵抗体ネットワークを介して電圧を発生させる。電圧は、読み取られ、制御コンピュータで実行中のロジックによって予想値と比較される。
【０２９０】
以下の段落は、Ｉ／Ｏボードアドレスライン（５３０２、５３０７）診断の説明を提示する。
【０２９１】
この試験は、それぞれのＣａｎマザーボードで１０個すべてのボードアドレスを練習し、ボードアドレスＤＡＣ１９０８で生成される電圧を読み取り、それらを予想値と比較する。
【０２９２】
以下の段落は、ＤＩボード選択デコーダ（５３０２、５３０７）診断の説明を提示する。
【０２９３】
Ｉ／Ｏボードアドレス試験を使用して、ＤＩボードセレクタデコーダ１４０５の正しい関数が検証される。この試験は、ＤＩボード選択線間で短絡も検出する。
【０２９４】
以下の段落は、Ｉ／Ｏチャネルアドレスライン（５３０３、５３０８）診断の説明を提示する。
【０２９５】
試験は、各メザニンボード６８９，６８４で１３のチャネルアドレスを練習し、チャネルアドレスＤＡＣ１５０１で生成された電圧を読み取り、それらを予想電圧と比較する。
【０２９６】
以下の段落は、５Ｖ  ＤＡＴＡＩＮコンパレータ試験診断の説明を提示する。
【０２９７】
Ｉ／Ｏチャネルアドレス試験（５３０３、５３０８）を使用すると、５Ｖ  ＤＡＴＡＩＮコンパレータ１３９９の正しい関数は、５Ｖ以下のチャネルアドレスから５Ｖを上回る第１チャネルアドレスへの移行時に、コンパレータ１３９８からの出力にシフトがないかチェックすることによって検証される。
【０２９８】
以下の段落は、Ｄ１線（５３０４、５３０９）診断の説明を提示する。
【０２９９】
この試験は、Ｄ１線とのループバック試験を実行する。Ｄ１線は、最下位デバイス選択線であり、おもにすべてのＤＯおよびグラフィックバルブを駆動するために使用される。
【０３００】
以下の段落は、Ａ／Ｄ変換器（５３０５、５３１０）診断の説明を提示する。
【０３０１】
この試験はＭＵＸ１９１２を介して機能拡張されたＤ／ＡおよびＡ／Ｄ変換器ループバック試験を実行する。ループバック試験に実行される電圧は、クロックの秒と分から引き出され、そのため、複数のデータ組み合わせがＡ／Ｄ変換器失敗を検出するために提供される旨を保証するために毎秒変化する。
【０３０２】
以下の段落は、関数選択性（５３０５、５３１０の一部）診断の説明を提示する。
【０３０３】
Ａ／Ｄ変換器試験を使用すると、関数選択線での固着障害が検出される。ＭＵＸ１９１２を可能にするための関数選択コードは、ＭＵＸ１９１０の関数選択コードに逆転される。
【０３０４】
以下の段落は、不法ＤＯアドレス診断の説明を提示する。
【０３０５】
メザニン６８４，６８９での不法ＤＯボードが処理されると、許容できるアドレス指定が、ラッチ回路１３０２によって検出される。出力はＨｚ１で読み取られる。この診断は、少なくともＨｚ１という頻度で実行される。この診断が問題が存在すると判断すると、制御コンピュータはそのＨｚ１、Ｈｚ１０およびＨｚ１００のサイクルの実行を停止し、制御コンピュータによって駆動されるすべてのデジタル出力がフェイルセーフモードに電源を切られる。
【０３０６】
以下の診断では、ＤＡフィールド短絡診断に対し、診断技法が異常の存在を定義するときは、ステータス変数は、プログラミングエンジニアが使用するための制御コンピュータのデータベース内で変更され、ある実施形態では、警報および／または印刷されたメッセージが出力され、値は自動的にその他のシステムに通信される。
【０３０７】
以下の段落は、ウォッチドッグ６０３のステータス診断の説明を提示する。
【０３０８】
ウォッチドッグ６０３が適切に実行していることを検証するために、ウォッチドッグ６０３の鼓動が「読み取られる」。この診断は、少なくともＨｚ１という頻度で実行さる。
【０３０９】
以下の段落は、リモートフィールドユニットＲＳＴＡＴの診断の説明を提示する。
【０３１０】
走査は、アナログ診断値とデジタル診断値、およびリモートフィールド装置３１４診断警報を定義するために、各リモートフィールド装置のステータス値を通して進行する。この診断は、毎分少なくとも１度という頻度で実行される。
【０３１１】
以下の段落は、シリアルグラフィックＡＤＩＡＧの診断の説明を提示する。
【０３１２】
走査は、要約デジタル診断値、障害の性質、およびシリアルグラフィック診断警報を定義するためにシリアルグラフィックシステムに関するステータス値を通って進行する。
【０３１３】
以下の段落は、このＣａｎ電力診断の説明を提示する。
【０３１４】
各Ｃａｎの左電力バー上のＣａｎ供給電圧は、マザーボード６８１，６８２で測定される。左バーは、通常、このＣａｎ電源から電力の供給を受ける。電圧が２６ボルトと３０ボルト間ではない場合にグラフィックランプが点灯する。この診断は、少なくｔもＨｚ１という頻度で実行される。
【０３１５】
以下の段落は、次のＣａｎ電力診断の説明を提示する。
【０３１６】
左バーは通常「この」Ｃａｎの電源から電力の供給を受ける。各Ｃａｎの右バーでのＣａｎ供給電圧は、マザーボード６８１，６８２で測定される。右バーは、通常、「次の」Ｃａｎの電源（隣接システムＣａｎ）から電力の供給を受ける。電圧が２６ボルトと３０ボルトの間にない場合にグラフィックランプが点灯する。この診断は、少なくともＨｚ１という頻度で実行される。
【０３１７】
以下の説明は、Ｃａｎバッテリ診断の説明を提示する；．
各Ｃａｎの左電力バー上のＣａｎ供給電圧は、マザーボード６８１，６８２で測定される。左バーは、通常、このＣａｎの電源から電力の供給を受ける。電圧が、バッター閾値基準値を超えていない場合は、グラフィックランプが点灯する。この診断は、少なくともＨｚ１という頻度で実行する。
【０３１８】
以下の説明は、ＡＣ電力診断の説明を提示する
各ＣＰＵ１２は、電源監視ボードから生成されるＡＣ電力信号に関して監視する。この診断は、少なくともＨｚ１という頻度で実行される。
【０３１９】
以下の段落は、ＡＩ比較アービトレーション診断の説明を提示する。
【０３２０】
左ＡＩＦ値と右ＡＩＦ値がＨｚ１で比較される。差異がある場合、フェイルセーフ値が、装置８４の制御デバイスへの出力のために選択される。両方の値とも考慮される。この診断は、少なくともＨｚ１という頻度で実行し、任意の特定のアナログ入力信号に関して１分以内に報告される。
【０３２１】
以下の段落は、ＤＩ比較アービトレーション診断の説明を提示する。
【０３２２】
左ＡＩＦ値と右ＡＩＦ値はＨＺ１で比較される。差異がある場合、安全な値が選択される。ボードの障害も考慮に入れられる。この診断は、少なくともＨｚ１という頻度で実行される。この診断は、少なくともＨｚという頻度で実行され、任意の特定のデジタル入力信号に関して１分以内に報告される。
【０３２３】
以下の段落は、ＡＯ追跡調査比較アービトレーション診断の説明を提示する。
【０３２４】
両方のコンピュータ１０ａ，ｂの計算されたＡＯ値および測定されたＡＯ追跡調査（ＡＯＴ）値が、Ｈｚ１で比較される。差異がある場合、高い方のＡＯＴ値が選択される。この診断は、少なくともＨｚ１という頻度で実行され、任意の特定のアナログ出力追跡調査信号に関して１分以内に報告される。
【０３２５】
以下の段落は、ＤＯ追跡調査アービトレーション診断の説明を提示する。
【０３２６】
両方のコンピュータ１０ａ，ｂの計算されたＤＯ値および測定された追跡調査（ＤＯＴ）値がＨｚ１で比較される。差異がある場合、高い方のＤＯＴ値が選択される。この診断は、少なくともＨｚ１という頻度で実行され、特定のデジタル出力追跡信号に関して１分以内に報告される。
【０３２７】
以下の段落は、ＤＡ追跡調査診断の説明を提示する。
【０３２８】
計算されたＤＡ値およびＤＡトランジスタ上で測定されたそれぞれの電圧低下（ＡＯＴ）がＨｚ１で比較される。この診断は、少なくともＨｚ１という頻度で実行され、特定のＤＡ信号に関して（ｒｅｓｐｅｃｔｉｖｅｅ  ｔｏ）１分以内に報告される。
【０３２９】
以下の段落は、ＡＯ支援診断の説明を提示する。
【０３３０】
アナログ信号を使用すると、各ＡＯチャネルのその出力を修正する能力を検証するために、８０ｍｓ内に５パーセントの段階変化が使用される。この診断は少なくともＨｚ１という頻度で実行され、特定のアナログ出力信号に関して１分以内に報告される。
【０３３１】
以下の段落は、ＤＯ試験診断の説明を提示する。
【０３３２】
５０μｓの試験パルスを使用して、各ＤＯチャネルの出力状態を変更する能力が検証される。この診断は、少なくともＨｚ１で実行され、特定のデジタル出力信号に関して１分以内に報告される。
【０３３３】
以下の段落は、ＤＡフィールド短絡診断の説明を提示する。
【０３３４】
ＦＡＬＳＥ値が設定されたデジタル打切り変数がアプリケーションプログラムに定義される、アプリケーションプログラムに定義される（正常状態はトランジスタ実施中）各チャネルのデジタル打切りトランジスタ上での電圧低下が測定される。低圧は、短絡したトランジスタまたはフィールドから接地での短絡のどちらかを示す。この診断は、少なくとも毎分一度の頻度で実行される。
【０３３５】
以下の段落は、ハードウェア打切りキー診断の説明を提示する。
【０３３６】
各Ｃａｎ内のハードウェア打切りキーの電圧低下は、ＲＥＡＤＫＥＹ２５８３によって監視される。この診断は、Ｈｚ１で実行され、少なくとも３分ごとに１度報告される。この診断技法が、制御コンピュータ決定の打切り無効に関してアサートされている打切りキーの存在を定義するとき、ステータス変数が、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報および／または印刷されたメッセージがオプションで出力される。
【０３３７】
以下の段落は、Ｃａｎ  Ｉ／Ｏボード診断の説明を提示する。
【０３３８】
Ｈｚ１では、すべての定義されたＩ／Ｏボードが、ＶＲＥＦ  ２５１６で試験される。ボードが応答できない場合、対応するボード問題ビットがＴＲＵＥに設定される。この診断は、少なくともＨｚという頻度で実行される。一定数（２）を超えるボードが故障すると、制御コンピュータ１０は、そのＨｚ１、Ｈｚ１０、およびＨｚ１００のサイクルの実行を停止し、制御コンピュータによって駆動されるすべてのデジタル出力がフェイルセーフモードに電源を切られる。
【０３３９】
以下の段落は、ＭＣＵアドレス診断の説明を提示する。
【０３４０】
ＭＣＵがフォックス（Ｆｏｘ）コンピュータとドッグ（Ｄｏｇ）コンピュータで同じアドレスを指しているという検証が実行される。この診断は、少なくともＨｚという頻度で実行される。ＭＣＵは、アドレスが異なる場合「読取専用」になる。
【０３４１】
以下の段落は、ＭＣＵ  ＶＲＥＦ試験診断の説明を提示する。
【０３４２】
ＭＣＵキーパッドとＳＣＵキーパッドの５Ｖ供給電圧は、ＭＳＩＶＡＬ２５２５で読み取られ、閾値に比較される。この診断は、少なくともＨｚ１という頻度で実行される。ＳＣＵは、供給電圧が許容できないほど外れると「読取専用」になる。
【０３４３】
以下の段落は、ＣＰＵオフライン診断の説明を提示する。
【０３４４】
隣接システムＣＰＵ１２ａ／ｂがオンラインであるかどうかに関する検証が実行される。この診断は、少なくともＨｚ１という頻度で実行される。この診断技法が異常の存在を定義すると、ステータス変数が、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報および／または印刷されたメッセージがオプションで出力される。パートナー（隣接システム）の損失は、毎秒１５０回調べられ、隣接システム損失が３回連続して検出されることがＣＰＵオフラインステータスを達成するのに必要とされる。同様にして、隣接システムＣＰＵの戻りは、隣接システムの存在が３回連続して検出されることが、ＣＰＵオンラインステータスを達成するために必要とされる。
【０３４５】
以下の段落は、主要なリンク障害診断の説明を提示する。
【０３４６】
主要なリンク３２４の問題が検出され、示される。この診断は、少なくともＨｚ１の頻度で実行される。この診断技法が異常の存在を定義するときは、ステータス変数が、プログラミングエンジニアが使用するために制御コンピュータのデータベースで変更され、警報および／または印刷されたメッセージがオプションで出力される。
【０３４７】
以下の段落は主要リンクタイムアウト診断の説明を提示する。
【０３４８】
表示は、すべて使い果たされているか、またはほとんどすべての使用可能な時間が使い果たされている、およびリンクタイムアウトが発生した、あるいは発生しそうであるリンク活動に関して定義される。この診断は、少なくともＨｚ１という頻度で実行される。この診断技法が異常の存在を定義するとき、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報、および／または印刷されたメッセージがオプションで出力される。
【０３４９】
以下の段落は、主要リンク通信再試行診断の説明を提示する。
【０３５０】
主要リンク３２４通信失敗および再試行の数がカウントされ、データは制御コンピュータの健康モニタが使用できるようにされる。この診断は、少なくともＨｚ１という頻度で実行される。この診断技法が異常の存在を定義すると、ステータス変数が、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報および／または印刷されたメッセージがオプションで出力される。
【０３５１】
以下の段落はＨｚ１００無効診断の説明を提示する。
【０３５２】
Ｈｚ１００無効が示され、情報を制御コンピュータ健康モニタに使用できるようにする。この診断は、少なくともＨｚ１という頻度で実行される。この診断技法が異常の存在を定義するとき、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報および／または印刷されたメッセージがオプションで出力される。
【０３５３】
以下の段落は、Ｈｚ１０無効診断の説明を提示する。
【０３５４】
Ｈｚ１０無効が示され、情報は制御コンピュータ健康モニタが使用できるようにされる。この診断は、少なくともＨｚ１という頻度で実行される。この診断技法が異常の存在を定義するとき、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報および／または印刷されたメッセージがオプションで出力される。
【０３５５】
以下の段落は、Ｈｚ１無効診断の説明を提示する。
【０３５６】
Ｈｚ１無効が示され、情報は制御コンピュータ健康モニタが使用できるようにされる。この診断は、少なくともＨｚ１という頻度で実行される。この診断技法が異常の存在を定義するとき、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータ１０のデータベース内で変更され、警報および／または印刷されたメッセージがオプションで出力される。
【０３５７】
以下の段落は、Ｈｚ１残り時間診断の説明を提示する。
【０３５８】
Ｈｚ１が終了した後に残っている時間が示される。この診断は、特定のシステムインスタンスの基準リソース値を定義するために、少なくともＨｚ１という頻度で実行される。
【０３５９】
以下の段落は、リンク残り時間診断の説明を提示する。
【０３６０】
アービトレーション（ＡＲＢＬＩＮＫ２５２６）で使用される時間は、差異（または「残り時間」）を特定することができるようにする時間から差し引かれる。この診断は、特定のシステムインスタンスの基準リソース値を定義するために，少なくともＨｚ１という頻度で実行される。
【０３６１】
以下の段落は、メモリ診断の説明を提示する。
【０３６２】
メモリ試験は、４つのメモリロケーションにデータを記憶し、試験パターンをそれらのロケーションに書き込み、そのパターンを比較のために読み取ってから、元のデータをロケーションに書き戻すことによって実行される。このオプション診断（特に、アプリケーションプログラム内でプログラミングエンジンによって選択される）は、少なくとも２４時間ごとに１回という頻度で任意のメモリロケーションで実行する。この診断技法が異常の存在を定義すると、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報および／または印刷されたメッセージがオプションで出力される。
【０３６３】
以下の段落は、ＣＰＵ温度診断の説明を提示する。
【０３６４】
ＣＰＵ１２温度は、電源ボード上の温度センサーを使用して読み取られる。この診断は，少なくともＨｚ１という頻度で実行される。この診断技法が異常の存在を定義すると、ステータス変数は，プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、警報および／印刷されたメッセージがオプションで出力される。
【０３６５】
以下の段落は、プログラマブルグラフィック診断の説明を提示する。
【０３６６】
すべてのプログラマブルグラフィックプロセッサが、データ通信ハンドシェークを介して実行している旨の検証が行われる。この診断は、少なくとも２分毎に１度という頻度で実行される。この診断技法が異常の存在を定義すると、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、変更および／または印刷されたメッセージがオプションで出力される。
【０３６７】
以下の段落は、シリアルグラフィック診断の説明を提示する。
【０３６８】
シリアルグラフィックハードウェアおよび通信での故障は、データセマフォがないか監視することによって検出される。この診断は、少なくとも２秒毎に１度という頻度で実行される。この診断技法が異常の存在を定義すると、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、変更および／または印刷されたメッセージがオプションで出力される。
【０３６９】
以下の段落は、第１「制御コンピュータ」から「制御コンピュータ」への通信診断の説明を提示する。
【０３７０】
ループバック試験が、あらゆる「制御コンピュータ」から「制御コンピュータ」ポートで実行される。この診断は、少なくとも２秒毎に１度という頻度で実行される。この診断技法が異常の存在を定義すると、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、変更および／または印刷されたメッセージがオプションで出力される。
【０３７１】
以下の段落は、第２「制御コンピュータ」から「制御コンピュータ」への通信診断の説明を提示する。
【０３７２】
動作のあらゆる故障（無応答、差異Ｌ／Ｒ）が単一メッセージとともに示される。この診断は、少なくとも２秒毎に１度という頻度で実行される。この診断技法が異常の存在を定義すると、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、変更および／または印刷されたメッセージがオプションで出力される。
【０３７３】
以下の段落は、制御コンピュータからプロセス情報システムへの通信診断の説明を提示する。
【０３７４】
プロセス情報システム通信またはその他のシリアルデータ通信への制御コンピュータでの問題が示されている。この診断技法が異常の存在を定義すると、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、変更および／または印刷されたメッセージがオプションで出力される。
【０３７５】
接地診断に達しないリモートフィールドユニットＤＩに対する以下のリモートフィールドユニット３１４診断では、診断技法が異常の存在を定義すると、ステータス変数は、プログラミングエンジニアが使用するために制御コンピュータのデータベース内で変更され、変更および／または印刷されたメッセージがオプションで出力される。使用されると、（米国特許番号第５，４２８，７６９号に記述されるように）リモートフィールドユニット３１４は、異常に関するデータ値の通信に応えて安全な運転を維持するために適切な処置を講じる。
【０３７６】
以下の段落は、リモートフィールドユニット通信診断の説明を提示する。
【０３７７】
リモートフィールドユニット３１４通信の問題が示される。この診断は、少なくとも２秒毎に１度という頻度で実行される。
【０３７８】
以下の段落は、リモートフィールドユニット電源診断の説明を提示する。
【０３７９】
リモートフィールドユニット３１４電源の問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも６秒毎に１度という頻度で実行される。
【０３８０】
以下の段落は、リモートフィールドユニットＦＩＯ制御装置診断の説明を提示する。
【０３８１】
リモートフィールドユニット３１４ＦＩＯ制御装置の問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも６秒毎に１度という頻度で実行される。
【０３８２】
以下の段落は、リモートフィールドユニットＡＩボード診断の説明を提示する。
【０３８３】
リモートフィールドユニット３１４ＡＩボードの問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも６秒毎に１度という頻度で実行される。
【０３８４】
以下の段落は、リモートフィールドユニットＤＩボード診断の説明を提示する。
【０３８５】
リモートフィールドユニット３１４ＤＩボードの問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも６秒毎に１度という頻度で実行される。
【０３８６】
以下の段落はリモートフィールドユニットＡＯボード診断の説明を提示する。
【０３８７】
リモートフィールドユニット３１４ＡＯボードの問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも６秒毎に１度という頻度で実行される。
【０３８８】
以下の段落はリモートフィールドユニットＤＯボード診断の説明を提示する。
【０３８９】
リモートフィールドユニット３１４ＤＯボードの問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも６秒毎に１度という頻度で実行される。
【０３９０】
以下の段落はリモートフィールドユニット入力アービトレーション診断の説明を提示する。
【０３９１】
リモートフィールドユニット３１４入力の問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも毎秒１度という頻度で実行される。
【０３９２】
以下の段落はリモートフィールドユニット出力アービトレーション診断の説明を提示する。
【０３９３】
リモートフィールドユニット３１４出力の問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも毎秒１度という頻度で実行される。
【０３９４】
以下の段落はリモートフィールドユニットＦＩＯ（フィールド入出力）制御装置隣接システム通信診断の説明を提示する。
【０３９５】
リモートフィールドユニット３１４ＦＩＯ隣接システム通信の問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも６秒毎に１度という頻度で実行される。
【０３９６】
以下の段落は、制御コンピュータ−リモートフィールドユニット出力通信診断の説明を提示する。
【０３９７】
リモートフィールドユニット３１４出力通信に対する制御コンピュータの問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。この診断は、少なくとも毎秒１度という頻度で実行される。
【０３９８】
以下の段落は、リモートフィールドユニットＡＯ／ＤＯループ抵抗診断の説明を提示する。
【０３９９】
リモートフィールドユニット３１４ＡＯ／ＤＯループ抵抗監視で検出された問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。診断は、少なくとも６秒毎に１度という頻度で実行される。
【０４００】
以下の説明は、接地診断に達しないリモートフィールドユニットＤＩの説明を提示する。
【０４０１】
リモートフィールドユニット３１４ＤＩが接地に短絡したための問題は、リモートフィールドユニット３１４からの通信でデータ値を評価することによって示される。
【０４０２】
以下の段落は、Ａ／Ｄ変換器（ＡＤＣ）およびＤ／Ａ変換器（ＤＡＣ）診断の説明を提示する。
【０４０３】
＊杉原＊
各マザーボード６８１、６８２上の２８Ｖ  Ｃａｎ供給電圧はアナログ／デジタルコンバータ回路６０７を使用して読み取られる。前記測定はデジタル／アナログコンバータ回路６０５とＶＲＥＦコンパレータ１３９７を使用して実行される。測定された値は所定の許容差以内で一致するかどうか比較される。この診断は毎秒実行される。この診断方法により異常の存在が明らかになると、ステータス変数がプログラミングエンジニアが使用する制御コンピュータのデータベース内で変更され、アラームおよび／または印字されたメッセージが随意に出力される。
【０４０４】
次のパラグラフでは、ウォッチドッグ６０３診断によるプログラムフロー監視について説明する。
【０４０５】
コンパイルトランスレータはＱ−Ｌｉｓｔにマイルポスト命令を挿入する。これらマイルポストを実行する正確な順序とタイミングがウォッチドッグ６０３により監視される。この診断は最低限Ｈｚ１の周波数で実行される。この診断で問題の存在が確認されると、隣接コンピュータが作動している場合は、制御コンピュータは停止する。
【０４０６】
次のパラグラフでは、各マザーボードの診断に関するＤ／ＡおよびＡ／Ｄコンバータループバックテストについて説明する。
【０４０７】
このテストは、メザニンボード（拡張基板）６８４、６８９経由で伝送しないマザーボード関係信号をインターフェースしているマルチプレクサを介して拡張Ｄ／ＡおよびＡ／Ｄコンバータ・ループバックテストを実行する。ループバックテストで使用される電圧はクロックの数秒および数分から得られ、そのため毎秒変化してＡ／Ｄコンバータ故障のあらゆる種類が確実に検出される。この診断（毎秒実行）により問題の存在が確認されると、制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、制御コンピュータから出力される全デジタル出力が切断され、検出の２秒以内にフェールセーフ・モードになる。
【０４０８】
次のパラグラフでは、すべてのマザーボードの診断に関するＡ／Ｄコンバータ（ＡＤＣ）およびＤ／Ａコンバータ（ＤＡＣ）について説明する。
【０４０９】
Ｄ／ＡおよびＡ／Ｄコンバータ・ループバックテストがすべてのマザーボードで失敗すると、制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、制御コンピュータから出力される全デジタル出力が切断され、フェールセーフ・モードになる。
【０４１０】
次のパラグラフでは、５Ｖ  ＣＰＵ供給電圧の診断について説明する。
【０４１１】
コンピュータ用の電源ボード上のハードウェアのコンパレータを使用する検査では、５Ｖ供給電圧が許容範囲内（±５％以内）であることを確認する。この診断は最低限Ｈｚ１の周波数で実行される。この診断により問題の存在が確認されると、制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、制御コンピュータ１０から出力される全デジタル出力が切断されて、フェールセーフ・モードになる。
【０４１２】
次のパラグラフでは、ＣＰＵ  Ｃａｎ供給電圧の診断について説明する。
【０４１３】
電源ボード上のハードウェアのコンパレータを使用する検査では、ＣＰＵ  Ｃａｎ供給電圧が２１．６Ｖより高いことを確認する。この診断は最低限Ｈｚ１の周波数で実行される。この診断により問題の存在が確認されると、制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、制御コンピュータ１０から出力される全デジタル出力が切断されて、フェールセーフ・モードになる。
【０４１４】
次のパラグラフでは、ＣＰＵの６０Ｈｚクロックおよびクリスタルの診断について説明する。
【０４１５】
リアルタイム・クロックのフェーズ・ロック・ループを使用して、ＣＰＵ  １２クロックをリアルタイム・クロックと比較し、予め定めた許容範囲内で一致していることを検査する。この診断は最低限Ｈｚ１の周波数で実行される。この診断により問題の存在が確認されると、制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、制御コンピュータ１０から出力される全デジタル出力が切断され、フェールセーフ・モードになる。
【０４１６】
次のパラグラフでは、Ｌ／Ｒディップスイッチの診断について説明する。
【０４１７】
２台の左または右のコンピュータのどちらかがシステムに対し宣言されており、かつ主リンクが機能している場合は、（Ｔａｓｋ  Ｄｏｇ）制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、制御コンピュータ１０から出力される全デジタル出力が切断され、フェールセーフ・モードになる。
【０４１８】
次のパラグラフでは、「制御コンピュータ」間の通信の診断について説明する。
【０４１９】
オプション診断がアプリケーションプログラム定義用に準備されており、この診断では重要な「制御コンピュータ」間の通信を監視し、通信故障が発生するとＣＰＵ１２を停止させる。この診断は最低限Ｈｚ１の周波数で実行され、所定の回数連続して発生した後に有効になる。この診断により問題の存在が確認されると、制御コンピュータはＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止し、制御コンピュータ１０から出力される全デジタル出力が切断され、フェールセーフ・モードになる。
【０４２０】
図３８Ａ〜５４は前述の診断を実行し、利用する方法を示している。図３８（図３８Ａ〜３８Ｅを示す）では、メモリボードの「使用の承認」とシステムに接続された他のハードウェアに対する基本的な始動時診断を図示している。これに関し、および図２１Ａと２１Ｂに示されるエレメントの相互に関しては、ステップ４８０１（図３８Ａ）はウォッチドッグ６０３を表すＷＤを使用する。ステップ４８０２では、用語のＸｓｕｍ  Ｐ−ｍｅｍはＰ−ｍｅｍに対するチェックサムの実行に関係する。Ｐ−ｍｅｍはプログラムメモリに関連するものであり、このプログラムメモリは図２１Ａと２１Ｂでは図のエレメント８０１と９０６−ランダム・アクセス・メモリとリード・オンリ・メモリ−を示している。次の図３８Ｂでは、ステップ４８０４で表される５８５が図２１Ａと２１Ｂに示されたＰ−ｍｅｍを含む５８５ボードに関連している。ステップ４８０５で表されている５８６ボードは図２１Ａと２１Ｂで５８６ボードとして表されているのと同一のボードであり、この５８６ボードは図２１Ａ、２１Ｂ、１１Ａ、１１ＢにおけるエレメントのデータＲＡＭ１０１２とシャドウデータＲＡＭ１０１４を有するＤメモリ回路の位置にある。次の図３８Ｃでは、ステップ４８０７はＱメモリに対するチェックサムを示しており、このＱメモリは図２１Ａ、２１Ｂにおいてエレメント５９３と１０８を持つ５８７ボードで示されたものである。図３８Ｃのステップ４８０８のメモリ・コンパレータは、図２１Ａ、２１Ｂにおいてエレメント１２１０、９４６、１０７４で示されている。次の図３８Ｄでは、ステップ４８０９は「Ｔｅｓｔ  ５８７  Ｑ＆Ｃ  ｍｅｍ  ｃｏｍｐａｒａｔｏｒ  ｒｅｇ（５８７  Ｑ＆Ｃ  メモリ・コンパレータ・レジスタのテスト）」を示しており、これは図２１Ａと２１Ｂの５８７ボード、エレメント４９４、１１０、５９３、１０８で示されるＱメモリ１０８とＣメモリ１１０領域、ならびにメモリコンパレータ１０７４の関連するコンパレータ・レジスタで示されている。さらに図３８Ａの４８０２に関しては、この方法（チェックサムとプログラムＲＡＭ９０６の比較を実行する）は図３９にも示されている。図３８Ｃおよびステップ４８０７で示されるＱメモリ１０８に対するチェックサムに関して、図４０には始動時診断におけるこの特定のステップの処理で実行される方法が示されている。
【０４２１】
次に、始動後リアルタイムで実行される診断について説明する。図４１Ａと４１ＢにはＨｚ１で実行される診断を示す。これに関して図４１Ａと４１Ｂならびに図１９を相互に比較することは、ＶＲＥＦテストとして示されているステップ５１０７で有用である。この方法の制御コンピュータの実行ロジックが、図１９のＶＲＥＦ  Ｈｚ１  ステップ２５１６においてテストを実行する。次にこれに関して、図４１Ａと４１Ｂのステップ５１０９で、Ａ／Ｄ比較ヘの入力が図１９のステップＭＯＮＩＴＯＲ（モニター）（Ｈｚ１ステップ２５２４）に対し調整される。図４１Ａと４１Ｂでは、ステップ５１１３が図１９のＨｚ１ステップ２５２４に示されるＭＯＮＩＴＯＲ（モニター）動作を示し、またそのＭＩＮＩＴＯＲ動作に対し調整される。図４１Ａと４１Ｂのステップ５１０８でのＭＴＨＴＳＴヘの入力は、図４１Ａと４１Ｂのステップ５１１０で実行されるＭＴＨＴＳＴルーチンを持つ、図１９のＨｚ１ステップ２５５４でのＭＴＨＴＳＴヘの入力に相当する。図４１Ａと４１Ｂのステップ５１１１でのプロセッサ・テストへの入力は、図１９の自己診断Ｈｚ１ステップ２５５６に相当する。図４１Ａと４１Ｂでは、ステップ５１０１と５１０２は２つの代替ルートであり、プロセッサとインデックス・カードのテストを行う。これらのプロセッサとインデックス・カードのテストは、１台の制御コンピュータ（すなわち１つのＣＰＵ  １２）が実行されるか、または制御コンピュータの冗長セット１０ａ、ｂ（すなわち冗長ＣＰＵ）が実行される場合は、多少異なる方法で実行される。これはさらに図４２Ａと４２Ｂに示されており、図ではステップ５２０１は図４１Ａと４１Ｂのステップ５１０１に対しそれぞれ実行されるルーチンの開始点であり、またステップ５２０２は図４１Ａと４１Ｂの５１０２で示されたステップに述べられている。図４２Ａと４２Ｂの詳しい説明で明らかなように、異なるプロセッサとインデックス・カードのテストは、図２１Ａと２１Ｂの分離した個々のカード上に配置されたレジスタに関する。これに関しては、図４２Ａと４２Ｂのステップ５２０３が、図２１Ａと２１ＢのＳＫＢＺ、ＳＫＢＯ、ＣＰＵ  １２の実行制御テスト命令を示している。図４２Ａと４２Ｂのエレメント５２０４では、Ａレジスタ、Ｘレジスタ、Ｍレジスタが、図２１Ａと２１Ｂでエレメント２７２０、２７１２、２７２１で示されたそれらのレジスタに対応する。同様に、ステップ５２０７と５２０８では、アドレスモードはＣＰＣ  １２と連係しているインデックス割込みボード２６上でテストされる。図２１Ａと２１Ｂでは、ＭＡ  Ｒｅｇ  ２７２１は、図４２Ａと４２Ｂのブロック５２０４、５２０５のＭ−Ｒｅｇおよびブロック５２０７、５２０８ＭＡＲと同一である（「ＭＡ」で示される物理レジスタは１つのタイプの用途では「Ｍ−Ｒｅｇ」と称され、第２のタイプの用途では「ＭＡＲ」と称される、これにより本発明の開示中の参照を簡単にする）。図４２Ａと４２Ｂのステップ５２０９と５２１０では、Ｅレジスタ、分割レジスタ、乗算演算は、図２１Ａに示されるように、ＡＬＵ  ２７９０とＥレジスタ２７１３を利用してチェックされる。ステップ５２１３と５２１４の拡張演算テストは図��１ＢのＡＬＵ  ２７２５で実行される。ステップ５２１１、５２１５、５２１７、５２１２、５２１６、５２１８の「移動回転」テストを開始して、図２１ＡのＥレジスタ２７１３およびＡレジスタ２７２０上で演算およびロジックビットパターン移動を実行する。
【０４２２】
図４１Ａと４１Ｂの説明に戻る。ステップ５１０１と５１０２のプロセッサとボードのテストの正常な実行は、ステップ５１１７で実行を開始した一連のメザニン・テストで終了する、ただし１台の制御コンピュータまたは２台の制御コンピュータが装置８４の制御を実行しているかどうかに依存して、再度実行を開始する。これに関しては、ステップ５１０３または５１０４に示すメザニン・テストが実行される。ステップ５１０３と５１０４に対する個々のテストを、図４３Ａと４３Ｂに関して説明する。これに関しては、図４１Ａと４１Ｂのステップ５１０３において、単独の制御コンピュータが製造装置の制御を実行しているときは、全部で５つのメザニン・テストを実行する、さらに図４３Ａと４３Ｂのステップ５３１１の開始に関して詳しく述べる。図４１Ａと４１Ｂのステップ５１０４に示されているメザニン・テストの代替のセットを、図４３Ｂのステップ５３０６〜５３１０で詳しく説明する。図４３Ａと４３Ｂのステップ５３０１と５３０６で実行されるテストは図４６にさらに明確に示す。図４３Ａと４３Ｂのステップ５３０２と５３０７で実行される方法は、図４７にさらに明確に示す。図４３Ａと４３Ｂのステップ５３０３と５３０８で実行される方法は、図４９に詳細を示す。図４３Ａと４３Ｂのステップ５３０４と５３０９に関して実行される診断は、図５０に詳細を示す。図４３Ａと４３Ｂのステップ５３０５と５３１０に関して実行される診断は、図５１に詳細を示す。
【０４２３】
図４３Ａと４３Ｂがステップ５３０６〜５３１０とステップ５３０１〜５３０５の比較を示しているように、１台の制御コンピュータを利用して装置８４を制御しているか、または２台の別個の制御コンピュータ１０ａ、ｂを利用している場合は、これらのテストは別々に進行する。これに関しては、図４２Ａ、４２Ｂ、４３Ａ、４３Ｂに対しては、２台の制御コンピュータ１０ａ、ｂが冗長モードで実行しているときに、冗長システムを利用することにより十分な時間が調整プロセスを実行するのに利用できる場合には、テストが数秒に１度実行される。１台のコンピュータだけを利用しているときは、すべてのテストはＨｚ１毎に毎秒実行される。
【０４２４】
図４１Ａと４１Ｂの説明を続ける。ステップ５１０３または５１０４のどちらかのメザニン・テストの終了後、プロセッサテストは終了し、メザニン・デッドマン・ストローブはステップ５１１２で照会される。この特定のテストの詳細は図４４Ａと４４Ｂで示す。さらに図４４Ａと４４Ｂに関しては、ステップ５４０１では、メザニン読込みコンパレータが「メザニンを中止し−コンパレータに読み込む」と表示されると同時に起動されることを示している。この特定ルーチンの詳細は図４５で詳細に示す。図４５はメザニンボードのアクセス方法を示している。これに関しては、前に述べたように、個々のＣａｎのマザーボードがメザニン・ボードとして知られたボード上に配置された複数のデッドマン回路を有する。次に図４６について説明する。図４６はステップ５６０２で示す実行されるＦＳＩＰＣＮルーチンを利用する。これと同一ルーチンは図４７のステップ５７０２、図４９のステップ６００２、図５１のステップ５６０１に示されている。このルーチンは図４８で示されており、それぞれの場合に応じてこのルーチンを実行し、関連Ｃａｎが安全性保全プログラミング（ＳＩＰ）ＩＯボードを有するかどうか決定する。図４５のＭＥＺＫＩＫルーチンは、個々のメザニン・ボードのサブルーチンの各々内で呼出される。図４６では、このＭＥＺＫＩＫルーチン（図４５のルーチン）ステップ５６０１で起動される。前記ルーチンは、図４９ではステップ５９０１で起動され、図５０ではステップ６００１で実行される。図４１Ａと４１Ｂに示される自己診断はステップ５１１２およびメザニンのストローブを終了する。これの詳細図５４に示されており、図ではＭＭＺＳＴＲまたはメザニン・ストローブ・ルーチンが実行される。図５２は自己診断の実行を監視するモニタールーチンを示し、図５３には、図５４のメザニン・ストローブ・ルーチンを使用してメザニンをストローブするかまたはしないかを決定するためのルーチンを示す。以上で、次の（１）と（２）の一般的カテゴリの方法に関連する詳細な説明を終了する。
【０４２５】
（１）タスクＤ（または、条件によりタスクＢ）が起動されるたびに、各制御コンピュータにより実行される始動時診断の方法。
【０４２６】
（２）起動完了後、タスクＤ、タスクＥ、タスクＦ（または、条件によりタスクＢ）がリアルタイムでＨｚ１サイクルを実行中に、各制御コンピュータで実行される実行時診断が、（ａ）始動時診断により確認された状態が良好な状態を維持し、（ｂ）入力および出力信号が使用に適合することを確認するように指令される、実行時診断の方法。
【０４２７】
前述のように、本明細書ではこれらの方法は以下の一般的カテゴリに系統化される。
【０４２８】
（１）タスクＤ（または、条件によりタスクＢ）が起動されるたびに、各制御コンピュータにより実行される始動時診断方法。
【０４２９】
（２）起動完了後、タスクＤ、タスクＥ、タスクＦ（または、条件によりタスクＢ）がリアルタイムでＨｚ１サイクルを実行中に、各制御コンピュータで実行される実行時診断が、（ａ）始動時診断により確認された状態が良好な状態を維持し、（ｂ）入力および出力信号が使用に適合することを確認するように指令される、実行時診断方法。
【０４３０】
（３）シャドウメモリと正規メモリの値を比較する方法。
【０４３１】
（４）冗長制御を実行する２台の制御コンピュータ１０ａ、ｂ間のプロセス・ユニット・ステップの調整と整合の方法。
【０４３２】
（５）起動完了後、タスクＤ、タスクＥ、タスクＦ（または、条件によりタスクＢ）がリアルタイムでＨｚ１サイクルを実行中に、各制御コンピュータで実行される実行時診断が、プログラムエンジニアが使用するアプリケーション・プログラムのマシン・オペレーション・コードが、使用されているアプリケーション・プログラムのマシン・オペレーション・コードであることを確認するように指令される、実行時診断方法。
【０４３３】
（６）（ａ）安全領域と組合せシステムの構成に対する機能と、（ｂ）全体プロセス制御領域と組合せシステムの構成に対する機能の間の独立と「必要領域分離」を強化する方法。
【０４３４】
方法とカテゴリ３を実現するには、シャドウ・メモリ・システムと正規に使用されるメモリの値の比較（前述の第３項）の使用が、使用される安全シャドウ・システムに必要な予測を可能にする重要要素である。これに関しては、図９Ａ〜１２および３Ａと、それらに関連する説明で、コンパレータとエラー信号のラッチ回路の実施の詳細に示す。
【０４３５】
方法とカテゴリ４を実現するには、冗長制御を実行する２台の制御コンピュータ１０ａ、ｂ間のプロセス・ユニット・ステップの調整と整合を行う、つまり、プロセス・ユニット・ステップが２台の制御コンピュータ１０ａ、ｂ間で調整され整合されて、冗長制御を実行することである。ＳＥＱＵＥＮＣＥの定義で前に述べたように、プロセス・ユニット・ステップ（特定ＳＥＱＵＥＮＣＥの調整）は、制御プログラムが、任意の特定時間における関連するプロセス・ユニットの状態を正確に定義するのを支援する。したがってその値は、その特定プロセスユニット上で冗長制御を実行する２台の制御コンピュータ１０ａ、ｂが、その制御が実行される対象のプロセス・ユニットの状態に対し一致するように調整される。これを達成するには、アナログ入力で説明した調整メカニズムの類似の調整メカニズムを利用して、２台の制御コンピュータの動作として定義されたプロセス・ユニット・ステップにおいてこの整合を維持する。この方法は、米国特許Ｎｏ．５，５８３，７５７に記載されたものと同一リンケージを使用し、基本的に各特定のＳＥＱＵＥＮＣＥのステップ属性に対するデータを変更する。前記の特定ＳＥＱＵＥＮＣＥに対して、アナログ入力またはデジタル入力のデータを変更するのと同様の方法で制御が実行され、明確なプロトコルを利用して、２台の制御コンピュータ１０ａ、ｂがプロセス・ユニットに対する適正なステップに関し同一機能を確実に果たすようにする。プロセス・ユニット・ステップが各ＳＥＱＵＥＮＣＥに対し定義され、それにより（一般に実施の場合のように）、定義されたＳＥＱＵＥＮＣＥの数に等しい一連のプロセス・ユニット・ステップ（なぜなら、ＳＥＱＵＥＮＣＥは通常、リアルタイムのすべての時間において有効なプロセス・ユニット・ステップを１つだけ有するためである）が２台の制御コンピュータ間で調整される。
【０４３６】
別の機能（方法とカテゴリ５）が各制御コンピュータで実行時診断を実行する。前記診断はＨｚ１サイクルで実行され、プログラム・エンジニア（当初は、装置８４の制御用に開発されるロジックを管理する立場にいた）が使用するアプリケーション・プログラムのマシン・オペレーション・コードが、制御コンピュータのロードされているマシン・オペレーション・コードに一致していることを確認するように指令される。これに関しては、制御コンピュータ１０がリアルタイム・サイクルの実行中に変更される内部マシン・オペレーション・コードを持つことにより可能になる、この変更は、例えば保守用インタフェースパネルを使用してリアルタイムコンピュータを扱う当業者には明らかな手段によりなされる。コンパイル・トランスレータで制御されない任意の方法で変更されたマシン・オペレーション・コードの使用に対する保護機能が備えられている。この機能は、マシン・オペレーション・コードが最初に作成された時点のコンパイル・トランスレータで発生する、ＣＲＣ（定期的冗長チェック）のようなチェックサムにより実行される。次にこのチェックサムは、制御コンピュータ・プログラムがタスク４でマシン・オペレーション・コードのロード・プロセスの一部として最初に制御コンピュータにロードされる時点で、制御コンピュータにロードされる。制御コンピュータがタスク４を終了すると同時に、変化しないマシン・オペレーション・コードの総合的チェックサムを実行し、タスクＤ、タスクＥ、タスクＦ、タスクＢのどれかに入力後、制御コンピュータは、Ｈｚ１毎に、そのメモリにロードされたチェックサムの特定部分を計算する。一定時間（３時間を越えない）に渡り、全体の変化しないマシン・オペレーション・コードのベースを処理して、動的に再決定されたチェックサムを作成し、そのチェックサムをロード時点において制御コンピュータに格納されたチェックサムとの一致を比較する。次に、初期にロードされたチェックサムと動的に再決定されたチェックサムの比較を利用して、初期にロードされたチェックサム（マシン・オペレーション・コードのコンパイル・トランスレータを基にロードされたもの）と動的に再決定されたチェックサム（制御コンピュータ内でリアルタイムに計算されたもの）の間にずれを持つコンピュータのＨｚ１、Ｈｚ１０、Ｈｚ１００サイクルの実行を停止する。
【０４３７】
最後の重要な機能（方法とカテゴリ６）は、システムの安全領域に対する機能と、一般プロセス制御領域に対する機能との間のロジック領域に影響を与えるロジック安全領域の使用に関するものである。これに関しては、制御プログラムのマシン・オペレーション・コードの一部が、常にオペレータによる変更に対し保護された変数セット有し、全ＳＩＰ変数がこのセット内に含まれる。この機能はプログラム・エンジニアまたは制御される装置８４の最終責任管理者のどちらかの管理の下に、ソフトウェアの中止キーを使用して無効にされる、しかしこのようなキーは専門家の監視の下に極めて特殊な状態でだけ使用する。
【０４３８】
コンパイルされるマシン・オペレーション・コードの変更に対する保護をする前述のシステムに加えて、低レベルのコンソールを介するマシン・オペレーション・コードの変更はファームウェア・ルーチンを使用して保護され、特定場所の非常に限定されたセットを除いて、メモリへのすべての書込みが阻止される。アプリケーション・プログラムは２つの領域、すなわち一般目的制御領域とＳＩＰ制御領域（最低限１つのファイルを持つ）に分割される。ＳＩＰファイルは、前述のように、それらのソース・コンテンツ（ｓｏｕｒｃｅ  ｃｏｎｔｅｎｔ）に対するチェックサムを有し、ＳＩＰルール・セットを使用してコンパイルされる。
【０４３９】
好ましい実施形態では、デジタル・システムを使用して、システム機能の動的実行における装置８４の制御と保護を自動化する。次のステップは、装置８４の制御方法の概略を示す。
【０４４０】
【表１】
2004502205.tif 000003
前記のモデルでは、好ましい実施形態は、時間設定されたコンピュータ・タスクを持つデータベースを中心に構成され、制御コンピュータ・データベースへの入出力を行う。これに関しては、データベースが制御される装置８４のリアルタイム状態の新しいサンプルを用いて更新される別個の時点が存在し、この状態はサンプル間隔を全体を通して維持され、次のサイクルまで更新されない。好ましい実施形態のプロセス制御システムのこのモデルに対する用語の「入力」と「出力」は、表２と３に示す。
【０４４１】
【表２】
2004502205.tif 000004
【表３】
2004502205.tif 000005
次に図５５の考察に戻る。この図はアプリケーション・プログラム適応に対する全体のＨｚ１制御サイクルの説明を示す。これに関して、「入力」６６０１は装置８４のプロセス・プラント・センサの入力サンプリングを表す。「出力」６６０３は装置８４の制御エレメントの状態を変更するためのハードウェアＡＯ、ＤＯ、ＤＡの更新を表す。制御プログラムに対する「Ｉｎ」６６０４は作用を引き起こすデータ・セットであり、「この秒の」時間間隔からの入力データ、定数、「前の秒」からの計算結果（出力データ）を表す。制御プログラムからの「ＯＵＴ」６６０５は、表３からの出力データである。制御コンピュータで実行するマシン・オペレーション・コードの変化しない部分は、製造プラント制御プログラム６６０６として示される。
【０４４２】
図５５は一般モデルを示すが、全体として大規模装置（例えば化学処理プラント、ただしこれに限定されない）を自動化する方法は、実際の参照領域中に有効に分散されることによって、制御コンピュータの実行ロジックにコンパイルするために、アプリケーション・プログラムの開発における操作決定またはソフトウェア・ソース・コードの作成のどちらかで考慮する総合セットを人が理解できる必要がある。このタスクの実行では、装置８４は、それに対して動作順序が個々に定義されている「プロセス・ユニット」（好ましい実施形態のアプリケーション・プログラム用語のＳＥＱＵＥＮＣＥで表される）と称されるプロセス装置の小さい領域のとして認識される。好ましい実施形態のアプリケーション・プログラム用語のＳＥＱＵＥＮＣＥは、このような「プロセス・ユニット」を操作する順次手順に関連付けされる。「プロセス・ユニット」の例は「ユニット動作」（すなわち、「蒸留塔」または「分解炉」、「蒸留」または「分解」などの「ユニット動作」を実行するプロセス・ユニット）である。「プロセス・ユニット」の別の例は、いくつかの「ユニット動作」を含むことのできる「エステル化装置」のような「ユニット・プロセス」であってもよい。プロセス・ユニットのリアルタイム動作を実行するには、（ａ）装置８４中の機器を有効で動的に安定な製造（「実行」）状態にするには、複数の時間的に相互関連する動作を必要とし、また（ｂ）装置８４中の機器を「実行」状態から「完全停止」状態にするには、複数の時間的に相互関連する動作を必要とする。これらの動作順序は、プロセス・ユニット・ステップの形でＳＥＱＵＥＮＣＥの属性として定義される増加状態の例で実行される。したがってプロセス・ユニット・ステップは、特定の時点でＳＥＱＵＥＮＣＥによって実行される動作を識別する。個々のプロセス・ユニットの動作は、リアルタイムで連係する必要がある。ＳＥＱＵＥＮＣＥのプロセス・ユニット・ステップは、この意味で重要である。プロセス・ユニットのＳＥＱＵＥＮＣＥは、プロセス・ユニット・ステップ・ステータスを使用してそれらの現在の動作を相互に通信する。プロセス・ユニット・ステップは、装置８４を長時間に渡って動作させるのに使用される全体動作順序に従うそれらのＳＥＱＵＥＮＣＥ進行と同時に変化する。これは、プロセス・ユニット・ステップの最初の段階から後続の段階への変化が、制御される全体装置に対する動作順序を実行するデジタル制御コンピュータの個々の段階に慎重に時間調整される必要があることを意味する。
【０４４３】
図５６は、「プロセス・ユニット」概念を用いて図５５のモデルを変更している。図５６はアプリケーション・プログラムに対し全体のＨｚ１制御サイクルを示す。これに関し、「Ｉｎｐｕｔ（入力）」６７０１は、装置８４のプロセス・プラント・センサの入力サンプリングを示す。「ＯＴＰＵＴ（出力）」６７０３は装置８４の制御エレメントのステータスを変更するためのハードウェアのＡＯ、ＤＯ、ＤＡの更新を表す。制御プログラムに対する「Ｉｎ」６７０４は「作用を引き起こす」データ・セットであり、「この秒の」時間間隔からの入力データ、定数、「前の秒」からの計算結果（出力データ）を表す。制御プログラムからの「ＯＵＴ（出力）」６６０５は、表３からの出力データである。ＳＥＱ  ｎ  ６７０６、ＳＥＱ  ｎ  ６７０７、ＳＥＱ  ｎ  ６７０８のＳＥＱは、「プロセス・ユニット」概念を組み込んでいるアプリケーション・プログラム中の個々のＳＥＱＵＥＮＣＥを表す。図５５と５６のモデルを比較すると、ＳＥＱＵＥＮＣＥ内への製造プラント制御プログラムの部分（制御コンピュータ実行ロジックで実行可能に表されたアプリケーション・プログラム）だけが変更されている。しかしこの変更は、制御コンピュータ・データベース内に特定のデータロジック・オブジェクトが定義され、従来認識されている実際の概念を表す（すなわち、「ユニット動作」または「ユニット・プロセス」の従来の概念は、アプリケーション・プログラムの定義においてプログラム・エンジニアの使用するＳＥＱＵＥＮＣＥデータ・オブジェクトに対し割り当てて、制御コンピュータ用のマシン・オペレーション・コードを比較するプロセス・ユニットを用いて得られると認識されている）という意味で重要である。
【０４４４】
図５７に示すように、図５６で説明したＨｚ１実行のＳＥＱＵＥＮＣＥの内容に特に関連する制御コンピュータ実行ロジックはシリアルに実行される。一般にＳＥＱＵＥＮＣＥはスワッピング・ベースでコンピュータ資源を「時分割」せず、その個々のロジック・セットを介してシリアルに進行して、リアルタイム制御システムでの手順ロジック・エキスパート・システム方法を実現する。これに関しては、Ｈｚ１０とＨｚ１００動作がＨｚ１のＳＥＱＵＥＮＣＥ動作を遮断する。Ｈｚ１サイクルは他のＨｚ１動作に対しノンスワッピング・ベースで進行する。Ｈｚ１サイクルでは、コンピュータ資源を最初に割当て、ＳＥＱ  １（ＳＥＱＵＥＮＣＥ）６７０８を実行し、終了すると、資源をＳＥＱ  ２（ＳＥＱＵＥＮＣＥ）６７０７に割り当てる、以下同様である。
【０４４５】
図５７は、ＳＥＱ（ＳＥＱＵＥＮＣＥ）１がプロセス・ユニット・ステップを新しいプロセス・ユニット・ステップに移動させる場合、ＳＥＱ  ２およびＳＥＱ  ｎはＨｚ１データ入力時に装置８４の特性に対しミスアライメント・ステータス・インジケータを持つことができることを示す。そのＳＥＱＵＥＮＣＥで実行される動作を識別する、ＳＥＱ（ＳＥＱＵＥＮＣＥ）２の新しいプロセス・ユニット・ステップ値は、「現在の」Ｈｚ１サイクルに対する入力時点において装置８４からのデータ・サンプルに一致しない。このミスアライメントは次のＨｚ１サイクルで解決されるが、特定の安全状態のミスアライメントは制御コンピュータシステムから不必要な遮断指令を発生させる可能性がある。一連のＳＥＱＵＥＮＣＥで良好な連係動作を行うために、そのＳＥＱＵＥＮＣＥにおけるプロセス・ユニット・ステップ変更に対するプログラミングの特定の方法が提供されている。
【０４４６】
好ましい実施形態における１つのプロセス・ユニット・ステップから後続のプロセス・ユニット・ステップヘの進行は、３つの方法、ＴＥＲＭ動作、ＳＴＥＰ動作、ＪＳＴＥＰ関数呼出し動作で可能になる。
【０４４７】
ＴＥＲＭ動作は、各ＳＥＱＵＥＮＣＥが現在のプロセス・ユニット・ステップでの動作の進行をＨｚ１でチェックすることにより進行する。プロセス測定値（データデースから得られる）がプロセス・ユニット・ステップに対し特定されたすべての条件を満たしていることを示す場合は、プロセス・ユニット・ステップは終了し、ＳＥＱＵＥＮＣＥは数値順に次のプロセス・ユニット・ステップに進行する。プロセス・ユニット・ステップ終了の条件は、そのＳＥＱＵＥＮＣＥの動作順序の一部である。終了条件が満たされると、予定された進行に従い、現在のＨｚ１サイクルに入る。
【０４４８】
重大なプロセス・ハザードが発生して緊急のプラント遮断用のプログラム手順を実行するときに、プロセス・ユニット・ステップ変更を呼出しすることもできる。ＪＳＴＥＰ関数呼出し動作は本明細書の別の箇所で、進行が「ステップの維持」により阻止されない優先プロセス・ユニット・ステップ開始（制限された遮断を指定）として説明する。「ステップの維持」はＳＥＱＵＥＮＣＥ属性であり、特定のアラーム属性と関数の発生時に起動して１つのプロセス・ユニット・ステップから別のプロセス・ユニット・ステップヘの進行を阻止する、これは発生するこのような進行に対し他のすべての条件が満たされていても変わらない。これに関し、アラームは好ましい実施形態におけるオプションのプロセス・ユニット・ステップ条件であり、「ステップの維持」ＳＥＱＵＥＮＣＥ属性の使用により、アラーム発生条件の決定の基本を提供し、その後制御方法が異なるプロセス・ユニット・ステップに移動できる。
【０４４９】
プロセス・ユニット・ステップを変更する別の方法はＳＴＥＰコマンドを介するものであり、その進行はＳＥＱＵＥＮＣＥ中で任意に定義されたプロセス・ユニット・ステップに従う。この場合、ＴＥＲＭコマンドはプロセス・ユニット・ステップ  ｘからプロセス・ユニット・ステップ  ｘ＋１に移動するのに有効であり、ＳＴＥＰコマンドは任意のプロセス・ユニット・ステップ  ｘからプロセス・ユニット・ステップ  ｚに移動するのに使用される−これに関しては、アプリケーション・プログラム・ステートメントが完全な移動すなわち、開始プロセス・ユニット・ステップと終了プロセス・ユニット・ステップが「プロセス・ユニット・ステップｘ」と「移動の条件」の場合、「プロセス・ユニット・ステップｙ」」状態にある）に対する参照を組み込んでおり、その結果、移動は希望する優先プロセス・ユニット・ステップからだけ実行される。
【０４５０】
有効な冗長制御コンピュータ動作は、プロセス・ユニット・ステップ進行をさらに複雑にする、なぜなら各制御コンピュータにより決定される出力信号と間の基本的な同期化を必要とするからである。制御コンピュータ１０ａ、ｂ間の差異を調整する方法で必要なことは、プロセス・ユニット・ステップ・ステータス（状態）のこのような移動は基本的に、リアルタイムと基本的に同時間で、両方の制御コンピュータ１０ａ、ｂのデータベース内で確実に実行されることである。この要求に対する解決法は、（ａ）第１に、各ＳＥＱＵＥＮＣＥに対するプロセス・ユニット・ステップ制御コンピュータ実行ロジックとして、予定プロセス・ユニット・ステップ進行を可能にし、（ｂ）次に（Ｈｚ１サイクル時間以内）、両方の制御コンピュータ間で予定プロセス・ユニット・ステップ進行を調整し、（ｃ）予定プロセス・ユニット・ステップ進行が存在するＳＥＱＵＥＮＣＥに対する制御コンピュータ内の調整が終了時に、予定プロセス・ユニット・ステップ進行を実現することである。これに関しては、各ＳＥＱＵＥＮＣＥに対する制御コンピュータ実行ロジックが予定プロセス・ユニット・ステップを決定するが、予定プロセス・ユニット・ステップ進行は、調整プロセスが制御コンピュータからの予定プロセス・ユニット・ステップ進行上で実行完了するまで、制御コンピュータ１０のデータベース内には実行されない。適正な調整方法には、「最も安全な」プロセス・ユニット・ステップを「使用」する要件を含む。Ｆｏｘ（フォックス）とＤｏｇ（ドッグ）データがＨｚ１ステップ・リンク維持２６１４で入力信号調整用の主リンクを通して変化した直後に、ＳＥＱＵＥＮＣＥロジックが新しい秒で実行される前に、Ｈｚ１サイクルにおけるプロセス・ユニット・ステップの変更がなされる。これは調整されたプロセス・ユニット・ステップ・データと共に、調整された入力データを備え、ＳＥＱＵＥＮＣＥ開始２５４６においてＳＥＱＵＥＮＣＥプログラム実行開始時に全ＳＥＱＵＥＮＣＥで使用される。
【０４５１】
図５８は、このプログラムに対するプロセス・ユニット・ステップ・モデル６９００でのプロセス・ユニット・ステップ進行方法を示す。モデル６９００では、両方の制御コンピュータのＨｚ１サイクルの間、プログラムされた全ＳＥＱＵＥＮＣＥに対し、各ＳＥＱＵＥＮＣＥが現在のプロセス・ユニット・ステップに関する均一な情報を持つことができる（これはまた、プロセス・ユニット・ステップ進行と使用に対する関連属性すべてを効果的に調整する−例えば、ＳＳＴＥＰ：ＳＥＱＵＥＮＣＥに対する現在のプロセス・ユニット・ステップ、ＳＴＩＭＥ：現在のプロセス・ユニット・ステップ内の時間、ＳＨＯＬＤ：ＪＳＴＥＰによってだけ無効にできるＳＥＱＵＥＮＣＥ内のプロセス・ユニット・ステップ維持の存在、ＭＡＸ：ＪＳＴＥＰによる場合を除き、アラームが鳴り、関連ビットがセットされる前に、プロセス・ユニット・ステップに許可される最大時間、ＭＩＮ：ＪＳＴＥＰによる場合を除き、プロセス・ユニット・ステップが終了する前に必要な最小時間、ＨＯＬＤ：ＪＳＴＥＰによってだけ無効にできる現在のプロセス・ユニット・ステップの維持の存在）。図５８では、「Ｐｒｏｐ．ＰＵ  Ｓｔｅｐ」６９０１、６９０２、６９０３、６９０４、６９０５、６９０６が３つの分離して示されたＳＥＱＵＥＮＣＥロジック・セクションの各々内の「予定「プロセス・ユニット・ステップ変更を表す、ここではエレメント６９０７で示されたＳＥＱ  １がＦｏｘのＳＥＱ  １を表し、エレメント６９１０で示されたＳＥＱ  １がＤｏｇのＳＥＱ  １を表し、エレメント６９０８で示されたＳＥＱ  ２がＦｏｘのＳＥＱ  ２を表し、エレメント６９１１１で示されたＳＥＱ  ２がＤｏｇのＳＥＱ  ２を表し、エレメント６９０９で示されたＳＥＱ  ｎがＦｏｘのＳＥＱ  ｎを表し、エレメント６９１２で示されたＳＥＱ  ｎがＤｏｇのＳＥＱ  ｎを表す。出力６９１５は、出力６７０７に割り当てるＦｏｘ出力であり、出力６９２０は、出力６７０３に割り当てるＤｏｇ出力である。」Ｐｒｏｐ．ＰＵ  Ｓｔｅｐ調整「は、図２０のステップ調整２６０９ｂに対応付ける。モデル６９００では、エレメント６９３０で示される」Ｓｐ．Ｃａｌｃ／Ａｌｍ「が特定計算とＦｏｘ内のＳＥＱ  ｎに対するアラームを示し、エレメント６９３１はＦｏｘのＨｚ１サイクルにおけるプロセス・ユニット・ステップ変更を計算する」Ｐｒｏｐ．ＰＵＳｔｅｐ「６９０６の決定を示し、ＡＯ／ＤＯ／ＤＡ  ６９３２は、ＦｏｘのＳＥＱ  ｎに対するアナログ出力、デジタル出力、デジタル中止信号を示す。
【０４５２】
ＴＥＲＭとＳＴＥＰ信号は、（ａ）オペレータにより、ＭＣＵ、ＳＣＵ、またはオペレーション・ステーションを通して入力されるマニュアルのステップ変更命令、または（ｂ）ＪＳＴＥに優先する優先度を持たない。これらステップ進行コマンドのどれかが同一秒中にアクティブにならない場合は、ＪＳＴＥＰ関数呼出しプロセス・ユニット・ステップが最優先度を持つ。複数のプロセス・ユニット・ステップ進行コマンドが、オペレータ入力またはＪＳＴＥＰのどちらにもよらずに同一秒中でアクティブになる場合は、優先度は、優位のＳＥＱＵＥＮＣＥに対し定義された最終のプロセス・ユニット・ステップ変更の内容になる。
【０４５３】
「予定ステップ」のデータがＳＳＴＥＰに含まれる値と異なる値を示すときだけ、プロセス・ユニット・ステップ進行が実行される。
【０４５４】
有効なＪＳＴＥＰ関数呼出しステータスの定義は、ＳＥＱＵＥＮＣＥのすべてのプロセス・ユニット・ステップ維持ステータスを無効にして、「通常」動作よりリスクが少ないと考えられる状態に対する（またはその方向に）装置８４の動的状態の変更を起動する。これに関し、装置８４の動的および総合ステータスは、動的流体動作の完全および即時停止が、異常によっては最も安全な動作でなく、むしろ動作の一時的なリスク低下状態（これに限定されないが、例えば、制御された冷却およびシステム内への流量の減少）が通常動作を続行できない装置８４の最良の安全を達成するのに最適な望ましい方法（全制御エレメントの完全停止に代わる方法のような）を定義するようにできる。装置８４のこの「制限された」（すなわち、「抑制され」、「限定され」、「限られた」）動作遮断はＪＳＴＥＰ関数呼出しに応答して制御コンピュータにより実行される、この時、ＴＲＵＥ（真）としてアクティブになり、またＨｚ１、Ｈｚ１０、Ｈｚ１００での実行におけるマシン・オペレーション・コードがＪＳＴＥＰ関数呼出しで定義されるプロセス・ユニット・ステップに相当するコンピュータ実行ロジックを備える。したがってＪＳＴＥＰ関数呼出しは、実際はＳＥＱＵＥＮＣＥの属性のデータロジック・オブジェクトであり、制御コンピュータ１０が装置８４を制御する特定の動作方法内で制限された遮断変更を実行するのに利用される。このように、ＪＳＴＥＰ関数呼出しは、制限された遮断ステータスの処理制御オブジェクトを構成する。複数の異なるＪＳＴＥＰ関数呼出し方法はアプリケーション・プログラムで管理され、適合される。しかし、可能な異なるＪＳＴＥＰ関数呼出し間で確立された明確な優先度を有することにより、遮断の明確に決定された優先度が常に存在することが重要である。したがって、多くのレベルの緊急の遮断を管理している最も重要なＪＳＴＥＰ関数呼出しの決定的な選択のために、好ましい実施形態では、優先度属性パラメータを有する制限された遮断ステータス処理オブジェクト形式を提供し、その遮断ステータス処理オブジェクトが複数の（例えば５つ）の優先度レベルをサポートする。したがって一般制御領域でのＪＳＴＥＰ関数呼出しは、特定ＳＥＱＵＥＮＣＥの属性であり、そのＳＥＱＵＥＮＣＥ用に定義された制御コンピュータ実行ロジック内で決定される。
【０４５５】
ＳＩＰ領域は、アプリケーション・プログラム内に少なくとも１つのＳＩＰセクション（ファイル）から構成されており、コンパイル・トランスレータ内に設定されたＳＩＰルールを考慮してコンパイルを行う。ＳＩＰルールセットはロジック進行・データ・タイプ・データ・安全に対するＳＩＬ一致コンパイルを備える。アプリケーション・プログラム内の一般目的制御セクション（最低限１つのファイル）はＳＩＰルールに関係なくコンパイルされる。前述の点より、プロセス・ユニット・ステップはＳＩＰ領域関連に対する属性内に識別子を持つ必要がある。ＪＳＴＥＰ関数呼出しは、現在のプロセス・ユニット・ステップを終了し、遮断プロセス・ユニット・ステップに移動（ＡＲＢＬＩＮＫ  ２５２６の属性に対し予定プロセス・ユニット・ステップ・テーブル中の、コマンドで指定された遮断ステップ数を入力することにより）するためのＳＥＱＵＥＮＣＥを準備する。有効なプロセス・ユニット・ステップ変更は、その後ＳＴＥＰ  ＡＤＶＡＮＣＥ（ステップ進行）２５３１で実行される。ＪＳＴＥＰ関数呼出しは、（コマンドＴＥＲＭおよびＳＴＥＰを介するプロセス・ユニット・ステップ変更に優先する）ＭＣＵ、ＳＣＵまたはオペレータ・ステーションを介したマニュアルのプロセス・ユニット・ステップ変更コマンド（コマンドＴＥＲＭおよびＳＴＥＰを介するプロセス・ユニット・ステップ変更に優先する）に対し優先する。モデル６９００に対する調整の実行では、優先度が以下のように実行される。
【０４５６】
１．ＪＳＴＥＰ関数呼出しが、ＪＳＴＥＰ関数呼出しを決定する優先度属性を持つ最優先度を実行する。前記のＪＳＴＥＰ関数呼出しが処理されるのは、ＪＳＴＥＰ関数呼出しの複数発生が、各ＪＳＴＥＰに対し識別された特定のプロセス・ユニット・ステップを持つＳＥＱＵＥＮＣＥに対する予定プロセス・ユニット・ステップ・セットに対し識別される場合である。ＪＳＴＥＰ関数呼出しに対し識別されたプロセス・ユニット・ステップは、ＳＩＰ変数であり、ＪＳＴＥＰ関数呼出しはＳＩＰ領域内に作られ得る。
【０４５７】
２．オペレータのプロセス・ユニット・ステップ変更要求は中程度の優先度である（Ｈｚ１サイクルに提案された最後のプロセス・ユニット・ステップ変更は処理される）。
【０４５８】
３．ＳＴＥＰまたはＴＥＲＭコマンドを通じプログラムされた自動プロセス・ユニット・ステップ変更は最も優先度が低い（Ｈｚ１サイクルに提案された最後のプロセス・ユニット・ステップ変更は処理される）。
【０４５９】
ＳＥＱＵＥＮＣＥ制御プログラムの実行中、プロセス・ユニット・ステップ変更コマンドは、好ましい実施形態において、前記ルールに従い優先度付けされ、単一Ｈｚ１サイクル例のＳＥＱＵＥＮＣＥに対する複数のプロセス・ユニット・ステップ変更要求に対処し、調停プロセスに対する単一プロセス・ユニット・ステップ変更要求に追いつく。
【０４６０】
上記優先度ルールは以下のことが可能である：
１．制御コンピュータ実行ロジックが、アクティブなＪＳＴＥＰによりＳＥＱＵＥＮＣＥを「シャットダウン」プロセス・ユニット・ステップに強制した場合、干渉するものはない：プロセス・ユニット・ステップを定義する他のＴＥＲＭまたはＳＴＥＰのシフトは同時にアクティブではなく、マニュアルプロセス・ユニット・ステップ変更要求を施行する、ＭＣＵまたはＳＣＵを通じたオペレータの入力も同時にアクティブではない。
【０４６１】
２．複数ＪＳＴＥＰ関数呼出しが、同一Ｈｚ１サイクル例の同一ＳＥＱＵＥＮＣＥに対しアクティブである場合、優先度ルールは最優先度（例えば、１〜５、この場合１が最優先度で、５が最も優先度が低い）を持つＪＳＴＥＰ関数呼出しが実行される。
【０４６２】
３．オペレータがプロセス・ユニット・ステップ変更要求を入力（ＭＣＵ、ＳＣＵ、またはオペレータ・ステーションを介して）し、制御プログラムがプログラムプされたＴＥＲＭまたはＳＴＥＰのプロセス・ユニット・ステップ移動アクティブを持つ場合、オペレータは有効を入力する。
【０４６３】
４．同一ＳＥＱＵＥＮＣＥに対し複数のＴＥＲＭまたはＳＴＥＰのプロセス・ユニット・ステップ移動ステートメント・アクティブの場合、最後にプログラムされたステートメントが有効になる。
【０４６４】
単一制御コンピュータが装置８４の制御でアクティブの場合、プロセス・ユニット・ステップ調整は実行できず、好ましい実施形態では、調整の利点無しにルールに従ってプロセス・ユニット・ステップ進行が進行する。
【０４６５】
以下の好ましい実施形態のアプリケーション・プログラム例および図５９は、前記説明に関するリアルタイムの制御コンピュータ実行ロジックのデータベース内の変更発生の特性を示す。
【０４６６】
ＳＥＱ（１）の開始
再開始の場合は、プロセス・ユニット・ステップ（１）
ＤＭ（１）の場合は、プロセス・ユニット・ステップ（２）
プロセス・ユニット・ステップ（１）の場合は、ＤＯ（１）
プロセス・ユニット・ステップ（２）の場合は、ＤＯ（２）
ＳＥＱ（１）の終了
ＳＥＱ（１１）の開始
再開始の場合は、プロセス・ユニット・ステップ（１１）
プロセス・ユニット・ステップ（２）の場合は、プロセス・ユニット・ステップ（１２）
プロセス・ユニット・ステップ（１１）の場合は、ＤＯ（１１）
プロセス・ユニット・ステップ（１２）の場合は、ＤＯ（１２）
ＳＥＱ（１１）の終了
ＳＥＱ（２１）の開始
再開始の場合は、プロセス・ユニット・ステップ（２１）
プロセス・ユニット・ステップ（１２）の場合は、プロセス・ユニット・ステップ（２２）
プロセス・ユニット・ステップ（２１）の場合は、ＤＯ（２１）
プロセス・ユニット・ステップ（２２）の場合は、ＤＯ（２２）
ＳＥＱ（２１）の終了
図５９に関しては、前記疑似コードは図の注釈と識別子と共に以下に再指定される−図５９の特定データ変数に関する位置レベルの変化はＦＡＬＳＥ（偽）からＴＲＵＥ（真）またはＴＲＵＥからＦＡＬＳＥへの移動を示す。これに関し、変化の時間は１秒間以上であり、予定された変化の時間と実行時間の関係を示している、−実行では、変化はステップ関数である。
【０４６７】
ＳＥＱ（１）の開始
再開始の場合は、プロセス・ユニット・ステップ（１）７００２
「再開始」は、図５９で「秒１」（ｔ０からｔ１）を定義する
ＤＭ（１）７００１の場合は、プロセス・ユニット・ステップ（２）７００３
「ＤＭ」は「デジタルのマニュアルによる値変更」である−オペレータにより変数は任意の時間に変更される
プロセス・ユニット・ステップ（１）７００２の場合は、ＤＯ（１）７００４
「ＤＯ」は、装置８４に対するデジタル出力信号になる「デジタル出力」
プロセス・ユニット・ステップ（２）７００３の場合は、ＤＯ（２）７００５
ＳＥＱ（１）の終了
ＳＥＱ（１１）の開始
再開始の場合は、プロセス・ユニット・ステップ（１１）７００６
プロセス・ユニット・ステップ（２）７００３の場合は、プロセス・ユニット・ステップ（１２）７００７
「ＳＥＱ  １１は、ＳＥＱ  １のプロセス・ユニット・ステップ（２）７００３のステータスを表すことできることに注意する」
プロセス・ユニット・ステップ（１１）７００６の場合は、ＤＯ（１１）７００８
プロセス・ユニット・ステップ（１２）７００７の場合は、ＤＯ（１２）７００９
ＳＥＱ（１１）の終了
ＳＥＱ（２１）の開始
再開始の場合は、プロセス・ユニット・ステップ（２１）７０１０
プロセス・ユニット・ステップ（１２）７００７の場合は、プロセス・ユニット・ステップ（２２）７０１１
「再度、ＳＥＱ  １１は、ＳＥＱ  １１のプロセス・ユニット・ステップ（１２）７００７のステータスを表すことができることに注意する」
プロセス・ユニット・ステップ（２１）７０１０の場合は、ＤＯ（２１）７０１２
プロセス・ユニット・ステップ（２２）７０１１の場合は、ＤＯ（２２）７０１３
ＳＥＱ（２１）の終了
資料・ハードウェア仕様の内容・ソフトウェア仕様の内容に関する前記の情報（装置８４を制御するのに使用する制御コンピュータ実行ロジックの特定例を開発するために、プログラム・エンジニアの利用する制御コンピュータのオペレーティング・システム機能およびアプリケーション・プログラム機能の両方に関係する）すべては全体システムを構成している増分ピースを記述している。記述した実施形態の実現において結合している主要な複数のロジック・ピースは、データフローでの全体集合として有効である。図６０〜６７は、データフロー図レベルで記載して示し、多くのロジック・コンポーネントの相互作用は、ＳＩＬ  １、ＳＩＬ  ２、ＳＩＬ  ３レベルとして承認される現在の必要条件を満たす形で（認証機関により承認されるような、他の組織的および品質管理要件と共に）、一般プロセス制御性能および安全遮断性能の両方を組み込んでいる全体システムが総合プロセス制御システムを実現するのに有効であることを前に述べた。図６０の説明の最初に、制御コンピュータのリアルタイム実行態様は、装置８４を表す７１０２のフィールドと、それを用いてリアルタイム実行をインタフェースする主要および代替ユニットを示す高速コンピュータ・ゲートウェイ（ＨＳＩ）と対する相互作用を持つエレメント７１０１に示されている。標準ＣＰＵ駆動方法で実現される低速通信インタフェース（ＬＳＩ）はエレメント７１０４に示されている。エレメント７１０５はネットワーク・コントローラ・ボードを使用して実現される別の制御コンピュータ・システムとのインタフェースを示す。７１０６のシリアル・グラフィックス・システムは、図３４Ａ１〜３４Ｅに関して述べた方法でリアルタイム実行７１０１に接続する。図３３Ａと３３Ｂに関して述べたように、ＭＣＵとＳＣＵへのインタフェースはエレメント７１０８で表される。したがって図６０は、リアルタイム実行を持つ一般制御コンピュータ・システム、または中心位置にある制御コンピュータオペレーション・システムに対する全体データフローを示す。リアルタイム実行７１０１と低速通信セクション７１０４間のインタフェースは、変数タイプとしてＣＩＳＳの標記を利用する。ＣＩＳＳは「通信インタフェースサブシステム」を表す。エレメント７１０３で示した高速通信インタフェース、またはエレメント７１０４で示した低速通信インタフェースの使用は、好ましい実施形態で代替的に実現され、すべての特定性システム例で両方がアクティブになることはない。
【０４６８】
次に図６１について説明する。リアルタイム実行が、エレメント７２０２で示した遠隔現地のユニット・システムとのインタフェースを持つ、インタフェースエレメント７２０２で示した実際に冗長モードで動作している制御コンピュータ・ペア間の相互作用で詳しく示されている。図６１ではさらに、「ＣＣ」の標記は制御コンピュータを示し、ＨＳＩの標記はエレメント７１０３で前に示した高速インタフェースに対するものである。図６２Ａと６２Ｂは、エレメント７２０１で示す図６１の制御コンピュータ・ペアを、左側制御コンピュータと右側制御コンピュータの両方（エレメント７３０１と７３０２で示す）に分離している。エレメント７３０３と７３０４は、前にのべたように、２台の制御コンピュータ間の通信を可能にするネットワーク・コントローラ・ボードを表す。７３０２で示すＦｏｘ制御コンピュータに対する通信と、７３０１で示すＤｏｇ制御コンピュータに対する通信とは基本的に同一であり、図６２Ａと６２Ｂのスペースの説明は発生したすべての同様な通信の詳細な複写を除かれている。図６２Ａと６２Ｂをさらに説明する。「ＮＣＢ」はネットワーク・コントローラ・ボードを表す。イニシャル「ＷＤ」はウォッチドッグ６０３を表し、「ＳＧ」はシリアル・グラフィックス・システムを表す。次に図６３Ａ、６３Ｂ、６３Ｃについて説明する。エレメント７３０２内にある内部の別の拡張、この特定のシリーズのデータフロー図用の右側制御コンピュータとして設計されたＦｏｘ制御コンピュータのＣＰＵが示されている（データ図はＤｏｇにも適合する）。これに関し、通信は、制御コンピュータの特定タスクに専用の異なる特定ブロック間のエレメント７４０４で示すデータベースにより明示的または暗示的に影響される。これらの特定タスクには、ＳＥＱＵＥＮＣＥプログラムを含むエレメント７４０２で示したアプリケーション・プログラムのコーディング、７４０３で示す調整、７４０４で示す入力／出力信号処理、エレメント７４０５で説明した診断、７４０６で示した２台のシステム間の同期化、７４０７で示したデバッグ作業、７４０８で示したタスク制御がある。図６４はエレメント７４０５で示す診断のサブコンポーネントへの拡張を示している。同様に、図６５では、エレメント７４０４のＩ／Ｏ信号処理は、各種データフロー図サブオブジェクト間のデータ交換を示す追加データフロー図に拡張される。ＲＥＳＰＡＮで示すエレメント７７０１に関しては、ＲＥＳＰＡＮは好ましい実施形態のルーチンであり、アナログ入力の特性を修正または変更して、現場測定デバイス（装置８４内に配置された、特定データを測定するデバイス）の正常応答が測定の応答範囲全体で直線データを発生しないときに直線化信号を表す。エレメント７７０２はＨｚ１０とＨｚ１００に対する高速出力を示す。図６６は図６３Ａの調整用のエレメント７４０３に対する別のデータフロー図を示す。これに関し、プロセス・ユニット（ＰＵ）・ステップ調整（図５５〜５９に関して説明）が、エレメント７８０２で処理された以前の入力調整とエレメント７８０３で処理された出力調整を用いて、データブロック・フロー・アイテム７８０１内で拡張される。図６７は図６３Ｂのデータフロー図のエレメント７４０１で示す通信に対する内部データフロー図を示す。これに関し、エレメント７９０１のＲＭＵＸオブジェクトが制御コンピュータと遠隔の現場ユニット間のインタフェースに関係する。エレメント７９０２のアプリケーション・プログラムのデータ格納は図３Ａのデータ・メモリとデータ・シャドウ・メモリ内に存在する。
【０４６９】
本発明を図示して説明してきた。これに関しては、前述の開示の便宜を与えられると、当業者には、本発明の精神から逸脱することなく、ここで記載した特定の実施形態に対する変更が可能であることは明白である。このような変更も本発明の範囲内にあるものと考える。本発明は添付のクレームの範囲と精神によってのみ制限されるものである。
【図面の簡単な説明】
本発明の詳細は詳細な記述および図面を調べることによって十分に理解されるはずである。
【図１】安全遮断能力を備えたプロセス制御システムにおいて必要とされる従来の技術におけるキードメインの従来技術的概観図である。
【図２】本発明従って安全遮断能力を備えたプロセス制御システムにおいて必要とされるキードメインの統一システムの概観図である。
【図３Ａ】制御コンピュータの構成図である。
【図３Ｂ】制御コンピュータに関して入力および出力信号「Ｃａｎ」に設置された回路構成要素を含むために図３Ａに示す構成図を拡張した拡張構成図である。
【図４】アクティブに冗長な制御コンピュータシステムの構成図である。
【図５】制御コンピュータのバス構造に接続されたリンク回路の構成図である。
【図６】制御コンピュータにおけるＨｚ１タイムドメインにおいて実施されるプログラムタスクのシーケンスの流れ図である。
【図７】アクティブに冗長な制御コンピュータによる対応する入力信号の相互交換においてドッグとして規定された制御コンピュータにおいて実行されるプロセスを示す流れ図である。
【図８】アクティブに冗長な制御コンピュータによる対応する入力信号の相互交換においてフォックスとして規定された制御コンピュータにおいて実行されるプロセスを示す流れ図である。
【図９Ａ】プログラム（Ｐ）メモリＲＡＭおよびＲＯＭ回路、及び、シャドウ回路の制御コンピュータにおける配置を示す構成流れ図である。
【図９Ｂ】プログラム（Ｐ）メモリＲＡＭおよびＲＯＭ回路、及び、シャドウ回路の制御コンピュータにおける配置を示す構成流れ図である。
【図１０】プログラム（Ｐ）メモリＲＡＭ＆ＲＯＭ回路とシャドウ回路、データ（Ｄ）メモリ回路とシャドウ回路、及び、Ｑメモリ＆Ｃメモリ回路とシャドウ回路の比較において記憶およびシャドウメモリ診断用に使用されるコンパレータの回路図である。
【図１１Ａ】データ（Ｄ）メモリ回路およびシャドウ回路の制御ピュータにおける配置を示す構成流れ図である。
【図１１Ｂ】データ（Ｄ）メモリ回路およびシャドウ回路の制御ピュータにおける配置を示す構成流れ図である。
【図１２】Ｑメモリ＆Ｃメモリ回路、及び、シャドウ回路の制御コンピュータにおける配置を示す構成流れ図である。
【図１３Ａ】マザーボード、Ｉ／Ｏドライバボード、Ｉ／Ｏボオード、及び、メザニンボード回路の回路図である。
【図１３Ｂ】マザーボード、Ｉ／Ｏドライバボード、Ｉ／Ｏボオード、及び、メザニンボード回路の回路図である。
【図１４】デジタル出力アドレス妥当性検査回路の回路図である。
【図１５】米国特許第５，５８３，７５７号における図８（ｃ）に施された改変を示す図である。この場合、好ましい実施形態のシステムにおいては、入力信号調停（制御コンピュータがタスクＢモードにおいて実行中であったとき以前に実行された）における或る特定の条件付きロジックが当該米国特許に関して明示された方法から除去されている。
【図１６】米国特許第５，５８３，７５７号における図８（ｅ）に施された改変を示す図である。この場合、好ましい実施形態のシステムにおいては、入力信号調停における或る特定のロジックが当該米国特許に関して明示された方法から変更されている。
【図１７】米国特許第５，５８３，７５７号における図８（ｆ）に施された改変を示す図である。この場合、好ましい実施形態のシステムにおいては、入力信号調停における或る特定のロジックが当該米国特許に関して明示された方法から変更されている。
【図１８】米国特許第５，５８３，７５７における図８（ｈ）に施された改変を示す図である。この場合、好ましい実施形態のシステムにおいては、入力信号調停（制御コンピュータがタスクＢモードにおいて実行中であったとき以前に実行された）における或る特定の条件付きロジックが当該米国特許に関して明示された方法から除去されている。
【図１９】リアルタイムにおける制御プログラムのＨｚ１サブポーションの実行の概要を示す図である。
【図２０】図１９の概観に関するリンク調停の詳細を示す図である。
【図２１Ａ】承認されたシステムに関する診断方法の実行における重要成分を示す制御コンピュータの構成流れ図である。
【図２１Ｂ】承認されたシステムに関する診断方法の実行における重要成分を示す制御コンピュータの構成流れ図である。
【図２２】制御コンピュータを遠隔フィールドユニットにインターフェイスするネットワークコントローラへの制御接続をインターフェイスするための実行可能マシンオペレーションコードの流れ図である。
【図２３Ａ】制御コンピュータにおいて遠隔フィールドユニットに関して実行される診断のための実行可能なマシンオペレーションコードの流れ図である。
【図２３Ｂ】制御コンピュータにおいて遠隔フィールドユニットに関して実行される診断のための実行可能なマシンオペレーションコードの流れ図である。
【図２３Ｃ】制御コンピュータにおいて遠隔フィールドユニットに関して実行される診断のための実行可能なマシンオペレーションコードの流れ図である。
【図２３Ｄ】制御コンピュータにおいて遠隔フィールドユニットに関して実行される診断のための実行可能なマシンオペレーションコードの流れ図である。
【図２３Ｅ】制御コンピュータにおいて遠隔フィールドユニットに関して実行される診断のための実行可能なマシンオペレーションコードの流れ図である。
【図２４】遠隔フィールドユニットへのインタフェースにおけるネットワークコントローラ回路に関する実行可能なマシンオペレーションコードの流れ図である。
【図２５】情報をネットワークコントローラから遠隔フィールドユニットに送るネットワークコントローラ回路における方法論に関する実行可能マシンオペレーションコードの流れ図である。
【図２６】遠隔フィールドユニットからネットワークコントローラへの情報を受け取るネットワークコントローラ回路における方法論に関する実行可能マシンオペレーションコードの流れ図である。
【図２７】ネットワークコントローラ回路との通信における信号との対話および信号のコンプリメントを示す遠隔フィールドユニットにおける実行可能マシンオペレーションコードの流れ図である。
【図２８】ネットワークコントローラ回路との通信における信号との対話および信号のコンプリメントを示す遠隔フィールドユニット内の実行可能マシンオペレーションコードにおけるエコー機能性の流れ図である。
【図２９】ネットワークコントローラ回路との通信における信号との対話および信号のコンプリメントを示す遠隔フィールドユニット内の実行可能マシンオペレーションコードにおけるデジタル出力信号機能性の流れ図である。
【図３０】実行可能マシンオペレーションコードにおけるアナログ出力トラック信号機能性の流れ図である。
【図３１】２つの制御コンピュータの各々が他方の制御コンピュータと異なるアプリケーションプログラムバージョンを実行する時の実行可能マシンオペレーションコードにおけるアナログ出力トラック信号機能性の流れ図である。
【図３２】左の制御コンピュータと右制御コンピュータの間におけるデータ交換およびデータの調停に関する実行可能マシンオペレーションコードの流れ図である。
【図３３Ａ】オペレータによって入力を制御コンピュータのマスタ制御ユニットへ切り替えるプロセスユニットステップの実施に関する実行可能マシンオペレーションコードの流れ図である。
【図３３Ｂ】オペレータによって入力を制御コンピュータのマスタ制御ユニットへ切り替えるプロセスユニットステップの実施に関する実行可能マシンオペレーションコードの流れ図である。
【図３４Ａ１】好ましい実施形態において用いられる直列グラフィックスシステムの診断に関する実行可能マシンオペレーションコードの流れ図である。
【図３４Ａ２】好ましい実施形態において用いられる直列グラフィックスシステムの診断に関する実行可能マシンオペレーションコードの流れ図である。
【図３４Ａ３】好ましい実施形態において用いられる直列グラフィックスシステムの診断に関する実行可能マシンオペレーションコードの流れ図である。
【図３４Ｂ】好ましい実施形態において用いられる直列グラフィックスシステムの診断に関する実行可能マシンオペレーションコードの流れ図である。
【図３４Ｃ】好ましい実施形態において用いられる直列グラフィックスシステムの診断に関する実行可能マシンオペレーションコードの流れ図である。
【図３４Ｄ】好ましい実施形態において用いられる直列グラフィックスシステムの診断に関する実行可能マシンオペレーションコードの流れ図である。
【図３４Ｅ】好ましい実施形態において用いられる直列グラフィックスシステムの診断に関する実行可能マシンオペレーションコードの流れ図である。
【図３５】ウオッチドッグの監視に関する実行可能マシンオペレーションコードの流れ図である。
【図３６Ａ】Ｈｚ１０におけるＤＩＲＥＡＤ（デジタル入力読取り）およびＤＩＦＲＥＡＤ（デジタル入力フィールド値読取り）機能性に関する実行可能マシンオペレーションコードの流れ図である。
【図３６Ｂ】Ｈｚ１０におけるＤＩＲＥＡＤ（デジタル入力読取り）およびＤＩＦＲＥＡＤ（デジタル入力フィールド値読取り）機能性に関する実行可能マシンオペレーションコードの流れ図である。
【図３７】Ｈｚ１０におけるＡＩＲＥＡＤ（アナログ入力読取り）およびＡＩＦＲＥＡＤ（アナログ入力フィールド値読取り）機能性に関する実行可能マシンオペレーションコードの流れ図である。
【図３８Ａ】制御コンピュータにおけるチェックサム及びシャドウメモリ始動診断実施に関する実行可能マシンオペレーションコードの流れ図である。
【図３８Ｂ】制御コンピュータにおけるチェックサム及びシャドウメモリ始動診断実施に関する実行可能マシンオペレーションコードの流れ図である。
【図３８Ｃ】制御コンピュータにおけるチェックサム及びシャドウメモリ始動診断実施に関する実行可能マシンオペレーションコードの流れ図である。
【図３８Ｄ】制御コンピュータにおけるチェックサム及びシャドウメモリ始動診断実施に関する実行可能マシンオペレーションコードの流れ図である。
【図３８Ｅ】制御コンピュータにおけるチェックサム及びシャドウメモリ始動診断実施に関する実行可能マシンオペレーションコードの流れ図である。
【図３９】制御コンピュータ始動におけるＰメモリチェックサムの計算に関する実行可能マシンオペレーションコードの流れ図である。
【図４０】制御コンピュータ始動におけるＱメモリチェックサムの計算に関する実行可能マシンオペレーションコードの流れ図である。
【図４１Ａ】正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する実行可能マシンオペレーションコードの流れ図である。
【図４１Ｂ】正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する実行可能マシンオペレーションコードの流れ図である。
【図４２Ａ】正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する図４１Ａおよび４１Ｂの実行可能マシンオペレーションコードのネストされた第１流れ図である。
【図４２Ｂ】正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する図４１Ａおよび４１Ｂの実行可能マシンオペレーションコードのネストされた第１流れ図である。
【図４３Ａ】正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する図４１Ａおよび４１Ｂの実行可能マシンオペレーションコードのネストされた第２流れ図である。
【図４３Ｂ】正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する図４１Ａおよび４１Ｂの実行可能マシンオペレーションコードのネストされた第２流れ図である。
【図４４Ａ】ＤＯデッドマン回路の診断的テストにおける実行可能マシンオペレーションコードの流れ図である。
【図４４Ｂ】ＤＯデッドマン回路の診断的テストにおける実行可能マシンオペレーションコードの流れ図である。
【図４５】リアルタイムにおいてＤＯデッドマン回路を診断する実行可能マシンオペレーションコードの流れ図である。
【図４６】正常Ｈｚ１サイクル期間におけるＣａｎアドレステストに関する実行可能マシンオペレーションコードの流れ図である。
【図４７】正常Ｈｚ１サイクル期間における実行可能マシンオペレーションコードボードアドレステスト実施の流れ図である。
【図４８】Ｓ１Ｌ１、Ｓ１Ｌ２、Ｓ１Ｌ３の下における操作に関して認承済みＩ／Ｏボードの位置付け及び指標付け；混合（ＳＩＬ、及び、非ＳＩＬ）ボードがシステム内に存在するならばＨｚ１サイクル実行の停止：混合ボードがシステム内に存在するならばＤＯデッドマン回路に対するストローブ起動の先行；及び、混合ボードがシステム内に存在するならば制御コンピュータへの診断の通信に関する実行可能マシンオペレーションコードの流れ図である。
【図４９】ボード上のチャネルアドレスをテストするために正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する図４３Ａおよび４３Ｂの実行可能マシンオペレーションコードのネストされた第３流れ図に関する実行可能マシンオペレーションコードの流れ図である。
【図５０】デジタル出力を設定およびリセットする能力をテストするために正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する図４３Ａおよび４３Ｂの実行可能マシンオペレーションコードのネストされた第４流れ図に関する実行可能マシンオペレーションコードの流れ図である。
【図５１】アナログ出力設定機能性テストするために正常Ｈｚ１サイクル期間中にリアルタイムにおいて実行される診断集合に関する図５３の実行可能マシンオペレーションコードのネストされた第５流れ図に関する実行可能マシンオペレーションコードの流れ図である。
【図５２】自己診断の実行を監視することに関する実行可能マシンオペレーションコードの流れ図である。
【図５３】デッドマンが非ＳＩＬ定格システムにおいてストローブされるべきかどうかの決定に関する実行可能マシンオペレーションコードの流れ図である。
【図５４】デッドマンがＳＩＬ１、ＳＩＬ２、または、ＳＩＬ３の下に定格決定されたシステムにおいてストローブされるべきかどうかの決定に関する実行可能マシンオペレーションコードの流れ図である。
【図５５】アプリケーションプログラムオリエンテーションに関する全Ｈｚ１制御サイクルの記述を示す図である。
【図５６】「プロセスユニット」概念によって変更されたアプリケーションプログラムオリエンテーションに関する全Ｈｚ１制御サイクルの記述を示す図である。
【図５７】「プロセスユニット」概念によって変更され、更に、Ｈｚ１実行におけるＳＥＱＵＥＮＣＥ考察に特に関係する制御実行ロジックを示すために変更されたアプリケーションプログラムオリエンテーションに関する全Ｈｚ１制御サイクルの記述を示す図である。
【図５８】「プロセスユニット」概念によって変更され、更に、Ｈｚ１実行におけるＳＥＱＵＥＮＣＥ考察に特に関係する制御実行ロジックを示すために変更されたアプリケーションプログラムオリエンテーションに関する全Ｈｚ１制御サイクルに関するプロセスユニットステップモデルを示す図である。
【図５９】プロセスユニットステップモデルの文脈において疑似コード例に関してリアルタイムにおいて制御コンピュータ実行ロジックのデータベースに発生する変更の性質を示す図である。
【図６０】制御コンピュータに関するシステム文脈データ流れ図である。
【図６１】制御コンピュータに関するリアルタイム実行データ流れ図である。
【図６２Ａ】制御コンピュータに関するアクティブに冗長な制御コンピュータデータ流れ図である。
【図６２Ｂ】制御コンピュータに関するアクティブに冗長な制御コンピュータデータ流れ図である。
【図６３Ａ】制御コンピュータに関するネストされた第１レベルリアルタイム実行データ流れ図である。
【図６３Ｂ】制御コンピュータに関するネストされた第１レベルリアルタイム実行データ流れ図である。
【図６３Ｃ】制御コンピュータに関するネストされた第１レベルリアルタイム実行データ流れ図である。
【図６４】制御コンピュータに関するネストされた第２レベルリアルタイム実行データ流れ図である。
【図６５】制御コンピュータに関するネストされた第２レベルＩ／Ｏハンドリングリアルタイム実行データ流れ図である。
【図６６】制御コンピュータに関するネストされた第２レベル調停リアルタイム実行データ流れ図である。
【図６７】制御コンピュータに関するネストされた第２レベル通信リアルタイム実行データ流れ図である。
【図１】
2004502205.tif 000006
【図２】
2004502205.tif 000007
【図３Ａ】
2004502205.tif 000008
【図３Ｂ】
2004502205.tif 000009
【図４】
2004502205.tif 000010
【図５】
2004502205.tif 000011
【図６】
2004502205.tif 000012
【図７】
2004502205.tif 000013
【図８】
2004502205.tif 000014
【図９Ａ】
2004502205.tif 000015
【図９Ｂ】
2004502205.tif 000016
【図１０】
2004502205.tif 000017
【図１１Ａ】
2004502205.tif 000018
【図１１Ｂ】
2004502205.tif 000019
【図１２】
2004502205.tif 000020
【図１３Ａ】
2004502205.tif 000021
【図１３Ｂ】
2004502205.tif 000022
【図１４】
2004502205.tif 000023
【図１５】
2004502205.tif 000024
【図１６】
2004502205.tif 000025
【図１７】
2004502205.tif 000026
【図１８】
2004502205.tif 000027
【図１９】
2004502205.tif 000028
【図２０】
2004502205.tif 000029
【図２１Ａ】
2004502205.tif 000030
【図２１Ｂ】
2004502205.tif 000031
【図２２】
2004502205.tif 000032
【図２３Ａ】
2004502205.tif 000033
【図２３Ｂ】
2004502205.tif 000034
【図２３Ｃ】
2004502205.tif 000035
【図２３Ｄ】
2004502205.tif 000036
【図２３Ｅ】
2004502205.tif 000037
【図２４】
2004502205.tif 000038
【図２５】
2004502205.tif 000039
【図２６】
2004502205.tif 000040
【図２７】
2004502205.tif 000041
【図２８】
2004502205.tif 000042
【図２９】
2004502205.tif 000043
【図３０】
2004502205.tif 000044
【図３１】
2004502205.tif 000045
【図３２】
2004502205.tif 000046
【図３３Ａ】
2004502205.tif 000047
【図３３Ｂ】
2004502205.tif 000048
【図３４Ａ１】
2004502205.tif 000049
【図３４Ａ２】
2004502205.tif 000050
【図３４Ａ３】
2004502205.tif 000051
【図３４Ｂ】
2004502205.tif 000052
【図３４Ｃ】
2004502205.tif 000053
【図３４Ｄ】
2004502205.tif 000054
【図３４Ｅ】
2004502205.tif 000055
【図３５】
2004502205.tif 000056
【図３６Ａ】
2004502205.tif 000057
【図３６Ｂ】
2004502205.tif 000058
【図３７】
2004502205.tif 000059
【図３８Ａ】
2004502205.tif 000060
【図３８Ｂ】
2004502205.tif 000061
【図３８Ｃ】
2004502205.tif 000062
【図３８Ｄ】
2004502205.tif 000063
【図３８Ｅ】
2004502205.tif 000064
【図３９】
2004502205.tif 000065
【図４０】
2004502205.tif 000066
【図４１Ａ】
2004502205.tif 000067
【図４１Ｂ】
2004502205.tif 000068
【図４２Ａ】
2004502205.tif 000069
【図４２Ｂ】
2004502205.tif 000070
【図４３Ａ】
2004502205.tif 000071
【図４３Ｂ】
2004502205.tif 000072
【図４４Ａ】
2004502205.tif 000073
【図４４Ｂ】
2004502205.tif 000074
【図４５】
2004502205.tif 000075
【図４６】
2004502205.tif 000076
【図４７】
2004502205.tif 000077
【図４８】
2004502205.tif 000078
【図４９】
2004502205.tif 000079
【図５０】
2004502205.tif 000080
【図５１】
2004502205.tif 000081
【図５２】
2004502205.tif 000082
【図５３】
2004502205.tif 000083
【図５４】
2004502205.tif 000084
【図５５】
2004502205.tif 000085
【図５６】
2004502205.tif 000086
【図５７】
2004502205.tif 000087
【図５８】
2004502205.tif 000088
【図５９】
2004502205.tif 000089
【図６０】
2004502205.tif 000090
【図６１】
2004502205.tif 000091
【図６２Ａ】
2004502205.tif 000092
【図６２Ｂ】
2004502205.tif 000093
【図６３Ａ】
2004502205.tif 000094
【図６３Ｂ】
2004502205.tif 000095
【図６３Ｃ】
2004502205.tif 000096
【図６４】
2004502205.tif 000097
【図６５】
2004502205.tif 000098
【図６６】
2004502205.tif 000099
【図６７】
2004502205.tif 000100
【国際公開パンフレット】
2004502205.tif 000101
2004502205.tif 000102
2004502205.tif 000103
2004502205.tif 000104
2004502205.tif 000105
2004502205.tif 000106
2004502205.tif 000107
2004502205.tif 000108
2004502205.tif 000109
2004502205.tif 000110
2004502205.tif 000111
2004502205.tif 000112
2004502205.tif 000113
2004502205.tif 000114
2004502205.tif 000115
2004502205.tif 000116
2004502205.tif 000117
2004502205.tif 000118
2004502205.tif 000119
2004502205.tif 000120
2004502205.tif 000121
2004502205.tif 000122
2004502205.tif 000123
2004502205.tif 000124
2004502205.tif 000125
2004502205.tif 000126
2004502205.tif 000127
2004502205.tif 000128
2004502205.tif 000129
2004502205.tif 000130
2004502205.tif 000131
2004502205.tif 000132
2004502205.tif 000133
2004502205.tif 000134
2004502205.tif 000135
2004502205.tif 000136
2004502205.tif 000137
2004502205.tif 000138
2004502205.tif 000139
2004502205.tif 000140
2004502205.tif 000141
2004502205.tif 000142
2004502205.tif 000143
2004502205.tif 000144
2004502205.tif 000145
2004502205.tif 000146
2004502205.tif 000147
2004502205.tif 000148
2004502205.tif 000149
2004502205.tif 000150
2004502205.tif 000151
2004502205.tif 000152
2004502205.tif 000153
2004502205.tif 000154
2004502205.tif 000155
2004502205.tif 000156
2004502205.tif 000157
2004502205.tif 000158
2004502205.tif 000159
2004502205.tif 000160
2004502205.tif 000161
2004502205.tif 000162
2004502205.tif 000163
2004502205.tif 000164
2004502205.tif 000165
2004502205.tif 000166
2004502205.tif 000167
2004502205.tif 000168
2004502205.tif 000169
2004502205.tif 000170
2004502205.tif 000171
2004502205.tif 000172
2004502205.tif 000173
2004502205.tif 000174
2004502205.tif 000175
2004502205.tif 000176
2004502205.tif 000177
2004502205.tif 000178
2004502205.tif 000179
2004502205.tif 000180
2004502205.tif 000181
2004502205.tif 000182
2004502205.tif 000183
2004502205.tif 000184
2004502205.tif 000185
2004502205.tif 000186
2004502205.tif 000187
2004502205.tif 000188
2004502205.tif 000189
2004502205.tif 000190
2004502205.tif 000191
2004502205.tif 000192
2004502205.tif 000193
2004502205.tif 000194
2004502205.tif 000195
2004502205.tif 000196
2004502205.tif 000197
2004502205.tif 000198
2004502205.tif 000199
2004502205.tif 000200
2004502205.tif 000201
2004502205.tif 000202
2004502205.tif 000203
2004502205.tif 000204
2004502205.tif 000205
2004502205.tif 000206
2004502205.tif 000207
2004502205.tif 000208
2004502205.tif 000209
2004502205.tif 000210
2004502205.tif 000211
2004502205.tif 000212
2004502205.tif 000213
2004502205.tif 000214
2004502205.tif 000215
2004502205.tif 000216
2004502205.tif 000217
2004502205.tif 000218
2004502205.tif 000219
2004502205.tif 000220
2004502205.tif 000221
2004502205.tif 000222
2004502205.tif 000223
2004502205.tif 000224
2004502205.tif 000225
2004502205.tif 000226
2004502205.tif 000227
2004502205.tif 000228
2004502205.tif 000229
2004502205.tif 000230
2004502205.tif 000231
2004502205.tif 000232
2004502205.tif 000233
2004502205.tif 000234
2004502205.tif 000235
2004502205.tif 000236
2004502205.tif 000237
2004502205.tif 000238
2004502205.tif 000239
2004502205.tif 000240
2004502205.tif 000241
2004502205.tif 000242
2004502205.tif 000243
2004502205.tif 000244
2004502205.tif 000245
2004502205.tif 000246
2004502205.tif 000247
2004502205.tif 000248
2004502205.tif 000249
2004502205.tif 000250
2004502205.tif 000251
2004502205.tif 000252
2004502205.tif 000253
2004502205.tif 000254
2004502205.tif 000255
2004502205.tif 000256
2004502205.tif 000257
2004502205.tif 000258
2004502205.tif 000259
2004502205.tif 000260
2004502205.tif 000261
2004502205.tif 000262
2004502205.tif 000263
2004502205.tif 000264
2004502205.tif 000265
2004502205.tif 000266
2004502205.tif 000267
2004502205.tif 000268
2004502205.tif 000269
2004502205.tif 000270
2004502205.tif 000271
2004502205.tif 000272
2004502205.tif 000273
2004502205.tif 000274
2004502205.tif 000275
2004502205.tif 000276
2004502205.tif 000277
2004502205.tif 000278
2004502205.tif 000279
2004502205.tif 000280
2004502205.tif 000281
2004502205.tif 000282
2004502205.tif 000283
2004502205.tif 000284
2004502205.tif 000285
2004502205.tif 000286
2004502205.tif 000287
2004502205.tif 000288
2004502205.tif 000289
2004502205.tif 000290
2004502205.tif 000291
2004502205.tif 000292
2004502205.tif 000293
2004502205.tif 000294
2004502205.tif 000295
2004502205.tif 000296
2004502205.tif 000297
2004502205.tif 000298
2004502205.tif 000299
2004502205.tif 000300
2004502205.tif 000301
2004502205.tif 000302
2004502205.tif 000303
2004502205.tif 000304
2004502205.tif 000305
2004502205.tif 000306
2004502205.tif 000307
2004502205.tif 000308
2004502205.tif 000309
2004502205.tif 000310
2004502205.tif 000311
2004502205.tif 000312
2004502205.tif 000313
2004502205.tif 000314
2004502205.tif 000315
2004502205.tif 000316
2004502205.tif 000317
2004502205.tif 000318
2004502205.tif 000319
2004502205.tif 000320
2004502205.tif 000321
2004502205.tif 000322
2004502205.tif 000323
2004502205.tif 000324
2004502205.tif 000325
2004502205.tif 000326
2004502205.tif 000327
2004502205.tif 000328
2004502205.tif 000329
2004502205.tif 000330
2004502205.tif 000331
2004502205.tif 000332
2004502205.tif 000333
2004502205.tif 000334
2004502205.tif 000335
2004502205.tif 000336
2004502205.tif 000337
2004502205.tif 000338
2004502205.tif 000339
2004502205.tif 000340
2004502205.tif 000341
2004502205.tif 000342
【国際公開パンフレット（コレクトバージョン）】
2004502205.tif 000343
2004502205.tif 000344
【国際調査報告】
2004502205.tif 000345
2004502205.tif 000346
2004502205.tif 000347
2004502205.tif 000348
2004502205.tif 000349
2004502205.tif 000350
2004502205.tif 000351
2004502205.tif 000352
2004502205.tif 000353