説明

入出力装置に対するウェブ・インターフェース

【課題】ユーザがウェブ・ブラウザを用いて通信ネットワークを介して入出力装置にアクセスすることを可能する制御システムを提供する。
【解決手段】ネットワーク42と入出力装置40との間に設けられたウェブ・サーバ30は、バック・プレーン・ドライバ56に直接に結合されたイーサネット(登録商標)・ドライバ48、HTTPプロトコル・インタプリター、入出力装置40、TCP/IPスタック54及びイーサネット・ボード・カーネルを含み、インターネットを介して遠方位置のユーザによる入出力装置40へのアクセスを提供し、インターネット上で用いられる工業標準イーサネット、TCP/IP及びHTTPプロトコルを入出力装置40に認識可能なデータに変換する。このインターフェースを用いて、ユーザは入出力装置40の動作に関する全ての適切なデータを入出力できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、工場自動化システム用の複数の入出力モジュール又は装置を監視および制御する分野に関する。特に、本発明は、複数の入出力モジュール又は装置をウェブ・サーバに結合するシステムに関する。
【0002】
(関連出願)
本出願は、「プログラムラマブル・コントローラに対するウェブ・インターフェース」と題して1997年9月10日に出願された米国特許出願第08/927,005号の一部継続出願である。この出願は、1998年10月6日に出願された米国特許出願第09/166,870号の「モジュラー端末入出力システム用にイーサネットを介してメッセージング・アプリケーション・レイヤ(MODBUS)からトランスポート・レイヤ(TCP)に通信する方法及び装置」と、1999年4月30日に出願された米国特許出願第09/303,458号の「プログラム・コントローラに対するウェブ・インターフェース」と、1998年12月30日に出願された米国特許出願第09/223,349号の「プログラムラマブル・ロジック・コントローラに対するインターフェース」と、1998年3月16日に出願された米国仮特許出願第60/078,223号の「イーサネット及びIPネットワークを介する制御システム用の通信システム及びそのようなシステム用の通信インターフェース」と題して共通に譲渡された出願に関連する。
【背景技術】
【0003】
複数のシステム、複数のプロセス及び複数の入出力装置の遠隔監視及び遠隔制御は多くの形式を有していた。過去において、複数の専用回線が制御システムと遠方位置との間における通信の共通形式であった。この形式の通信は、制御システムが多数の位置からアクセスできなかったので、応用が限定されていた。複数のモデムは異なる位置から制御システムをアクセスできるようにされていたが、これらの形式のシステムは、一般に、複数のデータ・ファイルのダウンロード及びアップロードに限られている。むしろ、複数の位置の間に任意形式の制御機能を設けることは、この形式の環境に限定される。更に、カスタマイズされたインターフェースは、一般に、エンド・ユーザによって制御システムをアクセスすることが要求される。
【0004】
インターネットの発展とハイパーテキスト・リンクを介してインターネット・データを編成する送出プラットフォームを提供するそれのワールド・ワイド・ウェブとにより、各エンド・ユーザに、同一形式のユーザに優しいインターフェースとウェブ上のサービスへの普遍的なアクセスとを与えるクライアント・サーバ・システムが設計可能とされている。そのウェブは、世界中のサーバ・コンピュータに記憶されたサイト又はページと呼ばれるドキュメントのネットワークである。各ページは、典型的には、テキストと、マルチメディア提供(すなわち、グラフィック・イメージ、ビデオ又はオーディオ)と、他のウェブ・ページ又はドキュメントに対するハイパーテキスト・リンクとを含む。ブラウザは、ユーザがウェブ・ページを読んだりウェブ・ページと対話することを可能にさせる。ブラウザは、インターネット・ウェブ・サイトに複数のコマンドを送出しかつウェブ・ページ上で利用可能などのような情報であっても表示するグラフィック・ソフトウェア・プログラムである。種々のブラウザ・プログラムは、周知のように、異なる製造者から商業的に入手可能である。
【0005】
インターネット・ネットワークは、一本のケーブルを共有する数千の汎用コンピュータを取り扱うように設計された方法を採用しており、したがって、それの目的又はそれのデータの重要性の観点からトラヒックを識別する能力は持っていない。インターネットは、もはや一本のケーブルを共有するコンピュータのネットワークではなく、むしろ、複数の汎用局と複数のルーター及び複数のファイヤウォールのような特殊なインフラストラクチュア構成要素との両方に係わる相互接続された複数のポイント・ツー・ポイント・リンクのウェブである。
【0006】
大抵のパーソナル・コンピュータ又はワーク・ステーションは、商業的に入手可能なブラウザを介してウェブに接続するためにエンド・ユーザによって使用可能にされている。インターネット及び他のネットワークを介する通信は、利用可能ないくつかのプロトコルのうちの1つを必要とする。インターネット・プロトコル(IP)のようなプロトコルは、ファイル転送、電子メール及び他のサービスを提供する。ハイパーテキスト・マークアップ言語(HTML)と共にジャバ(Java(登録商標))のような商業的に入手可能なプログラミング言語は、設計レイアウトとウェブ・サイト又はページ用グラフィックスとに使用されるとともに、ウェブが複数のダイナミック・アプリケーション(例えば、エンド・ユーザによってダウンロードされて実行可能とされる複数のアプレット)に使用可能とされる拡張インターネット技術を有する。これらのアプレットは、ウェブ・ブラウザ内で解釈されて実行されるとともに、ワード・プロセシングや類似の使用に一般に限定されていた。ダウンロード処理アプレット及び実行処理アプレットは、他形式のコンパイル言語に比較して遅くなる恐れがある。ブラウザに課せられかつ下層のジャバ言語によって強化されたセキュリティ・ルールは、アプレットがウェブ・サーバそれ自体よりも他の装置から一定のデータを得ることを妨げる。
【0007】
プログラムラマブル・ロジック・コントローラ(PLC)は工業及びプロセス制御に広く使用されている。多くの製造者は、マイクロソフト・ウィンドウズ(登録商標)及び他の形式の通信ネットワーキング環境を用いた工場自動化情報を提供している。これらのネットワークは、通常、低速であり、普遍的なアクセスができず、監視及びデータ交換に限定されている。専用フィールドバス代替を用いた特殊工業ネットワークは、非常に高価である。コンバージョン製品は、これらのネットワークを介して搬送される情報が汎用ネットワーク上で可視的であることを可能にすることを要求される。そのような介在装置の存在に関連して大きな設置及び他の配置コストが存在する。ウェブ・サーバとアプリケーションとの間のファイヤウォールは、セキュリティの問題を解決するように設計されたものであって、高いパフォーマンス用に設計されたものではない。
【0008】
プログラムラマブル・ロジック・コントローラに対する1形式のインターフェースは、クレータらに対する米国特許第5,805,442号に開示されている。この特許は、制御機能を実行しかつ制御機能に関連する(通常は、複数のセンサからの)データを収集するようにそれぞれ装備された1つ以上のコントローラを備えている。各コントローラは、データに関連した関連データ及び命令を記憶しかつ所定のフォーマットでデータに組み込まれている可視表示をリモート・コンピュータに発生させるコンピュータ・メモリのようなコンピュータ・ストレージ手段を含む。監視PCにプログラムラマブル・ロジック・コントローラを介してデータを転送するために必要とされる付加的な時間は、監視される情報の値を減少させる。また、リモートPCによるシステムの複数の入出力装置の監視及び制御は、監視しているPCとこれらの装置との間に配置されたプログラムラマブル・ロジック・コントローラを使用することによってのみ達成される。集積PLCに関連したリアル・タイム遅延は、ネットワーク通信トラヒックを増大させかつネットワーク情報の更新を遅くさせる原因となる。入出力装置への直接接続は、特に工場自動化システム及び機械の設置中の保守、修理、デバッグ及び診断問題に都合がよい。
【発明の概要】
【発明が解決しようとする課題】
【0009】
複数の入出力モジュール又は装置の遠隔監視及び遠隔制御のために複数の入出力装置に直接接続された汎用ネットワーク(例えば、インターネット及び特殊工業ネットワーク)をユーザが使用できる自動化制御システムを開発することが望ましい。
【0010】
本発明は、これらの問題及び他の問題を解決することを意図している。
【0011】
したがって、本発明の主な目的は、工業制御システムとインターネットのようなネットワークに結合されたウェブ・ブラウザとの間のインターフェースを提供することにある。
【0012】
本発明の他の目的は、入出力(I/O)装置に含まれた情報及びデータへのウェブ・ブラウザを介した遠隔アクセスを提供することにある。
【課題を解決するための手段】
【0013】
本発明の好ましい実施例では、本発明は、インターネットのような商業ネットワークを介して少なくとも1つの入出力装置内の情報にアクセスすることを容易にする。アクセスは、商業ウェブ・ブラウザを用いてローカル又は世界的になされる。本発明は、ウェブ・インターフェースに限定されることなく、ローカル・ネットワークと少なくとも1つの入出力装置に対するネットワーク・インターフェースとを含む必須構成要素の制御システムからなる。ウェブ・インターフェースは、入出力バック・プレーンに直接結合されたイーサネット(登録商標)・ボードからウェブ・ページを走らせるとともに、ハイパーテキスト転送プロトコル(HTTP)インタプリターと入出力モジュール・バック・プレーン・ドライバと送信制御プロトコル/インターネット・プロトコル(TCP/IP)スタックとイーサネット・ボード・カーネルとを含む。ウェブ・インターフェースは、インターネットを介して遠方位置にいるユーザによる入出力装置バック・プレーンに対するアクセスを提供する。このインターフェースは、工業基準イーサネットとTCP/IPとインターネット上で使用されるHTTPプロトコルとを入出力装置が認識可能なデータに変換する。このインターフェースを用いて、ユーザは、入出力装置構成と入出力ステータスと動作統計と診断と分散入出力構成とを含む入出力装置の動作に関する全ての関係データを検索することができる。オペレーティング・ソフトウエアの更新はインターネット・アクセスを介してダウンロードされ得る。
【0014】
新しくかつ非自明であると思われる本発明の他の特徴及び効果は、本発明の好ましい実施例に示された添附図面に関連する下記の詳細な説明から明らかである。そのような実施例によって必ずしも示されていない本発明の完全な範囲を解釈するために、特許請求の範囲を参照すべきである。
【図面の簡単な説明】
【0015】
【図1】遠方位置のユーザと本発明よるプロセス制御システムを監視するために使用されるインターネット・ウェブ・サイトとの間の関係を示す典型的なシステムの概要ブロック図を示す。
【図2】入出力装置に対するインターネット・インターフェースを示す本発明の基本的なブロック図である。
【図3】本発明による図2に示したウェブ・サーバ・モジュールのブロック図である。
【図4】プログラムラマブル・ロジック・コントローラとインターネットに接続されたアプリケーション・プログラムとをさらに含む図2に示した本発明の他のブロック図である。
【図5】図2に示した本発明の他のブロック図である。
【図6】図2に示した本発明の他のブロック図である。
【発明を実施するための形態】
【0016】
本発明は多くの異なる形式の実施例が可能であるが、ここでは好ましい実施例を詳細に示しかつ説明する。この開示は、本発明の要旨を例示するが、説明した特定の実施例に本発明の広範な態様に対して限定することを意図するものではない。
【0017】
図1は、遠方位置のユーザ2とプロセス制御システム6を監視するために使用されるインターネット・ウェブ・サイト4との間の関係を示す典型的なシステムの概要ブロック図を示す。ユーザ2は、パーソナル・コンピュータ(PC)8を有する。PC8は、インターネット14のようなネットワークを介してモニタ12によってウェブ・サイト4で内容を閲覧するために設置されたネットスケープ通信のナビゲータ又はマイクロソフトのインターネット・エクスプローラのような商業的に入手可能なブラウザ10を有する。PCは、プロセス制御システム6に対するリモート・ヒューマン・マシン・インターフェース(HMI)を提供する。PC8からインターネット14自体への物理的かつ電気的な相互接続を提供するために、種々の相互接続サービスが容易に利用できる。インターネット14は、単一のコネクションレス・エンティティとして互いに相互接続されかつ機能する独立ワールド・ワイド通信ネットワークの集合である。通信は、クライアントとサーバとの間での通信及びファイル転送を可能とする多数の確立されたプロトコルを用いたクライアント・サーバ方式に基づいている。最も広く使用されているプロトコルのうちの1つは、インターネット・プロトコル(IP)である。ウェブ・ブラウザに対するアプリケーション・レイヤ・プロトコル・インターフェースは、典型的には、HTML又はJAVA(登録商標)言語を用いたHTTPプロトコルを介したものである。
【0018】
ウェブ・サイト4は、固有のインターネット・アドレス18とサーバ20と入出力システム・エグゼキュティブ・ファームウェア22とを有するネットワーク・インターフェース16を含む。サーバ20は、送信制御プロトコル/インターネット・プロトコル(TCP/IP)スタック24を介してインターネット・プロトコルと連係して送信制御プロトコル(TCP)を使用するハイパーテキスト転送プロトコル(HTTP)インタプリターとして動作して、ネットワーク・インターフェース16及び入出力システム・エグゼキュティブ・ファームウェア22と対話する。これは、インターネット14を介したアプリケーション・プログラム22とユーザ2との間のデータ転送を可能にする。入出力システム・エグゼキュティブ・ファームウェア22は、プロセス制御システム6からデータを供給する。このデータは、遠方位置のユーザ2によって制御プロセスを監視するために使用されることができる。TCP/IPスタック24は、IPプロトコルによって指定された種々のレイヤに必要なユーザ2とウェブ・サイト4との間のインターネット14を介したデータ転送を可能にする。
【0019】
ユーザ2は、多数のインターネット・サービス・プロバイダのうちの1つを用いてインターネット14に接続することができ、また、接続されたときにはウェブ・サイト4のアドレスを入力する。ウェブ・サイト4は、テキストと、グラフィック・イメージ、ビデオ又はオーディオのようなある形式のマルチメディア提供と、他の複数のウェブ・サイト又はドキュメントに対する可能なハイパーテキスト・リンクを含むホーム・ページを表示する。トラブル・シューティング命令、保守ログ、修理診断情報及び品質制御パラメータなどは、ユーザによる便宜的なアクセスのためにウェブ・サイト4内に存在する。ブラウザ10は、ユーザ2がそのページを読むこと及びそのページと対話することを可能にする。ブラウザ10は、プロセス制御システム6から得られるどのような情報も表示するために入出力システム・エグゼキュティブ・ファームウェア22を用いるウェブ・サイト4にコマンドを送出する。ブラウザ10は、以下で詳細に説明するように、プロセス制御システム6のリモート・ヒューマン・マシン・インターフェース(HMI)制御として機能する。
【0020】
図2は、入出力装置40に対するインターネット・インターフェースを示す本発明の基本的なブロック図を示す。ウェブ・サイト4は、固有のインターネット・アドレス18とウェブ・サーバ30とを有するネットワーク・インターフェース16を含む。ウェブ・サーバ30は、ウェブ・サイトのホーム・ページを提供する。システム全体に対するセキュリティは、ウェブ・サーバ30に含まれ得るが、ネットワーク・インターフェース16の一部として一般的に保持される。サイトで種々のページに対してセキュリティを提供するのに加えて、ユーザはウェブ・サーバ30をディスエーブルすることができる。パスワード及びユーザ・リストは、遠隔サーバからダウンロードされる、ウェブ・サーバ30に格納された初期コンフィギュレーション・ファイルに設けられる。コンフィギュレーション・ファイルの保護は、パスワード及びユーザ・リストにより遠隔サーバ及びウェブ・サーバ30によって提供される。ウェブ・サーバ30は、バック・プレーン34を介して入出力装置40にウェブ・サーバ30をプラグインすることによりインターネット14への入出力装置40用の直接接続を提供する。
【0021】
入出力装置40は、ウェブ・サーバ30又は他の装置とインターフェースすることができる通信入力及び/又は出力を有する装置を含む。入出力装置40は、PLCシステムに対する伝統的な入出力モジュールと共に、センサ、リレー、ゲージ、バルブ、メッセージ表示、スイッチ、リミット・スイッチ、近接スイッチ、モータ・スタータ、モータ・コントローラ及び他の同様の装置のような複数の装置を含む。ウェブ・サーバ30はクライアント及びサーバ・インターフェースの両方を提供する。入出力装置40とウェブ・サーバ30との間の全ての信号はバック・プレーン34を通る。バック・プレーン信号はアドレス指定、制御、データ及び電力を含む。クライアント・インターフェースは、入出力モジュールがインターネットを介して遠隔ノードにコマンドを送出することを可能にし、またサーバ・インターフェースは、遠隔ノードから発生されたコマンドを処理することを可能にする。遠隔HMIからの入出力装置40の近リアル・タイム制御は、ウェブ・サーバ30を介してデータ・フローを制御することによって可能である。
【0022】
図4は、インターネット14を介してプロセス制御システム内で相互接続された少なくとも1つのPCL32とアプリケーション・プログラム36とを示す。図5は、入出力装置40がウェブ・サーバ30に直接に相互接続された本発明の他の実施例を示す。本発明の別の実施例が図6に示されており、そこでは、入出力装置40は、インターネット14と相互接続することができる組込みインターフェースを有する。
【0023】
ウェブ・サーバ30は、それが入出力装置40にコマンドを送出して応答を受け取ることを可能にするTCP/IPネットワーク42上のノードとして機能する。好ましい実施例におけるTCP/IPネットワーク42はイーサネット・ネットワークであるけれども、他のハイ・レベル・プロトコルを使用することができる。ユーザは、遠方位置でウェブ・ブラウザ10を用いることによってインターネット14を介して入出力装置40を制御しかつその構成情報を閲覧することができる。
【0024】
ウェブ・サーバ30は図3にもっと詳細に示されている。種々のコンポーネントは、それの機能を実行するために必要とされる接続性を備えている。リアル・タイム・オペレーティング・システム44は構成要素間の対話を制御する。オペレーティング・システム44は、中央処理装置(CPU)46上のプロセッサ時間を種々のタスクに割り付け、メモリ管理を提供し、一組のメッセージ・サービス及び信号サービスを提供する。メッセージ・サービス及び信号サービスは、タスク間の通信及びドライバとタスクとの間の通信を可能にする。
【0025】
TCP/IPネットワーク42への接続は、100Mbsイーサネットの場合にはシラス・ロジック社から入手可能なクリスタルCS8952のようなイーサネット通信チップ49を介して10Mbs(メガビット/秒)又はそれ以上の速度でメッセージを送受信するイーサネット・ドライバ48を通る。将来は1Gbs(ギガビット/秒)以上の速度が可能なイーサネット通信チップが使用され得ることが意図されている。通信を容易にする物理的接続は、光ファイバ・ケーブル又はツイスト・ペア形式の銅線を介したものであり得る。ツイスト・ペア形式の銅線を介した100Mbsイーサネットの場合には、銅線及びワイヤ接続は少なくともカテゴリ5の銅線基準に適合しなければならない。
【0026】
代替として、TCP/IPスタック24は2重TCP/IPスタックで置換され得る。2重TCP/IPスタックは、広範な範囲のTCP/IPメッセージに対してサポートを提供する第1のTCP/IPスタックを備えている。第2のTCP/IPスタックは、入出力装置40に対して高優先順位制御メッセージを管理する「短いスタック」である。発信TCP/IPメッセージについては、適当なTCP/IPスタックが入出力装置40によって選択される。着信TCP/IPメッセージについては、TCP/IPメッセージが、解釈され、また、それがイーサネット・プロトコル上のModbusを意図するTCP/IPメッセージであるか否かを判断される。それがイーサネット・プロトコル上のModbusを意図するTCP/IPメッセージであるならば、このメッセージは第2のスタックに送出される。それがイーサネット・プロトコル上のModbusを意図するTCP/IPメッセージでないならば、第1のTCP/IPスタックがそのメッセージを処理する。このようにして、イーサネット・プロトコル上のModbusを意図するTCP/IPスタックは、単一のTCP/IPスタックが実行されるときよりも速くかつ効率的に処理される。
【0027】
ウェブ・サーバは、それがネットワーク上の他の装置によってアドレス指定されることを可能にする固有のグローバル・アドレス18を有する。イーサネット・ドライバ48は、メモリ52の送信バッファ50及び受信バッファ51を管理するとともに、イーサネット通信チップ49とインターフェースする。送信バッファ50及び受信バッファ51はイーサネット通信チップ49及びイーサネット・ドライバ48の両方によって共有される。イーサネット・ドライバ48は、TCP/IPスタック54に対する送信要求インターフェース及び受信表示インターフェースも備えている。イーサネット通信チップ49は、送信キュー・インターフェース及び受信キュー・インターフェースを備えるとともに、メッセージの送信完了時に及び新しいメッセージの受信時に割込みを発生する。イーサネット・ドライバ46は受信バッファを受信キューに配置する。割込みルーチンで、イーサネット・ドライバ48は受信キューを調べる。受信キューに何らかのメッセージがあれば、受信バッファをTCP/IPスタック54に渡す。TCP/IPスタック54は、受信バッファをコピーし、その後のある時点で、イーサネット・ドライバ48をコールして受信バッファを戻し、返送されたバッファを受信キューに配置する。
【0028】
TCP/IPスタック54は、イーサネット・ドライバ48をコールしてメッセージを送信する。イーサネット・ドライバ48は、共有メモリ52からバッファを割り付けることを試みる。それが成功すれば、それは、メッセージをバッファにコピーするとともに、バッファをイーサネット通信チップ49送信キューに配置する。送信バッファが存在しなければ、ドライバは送信メッセージを落とす。割込みルーチンでは、イーサネット・ドライバ48は、送信キューを調べるとともに、送信バッファを開放する。
【0029】
TCP/IPネットワーク42は、PLC(又は他の装置)が入出力装置40からデータを読み出すこと又は書き込むことを要求するとともに、応答を受信することを要求する。バック・プレーン・ドライバ56は、コマンドを送出するとともに、バック・プレーン34を介して入出力装置40から応答を受け取る。バック・プレーン・ドライバ56はアプリケーションにサーバ・タスク60を提供する。サーバ・タスク60インターフェースは、アプリケーションが入出力装置40に要求コマンドを発行しかつそれの応答を受け取ることを可能にする。
【0030】
サーバ・タスク60はキューイング機構及びコールバック機能を用いる。要求及び要求に関連したコールバック機能の両方が待ち行列にされる。バック・プレーン・ドライバ56がそれの割込みルーチンで要求にサービスするときは、それは関連のコールバック機能を呼び出す。応答及び元の要求はコールバック機能に渡される。コールバック機能は、メッセージ又は信号を通過させる動作ルーチンを呼び出すことができる。
【0031】
ウェブ・サーバ30ハードウェアは、二重ポート・メモリ38を介して入出力装置40とインターフェースする。それは、ASICチップを用いて二重ポート・メモリ38から読み出すとともにこれに書き込む。指定位置への書込みは割込みを発生させる。入出力装置40は、二重ポート・メモリ38にメッセージを書き込んだのち、割込みを発生させる。メッセージは、ある形式のコマンドを表す。他のコマンド形式は、入出力装置40に要求を渡しかつ要求に対する応答を得るために使用される。入出力装置40は、メッセージを渡したのちに、バック・プレーン・ドライバ56によって配置されたコマンドに対する二重ポート・メモリ38をポーリングする。これらのコマンドは、メモリ読出しおよびメモリ書込みであり、処理が完了される。
【0032】
2つの割込みは要求を処理するために使用される。プリポート割込みと呼ばれる最初の割込みでは、バック・プレーン・ドライバ56は、入出力装置の二重ポート・メモリ38に配置されたデータ構造に要求をコピーする。スキャン割込みと呼ばれる第2の割込みでは、バック・プレーン・ドライバ56は、入出力モジュールのデータ構造からの応答をユーザのバッファにコピーする。その後、それはユーザの関連コールバック機能を呼び出す。
【0033】
入出力装置40にアクセスする要求はバック・プレーン・ドライバ56によって処理される。イーサネット・ドライバ・ボードはマスタとして機能し、また、入出力装置40はスレーブとして機能する。バック・プレーン・ドライバ56は、入出力装置40のメモリ38におけるメモリ位置を決定する。スキャン割込みの終りに、バック・プレーン・ドライバ56は、二重ポート・メモリ38を介して入出力装置40にコマンドを送出してデータを含む位置を読み出すか書き込むことによって、読出し/書込みデータ要求を処理する。
【0034】
サーバ・タスク60は、遠方位置のユーザから送出された要求を処理する。サーバ・タスク60は、バック・プレーン・ドライバ56、TCP/IPスタック54及びオペレーティング・システム44のメッセージ・サービスとインターフェースする。サーバ・タスク60はバック・プレーン・ドライバ56に要求を投函し、また、関連のコールバック・ルーチンはオペレーティング・システム44メッセージ・サービスを使用してサーバ・タスク60に応答を送出する。TCP/IPスタック54信号機能はまた、オペレーティング・システム44の送出サービスを使用してサーバ・タスク60にTCP/IPイベントを送出する。サーバ・タスク60は多重トランザクション及びコネクションを処理することができる。クライアント・タスク58のように、サーバ・タスク60はコネクション・ステート・マシンのリストを維持し、また、各コネクション・ステート・マシンはトランザクション・ステート・マシンのリストを含む。コネクション・ステート・マシンはコネクションを管理するためのものであり、また、トランザクション・ステート・マシンは着信要求及び応答を管理する。
【0035】
サーバ・タスク60は、初期化を実行した後にループに入り、オペレーティング・システム44をコールしてメッセージを受け取る。オペレーティング・システム44は、メッセージが存在するまで又はタイム・アウトになるまで、サーバ・タスク60を阻止する。それは、TCP/IPタスク54の信号ハンドラからかバック・プレーン・ドライバ56からメッセージを受け取るか、タイム・アウトになる。それは、メッセージ又は時間を処理し、ループに再び入る。オペレーティング・システム44から受け取ったメッセージがTCP/IPタスク54の信号ハンドラからのものであるならば、サーバ・タスク60は、イベントがコネクション要求かクローズ・ソケット・イベントか受取りデータ・イベントかを判断する。TCP/IPイベントに基づいて、サーバ・タスク60は、コネクション・ステート・マシン及びトランザクション・ステート・マシンを使用してトランザクションを進める。ある要求に対する受信データはいくつかの受取りデータ・イベントにわたって発生することがあり、トランザクション・ステート・マシンはこれらのイベントを1つの要求メッセージにまとめる。応答メッセージがオペレーティング・システム44から受け取られると、サーバ・タスク60は、応答を送出するためにコネクション・ステート・マシン及びトランザクション・ステート・マシンを見つける。
【0036】
サーバ・タスク60がTCP/IPスタック54にメッセージを送信するように要求すると、全てのメッセージが送信されないことがある。これは、遠隔ノードがフロー制御されているときに発生する。オペレーティング・システム44に対するコールがタイム・アウトによりメッセージ返送を受け取ることであるときか、メッセージが存在するときは、サーバ・タスク54は、フロー制御されたコネクション・ステート・マシンのリストを検索する。各フロー制御されたコネクションについては、それは、フロー制御されているコネクション・ステート・マシンにトランザクション・ステート・マシンを進めるように試みる。
【0037】
サーバ・タスク60が着信要求のヘッダを調べたのち、それは、構造を割り付けて要求をバック・プレーン・ドライバ56に渡すように試みる。サーバ・タスク60が所定数の未処理要求を既に処理しているときは、試行が失敗であり、コネクションは阻止状態に置かれ、要求の本体はTCP/IPスタック54から読み出されない。その結果、TCP/IPスタックは遠隔ノードにフロー制御を適用することができない。他の要求の1つが終了すると、フリー・データ構造イベントは、阻止されたコネクション・ステート・マシンに着信Modbus要求を処理し続けさせる。
【0038】
HTTPタスク62は、TCP/IPスタック54及びバック・プレーン・ドライバ56とインターフェースする。HTTPサーバ・タスク62はTCP/IPスタック54からHTTP要求を受け取る。要求を処理するために、それはバック・プレーン・ドライバ56及びバック・プレーン34を介して入出力装置40にアクセスする。HTTPサーバ・タスク62はTCP/IPスタック54を介して応答を返送する。フレームワークはオペレーティング・システム44によって供給される。フレームワークは、HTTPタスクを作成し、コネクションにアクセスし、HTTP要求を調べる。要求を調べたのち、それはオペレーティング・システム44を呼び出して要求を処理する。要求の処理は、要求形式を判断することと、実際の要求を処理することとを含む。異なる要求形式は、入出力装置40及び二重メモリ38内の種々のデータの閲覧を可能にすることによってユーザが入出力装置40動作のスナップショットを獲得することを可能にする。これらの要求形式はまた、表1に示すように、入出力装置40構成、遠隔分散入出力及びモジュール健全さ統計、表示レジスタ、バック・プレーン構成、イーサネット統計などの表示を含む。
【0039】
【表1】

