JP2019028641A - Apparatus, method and program for editing processing program - Google Patents

Apparatus, method and program for editing processing program Download PDF

Info

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
Application number
JP2017146201A
Other languages
Japanese (ja)
Inventor
将人 塚本
Masahito Tsukamoto
将人 塚本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017146201A priority Critical patent/JP2019028641A/en
Publication of JP2019028641A publication Critical patent/JP2019028641A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

To obtain an apparatus, method and program for editing a processing program capable of editing a processing program efficiently.SOLUTION: An apparatus for editing a processing program adapted to edit a processing program to be executed by a numerical control for controlling a machine tool creates a list of modal commands effective in a cursor position block to be displayed on a display and creates a new list to be displayed on a display by extracting a modal command including a character string to be inputted out of the created list in a cursor-positioned block when inputting a character string into a cursor position.SELECTED DRAWING: Figure 1

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 Patent Document 1, in order to improve the efficiency of editing a machining program, an instruction from the beginning of the machining program to the block immediately before the cursor position or the block at the cursor position is interpreted, and a command effective at the cursor position is created. An apparatus for displaying to an operator is disclosed.

特開平10−133726号公報JP-A-10-133726

しかしながら、特許文献1に記載の装置では、カーソル位置で有効な指令を表示することができるが、編集ミスによって加工プログラムの編集作業を効率的に行うことができない場合がある。   However, although the apparatus described in Patent Document 1 can display a valid command at the cursor position, there are cases where the editing operation of the machining program cannot be performed efficiently due to an editing mistake.

本発明は、上記に鑑みてなされたものであって、効率的に加工プログラムの編集作業を行うことができる加工プログラム編集装置を得ることを目的とする。   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.

実施の形態1にかかる加工プログラム編集装置の構成例を示す図The figure which shows the structural example of the machining program editing apparatus concerning Embodiment 1. FIG. 実施の形態1にかかる使用可能指令リストの一例を示す図The figure which shows an example of the available instruction | command list | wrist concerning Embodiment 1. 実施の形態1にかかるモーダル指令−指令使用可否対応表の一例を示す図The figure which shows an example of the modal command-command use availability correspondence table according to the first embodiment. 実施の形態1にかかるブロック毎モーダル情報の一例を示す図The figure which shows an example of the modal information for every block concerning Embodiment 1. 実施の形態1にかかるブロック毎指令位置情報の一例を示す図The figure which shows an example of the command position information for every block concerning Embodiment 1. 実施の形態1にかかる加工プログラム編集装置の処理部の処理の一例を示すフローチャートThe flowchart which shows an example of a process of the process part of the process program editing apparatus concerning Embodiment 1. 実施の形態1にかかる編集開始処理を示すフローチャートFlowchart showing edit start processing according to the first embodiment. 実施の形態1にかかる解析処理を示すフローチャート1 is a flowchart showing analysis processing according to the first embodiment. 実施の形態1にかかる各グループのモーダル指令の初期状態と、ブロック毎の有効なモーダル指令とを示す図The figure which shows the initial state of the modal command of each group concerning Embodiment 1, and the effective modal command for every block 実施の形態1にかかる使用可能指令リスト作成処理を示すフローチャートFlowchart showing usable command list creation processing according to the first embodiment 実施の形態1にかかる使用可能指令リストの一例を示す図The figure which shows an example of the available instruction | command list | wrist concerning Embodiment 1. 実施の形態1にかかる入力支援処理を示すフローチャートThe flowchart which shows the input assistance process concerning Embodiment 1. 実施の形態1にかかる表示処理部によって表示部に表示される表示画面の遷移例を示す図The figure which shows the example of a transition of the display screen displayed on a display part by the display process part concerning Embodiment 1. FIG. 図13に示す表示画面の状態から、さらに続く1以上の文字が入力された場合の表示画面の一例を示す図The figure which shows an example of the display screen when the one or more characters which continue further are input from the state of the display screen shown in FIG. 実施の形態1にかかる加工プログラム編集装置のハードウェア構成の一例を示す図The figure which shows an example of the hardware constitutions of the machining program editing apparatus concerning Embodiment 1. 実施の形態2にかかる加工プログラム編集装置の構成を示す図The figure which shows the structure of the processing program edit apparatus concerning Embodiment 2. FIG. 実施の形態2にかかる可動範囲を示すパラメータを含む可動範囲情報テーブルの一例を示す図The figure which shows an example of the movable range information table containing the parameter which shows the movable range concerning Embodiment 2. FIG. 実施の形態2にかかる座標設定パラメータを含む座標設定情報テーブルの一例を示す図The figure which shows an example of the coordinate setting information table containing the coordinate setting parameter concerning Embodiment 2. FIG. 実施の形態2にかかる加工プログラム編集部が実行する入力支援処理を示すフローチャートThe flowchart which shows the input assistance process which the process program edit part concerning Embodiment 2 performs 実施の形態2にかかる表示部の表示画面の一例を示す図The figure which shows an example of the display screen of the display part concerning Embodiment 2. FIG. 実施の形態3にかかる加工プログラム編集装置の構成を示す図The figure which shows the structure of the processing program edit apparatus concerning Embodiment 3. FIG. 実施の形態3にかかるブロック毎モーダル情報の一例を示す図The figure which shows an example of the modal information for every block concerning Embodiment 3. 実施の形態3にかかる解析処理を示すフローチャートFlowchart showing analysis processing according to the third embodiment. 実施の形態3にかかるモーダル情報の表示処理を示すフローチャート10 is a flowchart showing modal information display processing according to the third embodiment. 実施の形態3における表示部の表示画面の一例を示す図FIG. 9 shows an example of a display screen of a display unit in Embodiment 3 実施の形態4にかかる加工プログラム編集装置の構成を示す図The figure which shows the structure of the machining program editing apparatus concerning Embodiment 4. FIG. 実施の形態4にかかる編集開始処理を示すフローチャートFlowchart showing edit start processing according to the fourth embodiment. 実施の形態4にかかる表示部の表示画面の一例を示す図The figure which shows an example of the display screen of the display part concerning Embodiment 4. FIG. 実施の形態4にかかるメインプログラムの一例を示す図The figure which shows an example of the main program concerning Embodiment 4

以下に、本発明の実施の形態にかかる加工プログラム編集装置、加工プログラム編集方法、および加工プログラム編集プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   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は、不図示の工作機械に搭載された数値制御装置で実行される加工プログラムを編集する機能を有している。なお、数値制御装置は、加工プログラムに記述された情報に従って、工作機械を構成する各モータを制御することで、工作機械による被加工物の加工を行う。
Embodiment 1 FIG.
FIG. 1 is a diagram illustrating a configuration example of a machining program editing apparatus 1 according to the first embodiment of the present invention. As shown in FIG. 1, the machining program editing apparatus 1 according to the first embodiment has a function of editing a machining program executed by a numerical control device mounted on a machine tool (not shown). The numerical control device processes the workpiece by the machine tool by controlling each motor constituting the machine tool according to the information described in the machining program.

図1に示すように、加工プログラム編集装置1は、記憶部2と、処理部3と、入力部4と、表示部5とを備える。記憶部2には、編集対象の加工プログラム21が記憶される。処理部3は、記憶部2に記憶されている加工プログラム21に含まれる複数のブロックのうちの少なくとも一部を読み出して表示部5に表示する。   As shown in FIG. 1, the machining program editing device 1 includes a storage unit 2, a processing unit 3, an input unit 4, and a display unit 5. The storage unit 2 stores a processing program 21 to be edited. The processing unit 3 reads at least a part of the plurality of blocks included in the machining program 21 stored in the storage unit 2 and displays the read block 5 on the display unit 5.

加工プログラム21に含まれる各ブロックには、被加工物の加工手順を実行するための指令が含まれる。指令の最小単位をワードと呼び、ワードはアドレスとデータから構成される。アドレスはアルファベットで表され、データは数値で表される。ブロックとは、区切り記号で区切られたワードの集まりを指す。区切り記号は行末に表示されるか、改行として扱われるため、ブロックは1行の文字列を意味する。なお、以下においては、区切り記号が「;」であるものとして説明する。また、文字列が全く無い行もブロックとして扱う。すなわち、指令が設定される前の状態である行もブロックとして扱う。   Each block included in the machining program 21 includes a command for executing a machining procedure for the workpiece. The minimum command unit is called a word, and a word is composed of an address and data. The address is expressed in alphabets and the data is expressed in numbers. A block refers to a collection of words separated by delimiters. Since a delimiter is displayed at the end of a line or treated as a line break, a block means a character string of one line. In the following description, it is assumed that the delimiter is “;”. Lines with no character string are also handled as blocks. That is, a line that is in a state before the command is set is also handled as a block.

加工プログラム21の編集を行うオペレータは、入力部4への入力操作を行って加工プログラム編集装置1への指示を行うことができる。処理部3は、オペレータの指示に基づき、現在の編集位置を指し示すカーソルを移動させ、さらに、オペレータからの指示に基づき、編集位置のブロックの編集を行って加工プログラムを編集する。   An operator who edits the machining program 21 can give an instruction to the machining program editing apparatus 1 by performing an input operation on the input unit 4. The processing unit 3 moves the cursor indicating the current editing position based on the operator's instruction, and further edits the processing program by editing the block at the editing position based on the instruction from the operator.

記憶部2は、加工プログラム21と、工作機械パラメータ22と、使用可能指令リスト23と、モーダル指令−指令使用可否対応表24と、ブロック毎モーダル情報25と、ブロック毎指令位置情報26とを記憶する。   The storage unit 2 stores a machining program 21, a machine tool parameter 22, a usable command list 23, a modal command-command availability correspondence table 24, a block-by-block modal information 25, and a block-by-block command position information 26. To do.

加工プログラム21は、上述のように、被加工物の加工手順を実行するための複数のブロックを含んでおり、NC(Numerical Control)プログラムと呼ばれることもある。かかる加工プログラム21は、ISO/EIAコードで構成される加工プログラムであるが、ISO/EIAコード以外のプログラムであってもよい。   As described above, the machining program 21 includes a plurality of blocks for executing a machining procedure for a workpiece, and may be referred to as an NC (Numerical Control) program. The machining program 21 is a machining program composed of ISO / EIA codes, but may be a program other than ISO / EIA codes.

加工プログラム21に用いられる複数の指令には、モーダル指令とアンモーダル指令とが含まれる。モーダル指令は、一度指令すれば同じグループの別の指令があるまで有効であり、アンモーダル指令は、指令したブロックでのみ有効である。グループとは、同じ目的を持つ指令の集合であり、例えば「移動」という同じ目的を持つ「G0位置決め」「G1直線補間」「G2円弧補間CW」「G3円弧補間CCW」などは、同じグループである後述のグループ「01」に属する。   The plurality of commands used in the machining program 21 includes a modal command and an unmodal command. A modal command is valid until another command in the same group is given once issued, and an unmodal command is valid only in the commanded block. A group is a set of commands having the same purpose. For example, “G0 positioning”, “G1 linear interpolation”, “G2 circular interpolation CW”, and “G3 circular interpolation CCW” having the same purpose of “movement” are the same group. It belongs to a later-described group “01”.

