説明

安全コントローラおよび自動化設備を制御する方法

【課題】安全コントローラの応答時間を短縮すると同時に安全コントローラを実装するコストを低減し、それによってその応用性に関して最適にされた、より高速でよりフレキシブルな安全コントローラを提供する。
【解決手段】少なくとも一部のコントローラハードウェアコンポーネント(26)が各自のプロジェクトデータメモリ(52, 52’, 52’’, 52’’’, 52’’’’)を有しており、前記プロジェクトデータメモリ(52, 52’, 52’’, 52’’’, 52’’’’)のそれぞれはプロジェクトデータ(130)を記憶するように設計されている。前記コントローラハードウェアコンポーネント(26)を互いに接続する接続ユニット(34)と、前記接続ユニット(34)を介して前記プロジェクトデータ(130)を前記プロジェクトデータメモリ(52, 52’, 52’’, 52’’’, 52’’’’)に分配するように設計されている分配ユニット(52, 142)と、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は安全コントローラ、および設備上で実行させるアプリケーションを表すプロジェクトデータに基づき自動化設備を制御する方法に関するものである。
【背景技術】
【0002】
本発明に関する安全コントローラとは、センサによって供給される入力信号を受信して、そこから論理の組み合わせおよび場合によってはさらなる信号またはデータ処理ステップによって出力信号を生成する装置またはデバイスである。出力信号はさらに、入力信号に基づいて、制御される設備の動作または反応を起こすアクチュエータに供給できる。
このような安全コントローラの好適な応用分野は、機械の安全分野における緊急停止押しボタン、両手コントローラ、防護ドアまたはライトグリッドのモニタリングである。このようなセンサは、たとえば、操作中に人または有形財に危険となる機械を保護するために用いられる。防護ドアが開いているとき、または緊急停止押しボタンが操作されるとき、それぞれの信号が生成されて、入力信号として安全コントローラに供給される。応答として、安全コントローラは次に、たとえばアクチュエータの助けを借りて危険が生じている機械の部分を停止させる。
【0003】
「一般的な」コントローラと対比した安全コントローラの特徴とは、安全コントローラは前記安全コントローラ自体またはそれに接続されているデバイスに誤作動が起こったとしても、危険な設備または機械の安全状態を必ず確保することである。そのため安全コントローラには固有のフェイルセーフ性に関してきわめて高い要望があることから、開発および製造にかかるコストが相当高くなってしまう。
【0004】
通常、安全コントローラは、使用される前に、専門職協会またはいわゆるドイツの

