説明

自動化システムを制御する安全コントローラおよびユーザプログラムを生成する方法

【課題】より簡単でより速い始動を行うことができる安全コントローラおよびそのためのユーザプログラムを生成する。
【解決手段】少なくとも一部が各自のデータバス・インターフェース(46)を有しており、前記データバス・インターフェース(46, 46’, 46’’, 46’’’, 46’’’’)はそれぞれデータを送受信するように設計されている複数の制御コンポーネント(26)と、データ交換のために前記各自のデータバス・インターフェース(46, 46’, 46’’, 46’’’, 46’’’’)を介して前記複数の制御コンポーネント(26, 28, 80, 82, 90, 92)が接続されているデータバス(34, 116)と、アソシエーションデータ(120)に基づいて確認され、さらに前記構成データ(58)はデータバス(34, 116)または少なくとも1つのデータバス・インターフェース(46)の少なくとも1つの特性を判定する構成データ(58)を受信するように設計されている構成インターフェース(124, 130, 136)とを有する。

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

【0005】
などの監督機関から特別な承認を得る必要がある。この場合、前記安全コントローラは、たとえば、欧州規格EN954−1、IEC61508、EN ISO13849−1または他の匹敵する規格に定められる規定の安全基準を遵守しなければならない。そのため、以下、安全コントローラは少なくともEN954−1の安全カテゴリ3またはIEC61508に従い少なくともレベル2に達する安全度水準(SIL)に適合する装置を意味すると理解される。
【0006】
プログラム可能な安全コントローラにより、ユーザは、典型的にはユーザプログラムとして知られる1つのソフトウェアを使用して、ニーズに合わせた論理の組み合わせおよびさらなる信号またはデータ処理ステップを個々に定義できる。この結果、さまざまな安全リレー間の配線の選択により論理の組み合わせを定義していたかつてのソリューションと比較して大幅なフレキシビリティが得られる。
【0007】
大型で複雑な先行技術の設備の場合、分散型安全コントローラが使用されることが多い。分散型安全コントローラは、通信ネットワークを介して互いに通信する複数の空間的に分散されている制御コンポーネント(制御ユニット、センサ、およびアクチュエータ)を有する。制御コンポーネントは設備コンポーネントに関連付けられている。設備コンポーネントとは、ハンドリングステーション、コンベヤのベルト、個々のロボットまたは同様な他のものなど、制御される設備の構成部品である。ハードウェアに関しては、分散型安全コントローラは高いレベルのフレキシビリティを提供する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】独国特許出願公開第10 2004 063 213 A1号明細書
【発明の概要】
【発明が解決しようとする課題】
【0009】
このように、安全コントローラは複数の異なる制御コンポーネントから構成でき、そのため制御される設備の状況に柔軟に合わせることができる。しかし、個々の制御コンポーネント間の通信関係の構成およびデータ処理に関する問題に関しては、分散型安全コントローラはまだ最適とはいえない。始動前に要する構成の複雑さは高いレベルにある。制御ユニットごとに、どの入力信号を読み取って、どの出力信号を出力するかを個別に判定する必要がある。さらに、ユーザは制御システム内のすべてのコンポーネント間の通信関係を個別に判定しなければならない。これは通信中に監視しなければならない時間パラメータも含む。
【0010】
個々の制御コンポーネント間の通信関係の構成は、具体的には、どの種類のデータを送信するか、つまり送信するべきデータがどのようなデータタイプを有するかを定義する構成パラメータと、データをどこからどこに送信するか、つまりどの制御コンポーネント間でデータ交換を行うかを定義する構成パラメータと、どれくらいの頻度で個々のデータ項目を送信する必要があるかを定義する構成パラメータと、安全機能のために安全コントローラがどれくらいの速さで外部の状況に反応する必要があるかを定義する構成パラメータとを含む。
【0011】
そのため、本発明の目的は、より簡単でより速い始動を行うことができる、冒頭に記載した種類の安全コントローラおよびユーザプログラムを生成する方法を提供することである。
【課題を解決するための手段】
【0012】
本発明の目的は、少なくともそのうちの一部が各自のデータバス・インターフェースを有しており、前記データバス・インターフェースがそれぞれデータを送受信するように設計されている複数の制御コンポーネントと、データ交換のために前記各自のデータバス・インターフェースを介して前記複数の制御コンポーネントに接続されているデータバスと、構成データはアソシエーションデータに基づいて確認され、前記データバスおよび/または少なくとも1つのデータバス・インターフェースの少なくとも1つの特性を判定する構成データを受信するように設計されている構成インターフェースとを有する冒頭に記載の種類の安全コントローラによって達成される。
【0013】
本目的はまた、前記安全コントローラはその上で実行させるユーザプログラムに従い自動化設備を制御するように設計されており、前記安全コントローラは複数の制御コンポーネントから構成されて、データバスを備えており、前記制御コンポーネントのうちの少なくとも一部は各自のデータバス・インターフェースを有し、前記データバス・インターフェースはそれぞれデータを送受信するように設計されており、前記複数の制御コンポーネントはデータ交換のために前記それぞれのデータバス・インターフェースを介して前記データバスに接続されており、アソシエーションデータを確認するステップと、前記アソシエーションデータに基づいて構成データを確認するステップであって前記構成データは前記データバスおよび/または少なくとも1つのデータバス・インターフェースの少なくとも1つの特性を判定する、前記確認するステップとを行う、冒頭に記載の種類の方法によっても達成される。
【0014】
好ましくは、ユーザプログラムの生成は、ソースコードおよびマシンコードの純粋な生成の他にも、マシンコードおよび構成データの制御コンポーネントのうちの少なくとも一部への分散にも関わる。
本発明の安全コントローラおよび本発明の方法は、通信関係を構成するために必要な構成データを前に判定したアソシエーションデータに基づいて自動的に確認するという発想に基づくとともに、さらにその構成インターフェースを介して前記構成データを安全コントローラに送信するという発想に基づいている。この構成は、安全コントローラ用のユーザプログラムを書き込むために使用するコンピュータプログラム、または構成用に特別にセットアップされている別のコンピュータプログラムのいずれかによって自動的に達成される。構成の当初ガイドラインはユーザプログラムまたは、たとえばユーザプログラムを生成するために行われる入力から導かれる。この場合、その意図はユーザプログラムのプログラマに通信関係の構成に関係する入力を行わせることであるが、プログラマは実際に構成を行う必要はない。これは前記コンピュータプログラムによって自動的に行われる。以下、「個々の制御コンポーネント間の通信関係の構成」という言葉の代わりに、略して「通信関係の構成」という言葉を使用する。
【0015】
構成データはデータバスの少なくとも1つの変更可能な特性および/または制御コンポーネントに内蔵されているデータバス・インターフェースの少なくとも1つの変更可能な特性を判定する。これにより、通信関係が自動的に構成される。その結果、ユーザプログラムを生成するステップと、通信関係を構成するステップとを含む安全コントローラの実装とが簡略化される。所要時間の全体的な短縮になり、そのため安全コントローラのセットアップコストの全体的な削減になる。
【0016】
通信関係の自動構成は安全コントローラのフェイルセーフ性も高める。自動化により、自動的に行われない構成の場合には存在するかもしれないエラーの発生源を排除する。さらに、フレキシビリティが高まる。プロジェクトまたは作成される安全コントローラに変更がある場合、それに応じて改変された構成データをそこから容易に確認して、安全コントローラに転送できる。そういった変更は、たとえば以下の状況の場合に必要になるかもしれない。安全コントローラの実装の後の試運転中に、あるパラメータに関して安全コントローラの性能が低すぎることが判明し、すでに存在する制御コンポーネントを交換するか、または追加の制御コンポーネントを追加することによってこれを是正できることが明らかになる場合である。通信関係が変更または補充されているため、どちらの変更にも構成データの改変を要する。別の例は、すでに稼動中の安全コントローラ内の欠陥のある制御コンポーネントを交換する場合である。
【0017】
さらに、通信関係の自動構成は、個々の制御コンポーネント間のデータ交換の最適化を達成する。これは安全コントローラの応答時間に関して、制御される設備の所有者のガイドラインを満たす範囲を広げる。そのため、全体として応答時間を短縮することが可能である。
構成データは、データ交換に関係するデータバスのプロパティと、データ交換に関係する制御コンポーネントに内蔵されているデータバス・インターフェースのプロパティとの両方を判定するのが好ましい。これらはいくらか同じであっても、またはいくらか異なったプロパティでもよい。
【0018】
アソシエーションデータは、好ましくは、ユーザプログラムの個々のサブセクション間のアソシエーション、またはユーザプログラムの個々のサブセクションおよび個々の制御コンポーネント間のアソシエーションを表す。これらのアソシエーションは通信関係の構成に関係するデータを生成する。例として、こうしてこれらアソシエーションを使って、どの種類のデータが送信されており、これらのデータがどこからどこへ送信されているかを推測できる。ユーザプログラムのサブセクションは、ユーザプログラムに内蔵されているプログラムモジュールでもよく、またはたとえば複数の制御命令であってもよい。
【0019】
そのため、前述の目的は完全に達成される。
本発明の改良形態では、ユーザプログラムは複数のプログラムモジュールから構成され、アソシエーションデータはプログラムモジュール・アソシエーションデータを含み、プログラムモジュール・アソシエーションデータは多数のプログラムモジュール・アソシエーションを表し、プログラムモジュール・アソシエーションはそれぞれがどの制御コンポーネントにそれぞれのプログラムモジュールが対応付けられているかを定義する。
【0020】
プログラムモジュール・アソシエーションデータは、分散型安全コントローラ要素全体へのユーザプログラム部分の物理的な割当を表す。これは、どのプログラムモジュールがどの制御コンポーネントに対応付けられているかを表すハードウェア関連アソシエーションである。そのため、個々のプログラムモジュールについて、安全コントローラ内の各自の処理位置が分かる。この情報は分散型設計の安全コントローラ内でデータ交換を生成するために重要である。この情報はどのデータがどの制御コンポーネントで生成され、どのデータがどの制御コンポーネントで消費されるかを推測するために使用できる。
【0021】
さらに、この改良形態は、多様な側面に従い分散型設計の安全コントローラ内のデータ送信を最適化させることができる。
第1の側面によると、個々のプログラムモジュールは、プログラムモジュールひいては前記プログラムモジュールによってそれぞれ定義されるユーザプログラムのサブセクションがその場で処理されるように、個々の制御コンポーネントに対応付けられている。これにより、個々の制御コンポーネント間のデータ交換が減少する。これに関連して、その場(in situ)とは、プログラムモジュールがそれを処理するために必要なデータが利用できる場所で処理されることを意味する。例として、センサのすぐ近くにある制御ユニットでは、アクチュエータ用の作動信号を確認するための入力信号として必要なセンサ信号をいう。このアソシエーションにより応答時間が短縮する。プログラムモジュールは、ユーザプログラムのライタによって個々の制御コンポーネントに対応付けられるのが好ましい。
【0022】
第2の側面によると、個々のプログラムモジュールは、ユーザプログラムを書き込むために使用されるコンピュータプログラムによって自動的に個々の制御コンポーネントに対応付けられている。このアソシエーションは、たとえば、データ処理特性図を使って行うことができる。このアソシエーションにより、安全コントローラで利用できるリソース、たとえば、データメモリまたはマイクロプロセッサの最適な利用を行うことができる。これにより、安全コントローラの技術的な状況に合わせた通信関係の構成の最適な適応を行うことができる。
【0023】
好ましくは、ユーザプログラムのプログラムモジュールのすべてを制御コンポーネントに対応付ける必要はない。また、プログラムモジュールのほんの一部にアソシエーションを行うことも実行可能である。
本発明の別の改良形態では、ユーザプログラムは複数の制御命令を含んでおり、アソシエーションデータは多数の処理アソシエーションを表す処理アソシエーションデータを含み、処理アソシエーションは、制御命令の少なくとも一部について、個々の制御命令のための処理の順番を定義する。
【0024】
処理アソシエーションデータは処理の順番を表し、そのため個々の制御命令間のデータの流れを表す。これは、どのデータを個々の制御命令間で交換するかを示すソフトウェア関連またはプログラミング関連のアソシエーションに関わる。これにより、データの流れを包括的に提示させることができ、こうして構成データひいては通信関係の構成の最適な解釈を行うことができる。さらに、これによりモジュール化した通信関係の構成を行うことができ、最終的に単純な取り扱いができる。
【0025】
好ましくは、制御命令の一部はプログラムモジュールに内蔵されている制御命令である。あるいは、制御命令の一部は第1プログラムモジュールに内蔵されている制御命令の第1サブセクションと、第2プログラムモジュールに内蔵されている制御命令の第2サブセクションとを含む。これにより、個々のプログラムモジュール間のデータ交換を最適化できる。
【0026】
本発明の別の改良形態では、複数の制御命令は複数のデータ生成制御命令と、複数のデータ消費制御命令とを含んでおり、処理アソシエーションデータの確認は、データ消費制御命令が関わるかまたはデータ生成制御命令が関わるかに依存する。
この改良形態はまず、データ生成制御命令およびデータ消費制御命令に関して異なる仕様を考慮できるという利点を有する。次に、この改良形態はデータのフローの提示が確実にすべての中間ステップを網羅する。総体的に、この改良形態により、通信関係の包括的ひいては最適な構成を行うことができる。
【0027】
本発明の別の改良形態では、構成データは多数の所定の制御パラメータ値にも基づいて確認される。
この改良形態は、設備のオペレータが安全コントローラに求められる制御応答を規定でき、この制御応答が安全コントローラの特定の設計とは当初は独立しているという利点を有する。したがって所望の制御応答が安全コントローラの詳細を決定する。このため、例として、安全コントローラの個々のコンポーネントはこれに基づいて選択される。さらに、これは安全コントローラのデータ交換に関するガイドラインを生成する。そのため、設備の所有者のガイドラインは制御コンポーネントの技術的な詳細によって遵守できる。構成データは不変の、つまりはっきり規定された制御パラメータ値に基づいて確認される。制御パラメータ値は、たとえば、ユーザプログラムの生成中に定義できる。あるいは、制御パラメータ値を後まで定義しないことも実行可能である。
【0028】
好ましくは、制御パラメータのそれぞれが安全コントローラの制御応答の個別のサブアスペクトを表す。これは全体的な制御応答のサブアスペクトでもよく、全体的な制御応答は複数の制御コンポーネントから構成されている安全コントローラ全体によって定義される。あるいは、サブアスペクトは、安全コントローラに内蔵されている個々の制御コンポーネントの制御応答に関係付けてもよい。
【0029】
この改良形態は、好ましくは、安全コントローラを作成するために選択される個々の制御コンポーネントが所定の制御パラメータ値を満たすためにすべからく適しているかどうかを自動点検で判定させることができる。
別の改良形態では、考慮する制御パラメータは次の制御パラメータのうちの少なくとも1つであってもよい。すなわち、応答時間を表す第1制御パラメータ、サイクル時間を表す第2制御パラメータ、およびサンプリングレートを表す第3制御パラメータ。
【0030】
これらは安全コントローラの全体的な制御応答を特徴付ける本質的な制御パラメータである。そのため、通信関係の完全な構成が可能である。
応答時間は、安全コントローラの全体の応答時間であってもよい。あるいは、安全コントローラが生み出す個々の安全機能の応答時間であってもよい。このように、安全コントローラがモニタリングする個々の設備の部分について異なる応答時間を確立することが可能である。
【0031】
サイクル時間は、安全コントローラ全体の標準として規定されるサイクル時間であってもよい。あるいは、制御コンポーネントについて、さらには制御コンポーネントに内蔵されているデータ処理ユニット、たとえばデータバス・インターフェースについて個々に設定されるサイクル時間であってもよい。あるいは、データバスのサイクル時間であってもよい。サイクル時間を信号処理チェーンに関係付けることも実行可能である。信号処理チェーンとは、たとえば、プログラムモジュール内に存在する一連の制御命令である。一般に、これらは処理する順番がある制御命令である。
【0032】
サンプリングレートとは、安全コントローラに内蔵されている入出力デバイスのサイクル時間である。標準的なサンプリングレートを安全コントローラ全体に適用してもよい。あるいは、たとえば個々の制御コンポーネントまたは制御コンポーネントに内蔵されている個々のデータ処理ユニットについて、サンプリングレートを個別に設定してもよい。
別の改良形態では、構成データは多数のデータ処理特性図に基づいても確認される。
【0033】
データ処理特性図は、データ処理で使用されるコンポーネントの特性を表し、この特性はデータ処理と関連する。そのためデータ処理特性図は、データ処理に関するこのコンポーネントの性能についてのステートメントを可能にする。例として、これはマイクロプロセッサのクロック周波数、データメモリの記憶容量、またはデータバスもしくはデータバス・インターフェースのデータ転送レートである。好ましくは、データ処理特性図は、個々の制御コンポーネントに関係し、そのためそれぞれの制御コンポーネントにインストールされているデータ処理ユニットのプロパティを表す。データ処理特性図を使用することによって、通信関係の構成のためのハードウェア関連の状況を考慮することが可能である。そのため、設備の所有者によって規定される制御応答のガイドラインを、ハードウェア関連の状況に合わせて調整することが可能である。
【0034】
データ処理特性図の値は、個々の制御コンポーネントごとにデータベースに記憶され、データベースはユーザプログラム生成用のコンピュータプログラムを実行するために使用されるコンピュータに配置するのが好ましい。あるいは、これらの値は個々の制御コンポーネントに記憶されてもよく、その後に読み込まれてもよい。
別の改良形態では、アソシエーションデータ、とくにプログラムモジュール・アソシエーションデータは、多数のデータ処理特性図に基づいて確認される。
【0035】
データ処理特性図に基づいてアソシエーションデータを確認するという発想は、最適化データ処理の観点から、ユーザプログラムのサブセクションを個々の制御コンポーネントに対応付けることができるという利点を有する。このため、処理するために高レベルの計算能力が必要なユーザプログラムのサブセクションを、たとえば、パワフルなマイクロプロセッサを装備している制御コンポーネントで処理できる。これにより、通信関係の構成をとくに最適化できる。
【0036】
プログラムモジュール・アソシエーションデータをデータ処理特性図に基づいて確認する改良形態に関しては、次のような有利な手順が実行可能である。まず、ユーザプログラムのプログラマはその場で処理するためにプログラムモジュール・アソシエーションを規定できる。次に、データ処理特性図を考慮することによって、それぞれの制御コンポーネントが各自のプログラムモジュールを処理するのに十分パワフルであるかどうかを点検することが可能である。必要なら、プログラマには、プログラムモジュール・アソシエーションの変更を行うよう指図できる。あるいは、ユーザプログラムを書き込むために使用されるコンピュータプログラムによって、プログラムモジュール・アソシエーションを自動的に最適化させることも考えられる。
【0037】
別の改良形態では、制御コンポーネントの少なくとも一部は各自のデータメモリを有しており、データメモリはそれぞれがそれに供給される各自のデータを記憶するように設計され、安全コントローラは分配ユニットも有しており、分配ユニットは構成データの少なくとも一部を制御コンポーネントの少なくとも一部にデータバスを介して分配するように設計されている。
【0038】
この改良形態は、構成データを個々のデータメモリに特定的に記憶させられるという利点を有する。例として、これにより構成データはインテリジェント入出力ユニットとして知られるものに記憶させることができる。これらは、とくに、マイクロプロセッサおよびデータメモリなどのデータ処理ユニットを有する安全関連のセンサおよびアクチュエータである。その結果、安全コントローラで大部分未使用で存在しているデータメモリを構成データで埋めることができ、したがって前記データメモリを使用できる。つまり、安全コントローラに存在している制御ユニットは、将来、より小さなデータメモリを装備することができ、そのため安全コントローラのコストを削減できることを意味する。同時に、この改良形態は応答時間を短縮させることができる。構成データは処理する必要のある場所に記憶させられる。これにより、制御コンポーネント間のデータ交換が減少する。
【0039】
構成データは、アソシエーションデータ、とくにプログラムモジュール・アソシエーションデータに基づいて個々の制御コンポーネントに分配するのが好ましい。さらに、データメモリの少なくとも一部はそれぞれに供給される構成データを不揮発的に記憶するように設計すると有利である。この改良形態は、たとえば、停電後または安全コントローラのスイッチを切った後も構成データが利用できるという利点を有する。これにより、安全コントローラの可用性が増大する。安全コントローラを再初期化する必要はない。例として、これはメモリカードをSDカードもしくはCFカードの形で使用すること、またはフラッシュメモリの使用に関わる。
【0040】
別の改良形態では、構成データの少なくとも一部をデータメモリに冗長的に記憶させる。
構成データの冗長記憶は、各構成データを二重化することによって達成される。二重化された構成データはさらに、とくにオリジナルの構成データと二重化された構成データとをそれぞれ別々のデータメモリに記憶させるという条件で、データメモリに個別に分配する。この手段は安全コントローラの可用性を増大させ、そのため制御される設備の可用性を増大させる。たとえば、非安全関連の制御コンポーネントが故障した場合、そのデータメモリに記憶されていた構成データは、別のデータメモリにも記憶されているため、引き続き利用可能である。
【0041】
好ましくは、構成データだけではなく、プログラムデータおよび/またはパラメータ化データも個々の制御コンポーネントに分配されている。この場合、プログラムデータはユーザプログラムを表し、ユーザプログラムが書き込まれるときに生成される。とくにプログラムデータの場合、たとえば、必要なセンサ信号が存在する場所、またはアクチュエータ用の作動信号を提供する必要のある場所にプログラムデータを記憶させられると有利である。パラメータ化データは、ユーザプログラムで使用される個々の変数または機能性の値の範囲を表す。構成データ、プログラムデータおよびパラメータ化データは総称してプロジェクトデータといい、これは設備で実行させるアプリケーションを表す。プログラムデータおよびパラメータ化データのどちらについても、データメモリの確認、記憶および改良形態に関する上述の説明がそれに応じて適用される。
【0042】
本発明の別の改良形態では、分配ユニットはデータメモリの1つである。
この改良形態は、構成データの分配のために、安全コントローラに追加ユニットを設ける必要がないという利点を有する。構成データは安全コントローラにどんな形であれ存在しているデータメモリのうちの1つによって分配される。これにより、安全コントローラの安価な作成が可能になる。好ましくは、これは供給される構成データを少なくとも1つの他のデータメモリに転送する、または別のデータメモリに記憶されている構成データを要求するように設計されているデータメモリの少なくとも1つに関わる。これにより、構成データを個々のデータメモリにフレキシブルに分配できる。これはさらに、構成データをデータメモリに任意に分配することも可能にする。
【0043】
あるいは、この目的のために安全コントローラに設けられているインターフェースに少なくとも断続的に接続されている外部分配ユニットを使用できる。外部分配ユニットを、ユーザプログラムを書き込むために使用されるコンピュータに配置するととくに有利である。つまり、構成データはコンピュータから安全コントローラに直接送信できることを意味する。
【0044】
別の改良形態では、構成データを複数のデータブロックに分割し、少なくとも1つのデータブロックをデータバスに対応付けて、残りのデータブロックをそれぞれデータバス・インターフェースの少なくとも1つに対応付ける。
この改良形態は、構成データを分配基準に従い目標を定めてデータバスおよびデータバス・インターフェースに割り当てることができるという利点を有する。構成データはその場で処理できるため、とくに応答時間が短縮される。
【0045】
データバスを操作するために必要なデータバス・マネージャの配列に関する限り、複数の改良形態が実行可能である。データバス・マネージャは制御コンポーネントのうちの1つに内蔵してもよい。この場合、データバスに対応付けられているデータブロックは、この制御コンポーネントのデータメモリに記憶されている。他の改良形態では、データバス・マネージャは個別の設計としてもよく、そのため制御コンポーネントの1つに内蔵されない。その場合、データバスに対応付けられているデータブロックはデータバス・マネージャに内蔵されているデータメモリに記憶させるのが好ましい。
【0046】
別の改良形態では、構成データは以下のデータを含む。すなわち、生成されるデータが有効である有効期間を表す有効時間データ、および/またはデータ消費制御命令がそれによって消費されるべきデータを待つ待機期間を表す待機時間データ、および/または複数の制御命令の基準である終了サイクル時間を表す終了サイクル時間データ、および/または制御コンポーネントを同期させることのできる同期データ、および/またはデータフレーム割当が、制御コンポーネントの少なくとも1つについて、それによって送信されるべきデータおよびそれによって受信されるべきデータのために制御コンポーネントに割り当てられるデータバスに指定されるデータフレーム内のデータフィールドを定義する、多数のデータフレーム割当を表すデータフレーム割当データ。
【0047】
有効時間データは、データ生成制御命令に関する。有効期間はデータ生成制御命令ごとに個別に定義されるのが好ましい。
あるいは、たとえば、処理アソシエーションによって関係付けられている複数のデータ生成制御命令について、共通の有効期間を規定することも可能である。
待機時間データは、データ消費制御命令に関する。この場合も、データ消費制御命令ごとに個別の待機期間を定義するのが好ましい。有効時間データに関係するステートメントに従い、複数のデータ消費制御命令について共通の待機期間を規定することもできる。別の観点では、待機期間は、データ生成制御命令が別の制御命令で処理または消費されるデータを提供するのに必要な期間と考えることもできる。
【0048】
終了サイクル時間を導入する効果とは、本来は応答時間に関して確定的な応答を必ずしも有していない安全コントローラが、この点に関しては確定的な応答を示すことである。終了サイクル時間は、データ生成制御命令によって生成されるデータが標準形で存在する必要のある等間隔の時間間隔を定義する。これが確定的な応答を規定する。多数の処理アソシエーションが、終了サイクル時間に基づいた複数の制御命令に関して処理の順番を定義するのが好ましい。個々の有効期間の少なくとも一部は、それぞれが終了サイクル時間によって定義される時間に終了するように定義され、個々の有効期間は別々の時間に終了するのが好ましい。
【0049】
同期データを使用して、制御コンポーネントの個々のクロックおよび/または個々のタイマ割込み要求を同期させるのが好ましい。さらに好適なものとして、同期データはデータバスが機能する方法にも作用できる。
データフレーム割当データは、イーサネット(登録商標)ベースのフィールドバス、とくに、出願人に属すると考えられるSafetyNet p(登録商標)通信モデルに基づいて機能するデータバスシステムの使用を可能にする。このようなデータバスシステムの場合、データバスに接続されている第1制御コンポーネントが複数のデータフィールドを有するデータフレームを生成する。他のすべての制御コンポーネントに、送信データを充填するべき少なくとも1つのデータフィールドが明確に割り当てられる。データフレームは、ある制御コンポーネントから次の制御コンポーネントに出力データフレームとして送られて、各制御コンポーネントは割り当てられているデータフィールドに送信データを充填する。最後の制御コンポーネントは、戻りデータフレームとしてデータフレームを一連の制御コンポーネントに返す。この場合、制御コンポーネントは戻りデータフレームのデータフィールドから関係のない送信データを読み取り、それぞれのデータフィールドは制御コンポーネントに個々に割り当てられている。
【0050】
さらに、構成データは、個々の制御コンポーネントについて、そのデータタイプに従って処理すべき各自のデータを定義する規定データであってもよい。SafetyNet p(登録商標)通信モデルに基づいて動作する前述のデータバスシステムの場合のように、異なるデータバスサイクル時間でデータを送信できるデータバスシステムを使用する場合、構成データは、個々の制御命令または複数の制御命令について、そのデータの送信のためにどのデータバスサイクル時間を使用するかを判定するデータバスサイクルデータであってもよい。
【0051】
上で提示した構成データは、通信関係の包括的な構成を可能にする。
本発明の安全コントローラおよび本発明の方法を使用すると、通信関係を自動的に包括的に構成できる。これは、個々の制御コンポーネントの入力マップおよび出力マップを構成するステップと、個々の入力マップと個々の出力マップとを対応付けるステップと、制御コンポーネント、とくにそれぞれに内蔵されるデータバス・インターフェース、およびデータバスのための構成データを確認するステップとに関わる。
【0052】
好ましくは、データバス・インターフェースはデータバスとそれを内蔵している制御コンポーネントとの間のデータ交換を可能にするだけでなく、制御コンポーネント内のデータ交換の体系化も担う。
制御される設備で実行させるアプリケーションは、標準制御タスクおよび安全制御タスクの両方を含むプロセスということもできる。
【0053】
上述した特徴および以下に説明する特徴は、それぞれ示した組み合わせだけでなく、本発明の範囲を逸脱することなく他の組み合わせまたは単独で使用することもできる。
本発明の実施形態を図面に示し、以下の説明でより詳細に説明する。
【図面の簡単な説明】
【0054】
【図1】本発明の安全コントローラによって制御される設備の模式図を示している。
【図2】設備コンポーネントに配置されている制御コンポーネントの模式図を示している。
【図3】分散型安全コントローラの簡略図を示している。
【図4】ユーザプログラムを生成するためのグラフィカル・インターフェースの簡略図を示している。
【図5】処理アソシエーションとそれから得られる構成データとを説明するためのタイミング図とを示している。
【図6a】安全コントローラの簡略図を示している。
【図6b】処理アソシエーションを説明するための関連依存グラフを示している。
【図7】本発明の方法を説明するための簡略フローチャートを示している。
【発明を実施するための形態】
【0055】
図1では、制御される設備の全体を参照番号10で表している。
設備10は複数の設備コンポーネント12を備える。この実施形態では、これは取付ステーション14、ハンドリングステーション16、テストステーション18、搬送ユニット20、および包装・パレット梱包ステーション22である。さらに、安全コントローラは全体を参照番号24で表される。
【0056】
安全コントローラ24は複数の制御コンポーネント26を有する。制御コンポーネント26は制御ユニット28、センサが接続されているセンサユニット30、およびアクチュエータが接続されているアクチュエータユニット32である。この場合、個々の制御ユニット28、センサ30およびアクチュエータ32はそれぞれが設備コンポーネント12に機能的に対応付けられており、物理的にもその場所に配置されていることが多い。制御コンポーネント12はデータバス34を介してまとめてネットワーク化されている。したがって、制御コンポーネント26はデータバス・インターフェース(ここでは図示せず)を有している。好ましくは、これはイーサネット(登録商標)規格に基づいたデータバス、とくに本出願の譲受人のSafetyNet p(登録商標)通信モデルに基づいて動作するデータバスに関わる。SafetyNet p(登録商標)の場合、制御コンポーネント26は生産者/消費者の原理として知られるものに基づいて通信する、つまり、通信に参加する各制御コンポーネントは他の制御コンポーネント全体に「無指向に」データを送り、各制御コンポーネントは提供されるデータの「プール」から他の制御コンポーネントからのデータを読み取る。選択された制御コンポーネント、とくにデータバス・マネージャとして知られるものは、他のすべての制御コンポーネントを順番に通過する複数のデータフィールドを有するデータフレームを、周期的に生成するのが好ましい。各制御コンポーネントはその送信データを循環データフレームの所定のデータフィールドに入れて、他の所定のデータフィールドから無関係な送信データを読み取る。この通信モデルは上記特許文献1に記載されており、参照により本明細書に組み込まれる。
【0057】
取付ステーション14はハンドリングステーション16にワークピースを充填するために使用する。このワークピース(ここでは図示せず)はハンドリングステーション16で取り扱う。次に、取り扱いされたワークピースをハンドリングステーション16からテストステーション18に送って、取り扱いされたワークピースが所定の点検基準を満たすかどうかを点検する。これらの点検基準が満たされたら、ハンドリングステーション16は新たなワークピースを再び充填することができる。取り扱いされたワークピースは搬送ユニット20によって包装・パレット梱包ステーション22に運ばれる。後者は複数の取り扱いされたワークピースを、後でパレットに積まれる取引単位にまとめる。
【0058】
個々のステーション14,16,18,22の動作領域は、たとえば、防護ドアで保護してもよく、これを防護ドアスイッチによってモニタリングする。あるいは、または追加で、ライトグリッドまたはライトカーテンを使用できる。さらに、個々のステーション14,16,18,22に緊急停止押しボタンを備えてもよく、これを使用してそれぞれのステーションを安全状態に移行できる。これは各電源に配置されているコンタクタの適切な作動によって行われる。前述の防護ドアスイッチ、ライトグリッド、ライトカーテンおよび緊急停止押しボタンは、安全関連センサ30である。コンタクタは、安全関連アクチュエータ32である。センサ30は、工具の磨耗を示すセンサまたは危険位置インジケータなどの非安全関連センサをさらに備えてもよい。
【0059】
この実施形態では、各ステーション14,16,18,22は関連制御ユニット28を有する。したがって、この場合の制御ユニット28は物理的に別個のコンポーネントの形態である。これは同じくセンサユニット30およびアクチュエータユニット32にも当てはまる。あるいは、共通の制御ユニットをたとえば2つのステーションに対応付けることも考えられる。
【0060】
図1では、同じ機能を有するコンポーネントには同じ参照番号を付しており、斜線を用いて、同じ参照番号を有する個々のコンポーネントは、個々の設備コンポーネント12との個々のアソシエーションのために全く異なる設計にしてもよいことを示している。信号にも同じことがいえる。このマーキング法は後続の図面にも適用される。
図2は、ハンドリングステーション16とそれに対応付けられている制御コンポーネントとをより詳細に示している。この場合、制御ユニット28’は、セーフティクリティカルなアプリケーションおよびプロセスを制御するために必要なフェイルセーフ性を得るために2チャンネルの冗長設計になっている。
【0061】
2チャンネル設計を表すために、2つのセパレータプロセッサ、すなわち第1プロセッサ40および第2プロセッサ42が示されている。2つのプロセッサ40,42は、互いにモニタリングし、データを交換できるように、双方向通信インターフェース44を介して互いに接続されている。制御ユニット28’および2つのプロセッサ40,42の2チャンネルは、システマティックエラーを大幅に排除するために、多様性のある設計、つまり互いに異なる設計とするのが好ましい。
【0062】
参照番号46は、2つのプロセッサ40,42のそれぞれに連絡しているデータバス・インターフェースを表す。データバス・インターフェース46はセンサ30’からの入力データを含む制御入力信号48,48’を受信して、それをカスタマイズされたデータフォーマットで2つのプロセッサ40,42のそれぞれに転送する。さらに、データバス・インターフェース46は、アクチュエータ32’を作動させるために使用される出力データを含む制御出力信号50,50’を生成する基準として、プロセッサ40,42をみなす。
【0063】
参照番号52は、プロジェクトデータ54をデータブロック形式で記憶するデータメモリを表す。これはデータバス・インターフェース46用の構成データ58を含む第1データブロック56に関わる。さらに、データメモリ52は第2ブロック60と第3ブロック62とを含む。この2つのブロック60,62は制御ユニット28’で実行されるユーザプログラムを表すプログラムコマンドを含む。データメモリ52は、記憶されているプロジェクトデータ54のすべてが不揮発的に記憶されるように設計されている。このために、データメモリ52は、たとえば、フラッシュメモリ、SDカードまたはCFカードの形態である。明確にするため、プロジェクトデータ54に含まれているパラメータ化データは図示していない。
【0064】
アクチュエータ32’およびセンサ30’は同様にデータバス・インターフェース46’,46’’,46’’’,46’’’’を有する。さらに、アクチュエータ32’およびセンサ30’は、各自のデータバス・インターフェース46’,46’’,46’’’,46’’’’用の構成データを含むデータブロック56’,56’’,56’’’,56’’’’を記憶するデータメモリ52’,52’’,52’’’,52’’’’を有する。これは制限効果をもつことを意図しているのではない。制御コンポーネントのすべてがデータメモリを有する必要はない。データメモリをもたない制御コンポーネントからの構成データも、別の制御コンポーネントのデータメモリに記憶させてもよい。このために必要な構成データの交換を、矢印64で示す。
【0065】
データバス・インターフェース46は、制御ユニット28’とデータバス34とのデータ交換がデータバス34の通信プロトコルに基づいて確実に行われるようにする。好適な実施形態では、データバス・インターフェース46は、個々の制御コンポーネント間で交換すべきデータをデータフレームに埋め込んでいるイーサネット(登録商標)互換バスメッセージを生成する。データバス・インターフェース46はさらに機能ユニットを内蔵してもよいが、これらは明確にするために図2では図示していない。これはデータをイベントベースで交換するために使用できるイベントブローカを含んでもよい。これはデータベースのデータ交換を行うために使用できるデータブローカも含んでもよい。図2に図示するデータバス34は通信媒体、一または複数のスイッチおよびデータバス・マネージャを内蔵してもよい。
【0066】
プロジェクトデータ54はバイナリ形式で、つまりマシンコードとして利用できる。制御ユニット28’のフェイルセーフ動作のために、データメモリ52はプログラムデータをもつ2つのデータブロック60,62を記憶する。第2データブロック60は第1プロセッサ40のためのもので、第3データブロック62は第2プロセッサ42のためのものである。第2データブロック60は第1安全コード66と標準コード68とを含む。第1安全コード66は、制御ユニット28’が達成する必要のある安全タスクの状況において、第1プロセッサ40が実行する必要のある制御命令を含む。このような種類の制御命令は、以下、安全制御命令という。標準コード68は、制御ユニット28’が達成する必要のある標準タスクの状況において、第1プロセッサ48が実行する必要のある制御命令を含む。このような種類の制御命令を、以下、標準制御命令という。第3データブロック62は第2安全コード70を含み、第2安全コード70は第2プロセッサ42が実行する必要のある制御命令を含む。これらの制御命令は以下同様に安全制御命令という。
【0067】
取り扱いの進行に応じて、第1プロセッサ40は第1現行安全制御命令72および現行標準制御命令74を実行する。本質的に同時に、第2プロセッサ42は第2現行安全制御命令76を実行する。
非安全関連の制御命令である現行標準制御命令74の取り扱いは、第1非安全関連データ78を第1プロセッサ40とデータバス・インターフェース46との間で交換することに関わる。例として、第1プロセッサ40には、非安全関連センサ80’が生成する非安全関連制御入力信号48の瞬時値が供給される。非安全関連センサ80’は、たとえば、閉ループ駆動制御に必要なキャプチャ入力変数のようなセンサである。
【0068】
非安全関連センサ80’はフェイルセーフ設計ではない。データバス・インターフェース46には、非安全関連アクチュエータ82’を作動させるためにそれに供給される非安全関連制御出力信号50の瞬時値が供給される。非安全関連制御出力信号50の瞬時値は、標準制御命令に従って非安全関連制御入力信号48に基づいて確認される。これは中間変数の確認を要してもよく、その瞬時値は第2非安全関連データ84によってメインメモリ86に供給されて、そこにバッファ記憶される。
【0069】
安全関連制御命令である第1現行安全制御命令72の取り扱いは、第1安全関連データ88を第1プロセッサ40とデータバス・インターフェース46との間で交換することに関わる。この場合、第1プロセッサ40には、安全関連センサ90’が生成する安全関連制御入力信号48’の瞬時値が供給される。例として、安全関連センサ90’は緊急停止押しボタン、防護ドア、速度モニタリング機器または安全関連パラメータを受信するための他のセンサである。データバス・インターフェース46には、安全関連アクチュエータ92’を作動させるためにそれに供給される安全関連制御出力信号50’の瞬時値が供給される。例として、安全関連アクチュエータ92’は、その動作接点が電源94とハンドリングステーション16との間の接続に配置されているコンタクタである。そのため、ハンドリングステーション16の電源94を遮断でき、つまり適当な誤作動が発生した場合に、少なくともハンドリングステーション16を安全状態に移行できることを意味する。安全関連制御出力信号50’の瞬時値は、安全制御命令に従って安全関連制御入力信号48’に基づいて確認される。これは安全関連中間変数の確認を要してもよく、その瞬時値は第2安全関連データ96によってメインメモリ86に供給されて、そこにバッファ記憶される。
【0070】
安全関連制御命令である第2現行安全制御命令76の取り扱いは、第1現行安全制御命令72に従って進行することに関わる。第2現行安全制御命令76に関して、第1安全関連データ88に対応する第3安全関連データ98と、第2安全関連データ96に対応する第4安全関連データ100とが対応したやり方で使用される。
「データ生成制御命令」または「データ消費制御命令」という言葉をしかるべきときに使用する場合、これはいずれの場合も、安全制御命令または標準制御命令のいずれを含んでもよい。
【0071】
図1に図示する設備10の設計に従い、図3は制御ユニット28,28’,28’’,28’’’、非安全関連センサ80,80’,80’’,80’’’、非安全関連アクチュエータ82,82’,82’’,82’’’、安全関連センサ90,90’,90’’,90’’’、および安全関連アクチュエータ92,92’,92’’,92’’’を、そこに内蔵されているデータバス・インターフェース46,46’,46’’,46’’’,46’’’’、データメモリ52,52’,52’’,52’’’,52’’’’、および構成データを含む第1データブロック56,56’,56’’,56’’’,56’’’’とともに示している。明確にするために、主に図の平面の最上部に示すコンポーネントに参照番号を付している。個々の制御コンポーネントはデータバス34によって互いに接続されている。
【0072】
図3では、コンピュータが参照番号110で表されている。コンピュータ110はディスプレイユニット112に接続されている。コンピュータ110はコンピュータプログラム114を実行する。コンピュータプログラム114は制御される設備10で実行させるアプリケーションを表すプロジェクトデータの生成を可能にする。この場合、プロジェクトデータはプログラムデータと、構成データ58と、パラメータ化データとを含む。当分野の専門用語では、コンピュータプログラム114はプログラミングツールといわれることが多い。
【0073】
この場合、コンピュータ110で生成される構成データ58はデータメモリ52,52’,52’’,52’’’,52’’’’およびデータバス・マネージャ116に転送される。この状況において、データバス・マネージャ116は接続されているすべての制御コンポーネントの通信のために定期的に循環するデータフレームを生成する制御コンポーネントであることが好ましい。データバス・マネージャ116用の構成データは、データ送信のサイクルタイム、つまり連続する2つのデータフレーム間に経過できる期間、データフレームの長さ、データフィールドおよび/またはタイムアウトパラメータの数を含んでもよい。
【0074】
この場合、構成データ58は複数の第1データブロック56,56’,56’’,56’’’,56’’’’および第4データブロック118に分割される。第1データブロック56,56’,56’’,56’’’,56’’’’はそれぞれがデータメモリ52,52’,52’’,52’’’,52’’’’の1つに対応付けられる。第4データブロック118はデータバス・マネージャ116に対応付けられる。この場合、構成データ58はアソシエーションデータ120に基づいて個々のデータメモリ52,52’,52’’,52’’’,52’’’’およびデータバス・マネージャ116に分配される。そのため、データバス34およびデータバス・インターフェース46,46’,46’’,46’’’,46’’’’はそれぞれ構成データ58に対応付けられる。その結果、データバス34の少なくとも1つの特性およびデータバス・インターフェースの少なくとも1つの特性はどちらも構成データ58によって判定できる。
【0075】
アソシエーションデータ120はコンピュータ110で生成される。アソシエーションデータ120はとくにプログラムモジュール・アソシエーションデータを含む。プログラムモジュール・アソシエーションデータは構成データ58を個々のデータバス・インターフェース46,46’,46’’,46’’’,46’’’’に、そのためデータメモリ52,52’,52’’,52’’’,52’’’’およびデータバス・マネージャ116に分配するために使用される。コンピュータ110は構成データ58の分配のために、アソシエーションデータ全体ではなく、プログラムモジュール・アソシエーションデータのみを提供するのが好ましい。
【0076】
構成データ58を分配できるようにするためには、これらのデータを分配ユニットに供給する。この場合には3つの異なる手順が可能である。安全コントローラ24は、プログラマがこれら3つの手順のなかから所望する1つを選択できるように設計してもよい。あるいは、これらの手順のうちの1つまたは2つだけを提供することも考えられる。
第1手順を第1矢印シーケンス122で示している。これは、構成データ58およびアソシエーションデータ120の両方を、たとえばケーブルで、コンピュータ110からこのために提供されている第1構成インターフェース124を介して制御ユニット28に配置されているデータメモリ52に転送することに関わる。この場合、分配ユニットは安全コントローラ24に配置されているデータメモリである。制御ユニット28に配置されているデータメモリ52は、データパケット56,56’,56’’,56’’’,56’’’’,118を、アソシエーションデータ120に含まれているプログラムモジュール・アソシエーションデータに従って個々のデータメモリ52,52’,52’’,52’’’,52’’’’およびデータバス・マネージャ116に分配する。このために、前記データメモリ52はそれに供給される構成データ58を、少なくとも1つの他のデータメモリまたはデータバス・マネージャ116に転送できるように設計されている。
【0077】
第2手順は第2矢印シーケンス126で示されている。これは、構成データ58およびアソシエーションデータ120を、まずはコンピュータ110が内蔵する外部分配ユニット128に提供することに関わる。この場合、外部分配ユニット128はその機能性に関して、制御ユニット28が内蔵しているデータメモリ52に対応する。例として、構成データ58はさらに、ケーブルによってこのために設けられている第2構成インターフェース130を介してデータバス34に供給されて、アソシエーションデータ120が含むプログラムモジュール・アソシエーションデータに従って個々のデータメモリ52,52’,52’’,52’’’,52’’’’およびデータバス・マネージャ116に分配される。
【0078】
第3手順は第3矢印シーケンス132で示されている。これは、構成データ58およびアソシエーションデータ120の両方を携帯記憶媒体134に転送することに関わる。例として、携帯記憶媒体134はSDカード、CFカードまたはUSBスティックでもよい。さらに携帯記憶媒体134はこのために統合構成インターフェースに設けられている保持ユニット136に挿入される。それから構成データ58は制御ユニット28に内蔵されているデータメモリ52に供給されて、データメモリはデータパケット56,56’,56’’,56’’’,56’’’’,118の分配を引受ける。プログラムデータおよびパラメータ化データも対応したやり方で分配できる。
【0079】
構成データ58を個々のデータメモリ52,52’,52’’,52’’’,52’’’’およびデータバス・マネージャ116に分配することに関する限り、この場合様々なアプローチが同様に考えられる。第1のアプローチに基づいて、プロジェクトデータ58は本質的にその場で、つまり処理される場所に記憶される。例として、これは構成データが意図されるデータバス・インターフェース用の制御ユニット内のデータメモリである。このアプローチはプログラムモジュール・アソシエーションデータを、たとえば、ユーザプログラムのライタが作成するアソシエーションに基づいて確認することに関わる。第2のアプローチに基づいて、アソシエーションデータ120は少なくとも1つのデータ処理特性図に基づいて確認される。このアプローチは構成データ58を、好ましくは高いデータ処理能力を有する制御コンポーネント26に記憶させることに関わる。構成データを個々のデータメモリ52,52’,52’’,52’’’,52’’’’またはデータバス・マネージャ116に任意に分配できるようにするために、データメモリ52,52’,52’’,52’’’,52’’’’またはデータバス・マネージャのうちの少なくとも一部は供給される構成データを転送し、構成データを要求できるように設計しなければならない。安全コントローラ24の可用性を高めるために、構成データ58の少なくとも一部は、データメモリ52,52’,52’’,52’’’,52’’’’およびデータバス・マネージャ116に冗長的に記憶させることができる。
【0080】
図4では、グラフィカル・インターフェースは全体として参照番号150で表されている。このグラフィカル・インターフェース150でプログラマはユーザプログラムを書き込むことができ、そのためプログラムデータを生成できる。同時に、プログラムデータの他に、パラメータ化データおよび構成データ58も生成される。
グラフィカル・ユーザ・インターフェース150は、複数の所定の設備ソフトウェアコンポーネント154を図示記号の形で含む設備ソフトウェアコンポーネントフィールド152を含む。ユーザプログラムおよびひいてはプログラムデータは、複数の設備ソフトウェアコンポーネントを提供することによって書き込み/生成される。このために、グラフィカル・ユーザ・インターフェース150は第1コンポーネントフィールド156を含む。提供されるべき設備ソフトウェアコンポーネントが選択されて、矢印158で示すように第1コンポーネントフィールド156に転送される。そのため第1コンポーネントフィールド156は複数の提供される設備ソフトウェアコンポーネント160を含む。提供される設備ソフトウェアコンポーネント160の論理の組み合わせがコンポーネントのサブプログラムを書き込む。この目的のために、これら設備ソフトウェアコンポーネントの論理入力および論理出力は、複数の接続部162で示しているように互いに接続されている。所定の設備ソフトウェアコンポーネントの選択に加えて、新規設備ソフトウェアコンポーネント164で示すように、新たな設備ソフトウェアコンポーネントを書き込むことも可能である。個々のソフトウェアコンポーネントは、それ自体が別のソフトウェアコンポーネントを含んでいない要素コンポーネントとして知られるものであってもよい。あるいは、それ自体が別のソフトウェアコンポーネントを含むグループコンポーネントとして知られるものであってもよい。要素コンポーネントは複数のアスペクトブロックを含む。これらアスペクトブロックのそれぞれが複数の異なる制御アスペクトの1つに対応付けられており、これら制御アスペクトのそれぞれは安全コントローラの別々のサブアスペクトを表す。この場合、設備ソフトウェアコンポーネントは、設備ソフトウェアコンポーネントを表す設備コンポーネントにとって重要なすべてのアスペクトブロックを含む。要素コンポーネントと比較して、グループコンポーネントはアスペクトブロックの他に、要素コンポーネントまたはグループコンポーネントの形態であってもよいソフトウェアコンポーネントを追加で含む。グループコンポーネントの使用により、複数の階層レベルを有するユーザプログラムを書き込むことができる。提供される設備ソフトウェアコンポーネント160のそれぞれは、ユーザプログラム全体を構築するプログラムモジュールの1つを表す。好ましくは、様々な制御アスペクトは次の制御アスペクトであってもよい。つまり、標準制御アスペクト、安全制御アスペクト、診断アスペクト、視覚化アスペクト、エントリ制御アスペクト、冷却アスペクト、アクセス認証アスペクト、保守アスペクト、ロッキングアスペクト、手動操作アスペクトまたはデータ管理アスペクト。
【0081】
設備ソフトウェアコンポーネントに含まれている各アスペクトブロックに関して、処理に必要で、対応付けられている入力を介してアスペクトブロックに供給できる少なくとも論理変数および/またはパラメータおよび/またはセンサ信号、および多数のアスペクトブロックでそれぞれ確認されて、対応付けられている出力を介してアスペクトブロックによって出力される論理変数および/またはパラメータおよび/または出力信号は、第一にその真価で判定される。それぞれのアスペクトブロックに接続する必要のある特定のセンサおよび/またはアクチュエータは、最終的にはユーザプログラムが書き込まれるときにのみ判定される。さらに、設備ソフトウェアコンポーネントに含まれているアスペクトブロックの少なくとも一部は、各アスペクトブロックに対応付けられている制御アスペクトに関して設備コンポーネントのアスペクトプロパティを判定する各自の機能プログラムを記憶している。
【0082】
グラフィカル・インターフェース150はアスペクトフィールド166も含む。このアスペクトフィールド166は複数のアスペクトブロック168を含む。これらアスペクトブロックのそれぞれは同じ制御アスペクトに対応付けられている。この場合、複数のアスペクトブロック168はすべての階層レベルのユーザプログラマに含まれているアスペクトブロックを含む。グラフィカル・インターフェース150はセンサフィールド170も含む。このセンサフィールド170は複数のセンサ図示記号172を含む。制御される設備10に内蔵されているセンサごとに、グラフィカルセンサ信号が提供される。別のフィールドとして、グラフィカル・インターフェース150はアクチュエータフィールド174を含む。このアクチュエータフィールド174は複数のアクチュエータ図示記号176を含む。制御される設備10に含まれているアクチュエータごとに、アクチュエータ図示記号が提供される。アスペクトフィールド166に含まれている複数のアスペクトブロック168に関して、アスペクトのサブプログラムが書き込まれる。この目的のために、アスペクトブロックの少なくとも一部は、その入力およびその出力の両方のためにI/Oマッピングとして知られるものを行わせる。すなわち、信号入力の少なくとも一部は、センサ信号が各アスペクトブロックで処理されるセンサに割り当てられる。これを例として矢印178で示している。また、各アスペクトブロックで確認される出力信号で作動されるアクチュエータに制御出力の少なくとも一部が割り当てられる。これを例として矢印180で示している。あるいは、I/Oマッピングは入力フィールド182のテキスト入力によって行うこともできる。
【0083】
グラフィカル・インターフェース150は、複数の所定の制御ソフトウェアコンポーネント186を含む制御ソフトウェアコンポーネントフィールド184を含む。これら制御ソフトウェアコンポーネント186のそれぞれは、分散型設計の安全コントローラ24で使用できる制御コンポーネント26を表す。グラフィカル・インターフェース150は第2コンポーネントフィールド188も含む。この第2コンポーネントフィールド188において、ユーザプログラムのプログラマは分散型安全コントローラ24を構築する制御コンポーネントを表す制御ソフトウェアコンポーネントを挿入できる。これは個々の制御ソフトウェアコンポーネント186を選択し、例として矢印190で示すように、それを第2コンポーネントフィールド188に転送することによって行う。そのため、第2コンポーネントフィールド188は複数の提供される制御ソフトウェアコンポーネント192を含む。プログラマが少なくともユーザプログラムのサブセクションに関して、どのプロジェクトデータ、とくにどのプログラムデータおよびどの構成データをどの制御コンポーネント26で処理する必要があるか、そのため対応付けられているデータメモリに記憶させる必要があるかを判定したい場合には、提供される設備ソフトウェアコンポーネント160の少なくとも一部を、提供される制御ソフトウェアコンポーネント192に対応付けることができる。これはプログラムモジュール・アソシエーション194,196で示されている。これらプログラムモジュール・アソシエーションはプログラムモジュール・アソシエーションデータひいてはアソシエーションデータを確認するために使用され、これはさらに構成データ58を確認するための基準とみなされる。
【0084】
プログラムモジュール・アソシエーションデータは好ましくは自動的に、つまりプログラマがプログラムモジュール・アソシエーションを作成しなくても確認できる。これは少なくとも1つのデータ処理特性図値を、制御ソフトウェアコンポーネント192によって表される各制御コンポーネント26のデータベースに記憶させることによって、プログラムモジュール・アソシエーションをたとえばこれらデータ処理特性図値に基づいて行うことができ、そのためプログラムモジュール・アソシエーションデータを確認できるようにすることに関わる。この場合、プログラムデータおよび構成データは個々の制御コンポーネントに分配され、そのため個々の制御コンポーネントのデータ処理能力の観点からみるとデータメモリに分配される。あるいは、プログラムモジュール・アソシエーションデータを、データ処理特性図値と、プログラマが作成したプログラムモジュール・アソシエーションとの両方に基づいて確認することも考えられる。例として、データ処理特性図値は、第一にアソシエーションの提案を生成するために使用でき、この提案はさらにプログラマが作成したプログラムモジュール・アソシエーションに従ってその考えに基づいてプログラマが修正できる。
【0085】
アスペクトブロック188に関しては、所定のパラメータ化データをデータベースに記憶させてもよい。また、パラメータ化データは、ユーザプログラムが書き込まれるときに、たとえば入力フィールド182への適切な入力によって、修正するまたは規定することも可能である。これはたとえばユーザプログラムが書き込まれた後でも行うことができる。
【0086】
プログラムモジュール・アソシエーションひいてはプログラムモジュール・アソシエーションデータは、どのプログラムモジュールがどの制御ソフトウェアコンポーネントに、ひいてはどの制御コンポーネントに対応付けられているかに関する情報だけを含むのではない。プログラムモジュール・アソシエーションデータは別の情報も追加で含む。接続部162から、どの制御コンポーネントが互いに接続されているか、およびこれを達成するために個々の制御コンポーネントのうちのどの入出力が使用されているかに関する情報も含む。さらに、プログラムモジュール・アソシエーションデータは、どのセンサおよびどのアクチュエータが個々の制御ユニットに対応付けられているかに関する情報ひいてはデータも含む。アスペクトフィールド166は個々のアスペクトブロック168とセンサおよびアクチュエータとのアソシエーションを作成するために使用される。さらに、どの機能プログラムが個々のアスペクトブロックに含まれているか、つまりどのプログラム入力変数およびプログラム出力変数またはどのデータ消費制御命令およびどのデータ生成制御命令が、個々のアスペクトブロックで処理されるかがわかる。そのため、どのセンサがどのプログラム入力変数に対応付けられているか、およびどのアクチュエータがどのプログラム出力変数に対応付けられているかが判定される。個々のアスペクトブロックはそれぞれ設備ソフトウェアコンポーネントに明示的に対応付けられているため、どのアスペクトブロックがどの設備ソフトウェアコンポーネントに含まれているかもわかる。プログラムモジュール・アソシエーションは、そのためどのセンサおよびどのアクチュエータがどの制御ユニットに接続されているかがわかることを意味する。アスペクトブロックに関して行われるI/Oマッピングに基づいて、どの入出力端子が個々のセンサおよびアクチュエータをそれに対応付けているかもわかる。すなわち、制御ユニットに関して、入力マップおよび出力マップの両方がわかる。これは通信関係の構成と関連する情報である。
【0087】
図4を参照してユーザプログラムの生成に関して説明されている手順は、本発明の概念に基づいている。この本発明の概念に関し、アプリケーションひいては解決すべき自動化の問題の機能的な側面を第一に考える。これに基づいて、後で使用される制御コンポーネントとは関係なく、機能全体のアプリケーションを第一に開発する。
これは、第1コンポーネントフィールド156に関連して説明されたコンポーネントのサブプログラムの生成と、アスペクトフィールド166に関連して説明されたアスペクトのサブプログラムの生成と、場合によってはアスペクトブロックに含まれている機能プログラムの生成とに関わる。さらなるステップにおいて、機能全体のアプリケーションはさらに、デバイス構成に、つまり制御ユニット、センサおよびアクチュエータである複数の制御コンポーネントに分割される。この場合、安全コントローラ内で個々の制御コンポーネント間でのデータ交換に必要な通信関係は自動的に確認される。
【0088】
まずデバイス構成を生成して、これに基づいて機器構成に内蔵されている制御ユニット用の個々のプログラムをプログラミングし、個々の制御ユニットとセンサおよびアクチュエータとの通信関係を手動で複雑にプログラミングする今までの手順と比較して、この本発明の概念は、ユーザプログラムがいったん書き込まれたら高度な再利用性を有するという利点を有する。機能全体のアプリケーションを最初に機器とは独立して開発するため、ユーザプログラムは後で構築される同様な設備で再利用できる。高度な再利用性はユーザプログラム全体に関係するだけではなく、ユーザプログラムを構築する個々のプログラムモジュールにも関係する。このことはすでに存在している設備を修正しようとするときに有利である。例として、設備の取り扱い能力を増大させるために、設備に存在するプロセスステーションを二倍にする必要がある場合、プロセスステーションを表す設備ソフトウェアコンポーネントのコピーを作成するだけでよい。したがって、また、コピーされた設備ソフトウェアコンポーネントはすでに存在している設備ソフトウェアコンポーネントに接続するだけでよい。
【0089】
別の利点は、機能全体のアプリケーションをまず機器から独立して開発することから得られるスケーラビリティである。したがって、まったく同じユーザプログラムを異なる構成の安全コントローラに実装することが可能である。例として、これは単に大型でそのためパワフルな制御ユニットを有する安全コントローラ上にあってもよく、または相対的に小型の、そのためあまりパワフルではない複数の制御ユニットを含む分散型設計の安全コントローラ上にあってもよい。
【0090】
さらに、ユーザプログラムを生成するための所要時間が短縮する。分散システムの中央機能的な観点のために、およびプログラマが使用されることになる制御コンポーネントを最初に考える必要がないために、プログラマは機能全体のアプリケーションの開発に専念できる。さらに、複雑な手動での通信関係の完全なプログラミングのための所要時間が省かれる。
【0091】
そのため、本発明の概念は分散型設計の安全コントローラを単純な方法で制御するのに使用できる。そのため分散型設計の安全コントローラのあらゆる利点を使用できる。故障は安全コントローラの限られた小領域だけに影響するため、設備の可用性が増す。さらに、制御タスクの真正な並列処理が可能で、ユーザプログラムのサブセクションをその場で実行できるため、応答時間を短縮できる。さらに、安全コントローラはより安く作成できる。まず、ユーザプログラムの書き込みおよび生成のコストが下がる。次に、制御機能をどういった形であれ利用可能なインテリジェント入力/出力機器に実装できるためコストが下がる。
【0092】
本発明の概念が機器とは独立しているというすでに述べた事実は、2つの点で明らかになる。まず、機能全体のアプリケーションは任意に分散された設計の安全コントローラに分配される。このプロセスはデプロイメントと呼ばれる。次に、記号変数を制御ユニットの物理的な入出力に対応付けることでI/Oマッピングを生成する。
図5は単一の処理チェーンにおける2つの終了サイクル210,212を示しており、処理アソシエーションの順番を文字列aからxで示している。信号処理チェーンは、複数のユニットに関わる複数の制御命令を含む。これらのユニットは「I/O」で示される入出力機器、「PLC」で示される制御ユニット、および「NM SNET」で示されるデータバス・マネージャである。これらのユニットは異なる関連優先度を有し、最上位の優先度を「Prio1」で示し、最下位の優先度を「Prio3」で示している。優先度が「Prio3」より低いが、以下の考察では重要ではない別の制御命令は「アイドル」で示している。図5からわかるように、データバス・マネージャNM SNETはこの場合入出力機器によって提供されるデータを待たなければならない。制御ユニットは入出力機器およびデータバス・マネージャの両方を待たなければならない。入出力機器は、前の終了サイクルで制御ユニットが生成するデータを待つ。
【0093】
図5は様々な有効期間を示している。入出力機器が生成するデータの第1有効期間214。制御ユニットが生成するデータの第2有効期間216。データバス・マネージャが生成するデータの第3有効期間218。さらに、図5は様々な待機期間を示している。個々の待機期間は、それぞれのユニットがそれによって消費されることになるデータを待つ長さを示している。入出力機器の第1待機期間220。入出力機器は終了サイクル内に各自の第1データ消費を有するため、この待機期間は0秒に設定されている。制御ユニットの第2待機期間222。この待機期間中、制御ユニットは入出力機器が生成するデータおよびデータバス・マネージャが生成するデータの両方を待つ。データバス・マネージャの第3待機期間224。この待機期間中、データバス・マネージャは入出力機器が生成するデータを待つ。図5の図からわかるように、個々のユニットの待機期間は、いずれも、静的であり、つまりはっきり定められている。待機期間の開始と終了との間に存在する期間はすべての終了サイクルで同一である。対して、あるユニットが生成するデータの有効期間は、個々の終了サイクルで変えることができる。これは、各有効期間がどのくらいの終了サイクルの間生成されるデータが有効であるかを示していることに起因し、データが生成される終了サイクルも考慮されている。この結果、2つの終了サイクル210,212における入出力機器の有効期間214,214’は、たとえば、入出力機器が生成するデータが各終了サイクル内の異なる時点で提供されるために異なっている。
【0094】
終了サイクル210では、すべてのデータはそれぞれのデータ消費に利用できるように適時に生成される。他方で、終了サイクル212では、入出力機器は、データバス・マネージャの待機期間224’内に適時にそのデータを提供しない。このため、データバス・マネージャは、それが入出力機器から要求するデータが利用できないとしても、sで示される時点で生成されたデータを提供する。このメカニズムにより、データバス・マネージャは作業を続けられるので、制御ユニットはそれが要求するデータを利用できるようになる。待機時間を与えることで、個々のデータが適時に提供されない場合でも、安全コントローラが作業できるようになる。sで示される時点におけるデータバス・マネージャによるデータの出力に関する限り、複数の選択肢が考えられる。例として、所定のデフォルト値を出力でき、または前の終了サイクルで出力される値を再び出力できる。
【0095】
図6は2つの図6aおよび図6bを含む。図6aは、制御ユニット28’’’’と入出力機器232とを含み、両方合わせて物理的なユニットを形成する単純な設計の安全コントローラ230を示している。制御ユニット28’’’’は以下のユーザプログラムを実行する。



