(57)【要約】【課題】より簡単でより速い始動を行うことができる安全コントローラおよびそのためのユーザプログラムを生成する。【解決手段】少なくとも一部が各自のデータバス・インターフェース(46)を有しており、前記データバス・インターフェース(46, 46’, 46’’, 46’’’, 46’’’’)はそれぞれデータを送受信するように設計されている複数の制御コンポーネント(26)と、データ交換のために前記各自のデータバス・インターフェース(46, 46’, 46’’, 46’’’, 46’’’’)を介して前記複数の制御コンポーネント(26, 28, 80, 82, 90, 92)が接続されているデータバス(34, 116)と、アソシエーションデータ(120)に基づいて確認され、さらに前記構成データ(58)はデータバス(34, 116)または少なくとも１つのデータバス・インターフェース(46)の少なくとも１つの特性を判定する構成データ(58)を受信するように設計されている構成インターフェース(124, 130, 136)とを有する。【選択図】図３
2012524354.tif 000002
【特許請求の範囲】
【請求項１】
実行させるユーザプログラムに従い自動化設備（１０）を制御する安全コントローラであって、
制御コンポーネント（２６）の少なくとも一部が各自のデータバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）を有し、前記データバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）がそれぞれデータを送受信するように設計されている、複数の制御コンポーネント（２６）と、
データ交換のために、前記複数の制御コンポーネント（２６，２８，８０，８２，９０，９２）が前記各自のデータバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）を介して接続されているデータバス（３４，１１６）と、
アソシエーションデータ（１２０）に基づいて確認され、前記データバス（３４，１１６）および／または少なくとも１つのデータバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）の少なくとも１つの特性を判定する構成データ（５８）を受信するように設計されている構成インターフェース（１２４，１３０，１３６）と、
を有する安全コントローラ。
【請求項２】
前記ユーザプログラムは複数のプログラムモジュールから構築されており、前記アソシエーションデータはプログラムモジュール・アソシエーションデータを含み、前記プログラムモジュール・アソシエーションデータは多数のプログラムモジュール・アソシエーション（１９４，１９６）を表し、前記プログラムモジュール・アソシエーション（１９４，１９６）はそれぞれがどの制御コンポーネント（２６）に前記各自のプログラムモジュールを対応付けるかを定義することを特徴とする、請求項１に記載の安全コントローラ。
【請求項３】
前記ユーザプログラムは複数の制御命令（Ｅ１，Ｅ２，Ｋ１，Ｋ２）を含み、前記アソシエーションデータ（１２０）は処理アソシエーションデータを含み、前記処理アソシエーションデータは多数の処理アソシエーション（２３８，２４０，２４２，２４４）を含み、前記処理アソシエーション（２３８，２４０，２４２，２４４）は、前記制御命令（Ｅ１，Ｅ２，Ｋ１，Ｋ２）の少なくとも一部について、前記個々の制御命令（Ｅ１，Ｅ２，Ｋ１，Ｋ２）の処理の順番を定義することを特徴とする、請求項１または請求項２のいずれか１項に記載の安全コントローラ。
【請求項４】
前記複数の制御命令（Ｅ１，Ｅ２，Ｋ１，Ｋ２）は複数のデータ生成制御命令（Ｅ１，Ｅ２）と、複数のデータ消費制御命令（Ｋ１，Ｋ２）とを含み、前記処理アソシエーションデータの確認はデータ消費制御命令（Ｋ１，Ｋ２）が関わるかまたはデータ生成制御命令（Ｅ１，Ｅ２）が関わるかを考慮することを特徴とする、請求項３に記載の安全コントローラ。
【請求項５】
前記構成データ（５８）は多数の所定の制御パラメータ値にも基づいて確認されることを特徴とする、請求項１から請求項４のいずれか１項に記載の安全コントローラ。
【請求項６】
考慮される前記制御パラメータは、応答時間を表す第１制御パラメータ、サイクル時間を表す第２制御パラメータ、およびサンプリングレートを表す第３制御パラメータのうちの少なくとも１つであることを特徴とする、請求項５に記載の安全コントローラ。
【請求項７】
前記構成データ（５８）は多数のデータ処理特性図にも基づいて確認されることを特徴とする、請求項１から請求項６のいずれか１項に記載の安全コントローラ。
【請求項８】
前記アソシエーションデータ（１２０）、とくに前記プログラムモジュール・アソシエーションデータは、前記多数のデータ処理特性図に基づいて確認されることを特徴とする、請求項１から請求項７のいずれか１項に記載の安全コントローラ。
【請求項９】
前記制御コンポーネント（２６）の少なくとも一部は各自のデータメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）を有しており、前記データメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）のそれぞれがそれに供給される各自のデータを記憶するように設計されており、前記安全コントローラ（２４）は分配ユニット（５２，１２８）も有しており、前記分配ユニット（５２，１２８）は前記データバス（３４，１１６）を介して前記構成データ（５８）の少なくとも一部を前記制御コンポーネント（２６，２８，８０，８２，９０，９２）の少なくとも一部に分配するように設計されていることを特徴とする、請求項１から請求項８のいずれか１項に記載の安全コントローラ。
【請求項１０】
前記構成データ（５８）の少なくとも一部は前記データメモリ（５２，５２’，５２’’，５２’’’，５２’’’’）に冗長的に記憶されていることを特徴とする、請求項９に記載の安全コントローラ。
【請求項１１】
前記分配ユニット（５２，１２８）は前記データメモリ（５２）のうちの１つであることを特徴とする、請求項９または請求項１０に記載の安全コントローラ。
【請求項１２】
前記構成データ（５８）は複数のデータブロック（５６，５６’，５６’’，５６’’’，５６’’’’）に分割されており、少なくとも１つのデータブロック（１１８）は前記データバスに対応付けられ、前記残りのデータブロック（５６，５６’，５６’’，５６’’’，５６’’’’）はそれぞれが前記データバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）のうちの少なくとも１つに対応付けられていることを特徴とする、請求項１から請求項１１のいずれか１項に記載の安全コントローラ。
【請求項１３】
前記構成データ（５８）は、
生成されるデータが有効な有効期間を表す有効期間データ、および／または
データ消費制御命令（Ｋ１，Ｋ２）がそれによって消費されることになるデータを待つ待機期間を表す待機期間データ、および／または
複数の制御命令（Ｅ１，Ｅ２，Ｋ１，Ｋ２）の基準である終了サイクル時間を表す終了サイクル時間データ、および／または
前記制御コンポーネント（２６，２８，８０，８２，９０，９２）を同期させることのできる同期データ、および／または
前記制御コンポーネント（２６，２８，８０，８２，９０，９２）のうちの少なくとも１つについて、それによって送信されることになるデータおよびそれによって受信されることになるデータのために前記制御コンポーネント（２６，２８，８０，８２，９０，９２）に割り当てられる前記データバス（３４，１１６）のために規定されるデータフレーム内のデータフィールドを定義する多数のデータフレーム割当を表す、データフレーム割当データを、
含むことを特徴とする、請求項１から請求項１２のいずれか１項に記載の安全コントローラ。
【請求項１４】
安全コントローラ（２４）が複数の制御コンポーネント（２６）から構築されて、データバス（３４，１１６）を含んでおり、前記制御コンポーネント（２６）の少なくとも一部が各自のデータバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）を有しており、前記データバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）はそれぞれデータを送受信するように設計されており、前記複数の制御コンポーネント（２６，２８，８０，８２，９０，９２）はデータ交換のために前記各自のデータバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）を介して前記データバス（３４，１１６）に接続されている、その上で実行させるユーザプログラムに従って自動化設備（１０）を制御するように設計されている前記安全コントローラ（２４）のためのユーザプログラムを生成する方法であって、前記方法は、
アソシエーションデータ（１２０）を確認するステップと、
構成データ（５８）は前記データバス（３４，１１６）および／または少なくとも１つのデータバス・インターフェース（４６，４６’，４６’’，４６’’’，４６’’’’）の少なくとも１つの特性を判定する、前記アソシエーションデータ（１２０）に基づいて前記構成データ（５８）を確認するステップと、
を含む方法。
【請求項１５】
コンピュータプログラム（１１４）をコンピュータ（１１０）上で実行したときに、請求項１４の方法を行うためのプログラムコードを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全コントローラで実行するユーザプログラムに従い自動化設備を制御する安全コントローラ、およびこのような安全コントローラのユーザプログラムを生成する方法に関する。
【背景技術】
【０００２】
本発明に関する安全コントローラは、センサによって送られる入力信号を受信して、そこから論理の組み合わせおよび場合によってはさらなる信号またはデータ処理ステップによって出力信号を生成する装置である。出力信号は典型的には制御される設備の動作または反応を促す基準として出力信号をみなすアクチュエータに供給される。
前記安全コントローラの好適な応用分野は、機械の安全性の分野における緊急停止押しボタン、両手コントローラ、防護ドアスイッチまたはライトグリッドのモニタリングである。前記センサは、たとえば、操作中に人または有形財に危険が生じる機械を保護するために用いられる。防護ドアが開いているとき、または緊急停止押しボタンが操作されるとき、それぞれの信号が生成されて、入力信号として安全コントローラに供給される。それに応答して、安全コントローラは次にアクチュエータを使用して危険が生じている機械の部分を停止させる。
【０００３】
「一般的な」コントローラと対比した安全コントローラの特徴とは、安全コントローラは前記安全コントローラまたはそれに接続されているデバイスに誤作動が起こったとしても、危険を生じている設備または機械の安全状態を必ず確保することである。そのため安全コントローラにはそれ自体のフェイルセーフ性に関してきわめて高い要求があることから、開発および製造が相当複雑になる。
【０００４】
通常、安全コントローラは、使用される前に、専門職協会またはいわゆるドイツの
2012524354.tif 000003
【０００５】
などの監督機関から特別な承認を得る必要がある。この場合、前記安全コントローラは、たとえば、欧州規格ＥＮ９５４−１、ＩＥＣ６１５０８、ＥＮ  ＩＳＯ１３８４９−１または他の匹敵する規格に定められる規定の安全基準を遵守しなければならない。そのため、以下、安全コントローラは少なくともＥＮ９５４−１の安全カテゴリ３またはＩＥＣ６１５０８に従い少なくともレベル２に達する安全度水準（ＳＩＬ）に適合する装置を意味すると理解される。
【０００６】
プログラム可能な安全コントローラにより、ユーザは、典型的にはユーザプログラムとして知られる1つのソフトウェアを使用して、ニーズに合わせた論理の組み合わせおよびさらなる信号またはデータ処理ステップを個々に定義できる。この結果、さまざまな安全リレー間の配線の選択により論理の組み合わせを定義していたかつてのソリューションと比較して大幅なフレキシビリティが得られる。
【０００７】
大型で複雑な先行技術の設備の場合、分散型安全コントローラが使用されることが多い。分散型安全コントローラは、通信ネットワークを介して互いに通信する複数の空間的に分散されている制御コンポーネント（制御ユニット、センサ、およびアクチュエータ）を有する。制御コンポーネントは設備コンポーネントに関連付けられている。設備コンポーネントとは、ハンドリングステーション、コンベヤのベルト、個々のロボットまたは同様な他のものなど、制御される設備の構成部品である。ハードウェアに関しては、分散型安全コントローラは高いレベルのフレキシビリティを提供する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】独国特許出願公開第１０ ２００４ ０６３ ２１３ Ａ１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このように、安全コントローラは複数の異なる制御コンポーネントから構成でき、そのため制御される設備の状況に柔軟に合わせることができる。しかし、個々の制御コンポーネント間の通信関係の構成およびデータ処理に関する問題に関しては、分散型安全コントローラはまだ最適とはいえない。始動前に要する構成の複雑さは高いレベルにある。制御ユニットごとに、どの入力信号を読み取って、どの出力信号を出力するかを個別に判定する必要がある。さらに、ユーザは制御システム内のすべてのコンポーネント間の通信関係を個別に判定しなければならない。これは通信中に監視しなければならない時間パラメータも含む。
【００１０】
個々の制御コンポーネント間の通信関係の構成は、具体的には、どの種類のデータを送信するか、つまり送信するべきデータがどのようなデータタイプを有するかを定義する構成パラメータと、データをどこからどこに送信するか、つまりどの制御コンポーネント間でデータ交換を行うかを定義する構成パラメータと、どれくらいの頻度で個々のデータ項目を送信する必要があるかを定義する構成パラメータと、安全機能のために安全コントローラがどれくらいの速さで外部の状況に反応する必要があるかを定義する構成パラメータとを含む。
【００１１】
そのため、本発明の目的は、より簡単でより速い始動を行うことができる、冒頭に記載した種類の安全コントローラおよびユーザプログラムを生成する方法を提供することである。
【課題を解決するための手段】
【００１２】
本発明の目的は、少なくともそのうちの一部が各自のデータバス・インターフェースを有しており、前記データバス・インターフェースがそれぞれデータを送受信するように設計されている複数の制御コンポーネントと、データ交換のために前記各自のデータバス・インターフェースを介して前記複数の制御コンポーネントに接続されているデータバスと、構成データはアソシエーションデータに基づいて確認され、前記データバスおよび／または少なくとも１つのデータバス・インターフェースの少なくとも１つの特性を判定する構成データを受信するように設計されている構成インターフェースとを有する冒頭に記載の種類の安全コントローラによって達成される。
【００１３】
本目的はまた、前記安全コントローラはその上で実行させるユーザプログラムに従い自動化設備を制御するように設計されており、前記安全コントローラは複数の制御コンポーネントから構成されて、データバスを備えており、前記制御コンポーネントのうちの少なくとも一部は各自のデータバス・インターフェースを有し、前記データバス・インターフェースはそれぞれデータを送受信するように設計されており、前記複数の制御コンポーネントはデータ交換のために前記それぞれのデータバス・インターフェースを介して前記データバスに接続されており、アソシエーションデータを確認するステップと、前記アソシエーションデータに基づいて構成データを確認するステップであって前記構成データは前記データバスおよび／または少なくとも１つのデータバス・インターフェースの少なくとも１つの特性を判定する、前記確認するステップとを行う、冒頭に記載の種類の方法によっても達成される。
【００１４】
好ましくは、ユーザプログラムの生成は、ソースコードおよびマシンコードの純粋な生成の他にも、マシンコードおよび構成データの制御コンポーネントのうちの少なくとも一部への分散にも関わる。
本発明の安全コントローラおよび本発明の方法は、通信関係を構成するために必要な構成データを前に判定したアソシエーションデータに基づいて自動的に確認するという発想に基づくとともに、さらにその構成インターフェースを介して前記構成データを安全コントローラに送信するという発想に基づいている。この構成は、安全コントローラ用のユーザプログラムを書き込むために使用するコンピュータプログラム、または構成用に特別にセットアップされている別のコンピュータプログラムのいずれかによって自動的に達成される。構成の当初ガイドラインはユーザプログラムまたは、たとえばユーザプログラムを生成するために行われる入力から導かれる。この場合、その意図はユーザプログラムのプログラマに通信関係の構成に関係する入力を行わせることであるが、プログラマは実際に構成を行う必要はない。これは前記コンピュータプログラムによって自動的に行われる。以下、「個々の制御コンポーネント間の通信関係の構成」という言葉の代わりに、略して「通信関係の構成」という言葉を使用する。
【００１５】
構成データはデータバスの少なくとも１つの変更可能な特性および／または制御コンポーネントに内蔵されているデータバス・インターフェースの少なくとも１つの変更可能な特性を判定する。これにより、通信関係が自動的に構成される。その結果、ユーザプログラムを生成するステップと、通信関係を構成するステップとを含む安全コントローラの実装とが簡略化される。所要時間の全体的な短縮になり、そのため安全コントローラのセットアップコストの全体的な削減になる。
【００１６】
通信関係の自動構成は安全コントローラのフェイルセーフ性も高める。自動化により、自動的に行われない構成の場合には存在するかもしれないエラーの発生源を排除する。さらに、フレキシビリティが高まる。プロジェクトまたは作成される安全コントローラに変更がある場合、それに応じて改変された構成データをそこから容易に確認して、安全コントローラに転送できる。そういった変更は、たとえば以下の状況の場合に必要になるかもしれない。安全コントローラの実装の後の試運転中に、あるパラメータに関して安全コントローラの性能が低すぎることが判明し、すでに存在する制御コンポーネントを交換するか、または追加の制御コンポーネントを追加することによってこれを是正できることが明らかになる場合である。通信関係が変更または補充されているため、どちらの変更にも構成データの改変を要する。別の例は、すでに稼動中の安全コントローラ内の欠陥のある制御コンポーネントを交換する場合である。
【００１７】
さらに、通信関係の自動構成は、個々の制御コンポーネント間のデータ交換の最適化を達成する。これは安全コントローラの応答時間に関して、制御される設備の所有者のガイドラインを満たす範囲を広げる。そのため、全体として応答時間を短縮することが可能である。
構成データは、データ交換に関係するデータバスのプロパティと、データ交換に関係する制御コンポーネントに内蔵されているデータバス・インターフェースのプロパティとの両方を判定するのが好ましい。これらはいくらか同じであっても、またはいくらか異なったプロパティでもよい。
【００１８】
アソシエーションデータは、好ましくは、ユーザプログラムの個々のサブセクション間のアソシエーション、またはユーザプログラムの個々のサブセクションおよび個々の制御コンポーネント間のアソシエーションを表す。これらのアソシエーションは通信関係の構成に関係するデータを生成する。例として、こうしてこれらアソシエーションを使って、どの種類のデータが送信されており、これらのデータがどこからどこへ送信されているかを推測できる。ユーザプログラムのサブセクションは、ユーザプログラムに内蔵されているプログラムモジュールでもよく、またはたとえば複数の制御命令であってもよい。
【００１９】
そのため、前述の目的は完全に達成される。
本発明の改良形態では、ユーザプログラムは複数のプログラムモジュールから構成され、アソシエーションデータはプログラムモジュール・アソシエーションデータを含み、プログラムモジュール・アソシエーションデータは多数のプログラムモジュール・アソシエーションを表し、プログラムモジュール・アソシエーションはそれぞれがどの制御コンポーネントにそれぞれのプログラムモジュールが対応付けられているかを定義する。
【００２０】
プログラムモジュール・アソシエーションデータは、分散型安全コントローラ要素全体へのユーザプログラム部分の物理的な割当を表す。これは、どのプログラムモジュールがどの制御コンポーネントに対応付けられているかを表すハードウェア関連アソシエーションである。そのため、個々のプログラムモジュールについて、安全コントローラ内の各自の処理位置が分かる。この情報は分散型設計の安全コントローラ内でデータ交換を生成するために重要である。この情報はどのデータがどの制御コンポーネントで生成され、どのデータがどの制御コンポーネントで消費されるかを推測するために使用できる。
【００２１】
さらに、この改良形態は、多様な側面に従い分散型設計の安全コントローラ内のデータ送信を最適化させることができる。
第１の側面によると、個々のプログラムモジュールは、プログラムモジュールひいては前記プログラムモジュールによってそれぞれ定義されるユーザプログラムのサブセクションがその場で処理されるように、個々の制御コンポーネントに対応付けられている。これにより、個々の制御コンポーネント間のデータ交換が減少する。これに関連して、その場（ｉｎ ｓｉｔｕ）とは、プログラムモジュールがそれを処理するために必要なデータが利用できる場所で処理されることを意味する。例として、センサのすぐ近くにある制御ユニットでは、アクチュエータ用の作動信号を確認するための入力信号として必要なセンサ信号をいう。このアソシエーションにより応答時間が短縮する。プログラムモジュールは、ユーザプログラムのライタによって個々の制御コンポーネントに対応付けられるのが好ましい。
【００２２】
第２の側面によると、個々のプログラムモジュールは、ユーザプログラムを書き込むために使用されるコンピュータプログラムによって自動的に個々の制御コンポーネントに対応付けられている。このアソシエーションは、たとえば、データ処理特性図を使って行うことができる。このアソシエーションにより、安全コントローラで利用できるリソース、たとえば、データメモリまたはマイクロプロセッサの最適な利用を行うことができる。これにより、安全コントローラの技術的な状況に合わせた通信関係の構成の最適な適応を行うことができる。
【００２３】
好ましくは、ユーザプログラムのプログラムモジュールのすべてを制御コンポーネントに対応付ける必要はない。また、プログラムモジュールのほんの一部にアソシエーションを行うことも実行可能である。
本発明の別の改良形態では、ユーザプログラムは複数の制御命令を含んでおり、アソシエーションデータは多数の処理アソシエーションを表す処理アソシエーションデータを含み、処理アソシエーションは、制御命令の少なくとも一部について、個々の制御命令のための処理の順番を定義する。
【００２４】
処理アソシエーションデータは処理の順番を表し、そのため個々の制御命令間のデータの流れを表す。これは、どのデータを個々の制御命令間で交換するかを示すソフトウェア関連またはプログラミング関連のアソシエーションに関わる。これにより、データの流れを包括的に提示させることができ、こうして構成データひいては通信関係の構成の最適な解釈を行うことができる。さらに、これによりモジュール化した通信関係の構成を行うことができ、最終的に単純な取り扱いができる。
【００２５】
好ましくは、制御命令の一部はプログラムモジュールに内蔵されている制御命令である。あるいは、制御命令の一部は第１プログラムモジュールに内蔵されている制御命令の第１サブセクションと、第２プログラムモジュールに内蔵されている制御命令の第２サブセクションとを含む。これにより、個々のプログラムモジュール間のデータ交換を最適化できる。
【００２６】
本発明の別の改良形態では、複数の制御命令は複数のデータ生成制御命令と、複数のデータ消費制御命令とを含んでおり、処理アソシエーションデータの確認は、データ消費制御命令が関わるかまたはデータ生成制御命令が関わるかに依存する。
この改良形態はまず、データ生成制御命令およびデータ消費制御命令に関して異なる仕様を考慮できるという利点を有する。次に、この改良形態はデータのフローの提示が確実にすべての中間ステップを網羅する。総体的に、この改良形態により、通信関係の包括的ひいては最適な構成を行うことができる。
【００２７】
本発明の別の改良形態では、構成データは多数の所定の制御パラメータ値にも基づいて確認される。
この改良形態は、設備のオペレータが安全コントローラに求められる制御応答を規定でき、この制御応答が安全コントローラの特定の設計とは当初は独立しているという利点を有する。したがって所望の制御応答が安全コントローラの詳細を決定する。このため、例として、安全コントローラの個々のコンポーネントはこれに基づいて選択される。さらに、これは安全コントローラのデータ交換に関するガイドラインを生成する。そのため、設備の所有者のガイドラインは制御コンポーネントの技術的な詳細によって遵守できる。構成データは不変の、つまりはっきり規定された制御パラメータ値に基づいて確認される。制御パラメータ値は、たとえば、ユーザプログラムの生成中に定義できる。あるいは、制御パラメータ値を後まで定義しないことも実行可能である。
【００２８】
好ましくは、制御パラメータのそれぞれが安全コントローラの制御応答の個別のサブアスペクトを表す。これは全体的な制御応答のサブアスペクトでもよく、全体的な制御応答は複数の制御コンポーネントから構成されている安全コントローラ全体によって定義される。あるいは、サブアスペクトは、安全コントローラに内蔵されている個々の制御コンポーネントの制御応答に関係付けてもよい。
【００２９】
この改良形態は、好ましくは、安全コントローラを作成するために選択される個々の制御コンポーネントが所定の制御パラメータ値を満たすためにすべからく適しているかどうかを自動点検で判定させることができる。
別の改良形態では、考慮する制御パラメータは次の制御パラメータのうちの少なくとも１つであってもよい。すなわち、応答時間を表す第１制御パラメータ、サイクル時間を表す第２制御パラメータ、およびサンプリングレートを表す第３制御パラメータ。
【００３０】
これらは安全コントローラの全体的な制御応答を特徴付ける本質的な制御パラメータである。そのため、通信関係の完全な構成が可能である。
応答時間は、安全コントローラの全体の応答時間であってもよい。あるいは、安全コントローラが生み出す個々の安全機能の応答時間であってもよい。このように、安全コントローラがモニタリングする個々の設備の部分について異なる応答時間を確立することが可能である。
【００３１】
サイクル時間は、安全コントローラ全体の標準として規定されるサイクル時間であってもよい。あるいは、制御コンポーネントについて、さらには制御コンポーネントに内蔵されているデータ処理ユニット、たとえばデータバス・インターフェースについて個々に設定されるサイクル時間であってもよい。あるいは、データバスのサイクル時間であってもよい。サイクル時間を信号処理チェーンに関係付けることも実行可能である。信号処理チェーンとは、たとえば、プログラムモジュール内に存在する一連の制御命令である。一般に、これらは処理する順番がある制御命令である。
【００３２】
サンプリングレートとは、安全コントローラに内蔵されている入出力デバイスのサイクル時間である。標準的なサンプリングレートを安全コントローラ全体に適用してもよい。あるいは、たとえば個々の制御コンポーネントまたは制御コンポーネントに内蔵されている個々のデータ処理ユニットについて、サンプリングレートを個別に設定してもよい。
別の改良形態では、構成データは多数のデータ処理特性図に基づいても確認される。
【００３３】
データ処理特性図は、データ処理で使用されるコンポーネントの特性を表し、この特性はデータ処理と関連する。そのためデータ処理特性図は、データ処理に関するこのコンポーネントの性能についてのステートメントを可能にする。例として、これはマイクロプロセッサのクロック周波数、データメモリの記憶容量、またはデータバスもしくはデータバス・インターフェースのデータ転送レートである。好ましくは、データ処理特性図は、個々の制御コンポーネントに関係し、そのためそれぞれの制御コンポーネントにインストールされているデータ処理ユニットのプロパティを表す。データ処理特性図を使用することによって、通信関係の構成のためのハードウェア関連の状況を考慮することが可能である。そのため、設備の所有者によって規定される制御応答のガイドラインを、ハードウェア関連の状況に合わせて調整することが可能である。
【００３４】
データ処理特性図の値は、個々の制御コンポーネントごとにデータベースに記憶され、データベースはユーザプログラム生成用のコンピュータプログラムを実行するために使用されるコンピュータに配置するのが好ましい。あるいは、これらの値は個々の制御コンポーネントに記憶されてもよく、その後に読み込まれてもよい。
別の改良形態では、アソシエーションデータ、とくにプログラムモジュール・アソシエーションデータは、多数のデータ処理特性図に基づいて確認される。
【００３５】
データ処理特性図に基づいてアソシエーションデータを確認するという発想は、最適化データ処理の観点から、ユーザプログラムのサブセクションを個々の制御コンポーネントに対応付けることができるという利点を有する。このため、処理するために高レベルの計算能力が必要なユーザプログラムのサブセクションを、たとえば、パワフルなマイクロプロセッサを装備している制御コンポーネントで処理できる。これにより、通信関係の構成をとくに最適化できる。
【００３６】
プログラムモジュール・アソシエーションデータをデータ処理特性図に基づいて確認する改良形態に関しては、次のような有利な手順が実行可能である。まず、ユーザプログラムのプログラマはその場で処理するためにプログラムモジュール・アソシエーションを規定できる。次に、データ処理特性図を考慮することによって、それぞれの制御コンポーネントが各自のプログラムモジュールを処理するのに十分パワフルであるかどうかを点検することが可能である。必要なら、プログラマには、プログラムモジュール・アソシエーションの変更を行うよう指図できる。あるいは、ユーザプログラムを書き込むために使用されるコンピュータプログラムによって、プログラムモジュール・アソシエーションを自動的に最適化させることも考えられる。
【００３７】
別の改良形態では、制御コンポーネントの少なくとも一部は各自のデータメモリを有しており、データメモリはそれぞれがそれに供給される各自のデータを記憶するように設計され、安全コントローラは分配ユニットも有しており、分配ユニットは構成データの少なくとも一部を制御コンポーネントの少なくとも一部にデータバスを介して分配するように設計されている。
【００３８】
この改良形態は、構成データを個々のデータメモリに特定的に記憶させられるという利点を有する。例として、これにより構成データはインテリジェント入出力ユニットとして知られるものに記憶させることができる。これらは、とくに、マイクロプロセッサおよびデータメモリなどのデータ処理ユニットを有する安全関連のセンサおよびアクチュエータである。その結果、安全コントローラで大部分未使用で存在しているデータメモリを構成データで埋めることができ、したがって前記データメモリを使用できる。つまり、安全コントローラに存在している制御ユニットは、将来、より小さなデータメモリを装備することができ、そのため安全コントローラのコストを削減できることを意味する。同時に、この改良形態は応答時間を短縮させることができる。構成データは処理する必要のある場所に記憶させられる。これにより、制御コンポーネント間のデータ交換が減少する。
【００３９】
構成データは、アソシエーションデータ、とくにプログラムモジュール・アソシエーションデータに基づいて個々の制御コンポーネントに分配するのが好ましい。さらに、データメモリの少なくとも一部はそれぞれに供給される構成データを不揮発的に記憶するように設計すると有利である。この改良形態は、たとえば、停電後または安全コントローラのスイッチを切った後も構成データが利用できるという利点を有する。これにより、安全コントローラの可用性が増大する。安全コントローラを再初期化する必要はない。例として、これはメモリカードをＳＤカードもしくはＣＦカードの形で使用すること、またはフラッシュメモリの使用に関わる。
【００４０】
別の改良形態では、構成データの少なくとも一部をデータメモリに冗長的に記憶させる。
構成データの冗長記憶は、各構成データを二重化することによって達成される。二重化された構成データはさらに、とくにオリジナルの構成データと二重化された構成データとをそれぞれ別々のデータメモリに記憶させるという条件で、データメモリに個別に分配する。この手段は安全コントローラの可用性を増大させ、そのため制御される設備の可用性を増大させる。たとえば、非安全関連の制御コンポーネントが故障した場合、そのデータメモリに記憶されていた構成データは、別のデータメモリにも記憶されているため、引き続き利用可能である。
【００４１】
好ましくは、構成データだけではなく、プログラムデータおよび／またはパラメータ化データも個々の制御コンポーネントに分配されている。この場合、プログラムデータはユーザプログラムを表し、ユーザプログラムが書き込まれるときに生成される。とくにプログラムデータの場合、たとえば、必要なセンサ信号が存在する場所、またはアクチュエータ用の作動信号を提供する必要のある場所にプログラムデータを記憶させられると有利である。パラメータ化データは、ユーザプログラムで使用される個々の変数または機能性の値の範囲を表す。構成データ、プログラムデータおよびパラメータ化データは総称してプロジェクトデータといい、これは設備で実行させるアプリケーションを表す。プログラムデータおよびパラメータ化データのどちらについても、データメモリの確認、記憶および改良形態に関する上述の説明がそれに応じて適用される。
【００４２】
本発明の別の改良形態では、分配ユニットはデータメモリの１つである。
この改良形態は、構成データの分配のために、安全コントローラに追加ユニットを設ける必要がないという利点を有する。構成データは安全コントローラにどんな形であれ存在しているデータメモリのうちの１つによって分配される。これにより、安全コントローラの安価な作成が可能になる。好ましくは、これは供給される構成データを少なくとも１つの他のデータメモリに転送する、または別のデータメモリに記憶されている構成データを要求するように設計されているデータメモリの少なくとも１つに関わる。これにより、構成データを個々のデータメモリにフレキシブルに分配できる。これはさらに、構成データをデータメモリに任意に分配することも可能にする。
【００４３】
あるいは、この目的のために安全コントローラに設けられているインターフェースに少なくとも断続的に接続されている外部分配ユニットを使用できる。外部分配ユニットを、ユーザプログラムを書き込むために使用されるコンピュータに配置するととくに有利である。つまり、構成データはコンピュータから安全コントローラに直接送信できることを意味する。
【００４４】
別の改良形態では、構成データを複数のデータブロックに分割し、少なくとも１つのデータブロックをデータバスに対応付けて、残りのデータブロックをそれぞれデータバス・インターフェースの少なくとも１つに対応付ける。
この改良形態は、構成データを分配基準に従い目標を定めてデータバスおよびデータバス・インターフェースに割り当てることができるという利点を有する。構成データはその場で処理できるため、とくに応答時間が短縮される。
【００４５】
データバスを操作するために必要なデータバス・マネージャの配列に関する限り、複数の改良形態が実行可能である。データバス・マネージャは制御コンポーネントのうちの１つに内蔵してもよい。この場合、データバスに対応付けられているデータブロックは、この制御コンポーネントのデータメモリに記憶されている。他の改良形態では、データバス・マネージャは個別の設計としてもよく、そのため制御コンポーネントの１つに内蔵されない。その場合、データバスに対応付けられているデータブロックはデータバス・マネージャに内蔵されているデータメモリに記憶させるのが好ましい。
【００４６】
別の改良形態では、構成データは以下のデータを含む。すなわち、生成されるデータが有効である有効期間を表す有効時間データ、および／またはデータ消費制御命令がそれによって消費されるべきデータを待つ待機期間を表す待機時間データ、および／または複数の制御命令の基準である終了サイクル時間を表す終了サイクル時間データ、および／または制御コンポーネントを同期させることのできる同期データ、および／またはデータフレーム割当が、制御コンポーネントの少なくとも１つについて、それによって送信されるべきデータおよびそれによって受信されるべきデータのために制御コンポーネントに割り当てられるデータバスに指定されるデータフレーム内のデータフィールドを定義する、多数のデータフレーム割当を表すデータフレーム割当データ。
【００４７】
有効時間データは、データ生成制御命令に関する。有効期間はデータ生成制御命令ごとに個別に定義されるのが好ましい。
あるいは、たとえば、処理アソシエーションによって関係付けられている複数のデータ生成制御命令について、共通の有効期間を規定することも可能である。
待機時間データは、データ消費制御命令に関する。この場合も、データ消費制御命令ごとに個別の待機期間を定義するのが好ましい。有効時間データに関係するステートメントに従い、複数のデータ消費制御命令について共通の待機期間を規定することもできる。別の観点では、待機期間は、データ生成制御命令が別の制御命令で処理または消費されるデータを提供するのに必要な期間と考えることもできる。
【００４８】
終了サイクル時間を導入する効果とは、本来は応答時間に関して確定的な応答を必ずしも有していない安全コントローラが、この点に関しては確定的な応答を示すことである。終了サイクル時間は、データ生成制御命令によって生成されるデータが標準形で存在する必要のある等間隔の時間間隔を定義する。これが確定的な応答を規定する。多数の処理アソシエーションが、終了サイクル時間に基づいた複数の制御命令に関して処理の順番を定義するのが好ましい。個々の有効期間の少なくとも一部は、それぞれが終了サイクル時間によって定義される時間に終了するように定義され、個々の有効期間は別々の時間に終了するのが好ましい。
【００４９】
同期データを使用して、制御コンポーネントの個々のクロックおよび／または個々のタイマ割込み要求を同期させるのが好ましい。さらに好適なものとして、同期データはデータバスが機能する方法にも作用できる。
データフレーム割当データは、イーサネット（登録商標）ベースのフィールドバス、とくに、出願人に属すると考えられるＳａｆｅｔｙＮｅｔ  ｐ（登録商標）通信モデルに基づいて機能するデータバスシステムの使用を可能にする。このようなデータバスシステムの場合、データバスに接続されている第１制御コンポーネントが複数のデータフィールドを有するデータフレームを生成する。他のすべての制御コンポーネントに、送信データを充填するべき少なくとも１つのデータフィールドが明確に割り当てられる。データフレームは、ある制御コンポーネントから次の制御コンポーネントに出力データフレームとして送られて、各制御コンポーネントは割り当てられているデータフィールドに送信データを充填する。最後の制御コンポーネントは、戻りデータフレームとしてデータフレームを一連の制御コンポーネントに返す。この場合、制御コンポーネントは戻りデータフレームのデータフィールドから関係のない送信データを読み取り、それぞれのデータフィールドは制御コンポーネントに個々に割り当てられている。
【００５０】
さらに、構成データは、個々の制御コンポーネントについて、そのデータタイプに従って処理すべき各自のデータを定義する規定データであってもよい。ＳａｆｅｔｙＮｅｔ  ｐ（登録商標）通信モデルに基づいて動作する前述のデータバスシステムの場合のように、異なるデータバスサイクル時間でデータを送信できるデータバスシステムを使用する場合、構成データは、個々の制御命令または複数の制御命令について、そのデータの送信のためにどのデータバスサイクル時間を使用するかを判定するデータバスサイクルデータであってもよい。
【００５１】
上で提示した構成データは、通信関係の包括的な構成を可能にする。
本発明の安全コントローラおよび本発明の方法を使用すると、通信関係を自動的に包括的に構成できる。これは、個々の制御コンポーネントの入力マップおよび出力マップを構成するステップと、個々の入力マップと個々の出力マップとを対応付けるステップと、制御コンポーネント、とくにそれぞれに内蔵されるデータバス・インターフェース、およびデータバスのための構成データを確認するステップとに関わる。
【００５２】
好ましくは、データバス・インターフェースはデータバスとそれを内蔵している制御コンポーネントとの間のデータ交換を可能にするだけでなく、制御コンポーネント内のデータ交換の体系化も担う。
制御される設備で実行させるアプリケーションは、標準制御タスクおよび安全制御タスクの両方を含むプロセスということもできる。
【００５３】
上述した特徴および以下に説明する特徴は、それぞれ示した組み合わせだけでなく、本発明の範囲を逸脱することなく他の組み合わせまたは単独で使用することもできる。
本発明の実施形態を図面に示し、以下の説明でより詳細に説明する。
【図面の簡単な説明】
【００５４】
【図１】本発明の安全コントローラによって制御される設備の模式図を示している。
【図２】設備コンポーネントに配置されている制御コンポーネントの模式図を示している。
【図３】分散型安全コントローラの簡略図を示している。
【図４】ユーザプログラムを生成するためのグラフィカル・インターフェースの簡略図を示している。
【図５】処理アソシエーションとそれから得られる構成データとを説明するためのタイミング図とを示している。
【図６ａ】安全コントローラの簡略図を示している。
【図６ｂ】処理アソシエーションを説明するための関連依存グラフを示している。
【図７】本発明の方法を説明するための簡略フローチャートを示している。
【発明を実施するための形態】
【００５５】
図１では、制御される設備の全体を参照番号１０で表している。
設備１０は複数の設備コンポーネント１２を備える。この実施形態では、これは取付ステーション１４、ハンドリングステーション１６、テストステーション１８、搬送ユニット２０、および包装・パレット梱包ステーション２２である。さらに、安全コントローラは全体を参照番号２４で表される。
【００５６】
安全コントローラ２４は複数の制御コンポーネント２６を有する。制御コンポーネント２６は制御ユニット２８、センサが接続されているセンサユニット３０、およびアクチュエータが接続されているアクチュエータユニット３２である。この場合、個々の制御ユニット２８、センサ３０およびアクチュエータ３２はそれぞれが設備コンポーネント１２に機能的に対応付けられており、物理的にもその場所に配置されていることが多い。制御コンポーネント１２はデータバス３４を介してまとめてネットワーク化されている。したがって、制御コンポーネント２６はデータバス・インターフェース（ここでは図示せず）を有している。好ましくは、これはイーサネット（登録商標）規格に基づいたデータバス、とくに本出願の譲受人のＳａｆｅｔｙＮｅｔ  ｐ（登録商標）通信モデルに基づいて動作するデータバスに関わる。ＳａｆｅｔｙＮｅｔ  ｐ（登録商標）の場合、制御コンポーネント２６は生産者／消費者の原理として知られるものに基づいて通信する、つまり、通信に参加する各制御コンポーネントは他の制御コンポーネント全体に「無指向に」データを送り、各制御コンポーネントは提供されるデータの「プール」から他の制御コンポーネントからのデータを読み取る。選択された制御コンポーネント、とくにデータバス・マネージャとして知られるものは、他のすべての制御コンポーネントを順番に通過する複数のデータフィールドを有するデータフレームを、周期的に生成するのが好ましい。各制御コンポーネントはその送信データを循環データフレームの所定のデータフィールドに入れて、他の所定のデータフィールドから無関係な送信データを読み取る。この通信モデルは上記特許文献１に記載されており、参照により本明細書に組み込まれる。
【００５７】
取付ステーション１４はハンドリングステーション１６にワークピースを充填するために使用する。このワークピース（ここでは図示せず）はハンドリングステーション１６で取り扱う。次に、取り扱いされたワークピースをハンドリングステーション１６からテストステーション１８に送って、取り扱いされたワークピースが所定の点検基準を満たすかどうかを点検する。これらの点検基準が満たされたら、ハンドリングステーション１６は新たなワークピースを再び充填することができる。取り扱いされたワークピースは搬送ユニット２０によって包装・パレット梱包ステーション２２に運ばれる。後者は複数の取り扱いされたワークピースを、後でパレットに積まれる取引単位にまとめる。
【００５８】
個々のステーション１４，１６，１８，２２の動作領域は、たとえば、防護ドアで保護してもよく、これを防護ドアスイッチによってモニタリングする。あるいは、または追加で、ライトグリッドまたはライトカーテンを使用できる。さらに、個々のステーション１４，１６，１８，２２に緊急停止押しボタンを備えてもよく、これを使用してそれぞれのステーションを安全状態に移行できる。これは各電源に配置されているコンタクタの適切な作動によって行われる。前述の防護ドアスイッチ、ライトグリッド、ライトカーテンおよび緊急停止押しボタンは、安全関連センサ３０である。コンタクタは、安全関連アクチュエータ３２である。センサ３０は、工具の磨耗を示すセンサまたは危険位置インジケータなどの非安全関連センサをさらに備えてもよい。
【００５９】
この実施形態では、各ステーション１４，１６，１８，２２は関連制御ユニット２８を有する。したがって、この場合の制御ユニット２８は物理的に別個のコンポーネントの形態である。これは同じくセンサユニット３０およびアクチュエータユニット３２にも当てはまる。あるいは、共通の制御ユニットをたとえば２つのステーションに対応付けることも考えられる。
【００６０】
図１では、同じ機能を有するコンポーネントには同じ参照番号を付しており、斜線を用いて、同じ参照番号を有する個々のコンポーネントは、個々の設備コンポーネント１２との個々のアソシエーションのために全く異なる設計にしてもよいことを示している。信号にも同じことがいえる。このマーキング法は後続の図面にも適用される。
図２は、ハンドリングステーション１６とそれに対応付けられている制御コンポーネントとをより詳細に示している。この場合、制御ユニット２８’は、セーフティクリティカルなアプリケーションおよびプロセスを制御するために必要なフェイルセーフ性を得るために２チャンネルの冗長設計になっている。
【００６１】
２チャンネル設計を表すために、２つのセパレータプロセッサ、すなわち第１プロセッサ４０および第２プロセッサ４２が示されている。２つのプロセッサ４０，４２は、互いにモニタリングし、データを交換できるように、双方向通信インターフェース４４を介して互いに接続されている。制御ユニット２８’および２つのプロセッサ４０，４２の２チャンネルは、システマティックエラーを大幅に排除するために、多様性のある設計、つまり互いに異なる設計とするのが好ましい。
【００６２】
参照番号４６は、２つのプロセッサ４０，４２のそれぞれに連絡しているデータバス・インターフェースを表す。データバス・インターフェース４６はセンサ３０’からの入力データを含む制御入力信号４８，４８’を受信して、それをカスタマイズされたデータフォーマットで２つのプロセッサ４０，４２のそれぞれに転送する。さらに、データバス・インターフェース４６は、アクチュエータ３２’を作動させるために使用される出力データを含む制御出力信号５０，５０’を生成する基準として、プロセッサ４０，４２をみなす。
【００６３】
参照番号５２は、プロジェクトデータ５４をデータブロック形式で記憶するデータメモリを表す。これはデータバス・インターフェース４６用の構成データ５８を含む第１データブロック５６に関わる。さらに、データメモリ５２は第２ブロック６０と第３ブロック６２とを含む。この２つのブロック６０，６２は制御ユニット２８’で実行されるユーザプログラムを表すプログラムコマンドを含む。データメモリ５２は、記憶されているプロジェクトデータ５４のすべてが不揮発的に記憶されるように設計されている。このために、データメモリ５２は、たとえば、フラッシュメモリ、ＳＤカードまたはＣＦカードの形態である。明確にするため、プロジェクトデータ５４に含まれているパラメータ化データは図示していない。
【００６４】
アクチュエータ３２’およびセンサ３０’は同様にデータバス・インターフェース４６’，４６’’，４６’’’，４６’’’’を有する。さらに、アクチュエータ３２’およびセンサ３０’は、各自のデータバス・インターフェース４６’，４６’’，４６’’’，４６’’’’用の構成データを含むデータブロック５６’，５６’’，５６’’’，５６’’’’を記憶するデータメモリ５２’，５２’’，５２’’’，５２’’’’を有する。これは制限効果をもつことを意図しているのではない。制御コンポーネントのすべてがデータメモリを有する必要はない。データメモリをもたない制御コンポーネントからの構成データも、別の制御コンポーネントのデータメモリに記憶させてもよい。このために必要な構成データの交換を、矢印６４で示す。
【００６５】
データバス・インターフェース４６は、制御ユニット２８’とデータバス３４とのデータ交換がデータバス３４の通信プロトコルに基づいて確実に行われるようにする。好適な実施形態では、データバス・インターフェース４６は、個々の制御コンポーネント間で交換すべきデータをデータフレームに埋め込んでいるイーサネット（登録商標）互換バスメッセージを生成する。データバス・インターフェース４６はさらに機能ユニットを内蔵してもよいが、これらは明確にするために図２では図示していない。これはデータをイベントベースで交換するために使用できるイベントブローカを含んでもよい。これはデータベースのデータ交換を行うために使用できるデータブローカも含んでもよい。図２に図示するデータバス３４は通信媒体、一または複数のスイッチおよびデータバス・マネージャを内蔵してもよい。
【００６６】
プロジェクトデータ５４はバイナリ形式で、つまりマシンコードとして利用できる。制御ユニット２８’のフェイルセーフ動作のために、データメモリ５２はプログラムデータをもつ２つのデータブロック６０，６２を記憶する。第２データブロック６０は第１プロセッサ４０のためのもので、第３データブロック６２は第２プロセッサ４２のためのものである。第２データブロック６０は第１安全コード６６と標準コード６８とを含む。第１安全コード６６は、制御ユニット２８’が達成する必要のある安全タスクの状況において、第１プロセッサ４０が実行する必要のある制御命令を含む。このような種類の制御命令は、以下、安全制御命令という。標準コード６８は、制御ユニット２８’が達成する必要のある標準タスクの状況において、第１プロセッサ４８が実行する必要のある制御命令を含む。このような種類の制御命令を、以下、標準制御命令という。第３データブロック６２は第２安全コード７０を含み、第２安全コード７０は第２プロセッサ４２が実行する必要のある制御命令を含む。これらの制御命令は以下同様に安全制御命令という。
【００６７】
取り扱いの進行に応じて、第１プロセッサ４０は第１現行安全制御命令７２および現行標準制御命令７４を実行する。本質的に同時に、第２プロセッサ４２は第２現行安全制御命令７６を実行する。
非安全関連の制御命令である現行標準制御命令７４の取り扱いは、第１非安全関連データ７８を第１プロセッサ４０とデータバス・インターフェース４６との間で交換することに関わる。例として、第１プロセッサ４０には、非安全関連センサ８０’が生成する非安全関連制御入力信号４８の瞬時値が供給される。非安全関連センサ８０’は、たとえば、閉ループ駆動制御に必要なキャプチャ入力変数のようなセンサである。
【００６８】
非安全関連センサ８０’はフェイルセーフ設計ではない。データバス・インターフェース４６には、非安全関連アクチュエータ８２’を作動させるためにそれに供給される非安全関連制御出力信号５０の瞬時値が供給される。非安全関連制御出力信号５０の瞬時値は、標準制御命令に従って非安全関連制御入力信号４８に基づいて確認される。これは中間変数の確認を要してもよく、その瞬時値は第２非安全関連データ８４によってメインメモリ８６に供給されて、そこにバッファ記憶される。
【００６９】
安全関連制御命令である第１現行安全制御命令７２の取り扱いは、第１安全関連データ８８を第１プロセッサ４０とデータバス・インターフェース４６との間で交換することに関わる。この場合、第１プロセッサ４０には、安全関連センサ９０’が生成する安全関連制御入力信号４８’の瞬時値が供給される。例として、安全関連センサ９０’は緊急停止押しボタン、防護ドア、速度モニタリング機器または安全関連パラメータを受信するための他のセンサである。データバス・インターフェース４６には、安全関連アクチュエータ９２’を作動させるためにそれに供給される安全関連制御出力信号５０’の瞬時値が供給される。例として、安全関連アクチュエータ９２’は、その動作接点が電源９４とハンドリングステーション１６との間の接続に配置されているコンタクタである。そのため、ハンドリングステーション１６の電源９４を遮断でき、つまり適当な誤作動が発生した場合に、少なくともハンドリングステーション１６を安全状態に移行できることを意味する。安全関連制御出力信号５０’の瞬時値は、安全制御命令に従って安全関連制御入力信号４８’に基づいて確認される。これは安全関連中間変数の確認を要してもよく、その瞬時値は第２安全関連データ９６によってメインメモリ８６に供給されて、そこにバッファ記憶される。
【００７０】
安全関連制御命令である第２現行安全制御命令７６の取り扱いは、第１現行安全制御命令７２に従って進行することに関わる。第２現行安全制御命令７６に関して、第１安全関連データ８８に対応する第３安全関連データ９８と、第２安全関連データ９６に対応する第４安全関連データ１００とが対応したやり方で使用される。
「データ生成制御命令」または「データ消費制御命令」という言葉をしかるべきときに使用する場合、これはいずれの場合も、安全制御命令または標準制御命令のいずれを含んでもよい。
【００７１】
図１に図示する設備１０の設計に従い、図３は制御ユニット２８，２８’，２８’’，２８’’’、非安全関連センサ８０，８０’，８０’’，８０’’’、非安全関連アクチュエータ８２，８２’，８２’’，８２’’’、安全関連センサ９０，９０’，９０’’，９０’’’、および安全関連アクチュエータ９２，９２’，９２’’，９２’’’を、そこに内蔵されているデータバス・インターフェース４６，４６’，４６’’，４６’’’，４６’’’’、データメモリ５２，５２’，５２’’，５２’’’，５２’’’’、および構成データを含む第１データブロック５６，５６’，５６’’，５６’’’，５６’’’’とともに示している。明確にするために、主に図の平面の最上部に示すコンポーネントに参照番号を付している。個々の制御コンポーネントはデータバス３４によって互いに接続されている。
【００７２】
図３では、コンピュータが参照番号１１０で表されている。コンピュータ１１０はディスプレイユニット１１２に接続されている。コンピュータ１１０はコンピュータプログラム１１４を実行する。コンピュータプログラム１１４は制御される設備１０で実行させるアプリケーションを表すプロジェクトデータの生成を可能にする。この場合、プロジェクトデータはプログラムデータと、構成データ５８と、パラメータ化データとを含む。当分野の専門用語では、コンピュータプログラム１１４はプログラミングツールといわれることが多い。
【００７３】
この場合、コンピュータ１１０で生成される構成データ５８はデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’およびデータバス・マネージャ１１６に転送される。この状況において、データバス・マネージャ１１６は接続されているすべての制御コンポーネントの通信のために定期的に循環するデータフレームを生成する制御コンポーネントであることが好ましい。データバス・マネージャ１１６用の構成データは、データ送信のサイクルタイム、つまり連続する２つのデータフレーム間に経過できる期間、データフレームの長さ、データフィールドおよび／またはタイムアウトパラメータの数を含んでもよい。
【００７４】
この場合、構成データ５８は複数の第１データブロック５６，５６’，５６’’，５６’’’，５６’’’’および第４データブロック１１８に分割される。第１データブロック５６，５６’，５６’’，５６’’’，５６’’’’はそれぞれがデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’の１つに対応付けられる。第４データブロック１１８はデータバス・マネージャ１１６に対応付けられる。この場合、構成データ５８はアソシエーションデータ１２０に基づいて個々のデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’およびデータバス・マネージャ１１６に分配される。そのため、データバス３４およびデータバス・インターフェース４６，４６’，４６’’，４６’’’，４６’’’’はそれぞれ構成データ５８に対応付けられる。その結果、データバス３４の少なくとも１つの特性およびデータバス・インターフェースの少なくとも１つの特性はどちらも構成データ５８によって判定できる。
【００７５】
アソシエーションデータ１２０はコンピュータ１１０で生成される。アソシエーションデータ１２０はとくにプログラムモジュール・アソシエーションデータを含む。プログラムモジュール・アソシエーションデータは構成データ５８を個々のデータバス・インターフェース４６，４６’，４６’’，４６’’’，４６’’’’に、そのためデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’およびデータバス・マネージャ１１６に分配するために使用される。コンピュータ１１０は構成データ５８の分配のために、アソシエーションデータ全体ではなく、プログラムモジュール・アソシエーションデータのみを提供するのが好ましい。
【００７６】
構成データ５８を分配できるようにするためには、これらのデータを分配ユニットに供給する。この場合には３つの異なる手順が可能である。安全コントローラ２４は、プログラマがこれら３つの手順のなかから所望する１つを選択できるように設計してもよい。あるいは、これらの手順のうちの１つまたは２つだけを提供することも考えられる。
第１手順を第１矢印シーケンス１２２で示している。これは、構成データ５８およびアソシエーションデータ１２０の両方を、たとえばケーブルで、コンピュータ１１０からこのために提供されている第１構成インターフェース１２４を介して制御ユニット２８に配置されているデータメモリ５２に転送することに関わる。この場合、分配ユニットは安全コントローラ２４に配置されているデータメモリである。制御ユニット２８に配置されているデータメモリ５２は、データパケット５６，５６’，５６’’，５６’’’，５６’’’’，１１８を、アソシエーションデータ１２０に含まれているプログラムモジュール・アソシエーションデータに従って個々のデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’およびデータバス・マネージャ１１６に分配する。このために、前記データメモリ５２はそれに供給される構成データ５８を、少なくとも１つの他のデータメモリまたはデータバス・マネージャ１１６に転送できるように設計されている。
【００７７】
第２手順は第２矢印シーケンス１２６で示されている。これは、構成データ５８およびアソシエーションデータ１２０を、まずはコンピュータ１１０が内蔵する外部分配ユニット１２８に提供することに関わる。この場合、外部分配ユニット１２８はその機能性に関して、制御ユニット２８が内蔵しているデータメモリ５２に対応する。例として、構成データ５８はさらに、ケーブルによってこのために設けられている第２構成インターフェース１３０を介してデータバス３４に供給されて、アソシエーションデータ１２０が含むプログラムモジュール・アソシエーションデータに従って個々のデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’およびデータバス・マネージャ１１６に分配される。
【００７８】
第３手順は第３矢印シーケンス１３２で示されている。これは、構成データ５８およびアソシエーションデータ１２０の両方を携帯記憶媒体１３４に転送することに関わる。例として、携帯記憶媒体１３４はＳＤカード、ＣＦカードまたはＵＳＢスティックでもよい。さらに携帯記憶媒体１３４はこのために統合構成インターフェースに設けられている保持ユニット１３６に挿入される。それから構成データ５８は制御ユニット２８に内蔵されているデータメモリ５２に供給されて、データメモリはデータパケット５６，５６’，５６’’，５６’’’，５６’’’’，１１８の分配を引受ける。プログラムデータおよびパラメータ化データも対応したやり方で分配できる。
【００７９】
構成データ５８を個々のデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’およびデータバス・マネージャ１１６に分配することに関する限り、この場合様々なアプローチが同様に考えられる。第１のアプローチに基づいて、プロジェクトデータ５８は本質的にその場で、つまり処理される場所に記憶される。例として、これは構成データが意図されるデータバス・インターフェース用の制御ユニット内のデータメモリである。このアプローチはプログラムモジュール・アソシエーションデータを、たとえば、ユーザプログラムのライタが作成するアソシエーションに基づいて確認することに関わる。第２のアプローチに基づいて、アソシエーションデータ１２０は少なくとも１つのデータ処理特性図に基づいて確認される。このアプローチは構成データ５８を、好ましくは高いデータ処理能力を有する制御コンポーネント２６に記憶させることに関わる。構成データを個々のデータメモリ５２，５２’，５２’’，５２’’’，５２’’’’またはデータバス・マネージャ１１６に任意に分配できるようにするために、データメモリ５２，５２’，５２’’，５２’’’，５２’’’’またはデータバス・マネージャのうちの少なくとも一部は供給される構成データを転送し、構成データを要求できるように設計しなければならない。安全コントローラ２４の可用性を高めるために、構成データ５８の少なくとも一部は、データメモリ５２，５２’，５２’’，５２’’’，５２’’’’およびデータバス・マネージャ１１６に冗長的に記憶させることができる。
【００８０】
図４では、グラフィカル・インターフェースは全体として参照番号１５０で表されている。このグラフィカル・インターフェース１５０でプログラマはユーザプログラムを書き込むことができ、そのためプログラムデータを生成できる。同時に、プログラムデータの他に、パラメータ化データおよび構成データ５８も生成される。
グラフィカル・ユーザ・インターフェース１５０は、複数の所定の設備ソフトウェアコンポーネント１５４を図示記号の形で含む設備ソフトウェアコンポーネントフィールド１５２を含む。ユーザプログラムおよびひいてはプログラムデータは、複数の設備ソフトウェアコンポーネントを提供することによって書き込み／生成される。このために、グラフィカル・ユーザ・インターフェース１５０は第１コンポーネントフィールド１５６を含む。提供されるべき設備ソフトウェアコンポーネントが選択されて、矢印１５８で示すように第１コンポーネントフィールド１５６に転送される。そのため第１コンポーネントフィールド１５６は複数の提供される設備ソフトウェアコンポーネント１６０を含む。提供される設備ソフトウェアコンポーネント１６０の論理の組み合わせがコンポーネントのサブプログラムを書き込む。この目的のために、これら設備ソフトウェアコンポーネントの論理入力および論理出力は、複数の接続部１６２で示しているように互いに接続されている。所定の設備ソフトウェアコンポーネントの選択に加えて、新規設備ソフトウェアコンポーネント１６４で示すように、新たな設備ソフトウェアコンポーネントを書き込むことも可能である。個々のソフトウェアコンポーネントは、それ自体が別のソフトウェアコンポーネントを含んでいない要素コンポーネントとして知られるものであってもよい。あるいは、それ自体が別のソフトウェアコンポーネントを含むグループコンポーネントとして知られるものであってもよい。要素コンポーネントは複数のアスペクトブロックを含む。これらアスペクトブロックのそれぞれが複数の異なる制御アスペクトの１つに対応付けられており、これら制御アスペクトのそれぞれは安全コントローラの別々のサブアスペクトを表す。この場合、設備ソフトウェアコンポーネントは、設備ソフトウェアコンポーネントを表す設備コンポーネントにとって重要なすべてのアスペクトブロックを含む。要素コンポーネントと比較して、グループコンポーネントはアスペクトブロックの他に、要素コンポーネントまたはグループコンポーネントの形態であってもよいソフトウェアコンポーネントを追加で含む。グループコンポーネントの使用により、複数の階層レベルを有するユーザプログラムを書き込むことができる。提供される設備ソフトウェアコンポーネント１６０のそれぞれは、ユーザプログラム全体を構築するプログラムモジュールの１つを表す。好ましくは、様々な制御アスペクトは次の制御アスペクトであってもよい。つまり、標準制御アスペクト、安全制御アスペクト、診断アスペクト、視覚化アスペクト、エントリ制御アスペクト、冷却アスペクト、アクセス認証アスペクト、保守アスペクト、ロッキングアスペクト、手動操作アスペクトまたはデータ管理アスペクト。
【００８１】
設備ソフトウェアコンポーネントに含まれている各アスペクトブロックに関して、処理に必要で、対応付けられている入力を介してアスペクトブロックに供給できる少なくとも論理変数および／またはパラメータおよび／またはセンサ信号、および多数のアスペクトブロックでそれぞれ確認されて、対応付けられている出力を介してアスペクトブロックによって出力される論理変数および／またはパラメータおよび／または出力信号は、第一にその真価で判定される。それぞれのアスペクトブロックに接続する必要のある特定のセンサおよび／またはアクチュエータは、最終的にはユーザプログラムが書き込まれるときにのみ判定される。さらに、設備ソフトウェアコンポーネントに含まれているアスペクトブロックの少なくとも一部は、各アスペクトブロックに対応付けられている制御アスペクトに関して設備コンポーネントのアスペクトプロパティを判定する各自の機能プログラムを記憶している。
【００８２】
グラフィカル・インターフェース１５０はアスペクトフィールド１６６も含む。このアスペクトフィールド１６６は複数のアスペクトブロック１６８を含む。これらアスペクトブロックのそれぞれは同じ制御アスペクトに対応付けられている。この場合、複数のアスペクトブロック１６８はすべての階層レベルのユーザプログラマに含まれているアスペクトブロックを含む。グラフィカル・インターフェース１５０はセンサフィールド１７０も含む。このセンサフィールド１７０は複数のセンサ図示記号１７２を含む。制御される設備１０に内蔵されているセンサごとに、グラフィカルセンサ信号が提供される。別のフィールドとして、グラフィカル・インターフェース１５０はアクチュエータフィールド１７４を含む。このアクチュエータフィールド１７４は複数のアクチュエータ図示記号１７６を含む。制御される設備１０に含まれているアクチュエータごとに、アクチュエータ図示記号が提供される。アスペクトフィールド１６６に含まれている複数のアスペクトブロック１６８に関して、アスペクトのサブプログラムが書き込まれる。この目的のために、アスペクトブロックの少なくとも一部は、その入力およびその出力の両方のためにＩ／Ｏマッピングとして知られるものを行わせる。すなわち、信号入力の少なくとも一部は、センサ信号が各アスペクトブロックで処理されるセンサに割り当てられる。これを例として矢印１７８で示している。また、各アスペクトブロックで確認される出力信号で作動されるアクチュエータに制御出力の少なくとも一部が割り当てられる。これを例として矢印１８０で示している。あるいは、Ｉ／Ｏマッピングは入力フィールド１８２のテキスト入力によって行うこともできる。
【００８３】
グラフィカル・インターフェース１５０は、複数の所定の制御ソフトウェアコンポーネント１８６を含む制御ソフトウェアコンポーネントフィールド１８４を含む。これら制御ソフトウェアコンポーネント１８６のそれぞれは、分散型設計の安全コントローラ２４で使用できる制御コンポーネント２６を表す。グラフィカル・インターフェース１５０は第２コンポーネントフィールド１８８も含む。この第２コンポーネントフィールド１８８において、ユーザプログラムのプログラマは分散型安全コントローラ２４を構築する制御コンポーネントを表す制御ソフトウェアコンポーネントを挿入できる。これは個々の制御ソフトウェアコンポーネント１８６を選択し、例として矢印１９０で示すように、それを第２コンポーネントフィールド１８８に転送することによって行う。そのため、第２コンポーネントフィールド１８８は複数の提供される制御ソフトウェアコンポーネント１９２を含む。プログラマが少なくともユーザプログラムのサブセクションに関して、どのプロジェクトデータ、とくにどのプログラムデータおよびどの構成データをどの制御コンポーネント２６で処理する必要があるか、そのため対応付けられているデータメモリに記憶させる必要があるかを判定したい場合には、提供される設備ソフトウェアコンポーネント１６０の少なくとも一部を、提供される制御ソフトウェアコンポーネント１９２に対応付けることができる。これはプログラムモジュール・アソシエーション１９４，１９６で示されている。これらプログラムモジュール・アソシエーションはプログラムモジュール・アソシエーションデータひいてはアソシエーションデータを確認するために使用され、これはさらに構成データ５８を確認するための基準とみなされる。
【００８４】
プログラムモジュール・アソシエーションデータは好ましくは自動的に、つまりプログラマがプログラムモジュール・アソシエーションを作成しなくても確認できる。これは少なくとも１つのデータ処理特性図値を、制御ソフトウェアコンポーネント１９２によって表される各制御コンポーネント２６のデータベースに記憶させることによって、プログラムモジュール・アソシエーションをたとえばこれらデータ処理特性図値に基づいて行うことができ、そのためプログラムモジュール・アソシエーションデータを確認できるようにすることに関わる。この場合、プログラムデータおよび構成データは個々の制御コンポーネントに分配され、そのため個々の制御コンポーネントのデータ処理能力の観点からみるとデータメモリに分配される。あるいは、プログラムモジュール・アソシエーションデータを、データ処理特性図値と、プログラマが作成したプログラムモジュール・アソシエーションとの両方に基づいて確認することも考えられる。例として、データ処理特性図値は、第一にアソシエーションの提案を生成するために使用でき、この提案はさらにプログラマが作成したプログラムモジュール・アソシエーションに従ってその考えに基づいてプログラマが修正できる。
【００８５】
アスペクトブロック１８８に関しては、所定のパラメータ化データをデータベースに記憶させてもよい。また、パラメータ化データは、ユーザプログラムが書き込まれるときに、たとえば入力フィールド１８２への適切な入力によって、修正するまたは規定することも可能である。これはたとえばユーザプログラムが書き込まれた後でも行うことができる。
【００８６】
プログラムモジュール・アソシエーションひいてはプログラムモジュール・アソシエーションデータは、どのプログラムモジュールがどの制御ソフトウェアコンポーネントに、ひいてはどの制御コンポーネントに対応付けられているかに関する情報だけを含むのではない。プログラムモジュール・アソシエーションデータは別の情報も追加で含む。接続部１６２から、どの制御コンポーネントが互いに接続されているか、およびこれを達成するために個々の制御コンポーネントのうちのどの入出力が使用されているかに関する情報も含む。さらに、プログラムモジュール・アソシエーションデータは、どのセンサおよびどのアクチュエータが個々の制御ユニットに対応付けられているかに関する情報ひいてはデータも含む。アスペクトフィールド１６６は個々のアスペクトブロック１６８とセンサおよびアクチュエータとのアソシエーションを作成するために使用される。さらに、どの機能プログラムが個々のアスペクトブロックに含まれているか、つまりどのプログラム入力変数およびプログラム出力変数またはどのデータ消費制御命令およびどのデータ生成制御命令が、個々のアスペクトブロックで処理されるかがわかる。そのため、どのセンサがどのプログラム入力変数に対応付けられているか、およびどのアクチュエータがどのプログラム出力変数に対応付けられているかが判定される。個々のアスペクトブロックはそれぞれ設備ソフトウェアコンポーネントに明示的に対応付けられているため、どのアスペクトブロックがどの設備ソフトウェアコンポーネントに含まれているかもわかる。プログラムモジュール・アソシエーションは、そのためどのセンサおよびどのアクチュエータがどの制御ユニットに接続されているかがわかることを意味する。アスペクトブロックに関して行われるＩ／Ｏマッピングに基づいて、どの入出力端子が個々のセンサおよびアクチュエータをそれに対応付けているかもわかる。すなわち、制御ユニットに関して、入力マップおよび出力マップの両方がわかる。これは通信関係の構成と関連する情報である。
【００８７】
図４を参照してユーザプログラムの生成に関して説明されている手順は、本発明の概念に基づいている。この本発明の概念に関し、アプリケーションひいては解決すべき自動化の問題の機能的な側面を第一に考える。これに基づいて、後で使用される制御コンポーネントとは関係なく、機能全体のアプリケーションを第一に開発する。
これは、第１コンポーネントフィールド１５６に関連して説明されたコンポーネントのサブプログラムの生成と、アスペクトフィールド１６６に関連して説明されたアスペクトのサブプログラムの生成と、場合によってはアスペクトブロックに含まれている機能プログラムの生成とに関わる。さらなるステップにおいて、機能全体のアプリケーションはさらに、デバイス構成に、つまり制御ユニット、センサおよびアクチュエータである複数の制御コンポーネントに分割される。この場合、安全コントローラ内で個々の制御コンポーネント間でのデータ交換に必要な通信関係は自動的に確認される。
【００８８】
まずデバイス構成を生成して、これに基づいて機器構成に内蔵されている制御ユニット用の個々のプログラムをプログラミングし、個々の制御ユニットとセンサおよびアクチュエータとの通信関係を手動で複雑にプログラミングする今までの手順と比較して、この本発明の概念は、ユーザプログラムがいったん書き込まれたら高度な再利用性を有するという利点を有する。機能全体のアプリケーションを最初に機器とは独立して開発するため、ユーザプログラムは後で構築される同様な設備で再利用できる。高度な再利用性はユーザプログラム全体に関係するだけではなく、ユーザプログラムを構築する個々のプログラムモジュールにも関係する。このことはすでに存在している設備を修正しようとするときに有利である。例として、設備の取り扱い能力を増大させるために、設備に存在するプロセスステーションを二倍にする必要がある場合、プロセスステーションを表す設備ソフトウェアコンポーネントのコピーを作成するだけでよい。したがって、また、コピーされた設備ソフトウェアコンポーネントはすでに存在している設備ソフトウェアコンポーネントに接続するだけでよい。
【００８９】
別の利点は、機能全体のアプリケーションをまず機器から独立して開発することから得られるスケーラビリティである。したがって、まったく同じユーザプログラムを異なる構成の安全コントローラに実装することが可能である。例として、これは単に大型でそのためパワフルな制御ユニットを有する安全コントローラ上にあってもよく、または相対的に小型の、そのためあまりパワフルではない複数の制御ユニットを含む分散型設計の安全コントローラ上にあってもよい。
【００９０】
さらに、ユーザプログラムを生成するための所要時間が短縮する。分散システムの中央機能的な観点のために、およびプログラマが使用されることになる制御コンポーネントを最初に考える必要がないために、プログラマは機能全体のアプリケーションの開発に専念できる。さらに、複雑な手動での通信関係の完全なプログラミングのための所要時間が省かれる。
【００９１】
そのため、本発明の概念は分散型設計の安全コントローラを単純な方法で制御するのに使用できる。そのため分散型設計の安全コントローラのあらゆる利点を使用できる。故障は安全コントローラの限られた小領域だけに影響するため、設備の可用性が増す。さらに、制御タスクの真正な並列処理が可能で、ユーザプログラムのサブセクションをその場で実行できるため、応答時間を短縮できる。さらに、安全コントローラはより安く作成できる。まず、ユーザプログラムの書き込みおよび生成のコストが下がる。次に、制御機能をどういった形であれ利用可能なインテリジェント入力／出力機器に実装できるためコストが下がる。
【００９２】
本発明の概念が機器とは独立しているというすでに述べた事実は、２つの点で明らかになる。まず、機能全体のアプリケーションは任意に分散された設計の安全コントローラに分配される。このプロセスはデプロイメントと呼ばれる。次に、記号変数を制御ユニットの物理的な入出力に対応付けることでＩ／Ｏマッピングを生成する。
図５は単一の処理チェーンにおける２つの終了サイクル２１０，２１２を示しており、処理アソシエーションの順番を文字列ａからｘで示している。信号処理チェーンは、複数のユニットに関わる複数の制御命令を含む。これらのユニットは「Ｉ／Ｏ」で示される入出力機器、「ＰＬＣ」で示される制御ユニット、および「ＮＭ  ＳＮＥＴ」で示されるデータバス・マネージャである。これらのユニットは異なる関連優先度を有し、最上位の優先度を「Ｐｒｉｏ１」で示し、最下位の優先度を「Ｐｒｉｏ３」で示している。優先度が「Ｐｒｉｏ３」より低いが、以下の考察では重要ではない別の制御命令は「アイドル」で示している。図５からわかるように、データバス・マネージャＮＭ  ＳＮＥＴはこの場合入出力機器によって提供されるデータを待たなければならない。制御ユニットは入出力機器およびデータバス・マネージャの両方を待たなければならない。入出力機器は、前の終了サイクルで制御ユニットが生成するデータを待つ。
【００９３】
図５は様々な有効期間を示している。入出力機器が生成するデータの第１有効期間２１４。制御ユニットが生成するデータの第２有効期間２１６。データバス・マネージャが生成するデータの第３有効期間２１８。さらに、図５は様々な待機期間を示している。個々の待機期間は、それぞれのユニットがそれによって消費されることになるデータを待つ長さを示している。入出力機器の第１待機期間２２０。入出力機器は終了サイクル内に各自の第１データ消費を有するため、この待機期間は０秒に設定されている。制御ユニットの第２待機期間２２２。この待機期間中、制御ユニットは入出力機器が生成するデータおよびデータバス・マネージャが生成するデータの両方を待つ。データバス・マネージャの第３待機期間２２４。この待機期間中、データバス・マネージャは入出力機器が生成するデータを待つ。図５の図からわかるように、個々のユニットの待機期間は、いずれも、静的であり、つまりはっきり定められている。待機期間の開始と終了との間に存在する期間はすべての終了サイクルで同一である。対して、あるユニットが生成するデータの有効期間は、個々の終了サイクルで変えることができる。これは、各有効期間がどのくらいの終了サイクルの間生成されるデータが有効であるかを示していることに起因し、データが生成される終了サイクルも考慮されている。この結果、２つの終了サイクル２１０，２１２における入出力機器の有効期間２１４，２１４’は、たとえば、入出力機器が生成するデータが各終了サイクル内の異なる時点で提供されるために異なっている。
【００９４】
終了サイクル２１０では、すべてのデータはそれぞれのデータ消費に利用できるように適時に生成される。他方で、終了サイクル２１２では、入出力機器は、データバス・マネージャの待機期間２２４’内に適時にそのデータを提供しない。このため、データバス・マネージャは、それが入出力機器から要求するデータが利用できないとしても、ｓで示される時点で生成されたデータを提供する。このメカニズムにより、データバス・マネージャは作業を続けられるので、制御ユニットはそれが要求するデータを利用できるようになる。待機時間を与えることで、個々のデータが適時に提供されない場合でも、安全コントローラが作業できるようになる。ｓで示される時点におけるデータバス・マネージャによるデータの出力に関する限り、複数の選択肢が考えられる。例として、所定のデフォルト値を出力でき、または前の終了サイクルで出力される値を再び出力できる。
【００９５】
図６は２つの図６ａおよび図６ｂを含む。図６ａは、制御ユニット２８’’’’と入出力機器２３２とを含み、両方合わせて物理的なユニットを形成する単純な設計の安全コントローラ２３０を示している。制御ユニット２８’’’’は以下のユーザプログラムを実行する。
2012524354.tif 000004
【００９６】
入出力機器２３２の入出力は以下のように定義される。
2012524354.tif 000005
【００９７】
この結果が以下のＩ／Ｏマッピングになる。
2012524354.tif 000006
【００９８】
このソフトウェア関連の状況は全般に次のように現れる。つまり、制御ユニット２８’’’’は、入出力機器２３２がデータ消費制御命令Ｋ２に基づいてその出力ＰｈｙＯｕｔ１を介して出力する出力変数ｏｕｔ１の瞬時値を生成するための基準として、データ生成制御命令Ｅ１をみなす。同時に、入出力機器２３２は、データ消費制御命令Ｋ１に基づいて制御ユニット２８’’’’で入力変数ｉｎ１に割り当てられる瞬時値をその入力ＰｈｙＩｎ１を介して読み込むための基準として、データ生成制御命令Ｅ２をみなす。
【００９９】
個々の制御命令Ｅ１，Ｅ２，Ｋ１，Ｋ２に関して上で説明した処理の順番を、図６ｂに複数の処理アソシエーション２３６を有する依存グラフ２３４を使用して示している。第１処理アソシエーション２３８はデータ生成制御命令Ｅ１をデータ消費制御命令Ｋ２に対応付ける。第２処理アソシエーション２４０はデータ生成制御命令Ｅ２をデータ消費制御命令Ｋ１に対応付ける。また、第３処理アソシエーション２４２および第４処理アソシエーション２４４で示すように、データ生成制御命令Ｅ２はデータ消費制御命令Ｋ２に従属しており、データ生成制御命令Ｅ１はデータ消費制御命令Ｋ１に従属している。この場合、処理アソシエーション２３６は次のルールに基づいて確認される。つまり、データ消費制御命令は、データ消費制御命令がデータ生成制御命令に同様に含まれている変数を含むときに、データ生成制御命令に従属する。データ生成制御命令は、両方の制御命令が同じユニット、たとえば制御ユニット２８’’’’に属しているとき、データ消費制御命令に従属する。
【０１００】
処理アソシエーション２３６を表す処理アソシエーションデータに基づいて、好ましくは構成データは次のように確認される。つまり、考慮中の信号処理チェーン内のデータ生成制御命令およびデータ消費制御命令がすでに判定されており、第１ステップで個々の制御命令間の処理アソシエーションが確認される場合、これら制御命令に適用されるサイクル時間は第２ステップで確認される。このための開始点は安全コントローラのために予め定められているサイクル時間である。この実施例では、制御ユニット２８’’’’に関して２０ミリ秒のサイクル時間が予め定められている。対して、入出力機器２３２に関してはサイクル時間が予め定められていない。そのため、２０ミリ秒のサイクル時間は、データ生成制御命令Ｅ１およびデータ消費制御命令Ｋ１の両方に適用される。所定のサイクル時間が適用される制御命令から、さらに所定の制御命令が適用されない制御命令のサイクル時間が自動的に確認される。この実施例では、これらは２つの制御命令Ｅ２およびＫ２である。
【０１０１】
これは次のメカニズムの適用に関わる。つまり、サイクル時間が予め定められているデータ消費制御命令から、前記データ消費制御命令から直接到達できるデータ生成制御命令およびデータ消費制御命令は、処理アソシエーションで規定されている処理方向とは反対に、つまり逆方向に確認される。これら制御命令に関しては、所定のサイクル時間は同様に有効と想定される。この場合、さらなる変更が取得されるまでプロセスが継続する。この実施例では、データ生成制御命令Ｅ２はデータ消費制御命令Ｋ１に関して直接到達できる。そのため、この制御命令についても、２０ミリ秒のサイクル時間が適用される。サイクル時間が予め定められているデータ生成制御命令から、前記データ生成制御命令から直接到達できるデータ生成制御命令およびデータ消費制御命令は、処理アソシエーションによって規定されている処理方向に従って、つまり順方向に確認される。これら制御命令に関しては、所定のサイクル時間が同様に有効と想定される。この場合、さらなる変更が取得されるまでプロセスは継続する。この実施例では、データ消費制御命令Ｋ２はデータ生成制御命令Ｅ１に関して直接到達できる。そのため、この制御命令についても、２０ミリ秒のサイクル時間が適用される。
【０１０２】
多数のデータ生成制御命令またはデータ消費制御命令に関してそれぞれ複数のサイクル時間が確認されたら、これら制御命令の１つずつについて基本サイクル時間が確認される必要がある。こうして基本サイクル時間は個々のサイクル時間の最大公約数として取得される。基本サイクル時間を確認する必要は、主に複数の相互接続されている信号処理チェーン内のデータ生成制御命令およびデータ消費制御命令を考慮するときに生じる。基本サイクル時間の確認は、安全コントローラの最低および最高サイクル時間ならびに応答時間などの制約要因を考慮する必要を伴う。この実施例では、基本サイクル時間を確認する必要はない。
【０１０３】
さらなるステップで、終了サイクル時間が確認される。これはサイクル時間、場合によっては考慮中のすべてのデータ生成制御命令およびデータ消費制御命令の基本サイクル時間の最大公約数として取得される。終了サイクル時間は、安全コントローラに対する確定的な応答を達成するために、考慮中のデータ生成制御命令からのデータを、いくら遅くとも利用できるようにする必要がある個々の時間を定義する。好ましくは、終了サイクル時間は、大体において、あるプロジェクトの標準である。あるいは、あるプロジェクト内に複数の終了サイクル時間を許可することも考えられる。しかし、その場合これは互いに整数比である必要がある。この場合、基準は最低終了サイクル時間である。例として、これは厳密な最小終了サイクル時間を有する制御コンポーネントを安全コントローラ内で使用する場合に重要である。この場合、安全コントローラの他のコンポーネントがそのハンドリング速度を損なわれないようにする必要がある。好ましくは、最大公約数よりも短い終了サイクル時間を許可することも可能である。この実施例では、終了サイクル時間は２０ミリ秒である。
【０１０４】
さらなるステップで、考慮中のデータ生成制御命令について有効期間がそれぞれ確認される。好ましくは、それぞれの有効期間は各自のサイクル時間、場合によってはデータ生成制御命令の各自の基本サイクル時間に対応する。しかし、この場合、周期的な従属性が確実に解決されるように注意するべきである。したがって、考慮中のすべてのデータ生成制御命令について同じ終了サイクルで有効期間が終了するケースが生じてはならない。もしこうなれば、制御命令の相互ブロッキングを招くことになるだろう。周期的な従属性は、たとえば、データ生成制御命令のうちの１つについて、有効期間を二倍にすることによって解決される。この実施例では、データ生成制御命令Ｅ１およびＥ２の両方が２０ミリ秒の各自の有効期間を有する。そのため、周期的な従属性がある。例として、これはデータ生成制御命令Ｅ１の有効期間を４０ミリ秒に増やすことによって解決される。
【０１０５】
さらなるステップで、考慮中のデータ消費制御命令についてそれぞれの待機期間が確認される。この場合、待機期間の値はそれぞれのサイクル時間、場合によってはそれぞれの制御命令の各自の基本サイクル時間の値の半分として取得される。この実施例では、データ消費制御命令Ｋ１の待機期間は１０ミリ秒である。データ消費制御命令Ｋ２の待機期間は同様に１０ミリ秒である。
【０１０６】
処理アソシエーションデータから、この場合このように次の構成データが自動的に確認される。つまり、終了サイクル時間、個々の制御命令のサイクル時間または基本サイクル時間、データ生成制御命令の有効期間、およびデータ消費制御命令の待機期間。
この実施例では、制御ユニット２８’’’’および入出力機器２３２は１つの物理的なユニットを形成するため、構成データは同期データを一切含んでいない。単一の処理チェーン用の考慮中のデータ生成制御命令およびデータ消費制御命令が安全コントローラ内の複数の制御コンポーネントに分割されている場合、ハンドリングアソシエーションデータに基づいて同期データも自動的に確認される。
【０１０７】
プログラムモジュール・アソシエーションデータに基づいて、データフレーム割当データが確認される。
そのため、アソシエーションデータに基づいて構成データを包括的に確認できる。
図６ａおよび図６ｂに関連して説明するメカニズムは、ユーザプログラムのライタが制御ユニット２８’’’の確定サイクル時間をいったん規定してしまうと、コンピュータプログラム１１４によって自動的に、つまりひとりでに実行される。制御ユニット２８’’’と対話する他の制御コンポーネントからの構成データは、制御ユニット２８’’’の確定サイクル時間に基づいて自動的に確認される。自明なことに、このメカニズムは、プログラムモジュールに含まれている制御命令など、他の制御命令に適用できる。そのため、構成データは個々のプログラムモジュールに合わせた方法で確認できる。あるいは、このメカニズムをユーザプログラム内のすべての制御命令に一度限り適用することも考えられる。
【０１０８】
前述したメカニズムは、データバス・マネージャ用の次の構成データを自動的に確認するためにも使用される。つまり、有効期間、個々の制御コンポーネントの個々のクロックを同期させるために使用できるデータ、および個々の制御コンポーネントの個々のタイマ割込みを同期させるために使用できるデータ。
前述のメカニズムは、リアルタイムデータの送信に使用される通信関係を構成するために使用されるのが好ましい。
【０１０９】
図７に示すフローチャートは、本発明の方法の流れを示している。ステップ２５０に従い、設備ソフトウェアコンポーネントが提供される。次のステップ２５２で、設備ソフトウェアコンポーネントがリンクされる。この後に続くステップ２５４で、設備ソフトウェアコンポーネントに含まれているアスペクトブロックについてＩ／Ｏマッピングが行われる。次のステップ２５６で、制御ソフトウェアコンポーネントが提供される。次のステップ２５８で、設備ソフトウェアコンポーネントが制御ソフトウェアコンポーネントに対応付けられる。次のステップ２６０で、選択された制御パラメータ値がプログラマによって予め定められる。例として、個々のサイクル時間および／またはサンプリングレートの値が規定され、または安全コントローラの応答時間が定義される。応答時間とは、入力信号の認識からそれにリンクされる出力信号の変更までに経過する時間である。次のステップ２６２で、アソシエーションデータが確認される。この場合、アソシエーションデータはプログラムモジュール・アソシエーションデータと、処理アソシエーションデータとを含む。プログラムモジュール・アソシエーションデータは、ユーザプログラムのプログラマが規定するプログラムモジュール・アソシエーションを表す。あるいは、プログラムモジュール・アソシエーションデータはデータ処理特性図に基づいて確認されるプログラムモジュール・アソシエーションを表してもよい。処理アソシエーションデータは、制御命令の少なくとも一部について、個々の制御命令の処理の順番を定義する多数の処理アソシエーションを表す。次のステップ２６４で、アソシエーションデータに基づいてここで自動的に構成データが確認される。ステップ２６６で、さらに構成データがデータバス・マネージャおよび個々の制御コンポーネントに分配される。構成データを分配するために使用される手順によっては、ステップ２６４から直接ステップ２６６に進まない。構成データを携帯記憶媒体を使用して分配する場合、ステップ２６４とステップ２６６との間にステップ２６８を行い、前記ステップ２６８は構成データおよびアソシエーションデータを携帯記憶媒体に記憶させることに関わる。
【０１１０】
そのため、本発明の安全コントローラおよび本発明の方法により、安全コントローラの通信関係用の複数の構成データを、安全コントローラのプログラマが選択する少数のガイドラインに基づいて自動的に確認できる。データバス・マネージャ用の構成データがプログラマが選択するガイドラインを使用して自動的に判定されれば、とくに有利である。このように、本発明の方法も制御コンポーネントの構成にデータバス・マネージャを含む。構成データの自動確認に関する限り、この場合まず安全コントローラの応答時間を短時間にさせること、次にプロセス時間の起こりうるジッタを最小限にすることが注目される。
【図１】
2012524354.tif 000007
【図２】
2012524354.tif 000008
【図３】
2012524354.tif 000009
【図４】
2012524354.tif 000010
【図５】
2012524354.tif 000011
【図６ａ】
2012524354.tif 000012
【図６ｂ】
2012524354.tif 000013
【図７】
2012524354.tif 000014
【国際調査報告】
2012524354.tif 000015
2012524354.tif 000016
2012524354.tif 000017
2012524354.tif 000018