また、加工プログラム21に用いられる複数の指令には、工作機械に搭載された複数のモータの移動を制御する指令が含まれる。例えば、「X」と名づけたモータへの移動指令は、アドレスに「X」、データに移動位置、もしくは移動量を表す数値を用いることで指令する。これら複数の移動指令には、絶対値指令と増分値指令とが含まれる。絶対値指令は、絶対的な指令位置への移動を指令することができ、増分値指令は、前ブロックでの指令位置からの増分量で移動を指令することができる。なお、指令位置は、移動指令により指令される位置である。   In addition, the plurality of commands used in the machining program 21 include a command for controlling movement of a plurality of motors mounted on the machine tool. For example, the movement instruction to the motor named “X” is instructed by using “X” as an address and a numerical value representing a movement position or movement amount as data. These multiple movement commands include an absolute value command and an incremental value command. The absolute value command can command movement to an absolute command position, and the incremental value command can command movement by an increment from the command position in the previous block. The command position is a position commanded by a movement command.

工作機械パラメータ22は、加工プログラム21を実行するために用いられる複数のパラメータを含む。これら複数のパラメータには、工作機械の種別を示すパラメータ、およびモーダル指令の初期状態を規定するパラメータが含まれる。   The machine tool parameter 22 includes a plurality of parameters used for executing the machining program 21. The plurality of parameters include a parameter indicating the type of machine tool and a parameter defining an initial state of a modal command.

使用可能指令リスト23は、工作機械種別毎の使用可能指令リスト27を含む。各使用可能指令リスト27は、対象種別の工作機械で使用可能な全指令の各々について指令と指令の説明とを含む情報であり、種別毎の情報である。   The usable command list 23 includes a usable command list 27 for each machine tool type. Each usable command list 27 is information including a command and a description of the command for each of all commands that can be used by the machine tool of the target type, and is information for each type.

図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 storage unit 2 will be continued. The modal command-command use availability correspondence table 24 stored in the storage unit 2 is information that associates a usable command after each valid modal command for each modal command.

図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 storage unit 2 will be continued. The block-by-block modal information 25 stored in the storage unit 2 is information including an effective modal command for each block. FIG. 4 is a diagram illustrating an example of the modal information 25 for each block.

図4に示すブロック毎モーダル情報25は、ブロック番号毎に、各グループの有効モーダルを示す情報が含まれる。図4に示す例では、グループ「01」の有効モーダル指令は、ブロック番号「1」のブロックでは「G0」であり、ブロック番号「N」のブロックでは「G1」である。なお、ブロック番号「1」のブロックは、加工プログラム21の先頭ブロックを示す。   The block modal information 25 shown in FIG. 4 includes information indicating the effective modal of each group for each block number. In the example shown in FIG. 4, the effective modal command of the group “01” is “G0” in the block of the block number “1”, and “G1” in the block of the block number “N”. The block with the block number “1” indicates the first block of the machining program 21.

また、グループ「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 storage unit 2 will be continued. The command position information 26 for each block stored in the storage unit 2 is information including the command position for each block. FIG. 5 is a diagram illustrating an example of the command position information 26 for each block.

また、図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 command position information 26 shown in FIG. 5, the command positions of the motors X, Y, Z, A, and C in the block with the block number “1” are “0.”, “0.”, “0”. .. ”,“ 0. ”, and“ 0. ”are included. Further, in the block-by-block command position information 26, “715.”, “505.”, “−300.”, “Command Position” of the motors X, Y, Z, A, and C in the block of the block number “N” are used. Information indicating “0.” and “0.” is included. The command positions of the motors X, Y, Z, A, and C are the command positions of the X axis, Y axis, Z axis, A axis, and C axis, respectively.

図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 program analysis unit 40 that is an example of an analysis unit. The machining program editing unit 30 reads the machining program 21 from the storage unit 2 and displays the read machining program 21 on the display unit 5 based on the operator's input operation to the input unit 4. Further, the machining program editing unit 30 edits the machining program 21 displayed on the display unit 5 based on an input operation to the input unit 4 by the operator.

加工プログラム解析部40は、加工プログラム21を構成する複数のブロックのうち先頭のブロックからブロック毎に有効なモーダル指令を解析する。加工プログラム解析部40は、解析したブロック毎に有効モーダル指令の情報を含むモーダル情報を生成して、生成したブロック毎のモーダル情報を含むブロック毎モーダル情報25を生成して記憶部2に記憶する。   The machining program analysis unit 40 analyzes a modal command effective for each block from the first block among the plurality of blocks constituting the machining program 21. The machining program analysis unit 40 generates modal information including information on effective modal instructions for each analyzed block, generates block-by-block modal information 25 including modal information for each generated block, and stores the generated modal information in the storage unit 2. .

加工プログラム編集部30は、オペレータの入力部4への入力操作に基づいて、表示部5に表示されて現在の編集位置を指し示すカーソルを移動させる。加工プログラム編集部30は、記憶部2に記憶されたモーダル情報に基づいて、表示部5に表示されるカーソル位置のブロックにおいて有効なモーダル指令を判定する。なお、「表示部5に表示されるカーソル位置」は、表示部5に表示されるカーソルの位置であり、以下において、カーソル位置またはカーソルの位置と記載する場合がある。   The machining program editing unit 30 moves a cursor displayed on the display unit 5 and indicating the current editing position based on an input operation to the input unit 4 by the operator. Based on the modal information stored in the storage unit 2, the machining program editing unit 30 determines a valid modal command in the block at the cursor position displayed on the display unit 5. The “cursor position displayed on the display unit 5” is the position of the cursor displayed on the display unit 5, and may be referred to as the cursor position or the cursor position below.

加工プログラム編集部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 display unit 5.

ここで、オペレータが入力部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 display unit 5.

その後、オペレータが入力部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 display unit 5.

このように、加工プログラム編集部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 part 5. As a result, the operator can confirm whether or not the command to be input can be used, and can edit the machining program 21 efficiently by preventing editing mistakes.

また、加工プログラム編集部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 display unit 5. Thus, the operator can check the explanation of the usable command in addition to whether or not the command to be input can be used, so that the machining program 21 can be edited more efficiently. it can.

また、加工プログラム編集部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 display unit 5. Thereby, it is possible to prevent the operator from inputting an unusable command. Further, after the editing work of the machining program 21 is completed, it is necessary to confirm whether the machining program 21 has a correct command described using a machining program check device (not shown) mounted on the numerical control device of the machine tool. In addition, the operator can notice editing mistakes in the machining program 21 before checking using the machining program check device, so that the machining program 21 can be efficiently edited.

以下、加工プログラム編集部30および加工プログラム解析部40についてさらに詳細に説明する。図1に示すように、加工プログラム編集部30は、入力処理部31と、表示処理部32と、カーソル位置判定部33と、有効モーダル抽出部34と、指令候補生成部35とを備える。また、加工プログラム解析部40は、読込処理部41と、モーダル処理部42と、座標処理部43とを備える。   Hereinafter, the machining program editing unit 30 and the machining program analysis unit 40 will be described in more detail. As shown in FIG. 1, the machining program editing unit 30 includes an input processing unit 31, a display processing unit 32, a cursor position determination unit 33, an effective modal extraction unit 34, and a command candidate generation unit 35. In addition, the machining program analysis unit 40 includes a read processing unit 41, a modal processing unit 42, and a coordinate processing unit 43.

以下、加工プログラム編集部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 program analysis unit 40 will be described with reference to flowcharts. FIG. 6 is a flowchart illustrating an example of processing of the processing unit 3 of the machining program editing apparatus 1 according to the first embodiment. This processing is repeatedly executed by the processing unit 3.

図6に示すように、加工プログラム編集部30の入力処理部31は、加工プログラム21の編集開始指示があるか否かを判定する(ステップS10)。かかる編集開始指示は、オペレータによる入力部4への入力操作によって行われる。   As illustrated in FIG. 6, the input processing unit 31 of the machining program editing unit 30 determines whether there is an editing start instruction for the machining program 21 (step S <b> 10). Such an editing start instruction is performed by an input operation to the input unit 4 by an operator.

加工プログラム編集部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 machining program 21 on the display unit 5 is designated. The edit position is designated by an input operation to the input unit 4 by the operator.

加工プログラム編集部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 machining program 21 from the storage unit 2 (step S20). The display processing unit 32 of the machining program editing unit 30 displays at least a part of the plurality of blocks constituting the machining program 21 read in step S20 on the display unit 5 (step S21).

次に、処理部3の加工プログラム解析部40は、記憶部2に記憶された加工プログラム21の解析処理を行う(ステップS22)。なお、図7に示す処理では、ステップS21の処理の後に、ステップS22の処理が行われるが、処理部3は、ステップS21の処理とステップS22の処理とを平行して行うことができ、また、ステップS22の処理の後に、ステップS21の処理を行うこともできる。   Next, the machining program analysis unit 40 of the processing unit 3 performs an analysis process of the machining program 21 stored in the storage unit 2 (step S22). In the process shown in FIG. 7, the process of step S22 is performed after the process of step S21. However, the processing unit 3 can perform the process of step S21 and the process of step S22 in parallel. The process of step S21 can also be performed after the process of step S22.

図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 read processing unit 41 of the machining program analysis unit 40 reads the first block from the machining program 21 stored in the storage unit 2 (step S30).

次に、加工プログラム解析部40のモーダル処理部42は、ステップS30で読み出された先頭のブロックで有効なモーダル指令を抽出する(ステップS31)。ステップS31において、モーダル処理部42は、工作機械パラメータ22に含まれる情報および先頭のブロックの情報に基づいて、グループ毎に先頭のブロックで有効なモーダル指令を抽出する。   Next, the modal processing unit 42 of the machining program analysis unit 40 extracts a modal command effective in the first block read out in step S30 (step S31). In step S31, the modal processing unit 42 extracts a modal command effective in the first block for each group based on the information included in the machine tool parameter 22 and the information on the first block.

図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 machining program 21 is in the state shown in FIG. 9, the modal processing unit 42 uses “G0” for the group “01” and “G17 for the group“ 02 ”as valid modal commands for each group in the first block. "And group" 13 "," G61.1 "is extracted. The machine tool parameter 22 includes a parameter that defines the initial state of the modal command. The initial state of the modal command of each group is determined based on the parameter that defines the initial state of the modal command. 42.

図8に戻って加工プログラム解析部40の処理の説明を続ける。ステップS31の処理の後、モーダル処理部42は、ステップS31で抽出した有効なモーダル指令と「先頭のブロック」のブロック番号「1」とを関連付けたモーダル情報を記憶部2に記憶する(ステップS32)。これにより、先頭のブロックのモーダル情報を含むブロック毎モーダル情報25が生成される。   Returning to FIG. 8, the description of the processing of the machining program analysis unit 40 will be continued. After the process of step S31, the modal processing unit 42 stores modal information in which the valid modal command extracted in step S31 is associated with the block number “1” of the “first block” in the storage unit 2 (step S32). ). Thereby, block-by-block modal information 25 including modal information of the first block is generated.

次に、加工プログラム解析部40の座標処理部43は、不図示の工作機械に搭載された各モータX,Y,Z,A,およびCの指令位置を演算する(ステップS33)。   Next, the coordinate processing unit 43 of the machining program analysis unit 40 calculates command positions of the motors X, Y, Z, A, and C mounted on a machine tool (not shown) (step S33).

