(57)【要約】【課題】高価な通信手段を用いずに、かつ上位装置側の演算負荷を上げずに、異常回避処理が可能な同期シリアルインタフェース回路およびそのような同期シリアルインタフェース回路を含むモーション制御機能モジュールを提供する。【解決手段】クロック出力部５１は、同期クロックを出力する。シリアルデータ受信部５２は、同期クロックに同期してエンコーダ７ｂから送信される絶対位置を表わすデータを受信する。位置変換部５３は、受信した絶対位置を現在位置に変換する。位置変換部５３は、最新に受信した絶対位置と１時点前に受信した絶対位置との差分値を算出し、差分値と１時点前に算出した現在位置とを加算することによって、最新の現在位置を求める。位置変換部５３は、算出した差分値の絶対値が閾値を超えるときには、最新に受信した絶対位置にエラーがあると判定する。【選択図】図１
2014187593.tif 000002
【特許請求の範囲】
【請求項１】
同期クロックを出力するクロック出力部と、
前記同期クロックに同期してエンコーダから送信される前記エンコーダの絶対位置を表わすデータを受信する受信部と、
前記受信した絶対位置を前記エンコーダの現在位置に変換する位置変換部とを備え、
前記位置変換部は、最新に受信した絶対位置と１時点前に受信した絶対位置との差分値を算出し、前記差分値と１時点前に算出した現在位置とを加算することによって、最新の現在位置を求め、
前記位置変換部は、前記算出した差分値の絶対値が閾値を超えるときには、前記最新に受信した絶対位置にエラーがあると判定する、同期シリアルインタフェース回路。
【請求項２】
前記位置変換部は、前記最新に受信した絶対位置にエラーがあると判定した場合には、１時点前の現在値を最新の現在位置とみなす、請求項１記載の同期シリアルインタフェース回路。
【請求項３】
前記位置変換部は、前記最新に受信した絶対位置にエラーがあると判定した場合には、１時点前に算出した差分値と１時点前に算出した現在位置とを加算することによって、最新の現在位置を求める、請求項１記載の同期シリアルインタフェース回路。
【請求項４】
前記位置変換部は、前記最新に受信した絶対位置にエラーがあると判定した場合には、前記絶対位置の現在位置への変換を停止する、請求項１記載の同期シリアルインタフェース回路。
【請求項５】
前記エンコーダは、ロータリエンコーダであって、
前記位置変換部は、最新に受信した絶対位置と１時点前に受信した絶対位置との減算値の絶対値が１８０度以下の場合には前記減算値を前記差分値とし、
前記減算値が１８０度を超えている場合には、前記減算値から３６０度を減算した値を前記差分値に設定し、
前記減算値が−１８０度よりも小さい場合には、前記減算値に３６０度を加算した値を前記差分値に設定する、請求項１記載の同期シリアルインタフェース回路。
【請求項６】
請求項１〜５のいずれか１項に記載の同期シリアルインタフェース回路を備えるモーション制御機能モジュールであって、
所定の周期で、前記最新に算出した現在位置および前記エラーの判定の結果を外部のコントローラへ送信する通信ユニットを備える、モーション制御機能モジュール。
【請求項７】
前記通信ユニットは、前記外部のコントローラから前記閾値を表わすデータを受信し、
前記位置変換部は、前記受信した閾値に基づいて、前記最新に受信した絶対位置にエラーがあるか否かを判定する、請求項６記載のモーション制御機能モジュール。
【請求項８】
前記モーション制御機能モジュールは、前記閾値を記憶する不揮発性メモリを備え、
前記位置変換部は、前記モーション制御機能モジュールの電源オン時またはリスタート時に、前記不揮発性メモリから前記閾値を読出し、読出した前記閾値に基づいて、前記最新に受信した絶対位置にエラーがあるか否かを判定する、請求項６記載のモーション制御機能モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は同期シリアルインタフェース回路およびモーション制御機能モジュール関し、特にエンコーダからの絶対位置情報を含むシリアルデータを受信する同期シリアルインタフェース回路、およびそのような同期シリアルインタフェース回路を含むモーション制御機能モジュールに関する。
【背景技術】
【０００２】
同期シリアル通信は、クロックに同期してデータの送信または受信を行なうシリアル通信である。同期シリアルインタフェース（Synchronized Serial Interface:以下、「ＳＳＩ」と略記する）は、工業用途として使用されるマスタとスレーブとの間の標準的なインタフェースとして広く使用されている。
【０００３】
たとえば特開平５−６３７５４号公報（特許文献１）は、送信回路からのＮＲＺ（Non Return to Zero）信号列をクロック信号列に同期させて受信回路にシリアルに伝送する信号伝送装置を開示する。この信号伝送装置は、水平および垂直パリティチェックを実行する。当該信号伝送装置は、さらに、ヘッダーの検知を示す信号と、受信エラー信号または受信終了信号とを発生させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−６３７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来は、特許文献１のように、外来ノイズなどによるビット化けなどは、せいぜいパリティチェックのみで対応していた。そのため、外来ノイズによる多ビットの変化など、データが大きく変化するような場合は、従来では、対応できなかった。
【０００６】
これに対して、同期シリアルインタフェースをより高度なプロトコルで伝送するようにして、ＦＣＳ（Frame Check Sequence）などのデータチェック機能を持たせることも考えられるが、これには高速な双方向の通信が必要となり、装置のコストが高くなる。
【０００７】
それゆえに、本発明の目的は、高価な通信手段を用いずに、かつ上位装置側の演算負荷を上げずに、異常回避処理が可能な同期シリアルインタフェース回路およびそのような同期シリアルインタフェース回路を含むモーション制御機能モジュールを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の同期シリアルインタフェース回路は、同期クロックを出力するクロック出力部と、同期クロックに同期してエンコーダから送信されるエンコーダの絶対位置を表わすデータを受信する受信部と、受信したデータで表わされる絶対位置をエンコーダの現在位置に変換する位置変換部とを備える。位置変換部は、最新に受信した絶対位置と１時点前に受信した絶対位置との差分値を算出し、差分値と１時点前に算出した現在位置とを加算することによって、最新の現在位置を求める。位置変換部は、算出した差分値の絶対値が閾値を超えるときには、最新に受信した絶対位置にエラーがあると判定する。
【０００９】
好ましくは、位置変換部は、最新に受信した絶対位置にエラーがあると判定した場合には、１時点前の現在値を最新の現在位置とみなす。
【００１０】
好ましくは、位置変換部は、最新に受信した絶対位置にエラーがあると判定した場合には、１時点前に算出した差分値と１時点前に算出した現在位置とを加算することによって、最新の現在位置を求める。
【００１１】
好ましくは、位置変換部は、最新に受信した絶対位置にエラーがあると判定した場合には、絶対位置の現在位置への変換を停止する。
【００１２】
好ましくは、エンコーダは、ロータリエンコーダである。位置変換部は、最新に受信した絶対位置と１時点前に受信した絶対位置との減算値の絶対値が１８０度以下の場合には減算値を差分値とし、減算値が１８０度を超えている場合には、減算値から３６０度を減算した値を差分値に設定し、減算値が−１８０度よりも小さい場合には、減算値に３６０度を加算した値を差分値に設定する。
【００１３】
本発明のモーション制御機能モジュールは、上述の同期シリアルインタフェース回路を備え、所定の周期で、最新に算出した現在位置およびエラーの判定の結果を外部のコントローラへ送信する通信ユニットを備える。
【００１４】
好ましくは、通信ユニットは、外部のコントローラから閾値を表わすデータを受信する。位置変換部は、受信した閾値に基づいて、最新に受信した絶対位置にエラーがあるか否かを判定する。
【００１５】
好ましくは、モーション制御機能モジュールは、閾値を記憶する不揮発性メモリを備える。位置変換部は、モーション制御モジュールの電源オン時またはリスタート時に、不揮発性メモリから閾値を読出し、読出した閾値に基づいて、最新に受信した絶対位置にエラーがあるか否かを判定する。
【発明の効果】
【００１６】
本発明によれば、少ない数の通信機能モジュールにより、１チャネルあたりのデータ更新間隔を増大させることなく複数チャネルのＳＳＩ通信を実現できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係るインタフェース回路を備えたモーション制御システムの概略的な構成を示したブロック図である。
【図２】同期クロックおよびシリアルデータを説明するための図である。
【図３】同期クロックＣＬＫとシリアルデータのタイミングを表わす図である。
【図４】絶対位置の差分値の計算方法を説明するための図である。
【図５】（ａ）は、エンコーダ７ＢからＳＳＩ入力ユニット４Ｃへ送られるシリアルデータに含まれるエンコーダ７Ｂの絶対位置のデータを表わす図であり、図５（ｂ）は、ＳＳＩ入力ユニット４Ｃから制御ユニット２へ出力されるエンコーダ７Ｂの現在位置のデータを表わす図である。
【図６】第１の実施形態の現在位置変換の手順を表わす図である。
【図７】第１の実施形態における現在位置変換の例を表わす図である。
【図８】通信ユニット３の通信の手順を表わすフローチャートである。
【図９】第２の実施形態の現在位置変換の手順を表わす図である。
【図１０】第２の実施形態の現在位置変換の例を表わす図である。
【図１１】第３の実施形態の現在位置変換の手順を表わす図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、以下の説明では、同一の部品には同一の符号を付して、それらについての詳細な説明は繰り返さない。
［第１の実施形態］
図１は、本発明の実施の形態に係るインタフェース回路を備えたモーション制御システムの概略的な構成を示したブロック図である。
【００１９】
図１を参照して、モーション制御システム１は、制御ユニット２と、モーション制御機能モジュール８と、モータドライバ５と、モータ６と、エンコーダ７Ａと、エンコーダ７Ｂとを含む。モーション制御機能モジュール８は、通信ユニット３と、位置インタフェースユニット４とを含む。
【００２０】
エンコーダ７Ａ，７Ｂは、モータ６の回転を検出するロータリエンコーダである。
エンコーダ７Ｂは、アブソリュートエンコーダであり、絶対位置（回転角度）を出力する。
【００２１】
通信ユニット３は、ＬＡＮ（Local  Area  Network）などのネットワークを介して制御ユニット２に接続される。一例として、通信ユニット３は、ＥｔｈｅｒＣＡＴ（登録商標）などを利用して制御ユニット２と通信するように構成される。
【００２２】
制御ユニット２は、位置インタフェースユニット４と協調して、モータドライバ５の位置決め制御あるいはモーション制御を実行する。制御ユニット２は、たとえばＰＬＣ（Programmable Logic Controller）により構成される。
【００２３】
位置インタフェースユニット４は、位置決め制御を行うための位置データの入出力処理機能を持つユニットである。位置インタフェースユニット４は、通信ユニット３に接続されて、通信ユニット３およびネットワークを介して制御ユニット２と周期的に通信する。
【００２４】
位置インタフェースユニット４から制御ユニット２へは、エンコーダ７Ａ，７Ｂのカウント値またはカウント値を変換した値が送られる。制御ユニット２から位置インタフェースユニット４には、位置指令あるいは速度指令を含む制御データが送られる。
【００２５】
位置インタフェースユニット４は、パルス出力ユニット４Ａと、パルス入力ユニット４Ｂと、ＳＳＩ入力ユニット４Ｃとを含む。
【００２６】
制御ユニット２は、一定周期ごとにモーション演算を実行して、パルス出力ユニット４Ａへの指令値を生成する。その指令値は、所定の通信周期ごとに、パルス出力ユニット４Ａに送られる。パルス出力ユニット４Ａは、この指令値に応じたパルス数および周波数のパルスを生成して、そのパルスをモータドライバ５に出力する。モータドライバ５は、パルス出力ユニット４Ａからのパルスに応じてモータ６を駆動する。
【００２７】
パルス入力ユニット４Ｂは、エンコーダ７Ａの出力するパルスを受けて、そのパルスを計数する。
【００２８】
本実施の形態において、ＳＳＩ入力ユニット４Ｃは、マスタユニットとしての機能を有し、エンコーダ７Ｂは、スレーブユニットとしての機能を有する。
【００２９】
図１に示すように、ＳＳＩ入力ユニット４Ｃは、クロック出力部５１と、シリアルデータ受信部５２と、位置変換部５３とを備える。
【００３０】
図２は、同期クロックおよびシリアルデータを説明するための図である。
図２を参照して、ＳＳＩ入力ユニット４Ｃのクロック出力部５１は、エンコーダ７Ｂへ同期クロックＣＬＫを送信する。エンコーダ７Ｂは、同期クロックＣＬＫに同期して、ＳＳＩ入力ユニット４Ｃへシリアルデータを送信し、ＳＳＩ入力ユニット４Ｃのシリアルデータ受信部５２は、このシリアルデータを受信する。
【００３１】
図３は、同期クロックＣＬＫとシリアルデータのタイミングを表わす図である。
同期クロックＣＬＫの立上がりで、エンコーダ７Ｂは、各ビットのデータをセットして出力する。エンコーダ７Ｂから出力される５ビットのデータによって、エンコーダ７Ｂの絶対位置が表わされる。シリアルデータ受信部５２は、同期クロックＣＬＫの立下がりで、セットされた各ビットのデータを読み出す。
【００３２】
位置変換部５３は、受信したシリアルデータで示されるエンコーダ７Ｂの絶対位置をエンコーダ７Ｂの現在位置に変換する（以下、現在位置変換という）。位置変換部５３は、最新に受信した絶対位置と１時点前に受信した絶対位置との差分値を算出し、差分値と１時点前に算出した現在位置とを加算することによって最新の現在位置を求める。
【００３３】
また、位置変換部５３は、受信した絶対位置にエラーがあるか否かを判定し、エラーがある場合にはステータスをエラーに設定する。位置変換部５３で変換された現在位置を表わすデータおよびステータス情報は、通信ユニット３およびネットワークを介して制御ユニット２へ所定の通信周期ごとに送信される。
【００３４】
図４は、絶対位置の差分値の計算方法を説明するための図である。
エンコーダ７Ｂから送られる絶対位置は０°以上、３６０°未満の値である。位置変換部５３は、最新に受信した絶対位置（回転角度）Ｙから１時点前に受信した絶対位置（回転角度）Ｘを減算した減算値（Ｙ−Ｘ）が−１８０°以上１８０°以下の範囲となるように、差分値を算出する。
【００３５】
図４の［Ａ］に示すように、最新に受信した絶対位置Ｙ°から１時点前に受信した絶対位置Ｘ°を減算した減算値（Ｙ−Ｘ）が−１８０°以上１８０°以下の範囲にある場合には、位置変換部５３は、減算値（Ｙ−Ｘ）を差分値とする。
【００３６】
図４の［Ｂ］に示すように、最新に受信した絶対位置Ｙ°から１時点前に受信した絶対位置Ｘ°を減算した減算値（Ｙ−Ｘ）が１８０°よりも大きいときには、位置変換部５３は、（Ｙ−Ｘ）−３６０°を差分値とする。
【００３７】
また、最新に受信した絶対位置Ｙ°から１時点前に受信した絶対位置Ｘ°を減算した減算値（Ｙ−Ｘ）が−１８０°よりも小さいときには、（Ｙ−Ｘ）＋３６０°を差分値とする。
【００３８】
図５（ａ）は、エンコーダ７ＢからＳＳＩ入力ユニット４Ｃへ送られるシリアルデータに含まれるエンコーダ７Ｂの絶対位置のデータを表わす図であり、図５（ｂ）は、ＳＳＩ入力ユニット４Ｃから制御ユニット２へ出力されるエンコーダ７Ｂの現在位置のデータを表わす図である。
【００３９】
図５（ａ）および（ｂ）に示すように、絶対位置のデータは５ビットのデータである。絶対位置は０°以上、３６０°未満の回転角度を表わす。
【００４０】
現在位置のデータは３２ビットのデータである。現在位置は、−３６０°×ｋ以上、３６０°×ｋ未満の回転角度を表わす。ただし、ｋは２以上の自然数。したがって、絶対位置は、エンコーダ７Ｂの位置を正方向の１周回転の範囲でしか表わせないのに対して、現在位置は、エンコーダ７Ｂの位置を正方向および逆方向のｋ周回転の範囲で表わせる。
（現在位置変換動作）
図６は、第１の実施形態の現在位置変換の手順を表わす図である。
【００４１】
図６を参照して、シリアルデータ受信部５２は、エンコーダ７Ｂから送信されるシリアルデータを受信する。最初に受信したシリアルデータで表わされるエンコーダ７Ｂの絶対位置をＡ（１）とする。位置変換部５３は、受信した絶対位置Ａ（１）の値を現在位置Ｃ（１)の値に設定する（ステップＳ１００）。
【００４２】
次に、ｎ＝２に設定される（ステップＳ１０１）。
次に、シリアルデータ受信部５２は、エンコーダ７Ｂから送信されるシリアルデータを受信する。受信したシリアルデータで表わされるエンコーダ７Ｂの絶対位置をＡ（ｎ）とする（ステップＳ１０２）。
【００４３】
位置変換部５３は、図４で説明した方法で、最新に受信した絶対位置Ａ（ｎ）から１時点前に受信した絶対位置Ａ（ｎ−１）とに基づいて、最新の差分値Ｂ（ｎ）を算出する（ステップＳ１０３）。
【００４４】
位置変換部５３は、差分値Ｂ（ｎ）の絶対値が閾値ＴＨ以下のときには（ステップＳ１０４でＹＥＳ）、１時点前に算出した現在位置Ｃ（ｎ−１）に差分値Ｂ（ｎ）を加算することによって、最新の現在位置Ｃ（ｎ）を算出する（ステップＳ１０５）。
【００４５】
位置変換部５３は、差分値Ｂ（ｎ）の絶対値が閾値ＴＨを超えるときには（ステップＳ１０４でＮＯ）、最新の差分値Ｂ（ｎ）の値を「０」に設定し直し（ステップＳ１０６）、最新の受信した絶対位置Ａ（ｎ）の値を１時点前に受信した絶対位置Ａ（ｎ−１）と同じ値に設定し直す（ステップＳ１０７）。さらに、位置変換部５３は、最新の現在位置Ｃ（ｎ）を１時点前に算出した現在位置Ｃ（ｎ−１）と同じ値に設定する（ステップＳ１０８）。位置変換部５３は、ステータスをエラーに設定する（ステップＳ１０９）。
【００４６】
電源がオフにされるまで（ステップＳ１１０でＹＥＳ）、ｎの値がインクリメントされて（ステップＳ１１１）、ステップＳ１０２からの処理が繰り返される。
【００４７】
（第１の実施形態の現在位置変換の例）
図７は、第１の実施形態における現在位置変換の例を表わす図である。
【００４８】
絶対位置Ａ（２）と絶対位置Ａ（１）との差分値Ｂ（２）の値が閾値ＴＨ以下であるので、現在位置Ｃ（２）は現在位置Ｃ（１）と差分値Ｂ（１）との和となる。
【００４９】
一方、絶対位置Ａ（３）と絶対位置Ａ（２）との差分値Ｂ（３）の値が閾値ＴＨを超えるので、現在位置Ｃ（３）の値は現在位置Ｃ（２）の値と同じとなり、絶対位置Ａ（３）の値は絶対位置Ａ（２）の値に修正され、差分値Ｂ（３）の値は「０」に設定される。
【００５０】
（制御ユニット２との通信）
図８は、通信ユニット３の通信の手順を表わすフローチャートである。
【００５１】
通信周期ごとに（ステップＳ５０１でＹＥＳ）、制御ユニット２は、ＳＳＩ入力ユニット４Ｃへの制御データを送信し、通信ユニット３は、この制御データを受信して、ＳＳＩ入力ユニット４Ｃへ送る（ステップＳ５０２）。制御データには、絶対位置の差分値との比較のための閾値ＴＨが含まれていることもある。閾値ＴＨが含まれている場合には、ＳＳＩ入力ユニット４Ｃの位置変換部５３は、受信した閾値ＴＨを用いて、ステップＳ１０４の判定を実行する。
【００５２】
また、ＳＳＩ入力ユニット４Ｃの位置変換部５３は、最新の算出された現在位置を表わすデータと、ステータスを表わすデータを通信ユニット３へ供給し、通信ユニット３は、供給されたこれらのデータを制御ユニット２へ送信する。ステップＳ１０９でエラーが設定された場合には、ステータスとしてエラーが送信される。
【００５３】
電源がオフにされるまで（ステップＳ５０４でＹＥＳ）、ステップＳ５０１からの処理が繰り返される。
【００５４】
以上のように、本実施の形態によれば、エンコーダ７Ｂから最新に受信した絶対位置と前回受信した絶対位置との差分が大きい場合には、最新に受信した絶対位置にエラーが含まれていると判断して異常回避処理を行なうので、高速な通信手段を不要とし、かつ上位装置側の演算負荷を軽減することができる。
［第２の実施形態］
第２の実施形態が第１の実施形態と相違する点は、差分値Ｂ（ｎ）が閾値ＴＨを超えたときの位置変換部５３の処理である。
【００５５】
（現在位置変換動作）
図９は、第２の実施形態の現在位置変換の手順を表わす図である。
【００５６】
図９を参照して、シリアルデータ受信部５２は、エンコーダ７Ｂから送信されるシリアルデータを受信する。最初に受信したシリアルデータで表わされるエンコーダ７Ｂの絶対位置をＡ（１）とする。位置変換部５３は、受信した絶対位置Ａ（１）の値を現在位置Ｃ（１)の値に設定する（ステップＳ２００）。
【００５７】
次に、ｎ＝２に設定される（ステップＳ２０１）。
次に、シリアルデータ受信部５２は、エンコーダ７Ｂから送信されるシリアルデータを受信する。受信したシリアルデータで表わされるエンコーダ７Ｂの絶対位置をＡ（ｎ）とする（ステップＳ２０２）。
【００５８】
位置変換部５３は、図４で説明した方法で、最新に受信した絶対位置Ａ（ｎ）から１時点前に受信した絶対位置Ａ（ｎ−１）とに基づいて、最新の差分値Ｂ（ｎ）を算出するステップＳ２０３）。
【００５９】
位置変換部５３は、差分値Ｂ（ｎ）の絶対値が閾値ＴＨ以下のときには（ステップＳ２０４でＹＥＳ）、１時点前に算出した現在位置Ｃ（ｎ−１）に差分値Ｂ（ｎ）を加算することによって、最新の現在位置Ｃ（ｎ）を算出する（ステップＳ２０５）。
【００６０】
位置変換部５３は、差分値Ｂ（ｎ）の絶対値が閾値ＴＨを超えるときには（ステップＳ２０４でＮＯ）、最新の差分値Ｂ（ｎ）の値を１時点前の差分値Ｂ（ｎ−１）の値と同じ値に設定し直し（ステップＳ２０６）、最新の受信した絶対位置Ａ（ｎ）の値を１時点前に受信した絶対位置Ａ（ｎ−１）と１時点前の差分値Ｂ（ｎ−１）との和に設定し直す（ステップＳ２０７）。さらに、位置変換部５３は、最新の現在位置Ｃ（ｎ）を１時点前に算出した現在位置Ｃ（ｎ−１）と１時点前の差分値Ｂ（ｎ−１）との和に設定する（ステップＳ２０８）。位置変換部５３は、ステータスをエラーに設定する（ステップＳ２０９）。
【００６１】
電源がオフにされるまで（ステップＳ２１０でＹＥＳ）、ｎの値がインクリメントされて（ステップＳ２１１）、ステップＳ２０２からの処理が繰り返される。
【００６２】
（現在位置変換の例）
図１０は、第２の実施形態の現在位置変換の例を表わす図である。
【００６３】
絶対位置Ａ（２）と絶対位置Ａ（１）との差分値Ｂ（２）の値が閾値ＴＨ以下であるので、現在位置Ｃ（２）は現在位置Ｃ（１）と差分値Ｂ（１）との和となる。
【００６４】
一方、絶対位置Ａ（３）と絶対位置Ａ（２）との差分値Ｂ（３）の値が閾値ＴＨを超えるので、現在位置Ｃ（３）の値は現在位置Ｃ（２）と差分値Ｂ（２）の和となり、絶対位置Ａ（３）の値は絶対位置Ａ（２）と差分値Ｂ（２）の和に修正され、差分値Ｂ（３）の値は差分値Ｂ（２）と同じ値に設定される。
【００６５】
以上のように、本実施の形態によれば、第１の実施形態と同様に、エンコーダ７Ｂから最新に受信した絶対位置と前回受信した絶対位置との差分が大きい場合には、最新に受信した絶対位置にエラーが含まれていると判断して異常回避処理を行なうので、高速な通信手段を不要とし、かつ上位装置側の演算負荷を軽減することができる。
［第３の実施形態］
第３の実施形態が第１および第２の実施形態と相違する点は、差分値Ｂ（ｎ）が閾値ＴＨを超えたときの位置変換部５３の処理である。
【００６６】
（現在位置変換動作）
図１１は、第３の実施形態の現在位置変換の手順を表わす図である。
【００６７】
図１１を参照して、シリアルデータ受信部５２は、エンコーダ７Ｂから送信されるシリアルデータを受信する。最初に受信したシリアルデータで表わされるエンコーダ７Ｂの絶対位置をＡ（１）とする。位置変換部５３は、受信した絶対位置Ａ（１）の値を現在位置Ｃ（１)の値に設定する（ステップＳ３００）。
【００６８】
次に、ｎ＝２に設定される（ステップＳ３０１）。
次に、シリアルデータ受信部５２は、エンコーダ７Ｂから送信されるシリアルデータを受信する。受信したシリアルデータで表わされるエンコーダ７Ｂの絶対位置をＡ（ｎ）とする（ステップＳ３０２）。
【００６９】
位置変換部５３は、図４で説明した方法で、最新に受信した絶対位置Ａ（ｎ）から１時点前に受信した絶対位置Ａ（ｎ−１）とに基づいて、最新の差分値Ｂ（ｎ）を算出する（ステップＳ３０３）。
【００７０】
位置変換部５３は、差分値Ｂ（ｎ）の絶対値が閾値ＴＨ以下のときには（ステップＳ３０４でＹＥＳ）、１時点前に算出した現在位置Ｃ（ｎ−１）に差分値Ｂ（ｎ）を加算することによって、最新の現在位置Ｃ（ｎ）を算出する（ステップＳ３０５）。
【００７１】
位置変換部５３は、差分値Ｂ（ｎ）の絶対値が閾値ＴＨを超えるときには（ステップＳ３０４でＮＯ）、ステータスをエラーに設定し（ステップＳ３０６）、現在位置変換を終了する。
【００７２】
電源がオフにされるまで（ステップＳ３０７でＹＥＳ）、ｎの値がインクリメントされて（ステップＳ３０８）、ステップＳ３０２からの処理が繰り返される。
【００７３】
以上のように、本実施の形態によれば、第１および第２の実施形態と同様に、エンコーダ７Ｂから最新に受信した絶対位置と前回受信した絶対位置との差分が大きい場合には、最新に受信した絶対位置にエラーが含まれていると判断して異常回避処理を行なうので、高速な通信手段を不要とし、かつ上位装置側の演算負荷を軽減することができる。
［第４の実施形態］
第１の実施形態では、制御ユニット２が、絶対位置の差分値との比較のための閾値ＴＨを送信し、通信ユニット３が、この閾値ＴＨを受信して、ＳＳＩ入力ユニット４Ｃへ送り、ＳＳＩ入力ユニット４Ｃの位置変換部５３が、受信した閾値ＴＨに基づいて、ステップＳ１０４の判定を実行することとした。
【００７４】
これに対して、本実施の形態では、閾値ＴＨは、通信ユニット３またはＳＳＩ入力ユニット４Ｃ内の不揮発性メモリに記憶されている。閾値ＴＨは、制御ユニット２から送信されものを記憶したものでもよいし、外部からＵＳＢ（Universal Serial Bus）経由で書き込まれたものでよい。
【００７５】
位置変換部５３が、モーション制御機能モジュール８の電源オン時またはリスタート時に、不揮発性メモリに保存されている閾値ＴＨを読出して、読出した閾値ＴＨに基づいて、ステップＳ１０４の判定を実行する。
【００７６】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７７】
１  モーション制御システム、２  制御ユニット、３  通信ユニット、４  位置インタフェースユニット、４Ａ  パルス出力ユニット、４Ｂ  パルス入力ユニット、４Ｃ  ＳＳＩ入力ユニット、５  モータドライバ、６  モータ、７Ａ，７Ｂ  エンコーダ、８  モーション制御機能モジュール、５１  クロック出力部、５２  シリアルデータ受信部、５３  位置変換部。
【図１】
2014187593.tif 000003
【図２】
2014187593.tif 000004
【図３】
2014187593.tif 000005
【図４】
2014187593.tif 000006
【図５】
2014187593.tif 000007
【図６】
2014187593.tif 000008
【図７】
2014187593.tif 000009
【図８】
2014187593.tif 000010
【図９】
2014187593.tif 000011
【図１０】
2014187593.tif 000012
【図１１】
2014187593.tif 000013