(57)【要約】  【課題】  より多くのアクチュエータ等を短い周期で制御することができる駆動制御装置を提供することを目的とする。  【解決手段】  複数のアクチュエータを有して構成される機械装置の駆動を、ネットワークを用いて制御する駆動制御装置において、各アクチュエータに対応して発行された指令値を、最大値と最小値の制限を加えた差分指令値に変換した上でネットワークに送出する。各アクチュエータに対応して設けられた各スレーブ駆動制御部は、自身に対応する差分指令値を抽出し、抽出した差分指令値から元の指令値を復元してアクチュエータを制御する。  【選択図】      図１２
2007004416.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の駆動を、ネットワークを用いて制御する駆動制御装置であって、
前記Ｎ個のスレーブ機器の夫々に対する合計Ｎ個の指令値を次々と受けるマスタ通信制御部と、
前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ制御部と、を備え、
前記マスタ通信制御部は、
各スレーブ制御部に対応する指令値ごとに、今回受けた指令値と前回受けた指令値との差である差分値を演算し、該差分値に応じた差分指令値を出力する差分指令値出力部を備え、
各差分指令値を含んだ送信データを次々と前記ネットワークに対して送信し、
各スレーブ制御部は、
前記送信データを次々と受信し、受信した前記送信データから自身に対応する差分指令値を抽出するフィルタと、
抽出された差分指令値に基づいて次々と前記指令値を復元する指令値復元部と、を備えている
ことを特徴とする駆動制御装置。
【請求項２】
前記差分指令値出力部は、
各スレーブ制御部に対応する指令値ごとに、前記差分値を演算して出力する差分演算部と、
与えられた各差分値に対して最小値と最大値の制限を加え、該制限を経て得られた値の夫々を前記差分指令値として出力する最小最大値制限部と、を有する
ことを特徴とする請求項１に記載の駆動制御装置。
【請求項３】
前記最小最大値制限部における、各スレーブ制御部に対応する各差分指令値の算出において、前回の差分指令値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に前記差分演算部が出力する、同一のスレーブ制御部に対応する差分値に加算され、
前記最小最大値制限部は、その加算後の各差分値に対して前記制限を加えることにより今回の各差分指令値を算出して出力し、
各指令値復元部は、前回復元した指令値と今回受信した差分指令値に基づいて今回の指令値を復元する
ことを特徴とする請求項２に記載の駆動制御装置。
【請求項４】
各差分指令値によって表現される数値範囲が互いに異なる複数のモードが設けられており、前記差分指令値出力部が演算する各差分値の大きさに応じて、その各差分値に対応する各差分指令値のモードが差分指令値ごとに択一的に選択される
ことを特徴とする請求項１〜請求項３の何れかに記載の駆動制御装置。
【請求項５】
前記ネットワークを介しての一回のデータ伝送のデータサイズは定められおり、
前記マスタ通信制御部は、Ｍ個（Ｍは２以上の整数であって、Ｎ≧Ｍ）のスレーブ制御部に対する合計Ｍ個の差分指令値を前記データサイズ以内にまとめることによって１つの送信データを作成し、該送信データを前記Ｍ個のスレーブ制御部に対して同時に送信する
ことを特徴とする請求項１〜請求項４の何れかに記載の駆動制御装置。
【請求項６】
合計Ｍ個の差分指令値を構成する各差分指令値の前記送信データ内のアドレスは予め定められており、
前記Ｍ個のスレーブ制御部の各フィルタは、その予め定められたアドレスに従って、受信した前記送信データから自身に対応する差分指令値を抽出する
ことを特徴とする請求項５に記載の駆動制御装置。
【請求項７】
前記ネットワークは、第１ネットワーク含む複数系統のネットワークから構成されており、
当該駆動制御装置は、第１ネットワークを介して前記マスタ通信制御部に接続された複数の中継装置を更に備え、
各中継装置は、第１ネットワークと異なり且つ前記複数の中継装置間で互いに異なる個別の系統の第２ネットワークを介して複数のスレーブ制御部と接続されており、
前記マスタ通信制御部は、送信すべき前記送信データに、該送信データが何れの中継装置に受信されるべきであるかを表すメッセージＩＤ情報を含ませ、
各中継装置は、前記メッセージＩＤ情報に従って自身に対する送信データを第１ネットワークを介して受信し、受信した該送信データを自身に接続された第２ネットワークに送る
ことを特徴とする請求項１〜請求項６の何れかに記載の駆動制御装置。
【請求項８】
Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の状態を、ネットワークを用いて検出する機械装置状態検出装置であって、
マスタ通信制御部と、
前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ状態検出部と、を備え、
各スレーブ状態検出部は、
自身に対応するスレーブ機器の状態を表す状態値を次々と検出する状態値検出部と、
今回検出された状態値と前回検出された状態値との差である差分値を演算し、該差分値に応じた差分状態値を出力する差分状態値出力部と、を備え、
前記マスタ通信制御部は、
前記ネットワークを介して次々と送られてくる各スレーブ状態検出部に対応する差分状態値に基づいて、次々と各スレーブ状態検出部に対応する状態値を復元する状態値復元部を備えている
ことを特徴とする機械装置状態検出装置。
【請求項９】
各差分状態値出力部は、
前記差分値を演算して出力する差分演算部と、
与えられた差分値に対して最小値と最大値の制限を加え、該制限を経て得られた値を前記差分状態値として出力する最小最大値制限部と、を有する
ことを特徴とする請求項８に記載の機械装置状態検出装置。
【請求項１０】
各スレーブ状態検出部において、前回の差分状態値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に前記差分演算部が出力する差分値に加算され、
各最小最大値制限部は、その加算後の差分値に対して前記制限を加えることにより今回の差分状態値を算出して出力し、
前記状態値復元部は、各スレーブ状態検出部に対応する各状態値の復元において、前回復元した状態値と今回受信した差分状態値に基づいて今回の状態値を復元する
ことを特徴とする請求項９に記載の機械装置状態検出装置。
【請求項１１】
Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の状態を、ネットワークを用いて検出する機械装置状態検出装置であって、
マスタ通信制御部と、
前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ状態検出部と、を備え、
前記ネットワークは、第１ネットワーク含む複数系統のネットワークから構成されており、
当該機械装置状態検出装置は、第１ネットワークを介して前記マスタ通信制御部に接続された複数の中継装置を更に備え、
各中継装置は、第１ネットワークと異なり且つ前記複数の中継装置間で互いに異なる個別の系統の第２ネットワークを介して複数のスレーブ状態検出部と接続されており、
各スレーブ状態検出部は、
自身に対応するスレーブ機器の状態を表す状態値を次々と検出する状態値検出部と、
今回検出された状態値と前回検出された状態値との差である差分値を演算して出力する差分演算部と、を備えて、
前記差分値を次々と第２ネットワークに送信し、
各中継装置は、
自身に接続されているスレーブ状態検出部の夫々から第２ネットワークを介して受け取った前記差分値に対して、差分値ごとに、最小値と最大値の制限を加え、該制限を経て得られた値を各スレーブ状態検出部に対応する差分状態値として出力する最小最大値制限部を備えて、
各差分状態値を次々と第１ネットワークに送信し、
前記マスタ通信制御部は、第１ネットワークを介して次々と送られてくる各スレーブ状態検出部に対応する差分状態値に基づいて、次々と各スレーブ状態検出部に対応する状態値を復元する状態値復元部を備えている
ことを特徴とする機械装置状態検出装置。
【請求項１２】
各最小最大値制限部における、各スレーブ状態検出部に対応する各差分状態値の算出において、前回の差分状態値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に同一のスレーブ状態検出部から送られてくる差分値に加算され、
各最小最大値制限部は、その加算後の各差分値に対して前記制限を加えることにより今回の各差分状態値を算出して出力し、
前記状態値復元部は、各スレーブ状態検出部に対応する各状態値の復元において、前回復元した状態値と今回受信した差分状態値に基づいて今回の状態値を復元する
ことを特徴とする請求項１１に記載の機械装置状態検出装置。
【請求項１３】
Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の状態を、ネットワークを用いて検出する機械装置状態検出装置であって、
マスタ通信制御部と、
前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ状態検出部と、を備え、
前記ネットワークは、第１ネットワーク含む複数系統のネットワークから構成されており、
当該機械装置状態検出装置は、第１ネットワークを介して前記マスタ通信制御部に接続された複数の中継装置を更に備え、
各中継装置は、第１ネットワークと異なり且つ前記複数の中継装置間で互いに異なる個別の系統の第２ネットワークを介して複数のスレーブ状態検出部と接続されており、
各スレーブ状態検出部は、自身に対応するスレーブ機器の状態を表す状態値を次々と検出して第２ネットワークに送信し、
各中継装置は、
第２ネットワークを介して受けた各スレーブ状態検出部に対応する状態値ごとに、今回受けた状態値と前回受けた状態値との差を表す差分値を演算し、該差分値に応じた差分状態値を出力する差分状態値出力部を備え、
各スレーブ状態検出部に対応する差分状態値を次々と第１ネットワークに送信し、
前記マスタ通信制御部は、第１ネットワークを介して次々と送られてくる各スレーブ状態検出部に対応する差分状態値に基づいて、次々と各スレーブ状態検出部に対応する状態値を復元する状態値復元部を備えている
ことを特徴とする機械装置状態検出装置。
【請求項１４】
各差分状態値出力部は、
各スレーブ状態検出部に対応する前記差分値を演算して出力する差分演算部と、
各スレーブ状態検出部に対応して与えられた差分値ごとに、最小値と最大値の制限を加え、該制限を経て得られた値を各スレーブ状態検出部に対応する前記差分状態値として出力する最小最大値制限部と、を有する
ことを特徴とする請求項１３に記載の機械装置状態検出装置。
【請求項１５】
各最小最大値制限部における、各スレーブ状態検出部に対応する各差分状態値の算出において、前回の差分状態値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に前記差分演算部が出力する、同一のスレーブ状態検出部に対応する差分値に加算され、
前記最小最大値制限部は、その加算後の各差分値に対して前記制限を加えることにより今回の各差分状態値を算出して出力し、
前記状態値復元部は、各スレーブ状態検出部に対応する各状態値の復元において、前回復元した状態値と今回受信した差分状態値に基づいて今回の状態値を復元する
ことを特徴とする請求項１４に記載の機械装置状態検出装置。
【請求項１６】
各差分状態値によって表現される数値範囲が互いに異なる複数のモードが設けられており、演算される各差分値の大きさに応じて、その各差分値に対応する各差分状態値のモードが差分状態値ごとに択一的に選択される
ことを特徴とする請求項８〜請求項１５の何れかに記載の駆動制御装置。
【請求項１７】
前記ネットワークを介しての一回のデータ伝送のデータサイズは定められており、
各中継装置は、自身に接続された全てのスレーブ状態検出部に対応する全ての差分状態値を前記データサイズ以内にまとめたデータを、一括して第１ネットワークを介して前記マスタ通信制御部に送る
ことを特徴とする請求項１１〜請求項１５の何れかに記載の駆動制御装置。
【請求項１８】
前記ネットワークは、前記マスタ通信制御部からデータを送信するためのダウンロード用のネットワークと、前記マスタ通信制御部に対してデータを送信するためのアップロード用のネットワークとの２系統のネットワークを有して構成され、
該２系統のネットワークの内の一方のネットワークに異常をきたした場合、その一方のネットワークを用いたデータの通信を停止し、他方のネットワークを用いた時分割の双方向通信を行う
ことを特徴とする請求項１〜請求項１７の何れかに記載の駆動制御装置。
【請求項１９】
前記Ｎ個のスレーブ機器の一部又は全部は、アクチュエータである
ことを特徴とする請求項１〜請求項１８の何れかに記載の駆動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械装置の駆動を制御する駆動制御装置に関する。また、本発明は、機械装置の状態を検出する機械装置状態検出装置に関する。
【背景技術】
【０００２】
多くのアクチュエータを用いたロボットシステムにおいて、ＵＳＢ（Universal Serial Bus）やＣＡＮ（Controller Area Network）などの高速シリアルバスをベースとした体内ＬＡＮ（Local Area Network）を利用することにより、省配線化且つ小型軽量化を実現する技術が提案されている（例えば、下記特許文献１〜３参照）。
【０００３】
下記特許文献３には、ネットワークを介した通信処理を含む分散制御システムのアプリケーションとして、また、センサ入力の信号処理やアクチュエータ出力制御を行う制御システムの技術として、次のような３つの技術が開示されている。
【０００４】
まず、第１の技術として、通信手順や起動タイミングをアプリケーションプログラム内に記述し、必要に応じて各通信処理を関数形式で呼び出すライブラリ方式が開示されている。また、第２の技術として、アプリケーションプログラムと通信処理が共有メモリを介して分離され、それぞれが非同期で独立して動作するメモリ転写方式が開示されている。また、第３の技術として、リアルタイムＯＳ（Operating System）の利用により、アプリケーションや通信処理をマルチタスク処理すると共に、これらの処理モジュールの実行順序やネットワークの状態を管理するモジュール起動制御手段を用いるマルチタスク処理方式が開示されている。
【０００５】
【特許文献１】特開２００２−３２８７０３号公報
【特許文献２】特開２００１−２８７１８１号公報
【特許文献３】特開２０００−５６９８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
多くのアクチュエータを用いた２足歩行や更に高速なモーション制御を体内ＬＡＮシステムで実現するためには、環境やメカニズムの状態を把握するためのデータを各種センサから取得する必要があるとともに、全アクチュエータに対して高速に、その状態等に応じた出力指令を与える必要がある。例えば、一般的に、モータをトルク制御することで、それによって駆動されるメカニズムのモーションをコントロールするためには、トルクに関するデータの受け渡しを１ｍｓ程度の周期で行う必要がある、と言われている。
【０００７】
シリアルバスを用いた場合、配線が簡略化できるという大きなメリットがあるが、多くのアクチュエータを上述のように短い制御周期でコントロールしようとすると、バス上のデータ伝送速度の高速化の必要性が生じる。
【０００８】
ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４やＵＳＢ２．０といった規格における最高伝送速度は４００Ｍｂｐｓ（Mega Bits Per Second）や４８０Ｍｂｐｓといわれており、それらの伝送速度は上記必要性に対応可能といえる。しかしながら、これらの規格に対応するＬＳＩ（Large Scale Integration）のコストは大きく、また、これらの規格は、ＡＶ（Audio Visual）機器やパーソナルコンピュータ用のバスとして開発されたものであるため、機械装置の体内ＬＡＮとして用いることを考えると十分な信頼性があるとは言えない。
【０００９】
信頼性の高いシリアルバス規格として、車載用ＬＡＮで標準的に使用されつつあるＣＡＮがある。しかし、ＣＡＮの伝送速度は最高でも１Ｍｂｐｓであり、ＣＡＮを用いてデータ伝送を従来通りの通信手順で行った場合、１ｍｓという周期で指令値を発行して制御できるアクチュエータの数は、多くても８台程度である。
【００１０】
そこで、本発明は、より多くの機器（アクチュエータ等）を短い周期で制御することができる駆動制御装置を提供することを目的とする。また、本発明は、より多くの機器（アクチュエータ等）の状態を短い周期で検出することができる機械装置状態検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を実現するために本発明に係る駆動制御装置は、Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の駆動を、ネットワークを用いて制御する駆動制御装置であって、前記Ｎ個のスレーブ機器の夫々に対する合計Ｎ個の指令値を次々と受けるマスタ通信制御部と、前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ制御部と、を備え、前記マスタ通信制御部は、各スレーブ制御部に対応する指令値ごとに、今回受けた指令値と前回受けた指令値との差である差分値を演算し、該差分値に応じた差分指令値を出力する差分指令値出力部を備え、各差分指令値を含んだ送信データを次々と前記ネットワークに対して送信し、各スレーブ制御部は、前記送信データを次々と受信し、受信した前記送信データから自身に対応する差分指令値を抽出するフィルタと、抽出された差分指令値に基づいて次々と前記指令値を復元する指令値復元部と、を備えていることを特徴とする。
【００１２】
指令値を差分指令値として伝送する手法を採用することにより、伝送するデータの量を小さく抑えることが可能となる。このため、より多くのスレーブ機器を短い周期で制御することが可能となる。
【００１３】
また、例えば、前記差分指令値出力部は、各スレーブ制御部に対応する指令値ごとに、前記差分値を演算して出力する差分演算部と、与えられた各差分値に対して最小値と最大値の制限を加え、該制限を経て得られた値の夫々を前記差分指令値として出力する最小最大値制限部と、を有する。
【００１４】
そして、例えば、前記最小最大値制限部における、各スレーブ制御部に対応する各差分指令値の算出において、前回の差分指令値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に前記差分演算部が出力する、同一のスレーブ制御部に対応する差分値に加算され、前記最小最大値制限部は、その加算後の各差分値に対して前記制限を加えることにより今回の各差分指令値を算出して出力し、各指令値復元部は、前回復元した指令値と今回受信した差分指令値に基づいて今回の指令値を復元するとよい。
【００１５】
これにより、差分指令値の分解能を必要なだけ確保しつつ、必要な制御周期を確保することができる。
【００１６】
また、例えば、各差分指令値によって表現される数値範囲が互いに異なる複数のモードが設けられており、前記差分指令値出力部が演算する各差分値の大きさに応じて、その各差分値に対応する各差分指令値のモードが差分指令値ごとに択一的に選択される。
【００１７】
これにより、スレーブ制御部側で復元される指令値の応答性や量子化誤差を改善することができる。
【００１８】
また、例えば、前記ネットワークを介しての一回のデータ伝送のデータサイズは定められおり、前記マスタ通信制御部は、Ｍ個（Ｍは２以上の整数であって、Ｎ≧Ｍ）のスレーブ制御部に対する合計Ｍ個の差分指令値を前記データサイズ以内にまとめることによって１つの送信データを作成し、該送信データを前記Ｍ個のスレーブ制御部に対して同時に送信する。
【００１９】
また、例えば、合計Ｍ個の差分指令値を構成する各差分指令値の前記送信データ内のアドレスは予め定められており、前記Ｍ個のスレーブ制御部の各フィルタは、その予め定められたアドレスに従って、受信した前記送信データから自身に対応する差分指令値を抽出する。
【００２０】
また、例えば、前記ネットワークは、第１ネットワーク含む複数系統のネットワークから構成されており、当該駆動制御装置は、第１ネットワークを介して前記マスタ通信制御部に接続された複数の中継装置を更に備え、各中継装置は、第１ネットワークと異なり且つ前記複数の中継装置間で互いに異なる個別の系統の第２ネットワークを介して複数のスレーブ制御部と接続されており、前記マスタ通信制御部は、送信すべき前記送信データに、該送信データが何れの中継装置に受信されるべきであるかを表すメッセージＩＤ情報を含ませ、各中継装置は、前記メッセージＩＤ情報に従って自身に対する送信データを第１ネットワークを介して受信し、受信した該送信データを自身に接続された第２ネットワークに送る。
【００２１】
これらにより、効率的なデータ伝送が実現される。
【００２２】
上記目的を実現するために本発明に係る第１の機械装置状態検出装置は、Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の状態を、ネットワークを用いて検出する機械装置状態検出装置であって、マスタ通信制御部と、前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ状態検出部と、を備え、各スレーブ状態検出部は、自身に対応するスレーブ機器の状態を表す状態値を次々と検出する状態値検出部と、今回検出された状態値と前回検出された状態値との差である差分値を演算し、該差分値に応じた差分状態値を出力する差分状態値出力部と、を備え、前記マスタ通信制御部は、前記ネットワークを介して次々と送られてくる各スレーブ状態検出部に対応する差分状態値に基づいて、次々と各スレーブ状態検出部に対応する状態値を復元する状態値復元部を備えていることを特徴とする。
【００２３】
状態値を差分状態値として伝送する手法を採用することにより、伝送するデータの量を小さく抑えることが可能となる。このため、より多くのスレーブ機器の状態を短い周期で検出することが可能となる。
【００２４】
また、例えば、各差分状態値出力部は、前記差分値を演算して出力する差分演算部と、  与えられた差分値に対して最小値と最大値の制限を加え、該制限を経て得られた値を前記差分状態値として出力する最小最大値制限部と、を有する。
【００２５】
また、例えば、各スレーブ状態検出部において、前回の差分状態値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に前記差分演算部が出力する差分値に加算され、各最小最大値制限部は、その加算後の差分値に対して前記制限を加えることにより今回の差分状態値を算出して出力し、前記状態値復元部は、各スレーブ状態検出部に対応する各状態値の復元において、前回復元した状態値と今回受信した差分状態値に基づいて今回の状態値を復元する。
【００２６】
これにより、差分状態値の分解能を必要なだけ確保しつつ、必要な状態値取得周期を確保することができる。
【００２７】
上記目的を実現するために本発明に係る第２の機械装置状態検出装置は、Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の状態を、ネットワークを用いて検出する機械装置状態検出装置であって、マスタ通信制御部と、前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ状態検出部と、を備え、前記ネットワークは、第１ネットワーク含む複数系統のネットワークから構成されており、当該機械装置状態検出装置は、第１ネットワークを介して前記マスタ通信制御部に接続された複数の中継装置を更に備え、各中継装置は、第１ネットワークと異なり且つ前記複数の中継装置間で互いに異なる個別の系統の第２ネットワークを介して複数のスレーブ状態検出部と接続されており、各スレーブ状態検出部は、自身に対応するスレーブ機器の状態を表す状態値を次々と検出する状態値検出部と、今回検出された状態値と前回検出された状態値との差である差分値を演算して出力する差分演算部と、を備えて、前記差分値を次々と第２ネットワークに送信し、各中継装置は、自身に接続されているスレーブ状態検出部の夫々から第２ネットワークを介して受け取った前記差分値に対して、差分値ごとに、最小値と最大値の制限を加え、該制限を経て得られた値を各スレーブ状態検出部に対応する差分状態値として出力する最小最大値制限部を備えて、各差分状態値を次々と第１ネットワークに送信し、前記マスタ通信制御部は、第１ネットワークを介して次々と送られてくる各スレーブ状態検出部に対応する差分状態値に基づいて、次々と各スレーブ状態検出部に対応する状態値を復元する状態値復元部を備えていることを特徴とする。
【００２８】
そして、例えば、各最小最大値制限部における、各スレーブ状態検出部に対応する各差分状態値の算出において、前回の差分状態値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に同一のスレーブ状態検出部から送られてくる差分値に加算され、各最小最大値制限部は、その加算後の各差分値に対して前記制限を加えることにより今回の各差分状態値を算出して出力し、前記状態値復元部は、各スレーブ状態検出部に対応する各状態値の復元において、前回復元した状態値と今回受信した差分状態値に基づいて今回の状態値を復元する。
【００２９】
これによっても、第１の機械装置状態検出装置と同様の効果を実現することができる。
【００３０】
上記目的を実現するために本発明に係る第３の機械装置状態検出装置は、Ｎ個（Ｎは２以上の整数）のスレーブ機器を有して構成される機械装置の状態を、ネットワークを用いて検出する機械装置状態検出装置であって、マスタ通信制御部と、前記ネットワークを介して前記マスタ通信制御部に接続され、各スレーブ機器に対応して設けられた合計Ｎ個のスレーブ状態検出部と、を備え、前記ネットワークは、第１ネットワーク含む複数系統のネットワークから構成されており、当該機械装置状態検出装置は、第１ネットワークを介して前記マスタ通信制御部に接続された複数の中継装置を更に備え、各中継装置は、第１ネットワークと異なり且つ前記複数の中継装置間で互いに異なる個別の系統の第２ネットワークを介して複数のスレーブ状態検出部と接続されており、各スレーブ状態検出部は、自身に対応するスレーブ機器の状態を表す状態値を次々と検出して第２ネットワークに送信し、各中継装置は、第２ネットワークを介して受けた各スレーブ状態検出部に対応する状態値ごとに、今回受けた状態値と前回受けた状態値との差を表す差分値を演算し、該差分値に応じた差分状態値を出力する差分状態値出力部を備え、各スレーブ状態検出部に対応する差分状態値を次々と第１ネットワークに送信し、前記マスタ通信制御部は、第１ネットワークを介して次々と送られてくる各スレーブ状態検出部に対応する差分状態値に基づいて、次々と各スレーブ状態検出部に対応する状態値を復元する状態値復元部を備えていることを特徴とする。
【００３１】
そして、例えば、各差分状態値出力部は、各スレーブ状態検出部に対応する前記差分値を演算して出力する差分演算部と、各スレーブ状態検出部に対応して与えられた差分値ごとに、最小値と最大値の制限を加え、該制限を経て得られた値を各スレーブ状態検出部に対応する前記差分状態値として出力する最小最大値制限部と、を有する。
【００３２】
更に、例えば、各最小最大値制限部における、各スレーブ状態検出部に対応する各差分状態値の算出において、前回の差分状態値の算出のための前記制限によって前記最小値又は前記最大値を超えた分は、今回に前記差分演算部が出力する、同一のスレーブ状態検出部に対応する差分値に加算され、前記最小最大値制限部は、その加算後の各差分値に対して前記制限を加えることにより今回の各差分状態値を算出して出力し、前記状態値復元部は、各スレーブ状態検出部に対応する各状態値の復元において、前回復元した状態値と今回受信した差分状態値に基づいて今回の状態値を復元する。
【００３３】
これによっても、第１の機械装置状態検出装置と同様の効果を実現することができる。
【００３４】
また、例えば、上記第１、第２及び第３の機械装置状態検出装置において、各差分状態値によって表現される数値範囲が互いに異なる複数のモードが設けられており、演算される各差分値の大きさに応じて、その各差分値に対応する各差分状態値のモードが差分状態値ごとに択一的に選択される。
【００３５】
これにより、マスタ通信制御部側で復元される状態値の応答性や量子化誤差を改善することができる。
【００３６】
また、例えば、上記第２及び第３の機械装置状態検出装置において、前記ネットワークを介しての一回のデータ伝送のデータサイズは定められており、各中継装置は、自身に接続された全てのスレーブ状態検出部に対応する全ての差分状態値を前記データサイズ以内にまとめたデータを、一括して第１ネットワークを介して前記マスタ通信制御部に送るとよい。
【００３７】
これにより、効率的なデータ伝送が実現される。
【００３８】
また、例えば、上記駆動制御装置、並びに上記第１、第２及び第３の機械装置状態検出装置において、前記ネットワークは、前記マスタ通信制御部からデータを送信するためのダウンロード用のネットワークと、前記マスタ通信制御部に対してデータを送信するためのアップロード用のネットワークとの２系統のネットワークを有して構成され、該２系統のネットワークの内の一方のネットワークに異常をきたした場合、その一方のネットワークを用いたデータの通信を停止し、他方のネットワークを用いた時分割の双方向通信を行う。
【００３９】
また、例えば、前記Ｎ個のスレーブ機器の一部又は全部は、アクチュエータである。
【発明の効果】
【００４０】
上述した通り、本発明に係る駆動制御装置によれば、より多くの機器（アクチュエータ等）を短い周期で制御することができる。また、本発明に係る機械装置状態検出装置によれば、より多くの機器（アクチュエータ等）の状態を短い周期で検出することができる。
【発明を実施するための最良の形態】
【００４１】
＜＜第１実施形態＞＞
以下、本発明の第１実施形態に係る機械装置駆動システムについて、図面に沿って具体的に説明する。
【００４２】
図１は、本発明の第１実施形態に係る機械装置駆動システムの全体ブロック図である。図１の機械装置駆動システムは、メイン制御ボード１１と、マスタ制御ユニット（Master Control Unit；以下「ＭＣＵ」という）１２と、合計８個の蓄積制御ユニット（Accumulation Control Unit）ＡＣＵ［ｊ］と、合計６４個のスレーブ制御ユニット（Slave Control Unit）ＳＣＵ［ｉ：ｊ］と、を有して構成されている。
【００４３】
蓄積制御ユニットの符号を表すＡＣＵ［ｊ］の［  ］内のｊは、特に記述しない限り、０〜７の任意の値（８種類の値）をとる。即ち、図１の機械装置駆動システムは、合計８個の蓄積制御ユニットＡＣＵ［０］、ＡＣＵ［１］、ＡＣＵ［２］、ＡＣＵ［３］、ＡＣＵ［４］、ＡＣＵ［５］、ＡＣＵ［６］及びＡＣＵ［７］（以下、夫々を、ＡＣＵ［０］、ＡＣＵ［１］、ＡＣＵ［２］、ＡＣＵ［３］、ＡＣＵ［４］、ＡＣＵ［５］、ＡＣＵ［６］及びＡＣＵ［７］と略記する）を有する。尚、図１においては、ＡＣＵ［０］とＡＣＵ［１］だけを図示しており、ＡＣＵ［２］〜ＡＣＵ［７］の図示を省略している。
【００４４】
スレーブ制御ユニットの符号を表すＳＣＵ［ｉ：ｊ］の［  ］内のｉとｊは、特に記述しない限り、互いに独立して０〜７の任意の値（８種類の値）をとる。８×８＝６４であるから、図１の機械装置駆動システムは、合計６４個のスレーブ制御ユニットＳＣＵ［ｉ：ｊ］を有する。以下、スレーブ制御ユニットＳＣＵ［ｉ：ｊ］を、ＳＣＵ［ｉ：ｊ］と略記する。例えば、（ｉ，ｊ）＝（０，０）のスレーブ制御ユニットＳＣＵ［０：０］については、ＳＣＵ［０：０］と略記される。尚、図１においては、ＳＣＵ［０：０］、ＳＣＵ［１：０］及びＳＣＵ［７：０］並びにＳＣＵ［０：１］、ＳＣＵ［１：１］及びＳＣＵ［７：１］だけを図示しており、その他のスレーブ制御ユニットについての図示を省略している。ｊの値を同じくするＳＣＵ［ｉ：ｊ］は、ＡＣＵ［ｊ］に接続されている。即ち、ＡＣＵ［ｊ］の夫々は、８個のＳＣＵ［ｉ：ｊ］に接続されている。
【００４５】
図１の機械装置駆動システムは、２足歩行が可能なロボットや産業用ロボット等の駆動機構を有する機械装置に内蔵され、それらの機械装置の状態を監視すると共に、その状態を参照しつつ該機械装置の駆動を制御する。上記機械装置は、上記機械装置の一部又は全部を駆動させるためのモータ等のアクチュエータ（不図示）を６４個、有している。合計６４個のＳＣＵ［ｉ：ｊ］の夫々は、合計６４個のアクチュエータ（スレーブ機器）に１対１に対応して接続されている。
【００４６】
ＭＣＵ１２は、メモリ転写方式にてメイン制御ボート１１との間でデータの受け渡しを行うとともに、各アクチュエータの駆動制御に必要なデータの周期的な転送及び転送するデータ（差分指令値）の作成等を行う。また、ＭＣＵ１２は、ＡＣＵ［ｊ］を介してＳＣＵ［ｉ：ｊ］から各アクチュエータの状態の表すデータを取得する。
【００４７】
ＡＣＵ［ｊ］は、ＭＣＵ１２からマルチキャストされるデータの内、自身に接続されているＳＣＵ［ｉ：ｊ］に関係するデータのみを獲得するとともに、自身に接続されている８つのＳＣＵ［ｉ：ｊ］からのデータを１つのフレームデータにまとめた上でＭＣＵ１２に転送する。ＳＣＵ［ｉ：ｊ］は、ＡＣＵ［ｊ］からマルチキャストされるデータの内、自身に関係するデータのみを獲得し、獲得したデータ（後述する差分指令値）から本来のデータ（指令値）を復元すると共に、各アクチュエータの状態の表すデータをＡＣＵ［ｊ］を介してＭＣＵ１２に転送する。
【００４８】
図２に、ＳＣＵ［ｉ：ｊ］の代表として、ＳＣＵ［０：０］の内部構成図を示す。ＳＣＵ［ｉ：ｊ］の夫々の内部構成は、互いに同じとなっている。ＳＣＵ［０：０］（ＳＣＵ［ｉ：ｊ］の夫々）は、自身に接続されているアクチュエータの状態（モータの回転数等）を検出して該状態を表す状態値に関わるデータをＭＣＵ１２側に伝送するためのスレーブ状態検出部４１と、ＭＣＵ１２側から伝送される指令値に関わるデータに従って自身に接続されているアクチュエータの駆動を制御するスレーブ駆動制御部（スレーブ制御部）４２と、を有して構成されている。
【００４９】
一方、図３に示すように、ＭＣＵ１２は、ＳＣＵ［ｉ：ｊ］の夫々からの状態値に関わるデータを受信するための状態値受信部１３と、ＳＣＵ［ｉ：ｊ］の夫々に対して指令値に関わるデータを送信するための指令値送信部１４と、を有して構成されている。状態値受信部１３及び／又は指令値送信部１４は、マスタ通信制御部を構成している。尚、図２及び図３において、図１と同一の部分には同一の符号を付してある。図３に示す他の部位の説明については、後述する。
【００５０】
上記のようなデータ転送を可能とすべく、図１に示すように各部は接続されている。ＭＣＵ１２と合計８個のＡＣＵ［ｊ］は、車載用ＬＡＮ（Local Area Network）として用いられることの多いＣＡＮ（Controller Area Network）を介して接続されている。より具体的には、ＭＣＵ１２と合計８個のＡＣＵ［ｊ］の夫々は、ＭＣＵ１２からのデータをＡＣＵ［ｊ］の夫々に伝送するためのダウンロード用のネットワーク（配線）ＣＡＮ０：Ｈを介して互いに接続されていると共に、ＡＣＵ［ｊ］の夫々からのデータをＭＣＵ１２に伝送するためのアップロード用のネットワーク（配線）ＣＡＮ１：Ｈを介して互いに接続されている。
【００５１】
ｊ＝０〜７の夫々において、ＡＣＵ［ｊ］と合計８個のＳＣＵ［ｉ：ｊ］の夫々は、ＡＣＵ［ｊ］からのデータをＳＣＵ［ｉ：ｊ］の夫々に伝送するためのダウンロード用のネットワーク（配線）ＣＡＮ０［ｊ］Ｌを介して互いに接続されていると共に、ＳＣＵ［ｉ：ｊ］の夫々からのデータをＡＣＵ［ｊ］に伝送するためのアップロード用のネットワーク（配線）ＣＡＮ１［ｊ］Ｌを介して互いに接続されている。
【００５２】
即ち、例えば、ＡＣＵ［０］と合計８個のＳＣＵ［ｉ：０］の夫々は、ＡＣＵ［０］からのデータをＳＣＵ［ｉ：０］の夫々に伝送するためのダウンロード用のネットワーク（配線）ＣＡＮ０［０］Ｌを介して互いに接続されていると共に、ＳＣＵ［ｉ：０］の夫々からのデータをＡＣＵ［０］に伝送するためのアップロード用のネットワーク（配線）ＣＡＮ１［０］Ｌを介して互いに接続されている。ｊ＝１〜７におけるＡＣＵ［ｊ］とＳＣＵ［ｉ：ｊ］の接続関係も、ｊ＝０におけるそれと同様である。
【００５３】
ダウンロード用のネットワーク（配線）の符号を表すＣＡＮ０［ｊ］Ｌの表記中の［  ］内のｊ、及び、アップロード用のネットワーク（配線）の符号を表すＣＡＮ１［ｊ］Ｌの［  ］内のｊは、ＡＣＵ［ｊ］等におけるｊと同じものであり、特に記述しない限り、０〜７の任意の値（８種類の値）をとる。尚、図１においては、ダウンロード用のネットワークＣＡＮ０［ｊ］Ｌ及びアップロード用のネットワークＣＡＮ１［ｊ］Ｌとして、ｊ＝０〜１だけのものを図示している。
【００５４】
ＭＣＵ１２とＡＣＵ［ｊ］の夫々は、上記のネットワークＣＡＮ０：Ｈ及びＣＡＮ１：Ｈを介して、シリアルバスの通信規格であるＣＡＮ（Controller Area Network）のプロトコルに則ったデータのやり取りを行う。同様に、ｊ＝０〜７の夫々において、ＡＣＵ［ｊ］と合計８個のＳＣＵ［ｉ：ｊ］の夫々は、上記のネットワークＣＡＮ０［ｊ］Ｌ及びＣＡＮ１［ｊ］Ｌを介して、通信規格ＣＡＮ（Controller Area Network）のプロトコルに則ったデータのやり取りを行う。
【００５５】
上記のように、ＭＣＵ１２と合計８個のＡＣＵ［ｊ］は、ネットワークＣＡＮ０：Ｈ及びＣＡＮ１：Ｈから成る第１ネットワークを介して接続されており、ｊ＝０〜７の夫々において、ＡＣＵ［ｊ］と合計８個のＳＣＵ［ｉ：ｊ］は、ＣＡＮ０［ｊ］Ｌ及びＣＡＮ１［ｊ］Ｌから成る第２ネットワークを介して接続されている。ＡＣＵ［ｊ］の夫々についての第２ネットワークは、互いに独立した個別の系統のネットワークとなっている。第１ネットワークと第２ネットワークは、図１の機械装置駆動システムを内蔵する機械装置の、所謂体内ＬＡＮを形成している。
【００５６】
ここで、通信規格ＣＡＮについて簡単に説明する。図４は、通信規格ＣＡＮにて伝送される１つのフレームデータのデータ構造を示している。通信規格ＣＡＮの標準フォーマットにおいて、１つのフレームデータは、１０８ビットのデジタルデータから構成されている。各フレームデータは、アービトレーションフィールドやデータフィールド等を含んで構成されており、データフィールドとして最大６４ビットのデータサイズを有する領域が確保されている。このデータフィールドに、ＭＣＵ１２側からの指令値に関わるデータやＳＣＵ［ｉ：ｊ］側からの状態値に関わるデータが格納される。
【００５７】
図５を参照しつつ、各フレームデータのデータフィールドのデータ構成について説明する。上述の如く、データフィールドは最大６４ビットの領域を有するが、これを８等分して用いる。この８等分によって得られる８つの領域は、それぞれ、１バイト（＝８ビット）の領域を有する。この８の領域を、各フレームデータの先頭アドレス側から領域［０］、領域［１］、領域［２］、領域［３］、領域［４］、領域［５］、領域［６］及び領域［７］と呼ぶことにする。また、以下の説明において、領域［ｉ］と記すことがあるが、領域［ｉ］の表記中の［  ］内のｉは、ＳＣＵ［ｉ：ｊ］の表記中のｉと同じものである。
【００５８】
通信規格ＣＡＮにおける伝送速度は最大で１Ｍｂｐｓ（Mega Bits Per Second）となっている。これを考慮し、図６に示す如く、１ｍｓ（ミリ秒）の長さを有する単位期間を定め、１つの単位期間ごとに、ＳＣＵ［ｉ：ｊ］の夫々に１つの「指令値に関するデータ」を与えるようにしている。つまり、ＳＣＵ［ｉ：ｊ］及び該ＳＣＵ［ｉ：ｊ］に接続されているアクチュエータの制御周期を、１ｍｓとしている。１つの単位期間が開始して１ｍｓが経過し、その単位期間が終了すると、直ちに次の単位期間が開始する。
【００５９】
また、各単位期間を長さが１２５μｓ（マイクロ秒）の８つのフレームに等間隔で分ける。そして、長さが１２５μｓの各フレームにおいて、１０８ビット長のフレームデータを伝送するようにする。通信規格ＣＡＮにおける最大伝送速度は１Ｍｂｐｓであるので、１２５μｓの間に１０８ビット長のフレームデータを伝送することは可能である。尚、各単位期間を８つのフレームに分ける際、必ずしも等間隔で分ける必要はない。１ｍｓの各単位期間で８つのフレームデータの伝送を完了できるのであれば、各単位期間をどのように分けても構わない。
【００６０】
また、各単位期間における８つのフレームを、訪れる時間の早い方から順番に、フレーム［０］、フレーム［１］、フレーム［２］、フレーム［３］、フレーム［４］、フレーム［５］、フレーム［６］及びフレーム［７］と呼ぶことにする。以下の説明において、フレーム［ｉ］又はフレーム［ｊ］と記すことがあるが、それらの表記中の［  ］内のｉやｊは、ＡＣＵ［ｊ］やＳＣＵ［ｉ：ｊ］の表記中のｉやｊと同じものである。
【００６１】
（ダウンロード）
図７及び図８を参照して、ＭＣＵ１２側からのデータ（指令値に関わるデータ）をＡＣＵ［ｊ］を介してＳＣＵ［ｉ：ｊ］にダウンロード（伝送）する手法（以下、「ダウンロード手法」という）を説明する。図７は、図１の機械装置駆動システムからダウンロードに関する部分を抜き出した図であり、ダウンロード時のデータの流れを示す図である。図８は、横軸を時間にとり、ダウンロード時のデータの流れを示している。
【００６２】
各単位期間の最初に訪れるフレーム［０］において、ＭＣＵ１２の指令値送信部１４は、ＡＣＵ［０］を送信先としたフレームデータをダウンロード用のネットワークＣＡＮ０：Ｈに送出する。このフレームデータに含まれているデータフィールドのデータをＤＤ［０］と呼ぶことにする。
【００６３】
ＭＣＵ１２の指令値送信部１４は、データＤＤ［０］を含んだフレームデータのアービトレーションフィールド（図４参照）にＡＣＵ［０］に対応したメッセージＩＤ情報（アイデンティファイア）を含ませている。また、ＡＣＵ［ｊ］の夫々には、互いに異なるＩＤ情報が予め設定されてあり、ＡＣＵ［ｊ］の夫々に設定されたＩＤ情報と上記メッセージＩＤ情報とは、１対１に対応している。そして、ＡＣＵ［０］に対応したメッセージＩＤ情報を含んだフレームデータは、ＡＣＵ［０］のみによって受信され、他のＡＣＵ［１］〜ＡＣＵ［７］によっては受信されないようにしている。
【００６４】
ＡＣＵ［０］は、データＤＤ［０］を含んだフレームデータに含まれているメッセージＩＤ情報を参照することにより、そのフレームデータを受信し、受信したフレームデータを、次のフレーム［１］において、ＳＣＵ［ｉ：０］側のネットワークＣＡＮ０［０］Ｌに送る。
【００６５】
ＭＣＵ１２の指令値送信部１４は、データフィールドの領域［ｉ］にＳＣＵ［ｉ：０］に対するデータＤＤ［ｉ：０］を格納することによって、データＤＤ［０］を作成している。即ち、データＤＤ［０］の領域［０］にはＳＣＵ［０：０］に対するデータＤＤ［０：０］が格納されており、データＤＤ［０］の領域［１］にはＳＣＵ［１：０］に対するデータＤＤ［１：０］が格納されており、・・・、データＤＤ［０］の領域［７］にはＳＣＵ［７：０］に対するデータＤＤ［７：０］が格納されている。尚、データＤＤ［ｉ：０］には指令値に関わるデータ（後述する差分指令値）が格納されることになる。
【００６６】
そして、ＳＣＵ［ｉ：０］の夫々において、スレーブ駆動制御部４２は、データＤＤ［０］から領域［ｉ］に格納されているデータＤＤ［ｉ：０］を抽出し、該データＤＤ［ｉ：０］を自身に対するデータとして取り扱う。例えば、ＳＣＵ［０：０］のスレーブ駆動制御部４２は、データＤＤ［０］の領域［０］に格納されているデータＤＤ［０：０］を抽出し、該データＤＤ［０：０］を自身に対するデータとして取り扱う。ＳＣＵ［ｉ：０］が、データＤＤ［０］中のどの領域におけるデータを自身に対するデータとして抽出するか、即ち、フレームデータ（或いは、データＤＤ［０］）内のどのアドレスのデータを自身に対するデータとして抽出するかは、予め設定されている。
【００６７】
各単位期間の２番目のフレームであるフレーム［１］において、ＭＣＵ１２の指令値送信部１４は、ＡＣＵ［１］を送信先としたフレームデータをダウンロード用のネットワークＣＡＮ０：Ｈに送出する。他のフレームについても同様である。即ち、各単位期間のフレーム［ｊ］において、ＭＣＵ１２の指令値送信部１４は、ＡＣＵ［ｊ］を送信先としたフレームデータをダウンロード用のネットワークＣＡＮ０：Ｈに送出する。フレーム［ｊ］において送出されたフレームデータに含まれているデータフィールドのデータをＤＤ[ｊ]と表記する。
【００６８】
ｊ＝０の場合を着目して具体的に説明した上記記載を、０〜７の値をとるｊを用いて記載する。ＭＣＵ１２の指令値送信部１４は、データＤＤ［ｊ］を含んだフレームデータのアービトレーションフィールド（図４参照）にＡＣＵ［ｊ］に対応したメッセージＩＤ情報を含ませている。ＡＣＵ［ｊ］に対応したメッセージＩＤ情報を含んだフレームデータは、ＡＣＵ［ｊ］のみによって受信される。
【００６９】
ＡＣＵ［ｊ］は、データＤＤ［ｊ］を含んだフレームデータに含まれているメッセージＩＤ情報を参照することにより、そのフレームデータを受信し、受信したフレームデータを、次のフレーム［ｊ＋１］において、ＳＣＵ［ｉ：ｊ］側のネットワークＣＡＮ０［ｊ］Ｌに送る。但し、ｊ＝７の場合は、次の単位期間のフレーム［０］において、ＳＣＵ［ｉ：７］側のネットワークＣＡＮ０［７］Ｌに送る。
【００７０】
ＭＣＵ１２の指令値送信部１４は、データフィールドの領域［ｉ］にＳＣＵ［ｉ：ｊ］に対するデータＤＤ［ｉ：ｊ］を格納することによって、データＤＤ［ｊ］を作成している。即ち、データＤＤ［ｊ］の領域［０］にはＳＣＵ［０：ｊ］に対するデータＤＤ［０：ｊ］が格納されており、データＤＤ［ｊ］の領域［１］にはＳＣＵ［１：ｊ］に対するデータＤＤ［１：ｊ］が格納されており、・・・、データＤＤ［ｊ］の領域［７］にはＳＣＵ［７：ｊ］に対するデータＤＤ［７：ｊ］が格納されている。
【００７１】
そして、ＳＣＵ［ｉ：ｊ］において、スレーブ駆動制御部４２は、データＤＤ［ｊ］から領域［ｉ］に格納されているデータＤＤ［ｉ：ｊ］を抽出し、該データＤＤ［ｉ：ｊ］を自身に対するデータとして取り扱う。ＳＣＵ［ｉ：ｊ］が、データＤＤ［ｊ］中のどの領域におけるデータを自身に対するデータとして抽出するか、即ち、フレームデータ（或いは、データＤＤ［ｊ］）内のどのアドレスのデータを自身に対するデータとして抽出するかは、予め設定されている。
【００７２】
上記のようにして、ＳＣＵ［ｉ：ｊ］の夫々は、１ｍｓの単位期間ごとに、１バイトの自身に対するデータＤＤ［ｉ：ｊ］（指令値に関わるデータ）をＭＣＵ１２から受け取る。
【００７３】
（アップロード）
次に、図９及び図１０を参照して、ＳＣＵ［ｉ：ｊ］側からのデータ（状態値に関わるデータ）をＡＣＵ［ｊ］を介してＭＣＵ１２にアップロードする手法（以下、「アップロード手法」という）を説明する。図９は、図１の機械装置駆動システムからアップロードに関する部分を抜き出した図であり、アップロード時のデータの流れを示す図である。図１０は、横軸を時間にとり、アップロード時のデータの流れを示している。
【００７４】
まず、ＡＣＵ［０］に着目し、ＡＣＵ［０］に接続されたＳＣＵ［ｉ：０］からのデータがＭＣＵ１２に伝達される流れを説明する。各単位期間の最初に訪れるフレーム［０］において、ＳＣＵ［０：０］のスレーブ状態検出部４１は、自身に対応するアクチュエータの最新の状態値に関わるデータＤＵ［０：０］を、アップロード用のネットワークＣＡＮ１［０］Ｌに送出する。このデータＤＵ［０：０］も、６４ビット長を有するデータフィールドに収められ、通信規格ＣＡＮに則ったフレームデータとして、アップロード用のネットワークＣＡＮ１［０］Ｌに送出される。
【００７５】
各単位期間の２番目に訪れるフレーム［１］において、ＳＣＵ［１：０］のスレーブ状態検出部４１は、ＳＣＵ［０：０］と同様に、自身に対応するアクチュエータの最新の状態値に関わるデータＤＵ［１：０］を、フレームデータに含ませた上でアップロード用のネットワークＣＡＮ１［０］Ｌに送出する。他のＳＣＵ［２：０］〜ＳＣＵ［７：０］についても同様である。即ち、ｉを用いて表現すると、各単位期間のフレーム［ｉ］において、ＳＣＵ［ｉ：０］のスレーブ状態検出部４１は、自身に対応するアクチュエータの最新の状態値に関わるデータＤＵ［ｉ：０］を、フレームデータに含ませた上でアップロード用のネットワークＣＡＮ１［０］Ｌに送出する。
【００７６】
ＡＣＵ［０］は、ＳＣＵ［ｉ：０］からの８つのデータＤＵ［ｉ：０］を受信し、それらのデータを６４ビット長のデータサイズにまとめる。このまとめたデータをＤＵ［０］と呼ぶ。そして、次の単位期間の２番目に訪れるフレーム［１］において、データＤＵ［０］を含んだフレームデータを、アップロード用のネットワークＣＡＮ１：Ｈに送出する。このデータＤＵ［０］を含んだフレームデータは、ＭＣＵ１２の状態値受信部１３（図３参照）によって受信される。
【００７７】
ＡＣＵ［１］、ＡＣＵ［２］、・・・及びＡＣＵ［７］についても、夫々、ＡＣＵ［０］と同様に、自身に接続されているＳＣＵ［ｉ：１］、ＳＣＵ［ｉ：２］、・・・及びＳＣＵ［ｉ：７］から、アップロード用のネットワークＣＡＮ１［１］Ｌ、ＣＡＮ１［２］Ｌ、・・・及びＣＡＮ１［７］Ｌを介して、８つのデータＤＵ［ｉ：１］、ＤＵ［ｉ：２］、・・・及びＤＵ［ｉ：７］を受信し、受信した８つのデータＤＵ［ｉ：１］、ＤＵ［ｉ：２］、・・・及びＤＵ［ｉ：７］を、各々６４ビット長のデータサイズにまとめる。このまとめたデータを、それぞれＤＵ［１］、ＤＵ［２］、・・・及びＤＵ［７］と呼ぶ。
【００７８】
但し、ＡＣＵ［１］に関しては、フレーム［１］を起点とした連続する８フレームを用いてデータＤＵ［０：１］〜ＤＵ［７：１］がＡＣＵ［１］に伝送され、データＤＵ［７：１］が伝送されるフレームから２フレーム分、後に訪れるフレームにおいて、データＤＵ［０：１］〜ＤＵ［７：１］をまとめたデータＤＵ［１］がフレームデータとしてアップロード用のネットワークＣＡＮ１：Ｈに送出される。
【００７９】
ｊを用いて表現すると、ＡＣＵ［ｊ］に関しては、フレーム［ｊ］を起点とした連続する８フレームを用いてデータＤＵ［０：ｊ］〜ＤＵ［７：ｊ］がＡＣＵ［ｊ］に伝送される。そして、データＤＵ［７：ｊ］が伝送されるフレームから２フレーム分、後に訪れるフレームにおいて、データＤＵ［０：ｊ］〜ＤＵ［７：ｊ］をまとめたデータＤＵ［ｊ］がフレームデータとしてアップロード用のネットワークＣＡＮ１：Ｈに送出される。
【００８０】
このため、各単位期間において、ＤＴ［７］を含むフレームデータ、ＤＵ［０］を含むフレームデータ、ＤＵ［１］を含むフレームデータ、ＤＵ［２］を含むフレームデータ、ＤＵ［３］を含むフレームデータ、ＤＵ［４］を含むフレームデータ、ＤＵ［５］を含むフレームデータ、ＤＵ［６］を含むフレームデータが、この順番でアップロード用のネットワークＣＡＮ１：Ｈを介してＭＣＵ１２に伝送されることになる。
【００８１】
上記のようにして、ＭＣＵ１２の状態値受信部１３は、１ｍｓの単位期間ごとに、ＳＣＵ［ｉ：ｊ］の夫々に対応する状態値に関わるデータ（データＤＵ［ｉ：ｊ］そのもの、又はデータＤＵ［ｉ：ｊ］を加工したデータ）を、ＳＣＵ［ｉ：ｊ］の夫々から受け取る。
【００８２】
図３は、メイン制御ボート１１とＭＣＵ１２の内部構成を表したブロック図である。メイン制御ボート１１とＭＣＵ１２は、コネクタ１６及び１７を介して相互にデータ転送が可能なように接続されている。メイン制御ボート１１の主制御部１５から必要なコマンドがコネクタ１６及び１７を介してコマンドレジスタ１８に送られ、コマンド解釈部２０は、そのコマンドに従って指令値送信部１４や状態値受信部１３を制御する。
【００８３】
状態値受信部１３は、アップロード用のネットワークＣＡＮ１：Ｈを介して、データＤＵ［０］〜ＤＵ［７］を含んだフレームデータを次々と受信し、それらのデータに含まれる状態値に関わるデータＤＵ［ｉ：ｊ］の夫々に対して、必要な処理を施し、ＳＣＵ［ｉ：ｊ］が検出した状態値の夫々を復元する。そして、復元した状態値の夫々を復元状態値として次々とデータレジスタ１９に格納していく。１つのＳＣＵ［ｉ：ｊ］についてのデータＤＵ［ｉ：ｊ］は、１ｍｓごとに受信されるため、１つのＳＣＵ［ｉ：ｊ］についての復元状態値は１ｍｓごとにデータレジスタ１９に格納される（例えば、上書きされつつ格納される）。主制御部１５は、必要なタイミングにデータレジスタ１９に格納されている復元状態値を読み取ることにより、ＳＣＵ［ｉ：ｊ］の夫々についての復元状態値を取得する。
【００８４】
主制御部１５は、ＳＣＵ［ｉ：ｊ］に接続されている合計６４個のアクチュエータの夫々への指令値を発行する。これらの指令値は、ＳＣＵ［ｉ：ｊ］の夫々に対する指令値と捉えることもできる。この際、同一のＳＣＵ［ｉ：ｊ］についての復元状態値に基づきつつ、各指令値を発行するようにしてもよい。主制御部１５が発行した各指令値は、コネクタ１６及び１７を介してデータレジスタ１９に次々と格納される。
【００８５】
指令値送信部１４は、データレジスタ１９からＳＣＵ［ｉ：ｊ］の夫々に対する指令値を読み取り、各指令値に対して必要な処理を施す。この処理の手法については、後に詳説するが、該処理によってＳＣＵ［ｉ：ｊ］の夫々に対する差分指令値を得る。指令値送信部１４は、ＳＣＵ［ｉ：ｊ］の夫々に対する差分指令値を、データＤＤ［ｉ：ｊ］としてフレームデータに収め、上述のダウンロード手法に従ってダウンロード用のネットワークＣＡＮ０：Ｈに送出する。上述の如く、１つのＳＣＵ［ｉ：ｊ］についてのデータＤＤ［ｉ：ｊ］は、１ｍｓごとに送られるため、例えば、主制御部１５はＳＣＵ［ｉ：ｊ］の夫々に対する指令値を１ｍｓごとに更新してデータレジスタ１９に書き込む（勿論、指令値に変更がない場合は更新の必要はない）。
【００８６】
（指令値の復元手法）
図１１及び図１２を参照して、メイン制御ボード１１が発行した指令値がＳＣＵ［ｉ：ｊ］にて復元される動作を説明する。図１１は、ＭＣＵ１２の指令値送信部１４（図３参照）と、或る１つのＳＣＵ［ｉ：ｊ］におけるスレーブ駆動制御部４２の内部構成を示すブロック図である。図１２は、指令値の流れを表した図である。図１１において、他の図と同じ部分には同一の符号を付し、原則として重複する説明を省略する。今、説明の具体化のため、ＳＣＵ［０：０］のみに着目して説明を行う。ＳＣＵ［０：０］以外の他のＳＣＵ［ｉ：ｊ］についても別途、同様の動作が行われる（例えば時分割で行われる）。また、ＳＣＵ［０：０］に接続されているアクチュエータがモータ（不図示）であり、ＳＣＵ［０：０］は該モータの回転数を制御するものとして説明を行う。そして、指令値は、モータの回転数（単位はｒｐｍ；Revolution Per Minute）を示しているものとする。
【００８７】
指令値送信部１４は、変換部２３、格納部２４、差分演算部２５、最小最大値制限部２６及び通信プロトコル制御部２９を有して構成される。スレーブ駆動制御部４２は、フィルタ３１、指令値復元部３２及びアクチュエータ制御部３３を有して構成される。指令値復元部３２は、更に復元器３４及び変換部３５を有している。
【００８８】
指令値送信部１４は、１ｍｓの単位期間ごとにデータレジスタ１９からＳＣＵ［０：０］についての指令値を受ける。その指令値は変換部２３に送られる。変換部２３は、データレジスタ１９から受ける指令値を所望のビット数のデジタル値に変換して出力する。今の場合、指令値を所定の変換値（約６．０５）で割ったものを出力している。この際、実際に指令値を変換値で割るのではなく、テーブルデータ等を用いることによって同等のデータを出力するようにしてもよい。尚、データレジスタ１９に格納されている指令値が既に所望のビット数となっている場合は、変換部２３を省略可能である。ＳＣＵ［０：０］に対応する指令値は、１ｍｓごとに該変換を受けて格納部２４に出力される。
【００８９】
変換部２３が出力する上記変換後の指令値（以下、「変換指令値」という）は、一時的に格納部２４に記憶される。格納部２４は、今回変換部２３から出力された変換指令値と前回変換部２３から出力された変換指令値とを記憶する。差分演算部２５は、格納部２４の記憶内容を参照して、今回の変換部２３の出力値（変換指令値）から前回の変換部２３の出力値（変換指令値）を差し引いた値（これを、以下「差分値Ａ１」という）を演算して出力する。
【００９０】
図１２を参照して説明を具体化する。ｐ（ｐは整数）番目の単位期間に至るまでの指令値が継続して「０」に維持されていたとする。そして、ｐ番目の単位期間に指令値が「０」から「２０００」に変化したとする。これは、ＳＣＵ［０：０］によって制御されるモータの回転数が０ｒｐｍから２０００ｒｐｍになることを、メイン制御ボート１１が求めていることに相当する。この場合、ｐ番目の単位期間において、変換部２３は変換指令値として３３１（≒２０００／６．０５）を出力する。ｐ番目の単位期間より前の単位期間においては、変換部２３は変換指令値として０を出力しているため、ｐ番目の単位期間において、差分演算部２５は差分値Ａ１として３３１を出力する。
【００９１】
そして、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間における指令値が「２０００」に維持されているとする。そうすると、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、変換指令値は全て「３３１」となり、差分演算部２５が出力する差分値Ａ１は全て「０」となる。
【００９２】
最小最大値制限部２６は、差分演算部２５が出力する差分値Ａ１を受け、その差分値Ａ１に最大値と最小値の制限を加える。そして、その制限を経て得られた値を差分指令値として出力する。上記制限における最大値及び最小値は、差分指令値を８ビットで表現するべく、それぞれ１２４及び−１２４となっている。このため、ｐ番目の単位期間において、最小最大値制限部２６は「１２４」の差分指令値を出力する。
【００９３】
差分指令値の算出のための制限によって上記最大値と最小値を超えた分は、次回に差分演算部２５が出力する差分値Ａ１に加算される。図１３に、最小最大値制限部２６の具体的な構成の一例を示す。図１３において、最小最大値制限部２６は、加算器２７と制限器２８とを有して構成される。加算器２７は、差分演算部２５が出力する差分値Ａ１に制限器２８が出力する制限超指令値を加えたものを制限器２８に出力する。制限器２８は、加算器２７の出力値に上記最大値と最小値の制限を加えたものを上記差分指令値として出力するとともに、その制限によって超えた分を制限超指令値として加算器２７に出力する。
【００９４】
上記のように構成することにより、ｐ番目の単位期間において、制限器２８（最小最大値制限部２６）は「１２４」の差分指令値を出力すると共に「２０７」（＝３３１−１２４）の制限超指令値を出力する。
【００９５】
（ｐ＋１）番目の単位期間においては、加算器２７が差分演算部２５の出力値「０」と制限器２８の出力値「２０７」との加算値「２０７」を制限器２８に出力する。このため、（ｐ＋１）番目の単位期間において、制限器２８は「１２４」の差分指令値を出力すると共に「８３」（＝２０７−１２４）の制限超指令値を出力する。
【００９６】
（ｐ＋２）番目の単位期間においては、加算器２７が差分演算部２５の出力値「０」と制限器２８の出力値「８３」との加算値「８３」を制限器２８に出力する。このため、（ｐ＋２）番目の単位期間において、制限器２８は「８３」の差分指令値を出力すると共に「０」の制限超指令値を出力する。（ｐ＋３）番目の単位期間以降は、指令値が変動しない限り、差分指令値は「０」となる。
【００９７】
ｐ番目の単位期間に最小最大値制限部２６から出力されたＳＣＵ［０：０］についての差分指令値は、通信プロトコル制御部２９に送られる。通信プロトコル制御部２９は、ＳＣＵ［０：０］についての差分指令値をデータＤＤ［０：０］として取り扱うと共に、同様に自身に与えられるＳＣＵ［１：０］〜ＳＣＵ［７：０］についての差分指令値をデータＤＤ［１：０］〜［７：０］と取り扱って、データＤＤ［０］を形成する（図８等参照）。そして、データＤＤ［０］を含んだフレームデータを、上述のダウンロード手法に従って、コネクタ等から成る物理的インターフェイス（不図示）を介してダウンロード用のネットワークＣＡＮ０：Ｈに送出する。（ｐ＋１）番目の単位期間、（ｐ＋２）番目の単位期間、・・・においても、同様にデータＤＤ［０］を含んだフレームデータが送出される。
【００９８】
ＳＣＵ［０：０］のフィルタ３１は、データＤＤ［０］を含んだフレームデータからデータＤＤ［０：０］を抽出し、該データＤＤ［０：０］を自身に対する差分指令値として取り扱う。従って、ＳＣＵ［０：０］は、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間における差分指令値として、１２４、１２４、８３及び０を受信する。フィルタ３１によって抽出された差分指令値は、次々と復元器３４に送られる。
【００９９】
復元器３４は、前回の単位期間における自身の出力値と今回の単位期間におけるフィルタ３１の出力値（差分指令値）との和を、今回の単位期間における自身の出力値として出力する。上述の如く、ｐ番目の単位期間に至るまでの指令値は継続して「０」に維持されていたため、ｐ番目の単位期間に至るまでのフィルタ３１と復元器３４の出力値は、双方「０」となっている。
【０１００】
ｐ番目の単位期間において、フィルタ３１の出力値（差分指令値）は１２４であるため、復元器３４は、（ｐ−１）番目の単位期間における自身の出力値（即ち、０）とｐ番目の単位期間におけるフィルタ３１の出力値１２４との和である１２４を出力する。（ｐ＋１）番目の単位期間において、フィルタ３１の出力値（差分指令値）は１２４であるため、復元器３４は、ｐ番目の単位期間における自身の出力値（即ち、１２４）と（ｐ＋１）番目の単位期間におけるフィルタ３１の出力値１２４との和である２４８を出力する。同様にして、復元器３４は、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、それぞれ３３１及び３３１を出力する。
【０１０１】
変換部３５は、各単位期間において、指令値送信部１４側の変換部２３が用いた上記所定の変換値（約６．０５）と同じ変換値を復元器３４の出力値に乗じたものを、復元指令値として出力する。尚、この際、実際に復元器３４の出力値に上記変換値を乗じるのではなく、テーブルデータ等を用いることによって同等のデータを出力するようにしてもよい。これにより、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、変換部３５は、それそれ７５０、１５００、２００２及び２００２の復元指令値を出力することになる。この復元指令値は、指令値送信部１４における指令値をＳＣＵ［０：０］側において復元したものとなっている。
【０１０２】
アクチュエータ制御部３３は、変換部３５の出力値である復元指令値に従ってＳＣＵ［０：０］の制御対象であるモータ（アクチュエータ）の動作を制御する。つまり、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、該モータの回転数が夫々７５０、１５００、２００２及び２００２ｒｐｍとなるように、該モータを制御する。
【０１０３】
この後、指令値送信部１４に与えられる指令値が「２０００」に維持されている状態から、図１２に示す如く、ｑ番目の単位期間において該指令値が「−１０００」に変化し、以後、該指令値が「−１０００」に維持されたとする（但し、ｑは整数であって、ｑ＞（ｐ＋３）が成立）。この場合、ｑ番目以降の単位期間において、変換部２３の出力値は−１６５となり、ｑ番目の単位期間において差分演算部２５が出力する差分値Ａ１は−４９６になる。この差分値Ａ１は、最小値「−１２４」による制限を受けるため、ｑ、（ｑ＋１）、（ｑ＋２）及び（ｑ＋３）番目の単位期間における最小最大値制限部２６の出力値（差分指令値）は、全て「−１２４」となる。
【０１０４】
「−１２４」の差分指令値は、ＳＣＵ［０：０］に伝送され、上述と同様の処理によってｑ、（ｑ＋１）、（ｑ＋２）及び（ｑ＋３）番目の単位期間における復元指令値は、夫々１２５２、５０２、−２４８及び−９９８となる。アクチュエータ制御部３３は、ｑ、（ｑ＋１）、（ｑ＋２）及び（ｑ＋３）番目の単位期間において、モータの回転数が夫々１２５２、５０２、−２４８及び−９９８ｒｐｍとなるように、該モータを制御する。
【０１０５】
図１４に、図１２にて示した数値例におけるモータの回転数の変化を示す。図１４の左側のグラフに示されるＭＣＵ１２側の指令値のステップ状の変化は、図１４の右側のグラフに示すようにＳＣＵ［０：０］に伝達される。図１４からも分かるように、場合によっては、モータの回転数の立ち上がり及び立ち下がりに遅れが生じてしまう。また、図１２からも分かるように、ＭＣＵ１２側の指令値と、ＳＣＵ［０：０］で復元した指令値に、量子化誤差に起因した誤差が生じてしまい、復元指令値がＭＣＵ１２側の指令値に収束しない場合がある（例えば、２０００の指令値に対応する復元指令値が２００２になっている）。これらの問題を解決する手法については、後に第２実施形態として説明する。
【０１０６】
ＳＣＵ［０：０］に対応するアクチュエータの駆動制御と同様に、ＳＣＵ［ｉ：ｊ］に接続された合計６４個のアクチュエータの駆動制御がＭＣＵ１２側からの指令値に応じて行われ、図１の機械装置駆動システムを内蔵した機械装置の全体的な駆動が制御される。
【０１０７】
（状態値の復元手法）
次に、図１５及び図１６を参照して、ＳＣＵ［ｉ：ｊ］が検出したアクチュエータの状態値をＭＣＵ１２側にて復元する手法を説明する。この手法は、図１１及び図１２を参照して説明した指令値の復元手法と同様である。図１５は、或る１つのＳＣＵ［ｉ：ｊ］におけるスレーブ状態検出部４１と、そのＳＣＵ［ｉ：ｊ］に接続されているＡＣＵ［ｊ］と、ＭＣＵ１２の状態値受信部１３（図３参照）の内部構成を示すブロック図である。図１６は、状態値の流れを表した図である。図１５において、他の図と同じ部分には同一の符号を付し、原則として重複する説明を省略する。今、説明の具体化のため、ＳＣＵ［０：０］とＡＣＵ［０］のみに着目して説明を行う。ＳＣＵ［０：０］以外の他のＳＣＵ［ｉ：ｊ］及びＡＣＵ［０］以外の他のＡＣＵ［ｊ］についても別途、同様の動作が行われる。また、ＳＣＵ［０：０］に接続されているアクチュエータがモータ（不図示）であり、ＳＣＵ［０：０］は該モータの回転数を制御するものとして説明を行う。そして、そのモータの状態を表す状態値は、モータの回転数（単位はｒｐｍ）を示しているものとする。
【０１０８】
状態値受信部１３は、通信プロトコル制御部８１、状態値復元部８２を有して構成される。状態値復元部８２は、更に復元器８４及び変換部８５を有している。
【０１０９】
スレーブ状態検出部４１は、状態値検出部７２を有している。ＡＣＵ［０］は、通信プロトコル制御部７９を有している。変換部７３、格納部７４、差分演算部７５及び最小最大値制限部７６は、下記の第１、第２、第３及び第４の分配手法の何れかにて、ＳＣＵ［０：０］のスレーブ状態検出部４１又はＡＣＵ［０］に分配される。
【０１１０】
第１の分配手法においては、スレーブ状態検出部４１が変換部７３、格納部７４、差分演算部７５及び最小最大値制限部７６の全てを有する。この場合、最小最大値制限部７６の出力値がアップロード用のネットワークＣＡＮ１［０］Ｌを介してＡＣＵ［０］の通信プロトコル制御部７９に与えられることになる。
【０１１１】
第２の分配手法においては、スレーブ状態検出部４１が変換部７３、格納部７４及び差分演算部７５を有し、ＡＣＵ［０］が最小最大値制限部７６を有する。この場合、差分演算部７５の出力値がアップロード用のネットワークＣＡＮ１［０］Ｌを介してＡＣＵ［０］の最小最大値制限部７６に与えられることになる。
【０１１２】
第３の分配手法においては、スレーブ状態検出部４１が、変換部７３を有し、ＡＣＵ［０］が格納部７４、差分演算部７５及び最小最大値制限部７６を有する。この場合、変換部７３の出力値がアップロード用のネットワークＣＡＮ１［０］Ｌを介してＡＣＵ［０］の格納部７４に与えられることになる。
【０１１３】
第４の分配手法においては、ＡＣＵ［０］が変換部７３、格納部７４、差分演算部７５及び最小最大値制限部７６の全てを有する。この場合、状態値検出部７２の出力値がアップロード用のネットワークＣＡＮ１［０］Ｌを介してＡＣＵ［０］の変換部７３に与えられることになる。
【０１１４】
第１、第２、第３及び第４の分配手法の何れを採用しても構わないが、以下、第１の分配手法を採用した場合を例にとって説明を行う。尚、ＳＣＵ［０：０］以外の他のＳＣＵ［ｉ：ｊ］とＡＣＵ［０］以外の他のＡＣＵ［ｊ］との関係についても、第１、第２、第３及び第４の分配手法の何れかを採用可能である。
【０１１５】
状態値検出部７２は、１ｍｓの単位期間ごとに、周知の手法を用いてＡＣＵ［０］に対応するモータの回転数を検出する。検出した該回転数は、ＡＣＵ［０］に対応するアクチュエータの状態を表す状態値である。その状態値（回転数を表す数値）は変換部７３に送られる。変換部７３は、状態値検出部７２から受ける状態値を所望のビット数のデジタル値に変換して出力する。今の場合、状態値を所定の変換値（約６．０５）で割ったものを出力している。この際、実際に状態値を変換値で割るのではなく、テーブルデータ等を用いることによって同等のデータを出力するようにしてもよい。尚、状態値検出部７２が出力する状態値が既に所望のビット数のデジタル値となっている場合は、変換部７３を省略可能である。ＳＣＵ［０：０］に対応する状態値は、１ｍｓごとに該変換を受けて格納部７４に出力される。
【０１１６】
変換部７３が出力する上記変換後の状態値（以下、「変換状態値」という）は、一時的に格納部７４に記憶される。格納部７４は、今回変換部７３から出力された変換状態値と前回変換部２３から出力された変換状態値とを記憶する。差分演算部７５は、格納部７４の記憶内容を参照して、今回の変換部７３の出力値（変換状態値）から前回の変換部７３の出力値（変換状態値）を差し引いた値（これを、以下「差分値Ａ２」という）を演算して出力する。
【０１１７】
図１６を参照して説明を具体化する。ｐ（ｐは整数）番目の単位期間に至るまでの状態値が継続して「０」に維持されていたとする。そして、ｐ番目の単位期間に状態値が「０」から「２０００」に変化したとする。この場合、ｐ番目の単位期間において、変換部７３は変換状態値として３３１（≒２０００／６．０５）を出力する。ｐ番目の単位期間より前の単位期間においては、変換部７３は変換状態値として０を出力しているため、ｐ番目の単位期間において、差分演算部７５は差分値Ａ２として３３１を出力する。
【０１１８】
そして、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間における状態値が「２０００」に維持されているとする。そうすると、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、変換状態値は全て「３３１」となり、差分演算部７５が出力する差分値Ａ２は全て「０」となる。
【０１１９】
最小最大値制限部７６は、差分演算部７５が出力する差分値Ａ２を受け、その差分値Ａ２に最大値と最小値の制限を加える。そして、その制限を経て得られた値を差分状態値として出力する。上記制限における最大値及び最小値は、差分状態値を８ビットで表現するべく、それぞれ１２４及び−１２４となっている。このため、ｐ番目の単位期間において、最小最大値制限部７６は「１２４」の差分状態値を出力する。
【０１２０】
差分状態値の算出のための制限によって上記最大値と最小値を超えた分は、次回に差分演算部７５が出力する差分値Ａ２に加算される。図１７に、最小最大値制限部７６の具体的な構成の一例を示す。図１７において、最小最大値制限部７６は、加算器７７と制限器７８とを有して構成される。加算器７７は、差分演算部７５が出力する差分値Ａ２に制限器７８が出力する制限超状態値を加えたものを制限器７８に出力する。制限器７８は、加算器７７の出力値に上記最大値と最小値の制限を加えたものを上記差分状態値として出力するとともに、その制限によって超えた分を制限超状態値として加算器７７に出力する。
【０１２１】
上記のように構成することにより、ｐ番目の単位期間において、制限器７８（最小最大値制限部７６）は「１２４」の差分状態値を出力すると共に「２０７」（＝３３１−１２４）の制限超状態値を出力する。
【０１２２】
（ｐ＋１）番目の単位期間においては、加算器７７が差分演算部７５の出力値「０」と制限器７８の出力値「２０７」との加算値「２０７」を制限器７８に出力する。このため、（ｐ＋１）番目の単位期間において、制限器７８は「１２４」の差分状態値を出力すると共に「８３」（＝２０７−１２４）の制限超状態値を出力する。
【０１２３】
（ｐ＋２）番目の単位期間においては、加算器７７が差分演算部７５の出力値「０」と制限器７８の出力値「８３」との加算値「８３」を制限器７８に出力する。このため、（ｐ＋２）番目の単位期間において、制限器７８は「８３」の差分状態値を出力すると共に「０」の制限超状態値を出力する。（ｐ＋３）番目の単位期間以降は、状態値が変動しない限り、差分状態値は「０」となる。
【０１２４】
ｐ番目の単位期間に最小最大値制限部７６から出力されたＳＣＵ［０：０］についての差分状態値は、ＡＣＵ［０］の通信プロトコル制御部７９に送られる。通信プロトコル制御部７９は、ＳＣＵ［０：０］についての差分状態値をデータＤＵ［０：０］として取り扱うと共に、同様に自身に与えられるＳＣＵ［１：０］〜ＳＣＵ［７：０］についての差分状態値をデータＤＵ［１：０］〜［７：０］と取り扱って、データＤＵ［０］を形成する（図１０等参照）。そして、データＤＵ［０］を含んだフレームデータを、上述のアップロード手法に従って、アップロード用のネットワークＣＡＮ１：Ｈに送出する。（ｐ＋１）番目の単位期間、（ｐ＋２）番目の単位期間、・・・においても、同様にデータＤＵ［０］を含んだフレームデータが送出される。
【０１２５】
状態値受信部１３の通信プロトコル制御部８１は、データＤＵ［０］を含んだフレームデータから８つのデータＤＵ［０：０］〜データＤＵ［７：０］を取得する。そして、データＤＵ［ｉ：０］を、ＳＣＵ［ｉ：０］についての差分状態値として取り扱う。データＤＵ［０：０］に着目して説明を継続するが、他のデータＤＵ［１：０］〜ＤＵ［７：０］（更には、他の全てのデータＤＵ［ｉ：ｊ］）についても、例えば時分割で同様の処理が施される。
【０１２６】
通信プロトコル制御部８１は、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間におけるＳＣＵ［０：０］の差分状態値として、１２４、１２４、８３及び０を取得し、それらの差分状態値を次々と復元器８４に出力する。
【０１２７】
ｐ番目の単位期間において、通信プロトコル制御部８１の出力値（ＳＣＵ［０：０］の差分状態値）は１２４であるため、復元器８４は、（ｐ−１）番目の単位期間における自身の出力値（即ち、０）とｐ番目の単位期間における通信プロトコル制御部８１の出力値１２４との和である１２４を出力する。（ｐ＋１）番目の単位期間において、通信プロトコル制御部８１の出力値（ＳＣＵ［０：０］の差分状態値）は１２４であるため、復元器８４は、ｐ番目の単位期間における自身の出力値（即ち、１２４）と（ｐ＋１）番目の単位期間における通信プロトコル制御部８１の出力値１２４との和である２４８を出力する。同様にして、復元器８４は、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、それぞれ３３１及び３３１を出力する。
【０１２８】
変換部８５は、各単位期間において、変換部７３が用いた上記所定の変換値（約６．０５）と同じ変換値を復元器８４の出力値に乗じたものを、復元状態値として出力する。尚、この際、実際に復元器８４の出力値に上記変換値を乗じるのではなく、テーブルデータ等を用いることによって同等のデータを出力するようにしてもよい。これにより、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、変換部８５は、それそれ７５０、１５００、２００２及び２００２の復元状態値を出力することになる。この復元状態値は、ＳＣＵ［０：０］にて検出された状態値を、ＭＣＵ１２側にて復元したものとなっている。
【０１２９】
変換部８５の出力値は、状態値受信部１３からの復元状態値としてデータレジスタ１９に格納され、必要に応じてメイン制御ボード１１の主制御部１５に参照される。これにより、主制御部１５は、ＳＣＵ［０：０］に対応するアクチュエータ（モータ）の状態を認識する。同様にして、ＳＣＵ［ｉ：ｊ］に対応する合計６４個のアクチュエータの状態を認識する。これにより、図１の機械装置駆動システムを適用した機械装置の全体的な状態が検出される。
【０１３０】
上記の例では、メイン制御ボート１１の主制御部１５（図３）の発行する指令値が、モータの回転数が追従すべき値そのものとなっているが、復元状態値にて表されるモータの回転数と主制御部１５が希望するモータの回転数との誤差（モータシステムに対する所謂「操作量」）を指令値として発行するようにしても構わない。この場合、指令値は、復元状態値に基づいて発行されることになる。ＳＣＵ［０：０］は、その誤差を表す指令値を復元した復元指令値に従い該誤差がゼロに収束するようにモータを制御する。これにより、実際のモータの回転数は、主制御部１５が希望するモータの回転数に追従することになる。
【０１３１】
説明の単純化等を目的として、図１２及び図１４に示すような急激なステップ応答を例にしたが、機械装置のモーション制御（動作制御）において、モータの速度指令値（回転数についての指令値）やトルク指令値（トルクについての指令値）は、通常、連続性を有している。更に、制御性能を向上させるべく指令値を与える制御周期（上記の単位期間）を短くすれば、各指令値間の差分は小さくなる。従って、上記の如く、ＭＣＵ１２からＳＣＵ［ｉ：ｊ］に差分指令値という形で指令値を伝送すれば、１回で送信する必要のあるデータの量を、指令値の値を直接伝送する場合よりも小さくすることができる。つまり、指令値を差分指令値として伝送する手法を採用することにより、制御周期を短くすることができ機械装置の制御性能が向上する。換言すれば、制御性能を劣化させることなく、ＭＣＵ１２とＳＣＵ［ｉ：ｊ］とを接続するネットワークへの速度要求を緩和することができる。このことは、状態値に関しても同様であり、状態値を差分状態値として伝送する手法を採用することにより、状態値を取得する周期（上記制御周期に等しい）を短くすることができ、また上記速度要求を緩和することもできる。状態値を取得する周期の短縮は、結果的に機械装置の制御性能を向上させる。
【０１３２】
また、ネットワークを介して伝送される差分指令値や差分状態値に上限と下限を設けることにより、差分指令値や差分状態値の分解能を必要なだけ確保しつつ、必要な制御周期を確保することができる。上限と下限を設けることにより、指令値のステップ状の変化に対する遅れが生じうるが（図１４参照）、それらの遅れは機械装置の有する機械的な時定数と比較すると無視できる範囲にあり、問題は少ない。また、画像データや音声データ等に上下限の制限を加える場合と違って、データが全く違う情報になって意味を持たなくなるといったこともない。
【０１３３】
また、一般的には、ネットワークに接続された複数のコンポーネントは、１つのバスを介して夫々異なる種類の情報のやりとりを行うが、機械装置のモーション制御の場合は、マスタ制御ユニットから各アクチュエータに対して、必要なモーション制御に応じた指令値（例えば同種類の指令値）を制御周期ごとに送ることになる。ネットワークを介したデータ伝送では、１回の転送で送るデータがたとえ簡単なものであっても、そのデータを電気信号として送信先に確実におくるための手順が各転送に必要である。例えば、通信規格ＣＡＮにおいては、図４に示す如く、１バイトの情報を伝送するだけでも１０８ビット長のデータの転送が必要となる。伝送速度の低いバス（ネットワーク）では、指令値を送信すべき対象が増えれば増えるほど遅延が大きくなり、制御周期も長くなる。そこで、本実施形態では、ＭＣＵ１２が送るべきデータ（差分指令値）の長さ（或いは種類）を固定できることを利用し、８台分のデータを一つにまとめて１度に送信する（マルチキャストにて転送する）。そして、ＳＣＵ［ｉ：ｊ］が、自分に必要なデータのみを参照するようにして、効率的なデータ転送を行うようにしている。
【０１３４】
また、ＳＣＵ［ｉ：ｊ］は、ＭＣＵ１２側からのデータの受信をトリガにタイマー等を起動し、所定の時間後に、自身に対応するアクチュエータへの指令電流値を更新したり、アクチュエータの状態値を取得するセンサ（不図示）の情報をサンプリングしたりするとよい。換言すれば、ＳＣＵ［ｉ：ｊ］は、ＭＣＵ１２側からのデータを受信してから所定の時間後に、復元指令値に応じたアクチュエータの駆動制御を実際に行ったり、アクチュエータの状態値の取得を行ったりするとよい。これにより、全てのＳＣＵ［ｉ：ｊ］及びアクチュエータの同期をとることができる。
【０１３５】
また、図１１の差分演算部２５と最小最大値制限部２６は、各差分指令値を出力する差分指令値出力部を構成し、図１５の差分演算部７５と最小最大値制限部７６は、各差分状態値を出力する差分状態値出力部を構成する。ＡＣＵ［ｊ］は、ＭＣＵ１２とＳＣＵ［ｉ：ｊ］との間に介在する中継装置として機能する。尚、図１１の差分演算部２５や図１５の差分演算部７５の出力値の絶対値が、常に１２４以下に収められるように構成されている場合は、図１１の最小最大値制限部２６や図１５の最小最大値制限部７６を省略することができる。これらの場合、差分演算部２５及び差分演算部７５が、それぞれ差分指令値出力部及び差分状態値出力部して機能する。そして、差分演算部２５の出力値が差分指令値として通信プロトコル制御部２９に与えられ、差分演算部７５の出力値が差分状態値として通信プロトコル制御部７９に与えられることになる。
【０１３６】
＜＜第２実施形態＞＞
図１４に示したモータの回転数の立ち上がり及び立ち下がりの遅れ、並びに量子化誤差に起因した誤差を解消する実施形態として、第２実施形態を説明する。
【０１３７】
第２実施形態においては、差分指令値によって表現される数値範囲が互いに異なる複数のモードを設定しておき、各差分値の大きさに応じてモードが切り換えられる。このモード切り換えを行う関係上、詳細は後述するが、ＭＣＵ１２に接続できる蓄積制御ユニットの台数は６台となっている。即ち、第２実施形態においては、ＡＣＵ［ｊ］及びＳＣＵ［ｉ；ｊ］の［  ］内のｊは、０〜５の任意の値（６種類の値）をとる。
【０１３８】
ｊが６及び７の値をとらないという点以外、第２実施形態における機械装置駆動システムの全体ブロック図は、図１と同じであるため、重複する説明を省略する。但し、第２実施形態においては、図３の状態値受信部１３及び指令値送信部１４が、夫々状態値受信部１３ａ及び指令値送信部１４ａに置換されるものとし、ＳＣＵ［ｉ：ｊ］の夫々におけるスレーブ状態検出部４１及びスレーブ駆動制御部（スレーブ制御部）４２がスレーブ状態検出部４１ａ及びスレーブ駆動制御部（スレーブ制御部）４２ａに置換されるものとする（図２参照）。また、ダウンロード手法やアップロード手法などの第１実施形態における基本的に動作は、特記なき限り第２実施形態も同様であるため、重複する説明は省略し、第１実施形態との相違点である指令値及び状態値の伝達及び復元手法に着目して説明を行う。
【０１３９】
（指令値のモード設定）
図１８は、指令値送信部１４ａと、或る１つのＳＣＵ［ｉ：ｊ］におけるスレーブ駆動制御部４２ａの内部構成を示すブロック図である。図１９は、指令値の流れを表した図である。図１８において、図１１と同じ部分には同一の符号を付し、原則として重複する説明を省略する。今、説明の具体化のため、ＳＣＵ［０：０］のみに着目して説明を行う。ＳＣＵ［０：０］以外の他のＳＣＵ［ｉ：ｊ］についても別途、同様の動作が行われる（例えば時分割で行われる）。また、ＳＣＵ［０：０］に接続されているアクチュエータがモータ（不図示）であり、ＳＣＵ［０：０］は該モータの回転数を制御するものとして説明を行う。そして、指令値は、モータの回転数（単位はｒｐｍ）を示しているものとする。
【０１４０】
指令値送信部１４ａは、格納部２４、差分演算部２５ａ、最小最大値制限部２６ａ及び通信プロトコル制御部２９ａを有して構成される。最小最大値制限部２６ａは、更に、加算器２７ａ及び制限器２８ａを有している。スレーブ駆動制御部４２ａは、フィルタ３１ａ、指令値復元部３２ａ及びアクチュエータ制御部３３を有して構成される。指令値復元部３２ａは、復元器３４ａを有している。
【０１４１】
指令値送信部１４ａは、１ｍｓの単位期間ごとにデータレジスタ１９からＳＣＵ［０：０］についての指令値を受ける。その指令値は格納部２４に送られる。この格納部２４の前段に、第１実施形態と同様、変換部２３（図１１）を設けるようにしても構わない。格納部２４は、今回与えられた指令値と前回与えられた指令値を記憶する。差分演算部２５ａは、格納部２４の記憶内容を参照して、今回データレジスタ１９より与えられた指令値から前回データレジスタ１９より与えられた指令値を差し引いた値（これを、以下「差分値α１」という）を演算して出力する。
【０１４２】
ｐ（ｐは整数）番目の単位期間に至るまでの指令値が継続して「０」に維持されていたとする。そして、ｐ番目の単位期間に指令値が「０」から「２０２０」に変化したとする。そうすると、ｐ番目の単位期間における差分値α１は「２０２０」となる。
【０１４３】
そして、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間における指令値が「２０２０」に維持されているとする。そうすると、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、差分値α１は全て「０」となる。
【０１４４】
加算器２７ａは、差分演算部２５ａが出力する差分値α１に制限器２８ａが出力する制限超指令値δ１を加えたものを出力する。加算器２７ａの出力値（以下、「出力値β１」といい、数式においては単に「β１」と記す）は、制限器２８ａの入力値として制限器２８ａに与えられる。今、ｐ番目の単位期間に至るまでの指令値が継続して「０」に維持されていたことに起因して、ｐ番目の単位期間に至るまでの出力値β１及び制限器２８ａが出力する制限超指令値δ１が「０」になっている。このため、ｐ番目の単位期間における出力値β１は「２０２０」となる。
【０１４５】
制限器２８ａは、加算器２７ａの出力値に最大値ＭＡＸと最小値ＭＩＮの制限を加えたものを差分指令値として出力するが、自身への入力値の大きさ（即ち、｜β１｜）に応じて、制限に用いる最大値ＭＡＸと最小値ＭＩＮを変化させると共に該制限を加えて出力する値に関連付けるモードを切り換えて設定する。この最大値ＭＡＸと最小値ＭＩＮの変化とモードの切り換えは、毎回行われ、また、ＳＣＵ［ｉ：ｊ］の夫々について独立に行われる。
【０１４６】
具体的には、下式（１）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（１００，−１００）と設定すると共にモードを「モード０（ｍｏｄｅ０）」に設定する。下式（２）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（５００，−５００）と設定すると共にモードを「モード１（ｍｏｄｅ１）」に設定する。下式（３）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（１０００，−１０００）と設定すると共にモードを「モード２（ｍｏｄｅ２）」に設定する。下式（４）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（２０００，−２０００）と設定すると共にモードを「モード３（ｍｏｄｅ３）」に設定する。尚、｜β１｜は、出力値β１の絶対値を意味する。
｜β１｜≦１００       ・・・（１）
１００＜｜β１｜≦５００       ・・・（２）
５００＜｜β１｜≦１０００     ・・・（３）
１０００＜｜β１｜               ・・・（４）
【０１４７】
ｐ番目の単位期間における出力値β１は「２０２０」であるから、式（４）が成立し、（ＭＡＸ，ＭＩＮ）＝（２０００，−２０００）と設定される共にモードは「モード３」に設定される。この場合、出力値β１の内の差分指令値に変換されるべき値（以下、「被変換値γ１」という）は、設定された最大値ＭＡＸと等しい「２０００」となる。そして、制限器２８ａは、被変換値γ１を設定されたモードに応じた変換値（モードごとに定められた一定値）で割ることによって、被変換値γ１を数値範囲「−１２４〜１２４」内の数値に変換し、その変換にて得られた値を差分指令値として出力する。尚、この際、実際に被変換値γ１を上記変換値で割るのではなく、テーブルデータ等を用いることによって同等のデータを出力するようにしてもよい。
【０１４８】
設定されたモードに応じた該変換の様子を図２０に示す。モード３においては、「２０００」及び「−２０００」の値を有する被変換値γ１が、それぞれ「１２４」及び「−１２４」の差分指令値に変換される。また、モード２においては、「１０００」及び「−１０００」の値を有する被変換値γ１が、それぞれ「１２４」及び「−１２４」の差分指令値に変換される。モード１においては、「５００」及び「−５００」の値を有する被変換値γ１が、それぞれ「１２４」及び「−１２４」の差分指令値に変換される。モード０においては、「１００」及び「−１００」の値を有する被変換値γ１が、それぞれ「１２４」及び「−１２４」の差分指令値に変換される。
【０１４９】
上記の変換により、ｐ番目の単位期間において、制限器２８ａは「１２４」の差分指令値を通信プロトコル制御部２９ａに出力する。これと同時に、その差分指令値に対応して設定されたモード（今の場合、モード３）を通信プロトコル制御部２９ａに伝達する。また、各単位期間において、制限器２８ａは、出力値β１から被変換値γ１を差し引いた値を、制限超指令値δ１として加算器２７ａに出力する。ｐ番目の単位期間のおいては、β１が２０２０且つγ１が２０００であるから制限超指令値δ１は２０となり、（ｐ＋１）番目の単位期間における差分値α１が「０」であるから、（ｐ＋１）番目の単位期間における加算器２７ａの出力値β１は２０となる。
【０１５０】
すると、（ｐ＋１）番目の単位期間においては、上記式（１）が成立するため、差分指令値に変換されるべき被変換値γ１は２０となると共にモード０が設定され、差分指令値は２５（≒２０×１２４／１００）になる。（ｐ＋１）及び（ｐ＋２）番目の単位期間における制限超指令値δ１は「０」となるから、（ｐ＋２）及び（ｐ＋３）番目の単位期間における出力値β１、被変換値γ１及び差分指令値は、全て「０」となる。勿論、（ｐ＋２）及び（ｐ＋３）番目の単位期間における差分指令値に関連付けられるモードはモード０である。
【０１５１】
通信プロトコル制御部２９ａは、ＳＣＵ［０：０］についての差分指令値をデータＤＤ［０：０］として取り扱うと共に、同様に自身に与えられるＳＣＵ［１：０］〜ＳＣＵ［７：０］についての差分指令値をデータＤＤ［１：０］〜［７：０］と取り扱って、データＤＤ［０］を形成する（図８等参照）。そして、データＤＤ［０］を含んだフレームデータを、上述のダウンロード手法に従って、コネクタ等から成る物理的インターフェイス（不図示）を介してダウンロード用のネットワークＣＡＮ０：Ｈに送出する。（ｐ＋１）番目の単位期間、（ｐ＋２）番目の単位期間、・・・においても、同様にデータＤＤ［０］を含んだフレームデータが送出される。また、ｊ＝１〜５のＳＣＵ［ｉ：ｊ］についての差分指令値も同様に処理される。
【０１５２】
データＤＤ［０］〜データＤＤ［５］の送信には、各単位期間のフレーム［０］〜［５］が用いられる。通信プロトコル制御部２９ａは、各単位期間のフレーム［６］及び［７］を利用して、各差分指令値に対応付けられたモードを表すモード情報をＳＣＵ［ｉ：ｊ］の夫々に伝達する。モードは４種類であるため各モード情報は２ビットで表現でき、ＳＣＵ［ｉ：ｊ］は４８個あるので、合計９６ビット（＝２×４８）のモード情報を伝達する必要があるが、フレーム［６］及び［７］にて１２８ビットの情報を伝送することできるため、問題はない。具体的には、各単位期間のフレーム［６］における、領域［０］及び［１］、領域［２］及び［３］、領域［４］及び［５］、領域［６］及び［７］を、夫々ＳＣＵ［ｉ：０］、ＳＣＵ［ｉ：１］、ＳＣＵ［ｉ：２］、ＳＣＵ［ｉ：３］に割り当てるとともに、各単位期間のフレーム［７］における、領域［０］及び［１］、領域［２］及び［３］を、夫々ＳＣＵ［ｉ：４］、ＳＣＵ［ｉ：５］に割り当てる（図５参照）。
【０１５３】
そして、ｊ＝０〜５の夫々において、割り当てられた領域（１６ビット）の先頭アドレス側から順に２ビットづつ、ＳＣＵ［０：ｊ］、ＳＣＵ［１：ｊ］、ＳＣＵ［２：ｊ］、ＳＣＵ［３：ｊ］、ＳＣＵ［４：ｊ］、ＳＣＵ［５：ｊ］、ＳＣＵ［６：ｊ］、ＳＣＵ［７：ｊ］に対応するモード情報を割り当てる。これにより、例えば、各単位期間のフレーム［６］の領域［０］には、先頭アドレス側から順に２ビットづつ、ＳＣＵ［０：０］、ＳＣＵ［１：０］、ＳＣＵ［２：０］、ＳＣＵ［３：０］に対応するモード情報が割り当てられることになる。必要なモード情報を得るべく、各単位期間のフレーム［６］のフレームデータは、ＡＣＵ［０］〜ＡＣＵ［３］によって受信され、更に該フレームデータはＳＣＵ［ｉ：０］〜ＡＣＵ［ｉ：３］によって受信される。各単位期間のフレーム［７］のフレームデータは、ＡＣＵ［４］及びＡＣＵ［５］によって受信され、更に該フレームデータはＳＣＵ［ｉ：４］及びＡＣＵ［ｉ：５］によって受信される。
【０１５４】
ＳＣＵ［０：０］に着目して差分指令値から指令値を復元する手法の説明を再開する。ＳＣＵ［０：０］のフィルタ３１ａは、データＤＤ［０］を含んだフレームデータからデータＤＤ［０：０］を抽出し、該データＤＤ［０：０］を自身に対する差分指令値として取り扱うと共に、該差分指令値に対応付けられたモード情報を同一の単位期間のフレーム［６］にて伝送されるフレームデータから取得する。従って、ＳＣＵ［０：０］は、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間における差分指令値として、１２４、２０、０及び０を受信すると共に、該差分指令値に対応付けられたモードを、それぞれ、モード３、モード０、モード０及びモード０と認識する。フィルタ３１ａによって抽出された差分指令値及びこれに対応付けられたモード情報は、次々と復元器３４ａに送られる。
【０１５５】
復元器３４ａは、まず、対応付けられたモード情報を用いつつ、差分指令値を上述の被変換値γ１に逆変換する（この逆変換によって得られる値を、「逆変換値」という）。つまり、制限器２８ａで用いた上記変換値又はテーブルデータ等を用いることによって、制限器２８ａによる被変換値γ１の差分指令値への変換の逆の演算を行う。この逆変換値は、対応する被変換値γ１と一致する。従って、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間において、逆変換値は、夫々２０００、２０、０及び０となる。そして、復元器３４ａは、前回の単位期間における自身の出力値と今回の単位期間における逆変換値との和を、今回の単位期間における自身の出力値として出力する。復元器３４ａの出力値は、指令値復元部３２ａからの復元指令値としてアクチュエータ制御部３３に伝達される。
【０１５６】
これにより、ｐ、（ｐ＋１）、（ｐ＋２）及び（ｐ＋３）番目の単位期間における復元指令値は、夫々２０００、２０２０、２０２０及び２０２０となる。即ち、復元指令値の立ち上がりが第１実施形態におけるものよりも速くなっている。また、量子化誤差の影響も抑制されている。
【０１５７】
この後、指令値送信部１４ａに与えられる指令値が「２０２０」から「２０００」に変化したとする。そして更に、指令値送信部１４ａに与えられる指令値が「２０００」に維持されている状態から、図１９に示す如く、ｑ番目の単位期間において該指令値が「−１０００」に変化し、以後、該指令値が「−１０００」に維持されたとする（但し、ｑは整数）。この場合、上述と同様の処理を経て、ｑ、（ｑ＋１）番目の単位期間において、設定されるモードが夫々モード３及びモード２となり、復元指令値が夫々０、−１０００となる。即ち、復元指令値の立ち下がりが第１実施形態におけるものよりも速くなっている。また、量子化誤差の影響も抑制されている。
【０１５８】
図２１に、図１９にて示した数値例におけるモータの回転数の変化を示す。図２１の左側のグラフに示されるＭＣＵ１２側の指令値のステップ状の変化は、図２１の右側のグラフに示す如く、ＳＣＵ［０：０］に伝達される。復元指令値の立ち上がり及び立ち下がりの遅延抑制効果が、図１４と図２１の比較からも見てとれる。
【０１５９】
第２実施形態に係る機械装置駆動システムを、図２２のようなマニピュレータ１００を有する機械装置に適用する場合を考える。マニピュレータ１００の先端の位置を変える時に用いられるモータＭＯＴ［０：０］、ＭＯＴ［１：０］及びＭＯＴ［２：０］が、マニピュレータ１００の各部に内蔵されており、モータＭＯＴ［０：０］、ＭＯＴ［１：０］及びＭＯＴ［２：０］の回転は、それぞれＳＣＵ［０：０］、ＳＣＵ［１：０］及びＳＣＵ［２：０］によって制御されるとする。
【０１６０】
そして例えば、マニピュレータ１００の先端を地点Ｐ１から地点Ｐ２まで移動させる位置決めを行うような場合、機械装置駆動システムは、各モータＭＯＴ［０：０］〜［２：０］の各時刻における速度（回転数）を、各ＳＣＵ［０：０］〜ＳＣＵ［２：０］に指令値として与える。このような場合、一般には、図２３の上側のグラフに示すように加速−定速−減速の速度パターンを与えることになるが、指令値が急激に変化する加減速時にはモード１やモード２等が選択され、大きな変化量を一度（或いはより少ない回数）の転送で送信する。一方、停止付近や低速で動いている時には、モード０が選択される。
【０１６１】
このように、指令値が急激に変化する場合は、精度を粗くして送信される値の範囲（指令値に換算した値の範囲）を大きくし、指令値が目標値に近づき指令値の変化量が小さくなっている場合にモード０を選択して高い精度を確保する。これにより、高い応答性と高い制御精度を両立させることができる。
【０１６２】
（状態値のモード設定）
状態値の伝達及び復元においても同様の手法が採用可能である。図２４は、或る１つのＳＣＵ［ｉ：ｊ］におけるスレーブ状態検出部４１ａと、そのＳＣＵ［ｉ：ｊ］に接続されているＡＣＵ［ｊ］と、状態値受信部１３ａの内部構成を示すブロック図である。図２４において、図１５と同じ部分には同一の符号を付し、原則として重複する説明を省略する。今、説明の具体化のため、ＳＣＵ［０：０］とＡＣＵ［０］のみに着目して説明を行う。ＳＣＵ［０：０］以外の他のＳＣＵ［ｉ：ｊ］及びＡＣＵ［０］以外の他のＡＣＵ［ｊ］についても別途、同様の動作が行われる。また、ＳＣＵ［０：０］に接続されているアクチュエータがモータ（不図示）であり、ＳＣＵ［０：０］は該モータの回転数を制御するものとして説明を行う。そして、そのモータの状態を表す状態値は、モータの回転数（単位はｒｐｍ）を示しているものとする。
【０１６３】
状態値受信部１３ａは、通信プロトコル制御部８１ａ、状態値復元部８２ａを有して構成される。状態値復元部８２は、復元器８４ａを有している。スレーブ状態検出部４１ａは、状態値検出部７２を有している。ＡＣＵ［０］は、通信プロトコル制御部７９ａを有している。格納部７４、差分演算部７５ａ及び最小最大値制限部７６ａは、下記の第５、第６及び第７の分配手法の何れかにて、ＳＣＵ［０：０］のスレーブ状態検出部４１ａ又はＡＣＵ［０］に分配される。尚、最小最大値制限部７６ａは、加算器７７ａ及び制限器７８ａを有している。
【０１６４】
第５の分配手法においては、スレーブ状態検出部４１ａが格納部７４、差分演算部７５ａ及び最小最大値制限部７６ａの全てを有する。この場合、最小最大値制限部７６ａの出力値がアップロード用のネットワークＣＡＮ１［０］Ｌを介してＡＣＵ［０］の通信プロトコル制御部７９に与えられることになる。
【０１６５】
第６の分配手法においては、スレーブ状態検出部４１ａが格納部７４及び差分演算部７５を有し、ＡＣＵ［０］が最小最大値制限部７６ａを有する。この場合、差分演算部７５ａの出力値がアップロード用のネットワークＣＡＮ１［０］Ｌを介してＡＣＵ［０］の最小最大値制限部７６ａに与えられることになる。
【０１６６】
第７の分配手法においては、ＡＣＵ［０］が格納部７４、差分演算部７５ａ及び最小最大値制限部７６ａの全てを有する。この場合、状態値検出部７２の出力値がアップロード用のネットワークＣＡＮ１［０］Ｌを介してＡＣＵ［０］の格納部７４に与えられることになる。
【０１６７】
第５、第６及び第７の分配手法の何れを採用しても構わないが、以下、第５の分配手法を採用した場合を例にとって説明を行う。尚、ＳＣＵ［０：０］以外の他のＳＣＵ［ｉ：ｊ］とＡＣＵ［０］以外の他のＡＣＵ［ｊ］との関係についても、第５、第６及び第７の分配手法の何れかを採用可能である。
【０１６８】
状態値検出部７２は、１ｍｓの単位期間ごとに、ＡＣＵ［０］に対応するモータの回転数を検出する。検出した該回転数は、ＡＣＵ［０］に対応するアクチュエータの状態を表す状態値である。その状態値（回転数を表す数値）は格納部７４に送られる。この格納部７４の前段に、第１実施形態と同様、変換部７３（図１５）を設けるようにしても構わない。格納部７４は、今回与えられた状態値と前回与えられた状態値を記憶する。差分演算部７５ａは、格納部７４の記憶内容を参照して、今回状態値検出部７２が検出した状態値から前回状態値検出部７２が検出した状態値を差し引いた値（これを、以下「差分値α２」という）を演算して出力する。
【０１６９】
加算器７７ａは、差分演算部７５ａが出力する差分値α２に制限器７８ａが出力する制限超状態値δ２を加えたものを出力する。加算器７７ａの出力値（以下、「出力値β２」という）は、制限器７８ａの入力値として制限器７８ａに与えられる。
【０１７０】
制限器７８ａは、加算器７７ａの出力値に最大値ＭＡＸと最小値ＭＩＮの制限を加えたものを差分状態値として出力するが、自身への入力値の大きさ（即ち、｜β２｜）に応じて、制限に用いる最大値ＭＡＸと最小値ＭＩＮを変化させると共に該制限を加えて出力する値に関連付けるモードを切り換えて設定する。この最大値ＭＡＸと最小値ＭＩＮの変化とモードの切り換えは、毎回行われ、また、ＳＣＵ［ｉ：ｊ］の夫々について独立に行われる。
【０１７１】
具体的には、下式（１ａ）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（１００，−１００）と設定すると共にモードを「モード０」に設定する。下式（２ａ）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（５００，−５００）と設定すると共にモードを「モード１」に設定する。下式（３ａ）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（１０００，−１０００）と設定すると共にモードを「モード２」に設定する。下式（４ａ）が成立する場合に、（ＭＡＸ，ＭＩＮ）＝（２０００，−２０００）と設定すると共にモードを「モード３」に設定する。尚、｜β２｜は、出力値β２の絶対値を意味する。
｜β２｜≦１００       ・・・（１ａ）
１００＜｜β２｜≦５００       ・・・（２ａ）
５００＜｜β２｜≦１０００     ・・・（３ａ）
１０００＜｜β２｜               ・・・（４ａ）
【０１７２】
例えば、ｐ番目の単位期間における出力値β２が「２０２０」の場合、式（４ａ）が成立し、（ＭＡＸ，ＭＩＮ）＝（２０００，−２０００）と設定される共にモードは「モード３」に設定される。この場合、出力値β２の内の差分状態値に変換されるべき値（以下、「被変換値γ２」という）は、設定された最大値ＭＡＸと等しい「２０００」となる。そして、制限器７８ａは、被変換値γ２を設定されたモードに応じた変換値（モードごとに定められた一定値）で割ることによって、被変換値γ２を数値範囲「−１２４〜１２４」内の数値に変換し、その変換にて得られた値を差分状態値として出力する。尚、この際、実際に被変換値γ２を上記変換値で割るのではなく、テーブルデータ等を用いることによって同等のデータを出力するようにしてもよい。
【０１７３】
図２０に示したものと同様、モード３においては、「２０００」及び「−２０００」の値を有する被変換値γ２が、それぞれ「１２４」及び「−１２４」の差分状態値に変換される。また、モード２においては、「１０００」及び「−１０００」の値を有する被変換値γ２が、それぞれ「１２４」及び「−１２４」の差分状態値に変換される。モード１においては、「５００」及び「−５００」の値を有する被変換値γ２が、それぞれ「１２４」及び「−１２４」の差分状態値に変換される。モード０においては、「１００」及び「−１００」の値を有する被変換値γ２が、それぞれ「１２４」及び「−１２４」の差分状態値に変換される。
【０１７４】
各単位期間において、制限器７８ａは、差分状態値と該差分状態値に対応して設定されたモードを通信プロトコル制御部７９ａに伝達する。また、各単位期間において、制限器７８ａは、出力値β２から被変換値γ２を差し引いた値を、制限超状態値δ２として加算器７７ａに出力する。
【０１７５】
通信プロトコル制御部７９ａは、ＳＣＵ［０：０］についての差分状態値をデータＤＵ［０：０］として取り扱うと共に、同様に自身に与えられるＳＣＵ［１：０］〜ＳＣＵ［７：０］についての差分状態値をデータＤＵ［１：０］〜［７：０］と取り扱って、データＤＵ［０］を形成する（図１０等参照）。そして、各単位期間において、データＤＵ［０］を含んだフレームデータを、上述のアップロード手法に従って、アップロード用のネットワークＣＡＮ１：Ｈに送出する。
【０１７６】
ＡＣＵ［ｊ］の夫々の通信プロトコル制御部７９ａは、同様の動作を行う。各通信プロトコル制御部７９ａは、データＤＵ［０］〜ＤＵ［６］を送信した後に続く、同一の単位期間のフレーム［７］と次の単位期間のフレーム［０］を用いて、合計４８個のモード情報をアップロード用のネットワークＣＡＮ１：Ｈに送出する。この合計４８個のモード情報は、データＤＵ［０］〜ＤＵ［６］に含まれる合計４８個の差分状態値の夫々に対応付けられたモードを特定する情報である。モードは４種類であるため各モード情報は２ビットで表現でき、合計９６ビット（＝２×４８）のモード情報を伝達する必要があるが、２つのフレームにて１２８ビットの情報を伝送することできるため、問題はない。図１８の通信プロトコル制御部２９ａによるモード情報の割り当て手法と同様の手法にて、各差分状態値に対応付けられる各モード情報の格納場所が上記２つのフレーム内に割り当てられる。
【０１７７】
状態値受信部１３ａの通信プロトコル制御部８１ａは、データＤＵ［０］を含んだフレームデータから７つのデータＤＵ［０：０］〜データＤＵ［７：０］を取得し、データＤＵ［ｉ：０］を、ＳＣＵ［ｉ：０］についての差分状態値として取り扱う。また、その差分状態値に対応付けられたモード情報も取得する。データＤＵ［０：０］に着目して説明を継続するが、他のデータＤＵ［１：０］〜ＤＵ［７：０］（更には、他の全てのデータＤＵ［ｉ：ｊ］）についても、例えば時分割で同様の処理が施される。
【０１７８】
通信プロトコル制御部８１ａは、受けた差分状態値及び該差分状態値に対応付けられたモード情報を復元器８４ａに送る。復元器８４ａは、まず、対応付けられたモード情報を用いつつ、差分状態値を上述の被変換値γ２に逆変換する（この逆変換によって得られる値を、「逆変換値」という）。つまり、制限器７８ａで用いた上記変換値又はテーブルデータ等を用いることによって、制限器７８ａによる被変換値γ２の差分状態値への変換の逆の演算を行う。この逆変換値は、対応する被変換値γ２と一致する。そして、復元器８４ａは、前回の単位期間における自身の出力値と今回の単位期間における逆変換値との和を、今回の単位期間における自身の出力値として出力する。復元器８４ａの出力値は、状態値復元部８２ａからの復元状態値としてデータレジスタ１９（図３）に伝達される。
【０１７９】
（ユニット数優先）
モード情報を伝送するために、ＳＣＵ［ｉ：ｊ］の総数を第１実施形態における６４から４８に減らす例を示したが、ＳＣＵ［ｉ：ｊ］の総数を６４に維持することもできる。例えば、差分指令値（又は差分状態値）を６ビットにて表現し、その６ビットで表される差分指令値（又は差分状態値）と該差分指令値（又は該差分状態値）に対応付けられる２ビットのモード情報にて、８ビットのデータＤＤ［ｉ：ｊ］（又はデータＤＵ［ｉ：ｊ］）を形成するようにする。この場合、差分指令値（又は差分状態値）は、−３２〜３１の値で表現されることになる。
【０１８０】
このようにすれば、モード情報と共に差分指令値（又は差分状態値）を第１実施形態と同じようにして伝送することが可能となり、ＳＣＵ［ｉ：ｊ］の総数を６４に維持することができる。この場合、差分指令値（又は差分状態値）にて表される指令値（又は状態値）の分解能が粗くなってしまうが、各モードにおける差分指令値（又は差分状態値）と被変換値γ１（又は被変換値γ２）との変換関係を適切に設定することにより、その影響は小さく抑えられる。
【０１８１】
例えば、図２５に示す如く、モード３においては、「２０００」及び「−２０００」の値を有する被変換値γ１（又はγ２）を、それぞれ「３１」及び「−３２」の差分指令値に変換し、モード２においては、「１０００」及び「−１０００」の値を有する被変換値γ１（又はγ２）を、それぞれ「３１」及び「−３２」の差分指令値に変換し、モード１においては、「３００」及び「−３００」の値を有する被変換値γ１（又はγ２）を、それぞれ「３１」及び「−３２」の差分指令値に変換し、モード０においては、「２５」及び「−２５」の値を有する被変換値γ１（又はγ２）を、それぞれ「３１」及び「−３２」の差分指令値に変換する。このようにすれば、モード２及び３における分解能が、夫々、３１．３（≒２０００／６４）ｒｐｍ及び６２．５（≒４０００／６４）ｒｐｍとなって悪化してしまうが、精度がより要求されるモード０における分解能は、図２０に示すものと同じ０．７８１（≒５０／６４）ｒｐｍに維持される。
【０１８２】
また、図１８の差分演算部２５ａと最小最大値制限部２６ａは、各差分指令値を出力する差分指令値出力部を構成し、図２４の差分演算部７５ａと最小最大値制限部７６ａは、各差分状態値を出力する差分状態値出力部を構成する。
【０１８３】
（ネットワーク異常時）
また、第１及び第２実施形態において、ダウンロード用のネットワークＣＡＮ０：Ｈ及びＣＡＮ０［ｊ］Ｌの何れかに、断線等の異常が生じてデータを伝送することができなくなった場合は、ダウンロード用のネットワークＣＡＮ０：Ｈ及びＣＡＮ０［ｊ］Ｌを用いたデータ伝送を停止し、アップロード用のネットワークＣＡＮ１：Ｈ及びＣＡＮ１［ｊ］Ｌを時分割で利用して双方向通信を行うようにする。つまり、アップロード用のネットワークにダウンロードの機能を一時的に担わせる。
【０１８４】
同様に、アップロード用のネットワークＣＡＮ１：Ｈ及びＣＡＮ１［ｊ］Ｌの何れかに、断線等の異常が生じてデータを伝送することができなくなった場合は、アップロード用のネットワークＣＡＮ１：Ｈ及びＣＡＮ１［ｊ］Ｌを用いたデータ伝送を停止し、ダウンロード用のネットワークＣＡＮ０：Ｈ及びＣＡＮ０［ｊ］Ｌを時分割で利用して双方向通信を行うようにする。つまり、ダウンロード用のネットワークにアップロードの機能を一時的に担わせる。
【０１８５】
これらの場合、制御周期は、例えば通常の２倍の２ｍｓとなる。そして、適切な指令値を発行して機械装置を安全な状態にしてから、機械装置駆動システムの動作を停止させるとよい。
【０１８６】
＜＜第３実施形態＞＞
また、アップロード用のネットワーク及びダウンロード用のネットワークの何れか一方を省略し、１系統のネットワークを双方向にて用いるようにしてもよい。図１の機械装置駆動システムから、一方の系統のネットワークＣＡＮ１：Ｈ及びＣＡＮ１［ｊ］Ｌを省略した機械装置駆動システムを第３実施形態として説明する。
【０１８７】
図２６は、第３実施形態に係る機械装置駆動システムの全体ブロック図である。図２６において、図１と同一の部分には同一の符号を付す。第３実施形態では、ネットワークＣＡＮ０：Ｈ及びＣＡＮ０［ｊ］Ｌを時分割で用いて双方向通信を行う。そして、制御周期（上記の単位期間）を第１及び第２実施形態と同様、１ｍｓとしている。蓄積制御ユニットとしては、４個のＡＣＵ［０］〜ＡＣＵ［３］を設け、各ＡＣＵ［ｊ］に対して、夫々７個のＳＣＵ［０：ｊ］〜ＳＣＵ［６：ｊ］を接続している。つまり、第３実施形態においては、ＡＣＵ［ｊ］及びＳＣＵ［ｉ：ｊ］におけるｊは０〜３の値をとり、且つｉは０〜６の値をとる。
【０１８８】
図２７に、アップロードとダウンロードのデータの流れを示す。ネットワークＣＡＮ０：Ｈは、各単位期間のフレーム［０］〜［３］においてダウンロード用に用いられる。即ち、ｊ＝０〜３としたとき、各単位期間のフレーム［ｊ］において、ＭＣＵ１２はＡＣＵ［ｊ］を送信先としたデータＤＤ［ｊ］をネットワークＣＡＮ０：Ｈに送出する。データＤＤ［ｊ］を受けたＡＣＵ［ｊ］の動作は、上述のダウンロード手法と同じである。
【０１８９】
ネットワークＣＡＮ０：Ｈは、各単位期間のフレーム［４］〜［７］においてアップロード用に用いられる。即ち、ｊ＝０〜３としたとき、各単位期間のフレーム［ｊ＋４］において、ＡＣＵ［ｊ］は、データＤＵ［ｊ］をネットワークＣＡＮ０：Ｈに送出する。データＤＵ［０］は、前回の単位期間のフレーム［２］を基準とした連続する７つのフレームにおいて、ネットワークＣＡＮ０［０］Ｌに送出された７つのデータＤＵ［０：０］〜ＤＵ［６：０］をまとめたものである。第１実施形態で述べたように、データＤＵ［ｉ：ｊ］はＳＣＵ［ｉ：ｊ］によって作成され、ネットワークＣＡＮ０［ｊ］Ｌに送出される。
【０１９０】
ｊ＝１〜３におけるデータＤＵ［０］も同じである。即ち、ｊ＝０〜３において、データＤＵ［ｊ］は、前回の単位期間のフレーム［ｊ＋２］を基準とした連続する７つのフレームにおいて、ネットワークＣＡＮ０［ｊ］Ｌに送出された７つのデータＤＵ［０：ｊ］〜ＤＵ［６：ｊ］をまとめたものである。
【０１９１】
以上のように構成することにより、ネットワークを介して制御できるアクチュエータの数は減ることになるが、ネットワークの系統の数を減らすことが可能となる。
【０１９２】
＜＜変形等＞＞
上述の各実施形態で説明した機械装置駆動システムのダウンロードの機能のみに着目した場合、該機械装置駆動システムは機械装置の駆動をネットワークを用いて制御する駆動制御装置である、と考えることもできる。一方、アップロードの機能のみに着目した場合、該機械装置駆動システムは機械装置の状態をネットワークを用いて検出する機械装置状態検出装置である、と考えることもできる。
【０１９３】
ＳＣＵ［ｉ：ｊ］によって制御され且つＳＣＵ［ｉ：ｊ］によって状態が検出される機器（スレーブ機器）の例としてモータを例に挙げ、指令値及び状態値の例として該モータの回転数を例に挙げたが、指令値や状態値は、これに限定されない。
【０１９４】
例えば、指令値はモータのトルクに関する値であっても構わない。同様に、状態値はモータのトルクに関する値であっても構わない。また、例えば、図２２のマニピュレータ１００のように、モータ等のアクチュエータの動作によって位置決めが成される場合、その位置や基準面に対する角度を表す情報を指令値及び／又は状態値としても構わない。その他、ＳＣＵ［ｉ：ｊ］によって制御可能なアクチュエータの状態を指示する値であれば、指令値はどのような種類の値であっても構わない。
【０１９５】
更に、ＳＣＵ［ｉ：ｊ］によって制御される機器（スレーブ機器）はアクチュエータに限定されない。特に、各ＳＣＵ［ｉ：ｊ］に対応して設けられる機器（スレーブ機器）の状態を表す状態値については、様々な種類の値が考えられる。
【０１９６】
例えば、各ＳＣＵ［ｉ：ｊ］に対応して設けられる機器（スレーブ機器）としては、様々な物理量を検出するセンサが考えられ、この場合、各ＳＣＵ［ｉ：ｊ］が検出して出力する状態値は、該センサが検出した物理量となる。上記センサとしては、距離を検出する距離センサ、温度を検出する温度センサ、機械装置に内蔵されたバッテリの電圧を検出する電圧検出センサ、作用する力を検出する力センサ、機械装置の各部の傾斜角度（又は角速度）を検出するジャイロセンサ等が考えられ、夫々に対応する物理量（即ち状態値）は、距離、温度、バッテリの電圧、力、傾斜角度（又は角速度）となる。
【図面の簡単な説明】
【０１９７】
【図１】本発明の第１実施形態に係る機械装置駆動システムの全体ブロック図である。
【図２】図１のＳＣＵ［０：０］の内部構成図である。
【図３】図１のメイン制御ボートとＭＣＵの内部構成を表したブロック図である。
【図４】通信規格ＣＡＮにて伝送される１つのフレームデータのデータ構造を示している。
【図５】図４のデータフィールドの領域を示す図である。
【図６】図１のシステムにおいて定義される単位期間を説明するための図である。
【図７】図１の機械装置駆動システムからダウンロードに関する部分を抜き出した図であり、ダウンロード時のデータの流れを示す図である。
【図８】図１の機械装置駆動システムにおける、ダウンロード時のデータの流れを示した図である。
【図９】図１の機械装置駆動システムからアップロードに関する部分を抜き出した図であり、アップロード時のデータの流れを示す図である。
【図１０】図１の機械装置駆動システムにおける、アップロード時のデータの流れを示した図である。
【図１１】図３の指令値送信部と、図２のスレーブ駆動制御部の内部構成を示すブロック図である。
【図１２】本発明の第１実施形態における指令値の流れを表した図である。
【図１３】図１１の最小最大値制限部の内部構成の一例を示す図である。
【図１４】本発明の第１実施形態における、ＭＣＵ側にて発行された指令値とＳＣＵ側にて復元された指令値との関係を表す図である。
【図１５】図３の状態値受信部と、図２のスレーブ状態検出部と、図１のＡＣＵ［ｊ］の内部構成を示すブロック図である。
【図１６】本発明の第１実施形態における状態値の流れを表した図である。
【図１７】図１５の最小最大値制限部の内部構成の一例を示す図である。
【図１８】本発明の第２実施形態における、指令値送信部とスレーブ駆動制御部の内部構成を示すブロック図である。
【図１９】本発明の第２実施形態における指令値の流れを表した図である。
【図２０】図１８の制限器において選択されるモードと差分指令値の表す数値範囲との関係の一例を表した図である。
【図２１】本発明の第２実施形態における、ＭＣＵ側にて発行された指令値とＳＣＵ側にて復元された指令値との関係を表す図である。
【図２２】本発明に係る機械装置駆動システムが適用された機械装置の動作例を説明するための図である。
【図２３】本発明に係る機械装置駆動システムが適用された機械装置の動作例を説明するための図である。
【図２４】本発明の第２実施形態における、状態値受信部とスレーブ状態検出部とＡＣＵ［ｊ］の内部構成を示すブロック図である。
【図２５】図１８の制限器において選択されるモードと差分指令値の表す数値範囲との関係の他の例を表した図である。
【図２６】本発明の第３実施形態に係る機械装置駆動システムの全体ブロック図である。
【図２７】図２６の機械装置駆動システムにおける、アップロードとダウンロードのデータの流れを示した図である。
【符号の説明】
【０１９８】
１１  メイン制御ボード
１２  マスタ制御ユニット（ＭＣＵ）
１３、１３ａ  状態値受信部
１４、１４ａ  指令値送信部
１５  主制御部
２３  変換部
２４  格納部
２５、２５ａ  差分演算部
２６、２６ａ  最小最大値制限部
２７、２７ａ  加算器
２８、２８ａ  制限器
２９、２９ａ  通信プロトコル制御部
３１、３１ａ  フィルタ
３２、３２ａ  指令値復元部
３３  アクチュエータ制御部
３４、３４ａ  復元器
３５  変換部
４１、４１ａ  スレーブ状態検出部
４２、４２ａ  スレーブ駆動制御部
７２  状態値検出部
７３  変換部
７４  格納部
７５、７５ａ  差分演算部
７６、７６ａ  最小最大値制限部
７７、７７ａ  加算器
７８、７８ａ  制限器
７９、７９ａ  通信プロトコル制御部
８１、８１ａ  通信プロトコル制御部
８２、８２ａ  状態値復元部
８４、８４ａ  復元器
８５  変換部
ＡＣＵ［ｊ］      蓄積制御ユニット（中継装置）
ＳＣＵ［ｉ：ｊ］  スレーブ制御ユニット
ＣＡＮ０：Ｈ、ＣＡＮ０［ｊ］Ｌ  ダウンロード用のネットワーク
ＣＡＮ１：Ｈ、ＣＡＮ１［ｊ］Ｌ  アップロード用のネットワーク
【図１】
2007004416.tif 000003
【図２】
2007004416.tif 000004
【図３】
2007004416.tif 000005
【図４】
2007004416.tif 000006
【図５】
2007004416.tif 000007
【図６】
2007004416.tif 000008
【図７】
2007004416.tif 000009
【図８】
2007004416.tif 000010
【図９】
2007004416.tif 000011
【図１０】
2007004416.tif 000012
【図１１】
2007004416.tif 000013
【図１２】
2007004416.tif 000014
【図１３】
2007004416.tif 000015
【図１４】
2007004416.tif 000016
【図１５】
2007004416.tif 000017
【図１６】
2007004416.tif 000018
【図１７】
2007004416.tif 000019
【図１８】
2007004416.tif 000020
【図１９】
2007004416.tif 000021
【図２０】
2007004416.tif 000022
【図２１】
2007004416.tif 000023
【図２２】
2007004416.tif 000024
【図２３】
2007004416.tif 000025
【図２４】
2007004416.tif 000026
【図２５】
2007004416.tif 000027
【図２６】
2007004416.tif 000028
【図２７】
2007004416.tif 000029