ステップ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 unit 43 instructs the motors X, Y, Z, A, and C in the first block based on the coordinate position specified by the movement command included in the first block of the machining program 21. Calculate the position. When the movement command included in the first block is an absolute value command, the coordinate commanded by the absolute value command is the command position. When the movement command is not included in the first block, the coordinate processing unit 43 sets the initial values of the motors X, Y, Z, A, and C included in the machine tool parameter 22 as the motors X, Y, Z, and C, respectively. The command positions of A and C can be used.

加工プログラム解析部40は、ステップS33で演算された先頭のブロックでの指令位置と「先頭のブロック」のブロック番号「1」とを関連付けた指令位置情報を記憶部2に記憶する(ステップS34)。これにより、先頭ブロックの指令位置を示す指令位置情報を含むブロック毎指令位置情報26が生成される。   The machining program analysis unit 40 stores, in the storage unit 2, command position information that associates the command position in the first block calculated in step S33 with the block number “1” of the “first block” (step S34). . Thereby, the command position information 26 for each block including the command position information indicating the command position of the head block is generated.

次に、加工プログラム解析部40は、記憶部2に記憶された加工プログラム21から次のブロックを読み出す(ステップS35)。前回読み出したブロックが先頭のブロックである場合、「次のブロック」は、ブロック番号「2」のブロックであり、前回読み出したブロックがブロック番号「N−1」のブロックである場合、「次のブロック」は、ブロック番号「N」のブロックである。   Next, the machining program analysis unit 40 reads the next block from the machining program 21 stored in the storage unit 2 (step S35). When the previously read block is the first block, the “next block” is the block with the block number “2”, and when the previously read block is the block with the block number “N−1”, the “next block” “Block” is a block having a block number “N”.

加工プログラム解析部40のモーダル処理部42は、ステップS31の処理と同様に、ステップS35で読み出した「次のブロック」で有効なモーダル指令を抽出する(ステップS36)。ステップS36において、モーダル処理部42は、グループ毎に「次のブロック」で有効なモーダル指令を抽出する。   The modal processing unit 42 of the machining program analysis unit 40 extracts a modal command effective in the “next block” read in step S35, similarly to the processing in step S31 (step S36). In step S <b> 36, the modal processing unit 42 extracts a modal command effective for the “next block” for each group.

「次のブロック」がブロック番号「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 storage unit 2 includes modal commands effective in the groups “01”, “02”, and “13”, respectively “G0”, “G17”. , And information indicating “G61.1”.

モーダル処理部42は、記憶部2に記憶されているブロック番号「N−1」のブロックに関連付けて記憶された各グループで有効なモーダル指令を示す情報をブロック毎モーダル情報25から取得する。   The modal processing unit 42 acquires, from the block-by-block modal information 25, information indicating a modal command effective in each group stored in association with the block having the block number “N−1” stored in the storage unit 2.

ブロック番号「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 modal processing unit 42 extracts “G1” in the group “01” as a valid modal command in the block with the block number “N”. Further, since the block with the block number “N” does not include the modal commands of the groups “02” and “13”, the modal processing unit 42 performs “G17” and “13” in the group “02”. Then, “G61.1” is extracted.

モーダル処理部42は、ステップS36で抽出した「次のブロック」で有効なモーダル指令と「次のブロック」のブロック番号とを関連付けたモーダル情報を記憶部2に記憶する(ステップS37)。これにより、「次のブロック」のモーダル情報がブロック毎モーダル情報25に追加されて、先頭ブロックから「次のブロック」までの各ブロックのモーダル情報を含むブロック毎モーダル情報25が生成されブロック毎モーダル情報25が更新される。   The modal processing unit 42 stores, in the storage unit 2, modal information that associates the modal command effective in the “next block” extracted in step S36 with the block number of “next block” (step S37). As a result, the modal information of “next block” is added to the modal information 25 for each block, and the modal information 25 for each block including the modal information of each block from the first block to the “next block” is generated. Information 25 is updated.

また、加工プログラム解析部40の座標処理部43は、ステップS35で読み出された「次のブロック」での各モータX,Y,Z,A,およびCの指令位置を演算する(ステップS38)。   Further, the coordinate processing unit 43 of the machining program analysis unit 40 calculates the command positions of the motors X, Y, Z, A, and C in the “next block” read in step S35 (step S38). .

ステップS38において、座標処理部43は、ステップS35で読み出された「次のブロック」に含まれる移動指令で指定される座標位置に基づいて、「次のブロック」における指令位置を演算する。「次のブロック」に含まれる移動指令が絶対値指令の場合、絶対値指令で指定された座標位置を指令位置とする。   In step S38, the coordinate processing unit 43 calculates the command position in the “next block” based on the coordinate position specified by the movement command included in the “next block” read in step S35. When the movement command included in the “next block” is an absolute value command, the coordinate position specified by the absolute value command is set as the command position.

また、座標処理部43は、「次のブロック」に含まれる移動指令が増分値指令である場合、一つ前のブロックでの指令位置に増分値指令で指定される座標位置を加算することで、「次のブロック」における指令位置を演算する。   In addition, when the movement command included in the “next block” is an incremental value command, the coordinate processing unit 43 adds the coordinate position specified by the incremental value command to the command position in the previous block. The command position in the “next block” is calculated.

そして、加工プログラム解析部40は、ステップS38で演算された「次のブロック」での指令位置と「次のブロック」のブロック番号とを関連付けた指令位置情報を記憶部2に記憶する(ステップS39)。これにより、「次のブロック」の指令位置情報がブロック毎指令位置情報26に追加されて、先頭ブロックから「次のブロック」までの各ブロックの指令位置情報を含むブロック毎指令位置情報26が生成されブロック毎指令位置情報26が更新される。   Then, the machining program analysis unit 40 stores the command position information in which the command position in the “next block” calculated in step S38 and the block number of the “next block” are associated with each other in the storage unit 2 (step S39). ). As a result, the command position information of the “next block” is added to the command position information 26 for each block, and the command position information 26 for each block including the command position information of each block from the first block to the “next block” is generated. Then, the command position information 26 for each block is updated.

次に、加工プログラム解析部40は、すべてのブロックを解析したか否か、すなわち、加工プログラム21を構成する複数のブロックのすべての解析が終了したか否かを判定する(ステップS40)。加工プログラム解析部40は、すべてのブロックを解析していないと判定した場合(ステップS40:No)、処理をステップS35へ進める。   Next, the machining program analysis unit 40 determines whether or not all the blocks have been analyzed, that is, whether or not analysis of all of the plurality of blocks constituting the machining program 21 has been completed (step S40). If the machining program analysis unit 40 determines that all the blocks have not been analyzed (step S40: No), the process proceeds to step S35.

また、加工プログラム解析部40は、すべてのブロックを解析したと判定した場合(ステップS40:Yes)、図8に示す処理を終了する。かかる図8に示す処理によって、図4に示すようなブロック毎モーダル情報25と図5に示すようなブロック毎指令位置情報26が生成される。   Moreover, when it determines with the process program analysis part 40 having analyzed all the blocks (step S40: Yes), the process shown in FIG. 8 is complete | finished. 8 generates the block-by-block modal information 25 as shown in FIG. 4 and the block-by-block command position information 26 as shown in FIG.

図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 position determination unit 33 of the machining program editing unit 30 determines a block at the cursor position that is the position of the cursor 70 (step S41).

加工プログラム編集部30の有効モーダル抽出部34は、カーソル位置判定部33によってカーソルがあると判定されたブロックにおけるグループ毎の有効なモーダル指令を、記憶部2に記憶されたブロック毎モーダル情報25から抽出する(ステップS42)。   The effective modal extraction unit 34 of the machining program editing unit 30 sends an effective modal command for each group in the block determined to have the cursor by the cursor position determination unit 33 from the block-by-block modal information 25 stored in the storage unit 2. Extract (step S42).

ここで、ブロック毎モーダル情報25が図4に示す状態であり、ブロック毎モーダル情報25にはブロック番号「N」までのモーダル情報が含まれており、かつ、カーソルの位置がブロック番号「N」のブロックであるとする。   Here, the block-by-block modal information 25 is in the state shown in FIG. 4, and the block-by-block modal information 25 includes modal information up to the block number “N”, and the cursor position is the block number “N”. Suppose that it is a block.

この場合、有効モーダル抽出部34は、ブロック毎モーダル情報25から、有効なモーダル指令として、ブロック番号「N」のモーダル情報を抽出する。すなわち、有効モーダル抽出部34は、ブロック毎モーダル情報25から、有効なモーダル指令として、グループ「01」では「G1」を、グループ「02」では「G17」を、グループ「13」では「G61.1」を各々抽出する。有効モーダル抽出部34は、グループ「02」〜「12」についても同様に、ブロック毎モーダル情報25から、有効なモーダル指令を抽出する。   In this case, the valid modal extraction unit 34 extracts the modal information of the block number “N” from the block-by-block modal information 25 as an effective modal command. That is, the effective modal extraction unit 34 determines, from the block-by-block modal information 25, “G1” for the group “01”, “G17” for the group “02”, “G61. 1 ”is extracted. Similarly, the effective modal extraction unit 34 extracts an effective modal command from the block-by-block modal information 25 for the groups “02” to “12”.

このように、有効モーダル抽出部34は、カーソル位置のブロックのブロック番号におけるモーダル情報に含まれる各グループのモーダル指令を有効なモーダル指令としてブロック毎モーダル情報25から抽出することができる。   As described above, the valid modal extraction unit 34 can extract the modal command of each group included in the modal information in the block number of the block at the cursor position from the block-by-block modal information 25 as an effective modal command.

なお、有効モーダル抽出部34は、カーソルの位置までで有効な各グループのモーダル指令をブロック毎モーダル情報25から抽出することもできる。カーソルの位置がブロック番号「N+1」のブロックの先頭にある場合、カーソルの位置までで有効なモーダル指令は、ブロック番号「N」のブロックで有効なモーダル指令と同じである。この場合、有効モーダル抽出部34は、ブロック毎モーダル情報25から、有効なモーダル指令として、ブロック番号「N」のモーダル情報を抽出することができる。   The effective modal extraction unit 34 can also extract from each block modal information 25 the modal commands effective for each group up to the cursor position. When the position of the cursor is at the head of the block having the block number “N + 1”, the modal command effective up to the cursor position is the same as the modal command effective in the block having the block number “N”. In this case, the effective modal extraction unit 34 can extract the modal information of the block number “N” from the block-by-block modal information 25 as an effective modal command.

また、カーソルの位置がブロック番号「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 modal information 25 for each block. "Is included. In this case, the valid modal extraction unit 34 can extract the modal commands of each group that are valid up to the position of the cursor including the modal commands included in the block of the block number “N + 1” from the modal information 25 for each block.

ここで、ブロック番号「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 modal extraction unit 34 reads “G2”, which is a modal command of the group “01”, from the modal information of the block number “N + 1” as a valid modal command, and the other groups “02” to “13”. Extracts a valid modal command from the modal information of the block number “N”.

このように、有効モーダル抽出部34は、カーソル位置判定部33によってカーソルの位置があると判定されたブロックにおけるグループ毎の有効なモーダル指令を、記憶部2に記憶されたブロック毎モーダル情報25から抽出することができる。   As described above, the effective modal extraction unit 34 obtains an effective modal command for each group in the block determined to have the cursor position by the cursor position determination unit 33 from the block-by-block modal information 25 stored in the storage unit 2. Can be extracted.

