以下、本発明の一実施形態である移設検出システム100について、図面を参照して説明する。
はじめに、移設検出システム100の構成について、図1を参照して説明する。移設検出システム100は、3つの数値制御装置1A,1B,1Cと、1つの移設検出装置20とを備えている。移設検出装置20は、振動を検知して移設検出装置20の移設を検出する移設検出器25(図2参照)を備えている。数値制御装置1A〜1Cは、各々工作機械(図示省略)に備え付けられており、NCプログラムを実行することで、前記工作機械(図1では省略)の動作を制御する。数値制御装置1A,1B,1Cは、配線11A,11B,11Cを介して、移設検出装置20に接続している。それ故、移設検出装置20は、数値制御装置1A〜1Cと通信可能である。移設検出装置20を収納する機枠201は、工場のフロア面に立設する柱91に固定している。
数値制御装置1A〜1Cは、配線11A〜11Cの届く範囲内であれば正常に稼動するので、同フロア内を移動できる。それ故、作業者は、数値制御装置1A〜1Cの同フロア内における配置変更が可能である。
次に、数値制御装置1Aの電気的構成について、図2を参照して説明する。数値制御装置1B,1Cの電気的構成は、数値制御装置1Aと同じであるので説明を省略する。数値制御装置1Aは、CPU5、ROM6、RAM7、フラッシュメモリ8、入出力インタフェイス9、AC/DC変換機10、通信距離測定回路11、インタフェイスモジュール12(以下、I/Fモジュール12と呼ぶ。)等を備えている。
ROM6は、メインプログラムに加え、後述する固有ID登録依頼プログラム、起動判定プログラム等を記憶する。固有ID登録依頼プログラム、起動判定プログラムは、コンピュータで読み取り可能な記憶媒体としてのフラッシュメモリ、EEPROM、HDD等に記憶させてもよい。フラッシュメモリ8は、数値制御装置1Aの固有の識別情報である固有IDと、移設検出装置20と数値制御装置1Aとの間の通信距離の基準である基準通信距離とを少なくとも記憶する。後述するが、基準通信距離は、移設検出システム100の設置時にCPU5によって算出される。
入出力インタフェイス9は、工作機械15の駆動部(図示省略)および操作盤(図示省略)に接続している。AC/DC変換機10は、外部の交流電源16に接続し、交流電源16が供給する交流を直流に変換する。AC/DC変換機10は、交流電源16の他に、移設検出装置20の移設検出インタフェイス33(以下、移設検出I/F33と呼ぶ。)にも接続している。通信距離測定回路11は、数値制御装置1Aと移設検出装置20との間の通信距離を測定する。I/Fモジュール12は、移設検出装置20の移設検出I/F33に接続している。
次に、移設検出装置20の電気的構成について、図2を参照して説明する。移設検出装置20は、CPU21、ROM22、RAM23、フラッシュメモリ24、移設検出器25、異常電圧検出回路26、スイッチ駆動回路27、補助電池であるバッテリ28、信号返信回路29、AC/DC変換機32、移設検出I/F33等を少なくとも備えている。ROM22は、後述する固有ID登録プログラム、移設検出プログラム、固有ID送信プログラム、電源切替プログラム、バッテリ切れ検出プログラム等を少なくとも記憶する。固有ID登録プログラム、移設検出プログラム、固有ID送信プログラム、電源切替プログラム、バッテリ切れ検出プログラムは、コンピュータで読み取り可能な記憶媒体としてのフラッシュメモリ、EEPROM、HDD等に記憶させてもよい。CPU21は、電源投入後、固有ID登録プログラム、移設検出プログラム、固有ID送信プログラム、電源切替プログラムを並列処理する。
移設検出器25は、本体201の振動を検出して移設検出装置20の移設を検出する。移設を検出する方法は、振動の他に、例えば、加速度、傾斜等を検出してもよい。異常電圧検出回路26は、AC/DC変換機32の出力の異常を検出する。スイッチ駆動回路27は、異常電圧検出回路26の検出結果に応じて、後述するスイッチ41〜43(図3参照)を開閉する。信号返信回路29は、例えば、数値制御装置1Aが出力する距離測定信号を受信した場合に、距離測定信号を数値制御装置1Aに返信する。AC/DC変換機32は、外部の交流電源35に接続し、交流電源35が供給する交流を直流に変換する。移設検出I/F33は、数値制御装置1AのI/Fモジュール12と、数値制御装置1AのAC/DC変換機10とに接続している。それ故、移設検出装置20は、数値制御装置1Aと通信が可能である。数値制御装置1B,1Cについても同じである。
次に、移設検出装置20の電源供給経路について、図3を参照して説明する。CPU21とAC/DC変換機32とを接続する電源供給ラインの途中には、スイッチ41を設けている。CPU21と移設検出I/F33とを接続する電源供給ラインの途中には、スイッチ42を設けている。CPU21とバッテリ28とを接続する電源供給ラインの途中にはスイッチ43を設けている。スイッチ駆動回路27は、CPU21の指令に基づき、スイッチ41,42,43を開閉する。スイッチ41が閉じると、移設検出装置20は、AC/DC変換機32が出力する直流を利用できる。スイッチ42が閉じると、移設検出装置20は、移設検出I/F33を介して、数値制御装置1AのAC/DC変換機10が出力する直流を利用できる。スイッチ43が閉じると、移設検出装置20は、バッテリ28が出力する直流を利用できる。CPU21は、異常電圧検出回路26の検出結果に基づき、スイッチ41〜43の切り替えを制御する。
次に、フラッシュメモリ24の各種記憶エリアについて、図4を参照して説明する。フラッシュメモリ24は、固有ID記憶エリア241と、移設履歴記憶エリア242と、移設未検出フラグ記憶エリア243とを少なくとも備えている。固有ID記憶エリア241は、移設検出I/F33に接続する数値制御装置1A〜1Cの固有IDを記憶する。移設履歴記憶エリア242は、移設検出器25の移設を検出した日時等の移設検出情報を記憶する。作業者は操作盤を操作することで、工作機械15の操作盤に設けた画面に移設検出情報を表示できる。移設未検出フラグ記憶エリア243は、移設検出器25の移設検出の有無を示す移設未検出フラグを記憶する。移設検出器25が移設を検出していない場合、CPU21は、移設未検出フラグ記憶エリア243(図4参照)に移設未検出フラグ=「1」を記憶する。移設を検出した場合、CPU21は、移設未検出フラグ記憶エリア243に移設未検出フラグ=「0」を記憶する。
次に、固有ID記憶エリア241が記憶する固有IDについて、図5を参照して説明する。工作機械製造者は、数値制御装置1A〜1Cを工場に設置する際に、数値制御装置1A〜1Cの操作盤から、数値制御装置1A〜1Cの固有IDを移設検出装置20に登録する。登録された固有IDは、移設検出装置20のフラッシュメモリ24の固有ID記憶エリア241に記憶される。
移設検出I/F33は、数値制御装置を接続するための複数の接続端子(図示省略)を有する。接続端子にはアドレスが割り当てられている。図1に示す例では、移設検出装置20の移設検出I/F33に、3つの数値制御装置1A〜1Cの各I/Fモジュール12が接続している。図4に示すように、固有ID記憶エリア241は、移設検出I/F33における4つの接続端子の「A」で始まるAアドレスに対して、数値制御装置1A〜1Cの固有IDを記憶する。CPU21は、数値制御装置1A〜1Cがどの接続端子に接続しているかを認識できる。数値制御装置が接続していない4つ目のアドレスは、固有IDが記憶されておらず、空き状態となっている。
次に、数値制御装置1Aの通信距離測定回路11について、図6を参照して説明する。通信距離測定回路11は、コンパレータ45と、集積回路であるFPGA56とを備えている。FPGA56は、時間測定回路57と、通信距離算出回路58とを備えている。コンパレータ45の入力端子1(図6では「入力1」)と、入力端子2(図6では「入力2」)とは、I/Fモジュール12に接続している。入力端子1には、時間測定回路57が出力する距離測定信号が入力される。入力端子2には、移設検出装置20の信号返信回路29が返信した距離測定信号が入力される。
コンパレータ45の出力端子は、FPGA56の時間測定回路57に接続している。出力端子は、入力端子1に入力した電圧と、入力端子2に入力した電圧との差を出力する。時間測定回路57は、コンパレータ45の入力端子1とI/Fモジュール12とをつなぐ経路の途中と、通信距離算出回路58とに接続している。コンパレータ45の入力端子1とI/Fモジュール12とをつなぐ経路には、抵抗46を設けている。コンパレータ45の入力端子2とI/Fモジュール12とをつなぐ経路には、抵抗47を設けている。
次に、移設検出システム100における数値制御装置1A〜1Cの起動制限について、図7〜図13のフローチャートを参照して説明する。本システムでは、移設検出器25が移設を検出した場合に加え、移設検出装置20に数値制御装置の固有IDが登録されていない場合に、数値制御装置1A〜1Cの起動を禁止する。以下の説明では、数値制御装置1AのCPU5が実行する処理と、移設検出装置20のCPU21が実行する処理とに分け、本システムの動作の流れに沿って説明する。
<数値制御装置の設置時>
工作機械製造者は、数値制御装置1Aを搭載した工作機械を工場に設置する際に、数値制御装置1Aの固有IDを移設検出装置20に登録する作業を、工作機械15の操作盤で行う。工作機械製造者は、書き込み指令(パスワード)を入力して固有IDの登録を行う。書き込み指令は、工作機械製造者のみが知るものである。操作盤の入力操作は、数値制御装置20に入力される。本処理は、数値制御装置1Aの固有IDを送信する際に、ROM6に記憶した固有ID登録依頼プログラムが呼び出されて実行する。
数値制御装置1AのCPU5が実行する固有ID登録依頼処理について、図7のフローチャートを参照して説明する。工作機械製造者が操作盤で固有IDの登録操作を行うと、固有IDの書き込み指令と、フラッシュメモリ8(図2参照)に記憶した固有IDとが、移設検出装置20に送信される(S1)。書き込み指令と固有IDを受信した移設検出装置20は、その書き込み指令が正しければ、受信した固有IDを記憶し、OK信号を数値制御装置1Aに返信する。書き込み指令が正しくなければNG信号を返信する。
次いで、移設検出装置20からOK信号を受信したか否かが判断される(S2)。OK信号を受信しない場合は(S2:NO)、NG信号を受信したか否かが判断される(S6)。NG信号を受信した場合は(S6:YES)、そのまま処理を終了する。OK信号又はNG信号を受信するまでは(S2:NO、S6:NO)、待機状態となる。
OK信号を受信した場合(S2:YES)、固有IDが移設検出装置20に正常に登録されている。次に、数値制御装置1Aと移設検出装置20との間の通信距離を測定するために、図6に示す通信距離測定回路11において、時間測定回路57から距離測定信号が移設検出装置20に向けて送信される(S3)。距離測定信号の送信と同時に、時間測定が開始される。
図6に示すように、時間測定回路57から距離測定信号が送信されると、それと同時にコンパレータ45の入力端子1に所定の電圧信号が入力される。距離測定信号は、I/Fモジュール12、移設検出装置20の移設検出I/F33を介して信号返信回路29に到達する。信号返信回路29は距離測定信号を数値制御装置1Aに返信する。
CPU5は、距離測定信号を受信したか否かを判断する(S4)。図14に示すように、距離測定信号が送信されて返信されるまでのコンパレータ45の出力は、入力端子1で入力された電圧となる。距離測定信号を受信するまでは(S4:NO)、S4に戻って待機状態となる。距離測定信号は、数値制御装置20のI/Fモジュール12を介してコンパレータ45の入力端子2に入力される。入力端子2に距離測定信号が入力されると、コンパレータ45は、入力端子1に入力した電圧から入力端子2に入力した電圧を差し引く。コンパレータ45の出力はゼロとなる。コンパレータ45の出力が所定値であった時間を、時間測定用クロックでカウントする。それ故、CPU21は、距離測定信号の伝播時間を算出できる。
次いで、図7のフローに戻り、距離測定信号を受信したので(S4:YES)、算出された伝播時間に基づき、数値制御装置1Aと移設検出装置20との通信距離が算出される。この算出された通信距離が基準通信距離としてフラッシュメモリ8(図2参照)に記憶される(S5)。例えば、配線11A〜11Cを同軸ケーブルとし、伝播速度が180(mm/ns)であった場合、通信距離は以下の式で算出される。
・通信距離L=180(mm)×〔伝播時間(ns)/2〕
伝播時間が1000nsであった場合、同軸ケーブルの長さは、L=180×(1000/2)=90(m)となる。この値が基準通信距離となる。移設検出システム100は、数値制御装置1Aの設置時の配線の長さを基準とすることで、配線の長さが変わった場合に異常であると判断できる。
次に、移設検出装置20のCPU21が実行する固有ID登録処理について、図8のフローチャートを参照して説明する。本処理は、移設検出装置20を設置して電源を入れたときに、ROM22に記憶した固有ID登録プログラムが呼び出されて実行する。まず、数値制御装置1Aから書き込み指令と固有IDとを受信したか否かが判断される(S11)。書き込み指令と固有IDとを受信するまでは(S11:NO)、待機状態となる。書き込み指令と固有IDとを受信した場合(S11:YES)、受信した書き込み指令が正しいか否かが判断される(S12)。書き込み指令が間違っている場合(S12:NO)、受信した固有IDを記憶せず、数値制御装置1AにNG信号が送信され(S17)、処理を終了する。それ故、書き込み指令を知らない他の人物は、固有IDの登録を行うことができない。
書き込み指令が正しい場合(S12:YES)、フラッシュメモリ8の固有ID記憶エリア241(図4,図5参照)に固有IDが記憶される(S13)。このとき、フラッシュメモリ24の移設未検出フラグ記憶エリア243に「1」が記憶される。書き込み指令と固有IDは、移設検出I/F33の接続端子を経由して受信される。数値制御装置1Aの接続する端子に割り当てられたアドレスに対して、受信した固有IDが記憶される。
次いで、数値制御装置1Aから距離測定信号を受信したか否かが判断される(S15)。距離測定信号を受信するまでは(S15:NO)、S15に戻って待機状態となる。距離測定信号を受信した場合(S15:YES)、上記したように、信号返信回路29から距離測定信号が数値制御装置1Aに向けて返信される(S16)。こうして、移設検出装置20の固有ID登録処理を終了する。
<移設検出器25による移設検出>
数値制御装置1A〜1Cを不正に移設しようとする場合、数値制御装置1A〜1Cは配線11A〜11Cでつながれているので、移設検出装置20を移設することが想定される。そのような移設を防止するため、移設検出器25による移設検出が実行される。
移設検出装置20のCPU21による移設検出処理について、図9のフローチャートを参照して説明する。本処理は、電源がオンされROM22に記憶した移設検出プログラムが呼び出されると実行する。まず、フラッシュメモリ24の移設未検出フラグ記憶エリア243(図4参照)に移設未検出フラグ=「1」が記憶される(S18)。次いで、移設検出器25によって移設が検出されたか否かが判断される(S19)。移設が検出されるまでは(S19:NO)、S19に戻って待機状態となる。移設が検出された場合(S19:YES)、移設未検出フラグ記憶エリア243(図4参照)に移設未検出フラグ=「0」が記憶される(S20)。次いで、フラッシュメモリ24の固有ID記憶エリア241に記憶されていた固有IDが全て消去され(S21)、処理を終了する。
後述するが、数値制御装置1A〜1Cは、自身が直結する移設検出装置20に自身の固有IDが記憶されていない場合は起動できない。よって、移設検出装置20が移設された場合は、数値制御装置1A〜1Cの起動を禁止できる。また、移設検出装置20が移設されたことは、フラッシュメモリ24の移設履歴記憶エリア242(図4参照)に記憶される。
<数値制御装置の電源オン時:数値制御装置を起動させる場合>
工場の作業者は、数値制御装置を起動させるために、電源をオンする。数値制御装置の電源は、工作機械の操作盤で行う。数値制御装置では、電源がオンされたことに伴い起動するか否かの判定を行う。
数値制御装置1AのCPU5が実行する起動判定処理について、図10のフローチャートを参照して説明する。本処理は、電源がオンすると、ROM6に記憶した起動判定プログラムが呼び出されて実行する。まず、固有IDの送付依頼信号が、移設検出装置20に送信される(S24)。自身の固有IDが移設検出装置20に記憶されているかを確認するためである。送付依頼信号は、移設検出装置20に登録されている全ての固有IDについて送信を依頼する指令である。移設検出装置20では、送付依頼信号を受信すると、フラッシュメモリ24の固有ID記憶エリア241(図5参照)に記憶された固有IDを全て数値制御装置1Aに送信する。固有IDが記憶されていない場合はエラー信号を送信する。
送付依頼信号を送信してからの経過時間がタイムアウトか否かが判断される(S25)。タイムアウトの場合(S25:YES)、移設検出装置20、若しくは配線に何らかの異常があるので起動禁止とされ(S38)、処理を終了する。
一方、まだタイムアウトでない場合(S25:NO)、エラー信号を受信したか、又は固有IDを受信したかが判断される(S26、S27)。エラー信号、又は固有IDを受信するまでは(S26:NO、S27:NO)、S25に戻って、処理が繰り返される。エラー信号を受信した場合(S26:YES)、移設検出装置20には固有IDが記憶されていない。この場合、移設検出装置20に対して数値制御装置1Aが不正に接続されている可能性があるので、起動禁止とされ(S38)、処理を終了する。
タイムアウトになる前に、固有IDを受信した場合(S27:YES)、受信した固有IDの中に、自身の固有IDがあるか否かが判断される(S28)。自身の固有IDがない場合(S28:NO)、その数値制御装置1Aは、移設検出装置20に対して不正に接続されている可能性がある。よって、起動禁止とされ(S38)、処理を終了する。
一方、受信した固有IDの中に自身の固有IDがあった場合(S28:YES)、通信距離を測定するために、距離測定信号が移設検出装置20に向けて送信される(S29)。距離測定信号の送信と同時に、時間測定が開始される(S30)。上記したように、移設検出装置20では、受信した距離測定信号を数値制御装置1Aに返信する。これに対して、移設検出装置20から距離測定信号を受信したか否かが判断される(S31)。距離測定信号を受信するまでは(S31:NO)、タイムアウトか否かが判断される(S37)。タイムアウトでない場合は(S37:NO)、S31に戻って、距離測定信号が受信されるまで処理が待機状態となる。タイムアウトの場合(S37:YES)、移設検出装置20から距離測定信号が返信されないので、配線11Aが不正に延長されているか、外されているか、移設検出装置20に何らかの異常がある等の理由が考えられる。この場合、数値制御装置1Aは起動禁止とされ(S38)、処理を終了する。
これに対し、移設検出装置20から送信された距離測定信号が受信された場合(S31:YES)、時間測定が完了し(S32)、距離測定信号の伝播時間が算出される。算出された伝播時間に基づき、通信距離が算出される(S33)。算出された通信距離と、フラッシュメモリ8に記憶された基準通信距離とが比較される(S34)。前記比較結果で、通信距離が正常であるか否かが判断される(S35)。算出された通信距離が、設置時に測定した基準通信距離と同一であれば、配線11Aで接続されている。通信距離は正常であるので(S35:YES)、数値制御装置1Aを起動させるために正常起動モードが設定され(S36)、処理を終了する。数値制御装置1Aの起動は、正常起動モードの場合にのみ許可される。
一方、算出された通信距離が基準通信距離と同一でない場合(S35:NO)、長さが異なる別の配線が付け替えられたか、別の通信網で通信している可能性がある。このような場合、数値制御装置1Aが移設されている可能性があるので、数値制御装置1Aは起動禁止とされ(S38)、処理を終了する。よって、不正に移設された可能性がある数値制御装置の起動を禁止できる。
次に、移設検出装置20のCPU21が実行する固有ID送信処理について、図11のフローチャートを参照して説明する。本処理は、移設検出装置20の電源がオンされたときに、ROM22に記憶した固有ID送信プログラムが呼び出されて実行する。まず、フラッシュメモリ24の移設未検出フラグ記憶エリア243(図4参照)に「0」が記憶されているか否かが判断される(S40)。「0」が記憶されている場合(S40:YES)、続いて、数値制御装置から固有IDの送付依頼信号を受信したか否かが判断される(S47)。送付依頼信号を受信しない場合(S47:NO)、待機状態となる。送付依頼信号を受信した場合(S47:YES)、移設検出装置20の振動が検出されているので、移設検出装置20が不正に移設されている可能性がある。この場合、数値制御装置に向けてエラー信号が送信される(S46)。
移設未検出フラグ記憶エリア243(図4参照)に「1」が記憶されている場合(S40:NO)、少なくとも移設は検出されていない。よって、数値制御装置から固有IDの送付依頼信号を受信したか否かが判断される(S41)。送付依頼信号を受信しない場合(S41:NO)、そのまま処理を終了する。
数値制御装置から固有IDの送付依頼信号を受信した場合(S41:YES)、フラッシュメモリ24の固有ID記憶エリア241(図5参照)に固有IDが記憶されているか否かが判断される(S42)。固有IDが全く記憶されていない場合(S42:NO)、数値制御装置にエラー信号が送信され(S46)、処理を終了する。
固有ID記憶エリア241に固有IDが記憶されている場合(S42:YES)、記憶されている全ての固有IDが数値制御装置に向けて送信される(S43)。上記したように、数値制御装置1A〜1Cでは、受信した固有IDの中に自身の固有IDがあるか否かを確認する。自身の固有IDがあった場合は、通信距離が正常であるかを確認するために、上記したように、距離測定信号を移設検出装置20に向けて送信する。
次いで、数値制御装置から距離測定用信号を受信したか否かが判断される(S44)。距離測定信号を受信しなかった場合は(S44:NO)、待機状態となる。距離測定信号を受信した場合(S44:YES)、信号返信回路29から距離測定信号が数値制御装置に向けて返信され(S45)、処理を終了する。
次に、移設検出装置20のCPU21による電源切替処理について、図3と、図12のフローチャートとを参照して説明する。本処理は、移設検出装置20の電源をオンすると、ROM22に記憶した電源切替プログラムが呼び出されて実行する。まず、AC/DC変換機32の出力電圧が正常であるか否かが判断される(S51)。AC/DC変換機32は、交流電源35から供給される交流を直流に変化して出力する。AC/DC変換機32の出力電圧は、異常電圧検出回路26によって検出される。AC/DC変換機32の出力電圧が正常である場合(S51:YES)、スイッチ41がオン、スイッチ42がオフ、スイッチ43がオフされる(S52)。この場合、交流電源35から移設検出装置20に電源が供給される。次いで、S51に戻って、AC/DC変換機32の出力電圧が引き続き監視される。
交流電源35が壊れた場合、AC/DC変換機32の出力電圧が変化する。このような電圧異常があった場合(S51:NO)、続いて、AC/DC変換機10の出力電圧は正常であるか否かが判断される(S53)。AC/DC変換機10は、数値制御装置1Aの交流電源16から供給される交流を直流に変化して出力する。AC/DC変換機10の出力電圧は、異常電圧検出回路26によって検出される。AC/DC変換機10の出力電圧が正常である場合(S53:YES)、スイッチ41がオフ、スイッチ42がオン、スイッチ43がオフされる(S54)。この場合、交流電源16、AC/DC変換機10、I/Fモジュール12、移設検出I/F33を介して、移設検出装置20に電源が供給される。これにより、交流電源35が利用できない場合でも、数値制御装置の交流電源16を利用でき、移設検出装置20を稼動させることができる。そして、数値制御装置1Aに対して異常信号が送信され(S55)、処理を終了する。異常信号を送信された数値制御装置1Aでは、操作盤の画面に異常があったことが表示される。作業者は移設検出装置20の交流電源35の異常を認識できるので、迅速な対応が可能である。
これに対し、例えば、夜間などで数値制御装置1Aの電源がオフされたような場合、交流電源16から電源を供給できない。この場合、AC/DC変換機10の出力電圧が異常であるとして(S53:NO)、スイッチ41がオフ、スイッチ42がオフ、スイッチ43がオンされる(S56)。バッテリ28は移設検出装置20に電源を供給する。これにより、交流電源16,35が利用できない場合でも、バッテリ28を利用できるので、移設検出装置20を稼動させることができる。そして、数値制御装置に対して異常信号が送信され(S55)、処理を終了する。
移設検出装置20では、通常、交流電源35からの電源を使用するが、交流電源35が万が一壊れてしまった場合は電源を供給できない。このような場合に、数値制御装置1Aが使用する交流電源16に切り替えることができる。これにより、交流電源35が壊れて使用できない状態でも、上記したように、数値制御装置1A〜1Cに対して起動制限をかけるための処理を実行できる。さらに、数値制御装置1A〜1Cの交流電源16が使用できない状態でも、バッテリ28から供給される電源を使用できるので、移設検出装置20による処理を確実に実行できる。
次に、移設検出装置20のCPU21によるバッテリ切れ検出処理について、図13のフローチャートを参照して説明する。バッテリ切れ検出処理は、図3に示すスイッチ43がオンされると、ROM22に記憶したバッテリ切れ検出プログラムが呼び出されて実行する。まず、バッテリ28の電圧が所定値未満であって、バッテリ切れであるか否かが判断される(S61)。バッテリ切れでない間は(S61:NO)、S61に戻って待機状態となる。バッテリ切れである場合(S61:YES)、フラッシュメモリ24の固有ID記憶エリア241(図5参照)に記憶されている固有IDが全て削除され(S62)、処理を終了する。このように、固有IDが全て削除されてしまうので、バッテリ28が切れてしまって、移設検出装置20が動作できない場合は、数値制御装置1A〜1Cの起動を禁止できる。
以上説明したように、上記実施形態である移設検出システム100において、移設検出装置20は、通常、交流電源35からの電源を使用する。AC/DC変換機32又は交流電源35が壊れ、異常電圧検出回路26がAC/DC変換機32の出力電圧の異常を検出した場合、スイッチ41をオフして交流電源35からの電力供給を遮断し、スイッチ42をオンして数値制御装置1Aが使用する交流電源16からの電力供給に切り替える。これにより、交流電源35又はAC/DC変換機32が壊れて使用できない状態でも、数値制御装置1A〜1Cに対して起動制限をかけることができる。さらに、交流電源35および交流電源16の両方が使用できない場合は、スイッチ41,42をオフして、スイッチ43をオンにすることで、バッテリ28からの電力供給を利用する。それ故、移設検出装置20は、交流電源35,32の異常があった場合でも、自身の移設を検出でき、かつ数値制御装置の起動を監視できる。
また、本システムでは、1つの移設検出装置20に対して、複数の数値制御装置1A〜1Cを配線11A〜11Cで接続する。1つの移設検出装置20で、複数の数値制御装置1A〜1Cを監視できる。数値制御装置1A〜1Cは、配線11A〜11Cが届く範囲内であれば配置変更が可能である。移設検出装置20には、数値制御装置1A〜1Cの固有IDを予め記憶しておく。数値制御装置1A〜1Cの起動時に、自身の固有IDが移設検出装置20に記憶しているか否かを判断する。自身の固有IDが無ければ、不正に接続した数値制御装置である可能性が高いので、その数値制御装置の起動を禁止する。
移設検出装置20が不正に移設されるような場合、その振動を検出することで、移設検出装置20の移設を検出する。移設を検出した場合は、数値制御装置にエラー信号を送信することで、数値制御装置の起動を禁止する。自身の固有IDが移設検出装置20に記憶されている場合でも、別の配線に付け替えたり、別の通信網を使って通信している可能性がある。そこで、移設検出装置20と数値制御装置1A〜1Cの通信距離を測定し、基準通信距離と比較を行う。基準通信距離と同一でない場合は、異常であるので、数値制御装置の起動を禁止する。このように移設された可能性の高いあらゆる状況を防止できると共に、一定の範囲内であれば数値制御装置の配置変更ができるので、安全性が高い上に使い勝手のよい移設検出システム100を提供できる。
以上説明において、数値制御装置1A〜1Cが本発明の「機械」に相当し、移設検出装置20が本発明の「移設検出手段」に相当する。フラッシュメモリ8が本発明の「機械記憶手段」に相当し、フラッシュメモリ24の固有ID記憶エリア241が本発明の「識別情報記憶手段」に相当し、移設検出I/F33が本発明の「入出力部」に相当し、AC/DC変換機32が本発明の「変換機」に相当し、バッテリ28が本発明の「補助電池」に相当し、異常電圧検出回路26が本発明の「異常検出手段」に相当する。
また、図10のS28の処理を実行するCPU5及び図11のS42の処理を実行するCPU21が本発明の「識別情報一致判断手段」に相当する。図10のS36の処理を実行するCPU5が本発明の「稼動許可手段」に相当し、S38の処理を実行するCPU5が本発明の「稼動禁止手段」に相当する。
また、図12のS56の処理を実行するCPU21が本発明の「補助電池供給検出手段」に相当し、S54の処理を実行するCPU21が本発明の「切替え手段」に相当する。図13のS62の処理を実行するCPU21が本発明の「削除手段」に相当する。
なお、本発明の移設検出装置、及び当該移設検出装置を備えた工作機械は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。例えば、上記実施形態において、図3に示すように、移設検出装置20における電源の供給は、3本の電源供給ラインにスイッチ41〜43を設け、それらスイッチ41〜43の開閉を制御することで、電源の供給源を切り替えている。この他に、例えば、図15に示すように、スイッチ41の代わりにダイオード81を設け、スイッチ42の代わりにダイオード82を設け、スイッチ43の代わりにダイオード80を設けてもよい。
この場合、交流電源35の電圧を最も高くして、交流電源16、バッテリ28の順に低くする。電圧が最も高い交流電源35から電流が流れるので、正常時は、交流電源35から流れる電流を利用できる。そして、交流電源35から電流が流れなくなった場合、次に電圧の高い交流電源16から移設検出装置220に向けて電流が流れる。さらに、交流電源16から供給される電流も停止した場合は、バッテリ28から流れる電流を利用できる。つまり、上記実施形態と同様の効果を得ることができる。
また、上記実施形態では、異常電圧検出回路26によって、AC/DC変換機32の出力電圧の異常が検出された場合は、スイッチ42(図12:S54参照)をオンして数値制御装置1Aの交流電源16の電力を利用しているが、スイッチ43をオン(図12:S56)してバッテリ28の電力を直接利用するようにしてもよい。
また、上記実施形態では、数値制御装置と移設検出装置との通信距離を測定し、その通信距離が正常であるか否かで数値制御装置の起動を決定しているが、通信時間が所定時間以上であるか否かで決定してもよい。
また、数値制御装置と移設検出装置との通信距離を測定し、その通信距離が正常であるか否かで数値制御装置の起動を決定しているが、通信距離を測定するのではなく、移設検出装置と数値制御装置の通信状態を常時監視し、配線11A〜11Cを引き抜かれたり、断線等を生じた場合は、長さが異なる別の配線が付け替えられたか、別の通信網で通信している可能性があるため、通信状態に異常を検出した数値制御装置の固有IDを削除してもよい。これにより、通信異常のあった数値制御装置の起動を禁止できる。