(57)【特許請求の範囲】
【請求項１】
ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置において、
任意の時刻で送信要求を発生する非定周期送信部と、定周期で送信要求を発生する定周期送信部と、前記非定周期送信部と前記定周期送信部の送信データを前記ネットワークと通信する通信部と、前記定周期送信部の送信内容を前記通信部に伝送し、送信要求のある前記非定周期送信部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、前記非定周期送信部の送信内容を前記通信部に伝送するスケジュール部とを備え、前記スケジュール部は前記非定周期送信部と前記定周期送信部の送信データを前記通信部に転送するリアルタイム処理部を含み、前記通信処理時間は前記リアルタイム処理部の処理時間と前記通信部での処理時間の和として前記非定周期送信部からの送信要求の都度求めていることを特徴とする通信制御装置。
【請求項２】
請求項１記載の通信制御装置において、
前記スケジュール部は、送信要求のある前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記非定周期送信部の送信内容を前記通信部に伝送することを特徴とする通信制御装置。
【請求項３】
請求項１または請求項２記載の通信制御装置において、
前記スケジュール部は、送信要求のある前記非定周期送信部の通信処理時間Ｔｐを、前記リアルタイム処理部での送信データのデータサイズと処理性能から計算した処理時間Ｔｒと、前記通信部での処理時間Ｔｅの和として求めることを特徴とする通信制御装置。
【請求項４】
請求項３記載の通信制御装置において、
ネットワークの通信プロトコルに従ったヘッダデータを送信データに付与する場合、その処理時間を考慮して前記処理時間Ｔｒを得ることを特徴とする通信制御装置。
【請求項５】
請求項１から請求項４のいずれかに記載の通信制御装置において、
定周期送信部は、通信制御装置から制御装置に与える制御指令を取り扱い、非定周期送信部は通信制御装置から制御装置に対する管理情報や稼働情報の取得要求等を取り扱うことを特徴とする通信制御装置。
【請求項６】
ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置において、
任意の時刻で送信要求を発生する不定期的信号送信部と、定周期で送信要求を発生する定周期送信部と、前記不定期的信号送信部と前記定周期送信部の送信データを前記ネットワークと通信する通信部と、前記定周期送信部の送信内容を前記通信部に伝送し、送信要求のある前記不定期的信号送信部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、前記不定期的信号送信部の送信内容を前記通信部に伝送するスケジュール部とを備え、前記スケジュール部は前記不定期的信号送信部と前記定周期送信部の送信データを前記通信部に転送するリアルタイム処理部を含み、前記通信処理時間は前記リアルタイム処理部の処理時間と前記通信部での処理時間の和として前記不定期的信号送信部からの送信要求の都度求めていることを特徴とする通信制御装置。
【請求項７】
請求項６に記載の通信制御装置において、
前記定周期送信部は、通信制御装置から制御装置に与える制御指令を取り扱い、前記不定期的信号送信部は、通信制御装置から制御装置に対する管理情報や稼働情報の取得要求等を取り扱う非定周期送信部と、前記定周期送信部による制御指令の送信失敗を検出して、制御指令を再送信する再送部を備えることを特徴とする通信制御装置。
【請求項８】
請求項７に記載の通信制御装置において、
非定周期送信部からの送信に優先して再送部からの送信を行わせることを特徴とする通信制御装置。
【請求項９】
ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置において、
任意の時刻で送信要求を発生する非定周期送信部と、定周期で送信要求を発生する定周期送信部と、前記非定周期送信部と前記定周期送信部の送信データを前記ネットワークと通信する通信部と、前記定周期送信部または前記非定周期送信部の送信内容を前記通信部に伝送するスケジュール部と、前記定周期送信部の送信データが通信制御装置で正常に送信されたかを判定する異常判定部と、該異常判定部が通信異常と判定したときに前記定周期送信部の送信内容を再送する再送部とを備え、
前記スケジュール部は、前記定周期送信部の送信内容を前記通信部に伝送し、送信要求のある前記非定周期送信部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、送信要求のある前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記非定周期送信部の送信内容を前記通信部に伝送し、
送信要求のある前記再送部の通信処理に要する通信処理時間を演算し、前記定周期送信部の前記定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、送信要求のある前記再送部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記再送部の送信内容を前記通信部に伝送し、
前記スケジュール部は前記非定周期送信部と前記定周期送信部の送信データを前記通信部に転送するリアルタイム処理部を含み、前記通信処理時間は前記リアルタイム処理部の処理時間と前記通信部での処理時間の和として前記非定周期送信部からの送信要求または前記再送部からの再送要求の都度求めていることを特徴とする通信制御装置。
【請求項１０】
請求項９記載の通信制御装置において、
前記スケジュール部は、前記定周期送信部の送信内容を前記通信部に伝送し、
前記再送部からの送信要求があるとき、送信要求のある前記再送部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満であれば前記再送部の送信内容を前記通信部に伝送し、
前記非定周期送信部からのみ送信要求があるとき、前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満であるとき、前記非定周期送信部の送信内容を前記通信部に伝送することを特徴とする通信制御装置。
【請求項１１】
請求項９乃至請求項１０記載の通信制御装置において、
前記スケジュール部は、前記定周期送信部の送信内容を前記通信部に伝送し、
送信要求のある前記再送部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満のとき、前記再送部の送信内容を前記通信部に伝送し、
送信要求のある前記非定周期送信部の通信処理時間が前記定周期送信部の前記定周期の残り時間未満で、かつ、所定回数再送されたとき、前記非定周期送信部の送信内容を前記通信部に伝送することを特徴とする通信制御装置。
【請求項１２】
請求項９乃至請求項１１のいずれか記載の通信制御装置において、
前記異常判定部は、定周期送信後、所定時間経過する迄に前記制御装置からの確認応答がない場合に異常と判定することを特徴とする通信制御装置。
【請求項１３】
請求項９乃至請求項１２のいずれかに記載の通信制御装置において、
所定回数分の定周期内で前記非定周期送信部の送信内容が前記通信部に伝送されないときに、前記非定周期送信部の送信内容を消去することを特徴とする通信制御装置。
【請求項１４】
ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置のための通信制御方法において、
前記通信制御装置は、定周期で送信要求を発生し定周期送信信号を与える定周期送信部と、任意の時刻で送信要求を発生し非定周期送信信号を与える非定周期送信部と、前記非定周期送信部と前記定周期送信部の送信データを、スケジュール部を介して前記ネットワークと通信する通信部とを備え、
一定周期ごとに前記定周期送信信号を送信し、任意の時刻で発生する前記非定周期送信信号を送信するときには、当該一定周期内において前記非定周期送信信号の送信要求がある時刻から、次回の一定周期が開始されるまでの第１の残余の時間と、前記非定周期送信信号を送信するに要する時間を求め、第１の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信するとともに、前記非定周期送信信号を送信するに要する時間は、前記通信制御装置の内部において前記非定周期送信信号をスケジュール部を介して前記ネットワークと通信する通信部に転送する処理に要する時間とすることを特徴とする通信制御方法。
【請求項１５】
請求項１４に記載の通信制御方法において、
前記非定周期送信信号の送信要求が発生した前記一定周期内に、前記非定周期送信信号を送信するに十分な前記第１の残余の時間がない場合には、次回以降の一定周期内において、前記一定周期から前記定周期送信信号の送信に要した時間を差し引いた第２の残余の時間と、前記非定周期送信信号を送信するに要する時間を確認して前記非定周期送信信号の送信を行うことを特徴とする通信制御方法。
【請求項１６】
請求項１４または請求項１５に記載の通信制御方法において、
前記定周期送信信号は、前記制御装置に動作指示を与えるための制御信号であり、任意の時刻で発生する非定周期送信信号は前記制御装置の管理に関する信号であることを特徴とする通信制御方法。
【請求項１７】
ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置のための通信制御方法において、
前記通信制御装置は、定周期で送信要求を発生し定周期送信信号を与える定周期送信部と、前記定周期送信部の送信データを、スケジュール部を介して前記ネットワークと通信する通信部とを備え、
一定周期ごとに前記定周期送信信号を送信し、当該定周期送信信号の送信に失敗したときには、当該失敗を検知した時刻から次回の一定周期が開始されるまでの第３の残余の時間と、前記定周期送信信号を再送信するに要する時間を求め、第３の残余の時間内に再送信完了できることを確認してから定周期送信信号を再送信するとともに、前記定周期送信信号を再送信するに要する時間は、前記通信制御装置の内部において前記定周期送信信号をスケジュール部を介して前記ネットワークと通信する通信部に転送する処理に要する時間とすることを特徴とする通信制御方法。
【請求項１８】
請求項１７に記載の通信制御方法において、
任意の時刻で発生する非定周期送信信号を送信するときには、当該一定周期内において前記非定周期送信信号の送信要求がある時刻から、次回の一定周期が開始されるまでの第１の残余の時間と、前記非定周期送信信号を送信するに要する時間を求め、第１の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信することを特徴とする通信制御方法。
【請求項１９】
請求項１８に記載の通信制御方法において、
同一の一定周期内に前記定周期送信信号の再送信要求と、非定周期送信信号の送信要求があるときには、前記定周期送信信号の再送信を優先し、非定周期送信信号の送信は、次回以降の前記一定周期内に行うことを特徴とする通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置に関し、特に定周期で定周期信号を送信しながら、非定周期に発生する非定周期信号を送信し、あるいは送信失敗のときに定周期信号を再送信することに関する。
【背景技術】
【０００２】
制御システムとして、単一、または複数の通信制御装置が、ネットワークを介して単一または複数の制御装置を制御する構成がある。通信制御装置は、ネットワークを介して制御指令等を制御装置へ送信する。このような制御システムに用いられるネットワークには、Ｅｔｈｅｒｎｅｔ（登録商標）、ＲＳ−２３２Ｃ、ＲＳ−４２２、ＲＳ−４８５、ＣＡＮ（登録商標）、ＤｅｖｉｃｅＮｅｔ、産業用Ｅｔｈｅｒｎｅｔ等がある。
【０００３】
ネットワークで複数の制御装置が接続されて構成される制御システムでは、適用対象によって各制御装置が同期して動作することが求められる。同期して動作するとは、各制御装置が、制御システムに共通の制御則にのっとり、かつ、制御則の演算に用いられる各制御装置のセンサ入力のタイミング、制御則から導出されたアクチュエータ出力のタイミングが制御装置によって、ずれが生じないことである。このように、ネットワークで複数の制御装置が接続されて構成される制御システムでは、同期精度を確保する必要性がある。
【０００４】
同期精度の必要性を示す事例として、例えば、複数の関節で構成される産業用ロボットアームにおいて、各関節がサーボモータで構成される場合、各サーボモータの動作が同期していなければ、所望のロボットアームの軌跡を得ることはできない。あるいは、複数のサーボモータで構成される工作機械の場合、各サーボモータの同期精度に依存して、加工精度が変化する。制御システムに求められる制御性能が高くなるほど、各制御装置間の高い同期精度が求められる。
【０００５】
制御システムを構成する各制御装置を同期して動作させるために、リアルタイム通信プロトコルや時刻同期プロトコルの技術発展があった。
【０００６】
このうち、時刻同期プロトコルでは、通信制御装置、制御装置間で時刻情報や通信遅延等の情報を送受信することで、それぞれの時刻を同期させる。また、このとき、時刻同期プロトコルを実現するためには、通信遅延が一定であることが望ましく、通信遅延の揺らぎが小さいことが求められる。
【０００７】
そのため、時刻同期プロトコルの実現においては、一般にリアルタイム通信プロトコルが適用される。これらのリアルタイム通信プロトコルや時刻同期プロトコルは、その技術を組み合わせて適用することで、各制御装置の時刻を同期させることができる。
【０００８】
以上の説明は、制御システムを構成する制御装置側での時刻同期の必要性とその対策手法について述べたものであるが、他方において、制御装置と通信する通信制御装置側についても考慮する必要がある。これは、通信制御装置の送信タイミングの精度を確保することである。
【０００９】
時刻同期プロトコルを適用し、同期された時刻に基づいて各制御装置が動作する場合、各制御装置の同期精度に加えて、通信制御装置における制御指令の送信タイミングにおいても、高い周期精度が求められる。例えば、通信制御装置と各制御装置間の通信遅延が異なる場合、制御装置ごとに通信制御装置からの制御指令を同一制御周期内で受信できるか否かが異なる。
【００１０】
このことを図２の具体例で説明する。図２の横軸には時間ｔを、縦には通信制御装置と、通信制御装置からの信号を受信する制御装置１２１が記載されている。これらの通信制御装置と制御装置１２１の間には、先に説明した時刻同期プロトコルを適用し、同期された時刻Ｔａ１、Ｔａ２に基づいて動作し、一定の制御周期Ｔ内で所定の処理を実行している。
【００１１】
ここで、通信制御装置は各制御周期Ｔ内で制御装置１２１に対して信号送信するものとし、その送信タイミングがｔ１、ｔ２であったとする。また、通信制御装置と制御装置１２１ａ、１２１ｂ、１２１ｃの間での通信遅延時間は、それぞれΔｔａ、Δｔｂ、Δｔｃであったとする。
【００１２】
この結果、図示の例では、送信タイミングがｔ１の信号を、制御装置１２１ｂと１２１ｃは、時刻Ｔａ１で始まる制御周期内で受信し、制御装置１２１ａは、その前の制御周期内で受信している。各制御装置における受信時の制御周期は、送信タイミングがｔ２の信号のときには、また違った様相を呈する。このときには、制御装置１２１ｃは時刻Ｔａ２で始まる制御周期内で受信し、制御装置１２１ａ、１２１ｂは、その前の時刻Ｔａ１で始まる制御周期内で受信している。
【００１３】
そのため、時刻Ｔａ１の送信信号に対しては、制御装置１２１ａと制御装置１２１ｂ、ｃは、異なる制御指令に基づいて動作している。また時刻Ｔａ２の送信信号に対しては、制御装置１２１ａ、１２１ｂと、制御装置１２１ｃは、異なる制御指令に基づいて動作している。更にその上、この関係は、通信制御装置からの送信タイミングに左右される。これは結果的に、制御システムの性能低下を招く。
【００１４】
また、ネットワークを利用する時間を制御装置ごとに時分割で配分する時分割ネットワーク方式の場合、一般に通信制御装置からの同期指令に基づいて制御周期を規定する方法がとられる。この場合は、通信制御装置における制御指令の送信タイミングの周期精度は、直接、制御周期の精度に影響する。通信制御装置の送信タイミングの周期精度が悪く、通信周期のゆらぎが大きければ、制御システムの制御周期が短くなる場合や長くなる場合が生じるため、制御システムの制御性能が低下する。
【００１５】
通信制御装置と制御装置が、ネットワークを介して接続されて所定の制御を実行する制御システムでは、以上述べた同期精度並びに通信制御装置の送信タイミング精度を確保しておく必要があるが、これが確保されたとしてもさらに以下のような影響要因を考慮する必要がある。
【００１６】
その一つ目は、非制御指令による影響である。通信制御装置と制御装置の間では種々の信号や情報がやり取りされる。その典型的なものが制御指令であり、制御指令に対して同期精度や送信タイミング精度を確保することで、末端のアクチュエータでの動作タイミングが同期化できる。
【００１７】
非制御指令とは、制御指令以外の信号や情報であり、通信制御装置から制御装置に対する管理情報や稼働情報の取得要求等である。これらは、高い周期精度は求められないが、制御システムを実行する上で必要な指令である。この非制御指令は、制御周期内の適宜のタイミングで通信制御装置から送出されるが、通信制御装置において、非制御指令の送信タイミングが、制御指令の送信タイミングの直前であった場合、制御指令の送信タイミングが遅れる可能性がある。
【００１８】
二つ目は、再送の影響である。再送は、ネットワーク上でのパケットロスを考慮してなされるもので、受信が何らかの理由により不完全であった場合に行われる。再送は、通信制御装置から制御装置へのデータ伝達性を向上させるために有用である。特に、ネットワークの物理メディアにおいては、所定のビットエラーレートが存在し、全てのパケットを確実に送信することは現実的に不可能である。そのため、高い信頼性を求められるシステムなどでは、再送機能は必須である。
【００１９】
この再送処理が実施されると、非制御指令にとどまらず、制御指令自身の再送についても、制御指令の送信タイミングを遅らせる原因となりうる。再送の送信タイミングが、制御指令の送信タイミングの直前であった場合、制御指令の送信タイミングが遅れる可能性がある。
【００２０】
この非制御指令と再送の影響に対して、時分割ネットワーク方式では、専用のネットワーク利用時間枠を設けて対処する。この場合、非制御指令、再送を該時間枠で通信することで、制御指令の送信タイミングの周期精度への影響を除去することができる。
【００２１】
しかしながら、この方法では、非制御指令、再送が存在しない場合でも、専用の時間枠を割り当てなければならず、無駄なネットワーク帯域を消費することとなる。特に、該時間枠の影響により、通信周期が長くなるため、結果的に制御周期が長くなる可能性がある。制御周期は長くなればなるほど、一般に制御性能は低下するため、望ましくない。
【００２２】
また、非制御指令では、その性質上、データサイズが一意に決まらないため、非制御指令用の時間枠を一意に決定することができない。したがって、最悪値を想定し、該時間枠は長くなる傾向にあり、結果的に制御周期は、より長くなる可能性がある。また、最大値を決め、非制御指令を分割する構成とした場合でも、分割処理、結合処理が必要となり、追加の処理が必要となる。これにより、ハードウェア、ソフトウェア等の計算機資源を消費する課題が生じる。
【００２３】
上記したように、ネットワークで接続された通信制御装置と制御装置において、制御装置に対する管理情報や稼働情報の取得要求等の非制御指令あるいは制御指令の再送の送信タイミングによって、制御指令の送信タイミングが遅れる。
【００２４】
これらの非制御指令あるいは再送指令は、制御指令が一定周期で送信されるのに対して、不定期的に送信要求が発生し、送信周期の余剰時間を利用して送信される。このため、送信を行う上では、制御指令が定周期信号として取り扱われるのに対し、非制御指令あるいは再送指令は、不定期的に送信要求が発生することから不定期的信号と呼ぶべきものである。また、非制御指令については、制御指令を定周期信号として取り扱ったことに対して、非定周期信号と呼称することにする。
【００２５】
この不定期的信号のうち、再送指令の取り扱いについて、特許文献１では送信データのリアルタイムレベルや信頼レベルに応じた再送回数で再送を実施している。また特許文献２では、再送処理の時間が時限値を超えた場合に、再送対象のパケットを廃棄して再送を中止することとしている。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特開２００７−１５８４９５号公報
【特許文献２】特開平１１−３３１２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００２７】
本発明は、ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置であり、同期精度並びに通信制御装置の送信タイミング精度の確保を大前提としている。然るところ、特許文献１、特許文献２は再送を実施し、あるいは再送を中止してはいるが、ここでの通信は同期精度の向上、周期短縮を意図していない。特許文献２は定周期送信ですらない。
【００２８】
本発明は、制御指令の一定周期での送信に影響させずに、不定期的信号を送信可能とする通信を行える通信制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２９】
本発明の通信制御装置は、上記課題を解決するために、ネットワークを介して、ひとつ
または複数の制御装置と通信する通信制御装置において、
任意の時刻で送信要求を発生する非定周期送信部と、定周期で送信要求を発生する定周期送信部と、非定周期送信部と定周期送信部の送信データをネットワークと通信する通信部と、定周期送信部の送信内容を通信部に伝送し、送信要求のある非定周期送信部の通信処理に要する通信処理時間を演算し、定周期送信部の定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、非定周期送信部の送信内容を通信部に伝送するスケジュール部とを有する。
【発明の効果】
【００３０】
制御性能を向上した通信制御装置を提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明によるスケジュール部の実行手順を示す図。
【図２】通信制御装置と制御装置間の信号送受信タイミングを示した図。
【図３】本発明を適用し得る制御システムの一例を示す図。
【図４】本発明を適用し得る制御システムの他の一例を示す図。
【図５】通信制御装置のハードウェア構成の一例を示す図。
【図６】通信用ＬＳＩの機能構成を示す図。
【図７】長期間未送信となるときの動作手順を示した図。
【図８】データ処理時間推定部の処理時間の推定方法を示した図。
【図９】送信データのスケジューリングを時間軸で示した図。
【図１０】送信データのスケジューリングを時間軸で示した図。
【図１１】通信用ＬＳＩの機能構成を示す図。
【図１２】再送を行うときのスケジュール部の実行手順を示す図。
【図１３】再送優先とするときのスケジュール部の実行手順を示す図。
【図１４】送信データのスケジューリングを時間軸で示した図。
【図１５】送信データのスケジューリングを時間軸で示した図。
【図１６】通信制御装置のハードウェア構成の一例を示す図。
【図１７】ＣＰＵ上で動作するソフトウェア構成を示す図。
【発明を実施するための形態】
【００３２】
以下本発明の実施例について図面を用いて詳細に説明する。なお、実施例１は、定周期信号に対する不定期的信号の取り扱いとして、非定周期信号の取り扱いについて説明する。実施例２では、非定周期信号に加えてさらに再送も行う場合の取り扱いについて説明する。実施例３では、汎用的なハードウェアを用いて、ソフトウェアを中心に本発明を実施する構成について説明する。
【実施例１】
【００３３】
図３、図４は、本発明を適用した通信制御装置１２０を用いて構成する制御システムの一例を示している。図３と図４では、ネットワーク１２２の構成が相違するが、本発明は他の構成のネットワークでも適用可能である。
【００３４】
これらの図において、通信制御装置１２０は、本発明を適用しており、ネットワーク１２２を構成する各制御装置１２１に対して、制御指令、管理情報等を送受信する。
【００３５】
制御装置１２１は、通信制御装置１２０の制御指令を受信して制御処理を実行する。また、必要に応じて、通信装置に対して計測情報、管理情報等を通信する。なお、制御装置１２１として、サーボアンプとサーボモータによる構成が例示されている。
【００３６】
ネットワーク１２２は、通信制御装置１２０ならびに制御装置１２１を接続する。ネットワーク１２２の具体例として、Ｅｔｈｅｒｎｅｔ（登録商標）、ＩＥＣ６１７８４で定義される産業用Ｅｔｈｅｒｎｅｔ、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：登録商標）、  ＤｅｖｉｃｅＮｅｔ、ＲＳ−２３２Ｃ、ＲＳ−４２２、ＲＳ−４８５等が挙げられる。本実施例では、ネットワーク１２２として、ＥｔｈｅｒＣＡＴ（ＩＥＣ６１７８４パート２のＣｏｍｍｕｎｉｃａｔｉｏｎ  Ｐｒｏｆｉｌｅ  Ｆａｍｉｌｙ  １２：  登録商標）を例に説明する。
【００３７】
図５に、本発明を適用した通信制御装置１２０のハードウェア構成の一実施形態を示す。通信制御装置１２０は、ネットワーク１２２に接続される物理層１５２と、内部のバス１５５に接続されたＣＰＵ１５０、メモリ１５３、不揮発性記録媒体１５４、通信用ＬＳＩ１５１などで構成されている。
【００３８】
このうち、ＣＰＵ１５０は、不揮発性記憶媒体１５４からプログラムをメモリ１５３に転送して所定の処理を実行する。実行処理プログラムとしては、ＯＳや、ＯＳ上で動作するアプリケーションプログラムが例示される。
【００３９】
通信用ＬＳＩ１５１は、ＣＰＵ１５０上で動作するプログラムから送信要求、送信データを受け取り、物理層１５２を用いてネットワーク１２２に対して送信する。また、ネットワーク１２２から受信したデータを、バス１５５を介してＣＰＵ１５０、メモリ１５３、不揮発性記憶媒体１５４へ転送する。通信用ＬＳＩ１５１の詳細については図６を用いて後述する。通信用ＬＳＩ１５１の実装例としては、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ゲートアレイ等のＩＣが例示される。あるいは、ＣＰＵ１５０と一体化して構成されてもよい。
【００４０】
物理層１５２は、ネットワーク１２２との通信機能を実装した送受信機ＩＣである。物理層１５２の提供する通信規格として、ＥｔｈｅｒｎｅｔのＰＨＹ（物理層）チップが例示される。なお、図５の構成では、物理層１５２と通信用ＬＳＩ１５１が接続しているので、ＥｔｈｅｒｎｅｔのＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層の処理は、通信用ＬＳＩ１５１に含まれる。ただし、ＭＡＣ機能を提供するＩＣを通信用ＬＳＩ１５１と物理層１５２間に配置する構成や、ＭＡＣ機能を提供するＩＣと物理層１５２を組み合わせた通信用ＩＣと通信用ＬＳＩ１５１を接続する構成においても、本発明の効果は失われるものではない。
【００４１】
図５の構成では、物理層１５２が通信用ＬＳＩ１５１外にあるため、ＭＡＣ層の該当する通信用ＬＳＩ１５１の処理部は、後で説明する図６の通信部１１２に相当する。ただし、通信用ＬＳＩ１５１をＭＡＣ層、物理層を含めたＥｔｈｅｒｎｅｔ通信デバイスとしてもよいし、また、物理層機能まで含めて通信用ＬＳＩ１５１に包含してもよい。
【００４２】
メモリ１５３は、ＣＰＵ１５０が動作するための一時的な記憶領域であり、不揮発性記憶媒体１５４から転送したＯＳ、アプリケーションプログラム等が格納される。
【００４３】
不揮発性記憶媒体１５４は、情報の記憶媒体で、ＣＰＵ１５０を動作させるためのプログラムの保存、プログラムの実行結果の保存に利用される。
【００４４】
バス１５５は、ＣＰＵ１５０、メモリ１５３、不揮発性記憶媒体１５４、通信用ＬＳＩ１５１をそれぞれ接続する。バス１５５としては、ＰＣＩバス、ＩＳＡバス、ＰＣＩ  Ｅｘｐｒｅｓｓバス、システムバス、メモリバス等が例示される。
【００４５】
図６は、通信用ＬＳＩ１５１の機能構成の一実施形態である。通信用ＬＳＩ１５１は、以下詳細に説明するように定周期送信部１１５と、非定周期送信部１１４を備えており、これらを適宜使用して送信を実行する。
【００４６】
図６において、通信部１１２は、ネットワーク１２２に接続し、ネットワーク１２２の通信プロトコルにしたがって通信をするための機能部である。送信部１１０は、通信部１１２における送信機能部であり、通信制御装置１２０からネットワーク１２２に対してパケットを送信する。受信部１１１は、通信部１１２における受信機能部であり、ネットワーク１２２から送信されたパケットを受信する。
【００４７】
配信部１１３は、図５のバス１５５に接続され、ＣＰＵ１５０上で動作するプログラムから送信要求や、送信データを受け取る。具体的には、通信用ＬＳＩ１５１に入力されたデータを、所定の方法によって識別し、非定周期送信部１１４、あるいは定周期送信部１１５、あるいは非定周期送信部１１４と定周期送信部１１５の両方に配信する。
【００４８】
配信先の機能部を決定する識別方法は、ＣＰＵ１５０からの入力データの所定の位置に識別子を表現する方法や、通信用ＬＳＩ１５１に入力する際に識別子を指定する方法が例示される。後者の具体例としては、通信用ＬＳＩ１５１をＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｂｕｓ）デバイスとして構成した場合に、ＰＣＩバス空間に提示するアドレス空間によって区別する方法や、通信用ＬＳＩ１５１へのバースト転送要求を異なるレジスタにもうけて区別する方法が例示される。
【００４９】
識別手法としては、上記いずれであってもよいが、配信部１１３は、要するに入力データが非制御指令であれば非定周期送信部１１４に配信し、入力データが制御指令であれば定周期送信部１１５に配信する。入力データが非制御指令と、制御指令を含む場合、それぞれを非定周期送信部１１４、定周期送信部１１５に配信する。
【００５０】
非定周期送信部１１４は、通信制御装置１２０から制御装置１２１に対する管理情報や稼働情報の取得要求等の、定周期で送信する必要のない非制御指令を格納する機能部である。配信部１１３から、非定周期送信データを受け取って、スケジュール部１１７へ送信要求を通知し、スケジュール部１１７から送信を許可された場合に非定周期送信データをスケジュール部１１７へ転送する。
【００５１】
非定周期データの送信要求は、任意のタイミングで発生し、また、データサイズについても任意である。
【００５２】
なお、非定周期送信部１１４内での非定周期送信データの形式は、データのみの形式でもよいし、ネットワーク１２２の通信プロトコルにしたがうようにヘッダ等を付与した形式でもよい。データのみの形式で管理する場合は、ヘッダ等の情報を通信部１１２で付与してもよいし、スケジュール部１１７で付与してもよい。
【００５３】
また、ネットワーク１２２の通信プロトコルにしたがった形式で管理する場合は、配信部１１３から該形式で受信してもよいし、配信部１１３からはデータだけを受信し、非定周期送信部１１４内でネットワーク１２２の通信プロトコルにしたがうようにヘッダを付与してもよい。
【００５４】
定周期送信部１１５は、通信制御装置１２０から制御装置１２１に対する動作指令や計測情報の取得要求等の、定周期で送信する制御指令を格納する機能部である。配信部１１３から、定周期送信データを受け取って、スケジュール部１１７へ送信要求を通知し、スケジュール部１１７から送信を許可された場合に定周期送信データをスケジュール部１１７へ転送する。
【００５５】
定周期データの送信要求は、所定の周期で発生する。データサイズについては周期ごとに変化してもよい。
【００５６】
制御指令を送信する周期は、タイマ１１６を用いて管理する。
【００５７】
なお、定周期送信部１１５内での定周期送信データの形式は、データのみの形式でもよいし、ネットワーク１２２の通信プロトコルにしたがうようにヘッダ等を付与した形式でもよい。データのみの形式で管理する場合は、ヘッダ等の情報を通信部１１２で付与してもよいし、スケジュール部１１７で付与してもよい。
【００５８】
また、ネットワーク１２２の通信プロトコルにしたがった形式で管理する場合は、配信部１１３から該形式で受信してもよいし、配信部１１３からはデータだけを受信し、定周期送信部１１５内でネットワーク１２２の通信プロトコルにしたがうようにヘッダを付与してもよい。
【００５９】
図６の時刻管理部１１６は、通信用ＬＳＩ１５１内で時間を管理する機能部である。定周期送信部１１５、スケジュール部１１７へ時間情報を配信する。このとき、時間情報の配信は、現在時刻を通知してもよいし、あるいは所定の周期が経過したことを通知してもよい。あるいは、スケジュール部１１７から所定の時刻情報を入力されて、現在時刻との差分をスケジュール部１１７へ通知してもよい。
【００６０】
また、時刻管理部１１６の管理する時刻は、定周期を管理するためのタイマとして、相対的な時刻であってもよいし、ネットワーク１２２で接続された他の制御装置、あるいはバス１５５に接続された他のハードウェアと同期された時刻でもよいし、あるいはグリニッジ標準時やＧＰＳ時刻といった基準となっている時刻でも構わない。また、ＣＰＵ１５０上で動作するアプリケーションから設定、取得できるようになっていても構わない。
【００６１】
スケジュール部１１７は、送信要求のある非定周期送信部１１４の送信データの処理時間と、定周期送信部１１５の送信データの処理時間と、定周期送信部１１５の次の送信周期までの残り時間を比較して、それぞれの送信要求を許可するかどうかを決定する。送信データの処理時間は、データ処理時間推定部１１８によって算出される。次の送信周期までの残り時間は、時刻管理部１１６から取得する。
【００６２】
データ処理時間推定部１１８は、送信要求のある非定周期送信部１１４の送信データの処理時間や、定周期送信部１１５の送信データの処理時間を推定し、スケジュール部１１７へ通知する。いずれの場合にも、送信データの処理時間の推定は、例えば、送信データのデータサイズからリアルタイム処理部における処理時間を算出し、さらに通信部での送信時間を加えて推定する。
【００６３】
リアルタイム処理部１１９は、非定周期送信部１１４の送信データ、または定周期送信部１１５の送信データを、予測可能な処理時間で処理し、通信部１１２へ転送する機能部である。例えば、単位データサイズあたりの処理時間が固定の場合、入力されたデータサイズから、処理時間が算出可能である。
【００６４】
本発明によるスケジュール部１１７の実行手順を図１に示す。
【００６５】
はじめに、スケジュール部１１７は、送信要求があるまで待機する（ステップＳ００１）。そして、送信要求があれば、定周期送信部１１５からの送信要求かどうかを判定する（ステップＳ００２）。定周期送信部１１５からの送信要求であれば（ステップＳ００２の判断がＹ）、これを許可する（ステップＳ００３）。
【００６６】
ステップＳ００２での判断結果が定周期送信部１１５からの送信要求でない場合（ステップＳ００２の判断がＮ）、これは非定周期送信部１１４からの送信要求である。この場合に、この送信要求を受け入れて、実際に送信を行うことができる条件、環境が整っていることを確認する。
【００６７】
条件、環境確認のために、まずステップＳ００４において、非定周期送信部１１４の送信データの処理時間Ｔａを、データ処理時間推定部１１８から取得し、定周期送信部１１５の次の周期までの残り時間Ｒを時刻管理部１１６から取得する。
【００６８】
次に、ステップＳ００５において、非定周期送信データ処理時間Ｔａと周期残り時間Ｒを比較する。非定周期送信データ処理時間Ｔａが周期残り時間Ｒ未満であれば、現在の制御周期内での送信が可能であることから、ステップＳ００６において、非定周期送信部１１４からの送信要求を許可する。
【００６９】
ステップＳ００５の判断において、非定周期送信データ処理時間Ｔａが周期残り時間Ｒ以上であれば、現在の制御周期内での送信が不可能である。この場合には、ステップＳ００７に移り、非定周期送信部１１４からの送信要求を許可せず、継続させる。
【００７０】
なお、この場合には現在の制御周期の残り時間Ｒの中で、定周期送信部１１５からの送信要求が生じる可能性がある。このため、ステップＳ００７の処理後は、ステップＳ００８において定周期送信部１１５からの送信要求の発生まで待機する。定周期送信部１１５からの送信要求があれば、ステップＳ００３に移り、これを許可する。
【００７１】
ステップＳ００３の処理後は、ステップＳ００１の処理手順に戻るが、この状態では、ステップＳ００７で継続扱いにした非定周期送信部１１４からの送信要求が未処理のまま残されている。このため、ステップＳ００１、ステップＳ００２、ステップＳ００４、ステップＳ００５と再度処理進行し、非定周期送信データ処理時間Ｔａと周期残り時間Ｒを比較する。この結果、非定周期送信データ処理時間Ｔａが周期残り時間Ｒ未満となれば、非定周期送信部１１４からの送信要求が許可される。
【００７２】
但し、周期残り時間Ｒとの比較結果によっては、非定周期送信データが、長期間未送信となる可能性もある。このとき、ステップＳ００５、ステップＳ００７において、非定周期送信部１１４の送信要求が許可されなかった回数を数え、所定回数以上になった場合に非定周期送信部１１４へ通知してもよい。
【００７３】
長期間未送信となるときの動作手順を図７に示す。図７でははじめに、非定周期送信部１１４の送信要求を待機する（ステップＳ０２０）。非定周期送信部１１４から送信要求があると次に、その送信要求が許可されたかを判定する（ステップＳ０２１）。
【００７４】
許可されなかった場合、ステップＳ０２２において非定周期送信部１１４の送信要求の失敗回数を１増やす。次に、ステップＳ０２３において、この失敗回数を所定のしきい値と比較する。失敗回数がしきい値未満である場合は、ステップＳ０２０に戻る。もし、失敗回数がしきい値以上である場合（Ｙ）は、ステップＳ０２４に移って非定周期送信部１１４に通知する。失敗回数がしきい値未満（Ｎ）のときは、ステップＳ０２０に戻り、引き続き失敗回数を継続監視する。
【００７５】
なお、連続して送信が失敗した回数として、非定周期送信部１１４の送信要求が成功した場合（ステップＳ０２１でＹ）に失敗回数をクリアしてもよいし、あるいは積算してもよい。この回数は、非定周期送信部１１４における送信失敗の回数であり、通信用ＬステップＳＩ１５１における誤った設定等を示唆するものである。
【００７６】
この通知をもとに、非定周期送信部１１４は、その送信データを破棄してもよいし、あるいは、バス１５５に接続するＣＰＵ１５０に対して割り込みを通知してもよい。割り込みを通知されたＣＰＵ１５０上のアプリケーションは、非定周期送信部１１４のデータを破棄することや、非定周期送信データを再送すること、非定周期送信データを分割して小さくすることや、定周期送信部１１５の送信周期を長くする等の対策をとることができる。
【００７７】
また、図７の手順は非定周期送信部１１４内で行ってもよい。また、失敗回数としきい値の比較は、ステップＳ０２３において、失敗回数がしきい値以下の場合にステップＳ０２０に戻るとしてもよい。
【００７８】
図１、図７の動作処理手順を通じて実行される通信制御装置１５１による通信制御方法を整理するとこれは、以下のようである。
【００７９】
まず、図９に示すように一定周期ごとに定周期送信信号を送信し、任意の時刻で発生する非定周期送信信号を送信するときには、当該一定周期内において非定周期送信信号の送信要求がある時刻（例えばｔ２）から、次回の一定周期が開始されるまでの（例えば時刻ｔ３との間の）第１の残余の時間と、非定周期送信信号を送信するに要する時間（図８のＴｐ）を求め、第１の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信する。
【００８０】
また、図９のように非定周期送信信号の送信要求が発生した一定周期内に、非定周期送信信号を送信するに十分な前記第１の残余の時間がない場合（時刻ｔ２−ｔ３の間）には、次回以降の一定周期内において、一定周期から定周期送信信号の送信に要した時間（ｔ３−ｔ４間）を差し引いた第２の残余の時間（ｔ４以降）と、非定周期送信信号を送信するに要する時間を比較して非定周期送信信号の送信を行う。
【００８１】
次に、データ処理時間推定部１１８の処理時間の推定方法を図８に示す。
【００８２】
データ処理時間推定部１１８は、はじめにステップＳ０１０において、リアルタイム処理部１１９の処理性能αを取得する。処理性能αの指標としては、例えば単位時間あたりに処理するデータサイズとする。
【００８３】
次に、ステップＳ０１１において、データ処理時間推定部１１８は、送信要求があった際に、スケジュール部１１７から送信データのデータサイズＤを取得する。
【００８４】
ステップＳ０１２では、取得した処理性能αとデータサイズＤから、処理時間Ｔｒを（１）式にしたがって計算する。
［数１］
Ｔｒ＝Ｄ／α・・・（１）
なお、リアルタイム処理部１１９において、ネットワーク１２２の通信プロトコルに従ったヘッダ等を送信データに付与する場合、その処理時間を考慮して、処理時間Ｔｒは（２）式で計算する。
［数２］
Ｔｒ＝Ｄ／α＋Ｂ・・・（２）
但し、Ｂはヘッダ等の付与時間であり、データサイズＤに依存しない項である。あるいは、送信データが複数のサブデータで構成され、サブデータごとに処理をする場合は、サブデータ数に依存した項となる。
【００８５】
次に、ステップＳ０１３において、通信部１１２での処理時間Ｔｅを計算する。例えば、１００ＭｂｐｓのＥｔｈｅｒｎｅｔ（登録商標）を用いる場合、処理時間Ｔｅを（３）式にしたがって計算する。
［数３］
Ｔｅ＝Ｄ／１００Ｍｂｐｓ・・・（３）
それから、ステップＳ０１４において、送信データの処理時間Ｔｐを（４）にしたがって計算する。
［数４］
Ｔｐ＝Ｔｒ＋Ｔｅ＋Ａ・・・（４）
なお、Ａは所定の安全係数である。Ａには、図６に示すデータ処理時間推定部１１８自身の推定処理にともなう時間や、Ｅｔｈｅｒｎｅｔ（登録商標）のフレーム間ギャップ、実時間処理部１１９、通信部１１２の送信処理以外のオーバーヘッドを考慮した安全係数が含まれる。
【００８６】
図１、図８に示す動作手順を実行したときの時系列上の取り扱いを図９に示す。図９は、スケジュール部１１７における送信データのスケジューリングを時間軸で示した図である。このとき、定周期送信部１１５の送信周期を１００μｓとする。
【００８７】
時刻ｔ１で、周期が経過し、定周期送信部１１５の送信要求を許可し、定周期送信データを送信する。
【００８８】
次に、この送信周期内の時刻ｔ２で、非定周期送信部１１４から送信要求があったとする。このとき、ｔ２は、ｔ１から８０μｓ経過した時点とし、非定周期送信データサイズを５００Ｂとする。リアルタイム処理部１１９の処理性能αを２００ＭＢ／ｓとし、処理時間Ｔｒを（１）式で求めるとする。図８に示す手順でデータ処理時間を計算すると、送信データの処理時間Ｔｐは（５）式に示すとおりとなる。なお、Ａを０とする。
［数５］
Ｔｐ＝Ｔｒ＋Ｔｅ＋Ａ
＝５００Ｂ／（２００ＭＢ／ｓ）＋５００Ｂ／１００Ｍｂｐｓ＋０
＝２．５μｓ＋４０μｓ
＝４２．５μｓ・・・（５）
したがって、図１に示すスケジュール部の判定手順において、非定周期送信データの処理時間Ｔａは、４２．５μｓであり、一方、周期の残り時間Ｒは、次の周期の開始である時刻ｔ３と時刻ｔ２の差が２０μｓとなる。
【００８９】
以上の計算結果を用いて、図１のステップＳ００５の判断では、非定周期送信データの処理時間Ｔａの方が、周期残り時間Ｒよりも大きいため、判定手順はステップＳ００７に移り、非定周期送信部１１４の送信要求は許可されない。このようにして、時刻ｔ１を開始時刻とする送信周期内での非定周期送信データの送信は行われない。
【００９０】
続いて、ステップＳ００８において、時刻ｔ３の定周期送信部１１５の送信要求まで待機する。この後、定周期送信部１１５の送信要求が許可され、定周期送信データを送信する。定周期送信データは、時刻ｔ４において、送信完了する。
【００９１】
図１の動作手順においては、時刻ｔ３を開始時刻とする送信周期内の時刻ｔ４に至った時点で、前回ステップＳ００７において未送信とした非定周期送信データの送信要求がステップＳ００１で処理される。以下、ステップＳ００２、Ｓ００４に進み、再度、非定周期送信部１１４の送信要求をスケジュールする。時刻ｔ４と時刻ｔ３の間隔が２０μｓとする。
【００９２】
時刻ｔ４では、このときの送信周期の残り時間が８０μｓであり、ステップＳ００５で、非定周期送信データの処理時間Ｔａの方が、周期残り時間Ｒよりも小さいため、非定周期送信部１１４の送信要求が許可され、非定周期送信データを送信する。
【００９３】
なお、図９では、時刻ｔ４と時刻ｔ３の間隔が２０μｓであったが、定周期送信部１１５の送信データサイズは固定でなくても構わない。したがって、非定周期送信データのサイズが比較的大きい場合であっても、スケジュール部１１７が自動的に非定周期送信データを送信可能な帯域のある周期を判定し、非定周期送信データを送信することが可能である。
【００９４】
図１０の例では、送信データサイズが、定周期１、定周期２、定周期３の３種類があり、同一ではない。従って送信周期の残り時間Ｒもそれぞれのケースで相違する例を示している。但し、この例ではこの送信データサイズの順番で繰り返す例をあげている。
【００９５】
このような場合に、比較的大きいサイズの非定周期送信データの送信要求が発生したとする。図１０の事例で、時刻ｔ１から時刻ｔ４までの動作については図９と同じであるが、時刻ｔ４での送信周期の残り時間Ｒからは、非定周期送信データの送信は不可であるとして阻止される。また、次の送信周期でも阻止される。最終的には、送信データサイズが、定周期３の送信周期において送信が実行できた。
【００９６】
定周期の送信データサイズの種類がＮ（図１０では３）であるとき、Ｎ＋１回の周期のうちに、非定周期送信データは送信可能である。もし、Ｎ＋１回の周期内に送信できなければ、その後、該非定周期送信データが送信可能な周期は存在しない。なお、Ｎではなく、Ｎ＋１回であるのは、最初の送信要求のタイミングが任意であるためである。
【００９７】
なお、本実施例では、スケジュール部１１７内にデータ処理時間推定部１１８をもうけたが、非定周期送信部１１４、定周期送信部１１５内にそれぞれもうけてもよい。この場合、本実施例では、非定周期送信部１１４、定周期送信部１１５からスケジュール部１１７へ送信要求と同時にデータサイズを通知したが、図１、図８の動作手順を非定周期送信部１１４、定周期送信部１１５内で実行し、スケジュール部１１７へは送信要求と当時に送信データ処理時間を通知してもよい。
【００９８】
また、本実施例では、非定周期送信部１１４、定周期送信部１１５がそれぞれひとつであったが、それぞれを複数にしてもよい。その際、それぞれの機能部間での優先度を明示する必要がある。
【００９９】
以上の実施例による効果について説明する。
【０１００】
任意のタイミングで非定周期送信の送信要求が発生したとしても、スケジュール部１１７が、非定周期送信データの処理時間と定周期送信の周期の残り時間を比較して、送信要求の許可を判断する。こうすることで、非定周期送信に影響されることなく、定周期送信の送信を精度よく周期的に送信することができる。
【０１０１】
また、送信タイミングをスケジュール部１１７で自動調整するため、ＣＰＵ１５０上で動作するアプリケーションからは、任意のタイミングで、非定周期送信データを通信用ＬＳＩ１５１に設定することができる。これにより、定周期送信の精度を維持するために非定周期送信データを設定するアプリケーションの開発効率を犠牲にする必要がない。
【０１０２】
また、非定周期送信用の時間帯域をネットワーク１２２上にもうける必要がないため、送信周期を高速化しやすく、制御性能を向上させることができる。また、仮に、送信周期を過剰に短く設定した場合であっても、図７の手順で非定周期送信が送信できなかったことを検知して、非定周期送信の送信データサイズを変更することや、送信周期を調整するなどの最適化を施すことが可能である。
【実施例２】
【０１０３】
実施例２は、実施例１と比較して、通信用ＬＳＩ１５１内に定周期送信データの再送機能を設け、定周期送信のデータ伝達性を向上させたものである。実施例に使用する符号は、特に断りのない限り、実施例１で説明した機能や要素等と同一であることを意味する。
【０１０４】
実施例２を適用した通信制御装置１２０を用いて構成する制御システム例は図２、図３と同様である。また、通信制御装置１２０のハードウェア構成は、図５と同様である。
【０１０５】
図１１は、本発明を適用した通信用ＬＳＩ１５１の機能構成の一実施形態である。図１１の構成は、図６に示す実施例１の構成（配信部１１３、非定周期送信部１１４、定周期送信部１１５、スケジュール部１１７、通信部１１２）に、定周期送信データの再送機能を設けたものである。既存の構成については、図６で説明したとおりであるので、以下においては定周期送信データの再送機能を主として説明する。
【０１０６】
定周期送信データの再送機能は、異常判定部１３２、再送制御部１３１、再送部１３０、時刻管理部１１６を主体に構成される。この概略機能は、異常判定部１３２が通信異常を検出したときに、制御装置側に正しく信号伝送がされていないと判断して、定周期送信部１１５並びにスケジュール部１１７に働きかけて定周期送信データを再送するものである。
【０１０７】
概略上記の制御を実行するに当り、まず異常判定部１３２において通信異常を検知する。このため、異常判定部１３２では、通信部１１２内の受信部１１１から受信した受信データ内容、あるいは、時間経過をもとに定周期送信部１１５の定周期送信の成功、失敗を判定する機能部である。異常判定部１３２は、判定結果を再送制御部１３１へ通知する。なお、通信異常検知の具体手法については、後で詳述する。
【０１０８】
再送制御部１３１は、異常判定部１３２の判定結果を受けて、再送部１３０へ再送を要求するか、または再送部１３０に保存している送信データの消去を要求する機能部である。
【０１０９】
再送部１３０は、定周期送信部１１５がスケジュール部１１７へ送信データを転送する際に、該送信データを受信して、内部に保存する。再送制御部１３１から再送要求があった場合に、スケジュール部１１７へ再送を要求する。
【０１１０】
なお、内部に定周期送信部１１５の送信データを保存する際、あるいはスケジュール部１１７から再送を許可されて送信データを出力する際に、再送であることを示すために、送信データを変更してもよい。その具体的な方法として、送信データ、あるいはヘッダに再送を示す領域を定義し、再送であることを示すパラメータを定義することが例示される。
【０１１１】
また、再送部１３０は、時刻管理部１１６から、定周期送信部１１５の送信周期の経過を通知されて、内部の送信データを消去してもよい。これは、周期内に再送を送ることが必要なシステムで用いることが例示される。また、再送部１３０相当の機能を定周期送信部１１５にもうけてもよい。
【０１１２】
以下、各機能の具体例について、異常判定部１３２から説明する。通信異常の検知機能としては幾つかのものが知られているが、ここでは以下のものを例示している。
【０１１３】
まず、タイムアウト判定部１３３は、定周期送信部１１５の定周期送信開始からの経過時間を監視し、所定の時間が経過したかどうかを判定する。送信開始から所定の時間内に、定周期送信データを異常判定部１３２で受信した場合は、経過時間の監視を停止し、時間内に受信したと判定する。逆に、所定の時間内に定周期送信データを異常判定部１３２で受信できなかった場合には、通信が正常に行われなかったと判断する。
【０１１４】
応答確認部１３４は、通信制御装置１２０から定周期送信を受け取った制御装置１２１からの返信をもって、定周期送信が成功したかどうかを判定する。制御装置１２１は、定周期送信を正しく受信した場合は、ＡＣＫと呼ばれる確認応答を通信制御装置１２０へ送信する。あるいは、通信制御装置１２０からの定周期送信を正しく受信できなかった場合にＮＡＣＫと呼ばれる否定応答を通信制御装置１２０へ送信する。
【０１１５】
ＷＫＣ確認部１３５は、制御装置１２１から返信されたフレーム上の所定のカウンタ（Ｗｏｒｋｉｎｇ  Ｃｏｕｎｔｅｒを略してＷＫＣとして説明する）が期待値と等しいかどうかで、定周期送信が正しく制御装置１２１で処理されたかどうかを判定する。これは、ＥｔｈｅｒＣＡＴで用いられる方式である。このカウンタは、その送信データを処理すべき制御装置１２１で正しく処理されるたびに、制御装置１２１によって所定の数だけカウントアップされるＥｔｈｅｒＣＡＴパケット上のフィールドである。なお、期待値を事前に設定する必要がある。
【０１１６】
次に、異常判定部１３２の構成と、ネットワーク方式の関係について言及する。図１１の異常判定部１３２は、タイムアウト判定部１３３、応答確認部１３４、ＷＫＣ確認部１３５のうち、ひとつ、または複数の組み合わせで構成される。しかしながら、定周期通信が正しく制御装置１２１で処理されたかどうかを判定する方法は、タイムアウト判定部１３３、応答確認部１３４、ＷＫＣ確認部１３５の判定方法に限らない。例えば、Ｅｔｈｅｒｎｅｔであれば、受信フレームのＣＲＣやパケットフォーマットの異常等をもって、定周期通信が正しくなされなかったと判定してもよい。
【０１１７】
なお、異常判定部１３２におけるタイムアウト判定部１３３、応答確認部１３４、ＷＫＣ確認部１３５の構成は、ネットワーク方式によっても適性が異なる。
【０１１８】
例えば、ＥｔｈｅｒＣＡＴでは、通信制御装置１２０から送信された通信フレームは、各制御装置１２１を順番に経由し、全ての制御装置１２１を経由後、通信制御装置１２０に戻るという特徴がある。このような特徴があるため、ＷＫＣ確認部１３５を用いるのがよい。また、パケットがネットワーク上でロスする可能性があるため、タイムアウト判定部１３３の適用も好ましい。
【０１１９】
一方で、ネットワーク１２２の仕様上、必ずしも制御装置１２１から通信制御装置１２０への返信が定義されていない場合は、明示的に通信制御装置１２０から確認応答、または否定応答を返信する構成とし、応答確認部１２４、タイムアウト判定部１３３をもって構成するのがよい。
【０１２０】
定周期送信データの再送を実現するために、通信制御装置はハード的には、上記の機能（異常判定部１３２、再送制御部１３１、再送部１３０、時刻管理部１１６）を備える必要がある。さらにその上で、スケジュール部１１７において、図１２に示した以下の動作手順を実行する。
【０１２１】
はじめに、スケジュール部１１７は、送信要求があるまで待機する（ステップＳ０３０）。そして、送信要求があれば、定周期送信部１１５からの送信要求かどうかを判定する（ステップＳ０３１）。定周期送信部１１５からの送信要求であれば（Ｙ）、ステップＳ０３２に移り、これを許可する。これにより、送信部１１０から制御装置１２１に向けて定周期データが送信され、異常判定部１３２において通信が正しく行われたことを監視している。もし、通信異常が発生していれば、再送部１３０から再送要求が来るはずである。
【０１２２】
ステップＳ０３１で、定周期送信部１１５からの送信要求でない（Ｎ）と判断した場合、これは非定周期送信部１１４か、再送部１３０からの送信要求である。したがって、次にステップＳ０３３において、送信要求が再送部１３０からかどうかを判定する。
【０１２３】
ステップＳ０３３において、再送部１３０からの送信要求であることが判明したときには、ステップＳ０３４において再送部１３０の送信データの処理時間Ｔｂをデータ処理時間推定部１１８から取得し、定周期送信部１１５の次の周期までの残り時間Ｒを時刻管理部１１６から取得する。なお、ステップＳ０３４の処理は、前述のステップＳ００４の処理と同じであるが、扱うデータが非定周期送信データから再送データになっている点でのみ相違している。
【０１２４】
次に、ステップＳ０３５において再送データ処理時間Ｔｂと周期残り時間Ｒを比較し、再送データ処理時間Ｔｂが周期残り時間Ｒ未満（Ｙ）であれば、ステップＳ０３６で再送部１３０からの送信要求を許可する。なお、ステップＳ０３５の処理は、前述のステップＳ００５の処理と同じであるが、扱うデータが非定周期送信データから再送データになっている点でのみ相違している。
【０１２５】
ステップＳ０３５で、再送データ処理時間Ｔｂが周期残り時間Ｒ以上であれば、再送部１３０からの送信要求を許可せず、ステップＳ０３０へ処理手順を戻る。
【０１２６】
ステップＳ０３３において、送信要求が非定周期送信部１１４からであれば、非定周期送信部１１４の送信データの処理時間Ｔａをデータ処理時間推定部１１８から取得し、定周期送信部１１５の次の周期までの残り時間Ｒを時刻管理部１１６から取得する（ステップＳ００４）。
次に、非定周期送信データ処理時間Ｔａと周期残り時間Ｒを比較（ステップＳ００５）し、非定周期送信データ処理時間Ｔａが周期残り時間Ｒ未満であれば、非定周期送信部１１４からの送信要求を許可する（ステップＳ００６）。
【０１２７】
ステップＳ００５で、非定周期送信データ処理時間Ｔａが周期残り時間Ｒ以上であれば、非定周期送信部１１４からの送信要求を許可せず、ステップＳ０３０へ処理手順を戻る。
【０１２８】
以上、図１２の実施例について説明した。この方式によれば定周期送信データをまず送信し、そのあとの時間内で再送データまたは非定周期送信データを送信する流れになっている。このため、同一の送信周期内に再送データと非定周期送信データの送信要求が発生した場合の取り扱いを検討する必要がある。
【０１２９】
図１３は、再送を非定周期送信よりも高い優先度に設定する場合のスケジュール部１１７の動作実行手順を示している。
【０１３０】
図１２との違いは、ステップＳ０４０を設けた点であり、ステップＳ０４０において、非定周期送信が再送との関係で送信可能状態かどうかを判定することである。この判定基準としては、再送が所定回数実行されているかどうかや、定周期送信が正しく成立していること、定周期送信後に所定の時間（再送を優先する時間帯）が経過しているかどうか等が例示される。
【０１３１】
なお、このとき、図１２、図１３において、非定周期送信部１１４の送信要求が許可されなかった周期の回数を数え、所定回数以上になった場合に非定周期送信部１１４に通知してもよい。この手順は図７と同様である。
【０１３２】
図１２に示す動作手順を実行したときの時系列上の取り扱いを図１４に示す。図１４は、スケジュール部１１７における送信データのスケジューリングを時間軸で示した図である。このとき、定周期送信部１１５の送信周期を１００μｓとする。
【０１３３】
時刻ｔ１０で、送信周期が経過し、新しい送信周期内で定周期送信部１１５の送信要求を許可し、定周期送信データを送信する。この処理はステップＳ０３０からステップＳ０３２により実行される。
【０１３４】
次に、時刻ｔ１１で、再送部１３０から送信要求があったとする。このとき、ｔ１１は、ｔ１０から９５μｓ経過した時点とし、非定周期送信データサイズを１００Ｂとする。リアルタイム処理部１１９の処理性能αを２００ＭＢ／ｓとし、図８に示す手順でデータ処理時間を計算すると、送信データの処理時間Ｔｐは（６）式に示すとおりとなる。なお、Ａを０とする。
［数６］
Ｔｐ＝Ｔｒ＋Ｔｅ＋Ａ
＝１００Ｂ／（２００ＭＢ／ｓ）＋１００Ｂ／１００Ｍｂｐｓ＋０
＝０．５μｓ＋８μｓ
＝８．５μｓ・・・（６）
したがって、図１２に示すスケジュール部の判定手順において、再送データの処理時間Ｔｂは８．５μｓとなる。一方、周期の残り時間Ｒは、次の周期の開始である時刻ｔ１２と時刻ｔ１１の差が５μｓである。
【０１３５】
以上の計算結果を用いて、再送データの処理時間Ｔｂの方が、周期残り時間Ｒよりも大きいため、再送部１３０の送信要求は許可されない。この一連の処理は、ステップＳ０３３からステップＳ０３６により実行される。
【０１３６】
なお、時刻ｔ１２において、再送制御部１３１は再送部１３０の送信データを消去するように構成した場合、時刻ｔ１２から再送部１３０の再送要求は取り消される。
【０１３７】
図１３に示す実施例での動作の具体例を図１５に示す。１４は、スケジュール部１１７における送信データのスケジューリングを時間軸で示した図である。このとき、定周期送信部１１５の送信周期を１００μｓとする。
【０１３８】
時刻ｔ２０で、送信周期が経過し、新しい送信周期内で定周期送信部１１５の送信要求を許可し、定周期送信データを送信する。この処理はステップＳ０３０からステップＳ０３２により実行される。
【０１３９】
次に、時刻ｔ２１で、非定周期送信部１１４から送信要求があったとする。従ってこのとき図１３の処理手順上では、ステップＳ０４０に処理が移る。ステップＳ０４０では、非定周期送信が可能か否かを判断するが、このときには、再送が成功しておらず、非定周期送信が可能な状態ではないとする。そのため、ステップＳ０４０の判断では、時刻ｔ２１における非定周期送信部１１４の送信要求は許可されない。
【０１４０】
次に、時刻ｔ２２で、再送部１３０から送信要求があったとする。従ってこのとき図１３の処理手順上では、ステップＳ０３３からステップＳ０３４側に処理が移っている。このとき、時刻ｔ２２は、時刻ｔ２０から８０μｓ経過した時点とし、再送送信データサイズを１００Ｂとする。リアルタイム処理部１１９の処理性能αを２００ＭＢ／ｓとし、図８に示す手順でデータ処理時間を計算すると、送信データの処理時間Ｔｐは先の（６）式に示すとおりとなる。なお、Ａを０とする。
【０１４１】
したがって、図１１に示すスケジュール部の判定手順において、再送データの処理時間Ｔｂは８．５μｓとなる。一方、周期の残り時間Ｒは、次の周期の開始である時刻ｔ２３と時刻ｔ２２の差が２０μｓとなる。したがって、十分な残時間があるため、再送部１３０から送信要求は許可され、再送がなされる。
【０１４２】
次に、時刻ｔ２３で、送信周期が経過し、新たな送信周期において、定周期送信部１１５の送信要求を許可し、定周期送信データを送信する。この処理はステップＳ０３０からステップＳ０３２により実行される。
【０１４３】
その後、時刻ｔ２４で、定周期送信が正常になされたとする。このとき、継続して非定周期送信部１１４からの送信要求があったとする。従ってこのとき図１３の処理手順上では、ステップＳ０３３からステップＳ０４０を経由してステップＳ００４側に処理が移っている。このとき、時刻ｔ２４は、時刻ｔ２３から３０μｓ経過した時点とし、非定周期送信データサイズを５００Ｂとする。リアルタイム処理部１１９の処理性能αを２００ＭＢ／ｓとすると、送信データの処理時間Ｔｐは（５）式に示すとおり４２．５μｓとなる。
【０１４４】
図１３に示すスケジュール部の判定手順において、非定周期送信データの処理時間Ｔａは４２．５μｓとなる。一方、周期の残り時間Ｒは、次の周期の開始である時刻ｔ２５と時刻ｔ２４の差が７０μｓとなる。
【０１４５】
したがって、非定周期送信データの処理時間Ｔａの方が、周期残り時間Ｒよりも小さいため、非定周期送信部１１４の送信要求が許可され、非定周期送信データを送信する。
【０１４６】
なお、本実施例では、スケジュール部１１７内にデータ処理時間推定部１１８をもうけたが、非定周期送信部１１４、定周期送信部１１５、再送部１３０内にそれぞれもうけてもよい。この場合、本実施例では、非定周期送信部１１４、定周期送信部１１５、再送部１３０からスケジュール部１１７へ送信要求と同時にデータサイズを通知したが、図８の手順を非定周期送信部１１４、定周期送信部１１５、再送部内で実行し、スケジュール部１１７へは送信要求と同時に送信データ処理時間を通知してもよい。
【０１４７】
また、本実施例では、非定周期送信部１１４、定周期送信部１１５、再送部１３０がそれぞれひとつであったが、それぞれを複数にしてもよい。その際、それぞれの機能部間での優先度を明示する必要がある。また、定周期送信部１１５、再送部１３０を複数にする場合は、パケット内に識別子をもうけることが例示される。
【０１４８】
図１２、図１３の動作処理手順を通じて実行される通信制御装置１５１による通信制御方法を整理するとこれは、以下のようである。
【０１４９】
ここでは、図１４に示すように一定周期（ｔ１０、ｔ１２）ごとに定周期送信信号を送信し、当該定周期送信信号の送信に失敗したときには、当該失敗を検知した時刻（ｔ１１）から次回の一定周期が開始されるまでの（ｔ１２との間の）第３の残余の時間と、定周期送信信号を再送信するに要する時間を求め、第３の残余の時間内に再送信完了できることを確認してから定周期送信信号を再送信する。
【０１５０】
また、任意の時刻で発生する非定周期送信信号を送信するときには、図９に示したように当該一定周期内において非定周期送信信号の送信要求がある時刻（ｔ２）から、次回の一定周期が開始されるまでの（ｔ３との間の）第１の残余の時間と、非定周期送信信号を送信するに要する時間を求め、第１の残余の時間内に送信完了できることを確認してから当該一定周期の範囲内で非定周期送信信号を送信する。
【０１５１】
さらに、再送信と非定周期送信信号の送信を行う場合に、図１５のように同一の一定周期（ｔ２０からｔ２３の間）内に前記定周期送信信号の再送信要求と、非定周期送信信号の送信要求があるときには、定周期送信信号の再送信を優先（ｔ２２）し、非定周期送信信号の送信は、同一の定周期内に非定周期送信信号を送信するに要する時間が残っていなければ、次回以降の一定周期内に行う（ｔ２４）。
【０１５２】
さらに、定周期送信信号の送信に失敗し、かつ第３の残余の時間内に送信できない場合には、この内容の定周期送信信号を破棄し、次回の一定周期では新たに求めた内容の定周期送信信号を送信する。
【０１５３】
以上の実施例による効果について説明する。
【０１５４】
任意のタイミングで非周期送信の送信要求や再送が発生したとしても、スケジュール部１１７が、非定周期送信データの処理時間、あるいは再送データの処理時間と定周期送信の周期の残り時間を比較して、送信要求の許可を判断する。こうすることで、非定周期送信、再送に影響されることなく、定周期送信の送信を精度よく周期的に送信することができる。
【０１５５】
また、送信タイミングをスケジュール部１１７で自動調整するため、ＣＰＵ１５０上で動作するアプリケーションからは、任意のタイミングで、非定周期送信データを通信用ＬＳＩ１５１に設定することができる。これにより、定周期送信の精度を維持するために非定周期送信データを設定するアプリケーションの開発効率を犠牲にする必要がない。
【０１５６】
また、非定周期送信用、再送用の時間帯域をネットワーク１２２上にもうける必要がないため、送信周期を高速化しやすく、制御性能を向上させることができる。また、仮に、送信周期を過剰に短く設定した場合であっても、図７の手順で非定周期送信が送信できなかったことを検知して、非定周期送信の送信データサイズを変更することや、送信周期を調整するなどの最適化を施すことが可能である。
【０１５７】
さらに、定周期送信の送信精度を維持する範囲内で、再送が可能となるため、通信制御装置１２０から制御装置１２１へのデータ伝達性を向上させることができ、制御システムの高信頼化、高性能化が可能である。
【０１５８】
さらに、再送を非定周期送信よりも優先度を高く設定することで、非定周期送信に影響されることなく、再送をすることができ、上記の再送による利点を高めることができる。
【０１５９】
なお、実施例２の典型的な装置構成を示す図１１において、非定周期送信部１１４は、非制御指令を非定周期送信する部分であり、時刻管理部１１６、再送部１３０、再送制御部１３１、異常判定部１３２は、送信失敗のときの再送指令を取り扱う送信部分である。本発明の上記の説明では、制御指令の定周期送信に対して、非制御指令あるいは再送指令を不定期的信号として取り扱ってきた。このため、上記の回路部分は、上位概念的には不定期的信号送信部と呼ぶべき機能であり、ここには非制御指令を取り扱う部分と、再送を取り扱う部分がある。
【実施例３】
【０１６０】
実施例３は、実施例１、実施例２と比較して、汎用的なハードウェアを用いて、ソフトウェアを中心に本発明を実施する構成である。実施例に使用する符号は、特に断りのない限り、実施例１、実施例２で説明した機能や要素等と同一であることを意味する。
【０１６１】
通信制御装置１２０を用いて構成するシステム例は図２、図３と同様である。通信制御装置１２０のハードウェア構成を図１６に示す。図５の通信制御装置１２０と相違しているのは、通信用ＬＳＩ１５１の代わりに、ＬＡＮ１５６を設けた点である。
【０１６２】
ＬＡＮ１５６は、ネットワーク１２２との通信機能を実装した送受信機ＩＣである。ＬＡＮ１０３の提供する通信規格としてＥｔｈｅｒｎｅｔ等が例示される。
【０１６３】
図１６のＣＰＵ１５０上で動作するソフトウェア構成を含む本発明のソフトウェア構成を図１７に示す。
【０１６４】
図１７において、ＯＳ１６０は、プログラム管理やハードウェアへのアクセス等の基本機能を提供する。ＯＳ１６０は、必ずしも必要ではないが、汎用的なアプリケーションや既存のソフトウェア資産の利用、タスク管理等の基本機能を提供することから、利用されるのが望ましい。また、時間的制約にしたがってタスクスケジューリングを実行可能なリアルタイムＯＳが望ましい。
【０１６５】
デバイスドライバ１６１は、ＯＳ１６０の提供するハードウェアへのアクセス手段を用いて、ＬＡＮ１５６へ通信データ領域や動作管理情報、状態情報にアクセスするための機能を提供する。デバイスドライバ１６１は、ＯＳ１６０の一部であっても構わない。
【０１６６】
ライブラリ１６２は、利用頻度の多い関数をまとめたものであり、ＯＳ１６０の機能を利用してメモリ管理、タスク管理、入出力、ファイル操作等の基本機能を提供する。具体例として、Ｌｉｎｕｘで利用されるｇｌｉｂｃが挙げられる。
【０１６７】
ＡＰＩ１６３は、ライブラリ１６２を介して、デバイスドライバ１６１やＯＳ１６０の提供する機能を利用するためのソフトウェアインターフェースである。
【０１６８】
アプリケーション１６４は、制御対象１２１を制御するための制御指令値を演算し、ＬＡＮ１５６を用いて通信パケットの送受信を実行するソフトウェアである。
【０１６９】
次に、図６、図１１に示す機能部と、図１７に示すソフトウェア構成との対応を示す。
【０１７０】
通信部１１２、送信部１１０、受信部１１１は、ＬＡＮ１５６で構成する。
【０１７１】
非定周期送信部１１４と定周期送信部１１５はアプリケーション１６４で構成する。
【０１７２】
時刻管理部１１６は、ＣＰＵ１５０内に含まれるタイマデバイスと、それをデバイスドライバ１６０によって抽象化したＯＳ１６０の機能で構成する。
【０１７３】
スケジュール部１１７、データ処理時間推定部１１８、リアルタイム処理部１１９はライブラリ１６２、またはＯＳ１６０で構成する。
【０１７４】
再送部１３０、再送制御部１３１、異常判定部１３２、タイムアウト判定部１３３、応答確認部１３４、ＷＫＣ確認部１３５はアプリケーション１６４またはライブラリ１６２、ＯＳ１６０で構成する。
【０１７５】
一般に、ソフトウェアで構成する場合は、ハードウェアに比較して、処理時間の予測精度が低下する。この予測精度の低下を低減するため、スケジュール部１１７、データ処理時間推定部１１８、リアルタイム処理部１１９は、高優先度のタスクとして設定し、時刻管理部１１６のハードウェア資源であるタイマデバイスの割り込み以外の割り込みを禁止するなどの設定が好ましい。
【０１７６】
また、リアルタイム処理部１１９における処理性能を求めるため、事前に実験的に評価することが望ましい。
【０１７７】
以上の実施例による効果について説明する。
【０１７８】
実施例１、実施例２と同様の効果を得られながら、汎用的なハードウェアで本発明を実施することができ、システム構築の柔軟性を高めることができる。
【符号の説明】
【０１７９】
１１０：送信部
１１１：受信部
１１２：通信部
１１３：配信部
１１４：非定周期送信部
１１５：定周期送信部
１１６：時刻管理部
１１７：スケジュール部
１１８：データ処理時間推定部
１１９：リアルタイム処理部
１２０：通信制御装置
１２１：制御装置
１２２：ネットワーク
１３０：再送部
１３１：再送制御部
１３２：異常判定部
１３３：タイムアウト判定部
１３４：応答確認部
１３５：ＷＫＣ確認部
１５０：ＣＰＵ
１５１：通信用ＬＳＩ
１５２：物理層
１５３：メモリ
１５４：不揮発性記憶媒体
１５５：バス
１５６：ＬＡＮ
１６０：ＯＳ
１６１：デバイスドライバ
１６２：ライブラリ
１６３：ＡＰＩ
１６４：アプリケーション
【図１】
0005389071.tif 000002
【図２】
0005389071.tif 000003
【図３】
0005389071.tif 000004
【図４】
0005389071.tif 000005
【図５】
0005389071.tif 000006
【図６】
0005389071.tif 000007
【図７】
0005389071.tif 000008
【図８】
0005389071.tif 000009
【図９】
0005389071.tif 000010
【図１０】
0005389071.tif 000011
【図１１】
0005389071.tif 000012
【図１２】
0005389071.tif 000013
【図１３】
0005389071.tif 000014
【図１４】
0005389071.tif 000015
【図１５】
0005389071.tif 000016
【図１６】
0005389071.tif 000017
【図１７】
0005389071.tif 000018