【0040】
ホーム・ページはいくつかのデータ・ページに対するハイパーリンクを含む。コンフィギュレーション・ページは入出力装置40の構成を表示する。入出力モジュール健全さステータス・ページは一連のリンク・ページである。第1のページは、ヘッドにおける通信健全さ統計を表示するとともに、構成されたドロップ・ページに対するリンクを含む。構成されたドロップ・ページは2つの表を表示する。2つの表の一方はドロップの通信ステータスを示すためのものであり、他方は入出力モジュール40を示すためのものである。コンフィギュレーション・ページは、入出力モジュール40、これらの健全さ及び与えられたラックに対するスロット位置を表示する。選択された入出力モジュール40から、ユーザはそれの入力値及び出力値を閲覧することができる。複数のオプション・モジュール及びそれらのスロット位置を示す表は、バック・プレーン・コンフィギュレーション・ページ上に表示される。ページ上に現れるデータは、ユーザの必要性に依存して静的及び動的である。
【0041】
オペレーティング・システム44は、これらの要求を処理するとともに、TCP/IPスタック54を介してHTTPメッセージを送ることにより応答する。これら要求のいくつかを処理することは、統計が保持されているデータ又はメモリ位置を読み出すことを含む。これらの読出しを実行するために、オペレーティング・システム44は、バック・プレーン・ドライバ56に要求を送るとともに、イベント信号機構及びイベント・フラグを用いて要求が完了した時を判断する。要求をバック・プレーン・ドライバ56に送ったのち、オペレーティング・システム44はイベント・フラッグが送られるのを待機する。バック・プレーン・ドライバが要求を完了すると、バック・プレーン・ドライバ56は、イベントをセットするコール・バック・ルーチンを呼び出す。その後、オペレーティング・システム44は要求の処理を再開する。
【0042】
遠方位置のユーザは、入出力装置40の設置のホーム・ページのためにインターネットをブラウザする。入出力装置40は同様に他の制御機能を備えてもよく、また、ユーザが必要な認証を有するのであれば、種々のオプションが利用可能となる。ホーム・ページは、入出力装置40内のデータに対するアクセスを可能にする種々のページの閲覧を許容することにより、ユーザが入出力装置40動作のスナップショットを獲得することを可能にする。他のページは、入出力装置40構成、遠隔分散入出力モジュールの健全さ統計、バック・プレーン構成、イーサネット統計及び表1に既に示した他のものの表示を含む。
【0043】
特定の実施例が図示され説明されたが、多数の変更が本発明の範囲及び精神を逸脱することなく可能である。
【符号の説明】
【0044】
30 ウェブ・サーバ
40 入出力装置
42 TCP/IPネットワーク
44 オペレーティング・システム
46 CPU
48 イーサネット・ドライバ
54 TCP/IPスタック
56 バック・プレーン・ドライバ
58 クライアント・タスク
60 サーバ・タスク
62 HTTPタスク
66 プロセス制御システム