【0005】
などの適格な監督機関から特別な承認を受ける必要がある。この場合、安全コントローラは、たとえば、欧州規格EN954−1、またはIEC61508もしくはEN ISO13849−1などの匹敵する規格に定められる所定の安全基準を遵守しなければならない。そのため、以下の文章において、安全コントローラは少なくともEN954−1の安全カテゴリ3またはIEC61508規格に従い少なくともレベル2を満たす安全度水準(SIL)に適合する装置またはデバイスを意味すると理解される。
【0006】
プログラム可能な安全コントローラにより、ユーザはいわゆるユーザプログラムと呼ばれるソフトウェアの助けを借りて、そのニーズに合わせた論理の組み合わせおよび場合によっては他の信号またはデータ処理ステップを個々に定義できる。この結果、論理の組み合わせがさまざまな安全モジュールの確定したハードワイヤ結線により確立されていたかつてのソリューションと比較して大幅なフレキシビリティが得られる。ユーザプログラムは、たとえば、市販のパーソナル・コンピュータ(PC)の助けを借りて、および適切なソフトウェアプログラムを使用して生成できる。この状況において、ユーザプログラムという用語は、ユーザプログラムがソースコードおよびマシンコードの両方を含んでもよいことを意味すると理解される。
【0007】
複数の設備ハードウェアコンポーネントで構成されている大型で、そのため複雑な先行技術の設備の場合、通常は分散型安全コントローラが使用される。分散型安全コントローラは、複数のコントローラハードウェアコンポーネントを含む。これらは制御ユニット、センサおよびアクチュエータである。個々のコントローラハードウェアコンポーネントは個々の設備ハードウェアコンポーネントに割り当てられている。ハードウェアに関しては、分散型安全コントローラは大幅なフレキシビリティを特徴とする。
【発明の概要】
【発明が解決しようとする課題】
【0008】
このように、安全コントローラは任意の数の異なるコントローラハードウェアコンポーネントから構成でき、そのため制御される設備の所与の状況に柔軟に合わせることができる。しかし、プログラミングまたはソフトウェア関連の実装、ひいてはデータ処理に関する問題に関しては、分散型安全コントローラはまだ最適とはいえない。したがって、プロジェクトデータ、つまり制御される設備で実行させるアプリケーションを表すデータの個々のコントローラハードウェアコンポーネントへの分配は提供されていない。このことはハードウェアの実装に関して可能なフレキシビリティをかなりの程度まで制限しているだけでなく、別の欠点も伴う。プロジェクトデータが分配できない、そのため「その場で(on site)」処理できないために、離れたコントローラハードウェアコンポーネント間に相当なデータ交換を要する。このことが安全コントローラの応答時間を悪化させる、より正確には増やすことにつながる。この状況において「その場で」とは、そのような処理の必要があるデータが実際に利用できる場所で、たとえば、アクチュエータの駆動信号を判定するための入力信号を提供するセンサのすぐ近くに配置されている制御ユニットで、プロジェクトデータが処理されることを意味する。または処理はセンサ自体でも行われる。代わりに、応答時間の悪化を避けるために、適切に設計されたコントローラハードウェアコンポーネントおよび実際に必要なものよりも高いデータ交換が可能なデータバスを使用する。このことは安全コントローラを実装するコストを高める。コストに関しては、インテリジェントセンサおよびインテリジェントアクチュエータなどの個々のコントローラハードウェアコンポーネント内に存在してもよい空きメモリ、とくにデータメモリが使用されない、またその代わりに制御ユニットに内蔵されているデータメモリを実際に必要なものよりも大きな寸法にしなければならないという欠点もある。
【0009】
そのため、本発明の目的は、安全コントローラの応答時間を短縮すると同時に安全コントローラを実装するコストを低減し、それによってその応用性に関して最適にされた、より高速でよりフレキシブルな安全コントローラおよび方法を提供することである。
【課題を解決するための手段】
【0010】
本発明の目的は、コントローラハードウェアコンポーネントの少なくとも一部が各自のプロジェクトデータメモリを含んでおり、前記プロジェクトデータメモリのそれぞれがそれに供給されるプロジェクトデータを記憶するように設計されている複数のコントローラハードウェアコンポーネントと、前記コントローラハードウェアコンポーネントが互いに接続されている接続ユニットと、前記接続ユニットを介して前記プロジェクトデータの少なくとも一部を前記プロジェクトデータメモリの少なくとも一部に分配するように設計されている分配ユニットとを有する、冒頭に述べた種類の安全コントローラによって達成される。
【0011】
本目的はまた、前記安全コントローラが接続ユニットを介して互いに接続されている複数のコントローラハードウェアコンポーネントを含み、前記コントローラハードウェアコンポーネントの少なくとも一部が各自のプロジェクトデータメモリを含み、前記プロジェクトデータメモリのそれぞれがそれに供給されるプロジェクトデータを記憶するように設計されており、プロジェクトデータを提供するステップと、前記プロジェクトデータの少なくとも一部を前記プロジェクトデータメモリの少なくとも一部に分配するステップと、を含む冒頭に述べた種類の方法によっても達成される。
【0012】
本発明の安全コントローラおよび本発明の方法は、安全コントローラ内に分配ユニットを提供するという概念に基づいており、この分配ユニットはプロジェクトデータの少なくとも一部をコントローラハードウェアコンポーネントに配置されているデータメモリに分配し、そのため安全コントローラを構成しているコントローラハードウェアコンポーネントにプロジェクトデータを分配するように設計されている。したがって、プロジェクトデータはさまざまなコントローラハードウェアコンポーネントに内蔵されている個々のデータメモリに選択的に記憶させることができる。これによって、プロジェクトデータをいわゆるインテリジェント入出力ユニットにも記憶させることができる。これらは、マイクロプロセッサなどのデータ処理ユニットおよびデータメモリを有するセンサおよびアクチュエータである。その結果、そうでなければ大部分が未使用のままであろう安全コントローラ内に存在しているデータメモリをプロジェクトデータに占有させることができ、そのため利用できる。その結果、安全コントローラ内に存在している制御ユニットに、将来、より小型のデータメモリを装備することができる。これにより安全コントローラのコストが低減する。
【0013】
同時に、安全コントローラの応答時間が短縮する。プロジェクトデータは、たとえば必要なセンサ信号を発する場所、またはアクチュエータの駆動信号が提供されなければならない場所に記憶させることができ、そのためそこで利用できる。これによりデータ交換が減り、最終的には応答時間の短縮につながる。データ交換の減少は安全コントローラの応用性の増大にもつながる。交換しなければならないデータが少なくなるため、データ送信エラーの発生も少なくなる。
【0014】
多数のプロジェクトデータメモリにプロジェクトデータを分散させる、したがって記憶させることは、安全コントローラの実装および取り扱いに関しても利点を有する。たとえば、安全コントローラでのプロジェクト作業の後、試運転で安全コントローラに存在し、すべてのデータメモリによって形成されている記憶容量が低すぎることが分かった場合、データメモリを有する追加のコントローラハードウェアコンポーネントを挿入することによって拡張できる。したがって、プロジェクトデータは以前のデータメモリと追加したものとにあらためて分配できる。こうして安全コントローラを任意にスケールできる。
【0015】
コントローラハードウェアコンポーネント内に配置されているデータメモリが、たとえば、取外し可能なメモリカードとして設計されている場合、新たなコントローラハードウェアコンポーネントに必要なプロジェクトデータは、必要であれば装置の交換中に簡単に提供できる。欠陥のあるコントローラハードウェアコンポーネントからメモリカードを取り出して、それを代わりのコントローラハードウェアコンポーネントに挿入するだけでよい。このため、たとえば、アドレスデータ、構成データおよびプログラムデータは、たとえばノートブックをこのために新たなコントローラハードウェアコンポーネントに接続しなくても提供できる。
【0016】
そのため、上述した目的は完全に達成される。
改良形態では、分配ユニットはプロジェクトデータメモリの1つである。
この改良形態は、プロジェクトデータを分配するだけのために、安全コントローラに追加のユニットを提供する必要がないという利点を有する。プロジェクトデータの分配は、どのような場合であれ安全コントローラ内に存在しているプロジェクトデータメモリの1つによって行われる。このことが安全コントローラのコスト効果的な実装に供する。別の利点は、プロジェクトデータメモリに存在し、プロジェクトデータの処理に関して最適化されている機能性がプロジェクトデータの分配に使用できることにある。プロジェクトデータメモリのインターフェースが例としてあげられる。分配ユニットとして使用されるプロジェクトデータメモリは、プロジェクトデータの分配においてマスターの機能を有する。残りのプロジェクトデータメモリのそれぞれはスレーブの機能を担う。分配ユニットとして使用されるプロジェクトデータメモリは好ましくは、それが配置されているコントローラハードウェアコンポーネントの動作に必要な記憶容量よりも大きな記憶容量を有する。この理由は次のとおりである。つまり、プロジェクトデータの分配中に、安全コントローラの後の動作に必要なデータが生成される。さらに、これらは前記プロジェクトデータメモリに一時的に記憶させることができる。
【0017】
プロジェクトデータは通常、プログラミングユニット上で実行させるプログラミングツールを使用して生成される。一般にこれは構成上、安全コントローラとは分離されている。プログラミングユニットは、たとえば、パーソナル・コンピュータとして構成されているコンピュータを含む。プログラミングユニットから分配ユニットとして使用されるプロジェクトデータメモリにプロジェクトデータを送信するために、いくつかの代替例が実行可能である。すなわち、プログラミングユニットは、たとえば、ケーブルを介して、プロジェクトデータメモリが内蔵されているコントローラハードウェアコンポーネントに、またはプロジェクトデータメモリ自体にも接続できる。この実施形態は、完全なプロジェクトデータを1回のプロセスで安全コントローラに送る場合にとくに適する。別の実施形態では、プロジェクトデータは携帯記憶媒体を使用してプロジェクトデータメモリに転送できる。たとえば、SD(Secure Digital)メモリカードまたはCF(Compact Flash(登録商標))カードとして設計できるメモリカード、またはUSB(Universal Serial Bus)スティックは携帯記憶媒体と考えることができる。携帯記憶媒体を使用する場合、分配プロセスの初期化のために意図的なユーザアクションを行うと有利である。たとえば、携帯記憶媒体を挿入するコントローラハードウェアコンポーネントのグラフィカル・インターフェースを介して、必ず一定のキーの組み合わせを押す、またはボタンを操作する、または所定の入力を行うようにするのである。プログラミングユニットからプロジェクトデータメモリへのプロジェクトデータの直接送信において、分散プロセスはプログラミングユニットによって自動的に初期化されることが有利である。
【0018】
携帯記憶媒体の使用はさまざまな利点を有する。すなわち、携帯記憶媒体を選択されたコントローラハードウェアコンポーネントに選択的に接続することによって、プロジェクトデータを選択されたコントローラハードウェアコンポーネントだけに送ることが可能である。さらに別の利点は、携帯記憶媒体をセキュリティ目的でも使用できることである。すなわち、安全コントローラに記憶されているマシンコードを携帯記憶媒体に記憶させて、必要なときに再び安全コントローラに読み込むことができる。
【0019】
別の改良形態では、分配ユニットは、この目的のために安全コントローラに設けられているインターフェースに少なくとも一時的に接続されている外部分配ユニットである。
外部分配ユニットを、プロジェクトデータを生成するプログラミングツールを実行しているプログラミングユニットに配置するととくに有利である。その結果、プロジェクトデータはプログラミングユニットから安全コントローラに直接転送できる。一方で、これは複雑さが減じる。他方で、プロジェクトデータの送信に関する潜在的な故障源がなくなるため、安全コントローラのフェイルセーフ性が高まる。この実施形態の別の利点は、いわゆる試運転では安全コントローラおよび制御される設備の機能性を試験し、プロジェクトデータに変更を行わなければならない事態が見つかる可能性があるが、その試運転でのプロジェクトデータの完了後に、これらは単純な方法で更新できる。
【0020】
プロジェクトデータはプログラミングユニットから安全コントローラに、たとえばケーブルで送信する。この場合、プログラミングユニットは安全コントローラに永久的に接続するのではなく、プログラミング期間中、つまりプロジェクトデータが生成される期間中だけ一時的に接続すると有利である。または、プロジェクトデータをプログラミングユニットから安全コントローラに転送する期間中だけでもよい。プロジェクトデータ、とくに制御される設備用のユーザプログラムはプログラミングユニットを使用して生成されるため、プログラミングユニットは安全コントローラの一部と考えることができる。
【0021】
別の改良形態では、プロジェクトデータメモリの少なくとも1つを、それに供給されるプロジェクトデータを少なくとも1つの他のプロジェクトデータメモリに転送するように、または別のプロジェクトデータメモリに記憶されているプロジェクトデータを要求するようにも設計される。
この改良形態は、安全コントローラに配置されているプロジェクトデータメモリへのプロジェクトデータのフレキシブルな分配に供する。プロジェクトデータメモリの1つをプロジェクトデータを転送するように設計しているため、安全コントローラに配置されているプロジェクトデータメモリにプロジェクトデータを分配するために使用することができる。プロジェクトデータメモリの少なくとも1つが別のプロジェクトデータメモリからプロジェクトデータを要求するように設計されているため、コントローラハードウェアコンポーネントで必要なプロジェクトデータをこのコンポーネントに配置されているプロジェクトデータメモリに記憶させる必要がない。その代わりに、これらプロジェクトデータはいつでも要求できるため、これらプロジェクトデータを任意のプロジェクトデータメモリに記憶させることが可能である。プロジェクトデータメモリの少なくとも1つに、両方の機能的な特徴を装備する、つまりプロジェクトデータの転送およびプロジェクトデータの要求の両方のために設計すると有利である。このことはプロジェクトデータのとくにフレキシブルな分配に供する。プロジェクトデータを記憶、転送および要求するように設計されているプロジェクトデータメモリは、この機能の範囲のために、プロジェクトデータサーバ、略してプロジェクトサーバとも呼ぶことができる。
【0022】
別の改良形態では、コントローラハードウェアコンポーネントは制御ユニットおよび/またはセンサおよび/またはアクチュエータである。
したがって、これはプロジェクトデータメモリとして使用できる制御ユニットに存在しているメモリだけでなく、いわゆるインテリジェントセンサおよびインテリジェントアクチュエータに存在しているメモリでもある。これはとくにプロジェクトデータをその場で直接部分的に処理できるように、プロジェクトデータのとくにフレキシブルな分配に供する。これは安全コントローラの応答時間の改善に貢献する。
【0023】
別の改良形態では、プロジェクトデータは複数のデータパケットに分割され、個々のデータパケットはそれぞれプロジェクトデータメモリの少なくとも1つに割り当てられている。
この改良形態は、プロジェクトデータをある分配基準に従って個々のプロジェクトデータメモリに選択的に割り当てることができるという利点を有する。このため安全コントローラは分配基準の対応する選択によって、さまざまなパラメータに関して最適化できる。
【0024】
別の改良形態では、コントローラハードウェアコンポーネントの少なくとも一部は少なくとも1つのデータ処理ユニットを含み、各データ処理ユニットに意図されるプロジェクトデータは、データ処理ユニットが配置されているコントローラハードウェアコンポーネントに内蔵されているプロジェクトデータメモリに記憶される。
プロジェクトデータを処理される場所に記憶させるデータをローカルに維持するというこの原則は、制御タスクの高速な、とくに効果的な処理に供し、そのため安全コントローラの応答時間の短縮に供する。データ処理ユニットの場合、これは動作のための入力データとしてデータを供給し、入力データに基づいたこの動作の結果として判定される出力データを出力するユニットとすることができる。しかし、データ処理ユニットは、データを別のユニットに転送するためにデータが供給されるユニットと理解することもできる。安全コントローラはさまざまな実施形態のデータ処理ユニットを内蔵する。すなわち、たとえば、データベースのメッセージ交換ユニットが使用される。これらは、たとえばそれ自体の制御ユニットが生成するデータを他の制御ユニットに提供して、他の制御ユニットが生成し、さらなる処理のためにそれ自体の制御ユニットで必要なデータを読み込む。このようなデータ処理ユニットはデータブローカという用語で知られている。これはイベントベースのメッセージ交換ユニットとすることもできる。このようなメッセージ交換ユニットは、別の制御ユニットまたは制御される設備の規定の応答をトリガするために規定の条件がそれ自体の制御ユニットで満たされたときに、信号を送り出す。そういったメッセージ交換ユニットはそれに対応して、そのような信号も受信する。こういったメッセージ交換ユニットはイベントブローカという用語で知られている。さらに、個々のコントローラハードウェアコンポーネント間でとにかくデータを交換できるようにするために必要な接続ユニットも使用される。こういったデータ処理ユニットはデータバス・インターフェースと呼ばれる。さらに、プロジェクトデータメモリはプロジェクトデータを記憶できるだけでなく、プロジェクトデータを要求および転送もできるので、プロジェクトデータメモリはデータ処理ユニットでもある。データ処理ユニットに関してそれぞれ記憶されるプロジェクトデータは、データ処理ユニットがどのように装備されているかによって異なる。データブローカ、イベントブローカまたはデータバス・インターフェースの場合、たとえば、構成データおよびパラメータ化データが記憶される。プロジェクトデータメモリの場合、パラメータ化データおよび構成データに加えてプロジェクトデータも記憶され、プロジェクトデータメモリが内蔵されている制御ユニットで処理されるプロジェクトデータが記憶されるのが好ましい。
【0025】
別の改良形態では、プロジェクトデータを生成するためのプログラミングユニットが提供され、プログラミングユニットは割当データを生成するように設計されており、分配ユニットはプロジェクトデータメモリに割当データに基づいてプロジェクトデータを分配するようにも設計されている。
この改良形態は、任意に指定可能な分配基準に従ってプロジェクトデータを個々のプロジェクトデータメモリに分配できるという利点を有する。同時に、これはエラーのない、および必要であればプロジェクトデータの任意の頻度で複製可能な分配を保証する。割当データの接続性に関しては、さまざまなアプローチが実行可能である。たとえば、割当データは提案の性質を有することができ、たとえば、プロジェクトデータの作成者または制御される設備のオペレータによって修正できる優先順位のリストを表すことができる。他方で、この場合プロジェクトデータの分配が完全に自動的に進行するように割当データの修正を不可能にすることもできる。
【0026】
たとえば、割当データは次の情報を含むことができる。安全コントローラに配置されている各プロジェクトデータメモリに関して、それに記憶予定のデータパケットまたはその後それに記憶されたデータパケットがリストにされる。これはどのデータパケットが、それぞれどのコントローラハードウェアコンポーネントまたはどのデータ処理ユニットに属するかを確立する。同様に、プロジェクトデータの分配中に考慮されるプロジェクトデータメモリの順序は割当データによって確立できる。このような順序は、どの場合もまず分配ユニットとして使用されるプロジェクトデータメモリを考慮することを定める。割当データは、各個々のプロジェクトデータメモリに関して、データパケットをそれぞれ各プロジェクトデータメモリに記憶予定である、またはその後それに記憶された情報項目を含むことができる。さらに、各コントローラハードウェアコンポーネントのプロジェクトデータがどのプロジェクトデータメモリに配置されるかを指定する情報項目は、コントローラハードウェアコンポーネントごとに提供できる。この情報項目は、たとえば、安全コントローラの起動または再構成中に必要である。この情報が存在する場合、各コントローラハードウェアコンポーネントおよび/または各データ処理ユニットは、そのために意図されるプロジェクトデータをそれが記憶されている対応するプロジェクトデータメモリから呼び出すことができる。分配プロセス自体の間に限って割当データの一部を生成することも実行可能である。これは、たとえば、各コントローラハードウェアコンポーネントのプロジェクトデータがどのプロジェクトデータメモリに配置されるかを指定するデータに関して利用できる。
【0027】
別の改良形態では、プログラミングユニットは、少なくとも1つのデータ処理特性図に基づいて割当データを判定するように設計されている。
この場合のデータ処理特性図は、データ処理に使用されるコンポーネントのデータ処理に関するパラメータを表す。これは、たとえば、マイクロプロセッサのクロック周波数、データブローカもしくはイベントブローカもしくはデータバス・インターフェースのデータレート、またはプロジェクトデータメモリの記憶容量とすることができる。割当データの判定にあたって、コントローラハードウェアコンポーネントまたはこれらに取り付けられている個々のユニットのデータ処理特性図を考慮する場合、プロジェクトデータは最適データ処理の観点から分配できる。したがって、その処理に高度なコンピュータ能力を要し、たとえば高性能のマイクロプロセッサを備えているコントローラハードウェアコンポーネントに記憶されているプロジェクトデータを、最適データ処理の観点から分配できる。さらに、データパケットを安全コントローラに存在しているデータメモリに、そのサイズに基づいて分配できる。たとえば、小さなデータパケットは小さな記憶容量を有するデータメモリに選択的に記憶させることができる。この改良形態は好ましくは、プロジェクトデータメモリへのプロジェクトデータの完全な自動分配に適する。
【0028】
別の改良形態では、プログラミングユニットは、少なくとも1つの機能割当量に基づいて割当データを判定するように設計されている。
この状況において、機能割当量とは、単一のデータパケットまたは複合データパケットに関して、このデータパケットまたはこの複合物を記憶予定のプロジェクトデータメモリを表す。ここでプロジェクトデータメモリは、プロジェクトデータが処理されるコントローラハードウェアコンポーネント、とくに制御ユニットに配置されているプロジェクトデータメモリで、記憶が行われることになるという事実によって指定される。たとえば、その信号が入力信号として必要なセンサに空間的に近いために、および/または判定される駆動信号によって駆動されるアクチュエータに空間的に近いためである。この措置は、プロジェクトデータがその場で維持され、そのため個々のコントローラハードウェアコンポーネント間のデータ交換が最小限まで減少するため、安全コントローラの短い応答時間に供する。機能割当量は好ましくは、ユーザプログラムのどの範囲がどのコントローラハードウェアコンポーネントで、たとえば制御ユニットで実行されるかを指定することによって、ユーザプログラムのプログラマによって指定される。
【0029】
別の改良形態では、プロジェクトデータの少なくとも一部はプロジェクトデータメモリに冗長的に記憶される。
データパケットの冗長記憶は、それぞれのデータパケットを二重化することによって達成される。したがって、オリジナルのデータパケットと二重化されたデータパケットとがそれぞれ別のプロジェクトデータメモリに記憶されることを条件に、二重化されたデータパケットはプロジェクトデータメモリに独立して分配される。この措置は安全コントローラ、そのため制御される設備の応用性を高めるという利点を有する。たとえば、非安全関連のコントローラハードウェアコンポーネントが故障した場合、そのプロジェクトデータメモリに記憶されていたプロジェクトデータは、別のプロジェクトデータメモリにまだ存在しているため、以前と同様にまだ利用できる。これは欠陥のあるコントローラハードウェアコンポーネントの交換も容易にする。欠陥のあるコンポーネントを新品のコンポーネントに交換するだけでよい。新品のコンポーネントに必要なプロジェクトデータは、たとえばそれがまだ記憶されているそれぞれのプロジェクトデータメモリから自動的に要求されて、新品のコンポーネントのプロジェクトデータメモリに記憶させることができる。プロジェクトデータの冗長記憶は、個々の制御タスクを並行して実行することにも供する。
【0030】
別の改良形態では、プロジェクトデータはプログラムデータおよび/または構成データおよび/またはパラメータ化データを含む。
この状況において、プログラムデータはユーザプログラムを表し、ユーザプログラムが作成されるときに生成される。構成データはデータ送信の個々の部分アスペクトを表す。これらは、たとえば、サイクルタイム、コントローラハードウェアコンポーネントのうちのどれを互いに接続するかを指定する相互接続データ、またはどのセンサまたはアクチュエータを個々の制御ユニットのどの入力もしくは出力に割り当てるかを表すデータ、または個々のコントローラハードウェアコンポーネント間で交換するデータの、たとえば種類を指定するデータである。このように、これらは分配されるとおりに実装される安全コントローラの構成を表すデータである。構成データはユーザプログラムの作成中に生成できる。しかし、これはユーザプログラムの生成後も一定の範囲までは生成および改変できる。パラメータ化データはユーザプログラムで使用される個々の変数または機能性の値の範囲を表す。これらのデータはユーザプログラムの作成中に指定でき、または後で生成できる。この措置はコンピュータ能力または応答時間に関して安全コントローラのとくに効果的な最適化に供する。こうして、プログラムデータは処理される場所に記憶させることができる。構成データおよびパラメータ化データは、それが意図されるユニットが取り付けられている場所に記憶させることができる。
【0031】
別の改良形態では、プロジェクトデータメモリの少なくとも一部は、それぞれ供給されるプロジェクトデータをゼロ電圧保護方式で記憶するように設計されている。
この改良形態は、プロジェクトデータが、たとえば電圧故障後または安全コントローラの停止後もなお存在しているという利点を有する。このことは安全コントローラの応用性を高める。安全コントローラを再初期化する必要がない。たとえば、SDカードまたはCFカード形態のメモリカードがこの目的のために使用され、またはフラッシュメモリが使用される。
【0032】
プロジェクトデータを個々のプロジェクトデータメモリに分配中、分配プロセスの進行は、グラフィカル手段で示すことができるのが好ましい。その結果、制御される設備のオペレータは、たとえば、分配プロセスの状態について簡単に知ることができる。
各コントローラハードウェアコンポーネントは、プロジェクトデータメモリを内蔵していることが好ましい。このことはプロジェクトデータの最適な分配に供する。プロジェクトデータはそれが必要な場所で利用できる。
【0033】
制御される設備で実行させるアプリケーションは、標準制御タスクおよび安全制御タスクの両方を含むプロセスということもできる。
当然ながら、上で述べた特徴および以下の文でこれから説明する特徴は、それぞれにおいて明記される組み合わせだけでなく、本発明の範囲を逸脱することなく、他の組み合わせまたはそれ自体でも使用できる。
【0034】
本発明の実施形態を図面に示しており、以下の説明で詳細に説明していく。
【図面の簡単な説明】
【0035】
【図1】制御される設備の概略図を示している。
【図2】設備ハードウェアコンポーネントに配置されているコントローラハードウェアコンポーネントの概略図を示している。
【図3】本発明の安全コントローラに存在しているプロジェクトデータメモリの簡略図を示している。
【図4】プロジェクトデータを作成するためのグラフィカル・インターフェースの簡略図を示している。
【図5】本発明の方法を説明するための簡略化したフローチャートを示している。
【図6】プロジェクトデータの提供を説明するための簡略化したフローチャートを示している。
【発明を実施するための形態】
【0036】
図1は、制御される設備を全体として参照番号10で示している。
設備10は複数の設備ハードウェアコンポーネント12を含む。この実施形態では、配置ステーション14と、加工ステーション16と、テストステーション18と、搬送ユニット20と、包装・パレット梱包ステーション22とがある。さらに、安全コントローラ全体を参照番号24で示している。安全コントローラ24は複数のコントローラハードウェアコンポーネント26を内蔵する。コントローラハードウェアコンポーネント26は制御ユニット28、センサ30およびアクチュエータ32である。
【0037】
この状況において、個々の制御ユニット28、センサ30および個々のアクチュエータ32はそれぞれ設備ハードウェアコンポーネント12の1つに割り当てられて、そこに空間的に配置されている。コントローラハードウェアコンポーネント12は接続ユニット34を介して互いに接続されている。接続ユニット34は、たとえば、イーサネット(登録商標)ベースのフィールドバスとして設計されているデータバスである。出願人に帰属すると考えられるSafety−Net p(登録商標)通信モデルに従い動作するデータバス設備を使用するのが好ましい。
【0038】
配置ステーション14を使用して、加工ステーション16をワークピースで充填する。これらワークピースは加工ステーション16で加工される。その後、加工されたワークピースは加工ステーション16によってテストステーション18に送られて、そこで加工されたワークピースが対応する試験基準を満たすかどうかを点検する。これらの試験基準を満たせば、加工ステーション16は再び新たなワークピースを充填できる。加工されたワークピースは搬送ユニット20によって包装・パレット梱包ステーション22に移される。後者では、多数の加工されたワークピースがまとめて束にされ、後にパレットに積まれる。
【0039】
個々のステーション14,16,18,22の作業領域は、たとえば、掛け金付きのロックボルトを有する安全スイッチを備える防護ドアによって保護できる。代わりにまたは補足的に、ライトグリッドまたはライトカーテンを使用することもできる。さらに、個々のステーション14,16,18,22には緊急停止押しボタンを備えることもでき、それによって電源から分離することによってそれぞれのステーションを安全状態にすることができる。この目的のために、対応する回路ブレーカが駆動される。前述の防護ドア、ライトグリッド、ライトカーテンおよび緊急停止押しボタンは、センサ30に内蔵されている安全関連センサである。回路ブレーカは、アクチュエータ32に内蔵されている安全関連アクチュエータである。センサ30は非安全関連センサを含むこともできる。これらは操作変数、たとえば、回転速度、角度または速度などの駆動または位置調整に必要な入力変数を検出するセンサである。アクチュエータ32は非安全関連のアクチュエータを含むこともできる。これらは、たとえば、モータまたは位置決めシリンダとすることができる。
【0040】
この実施形態では、制御ユニット28は各ステーション14,16,18,22に割り当てられる。この目的のために、制御ユニット28は独立コンポーネントとして設計されている。これはセンサ30およびアクチュエータ32にも当てはまる。しかし、この実施形態は制限として解釈するべきではない。共通の制御ユニットを、たとえば、2つのステーションに割り当てることも実行可能である。個々の設備ハードウェアコンポーネントは互いに構成上および空間的に分離できる。しかし、これらコンポーネントの各個を互いに連動連結させることも実行可能である。
【0041】
図1では、同一の機能のコンポーネントは同じ参照番号で示しており、ダッシュ符号の使用は、同じ参照番号の個々のコンポーネントを個々の設備ハードウェアコンポーネントへの個々の割当のためにまったく異なって形成できることを示している。このことは同様に信号にも当てはまる。この表示方法は他の図面にも適用される。
図2は、加工ステーション16およびその関連コントローラハードウェアコンポーネントをより詳細な図で示している。これらは制御ユニット28’、センサ30’およびアクチュエータ32’であり、接続ユニット34によって互いに接続されている。
【0042】
制御ユニット28’は、セーフティクリティカルなアプリケーションまたはプロセスを制御するために必要なフェイルセーフ性を達成するために、2チャンネルの冗長で構成されている。図2は2チャンネル構造を表すものとして、2つの別々のプロセッサ、つまり第1プロセッサ40および第2プロセッサ42を示している。この2つのプロセッサ40,42は、互いにモニタリングしてデータを交換できるように、双方向通信インターフェース44を介して互いに接続されている。制御ユニット28’および2つのプロセッサ40,42の2チャンネルは、多様な設計を有し、つまりできる限りシステマティックエラーを排除するために互いに異なっているのが好ましい。
【0043】
2つのプロセッサ40,42のそれぞれに接続されている入出力ユニットは、参照番号46で示されている。入出力ユニット46はセンサ30’からコントローラ入力信号48を受信して、これらを適応データフォーマットで2つのプロセッサ40,42のそれぞれに転送する。さらに、入出力ユニット46はプロセッサ40,42の制御下で、アクチュエータ32’を駆動するコントローラ出力信号50を生成する。
【0044】
参照番号52は、プロジェクトデータ54をデータパケットの形式で記憶しているプロジェクトデータメモリを示す。これは、データブローカ60用の第1構成データ58を含む第1データパケット56を含んでいる。プロジェクトデータメモリ52は、イベントブローカ66用の第2構成データ64を有する第2データパケット62を含む。プロジェクトデータメモリ52は、データバス・インターフェース72用の第3構成データ70を有する第3データパケット68を含む。プロジェクトデータメモリ52は、プロジェクトデータメモリ52自体の構成データを含む第4データパケットをさらに含む。さらに、プロジェクトデータメモリ52は、第5データパケット76および第6データパケット78を含む。これら2つのデータパケットは、制御ユニット28’で処理されるユーザプログラムの一部を表すプログラムデータを含む。また、プロジェクトデータメモリ52は、パラメータ化データを含む第7データパケット80を含む。これらパラメータ化データは、たとえば、プロジェクトデータの処理中に必要であり、たとえば、変数または機能性の値の範囲を定義する。
【0045】
アクチュエータ32’およびセンサ30’はプロジェクトデータメモリ52’,52’’,52’’’,52’’’’も備える。これは制限効果をもつわけではない。すべてのコントローラハードウェアコンポーネントがプロジェクトデータメモリを有する必要があるわけではない。また、プロジェクトデータメモリ52に、制御ユニット28’に内蔵されているユニットで処理されるプロジェクトデータ54を排他的に記憶することが必須なわけでもない。プロジェクトデータメモリ52には、リモートコントローラハードウェアコンポーネントに必要な、またはそこで処理されるプロジェクトデータ54も記憶させることができる。同様に、制御ユニット28’に内蔵されているユニットからのデータパケットは、リモートコントローラハードウェアコンポーネントのプロジェクトデータメモリにも記憶させることができる。図2に図示する個々のデータパケットへの分配は、制限的に解釈するべきではない。すべてがデータ処理ユニットに意図されている異なるプロジェクトデータ、たとえば、プログラムデータおよび構成データを組み合わせて、1つのデータパケットを形成することも実行可能である。
【0046】
プロジェクトデータメモリ52は、それに記憶されているプロジェクトデータ54がゼロ電圧保護方式で記憶されるように設計されている。この目的のために、プロジェクトデータメモリ52は、たとえばフラッシュメモリまたはSDカードまたはCFカードとして構成されている。
プロジェクトデータメモリ52、データブローカ60、イベントブローカ66およびデータバス・インターフェース72は、データ処理ユニットである。データバス・インターフェース72は、制御ユニット28’と接続ユニット34とのデータ交換を同期させる、つまり使用されるデータバスのバスプロトコルに従って行うことを保証する。
【0047】
この状況において、データバス・インターフェース72はデータブローカ60およびイベントブローカ66の両方を制御する。イベントブローカ66を介して、制御ユニット28’と接続ユニット34ひいては別のコントローラハードウェアコンポーネントとの間で、イベントに基づいてデータを交換する。たとえば、プロジェクトデータメモリ52に記憶予定のプロジェクトデータは、分配プロセス中にイベントブローカ66を介して供給される。また、別のコントローラハードウェアコンポーネントで要求されており、プロジェクトデータメモリ52に記憶されているプロジェクトデータは、イベントブローカ66によってそれに供給できる。
【0048】
データブローカ60を介して、制御ユニット28’と接続ユニット34、ひいては他のコントローラハードウェアコンポーネントのうちの1つとの間で、データベースのデータ交換を行う。たとえば、制御ユニット28’に必要なコントローラ入力信号は、データブローカ60を介して供給され、または制御ユニット28’で生成されるコントローラ出力信号が出力される。
【0049】
プロジェクトデータ54はマシンコードの形態で存在する。制御ユニット28’のフェイルセーフ動作を提供するために、プログラムデータを有する2つのデータパケット76,78をプロジェクトデータメモリ52に記憶させる。第5データパケット76は第1プロセッサ40用に意図されており、第6データパケット78は第2プロセッサ42用に意図されている。第5データパケット76は第1安全コード82と、標準コード84とを含む。第1安全コード82は、制御ユニット28’が取り扱うべき安全タスクの一部として、第1プロセッサ40を介して処理されるべき制御命令を含む。この種の制御命令を以下の文においては安全制御命令という。標準コード84は、制御ユニット28’を介して取り扱うべき標準タスクの一部として、第1プロセッサ40で処理するべき制御命令を含む。標準タスクとは、設備の所望の「通常の」動作シーケンスに起因し、とくに安全関連の重要性をもたないタスクである。この種の制御命令を、以下の文において標準制御命令という。第6データパケット78は、第2プロセッサ42で取り扱うべき制御命令を含む第2安全コード86を含む。これらの制御命令は以下の文において安全制御命令という。
【0050】
処理の進行に応じて、第1安全制御命令88および標準制御命令90は第1プロセッサ40で処理される。実質的に同時に、第2安全制御命令92が第2プロセッサ42で処理される。
非安全関連制御命令である標準制御命令90の処理の一部として、第1非安全関連データ94が第1プロセッサ40と入出力ユニット46との間で交換される。このプロセス中、非安全関連センサ95で生成される非安全関連コントローラ入力信号48の瞬時値が、第1プロセッサ40に供給される。非安全関連センサ95は、たとえば、駆動調整に必要な入力変数を検出するセンサである。これらは、たとえば、回転速度、角度または速度とすることができる。非安全関連センサ95は非フェイルセーフになるように構成されている。入出力ユニット46には非安全関連コントローラ出力信号50の瞬時値が供給されて、これが駆動信号として非安全関連アクチュエータ97に供給される。非安全関連アクチュエータ97は、たとえば、モータまたは位置決めシリンダとすることができる。非安全関連コントローラ出力信号50の瞬時値は、標準制御命令に従い非安全関連コントローラ入力信号48に依存して判定される。この状況において、その瞬時値が第2非安全関連データ96によってそれが一時的に記憶されるアクティブメモリ98に供給される中間量の判定を要してもよい。
【0051】
安全関連制御命令である第1安全制御命令88の処理の一部として、第1安全関連データ100は、第1プロセッサ40と入出力ユニット46との間で交換される。このプロセスで、第1プロセッサ40には、安全関連センサ101で生成される安全関連コントローラ入力信号48’の瞬時値が供給される。安全関連センサ101は、たとえば、緊急停止押しボタン、防護ドア、速度モニタリング装置、または安全関連のパラメータを記録する他のセンサである。入出力ユニット46には安全関連コントローラ入力信号50’の瞬時値が供給されて、これが駆動信号として安全関連アクチュエータ103に供給される。安全関連アクチュエータ103は、たとえば、電源102と加工ステーション16との間の接続部に配置されている常時開接点を有する冗長安全ブレーカである。したがって加工ステーション16の電源102は2チャンネルで電源を切ることができ、その結果、対応する誤作動が発生した場合に少なくとも加工ステーション16を安全状態にすることができる。安全関連コントローラ出力信号50’の瞬時値は、安全制御命令に従い安全関連コントローラ入力信号48’に基づいて判定される。この状況において、その瞬時値が第2安全関連データ104によってそれが一時的に記憶されるアクティブメモリ98に供給される安全関連中間量の判定を要してもよい。
【0052】
安全関連制御命令である第2安全制御命令92の処理において、手順は第1安全制御命令88に従う。第2安全制御命令92に関しては、第1安全関連データ100に対応する第3安全関連データ106と、第2安全関連データ104に対応する第4安全関連データ108とが対応したやり方で使用される。
参照番号110は、個々のコントローラハードウェアコンポーネント間、ひいてはプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’間で場合によっては交換されるプロジェクトデータを示している。
【0053】
非安全関連制御命令および安全関連制御命令の両方を制御ユニット28’で処理する、図2に図示する描写は、制限効果をもつと解釈するべきではない。制御ユニット28’は、安全関連制御命令の専用処理のために設計することも実行可能である。
図3は、制御ユニット28に内蔵されているプロジェクトデータメモリ52、安全関連アクチュエータ103に内蔵されているプロジェクトデータメモリ52’、非安全関連アクチュエータ97に内蔵されているプロジェクトデータメモリ52’’、非安全関連センサ95に内蔵されているプロジェクトデータメモリ52’’’、および安全関連センサ101に内蔵されているプロジェクトデータメモリ52’’’’を示している。個々のプロジェクトデータメモリは、接続ユニット34を介して互いに接続されている。プロジェクトデータメモリの全体が合わせて仮想プロジェクトメモリ120を形成する。明確にするために、個々のプロジェクトデータメモリと接続ユニット34との間に存在してもよいコンポーネントの表示は省略している。
【0054】
図3において、プログラミングユニット全体を参照番号122で示している。プログラミングユニット122は本質的に、ディスプレイユニット126に接続されているコンピュータ124からなる。コンピュータ124上で、コンピュータプログラム128が実行される。コンピュータプログラム128は、制御される設備上で実行させるアプリケーションを表すプロジェクトデータ130を生成させることができる。この場合のプロジェクトデータ130はプログラムデータ、構成データおよびパラメータ化データを含む。コンピュータプログラム128は技術用語でプログラミングツールと呼ばれることが多い。コンピュータ124はPCとして設計でき、ディスプレイユニット126はモニタとして設計できる。
【0055】
本発明のある側面によると、プログラミングユニット122を使用して生成されて、コンピュータ124上に存在しているプロジェクトデータ130は、分散型構造を有する安全コントローラ24のプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’に転送される。この目的のために、プロジェクトデータ130は複数のデータパケット132に分割され、個々のデータパケット132はそれぞれプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’のうちの1つに割り当てられる。プロジェクトデータ、より正確には個々のデータパケット132は、ここで割当データ134に基づいて個々のプロジェクトデータメモリに分配される。割当データ134はプログラミングユニット122で生成される。割当データ134は、この状況においては、たとえば、少なくとも1つのデータ処理特性図または少なくとも1つの機能割当量に基づいて判定できる。
【0056】
プロジェクトデータ130を個々のプロジェクトデータメモリ52に分配できるようにするために、これを分配ユニットに供給する。本発明によると、この場合3つの異なる手順が可能である。この状況においては、安全コントローラ24は、プログラマが望むこれら3つの手順のうちの1つを選択できるように構成できる。しかし、安全コントローラ24は、プロジェクトデータ130の送信のために、手順のうちの1つだけまたは2つだけを提供するように設計することも実行可能である。
【0057】
第1手順を矢印136のシーケンスで示す。この配列では、プロジェクトデータ130および割当データ134の両方が、たとえば、ケーブルによってプログラミングユニット122からこの目的のために設けられている第1インターフェース138を介して、制御ユニット28に配置されているプロジェクトデータメモリ52に送信される。この場合、分配ユニットは、安全コントローラに配置されているプロジェクトデータメモリである。制御ユニット28に配置されているプロジェクトデータメモリ52は、割当データ134に従って、データパケット132を安全コントローラ24に内蔵されている個々のプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’に分配する。この目的のために、前記プロジェクトデータメモリ52は、それに供給されるプロジェクトデータを少なくとも1つの他のプロジェクトデータメモリに転送できるように構成されている。
【0058】
第2手順を矢印140の第1シーケンスで表す。この状況において、プロジェクトデータ130および割当データ134はまず、コンピュータ124に内蔵されている外部分配ユニット142上に提供される。この場合の外部分配ユニット142の機能性は、制御ユニット28に内蔵されているプロジェクトデータメモリ52に対応する。プロジェクトデータ130はさらにケーブルによって、たとえば、この目的のために設けられている第2インターフェース144を介して、接続ユニット34に供給されて、割当データ134に従い、安全コントローラ24に内蔵されている個々のプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’に分配される。外部分配ユニット142は安全コントローラ24に永久的に接続する必要はない。たとえばデータ送信の期間だけ接続されていれば十分である。
【0059】
第3手順は矢印146の第2シーケンスで示す。この状況において、プロジェクトデータ130および割当データ134は携帯記憶媒体148に転送される。携帯記憶媒体148は、たとえば、SDカード、CFカードまたはUSBスティックとすることができる。それから携帯記憶媒体148はこのために設けられている受信ユニット150に差し込まれる。さらにプロジェクトデータ130は制御ユニット28に内蔵されているプロジェクトデータメモリ52に供給されて、これがさらに割当データ134に従い安全コントローラ24に内蔵されているプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’へのデータパケット132の分配を取り扱う。
【0060】
個々のプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’へのプロジェクトデータ130の分配に関しては、この目的のためにさまざまなアプローチが実行可能である。第1のアプローチによると、プロジェクトデータは本質的にその場に、つまりそれが処理される場所に記憶される。これは図3では次のように表される。つまり、制御ユニット28’’は第1データ処理ユニット152を内蔵している。第1データ処理ユニット152が必要とするプロジェクトデータは、制御ユニット28’’に内蔵されているプロジェクトデータメモリ52にデータパケット132’の形で記憶されている。したがって、第1データ処理ユニット152はそれが必要とするプロジェクトデータをこのプロジェクトデータメモリから直接呼び出せる。このアプローチでは、割当データ134は少なくとも1つの機能割当量に基づいて判定される。このアプローチでは、プロジェクトデータ130はそれが処理されるコントローラハードウェアコンポーネントに記憶されている。
【0061】
第2のアプローチによると、割当データ134は少なくとも1つのデータ処理特性図に基づいて判定される。データ処理特性図は、たとえば、2つのプロセッサ40,42のうちの1つのクロック周波数、またはデータブローカ60もしくはイベントブローカ66のデータレート、またはプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’の記憶容量とすることができる。いくつかの実施形態では、分配ユニットによって自動的にパラメータが判定され、分配ユニットが接続ユニットに接続されているプロジェクトデータを照会する。
【0062】
第2のアプローチでは、プロジェクトデータ130は、それが高いデータ処理能力を有するコントローラハードウェアコンポーネントに記憶させるように分配されることが好ましい。このアプローチでは、プロジェクトデータ130は本質的に任意に、つまり機能割当をせずに、安全コントローラ24に存在しているプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’に分配される。
【0063】
図3では、これは次のように示される。すなわち、第2データ処理ユニット154が必要とするプロジェクトデータは、制御ユニット28’に内蔵されているプロジェクトデータメモリ52にデータパケット132’’の形で記憶されている。したがってこの場合、プロジェクトデータは制御ユニットに記憶され、そこで処理もされる。対して、同じく制御ユニット28’に内蔵されている第3データ処理ユニット156に関しては、それが必要とするプロジェクトデータは制御ユニット28’に内蔵されているプロジェクトデータメモリ52には記憶されていない。その代わりに、これらプロジェクトデータはプロジェクトデータメモリ52’’のうちの1つにデータパケット132’’’の形で記憶されている。したがって第3データ処理ユニット156は、制御ユニット28’に内蔵されているプロジェクトデータメモリ52を介してこれらプロジェクトデータにアクセスできる。この構成では、第3データ処理ユニット156にとって、それが必要とするプロジェクトデータは実質的に制御ユニット28’に内蔵されているプロジェクトデータメモリ52に記憶されているように思われる。これを図3では点線で示すデータパケット132’’’で示している。
【0064】
第3データ処理ユニット156に関して、制御ユニット28’に内蔵されているプロジェクトデータメモリ52はプロキシの機能を有する。このプロジェクトデータメモリは、第3データ処理ユニット156にとって実質的に仮想プロジェクトメモリ120へのゲートである。個々のプロジェクトデータメモリへのプロジェクトデータの任意分配に供するために、プロジェクトデータメモリの少なくとも一部は供給されるプロジェクトデータを他のプロジェクトデータメモリに自動的に転送して、他のプロジェクトデータメモリからプロジェクトデータを要求するように設計する。この状況において、個々のプロジェクトデータメモリが同時に両方の機能性を示すことは実行可能である。このアプローチでは、個々のプロジェクトデータメモリに最低ボリュームのプロジェクトデータを記憶させることも実行可能である。これらは、たとえば、それぞれのコントローラハードウェアコンポーネントまたはデータ処理ユニットの安全コントローラを起動するために必要なプロジェクトデータである。
【0065】
安全コントローラ24の応用性を高めるために、プロジェクトデータ130の少なくとも一部はプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’に冗長的に記憶される。これは、図3では次のように示される。すなわち、第4データ処理ユニット158が必要とするプロジェクトデータは、制御ユニット28’に内蔵されているプロジェクトデータメモリ52およびプロジェクトデータメモリ52’’’’の1つの両方にデータパケット132’’’’の形で記憶されている。第3データ処理ユニット156に関連して説明したように、第4データ処理ユニット158のプロジェクトデータは、制御ユニット28’’’に内蔵されているプロジェクトデータメモリ52には記憶されていない。その代わりに、第4データ処理ユニット158は、制御ユニット28’に内蔵されているプロジェクトデータメモリ52に記憶されているデータパケット132’’’’またはプロジェクトデータメモリ52’’’’のうちの1つに記憶されているデータパケット132’’’’のいずれかにアクセスできる。たとえば、データパケット132’’’’が記憶されているプロジェクトデータメモリ52’’’’、またはさらにはこのプロジェクトデータメモリが内蔵されている完全なコントローラハードウェアコンポーネントが故障した場合でも、第4データ処理ユニット158が必要とするプロジェクトデータはなお、この場合制御ユニット28’に内蔵されているプロジェクトデータメモリ52で利用できる。プロジェクトデータを処理する制御ユニットに内蔵されているプロジェクトデータメモリに主に記憶されているプロジェクトデータを冗長的に記憶することも可能である。たとえば、これはデータパケット132’のプロジェクトデータに当てはまる。
【0066】
図3で選ばれている描写は制限的な効果を有すると解釈してはならない。安全コントローラは異なるように設計できる。したがって、非安全関連センサ、安全関連センサ、非安全関連アクチュエータ、安全関連アクチュエータおよび制御ユニットに、それぞれ図3に図示するようなプロジェクトデータメモリを備える安全コントローラを使用できる。しかし、たとえば、制御ユニットだけがプロジェクトデータメモリを備える安全コントローラも使用できる。しかし、これら2つの実施例の間に存在するプロジェクトデータメモリの装備の程度を示す安全コントローラの使用も実行可能である。制御ユニットとは別に、安全関連センサおよび安全関連アクチュエータはデータメモリも備えることが好ましい。また、第1インターフェース138および受信ユニット150の両方を1つの制御ユニットに配置することは必ずしも必須ではない。両者を任意のコントローラハードウェアコンポーネントに個々にまたはまとめて配置することができる。インターフェース138および/または受信ユニット150はプロジェクトデータメモリのうちの1つと合わせた構成ユニットを形成することも実行可能である。さらに、安全コントローラに取り付けられているプロジェクトデータメモリのうちの1つより多くを分配ユニットとして使用できることも提供できる。さらに、それぞれプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’のうちの1つだけ、つまり図面の最上部に記載されているものだけがデータパケットを含んでいる選択された描写は、制限的な効果を有するものではない。明確にするために、図面の下側の面に記載されているプロジェクトデータメモリについては、データパケットの描写を省略した。
【0067】
図4では、グラフィカル・インターフェース全体を参照番号170で示している。このグラフィカル・インターフェースで、プログラマはプロジェクトデータ130を生成できる。要するに、プログラムデータ、構成データおよびパラメータ化データが生成される。
グラフィカル・ユーザインターフェース170は、図示記号の形で複数の所定の設備ソフトウェアコンポーネント174を含む設備ソフトウェアコンポーネントアレイ172を含む。ユーザプログラム、ひいてはプログラムデータは、複数の設備ソフトウェアコンポーネントを提供することによって作成される。この目的のために、グラフィカル・ユーザインターフェース170は第1コンポーネントアレイ176を含む。提供されるべき設備ソフトウェアコンポーネントが選択されて、矢印178で示すように第1コンポーネントアレイ176に転送される。こうして第1コンポーネントアレイ176は提供される複数の設備ソフトウェアコンポーネント180を含む。コンポーネントのサブプログラムは、提供される設備ソフトウェアコンポーネント180を論理的に組み合わせることによって生成される。この目的のために、これら設備ソフトウェアコンポーネントの論理入力および論理出力が互いに接続されており、複数の接続部182で表されている。所定の設備ソフトウェアコンポーネントの選択に加えて、新規設備ソフトウェアコンポーネント184で示すように、新たな設備ソフトウェアコンポーネントも作成できる。個々の設備ソフトウェアコンポーネントは、それ自体が別のソフトウェアコンポーネントを含んでいないいわゆる要素コンポーネントとすることができる。しかし、それ自体が別のソフトウェアコンポーネントを含んでいるいわゆるグループコンポーネントとすることもできる。要素コンポーネントは多数のアスペクトブロックを含む。これらアスペクトブロックのそれぞれを互いに異なるいくつかのコントローラアスペクトのうちの1つに割り当て、これらコントローラアスペクトのそれぞれが安全コントローラの独立した部分アスペクトを表す。設備ソフトウェアコンポーネントはこの場合、設備ソフトウェアコンポーネントによって表される設備ハードウェアコンポーネントにとって重要なすべてのアスペクトブロックを含む。要素コンポーネントと比較して、グループコンポーネントは、アスペクトブロックの他に、要素コンポーネントまたは他のグループコンポーネントとして設計できるソフトウェアコンポーネントを追加で含む。グループコンポーネントを使用することによって、多数の階層面を有するユーザプログラムを作成できる。
【0068】
互いに異なるコントローラアスペクトは、好ましくは次のコントローラアスペクトとすることができる。つまり、標準コントローラアスペクト、安全コントローラアスペクト、診断アスペクト、ディスプレイアスペクト、エントリ制御アスペクト、冷却アスペクト、アクセス認証アスペクト、保守アスペクト、ロッキングアスペクト、手動操作アスペクト、またはデータ管理アスペクト。
【0069】
設備ソフトウェアコンポーネントに含まれている各アスペクトブロックに関して、その処理に必要な少なくとも論理量および/またはパラメータおよび/またはセンサ信号を関連入力を介してアスペクトブロックに供給しなければならず、それぞれ多数のアスペクトブロックで判定されて、関連出力を介してアスペクトブロックによって出力される論理量および/またはパラメータおよび/または出力信号を最初にボトムアップで指定する。それぞれのアスペクトブロックに接続されている実際のセンサおよび/またはアクチュエータは、最後にユーザプログラムの生成中にのみ行われる。さらに、それぞれのアスペクトブロックが割り当てられているコントローラアスペクトのために設備ソフトウェアコンポーネントのアスペクト特性を指定する機能プログラムは、それぞれ、設備ソフトウェアコンポーネントに含まれているアスペクトブロックの少なくとも一部に記憶される。
【0070】
グラフィカル・インターフェース170はアスペクトアレイ186も含む。このアスペクトアレイ186では、複数のアスペクトブロック188が配置されている。これらアスペクトブロックのそれぞれが同じコントローラアスペクトに割り当てられる。この状況において、複数のアスペクトブロック186は、ユーザプログラムのすべての階層面に含まれているアスペクトブロックを含む。
【0071】
グラフィカル・インターフェース170はセンサアレイ190も含む。このセンサアレイ190では、複数のセンサ図示記号192が配置されている。制御される設備に内蔵されている各センサについて、センサ図示記号はこの配列で提供される。グラフィカル・インターフェース170は別のアレイとしてアクチュエータアレイ194を含む。このアクチュエータアレイ194では、複数のアクチュエータ図示記号196が配置されている。制御される設備に内蔵されている各アクチュエータについて、アクチュエータ図示記号がこの状況で提供される。アスペクトアレイ186に含まれている複数のアスペクトブロック188について、アスペクトのサブプログラムが作成される。この目的のために、その入力および出力の両方のためのアスペクトブロックの少なくとも一部について、いわゆるI/Oマッピングが行われる。すなわち、信号入力の少なくとも一部は、センサ信号がそれぞれのアスペクトブロックで処理されるセンサに割り当てられる。例として、これを矢印198で示している。さらに、それぞれのアスペクトブロックで判定された出力信号で駆動されるアクチュエータは、コントローラ出力の少なくとも一部に割り当てられる。例として、これを矢印200で示している。代替例として、I/Oマッピングは入力フィールド202へのテキスト入力によって行うこともできる。
【0072】
グラフィカル・インターフェース170は、複数の所定のコントローラソフトウェアコンポーネント206を含むコントローラソフトウェアコンポーネントアレイ204を含む。これらコントローラソフトウェアコンポーネント206のそれぞれは、分散型構造の安全コントローラ24で使用できるコントローラハードウェアコンポーネントを表す。コントローラハードウェアコンポーネントは、たとえば、制御ユニット、センサまたはアクチュエータである。
【0073】
グラフィカル・インターフェース170は第2コンポーネントアレイ208も含む。この第2コンポーネントアレイ208では、ユーザプログラムのプログラマは、分散型安全コントローラ24を構成するコントローラハードウェアコンポーネントを表すコントローラソフトウェアコンポーネントを挿入できる。これは個々のコントローラソフトウェアコンポーネント206の選択および、例として矢印210で示すように第2コンポーネントアレイ208への転送によって行う。したがって第2コンポーネントアレイ208は提供される複数のコントローラソフトウェアコンポーネント212を含む。プログラマがユーザプログラムの少なくとも部分的な範囲について、どのプロジェクトデータをどのコントローラハードウェアコンポーネントに、より正確にはどのプロジェクトデータメモリに記憶するかを指定したい場合、提供される設備ソフトウェアコンポーネント180の少なくとも一部を提供されるコントローラソフトウェアコンポーネント212に割り当てることができる。これを矢印214,216で示す。これらの割当から、どの割当データ134がそのときに判定されるかに基づいて機能割当量が生成される。機能割当量の判定において、個々の設備ソフトウェアコンポーネント180間の接続部182も考慮できる。また、アスペクトブロックのために行うI/Oマッピングも考慮できる。
【0074】
しかし、割当データ134は自動的に、つまりプログラマが割当を行わなくても判定できる。コントローラソフトウェアコンポーネント212で表される各コントローラハードウェアコンポーネント26について、割当データ134が、たとえば、データ処理特性図に基づいて判定できるように、少なくとも1つのデータ処理特性図がデータベースに記憶される。この場合、個々のプロジェクトデータメモリへのプロジェクトデータ130の分配は、個々のコントローラハードウェアコンポーネントのデータ処理能力の観点から行われる。次の手順も実行可能である。つまり、分配プロセスを始める前に、プログラミングユニットがまず個々のコントローラハードウェアコンポーネントに照会を送信して、それぞれのデータ処理特性図を判定できるように、プログラミングツールを設計する。
【0075】
割当データ134の判定に関しては、さまざまな実施形態が実行可能である。
第1の実施形態では、割当データ134はもっぱらデータ処理特性図に基づいて判定される。この場合、プロジェクトデータは個々のコントローラハードウェアコンポーネントのデータ処理能力に従って分配される。
第2の実施形態では、割当データ134はもっぱら機能割当量に基づいて判定される。この状況において、機能割当量は、プログラマが個々の設備ソフトウェアコンポーネントを個々のコントローラソフトウェアコンポーネントに割り当てることによって指定する割当を表す。この場合、プログラマは個々のプロジェクトデータメモリへのプロジェクトデータの分配を指定する。機能割当量はメモリ位置、とくにプロジェクトデータメモリを表し、これは処理すべきプロジェクトデータおよび、たとえばセンサまたは別の制御ユニットから発せられるこの目的のために必要なデータの近接によって定義される。
【0076】
第3の実施形態では、割当データ134はデータ処理特性図および機能割当量の両方に基づいて判定できる。この場合、データ処理特性図を使用することによって、プログラマがその考えに従って依然として改変できる、プロジェクトデータ130の個々のプロジェクトデータメモリへの割当の提案をまず生成することが実行可能である。この状況において、これは2段階の手順である。まず、プロジェクトデータの分配をデータ処理能力の観点から提案して、さらにこれは機能割当の観点によって改変できる。
【0077】
所定のコントローラソフトウェアコンポーネント206に関しては、所定の構成データもデータベースに記憶させることができる。すなわち、プロジェクトデータ130はコントローラソフトウェアコンポーネントを提供することによって自動的に関連構成データも含む。しかし、ユーザプログラムの作成中に、たとえば入力フィールド202への対応する入力によって、構成データを修正または一般的に指定する可能性も存在する。これは、たとえば、ユーザプログラムを作成した後でも行うことができる。アスペクトブロック188に関しては、パラメータ化データを対応したやり方でデータベースに記憶させることができる。さらに、構成データの場合、これを修正または一般的にそれを指定する可能性もある。
【0078】
図5は、本発明の方法のシーケンスを示すフローチャートである。
ステップ230に従い、プロジェクトデータ130が提供される。次のステップ232で、データパケット132が生成される。この後にステップ234が続き、割当データ134が生成される。ステップ236で、さらに個々のデータパケット132が割当データ134に従い個々のプロジェクトデータメモリ52,52’,52’’,52’’’,52’’’’に分配される。データパケットが分配される手順によっては、ステップ234のすぐ後にステップ236は続かない。携帯記憶媒体148を使ってデータパケットを分配する場合、ステップ234とステップ236との間にステップ238を実行し、ステップ238でデータパケット132および割当データ134を携帯記憶媒体148に記憶させる。
【0079】
図6は、プロジェクトデータ130を提供するときの基本手順を示すフローチャートである。
ステップ240で、設備ソフトウェアコンポーネント180が提供される。その後のステップ242で、提供された設備ソフトウェアコンポーネント180が組み合わせられる。この後にステップ244が続いて、個々のアスペクトブロック168についてセンサおよびアクチュエータが指定される、つまりいわゆるI/Oマッピングが行われる。その後のステップ246で、コントローラソフトウェアコンポーネント212が提供される。その後のステップ248で、提供された設備ソフトウェアコンポーネント180は提供されたコントローラソフトウェアコンポーネント212に割り当てられる。