【0096】
入出力機器232の入出力は以下のように定義される。

【0097】
この結果が以下のI/Oマッピングになる。

【0098】
このソフトウェア関連の状況は全般に次のように現れる。つまり、制御ユニット28’’’’は、入出力機器232がデータ消費制御命令K2に基づいてその出力PhyOut1を介して出力する出力変数out1の瞬時値を生成するための基準として、データ生成制御命令E1をみなす。同時に、入出力機器232は、データ消費制御命令K1に基づいて制御ユニット28’’’’で入力変数in1に割り当てられる瞬時値をその入力PhyIn1を介して読み込むための基準として、データ生成制御命令E2をみなす。
【0099】
個々の制御命令E1,E2,K1,K2に関して上で説明した処理の順番を、図6bに複数の処理アソシエーション236を有する依存グラフ234を使用して示している。第1処理アソシエーション238はデータ生成制御命令E1をデータ消費制御命令K2に対応付ける。第2処理アソシエーション240はデータ生成制御命令E2をデータ消費制御命令K1に対応付ける。また、第3処理アソシエーション242および第4処理アソシエーション244で示すように、データ生成制御命令E2はデータ消費制御命令K2に従属しており、データ生成制御命令E1はデータ消費制御命令K1に従属している。この場合、処理アソシエーション236は次のルールに基づいて確認される。つまり、データ消費制御命令は、データ消費制御命令がデータ生成制御命令に同様に含まれている変数を含むときに、データ生成制御命令に従属する。データ生成制御命令は、両方の制御命令が同じユニット、たとえば制御ユニット28’’’’に属しているとき、データ消費制御命令に従属する。
【0100】
処理アソシエーション236を表す処理アソシエーションデータに基づいて、好ましくは構成データは次のように確認される。つまり、考慮中の信号処理チェーン内のデータ生成制御命令およびデータ消費制御命令がすでに判定されており、第1ステップで個々の制御命令間の処理アソシエーションが確認される場合、これら制御命令に適用されるサイクル時間は第2ステップで確認される。このための開始点は安全コントローラのために予め定められているサイクル時間である。この実施例では、制御ユニット28’’’’に関して20ミリ秒のサイクル時間が予め定められている。対して、入出力機器232に関してはサイクル時間が予め定められていない。そのため、20ミリ秒のサイクル時間は、データ生成制御命令E1およびデータ消費制御命令K1の両方に適用される。所定のサイクル時間が適用される制御命令から、さらに所定の制御命令が適用されない制御命令のサイクル時間が自動的に確認される。この実施例では、これらは2つの制御命令E2およびK2である。
【0101】
これは次のメカニズムの適用に関わる。つまり、サイクル時間が予め定められているデータ消費制御命令から、前記データ消費制御命令から直接到達できるデータ生成制御命令およびデータ消費制御命令は、処理アソシエーションで規定されている処理方向とは反対に、つまり逆方向に確認される。これら制御命令に関しては、所定のサイクル時間は同様に有効と想定される。この場合、さらなる変更が取得されるまでプロセスが継続する。この実施例では、データ生成制御命令E2はデータ消費制御命令K1に関して直接到達できる。そのため、この制御命令についても、20ミリ秒のサイクル時間が適用される。サイクル時間が予め定められているデータ生成制御命令から、前記データ生成制御命令から直接到達できるデータ生成制御命令およびデータ消費制御命令は、処理アソシエーションによって規定されている処理方向に従って、つまり順方向に確認される。これら制御命令に関しては、所定のサイクル時間が同様に有効と想定される。この場合、さらなる変更が取得されるまでプロセスは継続する。この実施例では、データ消費制御命令K2はデータ生成制御命令E1に関して直接到達できる。そのため、この制御命令についても、20ミリ秒のサイクル時間が適用される。
【0102】
多数のデータ生成制御命令またはデータ消費制御命令に関してそれぞれ複数のサイクル時間が確認されたら、これら制御命令の1つずつについて基本サイクル時間が確認される必要がある。こうして基本サイクル時間は個々のサイクル時間の最大公約数として取得される。基本サイクル時間を確認する必要は、主に複数の相互接続されている信号処理チェーン内のデータ生成制御命令およびデータ消費制御命令を考慮するときに生じる。基本サイクル時間の確認は、安全コントローラの最低および最高サイクル時間ならびに応答時間などの制約要因を考慮する必要を伴う。この実施例では、基本サイクル時間を確認する必要はない。
【0103】
さらなるステップで、終了サイクル時間が確認される。これはサイクル時間、場合によっては考慮中のすべてのデータ生成制御命令およびデータ消費制御命令の基本サイクル時間の最大公約数として取得される。終了サイクル時間は、安全コントローラに対する確定的な応答を達成するために、考慮中のデータ生成制御命令からのデータを、いくら遅くとも利用できるようにする必要がある個々の時間を定義する。好ましくは、終了サイクル時間は、大体において、あるプロジェクトの標準である。あるいは、あるプロジェクト内に複数の終了サイクル時間を許可することも考えられる。しかし、その場合これは互いに整数比である必要がある。この場合、基準は最低終了サイクル時間である。例として、これは厳密な最小終了サイクル時間を有する制御コンポーネントを安全コントローラ内で使用する場合に重要である。この場合、安全コントローラの他のコンポーネントがそのハンドリング速度を損なわれないようにする必要がある。好ましくは、最大公約数よりも短い終了サイクル時間を許可することも可能である。この実施例では、終了サイクル時間は20ミリ秒である。
【0104】
さらなるステップで、考慮中のデータ生成制御命令について有効期間がそれぞれ確認される。好ましくは、それぞれの有効期間は各自のサイクル時間、場合によってはデータ生成制御命令の各自の基本サイクル時間に対応する。しかし、この場合、周期的な従属性が確実に解決されるように注意するべきである。したがって、考慮中のすべてのデータ生成制御命令について同じ終了サイクルで有効期間が終了するケースが生じてはならない。もしこうなれば、制御命令の相互ブロッキングを招くことになるだろう。周期的な従属性は、たとえば、データ生成制御命令のうちの1つについて、有効期間を二倍にすることによって解決される。この実施例では、データ生成制御命令E1およびE2の両方が20ミリ秒の各自の有効期間を有する。そのため、周期的な従属性がある。例として、これはデータ生成制御命令E1の有効期間を40ミリ秒に増やすことによって解決される。
【0105】
さらなるステップで、考慮中のデータ消費制御命令についてそれぞれの待機期間が確認される。この場合、待機期間の値はそれぞれのサイクル時間、場合によってはそれぞれの制御命令の各自の基本サイクル時間の値の半分として取得される。この実施例では、データ消費制御命令K1の待機期間は10ミリ秒である。データ消費制御命令K2の待機期間は同様に10ミリ秒である。
【0106】
処理アソシエーションデータから、この場合このように次の構成データが自動的に確認される。つまり、終了サイクル時間、個々の制御命令のサイクル時間または基本サイクル時間、データ生成制御命令の有効期間、およびデータ消費制御命令の待機期間。
この実施例では、制御ユニット28’’’’および入出力機器232は1つの物理的なユニットを形成するため、構成データは同期データを一切含んでいない。単一の処理チェーン用の考慮中のデータ生成制御命令およびデータ消費制御命令が安全コントローラ内の複数の制御コンポーネントに分割されている場合、ハンドリングアソシエーションデータに基づいて同期データも自動的に確認される。
【0107】
プログラムモジュール・アソシエーションデータに基づいて、データフレーム割当データが確認される。
そのため、アソシエーションデータに基づいて構成データを包括的に確認できる。
図6aおよび図6bに関連して説明するメカニズムは、ユーザプログラムのライタが制御ユニット28’’’の確定サイクル時間をいったん規定してしまうと、コンピュータプログラム114によって自動的に、つまりひとりでに実行される。制御ユニット28’’’と対話する他の制御コンポーネントからの構成データは、制御ユニット28’’’の確定サイクル時間に基づいて自動的に確認される。自明なことに、このメカニズムは、プログラムモジュールに含まれている制御命令など、他の制御命令に適用できる。そのため、構成データは個々のプログラムモジュールに合わせた方法で確認できる。あるいは、このメカニズムをユーザプログラム内のすべての制御命令に一度限り適用することも考えられる。
【0108】
前述したメカニズムは、データバス・マネージャ用の次の構成データを自動的に確認するためにも使用される。つまり、有効期間、個々の制御コンポーネントの個々のクロックを同期させるために使用できるデータ、および個々の制御コンポーネントの個々のタイマ割込みを同期させるために使用できるデータ。
前述のメカニズムは、リアルタイムデータの送信に使用される通信関係を構成するために使用されるのが好ましい。
【0109】
図7に示すフローチャートは、本発明の方法の流れを示している。ステップ250に従い、設備ソフトウェアコンポーネントが提供される。次のステップ252で、設備ソフトウェアコンポーネントがリンクされる。この後に続くステップ254で、設備ソフトウェアコンポーネントに含まれているアスペクトブロックについてI/Oマッピングが行われる。次のステップ256で、制御ソフトウェアコンポーネントが提供される。次のステップ258で、設備ソフトウェアコンポーネントが制御ソフトウェアコンポーネントに対応付けられる。次のステップ260で、選択された制御パラメータ値がプログラマによって予め定められる。例として、個々のサイクル時間および/またはサンプリングレートの値が規定され、または安全コントローラの応答時間が定義される。応答時間とは、入力信号の認識からそれにリンクされる出力信号の変更までに経過する時間である。次のステップ262で、アソシエーションデータが確認される。この場合、アソシエーションデータはプログラムモジュール・アソシエーションデータと、処理アソシエーションデータとを含む。プログラムモジュール・アソシエーションデータは、ユーザプログラムのプログラマが規定するプログラムモジュール・アソシエーションを表す。あるいは、プログラムモジュール・アソシエーションデータはデータ処理特性図に基づいて確認されるプログラムモジュール・アソシエーションを表してもよい。処理アソシエーションデータは、制御命令の少なくとも一部について、個々の制御命令の処理の順番を定義する多数の処理アソシエーションを表す。次のステップ264で、アソシエーションデータに基づいてここで自動的に構成データが確認される。ステップ266で、さらに構成データがデータバス・マネージャおよび個々の制御コンポーネントに分配される。構成データを分配するために使用される手順によっては、ステップ264から直接ステップ266に進まない。構成データを携帯記憶媒体を使用して分配する場合、ステップ264とステップ266との間にステップ268を行い、前記ステップ268は構成データおよびアソシエーションデータを携帯記憶媒体に記憶させることに関わる。
【0110】
そのため、本発明の安全コントローラおよび本発明の方法により、安全コントローラの通信関係用の複数の構成データを、安全コントローラのプログラマが選択する少数のガイドラインに基づいて自動的に確認できる。データバス・マネージャ用の構成データがプログラマが選択するガイドラインを使用して自動的に判定されれば、とくに有利である。このように、本発明の方法も制御コンポーネントの構成にデータバス・マネージャを含む。構成データの自動確認に関する限り、この場合まず安全コントローラの応答時間を短時間にさせること、次にプロセス時間の起こりうるジッタを最小限にすることが注目される。

