(57)【要約】      （修正有）【課題】第一フォーマットの機械可読命令を備えるアプリケーションモジュールを含む産業用制御システムの提供。【解決手段】命令は、産業用制御システムに関する入力、出力、処理、又はこれらのいずれかの組み合わせを指定する。産業用制御システムは、第一フォーマットのアプリケーションモジュール１６を産業用制御システムの共通計算プラットフォームによって理解可能な第二フォーマットに変換することによってプラットフォーム専用アプリケーション２０を作成する、プロセッサを備える変換サーバも含む。【選択図】図１
2014238830.tif 000002
【特許請求の範囲】
【請求項１】
産業用制御システムにおいて、
第一フォーマットの機械可読命令を備えるアプリケーションモジュールであって、命令は前記産業用制御システムのプロセスにかかわる入力、出力、処理、又はこれらのいずれかの組み合わせを指定する、アプリケーションモジュールと、
前記第一フォーマットのアプリケーションモジュールを前記産業用制御システムの共通計算プラットフォームによって理解可能な第二フォーマットに変換することによって、プラットフォーム専用アプリケーションを作成するように構成されたプロセッサを備える変換サーバと、を備える産業用制御システム。
【請求項２】
前記産業用制御システムに設けられた１つ以上のテンプレートを用いて前記アプリケーションモジュールを生成するように構成されたプロセッサを備える、請求項１に記載の産業用制御システム。
【請求項３】
前記プラットフォームは、前記変換サーバが前記プラットフォーム専用アプリケーションを作成した後に前記プラットフォーム専用アプリケーションを自動的にコンピュータに展開するように構成されている、請求項１に記載の産業用制御システム。
【請求項４】
コンピュータを備え、前記コンピュータは前記展開済みプラットフォーム専用アプリケーションを実行するように構成されている、請求項３に記載の産業用制御システム。
【請求項５】
前記変換サーバは、前記アプリケーションモジュールを前記第二フォーマットにラッピングすることによって前記アプリケーションモジュールを変換するように構成されている、請求項１に記載の産業用制御システム。
【請求項６】
共通計算プラットフォーム内の全ての展開済みアプリケーションの一覧表を提示するように構成されたアプリケーション管理ツールを備える、請求項１に記載の産業用制御システム。
【請求項７】
アンインストール要求を受信すると前記プラットフォーム専用アプリケーションをアンインストールし、展開要求を受信すると前記プラットフォーム専用アプリケーションを展開し、又はその両方を行うように構成されたアプリケーション管理ツールを備える、請求項１に記載の産業用制御システム。
【請求項８】
開始要求を受信すると前記プラットフォーム専用アプリケーションを開始し、停止要求を受信すると前記プラットフォーム専用アプリケーションを停止し、又はその両方を行うように構成されたアプリケーション管理ツールを備える、請求項１に記載の産業用制御システム。
【請求項９】
前記プラットフォーム専用アプリケーションに関連付けられた実データが値の範囲、値の閾値、又はその両方に準拠しているか否かを監視することによって、前記プラットフォーム専用アプリケーションの健全性を監視するように構成されたアプリケーション管理ツールを備える、請求項１に記載の産業用制御システム。
【請求項１０】
いずれかの展開済みプラットフォーム専用アプリケーションの構成データ、及び前記展開済みプラットフォーム専用アプリケーションのプラットフォーム専用アプリケーション名を収集するように、及び
少なくとも部分的に前記構成データ、前記プラットフォーム専用アプリケーション名、又はその両方に基づいて、前記展開済みプラットフォーム専用アプリケーションの１つ以上の態様を管理するように構成されたアプリケーション管理ツールに前記構成データ及びプラットフォーム専用アプリケーション名を提供するように構成された、束構成サービスを備える、請求項１に記載の産業用制御システム。
【請求項１１】
プロセス制御（ＯＰＣ）統一アーキテクチャ（ＵＡ）プロトコルのためのオブジェクトのリンクと埋め込み（ＯＬＥ）について、前記プラットフォーム専用アプリケーションに関連付けられた実データ値を受信するように、及び
グラフィカル・ユーザ・インターフェースに実データ値を表示するように構成された、表示ツールを備える、請求項１に記載の産業用制御システム。
【請求項１２】
コンピュータプロセッサを通じて、第一フォーマットの第一セットの機械可読命令を備えるアプリケーションモジュールを、第二フォーマットの第二セットの機械可読命令を備えるプラットフォーム専用アプリケーションに変換するステップを備える方法であって、前記第二フォーマットは産業用制御システムの共通計算プラットフォームによって理解可能である、方法。
【請求項１３】
前記アプリケーションモジュールをプラットフォーム専用アプリケーションに変換するステップは、前記第一フォーマットの第一セットの機械可読命令を前記第二フォーマットの第二セットの機械可読命令にラッピングするステップを備える、請求項１２に記載の方法。
【請求項１４】
前記アプリケーションモジュールを作成する要求を受信するステップと、
独自仕様データにアクセスするアクセス権を判断するステップと、
独自仕様データへのアクセス権がないときに非独自仕様データのみを用いて前記アプリケーションモジュールの作成を許可するステップ、又は、
独自仕様データへのアクセス権があるときに、独自仕様データ及び非独自仕様データの両方を用いて前記アプリケーションモジュールの作成を許可するステップと、を備える、請求項１２に記載の方法。
【請求項１５】
前記アプリケーションモジュールを編集する要求を受信するステップと、
独自仕様データにアクセスするアクセス権を判断するステップと、
独自仕様データへのアクセス権がないときに非独自仕様データのみを用いて前記アプリケーションモジュールの修正を許可するステップ、又は、
独自仕様データへのアクセス権があるときに、独自仕様データ及び非独自仕様データの両方を用いて前記アプリケーションモジュールの修正を許可するステップと、を備える、請求項１２に記載の方法。
【請求項１６】
前記アプリケーションモジュールを前記プラットフォーム専用アプリケーションに変換した後に前記プラットフォーム専用アプリケーションをホストコンピュータに自動的に展開するステップと、
前記ホストコンピュータ上で前記展開済みプラットフォーム専用アプリケーションを実行するステップと、を備える、請求項１２に記載の方法。
【請求項１７】
電子装置のプロセッサによって実行可能な複数の命令を記憶する、有形の非一時的コンピュータ可読媒体において、命令は、
コンパイル済みコード、及び前記コンパイル済みコードに関連付けられた入力及び出力のリストを受信する命令と、
前記コンパイル済みコードをプラットフォーム専用アプリケーションに変換する命令であって、前記プラットフォーム専用アプリケーションは産業用制御システムの共通計算プラットフォームによって解釈可能なフォーマットを備える、命令と、
少なくとも部分的に前記コンパイル済みコードに関連付けられた前記入力及び出力に基づいて初期値特性ファイルを作成する命令であって、前記初期値特性ファイルは前記プラットフォーム専用アプリケーションの実行のための入力として使用されるように構成されている命令と、を備える、有形の非一時的機械可読媒体。
【請求項１８】
前記コンパイル済みコードを変換した後に自動的に前記プラットフォーム専用アプリケーションを展開する命令を備える、請求項１７に記載の有形の非一時的機械可読媒体。
【請求項１９】
前記プラットフォーム専用アプリケーション、前記プラットフォーム専用アプリケーションの構成設定、又はその両方をデータストアに保存する命令を備える、請求項１７に記載の有形の非一時的機械可読媒体。
【請求項２０】
前記データストアから、前記プラットフォーム専用アプリケーション、前記構成設定、又はその両方にアクセス、修正、又はアクセス及び修正を行うことによって前記プラットフォーム専用アプリケーションを管理する命令を備える、請求項１９に記載の有形の非一時的機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される内容は、産業環境におけるアプリケーションの開発及び展開のためのシステム及び方法に関する。
【背景技術】
【０００２】
産業用自動化及び／又は制御システム等の特定のシステムは、システムの制御及び監視を可能にする能力を含んでもよい。例えば、産業用自動化システムは、後の分析のためのデータを監視するコントローラ、フィールド装置、及びセンサを含んでもよい。これら産業用自動化及び／又は制御システム構成部品のうちの１つ以上によって捕捉されたデータは１つ以上の産業用自動化及び／又は制御システムアプリケーションへの入力として提供されてもよく、これは産業用自動化システムの特定の構成部品を分析するため、産業用自動化システムの健全性を監視するため、プラント性能を分析するため、又はその他のプラント関連運転基準を提供するために、役立つだろう。加えて、又は代わりに、制御システムアプリケーションは、データ入力を使用してもしなくてもよい、１つ以上の論理アルゴリズムを活用してもよい。
【０００３】
多くの状況において、これらの産業用自動化及び／又は制御システムアプリケーションは、特定の産業用自動化及び／又は制御システム向けに高度にカスタマイズされている。更に、これらのアプリケーションは、多数の異なる作者によって開発及び／又は実施される可能性がある。残念ながら、この結果、アプリケーション開発、展開、及び／又は管理の統一性が欠如して、産業用自動化及び／又は制御システムのアプリケーションの組み込み及び／又は管理において更なる複雑さを招く可能性がある。従って、産業用制御システム内のアプリケーションの開発、展開、及び管理を改善することが有益であろう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７６２０９０７号明細書
【発明の概要】
【０００５】
元の請求項に係る発明の範囲と同等の特定の実施形態が、以下に要約される。これらの実施形態は、請求項に係る発明の範囲を限定するように意図されるものではなく、むしろこれらの実施形態は本発明の可能な形態の概要を提供することのみを意図している。実際、本発明は、以下に挙げられる実施形態と類似の又は異なる様々な形態を包含してもよい。
【０００６】
第一の実施形態において、産業用制御システムは、第一フォーマットの機械可読命令を備える、アプリケーションモジュールを含む。命令は、産業用制御システムのプロセスに関する入力、出力、処理、又はこれらのいずれかの組み合わせを指定する。システムは、プラットフォーム専用アプリケーションを作成するプロセッサを有する変換サーバも含む。プラットフォーム専用アプリケーションは、第一フォーマットのアプリケーションモジュールを、産業用制御システムの共通計算プラットフォームによって理解可能な第二フォーマットに変換することによって、作成される。
【０００７】
第二の実施形態において、コンピュータプロセッサを介して、第一フォーマットの第一セットの機械可読命令を備えるアプリケーションモジュールを、第二フォーマットの第二セットの機械可読命令を備えるプラットフォーム専用アプリケーションに変換する方法が、提供される。第二フォーマットは、産業用制御システムの共通計算プラットフォームによって理解可能である。
【０００８】
第三の実施形態において、有形非一時的コンピュータ可読媒体は、電子装置のプロセッサによって実行可能な複数の命令を記憶する。命令は、コンパイル済みコード、並びにコンパイル済みコードに関連付けられた入力及び出力のリストを受信する命令；コンパイル済みコードをプラットフォーム専用アプリケーションに変換する命令であって、プラットフォーム専用アプリケーションは産業用制御システムの共通計算プラットフォームによって解釈可能なフォーマットを備える、命令；及び少なくとも部分的にコンパイル済みコードに関連付けられた入力及び出力に基づいて初期値特性ファイルを作成する命令であって、初期値特性ファイルはプラットフォーム専用アプリケーションの実行のための入力として使用されるように構成されている、命令を含む。
【図面の簡単な説明】
【０００９】
本発明のこれら及びその他の特徴、態様、及び利点は、図面全体にわたって類似の記号が類似の部品を表す添付図面を参照して以下の詳細な説明が読まれると、より良く理解されるだろう。
【図１】一実施形態による、アプリケーション開発及び展開を強化するために先進プラント・アプリケーション・プラットフォームを利用する産業用自動化及び／又は制御システムのブロック図である。
【図２】一実施形態による、図１の先進プラント・アプリケーション・プラットフォームで使用されるアプリケーションを作成するプロセスを示すフローチャートである。
【図３】一実施形態による、図１の先進プラント・アプリケーション・プラットフォームで使用されるアプリケーションを編集するプロセスを示すフローチャートである。
【図４】一実施形態による、図２及び図３に示されるプラットフォーム専用アプリケーションを精製及び展開するプロセスを示す、より詳細なフローチャートである。
【図５】一実施形態による、図４で論じられたプラットフォーム専用アプリケーションの作成及び展開を示す情報フロー図である。
【図６】一実施形態による、プラットフォーム専用アプリケーションの表示及び／又は管理を示す情報フロー図である。
【発明を実施するための形態】
【００１０】
本発明の１つ以上の特定の実施形態が、以下に記載される。これらの実施形態の簡潔な記載を提供することを目指して、実際の実施の全ての特徴が本明細書に記載されるとは限らない。いずれかのエンジニアリング又は設計プロジェクトのような、いずれかこのような実際の実施の開発において、実施ごとに異なってもよい、システム関連及びビジネス関連の制約への準拠等、開発者の特定の目標を達成するために、多くの実施固有の決断がなされなければならないことは、理解されるべきである。又、このような開発努力は複雑で時間がかかるかも知れないが、そうは言っても本開示の恩典を有する当業者にとって、設計、作成、及び製造の規定通りの仕事となることも、理解されるべきである。
【００１１】
本発明の様々な実施形態の要素を紹介するとき、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、及び「ｓａｉｄ」は、１つ以上の要素があることを示すように意図される。用語「ｃｏｍｐｒｉｓｉｎｇ（備える）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、及び「ｈａｖｉｎｇ（有する）」は、包括的であるように意図されており、列挙された要素以外の追加要素があってもよいことを意味する。
【００１２】
本明細書に記載される特定の実施形態において、先進プラント・アプリケーション・プラットフォームは、異なる個人及び／又は組織が産業用自動化及び／又は制御システム内で予測可能なやり方で実行できる統一されたアプリケーションを開発できるようにするために、自動発電システム（例えば、ガス、蒸気、風、又は水タービン、熱回収蒸気発生器（ＨＲＳＧ）、ガス化システム、燃焼システム、発電機、又は類似の自動発電システム）及び自動製造システム（例えば、化学プラント、石油精製所、又は類似の製造システム）等の産業用自動化及び／又は制御システムにおいて使用されてもよい。これらの個人及び／又は組織によって提供されるアプリケーションモジュールを統一されたプラットフォーム理解可能アプリケーションに変換することによって、アプリケーションは不変のやり方で展開及び／又は制御されてもよい。
【００１３】
従って、ここで開示される実施形態は、サードパーティ開発者（例えば、先進プラント・アプリケーション・プラットフォームの製造者と連携していない開発者）によって供給されたアプリケーションモジュールに基づいて、プラットフォーム専用アプリケーションを作成及び展開してもよい。これらのサードパーティ・アプリケーション・モジュールはプラットフォーム専用アプリケーションに変換されるので、これらは先進プラント・アプリケーション・プラットフォーム内の共通ツールを用いて展開及び制御されてもよく、産業用自動化及び／又は制御システム環境内のアプリケーションの開発、ホスティング、及び／又は管理において更なる統一性を創造する。
【００１４】
上記を考慮して、本明細書に開示される技術を組み込んだ自動化及び／又は制御システムを記載することは、有益であろう。従って、図１は、本明細書に開示される先進プラント・アプリケーション・プラットフォーム１１の技術を組み込んだ産業用自動化及び／又は制御システムの例示的実施形態として、システム１０を示す。本明細書に記載される際に、先進プラント・アプリケーション・プラットフォーム１１とは、本明細書に記載される活動を実行するために１つ以上のコンピュータプロセッサに記憶及び／又は実行されるコンピュータ可読命令を指す。現在の実施形態は複数のコンピュータプロセッサ上で実行されるこれらの命令を示すものの、提供された例は実行を個別のコンピュータプロセッサに限定するように意図されるものではないことは、理解されるべきである。例えば、本明細書に記載されるデータ処理ステップの各々は、単一のコンピュータシステムに記憶され、及び／又はそこから実行されることも可能であろう。
【００１５】
図示されるように、システム１０は、システム１０の動作及び性能に関する複数のパラメータを監視するように構成された、１つ以上のセンサ及び／又はフィールド装置１２を含んでもよい。センサ及びフィールド装置は、例えばシステム１０の構成部品の入口及び出口部分にそれぞれ隣接して配置された、例えば入口センサとフィールド装置及び出口センサとフィールド装置を含んでもよい。センサ及びフィールド装置１２は、例えば、周囲温度及び大気圧等の環境条件、並びに例えば排気ガス温度、ロータ速度、エンジン温度、エンジン圧力、ガス温度、エンジン燃料流量、排気流量、振動、回転及び固定構成部品間のクリアランス、圧縮機吐出圧力、汚染（例えば、窒素酸化物、硫黄酸化物、炭素酸化物、及び／又は粒子数）、及びタービン排気圧力等、システム１０（例えば、タービンシステム）の構成部品の動作及び性能に関する複数のエンジンパラメータを、測定してもよい。更に、センサ及びフィールド装置１２は、例えば、弁の位置等のアクチュエータ情報、及び可変幾何形状構成部品（例えば、ガス・タービン・エンジンの吸気口にある入口案内翼）の幾何学的位置を、測定してもよい。複数のセンサ及びフィールド装置１２によって得られた測定結果（すなわち、産業用自動化及び／又は制御システム１０の運転パラメータ）は、センサ及びフィールド装置１２に通信可能に接続されたコントローラ及び／又はサーバ１４に送信されてもよい。
【００１６】
センサ及びフィールド装置１２は、燃焼器１２センサ、排気センサ、吸気センサ、クリアランスセンサ、及び負荷センサを含む、いずれのセンサ及び／又はフィールド装置を含んでもよいことは、理解されるべきである。同様に、Ｆｉｅｌｄｂｕｓ  Ｆｏｕｎｄａｔｉｏｎ、Ｐｒｏｆｉｂｕｓ、及び／又はＨａｒｔのフィールド装置等の「スマート」フィールド装置を含む、いずれのタイプのフィールド装置が使用されてもよい。更に、システム１０は、例えばガスタービン、蒸気タービン、風力タービン、又はハイドロタービン、熱回収蒸気発生器（ＨＲＳＧ）、発電機、燃料スキッド、ガス処理システム、又はその他いずれかの自動発電システム又は部分自動発電システム等の自動発電システムを含む、いずれの産業用自動化及び／又は制御システムアプリケーションであってもよい。その他の産業用自動化システムは、化学プラント、製薬工場、石油精製所、自動化生産ライン、又は類似の自動又は部分的自動製造システム等の自動製造システムを含んでもよい。
【００１７】
コントローラ／サーバ１４は、操作者がフィールド装置１２のための１つ以上のアプリケーションを生成できるようにする機械可読命令を含む、プロセッサベースのコンピュータであってもよい。命令は、有形の非一時的機械可読媒体に記憶されてもよい。いくつかの実施形態において、コントローラ／サーバ１４は、フィールド装置１２のためにコンパイル済みコードを作成するのに有用なテンプレートを、操作者に対して提示してもよい。テンプレートは、操作者がシステム１０の入力及び／又は出力のための特定の入力、出力、及び／又は処理ステップを指定できるようにしてもよい。コントローラ／サーバ１４によって提供されるテンプレートへの操作者の入力に基づいて、コンパイル済みアプリケーションモジュール１６が生成されてもよい。加えて、アプリケーションモジュール１６にかかわる入力及び出力を包含するファイル１８が提供されてもよい。一例において、開発者は、次の２日間にわたって発電所向けの電力出力を予測するアプリケーションを設計したいと望むかも知れず、こうして相応にアプリケーションモジュール１６を設計してもよい。
【００１８】
アプリケーションモジュール１６は、コンパイル済みアプリケーションモジュール１６をプラットフォーム専用アプリケーション２０に変換する変換システム１９（例えば、コンピュータワークステーション及び／又はサーバ）に提供されてもよい。例えば、いくつかの実施形態において、コンパイル済みアプリケーションモジュール１６（例えば、動的リンクライブラリ（ＤＬＬ）又はその他の動的リンカの形態の）が変換システム１９に提供されてもよい。変換システム１９上にある技術（例えば、有形の非一時的機械可読媒体に記憶されたＪａｖａ(登録商標）ネイティブインターフェース（ＪＮＩ）及び／又はＪａｖａ(登録商標）ネイティブアクセス（ＪＮＡ））は、コンパイル済みアプリケーションモジュール１６との実行インターフェースを提供するために、使用されてもよい。例えば、これらの技術は、初期化、開始、停止、及び一時停止機能等の、ただしこれらに限定されないインターフェース機能を提供する、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を可能にするだろう。すると変換システム１９はプラットフォーム専用アプリケーション２０を生成してもよく、これはコンパイル済みアプリケーションモジュール１６内で定義される機能を実行するためにＡＰＩを利用する。
【００１９】
プラットフォーム専用アプリケーション２０は、システム１０によって理解可能な（例えば先進プラント・アプリケーション・プラットフォーム１１によって理解可能な）アプリケーションであってもよい。例えば、アプリケーション２０は、有形の非一時的機械可読媒体に記憶された、Ｊａｖａ（登録商標）  ａｒｃｈｉｖｅ（＊．ｊａｒ）ファイル、オペレーティングシステム実行可能（＊．ｅｘｅ）ファイル等であってもよい。加えて、アプリケーションモジュール１６が変換されると、ファイル１８は構成ツール２４に提供されてもよい。具体的には、ファイル１８はアプリケーション構成ツール２６に提供されてもよい。アプリケーション構成ツール２６は初期値特性ファイル２２を生成してもよく、これはプラットフォーム専用アプリケーション２０に関連する入力及び／又は出力を定義する。初期値特性ファイル２２は変換システム１９に提供されてもよく、これはプラットフォーム専用アプリケーション２０に適切な初期値を埋め込んでもよい。以下により詳細に論じられるように、アプリケーション構成ツール２６は又、アプリケーション２０がシステム１０内で展開されたことをプラットフォーム１１が認識するように、アプリケーション１６又は２０への参照及び／又は初期値ファイル２２からの初期値を軽量データベース等のデータリポジトリに記憶させてもよい。
【００２０】
上記で論じられたように、プラットフォーム専用アプリケーション２０はプラットフォーム１１によって理解可能である。従って、プラットフォーム専用アプリケーション２０はプラットフォーム１１向けに特別に設計されているので、プラットフォーム１１は、フィールド装置１２からの生の入力及び／又は出力を取得及び／又は処理するためにプラットフォーム専用アプリケーション２０を実行してもよい。例えば、以下により詳細に論じられるように、プラットフォーム１１は、プラットフォーム１１に含まれるサービス・ミックス・サーバ２８にプラットフォーム専用アプリケーション２０を展開してもよい。サービス・ミックス・サーバ２８は、実データ３０を取得及び／又は処理するためにプラットフォーム専用アプリケーション２０を実行するためのコンピュータ可読命令を含んでもよい。以下により詳細に論じられるように、サービス・ミックス・サーバ２８は、プラットフォーム１１の構成ツール２４に実データ３０を提供してもよい。例えば、構成ツール２４は、アプリケーション１６及び／又は２０の全てのマッピング及び／又は構成された変数の生の値を表示ツール３２の操作者に対して表示できるようになっている、表示ツール３２を含んでもよい。これらの値はいずれのフォーマットでユーザに提供されてもよいが、いくつかの実施形態においては、可変グリッドが表示ツール３２によって表示されてもよい。加えて、構成ツール２４はアプリケーション管理ツール３４を含んでもよい。以下により詳細に論じられるように、アプリケーション管理ツール３４は、展開されたアプリケーション２０を見るため、アプリケーション２０をアンインストールするため、アプリケーション２０の実行を開始及び／又は停止するため、及び／又はアプリケーション２０の健全性を監視するため等に、有用であろう。プラットフォーム１１は、アプリケーション識別情報及び／又は構成データ３６をアプリケーション管理ツール３４に提供して、アプリケーション２０の管理を可能にしてもよい。
【００２１】
ここでプラットフォーム１１を備える産業用自動化及び／又は制御システム１０の概要が提供されたので、ここからの議論はアプリケーション１６を作成及び／又は編集するためのより詳細なプロセスを対象とする。図２及び図３は、アプリケーション１６によって利用されるデータに関してプラットフォーム１１において実行されてもよいデータセキュリティを示すために提供されている。上記の機能と同様に、以下の機能もまた、有形の非一時的機械可読媒体に記憶された、機械可読命令として実行されてもよい。図２は、アプリケーションの作成中のデータアクセス許可を示し、図３はアプリケーションの修正中のデータアクセス許可を示す。
【００２２】
図２は、図１の先進プラント・アプリケーション・プラットフォームで使用されるアプリケーションを作成するためのプロセス５０の実施形態を示すフローチャートである。まず、アプリケーションを作成するための要求が受信される（ブロック５２）。例えば、要求は、コンピュータからのユーザ入力に基づいて受信されることが可能であろう。次に、ユーザの認証情報に基づいて、ユーザ許可が決定される（判定ブロック５４）。例えば、図１の産業用制御及び／又は自動化システム１０内のアプリケーションを作成及び／又はこれにアクセスするときに、特定のユーザ及び／又は実体（例えば、コンピュータ、サーバ等）は、独自仕様データを使用できるようになっていてもいなくてもよい。独自仕様データは、特定の実体又は組織が少なくとも１人の個人又は人々の集団から秘密にしておきたい、いずれのデータであってもよい。例えば、発電所予測アプリケーションに関して上述された例において、アプリケーションで使用される特定の定数が、独自仕様であってもなくてもよい。例えば、予測アプリケーションは、アプリケーション向けのエネルギー変換データを提供する電力出力定数を利用するかも知れない。独自仕様データアクセスがユーザに対して許可されれば、独自及び非独自仕様データ（例えば、全てのユーザによってアクセスされてよいデータ）の両方が、アプリケーション入力及び／又は出力に含まれるだろう（ブロック５６）。ユーザ及び／又は実体が独自仕様データアクセスを許可されなければ、非独自仕様データのみがアプリケーション入力及び／又は出力に含まれる（ブロック５８）。利用可能なデータ（例えば、ブロック５６又はブロック５８から）に基づいて、図１のアプリケーション１６が生成される（ブロック６０）。生成された図１のアプリケーション１６は、データベース又はその他の記憶装置に保存されてもよい（ブロック６２）。例えば、アプリケーション名、入力及び／又は出力等が軽量データベースに保存されてもよく、これは新たに生成されたアプリケーション１６への参照を提供する。
【００２３】
アプリケーション１６が作成された後（例えば、図２のプロセス５０を通じて）、アプリケーション１６を編集することは有用であろう。図３は、図１の先進プラント・アプリケーション・プラットフォームで使用されるアプリケーション１６を編集するためのプロセス８０の実施形態を示すフローチャートである。アプリケーション１６又は２０を編集するというユーザ要求又はその他の入力された要求に基づいて、アプリケーション１６又は２０は、図２のブロック６２に従ってアプリケーション１６又は２０が記憶されたデータ記憶装置から読み出される（ブロック８２）。ブロック８２に記されるように、アプリケーションの構成データの視覚的表示は、構成ツール（例えば、図１のディスプレイ３２）を介して提供される。図１のプラットフォーム１１へのユーザ入力及び／又はその他のタイプの入力に基づいて、アプリケーションを編集する要求が受信されてもよい（ブロック８４）。要求に関連付けられたユーザ及び／又は実体が独自仕様データにアクセスする許可を受けるか否かを判断するために、セキュリティ問い合わせが行われる（判定ブロック８６）。ユーザ及び／又は実体が許可された場合、独自仕様データ及び非独自仕様データの両方が、アプリケーションの入力及び／又は出力で使用されてよい（ブロック８７）。ユーザ及び／又は実体が許可されなければ、非独自仕様データのみがアプリケーション１６又は２０の入力及び／又は出力に利用可能である（ブロック８８）。アプリケーション１６又は２０はユーザ及び／又は実体の編集要求に基づいて編集され（ブロック９０）、編集されたアプリケーションはデータ記憶装置に保存される（ブロック９２）。
【００２４】
特定の実施形態において、独自仕様データは、非独自仕様データとは異なるやり方で記憶されてもよい。例えば、いくつかの実施形態において独自仕様データは非独自仕様データとは異なるデータ記憶装置に記憶されてもよい。加えて、いくつかの実施形態では、独自仕様データへのアクセス権が制限されるので、独自仕様データは暗号化されたデータ入力を用いて記憶され、こうして独自仕様データへのアクセスを制限してもよい。対照的に、非独自仕様データへのアクセス制限が存在しないときには、データは通常テキスト入力としてデータ記憶装置に記憶されてもよい。
【００２５】
ここで独自仕様データアクセスに関する潜在的セキュリティ手段を論じたので、ここからの議論はプラットフォーム専用アプリケーションの生成及び展開のより詳細な議論を対象とする。図４は、プラットフォーム専用アプリケーション（例えば、図１のアプリケーション２０）を生成及び展開するためのコンピュータ実施プロセス１２０の実施形態を示すフローチャートである。先進プラントアプリケーション層プラットフォーム１１は、コンパイル済みコード、コンパイル済みコードに期待される入力及び／又は出力を受信してもよい（ブロック１２２）。例えば、いくつかの実施形態において、プラットフォーム１１によってアプリケーション開発者にアプリケーションテンプレートが提供されてもよい。テンプレートは、アプリケーション２０が産業用自動化及び／又は制御システム向けにどのように形成されるべきかのモデルの役割を果たしてもよい。例えば、テンプレートは、アプリケーション開発者のためにアプリケーション２０のフォーマットを定義するために使用される、標準的な実行不可能形式ファイルであってもよい。テンプレートは、入力及び／又は出力パラメータ並びにアプリケーションで使用される処理命令を提供するために、ユーザに入力を提供してもよい。テンプレートは、アプリケーションでの実施に有用な特定の所定機能を含んでもよい。例えば、テンプレートは、初期化、開始、停止、及び／又は一時停止等の、ただしこれらに限定されない機能を含む、１組のアプリケーション・プログラミング・インターフェース（ＡＰＩ）を包含してもよい。いくつかの実施形態において、テンプレートは図１のコントローラ／サーバ１４によって提供されてもよい。ポピュレート済みテンプレート及び／又はアプリケーション開発者のその他の開発活動に基づいて、アプリケーションの入力及び／又は出力がわかるようになってもよい。入力／出力ファイル（例えば、図１のＩ／Ｏファイル１８）は、周知の入力及び／又は出力に基づいて作成されてもよい。入力／出力ファイルは、アプリケーションに関する全ての入力及び出力を包含する。プラットフォーム１１は、コンパイル済みコードがＡＰＩ機能の組み込みに基づいて変換されてよいか否か判断してもよい。特定の実施形態において、コンパイル済みコードがＡＰＩ機能を組み込んでいないとき、プラットフォーム専用アプリケーションは生成されない。
【００２６】
Ｉ／Ｏファイルは、アプリケーションのためのデータパラメータを含むプラットフォーム専用初期値特性ファイルを作成するために使用されてもよい。初期値特性ファイルは、プラットフォーム専用アプリケーションの実行を容易にするために、プラットフォーム専用アプリケーション（例えば、アプリケーション２０）向けの入力として提供されてもよいように、フォーマットされる。
【００２７】
初期値特性ファイルが一旦生成されると、ポピュレート済みテンプレートからの結果的なアプリケーションモジュール（例えば、アプリケーションモジュール１６）が、プラットフォーム専用アプリケーションを作成するために初期値特性ファイルと併せて使用されてもよい（ブロック１２６）。例えば、上記で論じられたように、いくつかの実施形態において、コンパイル済みアプリケーションモジュール（例えば、動的リンクライブラリ（ＤＬＬ）又はその他の動的リンカの形態の）が、変換システム（例えば、変換システム１９）に提供されてもよい。変換システム上にある技術（例えば、Ｊａｖａ（登録商標）ネイティブインターフェース（ＪＮＩ）及び／又はＪａｖａ（登録商標）ネイティブアクセス（ＪＮＡ））は、コンパイル済みアプリケーションモジュール１６との実行インターフェースを提供するために、使用されてもよい。例えば、これらの技術は、初期化、開始、停止、及び一時停止機能等の、ただしこれらに限定されないインターフェース機能を提供する、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を可能にするだろう。すると変換システムはプラットフォーム専用アプリケーションを生成してもよく、これはコンパイル済みアプリケーションモジュール内で定義される機能を実行するためにＡＰＩを利用する。
【００２８】
プラットフォーム専用アプリケーションは、先進プラントアプリケーション層プラットフォーム（例えば、図１のプラットフォーム１１）によって理解可能、実行可能、及び／又は制御可能なアプリケーションである。いくつかの実施形態において、プラットフォーム専用アプリケーション２０は、オペレーティングシステム実行可能（＊．ｅｘｅ）ファイル又はＪａｖａ（登録商標）  ａｒｃｈｉｖｅ（＊．ｊａｒ）ファイルであってもよい。
【００２９】
一旦作成されると、プラットフォーム専用アプリケーション２０は、先進プラントアプリケーション層プラットフォームに（例えば、アプリケーション２０用のホストコンピュータに）自動的に展開される（ブロック１２８）。例えば、アプリケーション２０は、アプリケーション２０が解釈、実行、及び／又は制御されてもよい、実行サーバ（例えば、図１のサービス・ミックス・サーバ２８）に提供されてもよい。加えて、上記で論じられたように、システムのデータストアは、アプリケーションの参照データを記憶してもよい。データストアは、データストアを通じてデータアクセス及び／又は操作を可能にすることによって、プラットフォームを通じてアプリケーション２０の適切な管理を可能にしてもよい。
【００３０】
図５は、一実施形態による、図４で論じられたプラットフォーム専用アプリケーションを作成及び展開するプロセス１２０の情報フロー図１４０を示す。上記で論じられたように、アプリケーションモジュール１６は、例えば変換サーバ１９のプロセッサによって実行されるコンピュータ実施命令によって、プラットフォーム専用アプリケーション２０に変換１４２される。一実施形態において、変換１４２は、プラットフォームと互換性のあるアプリケーション２０の中にアプリケーションモジュール１６を「ラッピング」することによって、実現されてもよい。例えば、ラッパライブラリは、アプリケーションモジュール１６をプラットフォーム専用アプリケーション２０に変換するために使用されてもよいサブルーチン及び／又はクラスを提供してもよい。
【００３１】
アプリケーションモジュール１６の入力及び出力を詳述する入力／出力ファイル１８が、構成ツール２４に提供される。より具体的には、アプリケーション構成ツール２６は、機能ブロック１４４によって示されるように、新しいアプリケーションを作成するためにファイル１８を解釈する。新しいアプリケーションの作成は、データストア１４６にアプリケーションを保存すること、及び機能ブロック１４８によって示されるように、初期値特性ファイル（例えば、図１のファイル２２）を生成することを含む。一般的に、データストア１４６は、いずれのタイプのデータリポジトリであってもよい。例えば、データストア１４６は、データベース又はその他のタイプのデータサーバであってもよい。加えて、特定の実施形態において、データストア１４６は、図１のサービス・ミックス・サーバ２８、変換サーバ１１、及び／又は構成ツール２４サーバ等、その他のプラットフォーム構成部品のうちの１つ以上として、同じ処理装置（例えば、コンピュータ、サーバ、又は類似の処理又は計算装置）上にあってもよい。
【００３２】
上記で論じられたように、初期値ファイルは変換されたプラットフォーム専用アプリケーション２０のための入力として提供されてもよく、これはアプリケーション２０の実行及び／又は管理を容易にするだろう。初期値特性ファイル２２に包含されるデータはプラットフォーム専用アプリケーション２０に埋め込まれてもよく、プラットフォーム専用アプリケーション２０は展開１５０されてもよい。例えば、プラットフォーム専用アプリケーション２０はサービス・ミックス・サーバ２８に展開され、そこで実行及び／又は管理されてもよい。
【００３３】
図６は、プラットフォーム専用アプリケーション２０を表示及び／又は管理するためのプロセスの実施形態を示す情報フロー図１７０である。上述のように、サービス・ミックス・サーバ２８は、展開済みアプリケーション１５０の実行及び／又は管理を可能にしてもよい。展開済みアプリケーション１５０がサービス・ミックス・サーバ２８内で起動している間に、サービス・ミックス・サーバ２８の運用モデル１７２は展開済みアプリケーション１５０のための生の入力及び／又は出力を取得してもよい。例えば、産業用制御システム（例えば、図１のシステム１０）は、プロセス制御（ＯＰＣ）統一アーキテクチャ（ＵＡ）プロトコルのためのオブジェクトのリンクと埋め込み（ＯＬＥ）に従ってサービス・ミックス・サーバ２８と通信する、１つ以上の装置（例えば、図１の装置１２）を含んでもよい。ＯＰＣ  ＵＡは、ＯＰＣ協議会によって指定された、産業用自動化及び／又は制御システム１０（例えば、自動発電システム及び自動製造システム）で使用される、製造者独立通信のためのプロトコルである。例えば、産業用自動化及び／又は制御システム１０は、一般的に産業用自動化システム１０の運転パラメータに関する情報を記憶する、ＯＰＣ  ＵＡサーバ１７４を含んでもよい。加えて、ＯＰＣ  ＵＡサーバ１７４は、ネットワーク通信を通じて、この情報を１つ以上のＯＰＣクライアント１７６が利用できるようにしてもよい。サービス・ミックス・サーバ２８は生の値を受け取り、更に展開済みアプリケーション１５０からの値を産業用自動化及び／又は制御システム１０のその他の構成部品に提供することも可能なので、サービス・ミックス・サーバ２８は、ＯＰＣ  ＵＡサーバ１７４及び／又はＯＰＣクライアント１７６の両方を含んでもよい。ＯＰＣ  ＵＡサーバ１７４及びＯＰＣクライアント１７６からのデータは、構成ツール２４に提供されてもよい。具体的には、展開済みアプリケーション１５０による使用のために指定され、マッピングされ、及び／又はその他の生の値が表示ツール３２に提供されてもよく、これによって（例えばグラフィカル・ユーザ・インターフェース（ＧＵＩ）を介して）アプリケーション２０の出力をユーザに対して見えるようにしてもよい。表示ツール３２によって表示されたデータは、例えば産業用自動化及び／又は制御システム内のプロセスを監視、デバッグ、及び／又は分析するために、有用であろう。
【００３４】
束構成サービス１７８は、実行されたときに、全ての展開済みアプリケーション１５０の名前及びその構成情報（例えば、入力及び／又は出力又はデータストア１４６に記憶されたその他の情報）を収集する、コンピュータ可読命令を含んでもよい。例えば、束構成サービス１７８は、この情報をデータストア１４６から、又は展開済みアプリケーション１５０によって提供された情報から、取得してもよい。この情報はアプリケーション管理ツール３４に提供されてもよく、これは展開済みアプリケーション１５０の管理を可能にするだろう。
【００３５】
アプリケーション管理ツール３４は、展開済みアプリケーション１５０に多くの管理機能を提供してもよい。例えば、アプリケーション管理ツール３４は、先進プラントアプリケーション層プラットフォーム１１内の展開済みアプリケーション１５０の全てを見るための機能１８０を含んでもよい。ユーザがこの機能１８０にアクセスすると、機能は例えばデータストア１４６から展開済みアプリケーション名を取得するコンピュータ可読命令を実行してもよい。この機能１８０は、先進プラントアプリケーション層プラットフォーム内の展開済みアプリケーション１５０の全てをユーザに知らせ続けることができる。
【００３６】
展開及び／又はアンインストール機能１８２も、アプリケーション管理ツール３４内に提供されてよい。例えば、時折、ユーザは新しいアプリケーション２０をプラットフォーム１１に追加すること、及び／又は（例えば、空間利用及び／又は処理力利用を低減するために）プラットフォームからアプリケーション２０を削除することを望むかも知れない。展開及び／又はアンインストール機能１８２は、実行されたときに、展開済みアプリケーション１５０の追加及び／又は削除を可能にする、コンピュータ可読命令を含んでもよい。例えば、アプリケーション２０を追加するために、ユーザは図１の議論で述べられたテンプレートに値を入力してもよい。展開機能１８２は、アプリケーション構成データ（例えば、入力及び／又は出力並びにアプリケーション名）がデータストア１４６に記憶されることを確実にするだろう。更に、この機能１８２は、プラットフォーム専用アプリケーション（例えば、図５のプラットフォーム専用アプリケーション２０）が実行のためにサービス・ミックス・サーバ２８に提供されることを、確実にするだろう。従って、アプリケーション２０は、アプリケーション２０が異なる開発者によって提供されているにもかかわらず、統一されたやり方で展開されるだろう。
【００３７】
展開及び／又はアンインストール機能１８２は、展開済みアプリケーション１５０をアンインストールするためにも使用されてよい。例えば、展開済みアプリケーションをアンインストールするためのユーザ要求を受信すると、機能１８２はサービス・ミックス・サーバ２８から展開済みアプリケーション１５０を削除し、及び／又は展開済みアプリケーション１５０にかかわるいずれの構成又は参照データもデータストア１４６から削除してよい。機能１８２のアンインストール特性を使用することによって、アプリケーション開発の統一性にかかわらず、ユーザは比較的容易にプラットフォーム１１からアプリケーション２０を削除することができる。
【００３８】
いくつかの実施形態において、アプリケーション管理ツール３４は、展開済みアプリケーション１５０を開始及び／又は停止するための機能１８４を含んでもよい。例えば、先進プラントアプリケーション層プラットフォーム１１のユーザは、時折、停止した展開済みアプリケーション１５０を開始したい、又は起動している展開済みアプリケーション１５０を停止したいと望むかも知れない。この機能１８４は、例えばリソース（例えば、サーバメモリ）をより効率的に利用するため、及び／又はプラットフォーム１１内でトラブルシューティングするために、有用であろう。アプリケーションモジュールの各々（例えば、図１のモジュール１６）はプラットフォーム専用アプリケーション（例えば、アプリケーション２０）に変換されるので、プラットフォーム１１は、共通セットのコンピュータ可読命令を用いて、展開済みアプリケーション１５０を開始及び／又は停止できるようになっている。従って、異なる開発者がアプリケーションモジュール１６に導入した可能性のあるいかなるばらつきにもかかわらず、プラットフォーム１１は実行状態（例えば、実行の開始及び／又は停止）を統一されたやり方で制御することができる。
【００３９】
更に、アプリケーションモジュール１６はプラットフォーム専用アプリケーション２０に変換されるので、プラットフォーム１１は、アプリケーションの入力及び／又は出力を理解することができる。従って、アプリケーションモジュール１６が元々どのように開発されたかにかかわらず、プラットフォーム１１は、アプリケーションの健全性を監視するための機能１８６を使用してもよい。例えば、機能１８６は、特定の範囲又は閾値を超えるデータを見つけるために、プラットフォーム専用アプリケーション２０の入力及び／又は出力データを監視してもよい。これはアプリケーション２０の乏しい健全性を示すかも知れない。統一されていない開発者による開発にもかかわらず、機能１８６はアプリケーション２０に関するいかなる異常もユーザが理解できるようにし、これは産業用自動化及び／又は制御システム内の実施の改善をもたらすだろう。
【００４０】
開示された実施形態の技術的効果は、サードパーティアプリケーションを、産業用制御及び／又は処理システムの共通プラットフォームによって理解可能なアプリケーションに変換することによって、産業用自動化及び／又は制御システムアプリケーションの統一された作成、展開、及び管理を可能にすることを含む。
【００４１】
この明細書は、最良の形態を含む本発明を開示するため、及びいずれかの装置又はシステムの作成及び使用並びにいずれか組み込まれた方法の実行を含む、当業者が本発明を実践できるようにするために、例を使用している。本発明の特許範囲は請求項によって定義され、当業者によって想起されるその他の例を含んでもよい。このようなその他の例は、請求項の文言と相違のない構造要素を有する場合、又は請求項の文言とのわずかな相違しかない同等の構造的要素を含む場合に、請求項の範囲に含まれると見なされる。
【符号の説明】
【００４２】
１２  フィールド装置
１４  コントローラ／サーバ
１６  アプリケーションモジュール
１８  Ｉ／Ｏファイル
１９  変換サーバ
２０  プラットフォーム専用アプリケーション
２２  初期値ファイル
２４  構成ツール
２６  アプリケーション構成
２８  サービス・ミックス・サーバ
３０  実データ
３２  ディスプレイ
３４  アプリケーションマネージャ
３６  アプリ名及び構成
５２  アプリケーションを作成する要求を受信
５４  ユーザは独自仕様データを見る権限があるか？
５６  独自仕様及び非独自仕様データの両方を含む
５８  非独自仕様データのみを含む
６０  アプリケーションを生成
６２  アプリケーションをデータベースに保存
８２  データベースからアプリケーションを読み出して構成ツールに視覚的通知を提供
８４  アプリケーションを編集する要求を受信
８６  ユーザは独自仕様データを見る権限があるか？
８７  独自仕様及び非独自仕様データの両方を見る
８８  非独自仕様データのみを見る
９０  編集に基づいてアプリケーションを生成
９２  アプリケーション変更をデータベースに保存
１２２  コンパイル済みコード及び入力／出力を受信
１２４  プラットフォーム専用初期値特性ファイルを生成
１２６  コンパイル済みコード及び初期値特性ファイルを用いてプラットフォーム専用アプリケーションを作成
１２８  プラットフォーム専用アプリケーションを自動的に展開
１４４  新しいアプリケーションを作成
１４６  アプリを保存（展開済みアプリケーション）
１４８  初期値特性ファイルを生成
１５０  展開済みアプリケーション
１７２  運用モデル
１７４、１７６  ＯＰＣ  ＵＡサーバ／クライアント
１７８  束構成サービス
１８０  展開済みアプリを見る
１８２  アプリを展開／アンインストール
１８４  アプリを開始／停止
１８６  アプリ健全性を監視
【図１】
2014238830.tif 000003
【図２】
2014238830.tif 000004
【図３】
2014238830.tif 000005
【図４】
2014238830.tif 000006
【図５】
2014238830.tif 000007
【図６】
2014238830.tif 000008