(57)【要約】【課題】企業の最上位レベルから直接的に企業の製造現場に配置された低レベルコントローラー及びセンサーに通信するための装置を提供する。【解決手段】本発明の装置はプログラマブルロジックコントローラー（ＰＬＣ）がプラグインされるバックプレーンを介してプログラマブルロジックコントローラーとインターフェースするコントローラーを備える。ユーザーはＰＬＣ内のデータポイントが経営レベルに転送される環境または条件を特定するトリガを定義することができ、そこにおいて、それらのデータポイントはデータベースに格納されてもよいし、または多様な伝送の１つを介して経営アプリケーションに直接的に送信されてもよい。【選択図】図５
2007012045.tif 000002
【特許請求の範囲】
【請求項１】
制御及び監視装置からのデータを通信するためのシステムであって：
前記制御及び監視装置に接続され、前記制御及び監視装置と通信可能な状態にあるネットワーク接続を有するコントローラー；及び、
前記コントローラー上にインストールされたソフトウェアを備え、
前記ソフトウェアが前記制御及び監視装置からデータをリードすること、及び前記制御及び監視装置から要求していないメッセージを受信することができ、そして、前記ソフトウェアが前記ネットワーク接続を介して出力先に前記データ及びメッセージを送信することができるシステム。
【請求項２】
前記制御及び監視装置がプログラマブルロジックコントローラー（ＰＬＣ）であり、さらに、前記データが前記プログラマブルロジックコントローラーからリードされた別個のデータポイントである、請求項１に記載のシステム。
【請求項３】
前記データが１つまたは複数のトリガ条件の発生で前記ネットワーク接続を介して送信される、請求項２に記載のシステム。
【請求項４】
前記１つまたは複数のトリガ条件が前記ＰＬＣからの要求していないメッセージの受信、前記ＰＬＣからリードされたデータポイントの変化、及び前記ＰＬＣからリードされたデータポイントに関する論理条件の満足から成るグループから選択される、請求項３に記載のシステム。
【請求項５】
前記コントローラーが前記トリガ条件を定義するためにプログラマブルである、請求項４に記載のシステム。
【請求項６】
前記ソフトウェアが前記ネットワーク接続を介して受信された要求への応答で前記データを前記ネットワーク接続を介して出力先に送信することができる、請求項２に記載のシステム。
【請求項７】
前記トリガ条件の前記プログラムが前記データの前記出力先、及び前記トリガ条件の満足で前記データが送信されるときの形式に関する情報を含む、請求項５に記載のシステム。
【請求項８】
前記データが前記ネットワーク接続を介した前記出力先への送信の前にフォーマットされる、請求項７に記載のシステム。
【請求項９】
前記フォーマットされたデータがTCP、メッセージキュー、SMTP及びSQLデータベースコールを含む、１つまたは複数の異なったプロトコルを使用して前記ネットワーク接続を介して送信される、請求項８に記載のシステム。
【請求項１０】
前記ソフトウェアが前記データをデータベースに挿入する、またはデータベースに既に存在するデータを更新することができ、前記データベースが前記ネットワーク接続を介して前記コントローラーに接続されたコンピューター上に存在する、請求項７に記載のシステム。
【請求項１１】
前記ソフトウェアが前記フォーマットされたメッセージを前記ネットワーク接続を介して前記コントローラーに接続しているコンピューター上で動作しているアプリケーションに送信することができる、請求項８に記載のシステム。
【請求項１２】
前記コントローラー上の非揮発性記憶装置に格納された１つまたは複数の設定ファイルであって、定義された全てのプロジェクト、伝送、及び一般的な設定を含む設定ファイルをさらに備え、前記ソフトウェアが電源障害状態からの回復時に前記設定ファイルを使用して、それ自体を事前の状態に回復することができる、請求項７に記載のシステム。
【請求項１３】
前記ＰＬＣからリードされた、参照された全ての別個のデータポイントの現在の状態を格納する揮発性作業記憶装置をさらに備える、請求項７に記載のシステム。
【請求項１４】
前記コントローラー上の非揮発性記憶装置に収容される一時記憶領域であって、前記ネットワーク接続が利用不可能なときに、前記フォーマットされたデータが格納される一時記憶領域をさらに備える、請求項８に記載のシステム。
【請求項１５】
前記ネットワーク接続が利用可能になったときに、前記ソフトウェアが前記一時記憶領域に格納された全てのフォーマットされたデータを再送信することができる、請求項１４に記載のシステム。
【請求項１６】
前記コントローラーの非揮発性記憶装置上に格納された１つまたは複数のログファイルをさらに備え、前記ソフトウェアが前記ログファイルに記入を行う、請求項８に記載のシステム。
【請求項１７】
前記ネットワーク接続を介して前記コントローラーに接続されたコンピューター上で動作しているユーザーアプリケーションであって、前記ユーザーが前記コントローラーを設定及びプログラムすることを可能にするユーザーアプリケーションをさらに備える、請求項８に記載のシステム。
【請求項１８】
前記ユーザーが１つまたは複数のトリガ条件から成るプロジェクトであって、前記ネットワーク接続を介して前記コントローラーの前記ソフトウェアにダウンロードされるプロジェクトを作成することができる、請求項１７に記載のシステム。
【請求項１９】
前記ユーザーが前記データに対する特定の出力先を定義し、トリガ条件を前記特定の出力先に関連付けることができる、請求項１８に記載のシステム。
【請求項２０】
前記特定の出力先がネットワーク接続を有しているコンピューター上で動作しているアプリケーション、ネットワーク接続を有しているコンピューター上に存在するデータベース、及び電子メールアドレスから成るグループから選択される、請求項１９に記載のシステム。
【請求項２１】
トリガ条件が満たされたときに、前記コントローラーが前記データを前記トリガ条件に関連付けられた前記特定の出力先に直接的に送信する、請求項２０に記載のシステム。
【請求項２２】
前記ユーザーが前記データを前記特定の出力先に送信するために使用される方法を特定することができる、請求項２０に記載のシステム。
【請求項２３】
前記方法がメッセージキュー、ＴＣＰメッセージ、ＳＱＬデータベースコール、及びＳＭＴＭメッセージを含むグループから選択される、請求項２２に記載のシステム。
【請求項２４】
前記コントローラー及び前記ＰＬＣが共通のバックプレーンを有し、さらに、前記コントローラーが前記バックプレーンを介して前記ＰＬＣと通信する、請求項２に記載のシステム。
【請求項２５】
前記コントローラーが複数のＰＬＣと共通のバックプレーンを有し、前記共通のバックプレーンを介して前記複数のＰＬＣと通信する、請求項２４に記載のシステム。
【請求項２６】
前記ＰＬＣが通信チャネルを介して第２のＰＬＣと接続されており、さらに前記コントローラーが共通のバックプレーンを有するＰＬＣを介して前記第２のＰＬＣと通信することができる、請求項２４に記載のシステム。
【請求項２７】
前記通信チャネルがシリアル接続またはＴＣＰ／ＩＰ接続を含む、請求項２４に記載のシステム。
【請求項２８】
前記ソフトウェアがさらに、通信デバイスドライバを備え、前記デバイスドライバが、前記コントローラーが通信チャネルを介して第２のＰＬＣと通信することを可能にする、請求項２に記載のシステム。
【請求項２９】
前記通信チャネルがシリアル接続またはＴＣＰ／ＩＰ接続を含む、請求項２８に記載のシステム。
【請求項３０】
前記コントローラーが前記ＰＬＣの前記別個のデータポイントを変更することが可能である、請求項２に記載のシステム。
【請求項３１】
前記ＰＬＣが前記コントローラーから特定のデータを要求し、さらに前記コントローラーが前記ネットワーク接続を介して前記ＰＬＣによって要求された前記データを取得することができる、請求項３０に記載のシステム。
【請求項３２】
前記コントローラーを設定し、前記トリガ条件を定義し、そして前記データの前記出力先を定義するための、前記ネットワーク接続を介して前記コントローラーに接続されたコンピューター上で動作するユーザーアプリケーションをさらに備える、請求項７に記載のシステム。
【請求項３３】
前記ソフトウェアがさらに、前記ＰＬＣからリードされた前記データの変化を追跡し、前記ＰＬＣからリードされた前記データに論理操作を適用するための論理サーバーを備える、請求項２に記載のシステム。
【請求項３４】
前記論理サーバーのための論理フローを構築するための、前記ネットワーク接続を介して前記コントローラーに接続されたコンピューター上で動作する論理コンポーザーをさらに備える、請求項３３に記載のシステム。
【請求項３５】
前記ソフトウェアがさらに、前記ネットワーク接続を介して前記コントローラーに接続されたユーザーディスプレイを管理及び更新するための表示サーバーを備える、請求項２に記載のシステム。
【請求項３６】
前記表示サーバーによって管理及び更新される前記ディスプレイを閲覧するための、前記ネットワーク接続を介して前記コントローラーに接続されたコンピューター上で動作する閲覧アプリケーションをさらに備える、請求項３５に記載のシステム。
【請求項３７】
前記閲覧アプリケーションがウェッブブラウザーである、請求項３６に記載のシステム。
【請求項３８】
数学的または論理的表現式を評価し、前記ＰＬＣからリードされたデータを使用するための表現式サーバーをさらに備える、請求項２に記載のシステム。
【請求項３９】
前記表現式サーバーのために前記数学的または論理的表現式を構築するための、前記ネットワーク接続を介して前記コントローラーに接続されたコンピューター上で動作する表現式コンポーザーアプリケーションをさらに備える、請求項３８に記載のシステム。
【請求項４０】
前記コントローラーがＰＣであり、前記ソフトウェアがさらにデバイスドライバを備え、前記デバイスドライバが、前記ＰＣが１つまたは複数の通信チャネルを介して１つまたは複数のＰＬＣと通信することを可能にする、請求項２３に記載のシステム。
【請求項４１】
前記１つまたは複数の通信チャネルがシリアル接続またはＴＣＰ／ＩＰ接続の１つを含む、請求項４０に記載のシステム。
【請求項４２】
ＰＬＣからのデータを通信するためのシステムであって：
前記ＰＬＣに接続され、前記ＰＬＣと通信可能状態にあるコントローラーであって、前記ＰＬＣから特定のデータポイントをリードする能力を有し、ネットワーク接続を有するコントローラー；
トリガ条件を評価し、前記トリガ条件が満足されたとき、前記ネットワーク接続上で前記ＰＬＣからリードされた１つまたは複数の前記データポイントを予め定義された出力先に送信するための、前記コントローラー上にインストールされたソフトウェアコンポーネント；及び、
前記コントローラーを設定し、前記トリガ条件を定義し、そして前記予め定義された出力先を定義するための、前記ネットワーク接続を介して前記コントローラーに接続されたコンピューター上で動作するユーザーアプリケーションを備えるシステム。
【請求項４３】
前記予め定義された出力先がネットワーク接続を有しているコンピューター上で動作しているアプリケーション、ネットワーク接続を有しているコンピューター上に存在するデータベース、及び電子メールアドレスから成るグループから選択される、請求項４２に記載のシステム。
【請求項４４】
前記コントローラーが前記ＰＬＣのバックプレーンにプラグインされ、前記バックプレーンを介して前記ＰＬＣと通信する、請求項４２に記載のシステム。
【請求項４５】
前記トリガ条件が前記ＰＬＣからの要求していないメッセージの受信、前記ＰＬＣからリードされたデータポイントの変化、及び前記ＰＬＣからリードされたデータポイントに関する論理条件の満足から成るグループから選択される、請求項４２に記載のシステム。
【請求項４６】
制御及び監視装置からのデータを通信するためのシステムであって：
１つまたは複数の前記制御及び監視装置に接続され、通信可能な状態にある、ネットワーク接続を有するＰＣ；及び、
前記ＰＣ上にインストールされたソフトウェアであって、前記１つまたは複数の制御及び監視装置からデータをリードすること、及び前記１つまたは複数の制御及び監視装置から要求していないメッセージを受信することができるデバイスドライバを備え、そして、前記ネットワーク接続を介して出力先に前記データ及びメッセージを送信することができるソフトウェアを備えるシステム。
【請求項４７】
前記１つまたは複数の制御及び監視装置が１つまたは複数のプログラマブルロジックコントローラー（ＰＬＣ）であり、さらに、前記データが前記１つまたは複数のプログラマブルロジックコントローラーからリードされた別個のデータポイントである、請求項４６に記載のシステム。
【請求項４８】
前記ＰＣが１つまたは複数の対応する通信チャネルを介して前記１つまたは複数のＰＬＣに接続されており、前記通信チャネルがシリアル接続またはＴＣＰ／ＩＰ接続の１つを含む、請求項４７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は製造現場と経営レベル（または、企業レベル）との間の通信モデルに関する。詳細に述べると、本発明は企業の最上位レベルから直接的に企業の製造現場に配置された低レベルの制御装置及びセンサーに通信するための方法及び装置に関する。
【背景技術】
【０００２】
製造施設において、低レベルの自動化及び処理制御及び監視システムによって制御される自動化処理を見かけることは珍しくない。低レベル自動化システムは、例えば、専用のロボット装置、またはプログラマブルロジックコントローラー（ＰＬＣ）によって制御または監視される他の自動化システムを含む。処理を監視するために、フォトアイ、バーコードリーダー、及び温度センサー等の多様な検出装置及び計測装置が使用される。今日使用される過度に複雑な製造及び組立システムを管理するために、多くの企業は図１に示されている従来技術のような多階層アーキテクチャー（または、多階層構造）を使用している。従来の多階層アーキテクチャーは：経営レベル（または、企業レベル）のビジネスプランシステム（企業資源計画またはＥＲＰ（enterprise resource planning））１０２；操作レベル（製造実行システムまたはＭＥＳ（manufacturing execution system））１０４；中間レベル処理最適化システム１０６（例えば、人間機械インターフェース（ＨＭＩ）、監督制御及びデータ取得（ＳＣＡＤＡ）、視覚可能な作業場の状態、上流への報告のためのデータ収集）；及び、センサーまたは他の計測装置１１０を含む低レベルの処理自動化または制御システム１０８を含む。
【０００３】
多くの顧客は、中間レベル制御システム１０６を実施するために必要な多数のシステムはそれらの導入及び維持を非常に複雑にしていると感じている。中間レベル制御システム１０６はスケジューリングのための小規模製造資源計画（ＭＲＰ）システム等に対しては複雑すぎ、また、ＳＣＡＤＡ／ＨＭＩデータ状態等のためには、その機能性において単純すぎる場合が多い。また、通常、情報技術（ＩＴ）サポートグループと作業場サポートグループとの間には、標準的なコンピューターＩＴ装置の責任の範囲に大きな隔たりが存在する。
【０００４】
また、ＥＲＰレベル（または、経営レベル）１０２において、例えば、センサーの測定値や製造された製品の数等の、現在作業場においてのみ利用可能な情報に直接アクセスすることが望まれる場合が多い。経営レベルシステムと作業場装置との間の直接的な接続のための主要な障害は作業場で使用される装置において本質的な非標準的な通信プロトコルである。経営レベル１０２での標準的な通信機構（例えば、メッセージキュー）は低レベルの製造装置レベル１０８、１１０での標準的通信機構（例えば、DeviceNetや他の登録商標プロトコル）とは異なる。また、ＥＲＰレベルと制御装置及びセンサー１０８及び１１０の間の複数の階層はこれらのレベルの間の直接的な通信を困難にしている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
それゆえ、作業場からの直接的なデータの取得及び直接的な製造処理の制御の両方の能力のために、低レベル制御センサーレベル１０８及び１１０と経営レベル１０２との間の直接的な通信の手段が望まれている。
【０００６】
したがって、本発明の目的は企業の最上位レベルから直接的に企業の製造現場に配置された低レベル制御装置及びセンサーに通信するための方法及び装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明は作業場のデータの取得及びイベントのユーザーへの通知のため、並びに、製造処理を直接的に制御または変更する能力を提供するための手段を提供する。通知を受けるユーザーは通常、組織の経営レベル（または、企業レベル）１０２に存在するユーザーである。データの取得を可能にするためには以下の能力が必要であるだろう。第一に、経営レベル１０２のユーザーは、彼らが興味を有するデータを識別できる能力を有さなければならない。第２に、経営レベル１０２のユーザーは、彼らがデータの更新を望む環境または状況を識別することができなければならない。最後に、データは作業場から経営レベル１０２の特定の場所（多くの場合、データベースまたは経営レベルのアプリケーション）に伝送されなければならない。これらのシステムは図２に示されている。ボックス５０において、ユーザーは低レベルから経営レベルに送信されるデータを選択しなければならない。ボックス５２において、ユーザーはどのような条件でデータが送信されるかを定義する。最後に、ボックス５４において、ユーザーはデータの出力先（または、デスティネーション）を特定する。
【０００８】
本発明のシステムの上位レベルの図は図３に示されている。システムの中心部は経営通信コントローラー（または、企業通信コントローラー）５００であり、それは機能的なマイクロコンピューターであってもよく、好まれる実施例において、製造処理を制御し、センサーを介してデータを収集する、作業場に配置されたプログラマブルロジックコントローラー（ＰＬＣ）２０４と同じバックプレーン２０２にプラグインされる（または、プラグ接続される）。経営通信コントローラー５００はＰＬＣが挿入されたバックプレーン２０２を介してＰＬＣ（プログラマブルロジックコントローラー）と通信し、ＰＬＣを監視（または、制御）している固有のプロトコルを扱うことができなければならない。経営通信コントローラー５００は、例えば、Windows（登録商標） CE、VX Works、QNX、または埋め込み式のMonta Vista Linux等のリアルタイムオペレーティングシステムを動作させ、そして、ＰＬＣからのデータのリード及びＰＬＣへのデータのライトをする能力を有するとともに、ＰＬＣから経営レベルへのデータの送信の促進及び選択をするソフトウェアコンポーネントを有するだろう。
【０００９】
経営通信コントローラー５００はまた、標準的なイーサーネットプロトコルを介して経営レベル６００及びワークベンチクライアント８００等の、組織の上位レベルに接続されている。ワークベンチ８１０はイントラネット内の、または他のネットワークを介した机上のローカルなクライアントで実行されるソフトウェアコンポーネントであり、経営通信コントローラー５００のソフトウェアコンポーネントをセットアップするために使用される。ワークベンチ８１０は、ユーザーがユーザーの興味のあるデータ、経営通信コントローラー５００から経営レベル６００へのデータの伝送を着手するイベント、及びデータベースアプリケーション６０２等の、経営レベル６００内のデータの出力先（または、デスティネーション）を特定し、それらに名前を付けることを可能にする。経営レベル６００は通常、組織の管理のために企業によって使用されるビジネスアプリケーション及びデータベースを含む。データの特定の部分は、例えば、多様なネットワークプロトコルを介して経営通信コントローラー５００から経営レベル６００の特定のデータベース６０２、または経営レベル６００で動作しているアプリケーション６０２に直接伝送されてもよい。
【００１０】
本発明の上述及び他の特徴及び目的は付随されている図面に図示されている、本発明の好まれる実施例からより明らかになるだろう。図面において、同様な機能及び（または）構造的要素には同一または同様な参照番号が付けられている。
【発明を実施するための最良の形態】
【００１１】
以下に本発明のモデルを詳細に説明する。以下において、特定の例としての実施例が説明されているが、これらは説明の目的のためだけのものであることは理解されなければならない。本発明の意図及び範囲から外れることなく、他の構成要素及び構成を使用することができることは当業者にとって明白であるだろう。
【００１２】
本発明の例としての実施例は経営レベル（または、企業レベル）６００と作業場との間の通信を促進するために２階層のアーキテクチャー（または、２階層の階層構造）を利用する。この構成は図１に示されているような通常の従来技術の多階層アーキテクチャーの代わりに、または、それらと共に利用されてもよい。
【００１３】
経営通信コントローラー５００は本発明の中核であり、１つまたは複数の既存のプログラマブルロジックコントローラー（ＰＬＣ）に接続されており、そして、ＰＬＣ装置とデータベース及びアプリケーション等の上流の経営システム（または、企業システム）６０２との間に接続を与える。例としての実施例において、本発明は経営レベルのシステムに対して直接利用可能な、例えば、在庫レベル、完成品の数、及び修正が必要または故障した製品の数等の情報を与える。本発明は上流レベルの経営システム６０２へのインターフェースのためのハードウェア構成要素及びソフトウェアモジュールを介して制御領域（または、作業場領域）から経営側（または、企業側）への直接的な情報を与えるための、密に結合しかつ高度に整合されたモジュール式の構成要素に基づいた機構を与える。
【００１４】
経営通信コントローラー（または、企業通信コントローラー）５００はまた、接続したＰＬＣ（プログラマブルロジックコントローラー）のいずれか１つの状態を更新するために経営レベル６００からの情報を受信することができる。この「ライトバック（write-back）」機能は経営レベル（または、企業レベル）６００からの入力に基づいて製造作業に変更を加えるために使用することができる。
【００１５】
経営通信コントローラー５００はまた、経営レベルからデータを取得し、それを製造のために使用するためにＰＬＣコントローラーに配置することができる。この情報は経営通信コントローラー５００の状態の変化によって着手され、製造で使用される情報の収集のために使用されてもよい。
【００１６】
本発明の例としての実施例において、図２に示されているように、ユーザーはデータを作業場から経営レベル６００に移動させるためにシステムを設定することができる。ユーザーはブロック５０にて収集されるデータを選択し、ブロック５２にてデータを送信するためのイベントを定義し、そして、ブロック５４にてデータが送信される場所を定義する。図２のブロック５０、５２、及び５４で示されている動作は図４に示されているプロジェクト６２０の概念を利用して、図３に示されているワークベンチ構成要素８００で実施される。
【００１７】
プロジェクト６２０はデータの特定の部分がタグ６２４で命名された、図３に示されているように経営レベル６００に送信されることを引き起こすイベントを定義するトリガ６２２のグループであってもよい。トリガ６２２は作業場で発生するイベントに対する予め定義された応答として認識することもできる。この応答は、イベントが発生したときにデータベース表にデータの列を書き込む、またはデータの列を更新する、メッセージ６２６をメッセージキューに入れる、または電子メールを送信する等のアクションを開始するように構成される。トリガが実行されることを引き起こすイベントは予め定義された条件（データトリガ）であってもよいし、またはＰＬＣからの要求していないメッセージの受信（論理トリガ）であってもよい。
【００１８】
タグ６２４は単に、ＰＬＣ内で特定のデータポイントを、例えば、「ＰＬＣ２のデータポイント１２」等の代わりに「製造数」等の、より判りやすい方法で識別するためのものである。
【００１９】
データトリガはＰＬＣからリードされる特定のデータポイントを含む条件の結果として実行されるトリガである。例えば、データトリガは特定の頻度で定期的に、スケジュールされた時間に、あるいは、例えば、特定のデータポイントの値が変化したとき、または特定の値より大きい、小さい、または等しいと決定されたとき等の特定のデータポイントの変化の結果として発生してもよい。
【００２０】
論理トリガはバックプレーン２０２を介したＰＬＣのラダー論理（または、はしご型論理）からの、要求していないメッセージの受信の結果として発生する。例えば、ＰＬＣラダー論理が、ＰＬＣに外部から通信し、ＰＬＣを処理する必要があると決定したときに条件が発生してもよい。例えば、製造ラインの温度センサーが特定のレベルを超える温度を検出し、外部のアクションが必要である危険な状態等を示してもよい。
【００２１】
トリガが実行される条件に加え、トリガはまた、以下を含む他の複数の情報を提供してもよい。（１）条件が発生したときに生成される、複数のデータポイント値、メッセージ、及びマクロ値を含んでもよいトリガペイロードとして知られる通知の内容。（２）ASCII、XML、またはデータベースの挿入／更新等のメッセージを送信するための形式。（３）DB2、Oracle、Microsoft SQL、IBM Websphere MQ、メッセージキュー、JMS、TCP、UDP、または電子メール等のデータを伝播するための方法。
【００２２】
図５は本発明のシステムのアーキテクチャーを示しており、それは主要な構成要素である、経営通信コントローラー５００、ワークベンチ８１０を備えたクライアント８００、及び経営レベル６００を含む。
【００２３】
経営通信コントローラー５００は好まれるものとして、ＰＬＣ２０４がプラグインされるバックプレーン２０２と同じバックプレーンにプラグイン（または、プラグ接続）される。それゆえ、経営通信コントローラー５００はバックプレーン２０２を介してＰＬＣ２０４と通信する能力を有する。経営通信コントローラー５００はオペレーティングシステム及び本発明の多様なソフトウェアコンポーネントを備えた標準的な汎用コンピューターを含んでもよい。好まれるものとして、経営通信コントローラー５００はVX Works、QNX、Monta Vista Linux、またはWindows（登録商標） CEオペレーティングシステム等のリアルタイムオペレーティングシステムを動作させてもよい。経営通信コントローラー５００はまた、バックプレーン２０２にプラグインすることが可能な特化したコネクタを備えていてもよい。このコネクタは、必然的に、経営通信コントローラー５００がインターフェースされるＰＬＣ２０４の形式に従って構成されてもよい。したがって、異なった製造者のＰＬＣは異なったバックプレーン２０２を有してもよい。また、図５に示されているように、バックプレーン２０２を介してＰＬＣ２０４との直接的な通信を可能にするために本発明のソフトウェアコンポーネントへのアプリケーションプログラミングインターフェース（ＡＰＩ）を与えるドライバ５２２が備えられる。ドライバ５２２は特に、ＰＬＣ２０４から特定のデータポイントをリードし、ＰＬＣ２０４の特定のデータポイントに新規の値をライトする能力を経営通信コントローラー５００に与える。物理的なコネクタと同様に、バックプレーンＡＰＩ（または、バックプレーンアプリケーションプログラミングインターフェース）５２２はＰＬＣの製造者に応じてカスタム化されてもよい。
【００２４】
クライアント８００は組織のいずれかのレベルで動作している、またはインターネット等のネットワークを介して遠隔的に接続されたコンピューターである。このコンピューターはシステムのユーザーがプロジェクト６２０を定義し、データポイントをタグ６２４で命名し、そしてプロジェクト６２０にトリガ６２２及びトリガ６２２が発生するための条件を加えることを可能にするソフトウェアワークベンチ８１０を動作させる。これらの情報は後で説明する処理によって経営通信コントローラー５００に通信される。
【００２５】
経営通信コントローラー５００はスキャナー部分５２０、及び多様な機能構成要素を有するトランザクションサーバーコンポーネント５５０を含む特殊なソフトウェアコンポーネントを備えている。本発明の機能的コンポーネントは記載されているように分割されているが、記載された多様な機能が記載された特定の実施例と同様な機能を与えながら、異なった様相のアーキテクチャーを呈してもよく、それらの変更も本発明の範囲に含まれることは当業者にとって明白であるだろう。
【００２６】
スキャナー部分５２０は概略的に、ワークベンチ８１０との通信、タグ６２４及びトリガ６２２の追跡、トリガイベントの発生の決定、及びＰＬＣ２０４との通信を実施するためのものである。
【００２７】
タグスキャナー５２４はＰＬＣ２０４上の多様なデータポイントの名前またはタグの情報を有し、バックプレーンＡＰＩ５２２を介してＰＬＣ２０４から特定のデータを取得する、またはＰＬＣ２０４に特定のデータをライトする能力を有する。
【００２８】
トリガスキャナー５２６は、多様なトリガをいつ実行するかを決定する構成要素である。例えば、トリガスキャナー５２６は、特定のタグ６２４が予め決められた値を超えたか等の、論理条件を満足したかを決定するためにタグスキャナー５２４に質問し、条件を満足している場合、経営サーバー（または、企業サーバー）６００内のデータベース６０２にメッセージを送信する等の、トリガ６２２への応答で取られる適切なアクションを決定する。トリガスキャナー５２６はまた、特定のタグ６２４の値の変化を定期的にチェックまたは承認する役割を有する。
【００２９】
スキャナー５２０内のコンポーネントプロキシ５２８はワークベンチ８１０とインターフェースし、そこからメッセージを受信し、それらのメッセージをどこに転送するかを決定する構成要素である。例えば、トリガ６２２の生成、許可、停止、及び削除のための命令等の、ワークベンチ８１０から到達したいくつかのメッセージはプロキシ５２８を介してトリガスキャナー５２６に直接的に送られる必要があるだろう。また、ワークベンチ８１０からプロキシサーバー５２８を介して送られたいくつかの命令はトランザクションコンポーネント５５０内のディスパッチャー５５４に送信される必要があるだろう。そのような命令は後で詳細に説明される。
【００３０】
スキャナー５２０内の時間同期マネージャー５３４はシステム内の全てのクロックの間の同期を維持するための役割を有し、ＰＬＣ２０４の内部のクロックを維持するためのオプションを含む。時間同期マネージャー５３４は外部のマスタークロックへの参照を介して、または経営通信コントローラー５００の内部のクロックへの参照を介してＰＬＣ２０４内の時間及び経営通信コントローラー５００内の時間を同期させるだろう。好まれるも時間の参照はワークベンチ８１０の設定セクションで特定される。時間同期マネージャー５３４の目的は経営通信コントローラー５００内のソフトウェアの全ての部分をタイムスタンプを含んでもよいＰＬＣ２０４を介した作業場から来る全てのメッセージと同期させることである。
【００３１】
ログマネージャー５３２は経営通信コントローラー５００内で起こった全ての動作を記録し、その情報をログとして保持する構成要素である。好まれる実施例において、ログマネージャー５３２は情報を２つの別個のログに格納する。最初のログはユーザーの操作を記録し、２つめのログは例外的な操作を記録してもよい。ログマネージャー５３２はまた、定期的な間隔で、または重要なイベントの発生時に電子メールを介して報告するように構成されてもよい。例えば、例外処理が発生した場合（例えば、経営通信コントローラー５００が経営サーバー６００との通信を試みたが、それが不可能であった場合）、ログマネージャー５３２によって例外ログへの入力が生成されてもよい。また、ワークベンチ８１０を介したプロジェクト及びそれらに関連したトリガの生成、及びプロジェクトの開始及び停止がログマネージャー５３２を介してイベントログに記録されてもよい。ログマネージャー５３２は完全な監査追跡を生成及び維持する能力を有してもよい。
【００３２】
ユーザーマネージャー５３０はユーザーの生成及び認証の役割を有する。ワークベンチ８１０にログインする多様なユーザーは彼らの優先レベルに応じて多様なタスクを実行することが許可される。例えば、特定のユーザーはトリガ６２２を作成することを許可されないが、既に定義されたプロジェクト６２０の実行及びそれらの結果の閲覧を許可されてもよい。ユーザーマネージャーは多様な優先権のレベルを承認することができる。ユーザーマネージャーには２つのモデルがある。１つのモデルにおいては、経営通信コントローラー５００上に優先権表が維持される。代替的なモデルにおいては、ユーザーマネージャー５３０は企業内にユーザーの管理に対する単一の場所を可能にするLDAPまたはKerbero等の中央ユーザー優先権リストまたは中央承認システム等の、経営レベルのユーザー管理システムに組み込まれてもよい。このモデルにおいて、優先権のレベルは集中化された経営レベルシステムに格納され、ローカルユーザーマネージャー５３０によって使用される。
【００３３】
本発明の特定の実施例において、図５のスキャナー５２０内の全ての構成要素は経営通信コントローラー５００上の単一の処理で動作する。同様に、トランザクションコンポーネント５５０は別個の処理であり、トランザクションコンポーネント５５０内の全ての構成要素はスキャナー処理５２０とは別個の単一の処理で動作してもよい。スキャナー５２０及びトランザクションコンポーネント５５０は互いの処理の間の通信のためにオペレーティングシステムによって与えられる標準的な機構を介して互いに通信することができる。しかしながら、図１３に示されているように、各部分が別個の処理で動作する代替的なアーキテクチャーが使用されてもよい。
【００３４】
トランザクションコンポーネント５５０は概略的に、経営通信コントローラー５００に対してローカルな非揮発性記憶装置上に多様な情報を維持し、経営サーバー６００にメッセージを送信、及び経営サーバー６００からメッセージを受信するための役割を有する。
【００３５】
トランザクションコンポーネント５５０内のディスパッチャー５５４は経営レベル６００での処理から、ワークベンチ８１０から、またはスキャナープロキシ５２８からメッセージを受信し、これらのメッセージをトランザクションコンポーネント５５０内のどこに送信すべきかを決定する。この意味において、それはスキャナー５２０内のスキャナープロキシ５２８に非常に類似している。例えば、スキャナー５２０内のトリガスキャナー５２６がデータベースのためにメッセージをライトする必要があると決定した場合、スキャナープロキシ５２８を介してディスパッチャー５５４にメッセージが送信され、ディスパッチャー５５４はその要求をデータベースインターフェース５５２に転送し、データベースインターフェース５５２は結果的に経営サーバー６００上のデータベースを更新し、ディスパッチャーを介して操作の成功または失敗を応答してもよい。ディスパッチャー５５４は（１）メッセージがどこに送信されるべきか、及び（２）メッセージがどのように送信されるべきかに応じて、メッセージをトランザクションコンポーネント５５０内の他の多様な構成要素に発送してもよい。例えば、スキャナー５２０内で生成されたメッセージが経営サーバー６００上のMS/SQLデータベースに送信されなければならない場合、ディスパッチャー５５４はこのタスクを達成するためにメッセージをどこに送信すべきかを決定してもよい。
【００３６】
トランザクションコンポーネント５５０内の持続マネージャー５５６は定義された全てのプロジェクト、全てのトリガ、全ての伝送（または、トランスポート）、及びシステムが再起動されなければならないときに格納される必要がある全てのデータ等を含む、システムを動作させるために必要な全ての情報を維持する役割を有する。この情報は経営通信コントローラー５００内の内部ディスクまたは他の非揮発性記憶装置上のファイル５０４に格納され、主に、コントローラー５００が電力を失い、再起動することが必要な場合に利用される。経営通信コントローラー５００上の全てのソフトウェアコンポーネントの、最後に調べた状態がファイル５０４からリードされ、それにより、電力が回復したときにコントローラー５００が操作を続けることを可能にする。
【００３７】
データベースインターフェース５５２はデータを経営通信コントローラー５００から経営レベル６００に伝送するためのトランザクション伝送機構の一部である。データベースインターフェース５５２は多数のデータベース通信プロトコルの１つを介してＰＬＣ２０４から経営レベル６００上のデータベースにリードされた情報を格納する役割を有する。このデータベースはDB2、Oracle、またはMS/SQLデータベース等の、多様な形式のデータベースであってもよい。データベースインターフェース５５２は単一の構成要素であってもよいし、各々がデータベースの特定の形式の役割を有する複数の構成要素であってもよい。 
【００３８】
メッセージキューインターフェース８１２、ＳＭＴＰインターフェース８１３、及びＴＣＰインターフェース８１４はトランザクションコンポーネント５５０の一部であり、経営通信コントローラー５００から経営レベル６００にメッセージ及びデータを伝送するための役割を有する。これらのインターフェースは経営レベル６００のアプリケーションにデータを移動するために使用されてもよく、メッセージキューから情報を受信する、ＳＭＴＰを介して特定の電子メールアドレスに送信された電子メールの内容をパーズする、またはＴＣＰ／ＩＰソケットからデータをリードする等の多様な方法を介してデータを受信する。メッセージキューイングはWebsphere Message Queues、Java（登録商標） Message Queues、JBOSS JMS message queues、またはWeblogic JMS message queues等の多様なツールを介して実施することができる。
【００３９】
格納及び転送構成要素５５８は経営通信コントローラー５００と経営レベル６００との間の通信が不能な場合に、経営レベル６００のアプリケーションまたはデータベース６０２に向けられたメッセージを格納する構成要素である。メッセージは経営通信コントローラー５００内のローカルハードディスクまたは他の非揮発性記憶装置上に配置されたデータベース５０６に格納及び転送される。格納及び転送構成要素５５８は通信が再確立されたときに、格納及び転送データベース５０６内に格納された全てのメッセージを転送するだろう。これらのメッセージは受信された順番に従って送信されてもよい。
【００４０】
図６はワークベンチ８１０を利用してプロジェクト及びトリガを経営通信コントローラー５００に加えるための処理を示している。ユーザーはユーザーがプロジェクトを生成しようとしていることを示すメッセージ１をプロキシ５２８に送信する。矢印１を介してワークベンチ８１０から送信されたメッセージはプロジェクトの生成、プロジェクトへのトリガの追加、データポイントのタグによる命名等であってもよい。スキャナープロキシ５２８は矢印２を介してこのメッセージをディスパッチャー５５４に転送する。ディスパッチャー５５４は持続マネージャー５５６を介してファイル５０２内にイベントが格納される必要があることを決定し、それにより、メッセージ３が持続マネージャー５５６に送信される。持続マネージャー５５６は次に、矢印４を介して情報をファイル５０４に格納し、矢印５を介して、アクションの成功または失敗をディスパッチャー５５４に戻す。ディスパッチャー５５４は矢印５を介して持続マネージャー５５６から状態を受信した後、矢印６を介してその情報をスキャナープロキシ５２８に転送する。この時点で、その情報はファイル５０４に恒久的に格納される。スキャナープロキシ５２８は次に、タグスキャナー５２４及びトリガスキャナー５２６にトリガまたはタグをプロジェクトに追加することを伝えるために、矢印７及び８を介してタグスキャナー５２４及びトリガスキャナー５２６にメッセージを送信する。
【００４１】
図７及び８には、それぞれ、データトリガ及び論理トリガが示されている。図７のデータトリガを説明するために、ここで、プロジェクト６２０は既に作成済みであり、トリガ６２２は定義済みであると仮定する。また、データトリガの説明の目的のために、ユーザーはＰＬＣ上の特定のデータポイントが変化したときに経営サーバーに対するメッセージのトリガを実施することを望んでいると仮定する。例えば、経営レベル６００のユーザーは、製品の数を表すデータポイントがＰＬＣ２０４の１つで増加したときに通知されることを望んでいるとする。この場合、スキャナー５２４は、例えば、１秒に１回等の、予め決められた比率でＰＬＣ２０４の製品の数を表す特定のデータポイントをポーリングするだろう。それゆえ、データを取得するために毎秒ごとにタグスキャナー５２４からバックプレーンＡＰＩ５２２にメッセージが送信され、データが矢印１を介してトリガスキャナー５２６に伝送される。トリガスキャナー５２６は、現在のデータの値がデータの事前の測定値から変化したかを調べるためにデータを評価し、データが変化している場合、トリガスキャナー５２６はデータを取得し、それをメッセージに組み込み、そして矢印２を介してそれをディスパッチャー５５４に送信する。トリガスキャナー５２６からディスパッチャー５５４に送信されたメッセージは伝送（または、トランスポート）に関する情報、すなわち、データが経営レベル６００内のどこに送信されるか、及びどのように送信されるかに関する情報を含む。
【００４２】
ディスパッチャー５５４は、メッセージが適切に処理されるためにどこにルーティング（または、転送）される必要があるかを決定する。例えば、メッセージがメッセージキューを介して送信されることになっている場合、ディスパッチャー５５４は矢印３を介してメッセージをメッセージキューハンドラー８１２に送信し、そしてメッセージキューハンドラー８１２は矢印４を介してメッセージを経営レベル６００内のメッセージキューマネージャー８１１に送信するだろう。経営レベル６００内のメッセージキューマネージャー８１１は次に、メッセージを受信したことを伝えるために矢印５を介してメッセージをトランザクションコンポーネント５５０内のメッセージキューハンドラー８１２に送り返す。この情報は矢印６を介してディスパッチャー５５４に送信され、そして、矢印７を介してスキャナープロキシ５２８に状態メッセージが送信される。ここで、矢印５を介して送信された受け取り確認が受信されない場合、ディスパッチャー５５４は最終的に、後の経営レベル６００への伝送のために、メッセージが格納及び転送構成要素５５８を介して格納及び転送データベース５０６に格納されることを引き起こす。付加的に、スキャナープロキシ５２８に向かう矢印７で示されているように、ログメッセージがログマネージャー５３２を介して記録されてもよい。
【００４３】
図８を参照すると、ＰＬＣのラダー論理（または、はしご型論理）内で生成されるトリガである論理トリガの結果として生ずる情報の流れが示されている。図８のメッセージの流れは矢印１及び８を除いて、図７のメッセージの流れに類似している。図８において、矢印１はバックプレーンＡＰＩ５２２を介してＰＬＣから直接的に到達するメッセージを示している。この情報は、ＰＬＣ２０４からのメッセージの受信の結果として何がなされるべきかを決定するためにタグスキャナー５２４及びトリガスキャナー５２６に送信される。メッセージは、例えば、ＰＬＣ２０４によって検出されたエラー条件であってもよいし、または、例えば、ＰＬＣ２０４上の特定のデータポイントの変化の結果として送信されるメッセージであってもよい。いずれの場合であっても、ＰＬＣ２０４のラダー論理はそのようなメッセージがいつ送信されるべきかを決定するだろう。換言すると、ＰＬＣ２０４は、データが送信される経営レベル６００内の何らかの要素または実在物がそのデータに関する情報を得る必要があると決定する。この後の処理において、スキャナー５２０及びトランザクションコンポーネント５５０を介した経営レベル６００へのメッセージの実行及び伝送は、状態メッセージが矢印７を介してスキャナープロキシ５２８によって受信されたとき、データが正常に経営レベルに伝送されたことをＰＬＣ２０４に知らせるためにメッセージが矢印８及びバックプレーンＡＰＩ５２２を介してＰＬＣ２０４に送信されることを除いて図７のデータトリガに対する記載と同様である。ＰＬＣ２０４は、ＰＬＣ２０４が特定の時間の後に正常な伝送の確認を得ることに失敗した場合にこの失敗に対して実行される何らかの論理を備えていてもよい。そのような場合、ＰＬＣ２０４はデータの送信を再度試みてもよいし、またはデータ伝送が失敗したことを示す警告を発してもよい。
【００４４】
図９は経営通信コントローラー５００が電力障害後にそれ自体を再起動するための処理を図示している。この場合、処理の目的は経営通信コントローラー５００を電力障害の直前の状態に回復させることである。状態情報は持続マネージャー５５６を介してファイル５０４からアクセスされる。プロキシ５２８は矢印１を介してディスパッチャー５５４にメッセージを送信する。ディスパッチャー５５４は、要求を完了するために持続マネージャー５５６が必要であると決定し、矢印２を介して持続マネージャー５５６にメッセージを送信する。持続マネージャー５５６は矢印３を介してファイル５０４から経営通信コントローラー５００の事前の状態を取得し、矢印４を介してそれをディスパッチャー５５４に送り戻し、そしてディスパッチャー５５４はそれをスキャナープロキシ５２８に中継する。そして、スキャナープロキシ５２８はメッセージ矢印７を介してトリガスキャナー５２６への全てのトリガ６２２を再確立することができ、さらに、矢印６を介してタグスキャナー５２４へのタグ６２４を再確立することができる。
【００４５】
図１０は上述した格納及び転送機能の動作を図示している。格納及び転送機能はメッセージを経営レベル６００に送信される必要があるが、ネットワーク接続の故障によって送信できないときに行使される。格納及び転送構成要素は経営レベル６００との通信の再確立を定期的に試みる。経営通信コントローラー５００と経営レベル６００との間の通信が再確立されたとき、格納及び転送データベース５０６に格納されている全てのメッセージは、それらが受信された順番に従って経営レベル６００に転送される。メッセージキューハンドラー８１２がこれらの特定のメッセージの伝送のために選択されている、図１０に示されている実施例の場合、メッセージキューハンドラー８１２が経営レベル６００上のメッセージキューマネージャー８１１との通信チャネル矢印１にエラーが発生していると決定すると、メッセージキューハンドラー８１２は矢印２を介してメッセージを格納及び転送構成要素５５８に送信する。格納及び転送構成要素５５８はメッセージキューを介して送信される必要がある全てのメッセージを矢印２を介して取得する。格納及び転送構成要素５５８は矢印３を介して経営レベル６００上のメッセージキューマネージャー８１１への再接続を定期的に試みる。接続が再確立されると、格納及び転送構成要素５５８は矢印３を介して格納されたメッセージを経営レベル６００上のメッセージキューマネージャー８１１に送信する。そして、矢印４を介してメッセージキューハンドラー８１２に受け取り確認が送り返され、矢印１を介して通常の動作が再開される。そして、データのコピーは格納及び転送データベース５０６から削除される。同様な格納及び転送機構は本発明の他の多様な伝送機構に対して適用されてもよい。
【００４６】
図１１は監視システム状態監視装置の動作を図示している。監視機構５０２は、スキャナー５２０及びトランザクションコンポーネント５５０が実行されている処理が正常であるかを決定する。監視構成要素５０２はこれらの処理の処理識別子を介してこれらの処理に関する情報を取得するためにオペレーティングシステムと定期的に通信する。監視機構が、どちらかの処理に対する処理識別子が無効であり、処理はもはや実行されていないと決定した場合、残存処理がシャットダウンされ、両方の処理はそれらの適当なシーケンスに従って再開始され、そして、好まれるものとして、この時点で、経営通信コントローラー５００の事前の状態がファイル５０４から回復される。
【００４７】
図１２は経営通信コントローラー５００の設定をワークベンチ８１０にエクスポートするための機構を示している。この機構は、例えば、異なった経営通信コントローラー５００上にセットアップを複製することが必要なときに便利である。ワークベンチ８１０は矢印１を介してスキャナー５２０のスキャナープロキシ５２８にメッセージを送信する。スキャナープロキシ５２８は矢印２を介してメッセージを持続マネージャー５５６に送信する。持続マネージャー５５６はファイル５０４から現在の状態を取得し、矢印３を介してスキャナープロキシ５２８にそれを戻し、そして、スキャナープロキシ５２８は矢印４を介してそれをクライアント８００上のワークベンチ８１０に戻す。
【００４８】
図４に示されているようなワークベンチ構成要素８１０はユーザーのワークステーション（または、仕事場または座席等）に配置され、経営通信コントローラー５００とインターフェースする。通常、ワークベンチ８１０は組織の経営レベル６００におけるユーザーレベルのコンピューター上で動作する。しかしながら、ワークベンチ８１０は標準的なインターネットプロトコルを介して経営通信コントローラー５００と通信するので、ワークベンチ８１０は組織内または組織外の多様なコンピューター上に配置されてもよい。上述したように、ワークベンチ８１０の１つの機能は、ユーザーがプロジェクト６２０を作成することを可能にすることである。ワークベンチ８１０はプロジェクトの形成、及びプロジェクトの経営通信コントローラー５００への保存を可能にし、保存されたプロジェクトは持続マネージャー５５６によってファイル５０４に加えられる。ワークベンチ８１０はまた、プロジェクト６２０を開始、停止、エクスポート、及びインポートするための設備を提供する。ワークベンチ８１０は複数の経営通信コントローラー５００の各コントローラーで上述の処理等の操作を実施するために同一のセッション中に複数の経営通信コントローラー５００と相互作用することができる。
【００４９】
プロジェクトは経営通信コントローラー５００から経営レベル６００へデータを伝送するための環境を定義するトリガ６２２のグループから構成される。トリガはタグ６２４、メッセージ６２６、マクロ６２８、及び表現式６２９を含むことができる。タグ６２４はデータ型トリガを定義し、メッセージ６２６は論理型トリガを定義する。トリガ内で定義されたマクロ機構６２８は、トリガが予め定義されたデータの簡単な操作を実施することを可能にする。表現式パーサー６２９はユーザーがＰＬＣまたは経営サーバー６００からのデータを操作することを可能にする。例えば、ユーザーは経営サーバー６００への伝送の前に温度を摂氏から華氏に変更する等の、数値の値の変化をするための表現式を作成してもよい。トリガ６２２はまた、経営通信コントローラー５００から経営サーバー６００にデータを伝送するために使用される伝送（または、トランスポート）６３０に対する知識（または、情報）を含んでもよい。
【００５０】
また、ワークベンチ８１０は伝送６３０を定義するために使用することができる。伝送６３０は、ユーザーがデータを経営通信コントローラー５００から経営サーバー６００に送信するときに、データに対する出力先及び形式の情報を与えることを可能にする機構である。伝送はＴＣＰ、メッセージキュー、（リレーショナルデータベースに対する）データベース、及びＳＭＴＰ（電子メール）を含む多様なタイプの１つであってもよい。作成された伝送のタイプは、ユーザーがデータを送ろうとしているアプリケーション及び（または）データベースに基づいて作成される。経営サーバー６００で動作しているアプリケーションと通信するために、アプリケーションはこれらのプロトコルの１つを扱うことができ、かつ、そのプロトコルを介してメッセージを受信することができなければならない。データは通常、企業のイントラネット上の特定の場所（すなわち、アプリケーション）、インターネット上の場所、または経営サーバー６００内のDB2、MS/SQL、またはOracleデータベース等のデータベースに格納されてもよい。データの形式はXML、ASCII、またはデータベースの挿入／更新を含む多様な形式の１つであってもよい。
【００５１】
ワークベンチ８１０はまた、ユーザーが経営通信コントローラー５００によって戻されたタグ６２４を閲覧することを可能にする。タグ６２４はＰＬＣのラダー論理プログラム内の命名されたデータポイントであり、ＰＬＣ内のメモリーの場所を表す。ワークベンチ８１０は、そこからＰＬＣ内のデータポイントの現在の値をリードすることができるタグのツリー形式の表示を与えることができる。
【００５２】
ワークベンチ８１０内のログビューア６３２はシステムエラー及び例外エラーログを閲覧するための手段を与える。ログビューア６３２はユーザーが経営通信コントローラー５００上のログマネージャー５３２によって作成されたログを閲覧することを可能にするツールである。通常、これらのログはユーザーの操作、エラー、及びシステムメッセージを追跡及び解釈するために診断ツールとして使用することができる監査ログ及び例外ログを含む。通常、ＰＬＣ２０４で発生した操作は日付、時間、操作、種類、及び（または）ユーザーによってログ記録される。
【００５３】
ワークベンチ８１０はまた、それが接続することができる経営通信コントローラー５００の全ての管理に対する中核部としての役割を有する。管理モジュール６４０は経営通信コントローラー５００のネットワーク設定６４４の設定、ＩＰアドレスの設定、ユーザー及び彼らの優先権レベル６４８の定義、多様な伝送プロトコル６５０のために必要なワークベンチソフトウェアに対するライセンス管理機能の提供、及びモジュール状態６５２を介した、経営通信コントローラー５００と同一のシャーシに設置された全てのＰＬＣの状態の閲覧を含む管理機能を実施するための手段を提供する。管理モジュール６４０はまた、経営通信コントローラー５００及びそれに接続している全てのＰＬＣに外部時間同期信号を与えるための手段を提供する。ワークベンチの時間管理機能６４６は、ユーザーが現在の時間の設定、同期設定の設定、及び全体的なシステムに対する外部時間参照として作用する同期サーバーの設定を行うことを可能にする。この同期設定は更新の頻度、及び、経営通信コントローラー５００が外部時間参照のクライアントとして作用するかどうか、または他の経営通信コントローラー５００に対するクライアント及びサーバーの両方として作用するかどうかを含む。それはまた、例えば、簡易ネットワーク時間プロトコル（ＳＮＴＰ）、ユーザーデータプロトコル（ＵＤＰ）、ＴＣＰプロトコル、または時間同期のために使用される他の周知のプロトコル等の同期方法または同期プロトコルの設定を可能にする。管理機能はまた、電子メールアドレスのグループに基づいた例外通知リストを定義するための手段を提供する。
【００５４】
ワークベンチ８１０が開始されたとき、ワークベンチ８１０はインターネットまたはイントラネットに接続されている有効な経営通信コントローラー５００に対するネットワークをサーチする能力を有する。有効な経営通信コントローラー５００に対するワークベンチ８１０のサーチの範囲はＩＰサブネットアドレスを特定することによって限定されてもよい。
【００５５】
本発明には多数の代替的な実施例が存在する。図１３は、経営通信コントローラー５００がバックプレーンＡＰＩ５２２を介してＰＬＣと直接的な通信状態にある、代替的な実施例を示している。この構成は、経営通信コントローラー５００が「無線周波数識別（ＲＦＩＤ）」等の付加的な装置との通信の必要性を有する場合に必要となるだろう。この場合、バックプレーンＡＰＩ５２２ｂは外部装置との通信が可能な異なったバックプレーンＡＰＩであってもよい。この構成はまた、多様な装置（ＰＬＣ及びＲＦＩＤリーダー等）とインターフェースするための複数のスキャナー５２４ａ及び５２４ｂを必要とするだろう。
【００５６】
特定の顧客用の設定においては、単一の経営通信コントローラー５００が経営通信コントローラー５００の選択を有さない他のＰＬＣと通信することが必要であってもよい。これはバックプレーンＡＰＩを使用する代わりにＰＬＣ通信モジュールと通信することによってなされてもよい。図１４及び１５に示されているように、これを達成するための２つのバージョンが存在する。図１４において、経営通信コントローラーは本発明の主要な実施例に対して説明された様式でＰＬＣ２０４ａとインターフェースすることができる。付加的なＰＬＣ２０４ｂとの通信を可能にするために、ＰＬＣ２０４ａはＰＬＣ通信ポート２１０を介してＰＬＣ２０４ｂに接続されている。経営通信コントローラー５００もまた、この接続を介してＰＬＣ２０４ｂとインターフェースすることができる。ＰＬＣ２０４ａ及び２０４ｂの通信ポート２１０間の接続は、例えば、ＲＳ２３２接続を介したシリアル通信またはＴＣＰ／ＩＰ等であってもよい。図１５はもう１つの実施例を示しており、そこにおいて、経営通信コントローラーは図１８に示されているようなカスタムデバイスドライバ５０２とともに構成され、それのＰＬＣ通信ポート２１０を介して付加的なＰＬＣ２０４ｂと通信する。
【００５７】
特定の作業場環境または工場内環境において、経営システムは作業場からデータを収集するだけではなく、作業場に情報を送信することが必要であってもよい。これらの情報は作業場で必要な製造情報であってもよいし、あるいは、製造要求を販売状況に応じて変化させるために必要な情報であってもよい。経営レベルからＰＬＣレベルへのデータの伝送を開始するために２つの方法：ＰＬＣ要求及び企業推進が存在する。
【００５８】
図１６において、ＰＬＣからデータを取得することを要求する、経営サーバー側が要求していない要求が存在する、またはＰＬＣのデータの取得を必要とするデータの変化が存在する場合、トリガスキャナー５２６は矢印１を介してその要求を受信する。その要求は矢印２を介してディスパッチャー５５４に送信される。ディスパッチャー５５４はこの要求を満足するために適当な伝送ハンドラーを選択し、情報を転送する。この例において、要求された情報はデータベース内に存在してもよく、要求は矢印３を介してデータベースインターフェース５５２に送信される。データベースインターフェース５５２は矢印４を介して経営データベースサーバー５６０から適当な情報を要求し、矢印５を介してその情報を受信する。この情報は矢印６を介してディスパッチャー５５４に、そして、矢印７を介してプロキシ５２８に送り返される。そして、それはＰＬＣ２０４への伝送のために矢印８を介してバックプレーンＡＰＩ５２２に供給される。この情報はこの時点で、作業場での制御処理のためにＰＬＣ２０４によって使用されてもよい。
【００５９】
図１７に示されているように、ホストによってライトバックが開始される場合もあり、それはＰＬＣのデータ要求と同様に動作する。この場合、経営サーバー６００の要素または実在物は作業場の要素に対して変更を加えることを望んでもよい。これは、経営サーバー６００によって着手され、ＰＬＣ２０４に伝送されるメッセージを介してなされ、そして１つまたは複数のタグにデータに関するライトをする。データの流れは、初期要求が経営サーバー６００から与えられ、メッセージがメッセージキューマネージャー８１１を介してトランザクションコンポーネント５５０に送信されることを除いて、図１６に示されているものと同様である。
【００６０】
図１８に示されている代替的な実施例において、経営通信コントローラー５００は特定の種類のＰＬＣに対して利用可能でなくてもよいし、または目的とするＰＬＣがそれのバックプレーンを介して通信可能でなくてもよい。この場合、本発明の主要な実施例は外部ＰＣ（パソコン）５０１または「ユニバーサル経営通信コントローラー（ＵＥＣＣ）」で動作するように変更され、それによって、ＰＬＣ２０４との通信がバックプレーンＡＰＩ５２２以外の手段を介して行われてもよい。この場合、特化したデバイスドライバ５０２がバックプレーンＡＰＩ５２２の機能の代わりを務める。この解決法の他の全ての能力または機能はもとのまま維持される。デバイスドライバ５０２はシリアル通信、ＴＣＰ／ＩＰ、Data Highway +、及びProfibusを含む多数の一般的な作業場通信の１つをサポートしてもよい。通常、矢印１を介したＵＥＣＣ５０１とＰＬＣ通信モジュール２１０との間のこれらの接続はイーサーネットまたはＲＳ２３２接続を介して確立される。しかしながら、ＰＬＣは矢印２を介してそれらのＰＬＣコントローラー２１２への接続を要求してもよい。また、本発明のこの実施例において、ＵＥＣＣ５０１は任意の時点において複数のＰＬＣと通信状態にあってもよい。
【００６１】
本願で説明されたアーキテクチャーの拡張は、図１９に示されているような論理コンポーザー８１２を含んでもよい。論理コンポーザー８１２はユーザーが多様な機能の組（または、多様なファンクションの組）をユーザーに提供する「機能ブロック（または、ファンクションブロック）」の組に基づいてワークフローまたは論理フローを作成することを可能にする。これらの機能は、例えば、試験条項、操作データ、多様な伝送の送信及び受信、論理領域を介したループ、経営レベルまたはＰＬＣレベルからの情報の要求、及び他のワークフロー項目等を含んでもよい。論理コンポーザー８１２は既存のコンポーネント（または、構成要素）の各々に直接的に作用し、ボックス内の主要な動作を編成する。それは既に存在する他の機能に加えて、一般的なビジネス論理フローを提供する。論理のフローはクライアント上で構成され、格納及び実施のために矢印１を介して論理サーバー８１４に送信される。論理サーバー８１４の論理実行エンジン部分８１６は：１）矢印２を介して論理格納構成要素８１８に定義を格納すること；２）影響を受けるデータタグのリストを形成し、矢印３を介してそれを参照表８２０に格納すること；及び、３）要求されたデータを矢印４及び５並びに発行／承認クライアント８２２及び発行／承認サーバー８２４を介して承認することを実施する。システムが動作すると、論理実行エンジン８１６は矢印６及び７を介してデータの変更を受信し、要求されたビジネス論理またはデータ操作を実行するだろう。結果として生ずる情報は複数の選択の１つを介して、要求されたユーザーに送信されてもよい。更新／派生情報はスキャナー５２０によって矢印８を介してＰＬＣ２０４に送り戻されてもよいし；トランザクションコンポーネント５５０によって矢印９を介して経営サーバー６００に送り戻されてもよいし；または、表示サーバー（または、ディスプレイサーバー）６４０によって矢印１０を介してユーザーに表示されてもよい。
【００６２】
本発明のアーキテクチャーはまた、図２０に示されているように、３つの主要な構成要素：データを閲覧するための実行時間ビューア８５０；画面を定義するためのワークベンチ表示コンポーザー８４２；及び画面／データの更新をサポートし、表示に関する定義を持続させるための実行時間表示サーバー８４０から構成されてもよい表示サブシステム（または、ディスプレイサブシステム）を含んでもよい。本発明の１つの実施例において、ワークベンチ８１０はユーザーがＰＬＣと経営サーバー６００との間の動作及びデータ／メッセージ交換を定義することを可能にする。ユーザーはまた、多様なクライアントからのデータを閲覧する必要があり、彼らの閲覧に対する要求を満足する画面を定義することができる。表示サブシステムはこれらの定義が経営通信コントローラー５００内で生成され、このデータを多様なクライアントに提示することを可能にするツールである。
【００６３】
表示コンポーザー８４２はワークベンチ８１０の拡張であり、データが表示される画面を定義することを可能にする。この画面はフィルバー（fill bar）、テキストフィールド、ボタン、警告インジケーター、またはＰＬＣ２０４のデータタグに関連した他の表示用オブジェクトを含んでもよい。表示コンポーザー８４２は矢印１を介して画面定義情報を表示サーバー８４０の要求ハンドラー部分８４４に送信する。要求ハンドラー８４４は表示に関する定義を表示記憶装置８４２に局在的に格納するか、または、別個の中央サーバーに格納されている表示に関する定義を参照してもよい。要求ハンドラー８４４はまた、表示の定義の内容をパーズし、表示のために知ることが必要なＰＬＣデータタグのリストを作成し、このリストを参照表８４６に格納する。要求ハンドラー８４４は発行／承認クライアント８２２への矢印４を介して、データの変更を通知される必要があるＰＬＣに要求をするためにこのＰＬＣデータタグのリストを使用する。発行／承認クライアント８２２はこれらの要求を矢印５を介して、本発明の主要な実施例のスキャナー５２０に対する拡張である発行／承認サーバー８２４に登録する。タグが作業場での変化に基づいてＰＬＣで更新されたとき、発行／承認サーバー８２４は発行／承認クライアント８２２及び矢印６及び７を介して状態の変更を要求ハンドラー８４４に送信する。そして、表示情報が更新され、矢印８を介して適当なビューアに送信される。クライアント８００のビューアアプリケーション８５０は登録商標ビューアであってもよいし、一般的な商業上のウェッブブラウザーであってもよい。矢印８のプロトコルはクライアントに依存し、登録商標プロトコルであってもよいし、または標準的なＨＴＴＰまたはＨＴＴＰＳプロトコルであってもよい。
【００６４】
本願で説明されたアーキテクチャーの拡張は図２１に示されている表現式パーサーを含んでもよく、それはユーザーがデータを経営サーバー６００に送信する前にデータに付加的な操作を加えることを可能にする。このアーキテクチャーは装置上で定義されたデータポイントまたはタグに関する多様な出力源（または、出力ソース）へのライトを可能にする。データポイントの出力源への関連付けはトリガのペイロードの定義中になされる。これらの生データポイント値のライトに加え、出力源への計算された値のライトが望まれる場合もある。この計算の入力はユーザーによって定義された定数（または、一定の値）とともに、装置から読み取られたデータポイント値から構成されてもよい。この機能の拡張は、ユーザーがトリガのペイロードの一部としてデータポイント値及び定数から構成される数式を定義することを可能にする。この数式の評価は装置上で行われ、対応するトリガが発生した時点で読み込まれたデータポイント値を使用してもよい。この機能拡張はデータのライト能力がタグの値及び定数だけではなく、計算された値も含むように機能を増強させる。
【００６５】
ワークベンチ８１０は表現式コンポーザー８１８を使用することにより、ユーザーがトリガのペイロード内のデータ源（または、データソース）として数式を作成することを可能にする。タグの値をペイロード定義内にドラッグアンドドロップできることに加え、ユーザーは予め定義されたマクロ値（タイムスタンプ）及びユーザー定義マクロ値（定数）をトリガのペイロード内にドラッグアンドドロップすることができる。表現式コンポーザー８１８はまた、ユーザーが式をトリガのペイロード内にドラッグする能力を与える。トリガのペイロード内に数式マクロをドラッグすることにより、表現式コンポーザー８１８が起動され、それはユーザーによる装置の実行時間に評価される数学的表現式の定義を援助する。このエディターはユーザーが標準的な計算機に類似のインターフェースから数学的なオペランドとともに定数（または、一定の数値）を入力することを可能にする。また、このエディターはユーザーが数字で表されたデータポイントを等式中にドラッグアンドドロップすることを可能にする。
【００６６】
図２１は上述の表現式コンポーザー機能に対するデータの流れを示している。表現式コンポーザー８１８はクライアント８００で動作しているユーザーレベルのクライアントアプリケーションであり、ユーザーが図式的に数学的及び論理的表現式を構成することを可能にする。この表現式定義は矢印１を介して表現式サーバー８７０内の表現式パーサーエンジン８７２に送信される。この数式に関する定義は表現式記憶装置８７４に局在的に格納される。表現式パーサー８７２は表現式定義をパーズし、表現式を評価するために知ることが必要なＰＬＣデータタグのリストを生成し、それらを矢印３を介して参照表８２６に格納する。表現式パーサー８７２は発行／承認クライアント８２２への矢印４を介して、関連するデータの全ての変更がＰＬＣに通知されるようにＰＬＣに要求を出すためにＰＬＣデータタグのリストを使用する。発行／承認クライアント８２２は矢印５を介してこれらの要求を発行／承認サーバー８２４に登録し、そして、矢印６及び７を介してこれらのデータ項目の全ての変化を通知される。表現式の評価の結果は経営サーバー６００へメッセージを送信するために上述した方法で、矢印８及び９を介してユーザーに送信されてもよい。
【００６７】
ここまで本発明の好まれる実施例が説明されてきたが、本発明の範囲がこれらの実施例の等価物及び同様な機能を実施する他の実施例を含むことは当業者によって理解されなければならない。本発明の範囲は付随する請求の範囲によって規定される。
【図面の簡単な説明】
【００６８】
【図１】低レベルから経営レベルへの従来技術の標準的なアーキテクチャーを図示している。
【図２】本発明の動作に必要な機能を図示している。
【図３】本発明の装置の上位レベルのアーキテクチャーを示している。
【図４】本発明のワークベンチ構成要素のアーキテクチャーの上位レベルのブロック図を示している。
【図５】経営通信コントローラーのシステム構成要素を示している。
【図６】プロジェクト及びトリガが加えられる処理を示している。
【図７】実行時間データトリガに基づいた経営通信コントローラーの機能を示している。
【図８】実行時間論理トリガに基づいた経営通信コントローラーの機能を示している。
【図９】電源故障後の経営通信コントローラーの機能を示している。
【図１０】低レベルと経営レベルとの間の接続の故障が見つかり、格納及び転送機能が起動されたときの経営通信コントローラーの機能を示している。
【図１１】監視機構またはシステム状態監視の動作を示している。
【図１２】設定のエクスポートの動作を示している。
【図１３】付加的な外部装置への直接接続のための、代替的な実施例を示している。
【図１４】ＰＬＣ通信チャネルを介した複数のＰＬＣへの接続のための、代替的な実施例を示している。
【図１５】デバイスドライバを使用した複数のＰＬＣへの接続のための、代替的な実施例を示している。
【図１６】ＰＬＣが要求したライトバックイベントを示している。
【図１７】企業が要求したライトバックイベントを示している。
【図１８】経営通信コントローラーの代わりにデバイスドライバを備えたＰＣが使用されている、代替的な実施例を示している。
【図１９】経営通信コントローラー及び論理構成ユーザーレベルアプリケーションの論理サーバーサブシステムを示している。
【図２０】経営通信コントローラー及びユーザーレベル閲覧アプリケーションの表示サーバーサブシステムを示している。
【図２１】経営通信コントローラー及びユーザーレベル表現構成アプリケーションの表現サーバーサブシステムを示している。
【符号の説明】
【００６９】
１０２  経営レベル
１０４  製造実行システム
１０６  中間レベル制御システム
１０８  低レベル制御センサーレベル
１１０  センサー及び他の計測装置
２０２  バックプレーン
２０４  プログラマブルロジックコントローラー（ＰＬＣ）
２１０  通信ポート
２１２  ＰＬＣコントローラー
５００  経営通信コントローラー
５０２  カスタムデバイスドライバ
５０２  デバイスドライバ
５０２  ファイル
５０２  実行時間状態監視
５０４  ファイル
５０６  格納及び転送データベース
５２０  スキャナー
５２２  バックプレーンＡＰＩ
５２４  タグスキャナー
５２６  トリガスキャナー
５２８  スキャナープロキシ
５３０  ユーザーマネージャー
５３２  ログマネージャー
５３４  時間同期マネージャー
５５０  トランザクションコンポーネント
５５２  データベースインターフェース
５５４  ディスパッチャー
５５６  持続マネージャー
５５８  格納及び転送構成要素
５６０  経営サーバーデータベース
６００  経営サーバー（経営レベル）
６０２  経営サーバーアプリケーション
６２０  プロジェクト
６２２  トリガ
６２４  タグ
６２６  メッセージ
６２８  マクロ
６２９  表現式パーサー
６３０  伝送
６３２  ログビューア
６４０  管理モジュール
６４４  ネットワーク設定
６４６  時間管理機能
６４８  優先権レベル
６５０  伝送プロトコル
８００  クライアント
８１０  ワークベンチ
８１１  メッセージキューマネージャー
８１２  メッセージキューハンドラー
８１３  ＳＭＴＰインターフェース
８１４  ＴＣＰインターフェース
８１６  論理実行エンジン
８１８  論理格納構成要素
８２０  参照表
８２２  発行／承認クライアント
８２４  発行／承認サーバー
８４０  表示サーバー
８４２  表示コンポーザー
８４２  表示記憶装置
８４４  要求ハンドラー
８４６  参照表
８７０  表現式サーバー
８７２  表現式パーサーエンジン
８７４  表現式記憶装置
【図１】
2007012045.tif 000003
【図２】
2007012045.tif 000004
【図３】
2007012045.tif 000005
【図４】
2007012045.tif 000006
【図５】
2007012045.tif 000007
【図６】
2007012045.tif 000008
【図７】
2007012045.tif 000009
【図８】
2007012045.tif 000010
【図９】
2007012045.tif 000011
【図１０】
2007012045.tif 000012
【図１１】
2007012045.tif 000013
【図１２】
2007012045.tif 000014
【図１３】
2007012045.tif 000015
【図１４】
2007012045.tif 000016
【図１５】
2007012045.tif 000017
【図１６】
2007012045.tif 000018
【図１７】
2007012045.tif 000019
【図１８】
2007012045.tif 000020
【図１９】
2007012045.tif 000021
【図２０】
2007012045.tif 000022
【図２１】
2007012045.tif 000023
【外国語明細書】
2007012045000001.pdf