(57)【要約】  所定の通信周期の下で制御装置間でシリアル通信によるデータ通信を行う制御システムで使用される制御装置において、送信部は、他の制御装置に送信するデータを記憶するメモリと、メモリから取得したデータと、他の制御装置の受信部のバッファメモリにおけるデータの格納位置を示すメモリ格納情報と、を含むフレームを生成する送信制御部と、を備え、受信部４０は、フレームからメモリ格納情報とデータとを抽出する受信制御部４３と、抽出されたデータを記憶するバッファメモリ４５と、抽出されたデータを、メモリ格納情報で指定されるバッファメモリ４５のアドレスに格納するデータ格納処理部４４と、を備え、メモリ格納情報は、フレームの宛先となる制御装置ごとに定められ、制御装置の制御部は、他の制御装置からのデータを、バッファメモリ４５の他の制御装置ごとに固定して定められたアドレスから毎回読み出す。
2012114525.tif 000002
【特許請求の範囲】
【請求項１】
制御部、送信部および受信部を有する２台以上の制御装置がネットワークを介して接続され、前記制御装置の内の１台がタイミングの基準を生成し、所定の通信周期の下で前記制御装置間でシリアル通信によるデータ通信を行う制御システムで使用される制御装置において、
前記送信部は、
他の制御装置に送信するデータを記憶するメモリと、
前記メモリから取得した前記データと、前記他の制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、を含むフレームを生成する送信制御手段と、
を備え、
前記受信部は、
前記フレームから前記メモリ格納情報と前記データとを抽出する受信制御手段と、
抽出された前記データを記憶するバッファメモリと、
抽出された前記データを、前記メモリ格納情報で指定される前記バッファメモリのアドレスに格納するデータ格納処理手段と、
を備え、
前記メモリ格納情報は、前記フレームの宛先となる制御装置ごとに定められ、
前記制御部は、他の制御装置からのデータを、前記バッファメモリの前記他の制御装置ごとに固定して定められたアドレスから毎回読み出すことを特徴とする制御装置。
【請求項２】
前記送信制御手段は、前記データのエラー検出に使用されるフレーム検査データを前記フレームに含めて生成し、
前記受信制御手段は、前記データと前記メモリ格納情報に加えて前記フレーム検査データを抽出するとともに、抽出した前記データについて前記フレーム検査データを用いてエラー検出を行い、
前記データ格納処理手段は、前記メモリ格納情報で指定される前記バッファメモリのアドレスに、前記データとともに前記受信制御手段で行われたエラー検出結果である受信データ状態を格納することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記受信部は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置を示す格納アドレス情報と、の間の関係を定義したメモリ配置変換情報に基づいて、前記受信制御手段で抽出された前記メモリ格納情報に対応する前記格納アドレス情報を取得する変換テーブル手段をさらに備え、
前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに抽出された前記データを格納し、
前記メモリ配置変換情報は、複数の前記受信格納情報が１つの前記格納アドレス情報に対応付けられていることを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記受信部は、
自装置が受信するはずのメモリ格納情報である受信格納情報と、前記メモリ格納情報から所定の情報を取得する第１のマスクと、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置の算出に用いるアドレス算出情報と、を対応づけたメモリ配置変換情報を格納するメモリ配置変換情報格納手段と、
前記受信格納情報に前記第１のマスクをして得られた値と、前記メモリ格納情報に前記第１のマスクをして得られた値とが一致する場合に、前記メモリ格納情報に前記第１のマスクをビット反転させた第２のマスクをして得られた値に前記アドレス算出情報を加算したものを、前記メモリ格納情報を有する前記フレーム内の前記データの格納先とする格納アドレス情報として前記データ格納処理手段に出力する格納先アドレス生成手段と、
を有する変換テーブル手段をさらに備え、
前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに、抽出された前記データを格納することを特徴とする請求項１または２に記載の制御装置。
【請求項５】
制御部、送信部および受信部を有し、モータを駆動する制御装置と、制御部、送信部および受信部を有し、前記制御装置を制御する全体制御装置と、がネットワークを介して接続され、前記制御装置と前記全体制御装置のうちの１台がタイミングの基準を生成し、所定の通信周期の下で前記全体制御装置と前記制御装置との間でシリアル通信によってデータ通信を行う制御システムにおいて、
前記制御装置の前記送信部は、
前記全体制御装置に送信するデータを記憶するメモリと、
前記メモリから取得した前記データと、前記全体制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、を含むフレームを生成する送信制御手段と、
を備え、
前記全体制御装置の前記受信部は、
前記フレームから前記メモリ格納情報と前記データとを抽出する受信制御手段と、
抽出された前記データを記憶するバッファメモリと、
抽出された前記データを、前記メモリ格納情報で指定される前記バッファメモリのアドレスに格納するデータ格納処理手段と、
を備え、
前記メモリ格納情報は、前記ネットワークに接続される前記制御装置ごとに異なる値が設定され、
前記全体制御装置の前記制御部は、前記制御装置からのデータを、前記バッファメモリの前記制御装置ごとに固定して定められたアドレスから毎回読み出すことを特徴とする制御システム。
【請求項６】
前記制御装置の前記送信制御手段は、前記データのエラー検出に使用されるフレーム検査データを前記フレームに含めて生成し、
前記全体制御装置の前記受信制御手段は、前記データと前記メモリ格納情報に加えて前記フレーム検査データを抽出するとともに、抽出した前記データについて前記フレーム検査データを用いてエラー検出を行い、
前記全体制御装置の前記データ格納処理手段は、前記メモリ格納情報で指定される前記バッファメモリのアドレスに、前記データとともに前記受信制御手段で行われたエラー検出結果である受信データ状態を格納し、
前記全体制御装置の前記制御部は、前記データとともに前記受信データ状態も前記バッファメモリから読み出すことを特徴とする請求項５に記載の制御システム。
【請求項７】
前記全体制御装置の前記受信部は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置を示す格納アドレス情報と、の間の関係を定義したメモリ配置変換情報に基づいて、前記受信制御手段で抽出された前記メモリ格納情報に対応する前記格納アドレス情報を取得する変換テーブル手段をさらに備え、
前記全体制御装置の前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに抽出された前記データを格納し、
前記メモリ配置変換情報は、複数の前記受信格納情報が１つの前記格納アドレス情報に対応付けられていることを特徴とする請求項５または６に記載の制御システム。
【請求項８】
前記全体制御装置の前記受信部は、
自装置が受信するはずのメモリ格納情報である受信格納情報と、前記メモリ格納情報から所定の情報を取得する第１のマスクと、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置の算出に用いるアドレス算出情報と、を対応づけたメモリ配置変換情報を格納するメモリ配置変換情報格納手段と、
前記受信格納情報に前記第１のマスクをして得られた値と、前記メモリ格納情報に前記第１のマスクをして得られた値とが一致する場合に、前記メモリ格納情報に前記第１のマスクをビット反転させた第２のマスクをして得られた値に前記アドレス算出情報を加算したものを、前記メモリ格納情報を有する前記フレーム内の前記データの格納先とする格納アドレス情報として前記データ格納処理手段に出力する格納先アドレス生成手段と、
を有する変換テーブル手段をさらに備え、
前記全体制御装置の前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに、抽出された前記データを格納することを特徴とする請求項５または６に記載の制御システム。
【請求項９】
制御部、送信部および受信部を有し、モータを駆動する制御装置と、制御部、送信部および受信部を有し、前記制御装置を制御する全体制御装置と、がネットワークを介して接続され、前記制御装置と前記全体制御装置のうちの１台がタイミングの基準を生成し、所定の通信周期の下で前記全体制御装置と前記制御装置との間でシリアル通信によってデータ通信を行う制御システムでの通信方法において、
前記制御装置は、前記全体制御装置に送信するデータと、前記全体制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、を含むフレームを生成するフレーム生成工程と、
前記制御装置は、前記フレームを前記全体制御装置に送信するフレーム送信工程と、
前記全体制御装置は、前記フレームから前記メモリ格納情報と前記データとを抽出する抽出工程と、
前記全体制御装置は、抽出された前記データを、前記メモリ格納情報で指定されるバッファメモリのアドレスに格納するデータ格納工程と、
前記全体制御装置は、前記制御装置からのデータを、前記バッファメモリの前記制御装置ごとに固定して定められたアドレスから毎回読み出すデータ読み出し工程と、
を含み、
前記メモリ格納情報は、前記ネットワークに接続される前記制御装置ごとに異なる値が設定されることを特徴とする通信方法。
【請求項１０】
前記フレーム生成工程で、前記制御装置は、前記データのエラー検出に使用されるフレーム検査データを前記フレームに含めて生成し、
前記抽出工程では、前記全体制御装置は、前記データと前記メモリ格納情報に加えて前記フレーム検査データを抽出するとともに、抽出した前記データについて前記フレーム検査データを用いてエラー検出を行い、
前記データ格納工程では、前記全体制御装置は、前記メモリ格納情報で指定される前記バッファメモリのアドレスに、前記データとともに前記エラー検出の結果である受信データ状態を格納し、
前記データ読み出し工程では、前記全体制御装置は、前記データとともに前記受信データ状態も前記バッファメモリから読み出すことを特徴とする請求項９に記載の通信方法。
【請求項１１】
前記抽出工程の後で前記データ格納工程の前に、前記全体制御装置は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置を示す格納アドレス情報と、の間の関係を定義したメモリ配置変換情報に基づいて、前記抽出工程で抽出された前記メモリ格納情報に対応する前記格納アドレス情報を取得するアドレス変換工程をさらに含み、
前記データ格納工程では、前記全体制御装置は、前記アドレス変換工程で出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに抽出された前記データを格納し、
前記メモリ配置変換情報は、複数の前記受信格納情報が１つの前記格納アドレス情報に対応付けられていることを特徴とする請求項９または１０に記載の通信方法。
【請求項１２】
前記全体制御装置は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記メモリ格納情報から所定の情報を取得する第１のマスクと、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置の算出に用いるアドレス算出情報と、を対応づけたメモリ配置変換情報を有し、
前記抽出工程の後で前記データ格納工程の前に、前記全体制御装置は、
前記受信格納情報に前記第１のマスクをして得られた値と、前記メモリ格納情報に前記第１のマスクをして得られた値とが一致するか判定する判定工程と、
前記判定工程で両者が一致した場合に、前記メモリ格納情報に前記第１のマスクをビット反転させた第２のマスクをして得られた値に前記アドレス算出情報を加算したものを、前記メモリ格納情報を有する前記フレーム内の前記データの格納先とする格納アドレス情報とするアドレス変換工程と、
をさらに含み、
前記全体制御装置の前記データ格納工程は、前記アドレス変換工程で得られる前記格納アドレス情報で指定される前記バッファメモリのアドレスに、抽出された前記データを格納することを特徴とする請求項９または１０に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置、制御システムおよび通信方法に関するものである。
【背景技術】
【０００２】
装置全体を制御するコントローラと複数のモータで構成される制御装置において、コントローラと複数のモータは一般的にシリアル通信によって接続される。シリアル通信で各装置を接続することで、装置全体の省配線化やメンテナンス性向上が実現できる。【０００３】
また、複数のモータは一般的にモータとモータ駆動装置で構成され、シリアル通信はコントローラとモータ駆動装置との間で行われる。このシリアル通信によってコントローラからモータ駆動装置へは位置、速度、トルク等の移動指令が伝達され、モータ駆動装置からはモータの位置、速度、駆動電流値等の制御状態量が伝達される。【０００４】
このようなモータ制御を目的とした駆動制御用シリアル通信では、モータの運転を安定に行うために一定の間隔で、移動指令や制御状態量を相互に送信し合い、この一定の間隔を通信周期としてシリアル通信制御を行う。コントローラからモータ駆動装置へ一定の通信周期で移動指令が逐次更新されて伝達され、モータ駆動装置が通信周期毎に受信処理を行い、受信したデータから抽出された指令に追従するようにモータ制御を行うことで、コントローラはモータを所望の位置、速度、トルク等で制御することが可能となる。【０００５】
コントローラは必要に応じて、モータ駆動装置から一定通信周期で逐次更新されて伝達される制御状態量を通信周期毎に受信処理を行い、受信したデータから抽出された必要な制御状態量からモータ駆動装置に必要な制御処理を行い、次回モータ制御指令に反映してモータ駆動装置全体を制御する。【０００６】
駆動制御用シリアル通信では、前述のように指令や状態量が逐次更新されるため、シリアル通信の受信制御部は通信周期毎に受信データを更新する。場合によっては受信データを格納するバッファメモリにＦＩＦＯ（First  In,  First  Out）バッファを用いて、一回の通信周期で複数の受信データを保持したり、複数の通信周期で複数の受信データを保持したりする。【０００７】
受信制御部が複数の通信周期で複数の受信データを保持する場合、駆動制御用シリアル通信では、一旦装置間での通信が開始されると規定の通信周期で規定の通信フレームが周期的に送信される。そのため、受信制御部では、受信データの格納位置を管理する管理テーブルに従って各通信フレームの受信データを周期的に受信用のバッファメモリに格納する（たとえば、特許文献１参照）。【０００８】
通常のシリアル通信同様、駆動制御用シリアル通信においても通信経路上でのデータ破損を検出するための検査データを送信時に通信フレームに付随させ、受信側で受信データと検査データから受信データの信頼性の確認を行い受信データ状態として保持する。複数の受信データを保持する場合には、保持している受信データ分だけ受信データ状態を保持する必要がある（たとえば、特許文献２参照）。【０００９】
上述のシリアル通信の通信フレームは、送信するデータの先頭と最後に特定のビットパターンを付加させて送信を行う。先頭の特定ビットパターンをスタートフラグ、最後のビットパターンをエンドフラグとし、受信部ではスタートフラグを識別することで、通信フレームの受信処理を開始し、またエンドフラグで通信フレームの最後を認識し１つの通信フレームを受信する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１１−３２１００号公報
【特許文献２】特開昭６３−２９３６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記のような従来の駆動制御用シリアル通信では、一般的には受信データはバッファメモリに順番に蓄えられていくが、複数の受信データを保持する場合にはバッファメモリのどこに受信データを格納し、どこからどの受信データを取り出したらよいか処理する受信データ処理部を必要としていた。【００１２】
また、受信データと受信データ状態が別々に保持されており、特に複数の受信データを保持する場合には、受信データと受信データ状態の組合せを明らかにさせる必要がある。通信フレームの欠落がない正常な受信の場合には、受信データと受信データ状態の組み合わせの判断は、比較的容易であるが、通信フレームの欠落がある場合には、欠落した通信フレームを特定し、受信データと受信データ状態とを組み合わせる処理に時間を要してしまうという問題点があった。【００１３】
この発明は上記に鑑みてなされたもので、駆動制御用シリアル通信において、複数の受信データが格納されるバッファメモリから受信データを簡潔に取り出すことができる制御装置、制御システムおよび通信方法を得ることを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、この発明にかかる制御装置は、制御部、送信部および受信部を有する２台以上の制御装置がネットワークを介して接続され、前記制御装置の内の１台がタイミングの基準を生成し、所定の通信周期の下で前記制御装置間でシリアル通信によるデータ通信を行う制御システムで使用される制御装置において、前記送信部は、他の制御装置に送信するデータを記憶するメモリと、前記メモリから取得した前記データと、前記他の制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、を含むフレームを生成する送信制御手段と、を備え、前記受信部は、前記フレームから前記メモリ格納情報と前記データとを抽出する受信制御手段と、抽出された前記データを記憶するバッファメモリと、抽出された前記データを、前記メモリ格納情報で指定される前記バッファメモリのアドレスに格納するデータ格納処理手段と、を備え、前記メモリ格納情報は、前記フレームの宛先となる制御装置ごとに定められ、前記制御部は、他の制御装置からのデータを、前記バッファメモリの前記他の制御装置ごとに固定して定められたアドレスから毎回読み出すことを特徴とする。
【発明の効果】
【００１５】
この発明によれば、受信データがフレーム内のメモリ格納情報に従ってバッファメモリの特定のアドレスに格納されるので、受信部側でバッファメモリ内での受信データの格納位置を管理する情報を保持する必要がなく、受信時の処理時間を短縮することができる。また、受信処理に必要な処理時間が短縮されるので、制御装置間のデータ更新周期を高速化することができ、制御装置が接続されるネットワーク全体の性能を向上させることができるという効果を有する。
【図面の簡単な説明】
【００１６】
【図１】図１は、この発明の実施の形態１によるシリアル通信でネットワーク構成されたモータ駆動制御システムの一例を模式的に示す図である。
【図２】図２は、コントローラから各モータ駆動装置へ送信するデータの送信タイミングの一例を示す図である。
【図３】図３は、各モータ駆動装置からコントローラへ送信するデータの送信タイミングの一例を示す図である。
【図４】図４は、コントローラと各モータ駆動装置との間で送信されるデータの送信タイミングの一例を示す図である。
【図５】図５は、実施の形態１によるユニット内に設けられる送信部の機能構成を模式的に示すブロック図である。
【図６】図６は、実施の形態で使用されるフレームの構成の一例を示す図である。
【図７】図７は、実施の形態１によるユニット内に設けられる受信部の機能構成を模式的に示すブロック図である。
【図８】図８は、コントローラのバッファメモリの状態の一例を模式的に示す図である。
【図９】図９は、一般的な受信部のバッファメモリの状態の一例を模式的に示す図である。
【図１０】図１０は、一般的な受信部のバッファメモリの状態の一例を模式的に示す図である。
【図１１】図１１は、実施の形態１によるフレームの送信処理の手順の一例を示すフローチャートである。
【図１２】図１２は、実施の形態１によるフレームの受信処理の手順の一例を示すフローチャートである。
【図１３】図１３は、実施の形態２による受信部の構成を模式的に示すブロック図である。
【図１４】図１４は、実施の形態２によるコントローラのバッファメモリの状態の一例を模式的に示す図である。
【図１５】図１５は、実施の形態３による受信部の構成を模式的に示すブロック図である。
【図１６】図１６は、実施の形態３による変換テーブル部の構成の一例を模式的に示す図である。
【図１７】図１７は、テーブルの構成の一例を模式的に示す図である。
【図１８】図１８は、実施の形態３によるコントローラのバッファメモリの状態の一例を模式的に示す図である。
【図１９】図１９は、実施の形態４による変換テーブル部の構成の一例を模式的に示す図である。
【図２０】図２０は、テーブルの構成の一例を模式的に示す図である。
【図２１】図２１は、実施の形態４によるコントローラのバッファメモリの状態の一例を模式的に示す図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照して、この発明の実施の形態にかかる制御装置、制御システムおよび通信方法の好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１８】
実施の形態１．
図１は、この発明の実施の形態１によるシリアル通信でネットワーク構成されたモータ駆動制御システムの一例を模式的に示す図である。このモータ駆動制御システムは、制御対象であるサーボモータやインダクションモータなどの複数のモータ１１−１〜１１−３と、それぞれのモータ１１−１〜１１−３を制御するモータ駆動装置１２−１〜１２−３と、モータ駆動装置１２−１〜１２−３全体の動作制御を行うコントローラ１３と、を備える。また、コントローラ１３とモータ駆動装置１２−１〜１２−３とは、シリアル通信線２１で接続されデータ通信を行う。
【００１９】
各モータ駆動装置１２−１〜１２−３と各モータ１１−１〜１１−３とは、それぞれ動力線２２と検出器ケーブル２３で接続される。モータ駆動装置１２−１〜１２−３は、動力線２２を介してモータ駆動電力をモータ１１−１〜１１−３へ伝達し、モータ１１−１〜１１−３は、モータ１１−１〜１１−３の回転角度を検出する図示しない検出器によって取得されるモータ角度情報を、検出器ケーブル２３を介してモータ駆動装置１２−１〜１２−３へ伝達する。モータ駆動装置１２−１〜１２−３ではモータ駆動電力とモータ角度情報から、コントローラ１３からの指令に応じてモータ角度を制御する。この実施の形態１では、モータ駆動制御においてモータ角度情報を使用する例を示しているが、モータ駆動制御において必ずしもモータ角度情報は必要ではなく、モータ角度情報を使用せず、他の情報を使用してモータ駆動制御を行ってもよい。
【００２０】
コントローラ１３と各モータ駆動装置１２−１〜１２−３は、制御部、送信部および受信部を有し、シリアル通信線２１によってデータ通信を行い、コントローラ１３から各モータ駆動装置１２−１〜１２−３へは、位置、速度、トルク等の移動指令やその他の制御信号が伝達される。各モータ駆動装置１２−１〜１２−３の制御部がコントローラ１３からの移動指令でモータ１１−１〜１１−３を指令された位置、速度、トルクで制御することによって、コントローラ１３はモータ駆動装置１２−１〜１２−３全体を制御することができる。また、各モータ駆動装置１２−１〜１２−３からコントローラ１３へは、モータ１１−１〜１１−３の位置、速度、駆動電流や各種制御信号、異常状態が伝達される。コントローラ１３の制御部は必要に応じて制御状態をフィードバックし次回の指令を制御したり、モータ制御が異常と判断した場合にはモータ駆動装置１２−１〜１２−３に停止指令を発行したりする。なお、コントローラ１３は、制御装置または全体制御装置を構成し、モータ駆動装置１２−１〜１２−３は、制御装置を構成している。
【００２１】
コントローラ１３と各モータ駆動装置１２−１〜１２−３は、モータ１１−１〜１１−３の運転を安定に行うために所定の間隔で通信を行う。より具体的には、コントローラ１３と各モータ駆動装置１２−１〜１２−３の内の１台がタイミングの基準を生成し、規定の通信周期の下で通信を行う。図２は、コントローラから各モータ駆動装置へ送信するデータの送信タイミングの一例を示す図である。一定間隔の通信は、通信周期Ｔで規定される。ここで、コントローラ１３からモータ駆動装置１２−１へ送信されるデータはフレーム１０１であり、コントローラ１３からモータ駆動装置１２−２，１２−３へ送信されるそれぞれのデータはフレーム１０２，１０３であるものとする。
【００２２】
この図に示されるように、コントローラ１３は、第１通信周期でモータ駆動装置１２−１への指令データを含むフレーム１０１とモータ駆動装置１２−２への指令データを含むフレーム１０２を送信し、次の第２通信周期でモータ駆動装置１２−３への指令データを含むフレーム１０３を送信している。また、コントローラ１３は、第３通信周期でモータ駆動装置１２−１への次の指令データを含むフレーム１０１とモータ駆動装置１２−２への次の指令データを含むフレーム１０２を送信し、第４通信周期でモータ駆動装置１２−３への次の指令データを含むフレーム１０３を送信している。このように一定の間隔で更新される指令データが、コントローラ１３から各モータ駆動装置１２−１〜１２−３に送信されることによって、コントローラ１３はモータ制御を行うことができる。
【００２３】
図３は、各モータ駆動装置からコントローラへ送信するデータの送信タイミングの一例を示す図である。この例でも、一定間隔の通信は通信周期Ｔで規定される。通信周期Ｔは図２のコントローラ１３からモータ駆動装置１２−１〜１２−３へのデータ送信時の通信周期Ｔと同じであってもよいし、同じでなくてもよい。ここで、モータ駆動装置１２−１からコントローラ１３へ送信するデータはフレーム１１１であり、モータ駆動装置１２−２，１２−３からコントローラ１３へ送信するデータはそれぞれフレーム１１２，１１３であるものとする。
【００２４】
この図３に示されるように、第１通信周期では、モータ駆動装置１２−１から状態データを含むフレーム１１１と、モータ駆動装置１２−２から状態データを含むフレーム１１２とが送信され、次の第２通信周期では、モータ駆動装置１２−３から状態データを含むフレーム１１３が送信される。また、第３通信周期では、モータ駆動装置１２−１，１２−２から次の状態データを含むフレーム１１１，１１２がそれぞれ送信され、第４通信周期では、モータ駆動装置１２−３から次の状態データを含むフレーム１１３が送信される。このように指令データと同様に、一定の間隔で更新されるモータ駆動装置１２−１〜１２−３の各種状態がコントローラ１３に送信される。これによって、コントローラ１３は各モータ駆動装置１２−１〜１２−３の状態に応じた制御をシステム全体に対して行ったり、各モータ駆動装置１２−１〜１２−３の状態把握を逐次行いシステム全体が危険な状態であればモータ１１−１〜１１−３を停止させるといった処置を行ったりすることができる。
【００２５】
図２と図３に示されるようなデータ送信をコントローラ１３と各モータ駆動装置１２−１〜１２−３との間で行う場合には、最低２本のシリアル通信線２１を各ユニット（コントローラ１３、モータ駆動装置１２−１〜１２−３）間に接続することで実現できる。
【００２６】
図４は、コントローラと各モータ駆動装置との間で送信されるデータの送信タイミングの一例を示す図である。この例では、一定間隔は通信周期Ｔで規定されており、コントローラ１３から各モータ駆動装置１２−１〜１２−３へ送信するデータと、各モータ駆動装置１２−１〜１２−３からコントローラ１３へ送信するデータのそれぞれの送信タイミング例である。なお、図２〜図３と同じフレームには同じ符号を付している。
【００２７】
図４に示されるように、第１通信周期では、コントローラ１３からモータ駆動装置１２−１〜１２−３へそれぞれ指令データを含むフレーム１０１〜１０３が送信され、モータ駆動装置１２−１，１２−２からコントローラ１３へそれぞれ状態データを含むフレーム１１１，１１２が送信される。第２通信周期では、モータ駆動装置１２−３からコントローラ１３へ状態データを含むフレーム１１３が送信される。この例では第１通信周期と第２通信周期で、１回分の指令データと状態データの送受信が行われ、次の第３通信周期と第４通信周期で更新された１回分の指令データと状態データが送受信される。つまり、図２と図３の例と同様に一定の間隔で指令データと状態データが更新される。
【００２８】
図４に示されるようなデータ送信をコントローラ１３と各モータ駆動装置１２−１〜１２−３との間で行う場合には、最低１本のシリアル通信線２１を各ユニット間に接続することで実現できる。なお、図２〜図４では、２通信周期でモータ駆動制御システム全体の通信を行う場合が示されているが、モータ駆動制御システム全体の通信を、１通信周期または３通信周期以上の通信周期で行ってもよい。
【００２９】
このようなモータ駆動制御システムを構成する各ユニットは、データを他のユニットに送信する送信部と、他のユニットからのデータを受信する受信部と、を有する。
【００３０】
図５は、実施の形態１によるユニット内に設けられる送信部の機能構成を模式的に示すブロック図である。送信部３０は、送信制御部３１と、送信起動信号生成部３２と、メモリ３３と、変換部３４と、送信バッファ３５と、を備える。
【００３１】
送信制御部３１は、送信起動信号生成部３２からの起動信号によって動作を開始し、通信プロトコルで規定されるフレームとして送信データを生成し、送信全体の制御を行う。図６は、実施の形態で使用されるフレームの構成の一例を示す図である。この図に示されるように、フレーム１３０は、送信すべきデータ以外に受信部がシリアルデータを解析する際に必要な各種フラグを付加したデータ構造を有し、フレームヘッダ部１３１、フレームデータ部１３４およびフレームフッタ部１３７を有する。フレームヘッダ部１３１は、フレーム１３０の先頭を識別するスタートフラグ１３２と、通信フレーム固有の情報を格納するメモリ格納情報１３３と、を有する。フレームデータ部１３４は、各ユニットが送信するデータを格納するデータ１３５と、受信したフレーム１３０が正常なデータであるかを判断するＣＲＣ（Cyclic  Redundancy  Check）情報やチェックサム情報などのフレーム検査データ１３６と、を有する。フレーム検査データ１３６は、たとえばフレームヘッダ部１３１のスタートフラグ１３２からフレームデータ部１３４のデータ１３５までを検査対象とすることができるが、これに限定されるものではない。フレームフッタ部１３７は、フレームの最後を識別するエンドフラグ１３８を有する。
【００３２】
この実施の形態１では、メモリ格納情報１３３に、フレームデータ部１３４のデータ１３５が格納される受信側制御装置のバッファメモリ内のアドレスが定義される。たとえば、図２〜図４に示した一定の周期で送信されるフレーム１０１〜１０３，１１１〜１１３の種類ごとに、受信側制御装置のバッファメモリ内で格納されるアドレスが決められており、宛先に応じてメモリ格納情報１３３に受信側制御装置のバッファメモリ内のアドレスが格納される。
【００３３】
送信制御部３１は、スタートフラグ生成部３１１、メモリ格納情報生成部３１２、送信データ取得部３１３、フレーム検査データ生成部３１４およびエンドフラグ生成部３１５を有する。フレーム１３０は、図６に示されるように先頭からスタートフラグ１３２、メモリ格納情報１３３、データ１３５、フレーム検査データ１３６およびエンドフラグ１３８の順番で構成されるが、これらはそれぞれスタートフラグ生成部３１１、メモリ格納情報生成部３１２、送信データ取得部３１３、フレーム検査データ生成部３１４、エンドフラグ生成部３１５で生成される。
【００３４】
スタートフラグ生成部３１１は、通信プロトコル固有の特定ビットパターンをスタートフラグ１３２として生成する。
【００３５】
メモリ格納情報生成部３１２は、宛先のユニットの受信部で受信されるフレーム１３０をそのユニットのバッファメモリのどのアドレスに格納すべきかの情報をメモリ格納情報１３３としてフレーム毎に生成する。生成の際には、たとえば宛先となるユニットと、データ１３５を格納する受信側ユニットのバッファメモリ内のアドレスと、を対応付けた図示しないフレーム−受信先バッファ内アドレス関連付け情報を参照する。
【００３６】
送信データ取得部３１３は、メモリ３３から送信すべきデータを読み出し、データ１３５とする。フレーム検査データ生成部３１４は、フレームデータのＣＲＣ情報やチェックサム情報を演算し、フレーム検査データ１３６として付加する。エンドフラグ生成部３１５は、スタートフラグ１３２と同様に通信プロトコル固有の特定ビットパターンをエンドフラグ１３８として生成する。
【００３７】
このように送信制御部３１の各処理部で生成された情報が順に付加されていき、図６に示されるフレーム１３０が生成される。
【００３８】
送信起動信号生成部３２は、一定周期の送信データを出力するために規定の送信タイミングに従って、送信制御部３１に対して送信起動信号を生成する。これによって図２〜図４で示したような一定通信周期で一定の間隔で更新される送信データが送信される。
【００３９】
メモリ３３は、モータ駆動制御システムを構成する他のユニットに送信するデータを記憶する。メモリ３３に記憶されるデータは、ＣＰＵ等によって周期的に書換えられており、送信データの逐次更新が実現される。
【００４０】
変換部３４は、送信制御部３１が送信データとして出力するパラレルデータをシリアルデータに変換する。送信バッファ３５は、シリアルデータを送信する。
【００４１】
図７は、実施の形態１によるユニット内に設けられる受信部の機能構成を模式的に示すブロック図である。受信部４０は、受信バッファ４１と、変換部４２と、受信制御部４３と、データ格納処理部４４と、バッファメモリ４５と、を備える。
【００４２】
受信バッファ４１は、シリアルデータのフレームを受信する。変換部４２は、受信したシリアルデータを逐次パラレルデータに変換する。
【００４３】
受信制御部４３は、受信したフレーム１３０を解析する処理部であり、スタートフラグ検出部４３１、メモリ格納情報抽出部４３２、送信データ抽出部４３３、フレーム検査データ抽出部４３４、エンドフラグ抽出部４３５およびフレーム検査処理部４３６を有する。受信制御部４３は、変換部４２でパラレルデータに変換されたフレーム１３０の先頭であるスタートフラグ１３２を逐次検出しており、スタートフラグ１３２を検出した時点から通信プロトコルで規定されたフレーム１３０の情報であるスタートフラグ１３２、メモリ格納情報１３３、データ１３５、フレーム検査データ１３６およびエンドフラグ１３８をフレーム１３０から抽出していく。
【００４４】
スタートフラグ検出部４３１は、変換部４２から出力されるパラレルデータを逐次スタートフラグパターンと比較し、一致検出を行う。そして、スタートフラグパターンと一致した時点でスタートフラグ検出信号を出力し、メモリ格納情報抽出部４３２を起動させる。
【００４５】
メモリ格納情報抽出部４３２は、スタートフラグ１３２とメモリ格納情報１３３が通常一定の長さのデータとして規定されていることを利用して、スタートフラグ１３２の検出時点から規定の長さのデータをメモリ格納情報１３３として抽出する。メモリ格納情報１３３の抽出が完了すると、メモリ格納情報１３３の抽出完了を示す完了信号を送信データ抽出部４３３に出力する。
【００４６】
送信データ抽出部４３３は、メモリ格納情報抽出部４３２の完了信号を受けて、データ１３５の抽出を開始する。データ１３５の抽出においては、データ１３５の先頭はメモリ格納情報１３３の次からであるが、フレーム１３０によってデータ１３５の長さが異なるので、データ１３５を抽出することは困難である。ところで、データ１３５の次に配置されているフレーム検査データ１３６とエンドフラグ１３８は通信プロトコルによって所定の長さのデータとして規定される。そこで、送信データ抽出部４３３は、これを利用して、エンドフラグ１３８を識別した時点から、エンドフラグ１３８とフレーム検査データ１３６の長さ分だけさかのぼってデータ１３５の最後を識別する。すなわち、フレーム１３０内のデータ１３５は、データ１３５の先頭と最後を識別することによって抽出される。データ１３５の抽出が完了するとデータ抽出を示す完了信号をフレーム検査データ抽出部４３４に出力する。
【００４７】
フレーム検査データ抽出部４３４は、送信データ抽出部４３３の完了信号を受けて、フレーム１３０からフレーム検査データ１３６を抽出する。フレーム検査データ１３６はデータ１３５の次に配置されているため、データ１３５の最後の識別と同様に、エンドフラグ１３８を識別した時点でエンドフラグ１３８の長さ分だけさかのぼってフレーム検査データ１３６を抽出する。
【００４８】
エンドフラグ抽出部４３５は、変換部４２から出力されるパラレルデータがエンドフラグパターンと一致した場合にフレーム１３０の最後であると識別し、フレーム検査処理部４３６を起動する。
【００４９】
フレーム検査処理部４３６は、受信したフレーム１３０のＣＲＣまたはチェックサムなどのフレーム検査の計算を行い、フレーム１３０内から抽出されたフレーム検査データ１３６と比較することで受信したフレーム１３０が正常であるかを判別する。
【００５０】
データ格納処理部４４は、受信制御部４３で抽出されたメモリ格納情報１３３を基に、抽出されたデータ１３５をバッファメモリ４５に受信データとして格納する。バッファメモリ４５は、受信されたデータを格納する。このバッファメモリ４５でのデータ格納位置は、送信元のユニットによって定められており、ここではメモリ格納情報１３３によって指定されたアドレスにデータ１３５が格納される。
【００５１】
図８は、コントローラのバッファメモリの状態の一例を模式的に示す図である。この例では、バッファメモリ４５のアドレス「０１００ｈ」、「０２００ｈ」、「０３００ｈ」に各モータ駆動装置１２−１〜１２−３から受信したフレーム１１１〜１１３から抽出されたデータが格納されている。各フレーム１１１〜１１３内のデータを格納するアドレスは、それぞれフレーム１１１〜１１３から抽出されたメモリ格納情報から決定される。すなわち、モータ駆動装置１２−１によって送信されるフレーム１１１のメモリ格納情報にはデータを格納する受信先のユニットのバッファメモリ４５のアドレスとして「０１００ｈ」が設定される。また、モータ駆動装置１２−２，１２−３によって送信されるフレーム１１２，１１３のメモリ格納情報にはデータを格納する受信先のユニットのバッファメモリ４５のアドレスとしてそれぞれ「０２００ｈ」、「０３００ｈ」が設定される。
【００５２】
なお、コントローラ１３は、バッファメモリ４５のアドレスとそのアドレスに格納されるデータを送信したモータ駆動装置１２−１〜１２−３とを対応づけて管理している。このときバッファメモリ４５のアドレスはモータ駆動装置１２−１〜１２−３に対して固定されている。そのため、コントローラ１３はデータが更新される度に、バッファメモリ４５のモータ駆動装置１２−１〜１２−３ごとに固定されたアドレスからそれぞれのモータ駆動装置１２−１〜１２−３に対応するデータを読み出すことによって、各モータ駆動装置１２−１〜１２−３のモータ位置、モータ速度、駆動電流や各種制御信号や異常状態といった状態データを取得することができる。
【００５３】
図９と図１０は、一般的な受信部のバッファメモリの状態の一例を模式的に示す図であり、図９は、正常にフレームを受信した場合の一般的な受信部のバッファメモリの状態の一例を模式的に示す図であり、図１０は、正常にフレームを受信できなかった場合の一般的な受信部のバッファメモリの状態の一例を模式的に示す図である。ここでも、図１に示されるモータ駆動制御システムのコントローラ１３のバッファ状態を示している。
【００５４】
一般的なモータ駆動制御システムでは、図６のようなフレームを用いた通信ではなく、メモリ格納情報１３３を有さないフレームで通信が行われる。そのため、図９に示されるように、一般的なユニットの受信部では、受信したデータをバッファメモリ４５の上（先頭アドレス）から受信した順番に配置する。一方、シリアルデータが通信経路で壊れ受信すべきフレームのいずれかが受信されなかった場合には、図１０に示されるように、バッファメモリ４５に格納されるデータの配置が変わってしまう。図１０では２回目に受信するはずのフレーム１１２が受信されなった場合のバッファメモリ４５の状態が示されている。
【００５５】
一般的な場合において、コントローラ１３がバッファメモリ４５からデータを読み出す際に、図９に示されるように正常に受信した場合はそのままバッファメモリ４５から順にデータを読み出しても問題ないが、図１０に示されるように一部のフレームが受信できなかった場合にはそのままバッファメモリ４５から順にデータを読み出してしまうと問題が発生する。そのため、一般的な場合では、コントローラ１３に受信データ異常解析部を設け、バッファメモリ４５から受信したデータを読み出した後で、データからフレームの種別を判断している。このフレームの種別の判断には時間を要してしまうという問題点があった。
【００５６】
これに対して、実施の形態１による方法では、モータ駆動装置１２−１〜１２−３ごとにコントローラ１３の受信部４０のバッファメモリ４５に格納する領域を予め設定し、そこにデータを格納するようにしたので、通信異常でフレームを受信できなかった場合には、その領域にはデータが格納されないことになる。そのため、コントローラ１３では各モータ駆動装置１２−１〜１２−３からのデータを読み込むことができるとともに、受信データ異常解析部で受信データのフレームの種別を解析することなく、各モータ駆動装置１２−１〜１２−３からのデータの受信の有無を判断することができる。
【００５７】
次に、各ユニットにおけるフレームの送信処理と受信処理について説明する。図１１は、実施の形態１によるフレームの送信処理の手順の一例を示すフローチャートである。まず、スタートフラグ生成部３１１は、フレーム作成タイミングとなったかを判定する（ステップＳ１１）。フレーム作成タイミングは、送信起動信号生成部３２からの起動信号の受信の有無によって判定される。フレーム作成タイミングでない場合（ステップＳ１１でＮｏの場合）には、フレーム作成タイミングとなるまで待ち状態となる。
【００５８】
一方、送信起動信号生成部３２からの起動信号を受信し、フレーム作成タイミングとなった場合（ステップＳ１１でＹｅｓの場合）には、スタートフラグ生成部３１１は、スタートフラグ１３２を生成する（ステップＳ１２）。スタートフラグ生成部３１１は、使用する通信プロトコルで規定されている特定のビットパターンをスタートフラグ１３２として生成する。
【００５９】
ついで、メモリ格納情報生成部３１２は、送信するデータに関して受信先のユニットの受信部４０のバッファメモリ４５内の格納位置（アドレス）を示すメモリ格納情報１３３を生成する（ステップＳ１３）。たとえばシステムの設計時に、各ユニットに対してフレーム−受信先バッファ内アドレス関連付け情報が設定されており、このフレーム−受信先バッファ内アドレス関連付け情報に基づいてメモリ格納情報１３３は生成される。生成されたメモリ格納情報１３３は、スタートフラグ１３２に付加される。
【００６０】
その後、送信データ取得部３１３は、メモリ３３から送信すべきデータ１３５を取得し（ステップＳ１４）、メモリ格納情報１３３の後に付加する。ついで、フレーム検査データ生成部３１４は、フレームデータについてのフレーム検査データ１３６を生成する（ステップＳ１５）。ここでは、スタートフラグ１３２、メモリ格納情報１３３およびデータ１３５についてのＣＲＣ情報やチェックサム情報などを演算し、付加する。その後、エンドフラグ生成部３１５は、使用する通信プロトコルで規定されている特定のビットパターンをエンドフラグ１３８として生成する（ステップＳ１６）。エンドフラグ１３８は、フレーム検査データ１３６の後に付加される。以上によって、パラレルデータのフレーム１３０が生成される。
【００６１】
ついで、変換部３４は、生成されたパラレルデータのフレーム１３０をシリアルデータのフレーム１３０に変換し（ステップＳ１７）、送信バッファ３５に格納される（ステップＳ１８）。そして、所定のタイミングでフレーム１３０が送出され（ステップＳ１９）、フレーム１３０の送信処理が終了する。
【００６２】
図１２は、実施の形態１によるフレームの受信処理の手順の一例を示すフローチャートである。まず、受信部４０は受信したシリアルデータのフレーム１３０を受信バッファ４１に格納し（ステップＳ３１）、変換部４２は受信されたシリアルデータのフレーム１３０をパラレルデータのフレーム１３０に変換する（ステップＳ３２）。
【００６３】
ついで、スタートフラグ検出部４３１は、変換部４２から出力されるデータについて、逐次スタートフラグパターンと比較してスタートフラグ１３２の検出を行う（ステップＳ３３）。スタートフラグ１３２が検出されない場合（ステップＳ３３でＮｏの場合）には、スタートフラグ１３２が検出されるまで検出を行う。一方、スタートフラグ１３２が検出されると（ステップＳ３３でＹｅｓの場合）、スタートフラグ検出部４３１は、スタートフラグ１３２を検出したことを示すスタートフラグ検出信号を出力し、メモリ格納情報抽出部４３２を起動する。
【００６４】
メモリ格納情報抽出部４３２は、スタートフラグ１３２の検出時点からメモリ格納情報１３３を抽出する（ステップＳ３４）。スタートフラグ１３２とメモリ格納情報１３３は長さが決まっているので、スタートフラグ１３２の検出時点から所定の長さのデータを取得し、スタートフラグ１３２分の長さを先頭から除くことでメモリ格納情報１３３が取得される。メモリ格納情報抽出部４３２は、メモリ格納情報１３３の抽出後、メモリ格納情報の抽出が完了したことを示す完了信号を出力する。
【００６５】
ついで、送信データ抽出部４３３は、完了信号を受けると、データ１３５の抽出を行う（ステップＳ３５）。ここでは、メモリ格納情報１３３の次から抽出を開始するが、フレームのエンドフラグ１３８を識別した時点からさかのぼって、一定の長さのフレーム検査データ１３６とエンドフラグ１３８とを除くことによってデータ１３５を抽出する。送信データ抽出部４３３は、データの抽出が完了すると、データ抽出の完了を示す完了信号を出力する。
【００６６】
その後、フレーム検査データ抽出部４３４は、完了信号を受けると、フレーム検査データ１３６をフレームから抽出する（ステップＳ３６）。ここでは、データ１３５の最後から抽出を開始し、エンドフラグ１３８を識別した時点でさかのぼって一定の長さのエンドフラグ１３８を除くことによってフレーム検査データ１３６が抽出される。
【００６７】
ついで、エンドフラグ抽出部４３５は、エンドフラグ１３８を検出する（ステップＳ３７）。エンドフラグ１３８の検出は、変換部４２からのデータがエンドフラグパターンと一致するかを判定することによって行われ、エンドフラグパターンと一致することでフレームの最後が識別される。エンドフラグパターンが検出されると、エンドフラグ抽出部４３５は、フレーム検査処理部４３６を起動する。
【００６８】
フレーム検査処理部４３６は、受信したフレーム１３０の検査を行う（ステップＳ３８）。たとえば受信したフレーム１３０のＣＲＣまたはチェックサムなどのフレーム検査の計算を行い、フレーム１３０内から抽出されたフレーム検査データ１３６と比較することで、受信したフレーム１３０が正常であるかを判別する。
【００６９】
そして、データ格納処理部４４は、メモリ格納情報抽出部４３２で抽出されたメモリ格納情報１３３に基づいて、送信データ抽出部４３３で抽出されたデータをバッファメモリ４５に格納する（ステップＳ３９）。メモリ格納情報１３３には、データ１３５のバッファメモリ４５内での格納位置（アドレス）が規定されているので、その格納位置にデータ１３５を格納する。以上によって、受信処理が終了する。
【００７０】
この実施の形態１によれば、データ１３５がフレーム１３０内のメモリ格納情報１３３に従ってバッファメモリ４５の特定のアドレスに格納されるので、従来必要とした受信データ異常解析部を省略することが可能であると共に、受信時の処理時間を短縮させることが可能となる。その結果、受信データ処理を簡潔にすることができる。
【００７１】
また、受信データ処理を簡潔にすることによって受信処理に必要な処理時間を短縮させ、より短い周期の通信周期も実現可能とする。駆動制御用シリアル通信においては、通信周期をより短くできることで、装置間のデータ更新周期が高速化されデータ伝達時間が短くなり制御装置全体の性能を向上させることができるという効果も有する。
【００７２】
さらに、複数の受信データを保持する際に周期的に受信されるフレームのある１つが受信されなくても、次に正常受信するフレームはメモリ格納情報１３３によってバッファメモリ４５の特定のアドレスに格納されるため、受信データ処理部でのバッファメモリ４５から受信データを探す処理を削除することができる。
【００７３】
実施の形態２．
図１３は、実施の形態２による受信部の構成を模式的に示すブロック図である。実施の形態２の受信部４０Ａのデータ格納処理部４４Ａは、受信制御部４３でフレームから抽出されたメモリ格納情報に基づいて、フレームから抽出されたデータをバッファメモリ４５に格納する際に、受信制御部４３のフレーム検査処理部４３６Ａからのフレームが正常に受信されたかどうかを示す受信データ状態も取得して、データと合せて受信データとしてバッファメモリ４５に格納する機能を有する。なお、実施の形態１と同一の構成要素には実施の形態１と同一の符号を付してその説明を省略している。また、送信部３０の構成も実施の形態１と同様であるのでその説明を省略する。
【００７４】
図１４は、実施の形態２によるコントローラのバッファメモリの状態の一例を模式的に示す図である。この例では、バッファメモリ４５のアドレス「０１００ｈ」、「０２００ｈ」、「０３００ｈ」には、各モータ駆動装置１２−１〜１２−３から受信したフレーム１１１〜１１３から抽出されたデータと共に、各フレーム１１１〜１１３の受信データ状態が格納されている。ここでは、メモリ格納情報で規定されるアドレスにデータ受信状態が格納され、その後の領域にデータが格納されている。
【００７５】
コントローラ１３は、データが更新される度に、バッファメモリ４５内のこれらの固定アドレスからそれぞれのモータ駆動装置１２−１〜１２−３に対応する受信データ状態とデータを読み出す。そして、受信データ状態から受信した各フレーム１１１〜１１３が正常かどうかを判断し、正常に受信されている場合には、データから各モータ駆動装置１２−１〜１２−３のモータ位置、モータ速度、駆動電流や各種制御信号や異常状態といった状態データを取得する。また、正常に受信されていない場合には、モータ駆動装置１２−１〜１２−３からの状態データを取得しない。
【００７６】
一方、図９と図１０で示したように、一般的な構成の受信部の場合には、バッファメモリにフレームが順番に格納されるため、図１０のようにフレームのいずれかが受信されなかった場合には、受信データ読み出し後に受信データ異常解析部でフレームの欠落を判断するとともに、別途受信部に保持される受信データ状態をフレームの欠落を考慮して検査する必要があった。
【００７７】
この実施の形態２によれば、受信データがフレーム内のメモリ格納情報に従ってバッファメモリ４５の特定のアドレスに、受信データ状態とフレームから抽出されたデータとを格納するようにしたので、データの読み込みと同時に受信データ状態を取得し、データが異常であるか否かを判断することができる。そして、受信データ状態を得るのに要する時間を従来に比して短縮することができるという効果を実施の形態１の効果に加えて得ることができる。
【００７８】
また、受信データ状態が受信データと一緒にバッファメモリ４５の特定のアドレスに格納されているため、周期的に受信されるフレームのある１つが受信されない場合には、フレームの欠落を容易に判定することができる。その結果、従来のように受信データ処理部で通信データ情報と受信データの組合せ処理を行う必要がない。
【００７９】
実施の形態３．
図１５は、実施の形態３による受信部の構成を模式的に示すブロック図である。実施の形態３の受信部４０Ｂは、実施の形態２の構成に加えて、フレームから抽出されたメモリ格納情報をバッファメモリ４５のデータを格納する格納先アドレスに変換する変換テーブル部４６をさらに備える。また、データ格納処理部４４Ｂは、変換テーブル部４６によって出力されるアドレスに受信制御部４３で抽出されたデータと受信データ状態とを格納する。なお、実施の形態１，２と同一の構成要素には実施の形態１，２と同一の符号を付してその説明を省略している。また、送信部３０の構成も実施の形態１と同様であるのでその説明を省略する。
【００８０】
図１６は、実施の形態３による変換テーブル部の構成の一例を模式的に示す図である。変換テーブル部４６は、フレームのメモリ格納情報とバッファメモリ４５の格納先アドレスである格納アドレス情報との間の関係を示すテーブル４６１と、受信データのバッファメモリ４５内の格納位置である格納アドレスを生成する複数の格納先アドレス生成部４６２−１，４６２−２，・・・と、複数の格納先アドレスを選択するアドレス選択部４６３と、を備える。
【００８１】
テーブル４６１は、自身が受信すべきメモリ格納情報を示す受信格納情報と、そのメモリ格納情報を持ったフレーム内のデータをバッファメモリ４５のどのアドレスに格納するかを決定する格納アドレス情報と、の間の関係を定義するメモリ配置変換情報であり、受信格納情報と格納アドレス情報を一対にして格納先アドレス生成部４６２−１，４６２−２，・・・の数だけ出力する。
【００８２】
図１７は、テーブルの構成の一例を模式的に示す図である。上記したようにテーブル４６１の受信格納情報は、自装置（受信部４０）が受信するはずのメモリ格納情報である。一方の格納アドレス情報は、受信格納情報に対して割り当てられる実際のバッファメモリ４５内のアドレスである。たとえば、格納アドレス情報「Ａ１００ｈ」には、受信格納情報「０１００ｈ」と「０７００ｈ」とが対応付けられており、格納アドレス情報「Ａ２００ｈ」には、受信格納情報「０２００ｈ」と「０８００ｈ」とが対応付けられており、格納アドレス情報「Ａ３００ｈ」には受信格納情報「０３００ｈ」が対応付けられている。このように、複数の受信格納情報が同じ１つのバッファメモリ４５のアドレスに対応づけられている。ただし、バッファメモリ４５の１つのアドレスに対して複数の受信格納情報を関連付ける際に、コントローラ１３の１周期で通信されるデータが同じバッファメモリ４５のアドレスに格納されることがないように、たとえば図３や図４で第１通信周期のフレーム１１１のデータの格納先とフレーム１１２のデータの格納先とが同じバッファメモリ４５のアドレスに格納されることがないように、バッファメモリ４５のアドレスと受信格納情報とが関連付けされる。そして、テーブル４６１内のそれぞれの受信格納情報が異なる格納先アドレス生成部４６２−１，４６２−２，・・・へと出力される。
【００８３】
格納先アドレス生成部４６２−１，４６２−２，・・・は、フレームのメモリ格納情報とテーブル４６１から参照される受信格納情報とを比較する比較部４６２１を有する。それぞれの格納先アドレス生成部４６２−１，４６２−２，・・・では、受信制御部４３でフレームから抽出されたメモリ格納情報とテーブル４６１から参照される受信格納情報とを比較部４６２１で比較し、両者が一致した場合には一致信号を生成し、テーブル４６１から参照された格納アドレス情報を一致信号とともにそれぞれアドレス選択部４６３へと出力する。格納先アドレス生成部４６２−１，４６２−２，・・・は、たとえばテーブル４６１のエントリ数だけ設けられる。
【００８４】
アドレス選択部４６３は、複数の格納先アドレス生成部４６２−１，４６２−２，・・・のうち一致信号を出力している格納先アドレス生成部４６２−１，４６２−２，・・・からの格納アドレス情報を選択して、バッファメモリ４５への格納先アドレスとしてデータ格納処理部４４へ出力する。
【００８５】
図１８は、実施の形態３によるコントローラのバッファメモリの状態の一例を模式的に示す図である。この例では、バッファメモリ４５のアドレス「Ａ１００ｈ」、「Ａ２００ｈ」、「Ａ３００ｈ」に各モータ駆動装置１２−１〜１２−３から受信したフレーム１１１〜１１３から抽出されたデータと共に、各フレーム１１１〜１１３の受信データ状態が格納されている。ここでは、変換テーブル部４６で変換されたアドレスにデータ受信状態が格納され、その後の領域にデータが格納されている。
【００８６】
ここで、変換テーブル部４６での格納先アドレス生成処理について図１６を参照しながら説明する。変換テーブル部４６には、メモリ格納情報抽出部４３２からメモリ格納情報が入力される。メモリ格納情報は、変換テーブル部４６のすべての格納先アドレス生成部４６２−１，４６２−２，・・・内の比較部４６２１へと入力される。また、テーブル４６１内のすべての受信格納情報が異なる格納先アドレス生成部４６２−１，４６２−２，・・・内の比較部４６２１へと入力される。たとえば、テーブル４６１内の第１受信格納情報は格納先アドレス生成部４６２−１へと入力され、第２の受信格納情報は、格納先アドレス生成部４６２−２へと入力され、というように、テーブル４６１内の１つの受信格納情報が１つの格納先アドレス生成部４６２−１，４６２−２，・・・へと入力される。
【００８７】
その後、格納先アドレス生成部４６２−１，４６２−２，・・・の比較部４６２１では、入力されたメモリ格納情報と受信格納情報とを比較して両者が一致するかを判定する。そして、一致した場合に比較部４６２１はアドレス選択部４６３に一致信号を出力するとともに、テーブル４６１から参照された格納アドレス情報を出力する。たとえば、格納先アドレス生成部４６２−１でメモリ格納情報と第１受信格納情報とが一致し、他の格納先アドレス生成部４６２−２，・・・ではメモリ格納情報と受信格納情報とが一致しなかった場合には、格納先アドレス生成部４６２−１の比較部４６２１のみが一致信号を出力する。また、格納先アドレス生成部４６２−１，４６２−２，・・・は、テーブル４６１からの格納アドレス情報をアドレス選択部４６３へと出力する。
【００８８】
アドレス選択部４６３では、一致信号を出力している格納先アドレス生成部４６２−１，４６２−２，・・・からの格納アドレス情報を選択し、選択した格納アドレス情報をバッファメモリ４５への格納先アドレスとしてデータ格納処理部４４へと出力する。たとえば上記の例では、格納先アドレス生成部４６２−１が一致信号を出力しているので、アドレス選択部４６３は格納先アドレス生成部４６２−１から出力される格納アドレス情報を格納先アドレスとして選択する。以上によって、格納先アドレス生成処理が終了する。
【００８９】
実施の形態１，２の方式では、複数のメモリ格納情報を含むフレームを受信した場合に、全てのメモリ格納情報１３３の範囲を包含するサイズを有するバッファメモリ４５を用意しなければならない。しかし、この実施の形態３によれば、変換テーブル部４６によってバッファメモリ４５の格納先をフレーム毎に変換し、バッファメモリ４５の１つのアドレスに対して異なる通信周期でやり取りされるデータを１以上（複数）格納できるようにしたので、より少ないバッファメモリ４５のサイズで全てのフレームを受信することが可能となる。
【００９０】
実施の形態４．
実施の形態４では、受信部のバッファメモリサイズを小さくする他の実施の形態について説明する。各ユニットにおける送信部は、実施の形態１の図５と同様の構成を有し、各ユニットの受信部は実施の形態３の図１５と同様の構成を有するため、その説明を省略する。ただし、実施の形態４では、受信部４０の変換テーブル部４６の構成が実施の形態３とは異なる。
【００９１】
図１９は、実施の形態４による変換テーブル部の構成の一例を模式的に示す図である。変換テーブル部４６は、フレームのメモリ格納情報とバッファメモリ４５の格納先アドレスとの間の関係を示すテーブル４６１Ａと、受信データのバッファメモリ４５内の格納位置である格納アドレスを生成する複数の格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・と、複数の格納先アドレスを選択するアドレス選択部４６３と、を有する。
【００９２】
テーブル４６１Ａは、自身が受信すべきメモリ格納情報を示す受信格納情報と、メモリ格納情報と受信格納情報の比較する範囲を決定する比較範囲情報と、メモリ格納情報を有するフレーム内のデータのバッファメモリ４５内のアドレスの算出に使用するアドレス算出情報と、の間の関係を定義するテーブルであり、受信格納情報、比較範囲情報およびアドレス算出情報を一対にした情報の数だけ格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・に出力する。
【００９３】
図２０は、テーブルの構成の一例を模式的に示す図である。テーブル４６１Ａの受信格納情報は、自装置（受信部４０）が受信するはずのフレームのメモリ格納情報であり、受信したフレームのメモリ格納情報と比較される。比較範囲情報は、受信したフレームのメモリ格納情報（アドレス）と受信格納情報（アドレス）に対して比較を行う範囲を定めるマスクの機能を有する。アドレス算出情報は、受信格納情報に対して割り当てられる実際のバッファメモリ４５内のアドレスである。この例では、受信格納情報「０１００ｈ」には、比較範囲情報「ＦＦ００ｈ」とアドレス算出情報「Ａ１００ｈ」が対応づけられて登録されている。
【００９４】
格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・は、メモリ格納情報の比較範囲を決定するＡＮＤ部４６２２と、受信格納情報の比較範囲を決定するＡＮＤ部４６２３と、比較範囲が決定されたメモリ格納情報とテーブル４６１Ａから参照され、比較範囲が決定された受信格納情報とを比較する比較部４６２１と、比較範囲情報を反転させるビット反転部４６２４と、アドレス算出情報に加算する値をメモリ格納情報から決定するＡＮＤ部４６２５と、ＡＮＤ部４６２５で決定された値とテーブル４６１Ａから参照されるアドレス算出情報とを加算してフレーム内のデータの格納先アドレスを生成する加算部４６２６と、を備える。
【００９５】
具体的には、ＡＮＤ部４６２２，４６２３と比較部４６２１とによって、比較範囲情報で比較範囲が決定されたメモリ格納情報と受信格納情報とが一致するかが比較され、一致する場合には一致信号が出力される。また、ビット反転部４６２４とＡＮＤ部４６２５と加算部４６２６とによって、比較範囲情報で比較範囲とされなかった、すなわち比較範囲情報でマスクされた部分のメモリ格納情報と、アドレス算出情報とを加算することでバッファメモリ４５へのデータの格納アドレスが生成される。
【００９６】
アドレス選択部４６３は、複数の格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・のうち一致信号を出力している格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・で生成された格納アドレスを選択し、これをバッファメモリ４５への格納アドレスとしてデータ格納処理部４４へ出力する。
【００９７】
ここで、変換テーブル部４６での格納アドレス生成処理について図１９を参照しながら説明する。変換テーブル部４６には、メモリ格納情報抽出部４３２からメモリ格納情報が入力される。メモリ格納情報は、変換テーブル部４６のすべての格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・内のＡＮＤ部４６２２，４６２３へと入力される。また、テーブル４６１Ａ内の受信格納情報、比較範囲情報およびアドレス算出情報を一対として異なる情報の組みが異なる格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・へと出力される。それぞれの格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・において、受信格納情報がＡＮＤ部４６２３へと入力され、比較範囲情報がＡＮＤ部４６２２，４６２３とビット反転部４６２４へと入力され、アドレス算出情報が加算部４６２６へと入力される。
【００９８】
格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・のＡＮＤ部４６２２では、受信制御部４３でフレームから抽出されたメモリ格納情報と、テーブル４６１Ａから参照される比較範囲情報との論理積をとったものを第１メモリ格納情報とする。また、ＡＮＤ部４６２３では、テーブル４６１Ａから参照される受信格納情報と、テーブル４６１Ａから参照される比較範囲情報との論理積をとったものを比較受信格納情報とする。
【００９９】
比較部４６２１では、ＡＮＤ部４６２２とＡＮＤ部４６２３からそれぞれ出力される第１メモリ格納情報と比較受信格納情報とを比較し、両者が一致した場合には一致信号を出力する。またこのとき、ＡＮＤ部４６２５では、比較範囲情報をビット反転部４６２４でビット反転した反転比較範囲情報とメモリ格納情報１３３との論理積をとり、これを第２メモリ格納情報とする。そして、加算部４６２６で、第２メモリ格納情報と、テーブル４６１Ａから参照される一対の情報のうちのアドレス算出情報とを加算し、これを格納アドレスとする。この格納アドレスは、一致信号と共にアドレス選択部４６３へ出力される。
【０１００】
アドレス選択部４６３では、一致信号を出力している格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・からの格納アドレスを選択し、バッファメモリ４５への格納先アドレスとしてデータ格納処理部４４へと出力し、格納先アドレス生成処理が終了する。
【０１０１】
図２０に示されるテーブルを用いて格納先アドレス生成処理が行われる場合について説明する。フレームから抽出されるメモリ格納情報は、格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・のＡＮＤ部４６２２でテーブル４６１Ａから参照された比較範囲情報「ＦＦ００ｈ」と論理積を取られるため、比較部４６２１に入力されるメモリ格納情報１３３の下位１バイトは必ず「００ｈ」となる。また、テーブル４６１Ａから参照される受信格納情報「０１００ｈ」も格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・のＡＮＤ部４６２３で比較範囲情報「ＦＦ００ｈ」と論理積を取られるため、比較部４６２１に入力される受信格納情報の下位１バイトは必ず「００ｈ」となる。このように、図２０に示されるテーブルによれば、「０１００ｈ」〜「０１ＦＦｈ」の範囲のメモリ格納情報を持ったフレームが全て受信されることになる。
【０１０２】
次に、テーブル４６１Ａから参照される比較範囲情報「ＦＦ００ｈ」を格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・のビット反転部４６２４で反転すると「００ＦＦｈ」という反転比較範囲情報となる。これを格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・のＡＮＤ部４６２５で、受信したメモリ格納情報との論理積をとると、受信したメモリ格納情報の下位１バイトが出力される。これと、テーブル４６１Ａから取得されるアドレス算出情報「Ａ１００ｈ」と、を加算部４６２６で加算すると、アドレス算出情報の上位１バイトと受信したメモリ格納情報の下位１バイトとを加算した「Ａ１００ｈ」〜「Ａ１ＦＦｈ」の範囲のアドレスが格納アドレスとして生成される。
【０１０３】
このように、実施の形態４では、たとえば図２０のテーブル内の一対の受信格納情報、比較範囲情報およびアドレス算出情報で、「０１００ｈ」〜「０１ＦＦｈ」の範囲のメモリ格納情報１３３を、「Ａ１００ｈ」〜「Ａ１ＦＦｈ」の範囲の格納アドレスに変換することができる。つまり、テーブルの容量を少なくしながら、より多くのアドレス変換を可能にすることができる。
【０１０４】
メモリ格納情報１３３として「０１００ｈ」、「０１２０ｈ」、「０１６０ｈ」を有するフレームを受信した場合を例に挙げると、ＡＮＤ部４６２２で出力される上位１バイトはそれぞれ「０１ｈ」となり、ＡＮＤ部４６２３で出力される上位１バイトはそれぞれ「０１ｈ」となる。その結果、比較部４６２１では、上記すべてのフレームについて一致信号を出力することになる。
【０１０５】
一方、ＡＮＤ部４６２５で出力される下位１バイトはそれぞれ「００ｈ」、「２０ｈ」、「６０ｈ」となる。加算部４６２６では、これらとテーブル４６１Ａのアドレス算出情報「Ａ１００ｈ」とが加算され、格納アドレスとしてそれぞれ「Ａ１００ｈ」、「Ａ１２０ｈ」、「Ａ１６０ｈ」が得られ、アドレス選択部４６３ではこれらのアドレスにそれぞれの受信データ状態とフレーム内のデータとを格納する。
【０１０６】
図２１は、実施の形態４によるコントローラのバッファメモリの状態の一例を模式的に示す図である。この例では、メモリ格納情報として「０１００ｈ」、「０１２０ｈ」、「０１６０ｈ」を有するそれぞれのフレームを受信した場合のコントローラ１３のバッファメモリ４５内の状態を示している。上記したように、メモリ格納情報「０１００ｈ」を有するフレームのデータは、バッファメモリ４５のアドレス「Ａ０１０ｈ」に、その受信データ状態とともに格納される。同様に、メモリ格納情報「０１２０ｈ」、「０１６０ｈ」を有するフレームのデータは、それぞれバッファメモリ４５のアドレス「Ａ０１２０ｈ」、「Ａ０１６０ｈ」に、その受信データ状態とともに格納される。
【０１０７】
実施の形態１の場合のように、メモリ格納情報１３３からバッファメモリ４５の格納先を決めるテーブルでは、複数の通信フレームを受信する場合に、受信すべき通信フレームの数だけテーブルデータを増やす必要がある。しかし、この実施の形態４によれば、メモリ格納情報１３３の一部をバッファメモリ４５の格納アドレスの付加情報として使用することによって、複数のフレームをバッファメモリ４５に格納する際に変換テーブル部４６内のテーブル４６１Ａに登録するデータ量を必要最小限に抑えることが可能となり、格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・が１つまたは少数でも複数のフレームを受信し格納先アドレスを生成することが可能となる。つまり、バッファメモリ４５の格納先を決めるテーブル４６１Ａの必要な情報量を削減することが可能となる。その結果、格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・を回路で実現した場合には回路規模を削減でき、また、ソフトウェアで実現した場合には少ないプログラムで格納先アドレス生成部４６２Ａ−１，４６２Ａ−２，・・・を実現できるという効果が得られる。
【０１０８】
なお、上述した実施の形態では、コントローラ１３とモータ駆動装置１２−１〜１２−３はデイジーチェーン接続されている場合を示したが、ネットワークトポロジとしてスター接続やリング接続とした場合でも、各装置間で上記と同じようにデータを送受信可能であり、上述した実施の形態と同じ効果を得ることができる。
【産業上の利用可能性】
【０１０９】
以上のように、この発明にかかる制御装置は、サーボモータやインダクションモータなどのモータ駆動装置をネットワークに複数台接続し、ネットワークに接続されるコントローラからの指令に従って複数のモータを同期運転させる場合に有用である。
【符号の説明】
【０１１０】
１１−１〜１１−３  モータ
１２−１〜１２−３  モータ駆動装置
１３  コントローラ
２１  シリアル通信線
２２  動力線
２３  検出器ケーブル
３０  送信部
３１  送信制御部
３２  送信起動信号生成部
３３  メモリ
３４  変換部
３５  送信バッファ
４０，４０Ａ，４０Ｂ  受信部
４１  受信バッファ
４２  変換部
４３  受信制御部
４４，４４Ａ，４４Ｂ  データ格納処理部
４５  バッファメモリ
４６  変換テーブル部
１０１〜１０３，１１１〜１１３，１３０  フレーム
１３１  フレームヘッダ部
１３２  スタートフラグ
１３３  メモリ格納情報
１３４  フレームデータ部
１３５  データ
１３６  フレーム検査データ
１３７  フレームフッタ部
１３８  エンドフラグ
３１１  スタートフラグ生成部
３１２  メモリ格納情報生成部
３１３  送信データ取得部
３１４  フレーム検査データ生成部
３１５  エンドフラグ生成部
４３１  スタートフラグ検出部
４３２  メモリ格納情報抽出部
４３３  送信データ抽出部
４３４  フレーム検査データ抽出部
４３５  エンドフラグ抽出部
４３６  フレーム検査処理部
４６１，４６１Ａ  テーブル
４６２−１，４６２−２，４６２Ａ−１，４６２Ａ−２  格納先アドレス生成部
４６３  アドレス選択部
４６２１  比較部
４６２２，４６２３，４６２５  ＡＮＤ部
４６２４  ビット反転部
４６２６  加算部
【図１】
2012114525.tif 000003
【図２】
2012114525.tif 000004
【図３】
2012114525.tif 000005
【図４】
2012114525.tif 000006
【図５】
2012114525.tif 000007
【図６】
2012114525.tif 000008
【図７】
2012114525.tif 000009
【図８】
2012114525.tif 000010
【図９】
2012114525.tif 000011
【図１０】
2012114525.tif 000012
【図１１】
2012114525.tif 000013
【図１２】
2012114525.tif 000014
【図１３】
2012114525.tif 000015
【図１４】
2012114525.tif 000016
【図１５】
2012114525.tif 000017
【図１６】
2012114525.tif 000018
【図１７】
2012114525.tif 000019
【図１８】
2012114525.tif 000020
【図１９】
2012114525.tif 000021
【図２０】
2012114525.tif 000022
【図２１】
2012114525.tif 000023
【手続補正書】
【提出日】平成25年3月7日(2013.3.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御部、送信部および受信部を有する１台以上の制御装置と、制御部、送信部および受信部を有し、前記制御装置を制御する全体制御装置と、がネットワークを介して接続され、前記制御装置と前記全体制御装置の内の１台がタイミングの基準を生成し、所定の通信周期の下で前記全体制御装置と前記制御装置との間でシリアル通信によるデータ通信を行う制御システムで使用される前記全体制御装置において、
前記受信部は、
他の前記制御装置のメモリから取得したデータと、当該全体制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、前記データのエラー検出に使用されるフレーム検査データと、を含むフレームから前記メモリ格納情報と前記データと前記フレーム検査データを抽出するとともに、抽出した前記データについて前記フレーム検査データを用いてエラー検出を行う受信制御手段と、
抽出された前記データを記憶するバッファメモリと、
前記メモリ格納情報で指定される前記バッファメモリのアドレスに、抽出された前記データとともに前記受信制御手段で行われたエラー検出結果である受信データ状態を格納するデータ格納処理手段と、
を備え、
前記制御部は、前記他の制御装置からのデータと前記データに対応する受信データ状態とを、前記バッファメモリの前記他の制御装置ごとに固定して定められたアドレスから毎回読み出し、前記受信データ状態が正常である場合には前記データから所望のデータを取得し、前記受信データ状態が正常でない場合には前記データから所望のデータを取得しないことを特徴とする全体制御装置。
【請求項２】
前記受信部は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置を示す格納アドレス情報と、の間の関係を定義したメモリ配置変換情報に基づいて、前記受信制御手段で抽出された前記メモリ格納情報に対応する前記格納アドレス情報を取得する変換テーブル手段をさらに備え、
前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに抽出された前記データを格納し、
前記メモリ配置変換情報は、複数の前記受信格納情報が１つの前記格納アドレス情報に対応付けられていることを特徴とする請求項１に記載の全体制御装置。
【請求項３】
前記受信部は、
自装置が受信するはずのメモリ格納情報である受信格納情報と、前記メモリ格納情報から所定の情報を取得する第１のマスクと、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置の算出に用いるアドレス算出情報と、を対応づけたメモリ配置変換情報を格納するメモリ配置変換情報格納手段と、
前記受信格納情報に前記第１のマスクをして得られた値と、前記メモリ格納情報に前記第１のマスクをして得られた値とが一致する場合に、前記メモリ格納情報に前記第１のマスクをビット反転させた第２のマスクをして得られた値に前記アドレス算出情報を加算したものを、前記メモリ格納情報を有する前記フレーム内の前記データの格納先とする格納アドレス情報として前記データ格納処理手段に出力する格納先アドレス生成手段と、
を有する変換テーブル手段をさらに備え、
前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに、抽出された前記データを格納することを特徴とする請求項１に記載の全体制御装置。
【請求項４】
制御部、送信部および受信部を有し、モータを駆動する制御装置と、制御部、送信部および受信部を有し、前記制御装置を制御する全体制御装置と、がネットワークを介して接続され、前記制御装置と前記全体制御装置のうちの１台がタイミングの基準を生成し、所定の通信周期の下で前記全体制御装置と前記制御装置との間でシリアル通信によってデータ通信を行う制御システムにおいて、
前記制御装置の前記送信部は、
前記全体制御装置に送信するデータを記憶するメモリと、
前記メモリから取得した前記データと、前記全体制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、前記データのエラー検出に使用されるフレーム検査データと、を含むフレームを生成する送信制御手段と、
を備え、
前記全体制御装置の前記受信部は、
他の前記制御装置が送信した前記フレームから前記メモリ格納情報と前記データと前記フレーム検査データを抽出するとともに、抽出した前記データについて前記フレーム検査データを用いてエラー検出を行う受信制御手段と、
抽出された前記データを記憶するバッファメモリと、
前記メモリ格納情報で指定される前記バッファメモリのアドレスに、抽出された前記データとともに前記受信制御手段で行われたエラー検出結果である受信データ状態を格納するデータ格納処理手段と、
を備え、
前記全体制御装置の前記制御部は、前記他の制御装置からのデータと前記データに対応する受信データ状態とを、前記バッファメモリの前記他の制御装置ごとに固定して定められたアドレスから毎回読み出し、前記受信データ状態が正常である場合には前記データから所望のデータを取得し、前記受信データ状態が正常でない場合には前記データから所望のデータを取得せず、
前記メモリ格納情報は、前記ネットワークに接続される前記制御装置ごとに異なる値が設定されることを特徴とする制御システム。
【請求項５】
前記全体制御装置の前記受信部は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置を示す格納アドレス情報と、の間の関係を定義したメモリ配置変換情報に基づいて、前記受信制御手段で抽出された前記メモリ格納情報に対応する前記格納アドレス情報を取得する変換テーブル手段をさらに備え、
前記全体制御装置の前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに抽出された前記データを格納し、
前記メモリ配置変換情報は、複数の前記受信格納情報が１つの前記格納アドレス情報に対応付けられていることを特徴とする請求項４に記載の制御システム。
【請求項６】
前記全体制御装置の前記受信部は、
自装置が受信するはずのメモリ格納情報である受信格納情報と、前記メモリ格納情報から所定の情報を取得する第１のマスクと、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置の算出に用いるアドレス算出情報と、を対応づけたメモリ配置変換情報を格納するメモリ配置変換情報格納手段と、
前記受信格納情報に前記第１のマスクをして得られた値と、前記メモリ格納情報に前記第１のマスクをして得られた値とが一致する場合に、前記メモリ格納情報に前記第１のマスクをビット反転させた第２のマスクをして得られた値に前記アドレス算出情報を加算したものを、前記メモリ格納情報を有する前記フレーム内の前記データの格納先とする格納アドレス情報として前記データ格納処理手段に出力する格納先アドレス生成手段と、
を有する変換テーブル手段をさらに備え、
前記全体制御装置の前記データ格納処理手段は、前記変換テーブル手段から出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに、抽出された前記データを格納することを特徴とする請求項４に記載の制御システム。
【請求項７】
制御部、送信部および受信部を有し、モータを駆動する制御装置と、制御部、送信部および受信部を有し、前記制御装置を制御する全体制御装置と、がネットワークを介して接続され、前記制御装置と前記全体制御装置のうちの１台がタイミングの基準を生成し、所定の通信周期の下で前記全体制御装置と前記制御装置との間でシリアル通信によってデータ通信を行う制御システムでの通信方法において、
前記制御装置は、前記全体制御装置に送信するデータと、前記全体制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、前記データのエラー検出に使用されるフレーム検査データと、を含むフレームを生成するフレーム生成工程と、
前記制御装置は、前記フレームを前記全体制御装置に送信するフレーム送信工程と、
前記全体制御装置は、前記フレームから前記メモリ格納情報と前記データと前記フレーム検査データを抽出する抽出工程と、
前記全体制御装置は、抽出した前記データについて前記フレーム検査データを用いてエラー検出を行うエラー検出工程と、
前記全体制御装置は、前記メモリ格納情報で指定されるバッファメモリのアドレスに、抽出された前記データとともに前記受信制御手段で行われたエラー検出結果である受信データ状態を格納するデータ格納工程と、
前記全体制御装置は、前記制御装置からのデータと前記データに対応する受信データ状態とを、前記バッファメモリの前記制御装置ごとに固定して定められたアドレスから毎回読み出すデータ読み出し工程と、
前記受信データ状態が正常である場合には前記データから所望のデータを取得し、前記受信データ状態が正常でない場合には前記データから所望のデータを取得しないデータ取得工程と、
を含み、
前記メモリ格納情報は、前記ネットワークに接続される前記制御装置ごとに異なる値が設定されることを特徴とする通信方法。
【請求項８】
前記抽出工程の後で前記データ格納工程の前に、前記全体制御装置は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置を示す格納アドレス情報と、の間の関係を定義したメモリ配置変換情報に基づいて、前記抽出工程で抽出された前記メモリ格納情報に対応する前記格納アドレス情報を取得するアドレス変換工程をさらに含み、
前記データ格納工程では、前記全体制御装置は、前記アドレス変換工程で出力される前記格納アドレス情報で指定される前記バッファメモリのアドレスに抽出された前記データを格納し、
前記メモリ配置変換情報は、複数の前記受信格納情報が１つの前記格納アドレス情報に対応付けられていることを特徴とする請求項７に記載の通信方法。
【請求項９】
前記全体制御装置は、自装置が受信するはずのメモリ格納情報である受信格納情報と、前記メモリ格納情報から所定の情報を取得する第１のマスクと、前記受信格納情報を前記メモリ格納情報に有する前記フレーム内のデータの前記バッファメモリ内の格納位置の算出に用いるアドレス算出情報と、を対応づけたメモリ配置変換情報を有し、
前記抽出工程の後で前記データ格納工程の前に、前記全体制御装置は、
前記受信格納情報に前記第１のマスクをして得られた値と、前記メモリ格納情報に前記第１のマスクをして得られた値とが一致するか判定する判定工程と、
前記判定工程で両者が一致した場合に、前記メモリ格納情報に前記第１のマスクをビット反転させた第２のマスクをして得られた値に前記アドレス算出情報を加算したものを、前記メモリ格納情報を有する前記フレーム内の前記データの格納先とする格納アドレス情報とするアドレス変換工程と、
をさらに含み、
前記全体制御装置の前記データ格納工程は、前記アドレス変換工程で得られる前記格納アドレス情報で指定される前記バッファメモリのアドレスに、抽出された前記データを格納することを特徴とする請求項７に記載の通信方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
上記目的を達成するため、この発明にかかる全体制御装置は、制御部、送信部および受信部を有する１台以上の制御装置と、制御部、送信部および受信部を有し、前記制御装置を制御する全体制御装置と、がネットワークを介して接続され、前記制御装置と前記全体制御装置の内の１台がタイミングの基準を生成し、所定の通信周期の下で前記全体制御装置と前記制御装置との間でシリアル通信によるデータ通信を行う制御システムで使用される前記全体制御装置において、前記受信部は、他の前記制御装置のメモリから取得したデータと、当該全体制御装置の前記受信部のバッファメモリにおける前記データの格納位置を示すメモリ格納情報と、前記データのエラー検出に使用されるフレーム検査データと、を含むフレームから前記メモリ格納情報と前記データと前記フレーム検査データを抽出するとともに、抽出した前記データについて前記フレーム検査データを用いてエラー検出を行う受信制御手段と、抽出された前記データを記憶するバッファメモリと、前記メモリ格納情報で指定される前記バッファメモリのアドレスに、抽出された前記データとともに前記受信制御手段で行われたエラー検出結果である受信データ状態を格納するデータ格納処理手段と、を備え、前記制御部は、前記他の制御装置からのデータと前記データに対応する受信データ状態とを、前記バッファメモリの前記他の制御装置ごとに固定して定められたアドレスから毎回読み出し、前記受信データ状態が正常である場合には前記データから所望のデータを取得し、前記受信データ状態が正常でない場合には前記データから所望のデータを取得しないことを特徴とする。
【国際調査報告】
2012114525.tif 000024
2012114525.tif 000025
2012114525.tif 000026
2012114525.tif 000027