(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】数値制御装置、数値制御装置の制御方法、及び工作機械
(51)【国際特許分類】
G05B 19/414 20060101AFI20240925BHJP
【FI】
G05B19/414 R
(21)【出願番号】P 2020113256
(22)【出願日】2020-06-30
【審査請求日】2023-02-24
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】宮越 喜浩
(72)【発明者】
【氏名】久野 剛司
【審査官】山本 忠博
(56)【参考文献】
【文献】特開2004-227261(JP,A)
【文献】特開2003-152748(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416,19/42-19/46;
H04L 12/00-12/66
(57)【特許請求の範囲】
【請求項1】
シリアル通信で通信し、且つ、互いに同期をとって動作可能な複数の機器を通信制御する制御部を備えた数値制御装置において、
前記制御部は、
前記複数の機器のうち、第一通信周期で且つ互いに同期をとって動作する複数の第一機器を直列に接続した第一系統と、
前記複数の機器のうち、前記第一通信周期よりも長い第二通信周期で且つ互いに同期をとって動作する複数の第二機器を直列に接続した第二系統と
に夫々並列に接続し、
前記第一系統を前記第一通信周期にて制御し、且つ前記第二系統を前記第二通信周期にて制御する通信制御部
を備え
、
前記シリアル通信はイーサキャットによる通信であり、
前記通信制御部は、前記第一系統との同期制御開始時期と、前記第二系統との同期制御開始時期とを調整する調整制御処理を実行し、
前記通信制御部は、前記調整制御処理において、
前記複数の第一機器の何れか一つが発生する信号であり、前記制御部と前記第一系統との同期制御開始時期を示す第一信号を取得する第一取得処理と、
前記複数の第二機器の何れか一つが発生する信号であり、前記制御部と前記第二系統との同期制御開始時期を示す第二信号を取得する第二取得処理と、
前記第一取得処理にて取得した前記第一信号と前記第二取得処理にて取得した前記第二信号とに基づき、夫々の同期制御開始時期の差分値を取得する差分値取得処理と、
前記差分値取得処理にて取得した前記差分値に基づき、前記第二系統との同期制御開始時期が前記第一系統との同期制御開始時期と同期するように、前記第二系統との同期制御開始時期を設定する時期設定処理とを実行することを特徴とする数値制御装置。
【請求項2】
前記数値制御装置は、工具を装着した主軸と被削材を相対的に移動することで前記被削材を加工する工作機械の動作を制御するものであって、
前記複数の第一機器は、前記被削材の加工に伴い制御する機器であり、
前記複数の第二機器は、前記被削材の加工に伴わない機器である
ことを特徴する請求項
1に記載の数値制御装置。
【請求項3】
前記複数の第一機器は、前記工具を装着した前記主軸を回転駆動する主軸モータを制御する主軸アンプ、及び前記主軸と前記被削材を相対的に位置決めする為の位置決めモータを制御する位置決めアンプを備え、
前記複数の第二機器は、前記被削材との接触又は非接触を検出するプローブからの接触情報を含む第一情報を出力する第一基板、前記工作機械の安全性を監視する為の第二情報を出力する第二基板、前記工作機械の操作パネルの操作結果を示す第三情報を出力する第三基板を備えた
ことを特徴する請求項
2に記載の数値制御装置。
【請求項4】
シリアル通信で通信し、且つ、互いに同期をとって動作可能な複数の機器を通信制御する制御部を備えた数値制御装置の制御方法において、
前記制御部
が、
前記複数の機器のうち、第一通信周期で且つ互いに同期をとって動作する複数の第一機器を直列に接続した第一系統と、
前記複数の機器のうち、前記第一通信周期よりも長い第二通信周期で且つ互いに同期をとって動作する複数の第二機器を直列に接続した第二系統と
に夫々並列に接続し、
前記第一系統を前記第一通信周期にて制御し、且つ前記第二系統を前記第二通信周期にて制御する通信制御ステップを
有し、
前記シリアル通信はイーサキャットによる通信であり、
前記通信制御ステップは、更に、前記第一系統との同期制御開始時期と、前記第二系統との同期制御開始時期とを調整する調整制御ステップを有し、
前記調整制御ステップは、
前記複数の第一機器の何れか一つが発生する信号であり、前記制御部と前記第一系統との同期制御開始時期を示す第一信号を取得する第一取得ステップと、
前記複数の第二機器の何れか一つが発生する信号であり、前記制御部と前記第二系統との同期制御開始時期を示す第二信号を取得する第二取得ステップと、
前記第一取得ステップにて取得した前記第一信号と前記第二取得ステップで取得した前記第二信号とに基づき、夫々の同期制御開始時期の差分値を取得する差分値取得ステップと、
前記差分値取得ステップにて取得した前記差分値に基づき、前記第二系統との同期制御開始時期が前記第一系統との同期制御開始時期と同期するように、前記第二系統との同期制御開始時期を設定する時期設定ステップとからなることを特徴とする数値制御装置の制御方法。
【請求項5】
工具を装着した主軸と被削材を相対的に移動することで前記被削材を加工する工作機械において、
請求項1~
3の何れか一つに記載の数値制御装置を備えたことを特徴とする工作機械。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置、数値制御装置の制御方法、及び工作機械に関する。
【背景技術】
【0002】
特許文献1に記載の工作機械はCNC装置、複数のサーボアンプ等を直列に接続するディジーチェーン方式で接続する。CNC装置は、複数のサーボアンプが夫々接続する各サーボモータの位置を読み出す位置読み出し指令の同期信号を、各サーボアンプへ送信する。同期信号はCNC装置から各サーボアンプまで伝送線路を伝搬する時、伝搬遅延が発生する。CNC装置は伝搬遅延を補正する。CNC装置は、同一時刻の各サーボモータの位置を検出する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記工作機械の同期方法は、CNC装置との通信周期が長く、且つ、データ量の多い通信を実行する機器を更にサーボアンプに直列接続した場合、直列接続した機器のデータ通信の時間を確保する為、通信周期を長く設定する必要がある。この場合、工作機械は、直列接続した機器の為に長く設定した通信周期の経過を待つ必要があるので、サーボアンプとの通信周期をより短く設定できないという問題点があった。工作機械は、より短い通信周期での機器との通信を実行できないので、複数の機器と効率よく通信し且つ高精度に機器を制御できないという問題点があった。
【0005】
本発明の目的は、複数の機器と効率よく通信し、且つ高精度に制御ができる数値制御装置、数値制御装置の制御方法、及び工作機械を提供することである。
【0006】
請求項1の数値制御装置は、シリアル通信で通信し、且つ、互いに同期をとって動作可能な複数の機器を通信制御する制御部を備えた数値制御装置において、前記制御部は、前記複数の機器のうち、第一通信周期で且つ互いに同期をとって動作する複数の第一機器を直列に接続した第一系統と、前記複数の機器のうち、前記第一通信周期よりも長い第二通信周期で且つ互いに同期をとって動作する複数の第二機器を直列に接続した第二系統とに夫々並列に接続し、前記第一系統を前記第一通信周期にて制御し、且つ前記第二系統を前記第二通信周期にて制御する通信制御部を備えたことを特徴とする。数値制御装置は、第一系統と第二系統とが制御部に対して並列に接続する。数値制御装置は、第一系統を第一通信周期にて制御し、第二系統を第二通信周期にて制御可能である。故に数値制御装置は、通信周期の異なる第一系統と第二系統の複数の機器と効率よく通信できる。数値制御装置は、通信周期の短い複数の第一機器と通信するので、複数の第一機器を高精度に制御できる。
【0007】
請求項2の数値制御装置は、前記シリアル通信はイーサキャットによる通信でもよい。数値制御装置は、イーサキャットにより、第一系統の機器が互いに同期をとってシリアル通信でき、且つ第二系統の機器が互いに同期をとってシリアル通信できる。
【0008】
請求項3の数値制御装置では、前記通信制御部は、前記第一系統との同期制御開始時期と、前記第二系統との同期制御開始時期とを調整する調整制御部を備えてもよい。数値制御装置は、第一系統と第二系統との同期をとる必要がある場合、同期制御開始時期を調整することで高精度に通信できる。
【0009】
請求項4の数値制御装置では、前記調整制御部は、前記複数の第一機器の何れか一つが発生する信号であり、前記制御部と前記第一系統との同期制御開始時期を示す第一信号を取得する第一取得部と、前記複数の第二機器の何れか一つが発生する信号であり、前記制御部と前記第二系統との同期制御開始時期を示す第二信号を取得する第二取得部と、前記第一取得部が取得した前記第一信号と前記第二取得部が取得した前記第二信号とに基づき、夫々の同期制御開始時期の差分値を取得する差分値取得部と、前記差分値取得部が取得した前記差分値に基づき、前記第二系統との同期制御開始時期が前記第一系統との同期制御開始時期と同期するように、前記第二系統との同期制御開始時期を設定する時期設定部を備えてもよい。数値制御装置は、取得した差分値に基づき第二系統との同期制御開始時期を設定することで、第一系統と第二系統との同期制御開始時期を同期できる。
【0010】
請求項5の数値制御装置は、前記数値制御装置は、工具を装着した主軸と被削材を相対的に移動することで前記被削材を加工する工作機械の動作を制御するものであって、前記複数の第一機器は、前記被削材の加工に伴い制御する機器であり、前記複数の第二機器は、前記被削材の加工に伴わない機器であってもよい。数値制御装置は、被削材の加工に伴い制御する複数の第一機器と効率よく通信できる。
【0011】
請求項6の数値制御装置は、前記複数の第一機器は、前記工具を装着した前記主軸を回転駆動する主軸モータを制御する主軸アンプ、及び前記主軸と前記被削材を相対的に位置決めする為の位置決めモータを制御する位置決めアンプを備え、前記複数の第二機器は、前記被削材との接触又は非接触を検出するプローブからの接触情報を含む第一情報を出力する第一基板、前記工作機械の安全性を監視する為の第二情報を出力する第二基板、前記工作機械の操作パネルの操作結果を示す第三情報を出力する第三基板を備えてもよい。数値制御装置は、主軸アンプと位置決めアンプと効率よく通信できる。
【0012】
請求項7の数値制御装置の制御方法は、シリアル通信で通信し、且つ、互いに同期をとって動作可能な複数の機器を通信制御する制御部を備えた数値制御装置の制御方法において、前記制御部は、前記複数の機器のうち、第一通信周期で且つ互いに同期をとって動作する複数の第一機器を直列に接続した第一系統と、前記複数の機器のうち、前記第一通信周期よりも長い第二通信周期で且つ互いに同期をとって動作する複数の第二機器を直列に接続した第二系統とに夫々並列に接続し、前記第一系統を前記第一通信周期にて制御し、且つ前記第二系統を前記第二通信周期にて制御する通信制御ステップを備えたことを特徴とする。数値制御装置は上記ステップを実行することにより、請求項1に記載の数値制御装置と同じ効果を得ることができる。
【0013】
請求項8の工作機械は、工具を装着した主軸と被削材を相対的に移動することで前記被削材を加工する工作機械において、請求項1~6の何れか一つに記載の数値制御装置を備えたことを特徴とする。工作機械は、上記数値制御装置と同じ効果を得ることができる。
【図面の簡単な説明】
【0014】
【
図3】FPGA77が処理する第一信号SYNC01と第二信号SYNC02との関係を示す図。
【
図4】第一の方法で同期制御開始時刻を再設定した場合のCPU31の負荷を示す図。
【
図5】第二の方法で同期制御開始時刻を再設定した場合のCPU31の負荷を示す図。
【発明を実施するための形態】
【0015】
本発明の実施形態を説明する。以下記載するシステムの構成、処理等は、特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。図面は、本発明が採用しうる技術的特徴を説明する為に用いられるものである。工作機械1のX軸方向、Y軸方向、Z軸方向は互いに直交する。
【0016】
図1、
図2を参照し、工作機械1を説明する。工作機械1は、例えばテーブル上面に保持した被削材に対し、Z軸方向に延びる主軸に装着した工具をX軸方向、Y軸方向、Z軸方向に移動して加工(例えばドリル加工、タップ加工、側面加工等)を行う縦型工作機械である。工作機械1は図示しない主軸機構、主軸移動機構等を備える。工作機械1は、主軸移動機構により、工具を装着した主軸と被削材を相対的に移動することで被削材を加工する。
【0017】
図1を参照し、工作機械1の電気的構成を説明する。
図1に示す如く、工作機械1は数値制御装置29、第一系統SYS1、第二系統SYS2、主軸モータ51、X軸モータ52、Y軸モータ53、Z軸モータ54等を備える。数値制御装置29はコントローラ21を備える。コントローラ21は、CPU31、ROM32、RAM33、記憶装置39等を備える。CPU31は後述の同期制御処理を実行する。ROM32は同期制御処理を行うプログラムを記憶する。RAM33は種々のデータ等を一時的に記憶する。記憶装置39は、被削材の加工を行う加工プログラム等を記憶する。
【0018】
CPU31はFPGA77に接続する。FPGA77は、経路L1を介して主軸アンプ201と接続し、経路L2を介してIO基板301と接続する。FPGA77は、主軸アンプ201、IO基板301が出力する後述の第一信号SYNC01と第二信号SYNC02の信号処理を行う。
【0019】
CPU31は経路L3を介して第一系統SYS1に接続する。第一系統SYS1は、主軸アンプ201、X軸アンプ202、Y軸アンプ203、Z軸アンプ204を備える。第一系統SYS1は、主軸アンプ201、X軸アンプ202、Y軸アンプ203、Z軸アンプ204が直列に接続する。
【0020】
主軸アンプ201、X軸アンプ202、Y軸アンプ203、Z軸アンプ204は、被削材の加工に伴い制御する機器である。主軸アンプ201、X軸アンプ202、Y軸アンプ203、Z軸アンプ204は、制御対象である主軸モータ51、X軸モータ52、Y軸モータ53、Z軸モータ54に夫々接続する。主軸アンプ201は、工具を装着した主軸を回転駆動する主軸モータ51を制御する。X軸アンプ202、Y軸アンプ203、Z軸アンプ204は、主軸と被削材を相対的に位置決めする為のX軸モータ52、Y軸モータ53、Z軸モータ54(以下、総称して「位置決めモータ」ともいう)を制御する。
【0021】
主軸モータ51、X軸モータ52、Y軸モータ53、Z軸モータ54はエンコーダ51A~54Aを備える。エンコーダ51A~54Aは主軸モータ51、X軸モータ52、Y軸モータ53、Z軸モータ54等の駆動軸の回転位置等を検出し、検出結果を各アンプ201~204に夫々出力する。CPU31は各アンプ202~204によるエンコーダ52A~54Aの回転位置等の検出結果に基づき位置決めモータのX、Y、Z軸の座標値を検出可能である。X、Y、Z軸の座標値は、例えば主軸の位置情報である。CPU31は、シリアル通信により、主軸アンプ201によるエンコーダ51Aの回転位置等の検出結果に基づき主軸モータ51の回転位置を検出可能である。CPU31は、該位置情報等に基づき、各アンプ201~204を制御して被削材の加工を行う。
【0022】
CPU31は、経路L4を介して第二系統SYS2に接続する。第二系統SYS2は、IO基板301、IL基板302、KEY基板303等が直列に接続する。第一系統SYS1と第二系統SYS2とは、CPU31に並列に接続する。
【0023】
第二系統SYS2は、被削材の加工に伴わない機器で構成している。IO基板301は、例えば被削材の形状計測時、被削材との接触又は非接触を検出するプローブ(図示略)からの接触情報を含む第一情報を受信する。IO基板301は、通信指令に応じてプローブからの接触情報を含む第一情報をCPU31に出力する。IL基板302は、工作機械1の安全性を監視する為の第二情報を受信し、通信指令に応じてCPU31に出力する。第二情報は、例えばドアの開閉を検知するセンサ(図示略)が出力する開閉情報である。第二情報は、例えばインターロック機構のロック状態又はロック解除状態の情報も含む。KEY基板303は、工作機械1の操作パネル(図示略)の操作結果を示す第三情報を受信し、通信指令に応じて第三情報をCPU31に出力する。
【0024】
CPU31は、イーサキャット(Ether CAT:Ether for Control Automation Technology)(登録商標)により、第一系統SYS1及び第二系統SYS2と夫々シリアル通信する。CPU31はホストとして機能し、第一系統SYS1、第二系統SYS2の機器を夫々スレーブ群として通信制御する。
【0025】
図2を参照し、同期制御処理を説明する。工作機械1の電源投入時、CPU31は、ROM32に記憶したプログラムを読み出し、同期制御処理を実行する。同期制御処理を実行すると、CPU31は、第一系統SYS1のスレーブ群の時刻を初期化する(S1)。CPU31は、第二系統SYS2のスレーブ群の時刻を初期化する(S3)。
【0026】
CPU31は、イーサキャットのDC機能を用いて、第一系統SYS1のスレーブ群の時刻同期を実施する(S5)。DC機能とは、マスタが専用の指令を夫々のスレーブに送信し、送信した指令に対する夫々のスレーブの応答結果から機器間の通信遅延情報を取得し、取得した通信遅延情報に基づいて夫々のスレーブの時計を補正することで、夫々のスレーブの時計を同期することをいう。第一系統SYS1の機器は、DC機能により、第一通信周期で且つ互いに同期をとって動作可能である。例えば、第一通信周期は1msec毎である。CPU31は、主軸アンプ201、X軸アンプ202、Y軸アンプ203、Z軸アンプ204について同期するので、被削材の加工に伴う第一系統SYS1が同期して通信できる。
【0027】
CPU31は、イーサキャットのDC機能を用いて、第二系統SYS2のスレーブ群の時刻同期を実施する(S7)。第二系統SYS2の機器は、DC機能により、第一通信周期よりも長い第二通信周期で且つ互いに同期をとって動作可能である。例えば、第二通信周期は4msec毎であり、通信データ量は第一系統SYS1よりも多い。CPU31は、IO基板301、IL基板302、KEY基板303について同期するので、被削材の加工に伴わない第二系統SYS2が同期して通信できる。
【0028】
CPU31は、第一系統SYS1のスレーブ群の同期制御を開始する(S9)。CPU31は第二系統SYS2のスレーブ群の同期制御を開始する(S11)。S9、S11の処理では、CPU31は、第一系統SYS1と第二系統SYS2に対して同期制御開始指令を出力するものとする。
【0029】
CPU31は、第一系統SYS1との同期制御開始時期を示す第一信号SYNC01(
図3参照)を取得する(S13)。第一信号SYNC01は、CPU31が第一系統SYS1に同期制御開始指令を出力した時に、第一系統SYS1の最初のスレーブである主軸アンプ201が発生する信号である。エッジ時刻t1は、第一信号SYNC01が立ち上がる時刻であり、第一系統SYS1との同期制御開始時期を示す。この時、主軸アンプ201は、FPGA77に対して第一信号SYNC01を出力する。
【0030】
CPU31は、第二系統SYS2との同期制御開始時期を示す第二信号SYNC02(
図3参照)を取得する(S15)。第二信号SYNC02は、CPU31が第二系統SYS2に同期制御開始指令を出力した時に、第二系統SYS2の最初のスレーブであるIO基板301が発生する信号である。エッジ時刻t2は、第二信号SYNC02が立ち上がる時刻であり、第二系統SYS2との同期制御開始時期を示す。IO基板301は、FPGA77に対しても第二信号SYNC02を出力する。
【0031】
CPU31は、取得した第一信号SYNC01と第二信号SYNC02とに基づき、夫々の同期制御開始時期の差分値SB1(
図3参照)を取得する(S17)。差分値SB1は、FPGA77が演算する値であり、第一信号SYNC01のエッジ時刻t1と第二信号SYNC02のエッジ時刻t2との差分である。CPU31は、FPGA77が出力する差分値SB1を取得する。
【0032】
CPU31は、差分値SB1だけ同期制御がずれた状態であるので、第二系統SYS2のスレーブ群の同期制御を停止する(S19)。CPU31は、第一系統SYS1と第二系統SYS2との同期を行う為に第二系統SYS2のスレーブ群の第二信号SYNC02の発生時刻を再設定する(S21)。
【0033】
同期制御開始時期の再設定方法を説明する。本実施形態は2つの方法を説明する。第一の方法は同期制御開始時期を一致する方法である。CPU31は、第一系統SYS1と第二系統SYS2の夫々の同期制御開始時期について、第二信号SYNC02の立ち上がり時刻を差分値SB1が0となるように再設定する。第二信号SYNC02の立ち上がり時刻から差分値SB1を減算した時刻をCPU31は再設定する。CPU31は、再設定した同期制御開始時期に基づき、第二系統SYS2のスレーブ群の同期制御を開始する(S23)。CPU31は、処理を終了する。
【0034】
図4に示すように、CPU31は1msecの周期、つまり時刻t1、t2、t3、t4、t5毎にシリアル通信を実行して、第一系統SYS1を制御する。CPU31は、時刻t1、t5で第二系統SYS2を制御する。CPU31は、時刻t1、t5の4msec毎に、第一系統SYS1と第二系統SYS2とのデータを同時期に生成する。その際、差分値SB1が0となるように第二信号SYNC02を設定しているので、系統間の時刻ずれを補正する必要がなく平易に生成可能となる。
【0035】
第二の方法について説明する。第二の方法は差分値SB1を規定値に合わせる方法である。CPU31は、第二信号SYNC02の立ち上がり時刻が予め定めた規定値の分だけずれた状態となるように、第二系統SYS2との同期制御開始時期を再設定する。規定値は、例えば500μsecである。CPU31は、再設定した同期制御開始時期に基づき、第二系統SYS2のスレーブ群の同期制御を開始する(S23)。
【0036】
図5に示すように、CPU31は、差分値SB1を規定値の500μsecに合わせている。つまり、第二系統SYS2の同期制御開始時期は、第一系統SYS1の同期制御開始時期から500μsec遅れている。
【0037】
CPU31は、例えば1msecの周期、つまり時刻t1、t2、t3、t4、t5毎にシリアル通信を実行して、第一系統SYS1を制御する。CPU31は、4msec毎の周期、つまり時刻t1'、t4'毎にシリアル通信を実行して、第二系統SYS2を制御する。故に、第二の方法は、第一系統SYS1と第二系統SYS2のデータを同時期に生成することがないので、CPU31の負荷を低減できる。
【0038】
CPU31は、第一系統SYS1と第二系統SYS2とを同期して制御できる。例えばCPU31は、プローブを利用した被削材の形状計測を行う場合にも、第一系統SYS1と第二系統SYS2との同期制御を高精度に行うことができる。この場合、CPU31は、各アンプ201~204からの位置情報と、プローブからの接触情報である第一情報を同期して取得できるので、被削材の形状計測を高精度に実行できる。
【0039】
以上説明したように、第一系統SYS1は、第一通信周期で且つ互いに同期をとって動作する主軸アンプ201、X軸アンプ202、Y軸アンプ203、Z軸アンプ204を直列に接続する。第二系統SYS2は、第一通信周期よりも長い第二通信周期で且つ互いに同期をとって動作するIO基板301、IL基板302、KEY基板303等の機器を直列に接続する。CPU31は、第一系統SYS1と、第二系統SYS2とに夫々並列に接続する。CPU31は、第一系統SYS1を第一通信周期で制御し、第二系統SYS2を第二通信周期で制御する。故に、CPU31は、通信周期の異なる第一系統SYS1の機器と第二系統SYS2の機器と効率よく通信し、且つ高精度に制御できる。CPU31は、通信周期の遅い第二系統SYS2とは別に第一系統SYS1と通信可能となるので、第一系統SYS1を高精度に制御できる。CPU31は、第二系統SYS2の機器のように通信周期が遅い機器を第一系統SYS1に直列接続した場合に比べて、第一系統SYS1との通信周期をより短く設定できる。故に、CPU31は、第一系統SYS1と高速で通信可能となるので、第一系統SYS1を高精度に制御できる。
【0040】
シリアル通信はイーサキャットによる通信である。CPU31は、イーサキャットにより第一系統SYS1の機器が互いに同期をとってシリアル通信でき、且つイーサキャットにより第二系統SYS2の機器が互いに同期をとってシリアル通信できる。
【0041】
CPU31は、第一系統SYS1との同期制御開始時期と、第二系統SYS2との同期制御開始時期とを調整する。CPU31は、第一系統SYS1と第二系統SYS2との同期をとる必要がある場合に高精度に通信できる。
【0042】
CPU31は、第一系統SYS1との同期制御開始時期を示す第一信号SYNC01を取得する。第一信号SYNC01は、第一系統SYS1の主軸アンプ201が発生する信号である。CPU31は、第二系統SYS2との同期制御開始時期を示す第一信号SYNC01を取得する。CPU31は、第二系統SYS2のIO基板301が発生する信号である。CPU31は、取得した第一信号SYNC01と取得した第二信号SYNC02とに基づき、夫々の同期制御開始時期の差分値SB1を取得する。CPU31は、取得した差分値SB1に基づき、第二系統SYS2との同期制御開始時期が第一系統SYS1との同期制御開始時期と同期するように、第二系統SYS2との同期制御開始時期を設定する。CPU31は、取得した差分値SB1に基づき第二系統SYS2との同期制御開始時期を設定することで、第一系統SYS1と第二系統SYS2との同期制御開始時期を同期できる。
【0043】
CPU31は、工具を装着した主軸と被削材を相対的に移動することで被削材を加工する機械の動作を制御する。第一系統SYS1の機器は、被削材の加工に伴い制御する機器である。第二系統SYS2の機器は、被削材の加工に伴わない機器である。CPU31は、被削材の加工に伴い制御する第一系統SYS1との通信を効率よく実行できる。
【0044】
第一系統SYS1の主軸アンプ201は、工具を装着した主軸を回転駆動する主軸モータ51を制御する。第一系統SYS1のX軸アンプ202、Y軸アンプ203、Z軸アンプ204は、主軸と被削材を相対的に位置決めする為の位置決めモータを制御する。第二系統SYS2のIO基板301は、被削材との接触又は非接触を検出するプローブからの接触情報を含む第一情報を出力する。IL基板302は、工作機械1の安全性を監視する為の第二情報を出力する。KEY基板303は、工作機械1の操作パネルの操作結果を示す第三情報を出力する。故に、CPU31は、主軸アンプ201とX軸アンプ202、Y軸アンプ203、Z軸アンプ204との通信を効率よく実行でき、且つ各アンプを高精度に制御できる。
【0045】
本発明は上記実施形態に限らず各種変形が可能である。上記実施形態の工作機械1は、主軸がZ軸方向に延びる縦型工作機械であるが、本発明は主軸が水平方向に延びる横型工作機械にも適用できる。上記実施形態の工作機械1は、主軸が被削材に対して相対的に移動したがこれに限らない。工作機械1は、例えば被削材を固定したテーブルが移動するものであってもよい。
【0046】
図6に示すように、変形例の工作機械1Aは、FPGA77の代わりにASIC78を実装してもよい。ASIC78は、FPGA77が実行した処理を実行し、FPGA77と同様に差分値SB1を演算する。
図7に示す変形例の工作機械1Bは、FPGA77内部にCPU31Aを実装してもよい。CPU31Aは、CPU31が実行する処理を実行する。この場合、FPGA77内部の演算部77Aは差分値SB1を演算する。
【0047】
図8に示すように、変形例の工作機械1Cは、FPGA77内部に仮想スレーブSL1、SL2を実装してもよい。仮想スレーブSL1は、CPU31と主軸アンプ201に接続し、第一系統SYS1の最初のスレーブとして機能する。仮想スレーブSL1は、CPU31の同期制御開始指令を受信すると、第一信号SYNC01を発生する。仮想スレーブSL2は、CPU31とIO基板301に接続し、第二系統SYS2の最初のスレーブとして機能する。仮想スレーブSL2は、CPU31の同期制御開始指令を受信すると、第二信号SYNC02を発生する。FPGA77の演算部77Aは、発生した第一信号SYNC01と第二信号SYNC02に基づき差分値SB1を演算する。数値制御装置29は、仮想スレーブSL1、SL2をFPGA77内部に設けることで、上記実施形態に比べて通信経路を短く設定できる。従って、数値制御装置29は、通信経路長に起因した信号の伝搬誤差等が小さくなる。故に、数値制御装置29は、演算部77Aが演算する差分値SB1を高精度に演算できる。
【0048】
CPU31は、第一系統SYS1、第二系統SYS2との同期制御を実行したが、これに限らず3以上の系統において同期制御を実行してよい。第一系統SYS1の構成は上記実施形態に限らず、被削材を加工に伴う機器を更に備えてもよい。第二系統SYS2の構成は上記実施形態に限らず、被削材の加工に伴わない機器を更に備えてもよい。
【0049】
以上説明にて、数値制御装置29は本発明の制御部の一例である。主軸アンプ201、X軸アンプ202、Y軸アンプ203、Z軸アンプ204は複数の第一機器の一例である。IO基板301、IL基板302、KEY基板303は複数の第二機器の一例である。X軸アンプ202、Y軸アンプ203、Z軸アンプ204は位置決めアンプの一例である。IO基板301は第一基板の一例である。IL基板302は第二基板の一例である。KEY基板303は第三基板の一例である。
【0050】
S9、S11、S23の処理を実行するCPU31は本発明の通信制御部の一例である。S13の処理を実行するCPU31は本発明の第一取得部の一例である。S15の処理を実行するCPU31は本発明の第二取得部の一例である。S21の処理を実行するCPU31は本発明の調整制御部の一例である。S17の処理を実行するCPU31は本発明の差分値取得部の一例である。S21の処理を実行するCPU31は本発明の時期設定部の一例である。
【符号の説明】
【0051】
1、1A、1B、1C 工作機械
29 数値制御装置
31、31A CPU
32 ROM
33 RAM
77 FPGA
78 ASIC
201 主軸アンプ
202 X軸アンプ
203 Y軸アンプ
204 Z軸アンプ
301 IO基板
302 IL基板
303 KEY基板