(57)【要約】【課題】位置制御装置において、簡単に逆転動作、繰り返し動作が可能で、Ｉ／Ｏ信号の状態も合わせて制御できるようにする。【解決手段】制御対象軸への指令移動量から位置を求める（Ａ１，Ｂ１）。時間に対する仮想軸の位置を求める（Ｂ２）。Ｉ／Ｏ信号状態も求める（Ｂ３）。仮想軸の位置に対応して制御対象軸の位置、Ｉ／Ｏ信号信号状態を記録しカム形状データ＆Ｉ／Ｏ信号状態データを得る（Ｅ）。電子カム運転時（Ｆ，Ｇ１，Ｇ２）には、仮想軸制御手段（手動パルス発生装置等）で仮想軸位置を制御する。仮想軸の位置に対応してカム形状データ＆Ｉ／Ｏ信号状態データから制御対象軸の位置、Ｉ／Ｏ信号状態を読み出し出力し制御対象軸を駆動する（Ｈ１，Ｈ２）。異常が発生時や調整時において、仮想軸制御手段を逆又は正方向に操作することで、制御対象軸を逆方向の動作及び同一箇所を繰り返し正逆動作させることが簡単にできる。【選択図】      図１
2004246498.tif 000002
【特許請求の範囲】
【請求項１】
指令移動量に基づいて制御対象軸を制御する位置制御装置において、
前記制御対象軸の指令移動量を元に前記制御対象軸の位置を算出する制御対象軸位置算出手段と、
所定の関数により決まる速度で移動していると仮定した仮想軸の位置を算出する仮想軸位置算出手段と、
前記算出された制御対象軸の位置と仮想軸の位置を対応させて記録する制御対象軸位置記録手段と、
制御対象軸位置記録手段に記憶された位置に基づき、仮想軸をマスタ軸として該マスタ軸に同期追従させて制御対象軸を駆動する手段とを有することを特徴とする位置制御装置。
【請求項２】
指令移動量に基づいて制御対象軸を制御する位置制御装置において、
ラダーによるＩ／Ｏ信号制御手段より得られるＩ／Ｏ信号の状態を取得するＩ／Ｏ信号状態取得手段と、
所定の関数により決まる速度で動いていると仮定した仮想軸の位置を算出する仮想軸位置算出手段と、
前記仮想軸位置算出手段で求められた仮想軸の位置に対応して前記Ｉ／Ｏ信号状態取得手段で求めたＩ／Ｏ信号の状態を記録するＩ／Ｏ信号状態記録手段と、
前記Ｉ／Ｏ信号状態記録手段に記録されたＩ／Ｏ信号の状態に基づき、仮想軸の位置に応じてＩ／Ｏ信号制御を行う手段とを有することを特徴とする位置制御装置。
【請求項３】
指令移動量に基づいて制御対象軸を制御する位置制御装置において、
前記制御対象軸の指令移動量を元に前記制御対象軸の位置を算出する制御対象軸位置算出手段と、
ラダーによるＩ／Ｏ信号制御手段より得られるＩ／Ｏ信号の状態を取得するＩ／Ｏ信号状態取得手段と、
所定の関数により決まる速度で移動していると仮定した仮想軸の位置を算出する仮想軸位置算出手段と、
仮想軸の位置に対する制御対象軸の位置及びＩ／Ｏ信号の状態を記録する記録手段と、
記録手段に記憶された位置、Ｉ／Ｏ信号の状態に基づき、仮想軸をマスタ軸として該マスタ軸に同期追従させて制御対象軸の駆動及びＩ／Ｏ信号制御を行う手段とを有することを特徴とする位置制御装置。
【請求項４】
前記Ｉ／Ｏ信号制御を行う手段は、Ｉ／Ｏ信号状態記録手段に記録されたＩ／Ｏ信号とラダーによるＩ／Ｏ信号における同一信号の２重書き込みを行わないための排他制御手段を有する請求項２又は請求項３に記載の位置制御装置。
【請求項５】
前記Ｉ／Ｏ信号状態記録手段により記録されるＩ／Ｏ信号を選択するＩ／Ｏ信号選択手段を有する請求項２乃至４の内いずれか１項に記載の位置制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種産業機械、ロボット、工作機械等の可動部の位置を制御する位置制御装置に関する。
【０００２】
【従来の技術】
各種産業機械、ロボット、工作機械等の機械の可動部位置を制御する位置制御装置において、動作途中で、その動作が停止するような異常状態が発生したときなどにおいて、機械やその周辺機器の安全を考慮して、機械可動部の移動を停止するまでに辿ってきた軌跡に沿って逆方向に移動させることが望まれる。又、機械動作等を調整する場合において、同じ動作を繰り返し実行させるような場合、復帰するとき、移動してきた軌跡を辿って復帰させ、同じ動作を正逆、繰り返し行うことが望ましい。
【０００３】
この今まで辿ってきた経路に沿って逆方向に移動させるものとして、リバース機能を有する数値制御装置がすでに公知である。このリバース機能を有する数値制御装置は、リバース用メモリを有し、実行データを該リバースメモリに記憶しておき、リバース指令によってこのリバース用メモリを読み取って、加工経路に沿って逆行するように制御するものである（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特許第２５８４２２５号公報
【０００５】
【発明が解決しようとする課題】
上述した従来のリバース機能は非常に複雑で、ソフトウェアの規模も大きくなることから、安価な数値制御装置等の位置制御装置に搭載することが困難であった。又、ＰＭＣ（プログラマブル・マシン・コントローラ）軸制御（ラダーによる軸制御）による指令の場合には、この逆転動作は不可能であった。
さらに、制御装置に入出力されるＩ／Ｏ信号のオン／オフを記録し、再現する手段はなかった。
そこで、本発明の目的は、簡単に逆転動作、繰り返し動作が可能で、かつ、Ｉ／Ｏ信号の状態も逆転動作に合わせて制御できるようにした位置制御装置を提供することにある。
【０００６】
【課題を解決するための手段】
本願請求項１に係わる発明は、指令移動量に基づいて制御対象軸を制御する位置制御装置において、前記制御対象軸の指令移動量を元に前記制御対象軸の位置を算出する制御対象軸位置算出手段と、所定の関数により決まる速度で移動していると仮定した仮想軸の位置を算出する仮想軸位置算出手段と、前記算出された制御対象軸の位置と仮想軸の位置を対応させて記録する制御対象軸位置記録手段と、制御対象軸位置記録手段に記憶された位置に基づき、仮想軸をマスタ軸として該マスタ軸に同期追従させて制御対象軸を駆動する手段とを備え、逆動作、及び正逆動作を繰り返し実行できるようにした。
【０００７】
又、請求項２に係わる発明は、指令移動量に基づいて制御対象軸を制御する位置制御装置において、ラダーによるＩ／Ｏ信号制御手段より得られるＩ／Ｏ信号の状態を取得するＩ／Ｏ信号状態取得手段と、所定の関数により決まる速度で動いていると仮定した仮想軸の位置を算出する仮想軸位置算出手段と、前記仮想軸位置算出手段で求められた仮想軸の位置に対応して前記Ｉ／Ｏ信号状態取得手段で求めたＩ／Ｏ信号の状態を記録するＩ／Ｏ信号状態記録手段と、前記Ｉ／Ｏ信号状態記録手段に記録されたＩ／Ｏ信号の状態に基づき、仮想軸の位置に応じてＩ／Ｏ信号制御を行う手段とを備えることによって、Ｉ／Ｏ信号の状態を正動作方向、逆動作方向に合わせて形成できるようにした。
【０００８】
又、請求項３の発明は、指令移動量に基づいて制御対象軸を制御する位置制御装置において、前記制御対象軸の指令移動量を元に前記制御対象軸の位置を算出する制御対象軸位置算出手段と、ラダーによるＩ／Ｏ信号制御手段より得られるＩ／Ｏ信号の状態を取得するＩ／Ｏ信号状態取得手段と、所定の関数により決まる速度で移動していると仮定した仮想軸の位置を算出する仮想軸位置算出手段と、仮想軸の位置に対する制御対象軸の位置及びＩ／Ｏ信号の状態を記録する記録手段と、記録手段に記憶された位置、Ｉ／Ｏ信号の状態に基づき、仮想軸をマスタ軸として該マスタ軸に同期追従させて制御対象軸の駆動及びＩ／Ｏ信号制御を行う手段とを備えることにより、逆動作、及び正逆動作を繰り返し実行でき、かつ、この動作に合わせてＩ／Ｏ信号の状態を制御できるようにした。又、請求項４に係わる発明は、前記Ｉ／Ｏ信号制御を行う手段に、Ｉ／Ｏ信号状態記録手段に記録されたＩ／Ｏ信号とラダーによるＩ／Ｏ信号における同一信号の２重書き込みを行わないための排他制御手段を備えるものとした。さらに、請求項５に係わる発明は、前記Ｉ／Ｏ信号状態記録手段により記録されるＩ／Ｏ信号を選択するＩ／Ｏ信号選択手段を備えるものとした。
【０００９】
【発明の実施の形態】
図１は、本発明の構成概要説明図である。
制御対象となる軸の指令移動量を算出する手段Ａ１は、ＮＣプログラムに基づいて、又はＰＭＣ軸制御（ＰＭＣ等のダラーに基づくシーケンス制御による軸制御）より、所定周期毎に、制御対象軸を駆動制御するサーボ駆動制御手段へ指令移動量を出力する。通常、この指令移動量はサーボ駆動制御手段へのみ出力されるものであるが、本発明においては、指令移動量を制御対象軸の位置計算手段Ｂ１にも出力され、該位置計算手段Ｂ１によって、時間に対応して制御対象軸の位置が算出される。
【００１０】
又、所定関数により決まる速度で移動する仮想軸の位置計算手段Ｂ２を備え、この仮想軸の位置計算手段Ｂ２により、時間に対する仮想軸の位置が求められる。そして、仮想軸の位置に対する制御対象軸の位置データ算出手段Ｃ１によって、仮想軸の位置に対応する制御対象軸の位置のデータが求められ、仮想軸の位置に対する制御対象軸の位置データ記録手段Ｄ１に記録される。
【００１１】
例えば、制御対象軸の位置計算手段Ｂ１は、指令移動量に基づいて、図２に示すように、制御対象軸の位置ｘは、時間ｔの関数「ｘ＝ｆ１（ｔ）」として求める。又、仮想軸の位置計算手段Ｂ２において、例えば速度が一定であるとすれば、図３に示すように、時間の関数として仮想軸の位置αは「α＝ｆ２（ｔ）」として求められる。そして、仮想軸の位置に対する制御対象軸の位置データ算出手段Ｃ１では、図４に示すように、制御対象軸の位置ｘを仮想軸の位置αに対応して求め、位置データ記録手段Ｄ１に記録する。すなわち、制御対象軸の位置ｘは仮想軸の位置αの関数「ｘ＝Ｆ（α）」として記録されることになる。
【００１２】
こうして仮想軸の位置に対する制御対象軸の位置データ記録手段Ｄ１に記憶されたデータは、仮想軸をマスタ軸とし、制御対象軸をこのマスタ軸に追従するスレーブ軸とする位置データを表す電子カムとしてのカム形状データＥと見ることができる。
【００１３】
一方、時間に対応するＩ／Ｏ信号状態の取得手段Ｂ３は、ＰＭＣ等のラダーに基づいてＩ／Ｏ信号を制御するＩ／Ｏ信号制御手段Ａ２から出力されるＩ／Ｏ信号の中から、制御対象となる軸にとって必要なＩ／Ｏ信号の状態を時間に対応して取得する。そして、仮想軸の位置に対するＩ／Ｏ信号状態の合成手段Ｃ２によって、仮想軸の位置計算手段Ｂ２によって求められた仮想軸の位置に対応させてＩ／Ｏ信号の状態を求め、仮想軸の位置に対応するＩ／Ｏ信号状態のデータ記録手段Ｄ２に記録する。
このＩ／Ｏ信号状態のデータ記録手段Ｄ２に記憶されるデータは、仮想軸の位置に対応するＩ／Ｏ信号状態を表す電子カムのＩ／Ｏ信号状態データＥとみなすことができる。
【００１４】
異常発生し機械動作が停止したときなどに逆転動作等を実行させる場合、記録手段Ｄ１，Ｄ２に記録されたカム形状データ＆Ｉ／Ｏ信号データＥを用いる。
カム形状データを用いたいわゆる電子カム運転手段Ｇ１を構成し、仮想軸をマスタ軸とし制御対象軸をスレーブ軸として、仮想軸制御手段Ｆより出力される仮想軸の位置（マスタ軸の位置）に対する制御対象軸の位置（スレーブ軸の位置）をカム形状データＥより求め、サーボ駆動制御手段Ｈ１に移動指令として出力する。
【００１５】
仮想軸制御手段Ｆとしては、数値制御装置等の位置制御装置に設けられている手動運転手段、ＰＭＣ軸制御手段、手動パルス発生装置で構成し、これらを操作して仮想軸の位置を出力するようにする。又は、仮想軸用のＮＣプログラムを実行して仮想軸の位置を出力するように構成してもよい。この仮想軸制御手段Ｆから出力された位置に対応して、カム形状データＥより制御対象軸の位置が読み出され、サーボ駆動制御手段Ｈ１に移動指令が出力されることになる。
【００１６】
一方、Ｉ／Ｏ信号制御＆排他制御手段Ｇ２は、仮想軸制御手段Ｆから出力される仮想軸位置に対応するＩ／Ｏ信号状態を記録手段Ｄ２に記録するＩ／Ｏ信号データＥを読み出すとともに、Ｉ／Ｏ信号制御手段Ａ２から出力されているＩ／Ｏ信号を読み出し、記録手段Ｄ２に記録する制御対象軸にとって必要なＩ／Ｏ信号の状態と、これ以外のＩ／Ｏ信号でＩ／Ｏ信号制御手段Ａ２から出力されているＩ／Ｏ信号の状態を出力する。これらによって、Ｉ／Ｏ信号が記録手段Ｄ２から読み取った信号と、Ｉ／Ｏ信号制御手段Ａ２から出力されているＩ／Ｏ信号が重なり合わないように、記録手段Ｄ２から読み取った信号のカム形状データに関連するＩ／Ｏ信号を出力する（Ｈ２）。
【００１７】
以上のように、本発明では、仮想軸の位置に対応して制御対象軸の位置がカム形状データとして記録され、さらに、Ｉ／Ｏ信号状態が記録されることから、逆転動作や再度同じ動作を実行させるときには、この記録されたカム形状データさらにはＩ／Ｏ信号状態を用いて、逆転動作や同じ動作を実行させることができる。しかも、逆転動作や再動作は、仮想軸制御手段Ｆから出力される仮想軸位置の変化速度を任意に代えることができるので、逆転動作や再動作は、同一動作であるがその速度は任意に代えることも一時停止することもできるものである。
【００１８】
図５は、本発明の位置御装置の一実施形態としての数値制御装置のブロック図である。ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット６０を介してオペレータが入力した各種データが格納される。特に本発明と関係して、上述したカム形状データ＆Ｉ／Ｏ信号データＥを記録する記憶部を有し、仮想軸の位置に対する制御対象軸の位置データ記録手段Ｄ１及びＩ／Ｏ信号状態のデータ記録手段Ｄ２を構成している。
【００１９】
ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれたＮＣプログラムや表示器／ＭＤＩユニット７０を介して入力されたＮＣプログラム等が記憶される。
【００２０】
インターフェイス１５は、数値制御装置１００と外部機器との接続を可能とするものであり、外部機器からはＮＣプログラム等が読み込まれる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２１】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インターフェイス１９は手動パルス発生装置６１に接続されパルスを受ける。手動パルス発生装置６１は操作盤に実装され、手動操作に基づいて分配パルスを発生する。この手動パルス発生装置６１を本実施形態では前述した仮想軸制御手段Ｆとして利用する。
【００２２】
各軸の軸制御回路３０〜３２はＣＰＵ１１からの各軸の指令移動量を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、各軸のサーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３２にフィードバックし、位置・速度のフィードバック制御を行う。この軸制御回路３０〜３２及びサーボアンプ４０〜４２によって、各軸のサーボ駆動制御手段Ｈ１を構成している。なお、図５では、位置・速度のフィードバックについては省略している。
【００２３】
図６は、本実施形態におけるＣＰＵ１１が所定周期（補間周期）毎に実行する処理において、カム形状データ及びＩ／Ｏ信号状態取得を中心とした処理のフローチャートである。
ＣＰＵ１１は、ＣＭＯＳメモリ１４に格納されたＮＣプログラムを読み出し該ＮＣプログラムで指令された移動指令に基づき、従来と同様に補間・分配処理を行い、加減速処理してサーボ駆動制御手段の軸制御回路３０〜３２に加減速処理後の指令移動量を出力する（ステップＳ１〜Ｓ３）。この指令移動量を受けて、サーボ駆動制御手段は、位置、速度ループ制御等を行い各サーボモータ５０〜５２を駆動制御する。
【００２４】
さらにＣＰＵ１１は、このサーボ駆動制御手段に出力した指令移動量より、補間周期毎の各軸の位置を計算すると共に仮想軸の位置を求める（ステップＳ４，Ｓ５）。仮想軸の位置は、補間・分配を開始してからの時間に対して所定関数（例えば、一定速度とした時間に比例した位置）の位置として求める。
【００２５】
ＰＭＣ１６から入力されているＩ／Ｏ信号の中から指定された制御対象軸に必要なＩ／Ｏ信号の状態を取得し、仮想軸の位置に対応してこの各軸位置及びＩ／Ｏ信号状態をカム形状データ＆Ｉ／Ｏ信号状態データＥとしてＲＡＭ１３に記憶する（ステップＳ６〜Ｓ８）。
なお、必要なＩ／Ｏ信号はパラメータにより選択できるようにしてもよい。
【００２６】
以上が、通常運転時の動作である。この通常運転時において、動作異常が発生し動作が停止し、逆動作させて動作異常が発生するまで辿ってきた経路に沿って動作を逆移動させるときや、又は、調整のために、同一箇所を何回も往復動作させる場合に、カム形状データ＆Ｉ／Ｏ信号状態データＥに基づく電子カム運転を実行する。電子カム運転指令を与え、仮想軸制御手段を操作する。電子カム運転指令が与えられると、ＣＰＵ１１は図７の処理を所定周期（補間周期）毎実行する。
【００２７】
この実施形態では手動パルス発生装置６１が仮想軸制御手段を構成しており、逆動作を行う場合には、手動パルス発生装置６１を逆動作方向に操作してパルスを発生させる。これにより、仮想軸の位置を記憶するレジスタから発生パルス数が減算される（逆動作させることから手動パルス発生装置６１は逆方向に操作されることにより現在位置から減算されることになる）。ＣＰＵ１１はこのレジスタに記憶する位置を読み出し（ステップＴ１）、該仮想軸の位置に対応する各軸の位置をＲＡＭ１３に記憶するカム形状データ＆Ｉ／Ｏ信号状態データＥから読み出し（ステップＴ２）、補間・分配処理し、かつ加減速処理してサーボ駆動制御手段に出力する（ステップＴ３，Ｔ４）。これにより、各軸のサーボモータ５０〜５２は駆動されて今までとは逆方向に駆動され移動することになる。
【００２８】
さらに、仮想軸の位置に対応して記録されているＩ／Ｏ信号状態データを同様にＲＡＭ１３に記憶するカム形状データ＆Ｉ／Ｏ信号状態データＥから読み出し（ステップＴ５）、さらに、カム形状データ＆Ｉ／Ｏ信号状態データＥから読み出したＩ／Ｏ信号以外のＩ／Ｏ信号でＰＭＣ１６からのＩ／Ｏ信号の状態と、このカム形状データ＆Ｉ／Ｏ信号状態データＥから読み出したＩ／Ｏ信号の状態を合成し出力する（ステップＴ６，Ｔ７）。
以上のようにして、逆動作が行われ、Ｉ／Ｏ信号状態もその動作位置に応じた状態となり、Ｉ／Ｏ信号状態をも含めて逆動作を簡単に実現できる。
【００２９】
又、調整等のために、同一箇所を何度も繰り返し往復動作させる場合にも、仮想軸制御手段としての手動パルス発生装置６１を逆方向、正方向に交互に操作することによって、何度も同一箇所の正動作、逆動作を、Ｉ／Ｏ信号状態をも含めて実施することができる。
【００３０】
なお、上述した実施形態では手動パルス装置６１を仮想軸制御手段としたが、これ以外にも、ジョグ送り等の手動操作手段を仮想軸制御手段として、この手動操作手段を上述した手動パルス発生装置６１の代わりに用いて仮想軸へ移動指令を与えるようにしてもよい。さらには、ＰＭＣ１６によるＰＭＣ軸制御を仮想軸制御手段として、ＰＭＣ１６から電子カム運転の仮想軸への移動指令としてもよい。また、電子カム運転用のＮＣプログラムを作成し、このプログラムを実行させることにより、仮想軸制御手段としての機能を実行させ、仮想軸を駆動するようにしてもよい。
【００３１】
【発明の効果】
本発明は、仮想軸の位置を媒介として、制御対象軸の位置、Ｉ／Ｏ信号状態を記録しておき、この記録データによって、逆動作、正逆繰り返し動作を容易に、かつ簡単に実行できる。
【図面の簡単な説明】
【図１】本発明の構成概要説明図である。
【図２】制御対象軸の位置の説明図である。
【図３】仮想軸の位置の説明図である。
【図４】仮想軸の位置に対する制御対象軸の位置の関係を説明する説明図である。
【図５】本発明の一実施形態としての数値制御装置の要部ブロック図である。
【図６】本実施形態における処理においてカム形状データ及びＩ／Ｏ信号状態取得を中心とした処理のフローチャートである。
【図７】本実施形態における電子カム運転時の処理のフローチャートである。
【符号の説明】
５０〜５２  サーボモータ
１００  数値制御装置
【図１】
2004246498.tif 000003
【図２】
2004246498.tif 000004
【図３】
2004246498.tif 000005
【図４】
2004246498.tif 000006
【図５】
2004246498.tif 000007
【図６】
2004246498.tif 000008
【図７】
2004246498.tif 000009