JP6325625B2 - プログラム最適化システム - Google Patents
プログラム最適化システム Download PDFInfo
- Publication number
- JP6325625B2 JP6325625B2 JP2016202515A JP2016202515A JP6325625B2 JP 6325625 B2 JP6325625 B2 JP 6325625B2 JP 2016202515 A JP2016202515 A JP 2016202515A JP 2016202515 A JP2016202515 A JP 2016202515A JP 6325625 B2 JP6325625 B2 JP 6325625B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- machining program
- cnc
- machining
- optimization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005520 cutting process Methods 0.000 claims description 70
- 238000012546 transfer Methods 0.000 claims description 66
- 230000003139 buffering effect Effects 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 39
- 238000003754 machining Methods 0.000 claims description 28
- 238000005457 optimization Methods 0.000 claims description 24
- 238000004088 simulation Methods 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23448—Find optimum solution by simulating process with constraints on inputs
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35311—Remote simulation of machining program
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Numerical Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明はプログラム最適化システムに関し、特に数値制御装置に加工プログラムを転送する外部計算機において加工プログラムを最適化する技術に関する。
工作機械等を制御する数値制御装置(CNC)は、加工プログラムに基づいて加工を行う。この加工プログラムのサイズは、加工物の精度向上に伴い大容量化する傾向にある。例えば金型加工用の加工プログラム等においては、そのサイズがCNCの内部記憶装置(DRAM等)の容量を超える場合も少なくない。このような問題に対応するための手法として、CNCは、通信可能に接続された外部記憶装置(CFカード、SDカード、USBデバイス等)や外部計算機(サーバ等)等から加工プログラムの一部を逐次取得し、取得した分の加工プログラムを内部記憶装置へバッファリングする技術が知られている。この手法によれば、連続的なプログラム運転を実現できる。
ところで、外部記憶装置又は外部計算機からCNCに加工プログラムを転送する場合、その転送速度は一定ではない。もし加工プログラムの転送が遅延しバッファリング不足に陥った場合、工作機械は加工プログラムがバッファリングされるまで加工を進めることができず、結果として予期せぬ減速又は停止が発生する。切削加工中に減速又は停止が発生すると、加工面にカッターマークが付くなどして加工面品位が低下するなどの問題が生じることがある。
なお、往復動作等を行う機械(例えばインクジェットプリンタ)等では、停止しても問題ない位置(例えば加工又は印刷範囲の端部)で、バッファリングが十分になされるまで印刷ヘッドや工具等を待機させることで、加工対象物や印刷物の品質を均一に保つことが可能である。CNCにおいても、非切削ブロックが存在すれば、そこで加工を一時停止することで、加工品位を保つことは可能である。しかしながら、加工プログラムは多様であり、切削ブロックの連続数についての制限も存在しないため、バッファリング不足が生じるタイミングで必ずしも都合よく非切削ブロックが存在するとは限らない。それに、CNCの内部記憶装置には容量の上限があることから、非切削ブロック間に含まれる切削ブロックを運転しきれるだけの加工プログラムを必ずしも全てバッファリングできるとも限らない。仮に内部記憶装置の容量に上限がないとしても、加工プログラムのバッファリング完了まで運転を一時停止する必要があるため、サイクルタイムが増加するという別の問題が生じ得る。
この点、特許文献1には、加工プログラム中にバッファリングポイントを指定するというアイディアが開示されている。CNCは、指定されたバッファリングポイントまで加工プログラムがバッファリングされていない場合は、加工を一時停止して、加工プログラムの転送が完了するまで待機する。これにより、CNCは加工プログラムの転送レートに左右されず加工を実行できる。
特許文献2には、バッファ(内部記憶装置に相当)内の加工プログラムが空になる前に切削送り速度を低下させること、及びバッファが空になった場合でも逃げ動作を行うことによりカッターマークや振動の発生を回避すること、を特徴とするCNCが記載されている。
しかしながら、特許文献1記載の構成では、加工プログラムの転送待ちの間は運転が一時停止するためサイクルタイムが増加するという問題を解決できない。転送すべき加工プログラムが著しく多い(例えば数百万行)場合は、運転停止時間が長くなりすぎたり、バッファリングしきれなかったりすることもある。
また、特許文献2の構成では運転中に局所的な切削送り速度の低下が発生するため、これに起因する加工面品位の低下が生じ得るという問題がある。
本発明は、これらの問題点を解決するためになされたものであり、加工プログラム転送の際のバッファリング不足による予期せぬ又は切削加工中の減速又は停止を防止し、加工面品位の低下を抑制できるプログラム最適化システムを提供することを目的とする。
本発明の一実施の形態にかかるプログラム最適化システムは、加工プログラムを順次読み出して加工シミュレーションを行うCNCシミュレータと、前記CNCシミュレータに前記加工プログラムを逐次転送する加工プログラム記憶部と、前記加工プログラム記憶部と前記CNCシミュレータとの間の転送速度が予め定められた下限値となるよう制御する転送速度制御部と、を有し、前記CNCシミュレータは、切削区間において、読み出すべき前記加工プログラムが不足するバッファリング不足を検出した場合に、前記加工プログラムを最適化し、前記バッファリング不足が発生しない最適化加工プログラムを作成することを特徴とする。
他の実施の形態にかかるプログラム最適化システムでは、前記CNCシミュレータは、前記切削区間内で繰り返し現れる指令集合をサブプログラム化することにより、前記最適化を行うことを特徴とする。
他の実施の形態にかかるプログラム最適化システムでは、前記CNCシミュレータは、前記切削区間内の複数のブロックを1つに結合することにより、前記最適化を行うことを特徴とする。
他の実施の形態にかかるプログラム最適化システムでは、前記CNCシミュレータは、前記切削区間内の切削送り速度を変更することにより、前記最適化を行うことを特徴とする。
他の実施の形態にかかるプログラム最適化システムでは、前記CNCシミュレータは、前記切削区間内の切削送り速度を段階的に遅くすることにより、前記変更後の切削送り速度を特定することを特徴とする。
他の実施の形態にかかるプログラム最適化システムでは、前記CNCシミュレータ、前記加工プログラム記憶部及び前記転送速度制御部を有する外部計算機と、前記最適化加工プログラムを順次読み出してプログラム運転を行う数値制御装置と、前記数値制御装置に前記最適化加工プログラムを逐次転送する外部記憶装置と、をさらに有し、前記CNCシミュレータが、前記最適化加工プログラムを前記外部記憶装置に転送することを特徴とする。
他の実施の形態にかかるプログラム最適化システムでは、前記CNCシミュレータ、前記加工プログラム記憶部及び前記転送速度制御部を有し、前記最適化加工プログラムを順次読み出してプログラム運転を行う数値制御装置と、前記数値制御装置に前記最適化加工プログラムを逐次転送する外部記憶装置と、をさらに有することを特徴とする。
他の実施の形態にかかるプログラム最適化システムでは、前記CNCシミュレータ、前記加工プログラム記憶部及び前記転送速度制御部を有する外部計算機と、前記最適化加工プログラムを順次読み出してプログラム運転を行う数値制御装置と、をさらに有し、前記CNCシミュレータが、前記最適化加工プログラムを前記数値制御装置に転送することを特徴とする。
本発明によれば、加工プログラム転送の際のバッファリング不足による予期せぬ又は切削加工中の減速又は停止を防止し、加工面品位の低下を抑制できるプログラム最適化システムを提供することができる。
以下、本発明の実施の形態を図面と共に説明する。
図1のブロック図を用いて、本発明の実施の形態にかかるプログラム最適化システム100の構成について説明する。プログラム最適化システム100は、数値制御装置(CNC)110、外部計算機120及び外部記憶装置130を有する。CNC110、外部計算機120及び外部記憶装置130は、典型的には中央情報処理装置(CPU)が記憶装置に格納されたプログラムに従って所定の処理を実行することにより後述の種々の処理部を論理的に実現する情報処理装置である。CNC110、外部計算機120及び外部記憶装置130は、通信回線等を介して相互に通信可能に接続されている。
図1のブロック図を用いて、本発明の実施の形態にかかるプログラム最適化システム100の構成について説明する。プログラム最適化システム100は、数値制御装置(CNC)110、外部計算機120及び外部記憶装置130を有する。CNC110、外部計算機120及び外部記憶装置130は、典型的には中央情報処理装置(CPU)が記憶装置に格納されたプログラムに従って所定の処理を実行することにより後述の種々の処理部を論理的に実現する情報処理装置である。CNC110、外部計算機120及び外部記憶装置130は、通信回線等を介して相互に通信可能に接続されている。
CNC110は、加工プログラムに基づいて図示しない工作機械等を制御する。これをプログラム運転という。また、CNC110は、外部記憶装置130から加工プログラムを逐次受信し、受信した加工プログラムを内蔵する転送バッファに一時的に蓄積してゆく。これをバッファリングと称する。そして、CNC110は、蓄積された加工プログラムを転送バッファから順次読み出してプログラム運転を行う。通常、CNC110は、プログラム運転に使用された分の加工プログラムを転送バッファから削除する。
外部計算機120は、加工プログラムのバッファリング及びプログラム運転のシミュレーションと、シミュレーション結果に基づく加工プログラムの最適化を実施する。外部計算機120は、CNCシミュレータ121、加工プログラム記憶部122及び転送速度制御部123を有する。
加工プログラム記憶部122は、外部記憶装置130から加工プログラムを取得して所定の記憶領域に格納する。
CNCシミュレータ121は、加工プログラム記憶部122に格納された加工プログラムを、転送速度制御部123を介して読み出す。そして、公知の手法によりバッファリング及びプログラム運転のシミュレーションを行う。これを加工シミュレーションと称する。CNCシミュレータ121は、加工シミュレーションの結果、ある時点において、プログラム運転により消費された加工プログラムの容量が、バッファリングにより蓄積された加工プログラムの容量に追いつき、加工プログラムの蓄積不足となる状態(バッファリング不足と称する)の発生を検出したならば、加工プログラムを最適化する処理を行う。すなわち、CNCシミュレータ121は、バッファリング不足が発生せず、かつ加工時間が最短となるよう加工プログラムを修正する。そしてCNCシミュレータ121は、最適化された加工プログラムを外部計算機120に転送する。
転送速度制御部123は、加工シミュレーションのパラメータとして、外部記憶装置130からCNC110に加工プログラムを転送する際の転送速度の下限値を予め保持している。また、転送速度制御部123は、加工プログラム記憶部122からCNCシミュレータ121への加工プログラムの転送速度が、この下限値となるように制御する。
外部記憶装置130は、所定の記憶領域に予め加工プログラムを格納しており、CNC110に対して加工プログラムを順次送信する処理を行う。本実施の形態では、外部記憶装置130は、まず最適化前の加工プログラムを外部計算機120に送信し、外部計算機120から最適化された加工プログラムを受信する。そして外部記憶装置130は、この最適化された加工プログラムをCNC110に対して送信することになる。
続いて、図2のフローチャートを用いて、プログラム最適化システム100の動作について説明する。
S1:
CNC110は、外部記憶装置130とCNC110との間の転送速度を測定、算出又は仮定し、転送速度の下限値を特定する。転送速度の測定、算出は公知の手法により実施可能である。例えば、図3に示すように、外部記憶装置130とCNC110との間の転送速度を所定の時間にわたって実測し、その時間内に測定された転送速度の最低値を下限値として特定することができる。例えば、転送速度の実測値が23Kbps乃至100Mbpsの範囲内であるならば、下限値は23Kbpsと特定できる。なお、測定値のうち例外的な値を除外することで、突発的な要因による転送速度の落ち込みを考慮することなく、ある程度安定した転送がなされる中での下限値を求めることもできる。
S1:
CNC110は、外部記憶装置130とCNC110との間の転送速度を測定、算出又は仮定し、転送速度の下限値を特定する。転送速度の測定、算出は公知の手法により実施可能である。例えば、図3に示すように、外部記憶装置130とCNC110との間の転送速度を所定の時間にわたって実測し、その時間内に測定された転送速度の最低値を下限値として特定することができる。例えば、転送速度の実測値が23Kbps乃至100Mbpsの範囲内であるならば、下限値は23Kbpsと特定できる。なお、測定値のうち例外的な値を除外することで、突発的な要因による転送速度の落ち込みを考慮することなく、ある程度安定した転送がなされる中での下限値を求めることもできる。
あるいは、CNC100の内部ソフトウェアの処理構造から下限値を特定することも可能である。すなわち、CNC100の内部処理の構造上、ある時間tで最低Xバイトの転送が保証されている場合には、下限値rは、r=x/tにより算出できる。
外部記憶装置130は、典型的には、一定の転送速度が保証されるバス等を介してCNC110に接続される。しかしながら、転送速度の下限値を測定、算出又は仮定できるのであれば、外部記憶装置130はネットワークを介してCNC110に接続されていても構わない。例えば、外部記憶装置130がサーバである場合等は後者にあたる。すなわち本実施の形態は、転送速度の下限値として0を超える値を特定可能であることを前提とするものであり、転送速度が0となる状況を想定するものではない。
図3に、下限値rの特定方法の一例を示す。
S2:
CNC110は、S1で特定した下限値と、加工シミュレーションに必要な諸情報(例えば機械構成、CNCシステム構成、システムパラメータ等、バッファリング及びプログラム運転の速度に影響を及ぼし得る情報)を、外部計算機120に転送する。
S2:
CNC110は、S1で特定した下限値と、加工シミュレーションに必要な諸情報(例えば機械構成、CNCシステム構成、システムパラメータ等、バッファリング及びプログラム運転の速度に影響を及ぼし得る情報)を、外部計算機120に転送する。
S3:
外部記憶装置130は、加工プログラムを外部計算機120に転送する。ここで転送される加工プログラムは、最適化前の加工プログラムである。加工プログラム記憶部122は受信した加工プログラムを格納する。
外部記憶装置130は、加工プログラムを外部計算機120に転送する。ここで転送される加工プログラムは、最適化前の加工プログラムである。加工プログラム記憶部122は受信した加工プログラムを格納する。
S4:
外部計算機120のCNCシミュレータ121は、S3で加工プログラム記憶部122に格納された加工プログラム、及びS2で取得した情報を用いて加工シミュレーションを実施する。加工シミュレーションは公知の手法により実施可能である。
外部計算機120のCNCシミュレータ121は、S3で加工プログラム記憶部122に格納された加工プログラム、及びS2で取得した情報を用いて加工シミュレーションを実施する。加工シミュレーションは公知の手法により実施可能である。
S5:
転送速度制御部123は、加工シミュレーションの際、加工プログラム記憶部122からCNCシミュレータ121へのデータ転送が、S1で特定された下限値で行われるよう速度制御する。
転送速度制御部123は、加工シミュレーションの際、加工プログラム記憶部122からCNCシミュレータ121へのデータ転送が、S1で特定された下限値で行われるよう速度制御する。
S6:
CNCシミュレータ121は、加工シミュレーションの間、転送バッファを監視し、バッファリング不足の発生を検出する。バッファリング不足が切削ブロックにおいて発生していた場合は、当該切削ブロックを記録する。
CNCシミュレータ121は、加工シミュレーションの間、転送バッファを監視し、バッファリング不足の発生を検出する。バッファリング不足が切削ブロックにおいて発生していた場合は、当該切削ブロックを記録する。
S7:
CNCシミュレータ121は、S6で記録した切削ブロックの前後の非切削ブロックを特定する。
CNCシミュレータ121は、S6で記録した切削ブロックの前後の非切削ブロックを特定する。
S8:
CNCシミュレータ121は、S6で記録した切削ブロック及びS7で特定した非切削ブロックを含む切削区間を最適化する処理を行う。すなわち、加工プログラム記憶部122内の加工プログラムを修正して、S1で特定した下限値においてもバッファリング不足が発生せず、かつ予測される加工時間が最短となるような加工プログラムを作成する。最適化処理は、例えば以下のような方法により実現可能である。
CNCシミュレータ121は、S6で記録した切削ブロック及びS7で特定した非切削ブロックを含む切削区間を最適化する処理を行う。すなわち、加工プログラム記憶部122内の加工プログラムを修正して、S1で特定した下限値においてもバッファリング不足が発生せず、かつ予測される加工時間が最短となるような加工プログラムを作成する。最適化処理は、例えば以下のような方法により実現可能である。
(a)切削区間内で繰り返し現れる指令集合を特定し、当該指令集合をサブプログラムとしてまとめる。これにより、サブプログラムは、CNC110(CNCシミュレータ121)において1回目に転送されたものが保存され、2回目以降の転送を行わずに済むようになる。したがって、加工プログラムの転送量を減らすことができる。
この場合、経路や速度の変更は発生しない。
この場合、経路や速度の変更は発生しない。
(b)切削区間内のブロックを複数個結合する。
例えば、複数の線分の加工指令を1つの線分にまとめることが可能である。具体的には、複数の線分で構成されていた折れ線や曲線を、1つの線分で近似することにより、加工プログラムの量自体を減らすことができる。
この場合、経路変更が発生することが一般的である。
例えば、複数の線分の加工指令を1つの線分にまとめることが可能である。具体的には、複数の線分で構成されていた折れ線や曲線を、1つの線分で近似することにより、加工プログラムの量自体を減らすことができる。
この場合、経路変更が発生することが一般的である。
(c)切削区間内の切削送り速度を変更する。
CNCシミュレータ121は、切削区間内の切削送り速度を段階的に変更しつつ、加工シミュレーションを繰り返し実行する。その結果、バッファリング不足が発生しなくなる最も速い切削速度が特定できたならば、この切削区間の切削速度を、特定された最も早い切削速度に変更する。
この場合、速度変更が発生する。
CNCシミュレータ121は、切削区間内の切削送り速度を段階的に変更しつつ、加工シミュレーションを繰り返し実行する。その結果、バッファリング不足が発生しなくなる最も速い切削速度が特定できたならば、この切削区間の切削速度を、特定された最も早い切削速度に変更する。
この場合、速度変更が発生する。
S9:
CNCシミュレータ121は、S8で最適化された加工プログラムを、外部記憶装置130に転送する。外部記憶装置130は、最適化された加工プログラムを、CNC110に転送する。これにより、CNC110においては、プログラム運転中のバッファリング不足に起因する予期せぬ又は切削加工中の減速又は停止が抑制される。減速が発生するとしても、速度変更は非切削ブロックにおいて行われるので、加工品位の低下が生じない。
CNCシミュレータ121は、S8で最適化された加工プログラムを、外部記憶装置130に転送する。外部記憶装置130は、最適化された加工プログラムを、CNC110に転送する。これにより、CNC110においては、プログラム運転中のバッファリング不足に起因する予期せぬ又は切削加工中の減速又は停止が抑制される。減速が発生するとしても、速度変更は非切削ブロックにおいて行われるので、加工品位の低下が生じない。
ここで図4のフローチャート及び図5を用いて、最適化手法(c)を採用した場合のCNCシミュレータ121の動作について、さらに具体的に説明する。
SC1:
CNCシミュレータ121は、下限値が設定されているかどうかを確認する。設定されている場合はSC2へ、設定されていない場合はSC9へ遷移する。
SC1:
CNCシミュレータ121は、下限値が設定されているかどうかを確認する。設定されている場合はSC2へ、設定されていない場合はSC9へ遷移する。
SC2:
CNCシミュレータ121は、設定された下限値を転送速度とする加工シミュレーションを開始する。加工プログラムの先頭ブロックを実行する。
CNCシミュレータ121は、設定された下限値を転送速度とする加工シミュレーションを開始する。加工プログラムの先頭ブロックを実行する。
SC3:
CNCシミュレータ121は、バッファリング不足の発生を監視する。実行したブロックが切削ブロックであって、バッファリング不足の発生を検出した場合はSC4へ、その他の場合はSC7へ遷移する。
CNCシミュレータ121は、バッファリング不足の発生を監視する。実行したブロックが切削ブロックであって、バッファリング不足の発生を検出した場合はSC4へ、その他の場合はSC7へ遷移する。
SC4:
CNCシミュレータ121は、バッファリング不足を検出した切削ブロックと、その前後の非切削ブロックに挟まれた切削区間を特定する。
図5に切削区間の具体例を示す。元のプログラムにおいて、切削ブロックである「N100」でバッファリング不足が検出されたものとする。この場合、図に示すように前後の非切削ブロックに挟まれた切削区間が特定される。
CNCシミュレータ121は、バッファリング不足を検出した切削ブロックと、その前後の非切削ブロックに挟まれた切削区間を特定する。
図5に切削区間の具体例を示す。元のプログラムにおいて、切削ブロックである「N100」でバッファリング不足が検出されたものとする。この場合、図に示すように前後の非切削ブロックに挟まれた切削区間が特定される。
SC5:
CNCシミュレータ121は、SC4で特定した切削区間内に限り、切削速度を変更する。例えば、現在の切削速度のn%(nは100未満)を新たな切削速度とする加工プログラムを作成する。
図5に修正処理の具体例を示す。元のプログラムにおいて、切削ブロックN101の切削速度の指令値は「F700」であった。修正後のプログラムでは、指令値が元の指令値の90%である「F630」に変更されている。
CNCシミュレータ121は、SC4で特定した切削区間内に限り、切削速度を変更する。例えば、現在の切削速度のn%(nは100未満)を新たな切削速度とする加工プログラムを作成する。
図5に修正処理の具体例を示す。元のプログラムにおいて、切削ブロックN101の切削速度の指令値は「F700」であった。修正後のプログラムでは、指令値が元の指令値の90%である「F630」に変更されている。
SC6:
CNCシミュレータ121は、SC5で修正されたプログラムを先頭ブロックから再実行する。
CNCシミュレータ121は、SC5で修正されたプログラムを先頭ブロックから再実行する。
SC7:
実行したブロックが最終ブロックでないならばSC8へ遷移する。最終ブロックであったならばSC9に遷移する。
実行したブロックが最終ブロックでないならばSC8へ遷移する。最終ブロックであったならばSC9に遷移する。
SC8:
次のブロックを実行する。
次のブロックを実行する。
SC9:
SC5において切削送り速度の変更を実施した場合にはSC10へ遷移する。変更していない場合は処理を終了する。
SC5において切削送り速度の変更を実施した場合にはSC10へ遷移する。変更していない場合は処理を終了する。
SC10:
SC5において切削送り速度の変更結果を反映した加工プログラムを作成し、外部記憶装置130に転送して処理を終了する。
SC5において切削送り速度の変更結果を反映した加工プログラムを作成し、外部記憶装置130に転送して処理を終了する。
本実施の形態にかかるプログラム最適化システム100では、外部計算機120が、転送速度の下限値を考慮して加工シミュレーションを行うことでバッファリング不足の発生を事前に予測する。そして、バッファリング不足が発生しないよう加工プログラムを修正する。これにより、予期せぬ又は切削加工中の減速又は停止を防止し、加工面品位の低下を抑制できる。
また、外部計算機120は、バッファリング不足を解消できる最も早い切削速度を特定する。これにより、加工速度を可能な限り犠牲にせずにバッファリング不足を解消することができる。
また、外部計算機120は、バッファリング不足を解消できる最も早い切削速度を特定する。これにより、加工速度を可能な限り犠牲にせずにバッファリング不足を解消することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。本発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
例えば、上述の実施の形態では、図2のS9において、CNCシミュレータ121は、最適化された加工プログラムを外部記憶装置130に転送した。ここでCNCシミュレータ121は、最適化された加工プログラムを加工プログラム記憶部122に反映することとしても良い。これにより、外部計算機120は、例えば複数の最適化手法を繰返し適用して加工プログラムを最適化することが可能になる。
外部計算機120は、複数の最適化手法を組み合わせて加工プログラムを最適化することが可能である。例えば、上述の最適化手法を(a)>(b)>(c)の順に適用し、バッファリング不足を解消できた段階で最適化処理を終了することとすれば、加工への影響を極力抑制した最適化が可能である。また、複数の最適化手法を重畳して適用することにより、よりバッファリング不足への耐性の高い加工プログラムを得ることが可能である。
また、上述の実施の形態では、外部計算機120は、バッファリング不足が予測される場合にのみ最適化処理を実行したが、本発明はこれに限定されるものではない。外部計算機120は、バッファリング不足が発生するか否かにかかわらず、最適化処理を実行することとしても良い。これにより、最適化手法(a)及び(b)を用いた場合には加工プログラムのサイズを削減することが可能となる。
また、最適化手法(c)を応用し、バッファリング不足が予測されない場合に、バッファリング不足が発生しない範囲内で切削送り速度を段階的に引き上げ、切削送り速度の上限値を求めて、この上限値で加工プログラムを修正する処理を行うこととしても良い。これにより、例えば荒加工プログラムにおける切削送り速度を引き上げることができ、加工効率を向上させる効果を得ることもできる。図6に、この変形例による修正処理の具体例を示す。元のプログラムにおいて、切削ブロックN100の切削速度の指令値は「F3000」「F2000」であった。修正後のプログラムでは、指令値が元の指令値の110%である「F3300」「F2200」に変更されている。
また、上述の実施の形態では、外部計算機120とCNC110とを独立した装置として説明した。しかしながら、CNC110が、外部計算機120の構成要素すなわちCNCシミュレータ121及び加工プログラム記憶部122等を備えることとしても良い。この場合、CNC110は、外部記憶装置130から取得した加工プログラムをまず内部で仮想的にテスト運転し、その結果最適化された加工プログラムでプログラム運転を行うことが考えられる。
また、上述の実施の形態では、CNCシミュレータ121は、最適化された加工プログラムを外部記憶装置130に転送した。しかしながら、CNCシミュレータ121は、最適化された加工プログラムをCNC110に直接転送しても良い。この場合、転送速度制御部123は、転送速度の下限値として、外部記憶装置130とCNC110との間の転送速度の下限値ではなく、外部計算機120とCNC110との間の転送速度の下限値を用いるべきである。
100 プログラム最適化システム
110 数値制御装置(CNC)
120 外部計算機
121 CNCシミュレータ
122 加工プログラム記憶部
123 転送速度制御部
130 外部記憶装置
110 数値制御装置(CNC)
120 外部計算機
121 CNCシミュレータ
122 加工プログラム記憶部
123 転送速度制御部
130 外部記憶装置
Claims (8)
- 加工プログラムを順次読み出して加工シミュレーションを行うCNCシミュレータと、
前記CNCシミュレータに前記加工プログラムを逐次転送する加工プログラム記憶部と、
前記加工プログラム記憶部と前記CNCシミュレータとの間の転送速度が予め定められた下限値となるよう制御する転送速度制御部と、を有し、
前記CNCシミュレータは、切削区間において、読み出すべき前記加工プログラムが不足するバッファリング不足を検出した場合に、前記加工プログラムを最適化し、前記バッファリング不足が発生しない最適化加工プログラムを作成することを特徴とする
プログラム最適化システム。 - 前記CNCシミュレータは、前記切削区間内で繰り返し現れる指令集合をサブプログラム化することにより、前記最適化を行うことを特徴とする
請求項1記載のプログラム最適化システム。 - 前記CNCシミュレータは、前記切削区間内の複数のブロックを1つに結合することにより、前記最適化を行うことを特徴とする
請求項1記載のプログラム最適化システム。 - 前記CNCシミュレータは、前記切削区間内の切削送り速度を変更することにより、前記最適化を行うことを特徴とする
請求項1記載のプログラム最適化システム。 - 前記CNCシミュレータは、前記切削区間内の切削送り速度を段階的に遅くすることにより、前記変更後の切削送り速度を特定することを特徴とする
請求項1記載のプログラム最適化システム。 - 前記CNCシミュレータ、前記加工プログラム記憶部及び前記転送速度制御部を有する外部計算機と、
前記最適化加工プログラムを順次読み出してプログラム運転を行う数値制御装置と、
前記数値制御装置に前記最適化加工プログラムを逐次転送する外部記憶装置と、をさらに有し、
前記CNCシミュレータが、前記最適化加工プログラムを前記外部記憶装置に転送することを特徴とする
請求項1記載のプログラム最適化システム。 - 前記CNCシミュレータ、前記加工プログラム記憶部及び前記転送速度制御部を有し、前記最適化加工プログラムを順次読み出してプログラム運転を行う数値制御装置と、
前記数値制御装置に前記最適化加工プログラムを逐次転送する外部記憶装置と、をさらに有することを特徴とする
請求項1記載のプログラム最適化システム。 - 前記CNCシミュレータ、前記加工プログラム記憶部及び前記転送速度制御部を有する外部計算機と、
前記最適化加工プログラムを順次読み出してプログラム運転を行う数値制御装置と、をさらに有し、
前記CNCシミュレータが、前記最適化加工プログラムを前記数値制御装置に転送することを特徴とする
請求項1記載のプログラム最適化システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016202515A JP6325625B2 (ja) | 2016-10-14 | 2016-10-14 | プログラム最適化システム |
US15/712,190 US10528040B2 (en) | 2016-10-14 | 2017-09-22 | Program optimization system |
DE102017123339.3A DE102017123339B4 (de) | 2016-10-14 | 2017-10-09 | Programmoptimierungssystem |
CN201710953530.1A CN107957912B (zh) | 2016-10-14 | 2017-10-13 | 程序最佳化*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016202515A JP6325625B2 (ja) | 2016-10-14 | 2016-10-14 | プログラム最適化システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018063640A JP2018063640A (ja) | 2018-04-19 |
JP6325625B2 true JP6325625B2 (ja) | 2018-05-16 |
Family
ID=61764911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016202515A Active JP6325625B2 (ja) | 2016-10-14 | 2016-10-14 | プログラム最適化システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10528040B2 (ja) |
JP (1) | JP6325625B2 (ja) |
CN (1) | CN107957912B (ja) |
DE (1) | DE102017123339B4 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7057303B2 (ja) * | 2019-03-14 | 2022-04-19 | ファナック株式会社 | 加工シミュレート装置及び加工シミュレートプログラム |
CN110221580B (zh) * | 2019-05-29 | 2020-07-10 | 华中科技大学 | 一种基于主轴数据仿真的进给速度优化方法 |
JP7343340B2 (ja) * | 2019-09-18 | 2023-09-12 | ファナック株式会社 | 工作機械の加工制御装置及び加工制御方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0182281B1 (de) * | 1984-11-13 | 1990-10-03 | Quick-Rotan Elektromotoren GmbH | Nähprozessoranordnung |
JPH0635096B2 (ja) * | 1986-10-23 | 1994-05-11 | 株式会社牧野フライス製作所 | Nc加工方法と装置 |
JPH01194006A (ja) * | 1988-01-29 | 1989-08-04 | Fanuc Ltd | フロッピィディスク駆動用モータの制御装置 |
JP3230922B2 (ja) * | 1994-02-25 | 2001-11-19 | オークマ株式会社 | リモート運転機能を備えた数値制御装置 |
JP3113792B2 (ja) | 1995-04-27 | 2000-12-04 | 松下電器産業株式会社 | 最適化装置 |
JP2000163115A (ja) * | 1998-11-27 | 2000-06-16 | Yaskawa Electric Corp | 数値制御装置の送り速度制御方法 |
DE19936773B4 (de) | 1999-08-09 | 2007-06-06 | Krug, Wilfried, Prof. Dr.-Ing. habil. | Verfahren und Anordnung zur Steuerung komplexer Prozesse |
DE19983984T1 (de) * | 1999-12-17 | 2002-12-05 | Mitsubishi Electric Corp | Verarbeitungsverfahren zur Steuerung mit numerischen Werten und System zur Steuerung mit numerischen Werten für ein Maschinenwerkzeug |
JP3607170B2 (ja) * | 2000-07-11 | 2005-01-05 | 川崎重工業株式会社 | Ncデータ転送方法及び装置 |
DE10297651T5 (de) | 2002-02-07 | 2005-05-19 | Mitsubishi Denki K.K. | Numerisches Steuerverfahren und numerisches Steuersystem |
PL1900695T3 (pl) * | 2006-08-17 | 2012-05-31 | Albat Wirsam Software Ag | Sposób i urządzenie do przycinania płyt ze szkła surowego |
DE112010002245T8 (de) * | 2009-06-03 | 2013-03-14 | Mitsubishi Electric Corp. | Numerische steuerungsvorrichtung und produktionssystem |
CN102934539B (zh) | 2010-04-29 | 2015-12-02 | 富士机械制造株式会社 | 集中控制装置及集中控制方法 |
CN103760830B (zh) | 2014-02-11 | 2016-04-13 | 苏州新代数控设备有限公司 | 自动调整加工速度的计算机数值控制*** |
JP6068401B2 (ja) | 2014-07-30 | 2017-01-25 | ファナック株式会社 | 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置 |
-
2016
- 2016-10-14 JP JP2016202515A patent/JP6325625B2/ja active Active
-
2017
- 2017-09-22 US US15/712,190 patent/US10528040B2/en active Active
- 2017-10-09 DE DE102017123339.3A patent/DE102017123339B4/de active Active
- 2017-10-13 CN CN201710953530.1A patent/CN107957912B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US10528040B2 (en) | 2020-01-07 |
DE102017123339B4 (de) | 2022-10-06 |
CN107957912B (zh) | 2021-04-09 |
JP2018063640A (ja) | 2018-04-19 |
US20180107199A1 (en) | 2018-04-19 |
CN107957912A (zh) | 2018-04-24 |
DE102017123339A1 (de) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6325625B2 (ja) | プログラム最適化システム | |
US8873076B2 (en) | Information processing apparatus, information processing method, information processing system, and storage medium | |
JPH04227537A (ja) | プリンタおよびプリントジョブ制御装置 | |
US20140372656A1 (en) | Data processing device, semiconductor external view inspection device, and data volume increase alleviation method | |
US20170147411A1 (en) | Processing device, processing device control method, and storage medium | |
JP2000122817A (ja) | ネットワークプリンタ | |
US10018990B2 (en) | Numerical controller including DNC operation unit | |
US10768976B2 (en) | Apparatus and method to configure an optimum number of circuits for executing tasks | |
JP6115482B2 (ja) | 電子制御装置 | |
US10409262B2 (en) | Numerical controller for data request with variable data size | |
JP2017151752A (ja) | 画像処理装置、画像処理システム、画像処理方法及びプログラム | |
JP2006018642A (ja) | Dma転送制御装置 | |
JP4211375B2 (ja) | データ転送制御方法、データ転送回路装置およびこれを備えた印刷装置 | |
KR100944513B1 (ko) | 프린팅 장치 및 방법 | |
JP5701034B2 (ja) | データ処理装置、データ処理装置の制御方法、及びプログラム | |
JP2010277422A (ja) | 割り込み処理装置 | |
CN111813053A (zh) | 数控***中针对速度滤波导致转角处速度超限进行控制的方法、装置及其存储介质 | |
JP2020110926A (ja) | 画像形成装置、画像形成装置の制御方法、画像形成システム、及びプログラム | |
US8914591B2 (en) | Information processing apparatus, method for controlling same | |
JP2006302005A (ja) | 印刷装置及び印刷方法 | |
JPH0863306A (ja) | 印刷装置 | |
JP7243172B2 (ja) | 画像処理装置 | |
JP2020091588A (ja) | 電子機器及びその制御方法、並びにプログラム | |
JP2016111527A (ja) | 画像形成装置 | |
JP2019089212A (ja) | 連続紙印刷装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180308 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6325625 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |