(57)【要約】  ＰＬＣを、それをプログラムするのに使用される装置に物理的に接続することを必要とせずに、ＰＬＣのプログラミングを容易にする、システムおよび関連方法。システムは、データベースと、１つまたは複数のコンピュータプログラムにおいて具体化される機能群と、を含む。これらの機能により、ユーザーは、プロセスワークシートの産業プロセス情報を、ＰＬＣプログラミング言語に変換することができる。このシステムにより、ユーザーは、制御される産業プロセスと関連付けられる試験文書を作成することもできる。この方法により、確立された新たなパラメータによる、ソフトウェア変更制御のための頑丈な構造化ワークフローが可能になり、プロセス制御のあらゆる変更が、このシステムにより取り込まれる。
2015525921.tif 000002
【特許請求の範囲】
【請求項１】
産業プロセスを制御するためにＰＬＣをプログラムするためのコンピュータ実行システムであって、前記コンピュータ実行システムは、計算装置が機能を実行することを可能にするために命令を実施するプログラミングを含み、前記機能は、
ａ）前記計算装置に連結されたデータベースに情報を入力する情報入力機能であって、前記情報は、前記産業プロセスの所望の動作条件および選択可能な機器を含む、情報入力機能と、
ｂ）入力情報をワークシートフォーマットに翻訳し、前記ワークシートの情報内容を、前記ＰＬＣのプログラミング要件と適合するプログラミング言語に変換する、ワークシート情報トランスレーター機能と、
ｃ）翻訳された前記入力情報により前記産業プロセスの制御命令を実行するように前記ＰＬＣをプログラムするＰＬＣプログラミング機能と、
を含む、コンピュータ実行システム。
【請求項２】
請求項１に記載のコンピュータ実行システムにおいて、
前記ＰＬＣにより制御される前記産業プロセスの動作条件に対応する、前記ＰＬＣまたは前記産業プロセスと関連付けられる他の装置から受信した情報を表わす、１つまたは複数の文書を作成する、試験文書出力機能をさらに含む、コンピュータ実行システム。
【請求項３】
請求項１に記載のコンピュータ実行システムにおいて、
前記データベースに入力された前記情報に基づいて制御されるべき前記産業プロセスを表わす１つまたは複数のワークシートを作成する、ワークシート作成器機能をさらに含む、コンピュータ実行システム。
【請求項４】
請求項３に記載のコンピュータ実行システムにおいて、
前記入力情報は、操作プロセスの入力および出力、測定単位、タグ、プロセスモーター、機器モジュール、ならびにバルブを含む、コンピュータ実行システム。
【請求項５】
請求項１に記載のコンピュータ実行システムにおいて、
データベースおよびワークシートへの前記情報入力機能は、前記データベースおよびワークシートの前記情報内容を、前記ＰＬＣのプログラミング要件と適合するプログラミング言語に翻訳および変換するトランスレーター機能に続き、
前記コンピュータシステムが前記ＰＬＣに接続されていない間に、これらの動作を実行する、コンピュータ実行システム。
【請求項６】
産業プロセスを制御するためにＰＬＣをプログラムする方法において、
ａ）前記産業プロセスの所望の動作条件および選択可能な機器を含む情報をデータベースに入力する工程と、
ｂ）入力情報をワークシートフォーマットに翻訳し、前記ワークシートの情報内容を、前記ＰＬＣのプログラミング要件と適合するプログラミング言語に変換する工程と、
ｃ）翻訳された前記入力情報により前記産業プロセスの制御命令を実行するために前記ＰＬＣをプログラムする工程と、
を含む、方法。
【請求項７】
請求項６に記載の方法において、
前記ＰＬＣにより制御される前記産業プロセスの動作条件に対応する、前記ＰＬＣまたは前記産業プロセスと関連付けられる他の装置から受信した情報を表わす、１つまたは複数の文書を作成する工程をさらに含む、方法。
【請求項８】
請求項６に記載の方法において、
前記データベースに入力された前記情報に基づいて制御されるべき前記産業プロセスを表わす１つまたは複数のワークシートを作成する工程をさらに含む、方法。
【請求項９】
請求項８に記載の方法において、
前記入力情報は、操作プロセスの入力および出力、測定単位、タグ、プロセスモーター、機器モジュール、ならびにバルブを含む、方法。
【請求項１０】
請求項６に記載の方法において、
翻訳する前記工程およびプログラムする前記工程は、前記ＰＬＣが前記産業プロセスと関連付けられるコンピュータシステムに接続されていない間に実行される、方法。
【発明の詳細な説明】
【開示の内容】
【０００１】
〔発明の背景〕
１．発明の分野
本発明は、プログラマブルロジックコントローラのプログラミングに関する。さらに具体的には、本発明は、産業プロセスと関連付けられるプログラマブルロジックコントローラをプログラムするためのシステムおよび方法に関する。
【０００２】
２．先行技術の説明
プログラマブルロジックコントローラ（ＰＬＣ）は、多くの産業分野で広範囲に使用される。産業プロセスの世界では、ＰＬＣは、特定のプロセス機能を実行するため機器の動作を制御するのに使用される。ＰＬＣはまた、機能を監視し、ＰＬＣが調節および監視するプロセス操作に関連する情報を報告するのにも使用される。本質的には、ＰＬＣは、複雑なプロセスの有効な制御および監視を可能にするため、ソフトウェアならびに現実世界の入力および出力（real world inputs and outputs）でプログラムされた、計算装置（computing devices）である。このソフトウェアは、ＰＬＣにより他の装置に送信される命令を具体化し、かつ／または、他の装置から受信される情報を操作する。
【０００３】
ＰＬＣのソフトウェアにおいて具体化される命令は、典型的には、２つの異なるタイプの人々により確立される。最初に、プロセスエンジニアが、産業プロセスと関連付けられた運用設計をレイアウトする。そのレイアウトは、流れ図と同様であるが、コンピュータプログラムに関連する項目を含まない。したがって、ＰＬＣプログラミング言語を特に理解しているソフトウェアエンジニアが、プロセスエンジニアにより供給された運用設計を実行するよう、そのＰＬＣまたは複数のＰＬＣをプログラムするためにコンピュータコーディングを生成する。
【０００４】
プロセスエンジニアがコンピュータプログラミング工程を実行する十分な能力を有することは、一般的でない。ソフトウェアエンジニアが運用設計特徴を生成する十分な能力を有することも、一般的でない。したがって、産業プロセスを実行するためのＰＬＣのプログラミングには、２種類の高度な技能を持つ人々が必要となる。産業プロセスの感知および制御操作の開発は、これらの専門的スキルの必要性を考慮すると、非常に高価になり得る。さらに、このようなスキルを持つ人を見つけるのは、特に困難な場合がある。
【０００５】
異なる２種類のエンジニアの特殊なスキルに対する必要性は、産業プロセスのためのＰＬＣプログラミングの１つの制約である。別の制約は、製造業者のＰＬＣについて特別なプログラミング言語を有する必要性である。これにより、各製造業者のＰＬＣを取得せずに複数のＰＬＣに使用され得る一般的なプログラミングを作り出すことが、さらに困難になる。さらに、これにより、プログラミングツールに物理的に接続するため運用からＰＬＣを外すことを必要とせずに、運用されてきたＰＬＣに対するプログラム済み命令を修正または改変することが、さらに困難となる。
【０００６】
さらに、ＰＬＣプログラミングと関連するライフサイクルコストのかなりの部分が、試験文書（test documents）を正確に作成し、必要な試験を行って、プログラムが適切に機能していることを確かめる必要性である。加えて、ＰＬＣプログラムおよび関連するプロセスシステムの有効な耐用年数の間、システムまたは構成要素は、周期的な変更を必要とする。初期のＰＬＣプログラムと同様に、これらの将来的な変更には、プログラムおよびプロセスが適切に機能していることを確かめるために、正確な試験文書の作成と、必要な試験の実行が必要である。ライフサイクルコストのかなりの部分は、もともとＰＬＣプログラミング（またはその後の早期のソフトウェア改訂）に関与したプロセスエンジニアリングおよびＰＬＣプログラミングリソースが利用できないことである。
【０００７】
産業プロセスのためにＰＬＣをプログラムするのに必要な工程を実行することは、ますます高価になってきている。具体的には、比較的小規模の組織では、かなりの経済的および人的資源なしで、このような努力を遂行することは困難となり得る。その結果、最新の大きな組織を除いては、そのようなプロセス機能を遂行することはだんだんと困難になっている。さまざまなプロセス操作においてＰＬＣプログラミング機能を実行するためのコストおよび専用資源を減らす構成を有することが好ましい。プロセスの目的および命令の、プログラミング上の遵守の効果的な分析を可能にする構成を有することも好ましい。
【０００８】
必要なものは、プロセス操作のためにＰＬＣプログラミングを実行するためのシステムおよび関連方法である。このようなシステムおよび方法は、ＰＬＣにプログラムをダウンロードすることが必要となるまで、ＰＬＣをＰＬＣプログラミングツールに物理的に接続することを必要としない。さらに、必要とされるものは、費用効率の良い方法で、かつ、プログラミングが実行されることを望む組織のサイズに関係なく、また特定のタイプのＰＬＣと無関係に、熟練したプロセスエンジニアおよびＰＬＣプログラマを用いてＰＬＣプログラミングを実行するためのシステムおよび関連方法である。同じく必要とされるものは、プロセス開発が起こる場所から離れて使用および実行され得るシステムおよび関連プロセスである。
【０００９】
〔発明の概要〕
本発明の目的は、ＰＬＣをＰＬＣプログラミングツールに物理的に接続することを必要とせずに、プロセス操作のためにＰＬＣプログラミングを実行するためのシステムおよび関連方法を提供することである。ＰＬＣプログラミング能力を必要とする組織のサイズと関係なく、またプログラムされるべきＰＬＣのタイプと無関係に、費用効率の良い方法で、熟練したプロセスエンジニアおよびＰＬＣプログラマを用いてＰＬＣプログラミングを実行するためのシステムおよび関連方法を提供することも、本発明の目的である。さらに、プロセス開発が起こる場所から離れて使用および実行され得るシステムおよび関連プロセスを提供することが、本発明の目的である。
【００１０】
これらの目的および他の目的は、必要とされるまで、プログラムされるべきＰＬＣと、システムの一部として使用されるプログラミングツールを接続する必要なく、操作プロセス命令をさまざまなＰＬＣのためのＰＬＣプログラミングに翻訳するコンピュータベースのシステムである、本発明により達成される。このシステムおよび方法により、プロセスワークシートの形態および内容におけるコンプライアンス制御および保証、そのようなワークシートに含まれる情報の、１つまたは複数の選択可能なＰＬＣのプログラミング言語での一連の命令への翻訳、ならびにＰＬＣの操作が可能となる。システムは、ローカルに、または遠隔的にアクセスされて、ＰＬＣプログラミング工程を行うために実行される工程を行うことができる。ユーザーは、このシステムを使用して直接プログラミング工程を行うことができる。あるいは、ＰＬＣプログラミングは、プログラミングサービスとして別の当事者により実行されてもよい。システムのメンテナンスおよび更新は、単一のエンティティーにより、または複数のエンティティーにより、実行されることができる。
【００１１】
システムは、計算装置、ＰＬＣプログラミングインターフェースツール、操作プロセスと関連付けられる情報を入れるためのデータベース、ＰＬＣ特徴部および／またはＰＬＣプログラミング情報を含む。方法は、操作プロセスワークシート情報を有効にする目的で第１のインターフェースを確立する工程と、ＰＬＣプログラミングを有効にする目的で第２のインターフェースを確立する工程と、プロセスワークシート情報をＰＬＣ命令ソフトウェアに翻訳する工程と、プログラムされたＰＬＣの機能性を試験する目的での、ＰＬＣ命令ソフトウェアからのワークシートの生成と、ワークシートを作成するプロセス中のＰＬＣの動作を評価する工程と、を含む。
【００１２】
データベースは、ユーザーにより制御可能な、情報の更新、情報処理、および情報出力を可能にするフォーマットで、プロセス情報を組織化するように設定される。このデータベースは、プロセス命令の、ＰＬＣプログラミング言語への翻訳を可能にし、かつＰＬＣフィードバックをプロセス制御情報に翻訳するように設計された、プログラミングおよび関係を有する拡張可能な１組のテーブルを含む。これらのテーブルは、特定のＰＬＣインターフェース要件を含むがこれに限定されない、ＰＬＣプログラミング命令情報を含む。データベースは、ＰＬＣ情報の変更、ならびにさまざまなＰＬＣ供給者のＰＬＣ装置の追加および削除を可能にするように構成される。データベースは、指定された人員のみが情報を入力または変更できることを確実にするために、アクセス認可制限を含む。データベースに収容される情報へのアクセスは、情報変更機能へのアクセスよりも、広範囲にわたっていてよい。任意の変更された条件または情報は、所望どおりに後で見直すために記憶される。
【００１３】
本発明は、データベースの情報にアクセスすること、およびデータベースのプロセス／ＰＬＣ情報の使用を含む目的のＰＬＣプログラミングもしくは他の機能の性能に関連する出力を生成することに関連する工程を実行するための、コンピュータプログラミングをさらに含む。操作プロセスワークシートを受領した後で実行される方法の主な工程は、以下を含むが、それらに限定されない：１）新しいアプリケーションを作ること；２）プロセス情報入力タグを確立すること；３）データベースのユーザーインターフェーステーブル（ＵＩＴ）を生成すること；４）すべての操作プロセス入力および出力、測定単位、タグ、プロセスモーター、機器モジュール、バルブ（valves）、および特定の操作プロセスに必要とされる任意の他の情報についてＵＩＴを設定すること；５）プロセスワークシートの入力／出力、警報、インターロック、コントローラ、切り替え（transition）、およびシーケンスリストを生成すること；６）品質の保証および安全性についてリストを見直すこと；７）生成されたリストを、ＰＬＣプログラミングコードに変換すること；８）プロセスおよびプロセス制御試験基準に従って試験文書を作成すること；９）プロセスおよび／または１つもしくは複数の関連のあるＰＬＣと関連付けられた新しい情報および変更された情報についてシステムを監査すること。方法の追加的なオプションの工程は、認可レベルに応じて見直し／承認を促進するためにあらゆるプロセス変更制御についてのレポートを分配すること、および、データベースにすべてのプログラミング修正を取り込むこと、を含むがこれらに制限されない。
【００１４】
本発明は、コンピュータ実行可能命令を含む１つまたは複数のコンピュータ可読媒体を使用することを含み、コンピュータ実行可能命令は、実行されると、計算システムに命令して、データベースを維持させ、アクセス制限に従ってデータベースおよびＵＩＴの使用を許可させて、ＰＬＣプログラミング機能を実行する。この媒体の他のコンピュータ実行可能命令により、ユーザーは、データベースにアクセスして、試験レポートおよび変更制御情報を入手することができる。
【００１５】
データベースと、ソフトウェアにおいて具体化されるプログラミング機能との組み合わせにより、産業プロセスエンジニアは、プロセス規定および命令を確立し、それらの規定および命令をＰＬＣプログラミングに翻訳させ、そのＰＬＣプログラミングを実行してプロセス操作を確立し、かつ、操作およびプロセス命令を監視することができ、これには、その目的で試験文書を作成することが含まれる。本発明のこれらの利点および他の利点は、以下の詳細な説明、添付図面、および請求項を精査すれば明らかとなるであろう。
【００１６】
〔好適な実施形態の詳細な説明〕
本発明は、産業プロセス工程を実施するためにＰＬＣをプログラムするためのシステムおよび方法である。システム、方法、および関連するデータベースは、情報にアクセスしその情報に基づいて命令を実行する目的で、情報を記憶することと関連した機能的工程を行うためにプログラムされた計算システムにおいて具体化される。目的の量で情報を記憶し、また、その情報に対する目的の命令を生成および／または開始するのに適した、あらゆるタイプの計算システムが利用されてよく、図１に大まかに表わされている。図示のコンピュータシステム１００は、適切な計算環境の１つの実施例に過ぎず、本発明の使用または機能性の範囲について何ら制限を示唆することは意図していない。例えば、コンピュータシステム１００は、ローカルエリアネットワーク、メトロポリタン・エリア・ネットワーク、広域ネットワークのサーバー１１０など、１つまたは複数の中央コンピュータといった、ローカルまたは遠隔の計算手段と、あるいはイントラネットおよびインターネット接続を通じて、関連付けられ得る。
【００１７】
コンピュータシステム１００は、例えばデスクトップコンピュータ１２０で表わされる、１つまたは複数の別個のコンピュータプロセッサ装置を含み得る。本発明と共に使用するのに適した周知の計算装置の例は、パーソナルコンピュータ、サーバーコンピュータ、携帯用またはラップトップ装置、タブレット型コンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な消費者向け電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、前記システムまたは装置のうちのいずれかを含む分散コンピューティング環境など、を含むが、これらに制限されない。コンピュータシステム１００は、１または複数のユーザーにより、例えばデスクトップ、ラップトップ、またはサーバーを通じて、かつ／あるいは本発明の１つまたは複数の機能に対応するサービスの１つまたは複数のプロバイダにより、操作されるコンピュータ装置を含み得る。
【００１８】
サーバー１１０、コンピュータプロセッサ１２０、またはこれら双方の組み合わせは、本発明のシステムの機能のうち１つまたは複数を含むようにプログラムされ得る。プロセスおよび／またはＰＬＣプログラミング情報を収集し、記憶し、かつアクセス可能にするための、本発明のデータベースは、データベース１３０により表わされる。本発明を説明する目的で、データベースは、論理的に関連する、記憶されたデータの集まりである。異なるタイプのデータベースがあり、本発明のデータベース１３０は、そのようなタイプのいずれであってもよいが、行および列で構成されるテーブルを含む、データベース管理システムを備えたデータベースであるのが好ましい。このテーブルに記憶されるデータは、データベースシステムに対して提示されるデータベースクエリーを用いてアクセスまたは更新される。
【００１９】
データベース１３０は、サーバー１１０、コンピュータプロセッサ１２０、他の計算装置、またはそれらの任意の組み合わせと関連付けられてよく、本発明のシステムの使用に関連する情報を含む。データベース１３０は、単一の計算装置または複数の装置と関連付けられ得る。データベース１３０は、中心に置かれてよく、あるいは、ローカルにまたは広範に分布してよい。データベース１３０は、本明細書に記載される情報により、本明細書に記載されるフォーマットで、データ追加され（populated）、更新される。装置はすべて、１つまたは複数の信号交換装置、例えばルーター／スイッチ１４０を通じて、相互接続され得る。
【００２０】
本発明は、コンピュータシステム１００などのコンピュータによって実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的状況で説明され得る。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。前記のとおり、本発明のシステムは、通信ネットワークまたは他のデータ伝送媒体を通じてリンクされる遠隔処理装置によりタスクが実行される、分散コンピューティング環境において、実行されることもできる。分散コンピューティング環境では、プログラム機能モジュールおよび他のデータは、メモリ記憶装置を含むローカルおよび遠隔のコンピュータ記憶媒体の双方に位置し得る。
【００２１】
コンピュータプロセッサ１２０およびインタラクティブドライブ、メモリ記憶装置、データベース１３０を含むがこれに制限されないデータベース、ならびに周辺装置は、１つまたは複数のコンピュータシステムバスを通じて、相互接続され得る。システムバスは、さまざまなバスアーキテクチャのうち任意のものを用いた、メモリバスもしくはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちの任意のものであってよい。制限するものではないが、例として、このようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクススタンダーズアソシエーション（ＶＥＳＡ）ローカルバス、およびペリフェラルコンポーネントインターコネクト（ＰＣＩ）バスを含む。
【００２２】
コンピュータシステム１００は、典型的には、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータシステム１００がアクセスできる任意の利用可能な媒体であってよく、揮発性および不揮発性媒体、取り出し可能および取り出し不可能な媒体の双方を含む。制限するものではないが、例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法またはテクノロジーにおいて実装される、揮発性および不揮発性、取り出し可能および取り出し不可能な媒体を含む。コンピュータ記憶媒体は、所望の情報を記憶するのに使用されることができ、かつコンピュータシステム１００がアクセスすることができる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリテクノロジー、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは任意の他の媒体を含むが、これらに制限されない。
【００２３】
コンピュータシステム１００は、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）といった揮発性および／または不揮発性メモリの形態の、コンピュータ記憶媒体をさらに含む。ＲＡＭは、典型的には、コンピュータプロセッサ１２０がアクセス可能で、かつ／またはコンピュータプロセッサ１２０により操作される、データおよび／またはプログラムモジュールを含む。すなわち、ＲＡＭは、アプリケーションプログラム、例えば本発明のシステムの機能モジュール、およびデータの形態の情報を含み得る。コンピュータシステム１００はまた、他の取り出し可能／取り出し不可能、揮発性／不揮発性のコンピュータ記憶装置およびアクセス媒体を含み得る。例えば、コンピュータシステム１００は、取り出し不可能、不揮発性の磁気媒体から読み取りかつ／またはこれに書き込むためのハードディスクドライブ、取り出し可能、不揮発性の磁気ディスクから読み取りかつ／またはこれに書き込むための磁気ディスクドライブ、およびＣＤ−ＲＯＭまたは他の光媒体などの取り出し可能、不揮発性の光ディスクから読み取りかつ／またはこれに書き込むための光ディスクドライブ、を含み得る。本発明のシステムおよび方法と関連付けられる機能的工程を実行するためにコンピュータシステム１００で使用され得る、他の取り出し可能／取り出し不可能、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、これらに制限されない。
【００２４】
前述したドライブ、およびそれらに関連するコンピュータ記憶媒体は、コンピュータプロセッサ１２０に、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶をもたらす。ユーザーは、キーボード１０１、および一般的にはマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイス１０２といった入力装置を通じてコンピュータプロセッサ１２０にコマンドおよび情報を入力することができる。他の入力装置（不図示）としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどが含まれ得る。これらの、また他の入力装置は、システムバス、またはパラレルポート、ゲームポート、もしくはユニバーサル・シリアル・バス（ＵＳＢ）などがあるがこれらに制限されない他のバス構造を通じて、コンピュータプロセッサ１２０に接続される。モニター１０３または他のタイプの表示装置も、システムバスまたは他のバス構成を通じてコンピュータプロセッサ１２０に接続される。モニター１０３に加えて、コンピュータプロセッサ１２０は、プリンタ（不図示）などの他の周辺出力装置に接続され得る。コマンドおよび情報は、一人または複数のユーザーにより入力されてよく、このユーザーのうちの任意の一人または複数が、同じか、または異なる場所に位置していてよい。コマンドおよび情報は、指定された時間またはランダムな時間に入力されてよい。
【００２５】
コンピュータプロセッサ１２０は、前述した方法のうちの任意の１つまたは複数で記憶およびアクセスされるコンピュータ命令において具体化される機能および工程を実行するように設定および構成され得る。これらの機能および工程、例えば本発明にかかわるデータベースおよびその使用の実行の機能および工程は、個別に、または組み合わせて、前述したコンピュータ可読媒体のうちの任意の１つまたは複数といった、コンピュータ可読媒体上のコンピュータ可読信号として目に見える形で（tangibly）コンピュータプログラム製品として実行され得る。このようなコンピュータプログラム製品は、コンピュータ可読媒体上で目に見える形で具体化されるコンピュータ可読信号を含むことができ、このような信号は、例えば、コンピュータプロセッサ１２０により実行される結果として、本明細書に記載する１つまたは複数のプロセスまたは行為、および／またはそれらのさまざまな実施例、変形体および組み合わせを実行するようにコンピュータプロセッサ１２０に命令する、１つまたは複数のプログラムの一部として、命令を定める。そのような命令は、複数のプログラミング言語のうちの任意のもの、例えばＸＭＬ、ＪＡＶＡ、Ｃ＋＋、または本発明の目的に適した任意の他の言語、またはそれらのさまざまな組み合わせのうちのいずれかで、書かれてよい。情報の入力は、このようなプログラミング言語、ならびに例えばデータベースプログラムＡＣＣＥＳＳおよびＤＢ２を含むが決してこれらに制限されない他のアプリケーションを用いて、実施され得る。そのような命令が記憶されるコンピュータ可読媒体は、前述したコンポーネントのうちの１つまたは複数の上にあってよく、また、１つまたは複数のそのようなコンポーネントにわたり分布していてよい。
【００２６】
図２を参照すると、本発明のＰＬＣプログラミングシステム２００は、コンピュータシステム１００のコンピュータプロセッサ１２０を通じて実行可能な１つまたは複数のコンピュータプログラムにおいて具体化される複数の機能を含み、信号は、機能とコンピュータプロセッサ１２０との間、およびコンピュータプロセッサ１２０を通じてデータベース１３０と機能との間で交換される。システム２００の機能は、ローカル情報入力機能２１０、遠隔情報入力機能２２０、オプションのプロセスワークシート生成機能２３０、ワークシート見直し機能２４０、ワークシート情報トランスレーター機能２５０、ＰＬＣプログラミング機能２６０、通信機能２７０、試験文書出力機能２８０、および変更指示制御機能２９０を含む。特定した機能のすべてまたは一部は、選択可能ＰＬＣをプログラムし、かつＰＬＣおよび／または産業プロセスと関連付けられる他の装置から受信した情報を受信、分析および報告する工程を行う上で使用され得る。
【００２７】
システム２００のローカル情報入力機能２１０により、ユーザーは、産業プロセス工程およびツールのための情報、ならびに複数のＰＬＣ製造業者から利用可能なＰＬＣに関する情報を、データベース１３０に入力することができる。情報は、データベース１３０を制御しているエンティティーの支配下でコンピュータシステム１００の一部を形成する計算装置のユーザーインターフェースを通じて入力される。産業プロセスのためにＰＬＣをプログラムする目的で、エクセルフォーマットを含むがこれに制限されない目的の任意の形態で、プロセスワークシートを入力するために、ローカル入力機能を使用してもよい。特に、ローカル情報入力機能２１０は、入力および出力、警報、プロセス装置インターロック情報、コントローラのデザインおよび機能性、切り替え（transitions）およびシーケンスリストなどの情報でデータベース１３０の１つまたは複数のユーザーインターフェーステーブルを設定するのに使用される。システム２００の主な管理者は、ローカル情報入力機能２１０により代表されるプログラミングを通じて、データベース１３０にアクセスしこれを修正する権限を持って設置され得る。
【００２８】
ローカル情報入力機能２１０と同様に、システム２００の遠隔情報入力機能２２０は、データベース１３０を制御しているエンティティーの支配下においてコンピュータシステム１００の一部ではないが、代わりに許可を得てデータベース１３０に接続されることができる、計算装置のユーザーインターフェースを提供する。遠隔情報入力機能２２０は、顧客などの当事者が、接続構成を通じて、例えば、制限されるものではないがインターネットを通じて、データベース１３０にアクセスすることを可能にする。遠隔ユーザーは、ローカル情報入力機能２１０を用いて入力された同じタイプの情報を入力することができる。それには、ＰＬＣのプログラミングに使用されるべき完全なまたは部分的なプロセス情報を有するワークシートが含まれるが、これに制限されない。システム２００の管理者は、顧客がデータベース１３０に直接アクセスして、適切なセキュリティおよびアクセス許可構成で情報を入力することを可能にすることができる。あるいは、遠隔情報入力機能２２０は、遠隔ユーザーにプロセス情報を管理者へと伝送させて、管理者が、受信した情報をデータベース１３０に入力するように設定されてよく、管理者は、セキュリティおよびアクセスを支配し続ける。
【００２９】
オプションのプロセスワークシート生成機能２３０により、データベース１３０のコントローラは、ユーザーインターフェースを通じてもたらされた情報に基づいてプロセスワークシートを作成することができる。プロセス設計の責任者は、典型的には、ＰＬＣプログラムへと翻訳されるようにプロセスワークシートに記入する。ワークシートは、後からＰＬＣコードへと翻訳されるプロセス工程および切り替えの編成にとってなじみのあるインターフェースである。プロセスワークシートの適切な使用方法、および顧客のプロセスの実行方法について、説明書およびトレーニングが提供される。図３は、ＰＬＣのプログラミングにより、より大きな産業プロセスの一環としてメタノールを調製および輸送することを可能とする目的で作成された、例としてのワークシート３００を示す。
【００３０】
ワークシート見直し機能２４０は、修正または変更を必要とし得る任意の誤り、矛盾、または無効果なものがあるかどうかを判定するために、作成または供給されたワークシートの内容を見直すように設定される。データベース１３０は、プロセスワークシート基準ならびに一般的なプロセス品質保証および安全ガイドラインの情報を含む。このようなガイドラインは、十分なアクセス認可に適合してのみ、変更され得る。プロセスワークシートをプログラムするためのベストプラクティスに関する書面の説明書がある。そのプロジェクトのためのガイドラインツールがある。
【００３１】
ワークシート情報トランスレーター機能２５０は、データベース１３０の十分なワークシートの内容を、ＰＬＣプログラミングを行うのに適したフォーマットへと変換するように設定される。具体的には、トランスレーター機能２５０は、数字、アルファベット、記号および／または等式の形式であってよい、スプレッドシートのセルの内容を、産業プロセスの制御作業を行うために選択された１つまたは複数のＰＬＣと適合するプログラミング言語へと翻訳する。
【００３２】
ＰＬＣプログラミング機能２６０は、ワークシートに記載されたプロセス工程に対応する命令を実行するために、産業プロセスと関連付けられた１つまたは複数の選択されたＰＬＣをプログラムするように設定される。ＰＬＣプログラミング機能２６０は、有線または無線であってよい通信接続を通じて１つまたは複数のＰＬＣと連動する（engage）。ＰＬＣプログラミング機能２６０は、ワークシート情報トランスレーター機能２５０を通じて確立されている言語で、計算システム１００から１つまたは複数のＰＬＣに電気信号が伝達されるのを可能にするために必要な、任意のフックを含む。ＰＬＣプログラミング機能２６０は、１つまたは複数のＰＬＣとの適切な通信、および１つまたは複数のＰＬＣへのプログラミング命令の十分な送信を確認するように、さらに設定される。コンピュータシステム１００に対するＰＬＣの通信インターフェースは、ＰＬＣ製造業者に応じて利用可能であり利用される工業用通信ドライバを用いて達成され得る。
【００３３】
通信機能２７０は、計算システム１００と、計算システム１００から離れて位置する本発明のシステム２００のオペレーターまたはユーザーとの間に、相互作用をもたらす。通信機能２７０は、オペレーター／ユーザーの支配下でコンピュータ装置への無線接続または有線接続として提供され得る。通信機能２７０により、管理者により確立された方針に基づいた本発明のシステム２００への認可されたアクセスが可能となる。
【００３４】
試験文書出力機能２８０は、温度、圧力、時間、濃度、ｐＨ、バルブ状態などを含むがこれらに制限されない、産業プロセスから入手した感知された情報に基づいて、プログラムされた１つまたは複数のＰＬＣからの出力を表わす、１つまたは複数の試験文書を生成するように設定される。試験文書出力機能２８０は、その取得情報を処理し、１つまたは複数のＰＬＣにより制御されたプロセスの状態を反映するレポートを作成するように設定される。試験文書のフォーマットは、業界基準により規制されるか、デフォルトであるか、または、カスタマイズされて、目的の情報を産業プロセスのオーナーに提供する。
【００３５】
変更指示制御機能２９０は、本明細書で前述した、認可された制御機能に関連しており、プロセスの変更、変更指示制御権限、および、修正したワークシートの変更したプロセス工程をＰＬＣプログラミングにおける変更に翻訳する特別な機構を認可するように指定された、ワークシートのプロセス命令における変更を行う機構を調節し有効にするように、さらに設定される。特に、変更指示制御機能２９０は、ワークシート見直し機能２４０および／またはワークシート作成器機能２３０を通じてワークシートにアクセスすることができる、管理者組織、顧客組織、またはこれら双方の個人を指定するように、権限のある管理者により設定される。変更指示制御機能２９０は、ＰＬＣプログラミング機能２６０を通じたＰＬＣ再プログラミングを可能にする目的で、そのような権限のある個人によるワークシート変更を可能にし、その後、修正または更新されたワークシートをワークシート情報トランスレーター機能２５０に伝達するように、さらに設定される。変更されたＰＬＣプログラミングの確認は、試験文書出力機能２８０を通じて作成された更新済み試験文書を通じて確認される。
【００３６】
システム２００は、周期的に、定期的に、連続して、または散発的に使用されるよう、起動され得る。ワークシート情報は、定期的または散発的に収集され得、また、システム管理者および／または顧客により定められることができる。情報入力機能２１０および２２０を通じて収集された情報の質のチェックは、定期的または散発的に実行されることができる。残りの機能はすべて、定期的または散発的に実行され得る。生じるすべての結果は、データベース１３０内に保持され得る。
【００３７】
図２に表わされるシステム２００は、１つまたは複数のコンピュータプログラムおよび１つまたは複数のコンピュータシステムにおいて具体化され得る。これは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせにおいて、具体化され得る。図示の機能は、単一の演算機構としてのコンピュータプロセッサ１２０を通じて、または、プロセッサ１２０で表わされる複数のコンピュータプロセッサを通じて、実行され得る。システム２００は、データベース１３０の１つまたは複数の実施形態を含むことができ、このデータベース１３０は、コンピュータプロセッサ１２０において、または、コンピュータプロセッサ１２０と電子通信している１つまたは複数の他のコンピュータシステムにおいて、具体化され得る。システム２００を通じて収集、記憶および／または操作される情報が、コンピュータシステム１００のグラフィカルユーザーインターフェース上の特定の表示なしで使用され得ることが注目される。例えば、情報の出力は、コンピュータ装置間で、またはネットワーク化された計算システム内部で、ディスプレイ上の特定の表示なしで、伝達され得る。
【００３８】
データベース１３０は、オリジナルおよび任意の調節された形のすべてのプロセス情報、ならびにプロセス命令、ＰＬＣプログラミング、試験文書、および変更指示に関する任意の目的の情報を記憶するために使用される。別個にまたはワークシート生成機能２３０を通じて生成されたワークシート３００の実施例が、図３に示される。ワークシート３００は、より包括的なプロセスの一環としてメタノールを調製および輸送するためのプロセスと関連付けられた命令の生成において使用されるのに適した内容を含む。ワークシート３００は単純な例であり、このプロセス発明は、はるかに複雑なプロセスのためのＰＬＣプログラミングを生じさせるために使用され得ることが、理解される。図３の例としてのワークシートに関して、列３１０は、メタノールプロセスの主要な作業工程を列挙している。列セット３２０の列の内容は、動作工程状態条件オプションを特定しており、それらの列の、個々のデータ追加されているセルは、特定された各動作工程について目的の特定の状態条件に関する情報を含んでいる。列セット３３０の列の内容は、特定された動作工程の動作状態条件を実行するために使用される物理的装置を列挙している。特定の工程と関連付けられるそれらの装置は、装置をオンにすべきかどうかを含む、特定の対応するセルにおける指示を有する。列挙された物理的装置は、バルブ、および温度コントローラを含む。当然、任意の他の種類の装置が、本発明のシステム２００を用いて制御されてもよい。列セット３４０の列の内容は、特定された工程について、過渡条件および／または関連する動作条件の説明を定めている。その中に含まれる情報は、例えばメタノールがある温度に達した場合に特定のバルブを開くかまたは閉じるといった、いつ切り替えがおこるかという印を含む。
【００３９】
引き続き図３を参照すると、列３５０は、示されたプロセス工程に関連付けられた期間に関する情報を含む。列３６０は、工程の状態の変化が起こるべきタイミングと関連付けられた情報を含む。列セット３７０の列の内容は、例えば列３１０のプロセスの状態における変化を開始するために満たすべきいくつかの温度条件を含む、プロセスの一環として必要なメタノールの温度の調節に関する情報を提供する。最後に、列３８０は、列セット３３０の装置を含む、プロセスで使用され得る装置のタグ番号を列挙している。
【００４０】
システム２００ならびにデータベース１３０へのアクセスおよび使用を実行するのに使用される、３つの主要なコンピュータプログラムコンポーネントがある。それらは、１）データベース１３０スキーマ；２）ユーザーインターフェーステーブル（ＵＩＴ）；３）データベース１３０とＵＩＴとの間をインターフェースでつなぐ、ダイナミック・リンク・ライブラリ（ＤＬＬ）である。一実施形態では、データベース１３０スキーマは、ＤＢ２で確立されるファイルにおいて定められる。代替的な実施形態では、データベース１３０スキーマは、マイクロソフトエクセルのスプレッドシートで確立されるファイルにおいて定められ得る。当業者は、他のプログラミング手段がデータベース１３０のデザインおよびアーキテクチャと関連付けられるデータベース１３０スキーマを確立するために使用され得ることを認識するであろう。ＵＩＴは、Javaサーバページ（ＪＳＰ）、ハイパーテキストマークアップ言語（ＨＴＭＬ）コード、および／またはJavaScriptコードで確立されるファイルにおいて定められる。この実施形態では、ＧＵＩのファイルの大部分が、手書きであり、ＪＡＶＡコンパイラを使用してサーバー上でコンパイルされて、ＨＴＭＬページを作る。当業者は、添付の図４〜図９に表わされるような、ＧＵＩを作成するのに必要な特定のプログラミングを認識するであろう。本発明は、本明細書において識別される特定のプログラミング言語に限定されない。
【００４１】
ＤＬＬは、データベース１３０とＵＩＴとの間のプログラマチック・インターフェースを提供する。ＤＬＬは、好ましくは、ＪＡＶＡにおいて実装されるが、これに制限されない。ＤＬＬのファイルは、手作業で作成されてもよく、または、Ｊａｖａコンパイラ言語を用いてコンパイルされて、ＪＡＶＡクラスファイルを作成するために後から使用され得る、ＪＡＶＡを含むがこれに制限されない他のファイルを検査することができる。データベース１３０をＵＩＴに連結するのに適切なＤＬＬを確立するのに必要なプログラミングは、ワークシートのために提供された詳細な情報に基づいて、また、やはり本明細書で提供されるＵＩＴのスクリーンキャプチャおよび関連するテキストを通じて、当業者により準備されることができる。任意のＵＩＴを通じて行われたデータベース１３０への任意の変更は、データベース１３０により保持され、すべてのプロセス制御動作変更が、後で見直すために保持され利用可能となる。
【００４２】
図４〜図９は、産業プロセスの１つまたは複数のＰＬＣをプログラムするためにシステムのローカルユーザ−または遠隔ユーザーが見るスクリーンのグラフィカル表示である。本明細書に記載されるようなコンピュータプログラムで具体化されるシステム２００は、プログラムを表わすアイコンをクリックすることにより、または別様に、コンピュータプログラムのユーザーには周知の、デスクトップを通じて開くアプリケーションもしくは他のコンピュータアプリケーションインターフェース起動方法を開始することにより、起動されるかまたは立ち上げられる。システム２００およびデータベース１３０へのアクセスは、従来の認証およびアクセスルールにより、例えばシステム２００へのアクセスを求めるユーザーの特定の役割により、制御され得る。例えば、システム２００は、プロセス命令の変更、工程変更、およびプログラミングアルゴリズムの調節に対するフルアクセスを与えるように構成され得る。あるいは、ユーザーは、試験文書を入手することを含め、単に情報を見るためだけのアクセスを与えられることもできる。他の役割タイプおよびアクセス制限は、システム２００の管理者が確立したガイドラインに基づいて、確立され、時折変更されることができる。
【００４３】
システム２００を起動すると、コンピュータプロセッサ１２０により、ユーザーは、図４に示すような、ディスプレイ１０３の第１のスクリーンを見ることができる。第１のスクリーンは、システム２００の使用を通じて作成されるすべての他のスクリーンと同様に、ＵＩＴであり、これにより、ユーザーは、データベース１３０のエンティティーおよびテーブルの１つまたは複数の相互作用的ディスプレイ表示を見ることができ、かつ、一般的には、キーボード１０１のキーストローク、および／またはマウス１０２でディスプレイ１０３上に表示されるアイコン、カテゴリー、アイテム、エレメント、式などをクリックするかもしくはクリックおよびドラッグすることのいずれかによる、ユーザー入力を通じて、データベース１３０の内容を操作することができる。
【００４４】
図４に示される最初のシステムアクセススクリーン４００は、ユーザーに、システム２００に入力するための単純な機構を提示しており、これは、起動されると、ユーザーが、データベース１３０の内容を見るか、または、例えば確立されたワークシートまたは作成されるべきワークシートから、新しいＰＬＣプログラミング活動のための新しい情報を入力することを可能にする。最初のスクリーンのＵＩＴは、産業プロセスのＰＬＣプログラミングが実行されるべき顧客に関する情報を提供するための、一群の入力セル４１０を含む。あるいは、顧客は、システム２００のプログラミングプロセスを行う権限を与えられてよく、おそらく、自身の情報をセル４１０に入れる。出力レポートが、顧客および／または管理者のロゴを含み得るように、追加の顧客および／または管理者識別子が、セル４２０に挿入されてよい。ユーザーは、ＰＬＣプログラミングの経過中にプロセス情報にアクセスするのに使用されるべきワークシートの順番を、ラジオボタン４３０および４３２のどちらがふさがっているかによって、昇順または降順として、確立することができる。「バージョン情報（About）」リンク４４０をクリックすると、ユーザーは、システム２００に関する情報を見ることができる。「閉じる」リンク４５０をクリックすると、プログラムが閉じられる。ＰＬＣプログラミング活動を続けるために、ユーザーは、リンク４６０、４７０、および４８０のうちの１つを、クリックすることで選択する。
【００４５】
リンク４６０〜４８０のいずれかをクリックすることで、ユーザーは、機器と関連付けられたタグデータベースおよび／または産業プロセスと関連付けられた動作パラメータにアクセスすることができる。タグデータベースは、あらゆる自動コンポーネントが、そのコンポーネントを固有のものにし、かつ適切に呼ばれるものとするように、一意識別子または「タグ」を与えられるエリアである。アナログ入力、アナログ出力、離散入力、または離散出力であるかどうかという装置のタイプに応じて、その特定の装置の設定のための、付随する「ドット」（associate "dot"）欄がある。ドット欄は、ベースタグから直接作成されており、各個別タグのために設定され得る追加的パラメータである。例としてのタグは、プロセス機器のための一意識別子、機器モジュールタグ（例えばヒーターのためなど）、バルブ用のタグ（離散出力またはアナログ出力）、特に別々のバルブタグパラメータ、および本明細書に記載されたような他のものを含む。リンク４６０は、特に、後続タグをすべてクリアし、ユーザーに新しいプログラミングタグセットを作成させることにより、ユーザーが新しいプロセス制御努力を始めることを可能にする。ユーザーが制御すべき新しい産業プロセスを有し、かつ適用可能な既存のプログラミングパラメータがない場合に、そのようにすることは興味深いことである。リンク４７０により、ユーザーは、新しい情報の入力のためにＰＬＣにおいて作成されていた先に確立されたプログラミングタグセットにアクセスすることができる。メタノール搬送プロセスを実施例として用いると、別のメタノール搬送制御プログラムが開発され、新しい搬送作業の基盤としてそのプログラムから開始する希望がある場合に、ユーザーは、リンク４７０をクリックすることができる。リンク４８０により、ユーザーは、目的の特定のプロセス制御プログラムの一部を形成し得る、追加のプロセスパラメータタグを作ることができる。
【００４６】
図４でリンク４７０の周りの点線で示されるように、リンク４７０をクリックすることで、ユーザーは、図５のＵＩＴスクリーン５００へと導かれる。そのスクリーンでは、ユーザーは、ドロップダウンメニュー５１０において特定のプログラミングタグセットを選択するよう促される。タグセットのオプションが定められており、これらは、スクリーン４００のリンク４６０および４８０のいずれかを通じて、修正、更新、または訂正され得る。ＵＩＴスクリーン５００のさらなる特徴は、ユーザーが、「いいえ」５２０および「はい」５３０とラベル付けされたラジオボタンのうちの１つを選択することによって、プログラムされるべきＰＬＣがコンピュータシステム１００に物理的に接続されているかどうかを定める機会である。これは、ＰＬＣがコンピュータシステム１００に物理的に接続されるという要件なしで、ＰＬＣプログラミングが可能となる点で、本発明の望ましい特徴である。その結果、ＰＬＣプログラミング機能は、ＰＬＣを手元に入手するかまたは有する義務なしに、実行および完了され得る。これにより、本発明のプロセスは、そのような物理的な接続を必要とする任意のＰＬＣプログラミングツールと比べて、より柔軟かつより効率的になる。オプションとして、リンク４８０がスクリーン４００で選択されている場合、ユーザーは、リンク５４０をクリックすることにより、新しいプログラミングタグを設定することができる。
【００４７】
本発明のシステム２００の機能性の実施例を提供する目的で、選択された第１のＰＬＣタグは、ドロップダウンメニュー５１０に示す機器モジュールタグである。そのタグを選択することで、図６に示す新しいＵＩＴスクリーン６００が作られ、このスクリーンは、ユーザーが産業プロセスで使用される特定の機器部品の動作特徴を入力できるように設定される。ドロップダウンメニュー６１０は、制御されるべき機器のリストを提供しており、「アルコール＿供給」が図示される例である。機器のリストは、無限であってよく、システム２００に対して認可されたアクセスを有する人によってのみ定められてよいことが、理解される。機器およびその機能性に関する詳細は、ドロップダウンメニュー６２０および６３０でさらに利用可能となる。スクリーン６００の残りの部分は、ユーザーが入力すべき、産業プロセスのその特定の機器部品の動作特徴のアレイを含む。その情報は、ワークシート３００などの既存のワークシートに、手作業で入力されるか、またはリンクを通じて投入される（populated）ことができる。入力情報の記入が終わったら、リンク６４０がクリックされ、それらの記載項目を保存する。リンク６５０が次にクリックされて、スクリーン６００を閉じ、必要であれば別のタグ入力作業のためスクリーン５００に戻ることができる。スクリーン６００に列挙されるフォーマットおよび内容の選択オプションは、単なる例であり、システム２００の管理者が希望により修正することができる。
【００４８】
複数の機器モジュールタグ付け処理を繰り返すオプションに加えて、ユーザーは、ドロップダウンメニュー５１０で異なるプログラミングタグを選択するオプションを、スクリーン５００で有する。第２の例としてのタグモジュールは、図７に示すＵＩＴスクリーン７００を通じて有効になる、アナログ入力パラメータ情報入力をもたらす。そのスクリーンは、ユーザーが、産業プロセスにより必要とされ、かつそのプロセスで使用される特定の機器部品により有効化または調整される、動作条件を入力することができるように、設定される。ドロップダウンメニュー７１０は、制御されるべき機器のリストを提供しており、「アルコール＿供給」が、図示される例であり、これは、スクリーン６００のＥＭタグと関連付けられる同じ機器であってよい。機器のリストは無限であってよく、また、システム２００に対する認可されたアクセスを有する人によってのみ定められ得ることが、理解される。機器およびその機能性に関する詳細は、ドロップダウンメニュー７２０および７３０でさらに利用可能となる。スクリーン７００の残りの部分は、ユーザーが入力すべき、産業プロセスのその特定の機器部品の動作特徴のアレイを含む。その情報は、ワークシート３００などの既存のワークシートに、手作業で入力されるか、またはリンクを通じて投入されることができる。有効となり得る１つの例としてのパラメータは、スクリーン７００を通じてプログラミング機能に入力された動作パラメータの変形体に基づいてリンク７４０を通じて起動されるべきアラームである。入力情報の記入が終わったら、リンク７５０がクリックされて、それらの記載項目を保存する。リンク７６０が次にクリックされて、スクリーン７００を閉じ、必要であれば別のタグ入力作業のためスクリーン５００に戻ることができる。スクリーン７００に列挙されるフォーマットおよび内容の選択オプションは、単なる例であり、システム２００の管理者が希望により修正することができる。
【００４９】
複数のアナログ入力タグ付け処理を繰り返すオプションに加えて、ユーザーは、ドロップダウンメニュー５１０でさらなる別のプログラミングタグを選択するオプションを、スクリーン５００で有する。第３の例としてのタグモジュールは、図８に示すＵＩＴスクリーン８００を通じて有効になる、別個のバルブパラメータ情報入力を提供する。そのスクリーンは、ユーザーが、プロセスで使用される特定の機器部品に必要なバルブ動作条件を入力できるように、設定される。ドロップダウンメニュー８１０は、制御されるべき機器のリストを提供しており、「アルコール＿供給」が、図示される例であり、これは、スクリーン６００のＥＭタグと関連付けられる同じ機器であってよい。機器のリストは無限であってよく、また、システム２００に対する認可されたアクセスを有する人によってのみ定められ得ることが、理解される。機器およびその機能性に関する詳細は、ドロップダウンメニュー８２０でさらに利用可能となる。制御されるべき特定のバルブが、ドロップダウンメニュー８３０で選択される。スクリーン８００の残りの部分は、ユーザーが入力すべき、識別された機器部品と関連する、その選択されたバルブの動作特徴のアレイを含む。その情報は、ワークシート３００などの既存のワークシートに、手作業で入力されるか、またはリンクを通じて投入されることができる。有効となり得る１つの例としてのパラメータは、何らかの特定の制限値を超える、機器またはプロセスの逸脱が生じた場合の、バルブのデフォルト状態である。バルブのデフォルト状態の選択は、８４０においてラジオボタンのセットから行われ得る。入力情報の記入が終わったら、リンク８５０がクリックされて、それらの記載項目を保存する。リンク８６０が次にクリックされて、スクリーン８００を閉じ、必要であれば別のタグ入力作業のためスクリーン５００に戻ることができる。スクリーン８００に列挙されるフォーマットおよび内容の選択オプションは、単なる例であり、システム２００の管理者が希望により修正することができる。
【００５０】
本発明のシステム２００のユーザーのための第４および最後の例としての入力オプションは、図９に示すＵＩＴスクリーン９００である。そのスクリーンは、ユーザーが、例えばプロセスで使用される特定の機器部品の動作と関連付けられる所望の出力特徴を含む、アナログ出力パラメータ情報を入力できるように、設定される。ドロップダウンメニュー９１０は、制御されるべき機器のリストを提供しており、「アルコール＿供給」が、図示される例であり、これは、スクリーン６００のＥＭタグと関連付けられる同じ機器であってよい。機器のリストは無限であってよく、また、システム２００に対する認可されたアクセスを有する人によってのみ定められ得ることが、理解される。機器およびその機能性に関する詳細は、ドロップダウンメニュー９２０および９３０でさらに利用可能となる。スクリーン９００の残りの部分は、ユーザーが入力すべき、産業プロセスのその特定の機器部品と関連付けられる所望の出力条件のアレイを含む。その情報は、ワークシート３００などの既存のワークシートに、手作業で入力されるか、またはリンクを通じて投入されることができる。有効となり得る１つの例としてのパラメータは、ボタンセット９４０のラジオボタンのうちの１つを選択することで決定されるような、機器と共に使用されるプロセスコントローラの種類の表示であり、その情報は、どのような形態の出力情報が利用可能であるのかを判断する上で有用となり得る。入力情報の記入が完了したら、リンク９５０がクリックされて、それらの記載項目を保存する。リンク９６０が次にクリックされて、スクリーン９００を閉じ、必要であれば別のタグ入力作業のために、または、ＰＬＣのプログラミングを可能にするために必要な入力情報すべてが完了していることを確かめるために、スクリーン５００に戻ることができる。スクリーン９００上に列挙されたフォーマットおよび内容の選択オプションは、単なる例であり、システム２００の管理者によって所望により修正されてよい。
【００５１】
フォームに記入された情報は、標準プログラミングソフトウェアを用いて、ＰＬＣプログラミング言語に翻訳される。例えば、ビジュアル・ベーシック・フォー・アプリケーションまたはビジュアル・ベーシックが、表形式データを取り出し、そのデータを、ＰＬＣにダウンロードされるようにＰＬＣコード構造に翻訳するようにプログラムされた、翻訳ソフトウェアである。ユーザーが記入したデータは、ＰＬＣにダウンロードされるように、「ドット」欄またはパラメータに翻訳される。ＰＬＣは、ドット欄のデータを取り出してそのデータを走らせてプロセスを実行する、事前構築された「エンジン」を有する。事前構築されたエンジンは、「ループする」サブルーチンであり、パラメータ駆動のグラフィカルユーザーインターフェース（ＧＵＩ）の実行を可能にして、十分なプログラミングを可能にする。ＰＬＣソフトウェアは、変更されず、ＧＵＩに入力された情報は、パラメータとしてダウンロードされ、「エンジン」に入力され、それに応じて走らされる。概念は、ＶＢＡまたはビジュアル・ベーシックにおける構造化プログラミングに非常に類似しているが、標準ＰＬＣプラットフォームは、プロセスアプリケーションのために手順または関数呼び出しの力を利用していない。
【００５２】
ＰＬＣの「オブジェクト」サブルーチンが書き込まれ再利用可能である状態で、ロジックは、１回、試験され、検証され、認証されることができる。その後、認証が必要となるのは、個々のオブジェクトのプロパティのみとなる。さらに、グラフィカルオブジェクトおよびポップアップ・ウィンドウが作られて、タイプ別にＰＬＣオブジェクトを表わす。例えば、すべての別々のバルブが「別個のバルブ」オブジェクトタイプであるので、それらはすべて、同じポップアップ・ウィンドウおよびバルブ・グラフィックを利用する。特徴の差は、ＰＬＣオブジェクトタグ内部のオブジェクトのプロパティ設定における相違に反映される。
【００５３】
オブジェクト指向ＰＬＣコードの使用により導入された構造によって、自動的な文書作成が可能となる。同じタイプのオブジェクトが同じプロパティを共有するので、オブジェクトタグおよびそれらのプロパティのリストを作成することができる。マイクロソフトエクセルとAllen BradleyのオンラインＰＬＣとの間のリンクが、デジタル・データ交換（ＤＤＥ）を用いて確立される。したがって、ドキュメンテーションがＰＬＣを「プログラム」することができ、同じぐらい重要なことには、ＰＬＣは、ドキュメンテーションを更新することができる。本質的には、コードは自己検証式（self-verifying）である。必要な再プログラミングが皆無かそれに近い状態で、データベースを通じて操作され、その後ＰＬＣに直接ダウンロードされることができる、一連の作業を利用することで、かなりの時間とお金が節約される。
【００５４】
このシステムにより作成された試験文書は、ユーザーにより入力された実際の表形式データである。システムをプログラムするのに使用されるデータが、試験文書として使用されるということである。試験文書を作成するには、試験文書作成ボタンを用いてそれらを印刷し、署名および日付欄を、試験文書作成ボタンの一部として文書に加える。試験文書は、システムを走らせた後で認証するために、Adobe（登録商標）に、プリンタに、または、同様のペーパーまたはペーパーレステクノロジーへと印刷され得る。ユーザーは、システムの動作を検証し、検証後に文書に署名し日付を入れて、システムが認証および試験されたという事実を証明することができる。
【００５５】
本発明の少なくとも１つの例示的な実施形態を説明してきたが、さまざまな変更、改変、および改善が、本発明により企図される。そのような変更、改変、および改善は、本発明の範囲および趣旨内のものであると意図している。したがって、前記の説明は、単に例としてのものであり、限定的なものとして意図したものではない。本発明の制限は、請求項およびその等価物においてのみ定められる。
【００５６】
〔実施の態様〕
（１）  産業プロセスを制御するためにＰＬＣをプログラムするためのコンピュータ実行システムであって、前記コンピュータ実行システムは、計算装置が機能を実行することを可能にするために命令を実施するプログラミングを含み、前記機能は、
ａ）前記計算装置に連結されたデータベースに情報を入力する情報入力機能であって、前記情報は、前記産業プロセスの所望の動作条件および選択可能な機器を含む、情報入力機能と、
ｂ）入力情報をワークシートフォーマットに翻訳し、前記ワークシートの情報内容を、前記ＰＬＣのプログラミング要件と適合するプログラミング言語に変換する、ワークシート情報トランスレーター機能と、
ｃ）翻訳された前記入力情報により前記産業プロセスの制御命令を実行するように前記ＰＬＣをプログラムするＰＬＣプログラミング機能と、
を含む、コンピュータ実行システム。
（２）  実施態様１に記載のコンピュータ実行システムにおいて、
前記ＰＬＣにより制御される前記産業プロセスの動作条件に対応する、前記ＰＬＣまたは前記産業プロセスと関連付けられる他の装置から受信した情報を表わす、１つまたは複数の文書を作成する、試験文書出力機能をさらに含む、コンピュータ実行システム。
（３）  実施態様１に記載のコンピュータ実行システムにおいて、
前記データベースに入力された前記情報に基づいて制御されるべき前記産業プロセスを表わす１つまたは複数のワークシートを作成する、ワークシート作成器機能をさらに含む、コンピュータ実行システム。
（４）  実施態様３に記載のコンピュータ実行システムにおいて、
前記入力情報は、操作プロセスの入力および出力、測定単位、タグ、プロセスモーター、機器モジュール、ならびにバルブを含む、コンピュータ実行システム。
（５）  実施態様１に記載のコンピュータ実行システムにおいて、
データベースおよびワークシートへの前記情報入力機能は、前記データベースおよびワークシートの前記情報内容を、前記ＰＬＣのプログラミング要件と適合するプログラミング言語に翻訳および変換するトランスレーター機能に続き、
前記コンピュータシステムが前記ＰＬＣに接続されていない間に、これらの動作を実行する、コンピュータ実行システム。
【００５７】
（６）  産業プロセスを制御するためにＰＬＣをプログラムする方法において、
ａ）前記産業プロセスの所望の動作条件および選択可能な機器を含む情報をデータベースに入力する工程と、
ｂ）入力情報をワークシートフォーマットに翻訳し、前記ワークシートの情報内容を、前記ＰＬＣのプログラミング要件と適合するプログラミング言語に変換する工程と、
ｃ）翻訳された前記入力情報により前記産業プロセスの制御命令を実行するために前記ＰＬＣをプログラムする工程と、
を含む、方法。
（７）  実施態様６に記載の方法において、
前記ＰＬＣにより制御される前記産業プロセスの動作条件に対応する、前記ＰＬＣまたは前記産業プロセスと関連付けられる他の装置から受信した情報を表わす、１つまたは複数の文書を作成する工程をさらに含む、方法。
（８）  実施態様６に記載の方法において、
前記データベースに入力された前記情報に基づいて制御されるべき前記産業プロセスを表わす１つまたは複数のワークシートを作成する工程をさらに含む、方法。
（９）  実施態様８に記載の方法において、
前記入力情報は、操作プロセスの入力および出力、測定単位、タグ、プロセスモーター、機器モジュール、ならびにバルブを含む、方法。
（１０）  実施態様６に記載の方法において、
翻訳する前記工程およびプログラムする前記工程は、前記ＰＬＣが前記産業プロセスと関連付けられるコンピュータシステムに接続されていない間に実行される、方法。
【図面の簡単な説明】
【００５８】
【図１】本明細書に記載されるような本発明の機能を実行するのに適した計算システムの単純な描写である。
【図２】本発明のＰＬＣプログラミングおよび試験レポートシステムの主な機能を表わす単純な流れ図である。
【図３】本発明を用いてＰＬＣプログラミングに変換され得る、例としてのワークシートである。
【図４】ＰＬＣをプログラムするために本発明のシステムにユーザーがアクセスするための最初のインターフェースを表わす第１のスクリーンの表示である。
【図５】プログラムされるべきＰＬＣがＰＬＣをプログラムするのに使用される計算システムに物理的に接続されているかどうかを確かめるためのユーザーインターフェースを表わす第２のスクリーンの表示である。
【図６】メタノール処理（processing methanol）と関連付けられた例としての産業プロセスのためのプロセス制御入力のＵＩＴを表わす第３のスクリーンの表示である。
【図７】メタノール処理実施例のためのプロセス制御入力のＵＩＴを表わす第４のスクリーンの表示である。
【図８】メタノール処理実施例のためのプロセス制御入力のＵＩＴを表わす第５のスクリーンの表示である。
【図９】メタノール処理実施例のためのプロセス制御入力のＵＩＴを表わす第６のスクリーンの表示である。
【図１】
2015525921.tif 000003
【図２】
2015525921.tif 000004
【図３】
2015525921.tif 000005
【図４】
2015525921.tif 000006
【図５】
2015525921.tif 000007
【図６】
2015525921.tif 000008
【図７】
2015525921.tif 000009
【図８】
2015525921.tif 000010
【図９】
2015525921.tif 000011
【国際調査報告】
2015525921.tif 000012