(57)【特許請求の範囲】
【請求項１】
制御システム(10)において、表示素子の表示を同期させる方法であって、
該制御システム(10)は、バス(25)を介して接続された加入端末を有し、
該加入端末は、少なくとも一つのメッセージ送信器(12)と、少なくとも第１および第２のメッセージ受信器(18a, 18b)とを有し、
前記第１および第２のメッセージ受信器(18a, 18b)は、それぞれスイッチオン状態とスイッチオフ状態に切り替えできる表示素子(15a, 15b)と、前記表示素子(15a, 15b)の状態を切り替える制御信号を生成する制御ユニット(20a, 20b)とを有し、
前記メッセージ送信器(12)は、所定の定期的な時間間隔(Tbus)でバス(25)を介して、それぞれの現在のバスメッセージを送信し、
それぞれの前記バスメッセージは、所定の値の範囲(W)から選ばれる値(Z)を有するバスメッセージカウンタを含み、
前記値(Z)は、それぞれの現在のバスメッセージが送信されるたびに所定の方法で変更されるものであり、
前記値(Z)は、前記値の範囲(W)の終端に到達した時点で、いったんリセットされ、
前記メッセージ受信器(18a, 18b)は、前記バス(25)を介して、それぞれのバスメッセージを受信し、
前記制御ユニット(20a, 20b)は、それぞれ現在のバスメッセージのバスメッセージカウンタを同じように評価し、この結果を、制御信号を同時に生成するための基礎として利用し、その結果、
表示素子(15a, 15b)はスイッチオン状態とスイッチオフ状態との間で、所定のオン/オフ期間(Tea)で、互いに同期して切り替えられる、方法。
【請求項２】
前記第１および第２のメッセージ受信器(18a, 18b)のそれぞれは、所定のバスメッセージ時間間隔(Tbus)および/または所定の値の範囲(W)および/または所望のオン/オフ期間(T*ea)および/または所望のデューティ比(V*)を格納している、請求項１に記載の方法。
【請求項３】
前記制御ユニット(20a, 20b)は、所定の期間内でバスメッセージカウンタの数をそれぞれカウントし、この数と、前記所定の期間を用いて、バスメッセージ時間間隔(Tbus)を取得する、請求項1または請求項２に記載の方法。
【請求項４】
前記第１のメッセージ受信部(18a)の制御ユニット(20a)は、第１の制御アルゴリズムを使用して、バスメッセージカウンタを評価し、前記第2のメッセージ受信器(18b)の制御ユニット(20b)は、第２の制御アルゴリズムを使用してバスメッセージカウンタを評価し、前記第１および第２の制御アルゴリズムは同じである、請求項１から請求項３のいずれか１項に記載の方法。
【請求項５】
前記値の範囲(W)と前記所望のデューティ比(V*)との積である切換しきい値(U)を、評価のために使用する、請求項１から請求項４のいずれか１項に記載の方法。
【請求項６】
前記制御ユニット(20a, 20b)は、単純な整数による分割によって、それぞれのバスメッセージカウンタを評価する、請求項１から請求項５のいずれか１項に記載の方法。
【請求項７】
前記値の範囲(W)と前記バスメッセージ時間間隔(Tbus)の積である値の範囲の期間(TW)を、評価のために使用し、前記値の範囲の期間(TW)は、前記所定のオン/オフ期間(Tea)で余りなしで割り切れる、請求項１から請求項６のいずれか１項に記載の方法。
【請求項８】
前記値の範囲の期間(TW)は、前記オン/オフ期間(Tea)の整数倍であり、前記整数はスケーリング係数を定義する、請求項７に記載の方法。
【請求項９】
前記制御ユニット(20a, 20b)は、値の範囲(W)とバスメッセージ時間間隔(Tbus)の積として値の範囲の期間(TW)を取得し、前記値の範囲の期間(TW)と所望のオン/オフ周期(T*ea)との商を取得し、整数丸め処理を行い、丸め結果がスケーリング係数(F)を定義する、請求項１から請求項８のいずれか１項に記載の方法。
【請求項１０】
前記制御ユニット(20a, 20b)は、値の範囲(W)とスケーリング係数(F)との商で割ったバスメッセージカウンタの値(Z)からのモジュロを、所定の切換しきい値(U)とスケーリング係数(F)との商と比較することにより各バスメッセージカウンタを評価し、前記モジュロが前記所定の切換しきい値(U)とスケーリング係数(F)との商を上回るまたは下回る場合に、制御信号を生成する、請求項１から請求項９のいずれか１項に記載の方法。
【請求項１１】
前記値の範囲(W)は、前記バスメッセージ時間間隔(Tbus)および/または前記オン/オフ期間に整合される、請求項１から請求項１０のいずれか１項に記載の方法。
【請求項１２】
前記表示素子(15a, 15b)をスイッチオン状態とスイッチオフ状態との間で切り替えるのに用いる前記所定のオン/オフ期間(Tea)は、現在の制御システム(10)の動作状態、特に制御システム(10)の障害状態を示す、請求項１から請求項１１のいずれか１項に記載の方法。
【請求項１３】
メッセージ受信器の第１のセットは、表示素子を、第１の所定のオン/オフ期間(Tea)を用いて、スイッチオン状態とスイッチオフ状態との間で同期して切り替え、メッセージ受信器の第２のセットは、表示素子を、第２の所定のオン/オフ期間(Tea)を用いて、スイッチオン状態とスイッチオフ状態との間で同期して切り替える、請求項１から請求項１２のいずれか１項に記載の方法。
【請求項１４】
特に技術的な設備の自動制御のための制御システム(10)であって、
バス(25)を介して接続され、少なくとも一つのメッセージ送信器(12)と、スイッチオン状態とスイッチオフ状態とを切り替えられる表示素子(15a, 15b)をそれぞれ含む複数のメッセージ受信器(18a, 18b)とを有する加入端末と、
前記表示素子(15a, 15b)の状態を切り替える制御信号を生成する制御ユニット(20a, 20b)とを備え、
前記メッセージ送信器(12)は、所定の定期的な時間間隔(Tbus)でバス(25)を介して、それぞれの現在のバスメッセージを送信するように設計され、それぞれの前記バスメッセージは、所定の値の範囲(W)から選ばれる値(Z)を有するバスメッセージカウンタを含み、
前記メッセージ送信器(12)は、前記値(Z)を、それぞれの現在のバスメッセージが送信されるたびに所定の方法で変更し、かつ前記値(Z)を、前記値の範囲(W)の終端に到達した時点でいったんリセットするように設計され、
前記メッセージ受信器(18a, 18b)は、前記バス(25)を介して、前記バスメッセージを受信するように設計され、
前記制御ユニット(20a, 20b)は、それぞれ現在のバスメッセージのバスメッセージカウンタを同じように評価するように設計され、この結果を、制御信号を同時に生成するための基礎として利用し、その結果、前記表示素子(15a, 15b)はスイッチオン状態とスイッチオフ状態との間で、所定のオン/オフ期間(Tea)に、互いに同期して切り替えられる、システム。
【請求項１５】
バス(25)を介して接続された加入端末を有する制御システム(10)において用いられ、 
バス(25)に接続されたときに、請求項１から請求項１３のいずれか１項に記載の方法を実行するように設計されたプログラムコードを記憶した記憶媒体を有する、バスメッセージ受信器(18a, 18b)。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスを介して接続されている加入端末を有する制御システムにおいて、表示素子を同期させるための方法に関するものである。加入端末は、少なくとも、メッセージ送信器および相当数のメッセージ受信器を含む。
【０００２】
各メッセージ受信器は、それぞれのスイッチオン状態とスイッチオフ状態とを切り替えることができる表示素子と、各状態間で表示素子を切り替えるための制御信号を生成する制御ユニットとを含む。
【０００３】
また、本発明は、特に技術的な設備の自動制御のための制御システムに関するものである。該設備は、バスを介して接続された加入端末を有し、該加入端末は、少なくともメッセージ送信器および相当数のメッセージ受信器の数を含む。各メッセージ受信器は、それぞれのスイッチオン状態とスイッチオフ状態とを切り替えることができる表示素子と、各状態間で表示素子を切り替えるための制御信号を生成する制御ユニットとを含む。
【背景技術】
【０００４】
例えば、この種の制御システムは、本出願人により商標PSS（登録商標）で販売されているプログラマブルコントローラである(「PSSuniversalプログラマブル制御システムPSS（登録商標）、システム説明、番号21256-EN-04」)。
【０００５】
本明細書において、「制御システム」は、特に人に対する危険を回避するためのフェイルセーフ動作を必要とする安全上重要なプロセスを制御するために、技術的な設備の自動制御のために使用することができる。
【０００６】
このような制御システムは、例えば、特許文献１に開示されている。このような制御システムは、特に、自動化された動作から生じる人の負傷のリスクを伴う設備の監視および制御を行う。
【０００７】
通常、このような設備は、保護柵、防護ドア、光バリア、光グリッド、緊急オフプッシュボタンおよび他の安全センサなどによって保護される。防護扉が開かれると同時に、光バリアが中断され、または緊急オフ押しボタンが作動し、設備が停止されるか他の方法で安全な状態にされる必要がある。これは、通常、所定の定期的な時間間隔で保護ドア、光グリッド、緊急オフプッシュボタンなどからの状態信号を、コントローラがフェイルセーフの形で評価し、これに基づいて、設備の電気駆動のための電力供給経路に配置された接触器などの安全関連アクチュエータを動作させることによって達成される。多くの場合、センサとアクチュエータは、コントローラから物理的に離れた場所にある。
【０００８】
センサとアクチュエータを多数有する比較的大きな設備の場合、コントローラは、フィールドバスシステムとして知られるものを介して、センサとアクチュエータに接続されることがある。フィールドバスシステムは、センサおよびアクチュエータの状態を表すデジタルデータ、および、コントローラからの制御コマンドの交換を可能にする。そのようなフィールドバスシステムの一例は、SafetyBUS pまたはSafetyNet pである。
【０００９】
本明細書における「制御システム」は、例えば、構成可能またはプログラマブルコントローラ用のモジュール式制御システムであってもよい。これは、本出願人によって商標PNOZ（登録商標）で市販されている構成可能コントローラ、商標PSS（登録商標）で市販されているようなプログラマブルコントローラ、またはこれらの類似品であってもよい。この場合、「構成可能」とは、配線など、コントローラのハードウェアの一部のカスタマイズまたは設定をすることを意味する。「プログラマブル」とは、例えばプログラミング言語を用いて、コントローラのソフトウェア部分のカスタマイズまたは設定をすることを意味する。
【００１０】
特に、前述の記述「ピルツ、PSSuniversalプログラマブル制御システムPSS（登録商標）、システム説明、番号21256-EN-04」の「PSSuniversal（登録商標）」は、標準のタスクと安全のタスクのためにモジュラープログラム可能な制御システムを提供する。 
【００１１】
PSSuシステムは、PSSuシステムの使用(例えば、様々なフィールドバスシステムに接続するローカルI/Oシステムの使用、SafetyBUS pを介した安全指向の通信、PROFINETを介したPROFIsafeとの安全指向の通信、など)の領域を決定するヘッダモジュールを備える。
【００１２】
また、PSSuシステムは、PSSuシステムの機能を決定する入力/出力モジュールを備える。モジュールの構成は、入力/出力モジュールが、一緒につながれた(strung-together)方式でヘッダモジュールの右側に配置されるようになっている。複数の異なる入力/出力モジュールから、効率的かつ安価に、それぞれのアプリケーションへの入力/出力アセンブリ(I/Oアセンブリと呼ばれる)を合わせることができる。入力/出力モジュールまたはその電子モジュールは、モジュールバス(別名バックプレーンバス)を介してヘッダモジュールと通信する。
【００１３】
PSSuシステムは、診断のための多くのオプションを提供する。一例として、PSSuシステムの診断は、入力/出力モジュールとヘッダモジュール上のLEDを用いて行うことができる。
【００１４】
モジュール上のこれらのLEDは、ステータスを示すため、例えば特定のリズムできらきらしたり、閃光したりする。これにより、システムの特定の動作状態を示すことが可能である。
【００１５】
1つの問題は、前記モジュールが、互いに同期してきらめいたり閃光したりしないと言うことである。これは、特にモジュールが互いに横に直接配置されているか、もしくは物理的に近接して配置されている場合、システムの利用者や観察者に刺激あるいは不愉快を与える。また、同期のとれない点滅や閃光は、ユーザにとって、シンプルな「第１レベル」の診断を困難にする。
【００１６】
従来技術は、普遍的に、ネットワーク内の加入端末を同期させるための方法、特に時間を同期させる方法を開示している。例えば、セーフティ・ネットワーク・インターナショナルe.V.(www.safety-network.de)のパンフレット「SafetyNET p、バージョン1.1、システム説明」は、ネットワーク内の加入端末間の同期のための方法を開示している。この方法によれば、所望の時点でネットワーク全体にアクション、すなわちネットワーク全体で同期化されたイベントを開始する。ネットワーク全体でそのような方法を確立するために、各ネットワークの加入端末は、他のユーザと同期する正確なクロックを必要とする。この場合、クロックの制度、すなわち同期の精度は、システム全体の精度を決定する。精度のために使用される尺度は、ジッタ、すなわち相互に関連するクロックの不正確さである。
【００１７】
SafetyNET pの場合には、他の加入端末の時計を常時調整するための同期メカニズムを使用する高精度のマスタークロックが、使用される。マスタークロック自体はワールドタイム原子時計に同期させることができる。正確な同期クロックに基づいて、アクション要求は、加入端末に事前に送信され、これにより、その後、必要な時点でアクションを実行することができる。したがって、伝送および実行が時間内に分離されている。これにより、ネットワーク全体でデータの読み出しまたは出力の同期が可能になる。
【００１８】
SafetyNET pにおいて、すべてのデバイスは、それぞれのアプリケーションのために必要であれば、デバイスのクロックと同期することができる。リアルタイムフレームネットワーク(RTFN)におけるSafetyNET pのデバイスの同期は、IEEE 1588で標準化された精密時間プロトコル(PTP)の使用を含む。また、リアルタイムフレームライン(RTFL)での使用のために最適化された、正確なクロック同期プロトコル(PCS)が使用される。一例として、特許文献２がこのようなRTFL方法を記述している。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】国際公開WO2004/097539 A1パンフレット
【特許文献２】国際公開WO2006/069691 A1パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００２０】
しかしながら、このような時間を同期させる方法または時間制御法は、非常に複雑であり、高いバス負荷を発生させる。
【００２１】
前記事情に鑑み、本発明は、制御システム内の表示素子を同期させるための方法および対応する制御システムを提供することを目的とする。
【００２２】
特に本発明は、表示素子が、単純な方法および/または安価な方法で同期され得る方法および対応する制御システムを提供することを目的とする。さらにまた、本発明は、使いやすさおよび/または安全性を向上することを目的とする。
【課題を解決するための手段】
【００２３】
本発明によれば、前記目的は、バスを介して接続されている加入端末を有する制御システムにおいて、表示素子の表示を同期させる方法によって達成される。
【００２４】
前記加入端末は、少なくとも一つのメッセージ送信器と、複数のメッセージ受信器とを有する。メッセージ受信器は、それぞれスイッチオン状態とスイッチオフ状態に切り替えできる表示素子と、表示素子の状態を切り替える制御信号を生成するための制御ユニットとを有する。メッセージ送信器は、所定の定期的な時間間隔ごとにバスを介して、それぞれバスメッセージを送信する。バスメッセージは、所定の値の範囲から選ばれる値を有するバスメッセージカウンタを含み、前記値は、それぞれのバスメッセージが送信されるたびに所定の方法で変更され、値の範囲の終端に到達した時点で、いったんリセットされる。メッセージ受信器は、バスを介して、それぞれのバスメッセージを受信する。制御ユニットは、それぞれ現在のバスメッセージのバスメッセージカウンタを同じように評価し、この結果を、制御信号を生成するための基礎として利用し、その結果、表示素子はスイッチオン状態とスイッチオフ状態との間で、所定のオン/オフ期間で、互いに同期して切り替えられる。
【００２５】
本発明のさらなる実施態様によれば、前記目的は、バスを介して接続されている加入端末を有する制御システム、特に技術的な設備の自動制御のための制御システムによって達成される。
【００２６】
前記加入端末は、バスを介して接続され、少なくとも一つのメッセージ送信器と、スイッチオン状態とスイッチオフ状態とを切り替えられる表示素子をそれぞれ含む複数のメッセージ受信器とを有する加入端末と、前記表示素子の状態を切り替える制御信号を生成するための制御ユニットとを備える。
【００２７】
前記メッセージ送信器は、所定の定期的なバスメッセージ時間間隔でバスを介して、それぞれのバスメッセージを送信するように設計され、前記バスメッセージは、所定の値の範囲からの値を有する各バスメッセージカウンタを含む。前記メッセージ送信器は、前記値を、それぞれの現在のバスメッセージが送信されるたびに所定の方法で変更し、および前記値を、前記値の範囲の終端に到達した時点でいったんリセットする。メッセージ受信器は、前記バスを介して、前記バスメッセージを受信する。
【００２８】
前記制御ユニットは、それぞれ現在のバスメッセージのバスメッセージカウンタを同じように評価するように設計され、この結果を、制御信号を同時に生成するための基礎として利用する。その結果、前記表示素子はスイッチオン状態とスイッチオフ状態との間で、所定のオン/オフ期間に、互いに同期して切り替えられる。
【００２９】
本発明のさらなる実施態様によれば、前記目的は、バスを介して接続された加入端末を有する制御システムにおけるバスメッセージ受信器によって達成される。バスメッセージ受信器は、バスメッセージ受信器がバスに接続されたときに表示素子を同期化するプログラムコードを記憶した記憶媒体を備える。
【００３０】
本発明の方法および本発明の制御システムは、表示素子(例えばLED)を同期させるためのバスメッセージカウンタを使用する。
【００３１】
特に、バスメッセージカウンタ(別名バスサイクルカウンタ)は制御システムにおいて、データ例えば伝送を保護する目的で、設けられている。本発明の方法および本発明の制御システムは、既に提供されているか、または既存の構造を使用するメカニズムに適用できる。表示素子(例えばLED)を同期させる比較的「些細な」タスクに関わる必要はない。したがって、既存のメッセージまたは電文の構造を変更することなく、すなわち追加の実装なしに、表示素子の同期を達成することができる。
【００３２】
同じようにバスメッセージカウンタを評価し、それらの表示素子を駆動する制御ユニットによって達成される効果は、様々なメッセージ受信器の表示素子が、互いに同期してスイッチオン状態およびスイッチオフ状態に、特に所定のまたは一定のオン/オフ期間に切り替えられるということである。
【００３３】
前記所定のオン/オフ期間は、したがってまた、点滅(twinkle)期間または閃光期間と呼ばれている。特に、メッセージ受信器が互いに物理的に近接して配置された制御システムの場合には、−人間の目またはユーザの目にとって−「同期」した点滅が重要である。「同じように」評価するとは、１または複数の制御ユニットが、同じ制御アルゴリズム(制御ロジックまたは制御プログラムとも呼ばれる)を用いてバスメッセージカウンタを評価することを意味する。
【００３４】
特に、少なくとも第１および第２のメッセージ受信器を使用することができる。第１のメッセージ受信器の制御部は、現在のバスメッセージ内のバスメッセージカウンタを受信し、第2のメッセージ受信器の制御部は、特に多かれ少なかれ同時に、現在のバスメッセージのバスメッセージカウンタを受信する。第１および第2のメッセージ受信器の制御部は、このように同一の入力変数(バスメッセージカウンタ)を持つ。第１のメッセージ受信器の制御部は、第1制御アルゴリズムを用いてバスメッセージカウンタを評価し、第2のメッセージ受信器の制御部は、第2の制御アルゴリズムを使用してバスメッセージカウンタを評価する。第１および第２の制御アルゴリズムは、この場合、同じである。したがって、各制御ユニットは同じように各バスメッセージカウンタを評価する。評価または制御アルゴリズムの結果に応じて、表示素子を制御するための制御信号が生成される。
【００３５】
特に、「制御信号」は、表示素子をスイッチオン状態からスイッチオフ状態へまたはスイッチオフ状態からスイッチオン状態へ切り替える制御信号を意味する。したがって制御信号は、表示素子をオンまたはオフに切り替える。一例として、スイッチオン状態では、表示素子には、電流が流れ、または電力が供給される。スイッチオフ状態では、電流が流れないか、または電力が供給されない。この点に関して、一例として、電流またはエネルギー源と、その制御信号によって制御される、それに接続されたスイッチング素子(例えば、トランジスタ)を使用することが可能である。
【００３６】
制御アルゴリズムは、各評価に対応して表示素子のスイッチオンまたはスイッチオフ状態を示す特定の信号を生成することができる。制御信号は、信号の変化時に生成されることもできる。
【００３７】
「同期」または「同期して」とは、特に表示素子が同時に同じ状態(スイッチオン状態またはスイッチオフ状態)に置かれることを意味すると理解される。
【００３８】
特に、表示素子は本質的に同じオン/オフ期間(周波数と言ってもよい)と位相で、スイッチオンとスイッチオフの状態に置かれる。オン/オフ期間と位相は、バスメッセージカウンタから導出される。つまり、表示素子は同期した周波数と位相で、点滅または閃光する。このように、点滅周波数と点滅位相が同期している。対照的に、「反同期(asynchronous)」の場合において、表示素子は、互いに反対に点滅する。すなわち、一つの表示素子がスイッチオン状態のとき他の表示素子はその逆のスイッチオフ状態にある。このような反同期の点滅、あるいは位相シフトは、本発明の方法および本発明の制御システムを使用して回避することができる。
【００３９】
同期を達成するための重要な要因は、バスメッセージカウンタである。まず、バスメッセージ(データパケットまたはテレグラムとも呼ばれる)は、バスを介してバスメッセージカウンタを伴って、定期的な所定のバスメッセージ時間間隔で、送信される。したがってバスメッセージはサイクリックに送信される(サイクリックなバス通信)。サイクリックなバス通信の場合には、バスメッセージ時間間隔は、特にバス通信の動作のための期間にわたって、一定である。
【００４０】
第２に、バスメッセージカウンタは、所定の値の範囲からの値を有しており、送信のたびに所定の方法で、毎回変更される。バスメッセージカウンタは、したがって、「決定論的な(deterministic)」カウンタもしくはカウントである。決定論的なバスメッセージカウンタの場合、値の範囲は、特に、バス通信の動作のための期間にわたって、一定である。純粋に理論的には、値の範囲は無限の可能性がある。しかし、実際には、値の範囲は有限である。前記値の範囲の終わりに到達したとき、バスメッセージカウンタの値がその初期値に、例えばゼロに、再びリセットされる必要がある。値の範囲の終わりに到達したときの、このリセットは、「自動オーバーフロー」と言ってもよい。
【００４１】
値の範囲は、好ましくは、を伴ったバスメッセージの中の、用意されたまたは所定のバスメッセージカウンタの大きさ(例えばビットまたはバイト単位で測定される)として定義することができる。バスメッセージカウンタのためにnビットが提供されている場合、(最大)値の範囲は、２n個である。一例として、これは、8ビットでは最大256の範囲になり、１６ビットでは最大65536の範囲値ビットになり、32ビットでは最大4294967296値の範囲になる。あるいは、値の範囲はまた、カスタマイズされ得、例えば最大値よりも小さくなってもよい。
【００４２】
具体的には、バスメッセージカウンタは、特にゼロから始まり、送信するたびに、規定された値好ましくは整数値でインクリメントされる。一例として、バスメッセージカウンタは一つの送信ごとにインクリメントすることができる。これは好ましい、おそらく最も簡単な実装法である。
【００４３】
純粋に理論的には、しかし、他の任意の整数の実装を行ってもよい。あるいは、バスメッセージカウンタは、規定値、好ましくは整数値で、値の範囲の最大値から始まって、送信するたびに減分することができる。あるいは、送信するたびに実数値または非整数値によって、バスメッセージカウンタをインクリメントまたはデクリメントすることができる。重要なことは、バスメッセージカウンタが、すべての加入端末に知られるように、所定のまたは決定論的方法で変更されることである。
【００４４】
バスメッセージカウンタを伴うバスメッセージは「多かれ少なかれ同時に」(例えば数10から100μ秒以内の誤差で)バスメッセージ受信器に到着することが好ましい。そうでなければ、メッセージの遅延および、遅延したバスメッセージカウンタの評価により、表示素子の点滅に表示位相のずれが生じる可能性がある。
【００４５】
特に、メッセージ受信器が互いに物理的に近接して配置された制御システムの場合には、メッセージの遅延は、しかし、通常は問題にならない。特に、バスメッセージカウンタを伴うバスメッセージの送信間の時間が、バスメッセージカウンタの評価になるまで、各バスメッセージ受信器にとって多かれ少なかれ同じであるかどうかは、重要であり得る。これは、様々なバスメッセージ受信器での評価は、多かれ少なかれ同時に起こることを意味する。一例として、(カットスルー)線形形状の通信網では、それ自体が既に2つのバスメッセージ受信器間に一定の遅延または遅れ時間をもたらす。点滅または閃光における位相シフトに影響を与えることができる時間は、特にバスメッセージにおける各バスメッセージ受信器を通過するときの遅延または遅れ時間である。当該制御システムでは、これはバスメッセージが多かれ少なかれ同時に各バスメッセージ受信器に到着するように通常、短い。
【００４６】
表示素子を駆動する目的のために、決定論的なバスメッセージカウンタと、バスメッセージカウンタの対応する同様の評価とを採用した上述のサイクリックなバス通信に基づいて、表示素子の同期化が達成される。
【００４７】
新しいメッセージ受信器がバス通信の動作中のバスに接続される場合でも、その新たなバスメッセージ受信器は、その表示素子をスイッチオン状態またはスイッチオフ状態へ配置する必要がある場合、それを明示的に決定するために、バスメッセージカウンタを使用することができる。つまり、接続されたばかりのメッセージ受信器でも、その表示素子は、他の表示素子と同期して点滅することができる方法を知っている。
【００４８】
これまで、バスメッセージカウンタは、例えばメッセージ送信エラーやメッセージ遅延の制御をするために、全く異なる目的のために使用されてきた。一例としてこれは、規格EN 954-1、IEC 61508およびEN ISO 13849-1に照らして安全関連メッセージを送信するために承認されるネットワークの認証のための前提条件である。このようなメッセージの送信エラーまたはメッセージ遅延の制御をするための対策が、例として文書「安全関連メッセージの送信のためのバスシステムのテスト原則]に記述され、ドイツの商業貿易協会の電気工学技術委員会によるGS-ET-26の下で公開されている。エラーの制御をするための対策として、この文書は、送信器と受信器とが交換するすべてのメッセージに付加されたシリアル番号、として知られているものについて説明している。このシリアル番号は、メッセージごとに異なる所定の方法で変化する数を含む追加のデータ・フィールドとして定義される。
【００４９】
また、この種のシリアル番号は、前述のプログラマブルコントローラPSS(登録商標)については、例えば文書「PSS SWイーサネット（登録商標）パラメータ設定、操作マニュアル、番号20575-02」で説明されている。この場合、接続設定のときに値0を有し、有用なデータが送信されるたびにインクリメントされるシーケンス番号と呼ばれるもののために2バイトが用意された、会社INAT GmbHのPLCヘッダの構造が記載されている。この電文カウンタも追加的にデータ伝送を保護するために使用される。
【００５０】
表示素子を同期させる本発明の方法と本発明の制御システムは、このようにバスメッセージカウンタ(別名テレグラムカウンタ)の形態である既存の構造または確立されたメカニズムを使用する。時間または時間制御方法を同期させるための前記従来技術の方法とは対照的に、本発明の方法は、より単純で、表示素子を同期させる比較的「簡単な」タスクで、より少ないバス負荷をもたらす。さらに、待ち時間が、バス加入端末の点滅位相が一定または不変であっても、それらは相互に関連して異なった可視のシフトを持つことを意味するわけではない。
【００５１】
マイクロコントローラの形で制御ユニットを実装する場合、例えば、本発明の方法は(例えば、パルス幅変調(PWM)、タイマー等を含まずに)、および/またはライブラリ関数(例えば浮動小数点アルゴリズム)を使わずに実施できる。
【００５２】
一例として、本発明の方法は、特に、バスメッセージカウンタの周期的なプロセスデータ交換および/またはポーリングが起こっている中断時において、標準的な浮動小数点数演算を用いて実現することができる。
【００５３】
全体的に、制御システムの表示素子の表示を同期させる方法および対応する制御システムは、既存の構造または確立されたメカニズムが使用されているので、特に、表示素子は、単純なおよび/または安価な方法で同期化されて提供される。また、同期された点滅または閃光は、ユーザまたはシステムの観察者に許容できるものであり刺激的ではないので、快適と使いやすさが増加することを意味する。また、ユーザは、表示素子を観察することによって、単純な「ファーストレベル」診断を行うことができる。前記の本発明の目的は、したがって、完全に達成される。
【００５４】
本発明の他の局面では、メッセージ受信器は、それぞれ、所定のバスのメッセージ時間間隔および/または所定の値の範囲を格納している。
【００５５】
すなわちこの局面では、バスメッセージ時間間隔および/または所定の値の範囲は、メッセージ受信器に固定的に定義されている。これは、少なくともバス通信の動作中に、すべてのメッセージ受信器は、バスメッセージ時間間隔および/または所定の値の範囲を知っていることを保証する。それはまた、少なくともバス通信の動作中に、バスメッセージ時間間隔および/または所定の値の範囲が残ること、もしくは一定のまま残ることを保証する。特に、メッセージ受信部は、それぞれ、バスメッセージ時間間隔と所定の値の範囲との両方を記憶することができる。一例として、所定のバスメッセージ時間間隔および/または所定の値の範囲は、メモリユニットに格納されていてもよい。他の一例として、所定のバスメッセージ時間間隔および/または所定の値の範囲は、特にバス通信の動作前に、メッセージ受信器の初期化時にハードコードもしくは格納されてもよい。他の一例として、所定のバスメッセージ時間間隔および/または所定の値の範囲は、バスを介して、外部送信器、例えばメッセージ送信器から受信することができる。
【００５６】
さらなる他の局面では、制御ユニットは、所定の期間ごとにバスメッセージカウンタの数をカウントし、この数と所定の期間を使用してバスメッセージの時間間隔を確認する。
【００５７】
すなわちこの局面では、バスメッセージ時間間隔は外部ソースによって規定され、メッセージ受信器または制御ユニットは、そのバスメッセージ時間間隔をそのつど確認することができる。これは、制御システムの柔軟性を増加させる。まだバスメッセージ時間間隔が記憶されていない新しいメッセージ受信器がバスに接続された場合に、特に有益である。バスメッセージ時間間隔が変更された場合でも、すべてのメッセージ受信器は、ハードコード化したり、または再度初期化したりする必要はない。
【００５８】
さらなる他の局面では、メッセージ受信器は、それぞれに所望のオン/オフ期間および/または所望のデューティ比を格納している。デューティ比は、特にスイッチオン状態のオン/オフ期間に対する持続時間の比率である。
【００５９】
すなわちこの局面では、メッセージ受信器で所望のオン/オフ期間および/または所望のデューティ比が固定して定義されている。これにより、少なくともバス通信の動作中に、すべてのメッセージ受信器が前記所望のオン/オフ期間および/または所望のデューティ比を知っている、ことが保証される。それはまた、少なくともバス通信の動作中に、所望のオン/オフ期間および/または所望のデューティ比が一定のままで残っているということを保証する。一例として、所望のオン/オフ期間および/または所望のデューティ比を記憶部に記憶してもよい。一例として、所望のオン/オフ期間および/または所望のデューティ比がハードコーディングされてもよく、または、メッセージ受信器が特にバス通信の動作の前に初期化されるときに、記憶されてもよい。一例として、所望のオン/オフ期間および/または所望のデューティ比は、バスを介して外部送信器から、例えばメッセージ送信器から受信される。特にメッセージ受信器は、所望のオン/オフ期間と所望のデューティ比の両方をそれぞれ記憶することができる。
【００６０】
この局面では、所望のデューティ比と所望のオン/オフ期間の両方を達成することができる。デューティ比の比は、1若しくは１以下である。一例として、「点滅」はスイッチオン状態とスイッチオフ状態の期間が同じ、すなわち1/2のデューティ比を持つ。「閃光」はスイッチオン状態の持続時間がスイッチオフ状態の持続時間よりも短い、すなわち1/2以下(例えば1/4または1/5)のデューティ比を持つ。
【００６１】
さらなる他の局面では、値の範囲と所望のデューティ比との積である所定の切換しきい値が、評価のために使用される。デューティ比とは、スイッチオン状態の持続時間の、オン/オフ期間に対する比率である。
【００６２】
さらなる他の局面では、制御ユニットは、単純な整数による割り算によって、バスメッセージカウンタを評価する。
【００６３】
すなわちこの局面では、評価はより単純な方法で達成することができ、制御アルゴリズムをより簡単な方法で実装することができる。好ましくは、制御ユニットは、もしも何々ならば(あるいはもしも何々でなければ)という単純な決定によって、制御信号を生成する。好ましくは、制御アルゴリズムは、このように、単純な整数の割り算、および/または、もしも何々ならばという決定を使用する。これは単純な実装であるため、安価なシステムを提供することができる。
【００６４】
さらなる他の局面では、前記値の範囲とバスメッセージ時間間隔の積である値の範囲の期間を評価のために使用することができる。具体的には、値の範囲の期間は、所定のオン/オフ期間によって、余り無しで割り切れる。
【００６５】
すなわちこの局面では、値の範囲の期間は、バスメッセージカウンタの値がカウントされ、またはその全体の値をひととおり通過するのにいくらの時間がかかるかについて、その期間を決定する。
【００６６】
値の範囲の期間が、所定の、すなわち実際のオン/オフ期間によって余りなしで割り切れることによって達成される効果は、当該オン/オフ期間が値の範囲の期間に正確に適合し、余りが出ないことである。値の範囲の終わりに到達すると、オン/オフ期間すなわち点滅または閃光も、終了する。したがって、表示素子が、互いに逆位相でもしくは非同期で点滅や閃光したり、望ましくないオンオフ時間が生じたりすることがない。
【００６７】
くわえて、新たにバスに接続されたメッセージ受信器は、ただちに、表示素子の状態を確認することができ、当該表示素子は、次の制御信号のため他の表示素子と同期する。前記整数が1である場合、バスメッセージカウンタの値の範囲は、正確に１つのオン/オフ期間になり、値の範囲はオン/オフ期間と同じである。もし整数値が複数の(すなわち1を超える)である場合、バスメッセージカウンタの値の範囲は、複数のオン/オフ期間に分割される。
【００６８】
さらなる他の局面では、値の範囲の期間は、オン/オフ所定の期間の整数倍である。具体的には、前記整数倍は、スケーリング係数を定義する。
【００６９】
すなわちこの局面では、バスメッセージカウンタの値の範囲は、複数のオン/オフ期間に分割される。言い換えると、所定のオン/オフ期間は、値の範囲の期間の整数倍である。したがって、複数のオン/オフ期間が値の範囲に分割される。これは、オン/オフ期間が正確に値の範囲の期間に収まって余りが出ないことを保証する。値の範囲が終わりに到達すると、オン/オフ期間または点滅または閃光も終了する。
【００７０】
この局面では、所望のデューティ比および所望のオン/オフ期間の両方に対して、達成することが、少なくともほぼ、可能である。決定された、すなわち実際のオン/オフ期間は、値の範囲の期間が所望のオン/オフ期間の整数倍でない場合には、所望のオン/オフ期間と異なっていてもよい。
【００７１】
所望のオン/オフ期間は、「人工的に伸びたり縮んだり」し、または、オン/オフ期間は、値の範囲の期間に嵌め込まれる。
【００７２】
さらなる他の局面では、制御ユニットは、値の範囲とバスのメッセージ時間間隔の積として、値の範囲の期間を確認する。制御ユニットは、値の範囲の期間の商と、所望のオン/オフ期間を確認する。制御部は、商に対して、整数丸め処理を行い、丸め結果がスケーリング係数を定義する。
【００７３】
すなわちこの局面では、バスメッセージカウンタの値の範囲が、複数のオン/オフ期間にいかに分割されるか、またはいかに所定のオン/オフ期間が値の範囲の整数部分になるかの、単純な実装を提供することができる。これは、オン/オフ期間が正確に値の範囲の期間に収まりしたがって余りが出ないことを保証する。値の範囲の終わりに到達すると、オン/オフ期間または点滅または閃光も終了する。
【００７４】
この局面では、所望のデューティ比およびオン/オフ所望の期間の両方に対して達成することが、少なくともほぼ、可能である。決定された、すなわち実際のオン/オフ期間は、値の範囲の期間が所望のオン/オフ期間の整数倍でない場合には、この場合、所望のオン/オフ期間と異なっていてもよい。
【００７５】
本発明のさらなる他の局面では、制御ユニットは、バスメッセージカウンタの値を、値の範囲とスケーリング係数との商で割って得たモジュロを、所定の切換しきい値とスケーリング係数との商と比較し、そのたびにバスメッセージカウンタを評価する。モジュロが所定の切換しきい値とスケーリング係数との商を上回る場合または下回る場合に、制御信号を生成する。
【００７６】
すなわちこの局面では、特に値の範囲が、複数のオン/オフ期間に分割されている場合に、制御信号を生成する単純な実装を提供することができる。特に、モジュロが所定の切換しきい値とスケーリング係数との商よりも小さいとき、表示素子は、スイッチオン状態にされ、および/または、モジュロが所定の切換しきい値とスケーリング係数との商よりも大きいとき、表示素子は、スイッチオフ状態にされていてもよい。
【００７７】
本発明のさらなる他の局面では、制御ユニットは、バスメッセージカウンタの値を、値の範囲で割って得たモジュロを、所定の切換しきい値と比較し、そのたびにバスメッセージカウンタを評価する。モジュロが所定の切換しきい値を上回る場合または下回る場合に、制御信号を生成する。
【００７８】
この局面は、バスメッセージカウンタの値の範囲が、正確に1つのオン/オフ期間に分割される場合、すなわち値の範囲がオン/オフ期間に等しい場合、特に採用される。値の範囲の終わりに到達すると、オン/オフ期間も、点滅または閃光も終了する。スケーリング係数は1である。したがってこの場合には、スケーリング係数を評価のために考慮する必要がない。この実施態様は、同期した点滅または閃光の実装のために、極めて簡単なフォームを提供する。
【００７９】
この局面では、所望のデューティ比を達成することは、少なくともほぼ、可能である。
【００８０】
決定された、すなわち実際のオン/オフ期間は、しかし、所定の値の範囲とバスメッセージ時間間隔に依存する。
【００８１】
一例として、モジュロまたはバスメッセージカウンタの値が、固定されている切換しきい値を超えていれば、表示素子をスイッチオン状態からスイッチオフ状態にする制御信号を生成することができる。また、表示素子をスイッチオフ状態からスイッチオン状態に戻す制御信号を、バスメッセージカウンタの値がリセットされる前に生成することができる。
【００８２】
さらなる他の局面では、値の範囲は、バスメッセージ時間間隔および/またはオン/オフ期間に整合される。
【００８３】
すなわちこの局面では、値の範囲の最後の値が、残されることもしくは余りが出ること、を防止することができる。一例として、値の範囲は、値の範囲の期間がオン/オフ期間よりも大きいかに少なくとも等しくなるように選択することができる。元の値の範囲が、バスメッセージの中の提供されたまたは所定のバスメッセージカウンタの大きさによって規定されている場合であっても、値の範囲をカスタマイズすることができる。具体的には、新たな値の範囲は、大きさによって規定された最大の値の範囲よりも小さくてもよい。
【００８４】
さらなる他の局面では、スイッチオン状態とスイッチオフ状態の間で表示素子を切り替えるために使用される所定のオン/オフ期間は、制御システムの現在の動作状態が、特に障害状態であることを示す。
【００８５】
前記表示素子をスイッチオン状態とスイッチオフ状態との間で切り替えるのに用いる前記所定のオン/オフ期間は、現在の制御システム(10)の動作状態、特に制御システムの障害状態を示す、
すなわちこの局面では、所定のオン/オフ期間は、制御システムで決定された動作状態の指標である。このため、診断が可能となる。一例として、ユーザは、相互に同期して点滅または閃光する表示素子を観察することによって、単純な「ファーストレベル」診断を行うことができる。
【００８６】
メッセージ受信器の第１のセットは、表示素子を、第１の所定のオン/オフ期間を用いて、スイッチオン状態とスイッチオフ状態との間を互いに同期して切り替え、メッセージ受信器の第２のセットは、表示素子を、第２の所定のオン/オフ期間を用いて、スイッチオン状態とスイッチオフ状態との間を互いに同期して切り替える。
【００８７】
すなわちこの局面形態では、複数の動作モードを示すことができる。これは、制御システムの診断オプションを増加させる。特に、制御ユニットは、それぞれの所定のオン/オフ期間について、適切な評価または計算を実行することができる。一例として、点滅の期間であってもよい第１のオン/オフ期間は点滅の期間とし、第２のオン/オフ期間を最初と閃光の期間とすることができる。他の一例として、第１および第２のオン/オフ期間を、さまざまな点滅の期間や、さまざまな閃光の期間としてもよい。
【００８８】
さらなる他の局面では、バスのメッセージの時間間隔は、10ミリ秒よりも短く、特に1000μ秒より短く、特に100μ秒より短く、特に70μ秒より短い時間に選ばれる。
【００８９】
本発明の特徴は、本発明の範囲から逸脱しない範囲で、上に説明した組み合わせや以下に説明する組み合わせに限定されるものではなく、単独でもしくは他の組合せとして、使用できることは言うまでもない。
【００９０】
本発明の実施形態は、図面に示され、以下の説明においてより詳細に説明される。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施形態に係る制御システムの概略図を示し、該制御システムは、バスメッセージ受信器を使用して、技術的な設備の、自動化された制御もしくは安全関連の制御を行う。
【図２】バスメッセージ受信器のハウジングの正面図を示す。
【図３】本発明の方法の第1実施形態に係る、表示素子の状態の時間プロフィールを示す。
【図４】本発明の方法の第2実施形態に係る、表示素子の状態の時間プロフィールを示す。
【図５】本発明の方法の第2実施形態に係る、表示素子の状態の時間プロフィールを示す。
【図６】本発明の方法の第2実施形態に係る、表示素子の状態の時間プロフィールを示す。
【発明を実施するための形態】
【００９２】
以下、本発明の実施の形態について、添付図面を参照して説明する。
【００９３】
図１は、制御システム10の概略図を示す。該制御システム10は、バスメッセージ受信器を使用して、技術的な設備の、自動化された制御もしくは安全関連の制御を行う。
【００９４】
制御システム10は、技術設備の自動制御のために使用されるモジュール式制御システムである。一例として、技術的な設備には、自動車メーカーの生産ライン、空港でのコンベヤーベルトなど、操作設備の周囲の人々に危険を生じさせる設備がある。好ましい実施形態では、制御システムは、安全関連の機能と標準の機能とを制御することができる。後者は、設備の通常の動作サイクルに関連する機能である。前者は、設備の操作の結果として、事故やけがを避けるために主に使用される機能である。
【００９５】
原則的に、本発明の方法およびそれに対応するバスメッセージ受信器は、しかし、他の制御システムも使用する事ができる。例えば、専ら安全機能を制御する純粋なセーフティコントローラにも使用することができ、専ら通常の動作機能を制御するコントローラにも使用することができる。
【００９６】
制御システム10は、バス25を介して接続された複数の加入端末を含んで構成されている。加入端末は、少なくとも1つのメッセージ送信器12と、複数のメッセージ受信器18a, 18b、...、18nを含む。
【００９７】
説明を簡単にするために、第１のメッセージ受信部18aと第2のメッセージ受信器18bについて論じる。各メッセージ受信部18a, 18bは、スイッチオン状態とスイッチオフ状態との間で切り替えることができる表示素子15a, 15bを備えている。言い換えれば、第１のメッセージ受信器は、第１の表示素子15aを備え、第2のメッセージ受信器18bは第２の表示素子15bを備える。
【００９８】
各メッセージ受信部18a, 18bは、さらに、表示素子15a, 15bを状態間で切り替える制御信号を生成するための制御ユニット20a, 20bを備えている。言い換えれば、第１のメッセージ受信部18aは第1制御ユニット20aを備え、第2のメッセージ受信器18bは、第2制御ユニット20bを備えている。
【００９９】
制御ユニットによって生成される制御信号は、表示素子15を、スイッチオン状態からスイッチオフ状態に、またはスイッチオフ状態からスイッチオン状態に切り替える。すなわちこの制御信号は、表示素子15a, 15bのオンまたはオフを切り替える。一例として、電流源またはエネルギー源と、これに接続され制御信号によって制御されるスイッチング素子(例えば、トランジスタ)を使用することが可能である。スイッチオン状態では、表示素子は、電流が流れ、光を放出する。スイッチオフ状態では電流が流れず、発光しない。ただし、表示素子を駆動する他の既知の適切な手段を使用することも可能である。
【０１００】
好ましい一実施形態では、表示素子15a, 15bは発光ダイオード(LED)である。これは簡単で安価な診断オプションを可能にする。あるいは、表示素子はスイッチオン状態とスイッチオフ状態を切り替えることができる、表示素子の他の任意のタイプであってもよく、例えば、切り替えの時点で、点滅(twinkle)、および/または閃光することができる光源であってもよい。
【０１０１】
上に所定の各表示素子15をスイッチオン状態およびスイッチオフ状態の間で切り替えるオン／オフ期間Teaは、制御システム10の現在の動作状態、特に制御システムのエラー状態を示している。所定のオン/オフ期間は、したがって、制御システム10で所定の動作状態の指標となる。例えば、ユーザが、互いに点滅、または閃光する表示素子15を観察することによって、単純な「ファーストレベル」診断を実行することができる。複数の動作モードを同時に示すことも当然可能である。
【０１０２】
一例として、第１のオン/オフ期間は点滅の期間であり、第２のオン/オフ期間は閃光期間とすることができる。また一例として、メッセージ受信器セットは、第１の所定のオン/オフ期間を用いて点滅または閃光することができ、メッセージ受信器の第2のセットは、第２のオン/オフ期間を使用して点滅または閃光することができる。第１のオン/オフ期間と第２のオン/オフ期間は、この場合の異なる動作モードを示している。
【０１０３】
図2は、バスメッセージ受信器18の実施形態を示すハウジングの正面図であり、図１のバスメッセージ受信部18a, 18b、...、18nを例にとる。表示素子は、図２に示す例では、発光ダイオードである。表示素子または発光ダイオードは、メッセージ受信器18の筐体19内の対応する切り欠きに配置されている。発光ダイオードは、スイッチオン状態とスイッチオフ状態の間で切り替えることができ、オン/オフ期間の1つまたは複数を用いて点滅または閃光することができる。あるいは、発光ダイオードは恒久的にスイッチオン状態、すなわち恒久的にまたは連続的に光を放出することができる状態であってもよい。第１および第２の発光ダイオードはそれぞれ、図２に示すように、フェイルセーフの部分のための「RUN_FS」と、標準的な部分のための「RUN_ST」とにより、制御システムの動作状態を示している。第3の発光ダイオードは、電源電圧が印加されたときに恒久的にスイッチオン状態(光出射)になる。これを図２に"POWER"で示す。
【０１０４】
図１に戻り、本実施の形態では、メッセージ送信器はヘッダ部12(ヘッダモジュールとも呼ばれる)であり、この場合、フェイルセーフ評価および制御部14を備えている。好ましくは、評価および制御ユニット14は、重複して制御プログラムを実行し、互いを監視する少なくとも二つのプロセッサ部16a、16bを有している。これは、図１で二重矢印17によって簡略化して示す。この場合、「フェイルセーフ」とは、ヘッダ部12が、少なくとも国際IEC 61508標準のSIL2の要件および/またはEN ISO 13849-1規格のPL dまたはそれと同等の要件を満たしていることを意味する。
【０１０５】
図１の実施形態では、メッセージ受信器は、この場合、一連のI/O装置18a, 18b、...、18n(入力/出力モジュールとも呼ばれる)である。I/Oユニット18は、制御システム10が設備の動作に影響を与えるために使用する信号を受信し、出力するために使用される。
【０１０６】
図１に簡略化して示すように、好ましい実施形態では、入出力(I/O)ユニット18はヘッダ部12に、電気的および機械的に接続されている。この場合、I/Oユニットの表示素子15は、互いに物理的に近接して配置するようにされている。人間の目またはユーザの目にとって「同期」した点滅が重要である。他の実施形態では、しかし、I/Oユニット18が、ヘッダ部12から離れて、もしくはヘッダ部12に対応するコントローラから離れて配置されて、通信リンクを介してヘッダ部12と通信するという構成も可能である。以下でより詳細に説明する。
【０１０７】
各I/Oユニット18は、例えば、マイクロコントローラを用いて実現された前述の制御ユニット20を有している。マイクロコントローラの代わりに、制御ユニット20は、より強力なマイクロプロセッサを使用して、または他のロジックチップ(例えばCPLD)を使用して、FPGAのように、ASICとして実装することもできる。
【０１０８】
また、制御ユニット20は、現在のバスメッセージ内のバスメッセージカウンタを評価するとともに、制御信号を生成するための基礎としてこれを利用するように設計されている。言い換えれば、第１の制御ユニット20aは、現在のバスメッセージ内のバスメッセージカウンタを評価するとともに、第1の表示素子15aのための第1の制御信号を生成する基礎としてこれを利用するように設計されている。第2制御ユニット20aは、現在のバスメッセージ内のバスメッセージカウンタを評価するとともに、第2の表示素子15bのための第２の制御信号を生成する基礎としてこれを利用するように設計されている。評価は、この場合には同様に行われる。
【０１０９】
特に、各制御ユニット20a, 20bは、その中に実装された制御アルゴリズム(制御ロジックまたは制御プログラムとも呼ばれる)を持っている。この制御アルゴリズムは、バスメッセージカウンタを評価するために使用される。各制御ユニット20a, 20bの制御アルゴリズムは同じものである。言い換えれば、第１のメッセージ受信部18aの第1の制御ユニット20aは第1制御アルゴリズムを用いてバスメッセージカウンタを評価し、第2のメッセージ受信器18bの第２の制御ユニット20bは第２の制御アルゴリズムを用いてバスメッセージカウンタを評価する。前記第１と第2の制御アルゴリズムは同じである。
【０１１０】
評価の結果または制御アルゴリズムの結果に基づいて、関連する表示素子15a, 15bを制御するための制御信号が生成される。第１の表示素子15aを制御するための制御信号と第2の表示素子15bを制御するための制御信号は、多かれ少なかれ(more or less)同時に生成される。したがって、第1の表示素子15aと第2表示素子15bは、同時に同じ状態(スイッチオンまたはスイッチオフ状態)になる。第１の表示素子15aと第2の表示素子15bは、所定のオン/オフ期間Teaを使用してスイッチオン状態とスイッチオフ状態の間で互いに同期して切り替えされる。つまり、表示素子15a, 15bは、点滅、または閃光する。図３〜図６を参照して以下でより詳細に説明する。
【０１１１】
複数の動作モードを実現するために、第１および第２のメッセージ受信器15a, 15b、すなわちメッセージ受信器の「第１のセット」、第1の所望のオン/オフ期間および/または第1の所望のデューティ比を格納している。すなわち同一である第１の制御アルゴリズムを使用する。また、第3および第4のメッセージ受信器、すなわちメッセージ受信器の「第２のセット」は、第２の所望のオン/オフ期間および/または第２のデューティ比を格納している。第1のオン/オフ期間および、例えばこれと異なる第２のオン/オフ期間を実現するために、第１および第２のメッセージ受信器は、第1の所望のオン/オフ期間を格納し、同じ第１の制御アルゴリズムを使用することができる。第3および第4のメッセージ受信器は、第２の所望のオン/オフ期間を格納し、同じ第２の制御アルゴリズムを使用することができる。
【０１１２】
また、本実施形態では、各I/Oユニット18は、さらに、通信ユニット22(バスインタフェースとも呼ばれる)を備えている。一例として、通信ユニットは、FPGAとして実現されてもよい。あるいは通信ユニットは、より強力なマイクロプロセッサを使用して、または他のロジックチップ(例えばCPLD)を使用して、ASICのようなマイクロコントローラとして実現されてもよい。原則的に、通信ユニット22および制御ユニット20は、共通の通信制御ユニットとして、および/またはマイクロコントローラの適切なプログラミングによって実現される通信ユニット22の機能を形成するために、統合されることも可能である。
【０１１３】
ヘッダ部12およびI/Oユニット18は、前述のバス25を介して相互に接続されている。メッセージ送信器もしくはヘッダ部12は、繰り返される所定のバスメッセージ時間間隔Tbusごとに、バス25を介してそれぞれの現在のバスメッセージを送信するように設計されている。よって、バスメッセージ時間間隔が一定である例として、バスメッセージの「サイクリック」な送信、すなわちサイクリックなバス通信が行われる。
【０１１４】
各バスメッセージは、バスメッセージカウンタを備えている。一例として、各バスメッセージはヘッダデータ(ヘッダとも呼ばれる)と、プロセスデータとを含む。一例として、バスメッセージカウンタは、ヘッダデータの一部であってもよい。バスメッセージカウンタは、所定の値の範囲Wから値Zを有する。バスメッセージが送信されるたびに、メッセージ送信器またはヘッダ部12は、所定の方法での値Zを変化させる。値の範囲の終わりに到達すると、値Zがリセットされる。
【０１１５】
各メッセージ受信器またはI/O部18a, 18bは、バス25から、送られたバスメッセージを受け取る。第１のメッセージ受信器20aの制御ユニット20aおよび第2のメッセージ受信器18bの制御ユニット20bは、現在のバスメッセージのバスメッセージカウンタを多かれ少なかれ同時に受け取る。図１の実施形態では、通信ユニット22a、22bは、それぞれ第1のデータ線26が接続される入力部24a、24bを備える。
【０１１６】
後者は、バスメッセージを受信するために、I/Oユニット18a, 18bで使用される。通信ユニット22a、22bは、現在のバスメッセージを理解し評価し、バスメッセージカウンタのような適切な情報を、制御ユニット20a, 20bに転送することができる。第１および第２のメッセージ受信器18a, 18bの制御ユニット20a, 20bは、したがって、制御アルゴリズムにとって同一の入力変数、例えば、同一のバスメッセージカウンタを持つ。
【０１１７】
図1に示されている実施形態では。通信ユニット22a、22bはさらに、それぞれ、第2のデータ線30a、30bが接続された出力部28a、28bを有している(I/Oユニット部18nの例が図1に示されている)。好ましい実施形態では、第1データ線26a、26bと第2データ線30a、30bはともに、I/Oユニット18のすべての通信チップ22を介してルーティングされるシリアルデータラインを形成する。前記データラインは、I/Oユニット18をヘッダ部12に接続する。一連の最後の通信チップ22から、さらなるデータ線32が、ヘッダ部12の評価・制御ユニット14に戻され、全体としてリング状のバス25が得られる。これにより、ヘッダ部12の評価・制御ユニット14は、I/Oユニット18との通信に使用できる。
【０１１８】
この本発明の方法または制御システムは、ここに示されているリング状のバスに限定されるものではない。それは、同様に、単純なポイント・ツー・ポイント接続、スター型トポロジ、ツリートポロジーまたは線形トポロジなどの、他のバス・トポロジーを採用することができる。
【０１１９】
各メッセージ受信器18は、所定のバスメッセージ時間間隔Tbusと所定の値の範囲Wを格納するメモリを有していてもよい。メッセージ受信器のメモリは、また、所望のオン/オフ期間T*eaおよび/または所望のデューティ比V*(特に１以下)のパラメータを格納してもよい。デューティ比V*は、オン/オフ期間に関連して、スイッチオン状態の期間である。前記パラメータは、ハードコーディングされてもよく、または、メッセージ受信器18が、特にバス通信の動作の前に初期化されるときに、保存される。一例として、所定のバスメッセージ時間間隔Tbusと所定の値の範囲Wは、バス25を通してメッセージ送信器12から受信することができる。あるいは、各メッセージ受信部18もしくはその制御ユニット20は、バスメッセージ時間間隔Tbus自体を確定することができる。その制御ユニット20を介して、定められた期間内にバスメッセージカウンタの数を計数し、前記数と前記所定の期間を使用することによって、バスメッセージ時間間隔Tbusを確認することができる。
【０１２０】
この場合、各通信ユニット22は、制御ユニット20にデータを提供する別の出力部34を有する。通信ユニット22は、制御ユニット20にこのようなバスメッセージカウンタを含むバスメッセージを提供することができる。通信ユニット22が制御ユニット20に一体化されている場合、出力部34は、レジスタ、メモリ領域またはスケジュールの論理データ伝送ポイントであってもよい。
【０１２１】
制御ユニット20は、表示素子のための制御信号を生成するだけではない。制御ユニット20は、さらに、通信ユニット22にデータを送信することができる。通信ユニット22は、制御ユニット20からデータを受信し、そのデータを、出力部28を介して次の通信ユニットに送信されるシリアルデータストリームに統合することができる。したがって、出力34は、双方向の入出力インターフェースであってもよい。
【０１２２】
各I/Oユニット18は、センサおよび/またはアクチュエータを接続できる複数のポート38を有している。一例として、防護扉スイッチ40、光グリッド42、緊急オフ押しボタンスイッチ44、２つの接触器46a、46bをあげることができる。接触器46a、46bは、例えば、防護扉が開かれ防護扉センサ40の信号が出た場合に、制御システム10を介して、電動モータ48への電力の供給を遮断するために使用することができる。センサ40、42、44およびアクチュエータ46、48は、この場合の例として示されている。実際には、例えば、回転速度センサ、温度センサ、位置センサや電磁弁のようなセンサおよび/またはアクチュエータが、さらに制御システム10に接続されてもよい。制御ユニット20は、センサおよび/またはアクチュエータのそれぞれの現在の状態を表しているデータが生成されるように、ポート38へ接続することができる。
【０１２３】
ヘッダ部12の評価・制御ユニット14は、I/Oユニット18を経由して、周期的に繰り返し発生するバスメッセージ時間間隔で、センサやアクチュエータのそれぞれの現在の状態を表すデータを収集することができる。評価・制御ユニット14は、次に、収集されたデータを処理し、これを、I/Oユニット18の制御ユニット20へ送信されるさらなるデータを生成するための基礎とすることができる。一例として、前記さらなるデータは、接触器46によって遮断されたモータ48に電力の供給をもたらすコントロール命令を含んでいてもよい。さらに、データは、I/Oユニット自体の現在の状態に関連する情報、特に、診断情報および/または構成情報を含むことができる。
【０１２４】
ところで、I/Oユニット18に「内部」通信リンクに加えて、制御システム10はまた、図1に両矢印50によって簡略示される外部通信リンクを備えていてもよい。外部通信リンクは、ヘッダ部12が、他のコントローラ52、制御システムなどの他のユニットと通信するために使用するフィールドバスであってもよい。本発明の方法は、I/Oユニット18のヘッダ部12(またはその評価および制御ユニット14)によるサイクリック通信に特に適している。またはそのフィールドバスに使用できる。
【０１２５】
図3〜図6は、それぞれ本発明の方法の様々な実施形態による、表示素子15a, 15bの状態の時間プロファイルを示す。図3a、図4a、図5aおよび図6aは、各時間ごとにバスメッセージカウンタの値Zをプロットしたものである。図3b、図4b、図5bおよび図6bはそれぞれ、第１のメッセージ受信器18aの表示素子15aの状態の時間プロファイルを示す。図3c、図4c、図5cおよび図6cのそれぞれは、第2のメッセージ受信器18bの表示素子15bの状態の時間プロファイルを示す。この場合、関連する表示素子15a, 15bのスイッチオン状態はEで表され、スイッチオフ状態はAで表される。スイッチオン状態の持続時間をTeで示し、スイッチオフ状態の持続期間をTaで示す。期間Teおよび期間Taは決定されたまたは実際のオン/オフ期間Teaを表す。
【０１２６】
図3a、図4a、図5aまたは図6aに示されるように、バスメッセージカウンタは所定の値の範囲Wからの値Zを有する。すなわちバスメッセージカウンタは、W個の異なる値をとることができる。これらの実施形態では、値Zは０からW-1の値をとる。一例として、(最大)値の範囲Wは、16ビットの場合には、バスメッセージカウンタに対して65536となる。
【０１２７】
送信するごとに、すなわちすべてのバスメッセージ時間間隔Tbusの後に(または間隔で)、値Zは、所定の方法で変更される。この実施形態では、送信が(Tbus間隔で)行われるたびに、値Zはゼロから始まり、整数値を1だけインクリメントされる。したがって、値Zは、0、1、2、3、・・・、W-1に対応し、(最大)値の範囲Wに達する。この値の範囲Wの端に到達すると、バスメッセージカウンタの値Zは、この場合初期値ゼロにリセットされる。値の範囲の期間TW(また、オーバフロー周期とも呼ばれる)は、バスメッセージカウンタの値Zが、値の範囲Wをひととおり数え、またはそれを通過するのにかかる時間周期を示している。値の範囲の期間TWは、値の範囲Wとバスメッセージ時間間隔Tbusの積として得られる。図3a、図4a、図5aまたは図6aに見られるように、値の範囲W、したがってまた、値の範囲の期間TWは、一定である。
【０１２８】
図3bと3c、図4bと4c、図5bと5cまたは図6bと6cの比較からも分かるように、第１のメッセージ受信18aの表示素子15aと第2のメッセージ受信器18bの表示素子15bとは、所定のオン/オフ期間Teaにより互いに同期してスイッチオン状態Eとスイッチオフ状態Aの間を切り替えられる。
【０１２９】
表示素子15a, 15bは、このように同時に同一の状態(スイッチオン状態Eまたはスイッチオフ状態A)となる、すなわち互いに同期している。表示素子15a, 15bは、基本的に同じオン/オフ期間Tea(もしくは周波数)と位相とを用いて、スイッチオン状態Eとスイッチオフ状態Aとの間を切り替えられる。表示素子は、このように同じ周波数と位相で点滅、または閃光する。
【０１３０】
図３の実施形態および図５の実施形態では、デューティ比V、スイッチオン状態の期間Teのオン/オフ期間Teaに対する各比率は、1/2である。スイッチオン状態の期間Teとスイッチオフ状態の期間Taは、したがって、この場合も同一である。したがってこれらの各実施形態では、表示素子は、点滅する。
【０１３１】
図４の実施形態および図６の実施形態では、デューティ比V、スイッチオン状態の期間Teのオン/オフ期間Teaに対する比率は、1/2より小さく、この場合例えば1/5である。スイッチオン状態の期間Teはスイッチオフ状態の期間よりも短くなる。したがって、この場合も同一である。したがってこれらの各実施形態では、表示素子は、閃光する。
【０１３２】
図3から図6の各実施形態では、値の範囲の期間TWを、整数個の所定のオン/オフ期間Teaに基づいて分割することができる。この値の範囲の期間TWの、決定されたすなわち実際のオン/オフ期間Teaの整数に基づいた分割によって達成される効果は、オン/オフ期間Teaが整数単位で期間TWに適合すること、したがって余りが出ないことである。値の範囲Wの端に到達すると、オン/オフ期間Tea、点滅、または点滅も、終了する。
【０１３３】
図３および図４の実施形態では、値の範囲の期間TWが(余りなしで)正確に一回のオン/オフ期間Teaで割り切れる。この場合、整数は、１である。
【０１３４】
バスメッセージカウンタの値の範囲Wは、このように１つのオン/オフ期間Teaに分割される。すなわち値の範囲Wはオン/オフ期間Teaに等しい。したがって、1つのオン/オフ期間Teaが値の範囲Wに正確に収まる。値の範囲Wが終わりに達すると、そのオン/オフ期間Tea、点滅、または点滅も終了する。
【０１３５】
図３および図４の実施形態では、実デューティ比Vは、所望のデューティ比V*に、少なくともほぼ(at least approximately)対応する。換言すれば、所望のデューティ比V*を達成することは、少なくともほぼ、可能である。決定されたすなわち実際のオン/オフ期間Teaは、所定の値の範囲Wとバスメッセージ時間間隔Tbusとに依存する。
【０１３６】
図３および図４の実施形態に示すように、値の範囲の期間TWが、オン/オフ期間Teaで、正確に一度(余りなし)で割り切れる場合、評価または制御アルゴリズムは、好ましくは、次のように進めることができる。すなわち、
値の範囲で割ったバスメッセージカウンタの値からモジュロ(modulo)が所定の切換しきい値(change over limit)Uと比較される。モジュロが切換しきい値Uに等しいか、それ以上または以下である場合に、制御信号が生成される。モジュロ(演算子％で示す)は、除算の余りである。この場合、切換しきい値は、値の範囲Wと、所望のデューティ比V*との積である。
【０１３７】
U=W・V*
一例として、この評価もしくは制御アルゴリズムは、以下の擬似コードを用いて記述することができる。
【０１３８】
If(LED==target_twinkling)
{
If(Z％ W<U)
{
LED=on
}
else
{
LED=off
}
}
あるいは、バスメッセージカウンタは、単に所定の切換しきい値Uと比較することができ、バスメッセージカウンタが切換しきい値Uに等しいか、それ以上または以下である場合に、制御信号が生成される。
【０１３９】
図３の実施形態では、切換しきい値Uはしたがって(1/2)Wである。これは表示素子またはLEDが点滅すること(twinkle)を意味している。図４の実施形態では、切換しきい値Uは、(1/5)Wである。これは、ディスプレイ要素またはLEDが閃光(flash)していることを意味する。
【０１４０】
図３または図４の実施形態では、それぞれのオン/オフ期間Teaは、スイッチオン状態Eから始まる。この場合、もしバスメッセージカウンタの値Zが切換しきい値U以上であれば、制御信号Seaが生成され、表示素子15をスイッチオン状態Eからスイッチオフ状態Aにする。スイッチオフ状態Aからスイッチオン状態Eに戻す制御信号Saeは、バスメッセージカウンタの値Zがリセットされたときに生成される。
【０１４１】
より良く理解するために、図3(点滅)および図4(閃光)の例を参照して、バスメッセージカウンタまたは制御アルゴリズムの評価の具体例を説明する。この場合には、バスメッセージカウンタの値の範囲Wは65536とする。したがって、以下のパラメータが得られる。
【０１４２】
W=65536
V*twinkle=1/2
V*flash=1/5
制御ユニットまたはプロセッサへの実装のために、浮動小数点演算を使用しまたは使用せずに、以下の計算が実行される。
【０１４３】
Utwinkle=W・V*twinkle=65536・1/2=32768
Uflash=W・V*flash=65536・1/5=13107.2(浮動小数点演算を使用)または13107(浮動小数点演算を使用せず)
値Zは、0からW-1この場合65535まで、1ずつインクリメントされる。上に示した擬似コードを基にして、したがって、モジュロZ％Wの結果も、0から65535の範囲にある。一方、Z％W(すなわちZ％65536)がU(点滅の値32768)よりも小さい間は、表示素子やLEDがスイッチオンされる。これは擬似コードで、スイッチオン状態を示すLED=onで示されている。
【０１４４】
モジュロZ％Wが切換しきい値U(この場合は点滅の値32768)に等しいか、それより大きくなれば直ちに、表示素子やLEDがオフにされる。これは、擬似コードで、スイッチオフ状態を示すLED=offで示されている。この場合、表示素子をスイッチオン状態からスイッチオフ状態にする制御信号Seaが、信号の変化時(LED=onからLED=off)に生成される。
【０１４５】
図3および図4とは対照的に、図５および図６の実施形態では、値の範囲の期間TWは、オン/オフ期間Teaに等しくなく、むしろの余りなしで割り切れるオン/オフ期間Teaの複数回である。この場合、整数値は、複数(すなわち1を超える)である。値の範囲の期間TWは、このようにオン/オフ期間Teaの整数倍である。よって所定のオン/オフ期間Teaは、値の範囲の期間TWの整数部分となる。バスメッセージカウンタのW値の範囲は、このように複数のオン/オフ期間Teaに分割される。
【０１４６】
図５および図６の実施形態では、整数は４である。しかし、これは、対応する実装に依存していることが理解されるべきである。
【０１４７】
図５および図６の実施形態のように、値の範囲の期間TWが(余りなしで)割り切れる場合、評価または制御アルゴリズムは、好ましくは次のように進行する。整数倍の値によりスケーリング係数Fを定義する。スケーリング係数Fは、好ましくは、値の範囲の期間TWと所望のオン/オフ期間T*eaとの商を求め、その商の丸めることによって、求められる。
【０１４８】
TW=W・Tbus
F=round(TW/T*ea)(浮動小数点演算を持つプロセッサを使用)、または
F=(TW+T*ea/2)/T*ea(小数点演算を浮動せずにプロセッサを使用)
前述したように、切換しきい値は、値の範囲Wの積と、所望のデューティ比V*の積として求められる。
【０１４９】
U=W・V*
バスメッセージカウンタの値Zからのモジュロと、値の範囲Wとスケーリング係数Fとの商、所定の切換しきい値Uとスケーリング係数Fとの商と比較される。モジュロが所定の切換しきい値Uとスケーリング係数Fとの商に等しいか、それ以上または以下である場合に、制御信号が生成される。
【０１５０】
一例として、この評価または制御アルゴリズムは以下の擬似コードを用いて記述することができる。
【０１５１】
If(LED==target_twinkle)
{
If(Z％(W/F)<(U/F))
{
LED=on
}
else
{
LED=off
}
}
この擬似コードを見てわかるように、すべての評価は、表示素子のスイッチオン状態またはスイッチオフ状態を示す信号(LED=オンまたはLED=オフ)の生成につながる。制御信号SeaまたはSaeは信号変化時に生成される。
【０１５２】
図5aおよび図6aから分かるように、値Zは、0からW-1まで１つずつインクリメントされる。Z％(W/F)がU/F小さければ、表示素子またはLEDがオンに切り替えられる。これは擬似コードに、スイッチオン状態を示す信号LED=onによって示されている。
【０１５３】
モジュロZ％(W/F)がU/Fに等しいか、またはそれより大きくなり次第、表示素子またはLEDがオフにされる。これは、擬似コードに、スイッチオフ状態を示す信号LED=offによって示されている。表示素子をスイッチオン状態からスイッチオフ状態にする制御信号Seaは、この場合、信号LED=onから信号LED=offに変わったときに生成される。表示素子をスイッチオフ状態からスイッチオン状態にする制御信号Saeは、信号LED=offから信号LED=onに戻ったときに生成される。
【０１５４】
図５および図６の実施形態では、それぞれのオン/オフ期間Teaはスイッチオン状態Ｅで始まる。この場合、値Zからのモジュロと、値の範囲Wをスケーリング係数Fで割った商とが、切換しきい値Uをスケーリング係数Fで割った商を上回るとき、表示素子15をスイッチオン状態Eからスイッチオフ状態Aにする制御信号Seaが生成される。表示素子15は、モジュロが、切換しきい値Uをスケーリング係数Fで割った商よりも小さい間は、スイッチオン状態Eに戻り、またはモジュロが、切換しきい値Uをスケーリング係数Fで割った商に等しいか、大きいとき、スイッチオフ状態Aに変わる。
【０１５５】
図5または図6の実施形態では、所望のデューティ比V*と所望のオン/オフ期間T*eaとの両方を達成することは、少なくともほぼ(at least approximately)、可能である。この場合は、決定されたすなわち実際のオン/オフ期間Teaは、値の範囲の期間が所望のオン/オフ期間の整数倍ではない場合、所望のオン/オフ期間T*ea異なる可能性がある。このように整数で除算すると、所望のオン/オフ期間T*eaが実際のオン/オフ期間Teaから乖離することなる可能性がある。これは、値の範囲の期間TWに特に依存し、したがって、選択されたバスサイクルタイムTbusおよび/または値の範囲Wに依存する。この乖離はユーザに知覚不可能であるが、通常、数パーセントに達する(例えば1000ミリ秒に対して1100ミリ秒のオン/オフ期間)。同じことが、所望のデューティ比V*の実デューティ比Vからの乖離に適用される。
【０１５６】
整数の除算の結果として生じる実際のオン/オフ期間Teaの、所望のオン/オフ期間T*eaからのパーセンテージ乖離Δ(パーセント％で表示)は次のように計算することができる。
【０１５７】
Δ=[((TW/F)-T*ea)・100]/T*ea
この乖離は比較関与方法(relatively involved method)によって最小化することができる。これは、例えば、バスメッセージカウンタが特定の値を超えた場合に手動でゼロにするなど、値の範囲をカスタマイズすることによって達成することができる。具体的には、新たな値の範囲は、バスメッセージのバスメッセージカウンタの大きさに規定された値の範囲よりも小さくてもよい。この場合、新しい値の範囲は、浮動小数点数として計算した場合、スケーリング係数Fについて、除算の余りなしの値が常に得られるように選択することができる。新しい値の範囲またはオーバーフロー値は、この場合は、明示的にメッセージ受信器に伝達される必要がある。
【０１５８】
純粋な例として、バスメッセージカウンタの大きさは、65536の値の範囲を意味する16ビットであってもよい。これは、バスメッセージカウンタがOから65535までである。値65535がインクリメントされると、値は0に設定される。手動でゼロに設定することは、例えば10000の異なる値をとる範囲10000で行うことができる。この場合、値9999がインクリメントされるとき、手動で0に設定される。
【０１５９】
値の範囲Wは、バスメッセージ時間間隔Tbusに合わせることができる。一例として、値の範囲またはバスメッセージカウンタの大きさを増加または減少させることができる。一例として、非常に短いバスメッセージ時間間隔Tbusおよび/または比較的長いオン/オフ期間Teaにとって、バスメッセージカウンタの大きさは、特にオン/オフ期間Teaが値の範囲の期間TWよりも長くなったときすぐに、増加することができる(例えば16ビットから32ビット)。
【０１６０】
一例として、値の範囲は、値の範囲の期間TWがオン/オフ期間Teaよりも大きいか少なくとも同等であるように、選択することができる。
【０１６１】
特に、バスメッセージ時間間隔(例えば、63μ秒と10ミリ秒との間)の決定された時間範囲をカバーするために、値の範囲Wが、値の範囲の期間TWが常にオン/オフ期間Tea以上か、少なくともそれに等しくなるように選択することができる。一例として、バスメッセージの時間間隔Tbusが32μ秒で、1秒(1000000μ秒)のオン/オフ期間Teaを実現するために、値の範囲は、少なくとも31250である、すなわち、バスメッセージカウンタの大きさが少なくとも15ビットである(32768の値の範囲に相当する)必要がある。
【０１６２】
より良く理解するために、図5(点滅)および図6(点滅)の例を参照して、現在のバスメッセージカウンタまたは制御アルゴリズムの評価の具体例を以下に示す。この場合、バスメッセージカウンタの値の範囲Wは、65536であると仮定する。
【０１６３】
＜計算例１＞
非常に短いバスメッセージ時間間隔Tbusの第１の例。以下のパラメータ値を想定する。
【０１６４】
W=65536
Tbus=63μ秒
V*twinkle=1/2
V*flash=1/5
T*ea=1000000μ秒=1秒
浮動小数点演算を持つプロセッサにより、以下の計算を実行する。
【０１６５】
TW=W・Tbus=65536・63μ秒=4128768μ秒
F=round(TW/T*ea)=round(4128768μ秒/1000000μ秒)=round(4128768)=4
Utwinkle=round(W・V*twinkle)=round(65536・1/2)=32768
Uflash=round(W・V*flash)=round(65536・1/5)=13107
対照的に、小数点浮動演算をしないプロセッサは、以下の計算を実行する。
【０１６６】
TW=W・Tbus=65536・63μ秒=4128768μ秒
F=(TW+T*ea/2)/T*ea=(4128768μ秒+1000000μ秒/2)/1000000μ秒=(4128768μ秒+500000μ秒)/1000000μ秒=4628768μ秒/1000000μ秒=4
Utwinkle=W・V*twinkle=65536/2=32768
Uflash=W・V*flash=65536/5=13107
以下の擬似コードが、第１の例について得られる。
【０１６７】
If(LED==target_twinkle)
{
If((Z％16384)<8192)
{
LED=on
}
else
{
LED=off
}
}
If(LED==target_flash)
{
If((Z％16384)<3276)
{
LED=on
}
else
{
LED=off
}
}
この第１の例で、結果として得られたパーセンテージ乖離は次のようになる。
【０１６８】
Δ％=[((4128768μ秒/4)-1000000μ秒)*100]/1000000μ秒=3.2％
実際の点滅/閃光の、所望の点滅/閃光からの乖離はこの例では小さい。除算の剰余は、非常に多いバスメッセージ時間間隔または非常に多いバスサイクルに分散されるからである。
【０１６９】
＜計算例２＞
非常に長いバスメッセージ時間間隔Tbusの例を掲げる。以下のパラメータ値が想定されている。
【０１７０】
W=65536
Tbus=10000μ秒
V*twinkle=1/2
V*flash=1/5
T*ea=1000000μ秒=1秒
小数点浮動演算をしないプロセッサは、以下の計算を実行する。
【０１７１】
TW=W・Tbus=65536・10000μ秒=655360000μ秒
F=(TW+T*ea/2)/T*ea=(655360000μ秒+500000μ秒)/1000000μ秒=655
Utwinkle=W・V*twinkle=65536/2=32768
Uflash=W・V*flash=65536/5=13107
以下の擬似コードが、第２の例について得られる。
【０１７２】
If(LED==target_twinkle)
{
If((Z％100)<50)
{
LED=on
}
else
{
LED=off
}
}
If(LED==target_flash)
{
If((Z％100)<20)
{
LED=on
}
else
{
LED=off
}
}
この第２の例で、結果として得られたパーセンテージ乖離は次のようになる。
【０１７３】
Δ％=[((655360000μ秒/655)-1000000μ秒)*100]/1000000μ秒=0.055％
実際の点滅/閃光の、所望の点滅/閃光からの乖離はこの例では小さい。除算の剰余は、非常に遅いまたは長いバスメッセージ時間間隔のため、非常に多いバスメッセージ時間間隔または非常に多いバスサイクルに分散されるからである。
【０１７４】
この例では、値の範囲の最後の値が「残り」、すなわち余りが出るという問題が明らかになる。
【０１７５】
この例では、655のオン/オフ期間は、値の範囲の期間に収まるが、最後に分布することができない36の値、すなわちバスサイクルの「残り」が存在する。上の擬似コードから明らかなように、表示素子やLEDが36x10msの間オンにされ、新しい値の範囲の期間が開始するときにもオンにされたままになるだろう。これは、約10分後の、全ての表示素子またはLEDの「同期しゃっくり」につながる可能性がある。この問題は、値の範囲を65500に合わせることによって回避することができる。
【０１７６】
＜計算例３＞
以下の第３の例は、可能な限り最大の乖離を示している。一例として、これは、値の範囲の期間TWを所望のオン/オフ期間T*eaで除算した場合の余りとして、(1/2)T*eaを得る場合である。本具体例では、1秒の所望のオン/オフ期間に対して値の範囲の期間TWが約4.5秒の範囲である場合に、可能な限り最大の乖離が得られる。これは、一定の値の範囲で、バスメッセージ時間間隔Tbusが約69μ秒の場合になる。したがって、以下のパラメータ値が仮定される。
【０１７７】
W=65536
Tbus=69μ秒
V*twinkle=1/2
V*flash=1/5
T*ea=1000000μ秒=1秒
小数点浮動演算をしないプロセッサは、以下の計算を実行する。
【０１７８】
TW=W・Tbus=65536・69μ秒=4521984μ秒
F=(TW+T*ea/2)/T*ea=(4521984μ秒+500000μ秒)/1000000μ秒=5
Utwinkle=W・V*twinkle=65536/2=32768
Uflash=W・V*flash=65536/5=13107
以下の擬似コードが得られる。
【０１７９】
If(LED==target_twinkle)
{
If((Z％13107)<8192)
{
LED=on
}
else
{
LED=off
}
}
If(LED==target_flash)
{
If((Z％13107)<3276)
{
LED=on
}
else
{
LED=off
}
}
この例で、結果として得られたパーセンテージ乖離は次のようになる。
【０１８０】
Δ％=[((4521984μ秒/5)-1000000μ秒)*100]/1000000μ秒=-9.56％
この場合、実際のオン/オフ期間Teaは、所望のオン/オフ期間のT*eaの1000ミリ秒でなく、このように約904ミリ秒になる。このような小さな乖離は、しかし実際に現れてこないものである。
【０１８１】
＜計算例４＞
再び乖離につていて、実質的な問題を少し明確化するために、値の範囲の期間TWの制限、この特定の場合の4.5秒の制限について、考察する。以下のパラメータ値が想定されている。
【０１８２】
W=65536
Tbus=68μ秒
V*twinkle=1/2
V*flash=1/5
T*ea=1000000μ秒=1秒
浮動小数点演算のないプロセッサは、以下の計算を実行する。
【０１８３】
TW=W・Tbus=65536・68μ秒=4456380μ秒
F=(TW+T*ea/2)/T*ea=(4456380μ秒+500000μ秒)/1000000μ秒=4
Utwinkle=W・V*twinkle=65536/2=32768
Uflash=W・V*flash=65536/5=13107
以下の擬似コードが得られる。
【０１８４】
If(LED==target_twinkle)
{
If((Z％13107)<8192)
{
LED=on
}
else
{
LED=off
}
}
If(LED==target_flash)
{
If((Z％13107)<3276)
{
LED=on
}
else
{
LED=off
}
}
この例で、結果としてパーセンテージ乖離が次のように得られる。
【０１８５】
Δ％=[((4456380μ秒/4)-1000000μ秒)*100]/1000000μ秒=11.41％
この場合、実際のオン/オフ期間Teaは、所望のオン/オフ期間のT*eaの1000ミリ秒でなく、このように約1114ミリ秒になる。
【０１８６】
なお、これらの計算例１から計算例４に示した63μ秒と10ミリ秒との間のバスメッセージ時間間隔で、乖離が12.5％を超えることはないこと、バスメッセージの最大の時間間隔は68.66μ秒であることに留意すべきである。より長いバスメッセージ時間間隔の場合には、パーセンテージ乖離は、「ジグザグ」の実施態様で、徐々に小さくなる。
【図１】
0006257101.tif 000002
【図２】
0006257101.tif 000003
【図３】
0006257101.tif 000004
【図４】
0006257101.tif 000005
【図５】
0006257101.tif 000006
【図６】
0006257101.tif 000007