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