次に、加工プログラム編集部30の指令候補生成部35は、記憶部2からモーダル指令−指令使用可否対応表24を読み出す(ステップS43)。そして、指令候補生成部35は、ステップS42で抽出したカーソル位置のブロックにおけるグループ毎の有効なモーダル指令と、ステップS43で読み出したモーダル指令−指令使用可否対応表24とに基づいて、カーソル位置のブロックで使用可能な指令を抽出する(ステップS44)。   Next, the command candidate generating unit 35 of the machining program editing unit 30 reads the modal command-command use availability correspondence table 24 from the storage unit 2 (step S43). Then, the command candidate generating unit 35 determines the cursor position based on the effective modal command for each group in the block at the cursor position extracted in step S42 and the modal command-command availability correspondence table 24 read in step S43. Commands usable in the block are extracted (step S44).

ここで、モーダル指令−指令使用可否対応表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 candidate generation unit 35 excludes “G2.3”, “G2.4”, “G3.3”, and “G3.4” from the commands extracted as usable commands. Similarly, the command candidate generating unit 35 is a command in which “0” is associated with a modal command other than “G68” in the modal command-command availability correspondence table 24 among the modal commands effective in the block at the cursor position. Are excluded from the commands to be extracted as usable commands.

また、指令候補生成部35は、ステップS44で抽出した使用可能な指令の説明文を使用可能指令リスト27から抽出して、ステップS44で抽出した使用可能な指令と説明文とを含む使用可能指令リストを生成する(ステップS45)。加工プログラム編集部30は、ステップS45の処理を終了すると、図10に示す処理を終了する。   In addition, the command candidate generation unit 35 extracts the description of the usable command extracted in step S44 from the usable command list 27, and the usable command including the usable command and the description extracted in step S44. A list is generated (step S45). When the processing program editing unit 30 ends the process of step S45, the processing shown in FIG. 10 ends.

ステップS45の処理において、指令候補生成部35は、記憶部2に記憶された工作機械パラメータ22に含まれる工作機械の種別を示すパラメータを読み出す。指令候補生成部35は、読み出した工作機械の種別を示すパラメータに基づいて、記憶部2に記憶された使用可能指令リスト23の中からパラメータで設定された種別の使用可能指令リスト27を読み出す。   In the process of step S <b> 45, the command candidate generation unit 35 reads a parameter indicating the type of machine tool included in the machine tool parameter 22 stored in the storage unit 2. The command candidate generation unit 35 reads the usable command list 27 of the type set by the parameter from the usable command list 23 stored in the storage unit 2 based on the read parameter indicating the type of machine tool.

そして、指令候補生成部35は、読み出した使用可能指令リスト27から、ステップS44で抽出した使用可能な指令の説明文を抽出する。指令候補生成部35は、ステップS44で抽出した使用可能な指令と説明文とを関連付けた使用可能指令リストを生成する。指令の説明文は、工作機械の種別によって一部異なる場合があるが、このような場合でも、設定された工作機械の種別に対応する適切な使用可能指令リストを生成することができる。   Then, the command candidate generation unit 35 extracts the description of the usable command extracted in step S44 from the read usable command list 27. The command candidate generation unit 35 generates a usable command list in which the usable commands extracted in step S44 are associated with the explanatory text. The description of the command may be partially different depending on the type of the machine tool. Even in such a case, an appropriate usable command list corresponding to the set type of the machine tool can be generated.

図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 usable command list 51 shown in FIG. 11 includes “G0”, “G1”, “G2”, “G3”, “G4”, and “G5” as usable commands. 3 ”,“ G2.4 ”,“ G3.3 ”, and“ G3.4 ”are not included.

また、使用可能指令リスト51には、使用可能なモーダル指令に、使用可能なモーダル指令の説明文が関連付けられる。例えば、図11に示す使用可能指令リスト51では、「G0」の説明文として「位置決め」が「G0」に関連付けられ、「G1」の説明文として「直線補間」が「G1」に関連付けられている。   Further, in the usable command list 51, description of usable modal commands is associated with usable modal commands. For example, in the usable command list 51 shown in FIG. 11, “positioning” is associated with “G0” as the explanation of “G0”, and “linear interpolation” is associated with “G1” as the explanation of “G1”. Yes.

図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 input processing unit 31 of the machining program editing unit 30 adds the character determined to have been input in step S14 of FIG. 6 to the machining program 21 displayed on the display unit 5 (step S50).

次に、入力処理部31は、ステップS14で入力があったと判定された文字である入力文字が指令の文字を含むか否かを判定する(ステップS51)。加工プログラム編集部30の指令候補生成部35は、入力文字に指令の文字が含まれると判定した場合(ステップS51:Yes)、リスト更新、すなわち、使用可能指令リスト51の更新が必要か否かを判定する(ステップS52)。   Next, the input processing unit 31 determines whether or not the input character that is the character determined to have been input in step S14 includes the command character (step S51). If the command candidate generation unit 35 of the machining program editing unit 30 determines that the input character includes the command character (step S51: Yes), it is necessary to update the list, that is, to update the usable command list 51. Is determined (step S52).

ステップS52において、指令候補生成部35は、前回入力された文字が指令の文字に含まれており、前回入力された文字にさらに続く文字が入力された場合に使用可能指令リスト51の更新であると判定する。例えば、指令候補生成部35は、前回入力された文字が「G」であり、さらに続く文字が数値である場合に、使用可能指令リスト51の更新であると判定する。   In step S52, the command candidate generation unit 35 updates the usable command list 51 when the previously input character is included in the command character and a character subsequent to the previously input character is input. Is determined. For example, the command candidate generation unit 35 determines that the available command list 51 is to be updated when the previously input character is “G” and the subsequent character is a numerical value.

指令候補生成部35は、使用可能指令リスト51の更新が必要であると判定した場合(ステップS52:Yes)、使用可能指令リスト51を更新する(ステップS53)。ステップS53において、指令候補生成部35は、前回入力された文字にさらに続く文字を含む文字列が含まれるモーダル指令を使用可能指令リスト51から抽出して、新たな使用可能指令リスト51を生成することで、使用可能指令リスト51を更新する。   When it is determined that the usable command list 51 needs to be updated (step S52: Yes), the command candidate generation unit 35 updates the usable command list 51 (step S53). In step S <b> 53, the command candidate generation unit 35 extracts a modal command including a character string including a character further following the previously input character from the usable command list 51, and generates a new usable command list 51. Thus, the usable command list 51 is updated.

表示処理部32は、使用可能指令リスト51の更新が必要ではないと判定した場合(ステップS52:No)、またはステップS53の処理が終了した場合、使用可能指令リスト51が空であるか否かを判定する(ステップS54)。表示処理部32は、使用可能指令リスト51に1つの使用可能指令も含まれない場合に、使用可能指令リスト51が空であると判定する。   When the display processing unit 32 determines that the usable command list 51 is not required to be updated (step S52: No), or when the process of step S53 is completed, whether the usable command list 51 is empty or not. Is determined (step S54). The display processing unit 32 determines that the usable instruction list 51 is empty when one usable instruction is not included in the usable instruction list 51.

表示処理部32は、使用可能指令リスト51が空でないと判定した場合(ステップS54:No)、使用可能指令リスト51を表示部5に表示する(ステップS56)。また、表示処理部32は、使用可能指令リスト51が空であると判定した場合(ステップS54:Yes)、警告表示を表示部5に行う(ステップS55)。ステップS55において、表示処理部32は、使用可能指令がない旨の警告情報を表示部5に表示することで、表示部5に警告表示を行う。   When it is determined that the usable command list 51 is not empty (step S54: No), the display processing unit 32 displays the usable command list 51 on the display unit 5 (step S56). If the display processing unit 32 determines that the usable command list 51 is empty (step S54: Yes), the display processing unit 32 displays a warning on the display unit 5 (step S55). In step S <b> 55, the display processing unit 32 displays warning information on the display unit 5 by displaying warning information indicating that there is no usable command.

ステップS56において、表示処理部32は、使用可能指令リスト51の更新が必要であると判定した場合(ステップS52:Yes)、ステップS53で更新した使用可能指令リスト51を表示部5に表示する。また、表示処理部32は、使用可能指令リスト51の更新が必要でないと判定した場合(ステップS52:No)、ステップS53で更新していない使用可能指令リスト51を表示部5に表示する。   In step S56, when the display processing unit 32 determines that the usable command list 51 needs to be updated (step S52: Yes), the display unit 5 displays the usable command list 51 updated in step S53 on the display unit 5. If the display processing unit 32 determines that the usable command list 51 does not need to be updated (No at Step S52), the display processing unit 32 displays the usable command list 51 that has not been updated at Step S53 on the display unit 5.

加工プログラム編集部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 display unit 5 by the display processing unit 32, and shows how the display screen changes in accordance with the character input by the operator. The display screen 60a shown in FIG. 13 includes a machining program display area 61. In the machining program display area 61, at least a part of a plurality of blocks constituting the machining program 21 and the cursor 70 are displayed.

表示画面60aの加工プログラム表示領域61では、カーソル70が位置するブロックは、文字が記述された最終のブロックよりも1段下の行の先頭位置にあり、カーソル70が位置するブロックには文字が記述されていない。この場合、カーソル70が含まれるブロックで有効なモーダル指令は、最終のブロックで有効なモーダル指令と同じである。したがって、指令候補生成部35は、最終のブロックのモーダル情報に基づいて、使用可能指令リスト51を生成する。   In the machining program display area 61 of the display screen 60a, the block where the cursor 70 is located is at the beginning of the line one step below the last block in which the character is described, and the block where the cursor 70 is located contains a character. It is not described. In this case, the modal command effective in the block including the cursor 70 is the same as the modal command effective in the last block. Therefore, the command candidate generator 35 generates the usable command list 51 based on the modal information of the final block.

図13に示す表示画面60aの状態において、オペレータが入力部4への入力操作によって、「G」の文字を入力したとする。なお、モーダル指令−指令使用可否対応表24は、図3に示す状態であるとする。   In the state of the display screen 60 a shown in FIG. 13, it is assumed that the operator inputs a character “G” by an input operation to the input unit 4. It is assumed that the modal command-command availability correspondence table 24 is in the state shown in FIG.

この場合、加工プログラム編集部30の表示処理部32は、図13の表示画面60bに示されるように、加工プログラム表示領域61において、カーソル70の位置に「G」の文字を追加すると共にカーソル70の位置を1文字分右に移動させる。また、「G」の文字は、指令の先頭文字であるため、表示処理部32は、表示画面60bにリスト表示領域62を追加し、指令候補生成部35によって生成される使用可能指令リスト51をリスト表示領域62に表示する。   In this case, the display processing unit 32 of the machining program editing unit 30 adds the letter “G” to the position of the cursor 70 in the machining program display area 61 and the cursor 70 as shown in the display screen 60b of FIG. Move the position of to the right by one character. Since the character “G” is the first character of the command, the display processing unit 32 adds the list display area 62 to the display screen 60 b and displays the usable command list 51 generated by the command candidate generating unit 35. Displayed in the list display area 62.

