(57)【特許請求の範囲】
【請求項１】
第１の制御装置および第２の制御装置を含んだ複数個の制御装置を用いて、自動化システムを構成するための方法であって、
−  第１のインターフェースを有し、第１の標準に準拠する順次第１のアプリケーションに適している、第１のファンクション・ブロックを取得することであって、前記第１のファンクション・ブロックが、前記第１の標準に準拠する第１のツールの使用によって作成される、第１のファンクション・ブロックを取得することと、
−  第２の標準に準拠する第２のツールを用いて、前記第２の標準に準拠するイベント駆動型第２のアプリケーション向けのプラットフォーム独立モデルを作成することであって、前記第２のツールを用いて、前記第１のファンクション・ブロックのアグノスティック（ａｇｎｏｓｔｉｃ）な表象（ｐｒｅｓｅｎｔａｔｉｏｎ）を備える共有データベースにアクセスすることによって、前記第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを組み込むことを備える、プラットフォーム独立モデルを作成することと、
−  前記第１のファンクション・ブロックの構成を定義するため前記第１のツールを用いることによって、第１の制御装置構成を形成するために、前記第２のアプリケーション向けの前記第１の制御装置のプラットフォーム定義モデルを作成することと、
−  前記第２のアプリケーション向けのプラットフォーム固有モデルを作成することであって、
−  前記第２のツールを用いて、前記第１の制御装置に、前記第２のファンクション・ブロックを含んだ前記第２のアプリケーションの一次部分を、および前記第２の制御装置に、前記第２のアプリケーションの二次部分を割り当て、コンパイルすること、
−  前記第１のツールを用いて、前記第１のファンクション・ブロックのインスタンスを作成すること、
−  前記第１のツールを用いて、論理入力／出力を物理入力／出力に割り当てること、ならびに
−  前記第１のツールを用いて、前記第１のファンクション・ブロックを第１のアプリケーションにコンパイルすること
を備える、前記第２のアプリケーション向けのプラットフォーム固有モデルを作成することと、
−  前記第１の制御装置構成、前記第１のアプリケーション、および前記第２のアプリケーションの前記一次部分を前記第１の制御装置にダウンロードすることと
を備える方法。
【請求項２】
前記第１の標準が、ＩＥＣ標準６１１３１−３である、請求項１に記載の方法。
【請求項３】
前記第２の標準が、ＩＥＣ標準６１４９９である、請求項１または２に記載の方法。
【請求項４】
前記第１のファンクション・ブロックが、１または複数個のプライベート変数、およびアルゴリズムを備える、請求項１から３のいずか１項に記載の方法。
【請求項５】
第１の標準に準拠する順次第１のアプリケーション、および第２の標準に準拠するイベント駆動型第２のアプリケーションを並行して実行するように、請求項１に従って構成された制御装置を備え、前記第１のアプリケーションが、第１のインターフェースを有する第１のファンクション・ブロックを埋め込み、前記第２のアプリケーションが、前記第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを埋め込む、自動化システムのための処理装置。
【請求項６】
前記第１の標準が、ＩＥＣ標準６１１３１−３である、請求項５に記載の処理装置。
【請求項７】
前記第２の標準が、ＩＥＣ標準６１４９９である、請求項５または６に記載の処理装置。
【請求項８】
前記第１のファンクション・ブロックが、１または複数個のプライベート変数、およびアルゴリズムを備える、請求項５から７のいずれか１項に記載の処理装置。
【請求項９】
第１の制御装置および第２の制御装置を含んだ複数個の制御装置を用いて自動化システムを動作させるための方法であって、
−  第１のアプリケーションが、第１のインターフェースを有する第１のファンクション・ブロックを埋め込む、第１のアプリケーションの順次タスクを実行することと、
−  前記第１のアプリケーションと並行して、分散型第２のアプリケーションを実行することであって、前記第２のアプリケーションが、前記第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを埋め込む、分散型第２のアプリケーションを実行することと、
−  第１の制御装置および第２の制御装置は、請求項１に従って構成されることと、
を備える方法。
【請求項１０】
前記第２のファンクション・ブロックを実行することが、前記第１のファンクション・ブロックのアルゴリズムを実行することを備える、請求項９に記載の方法。
【請求項１１】
前記第２のファンクション・ブロックを実行することが、前記第１のファンクション・ブロックの変数を書き出し、および／または読み込むことを備える、請求項９または１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動化システムのための処理装置ならびに関連する方法、詳細には、複数個の制御装置を用いて自動化システムを構成し、および／または動作させるための方法（複数可）に関する。
【背景技術】
【０００２】
ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ：プログラム可能論理制御装置）は、数十年間、工場組立ライン、娯楽用乗り物、または照明器具における機械類制御など、電気機械工程の自動化に使用されてきた。機械動作を制御するアプリケーションは、通常、ＰＬＣのバッテリバックアップされたメモリ、または不揮発性のメモリに格納される。
【０００３】
プログラミング言語標準（ＩＥＣ６１１３１−３）は、１つのプロジェクトに含まれているアプリケーションが、単一のプラットフォーム制御装置（ＰＬＣ）において実行されることを意味する非分散型（集中型または順次）産業用アプリケーションに専用のプログラム可能論理制御装置に向けて開発されてきた。
【０００４】
長年にわたって分散型システムに対する必要性は、分散型（イベントベースの）産業用アプリケーションに専用のプログラミング言語標準（ＩＥＣ６１４９９）の開発をもたらしており、このことは、１つのプロジェクトに含まれているアプリケーションが複数個の自動化制御装置においてマッピングされ（ｍａｐｐｅｄ）、実行されることを意味する。
【０００５】
ＩｓａＧＲＡＦなど、プログラム可能論理制御装置向けに知られているプログラミング・ツールは、集中型または分散型の産業用アプリケーションに専用のＩＥＣ６１１３１−３とＩＥＣ６１４９９の両方に応える。これは、１つのプロジェクトに含まれているアプリケーションは、プロジェクトがＩＥＣ６１１３１−３を使用して作成される場合、単一のＰＬＣプラットフォームにおいて実行され、またはプロジェクトがＩＥＣ６１４９９を使用して作成される場合、ＰＬＣの組において実行されることになることを意味する。
【０００６】
ＩＥＣ６１１３１−３に従って編成されたファンクション／アプリケーションは、ＩＥＣ６１４９９アプリケーションに直接は使用され得ず、したがって、分散型アプリケーションに使用されることになる場合、元々、ＩＥＣ６１１３１−３に使用されたファンクション・ブロックの書換えが必要であり、これは、退屈で時間のかかる仕事である。
【０００７】
いくつかのＩＥＣ６１１３１−３に対応した装置から成る自動化システムが知られているが、アプリケーション全体を通じて一貫性を確保するには監視オートマトン（ｓｕｐｅｒｖｉｓｉｎｇ  ａｕｔｏｍａｔａ）または制御装置が必要である。加えて、制御装置間の通信は、順次実行に起因して可能性が低下する場合、手動で構成され、プログラミングされなくてはならない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＰＬＣの、具体的には、分散型システムの一部を形成するＰＬＣのための構成およびプログラミングを簡素化する方法、ならびに処理装置の必要性がある。
【０００９】
さらには、目的は、第１の標準（例えば、ＩＥＣ６１１３１−３）に適合する第１のアプリケーション（複数可）向けのファンクション・ブロックを、第２の標準（例えば、ＩＥＣ６１４９９）に適合する第２のアプリケーション（複数可）で使用することを容易にする方法および処理装置を提供することである。
【課題を解決するための手段】
【００１０】
したがって、第１の制御装置および第２の制御装置を含んだ複数個の制御装置を用いて、自動化システムを構成するための方法が開示され、この方法は、第１のインターフェースを有し、第１のアプリケーションに適している、１つの第１のファンクション・ブロックまたは複数個の第１のファンクション・ブロックを取得することであって、第１のファンクション・ブロックが、第１の標準に準拠する第１のツールの使用によって作成される、第１のファンクション・ブロックを取得することと、第２の標準に準拠する第２のツールを用いて、第２のアプリケーション向けのプラットフォーム独立モデル（ＰＩＭ：ｐｌａｔｆｏｒｍ  ｉｎｄｅｐｅｎｄｅｎｔ  ｍｏｄｅｌ）を作成することであって、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを組み込むことを備える、プラットフォーム独立モデルを作成することと、第１の制御装置構成を形成するために、第２のアプリケーション向けの第１の制御装置のプラットフォーム定義モデル（ｐｌａｔｆｏｒｍ  ｄｅｆｉｎｉｔｉｏｎ  ｍｏｄｅｌ）を作成することと、第２のアプリケーション向けのプラットフォーム固有モデル（ＰＳＭ：ｐｌａｔｆｏｒｍ  ｓｐｅｃｉｆｉｃ  ｍｏｄｅｌ）を作成することとを備える。第２のアプリケーション向けのプラットフォーム固有モデルを作成することは、第２のツールを用いて、第１の制御装置に、第２のファンクション・ブロックを含んだ第２のアプリケーションの一次部分を、および第２の制御装置に、第２のアプリケーションの二次部分を割り当て、コンパイルすること、第１のツールを用いて、第１のファンクション・ブロックのインスタンスを作成（例示化、ｉｎｓｔａｎｔｉａｔｅ）すること、第１のツールを用いて、論理入力／出力を物理入力／出力に割り当てること、ならびに第１のツールを用いて、第１のファンクション・ブロックを第１のアプリケーションにコンパイルすること、のうちの１つまたは複数あるいはすべてを備える。さらには、この方法は、第１の制御装置構成、第１のアプリケーション、および第２のアプリケーションの一次部分を、第１の制御装置ならびに／またはデータ担体にダウンロードすることを備えることができる。
【００１１】
さらには、自動化システムのための処理装置が開示され、この処理装置は、第１のアプリケーションおよび第２のアプリケーションを並行して実行するように構成された制御装置を備え、第１のアプリケーションは、第１のインターフェースを有する第１のファンクション・ブロックを埋め込み、第２のアプリケーションは、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを埋め込む。
【００１２】
さらには、第１の制御装置および第２の制御装置を含んだ複数個の制御装置を用いて自動化システムを動作させるための方法が開示され、この方法は、第１のアプリケーションが、第１のインターフェースを有する第１のファンクション・ブロックを埋め込む、第１のアプリケーションの順次タスクを実行することと、第１のアプリケーションと並行して分散型第２のアプリケーションを実行することであって、第２のアプリケーションが、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを埋め込む、分散型第２のアプリケーションを実行することとを備える。
【発明の効果】
【００１３】
本発明の利点は、各ＰＬＣが、スタンドアロンのＩＥＣ６１１３１−３アプリケーションを実行している間、ＰＬＣの組が、分散型のＩＥＣ６１４９９アプリケーションで協働するように有効にされることである。加えて、このシステムの各ＰＬＣにおいて、ＩＥＣ６１４９９アプリケーションとＩＥＣ６１１３１−３アプリケーションは、互いに協調する。
【００１４】
さらには、例えば、スタンドアロンのＩＥＣ６１１３１−３アプリケーションを専門とするプログラマによって、分散型アプリケーションをプログラミングするための時間は、著しく抑えられる。
【００１５】
従来、いくつかの島のＩＥＣ６１１３１−３自動化制御装置から成る大型の適用例（例えば、水処理工場）においては、実行全体の一貫性を確保する監視ＰＬＣを使用することが慣例である。本発明による方法および装置を用いると、分散型のＩＥＣ６１４９９アプリケーションを各ＰＬＣにおいて分割され、展開されることになるように実装することによって、これらの島間の監視機能を開発することが可能である。したがって、各ＩＥＣ６１１３１−３アプリケーション／プロジェクトに制御装置間の通信方法を含める必要はもはやなく、それは、これらの手段が、第２の（ＩＥＣ６１４９９）アプリケーションをマッピングするときに暗黙に展開されるからである。
【００１６】
方法および装置は、ＩＥＣ６１４９９のおかげで、既存のＩＥＣ６１１３１−３システム間の分散型制御の実現を簡素化し、容易にする。さらには、既存のＩＥＣ６１１３１−３ソフトウェアは、ＩＥＣ６１４９９システムで再使用可能であり、ＩＥＣ６１１３１−３についての既存のノウハウおよび人材能力が利用可能である。
【００１７】
本発明の上のならびに他の特徴および利点は、添付の図面を参照して、その例示的な実施形態を次に詳細に説明することによって、当業者には容易に明らかになろう。
【図面の簡単な説明】
【００１８】
【図１】自動化システムを構成するための例示的な方法の流れ図である。
【図２】本発明の方法を用いた手法を示す図である。
【図３】例示的なハイブリッドのアプリケーション・アーキテクチャを示す図である。
【図４】第１および第２の標準間の相互作用を示す図である。
【図５】全体的な機能図である。
【図６】自動化システムを動作させるための例示的な方法の流れ図である。
【発明を実施するための形態】
【００１９】
図は、明瞭にするために、概略的であり簡素化され、単に本発明を理解するのに必須である詳細を示しているにすぎず、他の詳細は、省略されている。全体を通じて、同じ参照数字は、同一の、または対応する部分に使用される。
【００２０】
この方法は、第１のインターフェースを有し、第１のアプリケーションに適している、第１のファンクション・ブロックを取得することを備え、第１のファンクション・ブロックは、第１の標準に準拠する第１のツールの使用によって作成される。第１のツールは、第１のフレームワークの部分であってよい。第２のツールは、第１のフレームワークとは別個の第２のフレームワークの部分であっても、または第１のフレームワークに統合されてもよい。フレームワークは、首尾一貫したやり方で、システムを設計するためのソフトウェア／ツール手段の組である。
【００２１】
この方法は、第１のアプリケーションまたはランタイムのための第１のコンパイル工程、および第２のアプリケーションまたはランタイムのための第２のコンパイル工程を備えることができる。
【００２２】
２つの別個のコンパイル工程を使用することにより、第１のファンクション・ブロックの元のコンテキストを保存することによって、より円滑な移動経路が可能になる。
【００２３】
第１のファンクション・ブロックは、ＩＥＣ６１１３１−３に従うプログラム構成単位（ＰＯＵ：ｐｒｏｇｒａｍ  ｏｒｇａｎｉｚａｔｉｏｎ  ｕｎｉｔ）であってよい。ＰＯＵはまた、派生ファンクション・ブロック（ＤＦＢ：ｄｅｒｉｖｅｄ  ｆｕｎｃｔｉｏｎ  ｂｌｏｃｋ）として示されてもよい。第１のファンクション・ブロックは、１または複数個の入力および／あるいは１または複数個の出力による第１のインターフェース、１または複数個のプライベート内部変数、およびアルゴリズムを備えてもよく、またはそれらから成っていてもよい。アルゴリズムは、ＬＡＤＤＥＲ、ＦＢＤ（Ｆｕｎｃｔｉｏｎａｌ  Ｂｌｏｃｋ  Ｄｉａｇｒａｍ）、ＳＦＣ（Ｓｅｑｕｅｎｔｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｃｈａｒｔ）、ＳＴ（Ｓｔｒｕｃｔｕｒｅｄ  Ｔｅｘｔ）、またはＩＬＳ（Ｉｎｓｔｒｕｃｔｉｏｎ  Ｌｉｓｔ）など、ＩＥＣ６１１３１−３言語を用いて開発され得る。この方法は、第１のツールを用いて、第１のファンクション・ブロックを作成することを備えることができる。第１のファンクション・ブロックは、システムをプログラミングするのに使用されるすべてのエンジニアリング・ツールによって、アクセス可能な共有データベースなどのデータベースに格納され得る。共有データベースは、各フィールドが、一意の識別子によって参照される単一のＮｏＳＱＬテーブルを備えてもよく、または単一のＮｏＳＱＬテーブルで構成されていてもよい。したがって、各フィールドは、例えば、対応するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を実装するＲＥＳＴアーキテクチャ・スタイルおよびＤａｔａ  Ｂａｓｅ  Ｅｘｐｌｏｒｅｒに基づくウェブ・サービスを使用するＵＲＩを介してアクセスできる。したがって、第１のインターフェースを有する第１のファンクション・ブロックを取得することは、例えば、第２のツールを使用して、共有データベースにアクセスすることを備えることができる。
【００２４】
この方法は、第２のファンクション・ブロックを組み込むこと、および／または作成することを備える。第２のファンクション・ブロックは、ＤＦＢ１など、ＤＦＢを統合できる汎用ＦＢからのＦＢ１など、ＦＢ（ＩＥＣ６１４９９のＦｕｎｃｔｉｏｎ  Ｂｌｏｃｋ）であってよい。
【００２５】
ＮｏＳＱＬテーブルを使用することにより、取り込まれたコンテンツを解釈する必要なしに、各ツールは、Ｄａｔａ  Ｂａｓｅ  Ｅｘｐｌｏｒｅｒを介して、それ自体のビューをテーブルに有することが可能になる。したがって、エンジニアリング・ツールは、ＤＦＢ１入力とＤＦＢ１出力によって定義されるインターフェースを加えることによって、およびインスタンス（事例、ｉｎｓｔａｎｃｅ）の名前をＩＥＣ６１４９９環境に格納することによって、簡単に汎用ブロックからＦＢ１を組成することができる。
【００２６】
この方法は、第２の標準に準拠する第２のツールを用いて、第２のアプリケーション向けのプラットフォーム独立モデル（ＰＩＭ）を作成することを備え、ここで、プラットフォーム独立モデルを作成することは、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを組み込むことを備える。使用者は、ＩＥＣ６１４９９エンジニアリング・ツール（第２のツール）を使用して、分散型第２のアプリケーションのＰＩＭを作成し、および／または定義することができる。ＰＩＭは、データおよびイベントの信号によって相互接続されたファンクション・ブロック（ＦＢ）を備えてよく、またはファンクション・ブロック（ＦＢ）から成る。ＰＩＭを構築するために、使用者は、ライブラリからファンクション・ブロックのタイプを使用する。このライブラリは、ＩＥＣ６１４９９標準ライブラリから、ツールに内蔵されているＦＢエディタから、および／または外部のサプライヤからもたらされるファンクション・ブロックを含むことができる。第２のアプリケーションは、分散型アプリケーションであってよい。
【００２７】
ライブラリは、ＩＥＣ６１１３１−３環境との統合を可能にする汎用ファンクション・ブロックを含むことができる。この汎用ファンクション・ブロックは、ＩＥＣ６１４９９汎用ファンクション・ブロックであってよく、ＩＥＣ６１１３１−３のＤＦＢまたはＰＯＵ（第１のファンクション・ブロック）をＩＥＣ６１４９９アプリケーションで使用できるようにするために、ＩＥＣ６１４９９イベント・インターフェースを含む。このイベント・インターフェースは、ツール内に統合されたエディタによって必要に応じて修正可能である。
【００２８】
この方法は、第２のアプリケーション向けの第１の制御装置のプラットフォーム定義モデル（ＰＤＭ）を作成することを備える。ＰＤＭを作成することは、ＤＦＢを作成するのに使用される（Ｕｎｉｔｙ）と同じエンジニアリング・ツール（第１のツール）を使用して、少なくとも第１および第２のＰＬＣのためのそれぞれのＰＬＣ構成を定義することを備えることができる。したがって、制御プラットフォームごとに、使用者は、それを作る物理的要素（ＰＳ、ＣＰＵ、ＩＯモジュール）を専用の構成エディタを使用して構成する。ＰＤＭを作成することは、第２のツール（ＩＥＣ６１４９９）を使用して、異なるＰＬＣ（機械）間の接続（Ｅｔｈｅｒｎｅｔネットワーク）を定義すること、または記述することを備えてよい。
【００２９】
この方法は、第２のアプリケーション向けのプラットフォーム固有モデル（ＰＳＭ）を作成することを備える。第２のアプリケーション向けのＰＳＭを作成することは、第２のツールを用いて、第１の制御装置に、第２のファンクション・ブロックを含んだ第２のアプリケーションの一次部分を、および第２の制御装置に、第２のアプリケーションの二次部分を割り当て、コンパイルすることを備えることができる。第２のアプリケーションの部分を割り当てることは、以前に構成されたＰＬＣ上に、第２の（分散型）アプリケーションの異なる部分を割り当てることを備えることができる。次いで、第２のアプリケーションの異なる部分間の通信を実行するＳｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｆｕｎｃｔｉｏｎ  Ｂｌｏｃｋ（ＳＩＦＢ）が、第２のツールによって、挿入され、例えば、自動的に挿入され得る。第２のアプリケーション向けのＰＳＭを作成することは、第２のアプリケーションの各部分を、対応するＰＬＣにダウンロードすることを備えることができる。
【００３０】
第２のアプリケーション向けのＰＳＭを作成することは、第１のツールを用いて、第１のファンクション・ブロックのインスタンスを作成することを備える。例えば、使用者は、第１のツール（ＩＥＣ６１１３１−３、例えば、Ｕｎｉｔｙ  Ｐｒｏ）を使用して、システムの分散された一部（ＤＩＳＴ：ｄｉｓｕｔｒｉｂｕｔｅｄ）に専用のタスクの「セクション（ｓｅｃｔｉｏｎ）」で、以前の割当てから生じるＤＦＢのインスタンスを作成することができる。このタスクは、ＭＡＳＴタスクおよびＦＡＳＴタスクを含むＰＬＣの順次ランタイム環境によって、管理されていないという特殊性を有する。例えば、ＤＦＢ１は、名前「ＤＦＢ１  Ｉｎｓｔａｎｃｅ」を用いて、セクションでインスタンスを作成されることができ、その入力／出力は、第２のファンクション・ブロックの入力／出力に関連付けられ得る。この方法は、分散型第２のアプリケーションの並行で実行することになる、ＭＡＳＴタスクおよびＦＡＳＴタスクをプログラミングすることを備えることができる。
【００３１】
この方法は、第１の制御装置構成、第１のアプリケーション、および第２のアプリケーションの一次部分を第１の制御装置にダウンロードすることを備える。例えば、使用者は、分散型第２のアプリケーションの要求に対して、インスタンスを作成されるＤＦＢを含んだ第１のアプリケーションをダウンロードすることができる。
【００３２】
第１のアプリケーションは、順次（シーケンシャル）であってよく、および／または第２のアプリケーションは、イベント駆動型であってよい。第１のアプリケーションは、ＩＥＣ標準６１１３１−３など、第１の標準に準拠していてよく、および／または第２のアプリケーションは、ＩＥＣ標準６１４９９など、第２の標準に準拠していてよい。
【００３３】
プラットフォーム独立モデルを作成することは、第２のツールを用いて、第１のファンクション・ブロックのアグノスティック（ａｇｎｏｓｔｉｃ）な表象（ｐｒｅｓｅｎｔａｔｉｏｎ）を備える共有データベースにアクセスすることを備えることができる。
【００３４】
自動化システムを動作させるための方法においては、第１のアプリケーションの順次タスクを実行することは、順次タスクＭＡＳＴ＆ＦＡＳＴを実行することを備えることができる。
【００３５】
第１のアプリケーションと並行して分散型第２のアプリケーションを実行することは、それらが、同じＰＬＣにおいて動作していてもいなくても、ファンクション・ブロックのネットワークによって作られたイベント・シーケンスに従って、分散型第２のアプリケーションを実行することを備えることができる。第２のファンクション・ブロック（例えば、ＩＥＣ６１４９９ファンクション・ブロック）が、共有データベースから取り込まれたＤＦＢを使用する場合には、第２のファンクション・ブロックの実行は、構成中に第１のアプリケーションとともにダウンロードされたコードを呼び出すことを示唆する。この実行はまた、第１の、例えば、ＩＥＣ６１１３１−３のランタイム環境を通じてもなお、ＤＦＢ変数を書き出し、読み込むことを示唆する。
【００３６】
第２のファンクション・ブロックを実行することは、第１のファンクション・ブロックのアルゴリズムを実行することを備えることができる。第２のファンクション・ブロックを実行することは、第１のファンクション・ブロックの変数を書き出し、および／または読み込むことを備えることができる。第２のアプリケーションの第２のファンクション・ブロックの本体は、第１の部分（ＩＥＣ６１１３１−３）で実行可能であり、したがって、ＰＬＣの内部変数および／または物理入力／出力にアクセスすることになる。
【００３７】
図１は、自動化システムを構成するための方法の例示的な流れ図である。方法１は、第１のインターフェースを有し、順次第１のアプリケーションに適している、第１のファンクション・ブロックを取得すること２を備え、第１のファンクション・ブロックは、第１の標準（ＩＥＣ６１１３１−３）に準拠する第１のツールの使用によって作成される。第１のファンクション・ブロックは、１または複数個のプライベート変数、およびアルゴリズムを備える。この方法は、第２の標準（ＩＥＣ６１４９９）に準拠する第２のツールを用いて、イベント駆動型第２のアプリケーション向けのプラットフォーム独立モデル（ＰＩＭ）を作成すること４に進み、ここで、プラットフォーム独立モデルを作成することは、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを組み込むことを備える。プラットフォーム独立モデルを作成すること４は、第２のツールを用いて、第１のファンクション・ブロックのアグノスティックな表象を備える共有データベースにアクセスすることを備える。ＰＩＭの作成４と同時に、この方法は、第１の制御装置構成を形成するために、第２のアプリケーション向けの第１の制御装置のプラットフォーム定義モデル（ＰＤＭ）を作成すること６に移り、次いで、第２のアプリケーション向けのプラットフォーム固有モデル（ＰＳＭ）を作成すること８に進む。第２のアプリケーション向けのＰＳＭを作成すること８は、第２のツールを用いて、第１の制御装置に、第２のファンクション・ブロックを含んだ第２のアプリケーションの一次部分を、および第２の制御装置に、第２のアプリケーションの二次部分を割り当て、および／またはコンパイルすること１０、第１のツールを用いて、第１のファンクション・ブロックのインスタンスを作成すること１２、ならびに第１のツールを用いて、論理入力／出力を物理入力／出力に割り当てること１４を備える。この方法は、第１のツールを用いて、第１のファンクション・ブロックを第１のアプリケーションにコンパイルすること１５に進み、この方法は、第１の制御装置構成、第１のアプリケーション、および第２のアプリケーションの一次部分を、第１の制御装置にダウンロードすること１６を備える。第２のツールを用いて、第１の制御装置に、第２のファンクション・ブロックを含んだ第２のアプリケーションの一次部分を、および第２の制御装置に、第２のアプリケーションの二次部分をコンパイルするステップは、コンパイルすること１５において実行可能である。
【００３８】
図２は、第１の制御装置および第２の制御装置に関して、本発明の方法を用いた手法を示している。プラットフォーム独立モデル（ＰＩＭ）が、イベント駆動型第２のアプリケーション向けに作成され４、ＰＩＭは、イベント・ライン４０におけるイベント入力／出力、およびデータ・ライン４２におけるデータ入力／出力とともに、１つまたは複数の第２のファンクション・ブロック３０、３２、３４、３６、３８を組み込む。プラットフォーム独立モデルを作成すること４は、第２のエディタを用いて、第１のファンクション・ブロック４４のアグノスティックな表象を備える共有データベースにアクセスし、それによって、第１のファンクション・ブロックを取得することを備える。ＰＩＭの作成と同時に、第２のアプリケーション向けの第１の制御装置ＰＡＣ１のプラットフォーム定義モデル（ＰＤＭ）が作成される。次いで、プラットフォーム固有モデル（ＰＳＭ）が、第２のアプリケーション向けに作成される８。第２のアプリケーション向けにＰＳＭを作成すること８は、第２のツールを用いて、第１の制御装置ＰＡＣ１に、第２のファンクション・ブロックを含んだ第２のアプリケーションの一次部分３０、３２、３４を、および第２の制御装置ＰＡＣ２に、第２のアプリケーションの二次部分３６、３８を割り当て、コンパイルすることを備える。第１のファンクション・ブロック４４は、第１のツールを用いて、インスタンスを作成され、論理入力／出力は、第１のツールを用いて、ＰＡＣ１のＩ／Ｏモジュール５８の物理入力／出力に割り当てられる４６。第１のファンクション・ブロックは、第１のツールを用いて、第１のアプリケーションにコンパイルされる。この方法は、第１の制御装置構成、第１のアプリケーション、および第２のアプリケーションの一次部分３０、３２、３４を第１の制御装置ＰＡＣ１にダウンロードすることを備える。任意選択で、この方法は、第２の制御装置構成、および第２のアプリケーションの二次部分３６、３８を第２の制御装置ＰＡＣ２にダウンロードすることを備える。
【００３９】
図３は、任意選択で、別個の第１および第２のフレームワークで、または共通のフレームワークで実装される第１のツール６３および第２のツール６４の使用によって構成される複数個の制御装置ＰＡＣ１、ＰＡＣ２、およびＰＡＣ３を含んだ例示的なハイブリッドのアプリケーション・アーキテクチャを示している。
【００４０】
図４は、第１および第２の標準間の相互作用を示している。制御装置ＰＡＣ１が、第１のランタイム環境（第１の標準）７０および第２のランタイム環境（第２の標準）７２を実行するように構成されている。
【００４１】
図５は、方法および装置の全体的な機能図を示している。
【００４２】
図６は、自動化システムを動作させるための方法の例示的な流れ図である。方法１００は、第１のアプリケーションが、第１のインターフェースを含む第１のファンクション・ブロックを埋め込む、第１のアプリケーションの順次タスクを実行すること１０２と、第１のアプリケーションと並行して、分散型第２のアプリケーションを実行すること１０４であって、第２のアプリケーションが、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを埋め込む、分散型第２のアプリケーションを実行すること１０４とを備える。第２のファンクション・ブロックを実行することは、第１のファンクション・ブロックのアルゴリズムを実行することを備える。さらには、第２のファンクション・ブロックを実行することは、第１のファンクション・ブロックの変数を書き出し、および／または読み込むことを備える。
【００４３】
例示的な方法（複数可）および処理装置（複数可）が、次の条項のうちのいずれかに従って開示される。
【００４４】
条項１．  第１の制御装置および第２の制御装置を含んだ複数個の制御装置を用いて自動化システムを構成するための方法であって、
−  第１のインターフェースを有し、第１のアプリケーションに適している、第１のファンクション・ブロックを取得することであって、第１のファンクション・ブロックが、第１の標準に準拠する第１のツールの使用によって作成される、第１のファンクション・ブロックを取得することと、
−  第２の標準に準拠する第２のツールを用いて、第２のアプリケーション向けのプラットフォーム独立モデルを作成することであって、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを組み込むことを備える、プラットフォーム独立モデルを作成することと、
−  第１の制御装置構成を形成するために、第２のアプリケーション向けの第１の制御装置のプラットフォーム定義モデルを作成することと、
−  第２のアプリケーション向けのプラットフォーム固有モデルを作成することであって、
−  第２のツールを用いて、第１の制御装置に、第２のファンクション・ブロックを含んだ第２のアプリケーションの一次部分を、および第２の制御装置に、第２のアプリケーションの二次部分を割り当て、コンパイルすること、
−  第１のツールを用いて、第１のファンクション・ブロックのインスタンスを作成すること、
−  第１のツールを用いて、論理入力／出力を物理入力／出力に割り当てること、ならびに
−  第１のツールを用いて、第１のファンクション・ブロックを第１のアプリケーションにコンパイルすること
を備える、第２のアプリケーション向けのプラットフォーム固有モデルを作成することと、
−  第１の制御装置構成、第１のアプリケーション、および第２のアプリケーションの一次部分を第１の制御装置にダウンロードすることと
を備える方法。
【００４５】
条項２．  第１のアプリケーションが、順次であり、第２のアプリケーションが、イベント駆動型である、条項１に記載の方法。
【００４６】
条項３．  第１のアプリケーションが、ＩＥＣ標準６１１３１−３など、第１の標準に準拠している、条項１または２に記載の方法。
【００４７】
条項４．  第２のアプリケーションが、ＩＥＣ標準６１４９９など、第２の標準に準拠している、条項１から３のいずれかに記載の方法。
【００４８】
条項５．  第１のファンクション・ブロックが、１または複数個のプライベート変数、およびアルゴリズムを備える、条項１から４のいずれかに記載の方法。
【００４９】
条項６．  プラットフォーム独立モデルを作成することが、第２のツールを用いて、第１のファンクション・ブロックのアグノスティックな表象を備える共有データベースにアクセスすることを備える、条項１から５のいずれかに記載の方法。
【００５０】
条項７．  第１のアプリケーションおよび第２のアプリケーションを並行して実行するように構成された制御装置を備え、第１のアプリケーションが、第１のインターフェースを有する第１のファンクション・ブロックを埋め込み、第２のアプリケーションが、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを埋め込む、自動化システムのための処理装置。
【００５１】
条項８．  第１のアプリケーションが、順次であり、第２のアプリケーションが、イベント駆動型である、条項７に記載の処理装置。
【００５２】
条項９．  第１のアプリケーションが、ＩＥＣ標準６１１３１−３など、第１の標準に準拠している、条項７または８に記載の処理装置。
【００５３】
条項１０．  第２のアプリケーションが、ＩＥＣ標準６１４９９など、第２の標準に準拠している、条項７から９のいずれかに記載の処理装置。
【００５４】
条項１１．  第１のファンクション・ブロックが、１または複数個のプライベート変数、およびアルゴリズムを備える、条項７から１０のいずれかに記載の処理装置。
【００５５】
条項１２．  第１の制御装置および第２の制御装置を含んだ複数個の制御装置を用いて自動化システムを動作させるための方法であって、
−  第１のアプリケーションが、第１のインターフェースを有する第１のファンクション・ブロックを埋め込む、第１のアプリケーションの順次タスクを実行することと、
−  第１のアプリケーションと並行して分散型第２のアプリケーションを実行することであって、第２のアプリケーションが、第１のインターフェースおよびイベント・インターフェースを備える第２のファンクション・ブロックを埋め込む、分散型第２のアプリケーションを実行することと
を備える方法。
【００５６】
条項１３．  第２のファンクション・ブロックを実行することが、第１のファンクション・ブロックのアルゴリズムを実行することを備える、条項１２に記載の方法。
【００５７】
条項１４．  第２のファンクション・ブロックを実行することが、第１のファンクション・ブロックの変数を書き出し、および／または読み込むことを備える、条項１２または１３に記載の方法。
【符号の説明】
【００５８】
１  構成のための方法
２  取得すること
４  ＰＩＭを作成すること
６  ＰＤＭを作成すること
８  ＰＳＭを作成すること
１０  割り当てること
１２  インスタンスを作成すること
１４  割り当てること
１５  コンパイルすること
１６  ダウンロードすること
３０  第２のファンクション・ブロック
３２  第２のファンクション・ブロック
３４  第２のファンクション・ブロック
３６  第２のファンクション・ブロック
３８  第２のファンクション・ブロック
４０  イベント・ライン
４２  データ・ライン
４４  第１のファンクション・ブロック
５０  プロセッサ、ＣＰＵ
５２  電源
５４  通信モジュール
５６  プロセッサ、ＣＰＵ
５８  Ｉｎｐｕｔ／Ｏｕｔｐｕｔモジュールおよび／または任意選択のモジュール（シリアル・リンクなど）
６０  Ｉｎｐｕｔ／Ｏｕｔｐｕｔモジュールおよび／または任意選択のモジュール（シリアル・リンクなど）
６２  Ｉｎｐｕｔ／Ｏｕｔｐｕｔモジュールおよび／または任意選択のモジュール（シリアル・リンクなど）
６３  第１のツール
６４  第２のツール
７０  第１のランタイム環境
７２  第２のランタイム環境
ＰＡＣ１  第１の制御装置
ＰＡＣ２  第２の制御装置
ＰＡＣ３  第３の制御装置
１００  動作させるための方法
１０２  順次タスクを実行する
１０４  分散型アプリケーションを実行する
【図１】
0006445029.tif 000002
【図２】
0006445029.tif 000003
【図３】
0006445029.tif 000004
【図４】
0006445029.tif 000005
【図５】
0006445029.tif 000006
【図６】
0006445029.tif 000007