特許第6182924号(P6182924)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許6182924同期シリアルインタフェース回路およびモーション制御機能モジュール
<>
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000002
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000003
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000004
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000005
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000006
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000007
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000008
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000009
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000010
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000011
  • 特許6182924-同期シリアルインタフェース回路およびモーション制御機能モジュール 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6182924
(24)【登録日】2017年8月4日
(45)【発行日】2017年8月23日
(54)【発明の名称】同期シリアルインタフェース回路およびモーション制御機能モジュール
(51)【国際特許分類】
   H04L 1/00 20060101AFI20170814BHJP
【FI】
   H04L1/00 A
   H04L1/00 B
【請求項の数】5
【全頁数】13
(21)【出願番号】特願2013-61798(P2013-61798)
(22)【出願日】2013年3月25日
(65)【公開番号】特開2014-187593(P2014-187593A)
(43)【公開日】2014年10月2日
【審査請求日】2016年1月8日
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】丹羽 祥実
(72)【発明者】
【氏名】川又 功征
【審査官】 谷岡 佳彦
(56)【参考文献】
【文献】 特開昭62−290901(JP,A)
【文献】 特表2004−527056(JP,A)
【文献】 特表平11−503518(JP,A)
【文献】 特開2005−091270(JP,A)
【文献】 特開平05−216538(JP,A)
【文献】 特開2009−278820(JP,A)
【文献】 特開2003−315093(JP,A)
【文献】 特開平04−323180(JP,A)
【文献】 特開平04−124927(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 1/00
(57)【特許請求の範囲】
【請求項1】
同期クロックを出力するクロック出力部と、
前記同期クロックに同期してエンコーダから送信される前記エンコーダの絶対位置を表わすデータを受信する受信部と、
前記受信した絶対位置を前記エンコーダの現在位置に変換する位置変換部とを備え、
前記位置変換部は、最新に受信した絶対位置と1時点前に受信した絶対位置との差分値を最新の差分値として算出し、
前記位置変換部は、前記最新の差分値の絶対値が閾値を超えるときには、前記最新に受信した絶対位置にエラーがあると判定し、
前記位置変換部は、前記最新に受信した絶対位置にエラーがあると判定しなかった場合には、前記最新の差分値と1時点前に算出した現在位置とを加算することによって、最新の現在位置を求め、
前記位置変換部は、前記最新に受信した絶対位置にエラーがあると判定した場合には、1時点前に算出した差分値と前記1時点前に算出した現在位置とを加算することによって、最新の現在位置を求めるとともに、
前記最新の差分値を前記1時点前に算出した差分値と同じ値に設定し直し、
前記最新に受信した絶対位置を前記1時点前に算出した差分値と前記1時点前に受信した絶対位置との和に設定し直す、同期シリアルインタフェース回路。
【請求項2】
前記エンコーダは、ロータリエンコーダであって、
前記位置変換部は、最新に受信した絶対位置と1時点前に受信した絶対位置との減算値の絶対値が180度以下の場合には前記減算値を前記差分値とし、
前記減算値が180度を超えている場合には、前記減算値から360度を減算した値を前記差分値に設定し、
前記減算値が−180度よりも小さい場合には、前記減算値に360度を加算した値を前記差分値に設定する、請求項1記載の同期シリアルインタフェース回路。
【請求項3】
請求項1または2に記載の同期シリアルインタフェース回路を備えるモーション制御機能モジュールであって、
所定の周期で、前記最新に算出した現在位置および前記エラーの判定の結果を外部のコントローラへ送信する通信ユニットを備える、モーション制御機能モジュール。
【請求項4】
前記通信ユニットは、前記外部のコントローラから前記閾値を表わすデータを受信し、
前記位置変換部は、前記受信した閾値に基づいて、前記最新に受信した絶対位置にエラーがあるか否かを判定する、請求項記載のモーション制御機能モジュール。
【請求項5】
前記モーション制御機能モジュールは、前記閾値を記憶する不揮発性メモリを備え、
前記位置変換部は、前記モーション制御機能モジュールの電源オン時またはリスタート時に、前記不揮発性メモリから前記閾値を読出し、読出した前記閾値に基づいて、前記最新に受信した絶対位置にエラーがあるか否かを判定する、請求項記載のモーション制御機能モジュール。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は同期シリアルインタフェース回路およびモーション制御機能モジュール関し、特にエンコーダからの絶対位置情報を含むシリアルデータを受信する同期シリアルインタフェース回路、およびそのような同期シリアルインタフェース回路を含むモーション制御機能モジュールに関する。
【背景技術】
【0002】
同期シリアル通信は、クロックに同期してデータの送信または受信を行なうシリアル通信である。同期シリアルインタフェース(Synchronized Serial Interface:以下、「SSI」と略記する)は、工業用途として使用されるマスタとスレーブとの間の標準的なインタフェースとして広く使用されている。
【0003】
たとえば特開平5−63754号公報(特許文献1)は、送信回路からのNRZ(Non Return to Zero)信号列をクロック信号列に同期させて受信回路にシリアルに伝送する信号伝送装置を開示する。この信号伝送装置は、水平および垂直パリティチェックを実行する。当該信号伝送装置は、さらに、ヘッダーの検知を示す信号と、受信エラー信号または受信終了信号とを発生させる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−63754号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来は、特許文献1のように、外来ノイズなどによるビット化けなどは、せいぜいパリティチェックのみで対応していた。そのため、外来ノイズによる多ビットの変化など、データが大きく変化するような場合は、従来では、対応できなかった。
【0006】
これに対して、同期シリアルインタフェースをより高度なプロトコルで伝送するようにして、FCS(Frame Check Sequence)などのデータチェック機能を持たせることも考えられるが、これには高速な双方向の通信が必要となり、装置のコストが高くなる。
【0007】
それゆえに、本発明の目的は、高価な通信手段を用いずに、かつ上位装置側の演算負荷を上げずに、異常回避処理が可能な同期シリアルインタフェース回路およびそのような同期シリアルインタフェース回路を含むモーション制御機能モジュールを提供することである。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の同期シリアルインタフェース回路は、同期クロックを出力するクロック出力部と、同期クロックに同期してエンコーダから送信されるエンコーダの絶対位置を表わすデータを受信する受信部と、受信したデータで表わされる絶対位置をエンコーダの現在位置に変換する位置変換部とを備える。位置変換部は、最新に受信した絶対位置と1時点前に受信した絶対位置との差分値を算出し、差分値と1時点前に算出した現在位置とを加算することによって、最新の現在位置を求める。位置変換部は、算出した差分値の絶対値が閾値を超えるときには、最新に受信した絶対位置にエラーがあると判定する。
【0009】
好ましくは、位置変換部は、最新に受信した絶対位置にエラーがあると判定した場合には、1時点前の現在値を最新の現在位置とみなす。
【0010】
好ましくは、位置変換部は、最新に受信した絶対位置にエラーがあると判定した場合には、1時点前に算出した差分値と1時点前に算出した現在位置とを加算することによって、最新の現在位置を求める。
【0011】
好ましくは、位置変換部は、最新に受信した絶対位置にエラーがあると判定した場合には、絶対位置の現在位置への変換を停止する。
【0012】
好ましくは、エンコーダは、ロータリエンコーダである。位置変換部は、最新に受信した絶対位置と1時点前に受信した絶対位置との減算値の絶対値が180度以下の場合には減算値を差分値とし、減算値が180度を超えている場合には、減算値から360度を減算した値を差分値に設定し、減算値が−180度よりも小さい場合には、減算値に360度を加算した値を差分値に設定する。
【0013】
本発明のモーション制御機能モジュールは、上述の同期シリアルインタフェース回路を備え、所定の周期で、最新に算出した現在位置およびエラーの判定の結果を外部のコントローラへ送信する通信ユニットを備える。
【0014】
好ましくは、通信ユニットは、外部のコントローラから閾値を表わすデータを受信する。位置変換部は、受信した閾値に基づいて、最新に受信した絶対位置にエラーがあるか否かを判定する。
【0015】
好ましくは、モーション制御機能モジュールは、閾値を記憶する不揮発性メモリを備える。位置変換部は、モーション制御モジュールの電源オン時またはリスタート時に、不揮発性メモリから閾値を読出し、読出した閾値に基づいて、最新に受信した絶対位置にエラーがあるか否かを判定する。
【発明の効果】
【0016】
本発明によれば、少ない数の通信機能モジュールにより、1チャネルあたりのデータ更新間隔を増大させることなく複数チャネルのSSI通信を実現できる。
【図面の簡単な説明】
【0017】
図1】本発明の実施の形態に係るインタフェース回路を備えたモーション制御システムの概略的な構成を示したブロック図である。
図2】同期クロックおよびシリアルデータを説明するための図である。
図3】同期クロックCLKとシリアルデータのタイミングを表わす図である。
図4】絶対位置の差分値の計算方法を説明するための図である。
図5】(a)は、エンコーダ7BからSSI入力ユニット4Cへ送られるシリアルデータに含まれるエンコーダ7Bの絶対位置のデータを表わす図であり、図5(b)は、SSI入力ユニット4Cから制御ユニット2へ出力されるエンコーダ7Bの現在位置のデータを表わす図である。
図6】第1の実施形態の現在位置変換の手順を表わす図である。
図7】第1の実施形態における現在位置変換の例を表わす図である。
図8】通信ユニット3の通信の手順を表わすフローチャートである。
図9】第2の実施形態の現在位置変換の手順を表わす図である。
図10】第2の実施形態の現在位置変換の例を表わす図である。
図11】第3の実施形態の現在位置変換の手順を表わす図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、以下の説明では、同一の部品には同一の符号を付して、それらについての詳細な説明は繰り返さない。
[第1の実施形態]
図1は、本発明の実施の形態に係るインタフェース回路を備えたモーション制御システムの概略的な構成を示したブロック図である。
【0019】
図1を参照して、モーション制御システム1は、制御ユニット2と、モーション制御機能モジュール8と、モータドライバ5と、モータ6と、エンコーダ7Aと、エンコーダ7Bとを含む。モーション制御機能モジュール8は、通信ユニット3と、位置インタフェースユニット4とを含む。
【0020】
エンコーダ7A,7Bは、モータ6の回転を検出するロータリエンコーダである。
エンコーダ7Bは、アブソリュートエンコーダであり、絶対位置(回転角度)を出力する。
【0021】
通信ユニット3は、LAN(Local Area Network)などのネットワークを介して制御ユニット2に接続される。一例として、通信ユニット3は、EtherCAT(登録商標)などを利用して制御ユニット2と通信するように構成される。
【0022】
制御ユニット2は、位置インタフェースユニット4と協調して、モータドライバ5の位置決め制御あるいはモーション制御を実行する。制御ユニット2は、たとえばPLC(Programmable Logic Controller)により構成される。
【0023】
位置インタフェースユニット4は、位置決め制御を行うための位置データの入出力処理機能を持つユニットである。位置インタフェースユニット4は、通信ユニット3に接続されて、通信ユニット3およびネットワークを介して制御ユニット2と周期的に通信する。
【0024】
位置インタフェースユニット4から制御ユニット2へは、エンコーダ7A,7Bのカウント値またはカウント値を変換した値が送られる。制御ユニット2から位置インタフェースユニット4には、位置指令あるいは速度指令を含む制御データが送られる。
【0025】
位置インタフェースユニット4は、パルス出力ユニット4Aと、パルス入力ユニット4Bと、SSI入力ユニット4Cとを含む。
【0026】
制御ユニット2は、一定周期ごとにモーション演算を実行して、パルス出力ユニット4Aへの指令値を生成する。その指令値は、所定の通信周期ごとに、パルス出力ユニット4Aに送られる。パルス出力ユニット4Aは、この指令値に応じたパルス数および周波数のパルスを生成して、そのパルスをモータドライバ5に出力する。モータドライバ5は、パルス出力ユニット4Aからのパルスに応じてモータ6を駆動する。
【0027】
パルス入力ユニット4Bは、エンコーダ7Aの出力するパルスを受けて、そのパルスを計数する。
【0028】
本実施の形態において、SSI入力ユニット4Cは、マスタユニットとしての機能を有し、エンコーダ7Bは、スレーブユニットとしての機能を有する。
【0029】
図1に示すように、SSI入力ユニット4Cは、クロック出力部51と、シリアルデータ受信部52と、位置変換部53とを備える。
【0030】
図2は、同期クロックおよびシリアルデータを説明するための図である。
図2を参照して、SSI入力ユニット4Cのクロック出力部51は、エンコーダ7Bへ同期クロックCLKを送信する。エンコーダ7Bは、同期クロックCLKに同期して、SSI入力ユニット4Cへシリアルデータを送信し、SSI入力ユニット4Cのシリアルデータ受信部52は、このシリアルデータを受信する。
【0031】
図3は、同期クロックCLKとシリアルデータのタイミングを表わす図である。
同期クロックCLKの立上がりで、エンコーダ7Bは、各ビットのデータをセットして出力する。エンコーダ7Bから出力される5ビットのデータによって、エンコーダ7Bの絶対位置が表わされる。シリアルデータ受信部52は、同期クロックCLKの立下がりで、セットされた各ビットのデータを読み出す。
【0032】
位置変換部53は、受信したシリアルデータで示されるエンコーダ7Bの絶対位置をエンコーダ7Bの現在位置に変換する(以下、現在位置変換という)。位置変換部53は、最新に受信した絶対位置と1時点前に受信した絶対位置との差分値を算出し、差分値と1時点前に算出した現在位置とを加算することによって最新の現在位置を求める。
【0033】
また、位置変換部53は、受信した絶対位置にエラーがあるか否かを判定し、エラーがある場合にはステータスをエラーに設定する。位置変換部53で変換された現在位置を表わすデータおよびステータス情報は、通信ユニット3およびネットワークを介して制御ユニット2へ所定の通信周期ごとに送信される。
【0034】
図4は、絶対位置の差分値の計算方法を説明するための図である。
エンコーダ7Bから送られる絶対位置は0°以上、360°未満の値である。位置変換部53は、最新に受信した絶対位置(回転角度)Yから1時点前に受信した絶対位置(回転角度)Xを減算した減算値(Y−X)が−180°以上180°以下の範囲となるように、差分値を算出する。
【0035】
図4の[A]に示すように、最新に受信した絶対位置Y°から1時点前に受信した絶対位置X°を減算した減算値(Y−X)が−180°以上180°以下の範囲にある場合には、位置変換部53は、減算値(Y−X)を差分値とする。
【0036】
図4の[B]に示すように、最新に受信した絶対位置Y°から1時点前に受信した絶対位置X°を減算した減算値(Y−X)が180°よりも大きいときには、位置変換部53は、(Y−X)−360°を差分値とする。
【0037】
また、最新に受信した絶対位置Y°から1時点前に受信した絶対位置X°を減算した減算値(Y−X)が−180°よりも小さいときには、(Y−X)+360°を差分値とする。
【0038】
図5(a)は、エンコーダ7BからSSI入力ユニット4Cへ送られるシリアルデータに含まれるエンコーダ7Bの絶対位置のデータを表わす図であり、図5(b)は、SSI入力ユニット4Cから制御ユニット2へ出力されるエンコーダ7Bの現在位置のデータを表わす図である。
【0039】
図5(a)および(b)に示すように、絶対位置のデータは5ビットのデータである。絶対位置は0°以上、360°未満の回転角度を表わす。
【0040】
現在位置のデータは32ビットのデータである。現在位置は、−360°×k以上、360°×k未満の回転角度を表わす。ただし、kは2以上の自然数。したがって、絶対位置は、エンコーダ7Bの位置を正方向の1周回転の範囲でしか表わせないのに対して、現在位置は、エンコーダ7Bの位置を正方向および逆方向のk周回転の範囲で表わせる。
(現在位置変換動作)
図6は、第1の実施形態の現在位置変換の手順を表わす図である。
【0041】
図6を参照して、シリアルデータ受信部52は、エンコーダ7Bから送信されるシリアルデータを受信する。最初に受信したシリアルデータで表わされるエンコーダ7Bの絶対位置をA(1)とする。位置変換部53は、受信した絶対位置A(1)の値を現在位置C(1)の値に設定する(ステップS100)。
【0042】
次に、n=2に設定される(ステップS101)。
次に、シリアルデータ受信部52は、エンコーダ7Bから送信されるシリアルデータを受信する。受信したシリアルデータで表わされるエンコーダ7Bの絶対位置をA(n)とする(ステップS102)。
【0043】
位置変換部53は、図4で説明した方法で、最新に受信した絶対位置A(n)から1時点前に受信した絶対位置A(n−1)とに基づいて、最新の差分値B(n)を算出する(ステップS103)。
【0044】
位置変換部53は、差分値B(n)の絶対値が閾値TH以下のときには(ステップS104でYES)、1時点前に算出した現在位置C(n−1)に差分値B(n)を加算することによって、最新の現在位置C(n)を算出する(ステップS105)。
【0045】
位置変換部53は、差分値B(n)の絶対値が閾値THを超えるときには(ステップS104でNO)、最新の差分値B(n)の値を「0」に設定し直し(ステップS106)、最新の受信した絶対位置A(n)の値を1時点前に受信した絶対位置A(n−1)と同じ値に設定し直す(ステップS107)。さらに、位置変換部53は、最新の現在位置C(n)を1時点前に算出した現在位置C(n−1)と同じ値に設定する(ステップS108)。位置変換部53は、ステータスをエラーに設定する(ステップS109)。
【0046】
電源がオフにされるまで(ステップS110でYES)、nの値がインクリメントされて(ステップS111)、ステップS102からの処理が繰り返される。
【0047】
(第1の実施形態の現在位置変換の例)
図7は、第1の実施形態における現在位置変換の例を表わす図である。
【0048】
絶対位置A(2)と絶対位置A(1)との差分値B(2)の値が閾値TH以下であるので、現在位置C(2)は現在位置C(1)と差分値B(1)との和となる。
【0049】
一方、絶対位置A(3)と絶対位置A(2)との差分値B(3)の値が閾値THを超えるので、現在位置C(3)の値は現在位置C(2)の値と同じとなり、絶対位置A(3)の値は絶対位置A(2)の値に修正され、差分値B(3)の値は「0」に設定される。
【0050】
(制御ユニット2との通信)
図8は、通信ユニット3の通信の手順を表わすフローチャートである。
【0051】
通信周期ごとに(ステップS501でYES)、制御ユニット2は、SSI入力ユニット4Cへの制御データを送信し、通信ユニット3は、この制御データを受信して、SSI入力ユニット4Cへ送る(ステップS502)。制御データには、絶対位置の差分値との比較のための閾値THが含まれていることもある。閾値THが含まれている場合には、SSI入力ユニット4Cの位置変換部53は、受信した閾値THを用いて、ステップS104の判定を実行する。
【0052】
また、SSI入力ユニット4Cの位置変換部53は、最新の算出された現在位置を表わすデータと、ステータスを表わすデータを通信ユニット3へ供給し、通信ユニット3は、供給されたこれらのデータを制御ユニット2へ送信する。ステップS109でエラーが設定された場合には、ステータスとしてエラーが送信される。
【0053】
電源がオフにされるまで(ステップS504でYES)、ステップS501からの処理が繰り返される。
【0054】
以上のように、本実施の形態によれば、エンコーダ7Bから最新に受信した絶対位置と前回受信した絶対位置との差分が大きい場合には、最新に受信した絶対位置にエラーが含まれていると判断して異常回避処理を行なうので、高速な通信手段を不要とし、かつ上位装置側の演算負荷を軽減することができる。
[第2の実施形態]
第2の実施形態が第1の実施形態と相違する点は、差分値B(n)が閾値THを超えたときの位置変換部53の処理である。
【0055】
(現在位置変換動作)
図9は、第2の実施形態の現在位置変換の手順を表わす図である。
【0056】
図9を参照して、シリアルデータ受信部52は、エンコーダ7Bから送信されるシリアルデータを受信する。最初に受信したシリアルデータで表わされるエンコーダ7Bの絶対位置をA(1)とする。位置変換部53は、受信した絶対位置A(1)の値を現在位置C(1)の値に設定する(ステップS200)。
【0057】
次に、n=2に設定される(ステップS201)。
次に、シリアルデータ受信部52は、エンコーダ7Bから送信されるシリアルデータを受信する。受信したシリアルデータで表わされるエンコーダ7Bの絶対位置をA(n)とする(ステップS202)。
【0058】
位置変換部53は、図4で説明した方法で、最新に受信した絶対位置A(n)から1時点前に受信した絶対位置A(n−1)とに基づいて、最新の差分値B(n)を算出するステップS203)。
【0059】
位置変換部53は、差分値B(n)の絶対値が閾値TH以下のときには(ステップS204でYES)、1時点前に算出した現在位置C(n−1)に差分値B(n)を加算することによって、最新の現在位置C(n)を算出する(ステップS205)。
【0060】
位置変換部53は、差分値B(n)の絶対値が閾値THを超えるときには(ステップS204でNO)、最新の差分値B(n)の値を1時点前の差分値B(n−1)の値と同じ値に設定し直し(ステップS206)、最新の受信した絶対位置A(n)の値を1時点前に受信した絶対位置A(n−1)と1時点前の差分値B(n−1)との和に設定し直す(ステップS207)。さらに、位置変換部53は、最新の現在位置C(n)を1時点前に算出した現在位置C(n−1)と1時点前の差分値B(n−1)との和に設定する(ステップS208)。位置変換部53は、ステータスをエラーに設定する(ステップS209)。
【0061】
電源がオフにされるまで(ステップS210でYES)、nの値がインクリメントされて(ステップS211)、ステップS202からの処理が繰り返される。
【0062】
(現在位置変換の例)
図10は、第2の実施形態の現在位置変換の例を表わす図である。
【0063】
絶対位置A(2)と絶対位置A(1)との差分値B(2)の値が閾値TH以下であるので、現在位置C(2)は現在位置C(1)と差分値B(1)との和となる。
【0064】
一方、絶対位置A(3)と絶対位置A(2)との差分値B(3)の値が閾値THを超えるので、現在位置C(3)の値は現在位置C(2)と差分値B(2)の和となり、絶対位置A(3)の値は絶対位置A(2)と差分値B(2)の和に修正され、差分値B(3)の値は差分値B(2)と同じ値に設定される。
【0065】
以上のように、本実施の形態によれば、第1の実施形態と同様に、エンコーダ7Bから最新に受信した絶対位置と前回受信した絶対位置との差分が大きい場合には、最新に受信した絶対位置にエラーが含まれていると判断して異常回避処理を行なうので、高速な通信手段を不要とし、かつ上位装置側の演算負荷を軽減することができる。
[第3の実施形態]
第3の実施形態が第1および第2の実施形態と相違する点は、差分値B(n)が閾値THを超えたときの位置変換部53の処理である。
【0066】
(現在位置変換動作)
図11は、第3の実施形態の現在位置変換の手順を表わす図である。
【0067】
図11を参照して、シリアルデータ受信部52は、エンコーダ7Bから送信されるシリアルデータを受信する。最初に受信したシリアルデータで表わされるエンコーダ7Bの絶対位置をA(1)とする。位置変換部53は、受信した絶対位置A(1)の値を現在位置C(1)の値に設定する(ステップS300)。
【0068】
次に、n=2に設定される(ステップS301)。
次に、シリアルデータ受信部52は、エンコーダ7Bから送信されるシリアルデータを受信する。受信したシリアルデータで表わされるエンコーダ7Bの絶対位置をA(n)とする(ステップS302)。
【0069】
位置変換部53は、図4で説明した方法で、最新に受信した絶対位置A(n)から1時点前に受信した絶対位置A(n−1)とに基づいて、最新の差分値B(n)を算出する(ステップS303)。
【0070】
位置変換部53は、差分値B(n)の絶対値が閾値TH以下のときには(ステップS304でYES)、1時点前に算出した現在位置C(n−1)に差分値B(n)を加算することによって、最新の現在位置C(n)を算出する(ステップS305)。
【0071】
位置変換部53は、差分値B(n)の絶対値が閾値THを超えるときには(ステップS304でNO)、ステータスをエラーに設定し(ステップS306)、現在位置変換を終了する。
【0072】
電源がオフにされるまで(ステップS307でYES)、nの値がインクリメントされて(ステップS308)、ステップS302からの処理が繰り返される。
【0073】
以上のように、本実施の形態によれば、第1および第2の実施形態と同様に、エンコーダ7Bから最新に受信した絶対位置と前回受信した絶対位置との差分が大きい場合には、最新に受信した絶対位置にエラーが含まれていると判断して異常回避処理を行なうので、高速な通信手段を不要とし、かつ上位装置側の演算負荷を軽減することができる。
[第4の実施形態]
第1の実施形態では、制御ユニット2が、絶対位置の差分値との比較のための閾値THを送信し、通信ユニット3が、この閾値THを受信して、SSI入力ユニット4Cへ送り、SSI入力ユニット4Cの位置変換部53が、受信した閾値THに基づいて、ステップS104の判定を実行することとした。
【0074】
これに対して、本実施の形態では、閾値THは、通信ユニット3またはSSI入力ユニット4C内の不揮発性メモリに記憶されている。閾値THは、制御ユニット2から送信されものを記憶したものでもよいし、外部からUSB(Universal Serial Bus)経由で書き込まれたものでよい。
【0075】
位置変換部53が、モーション制御機能モジュール8の電源オン時またはリスタート時に、不揮発性メモリに保存されている閾値THを読出して、読出した閾値THに基づいて、ステップS104の判定を実行する。
【0076】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0077】
1 モーション制御システム、2 制御ユニット、3 通信ユニット、4 位置インタフェースユニット、4A パルス出力ユニット、4B パルス入力ユニット、4C SSI入力ユニット、5 モータドライバ、6 モータ、7A,7B エンコーダ、8 モーション制御機能モジュール、51 クロック出力部、52 シリアルデータ受信部、53 位置変換部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11