表示画面60bの加工プログラム表示領域61に示されるように、カーソル70が位置するブロックの直前のブロックには、モーダル指令として「G68」が含まれており、カーソル70の位置において、有効なモーダル指令として「G68」が含まれる。モーダル指令−指令使用可否対応表24が図3に示す状態であるため、リスト表示領域62には、「G2.3」、「G2.4」、「G3.3」、および「G3.4」が含まれない。   As shown in the machining program display area 61 of the display screen 60b, the block immediately before the block where the cursor 70 is located includes “G68” as a modal command. "G68" is included. Since the modal command-command availability correspondence table 24 is in the state shown in FIG. 3, the list display area 62 includes “G2.3”, “G2.4”, “G3.3”, and “G3.4”. Is not included.

これにより、オペレータは入力しようとしている指令が使用可能であるかを確認することができ、編集ミスを防止して効率的に加工プログラム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 machining program 21 efficiently by preventing editing mistakes. In addition, since the explanation text of the usable commands is displayed in the list display area 62, the usable commands can be easily grasped by the explanation text, and further, editing mistakes can be prevented and the machining program 21 can be efficiently edited. Work can be done.

図13に示す表示画面60bの状態で、オペレータが入力部4への入力操作によって、「G」の文字に続いて「3」の文字を入力すると、加工プログラム編集部30の表示処理部32は、表示画面60cに示されるように、加工プログラム表示領域61において、カーソル70の位置に「3」の文字を追加すると共にカーソル70の位置を1文字分右に移動させる。   In the state of the display screen 60 b shown in FIG. 13, when the operator inputs a character “3” following a character “G” by an input operation to the input unit 4, the display processing unit 32 of the machining program editing unit 30 is displayed. As shown in the display screen 60c, in the machining program display area 61, the character “3” is added to the position of the cursor 70 and the position of the cursor 70 is moved to the right by one character.

また、加工プログラム編集部30の指令候補生成部35は、使用可能指令リスト51を図11に示す状態から文字例「G3」を含む指令を抽出して新たな使用可能指令リスト51を生成して使用可能指令リスト51を更新する。表示処理部32は、図13の表示画面60cに示すように、リスト表示領域62に更新した使用可能指令リスト51を表示する。   Further, the command candidate generating unit 35 of the machining program editing unit 30 extracts a command including the character example “G3” from the state shown in FIG. 11 from the usable command list 51 and generates a new usable command list 51. The available command list 51 is updated. The display processing unit 32 displays the updated usable command list 51 in the list display area 62 as shown in the display screen 60c of FIG.

このように、オペレータが文字を入力する毎に、使用可能な指令を絞り込んだ新たな使用可能指令リスト51が表示部5に表示される。したがって、オペレータは文字を入力する毎に次に入力する文字が表示部5に表示された使用可能指令リスト51を確認することができ、編集ミスを防止して効率的に加工プログラム21の編集作業を行うことができる。   In this way, each time the operator inputs characters, a new usable command list 51 narrowing down usable commands is displayed on the display unit 5. Therefore, every time the operator inputs a character, the operator can check the usable command list 51 in which the character to be input next is displayed on the display unit 5, thereby preventing editing errors and efficiently editing the machining program 21. It can be performed.

また、表示部5に表示された使用可能指令リスト51からオペレータが入力しようとしている指令を選択することで、オペレータが文字を入力することなく指令の入力を完了させることもできる。具体的には、入力処理部31は、使用可能指令リスト51に含まれる1以上の指令の中からオペレータが入力部4への入力操作によって選択した指令を表示部5に表示される加工プログラム21に追加することができる。この場合、オペレータは使用不可能な指令を入力することがなく、編集ミスを防止して効率的に加工プログラム21の編集作業を行うことができる。   In addition, by selecting a command that the operator intends to input from the available command list 51 displayed on the display unit 5, the command input can be completed without the operator inputting characters. Specifically, the input processing unit 31 is a machining program 21 in which a command selected by the operator through an input operation to the input unit 4 from one or more commands included in the usable command list 51 is displayed on the display unit 5. Can be added to. In this case, the operator does not input an unusable command, and can edit the machining program 21 efficiently by preventing editing mistakes.

なお、上述した例では、処理部3は、使用可能な指令を絞り込んだ使用可能指令リスト51を表示部5に表示するが、使用可能な指令が絞り込まれていることをオペレータに示すことができればよく、上述した例に限定されない。   In the above-described example, the processing unit 3 displays the usable command list 51 in which usable commands are narrowed down on the display unit 5, but can indicate to the operator that usable commands are narrowed down. Well, it is not limited to the example described above.

例えば、指令候補生成部35は、入力文字を含む指令と、入力文字を含む指令以外の指令とが視覚的に区別できるように指令リストを生成することもできる。この場合、表示処理部32は、入力文字を含む指令と、入力文字を含む指令以外の指令とを視覚的に区別可能にした指令リストを表示部5に表示する。指令の区別は、入力文字を含む指令のサイズ、色、および書体を変更することによって、入力文字を含む指令を強調表示することで行うことができる。   For example, the command candidate generation unit 35 can also generate a command list so that a command including an input character can be visually distinguished from a command other than a command including the input character. In this case, the display processing unit 32 displays on the display unit 5 a command list that makes it possible to visually distinguish commands including input characters from commands other than commands including input characters. The command can be distinguished by highlighting the command including the input character by changing the size, color, and typeface of the command including the input character.

また、上述した例では、オペレータが入力部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 usable command list 51 is displayed in the list display area 62. However, the display start timing of the usable command list 51 is not limited to the case where the first character of the command is input. When the operator designates the position of the cursor 70 by an input operation to the input unit 4, the display processing unit 32 displays a usable command list 51 including commands usable in the block at the cursor position in the list display area 62. You can also

図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 display screen 60c illustrated in FIG. 13, the characters following “G3” are “.3”. And the character string “G3.3” is entered. The command candidate generating unit 35 generates the usable command list 51 excluding commands other than the command including the character string “G3.3”. The usable command list 51 illustrated in FIG. 11 includes the character string “G3.3”. Is not included, the generated usable instruction list 51 is empty.

表示処理部32は、使用可能指令リスト51が空である場合、すなわち、使用可能指令リスト51に1つのモーダル指令も含まれない場合、使用不可能な指令が入力されたと判定し、表示部5に警告表示を行う。   When the usable command list 51 is empty, that is, when one usable modal command is not included in the usable command list 51, the display processing unit 32 determines that an unusable command is input, and the display unit 5 A warning is displayed.

図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 display screen 60 c illustrated in FIG. 13. In the list display area 62 of the display screen 60d shown in FIG. 14, the input explanation of “G3.3” and a message indicating that “G3.3” cannot be used are displayed.

これにより、オペレータは、入力した指令が使用できない指令であることを把握し、入力した指令を変更するため、使用不可能な指令が加工プログラム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 machining program 21 is completed while the command that cannot be used is set in the machining program 21. Can be prevented. In addition, since an explanatory note of the unusable command is displayed, the operator can easily grasp what the unusable command is.

また、図14の表示画面60dには、警告表示領域63が含まれる。かかる警告表示領域63には、「P921 3D座標変換中不正Gコード」の文字列が表示されている。警告表示領域63に表示される文字列は、モーダル指令である「G68」が有効である状態で使用不可能な指令が行われることを示す情報である。これにより、オペレータは、入力した指令がなぜ使用できないかを容易に把握することができる。   Further, the display screen 60d of FIG. 14 includes a warning display area 63. In the warning display area 63, a character string “P921 3D coordinate conversion invalid G code” is displayed. The character string displayed in the warning display area 63 is information indicating that an unusable command is performed in a state where “G68” which is a modal command is valid. Thereby, the operator can easily grasp why the input command cannot be used.

なお、オペレータが入力部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 display processing unit 32 displays the screen displayed on the display unit 5 from the display screen 60 d to the display screen. Change to 60c. Therefore, the warning display and warning display area 63 in the list display area 62 are canceled.

上述した例では、入力した指令が使用できない指令である場合に、オペレータへ使用不可能な指令である旨を表示するが、加工プログラム編集部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 display screen 60 c illustrated in FIG. 13, the display processing unit 32 determines that the character string “G3.3” is not included in the usable command list 51. Then, “.3” of the character string “G3.3” can be canceled. As a result, the operator cannot substantially set a character string that is not included in the usable command list 51 in the machining program 21, thereby preventing the machining program 21 from including an unusable command. it can.

また、加工プログラム編集部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 input processing unit 31 of the machining program editing unit 30 receives a character string when a character string that is a command character string and is not included in the usable command list 51 is input via the input unit 4. It is also possible not to accept input.

入力処理部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 display screen 60 c illustrated in FIG. 13, the input processing unit 31 performs the character string “.3” following the character string “G3”. "Is not included in the usable command list 51, and the input of the character" .3 "can not be accepted.

また、入力処理部31は、入力された指令が使用できない指令である場合、オペレータが入力した使用できない指令を取り消すまでは、オペレータによるその後の入力を受け付けないこともできる。   Further, when the input command is an unusable command, the input processing unit 31 can not accept subsequent input by the operator until the unusable command input by the operator is canceled.

また、上述のリスト表示領域62では、使用可能指令リスト51に含まれる指令が、「G0」、「G1」、「G2」といったように番号順に並んでいるが、リスト表示領域62に表示される指令は番号順でなくてもよい。   In the list display area 62 described above, the commands included in the usable command list 51 are arranged in numerical order such as “G0”, “G1”, and “G2”, but are displayed in the list display region 62. Commands do not have to be in numerical order.

例えば、加工プログラム編集部30は、使用される頻度が高い順に指令を並べた使用可能指令リスト51を生成することができ、リスト表示領域62は、加工プログラム編集部30によって生成された使用可能指令リスト51に基づき、使用される頻度が高い順に並べた指令をリスト表示領域62に表示することができる。   For example, the machining program editing unit 30 can generate an available command list 51 in which commands are arranged in order of frequency of use, and the list display area 62 is an available command generated by the machining program editing unit 30. Based on the list 51, the commands arranged in the descending order of frequency of use can be displayed in the list display area 62.

この場合、加工プログラム編集部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 storage unit 2, and based on the command history stored in the storage unit 2, The frequency of use can be determined.

また、上述の処理では、加工プログラム解析部40は、編集開始の指示があった場合に、ブロック毎モーダル情報25を生成するが、かかる例に限定されない。加工プログラム解析部40は、オペレータが入力部4への入力操作によって文字を入力する指示を行う毎に、ステップS36の処理と同様の処理により、入力文字を含むブロックで有効なモーダル指令を判定することができる。加工プログラム解析部40は、入力文字を含むブロックで有効なモーダル指令がある場合に、ブロック毎モーダル情報25を更新する。   In the above-described processing, the machining program analysis unit 40 generates the block-by-block modal information 25 when an instruction to start editing is given, but the present invention is not limited to this example. The machining program analysis unit 40 determines a modal command effective in the block including the input character by the same process as the process of step S36 every time the operator gives an instruction to input a character by an input operation to the input unit 4. be able to. The machining program analysis unit 40 updates the modal information 25 for each block when there is a valid modal command in the block including the input character.

また、加工プログラム解析部40は、入力文字を含むブロックに指令が追加されたと判定した場合に、入力文字を含むブロックで有効なモーダル指令を含むモーダル情報を記憶部2に記憶して、ブロック毎指令位置情報26を更新することもできる。   In addition, when the machining program analysis unit 40 determines that a command has been added to a block including an input character, the machining program analysis unit 40 stores modal information including a modal command effective in the block including the input character in the storage unit 2, for each block. The command position information 26 can also be updated.

