(57)【特許請求の範囲】
【請求項１】
数値制御装置に従属接続された複数台のＩＯユニットの電源断の検出方法において、
ＩＯユニットで電源断が発生した際に電源断を検出するステップと、
電源断を検出したＩＯユニットは前記数値制御装置との通信を瞬断しアイドル信号を送信した後に電源断通知用通信パケットを電源断を検出したＩＯユニットの前記数値制御装置に近い側に接続されている前段のＩＯユニットに送信するステップと、
前段のＩＯユニットは前記電源断通知用通信パケットを受信すると電源断検出情報として該前段のＩＯユニットが有する記憶手段に格納するステップと、
からなることを特徴とする電源断の検出方法。
【請求項２】
前記電源断通知用通信パケットを受け取ることなく前記前段のＩＯユニットの後段のＩＯユニットからアイドル信号が途絶える場合は、通信線の断線が発生したと前記前段のＩＯユニットにより判断するステップと、
通信線の断線情報を前記電源断検出情報とは別の情報として前記前段のＩＯユニットが有する記憶手段に格納するステップと、
からなることを特徴とする請求項１に記載の電源断の検出方法。
【請求項３】
複数台のＩＯユニットのうちいずれかのＩＯユニットから前記数値制御装置に通信の返信がこない場合、ＩＯユニットにアラームが発生したと前記数値制御装置が判断するステップと、
前記数値制御装置に従属接続されたＩＯユニットのうち該数値制御装置に近い側に接続されたＩＯユニットから順に通信線の断線および電源断のアラーム情報の取得を行うステップと、
取得されたアラーム情報を表示または前記数値制御装置の外部に出力するステップと、
からなる請求項２に記載の電源断の検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械に接続された外部信号入出力用ユニットの断線と電源断の検出方法に関し、特に数値制御装置と工作機械に備えられるマスタ・スレーブ方式のＩＯユニットの断線と電源断の検出方法に関する。
【背景技術】
【０００２】
数値制御装置と工作機械との間でＤＩ／ＤＯ信号（入力信号／出力信号）の入出力を行うために、外部信号入出力ユニット（以下、「ＩＯユニット」という。）を複数台接続する構成がとられている。通常、数値制御装置とＩＯユニット間では、ＤＩ／ＤＯデータのやりとりが行われている。
【０００３】
また、各ＩＯユニットの状態（アラーム情報）をＤＩ／ＤＯデータのやりとりと同時に通信しアラーム発生時の原因解明に利用している（図８）。  
ＩＯユニットに電源断が発生したとき、アラーム情報として通知する技術として特許文献１に開示されるものがある。  
また、電話交換システム等における情報転送処理装置において、上位装置と下位装置との間の転送時におけるデータ障害の発生を検出する技術がある（特許文献２）。
【０００４】
【特許文献１】特開２００３−２０９５９０号公報
【特許文献２】特開平５−２１１５６０号公報（特許２５１２６５９号）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
背景技術で説明した、ＩＯユニットの電源断が発生したときアラーム情報として通知する技術は、通信路の権利を確保するまでにＩＯユニットの内部回路の電源電圧を保持する必要がある。その保持のために大容量のキャパシタをＩＯユニットに備えなければならず、コストが高くなる課題があった。
【０００６】
また、背景技術の欄で説明した特許文献２に記載されるようなオートスキャン方式では返事がこなかった場合に通信異常のアラームとしているが、この方式では、ＩＯユニットの電源断と通信線断線などの通信異常とを区別できず、電源断と通信線断線とを特定して検出できないという課題があった。
【０００７】
そこで、本発明は、ＩＯユニットに発生した電源断のアラーム情報を速やかにその前段のＩＯユニットに知らせる方法を提供し、さらに、ＩＯユニットの通信線断線と電源断とを区別して数値制御装置に通知することができる、ＩＯユニットの通信線断線と電源断の検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、数値制御装置に従属接続された複数台のＩＯユニットの電源断の検出方法において、ＩＯユニットで電源断が発生した際に電源断を検出するステップと、電源断を検出したＩＯユニットは前記数値制御装置との通信を瞬断しアイドル信号を送信した後に電源断通知用通信パケットを電源断を検出したＩＯユニットの前記数値制御装置に近い側に接続されている前段のＩＯユニットに送信するステップと、前段のＩＯユニットは前記電源断通知用通信パケットを受信すると電源断検出情報として該前段のＩＯユニットが有する記憶手段に格納するステップと、からなることを特徴とする電源断の検出方法である。  
請求項２に係る発明は、前記電源断通知用通信パケットを受け取ることなく前記前段のＩＯユニットの後段のＩＯユニットからアイドル信号が途絶える場合は、通信線の断線が発生したと前記前段のＩＯユニットにより判断するステップと、通信線の断線情報を前記電源断検出情報とは別の情報として前記前段のＩＯユニットが有する記憶手段に格納するステップと、からなることを特徴とする請求項１に記載の電源断の検出方法である。  
請求項３に係る発明は、複数台のＩＯユニットのうちいずれかのＩＯユニットから前記数値制御装置に通信の返信がこない場合、ＩＯユニットにアラームが発生したと前記数値制御装置が判断するステップと、前記数値制御装置に従属接続されたＩＯユニットのうち該数値制御装置に近い側に接続されたＩＯユニットから順に通信線の断線および電源断のアラーム情報の取得を行うステップと、取得されたアラーム情報を表示または前記数値制御装置の外部に出力するステップと、からなる請求項２に記載の電源断の検出方法である。
【発明の効果】
【０００９】
本発明は、前段のＩＯユニットのみに断線と電源断の情報が送られるので、他のＩＯユニットの通信を阻害しない。また、他の通信が終了するまで待つ必要もないため、電源断を検出してからＩＯユニットの内部回路の電源電圧を維持する時間も短くて済む。よって、電源電圧を保持するための大容量のキャパシタを用意する必要がなくなる。  
ＩＯユニットの電源断、通信線の断線のどちらかが発生した場合、数値制御装置に対しＩＯユニットから返信がこなくなる。この状態になった場合、数値制御装置は、数値制御装置に通信線上で近いＩＯユニットから順番にアラーム情報を取得し、アラームの原因解析を行うことでＩＯユニットの電源断と通信線の断線のどちらが発生したかを判別することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について図面とともに説明する。  
図１は数値制御装置（ＣＮＣ）６とＩＯユニット１〜５とからなる数値制御システムの概略構成図を示している。数値制御装置（ＣＮＣ）６には通信線７ａ〜７ｅを介して５つのＩＯユニット１〜５が従属接続（マスタ・スレーブ方式）されている。図示していないが、ＣＮＣ６にもＩＯユニットが内蔵されている。  
そして、図１はＣＮＣ６とＩＯユニット３以外のＩＯユニットとがＤＩデータ８（ＩＯユニットからＣＮＣへ送られる情報）を通信中に、ＩＯユニット３に電源断の異常状態が発生したときの状態を示している。このとき、ＩＯユニット３は前段のＩＯユニット２に対し電源断が発生したことを示す情報である電源断検出情報９を送信する。
【００１１】
この電源断検出情報はパケット化されており、このパケット化された電源断検出情報を、以下、「電源断通知用通信パケット」という。ＩＯユニット３に電源断の異常が発生した場合、この電源断通信用パケットは前段のＩＯユニット２のみが受け取り、その前のＩＯユニット、及び、ＣＮＣ６には送信しないようにされている。そのため、図１ではＩＯユニット２にのみ送信される（ＩＯユニット２のみが受信可能である）。  
図１では電源断通知用通信パケット１０は８ビットからなる特殊パケットであり、その第３ビット１０3を電源断検出ビットとして準備している。また、この電源断通知用通信パケットは各ＩＯユニット内に予め用意された通信パケットであり、暗号化により通常のデータ通信では発生しないデータパターンで構成する。これにより、短いデータでいずれかのＩＯユニットに電源断が発生したことを電源断が発生したＩＯユニットの前段のＩＯユニットに知らせ、最終的にＣＮＣ６に知らせることができる。  
なお、ＩＯユニット３ではなく他のＩＯユニット１，２，４，５に電源異常が発生したときにも、ＩＯユニット３と同様に電源断通知用通信パケットをそれぞれの前段のＩＯユニットに送信する。ＩＯユニット１についてはＣＮＣ６に内蔵される図示しないＩＯユニットを前段のＩＯユニットとして送信する。
【００１２】
図２はＣＮＣ６と通信中のＩＯユニット３に電源断の異常が発生したときの状態を示している。ＩＯユニット３に電源断の異常が発生したとき、ＩＯユニット３はＣＮＣ６との通信を瞬断し、代わりに数パケット程度の長さのアイドル信号１１ｃを送信した後、電源断通知用通信パケットを送信する。図２において、ＩＯユニット３からＣＮＣ６に送られる信号１１を参照すると、ＩＯユニット３は、電源断が検出されるまでは通常の送信データ１１ａをＣＮＣ６に送信し、電源断が検出された時点１１ｂで送信データ１１ａを瞬断し、代わりにアイドル信号１１ｃを送信データ１１ａに連続して送信し、１パケット程度の電源断通知用通信パケット１１ｄを送信する。前記数パケット程度の長さのアイドル信号１１ｃは一定時間以上信号が１の状態が継続した信号とすることができる。
【００１３】
前段のＩＯユニット２はアイドル信号１１ｃを受け取ることにより、電源断通知用通信パケット１１ｄをそれまで受信していた送信データ１１ａと区別して受信することができる。区別された電源断通知用通信パケット１１ｄはＩＯユニット２の図示しないレジスタに記録される。  
送信データ１１ａは途中で送信を停止されるので、送信中のデータ１１ａは破壊される。しかしながら、電源断が発生したＩＯユニット３からの送信データには信頼性が無いことから、送信データ１１ａが送信途中で破壊されても問題は生じない。なお、電源断通知用通信パケット１１ｄと１０とは説明の都合上符号が異なるが、同じデータ構造をもつ。
【００１４】
図１で示されるＩＯユニット３の状態、及び、図２で示されるＩＯユニット３の状態のいずれにおいても、電源断通知用通信パケット１０，１１ｄが前段のＩＯユニット２にのみ伝送されれば十分である。そのため、ＣＮＣ６からのアクセスを待つことなく電源断が発生したＩＯユニット３から電源断通知用通信パケット１０，１１ｄを前段のＩＯユニット２に送信することができ、ＩＯユニット３が電源断の際に電圧を保持しなければならない電圧保持時間を短縮することが可能である。
【００１５】
図３はＩＯユニット３が送信データ１２を送信中、通信線７ｃに断線が発生した状態を示している。通常の通信中で情報入力及び情報出力データ（ＤＩ／ＤＯデータ）を送受信していないときには、各ＩＯユニットはアイドル信号を送受信している。後段のＩＯユニットからはＤＩデータ（入力情報データ）もしくはアイドル信号が送られてきており、前段の各ＩＯユニットはこの信号を監視している。なお、最後段のＩＯユニットはこの監視を行う必要はない。  
図３で、ＩＯユニット２が前記した電源断通知用通信パケットを受け取らず、後段のＩＯユニット３からのアイドル信号が途絶した（例えば、一定時間以上信号がオール０を受信）場合、通信線７ｃに断線が発生したと判断し、ＩＯユニット２とＩＯユニット３との間の通信線７ｃに断線が発生した情報をＩＯユニット２に内蔵されるレジスタに記録する。
【００１６】
図４は、数値制御装置（ＣＮＣ）の電源断情報や通信線の断線情報の取得について説明する図である。ＩＯユニット１〜５の電源断、通信線７ａ〜ｅのどちらかに断線が発生した場合に、ＩＯユニットからＣＮＣ６に返信が来なくなる。この状態になった場合、ＣＮＣ６は、通常のＤＩ／ＤＯデータの送受信を停止した後、ＣＮＣ６に通信線上で近いＩＯユニットから順番にアラーム情報要求信号１３ａ，１３ｂを送信し、電源断情報、あるいは、通信線断の情報を取得する。この取得した断線や電源断の情報は、ＣＮＣ６に付属する図示しない画面表示などを用いてアラーム要因を報知することができる。
【００１７】
図５は、電源断が発生したＩＯユニットで電源断を通知するためにＩＯユニットに内蔵されるプロセッサが実行処理するアルゴリズムを示すフローチャートである。  
まず、電源断を検出したか否かを判断し（ステップＡ１）、電源断が検出されるまで検出を継続し、電源断を検出するとステップＡ２に進む。電源断が検出されたＩＯユニットが通信中か否か判断し（ステップＡ２）、通信中と判断するとＩＯユニットの通信を遮断し（ステップＡ４）、代わりにアイドル信号を数パケットの長さの期間送信し（ステップＡ５）、ステップＡ３に進む。ステップＡ２で電源断が発生したＩＯユニットが通信中で無いと判断されるとステップＡ３に進み、電源断通知用通信パケットを前の段のＩＯユニットに送信する（ステップＡ３）。そして、処理を終了する。
【００１８】
図６は、後段の電源断が発生したＩＯユニットからの信号を処理するための前段のＩＯユニットに内蔵されるプロセッサが実行処理するアルゴリズムを示すフローチャートである。  
まず、前段のＩＯユニットが通常のデータを受信しているか否か判断し（ステップＢ１）、通常のデータを受信していればステップＢ４に進む。そして、受信データをその前の段のＩＯユニットへ送信し（通常のデータ処理）（ステップＢ４）、ステップＢ１に戻る。ステップＢ１で通常のデータを受信していないと判断されると、ステップＢ２に進む。アイドル信号を受信しているか否かを判断し（ステップＢ２）、アイドル信号を受信していると判断されると、一定時間以上オール０か否か（換言すると、アイドル信号が途絶えたか判断する）（ステップＢ３）。ステップＢ３で一定時間以上オール０と判断されると、ＩＯユニットのアラームレジスタの通信線断検出ビットをセットする（ステップＢ５）。ステップＢ２でアイドル信号を受信していないと判断されるとステップＢ６に進む。また、ステップＢ３で一定時間以上オール０でない（アイドル信号が途絶えていない）と判断されると、ステップＢ６に進む。ステップＢ６では電源断通知用通信パケットを受信したか否かを判断する。電源断通知用通信パケットを受信していないと判断されると、一定時間以上オール０か否か判断される（ステップＢ８）。ステップＢ８で一定時間以上オール０でないと判断されると、ステップＢ１に戻り、一定時間以上オール０と判断されると、ステップＢ５に行く。電源断通知用通信パケットを受信していると判断されると、ＩＯユニットにあるアラームレジスタの電源断の検出ビットをセットし（ステップＢ７）、終了する。
【００１９】
図７は、数値制御装置（ＣＮＣ）の電源断情報や通信線の断線情報の取得について、ＣＮＣ内蔵のプロセッサが実行処理するアルゴリズムを示すフローチャートである。
まず、データの不正、返信が来ないなどのアラームを検出したか否かを判断する（ステップＣ１）。ステップＣ１でアラームを検出しなくＮＯと判断されると、アラームの検出を継続する。ステップＣ１でアラームを検出しＹＥＳと判断されると、ＣＮＣはＩＯユニットとの通常の通信を停止し（ステップＣ２）、ＣＮＣに近いＩＯユニットから順番に全てのＩＯユニットに対してアラーム情報を要求する（ステップＣ３）。そして、各ＩＯユニットから返信が来たか否かを判断し（ステップＣ４）、返信が来たと判断されると、返信されたアラーム情報をＣＮＣ内の記憶装置に格納し（ステップＣ７）、ステップＣ３に戻る。ＣＮＣのＩＯユニットへのアラーム情報の収集が終了するとステップＣ４でＮＯと判断され、ステップＣ５に進む。ステップＣ５でアラーム要因の解析が実行され、アラーム要因の表示が行われ（ステップＣ６）、終了する。
【図面の簡単な説明】
【００２０】
【図１】ＣＮＣ６と通信中ＩＯユニット以外のＩＯユニット３に電源断の異常が発生したときの状態を示す図。
【図２】ＣＮＣ６と通信中のＩＯユニット３に電源断の異常が発生したときの状態を示す図。
【図３】送信データを送信中、通信線に断線が発生した状態を示す図。
【図４】数値制御装置の電源断情報や通信線の断線情報の取得について説明する図。
【図５】電源断が発生したＩＯユニットで電源断を通知するためにＩＯユニットに内蔵されるプロセッサが実行処理するアルゴリズムを示すフローチャートである。
【図６】後段の電源断が発生したＩＯユニットからの信号を処理するための前段のＩＯユニットに内蔵されるプロセッサが実行処理するアルゴリズムを示すフローチャートである。
【図７】数値制御装置（ＣＮＣ）の電源断情報や通信線の断線情報の取得について、ＣＮＣ内蔵のプロセッサが実行処理するアルゴリズムを示すフローチャートである。
【図８】電源断をマスタからの指示で送信する従来技術の例。
【符号の説明】
【００２１】
１  ＩＯユニット
２  ＩＯユニット
３  ＩＯユニット
４  ＩＯユニット
５  ＩＯユニット
６  数値制御装置（ＣＮＣ）
７ａ、７ｂ、７ｃ、７ｄ、７ｅ  通信線
８  ＤＩデータ
９  電源断検出情報
１０  電源断通知用通信パケット
１０3  電源断検出ビット
１１ａ  送信データ
１１ｂ  電源断検出
１１ｃ  アイドル信号
１１ｄ  電源断通知用通信パケット
１２  送信データ
１３ａ、１３ｂ  アラーム情報要求信号
【図１】
0004291384.tif 000002
【図２】
0004291384.tif 000003
【図３】
0004291384.tif 000004
【図４】
0004291384.tif 000005
【図５】
0004291384.tif 000006
【図６】
0004291384.tif 000007
【図７】
0004291384.tif 000008
【図８】
0004291384.tif 000009