【特許請求の範囲】
【請求項1】
設備(10)上で実行させるアプリケーションを表すプロジェクトデータ(130)に基づいて、自動化設備(10)を制御する安全コントローラであって、
コントローラハードウェアコンポーネント(26)の少なくとも一部が各自のプロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)を含み、前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)はそれぞれがそれに供給されるプロジェクトデータ(130)を記憶するように設計されている、複数のコントローラハードウェアコンポーネント(26)と、
前記コントローラハードウェアコンポーネント(26)を互いに接続する接続ユニット(34)と、
前記接続ユニット(34)を介して前記プロジェクトデータ(130)の少なくとも一部を前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)の少なくとも一部に分配するように設計されている分配ユニット(52,142)と、
を含む安全コントローラ。
【請求項2】
前記分配ユニット(52,142)は、前記プロジェクトデータメモリ(52)のうちの1つであることを特徴とする、請求項1に記載の安全コントローラ。
【請求項3】
前記分配ユニット(52,142)は、前記安全コントローラ(24)にこの目的のために提供されるインターフェース(144)に少なくとも一時的に接続されている外部分配ユニット(142)であることを特徴とする、請求項1または請求項2に記載の安全コントローラ。
【請求項4】
前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)の少なくとも1つは、それに供給されるプロジェクトデータ(130)を少なくとも1つの他のプロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)に転送する、または別のプロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)に記憶されているプロジェクトデータ(130)を要求する、ように設計されていることを特徴とする、請求項1から請求項3のいずれか1項に記載の安全コントローラ。
【請求項5】
前記コントローラハードウェアコンポーネント(26)は、制御ユニット(28)および/またはセンサ(30)および/またはアクチュエータ(32)であることを特徴とする、請求項1から請求項4のいずれか1項に記載の安全コントローラ。
【請求項6】
前記プロジェクトデータ(130)は複数のデータパケット(132)に分割され、前記個々のデータパケット(132)のそれぞれは前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)の少なくとも1つに割り当てられることを特徴とする、請求項1から請求項5のいずれか1項に記載の安全コントローラ。
【請求項7】
前記コントローラハードウェアコンポーネント(26)の少なくとも一部は少なくとも1つのデータ処理ユニット(52,60,66,72)を含み、前記各自のデータ処理ユニット(52,60,66,72)に意図されたプロジェクトデータ(58,64,70,74)は、前記データ処理ユニット(52,60,66,72)が配置されている前記コントローラハードウェアコンポーネント(26)に内蔵されている前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)に記憶されることを特徴とする、請求項1から請求項6のいずれか1項に記載の安全コントローラ。
【請求項8】
前記プロジェクトデータ(130)を生成するためにプログラミングユニット(122)が提供され、前記プログラミングユニット(122)は割当データ(134)を生成するように設計されており、前記分配ユニット(52,142)は前記割当データ(134)に基づいて、前記プロジェクトデータ(130)を前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)に分配するように設計されていることを特徴とする、請求項1から請求項7のいずれか1項に記載の安全コントローラ。
【請求項9】
前記プログラミングユニット(122)は、少なくとも1つのデータ処理特性図に基づいて前記割当データ(134)を判定するように設計されていることを特徴とする、請求項8に記載の安全コントローラ。
【請求項10】
前記プログラミングユニット(122)は、少なくとも1つの機能割当量に基づいて、前記割当データ(134)を判定するように設計されていることを特徴とする、請求項8または請求項9に記載の安全コントローラ。
【請求項11】
前記プロジェクトデータ(130)の少なくとも一部は、前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)に冗長的に記憶されていることを特徴とする、請求項1から請求項10のいずれか1項に記載の安全コントローラ。
【請求項12】
前記プロジェクトデータ(130)は、プログラムデータ(76,78)および/または構成データ(58,64,70)および/またはパラメータ化データ(80)を含むことを特徴とする、請求項1から請求項11のいずれか1項に記載の安全コントローラ。
【請求項13】
前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)の少なくとも一部は、前記それぞれに供給されるプロジェクトデータ(130)をゼロ電圧保護方式で記憶するように設計されていることを特徴とする、請求項1から請求項12のいずれか1項に記載の安全コントローラ。
【請求項14】
プロジェクトデータ(130)に基づいて安全コントローラ(24)によって自動化設備(10)を制御する方法であって、
前記プロジェクトデータ(130)は前記設備(10)上で実行させるアプリケーションを表しており、前記安全コントローラ(24)は接続ユニット(34)を介して互いに接続されている複数のコントローラハードウェアコンポーネント(26)を含んでおり、前記コントローラハードウェアコンポーネント(26)の少なくとも一部は各自のプロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)を含んでおり、前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)のそれぞれはそれに供給されるプロジェクトデータ(130)を記憶するように設計されており、前記方法は、
プロジェクトデータ(130)を提供するステップと、
前記プロジェクトデータ(130)の少なくとも一部を前記プロジェクトデータメモリ(52,52’,52’’,52’’’,52’’’’)の少なくとも一部に分配するステップと、
を含む方法。
【請求項15】
プログラムコードが請求項1から請求項13のいずれか1項に記載の安全コントローラ(24)上で実行されているときに、請求項14の方法を行うように設計されている、前記プログラムコードを有するデータキャリアを含むコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2012−524355(P2012−524355A)
【公表日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2012−506394(P2012−506394)
【出願日】平成22年4月20日(2010.4.20)
【国際出願番号】PCT/EP2010/002438
【国際公開番号】WO2010/121798
【国際公開日】平成22年10月28日(2010.10.28)
【出願人】(501493037)ピルツ ゲーエムベーハー アンド コー.カーゲー (49)
【Fターム(参考)】