JP7414466B2 - 最適化処理装置 - Google Patents

最適化処理装置 Download PDF

Info

Publication number
JP7414466B2
JP7414466B2 JP2019192896A JP2019192896A JP7414466B2 JP 7414466 B2 JP7414466 B2 JP 7414466B2 JP 2019192896 A JP2019192896 A JP 2019192896A JP 2019192896 A JP2019192896 A JP 2019192896A JP 7414466 B2 JP7414466 B2 JP 7414466B2
Authority
JP
Japan
Prior art keywords
code
block
function code
program
preparation function
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
Application number
JP2019192896A
Other languages
English (en)
Other versions
JP2021068180A (ja
Inventor
稔文 村松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019192896A priority Critical patent/JP7414466B2/ja
Priority to US17/010,096 priority patent/US11320800B2/en
Priority to DE102020124479.7A priority patent/DE102020124479A1/de
Priority to CN202011128941.5A priority patent/CN112698624A/zh
Publication of JP2021068180A publication Critical patent/JP2021068180A/ja
Application granted granted Critical
Publication of JP7414466B2 publication Critical patent/JP7414466B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/404Numerical 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 control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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/4183Total 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 data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35215Generate optimal nc program variant as function of cost, time, surface, energy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35216Program, generate nc program, code from cad data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35252Function, machine codes G, M
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36242Convert program for different machines with different M-code, G-code, header
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Numerical Control (AREA)

Description

本発明は、最適化処理装置に関する。
加工プログラムは、例えば、CAD/CAM装置や、工作機械のオペレータ等により生成される。加工プログラムに含まれるNC指令コードの準備機能(G機能)や補助機能(M機能)等のNC指令コードの多くはJIS B6314等により規格化されている。
しかしながら、工作機械等の機能を向上させるための様々な追加機能のG機能やM機能等のNC指令コードが、JIS B6314等の規格とは別に工作機械メーカ毎に考案さている。
この点、自己のNC指令コードと、このNC指令コードと同じ機能を指定する他のNC指令コードとの対応関係を記憶した変換テーブルを参照し、入力された加工プログラムの仕様の異なるNC指令コードを自己のNC指令コードに読み換えて加工プログラムを実行する技術が知られている。例えば、特許文献1参照。
特開平10-320027号公報
ところで、CAD/CAM装置のポストプロセッサにより各種工作機械向けに加工プログラムが生成される。しかしながら、生成される加工プログラムは、確実に動作することが重視されるため必ずしも必要でないG機能(以下、「Gコード」ともいう)及びM機能(以下、「Mコード」ともいう)のNC指令コードが挿入されたり、重複することがある。また、処理の順序についても処理時間について必ずしも考慮されていない。このため、工作機械の動作が遅くなり、サイクルタイムが伸びるという問題がある。なお、オペレータ、特に加工プログラムに不慣れなオペレータが作成した加工プログラムについても同様の問題がある。
そこで、生成された加工プログラムに含まれるNC指令コードを最適化し、工作機械の動作を速くすることが望まれている。
本開示の最適化処理装置の一態様は、第1プログラム(以下、「ソースプログラム」ともいう)に含まれるブロック毎の準備機能コード及び/又は補助機能コードを解析するブロック解析部と、前記ブロック解析部の解析結果に基づいて、連続する複数のブロックの前記準備機能コード及び/又は補助機能コードに対して処理を行い、前記第1プログラムを最適化するコード処理部と、前記コード処理部により最適化された前記第1プログラムを第2プログラム(以下、「オブジェクトプログラム」ともいう)として生成するプログラム生成部と、を備える。
一態様によれば、生成された加工プログラムに含まれるNC指令コードを最適化し、工作機械の動作を速くすることができる。
一実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。 削除処理部の削除処理を説明するソースプログラムの一例を示す図である。 削除処理後のソースプログラムの一例を示す図である。 第2統合処理部におけるブロックの統合処理を説明するソースプログラムの一例を示す図である。 統合処理後のソースプログラムの一例を示す図である。 第2統合処理部におけるブロックの統合処理を説明するソースプログラムの一例を示す図である。 統合処理後のソースプログラムの一例を示す図である。 ブロック入替処理部の入替処理を説明するソースプログラムの一例を示す図である。 入替処理後のソースプログラムの一例を示す図である。 座標値入替処理部の入替処理を説明するソースプログラムの一例を示す図である。 図6Aのソースプログラムにおける工作機械の工具の順路の一例を示す図である。 入替処理後のソースプログラムの一例を示す図である。 図7Aのソースプログラムにおける工作機械の工具の順路の一例を示す図である。 置換処理部の置換処理を説明するソースプログラムの一例を示す図である。 置換処理後のソースプログラムの一例を示す図である。 数値制御装置の最適化処理について説明するフローチャートである。 図9の最適化処理の続きを示すフローチャートである。 図9の最適化処理の続きを示すフローチャートである。 図9の最適化処理の続きを示すフローチャートである。 図9の最適化処理の続きを示すフローチャートである。 制御システムの構成の一例を示す図である。 マンマシンインタフェースの一例を示す図である。
<一実施形態>
まず、本実施形態の概略を説明する。本実施形態では、最適化処理装置は、第1プログラムに含まれる各ブロックに対する準備機能コード及び/又は補助機能コードを解析する。最適化処理装置は、解析結果に基づいて、連続する複数のブロックの準備機能コード及び/又は補助機能コードに対して処理時間を短縮させるための最適化処理を行い第1プログラムを最適化し、最適化された第1プログラムを第2プログラムとして生成する。
これにより、本実施形態によれば、「生成された加工プログラムに含まれるNC指令コードを最適化し、工作機械の動作を速くする」という課題を解決することができる。
以上が本実施形態の概略である。
次に、本実施形態の構成について図面を用いて詳細に説明する。
図1は、一実施形態に係る制御システムの機能的構成例を示す機能ブロック図である。図1に示すように、制御システム1は、数値制御装置10、及び工作機械20を有する。
数値制御装置10、及び工作機械20は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、数値制御装置10、及び工作機械20は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、数値制御装置10、及び工作機械20は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。なお、後述するように、工作機械20は、数値制御装置10を含むようにしてもよい。
数値制御装置10は、当業者にとって公知の数値制御装置であり、制御情報に基づいて動作指令を生成し、生成した動作指令を工作機械20に送信する。これにより、数値制御装置10は、工作機械20の動作を制御する。なお、工作機械20がロボット等の場合、数値制御装置10は、ロボット制御装置等でもよい。
また、数値制御装置10の制御対象は工作機械20やロボットに限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々な機械を含む。
図1に示すように、数値制御装置10は、制御部100、及び記憶部200を有する。そして、制御部100は、数値制御装置10が最適化処理装置として動作するために、最適化部110、及びプログラム実行部120を有する。また、最適化部110は、ブロック解析部111、コード処理部112、情報出力部113、及びNCプログラム生成部114を有する。さらに、コード処理部112は、削除処理部1121、第1統合処理部1122、第2統合処理部1123、ブロック入替処理部1124、座標値入替処理部1125、及び置換処理部1126を有する。
<記憶部200>
記憶部200は、RAMやHDD等である。記憶部200は、ソースプログラム210、及びオブジェクトプログラム220を記憶する。
ソースプログラム210は、CAD/CAM装置等の外部装置や、工作機械20のオペレータ等により生成され取得された最適化前の加工プログラムである。
オブジェクトプログラム220は、後述するコード処理部112により処理されたソースプログラム210が後述するNCプログラム生成部114により生成された最適化後の加工プログラムである。
<制御部100>
制御部100は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUは数値制御装置10を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、前記システムプログラム及びアプリケーションプログラムに従って数値制御装置10全体を制御する。これにより、図1に示すように、制御部100が、ブロック解析部111、コード処理部112、情報出力部113、及びNCプログラム生成部114の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。CMOSメモリは図示しないバッテリでバックアップされ、数値制御装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
ブロック解析部111は、例えば、CAD/CAM装置等の外部装置及び/又はオペレータにより生成された加工プログラムを、ソースプログラム210として記憶部200から取得する。ブロック解析部111は、取得されたソースプログラム210に含まれる各ブロックに対する準備機能コード(Gコード)及び/又は補助機能コード(Mコード)を解析する。
なお、ソースプログラム210は、例えば、JIS B6315-1、及びJIS B6315-2の規格に基づく。
コード処理部112は、ブロック解析部111の解析結果に基づいて、ソースプログラム210の連続する複数のブロックの所定の準備機能コード及び/又は所定の補助機能コードに対して最適化処理を行い、ソースプログラム210を最適化する。
削除処理部1121は、連続する複数のブロックにおいて、準備機能コードが現れたブロックにだけ影響するコードではなく、且つ前記準備機能コードが連続する他のブロックの準備機能コードと同じ場合、不必要な準備機能コードが重複していると判定する。削除処理部1121は、最初のブロック以外のブロックの準備機能コードを削除する。
図2A及び図2Bは、削除処理部1121の削除処理を説明するソースプログラム210の一例を示す図である。
図2Aのソースプログラム210は、最初に現在の工具位置からX軸方向に「-10」及びY軸方向に「+10」だけ、工作機械20の工具(図示しない)を「F350」の速度で直線補間により移動させる。次に、ソースプログラム210は、移動した位置からX軸方向に「-10」及びY軸方向に「-10」だけ、工作機械20の工具(図示しない)を「F350」の速度で直線補間により移動させる。最後に、ソースプログラム210は、移動した位置からX軸方向に「+10」及びY軸方向に「+10」だけ、工作機械20の工具(図示しない)を「F350」の速度で直線補間により移動させる。
なお、「G91」及び「G01」の準備機能コードは、モーダルグループのコードであることから、一度設定されると設定が変更又はキャンセルされるまで有効である。そこで、削除処理部1121は、図2Bに示すように、図2Aのソースプログラム210の最初のブロック以外の「G91」及び「G01」のコードを削除する。これにより、ソースプログラム210が最適化され、オブジェクトプログラム220の実行時に数値制御装置10の処理を減らすことができ、実行時間を短縮することができる。
第1統合処理部1122は、連続する複数のブロックにおいて、準備機能コードが現れたブロックにだけ影響するコードではなく、且つ前記準備機能コードが連続する他のブロックの準備機能コードと異なるモーダルグループのコードの場合、複数のブロックを統合する。
第2統合処理部1123は、連続する複数のブロックにおいて、準備機能コードが現れたブロックにだけ影響するコードではなく、且つ準備機能コードが連続する他のブロックの準備機能コードと異なるモーダルグループのコードであるとともに、他のブロックに含まれる補助機能コードが単独で他のブロックに指令する必要がなく、且つ相反する動作でない場合、複数のブロックを統合する。
図3A及び図3Bは、第2統合処理部1123におけるブロックの統合処理を説明するソースプログラム210の一例を示す図である。
図3Aのソースプログラム210は、3行目のブロックにおいて工具交換指令「M6」を実行し、4行目のブロックにおいて位置決め指令「G00」を実行する。ここで、位置決め指令「G00」は、4行目のブロックにだけ影響するコードではなく、且つ連続する3行目のブロックの工具長補正キャンセル指令「G49」と異なるモーダルグループのコードである。また、工具交換指令「M6」は、単独で他のブロックに指令する必要がなく、且つ相反する動作でない。そこで、第2統合処理部1123は、図3Bに示すように、3行目のブロックの工具交換指令「M6」と4行目のブロックの位置決め指令「G00」とを統合する。これにより、ソースプログラム210が最適化され、工具交換指令「M6」と位置決め指令「G00」とを同時に行うことができ、サイクルタイムを短縮することができる。
図4A及び図4Bは、第2統合処理部1123におけるブロックの統合処理を説明するソースプログラム210の一例を示す図である。
図4Aのソースプログラム210は、2行目のブロックにおいて工具長補正指令「G43」を実行し、3行目のブロックにおいて主軸回転指令「M3」を実行する。ここで、工具長補正指令「G43」は、2行目のブロックにだけ影響するコードではなく、且つ連続する1行目のブロックの工具長補正キャンセル指令「G49」等と異なるモーダルグループのコードである。また、主軸回転指令「M3」は、単独で他のブロックに指令する必要がなく、且つ相反する動作でない。そこで、第2統合処理部1123は、図4Bに示すように、2行目のブロックの工具長補正指令「G43」と3行目のブロックの主軸回転指令「M3」とを統合する。これにより、ソースプログラム210が最適化され、工具長補正指令「G43」と主軸回転指令「M3」とを同時に行うことができ、補助機能コードの処理時間がサイクルタイムに影響し難くなる。
ブロック入替処理部1124は、連続する複数のブロックにおいて、補助機能コードが前のブロックに含まれる準備機能コード又は補助機能コードと相反する動作でない場合、複数のブロックの順番を入れ替える。
図5A及び図5Bは、ブロック入替処理部1124の入替処理を説明するソースプログラム210の一例を示す図である。
図5Aのソースプログラム210は、最初に位置決め指令「G00」を実行し、クーラント吐出指令「M08」を実行し、直線補間による移動指令「G01」を実行する。ここで、クーラント吐出指令「M08」は、位置決め指令「G00」や直線補間による移動指令「G01」の準備機能コードと相反する動作でない。そこで、ブロック入替処理部1124は、図5Bに示すように、クーラント吐出指令「M08」を1行目のブロックの位置決め指令「G01」と入れ替える。これにより、ソースプログラム210が最適化され、実行時間を短縮することができる。
また、クーラント吐出指令「M08」が指令されても、クーラントが実際に吐出されるまでにタイムラグがある。このため、クーラント吐出指令「M08」が3行目のブロックの直線補間による移動指令「G01」直前から位置決め指令「G00」の前に移動することで、クーラントが吐出されていることを確認して、工作機械20を加工動作させることができる。
座標値入替処理部1125は、連続する複数のブロックにおいて、最初のブロックの準備機能コードが固定サイクルの準備機能コードであり、且つ最後のブロックの準備機能コードが最初のブロックの準備機能コードに対応する固定サイクルのキャンセルの準備機能コードの場合、複数のブロックの間に含まれるディメンジョンワードで指定される複数の座標値に対し、座標値間の移動距離又は移動時間の合計が最小となるように複数の座標値を入れ替える。
図6A及び図6B、並びに図7A及び図7Bは、座標値入替処理部1125の入替処理を説明するソースプログラム210の一例を示す図である。
図6Aのソースプログラム210は、1行目のブロックに固定サイクルの準備機能コードであるドリルサイクル、スポットボーリングサイクル指令「G81」を有し、4行目のブロックに「G81」に対応する固定サイクルキャンセル指令「G80」を有する。そして、ソースプログラム210は、1行目から4行目のブロックの間におけるディメンジョンワードで指定される座標値に基づいて、図6Bに示すように、工作機械20のドリル等の工具(図示しない)を指令位置Aから指令位置Dの順番に移動させる。
しかしながら、図6Bに示す順路では、工作機械20の工具(図示しない)の移動距離が無駄に長く、サイクルタイムが伸びてしまう。そこで、座標値入替処理部1125は、例えば、指令位置Aから指令位置Dを巡回セールスマン問題におけるノードと見なすことで移動距離又は移動時間の合計が最小となるように、指令位置Aから指令位置Dに移動する順番を最適化する。
なお、巡回セールスマン問題は、公知の方法であり、詳細な説明は省略する。また、移動距離又は移動時間の合計が最小となるように移動する順番を最適化する方法は、巡回セールスマン問題に限定されず、他の公知の方法を用いてもよい。
図7Aは、入替処理後のソースプログラム210の一例を示す図である。図7Bは、図7Aのソースプログラム210における工作機械の工具(図示しない)の順路の一例を示す図である。
図7Aに示すように、ソースプログラム210において2行目及び3行目のブロックの座標値が、図6Aの場合と比較して入れ替えることで、図7Bに示すように、工作機械20のドリル等の工具(図示しない)は、指令位置A、指令位置C、指令位置B、及び指令位置Dの順番に移動する。これにより、工作機械20の工具(図示しない)の累計の移動距離が短くなり、サイクルタイムを短縮することができる。
なお、巡回セールスマン問題に基づいて指令位置間の距離をコスト、移動距離を評価関数と見なす場合、図6Bに示す順路の評価関数は「48」となり、図7Bに示す順路の評価関数は「40」となる。すなわち、図7Bに示す順路が最小となる。
置換処理部1126は、連続する複数のブロックにおいて、最初のブロックの準備機能コードが固定サイクルの準備機能コードであり、且つ最後のブロックの準備機能コードが最初のブロックの準備機能コードに対応する固定サイクルのキャンセルの準備機能コードの場合、複数のブロックを固定サイクルの準備機能コードから補間の準備機能コードの組合せで置換する。
図8A及び図8Bは、置換処理部1126の置換処理を説明するソースプログラム210の一例を示す図である。
図8Aのソースプログラム210は、1行目のブロックに固定サイクルの準備機能コードであるドリルサイクル、スポットボーリングサイクル指令「G81」を有し、2行目のブロックに「G81」に対応する固定サイクルキャンセル指令「G80」を有する。この場合、置換処理部1126は、図8Bに示すように、ドリルサイクル、スポットボーリングサイクル指令「G81」等の固定サイクルの準備機能コードから、位置決め指令「G00」や直線補間による移動指令「G01」等の各種補間の準備機能コードに置き換える。このように、固定サイクルの準備機能コードから各種補間の準備機能コードに置き換えることで、実行時間を短縮することができる。
情報出力部113は、コード処理部112により最適化処理された準備機能コード又は補助機能コードを含むブロックの直前又は直後のブロックに、コード処理部112により行われた処理内容を示す情報を出力する。情報出力部113は、情報が出力されたソースプログラム210をNCプログラム生成部114に出力する。
なお、情報出力部113は、コード処理部112により行われた処理内容を示す情報を数値制御装置10に含まれる液晶ディスプレイ等の表示部(図示しない)に出力してもよい。そして、表示部(図示しない)は、コード処理部112により行われた処理内容を表示してもよい。これにより、数値制御装置10のオペレータは、ソースプログラム210に対してどのような処理が行われているかを確認することができる。
また、情報出力部113は、コード処理部112により行われた処理内容に基づいて、オブジェクトプログラム220の実行時間の予測値を算出し、表示部(図示しない)に出力してもよい。そして、表示部(図示しない)は、情報出力部113により算出された予測値を表示してもよい。これにより、数値制御装置10のオペレータは、ソースプログラム210に対する最適化処理により実行時間がどれだけ短縮されるかを確認することができる。
NCプログラム生成部114は、コード処理部112により最適化されたソースプログラム210をオブジェクトプログラム220として生成する。
具体的には、NCプログラム生成部114は、コード処理部112により処理されたソースプログラム210からオブジェクトプログラム220を生成する。そして、NCプログラム生成部114は、生成されたオブジェクトプログラム220を記憶部200に記憶する。
なお、NCプログラム生成部114は、オブジェクトプログラム220をソースプログラム210と別に生成したが、オブジェクトプログラム220をソースプログラム210と置き換えて生成してもよい。
プログラム実行部120は、NCプログラム生成部114により生成されたオブジェクトプログラム220を記憶部200から読み込み実行する。プログラム実行部120は、オブジェクトプログラム220に基づいて動作指令を生成し、生成した動作指令を工作機械20に送信することで、工作機械20の動作を制御する。
<数値制御装置10の最適化処理>
次に、本実施形態に係る数値制御装置10の最適化処理に係る動作について説明する。
図9から図13は、数値制御装置10の最適化処理について説明するフローチャートである。ここで示すフローは、新たなソースプログラム210が取得される度に繰り返し実行される。
図9のステップS11において、ブロック解析部111は、ソースプログラム210のブロックが補助機能コードを含むか否かを判定する。補助機能コードを含む場合、処理はステップS12に進む。一方、補助機能コードを含まない場合、処理はステップS13に進む。
ステップS12において、ブロック解析部111は、ソースプログラム210のブロックが準備機能コードを含むか否かを判定する。準備機能コードを含む場合、処理は図12のステップS41に進む。一方、準備機能コードを含まない場合、処理は図11のステップS31に進む。
ステップS13において、ブロック解析部111は、ソースプログラム210のブロックが準備機能コードを含むか否かを判定する。準備機能コードを含む場合、処理はステップS14に進む。一方、準備機能コードを含まない場合、処理はステップS15に進む。
ステップS14において、削除処理部1121は、ステップS13で判定されたブロックの準備機能コードが当該ブロックだけで有効な準備機能コードか否かを判定する。当該ブロックだけで有効な準備機能コードの場合、処理はステップS15に進む。一方、当該ブロックだけで有効な準備機能コードでない、すなわち他のブロックに対しても有効な準備機能コードの場合、処理は図12のステップS21に進む。
ステップS15において、コード処理部112は、処理された指令コードを生成する。そして、数値制御装置10は、最適化処理を終了する。
図10のステップS21において、削除処理部1121は、図9のステップS14で判定されたブロックの準備機能コードが当該ブロックより前の前ブロックと同じ準備機能コードか否かを判定する。前ブロックと同じ準備機能コードの場合、処理はステップS22に進む。一方、前ブロックと異なる準備機能コードの場合、処理はステップS23に進む。
ステップS22において、削除処理部1121は、図2Bの場合と同様に、最初のブロック以外のブロックの準備機能コードを削除する。
ステップS23において、第2統合処理部1123は、ステップS21で判定されたブロックの準備機能コードが前ブロックと同じモーダルグループの準備機能コードを含むか否かを判定する。前ブロックと同じモーダルグループの準備機能コードを含む場合、処理はステップS29に進む。一方、前ブロックと異なるモーダルグループの準備機能コードを含む場合、処理はステップS24に進む。
ステップS24において、座標値入替処理部1125は、ステップS23で判定されたブロックが固定サイクルの準備機能コードを含むか否かを判定する。固定サイクルの準備機能コードを含む場合、処理はステップS25に進む。一方、固定サイクルの準備機能コードを含まない場合、処理は図13のステップS51に進む。
ステップS25において、座標値入替処理部1125は、ステップS24で判定されたブロック以降に出現するブロックにおける指令位置の座標値(アドレス)を保存しながら、ステップS24で判定されたブロックの準備機能コードに対応する固定サイクルのキャンセルの準備機能コードを含むブロックまで読み込む。
ステップS26において、座標値入替処理部1125は、ステップS25で保存された指令位置の座標値に対して、指令位置間の移動距離又は移動時間を評価関数とし、巡回セールスマン問題を解くことで移動する順番を変更する。
ステップS27において、置換処理部1126は、固定サイクルの準備機能コードを位置決め指令「G00」、直線補間による移動指令「G01」、時計方向の円弧補間「G02」、及び反時計方向の円弧補間「G03」の各種補間の準備機能コードの組合せで置き換える。
ステップS28において、情報出力部113は、コード処理部112により行われた処理内容を示す文字列(情報)を生成し、生成された文字列をステップS26又はステップS27で処理された準備機能コードを含むブロックの直前又は直後のブロックに出力する。
ステップS29において、コード処理部112は、処理された指令コードを生成する。そして、数値制御装置10は、最適化処理を終了する。
図11のステップS31において、ブロック入替処理部1124は、図1のステップS12で判定されたブロックの補助機能コードが準備機能コードと同時実行不可か否かを判定する。補助機能コードが準備機能コードと同時実行不可の場合、処理はステップS32に進む。一方、補助機能コードが準備機能コードと同時実行可能の場合、処理はステップS35に進む。
ステップS32において、ブロック入替処理部1124は、補助機能コードが準備機能コードの動作に影響を与えないか否かを判定する。補助機能コードが準備機能コードの動作に影響を与えない場合、処理はステップS33に進む。一方、補助機能コードが準備機能コードの動作に影響を与える場合、処理はステップS38に進む。
ステップS33において、ブロック入替処理部1124は、図5Bの場合と同様に、補助機能コードのブロックを前に移動させる。
ステップS34において、情報出力部113は、コード処理部112により行われた処理内容を示す文字列を生成し、生成された文字列をステップS33で処理された補助機能コードを含むブロックの直前又は直後のブロックに出力する。
ステップS35において、第2統合処理部1123は、前ブロックに同時実行不可な補助機能コードが含まれないか否かを判定する。前ブロックに同時実行不可な補助機能コードが含まれない場合、処理はステップS36に進む。一方、前ブロックに同時実行不可な補助機能コードが含まれる場合、処理はステップS38に進む。
ステップS36において、第2統合処理部1123は、図3B及び図4Bの場合と同様に、補助機能コードを前ブロックと統合する。
ステップS37において、情報出力部113は、処理結果の内容を示す文字列を生成し、生成された文字列をステップS36で処理された補助機能コードを含むブロックの直前又は直後のブロックに出力する。
ステップS38において、コード処理部112は、処理された指令コードを生成する。そして、数値制御装置10は、最適化処理を終了する。
図12のステップS41において、第2統合処理部1123は、図9のステップS12で判定されたブロックが前ブロックと同じモーダルグループの準備機能コードを含むか否かを判定する。前ブロックと同じモーダルグループの準備機能コードを含む場合、処理はステップS45に進む。一方、前ブロックと同じモーダルグループの準備機能コードを含まない場合、処理はステップS42に進む。
ステップS42において、第2統合処理部1123は、前ブロックに同時実行不可な補助機能コードが含まれないか否かを判定する。前ブロックに同時実行不可な補助機能コードが含まれない場合、処理はステップS43に進む。一方、前ブロックに同時実行不可な補助機能コードが含まれる場合、処理はステップS45に進む。
ステップS43において、第2統合処理部1123は、準備機能コード・補助機能コードを前ブロックと統合する。
ステップS44において、情報出力部113は、コード処理部112により行われた処理内容を示す文字列を生成し、生成された文字列をステップS43で処理された準備機能コード及び/又は補助機能コードを含むブロックの直前又は直後のブロックに出力する。
ステップS45において、コード処理部112は、処理された指令コードを生成する。そして、数値制御装置10は、最適化処理を終了する。
図13のステップS51において、第1統合処理部1122は、前ブロックに同時実行不可な補助機能コードが含まれないか否かを判定する。前ブロックに同時実行不可な補助機能コードが含まれない場合、処理はステップS52に進む。一方、前ブロックに同時実行不可な補助機能コードが含まれる場合、処理はステップS54に進む。
ステップS52において、第1統合処理部1122は、準備機能コードを前ブロックと統合する。
ステップS53において、情報出力部113は、コード処理部112により行われた処理内容を示す文字列を生成し、生成された文字列をステップS52で処理された準備機能コードを含むブロックの直前又は直後のブロックに出力する。
ステップS54において、コード処理部112は、処理された指令コードを生成する。そして、数値制御装置10は、最適化処理を終了する。
以上により、一実施形態の数値制御装置10は、ソースプログラム210の各ブロックにおける準備機能コード及び補助機能コードの指令内容及び並び方に応じて、削除処理、統合処理、ブロック入替処理、座標値入替処理、及び置換処理を行う。これにより、数値制御装置10は、生成された加工プログラムに含まれるNC指令コードを最適化し、工作機械20の動作を速くすることができる。そして、サイクルタイムを短縮することができる。
以上、一実施形態について説明したが、数値制御装置10は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
上述の実施形態では、数値制御装置10は、工作機械20と異なる装置として例示したが、数値制御装置10の一部又は全部の機能を、工作機械20が備えるようにしてもよい。
また、数値制御装置10の最適化部110の一部又は全部の機能が、コンピュータ装置等の情報処理装置により最適化処理装置として実現されてもよい。
あるいは、数値制御装置10のブロック解析部111、削除処理部1121、第1統合処理部1122、第2統合処理部1123、ブロック入替処理部1124、座標値入替処理部1125、置換処理部1126、プログラム実行部120、及び記憶部200の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、数値制御装置10の各機能を実現してもよい。
さらに、数値制御装置10は、数値制御装置10の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
<変形例2>
また例えば、上述の実施形態では、情報出力部113は、コード処理部112により処理された準備機能コード又は補助機能コードを含むブロックの直前又は直後のブロックに、コード処理部112により行われた処理内容を示す情報を出力したが、これに限定されない。例えば、情報出力部113は、コード処理部112により行われた処理内容を示す情報を数値制御装置10の表示部(図示しない)に出力してもよい。そして、表示部(図示しない)は、コード処理部112により行われた処理内容を表示する。これにより、数値制御装置10のオペレータは、ソースプログラム210に対してどのような処理が行われているかを確認することができる。
また、情報出力部113は、コード処理部112により行われた処理内容に基づいて、オブジェクトプログラム220の実行時間の予測値を算出し、表示部(図示しない)に出力してもよい。そして、表示部(図示しない)は、情報出力部113により算出された予測値を表示してもよい。これにより、数値制御装置10のオペレータは、ソースプログラム210に対する最適化処理により実行時間がどれだけ短縮されるかを確認することができる。
<変形例3>
また例えば、上述の実施形態では、数値制御装置10は、1つの工作機械20に対応したオブジェクトプログラム220を生成したが、これに限定されない。例えば、図14に示すように、数値制御装置10は、ネットワーク50に接続されたm個の工作機械20A(1)-20A(m)の各々に対してオブジェクトプログラム220を生成してもよい(mは2以上の整数)。そして、数値制御装置10は、工作機械20A(1)-20A(m)の各々に含まれる数値制御装置(図示しない)にオブジェクトプログラム220を提供し実行させてもよい。なお、工作機械20A(1)-20A(m)は互いに同じ種類(バージョン)の工作機械でもよく、互いに異なる種類(バージョン)の工作機械でもよい。
ただし、工作機械20A(1)-20A(m)が互いに異なる種類(バージョン)の場合、数値制御装置10は、工作機械20A(1)-20A(m)の種類(バージョン)に応じた複数のオプティマイザを予め記憶部200に記憶してもよい。また、数値制御装置10は、工作機械20A(1)-20A(m)の種類(バージョン)とオプティマイザとを対応付けしたオプティマイザテーブルを記憶部200に予め記憶してもよい。これにより、数値制御装置10は、工作機械20A(1)-20A(m)の種類(バージョン)に応じて最適化されたオブジェクトプログラム220を生成することができる。
なお、工作機械20A(1)-20A(m)の各々は、図1の工作機械20に対応する。以下、工作機械20A(1)-20A(m)を区別する必要がない場合、「工作機械20A」ともいう。
また、数値制御装置10は、オプティマイザテーブルに替えて、図15に示すように、数値制御装置10の表示部(図示しない)にマンマシンインタフェース300を表示してもよい。この場合、数値制御装置10は、数値制御装置10に含まれるタッチパネル等の入力部(図示しない)を介して、マンマシンインタフェース300においてソースプログラム210を実行させる工作機械20Aのバージョン(種類)をオペレータに選択させてもよい。
図15は、マンマシンインタフェース300の一例を示す図である。
図15に示すように、マンマシンインタフェース300は、工作機械20Aのバージョンを表示する選択表示領域310、選択されたバージョンに応じた処理内容を表示する表示領域320、及び選択されたバージョンに応じた付加的な処理内容を表示する表示領域330を有する。
こうすることで、数値制御装置10のオペレータは、工作機械20Aのバージョンを選択することで、ソースプログラム210に対する最適化処理においてどのような処理が行われるのかを容易に把握することができる。
なお、一実施形態に係る数値制御装置10に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAMを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
以上を換言すると、本開示の最適化処理装置は、次のような構成を有する各種各様の実施形態を取ることができる。
(1)本開示の最適化処理装置(数値制御装置10)は、ソースプログラム210に含まれるブロック毎の準備機能コード及び/又は補助機能コードを解析するブロック解析部111と、ブロック解析部111の解析結果に基づいて、連続する複数のブロックの準備機能コード及び/又は補助機能コードに対して処理を行い、ソースプログラム210を最適化するコード処理部112と、コード処理部112により最適化されたソースプログラム210をオブジェクトプログラム220として生成するプログラム生成部114と、を備える。
この最適化処理装置によれば、生成された加工プログラムに含まれるNC指令コードを最適化し、工作機械の動作を速くすることができる。
(2)コード処理部112は、連続する複数のブロックにおいて、準備機能コードが現れたブロックにだけ影響するコードではなく、且つ準備機能コードが連続する他のブロックの準備機能コードと同じ場合、最初のブロック以外のブロックの準備機能コードを削除する削除処理部1121を備えてもよい。
そうすることで、オブジェクトプログラム220の実行時間を短縮することができる。
(3)コード処理部112は、連続する複数のブロックにおいて、準備機能コードが現れたブロックにだけ影響するコードではなく、且つ準備機能コードが連続する他のブロックの準備機能コードと異なるモーダルグループのコードの場合、複数のブロックを統合する第1統合処理部1122と、連続する複数のブロックにおいて、準備機構コードが現れたブロックにだけ影響するコードではなく、且つ準備機能コードが連続する他のブロックの準備機能コードと異なるモーダルグループのコードであるとともに、他のブロックに含まれる補助機能コードが単独で他のブロックに指令する必要がなく、且つ相反する動作でない場合、複数のブロックを統合する第2統合処理部1123と、を備えてもよい。
そうすることで、サイクルタイムを短縮することができる。
(4)コード処理部112は、連続する複数のブロックにおいて、補助機能コードが前のブロックに含まれる準備機能コード又は補助機能コードと相反する動作でない場合、複数のブロックの順番を入れ替えるブロック入替処理部1124と、連続する複数のブロックにおいて、最初のブロックの準備機能コードが固定サイクルの準備機能コードであり、且つ最後のブロックの準備機能コードが最初のブロックの準備機能コードに対応する固定サイクルのキャンセルの準備機能コードの場合、複数のブロックの間に含まれるディメンジョンワードで指定される複数の座標値に対し、座標値間の移動距離又は移動時間の合計が最小となるように複数の座標値を入れ替える座標値入替処理部1125と、を備えてもよい。
そうすることで、オブジェクトプログラム220の実行時間や、サイクルタイムを短縮することができる。
(5)コード処理部112は、連続する複数のブロックにおいて、最初のブロックの準備機能コードが固定サイクルの準備機能コードであり、且つ最後のブロックの準備機能コードが最初のブロックの準備機能コードに対応する固定サイクルのキャンセルの準備機能コードの場合、複数のブロックを固定サイクルの準備機能コードから補間の準備機能コードの組合せで置換する置換処理部1126を備えてもよい。
そうすることで、オブジェクトプログラム220の実行時間を短縮することができる。
(6)プログラム生成部は、生成されたオブジェクトプログラム220を、ソースプログラム210と置き換えて生成してもよい。
そうすることで、記憶部200の記憶容量を節約することができる。
(7)プログラム生成部は、生成されたオブジェクトプログラム220を、ソースプログラム210とは異なる新たなプログラムとして生成してもよい。
そうすることで、1つのソースプログラム210で工作機械20毎にオブジェクトプログラム220を生成することができる。
(8)処理された準備機能コード又は補助機能コードを含むブロックの直前又は直後のブロックに、コード処理部112により行われた処理内容を示す情報を出力する情報出力部113を備えてもよい。
そうすることで、数値制御装置10のオペレータは、ソースプログラム210の各ブロックに対してどのような処理が行われたかを確認することができる。
(9)マンマシンインタフェース300と、マンマシンインタフェース300を用いて、ソースプログラム210を実行する工作機械20の選択をオペレータより受け付ける入力部と、を備え、コード処理部112は、選択された工作機械20Aに基づいて、ソースプログラム210に対して行う処理を変更してもよい。
そうすることで、選択された工作機械20Aに最適なオブジェクトプログラム220を生成することができる。
(10)コード処理部112により行われた処理内容を示す情報を表示する表示部を備えてもよい。
そうすることで、数値制御装置10のオペレータは、ソースプログラム210に対してどのような処理が行われているかを確認することができる。
(11)表示部は、コード処理部112により行われた処理に基づいて、生成されたオブジェクトプログラム220の実行時間の予測値を表示してもよい。
そうすることで、数値制御装置10のオペレータは、ソースプログラム210に対する最適化処理により実行時間がどれだけ短縮されるかを確認することができる。
1 制御システム
10 数値制御装置
20 工作機械
111 ブロック解析部
112 コード処理部
1121 削除処理部
1122 第1統合処理部
1123 第2統合処理部
1124 ブロック入替処理部
1125 座標値入替処理部
1126 置換処理部
113 情報出力部
114 NCプログラム生成部
210 ソースプログラム
220 オブジェクトプログラム

Claims (10)

  1. 第1プログラムに含まれるブロック毎の準備機能コード及び/又は補助機能コードを解析するブロック解析部と、
    前記ブロック解析部の解析結果に基づいて、連続する複数のブロックの前記準備機能コード及び/又は補助機能コードに対して処理を行い、前記第1プログラムを最適化するコード処理部と、
    前記コード処理部により最適化された前記第1プログラムを第2プログラムとして生成するプログラム生成部と、を備え、
    前記コード処理部は、
    連続する前記複数のブロックにおいて、前記準備機能コードが現れたブロックにだけ影響するコードではなく、且つ前記準備機能コードが連続する他のブロックの準備機能コードと異なるモーダルグループのコードの場合、前記複数のブロックを統合する第1統合処理部と、
    連続する前記複数のブロックにおいて、準備機構コードが現れたブロックにだけ影響するコードではなく、且つ前記準備機能コードが連続する他のブロックの準備機能コードと異なるモーダルグループのコードであるとともに、前記他のブロックに含まれる補助機能コードが単独で前記他のブロックに指令する必要がなく、且つ相反する動作でない場合、前記複数のブロックを統合する第2統合処理部と、を備える最適化処理装置。
  2. 前記コード処理部は、
    連続する前記複数のブロックにおいて、準備機能コードが現れたブロックにだけ影響するコードではなく、且つ前記準備機能コードが連続する他のブロックの準備機能コードと同じ場合、最初のブロック以外のブロックの準備機能コードを削除する削除処理部を備える、請求項1に記載の最適化処理装置。
  3. 前記コード処理部は、
    連続する前記複数のブロックにおいて、補助機能コードが前のブロックに含まれる準備機能コード又は補助機能コードと相反する動作でない場合、前記複数のブロックの順番を入れ替えるブロック入替処理部と、
    連続する前記複数のブロックにおいて、最初のブロックの準備機能コードが固定サイクルの準備機能コードであり、且つ最後のブロックの準備機能コードが前記最初のブロックの準備機能コードに対応する固定サイクルのキャンセルの準備機能コードの場合、前記複数のブロックの間に含まれるディメンジョンワードで指定される複数の座標値に対し、座標値間の移動距離又は移動時間の合計が最小となるように前記複数の座標値を入れ替える座標値入替処理部と、を備える、請求項1又は請求項2に記載の最適化処理装置。
  4. 前記コード処理部は、
    連続する前記複数のブロックにおいて、最初のブロックの準備機能コードが固定サイクルの準備機能コードであり、且つ最後のブロックの準備機能コードが前記最初のブロックの準備機能コードに対応する固定サイクルのキャンセルの準備機能コードの場合、前記複数のブロックを固定サイクルの準備機能コードから補間の準備機能コードの組合せで置換する置換処理部を備える、請求項1から請求項のいずれか1項に記載の最適化処理装置。
  5. 前記プログラム生成部は、生成された前記第2プログラムを、前記第1プログラムと置き換えて生成する、請求項1から請求項のいずれか1項に記載の最適化処理装置。
  6. 前記プログラム生成部は、生成された前記第2プログラムを、前記第1プログラムとは異なる新たなプログラムとして生成する、請求項1から請求項のいずれか1項に記載の最適化処理装置。
  7. 処理された前記準備機能コード又は前記補助機能コードを含むブロックの直前又は直後のブロックに、前記コード処理部により行われた処理内容を示す情報を出力する情報出力部を備える、請求項1から請求項のいずれか1項に記載の最適化処理装置。
  8. マンマシンインタフェースと、
    前記マンマシンインタフェースを用いて、前記第1プログラムを実行する産業機械の選択をオペレータより受け付ける入力部と、を備え、
    前記コード処理部は、選択された前記産業機械に基づいて、前記第1プログラムに対して行う処理を変更する、請求項1から請求項のいずれか1項に記載の最適化処理装置。
  9. 前記コード処理部により行われた処理内容を示す情報を表示する表示部を備える、請求項1から請求項のいずれか1項に記載の最適化処理装置。
  10. 前記表示部は、前記コード処理部により行われた処理に基づいて、生成された前記第2プログラムの実行時間の予測値を表示する、請求項に記載の最適化処理装置。
JP2019192896A 2019-10-23 2019-10-23 最適化処理装置 Active JP7414466B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019192896A JP7414466B2 (ja) 2019-10-23 2019-10-23 最適化処理装置
US17/010,096 US11320800B2 (en) 2019-10-23 2020-09-02 Optimization device
DE102020124479.7A DE102020124479A1 (de) 2019-10-23 2020-09-21 Optimierungsvorrichtung
CN202011128941.5A CN112698624A (zh) 2019-10-23 2020-10-20 优化处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019192896A JP7414466B2 (ja) 2019-10-23 2019-10-23 最適化処理装置

Publications (2)

Publication Number Publication Date
JP2021068180A JP2021068180A (ja) 2021-04-30
JP7414466B2 true JP7414466B2 (ja) 2024-01-16

Family

ID=75505845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019192896A Active JP7414466B2 (ja) 2019-10-23 2019-10-23 最適化処理装置

Country Status (4)

Country Link
US (1) US11320800B2 (ja)
JP (1) JP7414466B2 (ja)
CN (1) CN112698624A (ja)
DE (1) DE102020124479A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023120391A1 (en) * 2021-12-22 2023-06-29 Dmg Mori Co., Ltd. Information processing device and program that generates a first nc program and converts a second nc program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016218982A (ja) 2015-05-26 2016-12-22 ファナック株式会社 加工データと加工結果を管理する数値制御装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61150010A (ja) * 1984-12-25 1986-07-08 Fanuc Ltd 数値制御工作機械のプログラム制御方式
JPH01152507A (ja) * 1987-12-09 1989-06-15 Fanuc Ltd Ncプログラム登録方式
JPH10320027A (ja) 1997-05-15 1998-12-04 Fanuc Ltd 数値制御装置
JP3900485B2 (ja) * 2002-07-29 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 最適化装置、コンパイラプログラム、最適化方法、及び記録媒体
US8688258B2 (en) * 2008-09-11 2014-04-01 Rockwell Automation Technologies, Inc. Method of controlling a machine tool
US8495606B2 (en) * 2008-11-14 2013-07-23 Oracle America, Inc. Redundant exception handling code removal
US8977534B2 (en) * 2011-03-15 2015-03-10 Omron Corporation Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016218982A (ja) 2015-05-26 2016-12-22 ファナック株式会社 加工データと加工結果を管理する数値制御装置

Also Published As

Publication number Publication date
CN112698624A (zh) 2021-04-23
DE102020124479A1 (de) 2021-06-10
US20210124331A1 (en) 2021-04-29
JP2021068180A (ja) 2021-04-30
US11320800B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
US10870203B2 (en) Machine tool control device and production system
JP5414948B1 (ja) 数値制御装置
JP6450732B2 (ja) 数値制御装置
CN111919182B (zh) Nc程序变换处理方法以及加工处理系统
JP6434434B2 (ja) 加工装置をロボットに接続して加工を行う加工ロボットシステム
CN105408823A (zh) 工程设计工具、程序编辑装置以及程序编辑系统
JP7414466B2 (ja) 最適化処理装置
JP7481448B2 (ja) 設定コード生成装置、産業機械、設定コード生成方法及び設定コード生成プログラム
CN112805638B (zh) Nc程序转换处理方法及转换用计算机
JP5362146B1 (ja) 数値制御装置および数値制御システム
US11194313B2 (en) Numerical controller
JP2019185467A (ja) 設定装置及び設定プログラム
WO2021192356A1 (ja) Ncプログラム変換処理方法、変換用計算機、及び変換プログラム
CN114365048B (zh) 数控装置
WO2018096676A1 (ja) 数値制御装置及び工具管理生成プログラム
US11036206B2 (en) Numerical controller
JP7256931B1 (ja) 数値制御システム、数値制御装置、産業用装置及びコンピュータプログラム
JP2004348448A (ja) 工作機械の数値制御装置と工作機械の数値制御方法
WO2018179206A1 (ja) システム設計支援装置およびシステム設計支援方法
JP6779418B1 (ja) 設計支援装置、設計支援方法および設計支援プログラム
JP2012048471A (ja) 数値制御装置およびマクロプログラム実行方法
WO2024042604A1 (ja) 補助情報設定支援装置
US20230305512A1 (en) Managing a postprocessor for machining with a machine tool method, computer system, and machine tool
WO2023152899A1 (ja) プログラム、設定装置及び表示方法
US20240066690A1 (en) Numerical control apparatus and numerical control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230914

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: 20231205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231228

R150 Certificate of patent or registration of utility model

Ref document number: 7414466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150