(57)【特許請求の範囲】
【請求項１】
時間軸に対して値が変化するデータである第１の波形データと第２の波形データとを比較可能に表示する波形表示装置において、
前記第１の波形データ上の第１の点に基づいて、該第１の点と対応関係にある前記第２波形データ上の第２の点を求め、該第１の点と該第２の点との間の対応関係を示す対応関係データを生成する対応関係データ生成部と、
前記対応関係データ生成部が生成した対応関係データに基づいて、前記第１の波形データ上における所定の点である基準点と、前記基準点と対応関係にある前記第２の波形データ上の点とを、時間軸上で重なるように前記第１の波形データと前記第２の波形データとを表示する表示部と、
前記対応関係データ生成部が生成した対応関係データに基づいて、前記第１の波形データのそれぞれの点までの加工に掛かる時間であるサイクルタイムに対する、該点と対応関係にある前記第２の波形データ上の点までの加工に掛かる時間であるサイクルタイムの増減値を算出するサイクルタイム増減算出部と、
を備え、
前記表示部は、前記第１の波形データと前記第２の波形データとに対応付けて、前記サイクルタイム増減算出部が算出したサイクルタイムの増減値に係る表示を行う、
ことを特徴とする波形表示装置。
【請求項２】
前記基準点は、ユーザの操作に基づいて指定される、
ことを特徴とする請求項１に記載の波形表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、波形表示装置に関し、特にサイクルタイムが比較可能な波形表示装置に関する。
【背景技術】
【０００２】
数値制御装置は加工プログラムで指定された加工経路や加工速度の情報と、加工プログラムとは別に予め指定された加減速や最大加工速度を含む設定とに基づいて加工を行う。そのため、同一の加工プログラムを使用した加工でも、前述の設定をオペレータが変更することで１回の加工にかかるサイクルタイムを短縮することができる。このような設定変更などに基づくサイクルタイムの短縮効果を調べる方法として、座標−時間線図における座標値の凹凸（以下、波形とする）を前述の設定を変更した前後で比較する方法がある。
【０００３】
一回の加工は数分から場合によっては数時間に及ぶ。このような加工の波形を比較する場合、波形全体から比較したい工程を行っている箇所を特定し、比較対象の波形の時間軸が重なるように、波形の時間軸をオフセットする作業が必要となる。
【０００４】
一般に、設定を変更した前後において実行した加工の波形の一部分について時間軸をオフセットして重ね合わせたとしても、波形の他の部分は重なることはない。そのため、波形のとある工程に対応する部分の比較を行った後で、当該波形の別の工程に対応する部分を比較しようと思うと、再度比較対象の波形の時間軸が重なるように波形の時間軸をオフセットする作業が必要となる。この作業は、一度行えば良いものではなく、波形の比較箇所を変更するたびに行わなければならない。
例えば、図１０に示す実線の波形（波形１）と破線の波形（波形２）における（Ａ）部分を比較した後に、（Ｂ）部分を比較する場合を考える。
【０００５】
●波形の（Ａ）部分の比較
−手順１：波形の（Ａ）部分について比較するため、オペレータは波形表示装置の入力部を操作して波形の（Ａ）部分を拡大表示する。
−手順２：そのままでは波形１と波形２の（Ａ）付近が重ならないので、波形１と波形２の（Ａ）付近を重ね合わせるために、オペレータは波形表示装置の入力部を操作して波形２をオフセットする。
−手順３：波形２をオフセットすることにより、波形１と波形２の（Ａ）付近は重なり合い（図１１）、オペレータは波形の比較を行うことができる。
【０００６】
●波形の（Ｂ）部分の比較
−手順４：次に波形の（Ｂ）部分について比較するため、オペレータは波形表示装置の入力部を操作して波形を（Ｂ）部分までスクロールする。
−手順５：波形１と波形２の（Ａ）付近を重ね合わせた状態では、（Ａ）部分から（Ｂ）部分までのサイクルタイムの差により、そのままでは波形１と波形２の（Ｂ）付近が重なり合わない（図１２）。そこで、オペレータは波形表示装置の入力部を操作して再度波形２をオフセットする。
−手順６：波形１と波形２の（Ｂ）付近は重なり合い（図１３）、オペレータは波形の比較を行うことができる。
【０００７】
このように、波形を比較する場所を変更するたびに、波形２をオフセットして、波形１に重ね合わせる作業が必要となる。この作業の手間を減らすため、例えばマウス、タッチパネル等を利用しドラッグ＆ドロップで波形を移動することができるようにする技術が用いられる。また、特許文献１では、複数の波形に基準位置を複数設定し、ユーザが選択した基準位置を重ね合わせて表示する技術が開示されている。また、特許文献２には、複数の波形データを重ね合わせて表示し、各波形データに対応する時間軸をそれぞれ表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４７７０５３２号公報
【特許文献２】特許第４７９８２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、マウスやタッチパネル等を利用しドラッグ＆ドロップで波形を移動することができるようにしたとしても、依然として都度波形同士を重ねわせる操作はユーザにとって面倒で手間がかかるという問題がある。また、特許文献１に開示される技術を用いたとしても、比較対象とする部分ごとに基準位置の設定や基準位置の選択の操作をしなければならず、ユーザにとって煩雑であるという問題がある。更に、特許文献２に開示される技術を用いても、ユーザは比較対象とするそれぞれの波形のデータ範囲を入力する必要があり、比較対象とする部分が増えればやはり操作に手間がかかることに変わりはない。
【００１０】
また、サイクルタイムを比較したい場合、ブロックごとのサイクルタイムをグラフから読み取る必要があり、加工のどの部分にサイクルタイムの相違があるかを比較するためには大きな手間がかかるという別の問題も生じる。
【００１１】
そこで本発明の目的は、複数の波形の間で複数の部分について比較をする場合においてユーザの労力を軽減することを可能とする波形表示装置を提供することである。
【課題を解決するための手段】
【００１２】
本願の請求項１に係る発明は、時間軸に対して値が変化するデータである第１の波形データと第２の波形データとを比較可能に表示する波形表示装置において、前記第１の波形データ上の第１の点に基づいて、該第１の点と対応関係にある前記第２波形データ上の第２の点を求め、該第１の点と該第２の点との間の対応関係を示す対応関係データを生成する対応関係データ生成部と、前記対応関係データ生成部が生成した対応関係データに基づいて、前記第１の波形データ上における所定の点である基準点と、前記基準時点と対応関係にある前記第２の波形データ上の点とを、時間軸上で重なるように前記第１の波形データと前記第２の波形データとを表示する表示部と、前記対応関係データ生成部が生成した対応関係データに基づいて、前記第１の波形データのそれぞれの点までの加工に掛かる時間であるサイクルタイムに対する、該点と対応関係にある前記第２の波形データ上の点までの加工に掛かる時間であるサイクルタイムの増減値を算出するサイクルタイム増減算出部と、を備え、前記表示部は、前記第１の波形データと前記第２の波形データとに対応付けて、前記サイクルタイム増減算出部が算出したサイクルタイムの増減値に係る表示を行う、ことを特徴とする波形表示装置である。
【００１４】
本願の請求項２に係る発明は、前記基準点は、ユーザの操作に基づいて指定される、
ことを特徴とする請求項１に記載の波形表示装置である。
【発明の効果】
【００１５】
本発明により、画面表示した箇所の波形を自動で重ね合わせることができるため、工程ごとの波形の差異の確認が容易になる。また、加工の中でサイクルタイムの差がある部分を視覚的に確認することができる。更に、サイクルタイムの差となっている原因部分を容易に特定できるようになり、サイクルタイム短縮のための調査時間を短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明における複数の波形同士の対応関係について説明する図である。
【図２】２つの波形上の各点を対応付ける処理例を示すフローチャートである。
【図３】図２における処理Ａに対応する処理の例を示すフローチャートである。
【図４】図３のフローチャートのアルゴリズムをＰｅｒｌで実装したプログラム例である。
【図５】波形１の基準位置である時間Ｔ１と波形２の基準位置である時間Ｔ２が重なり合うように波形１、波形２のグラフ表示をした例である。
【図６】画面の特定位置の時間をＴ１としてユーザによる時間軸のスクロールに追従して波形を表示する例である。
【図７】波形データと合わせてサイクルタイムの増加時間を表示する例を示す図である。
【図８】波形データと合わせてサイクルタイムの増加時間の微分値を表示する例を示す図である。
【図９】本発明の一実施形態による波形表示装置の機能ブロック図である。
【図１０】複数の波形を画面に表示する例を示す図である。
【図１１】図１０の（Ａ）の部分において波形１と波形２が重なるように波形２をオフセットして表示する例を示す図である。
【図１２】図１０における（Ａ）および（Ｂ）の部分を表示する例を示す図である。
【図１３】図１０の（Ｂ）の部分において波形１と波形２が重なるように波形２をオフセットして表示する例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面と共に説明する。まず、本発明の基本的な原理について説明する。
本発明の波形表示装置では、比較対象となる複数の波形上のそれぞれの各点についての対応関係を求める。次に、求めた対応関係に基づいてユーザが表示している波形の位置に応じて複数の波形を重ね合わせて表示する。また、サイクルタイムの差をグラフ表示する。
【００１８】
＜複数の波形上の各点の対応関係の求め方＞
図１は、複数の波形同士の対応関係について説明する図である。例えば、２つの波形について対応関係を求める場合、波形１と波形２とを時間の関数Ｗ１（ｔ）、Ｗ２（ｔ）で表した場合におけるＷ１（ｔ１）＝Ｗ２（ｔ２）となるような時間ｔ１、ｔ２の組を求める。より具体的な処理手順としては、以下の１〜３のように行う。
●処理手順１：最初にＷ１（ｔ１0）≒Ｗ２（ｔ２0）となるｔ１0，ｔ２0を外部から与える。
●処理手順２：次に、ｔ１i，ｔ２iから、Ｗ１（ｔ１i+1）≒Ｗ２（ｔ２i+1）となるｔ１i+1（≧ｔ１i)，ｔ２i+1（≧ｔ２i）を求める。
●処理手順３：上記処理手順２を波形の終端まで繰り返すことでｔ１i，ｔ２iの組がいくつか求まる。
なお、３以上の波形上の点の間の対応関係を求める場合には、いずれか１の波形を基準とし、当該波形上の点とそれ以外の波形上の点との間でそれぞれ対応関係を求めるようにすればよい。
【００１９】
上記の式「Ｗ１（ｔ１i）≒Ｗ２（ｔ２i）」の”≒”は、加工機やセンサなどに生じる誤差が原因で２つの波形の間で完全に等しくなる点が発見できないことを考慮したものであり、「ある程度の誤差を含んだ上で等しい」という意味で”≒”と記載している。以下の記載で出てくる”！≒”は上記”≒”の反対の意味「ある程度の誤差を許容した上で等しくない」を持つ。
【００２０】
上記処理手順では、ｔ１，ｔ２を時間軸における＋（プラス）方向に移動しながら対応関係を求めるが、ｔ１，ｔ２を時間軸の−（マイナス）方向に移動しながら対応関係を求めても同様に求めることができる。
なお、初期値ｔ１0，ｔ２0はそれぞれの波形の先頭とするのでもよいが、ユーザが与えられるようにした方が、対応できる状況が広がる。また、初期値ｔ１0，ｔ２0の組は複数設定できるようにしてもよい。このようにすることで、本方法で対応関係を適切に求めることができなかった箇所について、ユーザが任意で修正可能となる。
【００２１】
また、上記では１軸の座標値を想定して記載しているが時間ごとに取得できるデータであれば、どのようなデータの対応関係を求めることもできる。例えば以下のようなデータでもよい。
●いくつかの座標値の組（例えばＸ，Ｙ，Ｚ軸の座標値）
●プログラム番号、シーケンス番号
●これらの複合
【００２２】
図２は、波形１をＷ１（ｔ）、波形２をＷ２（ｔ）とした時の波形１，波形２上の各点を対応付ける処理の一例を示すフローチャートである。また、図３は、図２における処理Ａに対応する処理の例を示すフローチャートである。図２，３において、ｔ１0，ｔ２0は、あらかじめユーザにより与えられるＷ１（ｔ１0）＝Ｗ２（ｔ２0）となるような値であり、波形１，波形２のそれぞれの対応付け処理の開始点の時間である。また、ｔ１eは波形１の対応付け処理の終了点の時間、ｔ２eは波形２の対応付け処理の終了点の時間である。
【００２３】
以下では、図２に示した対応付け処理のフローチャートを説明する。
●［ステップＳＡ０１］変数ｔ１（以下、ｔ１）に対してユーザから与えられた波形１の対応付け処理の開始点の時間ｔ１0を、変数ｔ２（以下、ｔ２）に対してユーザから与えられた波形２の対応付け処理の開始点の時間ｔ２0を、それぞれ代入する。
●［ステップＳＡ０２］ｔ１の値が波形１の対応付け処理の終了点の時間であるｔ１e以下であり、かつ、ｔ２の値が波形２の対応付け処理の終了点の時間であるｔ２e以下であるか否かを判定する。前記条件が成立する場合にはステップＳＡ０３へ処理を移行し、成立しない場合には対応付け処理を終了する。
●［ステップＳＡ０３］後述する処理Ａを実行する。
●［ステップＳＡ０４］ｔ１，ｔ２の値の組を波形１と波形２の対応関係を示す時間の組として記録し、ステップＳＡ０２へと処理を移行する。
【００２４】
以下では、図３に示した処理Ａのフローチャートを説明する。
●［ステップＳＢ０１］時間ｔ１における波形１の座標値Ｗ１（ｔ１）と、時間ｔ２における波形２の座標値Ｗ２（ｔ２）とが、ある程度の誤差を含んだ上で等しい、か否かを判定する。座標値Ｗ１（ｔ１）と座標値Ｗ２（ｔ２）とがある程度の誤差を含んだ上で等しい場合にはステップＳＢ０２へ処理を移行し、そうでない場合にはステップＳＢ０３へ処理を移行する。
●［ステップＳＢ０２］ｔ１，ｔ２の値をそれぞれ１（単位はミリ秒）増加して処理Ａを終了する。
【００２５】
●［ステップＳＢ０３］時間ｔ１における波形１の座標値Ｗ１（ｔ１）が時間ｔ１−１における波形１の座標値Ｗ１（ｔ１−１）以下である（時間ｔ１の前後において波形１が同じ乃至減少している）、かつ、時間ｔ２における波形２の座標値Ｗ２（ｔ２）が時間ｔ２−１における波形２の座標値Ｗ２（ｔ２−１）以下である（時間ｔ２の前後において波形２が同じ乃至減少している）、か否かを判定する。前記条件が成立する場合にはステップＳＢ０４へ処理を移行し、成立しない場合にはステップＳＢ０７へ処理を移行する。
【００２６】
●［ステップＳＢ０４］時間ｔ１における波形１の座標値Ｗ１（ｔ１）が、時間ｔ２における波形２の座標値Ｗ２（ｔ２）よりも大きいか否かを判定する。座標値Ｗ１（ｔ１）が座標値Ｗ２（ｔ２）よりも大きい場合にはステップＳＢ０５へ処理を移行し、そうでない場合にはステップＳＢ０６へ処理を移行する。
●［ステップＳＢ０５］ｔ１の値を１（単位はミリ秒）増加して処理Ａを終了する。
●［ステップＳＢ０６］ｔ２の値を１（単位はミリ秒）増加して処理Ａを終了する。
【００２７】
●［ステップＳＢ０７］時間ｔ１における波形１の座標値Ｗ１（ｔ１）が時間ｔ１−１における波形１の座標値Ｗ１（ｔ１−１）以上である（時間ｔ１の前後において波形１が同じ乃至増加している）、かつ、時間ｔ２における波形２の座標値Ｗ２（ｔ２）が時間ｔ２−１における波形２の座標値Ｗ２（ｔ２−１）以上である（時間ｔ２の前後において波形２が同じ乃至増加している）、か否かを判定する。前記条件が成立する場合にはステップＳＢ０８へ処理を移行し、成立しない場合にはステップＳＢ１１へ処理を移行する。
【００２８】
●［ステップＳＢ０８］時間ｔ１における波形１の座標値Ｗ１（ｔ１）が、時間ｔ２における波形２の座標値Ｗ２（ｔ２）よりも小さいか否かを判定する。座標値Ｗ１（ｔ１）が座標値Ｗ２（ｔ２）よりも小さい場合にはステップＳＢ０９へ処理を移行し、そうでない場合にはステップＳＢ１０へ処理を移行する。
●［ステップＳＢ０９］ｔ１の値を１（単位はミリ秒）増加して処理Ａを終了する。
●［ステップＳＢ１０］ｔ２の値を１（単位はミリ秒）増加して処理Ａを終了する。
●［ステップＳＢ１１］ｔ１，ｔ２の値をそれぞれ１（単位はミリ秒）増加して処理Ａを終了する（このステップの処理は例外処理である）。
【００２９】
図４は、上記フローチャートのアルゴリズムをＰｅｒｌで実装したプログラム例を示している。
以上の処理により、波形１上の各点と波形２上の各点との対応関係ｔ１i，ｔ２iが求まる。
【００３０】
また、波形１の各点Ｗ１（ｔ）について、式ｔ１i≦ｔ≦ｔ１i+1を満たすｉを考えた場合、ｔ１iに対応する波形２の時間はｔ２iであるから、波形１の各点について、波形１と波形２の対応する点の間の差分Ｗ１diff（ｔ）を以下の数１式を用いて算出できる。
【００３１】
【数１】
0006339602.tif 000002
【００３２】
そして、上記数１式から、波形１のｔ１a〜ｔ１bの波形２に対するサイクルタイムの増加量は以下の数２式で計算できる。
【００３３】
【数２】
0006339602.tif 000003
【００３４】
＜波形の重ね合わせ表示方法＞
上記した方法で求めた複数の波形同士の対応関係に基づいて、これら複数の波形が重なり合ったグラフ表示を行う。以下では、波形１と波形２の２つの波形の同一工程が重なり合ったグラフ表示を行う例を示す。
『波形１の基準位置』をＴ１としたとき、それに対応する『波形２の基準位置』Ｔ２を以下の数３式で求める。
【００３５】
【数３】
0006339602.tif 000004
【００３６】
そして、波形１の基準位置である時間Ｔ１と波形２の基準位置である時間Ｔ２が重なり合うように波形１、波形２のグラフ表示を行う。より具体的には、波形１に対して波形２をΔ＝Ｔ１−Ｔ２だけ前にオフセットする。式で表すとＷ１（ｔ）に対してＷ２（ｔ−Δ）としてグラフを表示する。
図５は、波形１の基準位置である時間Ｔ１と波形２の基準位置である時間Ｔ２が重なり合うように波形１、波形２のグラフ表示をした例である。
【００３７】
『波形１の基準位置』であるＴ１の選択方法については、例えば、ユーザに選択させる方法が考えられる。また、他の方法として、図６に示すように、画面の特定位置の時間をＴ１として、ユーザが時間軸を移動(スクロール)するとＴ１もそれにつられて移動するという方法としても良い。このような方法をとる場合、表示画面上には同一工程の波形が必ず重なり合って表示されるので、より波形・サイクルタイムの比較に適した構成となる。
また、画面に『波形１の基準位置』Ｔ１の時間を示すと、現在基準になっている位置が常にユーザが把握できるため適切である。更に、マウス等でＴ１を移動できるようにすると、より適切な構成となる。
【００３８】
なお、３以上の波形上の点の間の対応関係に基づく表示を行う場合には、基準とした波形との対応関係に基づいてそれぞれ波形を表示するようにすればよい。
【００３９】
＜サイクルタイムの図示＞
波形１のグラフＷ１（ｔ）と同時にＷ１diff（ｔ）を示すことで、サイクルタイムの増減箇所を視覚的・定量的に把握できる表示が実現できる。例えば、図７に示すグラフでは、点Ａ〜点Ｅの「サイクルタイムの増加時間（Ｗ１diff（ｔ））」をグラフから読み取ることによって、以下の箇所（ＡＢ，ＢＣ，ＣＤ，ＡＥ）のサイクルタイムの差を算出している。
●ＡＢ部分のサイクルタイムの差は約５０ミリ秒（点Ｂ（約５０ｍｓ）−点Ａ（約０ｍｓ））
●ＢＣ部分のサイクルタイムの差は約４０ミリ秒（点Ｃ（約９０ｍｓ）−点Ｂ（約５０ｍｓ））
●ＣＤ部分のサイクルタイムの差は約１００ミリ秒（点Ｄ（約１９０ｍｓ）−点Ｃ（約９０ｍｓ））
●全体（ＡＥ部分）のサイクルタイムの差は約２６０ミリ秒（点Ｅ（約２６０ｍｓ）−点Ａ（約０ｍｓ））
このように、任意の箇所のサイクルタイムの差を定量的に把握することができる。
【００４０】
また、Ｗ１diff（ｔ）は単調増加もしくは単調減少であることが多いので、グラフの細かい部分まで表示しようとすると縦軸を広く取る必要があるが、そのスペースが取れない場合、図８に示すように、Ｗ１diff（ｔ）を微分した値を示すようにすると、より省スペースでサイクルタイムの増減箇所を把握できる表示が実現できる。
【００４１】
図９は、上記の各機能を実現した本発明の一実施形態による波形表示装置の機能ブロック図である。波形表示装置１は、機能手段としての対応関係データ生成部１０、表示部１１、操作部１２、サイクルタイム増減算出部１３を備える。
対応関係データ生成部１０は、複数の波形データ２０に基づいて上記した対応関係を求める方法に基づく処理を行うことで複数の波形上の各点の間の対応関係を求め、求めた対応関係を示す対応関係データを生成して図示しないメモリ上に設けられた対応関係記憶部２１へと記憶する。
【００４２】
表示部１１は、対応関係記憶部２１に記憶された複数の波形の間の対応関係に基づいて波形の表示用データを生成し、図示しない液晶表示装置などの表示器へと表示する。また、操作部は、図示しないキーボード、マウスなどの入力機器からの入力を受け取ることにより、上記した『波形１の基準位置』であるＴ１の入力や、画面のスクロール指令などを受け、これら入力に基づく表示の変更を表示部１１へと指令する。表示部１１は、操作部１２からの指令に基づいて、上記した表示の変更を行う。
【００４３】
サイクルタイム増減算出部１３は、ユーザによるサイクルタイムの増加時間の表示指令などを受け付けると、対応関係記憶部２１に記憶された複数の波形の間の対応関係に基づいて各波形上の点の間のそれぞれの対応関係のある部分のサイクルタイムの増減値を算出し、算出したサイクルタイムの増減値を表示部１１へと出力する。表示部１１は、サイクルタイム増減算出部１３から取得したサイクルタイムの増減値に基づいて、表示用データに対してサイクルタイムの増加時間や増加時間の微分値を追加し、表示器へと表示する。
【００４４】
波形表示装置１は、加工機を制御する制御装置やシミュレーション装置、パソコンなど、一般に波形を比較表示するために用いられる可能性のある装置全般に実装することが可能である。
【００４５】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００４６】
１  波形表示装置
１０  対応関係データ生成部
１１  表示部
１２  操作部
１３  サイクルタイム増減算出部
２０  波形データ
２１  対応関係記憶部
【図１】
0006339602.tif 000005
【図２】
0006339602.tif 000006
【図３】
0006339602.tif 000007
【図４】
0006339602.tif 000008
【図５】
0006339602.tif 000009
【図６】
0006339602.tif 000010
【図７】
0006339602.tif 000011
【図８】
0006339602.tif 000012
【図９】
0006339602.tif 000013
【図１０】
0006339602.tif 000014
【図１１】
0006339602.tif 000015
【図１２】
0006339602.tif 000016
【図１３】
0006339602.tif 000017