(57)【要約】【課題】  監視機器が一定周期で軸情報を参照するタイミングとモーションコントローラが軸情報を書込むタイミングが重なったときでも軸情報を参照できる方法を提供する。【解決手段】  複数軸の軸情報の書込み開始軸を１サイクル毎にシフトし、さらにユーザが使用環境に応じてローテーション間隔を指定できることにより、共有メモリを更新するタイミングを１サイクル毎にシフトするという手順で処理する。【選択図】図１
2007072956.tif 000002
【特許請求の範囲】
【請求項１】
監視機器が参照する軸情報を格納する共有メモリと、複数のサーボモータが接続できる機構とサーボモータ複数軸の軸情報を１サイクル毎に共有メモリに書込む機能を備えたモーションコントローラにおいて、
複数軸の軸情報の書込み開始軸を１サイクル毎にシフトすることを特徴とする共有メモリ更新方法。
【請求項２】
書込み開始軸を１サイクル毎に、所定のローテーション間隔でシフトすることを特徴とする請求項１記載の共有メモリ更新方法。
【請求項３】
前記ローテーション間隔は、前記共有メモリに格納され、ユーザが使用環境に応じて指定できることを特徴とする請求項２記載の共有メモリ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視機器が参照する軸情報を格納する共有メモリと、複数のサーボモータが接続できる機構とサーボモータ複数軸の軸情報を１サイクル毎に共有メモリに書込む機能を備えたモーションコントローラの共有メモリ更新方法に関する。
【背景技術】
【０００２】
従来のモーションコントローラは、図３に示すように、モーションコントローラ２の共有メモリ３にサーボモータ４の軸情報（例えば位置データやステータスデータなど）を格納しており、格納された軸情報を監視機器１が参照して、サーボモータの監視を行なっている。共有メモリ上の複数軸の軸情報を更新する場合、１軸目から最大接続軸（Ｎ）まで順番に更新している。
図５は、軸番号（１〜Ｎ）に対応する各ビットを示した図である。このとき書込み軸番号は２軸、書込み可能軸番号は１〜６軸でありそれぞれ対応したビットが１になっている。書込み軸番号（２軸目）と書込み可能軸番号（１〜６軸）との論理積が０でないので、２軸目は書込み対称軸と判断される。
図６は、その処理手順を示すフローチャートであり、軸情報を書込むときは、書込み軸番号に１軸目を示すビットデータをセットし（Ｓ６１）、最大接続軸（Ｎ）まで次の手順で処理を行なう（Ｓ６２）。書込み可能軸番号ビットデータと書込み軸番号ビットデータの論理積により、図５に示したように書込み対象軸かどうかを判断し（Ｓ６３）、論理積が０でなければ書込み対象軸であり、共有メモリの書込み軸に軸情報を書込み（Ｓ６４）、次の書込み軸番号を左ビットシフトによりカウントアップする（Ｓ６５）。書込み対象軸でなければ、書込みを行なわず、次の書込み軸番号を左ビットシフトによりカウントアップする（Ｓ６５）。
このように、従来のモーションコントローラが、共有メモリの軸情報を更新するときは、１軸目から最大接続軸（Ｎ）まで順番に更新している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、監視機器が定周期間隔で共有メモリにアクセスする場合、モーションコントローラは、共有メモリの軸情報を１軸目から最大接続軸（Ｎ）まで順番に更新しているので、軸情報の書込みと監視機器による軸情報の参照が同じタイミングになるサイクルが続くことがある。
図４はそのようなモーションコントローラと監視機器のアクセスタイミングを示すタイムチャートである。図に示すように、監視機器が一定周期で軸情報を参照するタイミングと、モーションコントローラが軸情報を書込むタイミングが重っており、書込まれている軸は排他制御により参照できないため、連続して３軸目の軸情報を参照することができない。
その結果、監視機器が軸情報を読込もうとしたときに、連続して読み込めない軸が発生するという問題があった。また、監視機器が軸情報を読み込んでいる間モーションコントローラの軸情報更新処理が行えないという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、監視機器が一定周期で軸情報を参照するタイミングとモーションコントローラが軸情報を書込むタイミングが重なったときでも軸情報を参照できる方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、共有メモリ軸情報の書込み開始軸をシフトできるようにして更新するタイミングを１サイクル毎にシフトするという手順をとったのである。
また、請求項２に記載の発明は、２軸飛ばし３軸飛ばしというように所定のローテーション間隔で書込み開始軸を１サイクル毎にシフトできるという手順をとったのである。
また、請求項３に記載の発明は、書込み開始軸のローテーション間隔をユーザが任意に指定できるという手順をとったのである。
【発明の効果】
【０００５】
請求項１に記載の発明によると、ユーザが一定周期で軸情報を参照するタイミングとモーションコントローラが軸情報を書込むタイミングが重なってしまって軸情報が参照できないサイクルがあっても、次のサイクルには参照することができる。また、請求項２に記載の発明によると、書込み開始軸のローテーション間隔を調整することができる。また、請求項３に記載の発明によると、書込み開始軸のローテーション間隔をユーザが使用環境に応じて指定することができる。
これにより、連続して参照できない軸情報がなく監視機器が一定周期で軸情報を参照でき、監視している軸情報のデータの信頼性が向上するという効果がある。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【０００７】
本発明のモーションコントローラの構成は、図３に示すように従来のモーションコントローラと同じなので説明を省略する。
図１は、本発明の共有メモリ更新方法が適用されたときのモーションコントローラと監視機器のアクセスタイミングを示すタイムチャートである。図は６軸のときのものであり、軸情報のローテーション間隔を２軸としたときのものであり、書込み開始軸は１サイクル毎に１、３、５と２軸ずつシフトしている。
【０００８】
図２は本発明の共有メモリ更新方法の処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
前サイクル時にセットした書込み開始軸番号と最大接続軸（Ｎ）の除算の商の余りを算出するｍｏｄ関数を使って書込み開始軸番号を計算し、ビットデータに変換する（Ｓ２１）。最大接続軸（Ｎ）まで次の手順で処理を行なう（Ｓ２２）。書込み可能軸番号ビットデータと書込み軸番号ビットデータの論理積が０でなければ、書込み対象軸であり（Ｓ２３）、共有メモリの書込み軸に軸情報を書込み（Ｓ２４）、次の書込み軸番号を左ビットシフトによりカウントアップする（Ｓ２５）。書込み対象軸でなければ、書込みを行なわず、次の書込み軸番号を左ビットシフトによりカウントアップする（Ｓ２５）。カウントアップされた次の書込み対象軸番号が最大接続軸（Ｎ）を超えていれば（Ｓ２６）、書込み軸番号に１軸目を示すビットデータをセットする（Ｓ２７）。最大接続軸（Ｎ）までループ処理を行い、前サイクル時にセットされた書込み開始軸番号に、指定されたローテンション間隔を加えて次の書込み開始軸番号とする（Ｓ２８）。
このように、共有メモリ上の軸情報書込み開始軸をユーザが指定したローテーション間隔で１サイクル毎にシフトすることができるので、監視機器が連続して参照できない軸情報が減少し、軸情報を安定して参照することができるのである。
【図面の簡単な説明】
【０００９】
【図１】本発明の共有メモリ更新方法が適用されたときモーションコントローラとユーザのアクセスタイミングを示すタイムチャート
【図２】本発明の共有メモリ更新方法の処理手順を示すフローチャート
【図３】本発明のモーションコントローラシステムを示すブロック図
【図４】従来の共有メモリ更新方法が適用されたときのモーションコントローラとユーザのアクセスタイミングを示すタイムチャート
【図５】軸番号（１〜Ｎ）に対応する各ビットを示した図
【図６】従来の共有メモリ更新方法の処理手順を示すフローチャート
【符号の説明】
【００１０】
１  監視機器
２  モーションコントローラ
３  共有メモリ
４  サーボモータ
【図１】
2007072956.tif 000003
【図２】
2007072956.tif 000004
【図３】
2007072956.tif 000005
【図４】
2007072956.tif 000006
【図５】
2007072956.tif 000007
【図６】
2007072956.tif 000008