同様に、加工プログラム解析部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 program analysis unit 40 performs a movement command included in the block including the input character by a process similar to the process of step S <b> 38. When there is, the command position can be calculated. The machining program analysis unit 40 updates the command position information 26 for each block when the command position is calculated.

また、加工プログラム解析部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 program analysis unit 40 stores command position information including a command position in a block including the input character in the storage unit 2. It is also possible to store and update the command position information 26 for each block.

加工プログラム解析部40は、加工プログラム編集装置1の起動時に、ブロック毎モーダル情報25を生成することもでき、また、加工プログラム編集装置1の処理負荷が閾値以下である場合に、ブロック毎モーダル情報25を生成することもできる。   The machining program analysis unit 40 can also generate block-by-block modal information 25 when the machining program editing apparatus 1 is activated. When the processing load of the machining program editing apparatus 1 is equal to or less than a threshold, the block-by-block modal information is generated. 25 can also be generated.

図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 program editing apparatus 1 according to the first embodiment. As illustrated in FIG. 15, the machining program editing apparatus 1 is a computer including a processor 101, a memory 102, an HDD 103, an interface circuit 104, and a display 105. The processor 101, the memory 102, the HDD 103, the interface circuit 104, and the display 105 can exchange data with each other via the bus 106. The storage unit 2 is realized by the memory 102 and the HDD 103, the input unit 4 is realized by the interface circuit 104, and the display unit 5 is realized by the display 105.

プロセッサ101は、HDD103に記憶されたOSおよび処理プログラムを読み出して実行することによって、加工プログラム編集部30、および加工プログラム解析部40の機能を実行する。なお、プロセッサ101は、磁気ディスク、USB(Universal Serial Bus)メモリ、光ディスク、コンパクトディスク、およびDVD(Digital Versatile Disc)のうち一つ以上の記憶媒体から不図示のインタフェースを介してOSおよび処理プログラムを読み出しHDD103に記憶して実行することもできる。   The processor 101 executes the functions of the machining program editing unit 30 and the machining program analysis unit 40 by reading and executing the OS and the processing program stored in the HDD 103. The processor 101 receives an OS and a processing program from one or more storage media among a magnetic disk, a USB (Universal Serial Bus) memory, an optical disk, a compact disk, and a DVD (Digital Versatile Disc) via an interface (not shown). It can also be stored in the read HDD 103 and executed.

以上のように、実施の形態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 program editing apparatus 1 according to the first embodiment includes the display processing unit 32, the machining program analysis unit 40 that is an example of an analysis unit, the effective modal extraction unit 34 that is an example of an extraction unit, A command candidate generation unit 35. The display processing unit 32 displays at least a part of the plurality of blocks included in the machining program 21 on the display unit 5. The machining program analysis unit 40 analyzes the modal command effective for each block from the first block among the plurality of blocks, and stores the modal information including the modal command effective for each block in the storage unit 2. The effective modal extraction unit 34 extracts a modal command effective in the block at the cursor position displayed on the display unit 5 from the block-by-block modal information 25 stored in the storage unit 2. The command candidate generation unit 35 generates a usable command list 51 that is a list of modal commands that can be used in the block at the cursor position, based on the valid modal commands extracted by the valid modal extraction unit 34. When a character string is input at the position of the cursor 70, the command candidate generation unit 35 extracts a modal command including the input character string from a plurality of modal commands included in the usable command list 51, and newly creates a new command. A usable instruction list 51 is generated. The display processing unit 32 displays the usable command list 51 generated by the command candidate generating unit 35 on the display unit 5. Thereby, the operator can confirm whether the command to be input can be used, and can efficiently edit the machining program 21.

また、使用可能指令リスト51には、使用可能な指令と、指令の説明文を含む。これにより、オペレータは入力しようとしている指令が使用可能であるか否かに加え、使用可能な指令の説明文を確認することができるため、さらに効率的に加工プログラム21の編集作業を行うことができる。   The usable command list 51 includes usable commands and a description of the command. Thus, the operator can check the explanation of the usable command in addition to whether or not the command to be input can be used, so that the machining program 21 can be edited more efficiently. it can.

また、表示処理部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 available command list 51, the display processing unit 32 displays a warning indicating that the input command cannot be used on the display unit 5. indicate. As a result, it is possible to prevent the operator from inputting a command that cannot be used, and it is not necessary to check the machining program 21 with the machining program check device after the editing operation of the machining program 21 is completed. The program 21 can be edited.

実施の形態2.
実施の形態2では、カーソル位置のブロックにおいて各モータX,Y,Z,A,およびCの指令位置が設定範囲外になる場合に警告表示を行う処理が追加される点で、実施の形態1と異なる。以下においては、実施の形態1と同様の機能を有する構成要素については同一符号を付して説明を省略し、実施の形態1の加工プログラム編集装置1と異なる点を中心に説明する。
Embodiment 2. FIG.
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 program editing apparatus 1 in the first embodiment will be mainly described.

図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 display unit 5.

記憶部2Aは、記憶部2における工作機械パラメータ22に代えて、工作機械パラメータ22Aを記憶する。工作機械パラメータ22Aは、工作機械パラメータ22に含まれるパラメータに加え、使用する座標系を表すパラメータ、工作機械に搭載された各モータX,Y,Z,A,およびCの可動範囲を示すパラメータ、干渉物の位置を示すパラメータを含む。   The storage unit 2A stores machine tool parameters 22A instead of the machine tool parameters 22 in the storage unit 2. The machine tool parameter 22A includes, in addition to the parameters included in the machine tool parameter 22, a parameter representing a coordinate system to be used, a parameter indicating a movable range of each motor X, Y, Z, A, and C mounted on the machine tool, A parameter indicating the position of the interferer is included.

図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 program editing unit 30A and a machining program analysis unit 40. The machining program editing unit 30A includes an input processing unit 31, a display processing unit 32A, a cursor position determination unit 33, an effective modal extraction unit 34, a command candidate generation unit 35, and a command position determination unit 36.

指令位置判定部36は、上述した可動範囲を示すパラメータに基づき、カーソル位置のブロックに含まれる移動指令によってブロックの各モータMの指令位置が各モータMの可動範囲Ra外になるか否かを判定する。また、指令位置判定部36は、上述した干渉物の範囲を示すパラメータに基づき、カーソル位置のブロックに含まれる移動指令によってブロックの各モータMの指令位置が干渉物への衝突を起こす干渉物範囲Rb内になるか否かを判定する。   Based on the parameter indicating the movable range described above, the command position determination unit 36 determines whether or not the command position of each motor M in the block is outside the movable range Ra of each motor M based on the movement command included in the block at the cursor position. judge. Further, the command position determination unit 36 is based on the parameter indicating the range of the interferer described above, and the interferer range in which the command position of each motor M of the block causes a collision with the interferer due to the movement command included in the block at the cursor position. It is determined whether or not it is within Rb.

表示処理部32Aは、モータMの可動範囲Ra外への移動指令または干渉物範囲Rb内への移動指令を含む場合、設定範囲Rm外への移動指令を含むと判定し、表示部5に警告情報を表示する。これにより、オペレータがモータMの可動範囲Ra外への移動指令および干渉物範囲Rb内への移動指令を入力することを防ぐことができ、加工プログラム21の編集作業の効率向上の効果が得られる。   When the display processing unit 32A includes a movement command for moving the motor M outside the movable range Ra or a movement command for moving within the interferer range Rb, the display processing unit 32A determines that the moving command for moving outside the set range Rm is included, and warns the display unit 5 Display information. Thereby, it is possible to prevent the operator from inputting a movement command of the motor M to the outside of the movable range Ra and a movement command to the inside of the interference object range Rb, and the effect of improving the efficiency of editing the machining program 21 can be obtained. .

図19は、加工プログラム編集部30Aが実行する入力支援処理を示すフローチャートである。図19に示すステップS50〜S56の処理は、図12に示すステップS50〜S56の処理と同じであるため、説明を省略する。   FIG. 19 is a flowchart showing an input support process executed by the machining program editing unit 30A. The processing in steps S50 to S56 shown in FIG. 19 is the same as the processing in steps S50 to S56 shown in FIG.

ステップ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 position determination unit 36 of the machining program editing unit 30A includes the coordinate position specified by the movement command in the block at the cursor position by the input of the character. It is determined whether or not (step S61). The coordinate position specified by the movement command is a coordinate position described after the movement command. In the case of “G90 G0 X150.”, The coordinate position is “X150.”.

指令位置判定部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 position determination unit 36 calculates the command position in the block at the cursor position (step S62). ).

ステップS62において、指令位置判定部36は、記憶部2Aに記憶されたブロック毎指令位置情報26の中からカーソル位置のブロックの一つ前のブロックの指令位置情報を抽出する。そして、指令位置判定部36は、抽出した指令位置情報で示される指令位置と、カーソル位置のブロックに含まれることになった移動指令で指定される座標位置とに基づき、カーソル位置のブロックにおける指令位置を判定する。   In step S62, the command position determination unit 36 extracts command position information of the block immediately before the block at the cursor position from the block-by-block command position information 26 stored in the storage unit 2A. Then, the command position determination unit 36 determines the command in the block at the cursor position based on the command position indicated by the extracted command position information and the coordinate position specified by the movement command that is included in the cursor position block. Determine the position.

なお、加工プログラム解析部40によってカーソル70の位置に文字が入力される毎にブロック毎指令位置情報26が更新される場合、指令位置判定部36は、記憶部2Aに記憶されたブロック毎指令位置情報26の中からカーソル位置のブロックの指令位置情報を抽出する。指令位置判定部36は、カーソル位置のブロックの指令位置情報で示される指令位置を、カーソル位置のブロックにおける指令位置として判定する。   When the command position information 26 for each block is updated every time a character is input at the position of the cursor 70 by the machining program analysis unit 40, the command position determination unit 36 stores the command position for each block stored in the storage unit 2A. The command position information of the block at the cursor position is extracted from the information 26. The command position determination unit 36 determines the command position indicated by the command position information of the block at the cursor position as the command position in the block at the cursor position.

次に、指令位置判定部36は、可動範囲情報テーブル71に含まれる可動範囲を示すパラメータおよび干渉物範囲情報テーブルに含まれる干渉物の範囲を示すパラメータを記憶部2Aから読み出す(ステップS63)。   Next, the command position determination unit 36 reads a parameter indicating the movable range included in the movable range information table 71 and a parameter indicating the range of the interferer included in the interferer range information table from the storage unit 2A (step S63).

指令位置判定部36は、ステップS63で読み出したパラメータに基づいて、ステップS62で演算した指令位置が設定範囲Rm外になるか否かを判定する(ステップS64)。表示処理部32Aは、指令位置判定部36によって指令位置が設定範囲Rm外になると判定された場合(ステップS64:Yes)、表示部5に警告情報を表示する(ステップS65)。   The command position determination unit 36 determines whether or not the command position calculated in step S62 is outside the set range Rm based on the parameter read in step S63 (step S64). When the command position determination unit 36 determines that the command position is outside the set range Rm (step S64: Yes), the display processing unit 32A displays warning information on the display unit 5 (step S65).

