IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フィッシャー−ローズマウント システムズ,インコーポレイテッドの特許一覧

特許7591873スキッドコミュニケータツールの迅速な接続技法
<>
  • 特許-スキッドコミュニケータツールの迅速な接続技法 図1A
  • 特許-スキッドコミュニケータツールの迅速な接続技法 図1B
  • 特許-スキッドコミュニケータツールの迅速な接続技法 図2
  • 特許-スキッドコミュニケータツールの迅速な接続技法 図3
  • 特許-スキッドコミュニケータツールの迅速な接続技法 図4
  • 特許-スキッドコミュニケータツールの迅速な接続技法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-21
(45)【発行日】2024-11-29
(54)【発明の名称】スキッドコミュニケータツールの迅速な接続技法
(51)【国際特許分類】
   H04L 12/28 20060101AFI20241122BHJP
   G05B 19/05 20060101ALI20241122BHJP
【FI】
H04L12/28 100F
G05B19/05 F
【請求項の数】 28
【外国語出願】
(21)【出願番号】P 2020085032
(22)【出願日】2020-05-14
(65)【公開番号】P2020191632
(43)【公開日】2020-11-26
【審査請求日】2023-03-24
(31)【優先権主張番号】16/416,468
(32)【優先日】2019-05-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100096091
【弁理士】
【氏名又は名称】井上 誠一
(72)【発明者】
【氏名】アーロン・シー・ジョーンズ
(72)【発明者】
【氏名】マイケル・ジー・オット
(72)【発明者】
【氏名】ジュリアン・ケー・ナイドゥー
(72)【発明者】
【氏名】デボラ・アール・コルクラツィエール
(72)【発明者】
【氏名】カレン・ジョンソン
【審査官】長谷川 未貴
(56)【参考文献】
【文献】特開2019-053731(JP,A)
【文献】特開2007-243839(JP,A)
【文献】特表2012-527056(JP,A)
【文献】特開2009-223587(JP,A)
【文献】特開2018-073419(JP,A)
【文献】特開2001-184250(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-101/00
G05B 19/00
(57)【特許請求の範囲】
【請求項1】
プロセス制御環境においてスキッドコントローラと通信するためのスキッドコミュニケータツールであって、
初期ネットワーク設定のセットに従って構成された通信インターフェースと、
前記通信インターフェースに結合された1つ以上のプロセッサであって、
(i)プロセス制御環境におけるスキッドのための、前記通信インターフェースとスキッドコントローラとの間のリンクを検出し、
(ii)前記初期ネットワーク設定のセットが、前記リンク経由で前記スキッドコミュニケータツールと前記スキッドコントローラと間の通信チャネルを有効にしないことを検出し、
(iii)複数の事前構成されたネットワーク設定のセットの分析を行って、前記スキッドコントローラに関連付けられた特定の事前構成されたネットワーク設定のセットを特定し、
(iv)前記特定の事前構成されたネットワーク設定のセットが、前記分析を経て特定されると、
(a)前記リンクを介して前記通信チャネルを確立するために、前記特定の事前構成されたネットワーク設定のセットに従って前記通信インターフェースを自動的に構成し、
(b)前記通信チャネルを介してスキッドデータを送信または受信することによって、前記スキッドの動作を制御、監視、または構成する、ように構成された、1つ以上のプロセッサと、を備える、スキッドコミュニケータツール。
【請求項2】
前記スキッドコミュニケータツールが、前記1つ以上のプロセッサに結合されたユーザインターフェースをさらに含み、
前記1つ以上のプロセッサが、前記ユーザインターフェースを介して、前記通信チャネルを有効にするための要求を検出するようにさらに構成され、
前記1つ以上のプロセッサが、前記要求を検出することに応答して、前記通信インターフェースを自動的に構成する、請求項1に記載のスキッドコミュニケータツール。
【請求項3】
前記1つ以上のプロセッサは、前記ユーザインターフェースで提供される、前記初期ネットワーク設定のセットが前記通信チャネルを有効にしないことを示す通知を生成することによって、前記初期ネットワーク設定のセットが前記通信チャネルを有効にしないことの検出に対応するようにさらに構成され、
前記通知は、前記1つ以上のプロセッサが前記通信チャネルを有効にするための前記要求を検出する前に生成され、かつ提供される、請求項2に記載のスキッドコミュニケータツール。
【請求項4】
前記通信チャネルを介して前記スキッドデータを送信または受信することが、
前記スキッドコントローラから、スキッドパラメータから読み取られた値を受信すること、または
前記スキッドコントローラに、スキッドパラメータに書き込まれる値を送信すること、を含む、請求項1から請求項3のいずれかに記載のスキッドコミュニケータツール。
【請求項5】
前記スキッドデータが、1つ以上のスキッドルーチンおよび1つ以上のスキッドパラメータを含むスキッド構成を含み、
前記通信チャネルを介して前記スキッドデータを送信または受信することが、
(i)前記スキッドコントローラから前記スキッド構成をダウンロードすること、または
(ii)前記スキッド構成を前記スキッドコントローラにアップロードすることを含む、請求項1から請求項4のいずれかに記載のスキッドコミュニケータツール。
【請求項6】
前記スキッドコミュニケータツールが、前記1つ以上のプロセッサに結合されたユーザインターフェースをさらに含み、前記1つ以上のプロセッサが、
前記ユーザインターフェースを介して、スキッド構成を編集するためのグラフィカルユーザインターフェース(GUI)を表示し、
前記GUIを介して、前記スキッド構成内の前記1つ以上のルーチンの値、または前記1つ以上のパラメータの値を調整するための要求を受信し、
前記要求に応じて前記スキッド構成を更新し、
前記更新されたスキッド構成を前記スキッドコントローラにアップロードする、ようにさらに構成されている、請求項5に記載のスキッドコミュニケータツール。
【請求項7】
前記1つ以上のプロセッサが、前記複数の事前構成されたネットワーク設定のセットの前記分析を行って、
前記特定の事前構成されたネットワーク設定のセットが前記スキッドコントローラのスキッドIDの値に相関されていることに基づいて、前記複数の事前構成されたネットワーク設定のセットから、前記特定の事前構成されたネットワーク設定のセットを特定することによって、前記特定の事前構成されたネットワーク設定のセットを特定するように構成されている、請求項1から請求項6のいずれかに記載のスキッドコミュニケータツール。
【請求項8】
前記1つ以上のプロセッサが、前記スキッドIDの前記値を要求するメッセージを前記スキッドコントローラに送信し、前記スキッドコントローラから前記スキッドIDの前記値を受信することによって、前記通信インターフェースを介して前記スキッドIDの前記値を検出するようにさらに構成されている、請求項7に記載のスキッドコミュニケータツール。
【請求項9】
前記1つ以上のプロセッサが、前記1つ以上のプロセッサに結合されたユーザインターフェースで、前記スキッドIDの前記値を示すユーザ入力を検出することによって、前記1つ以上のプロセッサに結合された前記ユーザインターフェースを介して前記スキッドIDの前記値を検出するように構成されている、請求項7または請求項8に記載のスキッドコミュニケータツール。
【請求項10】
前記特定の事前構成されたネットワーク設定のセットが、
インターネットプロトコル(IP)アドレスと、
サブネットマスクと、を含む、請求項1から請求項9のいずれかに記載のスキッドコミュニケータツール。
【請求項11】
前記1つ以上のプロセッサが、
前記事前構成されたネットワーク設定のセットに従って、前記通信インターフェースを自動的に設定する前に、前記初期ネットワーク設定のセットをメモリに記憶し、
前記スキッドの動作を制御、監視、または構成した後に、(i)前記1つ以上のプロセッサに結合されたユーザインターフェースを介して、前記スキッドコミュニケータツールの以前のネットワーク設定を復元する要求を受信し、(ii)前記復元する要求を受信することに応答して、メモリに記憶された前記初期ネットワーク設定のセットに従って前記通信インターフェースを自動的に構成する、ようにさらに構成されている、請求項1から請求項10のいずれかに記載のスキッドコミュニケータツール。
【請求項12】
前記スキッドが、第1のスキッドであり、前記スキッドコントローラが、第1のスキッドコントローラであり、
前記特定の事前構成されたネットワーク設定のセットが、前記複数の事前構成されたネットワーク設定のセットの中の第1のセットであり、
前記複数の事前構成されたネットワーク設定のセットが、
(i)第2のスキッドのための第2のスキッドコントローラに相関された、事前構成されたネットワーク設定の第2のセットと、
(ii)前記プロセス制御環境のプラントネットワークに相関された、事前構成されたネットワーク設定の第3のセットと、をさらに含む、請求項1から請求項11のいずれかに記載のスキッドコミュニケータツール。
【請求項13】
前記1つ以上のプロセッサが、
前記特定の事前構成されたネットワーク設定のセットが、前記分析を経て特定されないとき、
(i)ーザインターフェースに、ユーザに前記スキッドコントローラのためのネットワーク設定を提供することを要求するプロンプトを表示すること、
(iii)前記ユーザインターフェースを介して、ユーザ提供のネットワーク設定のセットを受信すること、および
(iv)前記ユーザ提供のネットワーク設定を、前記特定の事前構成されたネットワーク設定のセットとしてメモリに記憶すること、によって、前記特定の事前構成されたネットワーク設定のセットを生成するようにさらに構成されている、請求項1から請求項12のいずれかに記載のスキッドコミュニケータツール。
【請求項14】
前記1つ以上のプロセッサが、
前記特定の事前構成されたネットワーク設定のセットが、前記分析を経て特定されないとき、
(i)前記通信インターフェースを介して、前記スキッドコントローラに、前記スキッドコントローラによって維持されているホワイトリストに載せられたネットワーク設定のセットに適合するネットワーク設定のセットに対する要求を送信すること、
(ii)前記通信インターフェースを介して、スキッド提供のネットワーク設定のセットを受信すること、および
(iii)前記スキッド提供のネットワーク設定を、前記特定の事前構成されたネットワーク設定のセットとしてメモリに記憶すること、によって、前記特定の事前構成されたネットワーク設定のセットを生成するようにさらに構成されている、請求項1から請求項13のいずれかに記載のスキッドコミュニケータツール。
【請求項15】
前記1つ以上のプロセッサが、前記スキッドコントローラに、前記スキッドコントローラが前記スキッドコミュニケータツールを特定または認証することを可能にする情報を送信するようにさらに構成され、
前記スキッドコントローラが、前記情報に基づいて前記スキッドコミュニケータツールを特定または認証した後に、前記スキッド提供のネットワーク設定を送信するように構成されている、請求項14に記載のスキッドコミュニケータツール。
【請求項16】
スキッドコントローラに迅速に接続し、スキッド構成をダウンロードするための方法であって、
プロセス制御環境におけるスキッドのためのスキッドコミュニケータツールとスキッドコントローラとの間のリンクを、前記スキッドコミュニケータツールによって検出することと、
前記スキッドコミュニケータツールが従って構成される初期ネットワーク設定のセットが、前記リンクを経由した前記スキッドコミュニケータツールと前記スキッドコントローラとの間の通信チャネルを有効にしないことを、前記スキッドコミュニケータツールによって検出することと、
複数の事前構成されたネットワーク設定のセットを分析して、前記スキッドコントローラに関連付けられた特定の事前構成されたネットワーク設定のセットを特定することと、
前記特定の事前構成されたネットワーク設定のセットが、前記分析を経て特定されると、
(a)前記特定の事前構成されたネットワーク設定のセットに従って前記スキッドコミュニケータツールを、前記スキッドコミュニケータツールによって自動的に構成して、前記スキッドコミュニケータツールが前記リンクを介して前記通信チャネルを確立することを可能にすることと、
(b)前記通信チャネルを介してスキッドデータを送信または受信することによって、前記スキッドの動作を制御、監視、または構成することと、を含む、方法。
【請求項17】
前記スキッドコミュニケータツールによって、前記通信チャネルを有効にする要求を検出すること、をさらに含み、
前記特定の事前構成されたネットワーク設定のセットが特定されると、前記スキッドコミュニケータツールが、前記通信チャネルを有効にする前記要求を検出することに応答して、前記自動的に構成することが応答で発生する、請求項16に記載の方法。
【請求項18】
前記スキッドコミュニケータツールのユーザインターフェースで提供される、前記初期ネットワーク設定のセットが前記通信チャネルを有効にしないことを示す通知を生成することによって、前記初期ネットワーク設定のセットが前記通信チャネルを有効にしないことの前記検出に対応すること、をさらに含み、
前記通信チャネルを有効にするための前記検出された要求は、プロンプトに応答して前記ユーザインターフェースを介して提供される、請求項17に記載の方法。
【請求項19】
前記通信チャネルを介して前記スキッドデータを送信または受信することが、
前記スキッドコントローラから、スキッドパラメータから読み取られた値を受信することと、
前記スキッドコントローラに、スキッドパラメータに書き込まれる値を送信することと、を含む、請求項16から請求項18のいずれかに記載の方法。
【請求項20】
前記スキッドデータが、1つ以上のスキッドルーチンおよび1つ以上のスキッドパラメータを含むスキッド構成を含み、
前記通信チャネルを介して前記スキッドデータを送信または受信することが、
(i)前記スキッドコントローラから前記スキッド構成をダウンロードすることと、
(ii)前記スキッド構成を前記スキッドコントローラにアップロードすることと、を含む、請求項16から請求項19のいずれかに記載の方法。
【請求項21】
前記スキッドコミュニケータツールによって、スキッド構成を編集するためのグラフィカルユーザインターフェース(GUI)を表示することと、
前記スキッドコミュニケータツールを介して、前記スキッド構成内の前記1つ以上のルーチンの値、または前記1つ以上のパラメータの値を調整するための要求を受信することと、
前記要求に応じて前記スキッド構成を更新することと、
前記更新されたスキッド構成を前記スキッドコントローラにアップロードすることと、をさらに含む、請求項20に記載の方法。
【請求項22】
前記特定の事前構成されたネットワーク構成のセットを特定するために、前記複数の事前構成されたネットワーク構成のセットを分析することは、
前記事前構成されたネットワーク設定のセットが前記スキッドコントローラのスキッドIDの値に相関されていることに基づいて、前記複数の事前構成されたネットワーク設定のセットから、前記特定の事前構成されたネットワーク設定のセットを特定すること、を含む、請求項16から請求項21のいずれかに記載の方法。
【請求項23】
前記特定の事前構成されたネットワーク設定のセットが、
インターネットプロトコル(IP)アドレスと、
サブネットマスクと、
前記IPアドレスが静的であることを示す設定と、を含む、請求項16から請求項22のいずれかに記載の方法。
【請求項24】
前記事前構成されたネットワーク設定のセットに従って、前記スキッドコミュニケータツールを自動的に構成する前に、前記初期ネットワーク設定のセットをメモリに記憶することと、
前記スキッドの動作を制御、監視、または構成した後に、(i)前記スキッドコミュニケータツールを介して、前記スキッドコミュニケータツールの以前のネットワーク設定を復元する要求を受信することと、(ii)前記復元する要求を受信することに応答して、メモリに記憶された前記初期ネットワーク設定のセットに従って前記スキッドコミュニケータツールを自動的に構成することと、をさらに含む、請求項16から請求項23のいずれかに記載の方法。
【請求項25】
前記スキッドが、第1のスキッドであり、前記スキッドコントローラが、第1のスキッドコントローラであり、
前記特定の事前構成されたネットワーク設定のセットが、前記複数の事前構成されたネットワーク設定のセットの中の第1のセットであり、
前記複数の事前構成されたネットワーク設定のセットが、
(i)第2のスキッドのための第2のスキッドコントローラに相関された、事前構成されたネットワーク設定の第2のセットと、
(ii)前記プロセス制御環境のプラントネットワークに相関された、事前構成されたネットワーク設定の第3のセットと、をさらに含む、請求項16から請求項24のいずれかに記載の方法。
【請求項26】
前記特定の事前構成されたネットワーク設定のセットが、前記分析を経て特定されないとき、
(i)前記スキッドコミュニケータツールに、ユーザに前記スキッドコントローラのためのネットワーク設定を提供することを要求するプロンプトを表示すること、
(iii)前記スキッドコミュニケータツールを介して、ユーザ提供のネットワーク設定のセットを受信すること、および
(iv)前記ユーザ提供のネットワーク設定を、前記特定の事前構成されたネットワーク設定のセットとしてメモリに記憶すること、によって、前記特定の事前構成されたネットワーク設定のセットを生成すること、をさらに含む、請求項16から請求項25のいずれかに記載の方法。
【請求項27】
前記特定の事前構成されたネットワーク設定のセットが、前記分析を経て特定されないとき、
(i)前記スキッドコミュニケータツールを介して、前記スキッドコントローラに、前記スキッドコントローラによって維持されているホワイトリストに載せられたネットワーク設定のセットに適合するネットワーク設定のセットに対する要求を送信すること、
(ii)前記スキッドコミュニケータツールを介して、スキッド提供のネットワーク設定のセットを受信すること、および
(iii)前記スキッド提供のネットワーク設定を、前記特定の事前構成されたネットワーク設定のセットとしてメモリに記憶すること、によって、前記特定の事前構成されたネットワーク設定のセットを生成すること、をさらに含む、請求項16から請求項26のいずれかに記載の方法。
【請求項28】
前記スキッドコントローラに、前記スキッドコントローラが前記スキッドコミュニケータツールを特定または認証することを可能にする情報を送信すること、をさらに含み、
前記スキッドコントローラが、前記情報に基づいて前記スキッドコミュニケータツールを特定または認証した後にのみ、前記スキッド提供のネットワーク設定を送信するように構成されている、請求項27に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、プロセス制御環境で見られるスキッドに関し、より具体的には、スキッドとの通信を迅速に確立することができるスキッドコミュニケータツールに関する。
【背景技術】
【0002】
発電、化学、石油、または他のプロセスで使用されるような分散型またはスケーラブルな制御システムなどのプロセス制御システムは、典型的には、プロセス制御ネットワークを介して少なくとも1つのホストまたはオペレータワークステーションに、およびアナログ、デジタル、または組み合わされたアナログ/デジタルバスを介して1つ以上のフィールドデバイスに、互いに通信可能に結合された1つ以上のコントローラを含む。バルブ、バルブポジショナ、スイッチ、および送信機(例えば、温度、圧力、流量センサの)であり得るフィールドデバイスは、バルブの開閉、デバイスのオン/オフの切り替え、およびプロセスパラメータの測定などのプロセスまたはプラント内の機能を行う。コントローラは、フィールドデバイスによってなされたプロセスまたはプラントの測定値を示す信号(またはフィールドデバイスに係わる他の情報)を受信し、この情報を使用して制御ルーチンを実施し、次に、バスを介してフィールドデバイスに送信される制御信号を生成して、プロセスまたはプラントの動作を制御する。フィールドデバイスおよびコントローラからの情報は、典型的には、オペレータワークステーションによって実行される1つ以上のアプリケーションで利用可能となって、オペレータが、プラントの現在の状態を見る、プラントの動作を修正する、等のような、プロセスまたはプラントに関する任意の所望の機能を行うことを可能にする。
【0003】
典型的に、プロセスプラント環境内に位置する、プロセスコントローラは、フィールドデバイスによって作成された、またはフィールドデバイスに関連付けられたプロセス測定値またはプロセス変数を示す信号(またはフィールドデバイスに係わる他の情報)を受信して、コントローラアプリケーションを実行する。コントローラアプリケーションは、プロセス制御の判定を行い、受信した情報に基づいて制御信号を生成し、HART(登録商標)やFieldbusフィールドデバイスなどの、フィールドデバイス内の制御モジュールまたはブロックと連携する、制御モジュールを実装する。プロセスコントローラ内の制御モジュールは、通信ラインまたは信号経路を介してフィールドデバイスに制御信号を送信して、それによって、プロセスの操作を制御する。
【0004】
フィールドデバイスおよびプロセスコントローラからの情報は、典型的には、プロセス制御ネットワークを介して、オペレータワークステーション、メンテナンスワークステーション、パーソナルコンピュータ、ハンドヘルドデバイス、データ履歴、レポートジェネレータ、集中データベース等などの、1つ以上の他のハードウェアデバイスに利用可能となる。ネットワークを介して通信される情報は、オペレータまたは保守担当者が、プロセスに関する所望の機能を行うことを可能にする。例えば、この情報により、オペレータが、プロセス制御ルーチンの設定を変更し、プロセスコントローラまたはスマートフィールドデバイス内の制御モジュールの動作を変更し、プロセスの現在の状態やプロセスプラント内の特定のデバイスのステータスを視認し、フィールドデバイスとプロセスコントローラとによって生成されたアラームを視認し、担当者のトレーニングまたはプロセス制御ソフトウェアのテストを目的としたプロセスの動作をシミュレーションし、プロセスプラント内の問題またはハードウェア障害を診断する、等が行えるようになる。
【0005】
フィールドデバイスは通常、プロセス制御ネットワークを介してハードウェアデバイスと通信し、ネットワークはイーサネット構成のLANであってもよい。ネットワークは、プロセスパラメータ、ネットワーク情報、および他のプロセス制御データを、様々なネットワークデバイスを通じて、プロセス制御システムの様々なエンティティに中継する。ネットワークデバイスは、典型的には、そのルーティング、フレームレート、タイムアウト、および他のネットワークパラメータを制御することにより、ネットワークを介したデータの流れを容易にするが、普通はプロセスデータ自体を変更しない。
【0006】
一部のプロセスプラントには、プロセス制御システムに様々な程度で統合され得るモジュール式プロセススキッド(「スキッド」)が含まれている。スキッドは、自己完結型のプロセスまたはサブプロセスとして作動する「ボックス内のシステム」と考えることができる。各スキッドは、一般に、プログラマブルロジックコントローラ(「PLC」)などのコントローラを含む。PLCは、一般に、1つ以上のプロセッサ、1つ以上のメモリまたは記憶構成要素、および特化された入/出力(I/O)モジュールを含む。PLCを汎用コンピュータから区別する重要な特性がいくつかあることを留意されたい。最も重要なこととして、PLCは、典型的には、より信頼性が高く、数年で測定された平均故障間隔に対して設計されている。第2に、PLCは、かなりの量の電気ノイズ、振動、極端な温度、および湿度を有する産業環境に配置することができる。第3に、PLCはプラント技術者が簡単に保守する。
【発明の概要】
【0007】
説明されている方法およびシステムは、スキッドコミュニケータツールが、ネットワーク設定を、ツールのユーザが通信を確立したいプロセス制御環境において特定のスキッドまたはネットワークによって必要とされる設定に迅速に変更することを可能にする。プロセス制御環境におけるスキッドおよびネットワークは、スキッドまたはネットワークと通信しようとする任意のデバイスに対して異なるネットワーク設定を必要とすることが多く、ユーザは、異なるネットワークまたはスキッドと通信しようとするたびにこれらのネットワーク設定をしばしば手動でロードしなければならないため、これらの方法およびシステムは役に立つ。対照的に、説明されている方法およびシステムは、スキッドコミュニケータツールが、ユーザからの最小限の入力で異なるネットワーク設定を必要とするスキッドまたは他のネットワークのいずれかにシームレスに接続、切断、および再接続することを可能にし、このためユーザが、簡単に移動してプロセス制御環境の異なる領域、ユニット、または機器と相互作用することを可能にする。
【0008】
一実施形態では、プロセス制御環境においてスキッドコントローラと通信するためのスキッドコミュニケータツールは、通信インターフェース、1つ以上のプロセッサ、メモリ、またはユーザインターフェース構成要素(例えば、タッチスクリーン、あるいはマウス、キーボード、または任意の他のタイプのボタンなどの電気機械式入力構成要素に関連付けられているものなど、ディスプレイまたは入力センサを含む)のうちのいずれか1つ以上を含む。スキッドコミュニケータツールは、(i)プロセス制御環境におけるスキッド用の、通信インターフェースとスキッドコントローラとの間のリンク(有線であってもよい)を検出する、(ii)初期ネットワーク設定のセットが、リンクを経由したスキッドコミュニケータツールとスキッドコントローラと間の通信チャネルを有効としないことを検出する、(iii)複数の事前構成されたネットワーク設定のセットの分析を行って、スキッドコントローラに関連付けられた特定の事前構成されたネットワーク設定のセットを特定する、(iv)特定の事前構成されたネットワーク設定のセットが分析を経て特定されたら、(a)リンクを介して通信チャネルを確立するために、特定の再構成されたネットワーク設定のセットに従って通信インターフェースを自動的に構成する、(b)通信チャネルを介してスキッドデータを送信または受信することによって、スキッドの動作を制御、監視、または構成する、のうちのいずれか1つ以上を行うように構成され得る。
【0009】
一実施形態では、スキッドコントローラに迅速に接続し、スキッド構成をダウンロードするための方法は、プロセス制御環境におけるスキッド用のスキッドコミュニケータツールとのスキッドコントローラとの間のリンク(有線であってもよい)を、スキッドコミュニケータツールによって、検出すること、スキッドコミュニケータツールが従って構成される設定に従って初期ネットワーク設定のセットが、リンクを経由したスキッドコミュニケータツールとスキッドコントローラとの間の通信チャネルを有効にしないことを、スキッドコミュニケータツールによって、検出すること、スキッドコントローラに関連付けられた特定の事前構成されたネットワーク設定のセットを特定するために、複数の事前構成されたネットワーク設定のセットを分析すること、特定の事前構成されたネットワーク設定のセットが分析を経て特定されたら:(a)特定の事前構成されたネットワーク設定のセットに従ってスキッドコミュニケータツールを、スキッドコミュニケータツールによって自動的に構成して、スキッドコミュニケータツールがリンクを介して通信チャネルを確立することを可能にする、(b)通信チャネルを介してスキッドデータを送信または受信することによって、スキッドの動作を制御、監視、または構成すること、のうちのいずれか1つ以上を含み得る。
【0010】
この要約が詳細な説明において以下にさらに説明される概念の選択を紹介するために提供されていることに留意されたい。詳細な説明で説明されるように、特定の実施形態は、この概要に説明されていない特徴および利点を含み得、特定の実施形態は、この概要に説明される1つ以上の特徴または利点を省略し得る。
【図面の簡単な説明】
【0011】
以下に説明される図の各々は、実施形態による、開示されたシステム(複数可)または方法(複数可)のうちの1つ以上の態様を示す。詳細な説明は、以下の図に含められる参照番号を参照する。
【0012】
図1A】スキッドのセットおよびスキッドと通信して構成するためのスキッドコミュニケータツールを含む例示的なプロセス制御環境のブロック図である。
図1B図1Aに示されるスキッドのうちの1つの斜視図である。
図2図1Bに示されるスキッドおよび図1Aに示されるスキッドコミュニケータツールのブロック図である。
図3図1Aおよび図2に示される、スキッドコミュニケータツールを迅速に構成するための例示的な方法のフローチャートであり、図2に示されるスキッドコントローラによって維持されるホワイトリスト登録設定のセットに適合する事前構成されたネットワーク設定のセットに従って、スキッドコミュニケータツールがスキッドコントローラと完全に通信することを可能にする。
図4図1Aおよび図2に示されるスキッドコミュニケータツールによって提供され得る表示例を示しており、ユーザを促して事前構成されたネットワーク設定のセットに従ってスキッドコミュニケータツールを構成することを確認させる。
図5図1Aおよび図2に示されるスキッドコミュニケータツールによって提供され得、ユーザが以前のネットワーク設定の復元を要求することを可能にする表示例を示す。
【発明を実施するための形態】
【0013】
1つ以上の産業プロセスをリアルタイムで制御するように動作するプロセスプラント、プロセス制御システム、またはプロセス制御環境には、より広いプラント環境内の特定のプロセスまたはサブプロセスを制御するモジュール式の自己完結型制御システムを各々が表す1つ以上のスキッドを含めることができ、そして、それらは、より典型的なフィールドデバイスおよび他のプロセス制御デバイスが制御される様態とは異なる様態で制御される。
【0014】
携帯用スキッド通信ツールは、スキッドに対して監視、制御、または構成動作を行い得る。スキッドの各々は、スキッドとの通信しようとする任意のデバイスに対して異なるネットワーク設定を必要とする場合があり、このため、ユーザがスキッド間で移行しようとするたびに、面倒な再構成プロセスが必要になる場合がある。本明細書に記載のスキッド通信技法、システム、装置、構成要素、デバイス、または方法の1つ以上を利用して、スキッド通信ツールは、ツールの迅速かつシームレスな再構成を可能にし、ユーザがスキッド間で容易に移行することを可能にする。
【0015】
具体的には、携帯用スキッドコミュニケーションツールは、ネットワーク設定の迅速かつシームレスな再構成を可能にし、ツールが、制限されたアクセス制御ポリシーを実装するスキッドコントローラに迅速に接続、切断、再接続することを可能にする。多くの場合、スキッドコントローラは、制限付きのアクセス制御ポリシーを実装していることに留意されたい。セキュリティ上の理由から、スキッドコントローラは、多くの場合、スキッドコントローラに接続する任意のデバイスが特定の静的IPアドレスを有するか、または少数の特定の静的IPアドレスのうちの1つを有することを要求する。その結果、現場のオペレータまたは技術者が自分のデバイスとスキッドコントローラとの間で通信を確立したいとき、一般に、スキッドコントローラが必要とする特定のIPアドレスを持つように最初に手動でデバイスを構成する必要がある(例えば、デバイスに動的にIPアドレスを割り当てられるようにするのとは対照的に、デバイスに適切なIPアドレスが割り当てられる可能性は低い)この制限されたアクセス制御ポリシーは、未知、無許可、および潜在的に敵対的な当事者がスキッドへの接続を確立するのを防ぐのに役立ち、このため、そのようなエンティティが、スキッドによって制御されるプロセスまたはサブプロセスの通常の動作を意図的または過失で妨害するのを防ぎ、そのような妨害から生じる潜在的な遅延、収益の損失、および危険な機械的障害を防止する。残念ながら、これらの制限されたアクセス制御ポリシーはまた、技術者がスキッドコントローラと通信したいときはいつでも、技術者によるデバイスの手動再構成を強制することがよくあり、これは非効率的で、技術者のワークフローを遮る。本明細書で説明する携帯用スキッド通信ツールは、ユーザがこの手動の再構成プロセスを回避することを可能にする。
【0016】
プラント環境に関しては、委託されてオンラインで動作しているとき、プロセスプラントは、プロセスプラント内で実行している1つ以上のプロセスを制御するために、プロセス制御システムと協働して物理的機能を行う1つ以上の有線または無線プロセス制御デバイス、構成要素、または要素を含む。プロセスプラントまたはプロセス制御システムは、例えば、1つ以上の有線通信ネットワークおよび/1つ以上の無線通信ネットワークを含み得る。加えて、プロセスプラントまたは制御システムは、連続、バッチ、資産管理、履歴、および他のタイプのデータベースなどの集中データベースを含んでもよい。
【0017】
以下、説明は、次に述べる事柄を説明するセクションに編成されている:(I)図1Aを参照して、1つ以上のスキッドおよびスキッドコミュニケータツールを見ることができる例示的なプラント環境、(II)図1Bおよび図2を参照して、スキッドおよびスキッドコミュニケータツールの例、(III)図3に示されるフローチャートおよび図4および図5に示される例示的な表示を参照して、スキッドコミュニケータツールによって実施され得る例示的な動作、(IV)追加の検討。
【0018】
例示的なプラント環境5
図1Aは、スキッド103~105のセットおよびスキッド103~105と通信し、スキッド103~105を構成するためのスキッドコミュニケータツール101を含む、例示的なプロセスプラント、プロセス制御システム、またはプロセス制御環境5のブロック図である。スキッド103~105の各々は、スキッド103~105と通信しようとする任意のデバイスに対して異なるネットワーク設定を必要とする。ツール101は、ツール101のユーザが通信を確立したいと望む特定のスキッドによって要求される設定にツール101がネットワーク設定を迅速に変更することを可能にするスキッドクライアントを含む。その結果、ユーザがプラント5内の異なる領域、ユニット、または機器を移動して相互作用する間、ツール101は、異なるネットワーク設定を必要とするスキッドのいずれかまたは他のネットワークにシームレスに接続、切断、および再接続することができる。
【0019】
プロセスプラント5は、プロセスの状態を特徴付ける1つ以上の「プロセス出力」(例えば、タンクレベル、流量、材料温度、等)および1つ以上の「プロセス入力」(例えば、様々な環境条件およびアクチュエータの状態、プロセス出力を変化させ得る動作)を有すると言えるプロセスを制御する。図1Aのプロセスプラントまたは制御システム5は、フィールド環境122(例えば、「プロセスプラントフロア122」)およびバックエンド環境125を含み、それらの各々は、プロセス制御バックボーンまたはデータハイウェイ10によって通信可能に接続され、それは1つ以上の有線または無線通信リンクを含み得、イーサネットプロトコルなどの任意の所望のまたは好適な通信プロトコルを使用して実装され得る。
【0020】
高レベルで(および図1Aに示されるように)、フィールド環境122は、物理的構成要素(例えば、プロセス制御デバイス、ネットワーク、ネットワーク要素等)を含み、それらはランタイム中にプロセスを制御するために動作するように配設、設置および相互接続される。例えば、フィールド環境122は、I/Oネットワーク6を含む。概して、I/Oネットワーク6の構成要素は、プロセスプラント5のフィールド環境122内に位置付けされ、配設され、またはその他の方法で含まれる。概して言えば、プロセスプラント5のフィールド環境122においては、その中に配設された物理的構成要素を使用して原料が受け取られて処理され、1つ以上の製品を生成する。
【0021】
対照的に、プロセスプラント5のバックエンド環境125は、過酷な条件およびフィールド環境122の材料から遮蔽され、または保護されたコンピューティングデバイス、オペレータワークステーション、データベースまたはデータバンク、等などの様々な構成要素を含む。いくつかの構成では、プロセスプラント5のバックエンド環境125に含まれる種々のコンピューティングデバイス、データベース、および他の構成要素および器機は、異なる物理的位置に物理的に位置付けられ得、そのうちのいくつかは、プロセスプラント5に対してローカルであってもよく、そのうちいくつかはリモートであってもよい。
【0022】
プラント5のフィールド環境122
上記のように、フィールド環境122は1つ以上のI/Oネットワークを含み、その各々は、(i)1つ以上のコントローラ、(ii)1つ以上のコントローラに通信可能に接続された1つ以上のフィールドデバイス、および(iii)コントローラとフィールドデバイスとの間の通信を容易にする1つ以上の中間ノード(例えば、I/Oカード)を含む。
【0023】
概して、少なくとも1つのフィールドデバイスが物理的機能(例えば、バルブの開閉、温度の上昇または下降、測定、状態の感知、等)を行い、プロセスプラント5で実施されるプロセスの動作を制御する。一部のタイプのフィールドデバイスは、I/Oデバイス(「I/Oカード」と呼ばれることもある)を介してコントローラと通信する。プロセスコントローラ、フィールドデバイス、およびI/Oカードは、有線または無線通信用に構成され得る。任意の数および組み合わせの有線および無線のプロセスコントローラ、フィールドデバイス、およびI/Oデバイスが、プロセスプラント環境またはシステム5内に含まれ得る。
【0024】
例えば、フィールド環境122は、I/Oネットワーク6を含み、それはI/Oカード26およびI/Oカード28を介して有線フィールドデバイス15~22のセットに通信可能に接続されたプロセスコントローラ11を含む。フィールド環境122はまた、(例えば、無線ゲートウェイ35およびネットワーク10を介して)コントローラ11に結合された無線フィールドデバイス40~46のセットを含む無線ネットワーク70を含む。無線ネットワーク70は、I/Oネットワーク6の一部であってもよく、または図1Aに示されていないI/Oネットワークの一部であってもよい(および図1Aに示されていないコントローラまたはI/Oカードを含み得る)。
【0025】
いくつかの構成(図示せず)では、コントローラ11は、バックボーン10以外の1つ以上の通信ネットワークを使用して無線ゲートウェイ35に通信可能に接続され得る。このようなネットワークには、HART(登録商標)、WirelessHART(登録商標)、Profibus、FOUNDATION(登録商標)Fieldbusなどの1つ以上の通信プロトコル、または「追加の検討」セクションで特定される通信プロトコル、規格、または技術のうちのいずれか1つ以上をサポートする任意の数のノードおよび有線または無線通信リンクが含まれ得る。
【0026】
プロセスコントローラ11
コントローラ11は、例として、Emerson Process Managementより販売されているDeltaV(商標)コントローラであってもよく、フィールドデバイス15~22および40~46のうちの少なくともいくつかを用いて、バッチプロセスまたは連続的プロセスを実施するように動作し得る。プロセス制御データハイウェイ10に通信可能に接続されていることに加えて、コントローラ11はまた、例えば、標準的な4~20mAデバイス、I/Oカード26、28、またはFOUNDATION(登録商標)Fieldbusプロトコル、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコル、等などの任意のスマート通信プロトコルと関連付けられた任意の所望のハードウェアおよびソフトウェアを使用して、フィールドデバイス15~22および40~46の少なくともいくつかに通信可能に接続されている。図1Aにおいて、コントローラ11、フィールドデバイス15~22およびI/Oカード26、28は、有線デバイスであり、フィールドデバイス40~46は、無線フィールドデバイスである。当然ながら、有線フィールドデバイス15~22および無線フィールドデバイス40~46は、任意の有線または無線プロトコルなど、任意の他の所望の規格(複数可)またはプロトコルに準拠することができる。
【0027】
プロセスコントローラ11は、1つ以上のプロセス制御ルーチン38(例えば、メモリ32内に記憶されているもの)を実施または監督するプロセッサ30を含む。プロセッサ30は、フィールドデバイス15~22および40~46と、およびコントローラ11に通信可能に接続された他のノードと通信するように構成されている。本明細書に記載される任意の制御ルーチンまたはモジュールは、所望される場合は、その一部が異なるコントローラまたは他のデバイスによって実施または実行されてもよいことに留意されたい。同様に、プロセス制御システム5内で実装される本明細書に記載の制御ルーチンまたはモジュール38は、ソフトウェア、ファームウェア、ハードウェア等を含む任意の形態を取ってもよい。制御ルーチンは、オブジェクト指向プログラミング、ラダー論理、シーケンシャルファンクションチャート、ファンクションロックダイアグラム、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用したもの等の任意の所望のソフトウェアフォーマットにおいて実装されてもよい。制御ルーチン38は、ランダムアクセスメモリ(RAM)または読み取り専用メモリ(ROM)などの任意の所望のタイプのメモリ32に記憶され得る。同様に、制御ルーチン38は、例えば1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアもしくはファームウェア要素にハードコードされてもよい。簡単に言えば、コントローラ11は、任意の所望の様態で制御戦略または制御ルーチンを実施するように構成され得る。
【0028】
コントローラ11は、一般に機能ブロックと称されるものを使用して制御戦略を実施し、ここで、各機能ブロックは、制御ルーチン全体のオブジェクトまたは他の部分(例えば、サブルーチン)である。コントローラ11は、プロセス制御システム5内でプロセス制御ループを実施するために、他のデバイス(例えば、他のコントローラまたはフィールドデバイス)によって実施される機能ブロックと連携して動作し得る。制御ベースの機能ブロックは、典型的には、(i)送信機、センサ、もしくは他のプロセスパラメータ測定デバイスと関連付けられるものなどの入力機能(「入力ブロック」と呼ばれることもある)、(ii)PID、ファジーロジック、等を行う制御ルーチンに関連付けられるものなどの制御機能(「制御ブロック」と呼ばれることもある)、または(iii)バルブなどの何らかのデバイスの動作を制御して、プロセス制御システム5内で何らかの物理的機能を行う出力機能(「出力ブロック」と呼ばれることもある)、のうちの1つを行う。当然のことながら、ハイブリッドおよび他のタイプの機能ブロックが存在する。
【0029】
機能ブロックはコントローラ11内に記憶され、それによって実行されてもよく、これは典型的には、これらの機能ブロックが標準的な4~20mAデバイスおよびHART(登録商標)デバイス等のいくつかのタイプのスマートフィールドデバイス用に使用されるかもしくはそれと関連するときに成り立ち、または機能ブロックは、フィールドデバイスそのものの内部に記憶され、それによって実装されてもよく、これはFOUNDATION(登録商標)Fieldbusデバイスの場合に成り立ち得る。制御ルーチン38のうちの1つ以上は、機能ブロックのうちの1つ以上を実行することによって行われる1つ以上の制御ループを実装し得る。
【0030】
有線フィールドデバイス15~22ならびにI/Oカード26および28
有線フィールドデバイス15~22は、センサ、バルブ、送信機、ポジショナ、等などの任意のタイプのデバイスであり得、一方、I/Oカード26および28は、任意の所望の通信またはコントローラプロトコルに適合する任意のタイプのプロセス制御I/Oデバイスであり得る。図1Aでは、フィールドデバイス15~18は、アナログ回線またはアナログデジタル結合回線を経由してI/Oカード26と通信する標準的な4~20mAデバイスまたはHART(登録商標)デバイスであり、一方で、フィールドデバイス19~22は、FOUNDATION(登録商標)Fieldbus通信プロトコルを使用してデジタルバスを経由してI/Oカード28と通信する、FOUNDATION(登録商標)Fieldbusフィールドデバイス等のスマートデバイスである。追加的または代替的に、いくつかの実施形態では、有線フィールドデバイス15~22のうちの少なくともいくつか、またはI/Oカード26、28のうちの少なくともいくつかは、プロセス制御データハイウェイ10を使用して、または他の好適な制御システムプロトコル(例えば、Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HART、等)を使用することによって、コントローラ11と通信し得る。
【0031】
無線フィールドデバイス40~46
図1Aにおいて、無線フィールドデバイス40~46は、WirelessHART(登録商標)プロトコルなどの無線プロトコルを使用して、無線プロセス制御通信ネットワーク70を介して通信する。そのような無線フィールドデバイス40~46は、(例えば、無線プロトコルまたは別の無線プロトコルを使用して)無線通信するようにも構成される無線ネットワーク70の1つ以上の他のデバイスまたはノードと直接通信し得る。無線で通信するようには構成されていない1つ以上の他のノードと通信するために、無線フィールドデバイス40~46は、プロセス制御データハイウェイ10または別のプロセス制御通信ネットワークに接続される無線ゲートウェイ35を利用してもよい。無線ゲートウェイ35は、無線通信ネットワーク70の様々な無線デバイス40~58へのアクセスを提供する。特に、無線ゲートウェイ35は、無線デバイス40~58、有線デバイス11~28、またはプロセス制御プラント5の他のノードまたはデバイス間の通信可能な結合を提供する。例えば、無線ゲートウェイ35は、プロセス制御データハイウェイ10を使用することによって、またはプロセスプラント5の1つ以上の他の通信ネットワークを使用することによって、通信可能な結合を提供する。
【0032】
有線フィールドデバイス15~22と同様に、無線ネットワーク70の無線フィールドデバイス40~46は、プロセスプラント5内で、物理的制御機能、例えば、バルブの開放もしくは閉鎖、またはプロセスパラメータの測定値の取得を実行する。しかしながら、無線フィールドデバイス40~46は、ネットワーク70の無線プロトコルを使用して通信するように構成されている。このように、無線フィールドデバイス40~46、無線ゲートウェイ35、および無線ネットワーク70の他の無線ノード52~58は、無線通信パケットの生産者でありコンシューマである。
【0033】
プロセスプラント5のいくつかの構成では、無線ネットワーク70は、非無線デバイスを含む。例えば、図1Aにおいて、図1Aのフィールドデバイス48は、従来型の4~20mAデバイスであり、フィールドデバイス50は、有線HART(登録商標)デバイスである。ネットワーク70内で通信するために、フィールドデバイス48および50は、無線アダプタ52a、52bを介して無線通信ネットワーク70に接続される。無線アダプタ52a、52bは、WirelessHART等の無線プロトコルをサポートし、かつFoundation(登録商標)Fieldbus、PROFIBUS、DeviceNet等の1つ以上の他の通信プロトコルもサポートし得る。加えて、いくつかの構成では、無線ネットワーク70は、無線ゲートウェイ35と有線通信する独立した物理デバイスであり得るか、または一体型デバイスとして無線ゲートウェイ35内に提供され得る、1つ以上のネットワークアクセスポイント55a、55bを含む。また、無線ネットワーク70はまた、無線通信ネットワーク70内の1つの無線デバイスから別の無線デバイスにパケットを転送するための1つ以上のルータ58を含み得る。図1Aにおいて、無線デバイス40~46および52~58は、無線通信ネットワーク70の無線リンク60を経由して、またはプロセス制御データハイウェイ10を介して、互いに、および無線ゲートウェイ35と通信する。
【0034】
プラント5のバックエンド環境125
上記のように、バックエンド環境125は、典型的には、過酷な条件およびフィールド環境122の材料から遮蔽され、または保護されたコンピューティングデバイス、オペレータワークステーション、データベースまたはデータバンク、等などの様々な構成要素を含む。バックエンド環境125は、(i)1つ以上のオペレータワークステーション(複数可)71、(ii)構成アプリケーション72aおよび構成データベース72b、(iii)データ履歴アプリケーション73aおよびデータ履歴データベース73b、(iv)他の無線プロトコルを使用して他のデバイスと通信する1つ以上の他の無線アクセスポイント74、(v)即時プロセス制御システム5の外部にあるシステムへの1つ以上のゲートウェイ76、78、のいずれか1つ以上を含むことができ、その各々はデータハイウェイ10に通信可能に接続することができる。
【0035】
オペレータワークステーション71
ユーザ(例えば、オペレータ)は、オペレータワークステーション71を利用して、プロセスプラント5のランタイム動作を閲覧および監視することができ、同時に、必要とされ得る任意の診断、是正、保守、または他のアクションを取り得る。オペレータワークステーション71のうちの少なくともいくつかは、プラント5内またはその近くの様々な防護領域内に位置付けられてもよく、いくつかの状況では、オペレータワークステーション71のうちの少なくともいくつかは、遠隔に位置付けられるが、それにもかかわらずプラント5と通信可能に接続されてもよい。
【0036】
オペレータワークステーション71は、有線または無線コンピューティングデバイスであり得、専用または多目的デバイスであり得る。例えば、いくつかの実施形態では、ワークステーション71によって提供される機能を可能にする一連のアプリケーション、ルーチン、または特別に構成された回路(例えば、ASIC)は、ネットワーク10にアクセスすることを可能にする任意の好適に構成されたコンピューティングデバイスまたはコンピューティングデバイスのセット(例えば、デスクトップコンピュータ、ラップトップ、電話やタブレットなどのモバイルデバイス、クライアント/サーバ(複数可)システム、等)によって実装され得、かつ「追加の検討」セクションで特定されているようなUI入力コンポーネントまたはUI出力コンポーネントを備えたユーザインターフェースを含み得、ワークステーション71のユーザがランタイムパラメータを監視し、ランタイムパラメータを変更し、または診断、是正、または保守作業を実行または監視することを可能にする。
【0037】
構成アプリケーション72aおよびデータベース72b
構成アプリケーション72aおよび構成データベース72b(まとめて「構成システム72」)を利用して、プラント5の特定の態様を構成し得る。構成アプリケーション72aの様々なインスタンスは、1つ以上のコンピューティングデバイス(図示せず)を実行して、ユーザがプロセス制御モジュールを作成または変更し、データハイウェイ10経由でこれらのモジュールをコントローラ11にダウンロードすることを可能にし、同時にユーザがオペレータインターフェースを作成または変更することを可能にし、それを介して、オペレータはデータを閲覧し、プロセス制御ルーチン内のデータ設定を変更することができる(例えば、ワークステーション(複数可)71によって提供されるインターフェース)。
【0038】
典型的には、構成システム72用のユーザインターフェースは、プラント5がリアルタイムで動作しているかどうかにかかわらず、構成エンジニアおよび開発エンジニアによって利用されるので、構成システム72用のユーザインターフェースは、オペレータワークステーション71とは異なるが、必ずしもそうである必要はないのに対して、オペレータワークステーション71は、プロセスプラント5のリアルタイム動作(ここでは互換的にプロセスプラント5の「ランタイム」動作とも呼ばれる)中にオペレータによって利用される。構成アプリケーション72aの各インスタンスは、任意の好適なコンピューティングデバイスまたはコンピューティングデバイスのセット(例えば、デスクトップコンピュータまたはワークステーション、ラップトップ、電話またはタブレットなどのモバイルデバイス、クライアント/サーバ(複数可)システム、等)に実装され得、これには、「追加の検討」セクションで特定されているようなUI入力コンポーネントまたはUI出力コンポーネントを備えたユーザインターフェースが含まれ得る。
【0039】
動作中、構成データベース72bは、アプリケーション72aのユーザによって作成された、またはそうでなければ構成されたプロセスモジュールまたはユーザインターフェースを記憶する。構成アプリケーション72aおよび構成データベース72bは、集中化され得、プロセス制御システム5に対して単一の論理的外観を有し得るが、構成アプリケーション72aの複数のインスタンスは、プロセス制御システム5内で同時に実行し得る。さらに、構成データベース72bは、複数の物理的データ記憶デバイスにわたって実装され得る。したがって、構成アプリケーション72a、構成データベース72b、およびそれらへのユーザインターフェース(図示せず)は、制御または表示モジュールのための構成または開発システム72を構成する。
【0040】
プロセスモジュールおよびユーザインターフェースの構成を可能にすることに加えて、構成システム72は、プラント5内のコンポーネントおよび信号(例えば、フィールドデバイス15~22および40~46、ならびに、フィールドデバイス15~22および40~46によって送信または受信される対応する信号)の論理識別子の作成、割り当て、および記憶を可能にする。論理識別子は、プラント5に実装された制御モジュールおよびデバイスによって参照され、論理識別子に割り当てられた構成要素(および関連する信号)と相互作用し得る。例えば、プラント内の1つ以上のデバイスは各々、割り当てられた「デバイスタグ」または「DT」を有し得る。さらに、プラント内のデバイスによって送信または受信された1つ以上の信号は各々、割り当てられた「信号タグ」を有し得、それは「デバイス信号タグ」または「DST」と呼ばれることもある。場合によっては、DSTは、複数の信号を送信または受信するデバイスに対してのみ実装する必要がある。一括して、DTとDSTは単に「タグ」、「システムタグ」、または「システム識別子」と呼ばれることがある。多くの場合、論理識別子は関連付けられた値または値のセットを有し、その各々が特定の変数値(例えば、測定値)またはコマンドを表す。概して言えば、タグは、関連するデバイスまたは信号を一意に特定するために、フィールド環境122およびバックエンド環境125の両方でプロセスプラント5によって使用され得る。例えば、制御ルーチンは、タグおよび関連する値を参照して、プラントの制御を実装することができる。
【0041】
例示すると、所与のフィールドデバイスについて、構成データベース72bは、論理識別子またはタグを特定のハードウェアアドレスまたはI/Oチャネルにマッピングまたはバインドする情報を記憶し得る。ハードウェアアドレスは、特定のコントローラ、特定のコントローラに接続された特定のI/Oカード、または特定のI/Oカードをフィールドデバイスに接続するI/Oチャネルのための特定のアドレスを特定し得る。例えば、構成データベース72bは、フィールドデバイス19~22に結合されたI/Oデバイス28のI/Oチャネルにタグをマッピングするバインディングを記憶し得、プラント5内のデバイスが、フィールドデバイス19~22各々によって送信および受信される信号を参照することを可能にする。場合によっては、このマッピングまたはバインディングは、コントローラ11、ユーザインターフェースデバイス75、オペレータワークステーション71、または任意の他の所望のデバイス(例えば、論理識別子を解く必要がある任意のデバイス)に記憶され得る。タグがハードウェアアドレスまたはI/Oチャネルにバインドされた後、タグは「割り当て済み」と見なされる。
【0042】
第2の例として、構成データベース72bは、スキッド103のためのタグ(例えば、「SK103」)を記憶し得る。他のデバイスは、タグを介してスキッド103を参照してスキッド103と通信し得る(ただし、場合によっては、他のデバイスは、アクチュエータ、センサ、およびスキッド103の他のスキッドコンポーネントに直接アクセス、制御、または通信できないことがある)。スキッドタグは、図3に示すように、スキッド103をネットワーク10に接続する監視システムに関連付けられたハードウェアアドレスまたはネットワークアドレスにマッピングされ得る。
【0043】
データ履歴73aおよびデータベース73b
データ履歴アプリケーション73aは、データハイウェイ10を横切って提供されるデータのいくつかまたはすべてを収集し、長期にわたる記憶のために、収集されたデータを履歴データベース73b内に履歴化または記憶する。データ履歴アプリケーション73aおよび履歴データベース73bは、集中化され得、プロセス制御システム5に対して単一の論理的外観を有し得る(例えば、それらは単一のアプリケーションまたはアプリケーションスイートのように見える場合がある)が、データ履歴アプリケーション73aの複数のインスタンスはプロセス制御システム5内で同時に実行し得、かつデータ履歴73bは、複数の物理的データ記憶デバイスにわたって実装され得る。データ履歴アプリケーション73aの各インスタンスは、任意の好適なコンピューティングデバイスまたはコンピューティングデバイスのセット(例えば、デスクトップコンピュータまたはワークステーション、ラップトップ、電話またはタブレットなどのモバイルデバイス、クライアント/サーバ(複数可)システム、等)に実装され得、これには、「追加の検討」セクションで特定されているようなUI入力コンポーネントまたはUI出力コンポーネントを備えたユーザインターフェースが含まれ得る。
【0044】
無線アクセスポイント74
1つ以上の他の無線アクセスポイント74は、バックエンド環境125内(および時にはフィールド環境122内)のデバイスが、Wi-Fiまたは「追加の検討」セクションで特定されている任意の他のワイヤレス通信プロトコルまたは規格などの、任意の好適な無線通信プロトコルを使用して他のデバイスと通信することを可能にする。
【0045】
典型的には、無線アクセスポイント74は、ハンドヘルドまたは他の携帯用コンピューティングデバイス(例えば、ユーザインターフェースデバイス75)が、ネットワーク10に接続されている、またはネットワーク10のサブネットワークである無線プロセス制御通信ネットワークを介して通信することを可能にする。この無線ネットワークは、無線ネットワーク70とは異なり得、無線ネットワーク70とは異なる無線プロトコルをサポートし得る。例えば、無線または携帯用ユーザインターフェースデバイス75は、プロセスプラント5内のオペレータ(例えば、オペレータワークステーション71のうちの1つのインスタンス)によって利用される、モバイルワークステーションまたは診断試験機器であってもよい。いくつかのシナリオでは、携帯用コンピューティングデバイスに加えて、1つ以上のプロセス制御デバイス(例えば、コントローラ11、フィールドデバイス15~22、または無線デバイス35、40~58)もまた、アクセスポイント74によってサポートされる無線プロトコルを使用して通信する。
【0046】
ゲートウェイ76および78
ゲートウェイ76および78は、即時プロセス制御システム5の外部にあるシステムとインターフェースし得る。典型的には、そのようなシステムは、プロセス制御システム5によって生成または操作される情報の顧客または供給者である。例えば、プロセス制御プラント5は、即時プロセスプラント5を別のプロセスプラントと通信可能に接続するためのゲートウェイノード76を含むことができる。追加的または代替的に、プロセス制御プラント5は、即時プロセスプラント5を、実験室システム(例えば、実験室情報管理システムまたはLIMS)、オペレータラウンド在庫管理システム、製品在庫管理システム、生産スケジューリングシステム、気象データシステム、出荷および処理システム、パッケージングシステム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システム等の外部の公私のシステムと通信可能に接続するためのゲートウェイノード78を含むことができる。
【0047】
図1Aは、有限数のフィールドデバイス15~22および40~46を備えた単一の無線コントローラ11、無線ゲートウェイ35、無線アダプタ52、アクセスポイント55、ルータ58、ならびに例示的プロセスプラント5内に含まれるプロセス制御通信ネットワーク70を例示するのみであるが、これは例示的かつ非限定的実施形態であるに過ぎない。任意の数のコントローラ11がプロセス制御プラントまたはシステム5内に含まれてもよく、コントローラ11のうちのいずれが、任意の数の有線または無線デバイスおよびネットワーク15~22、40~46、35、52、55、58、および70と通信して、プラント5内でのプロセスを制御してもよい。
【0048】
スキッド103およびスキッドコミュニケータツール101
図1Bは、スキッド103(図1Aにも示されている)の斜視図である。スキッド103は、(プラント5で実装されたより大きな制御システムと比較して)モジュール式、自己完結型、および自律または半自律制御システムである。スキッドの例としては、ボトル充填スキッド、クリーナスキッド、ラベラスキッド、インプリンタスキッド、カートナスキッド、キャッパスキッド、ラッパスキッド、遠心機スキッド、コンプレッサスキッド、定置洗浄スキッド、等が挙げられる。
【0049】
スキッド103は、制御キャビネット152、フレーム154、およびスキッドコンポーネント156のセットを含む。制御キャビネット152は、センサ(例えば、温度、流量、圧力、流体レベル等を測定するための)、アクチュエータ、および材料の流れのための配管を含み得るスキッドコンポーネント156を監視および制御するように構成されたコントローラ(例えば、PLC)を含み得る。
【0050】
図2は、スキッド103およびスキッドコミュニケータツール101(図1Aにも示されている)のブロック図である。ツール101は、ツール101がスキッド103~105の各々またはネットワーク10によって必要される設定にネットワーク設定を迅速かつ自動的に変更することを可能にする、スキッドクライアント222を含み、これにより、ツール101のオペレータが、ネットワーク設定を手動で更新するのに多大な時間を費やすことを必要とせずに、スキッド103~105とネットワーク10との間を迅速かつ容易に移動し、通信することを可能にする。
【0051】
図2に示される通信リンクに関して、ツール101は、有線リンク299を介してスキッド103に結合され得、有線または無線リンク295を介してネットワーク10に結合され得、または有線または無線リンク298を介して監視システム230に結合され得る。リンク299は、いくつかの例では無線であり得るが、セキュリティ上の理由から、リンク299が有線であることが望ましい場合がある。場合によっては、リンク299は、1つ以上の中間ノードおよびサブリンクを含む。例えば、ツール101およびスキッド103は、ルータ、ハブ、またはスイッチなどのプラント5内のネットワーキングデバイスを介して結合され得る。リンク295および298に対して破線によって示されているように、いくつかの例では、ツール101は、ネットワーク10またはスーパーバイザ230に結合されない場合がある。
【0052】
スキッド103への通信リンクに関して、スキッド103は、有線または無線リンク297を介して監視システム230またはネットワーク10と通信し得、監視システム230は、有線または無線リンク296を介してネットワーク10に結合され得る。必要に応じて、スキッド103は、直接リンク(図示せず)を介してネットワーク10に結合されてもよい。以下の説明は、スキッド103、ツール101、および監視システム230の構成要素および機能について詳述する。
【0053】
スキッド103
スキッド103は、含まれているシステムが簡単に輸送されることを可能にするフレーム内に含まれるモジュール式のプロセス制御システムであり、自己完結型の「ボックス内のシステム」と見なし得る。プラント5の所有者またはオペレータは、スキッド103を購入して、対応するシステムを一から設計するために費やす時間と労力を回避し得る。
【0054】
スキッド103は、スキッドコンポーネント244~248のセット(例えば、図1Bに示されるコンポーネント156に対応する)と、コンポーネント244~248を制御するコントローラ250(例えば、図1Bに示されるキャビネット152内に位置付けられている)とを含む。コンポーネント244~248の各々は、バルブ、ポンプ、温度/圧力/レベル/流量センサまたはインジケータ、等などの任意の好適なプロセス機器またはフィールドデバイスであり得る。実際、各コンポーネント244~248は、図1Aに示されるフィールドデバイス15~22および40~46のうちの1つ以上と同様または同一であり得る。
【0055】
スキッド103のコントローラ250は、メモリ252および通信インターフェース256に通信可能に接続されたプロセッサ254を含み、これは、コントローラ250が、(i)ネットワーク10に接続し、ネットワーク10の1つ以上のノードと通信する、(ii)ツール101と通信する、(iii)監視システム230と通信する、または(iv)スキッドコンポーネント244~248のうちの任意の1つ以上と通信または制御する、ことを可能にする。
【0056】
通信インターフェース256は、有線および無線インターフェースの任意の数および組み合わせを含み得る。例えば、ツール101、監視システム230、およびスキッドコンポーネント244~256はすべて、単一の無線カードまたはアダプタを介してコントローラ250に接続し得る、あるいは、各々が、異なる有線または無線接続、ポート、またはアダプタを介してコントローラ250に接続し得る。図2に示されるように、コントローラ250は、通信インターフェース256の一部として一体化されたスイッチ257を含み得、(例えば、ツール101が接続し得る)1つ以上の外部に面するポートおよび(例えば、コントローラ250をスイッチ257に接続されたデバイスに接続する)1つ以上の内部に面するポートまたは接続ポイントを含み得る。したがって、通信インターフェース256は、スイッチに通常関連付けられたいくつかの機能を実施することができ、例えば、ポートの有効化または無効化(例えば、ツール101が接続されているポートについて)、リンク帯域幅およびデュプレックス設定の調整、サービス品質(QoS)の構成と監視、ハードウェアアドレス(例えば、MAC)のフィルタリング、およびIEEE802.1X規格に関連付けられた機能などの他のアクセス制御リスト機能、スパニングツリープロトコル(STP)および最短パスブリッジング(SPB)機能の構成、デバイスおよびリンクの健全性の簡易ネットワーク管理プロトコル(SNMP)モニタリング、トラフィックの監視およびトラブルシューティングのためのポートミラーリング、より高いデータ転送速度および信頼性を達成するために、同じ接続に複数のポートを設定するリンクアグリゲーション構成、またはネットワークトラフィックスヌーピング、などである。一部の実施形態では、スイッチ257は、コントローラ250の外部にあってもよい。すなわち、それはスキッド103の構成要素であり得、コントローラ250の通信インターフェース256をスイッチ257に接続された他のデバイス(例えば、ツール101)に結合してもよい。
【0057】
メモリ252は、コンポーネント244~248を制御するためのルーチン262のセットを含む命令253、およびスキッド構成264、スキッドパラメータ266のセット、およびホワイトリスト登録ネットワーク設定268のセットを含むデータ255を記憶する。動作中、コントローラ250は、ルーチン262のセット内の1つ以上の制御ルーチンによって定義された制御戦略を実施する。プロセッサ254が制御ルーチンのうちの1つ以上を実行するとき、コントローラ250は、有線または無線通信リンクまたはネットワークを介して制御信号(すなわち、「制御出力」)をスキッドコンポーネント244~248に送信して、スキッド103によって制御されるプロセスまたはサブプロセスの動作を制御する。コントローラ250は、(i)「制御入力」と呼ばれることがある1つ以上の受信信号(例えば、スキッドコンポーネント244~248のうちの1つによって得られた測定値を表す1つ以上の受信信号)、および(ii)1つ以上のソフトウェア要素(例えば、機能ブロック)によって定義され得る1つ以上の制御ルーチンの論理、に基づいて制御信号を生成し得る。典型的には、コントローラ250は、プロセス入力(「操作変数」と呼ばれることがある)を操作して、フィードバック(すなわち、制御変数の測定値)およびプロセス出力の望ましい値(すなわち、設定点)に基づいて、特定のプロセス出力(「制御変数」と呼ばれることがある)を変更する。
【0058】
ルーチン(複数可)262
ルーチン262は、ソフトウェア、ファームウェア、またはハードウェアを含む任意の形を取り得る。ルーチン262は、RAMまたはROMなどの任意の所望のタイプのメモリ252に記憶され得る。同様に、ルーチン262は、例えば1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアもしくはファームウェア要素にハードコードされてもよい。ルーチン262は、制御ルーチン、通信ルーチン、セキュリティルーチン、またはスキッド103の動作を容易にするために利用され得る任意の他の所望のルーチンを含み得る。
【0059】
第1の例として、ルーチン262は、スキッドコンポーネント244~248を監視または制御するためにプロセッサ254によって実装される制御ルーチンまたは命令を含み得る。制御ルーチンは、オブジェクト指向プログラミング、ラダー論理、シーケンシャル機能チャート、機能ブロックダイアグラムを使用する、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用するなど、任意の所望のソフトウェアフォーマットにおいて実装され得る。制御ルーチンは、1つ以上のプログラムを含み得、各プログラムは、概して、IEC言語のいずれかで記述することができる機能ブロックの相互接続で構成される。制御ルーチンには、物理的な入力/出力および変数の宣言が含まれている場合がある。
【0060】
第2の例として、ルーチン262は、ツール101がコントローラ250を制御、監視、および構成するためにスキッドクライアント222に関連付けられた動作を実装することを可能にするのに十分な、コントローラ250とツール101との間の通信の確立を容易にするための通信ルーチンまたは命令を含み得る。
【0061】
第3の例として、ルーチン262は、スキッド103との安全な通信および動作を確実にするために、プロセッサ254によって実装されるセキュリティルーチンまたは命令を含み得る。例えば、コントローラ250は、アイデンティティ(ID)を要求することによって、ツール101またはツール101のユーザを特定し得る。コントローラ250は、コントローラ250(または接続されたサーバ)およびツール101またはユーザのみが知っているはずの「秘密の」情報をツールが提供することを要求することによって、ツール101またはユーザを認証し得る。秘密情報の例には、パスワード、PIN、コード、またはコントローラ250がIDに対する既知の「秘密」と比較することができるなんらかの他の「秘密」情報が含まれる。さらに、コントローラ250は、ツール101またはユーザが特定の認可された活動のみを行うことを認可し得る。例えば、IDは、スキッドパラメータ266の値を監視することを認可されてもよいが、スキッドパラメータ266に書き込むこと、制御動作を行うこと、またはスキッド構成264をダウンロードまたはアップロードすることは認可されない場合がある。さらに、コントローラ250は、ホワイトリスト登録設定268を利用してアクセス制御機能を実装し得る。例えば、コントローラ250は、ツール101が特定のIPアドレス、特定のMACアドレス、特定のユーザ名またはID、等を有する場合にのみ、ツール101がコントローラ250と完全に通信することを可能にし得る。具体的には、ツール101のIPアドレスまたはMACアドレスがホワイトリスト登録アドレスのセットに含まれていない場合、ツール101が接続されているポートを無効にするようにスイッチ257が構成され得、または単にツール101からコントローラ250にトラフィック(またはトラフィックのサブセット)を転送しない場合もある。
【0062】
スキッド構成264
スキッド構成264は、コントローラ250を構成するためのデータおよび命令のパッケージであり、XMLファイルまたはファイルのセットとして、またはそのようなデータセットのための任意の他の好適なフォーマットに従ってフォーマットされ得る。構成264は、ロードされて実装される(例えば、ラダーロジック、SFCダイアグラム、等)ルーチン(例えば、ルーチン262)、およびルーチンによって利用されるパラメータの名前、アドレス、および初期値を含む。構成264はまた、構成264の名前、スキッド103のIPアドレス、およびコントローラ250に接続するために利用することができるホワイトリスト登録ネットワーク設定(例えば、IPアドレス)のセットなどの、コントローラ250のためのセットアップパラメータを含み得る。
【0063】
構成264が最初にスキッド103に転送されるとき(例えば、ツール101、スーパーバイザ230から、またはネットワーク10に接続された別のコンピューティングデバイスから)、構成224にパッケージされた情報が抽出されてロードされ、またはインストールされ得、それにより、プロセッサ254は、含まれているルーチンを実行し、構成224に含まれているパラメータの読み取り、または書き込みを行うことができる。構成264は、最初は長期記憶装置(例えば、不揮発性メモリ)に記憶され得る。パッケージ化された情報を抽出またはロードすることは、パッケージ化された情報のうちの少なくとも一部を一次記憶装置(例えば、揮発性メモリ)に転送すること、および含まれるパラメータおよびルーチンに対してアドレス空間を割り当てることを含み得る。ルーチン262、パラメータ266、およびホワイトリスト登録設定268は、構成264にパッケージ化されてもよい。構成264が最初にコントローラ250によって受け取られた後、これらのアイテムの各々は、プロセッサ254によってそれらをアクセス可能とする様態で抽出され、メモリ250に記憶され得る。
【0064】
スキッドパラメータ266
スキッドパラメータ266は、動作パラメータ、診断パラメータ、または構成パラメータを含み得る。動作パラメータの例には、スキッド103によって制御されるプロセスの状態を特徴付けるプロセス出力パラメータ(例えば、タンクレベル、流量、材料温度、等)と、制御されたプロセスの変更に影響を与えるように調整され得るプロセス入力パラメータ(例えば、アクチュエータにバルブまたはポンプの状態を変化させ、それにより1つ以上のプロセス出力を変化させ得る)と、が含まれる。診断パラメータの例には、1つ以上のスキッドパラメータ244~248の健全性を表すインデックス、アラームパラメータ、1つ以上のスキッドパラメータ244~248または通信インターフェース256が意図したとおりに通信しているかどうかを示す通信ステータスパラメータ、等が含まれる。構成パラメータの例には、ネットワーク構成パラメータ、スキッドコンポーネント244~248との間の信号を動作パラメータにマッピングする信号マッピングパラメータ、またはスキッド103の監視を可能にするためにスキッド103のローカルディスプレイ(図示せず)に表示され得るグラフィック表示(例えば、図1Bに示されるキャビネット152内に含まれている)、が含まれる。
【0065】
ホワイトリスト登録ネットワーク設定268
ホワイトリスト登録ネットワーク設定268のセットは、デバイスが、ホワイトリスト登録設定268と互換性のあるネットワーク設定のセットに従って構成されていると仮定して、別のデバイスがコントローラ250と通信することを可能にするネットワーク設定を含む。場合によっては、ホワイトリスト登録設定268は、コントローラ250によって利用されるネットワーク設定より少し多い場合がある。これらのネットワーク設定を知っていると、ツール101などの別のデバイスをそれに応じて構成することができる(例えば、ツール101がコントローラ250と同じネットワークまたはサブネット上にあることを確実にするために)。さらに、場合によっては、ホワイトリスト登録設定268は、コントローラ250との通信を試みるツール101によって使用されるべき特定のネットワーク設定を明確に特定し得る。
【0066】
必要に応じて、ホワイトリストに載せられた設定268は、コントローラ250への他のデバイスによるアクセスを制御するためにコントローラ250によって利用されるリファレンスとして機能し得、状況によっては、ツール101などの外部デバイスによって利用できない、またはアクセスできない場合がある。このような状況では、ツール101のユーザは、例えば、ネットワーク10に接続されたデータベースで、または制御室のファイリングキャビネットで保存されているドキュメント(例えば、デジタルまたは紙)を調べることによって、ホワイトリストに載せられた設定268の特定の詳細を認識させられるだけの場合がある。
【0067】
他の状況では、ホワイトリストに載せられた設定268の一部またはすべてが他のデバイスで利用可能またはアクセス可能になり、その利用可能性は1つ以上のセキュリティ対策に依存する場合がある。例えば、コントローラ250は、ホワイトリストに載せられた設定268にアクセスする前に、既知の名前とパスワードのペアを提供することによってツール101自体を認証することを要求することがあり、またはツール101のハードウェアアドレス(典型的には永続的)が、コントローラ250によってまたはコントローラ250によってアクセス可能なデータベースによって維持されている既知かつ認可されたアドレスの記録に保存されているハードウェアアドレスと一致する場合にのみ、アクセスを許可することがある。いずれにしても、他のデバイスへのホワイトリストに載せられた設定268のアクセス可能性に関係なく、コントローラ250と完全に通信することを試みるデバイスは、概して、ホワイトリストに載せられた設定268と互換性のあるネットワーク設定に従って構成される必要がある。
【0068】
コントローラ250およびツール101は、インターネットプロトコルスイート(「TCP/IP」と呼ばれることもある)に従って通信するように構成され得、ホワイトリストに載せられた設定268は、コントローラ250のスキッドIPアドレスおよびサブネットマスクを指定し得る。一般的に言うと、IPアドレスは、ネットワークアドレスおよびホストアドレスの2つのコンポーネントを含む32ビットの数値である。IPアドレスの例は、二進数の「11000000 10101000 00000001 00000001」、または十進数の「192.168.1.1」である。サブネットマスクは、32ビットの数値(例えば、二進数「11111111 11111111 11111111 00000000」または十進数「255.255.255.0」)であり、サブネットマスクとIPアドレスに対して行われるビット単位のAND演算によって、IPアドレスをネットワークアドレスとホストアドレスに分離する。サブネットマスクには、最上位ビットから始まる一連の連続する「1」が含まれ、すべての「1」は、IPアドレスの対応する位置のビットがネットワークアドレスの一部であることを示す。残りのビットは各々「0」の値を有し、IPアドレスの対応する位置のビットがホストアドレスの一部であることを示す。
【0069】
上記のIPアドレスおよびサブネットマスクの例を参照すると、ビット単位のAND演算の後、結果のネットワークアドレスは「192.168.1」となり、結果のホストアドレスは「1」となる。合計で、256個の一意のホストをこのサブネットの一部にすることができ、各々が「192.168.1.0」~「192.168.1.255」の範囲の一意のIPアドレスを有している。「192.168.1」とは異なるサブネットを有するデバイスは、サブネットに接続され、接続ポートに適切なIPアドレス(例えば、192.168.1.x)が設定されている、ルータなどの、ネットワークデバイスに接続しないと、このサブネットに接続することができない。
【0070】
したがって、ツール101は、スキッドIPアドレスおよびスキッドサブネットマスクを利用して、コントローラ250によって使用されるサブネット、およびツール101に割り当てることができる潜在的なホストアドレスを特定し、ツール101がIPアドレスを生成またはさもなければそれ自体に割り当てることを可能にし、それは、ツール101がコントローラ250と通信することを可能にする。例えば、前述の例が、スキッドIPアドレス(「192.168.1.1」)およびスキッドサブネットマスク(「255.255.255.0」)として実装されている場合、ツール101には、IPアドレス「192.168.1.x」を割り当てることができ、ここで、「x」は0~255の任意の値を有するワイルドカードを表す。ホストアドレス(この例では「x」によって表されている)が、コントローラ250(例えば「1」)およびサブネットに接続されているすべての他のデバイスによって利用されているアドレスと異なる場合、ツール101はコントローラ250との通信を確立することができる。上記のように、コントローラ250は、ツール101が前述の監視、制御、および構成動作を行うことができるようになる前に、1つ以上のセキュリティ対策を行うことをツール101に要求し得る。
【0071】
スキッドIPアドレスおよびスキッドサブネットマスクに加えて、またはその代わりに、ホワイトリストに載せられた設定268は、1つ以上の認可されたIPアドレスを指定し得る。このようなシナリオでは、ツール101は、そのIPアドレスがホワイトリストに載せられた設定268内の認可されたIPアドレスのうちの1つと一致する場合にのみ、コントローラ250との完全な通信を確立し得る。
【0072】
監視システム230
監視システム230(またはスーパーバイザ230)は、制御されたプロセスからのデータ(例えば、フィールドデバイスまたはスキッドからの測定データ、診断データ、等)を集め、フィールドデバイスおよびスキッドにコマンドを送信するように構成された電子デバイスである。スーパーバイザ230は、図1Aに示されるコントローラ11と本質的に同様であり得、同じように、ネットワーク10、バックエンド125、およびネットワーク10に接続された任意のコンポーネントに接続され得る。
【0073】
高レベルでは、監視230は、より大きなプロセス制御システム5(およびシステム5によって実施される対応する高レベル制御スキーム)とスキッド103との間のゲートウェイとして考えてもよい。スキッド103は、自己完結型であって多かれ少なかれ自律的プロセス制御システムとして動作し得るため、フィールドデバイス15~46が完全に統合されるのと同じ様態でプラント5を制御するためのより大きな制御スキームに完全に統合されない場合がある。例えば、プラント5のより大きな制御スキームは、フィールドデバイス15~46を直接制御するように具体的に構成されたルーチンを含み得るが、より大きな制御スキームは、スキッド103を直接制御しない場合がある。むしろ、スキッド103は、それ自体の特別に構成された制御ルーチン(複数可)を実装することができ、プラント5のためのより大きな制御スキームは、適切な動作のためにスキッド103を監視することに主に帰属されることがある。スーパーバイザ230は、リアルタイムのフィードバックに基づいてスキッド103の直接制御を実施するように期待されていないことが多いため、スキッド103とスーパーバイザ230との間の通信には、例えば、コントローラ11とフィールドデバイス15~46との間の通信に見られるよりも長い待ち時間があってもよい。いくつかの例では、より大きな制御スキームは、スキッド103の特定のルーチン262にアクセスすることなく、スキッド103のパラメータ(例えば、温度、圧力、流量、等などの測定された出力のターゲット)を調整し得、次に、ルーチン262は、調整されたパラメータに照らしてスキッド103を制御することを試み得る。
【0074】
スーパーバイザ230は、説明された監視および制御機能を可能にするように構成された回路(図示せず)のセットを含み得る。例えば、システム230は、プロセッサ、メモリ(例えば、説明された動作のために構成されたルーチンおよびデータを記憶する)、および通信インターフェース(例えば、スーパーバイザ230をネットワーク10およびスキッド103に結合する)を含み得る。ソフトウェアルーチンに加えて、またはその代わりに、いくつかの例では、スーパーバイザ230は、説明された動作を実施するように構成されたカスタマイズされた回路を含み得る。
【0075】
スキッドコミュニケータツール101
ツール101は、スキッド103と無線通信するように構成された携帯用電子デバイスであり、ツール101が(i)スキッド103内部のパラメータを監視し、(ii)スキッド103内部のパラメータの値を調整し、スキッド103にコマンドを送信し、(iii)スキッド103からスキッド構成をダウンロードし、(iv)スキッド構成を更新または構成し、(v)ツール101からスキッド103にスキッド構成をアップロードする、ことを可能にする。プラント環境の多くのユーザデバイスとは異なり、ツール101は、異なるネットワーク設定を必要とする多数のスキッドおよびネットワークのいずれかに迅速かつシームレスに接続、切断、再接続することができる。ツール101は、ツールがホワイトリストに載せられたネットワーク設定の第1のセットを有する第1のスキッド(またはネットワーク)とホワイトリストに載せられたネットワーク設定の第2のセットを有する第2のスキッド(またはネットワーク)との間で移行するたびに、ユーザがネットワーク設定を手動で検索し、またはネットワーク設定でツール101を手動で構成する必要がないので、これらのシームレスな移行を可能にする。
【0076】
従来、プラント環境における典型的なネットワーク対応デバイスは、ネットワークと異なるネットワーク設定を必要とするデバイスとの間の移行が遅い。上記のように、例えば、多くのスキッドは、デバイスがホワイトリストに載せられたIPアドレスの小さなセットに含まれる特定のIPアドレスを有するように構成されている場合に、デバイスがスキッドに結合することのみを可能にする。独自のIPアドレスを動的に設定するように構成されたデバイスは、IPアドレスをスキッドが必要とするアドレスに動的に設定することはほとんどない。その結果、典型的には、ユーザはホワイトリストに載せられたIPアドレスを手動で特定し、ホワイトリストに載せられたIPアドレスのセットに含まれる静的IPアドレスを有するようにデバイスを構成しなければならない。
【0077】
結果として、ユーザは、ネットワーク設定を手動で調べ、スキッドに接続するようにデバイスを手動で構成して、時間を無駄にすることがよくある。あるいは、面倒を完全に回避して、スキッドに接続する必要がある小さなタスクを行うことを単に避けることがある。上記のように、多くの場合、プラント環境の各スキッドは、スキッドに接続しようとする任意のデバイスに対して、ホワイトリストに載せられたネットワーク設定の別個のセットを必要とし、ネットワーク10などのプラントネットワークは、さらに別のネットワーク設定のセットを必要とする場合がある。これらのセットのいずれか1つに従ってデバイスを構成すると、デバイスが他のスキッドまたはネットワークに接続するのを妨げる場合がある。ユーザが異なるネットワークまたはデバイスに接続したいときはいつでも、ユーザはデバイスのネットワーク設定を手動で更新しなければならないため、これは問題となり得る。例えば、ユーザは最初に、すぐにアクセスできない可能性がある第1のスキッドのホワイトリストに載せられたネットワーク設定を特定する必要がある。理想的には、スキッドのホワイトリストに載せられたネットワーク設定は、スキッド自体に目に見える形で掲示されるが、これらの掲示された設定は時間の経過とともにカバーされるか、そうでなければ置き換えられることがよくある。場合によっては、ホワイトリストに載せられた設定が掲示されず、ユーザは、ホワイトリストに載せられた設定を見つけようとして、プラントの担当者、マニュアルおよびドキュメント、またはスキッドベンダを探すことを余儀なくされる。ホワイトリストに載せられた設定が掲示されるか、他の方法で利用可能になったとしても、誰かが、新しいホワイトリストに載せられた設定を反映するために、掲示を更新せずにスキッドのホワイトリストに載せられたネットワーク設定を更新する場合がある。
【0078】
いずれの場合も、ユーザがスキッドに接続するために必要なホワイトリストに載せられた設定を発見したと想定すると、次に、デバイスのいくつかのメニューおよびプロンプトをナビゲートして、第1のスキッド用にホワイトリストに載せられたものに対応するネットワーク設定でデバイスを構成しなければならない。ユーザが第1のスキッドを含むタスクまたはプロジェクトを完了し、プラントネットワークまたは第2のスキッドに再接続したい場合、再びプラントネットワークまたは第2のスキッド用にホワイトリストに載せられた設定を見つけてロードしなければならない。ユーザが、スキッド間、またはスキッドのうちの1つとプラントネットワークと間を移行しようとするたびに、再びこのプロセスを通過しなければならない。
【0079】
有利なことに、ツール101は、ネットワーク設定のいくつかのセットのいずれかに対してそれ自体を迅速かつシームレスに構成および再構成することができる。その結果、ネットワーク10は、スキッド103によって必要とされるホワイトリストに載せられたネットワーク設定の第2のセットとは別個のホワイトリストに載せられたネットワーク設定の第1のセットを必要とし得るが、ツール101は、ネットワーク設定の第1および第2のセットの各々に従って、それ自体を迅速に再構成することができ、ツール101がネットワーク10およびスキッド103への接続間で迅速に切り替わることを可能にする。同様に、図1Aに示すスキッド104および105は、別個のホワイトリストに載せられたネットワーク設定の第3および第4のセットを必要とする場合があり、ユーザは、ネットワーク10、スキッド103、スキッド104、およびスキッド105のうちのいずれか1つ以上の間で交互の接続を行い得る。
【0080】
図1Aを続けると、ツール101は、スキッド103用のホワイトリストに載せられた設定268に対応するネットワーク設定225のセットを含み得る。ツール101は、スキッド103への物理的接続を検出し(例えば、発見メッセージを送信または受信することにより)、またはスキッド103への接続の要望を表すユーザ入力を検出し、スキッド103に関連付けられたネットワーク設定225を特定およびロードすることにより応答することができ、ツール101がスキッド103との通信を迅速かつシームレスに確立することを可能にする。
【0081】
図2に示すように、ツール101は、有線リンク299を介してスキッド103と通信し得、無線リンク298を介してスーパーバイザ230と通信し得、無線リンク295を介してネットワーク10と通信し得る(例えば、ツール101を無線ゲートウェイ35に接続して)。リンク295および298に対して破線によって示されているように、いくつかの例では、ツール101は、ネットワーク10またはスーパーバイザ230に結合されない場合がある。実装に応じて、リンク295、298、および299のいずれか1つ以上は、有線または無線リンクであり得る。
【0082】
ツール101は、メモリ202、通信インターフェース206、および入力/出力(I/O)インターフェース208の各々に結合されたプロセッサ204を含む。I/Oインターフェース208は、ディスプレイ211および入力センサ213のセットを含む1つ以上のユーザインターフェース(UI)コンポーネント210に結合されている。ディスプレイ211は、LCDディスプレイ、スマートウォッチディスプレイ、ヘッドセットディスプレイ(例えば、VRゴーグル)、プロジェクタ、タッチディスプレイ、またはそれらのなんらかの組み合わせなどの任意の好適なディスプレイであってもよい。入力センサ213は、ハードウェアアクチュエータ(例えば、「ハード」ボタン)または抵抗性または容量性タッチセンサなどの電気センサのような任意の所望の機械的または電気的構成要素を含み得る。そのようなタッチセンサは、タッチスクリーンとしてディスプレイ211と統合されてもよい。UI210は、音声出力用のスピーカ、触覚フィードバックを提供するためのアクチュエータ、等を含み得る。ツール101は、ツール101の他の構成要素に電力を供給するように構成された電源212を含み得る。メモリ202は、スキッドクライアント222を含む命令253と、スキッド構成224および事前構成されたネットワーク設定225~229のセットを含むデータ205とを記憶する。
【0083】
スキッドクライアント222
概して言えば、スキッドクライアント222は、(i)ツール101がスキッド103と通信することを可能にするルーチンまたは命令、および(ii)ツール101が、ツール101を介してコントローラ250およびスキッド103を監視、制御、および構成することを容易にする動作を実施することを可能にするルーチンまたは命令、を含むルーチンのセットである。クライアント222は、ソフトウェア、ファームウェア、またはハードウェアを含む任意の形態をとり得る。クライアント222は、RAMまたはROMなどの任意の所望のタイプのメモリ202に記憶され得る。同様に、クライアント222は、例えば、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアもしくはファームウェア要素にハードコードされてもよい。
【0084】
スキッド103と通信するためのルーチンまたは命令に関して、スキッドクライアント222は、ツール101がスキッド103のスキッドIDを検出し、スキッドIDにリンクされた事前構成された設定のセットを特定し(例えば自動的に)、事前構成された設定のセットをツール101にロードして、スキッド103への迅速でシームレスな通信接続を可能にする、ことを可能にし得る。クライアント222はまた、ツール101がスキッド103に自動的またはシームレスに通信接続することを可能にするために将来使用することができるスキッド103の事前構成された設定を、ツール101が作成または更新することを可能にし得る。事前構成された設定のセットの更新または作成することには、スキッド103からホワイトリストに載せられたネットワーク設定の少なくとも一部分を要求することを含む自動構成プロセスが含まれる場合がある。スキッド103との通信を確立するツール101に関する追加の詳細は、クライアント222およびツール101によって、全体的または部分的に、実装され得る図3に示される例示的な方法を参照して、以下のセクションIVで説明される。
【0085】
ツール101を介してコントローラ250を監視、制御、および構成することを容易にするルーチンまたは命令に関して、スキッドクライアント222は、ツール101およびスキッド103の特定の構成に応じて、ツール101が次のいずれか1つ以上を実行することを可能にし得る、(i)スキッド103内部のパラメータを監視する、(ii)スキッド103内部のパラメータの値を調整し、コマンドをスキッド103に送信する、(iii)スキッド103からスキッド構成をダウンロードする、(iv)スキッド構成を更新または構成する、および(v)ツール101からスキッド103にスキッド構成をアップロードする。
【0086】
スキッド構成224
スキッド構成224は、コントローラ250を構成するためのデータおよび命令のパッケージであり、XMLファイルまたはファイルのセットとしてフォーマットされ得る。構成224は、スキッドのコントローラによってロードおよび実装されるルーチン(例えば、ラダーロジック、SFC図、等)、ならびにルーチンによって利用されるパラメータの名前、アドレス、および初期値を含む。構成224はまた、構成224の名前、構成224を受信して実施するスキッドのIPアドレス、または構成224を受信して実施するスキッドに接続するために利用することができるホワイトリストに載せられたネットワーク設定(例えば、IPアドレス)のセットなどの、セットアップパラメータを含む。
【0087】
例示すると、構成224はスキッド103に送信されて、スキッド103を構成し得る。構成224がスキッド103のコントローラ250によって最初に受け取られると、構成224にパッケージされた情報は抽出およびロードまたはインストールされ得、それにより、プロセッサ254は、含まれるルーチンを実行し、構成224に含まれるパラメータを読み書きすることができる(ロードまたはインストールは、含まれるパラメータにメモリ252のメモリ空間およびアドレスを割り当てることを含み得る)。
【0088】
事前構成されたネットワーク設定225~229のセット
ネットワーク設定225~229のセットの各々は、特定のセットに関連付けられたスキッド、ネットワーク、またはデバイスと通信するためにツール101が従って構成されるべきであるネットワークアドレスを指定し得る。ネットワークアドレスには、IPアドレスとサブネットマスクが含まれ得る。各セットはまた、ツール101が静的または動的ネットワークアドレスを有するべきかどうかを示すパラメータを含み得る。
【0089】
別の言い方をすると、各セット225~229は、特定のスキッド、ネットワーク、またはデバイスに関連付けられたホワイトリストに載せられた設定の特定のセットに対応する。例えば、設定225はスキッド103に対応し得る。設定226はスキッド104に対応し得、設定227はスキッド105に対応し得、設定228はネットワーク10に対応し得、そして、設定229は、いずれか他のデバイスまたはネットワークに対応し得る。
【0090】
スキッドコミュニケータツールによって実装される動作の例
図3は、スキッドコントローラによってホワイトリスト載せられたネットワーク設定のセットに従ってスキッドコミュニケータツールを迅速に構成し、スキッドコミュニケータツールがスキッドコントローラと完全に通信することを可能にする例示的な方法300のフローチャートである。方法300は、全体的または部分的に、図2に示されるスキッドコミュニケータツール101によって実装され得、1つ以上の命令またはルーチンとしてメモリに保存され得る。方法300は、図1~2に示されるツール101、スキッド103、およびプラント5の他の構成要素を参照して説明されるが、任意の好適に構成されたスキッドコミュニケータツールは、任意の好適に構成されたスキッドと通信する方法300を実装し得る。
【0091】
方法300は、有線リンクがツール101とスキッド103のスキッドコントローラ250との間に確立されると、ステップ301で開始する。ステップ301は、ユーザが、同軸ケーブル、ツイストペアケーブル(例えば、CAT3~CAT7ケーブルなどのイーサネットケーブル)、光ファイバケーブル、USBケーブル(例えば、USB1.x、2.x、または3.x規格に準拠)、FireWireケーブル、Thunderboltケーブル、等などの、通信に利用される任意の好適な媒体を介してスキッド103とコントローラ250とを物理的に結合することを含み得る。場合によっては、リンクは、本質的に無線であってもよい。
【0092】
ステップ302で、ツール101は、ステップ301で参照された有線リンクを介して、ツール101をスキッドコントローラ250に通信可能に結合する要求を検出する。ツール101は、スキッド103が有線リンクを介して別のデバイスにリンクされていることを検出することにより、要求を自動的に検出し得る。言い換えれば、ステップ302は自動的であって、ユーザの介入なしに行われてもよい。
【0093】
場合によっては、ステップ302は、ユーザが関与する手動のアクションを含む。例えば、入力センサ213は、要求を表すユーザ入力を検出し得る(例えば、タッチ入力、マウスキーなどの物理的なボタンまたはキーの作動、等検出する)。場合によっては、ツール101は、ステップ301の前にステップ302を実施してもよい。
【0094】
ステップ304で、ツール101は、コントローラ250との通信が、ツール101にロードされた現在のネットワーク設定で有効とされているかどうかを判定する。例えば、ツール101が、ネットワーク10と通信するための事前構成されたネットワーク設定228のセットに従って現在構成されている場合がある。ツール101とコントローラ250との間の通信が現在のネットワーク設定(例えば、ネットワーク10の設定228)によって有効にされていない場合、ツール101はステップ306に進む。
【0095】
一方、ツール101とコントローラ250との間の通信が現在のネットワーク設定によって有効にされる場合、ツール101はステップ332に進み、ツール101が、スキッド103を監視、制御、または構成するツール101関連して他の場所で説明されている動作の1つ以上を行うことを可能にするのに十分なコントローラ250との通信リンクを確立する。ステップ332は、以下でさらに詳細に説明される。
【0096】
ステップ306で、ツール101は、スキッド103またはコントローラ250のスキッドIDを検出する。スキッドIDは、スキッド103を特定する値を有する任意の好適な文字列または変数タイプであってもよい(例えば、「SK103」)。スキッドIDの値は、タグ(例えば、デバイスタグ)と呼ばれる場合があり、プラント5の他のデバイスに対してスキッド103に一意であり得、そしてデータベース72bに記憶され得る。スキッド104および105はまた、「SK104」および「SK105」などの一意のスキッドIDまたはタグを有し得る。
【0097】
ステップ306を続けると、ツール101は、コントローラ250にメッセージを送り、スキッドIDを要求することによって、スキッド103のスキッドIDを自動的に発見し得る。コントローラ250は、スキッドIDをツール101に送信することによって、またはツール101がスキッドIDを判定することを可能にする一意の情報を送信することによって(例えば、ツール101に、またはツール101によって照会することができるネットワーク10上のデータベースに記憶された、ツール101が相関するスキッドIDを特定するために利用することができる一意の値を送信することによって)応答し得る。あるいは、ツール101は、ユーザが関与する手動動作によってスキッドIDを検出してもよい。例えば、ツール101は、ユーザが入力センサ213を介して提供し得るスキッドIDを入力するように、(例えば、ディスプレイ211を介して提供されるグラフィックまたはメッセージを介して)ユーザを促してもよい。
【0098】
ステップ308で、スキッドIDを検出した後に、ツール101はメモリ252を分析して、検出されたスキッドIDに関連付けられた事前構成されたネットワーク設定のセットを特定する。具体的には、ツール101は、事前構成された設定225~229の1つ以上の記憶されたセットを分析し得る。場合によっては、ツール101は、(例えば、ネットワーク10を介して)サーバと対話して、スキッドIDに関連付けられた事前構成されたネットワーク設定のセットを特定し得る。例えば、ツール101は、対応するネットワーク設定のセットに対する要求と共に、スキッドIDをネットワーク10に結合されたサーバに送信してもよい。サーバは、記憶された事前構成されたネットワーク設定の記録を分析することによって応答し、記憶された設定のいずれかが受信したスキッドIDに関連付けられているかどうかを判定し得る。事前構成されたネットワーク設定の適切なセットがサーバによって見つかった場合、サーバはその設定をツール101に送信し得る。そうでなければ、サーバはツール101に送信して、所与のスキッドIDに対して事前構成されたネットワーク設定が存在しないことをサーバに通知し得る。
【0099】
ステップ310で、ツール101は、(i)スキッドIDに関連付けられた事前構成された設定のセットを特定できず、ステップ312に進み、構成プロセス(以下でより詳細に説明)を開始するか、または(ii)スキッドIDに関連付けられた事前構成された設定のセットを特定し、ステップ329またはステップ330に進み、事前構成された設定をロードする。第1のシナリオに関して、例えば、ツール101は、事前構成された設定225~229のいずれもスキッドID「SK103」に関連付けられていないと判定し、以下でより詳細に説明するステップ312に進み得る。
【0100】
ステップ310に関して参照される第2のシナリオに関しては、例示すると、ツール101は、ネットワーク設定225のセットがスキッドID「SK103」に関連付けられていると判定し得、ステップ329または直接ステップ330に進み得る(破線で示されるように)。ツール101は、(例えば、ユーザがツール101をコントローラ250に接続したすぐ後に)所与のスキッドの事前構成された設定を自動的に検出してロードするように構成されている場合、ステップ330に直接進み得る。
【0101】
ステップ329で、ツール101は、事前構成された設定をロードしたいというユーザの要求または確認を検出する。例証するために、図4は、ツール101のディスプレイ211で提供され得るGUIの例示的な表示400を示す。ユーザは、「ネットワークを決定」というラベルの付いたボタンを作動(例えば、クリック)して、スキッド103によって検出されたという要求を提供し得る。表示400は、スキッド103の特定のネットワーク設定または名前に関して、ユーザからの知識をほとんど必要としないことに留意されたい。ユーザは単にボタンをクリックして適切な設定をロードし、スキッド103との通信を迅速に確立する。要求を提供するためにユーザが対話し得るボタンまたはグラフィック要素は、任意の好適なラベルを有してもよい。例えば、スキッド103の名前またはスキッドIDが表示されてもよい。ステップ329の後、ツールはステップ330を実施する。
【0102】
ステップ330で、ツール101は、セット225に従ってそのネットワーク設定を構成する。例えば、ツール101は、設定225(例えば、192.168.1.3および255.255.255.0)によって指定されたIPアドレスおよびサブネットマスクに従って、IPアドレス設定およびサブネットマスク設定を設定し得る。上記のように、ツール101は、ステップ310の直後にこのステップを実施して、ユーザ入力なしでツール101の迅速かつ自動のネットワーク構成を可能にし得る。次に、ツール101は、ステップ304に進むことができる。
【0103】
この第2のシナリオのステップ304では、ツール101は、ツール101がセット225に従って構成されるときに、ツール101とコントローラ250との間の完全な通信が有効になっていることを確認し得る。ロードされたセット225が通信を可能にするとみなして、ツール101はステップ332に進み、コントローラ250との通信リンクを確立する。しかし、ロードされたセット225が通信を可能にしない場合、ロードされたセット225は、明らかに、コントローラ250によって利用されるホワイトリストに載せられた設定268に適合しない。したがって、ツール101は、ステップ304に戻り、スキッドIDの検出を再度試みることができる(例えば、初めに検出されたスキッドIDが何らかの理由で正しくなかった場合)。セット225が前回作成または更新されて、ツール101のメモリ202に記憶されてからホワイトリストに載せられた設定268が変更されている可能性があるため、ツール101は、コントローラ250およびスキッド103のために事前構成された設定の新しいセットをセットアップまたは構成する(例えば、セット225を更新することによって)ためにステップ312に進み得ることを留意されたい。いずれにせよ、ステップ301~310、329および330のうちの1つ以上が、ツール101がコントローラ250と完全に通信することを可能にするスキッドIDに関連付けられた事前構成された設定のセットを特定およびロードするツール101をもたらさない場合、ツール101はステップ312に進む。
【0104】
ステップ312で、ツール101の自動構成が有効になっていない場合、ツール101はステップ314に進んで手動構成動作を開始し得る。自動構成が有効である場合、ツール101はステップ320に進み得る。ツール101は、メモリ252に記憶された変数の値に基づいて、自動構成が有効にされているかどうかを判定し得る。代替的または追加的に、ツール101は、ユーザにプロンプトを出し、ユーザが手動構成または自動構成のどちらに進むかを示すコマンドをユーザが入力するのを要求してもよい。この入力は、「自動的にネットワーク設定を構成」などのラベル付けされたグラフィックボタンを押すのと同じくらい簡単であってもよい。
【0105】
ステップ314で、手動構成手順を開始することができる(例えば、自動構成が有効になっていない、またはそうでなければアクティブ化されていない場合)。手動構成は、2つのステップまたはサブステップ、すなわちステップ316およびステップ318を含み得る。ステップ316で、ツール101は、ツール101がスキッド103と通信することを可能にするためにツール101にロードすることができるネットワーク設定のセットを入力するようにユーザに促す。プロンプトは、テキストまたは数字のフィールドを含むことができ、ツール101がスキッド103と通信することを可能にするツール101のIPアドレスまたはツール101のサブネットマスクをユーザが入力するように要求し得る。ステップ318で、ツール101は、提供されるネットワーク設定を受信し(例えば、テキストまたは数字のフィールドを介して)、以下でより詳細に説明されるステップ328に進む。上記のように、いくつかの例では、ツール101は、ステップ314の手動構成手順の代わりに、ステップ320の自動構成手順を行う。
【0106】
ステップ320で、ツール101は、自動構成手順を行う(例えば、自動構成が有効にされてアクティブにされるとき)。自動構成は、3つのステップまたはサブステップ、すなわちステップ322、ステップ324、およびステップ326を含み得る。
【0107】
ステップ322で、ツール101は、ツール101がコントローラ250と完全に通信することを可能にするためにツール101にロードすることができるネットワーク設定をツール101が特定することを可能にする情報の要求を含むメッセージをコントローラ250に送信する。
【0108】
ステップ324で、ツール101は、必要であれば1つ以上のセキュリティ動作を行う。例えば、ツール101は、コントローラ250にアイデンティティまたは「ID」(例えば、ツール101のMACアドレス、ツール101のIPアドレス、ツール101のユーザ名またはツール101のユーザ、またはツール101またはユーザにリンクされたいずれか他の一意または比較的一意の情報)を送信することによって、それ自体を特定してもよい。状況によっては、ツール101は、IDにリンクされた秘密情報(例えば、パスワード)をコントローラ250に送信することによって、それ自体の認証を容易にし得る。必要であれば、ツール101は、コントローラ250に送信されるメッセージを暗号化し、コントローラ250から受信したメッセージを解読してもよい。必要であれば、ステップ324はいつでも行うことができ、必要に応じて繰り返し得ることを留意されたい。例えば、ツール101は、コントローラ250が、ツール101に特定の監視、制御、または構成許可を与える前に、様々なセキュリティ対策が満たされることを要求する範囲で、ステップ332の前または後にステップ324を行ってもよい。場合によっては、ツール101はステップ324を行わない。いずれにしても、ツール101は、ステップ322または324の後に、ステップ326に進むことができる。
【0109】
ステップ326において、ツール101は、コントローラ250からネットワーク設定情報を受信する。受信された情報は、ホワイトリストに載せられた設定268、またはホワイトリストに載せられた設定268の一部分を含み得る。場合によっては、受信した情報には、通信を可能にする特定のネットワーク設定が含まれる。他の例では、受信した情報には、ツール101が通信を可能にする特定のネットワーク設定を生成するか、そうでなければ特定することを可能にする情報が含まれる。いずれにしても、ステップ326の後に、ツール101はステップ328を実施する。
【0110】
ステップ328で、ツール101は、ステップ318または326で受信した設定情報を分析して、(i)ツール101にロードして、コントローラ250との通信を可能にする事前構成された設定を特定し、(ii)スキッドID(例えば、「SKD103」)で参照可能であるように、メモリ202に事前構成された設定を記憶する。上記のように、いくつかの例では、受信された情報は、スキッド103の事前構成されたネットワーク設定のセット(例えば、セット225)として保存される特定のネットワーク設定を含む。例えば、ツール101は、受信した情報を分析して、実施形態に応じて、受信した情報内で次のいずれか1つ以上を特定し得る、(i)ツール101が従って構成されるべきである特定のIPアドレスおよび特定のサブネットマスク、(ii)ツール101によって利用され得る潜在的なIPアドレスの範囲、(iii)ツール101がツール101のIPアドレスを生成するために分析し得る、コントローラ250によって利用されるスキッドIPアドレスおよびスキッドサブネットマスク、(iv)例えば、適切なIPアドレスをデータベースに問い合わせるためにツール101が利用することができるトークン。いずれの場合でも、ツール101がコントローラ250と通信することを可能にする事前構成されたネットワーク設定のセット(例えば、IPアドレス、サブネットマスク、静的/動的インジケータ、またはそれらの何らかの組み合わせ)をツール101が特定した後に、ツール101は、事前構成されたネットワーク設定のセットをメモリ202に(例えば、セット225として)記憶する。例えば、ツール101はセット225を記憶し得、セット225は、IPアドレス(例えば、192.168.1.3)、サブネットマスク(例えば、255.255.255.255)、静的/動的インジケータ(例えば、「静的」)、および関連するスキッド(例えば、「SK103」)と相関する値を有するスキッドIDパラメータを含み得る。ステップ328の後、ツールはステップ329を実施する。
【0111】
ステップ329で、ツール101は、事前構成された設定をロードする要求を検出し得る。すでに述べたように、いくつかの例では、ステップ329は実装されておらず、ツール101はステップ328からステップ330に直接進むことができる。
【0112】
ステップ330で、ツール101は、メモリに記憶された事前構成された設定のセット(例えば、セット225)をロードする。次に、ツール101はステップ304を実施する。ステップ330および328の後にステップ304を実施するとき、ツール101は、(i)事前構成された設定(例えば、セット225)が、ツール101がコントローラ250と通信することを可能にしない場合、ステップ306~328を実施する、または(ii)事前構成された設定が、ツール101とコントローラ250との間の通信を可能にする場合、ステップ332を実施する。前者に関して、例えば、ユーザが手動構成(ステップ314)中にツール101に誤った設定を提供した場合、ステップ306~328が必要になり得る。いずれにせよ、事前構成された設定が、ツール101がコントローラ250と通信することを可能にする場合、ツール101はステップ332を実施する。
【0113】
ステップ332で、ツール101は、コントローラ250との通信リンク(例えば、リンク299)を確立する。リンク299を介した通信は、一般にTCP/IPプロトコルに準拠するが、任意の追加または代替の望ましいプロトコルまたは規格(例えば、USB、Bluetooth、NFC、Wi-Fi、MODBUS/TCP、EtherNet/IP、HTTP、BootP、DHCP、DNS、SNTP、FTP、SNMP、SMTP、等)に準拠し得る。
【0114】
通信を確立した後に、ツール101は、(i)監視または制御動作、(ii)読み取りまたは書き込み動作(例えば、スキッドパラメータ266の値の読み取りまたは書き込み)、または(iii)構成動作、のいずれか好適なことを実施し得る。構成動作に関して、ツール101は、コントローラ250からスキッド構成264をダウンロードし得る。ツール101は、必要に応じて構成264をメモリ202に記憶し、構成264のルーチンまたはパラメータを追加、削除、または調整することによって構成264を更新または変更し得る(例えば、センサ213で検出されたユーザ入力に基づいて)。図2に示すメモリ202に記憶されたスキッド構成224は、構成264の更新されたバージョンを表し得、または別個の構成を表し得る。いずれにしても、ツール101は、更新された構成264または構成224をコントローラ250にアップロードし、コントローラ250に構成224をロードさせ得、コントローラ250に更新された構成264または構成224に含まれるルーチンまたはパラメータに従って動作させる。
【0115】
ユーザがスキッド103との相互作用を終えると、ユーザは再びツール101の設定を素早く変更して、ネットワーク10、スキッド104または105の一方、または別のデバイスと通信し得る。例えば、ユーザは、ツール101を新しいスキッドに接続してもよく、ツール101をステップ301に戻させる。
【0116】
別の例として、ユーザがスキッド103との相互作用を終えると、ユーザは、別のスキッドへの有線接続を確立することなく、ネットワーク設定の変更を要求し得る。例えば、ユーザは、ツール101が、現在のネットワーク設定の前に使用された以前のネットワーク設定(例えば、ネットワーク10のネットワーク設定)に戻ることを要求し得る。例証するために、図5は、ディスプレイ211で提供され得るGUIの例示的な表示500を示す。ユーザは、「以前の設定を復元する」というラベルの付いたボタンを作動させて、現在ロードされている設定(例えば、セット225)の前にロードされていた設定を簡単に復元し得る。以前の設定は、メモリ202に記憶され得る(例えば、ツール101がネットワーク設定の新しいセットをロードするときに)。以前の設定をロードした後、ツール101はステップ304に進み、ネットワーク10(または、以前の設定に関連付けられているスキッド、ネットワーク、またはデバイスのどれでもよい)との通信が有効であることを確認してもよい。
【0117】
代替的または追加的に、表示500は、保存された事前構成された設定225~229の各セットに固有の(したがって、ツール101が事前設定された設定を有する各スキッド、ネットワーク、またはデバイスに固有の)インタラクティブな要素(例えば、ボタン、ドロップダウンメニュー、等)を含み得る。場合によっては、ツール101は、ユーザがスキッドまたはネットワークに関連付けられたタグ(例えば、「SK103」)を検索することを可能にする、検索ボックスを表示してもよい。いずれにせよ、ユーザが事前構成されたネットワーク設定225~229のセットの1つに対応するグラフィック要素と対話するとき、ツール101は、対応するセット225~229をロードし、ステップ304に進む。ロードされたセットが機能しない場合、ツール101は、再びステップ306に進み得る。
【0118】
いくつかの状況では、方法300は代替のまたは追加の動作を含み得ることに留意されたい。例えば、ステップ301に加えて、またはその代わりに、ツール101は、スキッドコントローラ250への無線リンクを確立することを試みてもよい。そのような実施形態では、ツール101は、無線リンクの確立に失敗する場合があり、この失敗に応答して、およびユーザがツール101をコントローラ250に通信可能に結合したいという決定に応答して、方法300のステップ306に進み得る。場合によっては、ツール101は、通信能力が制限された無線リンクを確立する場合がある。制限された無線リンクは、必要に応じて、ツール101とコントローラ250との間の特定のタイプのメッセージング(例えば、デバイス/ネットワークの特定、デバイス/ネットワークの発見、認証動作、および他のセキュリティ対策に関連するメッセージ)のみを有効にしてもよい。特定のタイプのメッセージングのみのこの有効化は、例えば、スキッド103でホワイトリストに載せられたネットワーク設定に準拠するネットワーク設定に従ってツール101が構成されている場合でも望ましい場合がある。そのような場合、ツール101は、ステップ304またはステップ332に進む前に、ステップ324を参照して論じられたセキュリティ動作の1つ以上を行ってもよい。
【0119】
追加の検討
この詳細な説明は、様々な実施形態を考慮するが、いずれの特許請求の範囲のシステムまたは方法の法的範囲が、本特許の最後に明らかにされた特許請求の範囲の語によって定義されることが理解されるべきである。この詳細な説明は、単に例示的なものとして解釈されるべきであり、全ての可能な実施形態を説明することは、不可能ではない場合でも非現実的であるので、全ての可能な実施形態を説明するものではない。
【0120】
本明細書を通して、複数の事例は、単一の事例として記載された構成要素、動作、または構造を実施し得る。1つ以上の方法の個々の動作が別個の動作として例示および記載されたが、個々の動作のうちの1つ以上が、一定の実施形態において同時に実行されてもよい。
【0121】
本明細書に使用される際、「一実施形態」または「実施形態」に対する任意の参照は、実施形態と併せて説明された特定の要素、特徴、構造または特性が、少なくとも1つの実施形態に含められることを意味する。本明細書の様々な場所の「一実施形態において」という語句の出現は、必ずしも全てが同一の実施形態を参照しているとは限らない。
【0122】
本明細書に使用される際、「備える(comprises、comprising)」、「含む(includes、including)」、「有する(has、having)」という用語、またはそれらの任意の他の変形は、非排他的な包含を網羅することを意図する。例えば、要素のリストを含むプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的に列挙されていないか、またはかかるプロセス、方法、物品もしくは装置に固有の他の要素を含み得る。さらに、正反対に明示的に述べられない限り、「または」は、排他的なまたはではなく、包括的なまたはであることを意味する。例えば、条件AまたはBは、Aが真(または存在)かつBが偽(または存在しない)、Aが偽(または存在しない)かつBが真(または存在する)、ならびにAおよびBの両方が真である(または存在する)のうちのいずれか1つによって満たされる。
【0123】
加えて、「a」または「an」の使用は、本明細書の実施形態の要素および構成要素を説明するために用いられる。この説明、およびそれに続く特許請求の範囲は、1つまたは少なくとも1つを含むように読まれるべきである。単数形はまた、それが複数形を含まないことが明らかでない限り、複数形も含む。
【0124】
様々な実施形態において、本明細書に説明されるハードウェアシステムは、機械的にまたは電子的に実装され得る。例えば、ハードウェアシステムは、恒久的に構成された専用回路または論理を含み得る(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)等の専用プロセッサとして)。ハードウェアシステムはまた、一定のオペレーションを実施するためにソフトウェアによって一時的に構成されるプログラマブル論理または回路(例えば、汎用プロセッサまたは他のプログラマブルプロセッサ内に包含されるもの)も含み得る。専用かつ恒久的に構成された回路において、または一時的に構成された回路(例えば、ソフトウェアによって構成された)においてハードウェアシステム機械的に実装する決定は、コストおよび時間を考慮してなされ得ることが理解されよう。
【0125】
本明細書を通して、以下の用語のうちのいくつかが使用される。
【0126】
通信インターフェース。説明されたデバイスおよび/またはシステムのいくつかは、「通信インターフェース」(「ネットワークインターフェース」と呼ばれることもある)を含む。例えば、図に示すツール101およびスキッド103のコントローラ250は各々、通信インターフェースを含む。説明される通信インターフェースは、それらが一部であるシステムが他のシステムに情報またはデータを送信したり、他のシステムから情報/データを受信したりすることを可能にする。いくつかの例では、通信インターフェースは、別のシステムへの直接リンク(例えば、ツール101とスキッド103の間)の確立を可能にする。場合によっては、通信インターフェースは、ネットワーク10などのネットワーク(例えば、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、または広域ネットワーク(WAN))へのリンクを介した接続を可能にする。
【0127】
必要に応じて、説明されている通信インターフェースには、(i)電気信号または光信号を別のデバイスに運ぶ(例えば、同軸ケーブルまたは光ファイバケーブルを介して)有線リンクへの接続を可能にし、他のデバイスと通信する回路、または(ii)無線周波数(RF)信号などの電磁信号を介して無線通信(例えば、短距離または長距離通信)を可能にする回路、を含めることができる。説明されている通信インターフェースおよびシステムは、本明細書に説明されるものなどの、任意の1つ以上の好適な通信プロトコル、規格、または技術に準拠し得る。
【0128】
通信プロトコル、規格、技術。説明されているシステムで利用され得る通信プロトコル、規格、または技術の例には、ナノスケールネットワーク、近距離場ネットワーク、パーソナルエリアネットワーク(「PAN」)、ローカルエリアネットワーク(「LAN」)、バックボーンネットワーク、メトロポリタンエリアネットワーク(「MAN」)、広域ネットワーク(「WAN」)、インターネットエリアネットワーク(「IAN」)、またはインターネット、を介した通信を容易にするものが含まれる。
【0129】
近距離場ネットワークのプロトコルおよび規格の例には、典型的な無線周波数識別(「RFID」)規格またはプロトコル、および近距離無線通信(「NFC」)プロトコルまたは規格が含まれる。PANプロトコルおよび規格の例には、6LoWPAN、Bluetooth(つまり、約2.4~2.485GHzの範囲の電波を使用して2つのデバイス間でデータを交換するための無線規格)、IEEE802.15.4-2006、ZigBee、スレッドプロトコル、超ワイドバンド(「UWB」)、ユニバーサルシリアルバス(「USB」)、無線USB、ZigBee、およびANT+、が含まれる。LANプロトコルおよび規格の例には、802.11プロトコルおよび約1GHz~60GHz(例えば、900MHz、2.4GHz、3.6GHz、5GHz、または60GHz帯域を含む)の範囲にある帯域での無線通信用のその他の高周波プロトコル/システム、ならびに同軸ケーブルや光ファイバケーブルなどの好適なケーブルの規格、が含まれる。無線WANを容易にするために使用される技術の例には、LANに使用される技術、ならびに2G(例えば、GPRSおよびEDGE)、3G(例えば、UMTSおよびCDMA2000)、4G(例えば、LTEおよびWiMAX)、および5G(例えば、IMT-2020)技術、が含まれる。インターネットは、WANと見なされる場合があることに留意されたい。
【0130】
利用可能なその他の通信プロトコルおよび規格には、BitTorrent、Bluetoothブートストラッププロトコル(「BOOTP」)、ドメインネームシステム(「DNS」)、ダイナミックホスト構成プロトコル(「DHCP」)、イーサネット、ファイル転送プロトコル(「FTP」)、ハイパーテキスト転送プロトコル(「HTTP」)、赤外線通信規格(例えば、IrDAまたはIrSimple)、伝送制御プロトコル/インターネットプロトコル(「TCP/IP」)(例えば、TCP/IPレイヤの各々で使用されるプロトコルのいずれか)、リアルタイム転送プロトコル(「RTP」)、リアルタイムストリーミングプロトコル(「RTSP」)、簡易メール転送プロトコル(「SMTP」)、簡易ネットワーク管理プロトコル(「SNMP」)、簡易ネットワークタイムプロトコル(「SNTP」)、セキュアシェルプロトコル(「SSH」)、および任意の他の通信プロトコルまたは規格、またはそれらの任意の組み合わせ、が含まれる。
【0131】
通信リンク。「通信リンク」または「リンク」は、2つ以上のノードを接続する経路または媒体である。リンクは、物理リンクまたは論理リンクであり得る。物理リンクは、情報が転送されるインターフェースおよび/または媒体(複数可)であり、本質的に有線であってもよくまたは無線であってもよい。有線リンクの例には、(i)同軸ケーブルやツイストペアケーブル(例えば、CAT3~CAT7ケーブルなどのイーサネットケーブル)などの電気エネルギー伝送用の導体(例えば、銅)を備えたケーブル、および(ii)光の伝送のための光ファイバケーブルまたは接続(例えば、典型的には、伝送媒体としてガラスを利用する)、が含まれる。
【0132】
無線リンクは、電磁波(複数可)の1つ以上の特性に加えられた変化を介して情報を運ぶ無線電磁信号であり得る。無線電磁信号は、マイクロ波または電波であり得、無線周波数または「RF」信号と呼ばれ得る。特に明記しない限り、記載されているRF信号は、およそ30kHz~3,000GHzのスペクトルで見られる任意の1つ以上の帯域内の周波数で発振し得る(例えば、2.4GHz帯の802.11信号)。RF帯域の例には、30~300kHzの低周波数(「LF」)帯域、300~3,000kHzの中周波数(「MF」)帯域、3~30MHzの高周波数(「HF」)帯域、30~300MHzの超高周波(「VHF」)帯域、300~3,000MHzの極超高周波(「UHF」)帯域、3~30GHzのスーパー高周波(「SHF」)帯域、30~300GHzのミリ波周波数(「SHF」)帯域、および300~3,000GHzのさらに高い(tremendously high)周波数(「THF」)帯域、が含まれる。
【0133】
場合によっては、無線電磁信号は、およそ300GHz~30PHzの周波数で発振し、波長がおよそ100nm~1mmの光信号である場合があり、それは、(i)おおよそ10nm~400nmの範囲の波長であっておおよそ750THz~30PHzの範囲の周波数を有する紫外光(「UV」)信号、(ii)およそ400nm~700nmの範囲の波長であっておよそ430THz~750THzの範囲の周波数を有する可視光信号、または(iii)およそ700nm~1mmの範囲の波長であっておおよそ300GHz~430THzの範囲の周波数を有する赤外線(「IR」)信号、であり得る。特に明記しない限り、記載されている光信号は、可視光通信(VLC)規格、光忠実度(Li-Fi)規格、赤外線データ協会(IrDA)規格、IrSimple規格、等などの、任意の好適な光信号プロトコルまたは規格に準拠し得る。
【0134】
2つ以上のノード間の論理リンクは、基礎となる物理リンクまたは2つ以上のノードを接続する中間ノードの抽象概念を表す。例えば、2つ以上のノードは、論理リンクを介して論理的に連結され得る。論理リンクは、物理リンクおよび中間ノード(例えば、ルータ、スイッチ、または他のネットワーク機器)の任意の組み合わせを介して確立され得る。
【0135】
リンクは「通信チャネル」と呼ばれることもある。無線通信システムでは、「通信チャネル」(または単に「チャネル」)という用語は一般に、特定の周波数または周波数帯域を指す。搬送信号(または搬送波)は、特定の周波数で、またはチャネルの特定の周波数帯域内で送信され得る。場合によっては、複数の信号が単一の帯域/チャネルで送信されることがある。例えば、信号は、時には異なるサブ帯域またはサブチャネルを介して、単一の帯域/チャネルで同時に送信されることがある。別の例として、信号は、時にはタイムスロットを割り当てることによって同じ帯域を介して送信されることがあり、それぞれの送信機および受信機が当該の帯域を使用する。
【0136】
メモリおよびコンピュータ可読媒体。一般的に言うと、本明細書で使用される「メモリ」または「メモリデバイス」という語句は、コンピュータ可読メディアまたは媒体(「CRM」)を含むシステムまたはデバイスを指す。「CRM」は、情報(例えば、データ、コンピュータ可読命令、プログラムモジュール、アプリケーション、ルーチン、等)を配置、保持、または検索するための関連するコンピューティングシステムによってアクセス可能な媒体を指す。「CRM」は、本質的に非一時的である媒体を意味し、電波等の無形な一時的信号を意味するものではないことに留意されたい。
【0137】
CRMは、関連するコンピューティングシステム内に含まれるか、または関連するコンピューティングシステムと通信する、任意の技術、デバイス、またはデバイスグループに実装され得る。CRMには、揮発性または不揮発性のメディア、およびリムーバブルまたは非リムーバブルのメディアが含まれる。CRMは、限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリ、もしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または情報を記憶するために使用され得、かつコンピューティングシステムによってアクセスされ得る任意の他の媒体を含み得る。CRMは、システムバスに通信可能に連結され、CRMと、システムバスに連結された他のシステムまたはコンポーネントとの間の通信を可能にする。いくつかの実装において、CRMは、メモリインターフェース(例えば、メモリコントローラ)を介してシステムバスに連結され得る。メモリインターフェースは、CRMとシステムバスとの間のデータの流れを管理する回路である。
【0138】
ネットワーク。本明細書に使用される際、別段の指定がない限り、情報またはデータを通信するシステムまたはデバイスの文脈で使用されるとき、「ネットワーク」という用語は、ノード間の遠距離通信を可能にするように接続されるノード(例えば、情報を送る、受信するまたは転送することができるデバイスまたはシステム)およびリンクの集合を意味する。
【0139】
ネットワークには、ノード間のトラフィックの転送または方向付けを担当する専用ルータ、スイッチ、またはハブ、および、任意に、ネットワークの構成ならびに管理を担当する専用デバイスが含まれる。ノードの一部または全部はまた、他のネットワークデバイス間で送られるトラフィックを方向付けるために、ルータとして機能するようにも適合され得る。ネットワークデバイスは、有線または無線の様式で相互接続されてもよく、ネットワークデバイスは、異なるルーティングおよび転送性能を有してもよい。例えば、専用ルータは、大量の伝送が可能であるが、いくつかのノードは、同一期間に比較的少量のトラフィックを送受信することができる場合がある。加えて、ネットワーク上のノード間の接続は、異なるスループット性能および異なる減衰特性を有し得る。光ファイバケーブルは、例えば、媒体の固有の物理的制限の差のために、無線リンクより数桁大きい強度の帯域幅を提供することが可能であり得る。ネットワークは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)等のネットワークまたはサブネットワークを含み得る。
【0140】
ノード。一般的に言うと、「ノード」という用語は、接続点、再分配点、または通信エンドポイントを意味する。ノードは、情報を送信する、受信するまたは転送することができる任意のデバイスまたはシステム(例えば、コンピュータシステム)であり得る。例えば、メッセージを発信するまたは最終的に受信するエンドデバイスまたはエンドシステムは、ノードである。メッセージを受信および転送する中間デバイス(例えば、2つのエンドデバイス間)もまた、一般的に「ノード」であるとみなされる。
【0141】
プロセッサ。本明細書に説明される方法の例の様々なオペレーションは、少なくとも部分的に、1つ以上のプロセッサによって行われ得る。一般的に言うと、「プロセッサ」および「マイクロプロセッサ」という用語は、互換的に使用され、各々がメモリに記憶された命令を取得および実行するように構成されたコンピュータプロセッサを意味する。これらの命令を実行することによって、プロセッサは、命令によって定義される様々なオペレーションまたは機能を実行し得る。プロセッサは、特定の実施形態に応じて、一時的に構成されてもよく(例えば、命令またはソフトウェアによって)、または関連するオペレーションまたは機能を実施するように恒久的に構成されてもよい(例えば、特定用途向け集積回路またはASIC用のプロセッサ)。各プロセッサは、例えば、メモリコントローラまたはI/Oコントローラも含み得る、チップセットの一部であってもよい。チップセットは、I/Oおよびメモリ管理機能ならびに複数の汎用または専用レジスタ、タイマ、等を提供するように典型的に構成された集積回路内の電子部品の集合である。一般的に言うと、説明されるプロセッサのうちの1つ以上は、システムバスを介して他の構成要素(メモリデバイスやI/Oデバイスなど)に通信可能に結合され得る。
【0142】
オペレーションの一定の性能は、単一のマシン内に存在するのみならず、いくつかのマシンにわたって配備された1つ以上のプロセッサの間で分散され得る。いくつかの実施形態では、1つ以上のプロセッサは、(例えば、家庭環境内の、職場環境内の、またはサーバファームとして)単一の場所に存在し得るが、他の実施形態では、プロセッサは多数の場所にわたって分散され得る。
【0143】
「処理すること(processing)」、「コンピューティングすること(computing)」、「計算すること(calculating)」、「判定すること(determining)」、「提示すること(presenting)」、「表示すること(displaying)」等のような単語は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、もしくはそれらの組み合わせ)、レジスタ、または情報を受信、記憶、送信、もしくは表示する他の機械構成要素内の物理(例えば、電気、磁気、または光)量として表されたデータを操作または変換する機械(例えば、コンピュータ)の動作またはプロセスを意味し得る。
【0144】
ルーチン。特に明記しない限り、本開示で説明される「ルーチン」または「アプリケーション」は、CRMに記憶することができるコンピュータ可読命令のセットを指す。概して、CRMは、命令を表すかまたはそれに対応するコンピュータ可読コード(「コード」)を記憶し、コードは、ルーチンまたはアプリケーションによって表されるかまたはそれに関連付けられるとして説明される機能を容易にするためにプロセッサによって実行されるように適合される。各ルーチンまたはアプリケーションは、スタンドアロンの実行可能ファイル、実行可能ファイルのスイートまたはバンドル、実行可能ファイルまたはプログラムによって利用される1つ以上の非実行可能ファイル、またはそれらのなんらかの組み合わせを介して実装され得る。場合によっては、特に明記しない限り、説明されているルーチンの1つ以上は、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または任意の他のハードウェアやファームウェア要素にハードコードされている場合がある。
【0145】
さらに、特に明記しない限り、各ルーチンまたはアプリケーションは、(i)スタンドアロンのソフトウェアプログラム、(ii)ソフトウェアプログラムのモジュールまたはサブモジュール、(iii)ソフトウェアプログラムのルーチンまたはサブルーチン、または(iv)「呼び出し」を介してソフトウェアプログラムによって呼び出されるかアクセスされるリソースであって、これにより、システムをリソースに関連付けられたタスクまたは機能を実施させる、リソース、として具体化され得る。呼び出しは、(i)ソフトウェアプログラムによってアクセス可能なライブラリに記憶されたリソース(例えば、命令のセット)の実行を引き起こすために呼び出される「機能呼び出し」、(ii)システムリソースの実行を引き起こすために呼び出される「システムコール」(例えば、多くの場合、特権カーネル空間で実行され、オペレーティングシステムによってのみ実行可能)、(iii)異なるアドレス空間を有する論理エンティティまたは物理エンティティにリソースを実行させるために呼び出される「リモートコール」、(iv)それらのなんらかの組み合わせ、であり得る。例として、デバイスのプロセッサによって実行されるルーチンは、「リモートコール」を呼び出して、(i)第2のデバイス(例えば、サーバホスト、エンドユーザデバイス、ネットワーキングデバイス、デバイスと通信する周辺デバイス、またはなんらかの他の物理デバイス)、(ii)同じまたは異なるデバイス上の仮想マシン、(iii)元のプロセッサとは異なり、ルーチンを実行するデバイスの内部または外部にあり得るプロセッサ(例えば、CPUまたはGPU)、(iv)それらのなんらかの組み合わせ、においてリソースの実行を引き起し得る。
【0146】
各ルーチンは、ソースコード(例えば、実行のために解釈可能、または下位レベルのコードにコンパイル可能)、オブジェクトコード、バイトコード、マシンコード、マイクロコードなど、のような任意の所望の言語で実装されたコードによって表すことができる。コードは、任意の好適なプログラミング言語またはスクリプト言語(例えば、C、C++、Java、Actionscript、Objective-C、Javascript、CSS、Python、XML、Swift、Ruby、Elixir、Rust、Scala、他)で記述することができる。
【0147】
ユーザインターフェース(UI)。一般的に言うと、ユーザインターフェースは、ユーザとコンピュータシステムとが相互作用するコンピュータシステムの構成要素を指す。UIコンポーネントは、ハードウェア、ソフトウェア、またはそれらのなんらかの組み合わせであり得、UI入力コンポーネント、UI出力コンポーネント、またはそれらのなんらかの組み合わせを含み得る。
【0148】
UI出力コンポーネントの例には、(i)ライト(例えば、LED)や電子ディスプレイ(例えば、LCD、LED、CRT、プラズマ、プロジェクションディスプレイ、ヘッドアップディスプレイ、等)などのビジュアル出力コンポーネント、(ii)スピーカなどのオーディオ出力コンポーネント、および(iii)触覚フィードバックを提供するモータなどの動き生成コンポーネント、が含まれる。
【0149】
UI入力コンポーネントの例には、(i)ハードウェアアクチュエータ(例えば、キーボード、マウス、タブレットまたは電話に見られる「ハード」ボタン、等に使用されるもの)または電気センサ(例えば、抵抗性または容量性タッチセンサ)などの物理的またはタッチ入力を検出するための機械的または電気的構成要素、(ii)音声コマンドなどのオーディオ入力を検出するためのオーディオセンサ(例えば、マイク)、(iii)カメラに見られるもの(例えば、ユーザがデバイスに触れるのを必要とせずに顔認識入力またはジェスチャ入力を可能にする)などの画像またはビデオ入力を検出するための画像センサ、(iv)コンピュータシステム自体の動きを検出する(例えば、ユーザがコンピュータシステムを回転または他の方法で動かすことにより入力を提供することを可能にする)ための動きセンサ(例えば、加速度計、ジャイロスコープ、等)、が含まれる。
【0150】
一部のシステムは、電子ディスプレイなどのUI出力コンポーネントを介してグラフィカルユーザインターフェース(GUI)を提供する。一般的に言って、GUIはルーチンを介して生成され、ユーザが電子ディスプレイに表示されるインジケータや他のグラフィック要素と対話することを可能にする。一般的に言って、GUIのグラフィック要素は、GUI出力要素(つまり、ユーザに何らかの情報を伝える)、GUI制御要素(つまり、システムによるアクションの実行を引き起こすためのユーザ「対話型」である)、または両方(例えば、アイコンがブラウザを表す画像を含み得、ブラウザを起動するために対話し得る)、であり得る。
【0151】
GUI制御要素の例には、ボタン(例えば、ラジオボタン、チェックボックス、等)、スライダ、リストボックス、スピナ要素、ドロップダウンリスト、メニュー、メニューバー、ツールバー、インタラクティブアイコン、テキストボックス、移動または最小化および最大化することができるウィンドウ、等、が含まれる。
【0152】
一般的に言って、ウィンドウとは、情報を表示する画面上の領域であり、その内容は画面の残り部分とは独立して表示される。一般に、メニューは、対応するコマンドを実行するためにユーザが選択し得る選択可能な選択肢のリストである(例えば、メニューを展開して追加の選択肢を表示させる、新しいウィンドウを生成させる、等)。一般に、アイコンは、ファイル、アプリケーション、Webページ、またはコマンドなどのオブジェクトを表す小さな画像である。ユーザは典型的には、アイコンと対話して(例えば、1回または2回押したり、クリックしたりして)コマンドを実行し、ドキュメントを開き、またはアプリケーションを走らせることができる。
図1A
図1B
図2
図3
図4
図5