(57)【特許請求の範囲】
【請求項１】
主軸の操作に基づいて従軸を制御するプログラマブルロジックコントローラである制御装置であって、
所定期間における前記主軸の操作量を示す操作量データを取得する取得部と、
前記主軸の操作量を前記従軸が移動させる部材の移動量の単位に変換して、前記操作量に対応する前記部材の位置を特定する位置特定部と、
前記位置特定部が特定した位置に前記部材を移動させるように前記従軸を制御するための制御信号を出力する出力部と、を備え、
前記位置特定部は、第１位置特定部を備え、
前記第１位置特定部は、
前記操作量データが示す操作量を前記部材の移動量の単位に変換した変換量を特定する単位変換部と、
前記変換量の前記所定期間における変化量を算出する第１算出部と、
前記変化量に或る倍率を乗算して倍率変化量を算出する第２算出部と、
前記倍率変化量を積分して、前記操作量に対応する前記部材の位置を算出する第３算出部と、を備え、
前記第２算出部は、前記変化量に応じて、前記変化量が大きいほど前記倍率が高くなるように、前記倍率を変更することを特徴とする制御装置。
【請求項２】
前記第３算出部は、前記倍率変化量が上限変化量より大きい場合、当該上限変化量を積分して前記部材の位置を算出し、前記倍率変化量が上限変化量以下の場合、当該倍率変化量を積分して前記部材の位置を算出することを特徴とする請求項１に記載の制御装置。
【請求項３】
過去の倍率変化量に基づいて、前記上限変化量を設定する設定部をさらに備えることを特徴とする請求項２に記載の制御装置。
【請求項４】
前記設定部は、前記主軸を操作する操作者毎に、前記上限変化量を設定することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記第１位置特定部は、前記第３算出部が算出した位置が前記部材の移動可能な範囲外である場合、前記部材の移動可能な限界位置を、前記操作量に対応する前記部材の位置として特定することを特徴とする請求項１〜４の何れか１項に記載の制御装置。
【請求項６】
前記第１位置特定部は、前記倍率および前記上限変化量の少なくとも何れかを入力パラメータとするファンクションブロックで実現されることを特徴とする請求項２に記載の制御装置。
【請求項７】
前記位置特定部は、第２位置特定部を備え、
前記第２位置特定部は、
前記操作量の累積値を算出する第４算出部と、
前記累積値と、前記部材の位置との対応関係を示す主従関係情報に基づいて、前記累積値に対応する位置を、前記操作量に対応する前記部材の位置として決定する決定部と、を備えることを特徴とする請求項１〜６の何れか１項に記載の制御装置。
【請求項８】
前記主従関係情報は、カムテーブルまたはカム演算式であることを特徴とする請求項７に記載の制御装置。
【請求項９】
前記第２位置特定部は、前記カムテーブルまたは前記カム演算式を入力パラメータとするファンクションブロックで実現されることを特徴とする請求項８に記載の制御装置。
【請求項１０】
前記取得部は、前記主軸の操作に応じて出力される信号の操作速度を示す操作速度データを取得し、
前記位置特定部は、前記第１位置特定部と前記第２位置特定部とを備え、
前記操作速度データの示す操作速度が所定値以下の場合、前記第１位置特定部が前記操作量に対応する前記部材の位置を特定し、前記操作速度データの示す操作速度が所定値より大きい場合、前記第２位置特定部が前記操作量に対応する前記部材の位置を特定することを特徴とする請求項７に記載の制御装置。
【請求項１１】
請求項１〜１０の何れか１項に記載の制御装置と、
前記主軸を有し、操作者の操作に応じてパルス信号を出力する手動パルス発生器と、
前記手動パルス発生器が出力するパルス信号の個数を数え、前記操作量データを出力するカウンタユニットと、
前記部材の位置を変える従軸と、
前記制御装置から前記制御信号を受信し、当該制御信号に基づいて前記従軸を制御するドライバと、を備える制御システムであって、
前記従軸を前記主軸に同期して制御することを特徴とする制御システム。
【請求項１２】
前記制御装置は、シリアル通信、ＵＳＢまたは無線通信により、前記カウンタユニットと接続していることを特徴とする請求項１１に記載の制御システム。
【請求項１３】
主軸を有し、操作者の操作に応じてパルス信号を出力する手動パルス発生器と、
前記手動パルス発生器が出力するパルス信号の個数を数え、操作量データを出力するカウンタユニットと、
前記カウンタユニットから前記操作量データを取得する第１制御装置と、
請求項１〜１０の何れか１項に記載の制御装置であって、前記第１制御装置から前記操作量データを取得し、前記制御信号を出力する第２制御装置と、
前記部材の位置を変える従軸と、
前記第２制御装置から前記制御信号を受信し、当該制御信号に基づいて前記従軸を制御するドライバと、を備えることを特徴とする制御システム。
【請求項１４】
入力部および表示部を備える入力装置をさらに備え、
前記制御装置の前記位置特定部はファンクションブロックで実現され、
前記入力装置は、前記ファンクションブロックの入力パラメータを入力するための入力画面をグラフィカルユーザインターフェース形式で前記表示部に表示することを特徴とする請求項１１〜１３の何れか１項に記載の制御システム。
【請求項１５】
表示部を備える表示装置をさらに備え、
前記表示装置は、前記手動パルス発生器の信号状態、並びに、前記制御装置の入力パラメータおよび演算結果の少なくとも１つを前記表示部に表示することを特徴とする請求項１１〜１４の何れか１項に記載の制御システム。
【請求項１６】
主軸の操作に基づいて従軸を制御するプログラマブルロジックコントローラである制御装置の制御方法であって、
所定期間における前記主軸の操作量を示す操作量データを取得する取得ステップと、
前記主軸の操作量を前記従軸が移動させる部材の移動量の単位に変換して、前記操作量に対応する前記部材の位置を特定する位置特定ステップと、
前記位置特定ステップにおいて特定された位置に前記部材を移動させるように前記従軸を制御するための制御信号を出力する出力ステップと、を含み、
前記位置特定ステップは、第１位置特定ステップを含み、
前記第１位置特定ステップは、
前記操作量データが示す操作量を前記部材の移動量の単位に変換した変換量を特定する単位変換ステップと、
前記変換量の前記所定期間における変化量を算出する第１算出ステップと、
前記変化量に或る倍率を乗算して倍率変化量を算出する第２算出ステップと、
前記倍率変化量を積分して、前記操作量に対応する前記部材の位置を算出する第３算出ステップと、を含み、
前記第２算出ステップでは、前記変化量に応じて、前記変化量が大きいほど前記倍率が高くなるように、前記倍率を変更することを特徴とする制御装置の制御方法。
【請求項１７】
請求項１に記載の制御装置としてコンピュータを機能させるための制御プログラムであって、前記取得部、前記位置特定部および前記出力部としてコンピュータを機能させるための制御プログラム。
【請求項１８】
請求項１７に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主軸の操作に応じて従軸を制御する制御装置、制御システム、制御装置の制御方法、制御プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
従来、工場等において、切削加工などを行う工作機械および産業用ロボット等の産業機械が導入されている。産業機械には、手動パルス発生器を操作することにより、切削加工用の刃またはロボット等の位置を移動させることができるものがある。このような産業機械は、一般的に、ハンドルを備える手動パルス発生器と、手動パルス発生器が出力するパルス信号を数えるパルスカウンタと、モータへの制御指令値を演算し、出力する制御装置とを備え、パルスカウンタとモータへの制御指令値を演算する制御装置は一体に構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２２２０２２号公報（２０００年８月１１日公開）
【特許文献２】特開２００２−３５１５１４号公報（２００２年１２月６日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
産業機械メーカーが任意の産業機械を容易に設計および製造可能なように、任意の産業機械に適用可能な制御装置が望まれている。
【０００５】
ここで、手動パルス発生器等の主軸と、モータ等の従軸とは、物理量の単位が異なっている場合がある。例えば、手動パルス発生器が１回転（３６０度）で１００個のパルス信号を出力するのに対して、モータは１回転（３６０度）が１７ｂｉｔで定義されている場合がある。この場合、両者の１回転あたりの分解能が異なる。また、通常、モータ等の従軸の物理量と、従軸が位置を移動させる部材の移動量との間には各種歯車やボールネジ等の機構を介して、回転動作から並行移動動作になるため、制御指令値となる単位が異なっている。そのため、手動パルス発生器の１つのパルス信号で部材がどの程度移動するのかが直感的にわかりづらい。
【０００６】
よって、産業機械メーカーの設計者は、任意の主軸と、任意の従軸が移動させる任意の部材との関係を規定する制御アルゴリズムを容易に設計することができないという問題がある。
【０００７】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、制御アルゴリズムを容易に設計可能な制御装置、制御システム、制御装置の制御方法、制御プログラムおよび記録媒体を実現することにある。
【課題を解決するための手段】
【０００８】
前記の課題を解決するために、本発明に係る制御装置は、主軸の操作に基づいて従軸を制御するプログラマブルロジックコントローラである制御装置であって、所定期間における前記主軸の操作量を示す操作量データを取得する取得部と、前記主軸の操作量を前記従軸が移動させる部材の移動量の単位に変換して、前記操作量に対応する前記部材の位置を特定する位置特定部と、前記位置特定部が特定した位置に前記部材を移動させるように前記従軸を制御するための制御信号を出力する出力部と、前記単位変換と位置特定部に必要なパラメータを入力とし、前記パラメータに従った演算を出力部に実行させるプログラムモジュールとを備えることを特徴としている。
【０００９】
前記の構成によれば、前記位置特定部が前記部材の移動量の単位に変換して処理を行っている。そのため、前記部材の移動量の単位を用いて、前記制御装置の制御アルゴリズムを設計することができる。よって、制御アルゴリズムを容易に設計することができるという効果を奏する。
【００１０】
本発明に係る制御装置において、前記位置特定部は、第１位置特定部を備え、前記第１位置特定部は、前記操作量データが示す操作量を前記部材の移動量の単位に変換した変換量を特定する単位変換部と、前記変換量の前記所定期間における変化量を算出する第１算出部と、前記変化量に所定の倍率を乗算して倍率変化量を算出する第２算出部と、前記倍率変化量を積分して、前記操作量に対応する前記部材の位置を算出する第３算出部と、を備えていてもよい。
【００１１】
前記の構成によれば、倍率演算のアルゴリズムを容易に設計することができる。
【００１２】
本発明に係る制御装置において、前記第２算出部は、前記変化量に応じて、前記倍率を変更してもよい。
【００１３】
前記の構成によれば、ローパスフィルタ等を用いることなく、前記従軸の駆動および前記部材の移動を安定して行うことができる。例えば、変化量が小さいほど、低い倍率を設定し、変化量が大きいほど、高い倍率を設定する。これにより、前記従軸および前記部材の不具合を抑制すると共に、前記主軸の操作速度に関わらず、前記従軸を前記主軸に同期させて動かすことができる。
【００１４】
本発明に係る制御装置において、前記第３算出部は、前記倍率変化量が上限変化量より大きい場合、当該上限変化量を積分して前記部材の位置を算出し、前記倍率変化量が上限変化量以下の場合、当該倍率変化量を積分して前記部材の位置を算出してもよい。
【００１５】
前記の構成によれば、前記従軸を過度に駆動させることを抑制することができる。
【００１６】
本発明に係る制御装置は、過去の倍率変化量に基づいて、前記上限変化量を設定する設定部をさらに備えていてもよい。
【００１７】
前記の構成によれば、前記主軸の過去の操作内容に応じた前記上限変化量を設定することができる。
【００１８】
本発明に係る制御装置において、前記設定部は、前記主軸を操作する操作者毎に、前記上限変化量を設定してもよい。
【００１９】
前記の構成によれば、前記操作者毎に、操作者に適した前記上限変化量を設定することができる。
【００２０】
本発明に係る制御装置において、前記第１位置特定部は、前記第３算出部が算出した位置が前記部材の移動可能な範囲外である場合、前記部材の移動可能な限界位置を、前記操作量に対応する前記部材の位置として特定してもよい。
【００２１】
前記の構成によれば、前記部材が移動可能な範囲外に移動することを防ぐことができる。
【００２２】
本発明に係る制御装置において、前記第１位置特定部は、前記倍率および前記上限変化量の少なくとも何れかを入力パラメータとするファンクションブロックで実現されてもよい。
【００２３】
前記の構成によれば、前記倍率および前記上限変化量の少なくとも何れかを入力するだけで、前記制御装置の制御アルゴリズムを設計することができる。
【００２４】
本発明に係る制御装置において、前記位置特定部は、第２位置特定部を備え、前記第２位置特定部は、前記操作量の累積値を算出する第４算出部と、前記累積値と、前記部材の位置との対応関係を示す主従関係情報に基づいて、前記累積値に対応する位置を、前記操作量に対応する前記部材の位置として決定する決定部と、を備えていてもよい。
【００２５】
前記の構成によれば、前記主従関係情報によって規定されるアルゴリズムを容易に設計することができる。
【００２６】
本発明に係る制御装置において、前記主従関係情報は、カムテーブルまたはカム演算式であってよい。
【００２７】
本発明に係る制御装置において、前記第２位置特定部は、前記カムテーブルまたは前記カム演算式を入力パラメータとするファンクションブロックで実現されてもよい。
【００２８】
前記の構成によれば、前記カムテーブルまたは前記カム演算式を入力するだけで、前記制御装置の制御アルゴリズムを設計することができる。
【００２９】
本発明に係る制御装置において、前記取得部は、前記主軸の操作速度を示す操作速度データを取得し、前記位置特定部は、第１位置特定部と、当該第１位置特定部と異なる位置特定処理を実行する第２位置特定部とを備え、前記操作速度データの示す操作速度が所定値以下の場合、前記第１位置特定部が前記操作量に対応する前記部材の位置を特定し、前記操作速度データの示す操作速度が所定値より大きい場合、前記第２位置特定部が前記操作量に対応する前記部材の位置を特定してもよい。
【００３０】
前記の構成によれば、前記主軸の操作に応じて、位置特定処理を変えることができる。
【００３１】
本発明に係る制御システムは、前記制御装置と、前記主軸を有し、操作者の操作に応じてパルス信号を出力する手動パルス発生器と、前記手動パルス発生器が出力するパルス信号の個数を数え、前記操作量データを出力するカウンタユニットと、前記部材の位置を変える従軸と、前記制御装置から前記制御信号を受信し、当該制御信号に基づいて前記従軸を制御するドライバと、を備える制御システムであって、前記従軸を前記主軸に同期して制御してもよい。
【００３２】
前記の構成によれば、前記従軸を前記主軸に同期して制御することができる。
【００３３】
本発明に係る制御システムにおいて、前記制御装置は、シリアル通信、ＵＳＢまたは無線通信により、前記カウンタユニットと接続していてもよい。
【００３４】
本発明に係る制御システムは、主軸を有し、操作者の操作に応じてパルス信号を出力する手動パルス発生器と、前記手動パルス発生器が出力するパルス信号の個数を数え、操作量データを出力するカウンタユニットと、請求項１〜１２の何れか１項に記載の制御装置であって、前記カウンタユニットから前記操作量データを取得する第１制御装置と、請求項１〜１２の何れか１項に記載の制御装置であって、前記第１制御装置から前記操作量データを取得し、前記制御信号を出力する第２制御装置と、前記部材の位置を変える従軸と、前記第２制御装置から前記制御信号を受信し、当該制御信号に基づいて前記従軸を制御するドライバと、を備えていてもよい。
【００３５】
前記の構成によれば、産業機械の構造に応じて、前記制御装置を分散して配置することができる。
【００３６】
本発明に係る制御システムは、入力部および表示部を備える入力装置をさらに備え、前記制御装置の前記位置特定部はファンクションブロックで実現され、前記入力装置は、前記ファンクションブロックの入力パラメータを入力するための入力画面をグラフィカルユーザインターフェース形式で前記表示部に表示してもよい。
【００３７】
前記の構成によれば、前記ファンクションブロックの入力パラメータを直感的な操作で容易に入力することができる。
【００３８】
本発明に係る制御システムは、表示部を備える表示装置をさらに備え、前記表示装置は、前記手動パルス発生器の信号状態、並びに、前記制御装置の入力パラメータおよび演算結果の少なくとも１つを前記表示部に表示してもよい。
【００３９】
前記の構成によれば、主軸の操作者は、主軸の操作中等に、前記手動パルス発生器の信号状態、並びに、前記制御装置の入力パラメータおよび演算結果の少なくとも１つを確認することができる。
【００４０】
前記の課題を解決するために、本発明に係る制御装置の制御方法は、主軸の操作に基づいて従軸を制御するプログラマブルロジックコントローラである制御装置の制御方法であって、所定期間における前記主軸の操作量を示す操作量データを取得する取得ステップと、前記主軸の操作量を前記従軸が移動させる部材の移動量の単位に変換して、前記操作量に対応する前記部材の位置を特定する位置特定ステップと、前記位置特定ステップにおいて特定された位置に前記部材を移動させるように前記従軸を制御するための制御信号を出力する出力ステップと、を含むことを特徴としている。
【００４１】
前記の構成によれば、前記制御装置と同様の効果を奏する。
【００４２】
本発明に係る制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記制御装置が備える各部（ソフトウェア要素）として動作させることにより前記制御装置をコンピュータにて実現させる制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００４３】
本発明は、制御アルゴリズムを容易に設計することができるという効果を奏する。
【図面の簡単な説明】
【００４４】
【図１】本発明に係る制御装置の要部構成を示すブロック図である。
【図２】本発明の実施形態１に係る制御システムの構成の一例を示す図である。
【図３】前記制御システムが実行する処理の一例を示すフローチャートである。
【図４】前記制御装置の第１位置特定部が実行する第１位置特定処理の一例を示すフローチャートである。
【図５】倍率情報の一例を示す図である。
【図６】変化量の時間経過による変動を示すグラフである。
【図７】倍率変化量および指令変化量を示すグラフである。
【図８】前記制御装置の第２位置特定部が実行する第２位置特定処理の一例を示すフローチャートである。
【図９】産業機械の構成例を簡易的に示す図である。
【図１０】パルス信号の累積値と、ボールネジの移動距離との関係を規定するカム曲線の一例を示す図である。
【図１１】前記制御システムに含まれるタッチパネルが表示する画面例を示す図である。
【図１２】前記制御システムに含まれるタッチパネルが表示する画面例を示す図である。
【図１３】制御アルゴリズムの設計時における前記制御装置の接続構成例を示す図である。
【図１４】前記制御装置と接続する端末装置が表示する画面例を示す図である。
【図１５】前記制御装置と接続する端末装置が表示する画面例を示す図である。
【図１６】本発明の実施形態２に係る制御システムの構成の一例を示す図である。
【図１７】本発明の実施形態３に係る制御システムの構成の一例を示す図である。
【図１８】前記制御システムに含まれるタッチパネルが表示する画面例を示す図である。
【発明を実施するための形態】
【００４５】
＜実施形態１＞
図１から図１５に基づいて本発明の一実施形態について説明すると以下の通りである。
【００４６】
〔制御システム〕
図２に基づいて、本実施形態に係る制御システム１０について説明する。図２は、本実施形態に係る制御システム１０の構成の一例を示す図である。制御システム１０は、産業機械（不図示）に組み込まれ、産業機械の操作者の操作に応じて、産業機械が備える部材（不図示）の位置を制御するものである。制御システム１０は、例えば、切削加工用の刃の位置を調整したり、産業用ロボットにティーチングを行う際に、産業用ロボットの位置を移動したり、産業用ロボットを待機位置に移動したりする。
【００４７】
図２に示すように、制御システム１０は、制御装置１、手動パルス発生器２、カウンタユニット３、モータ４およびドライバ５を含む。制御装置１は、カウンタユニット３およびドライバ５と通信可能に接続している。また、カウンタユニット３は手動パルス発生器２と通信可能に接続しており、ドライバ５は、モータ４と通信可能に接続している。これらの機器は、任意の有線接続方式または無線接続方式により通信接続されている。本実施形態では、これらの機器（特に、制御装置１、カウンタユニット３およびドライバ５）は、例えばEtherCAT（登録商標）により通信接続されている。
【００４８】
手動パルス発生器２は、回転可能なハンドル（主軸）を備える。手動パルス発生器２は、操作者がハンドルを所定の角度回転させると、１つのパルス信号を出力する。なお、手動パルス発生器２は、回転可能なハンドルを備えるものに限らず、主軸の操作量に応じてパルス信号を出力するものであればよい。
【００４９】
カウンタユニット３は、手動パルス発生器２が出力するパルス信号を受信し、パルス信号の個数を数えるものである。カウンタユニット３は、制御装置１からの要求に応じて、所定期間におけるパルス信号の個数を示す操作量データを含む主軸信号を制御装置１に送信する。換言すると、操作量データは、主軸の操作量を示すデータである。
【００５０】
カウンタユニット３は、さらに、手動パルス発生器２が出力するパルス信号の周波数を計測してもよい。換言すると、カウンタユニット３は、手動パルス発生器２に対する操作速度を計測してもよい。この場合、操作量データ、および、当該操作速度を示す操作速度データを含む主軸信号を制御装置１に送信する。
【００５１】
制御装置１は、主軸の操作に応じて従軸であるモータ４を制御するものである。具体的には、制御装置１は、カウンタユニット３から主軸信号を取得する。制御装置１は、予め定められた制御アルゴリズムに基づいて、主軸の操作量に対応する産業機械の部材の位置を特定し、特定した位置に部材を移動させるように従軸を制御するための制御信号をドライバ５に出力する。制御装置１は、従軸を主軸に同期して制御する。制御装置１は、例えばＰＬＣ（Programmable Logic controller：プログラマブルロジックコントローラ）である。制御装置１の詳細については後述する。
【００５２】
ドライバ５は、制御装置１から制御信号を受信し、受信した制御信号に基づいて、モータ４を制御するものである。具体的には、ドライバ５は、制御信号に基づいて、モータ４が所定の回転速度で所定量回転するように、モータ４を駆動させる。
【００５３】
モータ４は、産業機械の部材の位置を移動させるものである。
【００５４】
また、図２に示すように、制御システム１０は、タッチパネル６をさらに備えていてもよい。タッチパネル６は、制御装置１と通信接続しており、操作者が制御システム１０（産業機械）の状態の確認等を行うためのものである。タッチパネル６は、表示部を備える表示装置であり、入力部および表示部を備える入力装置でもある。
【００５５】
〔制御装置〕
図１に基づいて、制御装置１について説明する。図１は、制御装置１の要部構成の一例を示すブロック図である。図１に示すように、制御装置１は、制御部１１、記憶部１２および通信部１３を備えている。
【００５６】
通信部１３は、無線通信手段または有線通信手段によって、カウンタユニット３、ドライバ５およびタッチパネル６等の他の装置と通信を行い、制御部１１の指示に従って、データのやりとりを行うものである。
【００５７】
制御部１１は、記憶部１２から一時記憶部（不図示）に読み出されたプログラムを実行することにより、各種の演算を行うと共に、制御装置１が備える各部を統括的に制御するものである。本実施形態では、制御部１１は、取得部２１、位置特定部２２、出力部２３、設定部２４および第２単位変換部２５を備える構成である。また、本実施形態では、位置特定部２２および第２単位変換部２５は、ファンクションブロック（詳細は後述）として実現される。
【００５８】
取得部２１は、通信部１３を介して、所定期間における主軸の操作量を示す操作量データをカウンタユニット３から取得する。取得部２１は、取得した操作量データを位置特定部２２に出力する。また、取得部２１は、通信部１３を介して、所定期間における主軸の操作速度を示す操作速度データをカウンタユニット３から取得してもよい。取得部２１は、取得した操作速度データを位置特定部２２に出力する。また、取得部２１は、通信部１３を介して、タッチパネル６等の外部の入力装置からファンクションブロック（詳細は後述）の入力パラメータを取得してもよい。取得部２１は、取得した入力パラメータを設定部２４に出力する。
【００５９】
位置特定部２２は、取得部２１から操作量データを取得し、取得した操作量データが示す主軸の操作量を従軸が移動させる部材の移動量（移動距離）の単位に変換して、当該操作量に対応する当該部材の位置を特定する。位置特定部２２は、特定した部材の位置を第２単位変換部２５に通知する。
【００６０】
位置特定部２２は、図１に示すように、実行する位置特定処理が互いに異なる第１位置特定部３１および第２位置特定部３２と、切替部３３とを備える。
【００６１】
第１位置特定部３１は、第１位置特定処理を実行するものであり、第１単位変換部（単位変換部）４１、第１算出部４２、第２算出部４３および第３算出部４４を備える。
【００６２】
第１単位変換部４１は、取得部２１から操作量データを取得し、取得した操作量データが示す操作量を部材の移動量の単位に変換した変換量を特定する。第１単位変換部４１は、特定した変換量を第１算出部４２に出力する。
【００６３】
第１算出部４２は、第１単位変換部４１から変換量を取得し、取得した変換量の前記所定期間における変化量を算出する。第１算出部４２は、算出した変化量を第２算出部４３に出力する。
【００６４】
第２算出部４３は、第１算出部４２から変化量を取得し、記憶部１２から倍率情報５１を読み出す。第２算出部４３は、取得した変化量に、読み出した倍率情報５１の示す所定の倍率を乗算して倍率変化量を算出する。第２算出部４３は、算出した倍率変化量を第３算出部４４に出力する。第２算出部４３は、第１算出部４２から取得した変化量に応じて、前記倍率を変更してもよい。この場合、倍率情報５１には、変化量に応じた複数の倍率が含まれる。
【００６５】
第３算出部４４は、第２算出部４３から倍率変化量を取得し、取得した倍率変化量を積分して、操作量に対応する部材の位置を算出する。第３算出部４４は、算出した部材の位置を第２単位変換部２５に通知する。第３算出部は、記憶部１２から上限変化量５２を読み出し、取得した倍率変化量が上限変化量５２より大きい場合、上限変化量５２を積分して部材の位置を算出し、取得した倍率変化量が上限変化量５２以下の場合、倍率変化量を積分して部材の位置を算出してもよい。
【００６６】
なお、第１位置特定部３１は、第３算出部４４が算出した位置が部材の移動可能な範囲外である場合、部材の移動可能な限界位置を、操作量に対応する部材の位置として特定し、特定した位置を第２単位変換部２５に通知してもよい。
【００６７】
また、第１位置特定部３１は、倍率情報５１および上限変化量５２の少なくとも何れかを入力パラメータとするファンクションブロックで実現されてもよい。
【００６８】
第２位置特定部３２は、第２位置特定処理を実行するものであり、第４算出部４５および決定部４６を備える。
【００６９】
第４算出部４５は、取得部２１から操作量データを取得し、取得した操作量データが示す操作量を累積して、主軸の原点からの操作量の累積値を算出する。第４算出部４５は、算出した累積値を決定部４６に出力する。
【００７０】
決定部４６は、第４算出部４５から累積値を取得し、主軸の原点からの操作量の累積値と、部材の位置との対応関係を示す主従関係情報５３を記憶部１２から読み出す。決定部４６は、読み出した主従関係情報５３に基づいて、取得した累積値に対応する位置を、所定期間における操作量に対応する部材の位置として決定する。ここで主従関係情報５３は、カムテーブル５４またはカム演算式５５である。
【００７１】
第２位置特定部３２は、カムテーブル５４またはカム演算式５５を入力パラメータとするファンクションブロックで実現されてもよい。
【００７２】
切替部３３は、取得部２１から操作速度データを取得し、取得した操作速度データの示す操作速度が所定値以下であるか否かを判定する。切替部３３は、操作速度データの示す操作速度が所定値以下の場合、第１位置特定部３１に第１位置特定処理を実行させ、操作速度データの示す操作速度が所定値より大きい場合、第２位置特定部に第２位置特定処理を実行させる。
【００７３】
第２単位変換部２５は、位置特定部２２が特定した部材の位置（移動量）を、従軸（モータ４の回転量）の単位に変換する。第２単位変換部２５は、変換した回転量を出力部２３に出力する。
【００７４】
出力部２３は、位置特定部２２が特定した位置に部材を移動させるように従軸を制御するための制御信号を生成し、通信部１３を介して、生成した制御信号をドライバ５に出力する。具体的には、出力部２３は、第２単位変換部２５から取得した回転量に基づいて、制御信号を生成する。
【００７５】
設定部２４は、取得部２１から入力パラメータを取得し、取得した入力パラメータを記憶部１２に格納する。また、設定部２４は、第２算出部４３が算出した過去の倍率変化量に基づいて、上限変化量５２を設定してもよい。具体的には、過去の倍率変化量の平均値、中央値、上限値等を上限変化量５２として設定する。また、設定部２４は、主軸を操作する操作者毎に、上限変化量５２を設定してよい。具体的には、操作者は、主軸を操作する前にタッチパネル６を操作して、自らを識別するＩＤを入力する。第２算出部４３は、算出した倍率変化量を操作者のＩＤ毎に分けて記憶部１２に格納する。設定部２４は、記憶部１２に格納されているＩＤ毎の過去の倍率変化量に基づいて、ＩＤ毎の上限変化量５２を設定する。
【００７６】
記憶部１２は、制御部１１が参照するプログラムやデータ等を格納するものであり、例えば、前記の倍率情報５１、上限変化量５２、カムテーブル５４およびカム演算式５５等を格納している。記憶部１２は、その他、位置特定部２２および第２単位変換部２５の演算結果等を記憶していてもよい。
【００７７】
〔制御システムの処理〕
図３に基づいて、本発明に係る制御システム１０が実行する処理について説明する。図３は、本発明に係る制御システム１０が実行する処理の一例を示すフローチャートである。
【００７８】
図３に示すように、操作者がハンドルを回転させると、手動パルス発生器２は、操作量に応じたパルス信号を出力する（Ｓ１）。カウンタユニット３は、手動パルス発生器２が出力したパルス信号の個数を数える（Ｓ２）。
【００７９】
制御装置１の取得部２１は、所定期間毎に、カウンタユニット３から、操作量データを取得する（Ｓ３：取得ステップ）。位置特定部２２は、位置特定処理を実行して、操作量データから部材の位置を特定する（Ｓ４：位置特定ステップ）。
【００８０】
制御装置１の第２単位変換部２５は、位置特定部２２が特定した部材の位置（移動量）を、モータ４の回転量の単位に変換する（Ｓ５）。例えば、第２単位変換部２５は、下記の式（１）に基づいて単位変換を行う。式（１）において、Ｐｓは、位置特定部２２が特定した位置に部材を移動させるようにモータを回転させるためのパルス信号の個数（回転量）であり、Ｄは、現在の位置から位置特定部２２が特定した位置までの部材の移動距離である。
【００８１】
【数１】
0006582521.tif 000002
【００８２】
第２単位変換部２５は、式（１）により算出したＰｓの小数点以下の値を切り捨てて、パルス信号の個数を特定する。なお、第２単位変換部２５は、切り捨てた小数点以下の値を保持しておき、当該値を次回の演算結果のＰｓに加算することにより、演算誤差を抑制する。
【００８３】
出力部２３は、第２単位変換部２５が特定した回転量に基づいて制御信号を生成する。例えば、出力部２３は、第２単位変換部２５が特定した個数のパルス信号を制御信号として生成してよい。出力部２３は、通信部１３を介して、生成した制御信号をドライバ５に出力する（Ｓ６：出力ステップ）。ドライバ５は、制御信号にしたがってモータ４を制御する（Ｓ７）。そして、モータ４が回転することにより、操作に応じた位置に部材が移動する。
【００８４】
〔第１位置特定処理〕
図４に基づいて、図３のＳ４において実行される位置特定処理の一例について説明する。図４は、第１位置特定部３１が実行する第１位置特定処理の一例を示すフローチャートである。
【００８５】
図４に示すように、第１単位変換部４１は、操作量データが示す操作量を部材の移動量の単位に変換した変換量を特定する（Ｓ１１）。例えば、第１単位変換部４１は、下記の式（２）に基づいて単位変換を行う。式（２）において、Ｐｍは、操作量データが示すパルス信号の個数であり、ｄは、前記変換量である。
【００８６】
【数２】
0006582521.tif 000003
【００８７】
第１算出部４２は、第１単位変換部４１が特定した変換量の所定期間における変化量を算出する（Ｓ１２）。
【００８８】
第２算出部４３は、記憶部１２から倍率情報５１を読み出す。倍率情報５１は、例えば、図５に示すテーブルである。第２算出部４３は、倍率情報５１を参照して、第１算出部４２が算出した変化量に対応する倍率を特定する（Ｓ１３）。第２算出部４３は、第１算出部４２が算出した変化量に、特定した倍率を乗算して倍率変化量を算出する（Ｓ１４）。
【００８９】
第３算出部４４は、記憶部１２から上限変化量５２を読み出し、第２算出部が算出した倍率変化量が上限変化量５２以下であるか否かを判定する。第３算出部４４は、倍率変化量が上限変化量５２以下である場合、第２算出部が算出した倍率変化量を指令変化量として特定する。一方、第３算出部４４は、倍率変化量が上限変化量５２より大きい場合、上限変化量５２を指令変化量として特定する（Ｓ１５）。第３算出部４４は、特定した指令変化量を積分して、操作量に対応する部材の移動量を算出する（Ｓ１６）。第３算出部４４は、現在の部材の位置から、算出した移動量移動した位置を指令位置として算出する（Ｓ１７）。第３算出部４４は、算出した指令位置を第２単位変換部２５に通知する。
【００９０】
通常、操作者による手動パルス発生器２の操作速度（回転速度）は変動する。そのため、操作速度に対応する前記変化量も図６に示すように変動する。通常ユーザが入力する回転速度はばらつきを生じるが、このばらつきに従ってモータに対する制御信号を生成すると、モータの回転速度も変動する。この変動により、モータに異音が生じたり、モータが移動させる部材に振動が生じたりする場合がある。これらの不具合を抑制するために、従来ではローパスフィルタ等の信号平滑化処理が行われていた。この信号平滑化処理を行うと、手動パルス発生器２の動きとモータの動きとが連動しないという問題があった。本発明では、Ｓ１３において変化量に応じて乗算する倍率を変更している。例えば、変化量（つまり操作速度）が小さいほど、低い倍率を乗算し、変化量が大きいほど、高い倍率を乗算する。通常ユーザは、従軸を大きく移動させたい場合には、変化量（すなわち入力速度）を大きくし、従軸を微小に移動させたい場合には、変化量（入力速度）を小さくする。上述のように変化量に合わせて乗算する倍率を変更させることにより、ユーザの意図に沿った動作をさせることが可能となる。これにより、前記不具合を抑制すると共に、操作速度が高速であっても低速であっても、従軸を主軸に同期させて動かすことができる。
【００９１】
また、第２算出部が算出した倍率変化量が過度に大きくなってしまう場合がある。例えば、図７に示すように、第２算出部が算出した倍率変化量（図中の一点鎖線）が変動している場合、本発明では、上述のように、Ｓ１５において、第３算出部４４は、指令変化量を図７に示す太線で示される値に設定する。これにより、モータ４を過度に駆動させることを抑制することができる。
【００９２】
〔第２位置特定処理〕
図８に基づいて、図３のＳ４において実行される位置特定処理の他の一例について説明する。図８は、第２位置特定部３２が実行する第２位置特定処理の一例を示すフローチャートである。
【００９３】
図８に示すように、第４算出部４５は、操作量データが示す操作量を累積して、主軸の原点からの操作量の累積値を算出する（Ｓ２１）。
【００９４】
決定部４６は、主従関係情報５３を記憶部１２から読み出す。決定部４６は、読み出した主従関係情報５３に基づいて、第４算出部４５が算出した累積値に対応する位置を、所定期間における操作量に対応する部材の位置（指令位置）として決定する（Ｓ２２）。決定部４６は、決定した指令位置を第２単位変換部２５に通知する。
【００９５】
ここで、図９に示す産業機械９を例にして説明する。図９は、産業機械９の構成例を簡易的に示す図である。図９では、説明の便宜のため、制御装置１等の構成が省略されている。
【００９６】
図９に示す産業機械９では、操作者が手動パルス発生器２を初期位置から時計回りに回転することにより、産業機械９の部材であるボールネジ８を原点位置から右方向に移動することができる。なお、この場合、第４算出部４５が算出する累積値は、手動パルス発生器２の初期位置から正方向（時計回り）の操作量の累積値である。つまり、第４算出部４５は、時計回りの操作によるパルス信号の個数を加算し、反時計回りの操作によるパルス信号の個数を減算して、累積値を算出する。
【００９７】
図９に示す手動パルス発生器２の初期位置からのパルス信号の累積値と、ボールネジ８の原点からの正方向（右方向）の移動距離との対応関係は、例えば、図１０に示すカム曲線で定義することができる。図１０に示すカム曲線において、累積値が０〜１００の区間（Ａ区間）は、３次関数またはサイクロイド曲線であり、累積値が１００〜９０００の区間（Ｂ区間）は、一次関数であり、累積値が９０００〜１００００の区間（Ｃ区間）は、３次関数またはサイクロイド曲線である。
【００９８】
図１０に示すカム曲線から、累積値と移動距離との対応関係を離散的に抽出し、カムテーブルを生成することができる。また、Ａ〜Ｃ区間を表す関数をそれぞれ求めて、Ａ〜Ｃ区間を表す関数を組み合わせてカム演算式を生成することができる。
【００９９】
なお、図９に示す対応関係に限らず、主軸の位置（手動パルス発生器２のハンドルの初期位置からの回転角度）と部材の移動距離との対応関係を規定するカム曲線を定義してもよい。
【０１００】
〔タッチパネルの表示画面例〕
図１１および図１２に基づいて、タッチパネル６が表示する画面例について説明する。図１１および図１２は、タッチパネル６が表示する画面例を示す図である。
【０１０１】
図１１および図１２に示すように、タッチパネル６の表示部に、産業機械の概略構成、および、主軸の操作量と、部材の移動距離との関係を示す演算式が表示されている。操作者は、タッチパネル６を操作して、前記演算式の係数等を変更できるようにしてもよい。
【０１０２】
また、タッチパネル６は、産業機械の概略構成および演算式以外に、手動パルス発生器２が出力するパルス信号の信号状態、並びに、制御装置１の入力パラメータおよび演算結果等を表示してもよい。タッチパネル６に表示される前記信号状態とは、手動パルス発生器２が操作に応じてパルス信号を出力しているか否か、パルス信号の個数（操作量）、パルス信号の周波数（操作速度）等である。制御装置１の入力パラメータは、後述のファンクションブロックの入力パラメータである。また、制御装置１の演算結果とは、第１位置特定部の演算結果である変換量、変化量、倍率変化量、指令変化量、部材の移動量および部材の位置、並びに、第２位置特定部の演算結果である累積値および部材の位置等である。
【０１０３】
〔ファンクションブロック〕
図１３に示すように、制御装置１をＰＣ等の端末装置７に接続して、制御装置１の各種設定を端末装置７により行う。端末装置７は、設計者が各種設定を入力するための入力部と、入力画面を表示する表示部とを備える。
【０１０４】
本実施形態では、制御装置１の機能（特に位置特定部２２）をファンクションブロックで実現する。また、本実施形態では、端末装置７は、ファンクションブロックの入力パラメータを入力するための入力画面をグラフィカルユーザインターフェース（ＧＵＩ）形式で表示部に表示する。
【０１０５】
図１４に基づいて、端末装置７の表示部に表示される入力画面について説明する。図１４は、ラダーダイアグラムで記述されたファンクションブロックの入力画面の一例を示す図である。
【０１０６】
図１４に示すように、ファンクションブロック（「MPGFILTER_instance」）６０は、入出力変数、入力変数および出力変数を有する。具体的には、入出力変数として、「Master６１」、「Slave６２」、「Master６６」および「Slave６７」がある。「Master６１」および「Master６６」は、制御装置１に入力する主軸（手動パルス発生器２）を指定するための変数であり、「Slave６２」および「Slave６７」は、制御装置１が制御する従軸（モータ４）を指定するための変数である。入力変数として、「sMPGSetRatios６３」、「MaxVel６４」、「MPGOprRatio６５」等がある。「sMPGSetRatios６３」は、倍率情報５１であり、「MaxVel６４」は、上限変化量５２であり、「MPGOprRatio６５」は、位置特定処理に使用する倍率を選択するための変数である。また、出力変数として、「CalcRslt６８」等がある。「CalcRslt６８」は、ファンクションブロックで演算した部材の位置を示す変数である。
【０１０７】
設計者は、図１４に示す各変数を選択して、入力パラメータを入力することができる。また、図１４に示す入力パラメータ以外に、実行する位置特定処理方法（第１位置特定処理または第２位置特定処理）、切替操作速度の閾値、主従関係情報５３（カムテーブル５４およびカム演算式５５）等をファンクションブロックの入力パラメータとして入力してもよい。
【０１０８】
また、図１５に示すように、ファンクションブロックをストラクチャードテキストで記述してもよい。
【０１０９】
なお、制御装置１の各種設定は、多くの場合事前に行われるが、産業機械の操作中等に行ってもよい。そのため、制御システム１０が端末装置７を備えていてもよい。また、タッチパネル６がファンクションブロックの入力パラメータを入力するための入力画面をグラフィカルユーザインターフェース形式で表示して、タッチパネル６を操作して入力パラメータを入力できるようにしてもよい。
【０１１０】
＜実施形態２＞
図１６に基づいて、本発明に係る実施形態２について説明する。図１６は、実施形態２に係る制御システム１０ａの構成の一例を示す図である。なお、説明の便宜上、前記の実施形態１において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０１１１】
図１６に示すように、制御システム１０ａは、４つの手動パルス発生器２〜２ｃを含み、制御装置１は、４つの手動パルス発生器２〜２ｃから、それぞれ異なる通信方式で主軸信号を取得する。
【０１１２】
具体的には、制御装置１は、通信部１３として、通信ポート１３ａ、ＵＳＢ（Universal Serial Bus）ポート１３ｂおよび無線通信部１３ｃを有する。通信ポート１３ａは、手動パルス発生器２ａから、シリアル通信ユニット３ａを介して、シリアル通信で主軸信号を取得する。また、制御装置１と手動パルス発生器２ｂとはＵＳＢで接続されており、ＵＳＢポート１３ｂが手動パルス発生器２ｂから主軸信号を取得する。また、制御装置１と手動パルス発生器２ｃとはBluetooth（登録商標）により無線接続されており、無線通信部１３ｃが手動パルス発生器２ｃから主軸信号を取得する。
【０１１３】
なお、図１６に示していないが、手動パルス発生器２ａ〜２ｃは、カウンタユニット３を備えている。
【０１１４】
このように、制御装置１は、任意の有線通信手段または無線通信手段を用いて、手動パルス発生器２（カウンタユニット３）から主軸信号を取得することができる。すなわち、本実施形態に係る制御システム１０ａでは、制御装置１は、任意のインターフェースを有する手動パルス発生器２〜２ｃから主軸信号を取得することができる。
【０１１５】
＜実施形態３＞
図１７および図１８に基づいて、本発明に係る実施形態３について説明する。図１７は、実施形態３に係る制御システム１０ｂの構成の一例を示す図である。なお、説明の便宜上、前記の実施形態１において示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
【０１１６】
図１７に示すように、制御システム１０ｂは、２つの制御装置（第１制御装置）１および制御装置（第２制御装置）１ａ、手動パルス発生器２、カウンタユニット３、モータ４およびドライバ５およびタッチパネル６ａを含む。制御装置１は、カウンタユニット３および制御装置１ａと通信可能に接続している。また、制御装置１ａは、制御装置１、ドライバ５およびタッチパネル６ａと通信可能に接続している。カウンタユニット３は手動パルス発生器２と通信可能に接続しており、ドライバ５は、モータ４と通信可能に接続している。これらの機器は、任意の有線接続方式または無線接続方式により通信接続されている。本実施形態では、制御装置１とカウンタユニットとの接続、および、制御装置１ａとドライバ５との接続は、EtherCAT（登録商標）により通信接続されている。また、制御装置１と制御装置１ａとは、Ethernet（登録商標）により通信接続されている。
【０１１７】
大型の産業機械など、手動パルス発生器２とモータ４（移動する部材）とが離れている場合、図１７に示すように、複数の制御装置１および１ａを分散して配置してもよい。この場合、制御装置１はカウンタユニットから主軸信号を取得し、取得した主軸信号を制御装置１ａに出力する。制御装置１ａは、制御装置１から取得した主軸信号に基づいて、制御信号を生成し、ドライバ５に制御信号を出力する。
【０１１８】
図１８に基づいて、制御装置１ａに接続するタッチパネル６ａに表示される画面について説明する。図１８は、タッチパネル６ａに表示される画面例を示す図である。
【０１１９】
図１８に示すように、タッチパネル６ａは、分散型の制御システム１０ｂの概略構成、手動パルス発生器２が出力したパルス数、モータ４により移動した部材の位置等を表示してもよい。このように表示することで、操作者等は、手動パルス発生器２またはモータ４（部材）から離れた場所にいても制御システム１０ｂの状態を確認することができる。
【０１２０】
なお、制御装置１にタッチパネル６が接続されており、タッチパネル６が図１８に示す画面等を表示してもよい。
【０１２１】
＜ソフトウェアによる実現例＞
制御装置１の制御ブロック（特に制御部１１）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１２２】
後者の場合、制御装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、前記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、前記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１２３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１２４】
本発明は、主軸の操作に応じて従軸を制御する制御装置に利用することができる。
【符号の説明】
【０１２５】
１  制御装置
２  手動パルス発生器（主軸）
３  カウンタユニット
４  モータ（従軸）
５  ドライバ
６  タッチパネル（入力装置、表示装置）
７  端末装置（入力装置）
８  ボールネジ（部材）
９  産業機械
１０  制御システム
２１  取得部
２２  位置特定部
２３  出力部
３１  第１位置特定部
３２  第２位置特定部
４１  第１単位変換部（単位変換部）
４２  第１算出部
４３  第２算出部
４４  第３算出部
４５  第４算出部
４６  決定部
【図１】
0006582521.tif 000004
【図２】
0006582521.tif 000005
【図３】
0006582521.tif 000006
【図４】
0006582521.tif 000007
【図５】
0006582521.tif 000008
【図６】
0006582521.tif 000009
【図７】
0006582521.tif 000010
【図８】
0006582521.tif 000011
【図９】
0006582521.tif 000012
【図１０】
0006582521.tif 000013
【図１１】
0006582521.tif 000014
【図１２】
0006582521.tif 000015
【図１３】
0006582521.tif 000016
【図１４】
0006582521.tif 000017
【図１５】
0006582521.tif 000018
【図１６】
0006582521.tif 000019
【図１７】
0006582521.tif 000020
【図１８】
0006582521.tif 000021