指令位置判定部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 position determination unit 36 determines that the command position is not outside the set range Rm (step S64: No). ), Or when the process of step S65 ends, the process shown in FIG. 19 ends.

図20は、表示部5の表示画面60eの一例を示す図である。図20に示す表示画面60eには、加工プログラム表示領域61に加え、警告表示領域64が含まれる。図20に示す例では、加工プログラム21において、カーソル位置のブロックの2つ前のブロックには指令「G55」が含まれており、カーソル位置のブロックの一つ前のブロックとカーソル位置のブロックで有効な指令は、G55座標系上の指令である。   FIG. 20 is a diagram illustrating an example of the display screen 60 e of the display unit 5. The display screen 60e shown in FIG. 20 includes a warning display area 64 in addition to the machining program display area 61. In the example shown in FIG. 20, in the machining program 21, the command “G55” is included in the block immediately before the block at the cursor position, and the block immediately before the cursor position block and the block at the cursor position are included. An effective command is a command on the G55 coordinate system.

また、カーソル位置のブロックの一つ前のブロックには、指令「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 display processing unit 32A displays a warning in the warning display area 64 of the display unit 5 indicating that a movement command for moving in the positive direction of the X axis beyond the set range Rm has been performed. .

このように、実施の形態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 machining program 21 can be eliminated, and an effect of improving the efficiency of the editing operation of the machining program 21 can be obtained.

なお、加工プログラム編集部30Aは、上述した警告の表示に加えて、または上述した警告の表示に代えて、入力された移動指令の座標位置によって設定される指令位置が設定範囲Rm外になる場合、入力された移動指令の座標位置を取り消すことができる。   In addition to the above-described warning display, or instead of the above-described warning display, the machining program editing unit 30A has a case where the command position set by the coordinate position of the input movement command is outside the setting range Rm. The coordinate position of the input movement command can be canceled.

また、加工プログラム編集部30Aは、設定範囲Rm外への移動指令の座標位置を入力できないようにもできる。具体的には、加工プログラム編集部30Aの入力処理部31は、設定範囲Rm外への移動指令の座標位置を記述する文字列が入力部4を介して入力された場合に、文字の入力を受け付けないこともできる。   Further, the machining program editing unit 30A may be configured not to input the coordinate position of the movement command outside the setting range Rm. Specifically, the input processing unit 31 of the machining program editing unit 30A inputs a character when a character string describing the coordinate position of the movement command outside the setting range Rm is input via the input unit 4. It can also be rejected.

また、実施の形態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 program editing apparatus 1 shown in FIG. The processor 101 reads out and executes the program stored in the memory 102 functioning as the storage unit 2A, thereby executing the functions of the display processing unit 32A and the command position determination unit 36 in addition to the functions of the processing unit 3 described above. be able to.

以上のように、実施の形態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 display processing unit 32A, the machining program analysis unit 40 that is an example of the analysis unit, the effective modal extraction unit 34 that is an example of the extraction unit, And a command position determination unit 36. The display processing unit 32 </ b> A displays at least a part of the plurality of blocks included in the machining program 21 on the display unit 5. The machining program analysis unit 40 analyzes the machining program 21 from the first block, and stores block-by-block command position information 26 including command position information indicating the command position of the motor M included in the machine tool for each block of the machining program 21. Store in part 2A. Based on the command position information 26 for each block stored in the storage unit 2A, the command position determination unit 36 sets the command position of the motor M to the set range Rm according to the movement command input to the position of the cursor 70 displayed on the display unit 5. Judge whether to go out. The display processing unit 32A warns that the command position of the motor M is out of the set range Rm when the command position determination unit 36 determines that the command position is out of the set range Rm according to the input movement command. Information is displayed on the display unit 5. As a result, it is possible to prevent the operator from inputting a command to move the motor M outside the set range Rm, and the machining program 21 can be efficiently edited.

実施の形態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 program editing apparatus 1B according to the third embodiment of the present invention. A machining program editing apparatus 1B shown in FIG. 21 includes a storage unit 2B, a processing unit 3B, an input unit 4, and a display unit 5.

記憶部2Bは、図16に示すブロック毎モーダル情報25に代えて、ブロック毎モーダル情報25Bを備える。ブロック毎モーダル情報25Bは、ブロック毎の有効なモーダル指令とモーダル種別とを含む情報である。   The storage unit 2B includes block-by-block modal information 25B instead of the block-by-block modal information 25 illustrated in FIG. The modal information for each block 25B is information including an effective modal command and a modal type for each block.

モーダル種別は、有効なモーダル指令が加工プログラム21に含まれるモーダル指令によるものか、工作機械パラメータ22Aに含まれるパラメータであってモーダル指令の初期状態を規定するパラメータによるものか、のいずれであるのかを示す種別である。以下、ブロックに含まれるモーダル指令を「指令によるモーダル」と記載する場合があり、パラメータで規定されるモーダル指令を「初期状態のモーダル」と記載する場合がある。   Whether the modal type is an effective modal command based on a modal command included in the machining program 21 or a parameter included in the machine tool parameter 22A and defining an initial state of the modal command. Is a type indicating. Hereinafter, the modal command included in the block may be described as “modal by command”, and the modal command defined by the parameter may be described as “initial modal”.

図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 processing unit 3B includes a machining program editing unit 30B and a machining program analysis unit 40B. The machining program editing unit 30B includes a display processing unit 32B having functions described later in addition to the functions of the display processing unit 32A. Further, the machining program analysis unit 40B includes a read processing unit 41, a modal processing unit 42B, a coordinate processing unit 43, and a default modal determination unit 44.

デフォルトモーダル判定部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 storage unit 2B.

表示処理部32Bは、表示処理部32,32Aと同様の処理により、記憶部2Bに記憶されたブロック毎モーダル情報25Bからカーソル位置のブロックのモーダル情報を読み出し、読み出したモーダル情報を表示部5に表示する。   The display processing unit 32B reads the modal information of the block at the cursor position from the block-by-block modal information 25B stored in the storage unit 2B by the same processing as the display processing units 32 and 32A, and displays the read modal information on the display unit 5. indicate.

表示部5に表示されるモーダル情報には、カーソル位置のブロックにおいて有効なモーダル指令が初期状態のモーダルであるか指令によるモーダルであるかを示す情報が含まれている。これにより、オペレータは、編集位置のブロックにおける指令が、パラメータの設定に依存しているか否かを容易に認識することができる。   The modal information displayed on the display unit 5 includes information indicating whether the modal command effective in the block at the cursor position is the modal command in the initial state or the modal command. Thus, the operator can easily recognize whether or not the command in the block at the editing position depends on the parameter setting.

図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 storage unit 2B, modal information including the valid modal command extracted in step S31, information indicating the modal type, and the block number “1” of the “first block” (step S32B). Thereby, the block-by-block modal information 25B including the modal information of the head block is generated.

ステップ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 storage unit 2B, modal information including the valid modal command extracted in step S36, information indicating the modal type, and the block number of “next block” (step S37B). As a result, the modal information of “next block” is added to the modal information 25B for each block, and the modal information 25B including the modal information for each block from the first block to the “next block” is generated. Information 25B is updated.

図24は、モーダル情報の表示処理を示すフローチャートである。図24に示すように、加工プログラム編集部30Bのカーソル位置判定部33は、カーソル位置のブロックを判定する(ステップS81)。   FIG. 24 is a flowchart showing a modal information display process. As shown in FIG. 24, the cursor position determination unit 33 of the machining program editing unit 30B determines a block at the cursor position (step S81).

表示処理部32Bは、記憶部2Bに記憶されたブロック毎モーダル情報25Bの中から、カーソル位置のブロックのモーダル情報を読み出す(ステップS82)。そして、表示処理部32Bは、読み出したモーダル情報を表示部5に表示する(ステップS83)。   The display processing unit 32B reads the modal information of the block at the cursor position from the block-by-block modal information 25B stored in the storage unit 2B (step S82). Then, the display processing unit 32B displays the read modal information on the display unit 5 (step S83).

図25は、実施の形態3における表示部5の表示画面の一例を示す図である。図25に示す表示画面60fには、加工プログラム表示領域61とモーダル表示領域65とが含まれる。加工プログラム表示領域61には、加工プログラム21を構成する複数のブロックのうち少なくとも一部が表示される。   FIG. 25 is a diagram illustrating an example of a display screen of the display unit 5 according to the third embodiment. The display screen 60f shown in FIG. 25 includes a machining program display area 61 and a modal display area 65. In the machining program display area 61, at least a part of a plurality of blocks constituting the machining program 21 is displayed.

図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 machining program 21 displayed in the machining program display area 61 to the block at the cursor position. . Therefore, the effective modal command of the group “01” in the block at the cursor position is “G1”. In the block at the cursor position, the effective modal command for group “03” is “G91”, and the effective modal command for group “12” is “G55”.

グループ「02」および「13」では、加工プログラム21の先頭のブロックからカーソル位置のブロックまでに一度も指令されていない。したがって、モーダル指令の初期状態を規定するパラメータにより、グループ「02」の有効なモーダル指令は「G17」、グループ「13」の有効なモーダル指令は「G61.1」である。   In groups “02” and “13”, no command is given from the first block of the machining program 21 to the block at the cursor position. Therefore, the effective modal command of the group “02” is “G17” and the effective modal command of the group “13” is “G61.1” according to the parameters that define the initial state of the modal command.

図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 unit 43 can calculate the command position, the rotation speed, and the feed speed of each motor M for each block, and store the calculation result as the block-specific command position information 26 in the storage unit 2B.

表示処理部32Bは、記憶部2Bに記憶されたブロック毎指令位置情報26の中から、カーソル位置のブロックの指令位置情報を読み出し、読み出した指令位置情報を表示部5に表示することができる。指令位置情報には、各モータMの指令位置、回転速度、および送り速度が含まれる。   The display processing unit 32B can read the command position information of the block at the cursor position from the block-specific command position information 26 stored in the storage unit 2B, and display the read command position information on the display unit 5. The command position information includes the command position, rotational speed, and feed speed of each motor M.

図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 display screen 60f does not include the list display area 62 illustrated in FIG. 13, but the display processing unit 32B includes the list display area 62 together with the modal display area 65 in the display screen 60f. be able to. In addition, the display processing unit 32B can highlight the command in the initial state in the list display area 62.

また、実施の形態3にかかる加工プログラム編集装置1Bのハードウェア構成例は、図15に示す加工プログラム編集装置1と同じである。プロセッサ101は、記憶部2Bとして機能するメモリ102に記憶されたプログラムを読み出して実行することによって、上述した処理部3の機能に加え、表示処理部32B、指令位置判定部36、モーダル処理部42B、およびデフォルトモーダル判定部44の機能を実行することができる。   A hardware configuration example of the machining program editing apparatus 1B according to the third embodiment is the same as that of the machining program editing apparatus 1 shown in FIG. The processor 101 reads out and executes a program stored in the memory 102 functioning as the storage unit 2B, so that in addition to the functions of the processing unit 3 described above, the display processing unit 32B, the command position determination unit 36, and the modal processing unit 42B. , And the function of the default modal determination unit 44 can be executed.

