(58)【調査した分野】(Int.Cl.,DB名)
CADデータに基づいて構成される加工後ワークの3次元モデルを、該CADデータに基づいて生成された加工プログラムと関連付けて表示装置に表示する数値制御装置において、
前記CADデータから抽出された加工後ワークの頂点数又はポリゴン数の少なくともいずれかの最適量を算出する最適データ量算出部と、
前記最適データ量算出部により算出された加工後ワークの頂点数又はポリゴン数の最適量に基づいて、前記CADデータから抽出された加工後ワークの頂点数又はポリゴン数を削減する3次元データ削減部と、
前記3次元データ削減部により削減された頂点又はポリゴンに基づいて加工後ワークの3次元モデルを生成する3次元モデル生成部と、
前記3次元モデル生成部が生成した3次元モデルを表示するための表示データを生成し、生成した表示データを前記表示装置に表示する表示部と、
前記数値制御装置の動作状態を監視し、前記数値制御装置のCPUの負荷状態が予め定めた第1閾値以上である場合に、前記最適データ量算出部、前記3次元データ削減部、前記3次元モデル生成部に対して動作を中断するように指令するする動作状態監視部と、
を備えた数値制御装置。
前記最適データ量算出部は、前記表示装置の表示性能に応じて、前記CADデータから抽出された加工後ワークの頂点数又はポリゴン数の少なくともいずれかの最適量を算出する、
請求項1に記載の数値制御装置。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による数値制御装置の要部を示す概略的なハードウェア構成図である。
本実施形態による数値制御装置1が備えるCPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って数値制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0012】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD等で構成され、数値制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた制御用プログラムやCADデータ、インタフェース21を介して他の装置から取得された制御用プログラムやCAD装置5から取得されたCADデータ、表示器/MDIユニット70を介して入力された制御用プログラム、数値制御装置1の各部や工作機械、センサ等から取得された各種データ等が記憶される。不揮発性メモリ14に記憶された制御用プログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種のシステム・プログラムがあらかじめ書き込まれている。
【0013】
インタフェース15は、数値制御装置1とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは制御用プログラムや各種パラメータ等が読み込まれる。また、数値制御装置1内で編集した制御用プログラムや各種パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置1に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、工作機械に取付けられているセンサ等)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0014】
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。また、表示器/MDIユニット70からは、表示画面の解像度や実寸法等の表示性能に係るデータを取得できる。インタフェース19は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤71に接続されている。
【0015】
インタフェース19は、数値制御装置1を有線/無線のネットワーク7と接続するためのインタフェースである。ネットワーク7には、CADデータを提供するCAD装置5や、工場内に設置された工作機械を制御する他の制御装置、セルコンピュータ、エッジコンピュータ、ホストコンピュータ等のコンピュータ等が接続され、ネットワーク7を介した情報のやり取りを相互に行っている。
【0016】
工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。
【0017】
スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
【0018】
図2は、本発明の第1実施形態による数値制御装置1の概略的な機能ブロック図である。
図2に示した各機能ブロックは、
図1に示した数値制御装置1が備えるCPU11がシステム・プログラムを実行し、数値制御装置1の各部の動作を制御することにより実現される。
【0019】
本実施形態の数値制御装置1は、CADデータ取得部100,加工プログラム生成部110,最適データ量算出部120,3次元データ削減部130,3次元モデル生成部140,表示部150を備え、また、生成した加工プログラム及び3次元モデルを記憶するデータ記憶部200が不揮発性メモリ14上に確保されている。
【0020】
CADデータ取得部100は、CAD装置5において作成されたCADデータを取得する機能手段である。CADデータ取得部100は、
図2に示されるようにネットワーク7を介してCAD装置5からCADデータを取得するようにしてもよいし、外部機器72からCADデータを取得するようにしてもよい。CADデータ取得部100が取得するCADデータには、少なくとも加工後のワークの形状を示す頂点や辺、面等の関係が幾何的に定義されたデータを含む。CADデータにより示される加工後のワークの形状は、例えば
図3に例示されるように、頂点の集合乃至ポリゴンの集合として表現することができる。なお、
図3はワークの形状を示す頂点乃至ポリゴンを把握しやすくするために少ない頂点数乃至ポリゴン数で加工後のワークを表現しているが、実際にはCADデータにより示される加工後のワークの形状は、より多くの頂点数乃至ポリゴン数で表現されている。
【0021】
加工プログラム生成部110は、CADデータ取得部100が取得したCADデータに基づいて加工プログラムを生成し、生成した加工プログラムをデータ記憶部200に記憶する機能手段である。加工プログラム生成部110は、例えばCADデータに含まれるから頂点の集合乃至ポリゴンの集合と、加工に利用する工具に係る情報に基づいて、該工具をどのように移動させることで頂点の集合乃至ポリゴンの集合により示される加工後ワークの形状を作ることができるのかを解析し、解析した結果として得られる工具の移動経路に基づいて、加工プログラムの指令の系列である加工プログラムを生成する。加工プログラムの生成に係る処理の詳細については、例えば国際公開第2014/184908号などにも開示されるように公知となっているので本明細書における説明は省略する。
【0022】
最適データ量算出部120は、表示器/MDIユニット70の表示性能や数値制御装置の動作状態に基づいて、CADデータ取得部100が取得したCADデータから3次元モデルの容量をどの程度削減するのかを算出する機能手段である。最適データ量算出部120は、表示装置としての表示器/MDIユニット70の表示性能(解像度、表示部分の実寸法等)に応じて、CADデータから3次元モデルを作成する際の頂点数乃至ポリゴン数の最適量を算出する。数値制御装置1の不揮発性メモリ14上に設けられた設定領域には、予め基準となる表示装置(例えば、表示部寸法:15インチ、解像度:1024x768)における表示寸法として、例えば基準縦寸法Lvs/基準横寸法横Lhs、基準縦画素数Rvs/基準横画素数Rhs、及び基準となる表示装置における表示に最適な3次元モデルの基準頂点数Vns乃至基準ポリゴン数Pns等が設定されている。最適データ量算出部120は、これらの不揮発性メモリ14に設定されている基準となる数値と、表示器/MDIユニット70から取得された実縦寸法Lvr/実横寸法Lhr、実縦画素数Rvr/実横画素数Rhrとに基づいて、例えば以下に示す数1式乃至数2式を用いて最適な3次元モデルの頂点数Vnr乃至ポリゴン数Pnrを算出する。
【0025】
また、最適データ量算出部120は、表示器/MDIユニット70の解像度や実寸法に加えて、表示性能の一つとしての、表示器/MDIユニット70乃至数値制御装置1が備えるグラフィック描画エンジンの描画能力に応じて、CADデータから3次元モデルを作成する際の頂点数乃至ポリゴン数の最適量を算出するようにしても良い。この場合、数値制御装置1の不揮発性メモリ14上に設けられた設定領域には、予め基準となるグラフィック描画エンジンの基準描画能力Gesが更に設定され、最適データ量算出部120は、これらの不揮発性メモリ14に設定されている基準となる数値と、表示器/MDIユニット70実表示部寸法、実画素数に加えて、グラフィック描画エンジンの実描画能力Gerに基づいて、例えば以下に示す数3式乃至数4式を用いて最適な3次元モデルの頂点数Vnr乃至ポリゴン数Pnrを算出するようにしても良い。
【0028】
更に、最適データ量算出部120は、他の表示装置による表示に係る表示性能のパラメータに基づいて、最適な3次元モデルの頂点数Vnr乃至ポリゴン数Pnrを算出するようにしても良い。
なお、基準頂点数Vns乃至基準ポリゴン数Pnsについては、予め実験等により、基準となる表示装置において、作業者による3次元モデルの閲覧に問題がない範囲で極力少ない3次元モデルの頂点数乃至ポリゴン数を求めておき、求めた頂点数乃至ポリゴン数を基準頂点数Vns乃至基準ポリゴン数Pnsとして設定しておけば良い。一般に、基準頂点数Vns乃至基準ポリゴン数Pnsは、表示画面上で作業者が加工後ワークの大まかな形状を把握できる程度の3次元形状を描画できる頂点数乃至であれば良いのに対して、CADデータに含まれる加工後のワークの形状の頂点数乃至ポリゴン数は加工精度を高めるために至極細かいものとなっている為、基準頂点数Vns乃至基準ポリゴン数Pnsは、CADデータに含まれる加工後のワークの形状の頂点数乃至ポリゴン数に対して大幅に少ないものとなる。
【0029】
3次元データ削減部130は、CADデータから抽出された加工後のワークの形状の頂点数乃至ポリゴン数から、最適データ量算出部120が算出した頂点数Vnr乃至ポリゴン数Pnrを減算した値である削減頂点数Vnd乃至削減ポリゴン数Pndを算出し、CADデータ取得部100が取得したCADデータから抽出された加工後のワークの形状の頂点乃至ポリゴンから削減頂点数Vnd乃至削減ポリゴン数Pnd分の頂点乃至ポリゴンを削減する機能手段である。3次元データ削減部130は、例えばエッジ折り畳み法や最適配置法等の公知の手法を用いて、CADデータから抽出された加工後のワークの形状の頂点数乃至ポリゴン数を、最適データ量算出部120が算出した表示器/MDIユニット70に対して表示するのに最適な3次元モデルの頂点数Vnr乃至ポリゴン数Pnrまで削減する。
【0030】
図4は、3次元データ削減部130による頂点数乃至ポリゴン数の削減処理の例を示す図である。エッジ折り畳み法乃至最適配置法では、例えば隣接する2つの頂点p1,p2を選択肢、選択した2つの頂点p1,p2を1つの頂点p1に統合させてエッジ(
図3,4に示した頂点間の線乃至ポリゴンの一辺)を取り除くことにより、頂点数乃至ポリゴン数を削減する。3次元データ削減部130は、CADデータから抽出された加工後のワークの形状の頂点乃至ポリゴンの中から、全体的にまんべんなく削減頂点数Vnd乃至削減ポリゴン数Pnd分の頂点乃至ポリゴンを選択して削減するようにしても良いし(例えば、削減数分のメッシュでCADデータのワーク形状を分割し、それぞれのメッシュ内で1つの頂点乃至ポリゴンを削減する等)、CADデータから抽出された加工後のワークの形状の頂点乃至ポリゴンの中で、周辺の頂点乃至ポリゴンの密度が高い頂点乃至ポリゴンから順に選択して削減していくようにしても良い。なお、3次元データ削減部130により、加工後のワークの特徴的な部分(加工後のワークの角や辺等の、加工後のワークの形状を特徴づける部分)が削減される場合もあるが、実際にはCADデータでは加工後のワークの形状は非常に多くの頂点乃至ポリゴンにより表現されているため、一部の特徴的な部分が削減されたとしても、表示装置上に表示した場合には全体的な加工後のワークの形状は十分に把握できるため、大きな問題とはならない。
【0031】
3次元モデル生成部140は、3次元データ削減部130により頂点乃至ポリゴンが削減された後の、加工後のワークの形状の頂点乃至ポリゴンを用いて、加工後のワークの形状を示す3次元モデルを生成し、生成した3次元モデルを加工プログラム生成部110が生成した加工プログラムと関連付けてデータ記憶部200に記憶する。
そして、表示部150は、データ記憶部200に記憶された加工プログラム及び3次元モデルを表示器/MDIユニット70へと表示する。
【0032】
上記構成を備えた本実施形態の数値制御装置1では、表示器/MDIユニット70の表示性能に応じて、作業者が加工後のワークの形状を表示器/MDIユニット70の表示で十分に把握できる範囲で、画面上に表示される加工後のワークの3次元モデルの頂点数乃至ポリゴン数が削減されるため、表示処理の負荷を軽減することができ、また、必要十分な頂点数乃至ポリゴン数に抑えた3次元モデルのデータは、数値制御装置1の記憶部の容量を必要以上に圧迫することはない。
【0033】
図5は、本発明の第2実施形態による数値制御装置1の概略的な機能ブロック図である。
図5に示した各機能ブロックは、
図1に示した数値制御装置1が備えるCPU11がシステム・プログラムを実行し、数値制御装置1の各部の動作を制御することにより実現される。
【0034】
本実施形態の数値制御装置1は、第1実施形態の数値制御装置1が備える機能手段に加えて、更に動作状態監視部160を備える。
【0035】
動作状態監視部160は、数値制御装置1全体の動作状態を監視する機能手段である。本実施形態の動作状態監視部160は、数値制御装置1の動作状態として、主に数値制御装置1のCPU11の負荷状態を監視し、CPU11が予め定めた所定の第1閾値以上の高負荷状態である場合には、加工プログラム生成部110、最適データ量算出部120,3次元データ削減部130,及び3次元モデル生成部140に対して、それぞれの処理を中断するように指令する。また、動作状態監視部160は、CPU11が予め定めた所定の第2閾値(<第1閾値)以下の低負荷状態となった場合に、加工プログラム生成部110、最適データ量算出部120,3次元データ削減部130,及び3次元モデル生成部140に対して、それぞれの処理を再開するように指令する。
【0036】
上記構成を備えた本実施形態の数値制御装置1では、数値制御装置1において加工プログラムが実行される等してCPU11が高付加であるような場合に、制御処理に対する副次的な処理に位置づけられる加工プログラム生成部110、最適データ量算出部120,3次元データ削減部130,及び3次元モデル生成部140が実行する処理を一時的に中断し、ワークの加工に係る制御処理に影響が出ないようにする。一般に、3次元モデルに係る処理や加工プログラムの生成処理はCPU11の資源を大量に消費する事が多いため、この様な構成を設けることで、これらの高負荷な処理が、数値制御装置1の主たる処理である制御処理に影響を与えないようにすることができるようになる。
【0037】
図6は、本発明の第3実施形態による数値制御装置1の概略的な機能ブロック図である。
図6に示した各機能ブロックは、
図1に示した数値制御装置1が備えるCPU11がシステム・プログラムを実行し、数値制御装置1の各部の動作を制御することにより実現される。
【0038】
本実施形態の数値制御装置1は、第2実施形態の数値制御装置1が備える動作状態監視部160が監視する数値制御装置1の動作状態に基づいて、最適データ量算出部120が加工後のワークの3次元モデルの頂点数乃至ポリゴン数の削減数を算出する点において第1,第2実施形態と異なる。
【0039】
本実施形態による動作状態監視部160は、数値制御装置1の動作状態として、数値制御装置1のCPU11の負荷状態や、数値制御装置1の運転モード、加工プログラムの実行状態、実行対象となる加工プログラム数、等を監視する。そして、3次元データ削減部130は、動作状態監視部160が監視する数値制御装置1の動作状態に応じて、CADデータから3次元モデルを作成する際の頂点数乃至ポリゴン数の削減量を算出する。3次元データ削減部130は、例えばCPU11が予め定めた所定の第1閾値未満である場合において、数値制御装置1の動作モードに応じて予め定義された係数α
1(例えば、数値制御装置1の動作モードが自動運転モードである場合には0.9、その他の場合には1)、数値制御装置1による加工プログラムの実行状態に応じて予め定義された係数α
2(例えば、通常の加工プログラムを実行中の場合には0.8、高精度加工中の場合には0.6、その他の場合には1)、数値制御装置1への実行対象としての登録プログラム数に応じて予め定義された係数α
3(例えば、登録プログラム数が1〜3の場合には0.9、4〜10の場合には0.8、11以上の場合には0.6、その他の場合には1)、等の各係数と、不揮発性メモリ14に設定されている基準となる数値と、表示器/MDIユニット70の表示性能に基づいて、例えば以下に示す数5式乃至数6式を用いて最適な3次元モデルの頂点数Vnr乃至ポリゴン数Pnrを算出する。
【0042】
上記構成を備えた本実施形態の数値制御装置1では、数値制御装置1の動作状態に応じて、3次元モデルのデータ削減に係る処理や、3次元モデルの生成処理、表示装置に対する表示処理等を必要十分な範囲で低減させることが可能となり、数値制御装置1の主たる処理である制御処理に影響を与えないようにすることができるようになる。
【0043】
上記各実施形態の一変形例として、最適データ量算出部120は、表示器/MDIユニット70に対して表示される3次元モデルの数に応じて、最適な3次元モデルの頂点数Vnr乃至ポリゴン数Pnrを算出するようにしても良い。例えば、
図7に例示されるように、加工プログラムの一覧表示と共にそれぞれの加工プログラムによる加工後のワークの形状を表示する場合等において、最適データ量算出部120は、動作状態監視部160から、画面上に表示される加工後のワークの形状の個数を取得し、画面上に表示される加工後のワークの形状の個数に応じて、1つの3次元モデルにおける最適な頂点数Vnr乃至ポリゴン数Pnrを算出しても良い(例えば、画面上に4つの加工後のワークの形状が表示される場合には、上記した数1〜数6式で算出された値を更に4で除算する等)。
【0044】
上記各実施形態の他の変形例として、最適データ量算出部120は、表示器/MDIユニット70の表示性能である実縦寸法Lvr/実横寸法Lhr、実縦画素数Rvr/実横画素数Rhrに変えて、加工後のワークの形状が表示される表示部内の表示枠の実縦横寸法や実縦横画素数を用いて、最適な3次元モデルの頂点数Vnr乃至ポリゴン数Pnrを算出するようにしても良い。
【0045】
上記各実施形態の他の変形例として、加工プログラム生成部110が生成した加工プログラム及び3次元モデル生成部140が生成した加工後ワークの形状の3次元モデルは、ネットワーク7を介して図示しないホストコンピュータ等の記憶部で管理し、他の数値制御装置との間で共有するようにしても良い。
【0046】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。