【特許請求の範囲】
【請求項1】
通信ネットワークから少なくとも1つの入出力装置へのアクセスを提供するために遠方位置からのデータ要求を受信するインターフェース・モジュールであって、
中央処理装置と、
該中央処理装置を動作させるオペレーティング・システムと、
前記通信ネットワークと通信するネットワーク・インターフェースと、
プロトコル・スタックと、
該プロトコル・スタックと通信するとともに、受信された要求に応答するサーバ・タスクと、
前記プロトコル・スタックと通信するとともに、プロトコル・タスク要求を受信しかつ該プロトコル・タスク要求に応答するプロトコル・タスクと、
を含む、インターフェース・モジュール。
【請求項2】
前記プロトコル・タスク及び前記サーバ・タスクと通信するバック・プレーン・ドライバをさらに含む、請求項1記載のインターフェース・モジュール。
【請求項3】
前記通信ネットワークが、インターネット・プロトコル(IP)を用いるインターネットである、請求項1記載のインターフェース・モジュール。
【請求項4】
前記インターフェース・モジュールが、前記インターネット上のウェブ・サイトとして機能し、
前記インターフェース・モジュールが、グローバルIPアドレスを含む、
請求項3記載のインターフェース・モジュール。
【請求項5】
前記ネットワーク・インターフェースがイーサネット・ドライバである、請求項1記載のインターフェース・モジュール。
【請求項6】
前記プロトコル・スタックが送信制御プロトコル・スタックである、請求項1記載のインターフェース・モジュール。
【請求項7】
前記プロトコル・タスクが、ハイパーテキスト転送プロトコル(HTTP)を用いて前記ネットワーク・インターフェースにハイパーテキスト・ドキュメントを送るサーバ・タスクを含む、請求項1記載のインターフェース・モジュール。
【請求項8】
前記HTTPタスクが、コネクションを受け入れ、HTTP要求を調べ、リアル・タイム・オペレーティング・システムを呼び出して前記要求を処理する、請求項7記載のインターフェース・モジュール。
【請求項9】
前記インターフェース・モジュールが、遠方位置のユーザが前記インターネットに接続されたブラウザから少なくとも1つの入出力装置内のデータを閲覧することを可能にする、請求項3記載のインターフェース・モジュール。
【請求項10】
前記データ転送を可能にする手段が二重TCP/IPスタックを含む、請求項1記載のインターフェース・モジュール。
【請求項11】
前記二重TCP/IPスタックが、
広範囲のTCP/IPメッセージを処理することができる第1のスタックと、
より狭い範囲のTCP/IPメッセージを前記第1のスタックよりも速く処理することができる第2のスタックとを含む、
請求項10記載のインターフェース・モジュール。
【請求項12】
通信ネットワークから少なくとも1つの入出力装置へのアクセスを提供するために遠方位置からのデータ要求を受信するインターフェース・モジュールであって、
中央処理装置と、
前記通信ネットワークと通信するネットワーク・インターフェースと、
プロトコル・スタックと、
該プロトコル・スタックと通信するとともに、前記入出力装置のステータスについての情報をウェブ・ブラウザに提供するHTTPウェブ・サーバと、
を含む、インターフェース・モジュール。
【請求項13】
前記通信ネットワークが、インターネット・プロトコル(IP)を用いたネットワークとして知られたワールド・ワイド・ネットワークである、請求項12記載のインターフェース・モジュール。
【請求項14】
前記インターフェース・モジュールが、前記インターネット上のウェブ・サイトとして機能するとともに、グローバルIPアドレスを含む、請求項13記載のインターフェース・モジュール。
【請求項15】
前記ネットワーク・インターフェースがイーサネット・ドライバである、請求項12記載のインターフェース・モジュール。
【請求項16】
前記プロトコル・スタックが送信制御プロトコル・スタックである、請求項12記載のインターフェース・モジュール。
【請求項17】
少なくとも1つの入出力モジュールを有する工業制御システムに含まれた情報及びデータに対して通信ネットワークを介して遠方サイトでのユーザ・アクセスを可能にする制御システムであって、
前記通信ネットワークに前記遠方サイトを結合しかつ前記通信ネットワークと対話するウェブ・ブラウザを含む手段と、
前記工業制御システムに関連しかつ前記通信ネットワークを介してアクセス可能なウェブ・サイトと、
該ウェブ・サイトに前記工業制御システムをリンクしかつ前記通信ネットワークに前記少なくとも1つの入出力モジュールを結合するインターフェース・モジュールを含む手段と、
前記少なくとも1つの入出力モジュールに前記インターフェース・モジュールを結合しかつ前記インターフェース・モジュールと前記少なくとも1つの入出力モジュールとの間でデータを転送する手段と、
前記通信ネットワークを介して前記遠方位置から受信されたデータ要求を処理する手段と、
前記遠方位置と前記工業制御システムとの間でデータ転送を可能にする手段と、
少なくとも1つの入出力モジュールとプロトコル・タスクをインターフェースする手段であって、前記可能にする手段からデータ要求を受け取り、前記要求されたデータのために前記工業制御システムをアクセスし、かつ、前記可能にする手段を介して前記遠方位置に応答を送出する手段であって、フレームワークの前記応答が、少なくとも1つの入出力モジュールに配置されたオペレーティング・システムによって供給される、手段と、
を含む、制御システム。
【請求項18】
前記通信ネットワークが、インターネット・プロトコル(IP)を用いたインターネットとして知られたワールド・ワイド・ネットワークである、請求項17記載の制御システム。
【請求項19】
前記インターフェース・モジュールが、前記インターネット上のウェブ・サイトとして機能し、
前記インターフェース・モジュールが、グローバルIPアドレスを含む、
請求項18記載の制御システム。
【請求項20】
前記インターフェース・モジュール手段が、前記インターネット上で前記ウェブ・ブラウザからデータ要求を受信しかつ前記ウェブ・ブラウザに応答を返送するネットワーク・ドライバを含む、請求項19記載の制御システム。
【請求項21】
前記データ要求を処理する手段が、
前記通信ネットワークから受信された要求を開始するクライアント・タスクと、
前記通信ネットワークから受信されたデータ要求を処理するサーバ・タスクとを含む、
請求項20記載の制御システム。
【請求項22】
前記データ転送を可能にする手段が、送信制御プロトコル(TCP)スタックを用いたプロトコル・スタックを含む、請求項21記載の制御システム。
【請求項23】
前記プロトコル・タスクをインターフェースする手段が、ハイパーテキスト転送プロトコル(HTTP)を用いて前記ネットワーク結合手段にハイパーテキスト・ドキュメントを送るサーバ・タスクを含む、請求項22記載の制御システム。
【請求項24】
前記フレームワークが、HTTPタスクを作成し、コネクションを受け入れ、HTTP要求を調べ、前記オペレーティング・システムを呼び出して前記要求を処理する、請求項23記載の制御システム。
【請求項25】
前記データ要求が、遠方位置のユーザが前記ブラウザから前記工業制御システム内のデータを閲覧することを可能にし、
前記データが、前記工業制御システムに関連するメモリに記憶された任意のプログラム情報を含む、
請求項24記載の制御システム。
【請求項26】
前記データ要求が、遠方位置のユーザが前記ブラウザから前記工業制御システム内にデータを書き込むことを可能にし、
前記データが、前記工業制御システムに関連するメモリに記憶された任意のプログラム情報を含む、
請求項24記載の制御システム。
【請求項27】
前記データ要求が、前記制御システムに結合された前記少なくとも1つの入出力モジュールの構成ビュー及びステータスに対する要求をさらに含む、請求項25記載の制御システム。
【請求項28】
前記データ要求が、前記制御システムに結合された前記少なくとも1つの入出力モジュールの構成ビュー及びステータスに対する要求をさらに含む、請求項26記載の制御システム。
【請求項29】
前記データ要求が、前記遠方位置のユーザが前記入出力モジュールに関連されたメモリに記憶されている任意のプログラム情報を閲覧することを可能にする、請求項27記載の制御システム。
【請求項30】
前記データ要求が、前記遠方位置のユーザが前記入出力モジュールに関連されたメモリに記憶されている任意のプログラム情報を閲覧することを可能にする、請求項28記載の制御システム。
【請求項31】
遠方位置でブラウザを用いて通信ネットワークから入出力装置へのアクセスを可能にする制御システムであって、
インターフェース・モジュールであって、マイクロプロセッサと、前記通信ネットワークに前記インターフェース・モジュールを結合するネットワーク・インターフェースとを有するインターフェース・モジュールと、
前記入出力装置に前記インターフェース・モジュールを結合しかつ前記インターフェース・モジュールと前記入出力装置との間でデータを転送するドライバと、
前記遠方位置と前記入出力装置との間でデータ転送を可能にするプロトコル・スタックと、
前記通信ネットワークから受信されたデータ要求を処理し、前記要求されたデータのために前記入出力装置にアクセスする前記プロトコル・スタックからのデータ要求をインターフェースし、かつ、前記プロトコル・スタック及びネットワーク・インターフェースを介して前記遠方位置に応答を送出するサーバ・タスクであって、1フレームワークの応答がオペレーティング・システムによって供給される、サーバ・タスクと、
を含む、制御システム。
【請求項32】
前記通信ネットワークが、インターネット・プロトコル(IP)を用いた前記インターネットとして知られたワールド・ワイド・ネットワークである、請求項31記載の制御システム。
【請求項33】
前記インターフェース・モジュールが前記インターネット上のウェブ・サイトとして機能する、請求項32記載の制御システム。
【請求項34】
前記プロトコル・スタックが送信制御プロトコル(TCP)/IPスタックである、請求項33記載の制御システム。
【請求項35】
前記サーバ・タスクが、ハイパーテキスト転送プロトコル(HTTP)を用いてハイパーテキスト・ドキュメントとHTTPタスクを作成するフレームワークとを送り、コネクションを受け入れ、前記オペレーティング・システムを呼び出して前記要求を処理する、請求項34記載の制御システム。
【請求項36】
前記データ要求が、前記遠方位置のユーザが前記入出力装置内のデータを閲覧することを可能にする、請求項35記載の制御システム。
【請求項37】
前記データ要求が、前記遠方位置のユーザが前記入出力装置内にデータを書き込むことを可能にする、請求項35記載の制御システム。
【請求項38】
前記データ要求が、前記入出力装置構成及びステータスの閲覧をさらに含む、請求項36記載の制御システム。
【請求項39】
前記データ要求が、前記遠方位置のユーザが前記入出力装置に関連した前記メモリに記憶されているデータ及び任意のプログラム情報を閲覧することを可能にする、請求項38記載の制御システム。
【請求項40】
前記データ要求が、前記遠方位置のユーザが前記入出力装置に関連した前記メモリにデータ及び任意のプログラム情報を書き込むことを可能にする、請求項37記載の制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−100260(P2012−100260A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−233055(P2011−233055)
【出願日】平成23年10月24日(2011.10.24)
【分割の表示】特願2001−220631(P2001−220631)の分割
【原出願日】平成13年6月15日(2001.6.15)
【出願人】(398032740)シュナイダー エレクトリック ユーエスエイ インコーポレイテッド (6)
【Fターム(参考)】