JP2019028641A - Apparatus, method and program for editing processing program - Google Patents
Apparatus, method and program for editing processing program Download PDFInfo
- Publication number
- JP2019028641A JP2019028641A JP2017146201A JP2017146201A JP2019028641A JP 2019028641 A JP2019028641 A JP 2019028641A JP 2017146201 A JP2017146201 A JP 2017146201A JP 2017146201 A JP2017146201 A JP 2017146201A JP 2019028641 A JP2019028641 A JP 2019028641A
- Authority
- JP
- Japan
- Prior art keywords
- command
- modal
- block
- machining program
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Numerical Control (AREA)
Abstract
Description
本発明は、工作機械に搭載される数値制御装置によって実行される加工プログラムを編集する加工プログラム編集装置、加工プログラム編集方法、および加工プログラム編集プログラムに関する。 The present invention relates to a machining program editing device, a machining program editing method, and a machining program editing program for editing a machining program executed by a numerical control device mounted on a machine tool.
工作機械に搭載される数値制御装置は、加工プログラムに記述された情報に従って、工作機械を構成するモータを制御することで、工作機械による被加工物の加工を行う。 A numerical control device mounted on a machine tool processes a workpiece by the machine tool by controlling a motor constituting the machine tool in accordance with information described in the machining program.
加工プログラムは、数値制御装置上または汎用的なパーソナルコンピュータ上に搭載された加工プログラム編集装置で作成される。かかる加工プログラム編集装置は、オペレータの指示により、現在の編集位置を指し示すカーソルを移動させ、加工プログラムを編集する。 The machining program is created by a machining program editing device mounted on a numerical control device or a general-purpose personal computer. Such a machining program editing apparatus edits a machining program by moving a cursor indicating the current editing position in accordance with an operator's instruction.
加工プログラムに用いられる様々な指令は、アンモーダル指令とモーダル指令とに分類することができる。アンモーダル指令は、指令したブロックでのみ有効であるが、モーダル指令は、一度指令すれば同じグループの別の指令があるまで有効である。したがって、カーソル位置のブロックで有効なモーダル指令をオペレータが知るには、カーソル位置から加工プログラムの先頭に向かってモーダル指令を調べる必要がある。 Various commands used in the machining program can be classified into an unmodal command and a modal command. The unmodal command is valid only in the commanded block, but the modal command is valid until there is another command in the same group once the command is issued. Therefore, in order for the operator to know an effective modal command in the block at the cursor position, it is necessary to examine the modal command from the cursor position toward the beginning of the machining program.
特許文献1には、加工プログラムの編集作業の効率化を図るために、加工プログラムの先頭からカーソル位置の直前のブロックまたはカーソル位置のブロックまでを解釈し、カーソル位置で有効な指令を作成してオペレータに表示する装置が開示されている。
In
しかしながら、特許文献1に記載の装置では、カーソル位置で有効な指令を表示することができるが、編集ミスによって加工プログラムの編集作業を効率的に行うことができない場合がある。
However, although the apparatus described in
本発明は、上記に鑑みてなされたものであって、効率的に加工プログラムの編集作業を行うことができる加工プログラム編集装置を得ることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to obtain a machining program editing apparatus capable of efficiently editing a machining program.
上述した課題を解決し、目的を達成するために、本発明の加工プログラム編集装置は、工作機械を制御する数値制御装置によって実行される加工プログラムを編集する加工プログラム編集装置であって、表示処理部と、解析部と、抽出部と、指令候補生成部とを備える。前記表示処理部は、前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する。前記解析部は、前記複数のブロックのうち先頭のブロックから前記ブロック毎に有効なモーダル指令を解析し、前記ブロック毎に有効なモーダル指令を含むモーダル情報を記憶部に記憶する。前記抽出部は、前記表示部に表示されるカーソル位置のブロックにおいて有効なモーダル指令を前記記憶部に記憶された前記複数のブロックの前記モーダル情報の中から抽出する。前記指令候補生成部は、前記抽出部により抽出された前記有効なモーダル指令に基づき、前記カーソル位置のブロックにおいて使用可能な複数のモーダル指令のリストを生成する。前記指令候補生成部は、前記カーソル位置に文字列が入力される場合に、前記リストに含まれる前記複数のモーダル指令の中から前記文字列を含むモーダル指令を抽出して新たなリストを生成する。前記表示処理部は、前記指令候補生成部によって生成される前記リストを前記表示部に表示する。 In order to solve the above-described problems and achieve the object, a machining program editing apparatus according to the present invention is a machining program editing apparatus that edits a machining program executed by a numerical control device that controls a machine tool, and performs display processing. Unit, an analysis unit, an extraction unit, and a command candidate generation unit. The display processing unit displays at least a part of a plurality of blocks included in the machining program on a display unit. The analysis unit analyzes a modal command effective for each block from the first block among the plurality of blocks, and stores modal information including a modal command effective for each block in the storage unit. The extraction unit extracts a modal command effective in the block at the cursor position displayed on the display unit from the modal information of the plurality of blocks stored in the storage unit. The command candidate generation unit generates a list of a plurality of modal commands that can be used in the block at the cursor position, based on the effective modal command extracted by the extraction unit. The command candidate generation unit generates a new list by extracting a modal command including the character string from the plurality of modal commands included in the list when a character string is input at the cursor position. . The display processing unit displays the list generated by the command candidate generation unit on the display unit.
本発明によれば、効率的に加工プログラムの編集作業を行うことができる、という効果を奏する。 According to the present invention, there is an effect that a machining program can be edited efficiently.
以下に、本発明の実施の形態にかかる加工プログラム編集装置、加工プログラム編集方法、および加工プログラム編集プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Hereinafter, a machining program editing apparatus, a machining program editing method, and a machining program editing program according to an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
実施の形態1.
図1は、本発明の実施の形態1にかかる加工プログラム編集装置1の構成例を示す図である。図1に示すように、実施の形態1にかかる加工プログラム編集装置1は、不図示の工作機械に搭載された数値制御装置で実行される加工プログラムを編集する機能を有している。なお、数値制御装置は、加工プログラムに記述された情報に従って、工作機械を構成する各モータを制御することで、工作機械による被加工物の加工を行う。
FIG. 1 is a diagram illustrating a configuration example of a machining
図1に示すように、加工プログラム編集装置1は、記憶部2と、処理部3と、入力部4と、表示部5とを備える。記憶部2には、編集対象の加工プログラム21が記憶される。処理部3は、記憶部2に記憶されている加工プログラム21に含まれる複数のブロックのうちの少なくとも一部を読み出して表示部5に表示する。
As shown in FIG. 1, the machining
加工プログラム21に含まれる各ブロックには、被加工物の加工手順を実行するための指令が含まれる。指令の最小単位をワードと呼び、ワードはアドレスとデータから構成される。アドレスはアルファベットで表され、データは数値で表される。ブロックとは、区切り記号で区切られたワードの集まりを指す。区切り記号は行末に表示されるか、改行として扱われるため、ブロックは1行の文字列を意味する。なお、以下においては、区切り記号が「;」であるものとして説明する。また、文字列が全く無い行もブロックとして扱う。すなわち、指令が設定される前の状態である行もブロックとして扱う。
Each block included in the
加工プログラム21の編集を行うオペレータは、入力部4への入力操作を行って加工プログラム編集装置1への指示を行うことができる。処理部3は、オペレータの指示に基づき、現在の編集位置を指し示すカーソルを移動させ、さらに、オペレータからの指示に基づき、編集位置のブロックの編集を行って加工プログラムを編集する。
An operator who edits the
記憶部2は、加工プログラム21と、工作機械パラメータ22と、使用可能指令リスト23と、モーダル指令−指令使用可否対応表24と、ブロック毎モーダル情報25と、ブロック毎指令位置情報26とを記憶する。
The
加工プログラム21は、上述のように、被加工物の加工手順を実行するための複数のブロックを含んでおり、NC(Numerical Control)プログラムと呼ばれることもある。かかる加工プログラム21は、ISO/EIAコードで構成される加工プログラムであるが、ISO/EIAコード以外のプログラムであってもよい。
As described above, the
加工プログラム21に用いられる複数の指令には、モーダル指令とアンモーダル指令とが含まれる。モーダル指令は、一度指令すれば同じグループの別の指令があるまで有効であり、アンモーダル指令は、指令したブロックでのみ有効である。グループとは、同じ目的を持つ指令の集合であり、例えば「移動」という同じ目的を持つ「G0位置決め」「G1直線補間」「G2円弧補間CW」「G3円弧補間CCW」などは、同じグループである後述のグループ「01」に属する。
The plurality of commands used in the
また、加工プログラム21に用いられる複数の指令には、工作機械に搭載された複数のモータの移動を制御する指令が含まれる。例えば、「X」と名づけたモータへの移動指令は、アドレスに「X」、データに移動位置、もしくは移動量を表す数値を用いることで指令する。これら複数の移動指令には、絶対値指令と増分値指令とが含まれる。絶対値指令は、絶対的な指令位置への移動を指令することができ、増分値指令は、前ブロックでの指令位置からの増分量で移動を指令することができる。なお、指令位置は、移動指令により指令される位置である。
In addition, the plurality of commands used in the
工作機械パラメータ22は、加工プログラム21を実行するために用いられる複数のパラメータを含む。これら複数のパラメータには、工作機械の種別を示すパラメータ、およびモーダル指令の初期状態を規定するパラメータが含まれる。
The
使用可能指令リスト23は、工作機械種別毎の使用可能指令リスト27を含む。各使用可能指令リスト27は、対象種別の工作機械で使用可能な全指令の各々について指令と指令の説明とを含む情報であり、種別毎の情報である。
The
図2は、使用可能指令リスト27の一例を示す図である。図2に示す使用可能指令リスト27では、対象種別の工作機械で使用できる指令として、「G0」、「G1」、「G2」、「G3」、「G2.3」、「G2.4」、「G3.3」、「G3.4」、「G4」、および「G5」といったGコードが含まれる。 FIG. 2 is a diagram illustrating an example of the usable command list 27. In the usable command list 27 shown in FIG. 2, “G0”, “G1”, “G2”, “G3”, “G2.3”, “G2.4”, “G0”, “G1”, “G3”, “G2.4”, G codes such as “G3.3”, “G3.4”, “G4”, and “G5” are included.
また、使用可能指令リスト27では、「G0」には「位置決め」、「G1」には「直線補間」、「G2」には「円弧補間CW」、「G3」には「円弧補間CCW」といったように、指令の内容を示す説明文が各指令に関連付けられている。 In the usable command list 27, “G0” is “positioning”, “G1” is “linear interpolation”, “G2” is “circular interpolation CW”, “G3” is “circular interpolation CCW”, etc. As described above, an explanatory text indicating the content of the command is associated with each command.
図1に戻って、記憶部2の説明を続ける。記憶部2に記憶されるモーダル指令−指令使用可否対応表24は、有効なモーダル指令の後に使用可能な指令をモーダル指令毎に関連付けた情報である。
Returning to FIG. 1, the description of the
図3は、モーダル指令−指令使用可否対応表24の一例を示す図である。かかるモーダル指令−指令使用可否対応表24では、使用可能な指令に「1」が関連付けられ、使用可能でない指令に「0」が関連付けられている。 FIG. 3 is a diagram illustrating an example of the modal command-command availability correspondence table 24. In the modal command-command availability correspondence table 24, “1” is associated with a usable command, and “0” is associated with a command that is not usable.
図3に示す例では、モーダル指令である「G68」について、「G0」、「G1」、「G2」、「G3」、「G4」、および「G5」に「1」が関連付けられ、「G2.3」、「G2.4」、「G3.3」、および「G3.4」に「0」が関連付けられている。 In the example illustrated in FIG. 3, for “G68”, which is a modal command, “1” is associated with “G0”, “G1”, “G2”, “G3”, “G4”, and “G5”. .3 ”,“ G2.4 ”,“ G3.3 ”, and“ G3.4 ”are associated with“ 0 ”.
したがって、図3に示す例では、有効なモーダル指令が「G68」である場合、「G68」の後に、「G0」、「G1」、「G2」、「G3」、「G4」、および「G5」は使用できるが、「G2.3」、「G2.4」、「G3.3」、および「G3.4」は使用できないことが示される。 Therefore, in the example shown in FIG. 3, when the effective modal command is “G68”, after “G68”, “G0”, “G1”, “G2”, “G3”, “G4”, and “G5” "Can be used, but" G2.3 "," G2.4 "," G3.3 ", and" G3.4 "are not allowed.
図1に戻って、記憶部2の説明を続ける。記憶部2に記憶されるブロック毎モーダル情報25は、ブロック毎の有効なモーダル指令を含む情報である。図4は、ブロック毎モーダル情報25の一例を示す図である。
Returning to FIG. 1, the description of the
図4に示すブロック毎モーダル情報25は、ブロック番号毎に、各グループの有効モーダルを示す情報が含まれる。図4に示す例では、グループ「01」の有効モーダル指令は、ブロック番号「1」のブロックでは「G0」であり、ブロック番号「N」のブロックでは「G1」である。なお、ブロック番号「1」のブロックは、加工プログラム21の先頭ブロックを示す。
The block
また、グループ「13」の有効モーダル指令は、ブロック番号「1」のブロックでは「G61.1」であり、ブロック番号「N」のブロックでは「G61.1」である。図4において、「N」は、2以上の整数であり、「L」は、14以上の整数である。 The effective modal command of the group “13” is “G61.1” for the block with the block number “1” and “G61.1” for the block with the block number “N”. In FIG. 4, “N” is an integer of 2 or more, and “L” is an integer of 14 or more.
図1に戻って、記憶部2の説明を続ける。記憶部2に記憶されるブロック毎指令位置情報26は、ブロック毎の指令位置を含む情報である。図5は、ブロック毎指令位置情報26の一例を示す図である。
Returning to FIG. 1, the description of the
また、図5に示すブロック毎指令位置情報26では、ブロック番号「1」のブロックにおけるモータX,Y,Z,A,およびCの指令位置として、「0.」、「0.」、「0.」、「0.」、および「0.」を示す情報が含まる。また、ブロック毎指令位置情報26では、ブロック番号「N」のブロックにおけるモータX,Y,Z,A,およびCの指令位置として、「715.」、「505.」、「−300.」、「0.」、および「0.」を示す情報が含まる。なお、モータX,Y,Z,A,およびCの指令位置は、各々X軸,Y軸,Z軸,A軸,およびC軸の指令位置である。
In the block-by-block
図1に戻って、処理部3の説明を続ける。処理部3は、編集部の一例である加工プログラム編集部30と、解析部の一例である加工プログラム解析部40とを備える。加工プログラム編集部30は、オペレータの入力部4への入力操作に基づいて、加工プログラム21を記憶部2から読み出し、読み出した加工プログラム21を表示部5に表示する。また、加工プログラム編集部30は、オペレータの入力部4への入力操作に基づいて、表示部5に表示された加工プログラム21を編集する。
Returning to FIG. 1, the description of the processing unit 3 will be continued. The processing unit 3 includes a machining program editing unit 30 that is an example of an editing unit, and a machining
加工プログラム解析部40は、加工プログラム21を構成する複数のブロックのうち先頭のブロックからブロック毎に有効なモーダル指令を解析する。加工プログラム解析部40は、解析したブロック毎に有効モーダル指令の情報を含むモーダル情報を生成して、生成したブロック毎のモーダル情報を含むブロック毎モーダル情報25を生成して記憶部2に記憶する。
The machining
加工プログラム編集部30は、オペレータの入力部4への入力操作に基づいて、表示部5に表示されて現在の編集位置を指し示すカーソルを移動させる。加工プログラム編集部30は、記憶部2に記憶されたモーダル情報に基づいて、表示部5に表示されるカーソル位置のブロックにおいて有効なモーダル指令を判定する。なお、「表示部5に表示されるカーソル位置」は、表示部5に表示されるカーソルの位置であり、以下において、カーソル位置またはカーソルの位置と記載する場合がある。
The machining program editing unit 30 moves a cursor displayed on the
加工プログラム編集部30は、カーソル位置のブロックにおいて有効なモーダル指令に基づき、カーソル位置のブロックにおいて使用可能なモーダル指令のリストである使用可能指令リストを生成する。加工プログラム編集部30は、生成した使用可能指令リストを表示部5に表示する。
The machining program editing unit 30 generates a usable command list that is a list of modal commands that can be used in the block at the cursor position, based on the modal commands effective in the block at the cursor position. The machining program editing unit 30 displays the generated usable command list on the
ここで、オペレータが入力部4への入力操作により、カーソルの位置に指令の少なくとも一部の文字を含む文字列を入力する指示を行ったとする。この場合、加工プログラム編集部30は、使用可能指令リストに含まれる複数のモーダル指令の中から入力された文字列を含むモーダル指令を抽出することで、カーソル位置のブロックにおいて使用可能なモーダル指令を絞り込んだ新たな使用可能指令リストを生成する。そして、加工プログラム編集部30は、生成した新たな使用可能指令リストを表示部5に表示する。
Here, it is assumed that the operator gives an instruction to input a character string including at least some characters of the command at the cursor position by an input operation to the input unit 4. In this case, the machining program editing unit 30 extracts a modal command including a character string input from a plurality of modal commands included in the usable command list, thereby obtaining a modal command usable in the block at the cursor position. Generate a new usable command list that has been narrowed down. Then, the machining program editing unit 30 displays the generated new usable instruction list on the
その後、オペレータが入力部4への入力操作により、さらに続く文字を入力する指示を行った場合、加工プログラム編集部30は、入力済の文字に加えてさらに続く文字を含むモーダル指令を抽出して使用可能なモーダル指令を絞り込んだ新たな使用可能指令リストを生成し、表示部5に表示する。
Thereafter, when the operator gives an instruction to input a further character by an input operation to the input unit 4, the machining program editing unit 30 extracts a modal command including a subsequent character in addition to the input character. A new usable command list in which usable modal commands are narrowed down is generated and displayed on the
このように、加工プログラム編集部30は、オペレータが入力部4への入力操作により、文字を入力する指示が行われる毎に、使用可能なモーダル指令を絞り込んだ使用可能指令リストを生成し、表示部5に表示する。これにより、オペレータは入力しようとしている指令が使用可能であるかを確認することができ、編集ミスを防止して効率的に加工プログラム21の編集作業を行うことができる。
In this way, the machining program editing unit 30 generates and displays a usable command list in which usable modal commands are narrowed down every time the operator gives an input operation to the input unit 4 to input characters. This is displayed on
また、加工プログラム編集部30は、使用可能な指令に加え、使用可能な指令の説明文が含まれる使用可能指令リストを生成して表示部5に表示することができる。これにより、オペレータは入力しようとしている指令が使用可能であるか否かに加え、使用可能な指令の説明文を確認することができるため、さらに効率的に加工プログラム21の編集作業を行うことができる。
In addition to the usable commands, the machining program editing unit 30 can generate a usable command list including a description of usable commands and display the usable command list on the
また、加工プログラム編集部30は、オペレータが入力部4への入力操作により、入力された文字列を含む指令が使用可能指令リストに含まれない場合、入力された指令が使用できないことを示す警告を表示部5に表示する。これにより、オペレータが使用不可能な指令を入力することを防ぐことができる。また、加工プログラム21の編集作業完了後において、工作機械の数値制御装置上に搭載された不図示の加工プログラムチェック装置を用いて加工プログラム21が正しい指令が記述されているかどうかを確認する必要が無く、また、オペレータは加工プログラムチェック装置を用いたチェック前に加工プログラム21の編集ミスに気づくことができるため、効率的に加工プログラム21の編集作業を行うことができる。
In addition, the machining program editing unit 30 warns that the input command cannot be used when the command including the input character string is not included in the available command list by the input operation to the input unit 4 by the operator. Is displayed on the
以下、加工プログラム編集部30および加工プログラム解析部40についてさらに詳細に説明する。図1に示すように、加工プログラム編集部30は、入力処理部31と、表示処理部32と、カーソル位置判定部33と、有効モーダル抽出部34と、指令候補生成部35とを備える。また、加工プログラム解析部40は、読込処理部41と、モーダル処理部42と、座標処理部43とを備える。
Hereinafter, the machining program editing unit 30 and the machining
以下、加工プログラム編集部30および加工プログラム解析部40を含む処理部3の処理を、フローチャートを用いて説明する。図6は、実施の形態1にかかる加工プログラム編集装置1の処理部3の処理の一例を示すフローチャートであり、かかる処理は処理部3によって繰り返し実行される。
Hereinafter, processing of the processing unit 3 including the processing program editing unit 30 and the processing
図6に示すように、加工プログラム編集部30の入力処理部31は、加工プログラム21の編集開始指示があるか否かを判定する(ステップS10)。かかる編集開始指示は、オペレータによる入力部4への入力操作によって行われる。
As illustrated in FIG. 6, the
加工プログラム編集部30により加工プログラム21の編集開始指示があったと判定された場合(ステップS10:Yes)、加工プログラム編集部30は、入力部4への入力操作に従って、編集開始処理を実行する(ステップS11)。ステップS11の処理は、図7に示すステップS20〜S22の処理であり、後で詳述する。 When it is determined by the machining program editing unit 30 that there is an instruction to start editing the machining program 21 (step S10: Yes), the machining program editing unit 30 executes an editing start process in accordance with an input operation to the input unit 4 ( Step S11). The process of step S11 is the process of steps S20 to S22 shown in FIG. 7, and will be described in detail later.
加工プログラム編集部30は、ステップS11の処理が終了した場合、または加工プログラム21の編集開始指示がないと判定した場合(ステップS10:No)、編集位置の指定があるか否かを判定する(ステップS12)。編集位置の指定とは、表示部5において加工プログラム21の表示領域に表示されるカーソルの位置を指定することを意味する。かかる編集位置の指定は、オペレータによる入力部4への入力操作によって行われる。
The machining program editing unit 30 determines whether or not an editing position is designated when the process of step S11 is completed or when it is determined that there is no editing start instruction of the machining program 21 (step S10: No) ( Step S12). The designation of the editing position means that the position of the cursor displayed in the display area of the
加工プログラム編集部30は、編集位置の指定があると判定した場合(ステップS12:Yes)、使用可能指令リスト作成処理を実行する(ステップS13)。かかる使用可能指令リスト作成処理は、図10に示すステップS41〜S45の処理であり、後で詳述する。 When it is determined that the editing position is designated (step S12: Yes), the machining program editing unit 30 executes an available command list creation process (step S13). The usable command list creation process is a process of steps S41 to S45 shown in FIG. 10, and will be described in detail later.
加工プログラム編集部30は、ステップS13の処理が終了した場合、または、編集位置の指定がないと判定した場合(ステップS12:No)、文字入力があるか否かを判定する(ステップS14)。ステップS14の処理において、加工プログラム編集部30は、カーソルの位置へ文字を入力する指示がある場合に、文字入力があると判定する。文字を入力する指示は、オペレータによる入力部4への入力操作によって行われる。 When the process of step S13 is completed or when it is determined that the edit position is not designated (step S12: No), the machining program editing unit 30 determines whether there is a character input (step S14). In the process of step S14, the machining program editing unit 30 determines that there is a character input when there is an instruction to input a character at the cursor position. The instruction to input characters is performed by an input operation to the input unit 4 by the operator.
加工プログラム編集部30は、文字入力があると判定した場合(ステップS14:Yes)、入力支援処理を実行する(ステップS15)。かかる入力支援処理は、図12に示すステップS50〜S56の処理であり、後で詳述する。 When it is determined that there is a character input (step S14: Yes), the machining program editing unit 30 executes an input support process (step S15). Such input support processing is processing in steps S50 to S56 shown in FIG. 12, and will be described in detail later.
ステップS15の処理が終了した場合、または文字入力がないと判定された場合(ステップS14:No)、処理部3は、図6に示す処理を終了する。 When the process of step S15 is completed or when it is determined that there is no character input (step S14: No), the processing unit 3 ends the process shown in FIG.
図7は、図6に示すステップS11の編集開始処理を示すフローチャートである。図7に示すように、加工プログラム編集部30は、記憶部2から加工プログラム21を読み出す(ステップS20)。加工プログラム編集部30の表示処理部32は、ステップS20で読み出された加工プログラム21を構成する複数のブロックのうち少なくとも一部のブロックを表示部5に表示する(ステップS21)。
FIG. 7 is a flowchart showing the editing start process in step S11 shown in FIG. As shown in FIG. 7, the machining program editing unit 30 reads the
次に、処理部3の加工プログラム解析部40は、記憶部2に記憶された加工プログラム21の解析処理を行う(ステップS22)。なお、図7に示す処理では、ステップS21の処理の後に、ステップS22の処理が行われるが、処理部3は、ステップS21の処理とステップS22の処理とを平行して行うことができ、また、ステップS22の処理の後に、ステップS21の処理を行うこともできる。
Next, the machining
図8は、図7に示すステップS22の解析処理を示すフローチャートである。図8に示すように、加工プログラム解析部40の読込処理部41は、記憶部2に記憶された加工プログラム21から先頭のブロックを読み出す(ステップS30)。
FIG. 8 is a flowchart showing the analysis processing in step S22 shown in FIG. As shown in FIG. 8, the
次に、加工プログラム解析部40のモーダル処理部42は、ステップS30で読み出された先頭のブロックで有効なモーダル指令を抽出する(ステップS31)。ステップS31において、モーダル処理部42は、工作機械パラメータ22に含まれる情報および先頭のブロックの情報に基づいて、グループ毎に先頭のブロックで有効なモーダル指令を抽出する。
Next, the
図9は、各グループのモーダル指令の初期状態と、ブロック毎の有効なモーダル指令とを示す図である。図9において、矢印の部分は、モーダル指令がブロックに含まれていないことを示す。 FIG. 9 is a diagram showing an initial state of modal commands for each group and effective modal commands for each block. In FIG. 9, the arrow indicates that a modal command is not included in the block.
図9に示す例では、初期状態のモーダル指令が、グループ「01」では「G0」、グループ「02」では「G17」、およびグループ「13」では「G61.1」であり、ブロック番号「1」のブロックには、グループ「01」、「02」、および「13」のモーダル指令が含まれない。 In the example shown in FIG. 9, the modal command in the initial state is “G0” in the group “01”, “G17” in the group “02”, “G61.1” in the group “13”, and the block number “1”. ”Blocks do not include modal commands for groups“ 01 ”,“ 02 ”, and“ 13 ”.
したがって、加工プログラム21が図9に示す状態である場合、モーダル処理部42は、先頭のブロックにおけるグループ毎の有効なモーダル指令として、グループ「01」では「G0」、グループ「02」では「G17」、およびグループ「13」では「G61.1」を抽出する。なお、工作機械パラメータ22には、モーダル指令の初期状態を規定するパラメータが含まれており、各グループのモーダル指令の初期状態は、モーダル指令の初期状態を規定するパラメータに基づいて、モーダル処理部42によって判定される。
Therefore, when the
図8に戻って加工プログラム解析部40の処理の説明を続ける。ステップS31の処理の後、モーダル処理部42は、ステップS31で抽出した有効なモーダル指令と「先頭のブロック」のブロック番号「1」とを関連付けたモーダル情報を記憶部2に記憶する(ステップS32)。これにより、先頭のブロックのモーダル情報を含むブロック毎モーダル情報25が生成される。
Returning to FIG. 8, the description of the processing of the machining
次に、加工プログラム解析部40の座標処理部43は、不図示の工作機械に搭載された各モータX,Y,Z,A,およびCの指令位置を演算する(ステップS33)。
Next, the coordinate processing
ステップS33において、座標処理部43は、加工プログラム21の先頭のブロックに含まれる移動指令で指定される座標位置に基づいて、先頭のブロックにおける各モータX,Y,Z,A,およびCの指令位置を演算する。先頭のブロックに含まれる移動指令が絶対値指令の場合、絶対値指令で指令された座標が指令位置である。先頭のブロックにおいて、移動指令が含まれない場合、座標処理部43は、工作機械パラメータ22に含まれる各モータX,Y,Z,A,およびCの初期値を各モータX,Y,Z,A,およびCの指令位置とすることができる。
In step S33, the coordinate processing
加工プログラム解析部40は、ステップS33で演算された先頭のブロックでの指令位置と「先頭のブロック」のブロック番号「1」とを関連付けた指令位置情報を記憶部2に記憶する(ステップS34)。これにより、先頭ブロックの指令位置を示す指令位置情報を含むブロック毎指令位置情報26が生成される。
The machining
次に、加工プログラム解析部40は、記憶部2に記憶された加工プログラム21から次のブロックを読み出す(ステップS35)。前回読み出したブロックが先頭のブロックである場合、「次のブロック」は、ブロック番号「2」のブロックであり、前回読み出したブロックがブロック番号「N−1」のブロックである場合、「次のブロック」は、ブロック番号「N」のブロックである。
Next, the machining
加工プログラム解析部40のモーダル処理部42は、ステップS31の処理と同様に、ステップS35で読み出した「次のブロック」で有効なモーダル指令を抽出する(ステップS36)。ステップS36において、モーダル処理部42は、グループ毎に「次のブロック」で有効なモーダル指令を抽出する。
The
「次のブロック」がブロック番号「N」のブロックであり、ブロック番号「N」のブロックまでの状態が図9に示す状態である場合、ブロック番号「N−1」までのブロックにおいて、グループ「01」、「02」、「13」のモーダル指令が含まれていない。 When the “next block” is a block with the block number “N” and the state up to the block with the block number “N” is the state shown in FIG. 9, the group “ The modal commands “01”, “02”, and “13” are not included.
したがって、記憶部2に記憶されているブロック番号「N−1」のモーダル情報には、グループ「01」、「02」、および「13」において有効なモーダル指令が各々「G0」、「G17」、および「G61.1」であることを示す情報が含まれる。
Therefore, the modal information of the block number “N−1” stored in the
モーダル処理部42は、記憶部2に記憶されているブロック番号「N−1」のブロックに関連付けて記憶された各グループで有効なモーダル指令を示す情報をブロック毎モーダル情報25から取得する。
The
ブロック番号「N」のブロックにおいては、図9に示すように、グループ「01」のモーダル指令として「G1」が含まれている。したがって、モーダル処理部42は、ブロック番号「N」のブロックにおいて、有効なモーダル指令として、グループ「01」では「G1」を抽出する。また、ブロック番号「N」のブロックにおいては、グループ「02」、「13」のモーダル指令は含まれていないため、モーダル処理部42は、グループ「02」では「G17」、およびグループ「13」では「G61.1」を抽出する。
In the block with the block number “N”, as shown in FIG. 9, “G1” is included as a modal command of the group “01”. Therefore, the
モーダル処理部42は、ステップS36で抽出した「次のブロック」で有効なモーダル指令と「次のブロック」のブロック番号とを関連付けたモーダル情報を記憶部2に記憶する(ステップS37)。これにより、「次のブロック」のモーダル情報がブロック毎モーダル情報25に追加されて、先頭ブロックから「次のブロック」までの各ブロックのモーダル情報を含むブロック毎モーダル情報25が生成されブロック毎モーダル情報25が更新される。
The
また、加工プログラム解析部40の座標処理部43は、ステップS35で読み出された「次のブロック」での各モータX,Y,Z,A,およびCの指令位置を演算する(ステップS38)。
Further, the coordinate processing
ステップS38において、座標処理部43は、ステップS35で読み出された「次のブロック」に含まれる移動指令で指定される座標位置に基づいて、「次のブロック」における指令位置を演算する。「次のブロック」に含まれる移動指令が絶対値指令の場合、絶対値指令で指定された座標位置を指令位置とする。
In step S38, the coordinate processing
また、座標処理部43は、「次のブロック」に含まれる移動指令が増分値指令である場合、一つ前のブロックでの指令位置に増分値指令で指定される座標位置を加算することで、「次のブロック」における指令位置を演算する。
In addition, when the movement command included in the “next block” is an incremental value command, the coordinate processing
そして、加工プログラム解析部40は、ステップS38で演算された「次のブロック」での指令位置と「次のブロック」のブロック番号とを関連付けた指令位置情報を記憶部2に記憶する(ステップS39)。これにより、「次のブロック」の指令位置情報がブロック毎指令位置情報26に追加されて、先頭ブロックから「次のブロック」までの各ブロックの指令位置情報を含むブロック毎指令位置情報26が生成されブロック毎指令位置情報26が更新される。
Then, the machining
次に、加工プログラム解析部40は、すべてのブロックを解析したか否か、すなわち、加工プログラム21を構成する複数のブロックのすべての解析が終了したか否かを判定する(ステップS40)。加工プログラム解析部40は、すべてのブロックを解析していないと判定した場合(ステップS40:No)、処理をステップS35へ進める。
Next, the machining
また、加工プログラム解析部40は、すべてのブロックを解析したと判定した場合(ステップS40:Yes)、図8に示す処理を終了する。かかる図8に示す処理によって、図4に示すようなブロック毎モーダル情報25と図5に示すようなブロック毎指令位置情報26が生成される。
Moreover, when it determines with the process
図10は、図6に示すステップS13の使用可能指令リスト作成処理を示すフローチャートである。図10に示すように、加工プログラム編集部30のカーソル位置判定部33は、カーソル70の位置であるカーソル位置のブロックを判定する(ステップS41)。
FIG. 10 is a flowchart showing the usable command list creation process in step S13 shown in FIG. As shown in FIG. 10, the cursor
加工プログラム編集部30の有効モーダル抽出部34は、カーソル位置判定部33によってカーソルがあると判定されたブロックにおけるグループ毎の有効なモーダル指令を、記憶部2に記憶されたブロック毎モーダル情報25から抽出する(ステップS42)。
The effective
ここで、ブロック毎モーダル情報25が図4に示す状態であり、ブロック毎モーダル情報25にはブロック番号「N」までのモーダル情報が含まれており、かつ、カーソルの位置がブロック番号「N」のブロックであるとする。
Here, the block-by-block
この場合、有効モーダル抽出部34は、ブロック毎モーダル情報25から、有効なモーダル指令として、ブロック番号「N」のモーダル情報を抽出する。すなわち、有効モーダル抽出部34は、ブロック毎モーダル情報25から、有効なモーダル指令として、グループ「01」では「G1」を、グループ「02」では「G17」を、グループ「13」では「G61.1」を各々抽出する。有効モーダル抽出部34は、グループ「02」〜「12」についても同様に、ブロック毎モーダル情報25から、有効なモーダル指令を抽出する。
In this case, the valid
このように、有効モーダル抽出部34は、カーソル位置のブロックのブロック番号におけるモーダル情報に含まれる各グループのモーダル指令を有効なモーダル指令としてブロック毎モーダル情報25から抽出することができる。
As described above, the valid
なお、有効モーダル抽出部34は、カーソルの位置までで有効な各グループのモーダル指令をブロック毎モーダル情報25から抽出することもできる。カーソルの位置がブロック番号「N+1」のブロックの先頭にある場合、カーソルの位置までで有効なモーダル指令は、ブロック番号「N」のブロックで有効なモーダル指令と同じである。この場合、有効モーダル抽出部34は、ブロック毎モーダル情報25から、有効なモーダル指令として、ブロック番号「N」のモーダル情報を抽出することができる。
The effective
また、カーソルの位置がブロック番号「N+1」のブロックの先頭になく、ブロック番号「N+1」のブロックでモーダル指令の後にカーソルの位置があるとし、また、ブロック毎モーダル情報25にはブロック番号「N+1」のモーダル情報が含まれているとする。この場合、有効モーダル抽出部34は、ブロック番号「N+1」のブロックに含まれるモーダル指令を含むカーソルの位置までで有効な各グループのモーダル指令をブロック毎モーダル情報25から抽出することができる。
In addition, it is assumed that the cursor position is not at the head of the block with the block number “N + 1”, the cursor is positioned after the modal command in the block with the block number “N + 1”, and the block number “N + 1” is included in the
ここで、ブロック番号「N」のモーダル情報に含まれる各グループのモーダル指令のうち、ブロック番号「N+1」のブロックにおいて、カーソルの位置の前にモーダル指令としてグループ「01」の「G2」のみが含まれているとする。 Here, among the modal commands of each group included in the modal information of the block number “N”, in the block of the block number “N + 1”, only “G2” of the group “01” is displayed as the modal command before the cursor position. Suppose it is included.
この場合、有効モーダル抽出部34は、ブロック番号「N+1」のモーダル情報からグループ「01」のモーダル指令である「G2」を有効なモーダル指令として読み出し、その他のグループ「02」〜「13」については、ブロック番号「N」のモーダル情報から有効なモーダル指令を抽出する。
In this case, the valid
このように、有効モーダル抽出部34は、カーソル位置判定部33によってカーソルの位置があると判定されたブロックにおけるグループ毎の有効なモーダル指令を、記憶部2に記憶されたブロック毎モーダル情報25から抽出することができる。
As described above, the effective
次に、加工プログラム編集部30の指令候補生成部35は、記憶部2からモーダル指令−指令使用可否対応表24を読み出す(ステップS43)。そして、指令候補生成部35は、ステップS42で抽出したカーソル位置のブロックにおけるグループ毎の有効なモーダル指令と、ステップS43で読み出したモーダル指令−指令使用可否対応表24とに基づいて、カーソル位置のブロックで使用可能な指令を抽出する(ステップS44)。
Next, the command
ここで、モーダル指令−指令使用可否対応表24が図3に示す状態であり、カーソル位置のブロックで有効なモーダルとして「G68」を含むとする。モーダル指令−指令使用可否対応表24において、「G68」に「0」が関連付けられている指令は、「G2.3」、「G2.4」、「G3.3」、および「G3.4」であり、カーソル位置のブロックでは、使用可能な指令ではない。 Here, it is assumed that the modal command-command use availability correspondence table 24 is in the state shown in FIG. 3 and includes “G68” as a valid modal in the block at the cursor position. In the modal command-command availability table 24, the commands in which “0” is associated with “G68” are “G2.3”, “G2.4”, “G3.3”, and “G3.4”. It is not a usable command in the block at the cursor position.
したがって、指令候補生成部35は、使用可能な指令として抽出する指令から、「G2.3」、「G2.4」、「G3.3」、および「G3.4」を除外する。同様に、指令候補生成部35は、カーソルの位置のブロックで有効なモーダル指令のうち、モーダル指令−指令使用可否対応表24において「G68」以外のモーダル指令で「0」が関連付けられている指令を、使用可能な指令として抽出する指令から除外する。
Therefore, the command
また、指令候補生成部35は、ステップS44で抽出した使用可能な指令の説明文を使用可能指令リスト27から抽出して、ステップS44で抽出した使用可能な指令と説明文とを含む使用可能指令リストを生成する(ステップS45)。加工プログラム編集部30は、ステップS45の処理を終了すると、図10に示す処理を終了する。
In addition, the command
ステップS45の処理において、指令候補生成部35は、記憶部2に記憶された工作機械パラメータ22に含まれる工作機械の種別を示すパラメータを読み出す。指令候補生成部35は、読み出した工作機械の種別を示すパラメータに基づいて、記憶部2に記憶された使用可能指令リスト23の中からパラメータで設定された種別の使用可能指令リスト27を読み出す。
In the process of step S <b> 45, the command
そして、指令候補生成部35は、読み出した使用可能指令リスト27から、ステップS44で抽出した使用可能な指令の説明文を抽出する。指令候補生成部35は、ステップS44で抽出した使用可能な指令と説明文とを関連付けた使用可能指令リストを生成する。指令の説明文は、工作機械の種別によって一部異なる場合があるが、このような場合でも、設定された工作機械の種別に対応する適切な使用可能指令リストを生成することができる。
Then, the command
図11は、ステップS45において生成される使用可能指令リストの一例を示す図であり、カーソルの位置があると判定されたブロックで有効なモーダル指令に「G68」を含む場合の使用可能指令リストである。上述したように、有効なモーダル指令に「G68」が含まれる場合、「G2.3」、「G2.4」、「G3.3」、および「G3.4」は使用できない。 FIG. 11 is a diagram showing an example of the usable command list generated in step S45, which is a usable command list in the case where “G68” is included in the modal commands effective in the block determined to have the cursor position. is there. As described above, when “G68” is included in an effective modal command, “G2.3”, “G2.4”, “G3.3”, and “G3.4” cannot be used.
したがって、図11に示す使用可能指令リスト51は、使用可能な指令として、「G0」、「G1」、「G2」、「G3」、「G4」、および「G5」を含むが、「G2.3」、「G2.4」、「G3.3」、および「G3.4」は含まれない。
Therefore, the
また、使用可能指令リスト51には、使用可能なモーダル指令に、使用可能なモーダル指令の説明文が関連付けられる。例えば、図11に示す使用可能指令リスト51では、「G0」の説明文として「位置決め」が「G0」に関連付けられ、「G1」の説明文として「直線補間」が「G1」に関連付けられている。
Further, in the
図12は、図6に示すステップS15の入力支援処理を示すフローチャートである。図12に示すように、加工プログラム編集部30の入力処理部31は、図6のステップS14で入力があったと判定された文字を、表示部5に表示される加工プログラム21に追加する(ステップS50)。
FIG. 12 is a flowchart showing the input support processing in step S15 shown in FIG. As shown in FIG. 12, the
次に、入力処理部31は、ステップS14で入力があったと判定された文字である入力文字が指令の文字を含むか否かを判定する(ステップS51)。加工プログラム編集部30の指令候補生成部35は、入力文字に指令の文字が含まれると判定した場合(ステップS51:Yes)、リスト更新、すなわち、使用可能指令リスト51の更新が必要か否かを判定する(ステップS52)。
Next, the
ステップS52において、指令候補生成部35は、前回入力された文字が指令の文字に含まれており、前回入力された文字にさらに続く文字が入力された場合に使用可能指令リスト51の更新であると判定する。例えば、指令候補生成部35は、前回入力された文字が「G」であり、さらに続く文字が数値である場合に、使用可能指令リスト51の更新であると判定する。
In step S52, the command
指令候補生成部35は、使用可能指令リスト51の更新が必要であると判定した場合(ステップS52:Yes)、使用可能指令リスト51を更新する(ステップS53)。ステップS53において、指令候補生成部35は、前回入力された文字にさらに続く文字を含む文字列が含まれるモーダル指令を使用可能指令リスト51から抽出して、新たな使用可能指令リスト51を生成することで、使用可能指令リスト51を更新する。
When it is determined that the
表示処理部32は、使用可能指令リスト51の更新が必要ではないと判定した場合(ステップS52:No)、またはステップS53の処理が終了した場合、使用可能指令リスト51が空であるか否かを判定する(ステップS54)。表示処理部32は、使用可能指令リスト51に1つの使用可能指令も含まれない場合に、使用可能指令リスト51が空であると判定する。
When the
表示処理部32は、使用可能指令リスト51が空でないと判定した場合(ステップS54:No)、使用可能指令リスト51を表示部5に表示する(ステップS56)。また、表示処理部32は、使用可能指令リスト51が空であると判定した場合(ステップS54:Yes)、警告表示を表示部5に行う(ステップS55)。ステップS55において、表示処理部32は、使用可能指令がない旨の警告情報を表示部5に表示することで、表示部5に警告表示を行う。
When it is determined that the
ステップS56において、表示処理部32は、使用可能指令リスト51の更新が必要であると判定した場合(ステップS52:Yes)、ステップS53で更新した使用可能指令リスト51を表示部5に表示する。また、表示処理部32は、使用可能指令リスト51の更新が必要でないと判定した場合(ステップS52:No)、ステップS53で更新していない使用可能指令リスト51を表示部5に表示する。
In step S56, when the
加工プログラム編集部30は、入力文字に指令の文字が含まれないと判定した場合(ステップS51:No)、ステップS55の処理が終了した場合、またはステップS56の処理が終了した場合に、図12に示す処理を終了する。 When it is determined that the command character is not included in the input character (step S51: No), the machining program editing unit 30 is performed when the process of step S55 is completed or when the process of step S56 is terminated. The process shown in FIG.
図13は、表示処理部32によって表示部5に表示される表示画面の遷移例を示す図であり、オペレータによる文字入力に伴って表示画面が変化する様子を示している。図13に示す表示画面60aには、加工プログラム表示領域61が含まれる。加工プログラム表示領域61には、加工プログラム21を構成する複数のブロックのうち少なくとも一部とカーソル70とが表示される。
FIG. 13 is a diagram showing a transition example of the display screen displayed on the
表示画面60aの加工プログラム表示領域61では、カーソル70が位置するブロックは、文字が記述された最終のブロックよりも1段下の行の先頭位置にあり、カーソル70が位置するブロックには文字が記述されていない。この場合、カーソル70が含まれるブロックで有効なモーダル指令は、最終のブロックで有効なモーダル指令と同じである。したがって、指令候補生成部35は、最終のブロックのモーダル情報に基づいて、使用可能指令リスト51を生成する。
In the machining
図13に示す表示画面60aの状態において、オペレータが入力部4への入力操作によって、「G」の文字を入力したとする。なお、モーダル指令−指令使用可否対応表24は、図3に示す状態であるとする。
In the state of the
この場合、加工プログラム編集部30の表示処理部32は、図13の表示画面60bに示されるように、加工プログラム表示領域61において、カーソル70の位置に「G」の文字を追加すると共にカーソル70の位置を1文字分右に移動させる。また、「G」の文字は、指令の先頭文字であるため、表示処理部32は、表示画面60bにリスト表示領域62を追加し、指令候補生成部35によって生成される使用可能指令リスト51をリスト表示領域62に表示する。
In this case, the
表示画面60bの加工プログラム表示領域61に示されるように、カーソル70が位置するブロックの直前のブロックには、モーダル指令として「G68」が含まれており、カーソル70の位置において、有効なモーダル指令として「G68」が含まれる。モーダル指令−指令使用可否対応表24が図3に示す状態であるため、リスト表示領域62には、「G2.3」、「G2.4」、「G3.3」、および「G3.4」が含まれない。
As shown in the machining
これにより、オペレータは入力しようとしている指令が使用可能であるかを確認することができ、編集ミスを防止して効率的に加工プログラム21の編集作業を行うことができる。また、リスト表示領域62には、使用可能な指令の説明文が表示されるため、使用可能な指令を説明文によって容易に把握でき、さらに編集ミスを防止して効率的に加工プログラム21の編集作業を行うことができる。
As a result, the operator can confirm whether or not the command to be input can be used, and can edit the
図13に示す表示画面60bの状態で、オペレータが入力部4への入力操作によって、「G」の文字に続いて「3」の文字を入力すると、加工プログラム編集部30の表示処理部32は、表示画面60cに示されるように、加工プログラム表示領域61において、カーソル70の位置に「3」の文字を追加すると共にカーソル70の位置を1文字分右に移動させる。
In the state of the
また、加工プログラム編集部30の指令候補生成部35は、使用可能指令リスト51を図11に示す状態から文字例「G3」を含む指令を抽出して新たな使用可能指令リスト51を生成して使用可能指令リスト51を更新する。表示処理部32は、図13の表示画面60cに示すように、リスト表示領域62に更新した使用可能指令リスト51を表示する。
Further, the command
このように、オペレータが文字を入力する毎に、使用可能な指令を絞り込んだ新たな使用可能指令リスト51が表示部5に表示される。したがって、オペレータは文字を入力する毎に次に入力する文字が表示部5に表示された使用可能指令リスト51を確認することができ、編集ミスを防止して効率的に加工プログラム21の編集作業を行うことができる。
In this way, each time the operator inputs characters, a new
また、表示部5に表示された使用可能指令リスト51からオペレータが入力しようとしている指令を選択することで、オペレータが文字を入力することなく指令の入力を完了させることもできる。具体的には、入力処理部31は、使用可能指令リスト51に含まれる1以上の指令の中からオペレータが入力部4への入力操作によって選択した指令を表示部5に表示される加工プログラム21に追加することができる。この場合、オペレータは使用不可能な指令を入力することがなく、編集ミスを防止して効率的に加工プログラム21の編集作業を行うことができる。
In addition, by selecting a command that the operator intends to input from the
なお、上述した例では、処理部3は、使用可能な指令を絞り込んだ使用可能指令リスト51を表示部5に表示するが、使用可能な指令が絞り込まれていることをオペレータに示すことができればよく、上述した例に限定されない。
In the above-described example, the processing unit 3 displays the
例えば、指令候補生成部35は、入力文字を含む指令と、入力文字を含む指令以外の指令とが視覚的に区別できるように指令リストを生成することもできる。この場合、表示処理部32は、入力文字を含む指令と、入力文字を含む指令以外の指令とを視覚的に区別可能にした指令リストを表示部5に表示する。指令の区別は、入力文字を含む指令のサイズ、色、および書体を変更することによって、入力文字を含む指令を強調表示することで行うことができる。
For example, the command
また、上述した例では、オペレータが入力部4への入力操作によって指令の先頭文字である「G」の文字の入力指示を行った場合に、使用可能指令リスト51をリスト表示領域62に表示するが、使用可能指令リスト51の表示開始タイミングは指令の先頭文字を入力した場合に限定されない。表示処理部32は、オペレータが入力部4への入力操作によってカーソル70の位置を指定した時点で、カーソル位置のブロックで使用可能な指令を含む使用可能指令リスト51をリスト表示領域62に表示することもできる。
In the above-described example, when the operator gives an instruction to input the character “G” that is the first character of the command by an input operation to the input unit 4, the
図13に示す表示画面60cの状態から、オペレータが入力部4への入力操作によって「.」および「3」の文字を連続して入力した場合、「G3」に続く文字は、「.3」になり、文字列「G3.3」が入力された状態になる。指令候補生成部35は、文字列「G3.3」を含む指令以外を除外した使用可能指令リスト51を生成するが、図11に示す使用可能指令リスト51には、文字列「G3.3」が含まれないため、生成された使用可能指令リスト51は、空である。
When the operator continuously inputs the characters “.” And “3” by the input operation to the input unit 4 from the state of the
表示処理部32は、使用可能指令リスト51が空である場合、すなわち、使用可能指令リスト51に1つのモーダル指令も含まれない場合、使用不可能な指令が入力されたと判定し、表示部5に警告表示を行う。
When the
図14は、図13に示す表示画面60cの状態から、さらに続く1以上の文字「.3」が入力された場合の表示画面の一例を示す図である。図14に示す表示画面60dのリスト表示領域62に、入力された「G3.3」の説明文と「G3.3」は使用できないことを示す旨とが表示される。
FIG. 14 is a diagram illustrating an example of a display screen when one or more subsequent characters “.3” are input from the state of the
これにより、オペレータは、入力した指令が使用できない指令であることを把握し、入力した指令を変更するため、使用不可能な指令が加工プログラム21に設定されたまま加工プログラム21の編集が完了してしまうことを防ぐことができる。また、使用不可能な指令の説明文が表示されるため、オペレータは、使用不可能な指令がどのような指令かを容易に把握することができる。
Accordingly, the operator grasps that the input command is a command that cannot be used, and changes the input command, so that the editing of the
また、図14の表示画面60dには、警告表示領域63が含まれる。かかる警告表示領域63には、「P921 3D座標変換中不正Gコード」の文字列が表示されている。警告表示領域63に表示される文字列は、モーダル指令である「G68」が有効である状態で使用不可能な指令が行われることを示す情報である。これにより、オペレータは、入力した指令がなぜ使用できないかを容易に把握することができる。
Further, the
なお、オペレータが入力部4への入力操作によって文字列「G3.3」から「.3」が削除された場合、表示処理部32は、表示部5に表示する画面を表示画面60dから表示画面60cへ変更する。したがって、リスト表示領域62の警告表示および警告表示領域63が取り消される。
When the character string “G3.3” is deleted from the character string “G3.3” by the input operation to the input unit 4, the
上述した例では、入力した指令が使用できない指令である場合に、オペレータへ使用不可能な指令である旨を表示するが、加工プログラム編集部30は、入力した指令が使用できない指令である場合、入力した指令を取り消すことができる。 In the above-described example, when the input command is a command that cannot be used, the operator displays a command that cannot be used. However, the machining program editing unit 30 indicates that the input command is a command that cannot be used. The entered command can be canceled.
例えば、図13に示す表示画面60cの状態から、文字列「G3.3」が入力された場合、表示処理部32は、文字列「G3.」が使用可能指令リスト51に含まれないと判定し、文字列「G3.3」のうち「.3」を取り消すことができる。これにより、オペレータは、実質的に、使用可能指令リスト51に含まれない文字列を加工プログラム21に設定することができないため、加工プログラム21に使用不可能な指令が含まれてしまうことを防止できる。
For example, when the character string “G3.3” is input from the state of the
また、加工プログラム編集部30は、使用不可能な指令を入力できないようにすることもできる。具体的には、加工プログラム編集部30の入力処理部31は、指令の文字列であって使用可能指令リスト51に含まれない文字列が入力部4を介して入力された場合に、文字の入力を受け付けないようにすることもできる。
Further, the machining program editing unit 30 may be configured so that an unusable command cannot be input. Specifically, the
入力処理部31は、例えば、図13に示す表示画面60cの状態から、文字列「G3」の後に文字列「.3」が入力された場合、文字列「G3」に続く文字列「.3」が使用可能指令リスト51に含まれないと判定し、文字「.3」の入力を受け付けないことができる。
For example, when the character string “.3” is input after the character string “G3” from the state of the
また、入力処理部31は、入力された指令が使用できない指令である場合、オペレータが入力した使用できない指令を取り消すまでは、オペレータによるその後の入力を受け付けないこともできる。
Further, when the input command is an unusable command, the
また、上述のリスト表示領域62では、使用可能指令リスト51に含まれる指令が、「G0」、「G1」、「G2」といったように番号順に並んでいるが、リスト表示領域62に表示される指令は番号順でなくてもよい。
In the
例えば、加工プログラム編集部30は、使用される頻度が高い順に指令を並べた使用可能指令リスト51を生成することができ、リスト表示領域62は、加工プログラム編集部30によって生成された使用可能指令リスト51に基づき、使用される頻度が高い順に並べた指令をリスト表示領域62に表示することができる。
For example, the machining program editing unit 30 can generate an
この場合、加工プログラム編集部30は、オペレータが入力部4への入力操作によって入力される指令の履歴を記憶部2に記憶しておき、記憶部2に記憶された指令の履歴に基づいて、使用される頻度を判定することができる。
In this case, the machining program editing unit 30 stores a history of commands input by the operator through an input operation on the input unit 4 in the
また、上述の処理では、加工プログラム解析部40は、編集開始の指示があった場合に、ブロック毎モーダル情報25を生成するが、かかる例に限定されない。加工プログラム解析部40は、オペレータが入力部4への入力操作によって文字を入力する指示を行う毎に、ステップS36の処理と同様の処理により、入力文字を含むブロックで有効なモーダル指令を判定することができる。加工プログラム解析部40は、入力文字を含むブロックで有効なモーダル指令がある場合に、ブロック毎モーダル情報25を更新する。
In the above-described processing, the machining
また、加工プログラム解析部40は、入力文字を含むブロックに指令が追加されたと判定した場合に、入力文字を含むブロックで有効なモーダル指令を含むモーダル情報を記憶部2に記憶して、ブロック毎指令位置情報26を更新することもできる。
In addition, when the machining
同様に、加工プログラム解析部40は、オペレータが入力部4への入力操作によって文字を入力する指示を行う毎に、ステップS38の処理と同様の処理により、入力文字を含むブロックに含まれる移動指令がある場合に、指令位置を演算することができる。加工プログラム解析部40は、指令位置を演算した場合にブロック毎指令位置情報26を更新する。
Similarly, each time the operator gives an instruction to input a character by an input operation to the input unit 4, the machining
また、加工プログラム解析部40は、入力文字を含むブロックに座標を指定した移動指令が追加されたと判定された場合に、入力文字を含むブロックでの指令位置を含む指令位置情報を記憶部2に記憶して、ブロック毎指令位置情報26を更新することもできる。
In addition, when it is determined that a movement command specifying coordinates is added to a block including an input character, the machining
加工プログラム解析部40は、加工プログラム編集装置1の起動時に、ブロック毎モーダル情報25を生成することもでき、また、加工プログラム編集装置1の処理負荷が閾値以下である場合に、ブロック毎モーダル情報25を生成することもできる。
The machining
図15は、実施の形態1にかかる加工プログラム編集装置1のハードウェア構成の一例を示す図である。図15に示すように、加工プログラム編集装置1は、プロセッサ101と、メモリ102と、HDD103と、インタフェース回路104と、ディスプレイ105とを備えるコンピュータである。プロセッサ101、メモリ102、HDD103、インタフェース回路104、およびディスプレイ105は、バス106によって互いにデータの送受信が可能である。記憶部2は、メモリ102およびHDD103によって実現され、入力部4は、インタフェース回路104によって実現され、表示部5は、ディスプレイ105によって実現される。
FIG. 15 is a diagram illustrating an example of a hardware configuration of the machining
プロセッサ101は、HDD103に記憶されたOSおよび処理プログラムを読み出して実行することによって、加工プログラム編集部30、および加工プログラム解析部40の機能を実行する。なお、プロセッサ101は、磁気ディスク、USB(Universal Serial Bus)メモリ、光ディスク、コンパクトディスク、およびDVD(Digital Versatile Disc)のうち一つ以上の記憶媒体から不図示のインタフェースを介してOSおよび処理プログラムを読み出しHDD103に記憶して実行することもできる。
The
以上のように、実施の形態1にかかる加工プログラム編集装置1は、表示処理部32と、解析部の一例である加工プログラム解析部40と、抽出部の一例である有効モーダル抽出部34と、指令候補生成部35とを備える。表示処理部32は、加工プログラム21に含まれる複数のブロックのうちの少なくとも一部を表示部5に表示する。加工プログラム解析部40は、複数のブロックのうち先頭のブロックからブロック毎に有効なモーダル指令を解析し、ブロック毎に有効なモーダル指令を含むモーダル情報を記憶部2に記憶する。有効モーダル抽出部34は、表示部5に表示されるカーソル位置のブロックにおいて有効なモーダル指令を記憶部2に記憶されたブロック毎モーダル情報25の中から抽出する。指令候補生成部35は、有効モーダル抽出部34により抽出された有効なモーダル指令に基づき、カーソル位置のブロックにおいて使用可能なモーダル指令のリストである使用可能指令リスト51を生成する。指令候補生成部35は、カーソル70の位置に文字列が入力される場合に、使用可能指令リスト51に含まれる複数のモーダル指令の中から入力された文字列を含むモーダル指令を抽出して新たな使用可能指令リスト51を生成する。表示処理部32は、指令候補生成部35によって生成される使用可能指令リスト51を表示部5に表示する。これにより、オペレータは入力しようとしている指令が使用可能であるかを確認することができ、効率的に加工プログラム21の編集作業を行うことができる。
As described above, the machining
また、使用可能指令リスト51には、使用可能な指令と、指令の説明文を含む。これにより、オペレータは入力しようとしている指令が使用可能であるか否かに加え、使用可能な指令の説明文を確認することができるため、さらに効率的に加工プログラム21の編集作業を行うことができる。
The
また、表示処理部32は、入力された指令が使用可能指令リスト51に含まれる複数のモーダル指令のいずれにも含まれない場合、入力された指令が使用できないことを示す警告を表示部5に表示する。これにより、オペレータが使用不可能な指令を入力することを防ぐことができ、また、加工プログラム21の編集作業完了後に加工プログラムチェック装置で加工プログラム21を確認する必要が無いため、効率的に加工プログラム21の編集作業を行うことができる。
In addition, when the input command is not included in any of the plurality of modal commands included in the
実施の形態2.
実施の形態2では、カーソル位置のブロックにおいて各モータX,Y,Z,A,およびCの指令位置が設定範囲外になる場合に警告表示を行う処理が追加される点で、実施の形態1と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1の加工プログラム編集装置1と異なる点を中心に説明する。
In the second embodiment, a process for displaying a warning when the command positions of the motors X, Y, Z, A, and C are outside the setting range in the cursor position block is added. And different. In the following, constituent elements having the same functions as those in the first embodiment are denoted by the same reference numerals, description thereof will be omitted, and differences from the machining
図16は、本発明の実施の形態2にかかる加工プログラム編集装置1Aの構成を示す図である。図16に示す加工プログラム編集装置1Aは、記憶部2Aと、処理部3Aと、入力部4と、表示部5とを備える。
FIG. 16 is a diagram showing a configuration of a machining program editing apparatus 1A according to the second embodiment of the present invention. A machining program editing apparatus 1A shown in FIG. 16 includes a storage unit 2A, a processing unit 3A, an input unit 4, and a
記憶部2Aは、記憶部2における工作機械パラメータ22に代えて、工作機械パラメータ22Aを記憶する。工作機械パラメータ22Aは、工作機械パラメータ22に含まれるパラメータに加え、使用する座標系を表すパラメータ、工作機械に搭載された各モータX,Y,Z,A,およびCの可動範囲を示すパラメータ、干渉物の位置を示すパラメータを含む。
The storage unit 2A stores machine tool parameters 22A instead of the
図17は、可動範囲を示すパラメータを含む可動範囲情報テーブル71の一例を示す図である。図17に示す可動範囲情報テーブル71には、モータX,Y,Z,A,およびCの可動範囲の下限を示す各々のパラメータとして、「−20.000」、「−20.000」、「−1020.000」、「−190.000」、および「0.000」が設定されている。 FIG. 17 is a diagram illustrating an example of the movable range information table 71 including a parameter indicating the movable range. In the movable range information table 71 shown in FIG. 17, “−20.000”, “−20.000”, “−” are set as parameters indicating the lower limits of the movable ranges of the motors X, Y, Z, A, and C. “−1020.000”, “−190.000”, and “0.000” are set.
また、図17に示す可動範囲情報テーブル71には、モータX,Y,Z,A,およびCの可動範囲の上限を示す各々のパラメータとして、「820.000」、「820.000」、「20.000」、「190.000」、および「0.000」が設定されている。 Further, in the movable range information table 71 shown in FIG. 17, “820.000”, “820.000”, “ “20.000”, “190.000”, and “0.000” are set.
したがって、モータXの可動範囲は、−20mm〜820mmであり、モータYの可動範囲は、−20mm〜820mmであり、モータZの可動範囲は、−1020mm〜20mmであり、モータAの可動範囲は、−190mm〜190mmである。また、モータCについては、可動範囲の設定が無効である。 Therefore, the movable range of the motor X is -20 mm to 820 mm, the movable range of the motor Y is -20 mm to 820 mm, the movable range of the motor Z is -1020 mm to 20 mm, and the movable range of the motor A is , -190 mm to 190 mm. For the motor C, the setting of the movable range is invalid.
干渉物の範囲を示すパラメータを含む干渉物範囲情報テーブルは、図17に示す可動範囲情報テーブル71と同様に工作機械パラメータ22Aの一部として記憶部2Aに記憶されている。可動範囲情報テーブル71では、可動範囲を示す情報が含まれるが、干渉物範囲情報テーブルでは、干渉物のある範囲を示す情報が含まれる。 The interference object range information table including the parameter indicating the range of the interference object is stored in the storage unit 2A as a part of the machine tool parameter 22A, similarly to the movable range information table 71 shown in FIG. In the movable range information table 71, information indicating the movable range is included, but in the interfering object range information table, information indicating a range where there is an interfering object is included.
可動範囲情報テーブル71および干渉物範囲情報テーブルによって、モータX,Y,Z,A,およびCの移動が許可される範囲である設定範囲Rmが決定される。かかる設定範囲Rmは、可動範囲情報テーブル71で規定された可動範囲内であって、かつ、干渉物範囲情報テーブルで規定される干渉物のある範囲を含まない範囲である。 Based on the movable range information table 71 and the interferer range information table, a set range Rm that is a range in which the movement of the motors X, Y, Z, A, and C is permitted is determined. The set range Rm is a range that is within the movable range defined by the movable range information table 71 and does not include a certain range of interferers defined by the interferer range information table.
図18は、座標設定パラメータを含む座標設定情報テーブル73の一例を示す図である。図18に示す座標設定情報テーブル73には、各指令の原点座標を示す情報が含まれる。図18に示す例では、指令「G54」の座標系における原点は、X軸、Y軸、Z軸、A軸、およびC軸が各々0mm、0mm、−1000mm、0mm、および0mmの位置である。 FIG. 18 is a diagram illustrating an example of the coordinate setting information table 73 including coordinate setting parameters. The coordinate setting information table 73 shown in FIG. 18 includes information indicating the origin coordinates of each command. In the example shown in FIG. 18, the origin in the coordinate system of the command “G54” is the positions of 0 mm, 0 mm, −1000 mm, 0 mm, and 0 mm on the X axis, Y axis, Z axis, A axis, and C axis, respectively. .
また、図18に示す例では、指令「G55」の座標系における原点は、X軸、Y軸、Z軸、A軸、およびC軸が各々500mm、500mm、−800mm、0mm、および0mmの位置である。以下、モータX,Y,Z,A,およびCを総称して、モータMと記載し、モータMの可動範囲を可動範囲Raとし、干渉物の位置範囲を干渉物範囲Rbとする。 In the example shown in FIG. 18, the origin in the coordinate system of the command “G55” is the positions where the X axis, Y axis, Z axis, A axis, and C axis are 500 mm, 500 mm, −800 mm, 0 mm, and 0 mm, respectively. It is. Hereinafter, the motors X, Y, Z, A, and C are collectively referred to as a motor M, the movable range of the motor M is a movable range Ra, and the position range of the interferer is an interferer range Rb.
図16に戻って、処理部3Aについて説明する。図16に示すように、処理部3Aは、加工プログラム編集部30Aと、加工プログラム解析部40とを備える。加工プログラム編集部30Aは、入力処理部31と、表示処理部32Aと、カーソル位置判定部33と、有効モーダル抽出部34と、指令候補生成部35と、指令位置判定部36とを備える。
Returning to FIG. 16, the processing unit 3A will be described. As illustrated in FIG. 16, the processing unit 3A includes a machining
指令位置判定部36は、上述した可動範囲を示すパラメータに基づき、カーソル位置のブロックに含まれる移動指令によってブロックの各モータMの指令位置が各モータMの可動範囲Ra外になるか否かを判定する。また、指令位置判定部36は、上述した干渉物の範囲を示すパラメータに基づき、カーソル位置のブロックに含まれる移動指令によってブロックの各モータMの指令位置が干渉物への衝突を起こす干渉物範囲Rb内になるか否かを判定する。
Based on the parameter indicating the movable range described above, the command
表示処理部32Aは、モータMの可動範囲Ra外への移動指令または干渉物範囲Rb内への移動指令を含む場合、設定範囲Rm外への移動指令を含むと判定し、表示部5に警告情報を表示する。これにより、オペレータがモータMの可動範囲Ra外への移動指令および干渉物範囲Rb内への移動指令を入力することを防ぐことができ、加工プログラム21の編集作業の効率向上の効果が得られる。
When the
図19は、加工プログラム編集部30Aが実行する入力支援処理を示すフローチャートである。図19に示すステップS50〜S56の処理は、図12に示すステップS50〜S56の処理と同じであるため、説明を省略する。
FIG. 19 is a flowchart showing an input support process executed by the machining
ステップS55の処理またはステップS56の処理が終了した場合、加工プログラム編集部30Aの指令位置判定部36は、文字の入力によってカーソル位置のブロックに移動指令で指定される座標位置が含まれることになったか否かを判定する(ステップS61)。移動指令で指定される座標位置は、移動指令の後に記述される座標位置であり、「G90 G0 X150.」の場合、「X150.」である。
When the process of step S55 or the process of step S56 is completed, the command
指令位置判定部36は、カーソル位置のブロックに移動指令で指定される座標位置が含まれることになったと判定した場合(ステップS61:Yes)、カーソル位置のブロックにおける指令位置を演算する(ステップS62)。
When it is determined that the coordinate position specified by the movement command is included in the block at the cursor position (step S61: Yes), the command
ステップS62において、指令位置判定部36は、記憶部2Aに記憶されたブロック毎指令位置情報26の中からカーソル位置のブロックの一つ前のブロックの指令位置情報を抽出する。そして、指令位置判定部36は、抽出した指令位置情報で示される指令位置と、カーソル位置のブロックに含まれることになった移動指令で指定される座標位置とに基づき、カーソル位置のブロックにおける指令位置を判定する。
In step S62, the command
なお、加工プログラム解析部40によってカーソル70の位置に文字が入力される毎にブロック毎指令位置情報26が更新される場合、指令位置判定部36は、記憶部2Aに記憶されたブロック毎指令位置情報26の中からカーソル位置のブロックの指令位置情報を抽出する。指令位置判定部36は、カーソル位置のブロックの指令位置情報で示される指令位置を、カーソル位置のブロックにおける指令位置として判定する。
When the
次に、指令位置判定部36は、可動範囲情報テーブル71に含まれる可動範囲を示すパラメータおよび干渉物範囲情報テーブルに含まれる干渉物の範囲を示すパラメータを記憶部2Aから読み出す(ステップS63)。
Next, the command
指令位置判定部36は、ステップS63で読み出したパラメータに基づいて、ステップS62で演算した指令位置が設定範囲Rm外になるか否かを判定する(ステップS64)。表示処理部32Aは、指令位置判定部36によって指令位置が設定範囲Rm外になると判定された場合(ステップS64:Yes)、表示部5に警告情報を表示する(ステップS65)。
The command
指令位置判定部36は、カーソル位置のブロックに移動指令の座標位置が含まれないと判定した場合(ステップS61:No)、指令位置が設定範囲Rm外ではないと判定した場合(ステップS64:No)、またはステップS65の処理を終了した場合、図19に示す処理を終了する。
When it is determined that the coordinate position of the movement command is not included in the block at the cursor position (step S61: No), the command
図20は、表示部5の表示画面60eの一例を示す図である。図20に示す表示画面60eには、加工プログラム表示領域61に加え、警告表示領域64が含まれる。図20に示す例では、加工プログラム21において、カーソル位置のブロックの2つ前のブロックには指令「G55」が含まれており、カーソル位置のブロックの一つ前のブロックとカーソル位置のブロックで有効な指令は、G55座標系上の指令である。
FIG. 20 is a diagram illustrating an example of the
また、カーソル位置のブロックの一つ前のブロックには、指令「G90」、指令「G0」、および座標位置「X200」が含まれており、絶対値指令方式で位置決めをX軸において200mmで行うように指令している。そして、座標設定情報テーブル73が図18に示す状態である場合、G55座標系は、X軸の原点が500mmである。この場合、カーソル位置のブロックの一つ前のブロックでは、モータXは700mmの位置へ移動することが指令されている。 The block immediately before the cursor position block includes a command “G90”, a command “G0”, and a coordinate position “X200”, and positioning is performed at 200 mm on the X axis by the absolute value command method. To command. When the coordinate setting information table 73 is in the state shown in FIG. 18, the G55 coordinate system has an X-axis origin of 500 mm. In this case, in the block immediately before the block at the cursor position, the motor X is instructed to move to a position of 700 mm.
カーソル位置のブロックには、指令「G91」、指令「G1」、および座標位置「X150.」が含まれており、増分値指令方式で切削送りをX軸において150mmで行うように指令されている。したがって、カーソル位置のブロックでは、モータXは850mmの位置へ移動することが指令されている。 The block at the cursor position includes a command “G91”, a command “G1”, and a coordinate position “X150.”, And is commanded to perform cutting feed at 150 mm on the X axis by the incremental value command method. . Therefore, in the block at the cursor position, the motor X is instructed to move to a position of 850 mm.
可動範囲情報テーブルが図17に示す状態である場合、モータXの可動範囲は、−20mm〜820mmであり、850mmは可動範囲外であり、カーソル位置のブロックにおいて、オペレータは設定範囲Rm外への移動指令を入力していることになる。したがって、表示処理部32Aは、図20に示すように、設定範囲Rmを超えてX軸のプラス方向に移動する移動指令を行ったことを示す警告を表示部5の警告表示領域64に表示する。
When the movable range information table is in the state shown in FIG. 17, the movable range of the motor X is −20 mm to 820 mm, 850 mm is out of the movable range, and the operator moves outside the set range Rm in the block at the cursor position. A movement command is input. Accordingly, as shown in FIG. 20, the
このように、実施の形態2にかかる加工プログラム編集装置1Aは、オペレータがモータMの設定範囲Rm外への移動指令を入力した場合には警告を表示するため、オペレータがモータMの設定範囲Rm外への移動指令を入力することを防ぐことができる。したがって、加工プログラム21の編集作業完了後の加工プログラムチェック装置による確認を不要とすることができ、加工プログラム21の編集作業の効率向上の効果を得ることができる。
As described above, the machining program editing apparatus 1A according to the second embodiment displays a warning when the operator inputs a movement command to the outside of the setting range Rm of the motor M. Therefore, the operator sets the setting range Rm of the motor M. It is possible to prevent an outward movement command from being input. Therefore, confirmation by the machining program check device after completion of the editing operation of the
なお、加工プログラム編集部30Aは、上述した警告の表示に加えて、または上述した警告の表示に代えて、入力された移動指令の座標位置によって設定される指令位置が設定範囲Rm外になる場合、入力された移動指令の座標位置を取り消すことができる。
In addition to the above-described warning display, or instead of the above-described warning display, the machining
また、加工プログラム編集部30Aは、設定範囲Rm外への移動指令の座標位置を入力できないようにもできる。具体的には、加工プログラム編集部30Aの入力処理部31は、設定範囲Rm外への移動指令の座標位置を記述する文字列が入力部4を介して入力された場合に、文字の入力を受け付けないこともできる。
Further, the machining
また、実施の形態2にかかる加工プログラム編集装置1Aのハードウェア構成例は、図15に示す加工プログラム編集装置1と同じである。プロセッサ101は、記憶部2Aとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した処理部3の機能に加え、表示処理部32Aおよび指令位置判定部36の機能を実行することができる。
The hardware configuration example of the machining program editing apparatus 1A according to the second embodiment is the same as that of the machining
以上のように、実施の形態2にかかる加工プログラム編集装置1Aは、表示処理部32Aと、解析部の一例である加工プログラム解析部40と、抽出部の一例である有効モーダル抽出部34と、指令位置判定部36とを備える。表示処理部32Aは、加工プログラム21に含まれる複数のブロックのうちの少なくとも一部を表示部5に表示する。加工プログラム解析部40は、加工プログラム21を先頭のブロックから解析して加工プログラム21のブロック毎に工作機械に含まれるモータMの指令位置を示す指令位置情報を含むブロック毎指令位置情報26を記憶部2Aに記憶する。指令位置判定部36は、記憶部2Aに記憶されたブロック毎指令位置情報26に基づき、表示部5に表示されるカーソル70の位置に入力される移動指令によってモータMの指令位置が設定範囲Rm外になるか否かを判定する。表示処理部32Aは、入力された移動指令によって指令位置が設定範囲Rm外になると指令位置判定部36によって判定された場合に、モータMの指令位置が設定範囲Rm外になったことを示す警告情報を表示部5に表示する。これにより、オペレータがモータMの設定範囲Rm外への移動指令を入力することを防ぐことができ、効率的に加工プログラム21の編集作業を行うことができる。
As described above, the machining program editing apparatus 1A according to the second embodiment includes the
実施の形態3.
実施の形態3では、各ブロックにおいて有効な指令が初期状態のモーダルであるか指令によるモーダルであるかを区別して表示する点で、実施の形態1,2と異なる。以下においては、実施の形態2と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態2の加工プログラム編集装置1Aと異なる点を中心に説明する。
Embodiment 3 FIG.
The third embodiment is different from the first and second embodiments in that the effective command in each block is displayed separately depending on whether it is a modal in the initial state or a modal by the command. In the following description, components having the same functions as those in the second embodiment are denoted by the same reference numerals, and description thereof is omitted. The description will focus on differences from the machining program editing apparatus 1A of the second embodiment.
図21は、本発明の実施の形態3にかかる加工プログラム編集装置1Bの構成を示す図である。図21に示す加工プログラム編集装置1Bは、記憶部2Bと、処理部3Bと、入力部4と、表示部5とを備える。
FIG. 21 is a diagram showing a configuration of a machining
記憶部2Bは、図16に示すブロック毎モーダル情報25に代えて、ブロック毎モーダル情報25Bを備える。ブロック毎モーダル情報25Bは、ブロック毎の有効なモーダル指令とモーダル種別とを含む情報である。
The
モーダル種別は、有効なモーダル指令が加工プログラム21に含まれるモーダル指令によるものか、工作機械パラメータ22Aに含まれるパラメータであってモーダル指令の初期状態を規定するパラメータによるものか、のいずれであるのかを示す種別である。以下、ブロックに含まれるモーダル指令を「指令によるモーダル」と記載する場合があり、パラメータで規定されるモーダル指令を「初期状態のモーダル」と記載する場合がある。
Whether the modal type is an effective modal command based on a modal command included in the
図22は、ブロック毎モーダル情報25Bの一例を示す図であり、各グループのモーダル指令の初期状態と、ブロック毎の有効なモーダル指令とが図9に示す状態である場合のブロック毎モーダル情報25Bを示す。 FIG. 22 is a diagram illustrating an example of the modal information 25B for each block. The modal information 25B for each block when the initial state of the modal command for each group and the effective modal command for each block are the states shown in FIG. Indicates.
図22に示すブロック毎モーダル情報25Bは、ブロック番号毎に、各グループの有効なモーダル指令を示す情報とモーダル種別を示す情報とが含まれる。図9に示す例ではグループ「01」における初期状態の指令が「G0」であり、ブロック番号「0」からブロック番号「N−1」までグループ「01」の指令が含まれておらず、ブロック番号「N」で指令が含まれている。 The block-by-block modal information 25B illustrated in FIG. 22 includes, for each block number, information indicating a valid modal command for each group and information indicating a modal type. In the example shown in FIG. 9, the command in the initial state in the group “01” is “G0”, the command of the group “01” is not included from the block number “0” to the block number “N−1”, and the block The command is included with the number “N”.
したがって、図22に示すブロック毎モーダル情報25Bでは、グループ「01」の有効なモーダル指令のモーダル種別は、ブロック番号「1」では「0」であり、ブロック番号「N」では「1」である。 Therefore, in the block-by-block modal information 25B shown in FIG. 22, the modal type of the effective modal command of the group “01” is “0” for the block number “1” and “1” for the block number “N”. .
また、図9に示す例ではグループ「13」における初期状態の指令が「G61.1」であり、ブロック番号「0」のブロックからブロック番号「N」のブロックまでグループ「13」の指令が含まれていない。したがって、図22に示すブロック毎モーダル情報25Bでは、グループ「13」の有効なモーダル指令のモーダル種別は、ブロック番号「1」のブロックでは「0」であり、ブロック番号「N」のブロックでも「0」である。 In the example shown in FIG. 9, the command in the initial state in the group “13” is “G61.1”, and the command in the group “13” is included from the block with the block number “0” to the block with the block number “N”. Not. Therefore, in the block-by-block modal information 25B shown in FIG. 22, the modal type of the effective modal command of the group “13” is “0” in the block of the block number “1”, and “ 0 ".
図21に示すように、処理部3Bは、加工プログラム編集部30Bと、加工プログラム解析部40Bとを備える。加工プログラム編集部30Bは、表示処理部32Aの機能に加え、さらに後述する機能を有する表示処理部32Bを備える。また、加工プログラム解析部40Bは、読込処理部41と、モーダル処理部42Bと、座標処理部43と、デフォルトモーダル判定部44とを備える。
As shown in FIG. 21, the
デフォルトモーダル判定部44は、各ブロックにおいて有効なモーダル指令が初期状態のモーダルであるか指令によるモーダルであるかを示すモーダル種別を判定する。モーダル処理部42Bは、各ブロックにおいて有効なモーダル指令とモーダル種別とを含むブロック毎のモーダル情報をブロック毎モーダル情報25Bとして記憶部2Bに記憶する。
The default modal determination unit 44 determines a modal type indicating whether a modal command effective in each block is an initial modal or a modal command. The modal processing unit 42B stores the modal information for each block including the modal command and the modal type effective in each block as the modal information 25B for each block in the
表示処理部32Bは、表示処理部32,32Aと同様の処理により、記憶部2Bに記憶されたブロック毎モーダル情報25Bからカーソル位置のブロックのモーダル情報を読み出し、読み出したモーダル情報を表示部5に表示する。
The
表示部5に表示されるモーダル情報には、カーソル位置のブロックにおいて有効なモーダル指令が初期状態のモーダルであるか指令によるモーダルであるかを示す情報が含まれている。これにより、オペレータは、編集位置のブロックにおける指令が、パラメータの設定に依存しているか否かを容易に認識することができる。
The modal information displayed on the
図23は、図7に示すステップS22の解析処理を示すフローチャートである。図23に示すステップS30,S31,S33〜S36,S38〜S40の処理は、図8に示すステップS30,S31,S33〜S36,S38〜S40の処理と同じであるため、説明を省略する。 FIG. 23 is a flowchart showing the analysis processing in step S22 shown in FIG. The processes of steps S30, S31, S33 to S36, and S38 to S40 shown in FIG. 23 are the same as the processes of steps S30, S31, S33 to S36, and S38 to S40 shown in FIG.
図23に示すように、デフォルトモーダル判定部44は、先頭のブロックで有効なモーダルの種別であるモーダル種別を判定する(ステップS71)。ステップS71において、デフォルトモーダル判定部44は、各ブロックにおいて有効なモーダル指令が初期状態のモーダルであるか指令によるモーダルであるかを示すモーダル種別を判定する。 As shown in FIG. 23, the default modal determination unit 44 determines a modal type that is an effective modal type in the first block (step S71). In step S71, the default modal determining unit 44 determines a modal type indicating whether a modal command effective in each block is a modal in the initial state or a modal by the command.
モーダル処理部42Bは、ステップS31で抽出した有効なモーダル指令とモーダル種別を示す情報と「先頭のブロック」のブロック番号「1」とを含むモーダル情報を記憶部2Bに記憶する(ステップS32B)。これにより、先頭ブロックのモーダル情報を含むブロック毎モーダル情報25Bが生成される。
The modal processing unit 42B stores, in the
ステップS72において、デフォルトモーダル判定部44は、ステップS71の処理と同様に、ステップS35で読み出した「次のブロック」で有効なモーダル指令のモーダル種別を判定する(ステップS72)。 In step S72, the default modal determination unit 44 determines the modal type of the modal command effective in the “next block” read in step S35, similarly to the process in step S71 (step S72).
モーダル処理部42Bは、ステップS36で抽出した有効なモーダル指令とモーダル種別を示す情報と「次のブロック」のブロック番号とを含むモーダル情報を記憶部2Bに記憶する(ステップS37B)。これにより、「次のブロック」のモーダル情報がブロック毎モーダル情報25Bに追加されて、先頭ブロックから「次のブロック」までの各ブロックのモーダル情報を含むブロック毎モーダル情報25Bが生成されブロック毎モーダル情報25Bが更新される。
The modal processing unit 42B stores, in the
図24は、モーダル情報の表示処理を示すフローチャートである。図24に示すように、加工プログラム編集部30Bのカーソル位置判定部33は、カーソル位置のブロックを判定する(ステップS81)。
FIG. 24 is a flowchart showing a modal information display process. As shown in FIG. 24, the cursor
表示処理部32Bは、記憶部2Bに記憶されたブロック毎モーダル情報25Bの中から、カーソル位置のブロックのモーダル情報を読み出す(ステップS82)。そして、表示処理部32Bは、読み出したモーダル情報を表示部5に表示する(ステップS83)。
The
図25は、実施の形態3における表示部5の表示画面の一例を示す図である。図25に示す表示画面60fには、加工プログラム表示領域61とモーダル表示領域65とが含まれる。加工プログラム表示領域61には、加工プログラム21を構成する複数のブロックのうち少なくとも一部が表示される。
FIG. 25 is a diagram illustrating an example of a display screen of the
図25に示す例では、加工プログラム表示領域61に表示される加工プログラム21の先頭のブロックからカーソル位置のブロックまでにグループ「01」の指令として「G0」と「G1」とが含まれている。したがって、カーソル位置のブロックにおいてグループ「01」の有効なモーダル指令は「G1」である。また、カーソル位置のブロックにおいて、グループ「03」の有効なモーダル指令は「G91」、グループ「12」の有効なモーダル指令は「G55」である。
In the example shown in FIG. 25, “G0” and “G1” are included as commands of the group “01” from the first block of the
グループ「02」および「13」では、加工プログラム21の先頭のブロックからカーソル位置のブロックまでに一度も指令されていない。したがって、モーダル指令の初期状態を規定するパラメータにより、グループ「02」の有効なモーダル指令は「G17」、グループ「13」の有効なモーダル指令は「G61.1」である。
In groups “02” and “13”, no command is given from the first block of the
図25に示すモーダル表示領域65には、初期状態のモーダルであることを示すために、指令「G17」および指令「G61.1」が強調表示されている。これにより、オペレータは、編集位置のブロックにおける指令が、パラメータの設定に依存しているか否かを容易に認識することができる。なお、初期状態のモーダルであることを示す強調表示は、図25においては、指令を枠で囲むことによって行われるが、指令のサイズ、色、および書体を変更することによって強調表示してもよい。 In the modal display area 65 shown in FIG. 25, the command “G17” and the command “G61.1” are highlighted to show that the modal is in the initial state. Thus, the operator can easily recognize whether or not the command in the block at the editing position depends on the parameter setting. In FIG. 25, the highlighting indicating that the modal is in the initial state is performed by surrounding the command with a frame. However, the command may be highlighted by changing the size, color, and typeface of the command. .
また、座標処理部43は、各モータMの指令位置、回転速度、および送り速度をブロック毎に演算し、かかる演算結果をブロック毎指令位置情報26として記憶部2Bに記憶することができる。
In addition, the coordinate processing
表示処理部32Bは、記憶部2Bに記憶されたブロック毎指令位置情報26の中から、カーソル位置のブロックの指令位置情報を読み出し、読み出した指令位置情報を表示部5に表示することができる。指令位置情報には、各モータMの指令位置、回転速度、および送り速度が含まれる。
The
図25に示す例では、各モータX,Y,Z,A,Cの指令位置および送り速度の情報も同時に表示されている。具体的には、図25に示す例では、モータX,Y,Zが各々715mm、505mm、−300mmの指令位置にあり、モータA,Cが0mmの位置にあり、主軸の回転速度および送りが5000rpmの正転および3000m/minであることが示される。 In the example shown in FIG. 25, information on the command positions and feed speeds of the motors X, Y, Z, A, and C is also displayed at the same time. Specifically, in the example shown in FIG. 25, the motors X, Y, and Z are at the command positions of 715 mm, 505 mm, and −300 mm, the motors A and C are at the position of 0 mm, and the rotational speed and feed of the spindle are It is shown to be forward at 5000 rpm and 3000 m / min.
なお、上述した例では、表示画面60fには、図13に示すリスト表示領域62が含まれていないが、表示処理部32Bは、リスト表示領域62をモーダル表示領域65と共に表示画面60fに含ませることができる。また、表示処理部32Bは、リスト表示領域62において、初期状態である指令を強調表示することもできる。
In the example described above, the
また、実施の形態3にかかる加工プログラム編集装置1Bのハードウェア構成例は、図15に示す加工プログラム編集装置1と同じである。プロセッサ101は、記憶部2Bとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した処理部3の機能に加え、表示処理部32B、指令位置判定部36、モーダル処理部42B、およびデフォルトモーダル判定部44の機能を実行することができる。
A hardware configuration example of the machining
以上のように、実施の形態3にかかる加工プログラム編集装置1Bは、表示処理部32Bと、解析部の一例である加工プログラム解析部40Bと、抽出部の一例である有効モーダル抽出部34とを備える。表示処理部32Bは、加工プログラム21に含まれる複数のブロックのうちの少なくとも一部を表示部5に表示する。加工プログラム解析部40Bは、加工プログラム21を先頭のブロックからブロック毎に有効なモーダル指令を解析すると共に、有効なモーダル指令が初期パラメータであるか否かの種別であるモーダル種別を判定する。加工プログラム解析部40Bは、ブロック毎に有効なモーダル指令とモーダル種別とを示すモーダル情報を記憶部2Bに記憶する。有効モーダル抽出部34は、表示部5に表示されるカーソル位置のブロックで有効なモーダル指令を示すモーダル情報を記憶部2Bに記憶されたブロック毎モーダル情報25Bの中から抽出する。表示処理部32Bは、有効モーダル抽出部34によって抽出されたモーダル情報に基づき、カーソル位置のブロックで有効なモーダル指令とモーダル種別とを表示部5に表示する。これにより、オペレータは、編集位置のブロックにおけるモーダル指令が、パラメータの設定に依存しているか否かを容易に認識することができ、効率的に加工プログラム21の編集作業を行うことができる。
As described above, the machining
実施の形態4.
実施の形態4では、加工プログラムがサブプログラムである場合に、加工プログラムの先頭ではなく、メインプログラムの先頭のブロックから解析する点で、実施の形態1〜3と異なる。以下においては、実施の形態3と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態3の加工プログラム編集装置1Bと異なる点を中心に説明する。
Embodiment 4 FIG.
The fourth embodiment is different from the first to third embodiments in that when the machining program is a subprogram, analysis is performed from the head block of the main program, not the head of the machining program. In the following, constituent elements having the same functions as those in the third embodiment are denoted by the same reference numerals, description thereof is omitted, and differences from the machining
図26は、本発明の実施の形態4にかかる加工プログラム編集装置1Cの構成を示す図である。図26に示す加工プログラム編集装置1Cは、記憶部2Cと、処理部3Cと、入力部4と、表示部5とを備える。
FIG. 26 is a diagram showing a configuration of a machining program editing apparatus 1C according to the fourth embodiment of the present invention. A machining program editing apparatus 1C shown in FIG. 26 includes a storage unit 2C, a processing unit 3C, an input unit 4, and a
記憶部2Cは、複数の加工プログラムを含む加工プログラム群28を記憶する。図26に示す加工プログラム群28は、複数の加工プログラムとして、メインプログラム21Aと、サブプログラム21Bとを含む。なお、図26では、メインプログラム21Aおよびサブプログラム21Bは各々一つずつ示されているが、メインプログラム21Aおよびサブプログラム21Bは加工プログラム群28に各々複数含まれている。
The storage unit 2C stores a
メインプログラム21Aには、サブプログラム呼び出し指令と呼ばれる指令が含まれており、メインプログラム21Aからサブプログラム21Bを呼び出して実行することができる。メインプログラム21Aの先頭のブロックからサブプログラム呼び出し指令までの有効なモーダル指令と指令位置は、サブプログラム21Bに引き継がれる。
The
サブプログラム呼び出し指令はどのサブプログラム21Bを呼び出すかを指定するものであることから、メインプログラム21Aからサブプログラム21Bを知ることができるが、サブプログラム21Bにはメインプログラム21Aについての記述が含まれていない。したがって、サブプログラム21Bからメインプログラム21Aを知ることはできない。
Since the subprogram call command specifies which subprogram 21B to call, the subprogram 21B can be known from the
したがって、オペレータがサブプログラム21Bを編集していた場合において、サブプログラム21Bの先頭のブロックから有効なモーダル指令および指令位置を解析しても、有効なモーダル指令および指令位置を正確に解析できない可能性がある。 Therefore, when the operator is editing the subprogram 21B, even if an effective modal command and command position are analyzed from the first block of the subprogram 21B, the effective modal command and command position may not be accurately analyzed. There is.
そこで、処理部3Cは、呼び出し元の加工プログラムであるメインプログラム21Aの先頭のブロックからサブプログラム呼び出し指令を含むブロックを経由して編集を行っているサブプログラム21Bの先頭のブロックから最終のブロックまでをブロック毎に解析する。
Therefore, the processing unit 3C performs from the first block of the
かかる処理部3Cは、加工プログラム編集部30Cと、加工プログラム解析部40Bと、メインプログラム検索部50とを備える。メインプログラム検索部50は、記憶部2Cに記憶されている加工プログラム群28の中から全文検索し、編集を行っている加工プログラムであるサブプログラム21Bの読み出し元の加工プログラムであるメインプログラム21Aを抽出する。
The processing unit 3C includes a machining program editing unit 30C, a machining
加工プログラム編集部30Cは、加工プログラム解析部40Bにプログラム解析を行わせる前に、メインプログラム検索部50に対して編集を行っているサブプログラム21Bを呼び出しているメインプログラム21Aを探し出すよう要求する。加工プログラム編集部30Cは、メインプログラム検索部50がメインプログラム21Aを抽出した場合、加工プログラム解析部40Bに対して、メインプログラム21Aの先頭のブロックから解析を行うように指示する。
The machining program editing unit 30C requests the main
加工プログラム解析部40Bは、メインプログラム21Aの先頭のブロックからサブプログラム呼び出し指令ブロックを経由して編集を行っているサブプログラム21Bの先頭のブロックから最終のブロックまでをブロック毎に解析する。
The machining
具体的には、加工プログラム解析部40Bは、上述した加工プログラム21の解析処理と同様に、メインプログラム21Aの先頭のブロックからサブプログラム呼び出し指令を含むブロックまでをブロック毎に解析する。続いて、加工プログラム解析部40Bは、メインプログラム21Aのサブプログラム呼び出し指令の呼び出し先であって編集が行われているサブプログラム21Bの先頭のブロックから最終のブロックまでをブロック毎に解析する。
Specifically, the machining
加工プログラム解析部40Bは、サブプログラム21Bの先頭のブロックの直前で有効なモーダル情報として、サブプログラム呼び出し指令を含むブロックのモーダル情報を用いる。これにより、メインプログラム21Aのサブプログラム呼び出し指令を含むブロックで有効なモーダル指令を初期状態のモーダル指令として用いて、サブプログラム21Bの先頭のブロックからサブプログラム21Bを解析することができる。
The machining
加工プログラム解析部40Bは、解析したブロック毎のモーダル情報をブロック毎モーダル情報25Bとして記憶部2Cに記憶し、解析したブロック毎の指令位置情報をブロック毎指令位置情報26として記憶部2Cに記憶する。
The machining
なお、メインプログラム検索部50は、加工プログラム編集部30Cからの指示がない場合であっても、プロセッサ101の空き時間を利用して各サブプログラム21Bの呼び出し元であるメインプログラム21Aを判定することができる。この場合、メインプログラム検索部50は、判定したサブプログラム21Bとメインプログラム21Aとの関係を示す情報を記憶部2Cに記憶することができる。
Note that the main
図27は、図6に示すステップS11の編集開始処理を示すフローチャートである。図27に示すステップS20,S21の処理は、図7に示すステップS20,S21の処理と同じであるため、説明を省略する。 FIG. 27 is a flowchart showing the editing start process in step S11 shown in FIG. The processes in steps S20 and S21 shown in FIG. 27 are the same as the processes in steps S20 and S21 shown in FIG.
図27に示すように、加工プログラム編集部30Cは、表示部5に表示されて編集中の加工プログラムがサブプログラム21Bであるか否かを判定する(ステップS91)。加工プログラム編集部30Cは、編集中の加工プログラムがサブプログラム21Bであると判定した場合(ステップS91:Yes)、サブプログラム21Bの読み出し元のメインプログラム21Aの解析を加工プログラム解析部40Bに指示し、加工プログラム解析部40Bはメインプログラム21Aの解析を実行する(ステップS92)。かかるステップS92は、図8に示すステップS30〜S40の処理と同じである。
As illustrated in FIG. 27, the machining program editing unit 30C determines whether or not the machining program displayed on the
ステップS92の処理が終了した場合、または、編集中の加工プログラムがサブプログラム21Bではないと判定した場合(ステップS91:No)、加工プログラム編集部30Cは、編集中の加工プログラムの解析を加工プログラム解析部40Bに指示し、加工プログラム解析部40Bはメインプログラム21Aの解析を実行する(ステップS93)。
When the process of step S92 is completed, or when it is determined that the machining program being edited is not the subprogram 21B (step S91: No), the machining program editing unit 30C analyzes the machining program being edited. The
ステップS94において、加工プログラム編集部30Cは、編集中の加工プログラムがサブプログラム21Bである場合、メインプログラム21Aにおけるサブプログラム呼び出し指令を含むブロックのモーダル情報を初期状態のモーダル指令として用いて、サブプログラム21Bの先頭のブロックからサブプログラム21Bを解析する。かかるステップS93は、図8に示すステップS30〜S40の処理と同じである。処理部3Cは、ステップS93の処理を終了すると、図27に示す処理を終了する。
In step S94, when the machining program being edited is the subprogram 21B, the machining program editing unit 30C uses the block modal information including the subprogram call command in the
図28は、表示部5の表示画面の一例を示す図であり、図29は、メインプログラム21Aの一例を示す図である。図28に示す表示画面60gには、サブプログラム表示領域である加工プログラム表示領域61とモーダル表示領域65が含まれる。図28に示す加工プログラム表示領域61には、編集中の加工プログラムであるサブプログラム21Bの少なくとも一部の内容が表示される。
FIG. 28 is a diagram showing an example of the display screen of the
図28に示す表示画面60gでは、図29に示すメインプログラム21Aに含まれる指令「G55」が、サブプログラム21Bにおけるカーソル位置のブロックでグループ「12」の有効なモーダル指令となっていることが示される。そして、指令「G55」が編集中のサブプログラム21Bではなくメインプログラム21Aでの指令であることを示すために、編集中のサブプログラム21Bで指令されたモーダルとは区別して斜体で表示される。
The
これにより、編集中の加工プログラムがサブプログラム21Bであっても、オペレータはカーソル位置のブロックにおいて有効なモーダル指令を把握することができ、加工プログラムチェック装置でメインプログラム21Aから確認を行う時と同等のプログラム解析を行うことができる。
As a result, even if the machining program being edited is the subprogram 21B, the operator can grasp the effective modal command in the block at the cursor position, which is the same as when the machining program check device confirms from the
また、実施の形態4にかかる加工プログラム編集装置1Cのハードウェア構成例は、図15に示す加工プログラム編集装置1と同じである。プロセッサ101は、記憶部2Cとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した処理部3Cの機能を実行することができる。
A hardware configuration example of the machining program editing apparatus 1C according to the fourth embodiment is the same as that of the machining
以上のように、実施の形態4にかかる加工プログラム編集装置1Cは、メインプログラム検索部50を備える。メインプログラム検索部50は、加工プログラム21の呼び出し元であるメインプログラム21Aを検索する。加工プログラム解析部40Bは、サブプログラム21Bである加工プログラムの先頭のブロックに代えて、メインプログラム21Aの先頭のブロックから解析を行う。これにより、オペレータがサブプログラム21Bを編集していた場合であっても、編集位置での有効なモーダル指令を正確に把握することができ、効率的に加工プログラム21の編集作業を行うことができる。
As described above, the machining
なお、上述した例では、オペレータへの警告は、表示部5への表示によって行われるが、加工プログラム編集部30,30A,30B,30Cは、表示部5への表示に代えて、音および振動の少なくとも1つによってオペレータへ警告を行うことができる。また、加工プログラム編集部30,30A,30B,30Cは、表示部5への表示に加えて、音および振動の少なくとも1つによってオペレータへ警告を行うことができる。
In the above-described example, the warning to the operator is performed by display on the
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
1,1A,1B,1C 加工プログラム編集装置、2,2A,2B,2C 記憶部、3,3A,3B,3C 処理部、4 入力部、5 表示部、21 加工プログラム、21A メインプログラム、21B サブプログラム、22,22A 工作機械パラメータ、23,27 使用可能指令リスト、24 モーダル指令−指令使用可否対応表、25,25B ブロック毎モーダル情報、26 ブロック毎指令位置情報、28 加工プログラム群、30,30A,30B,30C 加工プログラム編集部、31 入力処理部、32,32A,32B 表示処理部、33 カーソル位置判定部、34 有効モーダル抽出部、35 指令候補生成部、36 指令位置判定部、40,40B 加工プログラム解析部、41 読込処理部、42,42B モーダル処理部、43 座標処理部、44 デフォルトモーダル判定部、50 メインプログラム検索部、51 使用可能指令リスト、70 カーソル、71 可動範囲情報テーブル、73 座標設定情報テーブル、X,Y,Z,A,C モータ。
1, 1A, 1B, 1C Machining program editing device, 2, 2A, 2B, 2C storage unit, 3, 3A, 3B, 3C processing unit, 4 input unit, 5 display unit, 21 machining program, 21A main program, 21B sub Program, 22, 22A Machine tool parameter, 23, 27 usable command list, 24 modal command-command availability correspondence table, 25, 25B Modal information for each block, 26 Command position information for each block, 28 Machining program group, 30, 30A , 30B, 30C Machining program editing unit, 31 input processing unit, 32, 32A, 32B display processing unit, 33 cursor position determination unit, 34 effective modal extraction unit, 35 command candidate generation unit, 36 command position determination unit, 40, 40B Machining program analysis unit, 41 Reading processing unit, 42, 42B
Claims (13)
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理部と、
前記複数のブロックのうち先頭のブロックから前記ブロック毎に有効なモーダル指令を解析し、前記ブロック毎に有効なモーダル指令を含むモーダル情報を記憶部に記憶する解析部と、
前記表示部に表示されるカーソル位置のブロックにおいて有効なモーダル指令を前記記憶部に記憶された前記複数のブロックの前記モーダル情報の中から抽出する抽出部と、
前記抽出部により抽出された前記有効なモーダル指令に基づき、前記カーソル位置のブロックにおいて使用可能な複数のモーダル指令のリストを生成する指令候補生成部を備え、
前記指令候補生成部は、
前記カーソル位置に文字列が入力される場合に、前記リストに含まれる前記複数のモーダル指令の中から前記文字列を含むモーダル指令を抽出して新たなリストを生成し、
前記表示処理部は、
前記指令候補生成部によって生成される前記リストを前記表示部に表示する
ことを特徴とする加工プログラム編集装置。 A machining program editing device for editing a machining program executed by a numerical control device for controlling a machine tool,
A display processing unit for displaying at least a part of a plurality of blocks included in the machining program on a display unit;
Analyzing a modal command effective for each block from the first block among the plurality of blocks, and storing a modal information including a modal command valid for each block in a storage unit;
An extraction unit that extracts a modal command effective in the block at the cursor position displayed on the display unit from the modal information of the plurality of blocks stored in the storage unit;
Based on the effective modal command extracted by the extraction unit, a command candidate generation unit that generates a list of a plurality of modal commands that can be used in the block at the cursor position,
The command candidate generation unit
When a character string is input at the cursor position, a modal command including the character string is extracted from the plurality of modal commands included in the list to generate a new list,
The display processing unit
The machining program editing apparatus, wherein the list generated by the command candidate generation unit is displayed on the display unit.
ことを特徴とする請求項1に記載の加工プログラム編集装置。 The machining program editing device according to claim 1, wherein the list includes a usable modal command and a description of the usable modal command.
前記カーソル位置に入力される指令が前記リストに含まれる複数のモーダル指令のいずれにも含まれない場合、前記入力される指令が使用できないことを示す警告を前記表示部に表示する
ことを特徴とする請求項1または2に記載の加工プログラム編集装置。 The display processing unit
When the command input at the cursor position is not included in any of a plurality of modal commands included in the list, a warning indicating that the input command cannot be used is displayed on the display unit. The machining program editing apparatus according to claim 1 or 2.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理部と、
前記加工プログラムを先頭のブロックから解析して前記加工プログラムのブロック毎に前記工作機械に含まれるモータの指令位置を示す位置情報を記憶部に記憶する解析部と、
前記記憶部に記憶された位置情報に基づき、前記表示部に表示されるカーソル位置に入力される移動指令によって前記モータの指令位置が設定範囲外になるか否かを判定する指令位置判定部と、を備え、
前記表示処理部は、
前記入力される移動指令によって指令位置が前記設定範囲外になると前記指令位置判定部によって判定された場合に、前記モータの指令位置が前記設定範囲外になったことを示す警告情報を前記表示部に表示する
ことを特徴とする加工プログラム編集装置。 A machining program editing device for editing a machining program executed by a numerical control device for controlling a machine tool,
A display processing unit for displaying at least a part of a plurality of blocks included in the machining program on a display unit;
An analysis unit that analyzes the machining program from a top block and stores position information indicating a command position of a motor included in the machine tool for each block of the machining program in a storage unit;
A command position determination unit that determines whether or not the command position of the motor is out of a set range by a movement command input to the cursor position displayed on the display unit based on the position information stored in the storage unit; With
The display processing unit
When the command position is determined to be out of the set range by the input movement command, the display unit displays warning information indicating that the command position of the motor is out of the set range. A machining program editing device characterized by being displayed on the screen.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理部と、
前記加工プログラムを先頭のブロックからブロック毎に有効なモーダル指令を解析すると共に前記有効なモーダル指令が初期パラメータであるか否かの種別を判定し、前記ブロック毎に前記有効なモーダル指令と前記種別とを示すモーダル情報を記憶部に記憶する解析部と、
前記表示部に表示されるカーソル位置のブロックで有効なモーダル指令を示すモーダル情報を前記記憶部に記憶された前記ブロック毎の有効なモーダル指令の中から抽出する抽出部と、を備え、
前記表示処理部は、
前記抽出部によって抽出されたモーダル情報に基づき、前記カーソル位置のブロックで前記有効なモーダル指令と前記種別とを前記表示部に表示する
ことを特徴とする加工プログラム編集装置。 A machining program editing device for editing a machining program executed by a numerical control device for controlling a machine tool,
A display processing unit for displaying at least a part of a plurality of blocks included in the machining program on a display unit;
The machining program analyzes the effective modal command for each block from the first block and determines whether or not the effective modal command is an initial parameter, and determines the effective modal command and the type for each block. An analysis unit that stores modal information indicating that in a storage unit;
An extraction unit that extracts modal information indicating the modal command effective in the block at the cursor position displayed on the display unit from the effective modal command stored for each block stored in the storage unit;
The display processing unit
The processing program editing apparatus, wherein the effective modal command and the type are displayed on the display unit in the block at the cursor position based on the modal information extracted by the extraction unit.
前記解析部は、
前記加工プログラムの先頭のブロックに代えて、前記メインプログラムの先頭のブロックから前記解析を行う
ことを特徴とする請求項1から5のいずれか一つに記載の加工プログラム編集装置。 A main program search unit that searches for a main program that is a caller of the machining program;
The analysis unit
The machining program editing apparatus according to any one of claims 1 to 5, wherein the analysis is performed from a head block of the main program instead of the head block of the machining program.
ことを特徴とする請求項1から6のいずれか一つに記載の加工プログラム編集装置。 An input processing unit for adding the selected modal command to the machining program when a modal command is selected by an input operation to the input unit from among the modal commands included in the list. Item 7. The machining program editing device according to any one of Items 1 to 6.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理ステップと、
前記複数のブロックのうち先頭のブロックから前記ブロック毎に有効なモーダル指令を解析し、前記ブロック毎に有効なモーダル指令を含むモーダル情報を記憶部に記憶する解析ステップと、
前記表示部に表示されるカーソル位置のブロックにおいて有効なモーダル指令を前記記憶部に記憶された前記複数のブロックの前記モーダル情報の中から抽出する抽出ステップと、
前記抽出ステップにより抽出された前記有効なモーダル指令に基づき、前記カーソル位置のブロックにおいて使用可能な複数のモーダル指令のリストを生成する指令候補生成ステップと、を含み、
前記指令候補生成ステップは、
前記カーソル位置に文字列が入力される場合に、前記リストに含まれる前記複数のモーダル指令の中から前記文字列を含むモーダル指令を抽出して新たなリストを生成し、
前記表示処理ステップは、
前記指令候補生成ステップによって生成される前記リストを前記表示部に表示する
ことを特徴とする加工プログラム編集方法。 A machining program editing method in which a computer edits a machining program executed by a numerical controller that controls a machine tool,
A display processing step of displaying at least a part of a plurality of blocks included in the machining program on a display unit;
Analyzing a modal command effective for each block from the first block among the plurality of blocks, and storing a modal information including a modal command effective for each block in a storage unit;
An extraction step of extracting a modal command effective in the block at the cursor position displayed on the display unit from the modal information of the plurality of blocks stored in the storage unit;
A command candidate generation step for generating a list of a plurality of modal commands that can be used in the block at the cursor position based on the effective modal command extracted by the extraction step;
The command candidate generation step includes:
When a character string is input at the cursor position, a modal command including the character string is extracted from the plurality of modal commands included in the list to generate a new list,
The display processing step includes
The machining program editing method, wherein the list generated by the command candidate generation step is displayed on the display unit.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理ステップと、
前記加工プログラムを先頭のブロックから解析して前記加工プログラムのブロック毎に前記工作機械に含まれるモータの指令位置を示す位置情報を記憶部に記憶する解析ステップと、
前記記憶部に記憶された位置情報に基づき、前記表示部に表示されるカーソル位置に入力される移動指令によって前記モータの指令位置が設定範囲外になるか否かを判定する指令位置判定ステップと、を含み、
前記表示処理ステップは、
入力される移動指令によって指令位置が前記設定範囲外になると前記指令位置判定ステップによって判定された場合に、前記モータの指令位置が前記設定範囲外になったことを示す警告情報を前記表示部に表示する
ことを特徴とする加工プログラム編集方法。 A machining program editing method in which a computer edits a machining program executed by a numerical controller that controls a machine tool,
A display processing step of displaying at least a part of a plurality of blocks included in the machining program on a display unit;
An analysis step of analyzing the machining program from the top block and storing position information indicating a command position of a motor included in the machine tool for each block of the machining program in a storage unit;
A command position determination step for determining whether or not the command position of the motor is out of a set range based on the movement command input to the cursor position displayed on the display section based on the position information stored in the storage section; Including,
The display processing step includes
When the command position is determined to be outside the set range by the input movement command, warning information indicating that the command position of the motor is outside the set range is displayed on the display unit when it is determined by the command position determination step. A machining program editing method characterized by displaying.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理ステップと、
前記加工プログラムを先頭のブロックからブロック毎に有効なモーダル指令を解析すると共に前記有効なモーダル指令が初期パラメータであるか否かの種別を判定し、前記ブロック毎に前記有効なモーダル指令と前記種別とを示すモーダル情報を記憶部に記憶する解析ステップと、
前記表示部に表示されるカーソル位置のブロックで有効なモーダル指令を示すモーダル情報を前記記憶部に記憶された前記ブロック毎の有効なモーダル指令の中から抽出する抽出ステップと、を含み、
前記表示処理ステップは、
前記抽出ステップによって抽出されたモーダル情報に基づき、前記カーソル位置のブロックで前記有効なモーダル指令と前記種別とを前記表示部に表示する
ことを特徴とする加工プログラム編集方法。 A machining program editing method in which a computer edits a machining program executed by a numerical controller that controls a machine tool,
A display processing step of displaying at least a part of a plurality of blocks included in the machining program on a display unit;
The machining program analyzes the effective modal command for each block from the first block and determines whether or not the effective modal command is an initial parameter, and determines the effective modal command and the type for each block. An analysis step for storing modal information indicating that in the storage unit;
Extracting the modal information indicating the modal command effective in the block at the cursor position displayed on the display unit from the effective modal command stored for each block stored in the storage unit, and
The display processing step includes
The machining program editing method, wherein the effective modal command and the type are displayed on the display unit in the block at the cursor position based on the modal information extracted in the extraction step.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理ステップと、
前記複数のブロックのうち先頭のブロックから前記ブロック毎に有効なモーダル指令を解析し、前記ブロック毎に有効なモーダル指令を含むモーダル情報を記憶部に記憶する解析ステップと、
前記表示部に表示されるカーソル位置のブロックにおいて有効なモーダル指令を前記記憶部に記憶された前記複数のブロックの前記モーダル情報の中から抽出する抽出ステップと、
前記抽出ステップにより抽出された前記有効なモーダル指令に基づき、前記カーソル位置のブロックにおいて使用可能な複数のモーダル指令のリストを生成する指令候補生成ステップと、をコンピュータに実行させ、
前記指令候補生成ステップは、
前記カーソル位置に文字列が入力される場合に、前記リストに含まれる前記複数のモーダル指令の中から前記文字列を含むモーダル指令を抽出して新たなリストを生成し、
前記表示処理ステップは、
前記指令候補生成ステップによって生成される前記リストを前記表示部に表示する
ことを特徴とする加工プログラム編集プログラム。 A machining program editing program for editing a machining program executed by a numerical control device for controlling a machine tool,
A display processing step of displaying at least a part of a plurality of blocks included in the machining program on a display unit;
Analyzing a modal command effective for each block from the first block among the plurality of blocks, and storing a modal information including a modal command effective for each block in a storage unit;
An extraction step of extracting a modal command effective in the block at the cursor position displayed on the display unit from the modal information of the plurality of blocks stored in the storage unit;
A command candidate generation step of generating a list of a plurality of modal commands that can be used in the block at the cursor position based on the effective modal command extracted by the extraction step;
The command candidate generation step includes:
When a character string is input at the cursor position, a modal command including the character string is extracted from the plurality of modal commands included in the list to generate a new list,
The display processing step includes
The machining program editing program, wherein the list generated by the command candidate generation step is displayed on the display unit.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理ステップと、
前記加工プログラムを先頭のブロックから解析して前記加工プログラムのブロック毎に前記工作機械に含まれるモータの指令位置を示す位置情報を記憶部に記憶する解析ステップと、
前記記憶部に記憶された位置情報に基づき、前記表示部に表示されるカーソル位置に入力される移動指令によって前記モータの指令位置が設定範囲外になるか否かを判定する指令位置判定ステップと、をコンピュータに実行させ、
前記表示処理ステップは、
入力される移動指令によって指令位置が前記設定範囲外になると前記指令位置判定ステップによって判定された場合に、前記モータの指令位置が前記設定範囲外になったことを示す警告情報を前記表示部に表示する
ことを特徴とする加工プログラム編集プログラム。 A machining program editing method in which a computer edits a machining program executed by a numerical controller that controls a machine tool,
A display processing step of displaying at least a part of a plurality of blocks included in the machining program on a display unit;
An analysis step of analyzing the machining program from the top block and storing position information indicating a command position of a motor included in the machine tool for each block of the machining program in a storage unit;
A command position determination step for determining whether or not the command position of the motor is out of a set range based on the movement command input to the cursor position displayed on the display section based on the position information stored in the storage section; , Run on a computer,
The display processing step includes
When the command position is determined to be outside the set range by the input movement command, warning information indicating that the command position of the motor is outside the set range is displayed on the display unit when it is determined by the command position determination step. Machining program editing program characterized by displaying.
前記加工プログラムに含まれる複数のブロックのうちの少なくとも一部を表示部に表示する表示処理ステップと、
前記加工プログラムを先頭のブロックからブロック毎に有効なモーダル指令を解析すると共に前記有効なモーダル指令が初期パラメータであるか否かの種別を判定し、前記ブロック毎に前記有効なモーダル指令と前記種別とを示すモーダル情報を記憶部に記憶する解析ステップと、
前記表示部に表示されるカーソル位置のブロックで有効なモーダル指令を示すモーダル情報を前記記憶部に記憶された前記ブロック毎の有効なモーダル指令の中から抽出する抽出ステップと、をコンピュータに実行させ、
前記表示処理ステップは、
前記抽出ステップによって抽出されたモーダル情報に基づき、前記カーソル位置のブロックで前記有効なモーダル指令と前記種別とを前記表示部に表示する
ことを特徴とする加工プログラム編集プログラム。 A machining program editing method in which a computer edits a machining program executed by a numerical controller that controls a machine tool,
A display processing step of displaying at least a part of a plurality of blocks included in the machining program on a display unit;
The machining program analyzes the effective modal command for each block from the first block and determines whether or not the effective modal command is an initial parameter, and determines the effective modal command and the type for each block. An analysis step for storing modal information indicating that in the storage unit;
Causing the computer to execute an extraction step of extracting modal information indicating the modal command effective in the block at the cursor position displayed on the display unit from the effective modal commands stored in the storage unit for each block. ,
The display processing step includes
The machining program editing program, wherein the effective modal command and the type are displayed on the display unit in the block at the cursor position based on the modal information extracted in the extraction step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017146201A JP2019028641A (en) | 2017-07-28 | 2017-07-28 | Apparatus, method and program for editing processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017146201A JP2019028641A (en) | 2017-07-28 | 2017-07-28 | Apparatus, method and program for editing processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019028641A true JP2019028641A (en) | 2019-02-21 |
Family
ID=65476289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017146201A Pending JP2019028641A (en) | 2017-07-28 | 2017-07-28 | Apparatus, method and program for editing processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019028641A (en) |
-
2017
- 2017-07-28 JP JP2017146201A patent/JP2019028641A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5925976B1 (en) | Machining program editing support device | |
JP5414948B1 (en) | Numerical controller | |
JP6150903B2 (en) | Machining information management device and tool path generation device | |
JP5990662B2 (en) | Machining program editing support device | |
JP6867457B2 (en) | Information processing device | |
JPWO2016051544A1 (en) | Machine tool controller | |
JP6261613B2 (en) | Machine tool controller | |
JP2017102766A (en) | Numerical control device | |
JP6479275B1 (en) | Machining program correction device and machining program correction method | |
JP6865055B2 (en) | Machining load analysis device, machining load analysis program, and machining load analysis system | |
JP4247264B2 (en) | Machine tool controller | |
JP6638979B2 (en) | Numerical control device with machining process management function and machining process management program | |
JP2019028641A (en) | Apparatus, method and program for editing processing program | |
JP6687582B2 (en) | Information processing equipment | |
JP6734314B2 (en) | Control device, data creation device, control method, and control program | |
JP6499707B2 (en) | Simulation device, program generation device, control device, and computer display method | |
JP2020204945A (en) | Processing control device and machine tool | |
JP7376621B2 (en) | support equipment | |
JP7074718B2 (en) | Machining support device, numerical control device, and machining support system | |
JP2020198040A (en) | Numerical control apparatus | |
JP6219866B2 (en) | Numerical control device with display function and display program | |
US11340782B2 (en) | Control device and control method | |
WO2023195108A1 (en) | Industrial machine control device and computer-readable storage medium | |
US20230305512A1 (en) | Managing a postprocessor for machining with a machine tool method, computer system, and machine tool | |
JP5338134B2 (en) | Tool placement apparatus and placement method for plate material processing figure |