(57)【特許請求の範囲】
【請求項１】
数値制御装置と、該数値制御装置に接続された一つまたは複数のＩＯユニットを有し、前記数値制御装置と前記ＩＯユニットとの間でシリアル通信により入出力信号の授受を行う数値制御システムにおいて、
前記シリアル通信において、前記数値制御装置からのデータの受信をもって前記ＩＯユニットが数値制御装置への返信を開始し、
前記ＩＯユニットは、
入力信号をトリガとして時間計測を開始する時間計測手段と、
前記入力信号の入力を示すフラグと前記ＩＯユニットの返信開始時における前記時間計測手段の計測値を前記数値制御装置に送信するシリアル通信部を備え、
前記数値制御装置は、
前記シリアル通信を通じて入力された前記フラグ及び前記計測値を取得する取得部と、
時刻を計時するタイマと、
前記タイマにより計時された時刻と前記計測値を基に演算することにより前記入力信号の入力時刻を算出する入力時刻算出部と、
を備えたことを特徴とする数値制御システム。
【請求項２】
前記入力時刻算出部は、前記数値制御装置と前記ＩＯユニットとの通信遅れ時間を基に更に演算し前記入力信号の入力時刻を算出することを特徴とする請求項１に記載の数値制御システム。
【請求項３】
前記数値制御装置は、前記シリアル通信による前記数値制御装置と前記ＩＯユニットの通信遅れ時間を計測する遅れ時間計測部を備えたことを特徴する請求項２に記載の数値制御システム。
【請求項４】
複数のＩＯユニットが前記数値制御装置にチェーン式に接続されているときＩＯユニットと該ＩＯユニットと隣接するＩＯユニットとの通信遅れ時間を基に更に演算し前記入力信号の入力時刻を算出することを特徴とする請求項２または３の何れか一つに記載の数値制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＯユニットにより時間計測を行う数値制御システムに関する。
【背景技術】
【０００２】
数値制御工作機械の送り軸の軸移動部にタッチセンサを装備し、送り軸を制御することによりタッチセンサを計測対象物に接触させ、その際のタッチセンサからの信号を利用して計測を行う数値制御工作機械の機内計測機能が実用化されている。この機内計測機能は、送り軸を移動させてタッチセンサを計測対象物に接触させた時に、タッチセンサの出力がＯＦＦからＯＮになるタイミングを数値制御装置が知ることで、対象物の計測を行っている（特許文献１参照）。このような機能を実現するには、何らかの手段を通じてタッチセンサ出力を数値制御装置にＤＩ信号として入力することが必要になる。  
上記のタッチセンサ用の信号に限らず、通常このような信号の入力は、数値制御装置上に設けられたＤＩ信号の入力インターフェースを通じて行われることが多い。
【０００３】
ところで、数値制御装置（ＣＮＣ）と工作機械との間でＤＩ／ＤＯ信号（入力信号／出力信号）の入出力を行うために、外部信号入出力用ユニット（ＩＯユニット）を複数台接続する構成がとられており、通常、数値制御装置とＩＯユニット間では、ＤＩ／ＤＯ信号の転送が行われている。このＩＯユニットに前述のタッチセンサ出力を入力すれば、数値制御装置上に設けられたＤＩ信号のインターフェースに入力する場合に比べてより自由な構成／配線が可能になる。
【０００４】
しかしながら、一定時間内に所定の処理を行う必要のある数値制御装置の性質上、前述のＤＩ／ＤＯ信号の転送は一定周期で行われる形態をとることが多く、そのような場合において前述のタッチセンサ出力をＩＯユニットを通して数値制御装置に入力すると、タッチセンサ出力の更新は転送周期毎になってしまう。従って、より精度の高い計測を行うためには、何らかの工夫が必要になる。これに対処する技術が特許文献２、３に開示されている。特許文献２には、ＩＯユニットがＤＩ信号の入力をトリガとしてイベントドリブンな通信を数値制御装置に対して行う、という技術が開示されている。また、特許文献３には、それぞれのＩＯユニットが内部に時刻をカウントするタイマを備えており、通信プロトコルによりそれらタイマの同期をとる、という技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−６６８２０号公報
【特許文献２】特開平６−１４９３２０号公報
【特許文献３】特許第３８７８３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
背景技術で説明した特許文献２に開示される技術では、周期転送に割り込んで通信を発生されることになり、これを実現するには複雑な調停回路や優先順位設定を必要とする上、割り込みを見込んで転送の周期を決定する、あるいは固定周期での転送をやめる代わりにタイマ回路等を用いた特殊なプロトコルや処理シーケンスを通じて転送周期を一定化する、といった複雑で高度な設計を必要とした。また、特許文献３に開示される技術では、ＩＯユニット側が自身でタイマを持つのは回路規模の増大を招くので、低コストが厳しく要求されるＩＯユニットでは不利になってしまう。  
そこで本発明は、上記従来技術の問題点に鑑み、ＩＯユニットにより時間計測を行いより精度の高い機内計測を行うことが可能な数値制御システムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、数値制御装置と、該数値制御装置に接続された一つまたは複数のＩＯユニットを有し、前記数値制御装置と前記ＩＯユニットとの間でシリアル通信により入出力信号の授受を行う数値制御システムにおいて、前記シリアル通信において、前記数値制御装置からのデータの受信をもって前記ＩＯユニットが数値制御装置への返信を開始し、前記ＩＯユニットは、入力信号をトリガとして時間計測を開始する時間計測手段と、前記入力信号の入力を示すフラグと前記ＩＯユニットの返信開始時における前記時間計測手段の計測値を前記数値制御装置に送信するシリアル通信部を備え、前記数値制御装置は、前記シリアル通信を通じて入力された前記フラグ及び前記計測値を取得する取得部と、時刻を計時するタイマと、前記タイマにより計時された時刻と前記計測値を基に演算することにより前記入力信号の入力時刻を算出する入力時刻算出部と、を備えたことを特徴とする数値制御システムである。
請求項２に係る発明は、前記入力時刻算出部は、前記数値制御装置と前記ＩＯユニットとの通信遅れ時間を基に更に演算し前記入力信号の入力時刻を算出することを特徴とする請求項１に記載の数値制御システムである。  
請求項３に係る発明は、前記数値制御装置は、前記シリアル通信による前記数値制御装置と前記ＩＯユニットの通信遅れ時間を計測する遅れ時間計測部を備えたことを特徴する請求項２に記載の数値制御システムである。  
請求項４に係る発明は、複数のＩＯユニットが前記数値制御装置にチェーン式に接続されているときＩＯユニットと該ＩＯユニットと隣接するＩＯユニットとの通信遅れ時間を基に更に演算し前記入力信号の入力時刻を算出することを特徴とする請求項２または３の何れか一つに記載の数値制御システムである。
【発明の効果】
【０００８】
本発明により、ＩＯユニットにより時間計測を行いより精度の高い機内計測を行うことが可能な数値制御システムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る数値制御システムを説明するブロック図である。
【図２】本発明を説明するタイムチャートである。
【図３】タッチセンサがワークに接触しトリガとなるＤＩ信号を出力することを説明する図である。
【図４】数値制御装置側の処理を説明するフローチャートである。
【図５】ＩＯユニット側の処理を説明するフローチャートである。
【図６】複数のＩＯユニットがデージチェーン式に数値制御装置に接続された数値制御システムを説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面と共に説明する。  
図１に示されるように、ＩＯユニットにより時間計測を行う数値制御システムは、数値制御装置１０、通信線２０、およびＩＯユニット３０を備えている。複数台のＩＯユニット３０が数値制御装置１０を中心としてスター状に接続されるシステムあるいはチェーン式に接続されるシステム（図６参照）であってもよい。
【００１１】
数値制御装置１０は、プロセッサ（ＣＰＵ）１１、データバッファ（ＤＯ）１２、データバッファ（ＤＩ）１３、時刻をカウントするリアルタイムクロックなどのタイマ１４を備える。ＩＯユニット３０は、プロセッサ（ＣＰＵ）３１、データバッファ（ＤＯ）３２、データバッファ（ＤＩ）３３、カウンタ３４、レシーバ３５を備える。カウンタ３４はトリガとなるＤＩ信号が入力するとカウントを開始する。数値制御装置１０とＩＯユニット３０とは通信線２０を介してシリアルデータ通信を行う。数値制御装置１０とＩＯユニット３０は固定周期でデータの転送を行っている。
【００１２】
ＩＯユニット３０に、例えばタッチセンサ４０（図３参照）からトリガとなるＤＩ信号が入力されると、ＩＯユニット３０のカウンタ３４はカウントを開始する。トリガとなるＤＩ信号はタッチセンサ４０に限定されない。数値制御装置１０はシリアルデータ（ＤＯデータ）を通信線２０を介してＩＯユニット３０に送信する。ＩＯユニット３０は数値制御装置１０からシリアルデータ（ＤＯデータ）を受信すると、シリアルデータ（ＤＩデータ）を数値制御装置１０に返信する。カウンタ３４はこのシリアルデータ（ＤＩデータ）の返信開始をもってカウントを停止し、この時のカウンタ３４の値とトリガとなるＤＩ信号が入力されたこと示すフラグを、シリアルデータ（ＤＩデータ）としてシリアルデータ通信により通信線２０を介して数値制御装置１０に返信する。
【００１３】
一方、ＩＯユニット３０からシリアルデータを受信した数値制御装置１０は、ＤＩデータの中に前述のフラグを識別すると、数値制御装置１０が持つタイマ１４の時刻の値から受信したＤＩデータに含まれるカウンタ３４のカウンタ値と予め計測しておいた通信遅れ時間の値を減算手段にて減算することによって、ＩＯユニット３０にトリガとなるＤＩ信号が入力した正確な時刻を特定できる。
【００１４】
本方法によれば、ＩＯユニット３０に必要となるハードウェア（回路）は、時刻をカウントするタイマではなく、トリガとなるＤＩ信号が入力されてから数値制御装置１０への返信開始までを計測するカウンタ３４である。このカウンタ３４は数値制御装置１０とＩＯユニット３０の固定転送周期分の長さをカウントできればよく、時刻をカウントするリアルタイムクロックなどのタイマに比べて小さい回路規模で計測システムを実現可能である。
【００１５】
図２は本発明を説明するタイムチャートである。数値制御装置１０に備わったタイマ１４は時々刻々，現在の時刻を計時している。ＩＯユニット３０に備わったカウンタ３４はトリガとなるＤＩ信号がＩＯユニット３０（レシーバ３５）に入力したときにカウントを開始する。  
数値制御装置１０はＩＯユニット３０に対して周期的にＤＯデータを送信している。ＩＯユニット３０は数値制御装置１０からＤＯデータを受信すると、シリアルデータ（ＤＩデータ）を数値制御装置１０に返信する。ＩＯユニット３０はこのシリアルデータ（ＤＩデータ）の返信開始をもってカウンタ３４のカウントを停止する。この時のカウンタ３４のカウンタ値とトリガになるＤＩ信号が入力されたことを示すフラグを、シリアルデータ（ＤＩデータ）として通信線２０を介してシリアル通信により数値制御装置１０に返信する。  
一方、これを受信した数値制御装置１０は、タイマ１４により計時される時刻の値からＤＩデータに含まれるカウンタ３４の値と予め計測しておいた通信遅れ時間の値を減算手段により減算し、ＩＯユニット３０にトリガとなるＤＩ信号が入力された時間を得る。
【００１６】
図３はタッチセンサがワークに接触しトリガとなるＤＩ信号を出力することを説明する図である。図示しない工作機械にタッチセンサなどの機内計測装置が取り付けられ、機内計測が実行される場合、ワーク４４に対してタッチセンサ４０が相対的に移動し、タッチセンサ４０の接触子４２の先端部がワーク４４に接触すると、タッチセンサ４０からトリガとなるＤＩ信号が出力される。図１においてＩＯユニット３０のレシーバ３５に入力するトリガとなるＤＩ信号の一例は、図３に示されるタッチセンサ４０から出力される信号である。
【００１７】
次に、図４と図５のフローチャートを用いて数値制御装置とＩＯユニットにおける処理を説明する。  
図４により数値制御装置側の処理を説明する。以下、各ステップに従って説明する。  
●［ステップＳＡ０１］ＩＯユニットから送信されるＤＩデータの受信処理を行う。  
●［ステップＳＡ０２］ＤＩデータにトリガとなるＤＩ信号入力フラグが含まれるか否か判断し、ＤＩ信号入力フラグが含まれない場合には処理を終了し、ＤＩ信号入力フラグが含まれる場合にはステップＳＡ０３に移行する。  
●［ステップＳＡ０３］ＤＩデータに含まれるカウンタ値を取得する。  
●［ステップＳＡ０４］タイマの時刻情報を取得する。  
●［ステップＳＡ０５］予め計測され設定され数値制御装置内のメモリに記憶された通信遅れ時間データを読み込む。  
●［ステップＳＡ０６］ＩＯユニットへのトリガとなるＤＩ信号の入力した時刻情報を算出する。時刻ａ＝時刻ｂ―時間ｃ―時間ｄにより求め、処理を終了する。ここで、時刻ａは求めるトリガとなるＤＩ信号が入力した時刻（入力時刻）である。時刻ｂはＩＯユニットからのＤＩ信号の受信が終了した時刻である。時刻ｂはタイマ１４により計時される時刻情報を用いて特定することができる。時間ｃはカウンタのカウンタ値である。時間ｄはＩＯユニットから数値制御装置に送信されるＤＩ信号の長さ（時間）を含んだ通信遅れ時間である。  
なお、ステップＳＡ０１〜ＳＡ０３は請求項１のデータ取得部に対応し、ステップＳＡ０６は請求項１の入力時刻算出部に対応する。
【００１８】
次に、図５によりＩＯユニット側の処理を説明する。以下、各ステップに従って説明する。  
●［ステップＳＢ０１］トリガとなるＤＩ信号がＩＯユニットに入力したか否か判断し、入力があった時にステップＳＢ０２へ移行し、ないときにはトリガとなる信号が入力するのを待つ。  
●［ステップＳＢ０２］カウンタのカウントを開始する。  
●［ステップＳＢ０３］数値制御装置から送信されるＤＯ信号があるかないかを判断し、ＤＯ信号が入力するのを待ってステップＳＢ０４へ移行する。  
●［ステップＳＢ０４］シリアルデータ通信によりＤＩデータの返信を開始する。  
●［ステップＳＢ０５］カウンタのカウントを停止する。  
●［ステップＳＢ０６］ＩＯユニットへのトリガとなるＤＩ信号の入力があったことを示すＤＩ信号入力フラグとカウンタのカウンタ値のデータを含むＤＩデータを数値制御装置に送信し、処理を終了する。  
なお、ステップＳＢ０６は請求項１におけるシリアル通信部に対応する。また、ステップＳＢ０３は請求項５のデータの受信に対応する。
【００１９】
図６は複数のＩＯユニットがチェーン式に数値制御装置に接続された数値制御システムを説明する図である。任意のＩＯユニット間もシリアルデータ通信が行われる。図６に示されるＩＯユニットにより時間計測を行う数値制御システムにおいては、数値制御装置１０とＩＯユニット３０の間の通信遅れの時間と共にＩＯユニット３０，３０間の通信遅れの時間も考慮する必要がある。そこで、トリガとなるＤＩ信号が入力するＩＯユニット３０から経由するＩＯユニットを含めて数値制御装置１０までの間の通信時間の遅れを予め計測し、数値制御装置内のメモリに記憶しておく。ここで通信時間の遅れは、例えば、数値制御装置１０からＩＯユニット３０にダミーの信号を出力し、ＩＯユニット３０からそのダミーの信号に対する返信を数値制御装置１０に行い、返信までの時間を計測することによって通信時間の遅れを計測することができる（請求項３の遅れ時間計測部に対応する）。
【符号の説明】
【００２０】
１０  数値制御装置
１１  プロセッサ（ＣＰＵ）
１２  データバッファ（ＤＯ）
１３  データバッファ（ＤＩ）
１４  タイマ
２０  通信線
３０  ＩＯユニット
３１  プロセッサ（ＣＰＵ）
３２  データバッファ（ＤＯ）
３３  データバッファ（ＤＩ）
３４  カウンタ
３５  レシーバ
４０  タッチセンサ
４２  接触子
４４  ワーク
【図１】
0005351301.tif 000002
【図２】
0005351301.tif 000003
【図３】
0005351301.tif 000004
【図４】
0005351301.tif 000005
【図５】
0005351301.tif 000006
【図６】
0005351301.tif 000007