【特許請求の範囲】
【請求項1】
実行させるユーザプログラムに従い自動化設備(10)を制御する安全コントローラであって、
制御コンポーネント(26)の少なくとも一部が各自のデータバス・インターフェース(46,46’,46’’,46’’’,46’’’’)を有し、前記データバス・インターフェース(46,46’,46’’,46’’’,46’’’’)がそれぞれデータを送受信するように設計されている、複数の制御コンポーネント(26)と、
データ交換のために、前記複数の制御コンポーネント(26,28,80,82,90,92)が前記各自のデータバス・インターフェース(46,46’,46’’,46’’’,46’’’’)を介して接続されているデータバス(34,116)と、
アソシエーションデータ(120)に基づいて確認され、前記データバス(34,116)および/または少なくとも1つのデータバス・インターフェース(46,46’,46’’,46’’’,46’’’’)の少なくとも1つの特性を判定する構成データ(58)を受信するように設計されている構成インターフェース(124,130,136)と、
を有する安全コントローラ。
【請求項2】
前記ユーザプログラムは複数のプログラムモジュールから構築されており、前記アソシエーションデータはプログラムモジュール・アソシエーションデータを含み、前記プログラムモジュール・アソシエーションデータは多数のプログラムモジュール・アソシエーション(194,196)を表し、前記プログラムモジュール・アソシエーション(194,196)はそれぞれがどの制御コンポーネント(26)に前記各自のプログラムモジュールを対応付けるかを定義することを特徴とする、請求項1に記載の安全コントローラ。
【請求項3】
前記ユーザプログラムは複数の制御命令(E1,E2,K1,K2)を含み、前記アソシエーションデータ(120)は処理アソシエーションデータを含み、前記処理アソシエーションデータは多数の処理アソシエーション(238,240,242,244)を含み、前記処理アソシエーション(238,240,242,244)は、前記制御命令(E1,E2,K1,K2)の少なくとも一部について、前記個々の制御命令(E1,E2,K1,K2)の処理の順番を定義することを特徴とする、請求項1または請求項2のいずれか1項に記載の安全コントローラ。
【請求項4】
前記複数の制御命令(E1,E2,K1,K2)は複数のデータ生成制御命令(E1,E2)と、複数のデータ消費制御命令(K1,K2)とを含み、前記処理アソシエーションデータの確認はデータ消費制御命令(K1,K2)が関わるかまたはデータ生成制御命令(E1,E2)が関わるかを考慮することを特徴とする、請求項3に記載の安全コントローラ。
【請求項5】
前記構成データ(58)は多数の所定の制御パラメータ値にも基づいて確認されることを特徴とする、請求項1から請求項4のいずれか1項に記載の安全コントローラ。
【請求項6】
考慮される前記制御パラメータは、応答時間を表す第1制御パラメータ、サイクル時間を表す第2制御パラメータ、およびサンプリングレートを表す第3制御パラメータのうちの少なくとも1つであることを特徴とする、請求項5に記載の安全コントローラ。
【請求項7】
前記構成データ(58)は多数のデータ処理特性図にも基づいて確認されることを特徴とする、請求項1から請求項6のいずれか1項に記載の安全コントローラ。
【請求項8】
前記アソシエーションデータ(120)、とくに前記プログラムモジュール・アソシエーションデータは、前記多数のデータ処理特性図に基づいて確認されることを特徴とする、請求項1から請求項7のいずれか1項に記載の安全コントローラ。
【請求項9】
前記制御コンポーネント(26)の少なくとも一部は各自のデータメモリ(52,52’,52’’,52’’’,52’’’’)を有しており、前記データメモリ(52,52’,52’’,52’’’,52’’’’)のそれぞれがそれに供給される各自のデータを記憶するように設計されており、前記安全コントローラ(24)は分配ユニット(52,128)も有しており、前記分配ユニット(52,128)は前記データバス(34,116)を介して前記構成データ(58)の少なくとも一部を前記制御コンポーネント(26,28,80,82,90,92)の少なくとも一部に分配するように設計されていることを特徴とする、請求項1から請求項8のいずれか1項に記載の安全コントローラ。
【請求項10】
前記構成データ(58)の少なくとも一部は前記データメモリ(52,52’,52’’,52’’’,52’’’’)に冗長的に記憶されていることを特徴とする、請求項9に記載の安全コントローラ。
【請求項11】
前記分配ユニット(52,128)は前記データメモリ(52)のうちの1つであることを特徴とする、請求項9または請求項10に記載の安全コントローラ。
【請求項12】
前記構成データ(58)は複数のデータブロック(56,56’,56’’,56’’’,56’’’’)に分割されており、少なくとも1つのデータブロック(118)は前記データバスに対応付けられ、前記残りのデータブロック(56,56’,56’’,56’’’,56’’’’)はそれぞれが前記データバス・インターフェース(46,46’,46’’,46’’’,46’’’’)のうちの少なくとも1つに対応付けられていることを特徴とする、請求項1から請求項11のいずれか1項に記載の安全コントローラ。
【請求項13】
前記構成データ(58)は、
生成されるデータが有効な有効期間を表す有効期間データ、および/または
データ消費制御命令(K1,K2)がそれによって消費されることになるデータを待つ待機期間を表す待機期間データ、および/または
複数の制御命令(E1,E2,K1,K2)の基準である終了サイクル時間を表す終了サイクル時間データ、および/または
前記制御コンポーネント(26,28,80,82,90,92)を同期させることのできる同期データ、および/または
前記制御コンポーネント(26,28,80,82,90,92)のうちの少なくとも1つについて、それによって送信されることになるデータおよびそれによって受信されることになるデータのために前記制御コンポーネント(26,28,80,82,90,92)に割り当てられる前記データバス(34,116)のために規定されるデータフレーム内のデータフィールドを定義する多数のデータフレーム割当を表す、データフレーム割当データを、
含むことを特徴とする、請求項1から請求項12のいずれか1項に記載の安全コントローラ。
【請求項14】
安全コントローラ(24)が複数の制御コンポーネント(26)から構築されて、データバス(34,116)を含んでおり、前記制御コンポーネント(26)の少なくとも一部が各自のデータバス・インターフェース(46,46’,46’’,46’’’,46’’’’)を有しており、前記データバス・インターフェース(46,46’,46’’,46’’’,46’’’’)はそれぞれデータを送受信するように設計されており、前記複数の制御コンポーネント(26,28,80,82,90,92)はデータ交換のために前記各自のデータバス・インターフェース(46,46’,46’’,46’’’,46’’’’)を介して前記データバス(34,116)に接続されている、その上で実行させるユーザプログラムに従って自動化設備(10)を制御するように設計されている前記安全コントローラ(24)のためのユーザプログラムを生成する方法であって、前記方法は、
アソシエーションデータ(120)を確認するステップと、
構成データ(58)は前記データバス(34,116)および/または少なくとも1つのデータバス・インターフェース(46,46’,46’’,46’’’,46’’’’)の少なくとも1つの特性を判定する、前記アソシエーションデータ(120)に基づいて前記構成データ(58)を確認するステップと、
を含む方法。
【請求項15】
コンピュータプログラム(114)をコンピュータ(110)上で実行したときに、請求項14の方法を行うためのプログラムコードを含むコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6a】
image rotate

【図6b】
image rotate

【図7】
image rotate


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