以上のように、実施の形態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 program editing apparatus 1B according to the third embodiment includes the display processing unit 32B, the machining program analysis unit 40B that is an example of the analysis unit, and the effective modal extraction unit 34 that is an example of the extraction unit. Prepare. The display processing unit 32 </ b> B displays at least a part of the plurality of blocks included in the machining program 21 on the display unit 5. The machining program analysis unit 40B analyzes an effective modal command for each block from the first block of the machining program 21, and determines a modal type that is a type of whether or not the effective modal command is an initial parameter. The machining program analysis unit 40B stores modal information indicating a modal command and a modal type effective for each block in the storage unit 2B. The effective modal extracting unit 34 extracts modal information indicating a modal command effective in the block at the cursor position displayed on the display unit 5 from the block-by-block modal information 25B stored in the storage unit 2B. Based on the modal information extracted by the effective modal extraction unit 34, the display processing unit 32B displays a modal command and a modal type that are effective in the block at the cursor position on the display unit 5. Thereby, the operator can easily recognize whether or not the modal command in the block at the editing position depends on the parameter setting, and can efficiently edit the machining program 21.

実施の形態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 program editing apparatus 1B in the third embodiment are mainly described.

図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 display unit 5.

記憶部2Cは、複数の加工プログラムを含む加工プログラム群28を記憶する。図26に示す加工プログラム群28は、複数の加工プログラムとして、メインプログラム21Aと、サブプログラム21Bとを含む。なお、図26では、メインプログラム21Aおよびサブプログラム21Bは各々一つずつ示されているが、メインプログラム21Aおよびサブプログラム21Bは加工プログラム群28に各々複数含まれている。   The storage unit 2C stores a machining program group 28 including a plurality of machining programs. The machining program group 28 shown in FIG. 26 includes a main program 21A and a subprogram 21B as a plurality of machining programs. In FIG. 26, one main program 21A and one subprogram 21B are shown, but a plurality of main programs 21A and subprograms 21B are included in the machining program group 28, respectively.

メインプログラム21Aには、サブプログラム呼び出し指令と呼ばれる指令が含まれており、メインプログラム21Aからサブプログラム21Bを呼び出して実行することができる。メインプログラム21Aの先頭のブロックからサブプログラム呼び出し指令までの有効なモーダル指令と指令位置は、サブプログラム21Bに引き継がれる。   The main program 21A includes a command called a subprogram call command, and can be executed by calling the subprogram 21B from the main program 21A. Effective modal commands and command positions from the first block of the main program 21A to the subprogram call command are succeeded to the subprogram 21B.

サブプログラム呼び出し指令はどのサブプログラム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 main program 21A, but the subprogram 21B includes a description of the main program 21A. Absent. Therefore, the main program 21A cannot be known from the subprogram 21B.

したがって、オペレータがサブプログラム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 main program 21A, which is the processing program of the caller, to the last block from the first block of the subprogram 21B that is editing via the block including the subprogram call command. Is analyzed for each block.

かかる処理部3Cは、加工プログラム編集部30Cと、加工プログラム解析部40Bと、メインプログラム検索部50とを備える。メインプログラム検索部50は、記憶部2Cに記憶されている加工プログラム群28の中から全文検索し、編集を行っている加工プログラムであるサブプログラム21Bの読み出し元の加工プログラムであるメインプログラム21Aを抽出する。   The processing unit 3C includes a machining program editing unit 30C, a machining program analysis unit 40B, and a main program search unit 50. The main program retrieval unit 50 retrieves the main program 21A, which is the machining program from which the subprogram 21B, which is the machining program that is editing, performs a full-text search from the machining program group 28 stored in the storage unit 2C. Extract.

加工プログラム編集部30Cは、加工プログラム解析部40Bにプログラム解析を行わせる前に、メインプログラム検索部50に対して編集を行っているサブプログラム21Bを呼び出しているメインプログラム21Aを探し出すよう要求する。加工プログラム編集部30Cは、メインプログラム検索部50がメインプログラム21Aを抽出した場合、加工プログラム解析部40Bに対して、メインプログラム21Aの先頭のブロックから解析を行うように指示する。   The machining program editing unit 30C requests the main program search unit 50 to find the main program 21A that calls the subprogram 21B being edited before the machining program analysis unit 40B performs program analysis. When the main program search unit 50 extracts the main program 21A, the machining program editing unit 30C instructs the machining program analysis unit 40B to perform analysis from the top block of the main program 21A.

加工プログラム解析部40Bは、メインプログラム21Aの先頭のブロックからサブプログラム呼び出し指令ブロックを経由して編集を行っているサブプログラム21Bの先頭のブロックから最終のブロックまでをブロック毎に解析する。   The machining program analysis unit 40B analyzes for each block from the first block of the main program 21A to the last block of the subprogram 21B that is being edited via the subprogram call command block.

具体的には、加工プログラム解析部40Bは、上述した加工プログラム21の解析処理と同様に、メインプログラム21Aの先頭のブロックからサブプログラム呼び出し指令を含むブロックまでをブロック毎に解析する。続いて、加工プログラム解析部40Bは、メインプログラム21Aのサブプログラム呼び出し指令の呼び出し先であって編集が行われているサブプログラム21Bの先頭のブロックから最終のブロックまでをブロック毎に解析する。   Specifically, the machining program analysis unit 40B analyzes the block from the head block of the main program 21A to the block including the subprogram call command for each block, similarly to the analysis process of the machining program 21 described above. Subsequently, the machining program analysis unit 40B analyzes, for each block, the first block to the last block of the subprogram 21B that is the destination of the subprogram call command of the main program 21A and is being edited.

加工プログラム解析部40Bは、サブプログラム21Bの先頭のブロックの直前で有効なモーダル情報として、サブプログラム呼び出し指令を含むブロックのモーダル情報を用いる。これにより、メインプログラム21Aのサブプログラム呼び出し指令を含むブロックで有効なモーダル指令を初期状態のモーダル指令として用いて、サブプログラム21Bの先頭のブロックからサブプログラム21Bを解析することができる。   The machining program analysis unit 40B uses modal information of a block including a subprogram call command as modal information effective immediately before the top block of the subprogram 21B. Thereby, the subprogram 21B can be analyzed from the head block of the subprogram 21B by using the modal command effective in the block including the subprogram call command of the main program 21A as the modal command in the initial state.

加工プログラム解析部40Bは、解析したブロック毎のモーダル情報をブロック毎モーダル情報25Bとして記憶部2Cに記憶し、解析したブロック毎の指令位置情報をブロック毎指令位置情報26として記憶部2Cに記憶する。   The machining program analysis unit 40B stores the analyzed modal information for each block in the storage unit 2C as modal information for each block 25B, and stores the analyzed command position information for each block in the storage unit 2C as the command position information for each block 26. .

なお、メインプログラム検索部50は、加工プログラム編集部30Cからの指示がない場合であっても、プロセッサ101の空き時間を利用して各サブプログラム21Bの呼び出し元であるメインプログラム21Aを判定することができる。この場合、メインプログラム検索部50は、判定したサブプログラム21Bとメインプログラム21Aとの関係を示す情報を記憶部2Cに記憶することができる。   Note that the main program search unit 50 uses the idle time of the processor 101 to determine the main program 21A that is the calling source of each subprogram 21B even when there is no instruction from the machining program editing unit 30C. Can do. In this case, the main program search unit 50 can store information indicating the relationship between the determined subprogram 21B and the main program 21A in the storage unit 2C.

図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 display unit 5 and being edited is the subprogram 21B (step S91). When the machining program editing unit 30C determines that the machining program being edited is the subprogram 21B (step S91: Yes), the machining program editing unit 30C instructs the machining program analysis unit 40B to analyze the main program 21A from which the subprogram 21B is read. The machining program analysis unit 40B executes analysis of the main program 21A (step S92). Such step S92 is the same as the processing of steps S30 to S40 shown in FIG.

ステップ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 analysis unit 40B is instructed, and the machining program analysis unit 40B executes analysis of the main program 21A (step S93).

ステップ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 main program 21A as the modal command in the initial state. The subprogram 21B is analyzed from the first block of 21B. Such step S93 is the same as the processing of steps S30 to S40 shown in FIG. When the process of step S93 ends, the processing unit 3C ends the process illustrated in FIG.

図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 display unit 5, and FIG. 29 is a diagram showing an example of the main program 21A. The display screen 60g shown in FIG. 28 includes a machining program display area 61 and a modal display area 65, which are subprogram display areas. In the machining program display area 61 shown in FIG. 28, at least part of the contents of the subprogram 21B, which is the machining program being edited, is displayed.

図28に示す表示画面60gでは、図29に示すメインプログラム21Aに含まれる指令「G55」が、サブプログラム21Bにおけるカーソル位置のブロックでグループ「12」の有効なモーダル指令となっていることが示される。そして、指令「G55」が編集中のサブプログラム21Bではなくメインプログラム21Aでの指令であることを示すために、編集中のサブプログラム21Bで指令されたモーダルとは区別して斜体で表示される。   The display screen 60g shown in FIG. 28 shows that the command “G55” included in the main program 21A shown in FIG. 29 is an effective modal command of the group “12” in the block at the cursor position in the subprogram 21B. It is. In order to indicate that the command “G55” is a command in the main program 21A, not in the subprogram 21B being edited, it is displayed in italics in distinction from the modal commanded by the subprogram 21B being edited.

これにより、編集中の加工プログラムがサブプログラム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 main program 21A. Program analysis.

また、実施の形態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 program editing apparatus 1 shown in FIG. The processor 101 can execute the function of the processing unit 3C described above by reading and executing a program stored in the memory 102 functioning as the storage unit 2C.

以上のように、実施の形態4にかかる加工プログラム編集装置1Cは、メインプログラム検索部50を備える。メインプログラム検索部50は、加工プログラム21の呼び出し元であるメインプログラム21Aを検索する。加工プログラム解析部40Bは、サブプログラム21Bである加工プログラムの先頭のブロックに代えて、メインプログラム21Aの先頭のブロックから解析を行う。これにより、オペレータがサブプログラム21Bを編集していた場合であっても、編集位置での有効なモーダル指令を正確に把握することができ、効率的に加工プログラム21の編集作業を行うことができる。   As described above, the machining program editing apparatus 1 </ b> C according to the fourth embodiment includes the main program search unit 50. The main program search unit 50 searches for the main program 21 </ b> A that is the calling source of the machining program 21. The machining program analysis unit 40B performs analysis from the first block of the main program 21A instead of the first block of the machining program that is the subprogram 21B. Thereby, even when the operator is editing the subprogram 21B, an effective modal command at the editing position can be accurately grasped, and the machining program 21 can be efficiently edited. .

なお、上述した例では、オペレータへの警告は、表示部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 display unit 5, but the machining program editing units 30, 30 </ b> A, 30 </ b> B, and 30 </ b> C are replaced with sound and vibration instead of display on the display unit 5. The operator can be alerted by at least one of the following. In addition to the display on the display unit 5, the machining program editing units 30, 30A, 30B, and 30C can warn the operator by at least one of sound and vibration.

以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。   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 Modal processing unit 43 coordinates processing unit, 44 default modal determination unit, 50 a main program search unit, 51 available command list, 70 the cursor 71 movable range information table, 73 coordinate setting information table, X, Y, Z, A, C motor.

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.
JP2017146201A 2017-07-28 2017-07-28 Apparatus, method and program for editing processing program Pending JP2019028641A (en)

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)

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