(57)【特許請求の範囲】
【請求項１】
自動化設備（１０）上で実行させるアプリケーションを表すプロジェクトデータ（１３０）に基づいて、前記自動化設備（１０）を制御する安全コントローラであって、
コントローラハードウェアコンポーネント（２６）の少なくとも一部が各自のプロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）を含み、前記プロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）のそれぞれは、それに供給されるプロジェクトデータ（１３０）を記憶するように設計されている、複数のコントローラハードウェアコンポーネント（２６）と、
前記コントローラハードウェアコンポーネント（２６）を互いに接続する接続ユニット（３４）と、
前記接続ユニット（３４）を介して前記プロジェクトデータ（１３０）の少なくとも一部を前記プロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）の少なくとも一部に分配するように設計されている分配ユニット（５２，１４２）と、を備え、
前記コントローラハードウェアコンポーネント（２６）の少なくとも１つは、少なくとも２つの、第一および第二のデータ処理ユニット（１５４，１５６）を含み、
前記第一のデータ処理ユニット（１５４）が処理するプロジェクトデータ（１３０）は、前記第一および第二のデータ処理ユニットが配置されているコントローラハードウェアコンポーネント（２６）に内蔵されているプロジェクトデータメモリ（５２）に記憶されており、
前記第二のデータ処理ユニット（１５６）が処理するプロジェクトデータ（１３０）は、前記第一および第二のデータ処理ユニットが配置されている以外のコントローラハードウェアコンポーネント（２６）に内蔵されているプロジェクトデータメモリ（５２’’）に記憶されている、安全コントローラ。
【請求項２】
前記分配ユニット（５２，１４２）は、前記プロジェクトデータメモリ（５２）のうちの１つであることを特徴とする、請求項１に記載の安全コントローラ。
【請求項３】
前記分配ユニット（５２，１４２）は、前記安全コントローラ（２４）にこの目的のために提供されるインターフェース（１４４）に少なくとも一時的に接続されている外部分配ユニット（１４２）であることを特徴とする、請求項１または請求項２に記載の安全コントローラ。
【請求項４】
前記プロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）の少なくとも１つは、それに供給されるプロジェクトデータ（１３０）を少なくとも１つの他のプロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）に転送する、または別のプロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）に記憶されているプロジェクトデータ（１３０）を要求する、ように設計されていることを特徴とする、請求項１から請求項３のいずれか１項に記載の安全コントローラ。
【請求項５】
前記コントローラハードウェアコンポーネント（２６）は、制御ユニット（２８）および／またはセンサ（３０）および／またはアクチュエータ（３２）であることを特徴とする、請求項１から請求項４のいずれか１項に記載の安全コントローラ。
【請求項６】
前記プロジェクトデータ（１３０）は複数のデータパケット（１３２）に分割され、前記個々のデータパケット（１３２）のそれぞれは前記プロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）の少なくとも１つに割り当てられることを特徴とする、請求項１から請求項５のいずれか１項に記載の安全コントローラ。
【請求項７】
前記プロジェクトデータ（１３０）を生成するためにプログラミングユニット（１２２）が提供され、前記プログラミングユニット（１２２）は割当データ（１３４）を生成するように設計されており、前記分配ユニット（５２，１４２）は前記割当データ（１３４）に基づいて、前記プロジェクトデータ（１３０）を前記プロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）に分配するように設計されていることを特徴とする、請求項１から請求項６のいずれか１項に記載の安全コントローラ。
【請求項８】
前記プログラミングユニット（１２２）は、少なくとも１つのデータ処理特性図に基づいて前記割当データ（１３４）を判定するように設計されていることを特徴とする、請求項７に記載の安全コントローラ。
【請求項９】
前記プログラミングユニット（１２２）は、少なくとも１つの機能割当量に基づいて、前記割当データ（１３４）を判定するように設計されていることを特徴とする、請求項７または請求項８に記載の安全コントローラ。
【請求項１０】
前記第二のデータ処理ユニット（１５６）が処理するプロジェクトデータ（１３０）は、前記第二のデータ処理ユニット（１５６）が配置されている以外のコントローラハードウェアコンポーネント（２６）に内蔵されている前記プロジェクトデータメモリ（５２’’）に記憶されているとともに、さらに他のコントローラハードウェアコンポーネント（２６）に内蔵されているプロジェクトデータメモリにも冗長的に記憶されていることを特徴とする、請求項１から請求項９のいずれか１項に記載の安全コントローラ。
【請求項１１】
前記プロジェクトデータ（１３０）は、プログラムデータ（７６，７８）および／または構成データ（５８，６４，７０）および／またはパラメータ化データ（８０）を含むことを特徴とする、請求項１から請求項１０のいずれか１項に記載の安全コントローラ。
【請求項１２】
前記プロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）の少なくとも一部は、前記それぞれに供給されるプロジェクトデータ（１３０）をゼロ電圧保護方式で記憶するように設計されていることを特徴とする、請求項１から請求項１１のいずれか１項に記載の安全コントローラ。
【請求項１３】
プロジェクトデータ（１３０）に基づいて安全コントローラ（２４）によって自動化設備（１０）を制御する方法であって、
前記プロジェクトデータ（１３０）は前記自動化設備（１０）上で実行させるアプリケーションを表しており、前記安全コントローラ（２４）は接続ユニット（３４）を介して互いに接続されている複数のコントローラハードウェアコンポーネント（２６）を含んでおり、前記コントローラハードウェアコンポーネント（２６）の少なくとも一部は各自のプロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）を含んでおり、前記プロジェクトデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）のそれぞれはそれに供給されるプロジェクトデータ（１３０）を記憶するように設計されており、前記コントローラハードウェアコンポーネント（２６）の少なくとも１つは少なくとも２つの、第一および第二のデータ処理ユニット（１５４，１５６）を含み、前記方法は、
前記第一のデータ処理ユニット（１５４）が処理するプロジェクトデータ（１３０）を提供するステップと、
前記提供されたプロジェクトデータ（１３０）を前記第一および第二のデータ処理ユニットが配置されているコントローラハードウェアコンポーネント（２６）に内蔵されているプロジェクトデータメモリ（５２）に記憶させるステップと、
前記第二のデータ処理ユニット（１５６）が処理するプロジェクトデータ（１３０）を提供するステップと、
前記提供されたプロジェクトデータ（１３０）を前記第一および第二のデータ処理ユニット（１５６）が配置されている以外のコントローラハードウェアコンポーネント（２６）に内蔵されているプロジェクトデータメモリ（５２’’）に記憶させるステップと、を具備する、方法。
【請求項１４】
プログラムコードが請求項１から請求項１２のいずれか１項に記載の安全コントローラ（２４）上で実行されているときに、請求項１３記載の方法を行うように設計されている、前記プログラムコードを有するデータキャリアを含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は安全コントローラ、および設備上で実行させるアプリケーションを表すプロジェクトデータに基づき自動化設備を制御する方法に関するものである。
【背景技術】
【０００２】
本発明に関する安全コントローラとは、センサによって供給される入力信号を受信して、そこから論理の組み合わせおよび場合によってはさらなる信号またはデータ処理ステップによって出力信号を生成する装置またはデバイスである。出力信号はさらに、入力信号に基づいて、制御される設備の動作または反応を起こすアクチュエータに供給できる。
このような安全コントローラの好適な応用分野は、機械の安全分野における緊急停止押しボタン、両手コントローラ、防護ドアまたはライトグリッドのモニタリングである。このようなセンサは、たとえば、操作中に人または有形財に危険となる機械を保護するために用いられる。防護ドアが開いているとき、または緊急停止押しボタンが操作されるとき、それぞれの信号が生成されて、入力信号として安全コントローラに供給される。応答として、安全コントローラは次に、たとえばアクチュエータの助けを借りて危険が生じている機械の部分を停止させる。
【０００３】
「一般的な」コントローラと対比した安全コントローラの特徴とは、安全コントローラは前記安全コントローラ自体またはそれに接続されているデバイスに誤作動が起こったとしても、危険な設備または機械の安全状態を必ず確保することである。そのため安全コントローラには固有のフェイルセーフ性に関してきわめて高い要望があることから、開発および製造にかかるコストが相当高くなってしまう。
【０００４】
通常、安全コントローラは、使用される前に、専門職協会またはいわゆるドイツの
0005815504.tif 000002
【０００５】
などの適格な監督機関から特別な承認を受ける必要がある。この場合、安全コントローラは、たとえば、欧州規格ＥＮ９５４−１、またはＩＥＣ６１５０８もしくはＥＮ  ＩＳＯ１３８４９−１などの匹敵する規格に定められる所定の安全基準を遵守しなければならない。そのため、以下の文章において、安全コントローラは少なくともＥＮ９５４−１の安全カテゴリ３またはＩＥＣ６１５０８規格に従い少なくともレベル２を満たす安全度水準（ＳＩＬ）に適合する装置またはデバイスを意味すると理解される。
【０００６】
プログラム可能な安全コントローラにより、ユーザはいわゆるユーザプログラムと呼ばれるソフトウェアの助けを借りて、そのニーズに合わせた論理の組み合わせおよび場合によっては他の信号またはデータ処理ステップを個々に定義できる。この結果、論理の組み合わせがさまざまな安全モジュールの確定したハードワイヤ結線により確立されていたかつてのソリューションと比較して大幅なフレキシビリティが得られる。ユーザプログラムは、たとえば、市販のパーソナル・コンピュータ（ＰＣ）の助けを借りて、および適切なソフトウェアプログラムを使用して生成できる。この状況において、ユーザプログラムという用語は、ユーザプログラムがソースコードおよびマシンコードの両方を含んでもよいことを意味すると理解される。
【０００７】
複数の設備ハードウェアコンポーネントで構成されている大型で、そのため複雑な先行技術の設備の場合、通常は分散型安全コントローラが使用される。分散型安全コントローラは、複数のコントローラハードウェアコンポーネントを含む。これらは制御ユニット、センサおよびアクチュエータである。個々のコントローラハードウェアコンポーネントは個々の設備ハードウェアコンポーネントに割り当てられている。ハードウェアに関しては、分散型安全コントローラは大幅なフレキシビリティを特徴とする。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
このように、安全コントローラは任意の数の異なるコントローラハードウェアコンポーネントから構成でき、そのため制御される設備の所与の状況に柔軟に合わせることができる。しかし、プログラミングまたはソフトウェア関連の実装、ひいてはデータ処理に関する問題に関しては、分散型安全コントローラはまだ最適とはいえない。したがって、プロジェクトデータ、つまり制御される設備で実行させるアプリケーションを表すデータの個々のコントローラハードウェアコンポーネントへの分配は提供されていない。このことはハードウェアの実装に関して可能なフレキシビリティをかなりの程度まで制限しているだけでなく、別の欠点も伴う。プロジェクトデータが分配できない、そのため「その場で(on site)」処理できないために、離れたコントローラハードウェアコンポーネント間に相当なデータ交換を要する。このことが安全コントローラの応答時間を悪化させる、より正確には増やすことにつながる。この状況において「その場で」とは、そのような処理の必要があるデータが実際に利用できる場所で、たとえば、アクチュエータの駆動信号を判定するための入力信号を提供するセンサのすぐ近くに配置されている制御ユニットで、プロジェクトデータが処理されることを意味する。または処理はセンサ自体でも行われる。代わりに、応答時間の悪化を避けるために、適切に設計されたコントローラハードウェアコンポーネントおよび実際に必要なものよりも高いデータ交換が可能なデータバスを使用する。このことは安全コントローラを実装するコストを高める。コストに関しては、インテリジェントセンサおよびインテリジェントアクチュエータなどの個々のコントローラハードウェアコンポーネント内に存在してもよい空きメモリ、とくにデータメモリが使用されない、またその代わりに制御ユニットに内蔵されているデータメモリを実際に必要なものよりも大きな寸法にしなければならないという欠点もある。
【０００９】
そのため、本発明の目的は、安全コントローラの応答時間を短縮すると同時に安全コントローラを実装するコストを低減し、それによってその応用性に関して最適にされた、より高速でよりフレキシブルな安全コントローラおよび方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明の目的は、コントローラハードウェアコンポーネントの少なくとも一部が各自のプロジェクトデータメモリを含んでおり、前記プロジェクトデータメモリのそれぞれがそれに供給されるプロジェクトデータを記憶するように設計されている複数のコントローラハードウェアコンポーネントと、前記コントローラハードウェアコンポーネントが互いに接続されている接続ユニットと、前記接続ユニットを介して前記プロジェクトデータの少なくとも一部を前記プロジェクトデータメモリの少なくとも一部に分配するように設計されている分配ユニットとを有する、冒頭に述べた種類の安全コントローラによって達成される。
【００１１】
本目的はまた、前記安全コントローラが接続ユニットを介して互いに接続されている複数のコントローラハードウェアコンポーネントを含み、前記コントローラハードウェアコンポーネントの少なくとも一部が各自のプロジェクトデータメモリを含み、前記プロジェクトデータメモリのそれぞれがそれに供給されるプロジェクトデータを記憶するように設計されており、プロジェクトデータを提供するステップと、前記プロジェクトデータの少なくとも一部を前記プロジェクトデータメモリの少なくとも一部に分配するステップと、を含む冒頭に述べた種類の方法によっても達成される。
【００１２】
本発明の安全コントローラおよび本発明の方法は、安全コントローラ内に分配ユニットを提供するという概念に基づいており、この分配ユニットはプロジェクトデータの少なくとも一部をコントローラハードウェアコンポーネントに配置されているデータメモリに分配し、そのため安全コントローラを構成しているコントローラハードウェアコンポーネントにプロジェクトデータを分配するように設計されている。したがって、プロジェクトデータはさまざまなコントローラハードウェアコンポーネントに内蔵されている個々のデータメモリに選択的に記憶させることができる。これによって、プロジェクトデータをいわゆるインテリジェント入出力ユニットにも記憶させることができる。これらは、マイクロプロセッサなどのデータ処理ユニットおよびデータメモリを有するセンサおよびアクチュエータである。その結果、そうでなければ大部分が未使用のままであろう安全コントローラ内に存在しているデータメモリをプロジェクトデータに占有させることができ、そのため利用できる。その結果、安全コントローラ内に存在している制御ユニットに、将来、より小型のデータメモリを装備することができる。これにより安全コントローラのコストが低減する。
【００１３】
同時に、安全コントローラの応答時間が短縮する。プロジェクトデータは、たとえば必要なセンサ信号を発する場所、またはアクチュエータの駆動信号が提供されなければならない場所に記憶させることができ、そのためそこで利用できる。これによりデータ交換が減り、最終的には応答時間の短縮につながる。データ交換の減少は安全コントローラの応用性の増大にもつながる。交換しなければならないデータが少なくなるため、データ送信エラーの発生も少なくなる。
【００１４】
多数のプロジェクトデータメモリにプロジェクトデータを分散させる、したがって記憶させることは、安全コントローラの実装および取り扱いに関しても利点を有する。たとえば、安全コントローラでのプロジェクト作業の後、試運転で安全コントローラに存在し、すべてのデータメモリによって形成されている記憶容量が低すぎることが分かった場合、データメモリを有する追加のコントローラハードウェアコンポーネントを挿入することによって拡張できる。したがって、プロジェクトデータは以前のデータメモリと追加したものとにあらためて分配できる。こうして安全コントローラを任意にスケールできる。
【００１５】
コントローラハードウェアコンポーネント内に配置されているデータメモリが、たとえば、取外し可能なメモリカードとして設計されている場合、新たなコントローラハードウェアコンポーネントに必要なプロジェクトデータは、必要であれば装置の交換中に簡単に提供できる。欠陥のあるコントローラハードウェアコンポーネントからメモリカードを取り出して、それを代わりのコントローラハードウェアコンポーネントに挿入するだけでよい。このため、たとえば、アドレスデータ、構成データおよびプログラムデータは、たとえばノートブックをこのために新たなコントローラハードウェアコンポーネントに接続しなくても提供できる。
【００１６】
そのため、上述した目的は完全に達成される。
改良形態では、分配ユニットはプロジェクトデータメモリの１つである。
この改良形態は、プロジェクトデータを分配するだけのために、安全コントローラに追加のユニットを提供する必要がないという利点を有する。プロジェクトデータの分配は、どのような場合であれ安全コントローラ内に存在しているプロジェクトデータメモリの１つによって行われる。このことが安全コントローラのコスト効果的な実装に供する。別の利点は、プロジェクトデータメモリに存在し、プロジェクトデータの処理に関して最適化されている機能性がプロジェクトデータの分配に使用できることにある。プロジェクトデータメモリのインターフェースが例としてあげられる。分配ユニットとして使用されるプロジェクトデータメモリは、プロジェクトデータの分配においてマスターの機能を有する。残りのプロジェクトデータメモリのそれぞれはスレーブの機能を担う。分配ユニットとして使用されるプロジェクトデータメモリは好ましくは、それが配置されているコントローラハードウェアコンポーネントの動作に必要な記憶容量よりも大きな記憶容量を有する。この理由は次のとおりである。つまり、プロジェクトデータの分配中に、安全コントローラの後の動作に必要なデータが生成される。さらに、これらは前記プロジェクトデータメモリに一時的に記憶させることができる。
【００１７】
プロジェクトデータは通常、プログラミングユニット上で実行させるプログラミングツールを使用して生成される。一般にこれは構成上、安全コントローラとは分離されている。プログラミングユニットは、たとえば、パーソナル・コンピュータとして構成されているコンピュータを含む。プログラミングユニットから分配ユニットとして使用されるプロジェクトデータメモリにプロジェクトデータを送信するために、いくつかの代替例が実行可能である。すなわち、プログラミングユニットは、たとえば、ケーブルを介して、プロジェクトデータメモリが内蔵されているコントローラハードウェアコンポーネントに、またはプロジェクトデータメモリ自体にも接続できる。この実施形態は、完全なプロジェクトデータを１回のプロセスで安全コントローラに送る場合にとくに適する。別の実施形態では、プロジェクトデータは携帯記憶媒体を使用してプロジェクトデータメモリに転送できる。たとえば、ＳＤ（Secure Digital）メモリカードまたはＣＦ(Compact Flash(登録商標))カードとして設計できるメモリカード、またはＵＳＢ(Universal Serial Bus)スティックは携帯記憶媒体と考えることができる。携帯記憶媒体を使用する場合、分配プロセスの初期化のために意図的なユーザアクションを行うと有利である。たとえば、携帯記憶媒体を挿入するコントローラハードウェアコンポーネントのグラフィカル・インターフェースを介して、必ず一定のキーの組み合わせを押す、またはボタンを操作する、または所定の入力を行うようにするのである。プログラミングユニットからプロジェクトデータメモリへのプロジェクトデータの直接送信において、分散プロセスはプログラミングユニットによって自動的に初期化されることが有利である。
【００１８】
携帯記憶媒体の使用はさまざまな利点を有する。すなわち、携帯記憶媒体を選択されたコントローラハードウェアコンポーネントに選択的に接続することによって、プロジェクトデータを選択されたコントローラハードウェアコンポーネントだけに送ることが可能である。さらに別の利点は、携帯記憶媒体をセキュリティ目的でも使用できることである。すなわち、安全コントローラに記憶されているマシンコードを携帯記憶媒体に記憶させて、必要なときに再び安全コントローラに読み込むことができる。
【００１９】
別の改良形態では、分配ユニットは、この目的のために安全コントローラに設けられているインターフェースに少なくとも一時的に接続されている外部分配ユニットである。
外部分配ユニットを、プロジェクトデータを生成するプログラミングツールを実行しているプログラミングユニットに配置するととくに有利である。その結果、プロジェクトデータはプログラミングユニットから安全コントローラに直接転送できる。一方で、これは複雑さが減じる。他方で、プロジェクトデータの送信に関する潜在的な故障源がなくなるため、安全コントローラのフェイルセーフ性が高まる。この実施形態の別の利点は、いわゆる試運転では安全コントローラおよび制御される設備の機能性を試験し、プロジェクトデータに変更を行わなければならない事態が見つかる可能性があるが、その試運転でのプロジェクトデータの完了後に、これらは単純な方法で更新できる。
【００２０】
プロジェクトデータはプログラミングユニットから安全コントローラに、たとえばケーブルで送信する。この場合、プログラミングユニットは安全コントローラに永久的に接続するのではなく、プログラミング期間中、つまりプロジェクトデータが生成される期間中だけ一時的に接続すると有利である。または、プロジェクトデータをプログラミングユニットから安全コントローラに転送する期間中だけでもよい。プロジェクトデータ、とくに制御される設備用のユーザプログラムはプログラミングユニットを使用して生成されるため、プログラミングユニットは安全コントローラの一部と考えることができる。
【００２１】
別の改良形態では、プロジェクトデータメモリの少なくとも１つを、それに供給されるプロジェクトデータを少なくとも１つの他のプロジェクトデータメモリに転送するように、または別のプロジェクトデータメモリに記憶されているプロジェクトデータを要求するようにも設計される。
この改良形態は、安全コントローラに配置されているプロジェクトデータメモリへのプロジェクトデータのフレキシブルな分配に供する。プロジェクトデータメモリの１つをプロジェクトデータを転送するように設計しているため、安全コントローラに配置されているプロジェクトデータメモリにプロジェクトデータを分配するために使用することができる。プロジェクトデータメモリの少なくとも１つが別のプロジェクトデータメモリからプロジェクトデータを要求するように設計されているため、コントローラハードウェアコンポーネントで必要なプロジェクトデータをこのコンポーネントに配置されているプロジェクトデータメモリに記憶させる必要がない。その代わりに、これらプロジェクトデータはいつでも要求できるため、これらプロジェクトデータを任意のプロジェクトデータメモリに記憶させることが可能である。プロジェクトデータメモリの少なくとも１つに、両方の機能的な特徴を装備する、つまりプロジェクトデータの転送およびプロジェクトデータの要求の両方のために設計すると有利である。このことはプロジェクトデータのとくにフレキシブルな分配に供する。プロジェクトデータを記憶、転送および要求するように設計されているプロジェクトデータメモリは、この機能の範囲のために、プロジェクトデータサーバ、略してプロジェクトサーバとも呼ぶことができる。
【００２２】
別の改良形態では、コントローラハードウェアコンポーネントは制御ユニットおよび／またはセンサおよび／またはアクチュエータである。
したがって、これはプロジェクトデータメモリとして使用できる制御ユニットに存在しているメモリだけでなく、いわゆるインテリジェントセンサおよびインテリジェントアクチュエータに存在しているメモリでもある。これはとくにプロジェクトデータをその場で直接部分的に処理できるように、プロジェクトデータのとくにフレキシブルな分配に供する。これは安全コントローラの応答時間の改善に貢献する。
【００２３】
別の改良形態では、プロジェクトデータは複数のデータパケットに分割され、個々のデータパケットはそれぞれプロジェクトデータメモリの少なくとも１つに割り当てられている。
この改良形態は、プロジェクトデータをある分配基準に従って個々のプロジェクトデータメモリに選択的に割り当てることができるという利点を有する。このため安全コントローラは分配基準の対応する選択によって、さまざまなパラメータに関して最適化できる。
【００２４】
別の改良形態では、コントローラハードウェアコンポーネントの少なくとも一部は少なくとも１つのデータ処理ユニットを含み、各データ処理ユニットに意図されるプロジェクトデータは、データ処理ユニットが配置されているコントローラハードウェアコンポーネントに内蔵されているプロジェクトデータメモリに記憶される。
プロジェクトデータを処理される場所に記憶させるデータをローカルに維持するというこの原則は、制御タスクの高速な、とくに効果的な処理に供し、そのため安全コントローラの応答時間の短縮に供する。データ処理ユニットの場合、これは動作のための入力データとしてデータを供給し、入力データに基づいたこの動作の結果として判定される出力データを出力するユニットとすることができる。しかし、データ処理ユニットは、データを別のユニットに転送するためにデータが供給されるユニットと理解することもできる。安全コントローラはさまざまな実施形態のデータ処理ユニットを内蔵する。すなわち、たとえば、データベースのメッセージ交換ユニットが使用される。これらは、たとえばそれ自体の制御ユニットが生成するデータを他の制御ユニットに提供して、他の制御ユニットが生成し、さらなる処理のためにそれ自体の制御ユニットで必要なデータを読み込む。このようなデータ処理ユニットはデータブローカという用語で知られている。これはイベントベースのメッセージ交換ユニットとすることもできる。このようなメッセージ交換ユニットは、別の制御ユニットまたは制御される設備の規定の応答をトリガするために規定の条件がそれ自体の制御ユニットで満たされたときに、信号を送り出す。そういったメッセージ交換ユニットはそれに対応して、そのような信号も受信する。こういったメッセージ交換ユニットはイベントブローカという用語で知られている。さらに、個々のコントローラハードウェアコンポーネント間でとにかくデータを交換できるようにするために必要な接続ユニットも使用される。こういったデータ処理ユニットはデータバス・インターフェースと呼ばれる。さらに、プロジェクトデータメモリはプロジェクトデータを記憶できるだけでなく、プロジェクトデータを要求および転送もできるので、プロジェクトデータメモリはデータ処理ユニットでもある。データ処理ユニットに関してそれぞれ記憶されるプロジェクトデータは、データ処理ユニットがどのように装備されているかによって異なる。データブローカ、イベントブローカまたはデータバス・インターフェースの場合、たとえば、構成データおよびパラメータ化データが記憶される。プロジェクトデータメモリの場合、パラメータ化データおよび構成データに加えてプロジェクトデータも記憶され、プロジェクトデータメモリが内蔵されている制御ユニットで処理されるプロジェクトデータが記憶されるのが好ましい。
【００２５】
別の改良形態では、プロジェクトデータを生成するためのプログラミングユニットが提供され、プログラミングユニットは割当データを生成するように設計されており、分配ユニットはプロジェクトデータメモリに割当データに基づいてプロジェクトデータを分配するようにも設計されている。
この改良形態は、任意に指定可能な分配基準に従ってプロジェクトデータを個々のプロジェクトデータメモリに分配できるという利点を有する。同時に、これはエラーのない、および必要であればプロジェクトデータの任意の頻度で複製可能な分配を保証する。割当データの接続性に関しては、さまざまなアプローチが実行可能である。たとえば、割当データは提案の性質を有することができ、たとえば、プロジェクトデータの作成者または制御される設備のオペレータによって修正できる優先順位のリストを表すことができる。他方で、この場合プロジェクトデータの分配が完全に自動的に進行するように割当データの修正を不可能にすることもできる。
【００２６】
たとえば、割当データは次の情報を含むことができる。安全コントローラに配置されている各プロジェクトデータメモリに関して、それに記憶予定のデータパケットまたはその後それに記憶されたデータパケットがリストにされる。これはどのデータパケットが、それぞれどのコントローラハードウェアコンポーネントまたはどのデータ処理ユニットに属するかを確立する。同様に、プロジェクトデータの分配中に考慮されるプロジェクトデータメモリの順序は割当データによって確立できる。このような順序は、どの場合もまず分配ユニットとして使用されるプロジェクトデータメモリを考慮することを定める。割当データは、各個々のプロジェクトデータメモリに関して、データパケットをそれぞれ各プロジェクトデータメモリに記憶予定である、またはその後それに記憶された情報項目を含むことができる。さらに、各コントローラハードウェアコンポーネントのプロジェクトデータがどのプロジェクトデータメモリに配置されるかを指定する情報項目は、コントローラハードウェアコンポーネントごとに提供できる。この情報項目は、たとえば、安全コントローラの起動または再構成中に必要である。この情報が存在する場合、各コントローラハードウェアコンポーネントおよび／または各データ処理ユニットは、そのために意図されるプロジェクトデータをそれが記憶されている対応するプロジェクトデータメモリから呼び出すことができる。分配プロセス自体の間に限って割当データの一部を生成することも実行可能である。これは、たとえば、各コントローラハードウェアコンポーネントのプロジェクトデータがどのプロジェクトデータメモリに配置されるかを指定するデータに関して利用できる。
【００２７】
別の改良形態では、プログラミングユニットは、少なくとも１つのデータ処理特性図に基づいて割当データを判定するように設計されている。
この場合のデータ処理特性図は、データ処理に使用されるコンポーネントのデータ処理に関するパラメータを表す。これは、たとえば、マイクロプロセッサのクロック周波数、データブローカもしくはイベントブローカもしくはデータバス・インターフェースのデータレート、またはプロジェクトデータメモリの記憶容量とすることができる。割当データの判定にあたって、コントローラハードウェアコンポーネントまたはこれらに取り付けられている個々のユニットのデータ処理特性図を考慮する場合、プロジェクトデータは最適データ処理の観点から分配できる。したがって、その処理に高度なコンピュータ能力を要し、たとえば高性能のマイクロプロセッサを備えているコントローラハードウェアコンポーネントに記憶されているプロジェクトデータを、最適データ処理の観点から分配できる。さらに、データパケットを安全コントローラに存在しているデータメモリに、そのサイズに基づいて分配できる。たとえば、小さなデータパケットは小さな記憶容量を有するデータメモリに選択的に記憶させることができる。この改良形態は好ましくは、プロジェクトデータメモリへのプロジェクトデータの完全な自動分配に適する。
【００２８】
別の改良形態では、プログラミングユニットは、少なくとも１つの機能割当量に基づいて割当データを判定するように設計されている。
この状況において、機能割当量とは、単一のデータパケットまたは複合データパケットに関して、このデータパケットまたはこの複合物を記憶予定のプロジェクトデータメモリを表す。ここでプロジェクトデータメモリは、プロジェクトデータが処理されるコントローラハードウェアコンポーネント、とくに制御ユニットに配置されているプロジェクトデータメモリで、記憶が行われることになるという事実によって指定される。たとえば、その信号が入力信号として必要なセンサに空間的に近いために、および／または判定される駆動信号によって駆動されるアクチュエータに空間的に近いためである。この措置は、プロジェクトデータがその場で維持され、そのため個々のコントローラハードウェアコンポーネント間のデータ交換が最小限まで減少するため、安全コントローラの短い応答時間に供する。機能割当量は好ましくは、ユーザプログラムのどの範囲がどのコントローラハードウェアコンポーネントで、たとえば制御ユニットで実行されるかを指定することによって、ユーザプログラムのプログラマによって指定される。
【００２９】
別の改良形態では、プロジェクトデータの少なくとも一部はプロジェクトデータメモリに冗長的に記憶される。
データパケットの冗長記憶は、それぞれのデータパケットを二重化することによって達成される。したがって、オリジナルのデータパケットと二重化されたデータパケットとがそれぞれ別のプロジェクトデータメモリに記憶されることを条件に、二重化されたデータパケットはプロジェクトデータメモリに独立して分配される。この措置は安全コントローラ、そのため制御される設備の応用性を高めるという利点を有する。たとえば、非安全関連のコントローラハードウェアコンポーネントが故障した場合、そのプロジェクトデータメモリに記憶されていたプロジェクトデータは、別のプロジェクトデータメモリにまだ存在しているため、以前と同様にまだ利用できる。これは欠陥のあるコントローラハードウェアコンポーネントの交換も容易にする。欠陥のあるコンポーネントを新品のコンポーネントに交換するだけでよい。新品のコンポーネントに必要なプロジェクトデータは、たとえばそれがまだ記憶されているそれぞれのプロジェクトデータメモリから自動的に要求されて、新品のコンポーネントのプロジェクトデータメモリに記憶させることができる。プロジェクトデータの冗長記憶は、個々の制御タスクを並行して実行することにも供する。
【００３０】
別の改良形態では、プロジェクトデータはプログラムデータおよび／または構成データおよび／またはパラメータ化データを含む。
この状況において、プログラムデータはユーザプログラムを表し、ユーザプログラムが作成されるときに生成される。構成データはデータ送信の個々の部分アスペクトを表す。これらは、たとえば、サイクルタイム、コントローラハードウェアコンポーネントのうちのどれを互いに接続するかを指定する相互接続データ、またはどのセンサまたはアクチュエータを個々の制御ユニットのどの入力もしくは出力に割り当てるかを表すデータ、または個々のコントローラハードウェアコンポーネント間で交換するデータの、たとえば種類を指定するデータである。このように、これらは分配されるとおりに実装される安全コントローラの構成を表すデータである。構成データはユーザプログラムの作成中に生成できる。しかし、これはユーザプログラムの生成後も一定の範囲までは生成および改変できる。パラメータ化データはユーザプログラムで使用される個々の変数または機能性の値の範囲を表す。これらのデータはユーザプログラムの作成中に指定でき、または後で生成できる。この措置はコンピュータ能力または応答時間に関して安全コントローラのとくに効果的な最適化に供する。こうして、プログラムデータは処理される場所に記憶させることができる。構成データおよびパラメータ化データは、それが意図されるユニットが取り付けられている場所に記憶させることができる。
【００３１】
別の改良形態では、プロジェクトデータメモリの少なくとも一部は、それぞれ供給されるプロジェクトデータをゼロ電圧保護方式で記憶するように設計されている。
この改良形態は、プロジェクトデータが、たとえば電圧故障後または安全コントローラの停止後もなお存在しているという利点を有する。このことは安全コントローラの応用性を高める。安全コントローラを再初期化する必要がない。たとえば、ＳＤカードまたはＣＦカード形態のメモリカードがこの目的のために使用され、またはフラッシュメモリが使用される。
【００３２】
プロジェクトデータを個々のプロジェクトデータメモリに分配中、分配プロセスの進行は、グラフィカル手段で示すことができるのが好ましい。その結果、制御される設備のオペレータは、たとえば、分配プロセスの状態について簡単に知ることができる。
各コントローラハードウェアコンポーネントは、プロジェクトデータメモリを内蔵していることが好ましい。このことはプロジェクトデータの最適な分配に供する。プロジェクトデータはそれが必要な場所で利用できる。
【００３３】
制御される設備で実行させるアプリケーションは、標準制御タスクおよび安全制御タスクの両方を含むプロセスということもできる。
当然ながら、上で述べた特徴および以下の文でこれから説明する特徴は、それぞれにおいて明記される組み合わせだけでなく、本発明の範囲を逸脱することなく、他の組み合わせまたはそれ自体でも使用できる。
【００３４】
本発明の実施形態を図面に示しており、以下の説明で詳細に説明していく。
【図面の簡単な説明】
【００３５】
【図１】制御される設備の概略図を示している。
【図２】設備ハードウェアコンポーネントに配置されているコントローラハードウェアコンポーネントの概略図を示している。
【図３】本発明の安全コントローラに存在しているプロジェクトデータメモリの簡略図を示している。
【図４】プロジェクトデータを作成するためのグラフィカル・インターフェースの簡略図を示している。
【図５】本発明の方法を説明するための簡略化したフローチャートを示している。
【図６】プロジェクトデータの提供を説明するための簡略化したフローチャートを示している。
【発明を実施するための形態】
【００３６】
図１は、制御される設備を全体として参照番号１０で示している。
設備１０は複数の設備ハードウェアコンポーネント１２を含む。この実施形態では、配置ステーション１４と、加工ステーション１６と、テストステーション１８と、搬送ユニット２０と、包装・パレット梱包ステーション２２とがある。さらに、安全コントローラ全体を参照番号２４で示している。安全コントローラ２４は複数のコントローラハードウェアコンポーネント２６を内蔵する。コントローラハードウェアコンポーネント２６は制御ユニット２８、センサ３０およびアクチュエータ３２である。
【００３７】
この状況において、個々の制御ユニット２８、センサ３０および個々のアクチュエータ３２はそれぞれ設備ハードウェアコンポーネント１２の１つに割り当てられて、そこに空間的に配置されている。コントローラハードウェアコンポーネント２６は接続ユニット３４を介して互いに接続されている。接続ユニット３４は、たとえば、イーサネット（登録商標）ベースのフィールドバスとして設計されているデータバスである。出願人に帰属すると考えられるＳａｆｅｔｙ−Ｎｅｔ ｐ（登録商標）通信モデルに従い動作するデータバス設備を使用するのが好ましい。
【００３８】
配置ステーション１４を使用して、加工ステーション１６をワークピースで充填する。これらワークピースは加工ステーション１６で加工される。その後、加工されたワークピースは加工ステーション１６によってテストステーション１８に送られて、そこで加工されたワークピースが対応する試験基準を満たすかどうかを点検する。これらの試験基準を満たせば、加工ステーション１６は再び新たなワークピースを充填できる。加工されたワークピースは搬送ユニット２０によって包装・パレット梱包ステーション２２に移される。後者では、多数の加工されたワークピースがまとめて束にされ、後にパレットに積まれる。
【００３９】
個々のステーション１４，１６，１８，２２の作業領域は、たとえば、掛け金付きのロックボルトを有する安全スイッチを備える防護ドアによって保護できる。代わりにまたは補足的に、ライトグリッドまたはライトカーテンを使用することもできる。さらに、個々のステーション１４，１６，１８，２２には緊急停止押しボタンを備えることもでき、それによって電源から分離することによってそれぞれのステーションを安全状態にすることができる。この目的のために、対応する回路ブレーカが駆動される。前述の防護ドア、ライトグリッド、ライトカーテンおよび緊急停止押しボタンは、センサ３０に内蔵されている安全関連センサである。回路ブレーカは、アクチュエータ３２に内蔵されている安全関連アクチュエータである。センサ３０は非安全関連センサを含むこともできる。これらは操作変数、たとえば、回転速度、角度または速度などの駆動または位置調整に必要な入力変数を検出するセンサである。アクチュエータ３２は非安全関連のアクチュエータを含むこともできる。これらは、たとえば、モータまたは位置決めシリンダとすることができる。
【００４０】
この実施形態では、制御ユニット２８は各ステーション１４，１６，１８，２２に割り当てられる。この目的のために、制御ユニット２８は独立コンポーネントとして設計されている。これはセンサ３０およびアクチュエータ３２にも当てはまる。しかし、この実施形態は制限として解釈するべきではない。共通の制御ユニットを、たとえば、２つのステーションに割り当てることも実行可能である。個々の設備ハードウェアコンポーネントは互いに構成上および空間的に分離できる。しかし、これらコンポーネントの各個を互いに連動連結させることも実行可能である。
【００４１】
図１では、同一の機能のコンポーネントは同じ参照番号で示しており、ダッシュ符号の使用は、同じ参照番号の個々のコンポーネントを個々の設備ハードウェアコンポーネントへの個々の割当のためにまったく異なって形成できることを示している。このことは同様に信号にも当てはまる。この表示方法は他の図面にも適用される。
図２は、加工ステーション１６およびその関連コントローラハードウェアコンポーネントをより詳細な図で示している。これらは制御ユニット２８’、センサ３０’およびアクチュエータ３２’であり、接続ユニット３４によって互いに接続されている。
【００４２】
制御ユニット２８’は、セーフティクリティカルなアプリケーションまたはプロセスを制御するために必要なフェイルセーフ性を達成するために、２チャンネルの冗長で構成されている。図２は２チャンネル構造を表すものとして、２つの別々のプロセッサ、つまり第１プロセッサ４０および第２プロセッサ４２を示している。この２つのプロセッサ４０，４２は、互いにモニタリングしてデータを交換できるように、双方向通信インターフェース４４を介して互いに接続されている。制御ユニット２８’および２つのプロセッサ４０，４２の２チャンネルは、多様な設計を有し、つまりできる限りシステマティックエラーを排除するために互いに異なっているのが好ましい。
【００４３】
２つのプロセッサ４０，４２のそれぞれに接続されている入出力ユニットは、参照番号４６で示されている。入出力ユニット４６はセンサ３０’からコントローラ入力信号４８を受信して、これらを適応データフォーマットで２つのプロセッサ４０，４２のそれぞれに転送する。さらに、入出力ユニット４６はプロセッサ４０，４２の制御下で、アクチュエータ３２’を駆動するコントローラ出力信号５０を生成する。
【００４４】
参照番号５２は、プロジェクトデータ５４をデータパケットの形式で記憶しているプロジェクトデータメモリを示す。これは、データブローカ６０用の第１構成データ５８を含む第１データパケット５６を含んでいる。プロジェクトデータメモリ５２は、イベントブローカ６６用の第２構成データ６４を有する第２データパケット６２を含む。プロジェクトデータメモリ５２は、データバス・インターフェース７２用の第３構成データ７０を有する第３データパケット６８を含む。プロジェクトデータメモリ５２は、プロジェクトデータメモリ５２自体の構成データを含む第４データパケットをさらに含む。さらに、プロジェクトデータメモリ５２は、第５データパケット７６および第６データパケット７８を含む。これら２つのデータパケットは、制御ユニット２８’で処理されるユーザプログラムの一部を表すプログラムデータを含む。また、プロジェクトデータメモリ５２は、パラメータ化データを含む第７データパケット８０を含む。これらパラメータ化データは、たとえば、プロジェクトデータの処理中に必要であり、たとえば、変数または機能性の値の範囲を定義する。
【００４５】
アクチュエータ３２’およびセンサ３０’はプロジェクトデータメモリ５２’，５２’’，５２’’’，５２’’’’も備える。これは制限効果をもつわけではない。すべてのコントローラハードウェアコンポーネントがプロジェクトデータメモリを有する必要があるわけではない。また、プロジェクトデータメモリ５２に、制御ユニット２８’に内蔵されているユニットで処理されるプロジェクトデータ５４を排他的に記憶することが必須なわけでもない。プロジェクトデータメモリ５２には、リモートコントローラハードウェアコンポーネントに必要な、またはそこで処理されるプロジェクトデータ５４も記憶させることができる。同様に、制御ユニット２８’に内蔵されているユニットからのデータパケットは、リモートコントローラハードウェアコンポーネントのプロジェクトデータメモリにも記憶させることができる。図２に図示する個々のデータパケットへの分配は、制限的に解釈するべきではない。すべてがデータ処理ユニットに意図されている異なるプロジェクトデータ、たとえば、プログラムデータおよび構成データを組み合わせて、１つのデータパケットを形成することも実行可能である。
【００４６】
プロジェクトデータメモリ５２は、それに記憶されているプロジェクトデータ５４がゼロ電圧保護方式で記憶されるように設計されている。この目的のために、プロジェクトデータメモリ５２は、たとえばフラッシュメモリまたはＳＤカードまたはＣＦカードとして構成されている。
プロジェクトデータメモリ５２、データブローカ６０、イベントブローカ６６およびデータバス・インターフェース７２は、データ処理ユニットである。データバス・インターフェース７２は、制御ユニット２８’と接続ユニット３４とのデータ交換を同期させる、つまり使用されるデータバスのバスプロトコルに従って行うことを保証する。
【００４７】
この状況において、データバス・インターフェース７２はデータブローカ６０およびイベントブローカ６６の両方を制御する。イベントブローカ６６を介して、制御ユニット２８’と接続ユニット３４ひいては別のコントローラハードウェアコンポーネントとの間で、イベントに基づいてデータを交換する。たとえば、プロジェクトデータメモリ５２に記憶予定のプロジェクトデータは、分配プロセス中にイベントブローカ６６を介して供給される。また、別のコントローラハードウェアコンポーネントで要求されており、プロジェクトデータメモリ５２に記憶されているプロジェクトデータは、イベントブローカ６６によってそれに供給できる。
【００４８】
データブローカ６０を介して、制御ユニット２８’と接続ユニット３４、ひいては他のコントローラハードウェアコンポーネントのうちの１つとの間で、データベースのデータ交換を行う。たとえば、制御ユニット２８’に必要なコントローラ入力信号は、データブローカ６０を介して供給され、または制御ユニット２８’で生成されるコントローラ出力信号が出力される。
【００４９】
プロジェクトデータ５４はマシンコードの形態で存在する。制御ユニット２８’のフェイルセーフ動作を提供するために、プログラムデータを有する２つのデータパケット７６，７８をプロジェクトデータメモリ５２に記憶させる。第５データパケット７６は第１プロセッサ４０用に意図されており、第６データパケット７８は第２プロセッサ４２用に意図されている。第５データパケット７６は第１安全コード８２と、標準コード８４とを含む。第１安全コード８２は、制御ユニット２８’が取り扱うべき安全タスクの一部として、第１プロセッサ４０を介して処理されるべき制御命令を含む。この種の制御命令を以下の文においては安全制御命令という。標準コード８４は、制御ユニット２８’を介して取り扱うべき標準タスクの一部として、第１プロセッサ４０で処理するべき制御命令を含む。標準タスクとは、設備の所望の「通常の」動作シーケンスに起因し、とくに安全関連の重要性をもたないタスクである。この種の制御命令を、以下の文において標準制御命令という。第６データパケット７８は、第２プロセッサ４２で取り扱うべき制御命令を含む第２安全コード８６を含む。これらの制御命令は以下の文において安全制御命令という。
【００５０】
処理の進行に応じて、第１安全制御命令８８および標準制御命令９０は第１プロセッサ４０で処理される。実質的に同時に、第２安全制御命令９２が第２プロセッサ４２で処理される。
非安全関連制御命令である標準制御命令９０の処理の一部として、第１非安全関連データ９４が第１プロセッサ４０と入出力ユニット４６との間で交換される。このプロセス中、非安全関連センサ９５で生成される非安全関連コントローラ入力信号４８の瞬時値が、第１プロセッサ４０に供給される。非安全関連センサ９５は、たとえば、駆動調整に必要な入力変数を検出するセンサである。これらは、たとえば、回転速度、角度または速度とすることができる。非安全関連センサ９５は非フェイルセーフになるように構成されている。入出力ユニット４６には非安全関連コントローラ出力信号５０の瞬時値が供給されて、これが駆動信号として非安全関連アクチュエータ９７に供給される。非安全関連アクチュエータ９７は、たとえば、モータまたは位置決めシリンダとすることができる。非安全関連コントローラ出力信号５０の瞬時値は、標準制御命令に従い非安全関連コントローラ入力信号４８に依存して判定される。この状況において、その瞬時値が第２非安全関連データ９６によってそれが一時的に記憶されるアクティブメモリ９８に供給される中間量の判定を要してもよい。
【００５１】
安全関連制御命令である第１安全制御命令８８の処理の一部として、第１安全関連データ１００は、第１プロセッサ４０と入出力ユニット４６との間で交換される。このプロセスで、第１プロセッサ４０には、安全関連センサ１０１で生成される安全関連コントローラ入力信号４８’の瞬時値が供給される。安全関連センサ１０１は、たとえば、緊急停止押しボタン、防護ドア、速度モニタリング装置、または安全関連のパラメータを記録する他のセンサである。入出力ユニット４６には安全関連コントローラ入力信号５０’の瞬時値が供給されて、これが駆動信号として安全関連アクチュエータ１０３に供給される。安全関連アクチュエータ１０３は、たとえば、電源１０２と加工ステーション１６との間の接続部に配置されている常時開接点を有する冗長安全ブレーカである。したがって加工ステーション１６の電源１０２は２チャンネルで電源を切ることができ、その結果、対応する誤作動が発生した場合に少なくとも加工ステーション１６を安全状態にすることができる。安全関連コントローラ出力信号５０’の瞬時値は、安全制御命令に従い安全関連コントローラ入力信号４８’に基づいて判定される。この状況において、その瞬時値が第２安全関連データ１０４によってそれが一時的に記憶されるアクティブメモリ９８に供給される安全関連中間量の判定を要してもよい。
【００５２】
安全関連制御命令である第２安全制御命令９２の処理において、手順は第１安全制御命令８８に従う。第２安全制御命令９２に関しては、第１安全関連データ１００に対応する第３安全関連データ１０６と、第２安全関連データ１０４に対応する第４安全関連データ１０８とが対応したやり方で使用される。
参照番号１１０は、個々のコントローラハードウェアコンポーネント間、ひいてはプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’間で場合によっては交換されるプロジェクトデータを示している。
【００５３】
非安全関連制御命令および安全関連制御命令の両方を制御ユニット２８’で処理する、図２に図示する描写は、制限効果をもつと解釈するべきではない。制御ユニット２８’は、安全関連制御命令の専用処理のために設計することも実行可能である。
図３は、制御ユニット２８に内蔵されているプロジェクトデータメモリ５２、安全関連アクチュエータ１０３に内蔵されているプロジェクトデータメモリ５２’、非安全関連アクチュエータ９７に内蔵されているプロジェクトデータメモリ５２’’、非安全関連センサ９５に内蔵されているプロジェクトデータメモリ５２’’’、および安全関連センサ１０１に内蔵されているプロジェクトデータメモリ５２’’’’を示している。個々のプロジェクトデータメモリは、接続ユニット３４を介して互いに接続されている。プロジェクトデータメモリの全体が合わせて仮想プロジェクトメモリ１２０を形成する。明確にするために、個々のプロジェクトデータメモリと接続ユニット３４との間に存在してもよいコンポーネントの表示は省略している。
【００５４】
図３において、プログラミングユニット全体を参照番号１２２で示している。プログラミングユニット１２２は本質的に、ディスプレイユニット１２６に接続されているコンピュータ１２４からなる。コンピュータ１２４上で、コンピュータプログラム１２８が実行される。コンピュータプログラム１２８は、制御される設備上で実行させるアプリケーションを表すプロジェクトデータ１３０を生成させることができる。この場合のプロジェクトデータ１３０はプログラムデータ、構成データおよびパラメータ化データを含む。コンピュータプログラム１２８は技術用語でプログラミングツールと呼ばれることが多い。コンピュータ１２４はＰＣとして設計でき、ディスプレイユニット１２６はモニタとして設計できる。
【００５５】
本発明のある側面によると、プログラミングユニット１２２を使用して生成されて、コンピュータ１２４上に存在しているプロジェクトデータ１３０は、分散型構造を有する安全コントローラ２４のプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’に転送される。この目的のために、プロジェクトデータ１３０は複数のデータパケット１３２に分割され、個々のデータパケット１３２はそれぞれプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’のうちの１つに割り当てられる。プロジェクトデータ、より正確には個々のデータパケット１３２は、ここで割当データ１３４に基づいて個々のプロジェクトデータメモリに分配される。割当データ１３４はプログラミングユニット１２２で生成される。割当データ１３４は、この状況においては、たとえば、少なくとも１つのデータ処理特性図または少なくとも１つの機能割当量に基づいて判定できる。
【００５６】
プロジェクトデータ１３０を個々のプロジェクトデータメモリ５２に分配できるようにするために、これを分配ユニットに供給する。本発明によると、この場合３つの異なる手順が可能である。この状況においては、安全コントローラ２４は、プログラマが望むこれら３つの手順のうちの１つを選択できるように構成できる。しかし、安全コントローラ２４は、プロジェクトデータ１３０の送信のために、手順のうちの１つだけまたは２つだけを提供するように設計することも実行可能である。
【００５７】
第１手順を矢印１３６のシーケンスで示す。この配列では、プロジェクトデータ１３０および割当データ１３４の両方が、たとえば、ケーブルによってプログラミングユニット１２２からこの目的のために設けられている第１インターフェース１３８を介して、制御ユニット２８に配置されているプロジェクトデータメモリ５２に送信される。この場合、分配ユニットは、安全コントローラに配置されているプロジェクトデータメモリである。制御ユニット２８に配置されているプロジェクトデータメモリ５２は、割当データ１３４に従って、データパケット１３２を安全コントローラ２４に内蔵されている個々のプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’に分配する。この目的のために、前記プロジェクトデータメモリ５２は、それに供給されるプロジェクトデータを少なくとも１つの他のプロジェクトデータメモリに転送できるように構成されている。
【００５８】
第２手順を矢印１４０の第１シーケンスで表す。この状況において、プロジェクトデータ１３０および割当データ１３４はまず、コンピュータ１２４に内蔵されている外部分配ユニット１４２上に提供される。この場合の外部分配ユニット１４２の機能性は、制御ユニット２８に内蔵されているプロジェクトデータメモリ５２に対応する。プロジェクトデータ１３０はさらにケーブルによって、たとえば、この目的のために設けられている第２インターフェース１４４を介して、接続ユニット３４に供給されて、割当データ１３４に従い、安全コントローラ２４に内蔵されている個々のプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’に分配される。外部分配ユニット１４２は安全コントローラ２４に永久的に接続する必要はない。たとえばデータ送信の期間だけ接続されていれば十分である。
【００５９】
第３手順は矢印１４６の第２シーケンスで示す。この状況において、プロジェクトデータ１３０および割当データ１３４は携帯記憶媒体１４８に転送される。携帯記憶媒体１４８は、たとえば、ＳＤカード、ＣＦカードまたはＵＳＢスティックとすることができる。それから携帯記憶媒体１４８はこのために設けられている受信ユニット１５０に差し込まれる。さらにプロジェクトデータ１３０は制御ユニット２８に内蔵されているプロジェクトデータメモリ５２に供給されて、これがさらに割当データ１３４に従い安全コントローラ２４に内蔵されているプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’へのデータパケット１３２の分配を取り扱う。
【００６０】
個々のプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’へのプロジェクトデータ１３０の分配に関しては、この目的のためにさまざまなアプローチが実行可能である。第１のアプローチによると、プロジェクトデータは本質的にその場に、つまりそれが処理される場所に記憶される。これは図３では次のように表される。つまり、制御ユニット２８’’は第１データ処理ユニット１５２を内蔵している。第１データ処理ユニット１５２が必要とするプロジェクトデータは、制御ユニット２８’’に内蔵されているプロジェクトデータメモリ５２にデータパケット１３２’の形で記憶されている。したがって、第１データ処理ユニット１５２はそれが必要とするプロジェクトデータをこのプロジェクトデータメモリから直接呼び出せる。このアプローチでは、割当データ１３４は少なくとも１つの機能割当量に基づいて判定される。このアプローチでは、プロジェクトデータ１３０はそれが処理されるコントローラハードウェアコンポーネントに記憶されている。
【００６１】
第２のアプローチによると、割当データ１３４は少なくとも１つのデータ処理特性図に基づいて判定される。データ処理特性図は、たとえば、２つのプロセッサ４０，４２のうちの１つのクロック周波数、またはデータブローカ６０もしくはイベントブローカ６６のデータレート、またはプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’の記憶容量とすることができる。いくつかの実施形態では、分配ユニットによって自動的にパラメータが判定され、分配ユニットが接続ユニットに接続されているプロジェクトデータを照会する。
【００６２】
第２のアプローチでは、プロジェクトデータ１３０は、それが高いデータ処理能力を有するコントローラハードウェアコンポーネントに記憶させるように分配されることが好ましい。このアプローチでは、プロジェクトデータ１３０は本質的に任意に、つまり機能割当をせずに、安全コントローラ２４に存在しているプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’に分配される。
【００６３】
図３では、これは次のように示される。すなわち、第２データ処理ユニット１５４が必要とするプロジェクトデータは、制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２にデータパケット１３２’’の形で記憶されている。したがってこの場合、プロジェクトデータは制御ユニットに記憶され、そこで処理もされる。対して、同じく制御ユニット２８’に内蔵されている第３データ処理ユニット１５６に関しては、それが必要とするプロジェクトデータは制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２には記憶されていない。その代わりに、これらプロジェクトデータはプロジェクトデータメモリ５２’’のうちの１つにデータパケット１３２’’’の形で記憶されている。したがって第３データ処理ユニット１５６は、制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２を介してこれらプロジェクトデータにアクセスできる。この構成では、第３データ処理ユニット１５６にとって、それが必要とするプロジェクトデータは実質的に制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２に記憶されているように思われる。これを図３では点線で示すデータパケット１３２’’’で示している。
【００６４】
第３データ処理ユニット１５６に関して、制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２はプロキシの機能を有する。このプロジェクトデータメモリは、第３データ処理ユニット１５６にとって実質的に仮想プロジェクトメモリ１２０へのゲートである。個々のプロジェクトデータメモリへのプロジェクトデータの任意分配に供するために、プロジェクトデータメモリの少なくとも一部は供給されるプロジェクトデータを他のプロジェクトデータメモリに自動的に転送して、他のプロジェクトデータメモリからプロジェクトデータを要求するように設計する。この状況において、個々のプロジェクトデータメモリが同時に両方の機能性を示すことは実行可能である。このアプローチでは、個々のプロジェクトデータメモリに最低ボリュームのプロジェクトデータを記憶させることも実行可能である。これらは、たとえば、それぞれのコントローラハードウェアコンポーネントまたはデータ処理ユニットの安全コントローラを起動するために必要なプロジェクトデータである。
【００６５】
安全コントローラ２４の応用性を高めるために、プロジェクトデータ１３０の少なくとも一部はプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’に冗長的に記憶される。これは、図３では次のように示される。すなわち、第４データ処理ユニット１５８が必要とするプロジェクトデータは、制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２およびプロジェクトデータメモリ５２’’’’の１つの両方にデータパケット１３２’’’’の形で記憶されている。第３データ処理ユニット１５６に関連して説明したように、第４データ処理ユニット１５８のプロジェクトデータは、制御ユニット２８’’’に内蔵されているプロジェクトデータメモリ５２には記憶されていない。その代わりに、第４データ処理ユニット１５８は、制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２に記憶されているデータパケット１３２’’’’またはプロジェクトデータメモリ５２’’’’のうちの１つに記憶されているデータパケット１３２’’’’のいずれかにアクセスできる。たとえば、データパケット１３２’’’’が記憶されているプロジェクトデータメモリ５２’’’’、またはさらにはこのプロジェクトデータメモリが内蔵されている完全なコントローラハードウェアコンポーネントが故障した場合でも、第４データ処理ユニット１５８が必要とするプロジェクトデータはなお、この場合制御ユニット２８’に内蔵されているプロジェクトデータメモリ５２で利用できる。プロジェクトデータを処理する制御ユニットに内蔵されているプロジェクトデータメモリに主に記憶されているプロジェクトデータを冗長的に記憶することも可能である。たとえば、これはデータパケット１３２’のプロジェクトデータに当てはまる。
【００６６】
図３で選ばれている描写は制限的な効果を有すると解釈してはならない。安全コントローラは異なるように設計できる。したがって、非安全関連センサ、安全関連センサ、非安全関連アクチュエータ、安全関連アクチュエータおよび制御ユニットに、それぞれ図３に図示するようなプロジェクトデータメモリを備える安全コントローラを使用できる。しかし、たとえば、制御ユニットだけがプロジェクトデータメモリを備える安全コントローラも使用できる。しかし、これら２つの実施例の間に存在するプロジェクトデータメモリの装備の程度を示す安全コントローラの使用も実行可能である。制御ユニットとは別に、安全関連センサおよび安全関連アクチュエータはデータメモリも備えることが好ましい。また、第１インターフェース１３８および受信ユニット１５０の両方を１つの制御ユニットに配置することは必ずしも必須ではない。両者を任意のコントローラハードウェアコンポーネントに個々にまたはまとめて配置することができる。インターフェース１３８および／または受信ユニット１５０はプロジェクトデータメモリのうちの１つと合わせた構成ユニットを形成することも実行可能である。さらに、安全コントローラに取り付けられているプロジェクトデータメモリのうちの１つより多くを分配ユニットとして使用できることも提供できる。さらに、それぞれプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’のうちの１つだけ、つまり図面の最上部に記載されているものだけがデータパケットを含んでいる選択された描写は、制限的な効果を有するものではない。明確にするために、図面の下側の面に記載されているプロジェクトデータメモリについては、データパケットの描写を省略した。
【００６７】
図４では、グラフィカル・インターフェース全体を参照番号１７０で示している。このグラフィカル・インターフェースで、プログラマはプロジェクトデータ１３０を生成できる。要するに、プログラムデータ、構成データおよびパラメータ化データが生成される。
グラフィカル・ユーザインターフェース１７０は、図示記号の形で複数の所定の設備ソフトウェアコンポーネント１７４を含む設備ソフトウェアコンポーネントアレイ１７２を含む。ユーザプログラム、ひいてはプログラムデータは、複数の設備ソフトウェアコンポーネントを提供することによって作成される。この目的のために、グラフィカル・ユーザインターフェース１７０は第１コンポーネントアレイ１７６を含む。提供されるべき設備ソフトウェアコンポーネントが選択されて、矢印１７８で示すように第１コンポーネントアレイ１７６に転送される。こうして第１コンポーネントアレイ１７６は提供される複数の設備ソフトウェアコンポーネント１８０を含む。コンポーネントのサブプログラムは、提供される設備ソフトウェアコンポーネント１８０を論理的に組み合わせることによって生成される。この目的のために、これら設備ソフトウェアコンポーネントの論理入力および論理出力が互いに接続されており、複数の接続部１８２で表されている。所定の設備ソフトウェアコンポーネントの選択に加えて、新規設備ソフトウェアコンポーネント１８４で示すように、新たな設備ソフトウェアコンポーネントも作成できる。個々の設備ソフトウェアコンポーネントは、それ自体が別のソフトウェアコンポーネントを含んでいないいわゆる要素コンポーネントとすることができる。しかし、それ自体が別のソフトウェアコンポーネントを含んでいるいわゆるグループコンポーネントとすることもできる。要素コンポーネントは多数のアスペクトブロックを含む。これらアスペクトブロックのそれぞれを互いに異なるいくつかのコントローラアスペクトのうちの１つに割り当て、これらコントローラアスペクトのそれぞれが安全コントローラの独立した部分アスペクトを表す。設備ソフトウェアコンポーネントはこの場合、設備ソフトウェアコンポーネントによって表される設備ハードウェアコンポーネントにとって重要なすべてのアスペクトブロックを含む。要素コンポーネントと比較して、グループコンポーネントは、アスペクトブロックの他に、要素コンポーネントまたは他のグループコンポーネントとして設計できるソフトウェアコンポーネントを追加で含む。グループコンポーネントを使用することによって、多数の階層面を有するユーザプログラムを作成できる。
【００６８】
互いに異なるコントローラアスペクトは、好ましくは次のコントローラアスペクトとすることができる。つまり、標準コントローラアスペクト、安全コントローラアスペクト、診断アスペクト、ディスプレイアスペクト、エントリ制御アスペクト、冷却アスペクト、アクセス認証アスペクト、保守アスペクト、ロッキングアスペクト、手動操作アスペクト、またはデータ管理アスペクト。
【００６９】
設備ソフトウェアコンポーネントに含まれている各アスペクトブロックに関して、その処理に必要な少なくとも論理量および／またはパラメータおよび／またはセンサ信号を関連入力を介してアスペクトブロックに供給しなければならず、それぞれ多数のアスペクトブロックで判定されて、関連出力を介してアスペクトブロックによって出力される論理量および／またはパラメータおよび／または出力信号を最初にボトムアップで指定する。それぞれのアスペクトブロックに接続されている実際のセンサおよび／またはアクチュエータは、最後にユーザプログラムの生成中にのみ行われる。さらに、それぞれのアスペクトブロックが割り当てられているコントローラアスペクトのために設備ソフトウェアコンポーネントのアスペクト特性を指定する機能プログラムは、それぞれ、設備ソフトウェアコンポーネントに含まれているアスペクトブロックの少なくとも一部に記憶される。
【００７０】
グラフィカル・インターフェース１７０はアスペクトアレイ１８６も含む。このアスペクトアレイ１８６では、複数のアスペクトブロック１８８が配置されている。これらアスペクトブロックのそれぞれが同じコントローラアスペクトに割り当てられる。この状況において、複数のアスペクトブロック１８６は、ユーザプログラムのすべての階層面に含まれているアスペクトブロックを含む。
【００７１】
グラフィカル・インターフェース１７０はセンサアレイ１９０も含む。このセンサアレイ１９０では、複数のセンサ図示記号１９２が配置されている。制御される設備に内蔵されている各センサについて、センサ図示記号はこの配列で提供される。グラフィカル・インターフェース１７０は別のアレイとしてアクチュエータアレイ１９４を含む。このアクチュエータアレイ１９４では、複数のアクチュエータ図示記号１９６が配置されている。制御される設備に内蔵されている各アクチュエータについて、アクチュエータ図示記号がこの状況で提供される。アスペクトアレイ１８６に含まれている複数のアスペクトブロック１８８について、アスペクトのサブプログラムが作成される。この目的のために、その入力および出力の両方のためのアスペクトブロックの少なくとも一部について、いわゆるＩ／Ｏマッピングが行われる。すなわち、信号入力の少なくとも一部は、センサ信号がそれぞれのアスペクトブロックで処理されるセンサに割り当てられる。例として、これを矢印１９８で示している。さらに、それぞれのアスペクトブロックで判定された出力信号で駆動されるアクチュエータは、コントローラ出力の少なくとも一部に割り当てられる。例として、これを矢印２００で示している。代替例として、Ｉ／Ｏマッピングは入力フィールド２０２へのテキスト入力によって行うこともできる。
【００７２】
グラフィカル・インターフェース１７０は、複数の所定のコントローラソフトウェアコンポーネント２０６を含むコントローラソフトウェアコンポーネントアレイ２０４を含む。これらコントローラソフトウェアコンポーネント２０６のそれぞれは、分散型構造の安全コントローラ２４で使用できるコントローラハードウェアコンポーネントを表す。コントローラハードウェアコンポーネントは、たとえば、制御ユニット、センサまたはアクチュエータである。
【００７３】
グラフィカル・インターフェース１７０は第２コンポーネントアレイ２０８も含む。この第２コンポーネントアレイ２０８では、ユーザプログラムのプログラマは、分散型安全コントローラ２４を構成するコントローラハードウェアコンポーネントを表すコントローラソフトウェアコンポーネントを挿入できる。これは個々のコントローラソフトウェアコンポーネント２０６の選択および、例として矢印２１０で示すように第２コンポーネントアレイ２０８への転送によって行う。したがって第２コンポーネントアレイ２０８は提供される複数のコントローラソフトウェアコンポーネント２１２を含む。プログラマがユーザプログラムの少なくとも部分的な範囲について、どのプロジェクトデータをどのコントローラハードウェアコンポーネントに、より正確にはどのプロジェクトデータメモリに記憶するかを指定したい場合、提供される設備ソフトウェアコンポーネント１８０の少なくとも一部を提供されるコントローラソフトウェアコンポーネント２１２に割り当てることができる。これを矢印２１４，２１６で示す。これらの割当から、どの割当データ１３４がそのときに判定されるかに基づいて機能割当量が生成される。機能割当量の判定において、個々の設備ソフトウェアコンポーネント１８０間の接続部１８２も考慮できる。また、アスペクトブロックのために行うＩ／Ｏマッピングも考慮できる。
【００７４】
しかし、割当データ１３４は自動的に、つまりプログラマが割当を行わなくても判定できる。コントローラソフトウェアコンポーネント２１２で表される各コントローラハードウェアコンポーネント２６について、割当データ１３４が、たとえば、データ処理特性図に基づいて判定できるように、少なくとも１つのデータ処理特性図がデータベースに記憶される。この場合、個々のプロジェクトデータメモリへのプロジェクトデータ１３０の分配は、個々のコントローラハードウェアコンポーネントのデータ処理能力の観点から行われる。次の手順も実行可能である。つまり、分配プロセスを始める前に、プログラミングユニットがまず個々のコントローラハードウェアコンポーネントに照会を送信して、それぞれのデータ処理特性図を判定できるように、プログラミングツールを設計する。
【００７５】
割当データ１３４の判定に関しては、さまざまな実施形態が実行可能である。
第１の実施形態では、割当データ１３４はもっぱらデータ処理特性図に基づいて判定される。この場合、プロジェクトデータは個々のコントローラハードウェアコンポーネントのデータ処理能力に従って分配される。
第２の実施形態では、割当データ１３４はもっぱら機能割当量に基づいて判定される。この状況において、機能割当量は、プログラマが個々の設備ソフトウェアコンポーネントを個々のコントローラソフトウェアコンポーネントに割り当てることによって指定する割当を表す。この場合、プログラマは個々のプロジェクトデータメモリへのプロジェクトデータの分配を指定する。機能割当量はメモリ位置、とくにプロジェクトデータメモリを表し、これは処理すべきプロジェクトデータおよび、たとえばセンサまたは別の制御ユニットから発せられるこの目的のために必要なデータの近接によって定義される。
【００７６】
第３の実施形態では、割当データ１３４はデータ処理特性図および機能割当量の両方に基づいて判定できる。この場合、データ処理特性図を使用することによって、プログラマがその考えに従って依然として改変できる、プロジェクトデータ１３０の個々のプロジェクトデータメモリへの割当の提案をまず生成することが実行可能である。この状況において、これは２段階の手順である。まず、プロジェクトデータの分配をデータ処理能力の観点から提案して、さらにこれは機能割当の観点によって改変できる。
【００７７】
所定のコントローラソフトウェアコンポーネント２０６に関しては、所定の構成データもデータベースに記憶させることができる。すなわち、プロジェクトデータ１３０はコントローラソフトウェアコンポーネントを提供することによって自動的に関連構成データも含む。しかし、ユーザプログラムの作成中に、たとえば入力フィールド２０２への対応する入力によって、構成データを修正または一般的に指定する可能性も存在する。これは、たとえば、ユーザプログラムを作成した後でも行うことができる。アスペクトブロック１８８に関しては、パラメータ化データを対応したやり方でデータベースに記憶させることができる。さらに、構成データの場合、これを修正または一般的にそれを指定する可能性もある。
【００７８】
図５は、本発明の方法のシーケンスを示すフローチャートである。
ステップ２３０に従い、プロジェクトデータ１３０が提供される。次のステップ２３２で、データパケット１３２が生成される。この後にステップ２３４が続き、割当データ１３４が生成される。ステップ２３６で、さらに個々のデータパケット１３２が割当データ１３４に従い個々のプロジェクトデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’に分配される。データパケットが分配される手順によっては、ステップ２３４のすぐ後にステップ２３６は続かない。携帯記憶媒体１４８を使ってデータパケットを分配する場合、ステップ２３４とステップ２３６との間にステップ２３８を実行し、ステップ２３８でデータパケット１３２および割当データ１３４を携帯記憶媒体１４８に記憶させる。
【００７９】
図６は、プロジェクトデータ１３０を提供するときの基本手順を示すフローチャートである。
ステップ２４０で、設備ソフトウェアコンポーネント１８０が提供される。その後のステップ２４２で、提供された設備ソフトウェアコンポーネント１８０が組み合わせられる。この後にステップ２４４が続いて、個々のアスペクトブロック１６８についてセンサおよびアクチュエータが指定される、つまりいわゆるＩ／Ｏマッピングが行われる。その後のステップ２４６で、コントローラソフトウェアコンポーネント２１２が提供される。その後のステップ２４８で、提供された設備ソフトウェアコンポーネント１８０は提供されたコントローラソフトウェアコンポーネント２１２に割り当てられる。
【図１】
0005815504.tif 000003
【図２】
0005815504.tif 000004
【図３】
0005815504.tif 000005
【図４】
0005815504.tif 000006
【図５】
0005815504.tif 000007
【図６】
0005815504.tif 000008