WO2025120783A1 - プログラム編集装置、プログラム編集方法、およびコンピュータ読み取り可能な記憶媒体 - Google Patents
プログラム編集装置、プログラム編集方法、およびコンピュータ読み取り可能な記憶媒体 Download PDFInfo
- Publication number
- WO2025120783A1 WO2025120783A1 PCT/JP2023/043725 JP2023043725W WO2025120783A1 WO 2025120783 A1 WO2025120783 A1 WO 2025120783A1 JP 2023043725 W JP2023043725 W JP 2023043725W WO 2025120783 A1 WO2025120783 A1 WO 2025120783A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- program
- argument
- information
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4093—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
Definitions
- the present disclosure relates to a program editing device, a program editing method, and a computer-readable storage medium.
- machining programs are created using an interactive programming device (for example, see Patent Document 1).
- an interactive programming device for example, see Patent Document 1.
- the unit of argument of the code specified in the machining program is specified by the operator.
- machining programs created by program creation devices do not display the units of code arguments. Therefore, if there is an error in the units used in a machining program, the operator may execute the machining program without noticing the error. In this case, machining defects may occur. Therefore, there is a demand for technology that allows operators to easily check the units used in a created machining program.
- the program editing device disclosed herein includes a unit assignment section that assigns units to a machining program based on G codes and arguments of the G codes included in the machining program used for machining in a machining machine, and an output section that outputs the machining program to which units have been assigned by the unit assignment section.
- the program editing method disclosed herein includes assigning units to a machining program based on G codes and arguments of the G codes contained in the machining program used for machining in a machining machine, and outputting the machining program to which the units have been assigned.
- the computer-readable storage medium of the present disclosure stores instructions that cause a computer to assign units to a machining program based on G codes and arguments of the G codes contained in the machining program used for machining in a machining machine, and to output the machining program with the units assigned.
- FIG. 2 is a block diagram showing an example of a hardware configuration of a program editing apparatus.
- FIG. 2 is a block diagram showing an example of functions of a program editing device.
- 4 is an example of a machining program acquired by a program analysis unit.
- 13 is an example of analysis information acquired by a credit assignment unit.
- 11 is an example of first unit correspondence information defined in a first format.
- 1 is an example of a machining program to which units are assigned.
- 13 is a flowchart illustrating an example of a process executed by the program editing device.
- 13 is an example of second unit correspondence information defined in a second format.
- FIG. 13 is a diagram showing an example of units that have been determined to be assigned.
- 4 is an example of a machining program acquired by a program analysis unit.
- 13 is an example of unit correspondence information acquired by a unit assignment unit. 1 is an example of a machining program to which information indicating the meaning of codes is added. 4 is an example of a machining program acquired by a program analysis unit. 13 is an example of analysis information acquired by a credit assignment unit. 11 is an example of first unit correspondence information defined in a first format. 1 is an example of a machining program to which units are assigned. 4 is an example of a machining program acquired by a program analysis unit. 13 is an example of analysis information acquired by a credit assignment unit. 13 is an example of first unit correspondence information defined in a first format. 13 is an example of added format information. 1 is an example of a machining program to which information indicating the meaning of units and codes is added.
- based on XX means “based on at least XX,” and includes cases where it is based on other elements in addition to XX. Furthermore, “based on XX” is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX” is any element (for example, any information).
- the program editing device disclosed herein is a device for editing a machining program.
- the program editing device assigns units to the machining program and outputs the machining program with the units assigned.
- the machining program edited by the program editing device disclosed herein is a machining program that is already in an executable format, but it can also be applied to an interactive program creation device that assigns units to a machining program in the process of being created.
- a machining program is a program used for machining in a machining machine.
- machining machines include machine tools, electric discharge machines, and three-dimensional printers.
- machine tools include machining centers, lathes, and multi-tasking machines.
- the program editing device is implemented, for example, in a PC (Personal Computer), a server, or a tablet terminal.
- the program editing device may also be implemented in a numerical control device.
- the program editing device may include a control unit that controls a processing machine.
- FIG. 1 is a block diagram showing an example of the hardware configuration of a program editing device.
- the program editing device 1 includes, for example, a hardware processor 101, a bus 102, a ROM (Read Only Memory) 103, a RAM (Random Access Memory) 104, a non-volatile memory 105, a first interface 106, and a second interface 107.
- a hardware processor 101 for example, a hardware processor 101, a bus 102, a ROM (Read Only Memory) 103, a RAM (Random Access Memory) 104, a non-volatile memory 105, a first interface 106, and a second interface 107.
- ROM Read Only Memory
- RAM Random Access Memory
- the hardware processor 101 is a processor that controls the entire program editing device 1 in accordance with a system program.
- the hardware processor 101 reads out the system program stored in the ROM 103 via the bus 102.
- the hardware processor 101 is, for example, a CPU (Central Processing Unit) or an electronic circuit.
- the bus 102 is a communication path that connects each piece of hardware in the program editing device 1 to each other. Each piece of hardware in the program editing device 1 exchanges data via the bus 102.
- ROM 103 is a storage device that stores system programs and the like. ROM 103 is a computer-readable storage medium.
- RAM 104 is a storage device that temporarily stores various data. RAM 104 functions as a working area for the hardware processor 101 to process various data.
- the non-volatile memory 105 is a storage device that retains data even when the power to the program editing device 1 is turned off.
- the non-volatile memory 105 stores, for example, the machining program to be edited.
- the non-volatile memory 105 is a computer-readable storage medium.
- the non-volatile memory 105 is, for example, a battery-backed memory or an SSD (Solid State Drive).
- the first interface 106 is an interface for connecting the bus 102 and the input/output device 2.
- the first interface 106 sends, for example, various data processed by the hardware processor 101 to the input/output device 2.
- the input/output device 2 receives various data via the first interface 106 and displays the various data on a display.
- the input/output device 2 also receives input operations of various data and sends the various data to, for example, the hardware processor 101 via the first interface 106.
- the input/output device 2 includes, for example, a display, a keyboard, and a mouse.
- the second interface 107 is an interface for connecting the program editing device 1 and the numerical control device 3.
- the program editing device 1 is connected to the numerical control device 3 using the second interface 107.
- the numerical control device 3 is a device that controls the processing machine.
- the numerical control device 3 controls the operation of the control axis and the rotation of the main spindle of the processing machine based on the processing program. In this way, the processing machine processes the workpiece.
- FIG. 2 is a block diagram showing an example of the functions of the program editing device 1.
- the program editing device 1 includes, for example, a program analysis unit 111, a unit assignment unit 112, and an output unit 113.
- the program analysis unit 111, the unit assignment unit 112, and the output unit 113 are realized, for example, by the hardware processor 101 performing arithmetic processing using the system program stored in the ROM 103 and various data stored in the non-volatile memory 105.
- the program analysis unit 111 acquires the machining program.
- the program analysis unit 111 acquires the machining program stored in a storage unit (not shown).
- the program analysis unit 111 may acquire the machining program from the numerical control device 3.
- the machining program includes G-code.
- G-code is a command that determines the functional mode of at least one of the machining machine and the numerical control device 3.
- G-code is composed of the letter "G" followed by a number.
- FIG. 3 is an example of a machining program acquired by the program analysis unit 111.
- the first block of the machining program contains "O1001.”
- "O” is a code that specifies the program number. In other words, "O1001" indicates that the machining program number is "1001.”
- G00 Xxx Yyy is specified in the block with sequence number "N10.”
- G00 is the G code that specifies the positioning of the control axis.
- Xxx Yyy is the argument for the G code "G00.”
- the argument is a combination of an address specified in English letters and numbers following the address, used in combination with the G code. "xx" and “yy” can be any number.
- G00 is a modal command.
- a modal command is a command that is valid until another modal command belonging to a group is specified. Examples of modal commands that belong to a group are “G00", “G01”, “G02”, and “G03". In other words, if "G00" is specified in a block, “G00” is valid until “G01”, “G02”, and “G03" are specified in other blocks following that block.
- X15.0 is an argument that specifies the position of the X-axis.
- X15.0 is used with a G code such as "G00”
- X15.0 is an argument that specifies the movement of the controlled axis.
- A45.0 is an argument that specifies the angle of the rotation axis.
- A45.0 is used with a G code such as "G00”
- A45.0 is an argument that specifies the movement of the control axis.
- the block with sequence number "N20” specifies that the X-axis is to be positioned at "15.0” and the rotation axis angle is to be positioned at "45.0” using rapid traverse.
- a block is a collection of codes specified in one line of a machining program.
- G74 is a G code that specifies a canned cycle for drilling.
- a canned cycle is a command that specifies a series of predetermined control axis operations in a single G code to perform drilling, boring, tapping, or a combination of these.
- X300.0 is an argument that specifies the positioning position on the X-axis.
- Z-150.0 is an argument that specifies the position of the bottom of the hole.
- R-120.0 is an argument that specifies the approach position halfway into the hole.
- P1000 is an argument that specifies the stopping time of the tool movement at the bottom of the hole.
- F120.0 is an argument that specifies the feed speed of the tool.
- the block with sequence number "N30” specifies a canned cycle in which the tool is moved at rapid traverse to the positioning position of "X300.0", then the tool is moved at rapid traverse to the position of "Z-120.0", then the tool is moved to the position of "Z-150.0" at a feed rate of "120.0" [mm/min], the tool movement is stopped at the position of "Z-150.0" for "1.0” [sec], and then the tool is moved again to the approach position at a feed rate of "120.0" [mm/min].
- the program analysis unit 111 analyzes the meaning of each code included in the acquired machining program.
- the program analysis unit 111 also analyzes the machining program to create analysis information related to the G codes and arguments of the G codes included in the machining program.
- the program analysis unit 111 also analyzes the machining program to generate information indicating whether or not each argument included in the machining program is an argument that specifies the movement of a control axis.
- the unit assignment unit 112 acquires analysis information regarding the G code and arguments of the G code of the machining program created by the program analysis unit 111.
- FIG. 4 is an example of analysis information acquired by the unit assignment unit 112.
- the analysis information shown in FIG. 4 is analysis information generated based on the processing program shown in FIG. 3.
- the unit assignment unit 112 acquires the analysis information "G00 X_Y_” for the block with sequence number "N10".
- the unit assignment unit 112 acquires the analysis information "G00 X_A_” for the block with sequence number "N20”.
- the unit assignment unit 112 also acquires the analysis information "G74 X_ Y_ Z_ R_ P_ F_” for the block with sequence number "N30".
- the unit assignment unit 112 assigns units to the machining program based on the G code and arguments of the G code included in the machining program. Specifically, the unit assignment unit 112 acquires unit correspondence information based on the G code included in the machining program. The unit assignment unit 112 acquires unit correspondence information stored in a storage unit (not shown), for example. The unit assignment unit 112 determines the units to assign to the machining program based on the acquired unit correspondence information.
- the unit correspondence information is information that indicates the units of arguments of the G code.
- the unit correspondence information includes first unit correspondence information defined in a first format.
- the first format is, for example, a text format.
- FIG. 5 is an example of the first unit correspondence information defined in the first format.
- the unit correspondence information shown in FIG. 5 is unit correspondence information indicating the units of the arguments of the G code "G74".
- the unit correspondence information includes the G code "G74" and the arguments "X_", “Y_”, “Z_”, “R_”, “P_”, “F_”, and “K_” used with the G code.
- the unit correspondence information also includes "[msec]” indicating the unit of "P” and “[times]” indicating the unit of "K”.
- the unit correspondence information also includes text information "R is the same unit as the linear axis” indicating that the unit of "R” is the same as the unit of the linear axis.
- the unit assignment unit 112 acquires the analysis information "G74 X_Y_Z_R_P_F_" regarding the G code and the arguments, the unit assignment unit 112 acquires unit correspondence information including "G74.” In other words, the unit assignment unit 112 acquires the unit correspondence information shown in FIG. 5.
- the unit assignment unit 112 assigns the predetermined unit to the argument.
- the unit "[msec]" to be assigned to the argument "P" is predetermined. Therefore, the unit assignment unit 112 decides to assign the unit "[msec]" to the argument "P".
- the unit assignment unit 112 decides to assign the unit "[times]” to the argument "K".
- the argument "K” is an argument that can be omitted in the machining program. If the argument "K” is omitted in the machining program and "K" is not included in the analysis information acquired by the unit assignment unit 112 (see FIG. 4), the unit assignment unit 112 decides not to assign the unit "[times]” included in the unit correspondence information to the machining program.
- the unit assignment unit 112 decides to assign a unit to the argument based on the setting information set in the control device that controls the processing machine.
- the setting information may be stored in the control device that controls the processing machine, or in an external storage device connected to the control device via a network line.
- the control device is, for example, the numerical control device 3.
- the unit assignment unit 112 acquires the setting information stored in the control device or the external storage device.
- the setting information includes, for example, machine information indicating the configuration of the processing machine, and parameter setting information indicating the information to be set in the parameters.
- Machine information is, for example, information indicating the type of control axis that a processing machine has.
- the control axes include linear axes and rotational axes.
- the linear axes include, for example, the X-axis, Y-axis, and Z-axis.
- the rotational axes include, for example, the A-axis and C-axis.
- machine information is information indicating what type of control axes a processing machine has.
- the parameter setting information is, for example, information that is initially set in the control device.
- the parameter setting information includes, for example, information indicating the unit of the argument that specifies the movement of the rotation axis.
- the unit of the argument that specifies the movement of the rotation axis is, for example, [deg].
- the parameter setting information includes, for example, modal information that is initially set in the control device.
- the modal information that is initially set in the control device is, for example, the modal command "G21.”
- the modal command "G21" is a G code that sets the unit of the control axis to metric input.
- the modal information that is initially set in the control device is, for example, the modal command "G94.”
- the modal command "G94" is a G code that specifies the feed per minute.
- the unit assignment unit 112 determines, based on the machine information, whether the argument specifying the movement of the control axis is an argument specifying the movement of a linear axis or an argument specifying the movement of a rotational axis.
- the argument specifying the movement of the control axis is an argument specifying the movement of a linear axis or an argument specifying the movement of a rotational axis.
- the unit assignment unit 112 determines that [deg] should be assigned to the argument that specifies the movement of the rotation axis. In other words, the unit assignment unit 112 determines that [deg] should be assigned to the argument "A_".
- the unit assignment unit 112 also determines to assign [mm] to the arguments that specify the movement of the linear axis based on the modal information. In other words, the unit assignment unit 112 determines to assign [mm] to "X_", "Y_", and "Z_".
- the unit assignment unit 112 further determines to assign units to arguments that have not yet been assigned units.
- the unit assignment unit 112 determines to assign units to arguments that have not yet been assigned units, based on the unit correspondence information and units that have already been assigned.
- the unit correspondence information shown in FIG. 5 includes text information that "R is the same unit as the linear axis.” Therefore, the unit assignment unit 112 determines to assign [mm] to the argument "R", which is the same unit that has already been assigned to arguments of the linear axis such as "Z_”.
- the unit assignment unit 112 also determines, based on the units assigned to the arguments specifying the movement of the linear axis and the modal information, to assign units to arguments that have not yet been assigned units.
- the units assigned to the arguments specifying the movement of the linear axis are [mm].
- the modal information has "G94" set, which specifies the feed rate per minute. Therefore, the unit assignment unit 112 determines to assign [mm/min] to the argument "F".
- the unit assignment unit 112 assigns units to the processing program based on assignment format information that specifies the unit assignment format.
- the assignment format information is information for specifying the format in which the units decided to be assigned by the unit assignment unit 112 are to be assigned.
- the assignment format information is information for specifying whether or not the units decided to be assigned are to be assigned to the processing program.
- the assignment format information specifies that no units are assigned to arguments that specify the movement of the control axis.
- the assignment format information also specifies that units determined by the unit assignment unit 112 are assigned to arguments other than arguments that specify the movement of the control axis.
- the unit assignment unit 112 assigns units only to "P", "R", and "F".
- the assignment format information may also specify that information other than units is assigned to the processing program.
- the assignment format information may specify that information indicating the meaning of a code is assigned to the processing program. If the assignment format information specifies that information indicating the meaning of a code is assigned to the processing program, the unit assignment unit 112, for example, obtains the information indicating the meaning of the code from a storage unit and assigns the information to the processing program.
- the output unit 113 outputs the machining program to which units have been assigned by the unit assignment unit 112.
- the output unit 113 outputs the machining program to which units have been assigned, for example, to at least one of a display device, an external device, and a storage device.
- the display device is, for example, the input/output device 2.
- the external device is, for example, the numerical control device 3.
- the storage unit is, for example, the non-volatile memory 105.
- Figure 6 is an example of a machining program to which units have been assigned.
- the machining program shown in Figure 6 is a machining program to which units have been assigned to arguments other than the argument that specifies the movement of the control axis.
- FIG. 7 is a flowchart showing an example of processing executed by the program editing device 1.
- the program analysis unit 111 acquires the machining program (step S1).
- the program analysis unit 111 analyzes the machining program (step S2). Next, the program analysis unit 111 creates analysis information regarding the G-codes included in the machining program and the arguments of the G-codes (step S3).
- the unit assignment unit 112 acquires the analysis information created by the program analysis unit 111 (step S4). Next, the unit assignment unit 112 acquires the unit correspondence information (step S5).
- the unit correspondence information is defined in a second format that is different from the first format. Note that a description of the same functions and configurations as those of the program editing device 1 described above will be omitted.
- the program analysis unit 111 acquires the machining program.
- the program analysis unit 111 acquires the machining program shown in FIG. 3.
- the program analysis unit 111 analyzes the meaning of each code included in the acquired machining program.
- the program analysis unit 111 also analyzes the machining program to create analysis information related to the G codes and arguments of the G codes included in the machining program.
- the program analysis unit 111 also analyzes the machining program to generate information indicating whether or not each argument included in the machining program is an argument that specifies the movement of a control axis.
- the unit assignment unit 112 acquires analysis information of the machining program created by the program analysis unit 111.
- the unit assignment unit 112 acquires the analysis information shown in FIG. 4.
- the unit assignment unit 112 assigns units to the machining program based on the G code and arguments of the G code included in the machining program. Specifically, the unit assignment unit 112 acquires unit correspondence information based on the G code included in the machining program. The unit assignment unit 112 acquires, for example, unit correspondence information stored in a storage unit. The unit assignment unit 112 assigns units to the machining program based on the acquired unit correspondence information.
- the unit assignment unit 112 acquires second unit correspondence information defined in a second format that is different from the first format.
- the second format is, for example, a table format.
- FIG. 8 is an example of the second unit correspondence information defined in the second format.
- the unit correspondence information shown in FIG. 8 includes information indicating the units of the arguments of the G codes "G00", “G01”, “G74", “G94”, and "G95".
- the unit correspondence information includes the G code "G00” and the arguments "X", “Y”, “Z”, “A”, and “S” used with that G code.
- the unit correspondence information includes "/min”, which indicates the unit of "S”.
- the unit correspondence information includes the G code "G74" and the arguments "X", “Y”, “Z”, “A”, “F”, “R”, “P”, and “K” used with the G code.
- the unit correspondence information also includes "axis/min” and “axis/rev”, which indicate the units of "F”.
- "axis" which indicates that the units of "R” are the same as the units of the linear axis, is associated with "R”.
- the unit correspondence information also includes "msec”, which indicates the unit of "P”.
- the unit correspondence information also includes "times", which indicates the unit of "K”.
- the unit correspondence information includes the G code "G94" and the argument "F” used with that G code.
- the unit correspondence information includes "axis/min” which indicates the unit of "F”, which is the argument of that G code.
- the unit correspondence information includes the G code "G95” and the argument "F” that is used with that G code.
- "G95” is a G code that specifies the transfer rate each time.
- the unit correspondence information includes "axis/rev”, which indicates the unit of "F”, which is the argument for that G code.
- the unit assignment unit 112 acquires analysis information regarding the G code and arguments, it determines the units to assign to the arguments based on the unit correspondence information.
- the unit assignment unit 112 acquires the analysis information "G00 X_A_"
- the unit assignment unit 112 acquires the unit correspondence information of "G00”. In other words, the unit assignment unit 112 acquires the "axis” associated with the arguments "X” and “A” of "G00". The unit assignment unit 112 also determines that the "axis" should be assigned to the arguments "X" and "A”.
- the unit assignment unit 112 acquires unit correspondence information for "G74". That is, the unit assignment unit 112 acquires the "axis” associated with the arguments "X”, “Y”, “Z”, and “R” of "G74". The unit assignment unit 112 also acquires the "msec” associated with the argument "P” of "G74". The unit assignment unit 112 also acquires the "axis/min” associated with the argument "F” of "G74".
- the unit assignment unit 112 also determines to assign "axis” to the arguments "X", "Y", "Z", and "R". The unit assignment unit 112 also determines to assign "msec" to the argument "P”. The unit assignment unit 112 also determines to assign "axis/min" to the argument "F”.
- the unit assignment unit 112 classifies one or more arguments included in the acquired analysis information into arguments that specify control axis movement and arguments other than arguments that specify control axis movement.
- the unit assignment unit 112 classifies arguments based on information generated by the program analysis unit 111 indicating whether each argument is an argument that specifies control axis movement.
- the unit assignment unit 112 determines, based on the machine information, whether the argument specifying the movement of the control axis is an argument specifying the movement of a linear axis or an argument specifying the movement of a rotational axis.
- the argument specifying the movement of the control axis is an argument specifying the movement of a linear axis or an argument specifying the movement of a rotational axis.
- the unit assignment unit 112 assigns [deg] to the argument that specifies the movement of the rotation axis based on the parameter setting information. In other words, the unit assignment unit 112 assigns [deg] to the argument "A_".
- the unit assignment unit 112 also assigns [mm] to arguments that specify the movement of the linear axis based on the modal information. That is, the unit assignment unit 112 assigns [mm] to "X_", "Y_", and "Z_".
- the unit correspondence information also includes information that "R” is "the same unit as the linear axis”. Therefore, the unit assignment unit 112 assigns "mm", the same unit as the linear axis, to "R".
- the unit assignment unit 112 assigns the unit that has been decided to be assigned to the argument as is.
- the output unit 113 outputs the machining program to which units have been assigned by the unit assignment unit 112. For example, the output unit 113 outputs the machining program shown in FIG. 6.
- FIG. 10 is an example of a machining program acquired by the program analysis unit 111.
- the first line of the machining program contains "O1000.” In other words, the number of the machining program is "1000.”
- G80 is specified in the block with sequence number "N30.”
- G80 is the G code that specifies canned cycle cancellation.
- G4.1 is specified in the block with sequence number "N31.”
- G4.1 is the G code that specifies the mask buffer.
- the program analysis unit 111 analyzes the meaning of each code included in the acquired machining program.
- the program analysis unit 111 also analyzes the machining program and creates analysis information regarding the G codes and arguments of the G codes included in the machining program.
- the unit assignment unit 112 acquires the analysis information created by the program analysis unit 111.
- the unit assignment unit 112 acquires the analysis information "G80" for the block with sequence number "N30".
- the unit assignment unit 112 also acquires the analysis information "G4.1” for the block with sequence number "N31”.
- the unit assignment unit 112 obtains unit correspondence information based on the G code included in the machining program.
- FIG. 11 is an example of unit correspondence information acquired by the unit assignment unit 112.
- the unit correspondence information shown in FIG. 11 is unit correspondence information for the G codes "G80" and "G4.1.”
- the unit correspondence information includes the information "no argument” which indicates that there is no argument corresponding to "G80".
- the unit correspondence information includes the information "(cancel canned cycle)" which indicates that "G80" is a canned cycle cancel command.
- the unit correspondence information also includes information "no argument” indicating that there is no argument corresponding to "G4.1".
- the unit correspondence information also includes information "(mask buffer by G code)” indicating that "G4.1” is a mask buffer by G code.
- the unit assignment unit 112 assigns units to arguments of the G code based on the unit correspondence information. However, if there is no argument that corresponds to the G code, the unit assignment unit 112 does not assign units.
- the appended format information may specify that information indicating the meaning of the code is appended to the machining program.
- the assigned format information may, for example, specify that "cycle cancel mode” is to be assigned to "G80".
- the assigned format information may also specify that "non-buffering command by G code" is to be assigned to "G4.1".
- the unit assignment unit 112 assigns the information specified in the assigned format information to the machining program.
- Figure 12 is an example of a machining program to which information indicating the meaning of the code has been added.
- the unit assignment unit 112 assigns "(PROGRAM NUMBER)" to the code indicating the machining program number.
- the unit assignment unit 112 also assigns "(cycle cancel mode)” to "G80", indicating that "G80” is a fixed cycle cancel command.
- the unit assignment unit 112 also assigns "(non-buffering command by G code)" to "G4.1", indicating that "G4.1” is a command that specifies a mask buffer by G code.
- the output unit 113 outputs the machining program to which information indicating the meaning of the code has been added.
- FIG. 13 is an example of a machining program acquired by the program analysis unit 111. "O1002" is written in the first block of the machining program. In other words, the number of the machining program is "1002.”
- the block with sequence number "N10” has “G01 X100.0 F150.0” specified.
- the block with sequence number “N20” has “G95 X50.0 F0.15" specified.
- the block with sequence number “N30” has “G20 X30.0 F0.10” specified.
- the block with sequence number “N40” has “G94 X10.0 F100.0” specified.
- G20 is the G code that specifies inch input.
- the program analysis unit 111 analyzes the meaning of each code included in the acquired machining program.
- the program analysis unit 111 also analyzes the machining program to create analysis information related to the G codes and arguments of the G codes included in the machining program.
- the program analysis unit 111 also analyzes the machining program to generate information indicating whether or not each argument included in the machining program is an argument that specifies the movement of a control axis.
- the unit assignment unit 112 acquires analysis information regarding the G code and arguments of the G code of the machining program created by the program analysis unit 111.
- FIG. 14 is an example of analysis information related to a G code and arguments of the G code acquired by the unit assignment unit 112.
- the information shown in FIG. 14 is information generated based on the machining program shown in FIG. 13.
- the unit assignment unit 112 acquires analysis information "G01 X_ F_” for the block with sequence number "N10". The unit assignment unit 112 acquires analysis information "G95 X_ F_” for the block with sequence number "N20”. The unit assignment unit 112 also acquires analysis information "G20 X_ F_” for the block with sequence number "N30”. The unit assignment unit 112 also acquires analysis information "G94 X_ F_” for the block with sequence number "N40".
- the unit assignment unit 112 assigns units to the machining program based on the G code and arguments of the G code included in the machining program. Specifically, the unit assignment unit 112 acquires unit correspondence information based on the G code included in the machining program. The unit assignment unit 112 assigns units to the machining program based on the acquired unit correspondence information.
- FIG. 15 is an example of the first unit correspondence information defined in the first format.
- the unit correspondence information shown in FIG. 15 is unit correspondence information that indicates the units of the arguments of the G codes "G01", “G95", “G20”, and "G94".
- the unit correspondence information includes the G code "G01” and the arguments "X_", "Y_", "Z_", and "F_” used with that G code.
- the unit correspondence information includes the G code "G95” and the argument "F_” used with that G code.
- the unit assigned to the argument "F_” is predefined as "axis/rev”.
- the unit correspondence information includes the G code "G20" and the arguments "X_", "Y_", and "Z_” used with that G code.
- the unit assigned to the arguments "X_”, "Y_", and "Z_” is predefined as "[inch]”.
- the unit correspondence information includes the G code "G94" and the argument "F_" used with that G code.
- the unit assigned to the argument "F_” is predefined as "[axis/min]”.
- the unit assignment unit 112 obtains the analysis information "G01 X_ F_"
- the unit assignment unit 112 obtains unit correspondence information including "G01”.
- the unit assignment unit 112 acquires the analysis information "G95 X_ F_"
- the unit assignment unit 112 acquires unit correspondence information including "G95".
- the unit correspondence information it is predetermined that the argument "F" of "G95” is assigned the unit "axis/rev”. Therefore, the unit assignment unit 112 assigns the unit "axis/rev” to the argument "F" of the G code "G95".
- the unit assignment unit 112 acquires the analysis information "G20 X_ F_"
- the unit assignment unit 112 acquires unit correspondence information including "G20”.
- the unit assignment unit 112 acquires the analysis information "G94 X_ F_"
- the unit assignment unit 112 acquires unit correspondence information including "G94".
- the unit correspondence information it is predetermined that the argument "F" of "G94” is assigned the unit "axis/min”. Therefore, the unit assignment unit 112 assigns the unit "axis/min” to the argument "F" of the G code "G94".
- the unit assignment unit 112 also classifies one or more arguments included in the acquired analysis information into arguments that specify control axis movement and arguments other than arguments that specify control axis movement.
- the unit assignment unit 112 classifies arguments based on information generated by the program analysis unit 111 indicating whether each argument is an argument that specifies control axis movement.
- the unit assignment unit 112 determines, based on the machine information, whether the argument specifying the movement of the control axis is an argument specifying the movement of a linear axis, or an argument specifying the movement of a rotational axis. Note that "X_" is an argument specifying the movement of a linear axis. Therefore, the unit assignment unit 112 classifies "X_" as an argument specifying the movement of a linear axis.
- the unit assignment unit 112 determines to assign units to the arguments that specify the movement of the linear axis based on the modal information. "G21" is set as modal information in the control device. Therefore, the unit “[mm]” is assigned to "X” in sequence numbers "N10" and "N20".
- sequence number "N30” has “G20” specified as the modal command. Therefore, the "X" in sequence numbers "N30” and “N40” is assigned the unit "[inch]”.
- the unit assignment unit 112 further determines the units of arguments whose units have not yet been determined.
- the unit assignment unit 112 determines the units of arguments whose units have not yet been determined based on at least one of the machine information and the parameter setting information.
- the control device is initially set to "G94" as modal information, which specifies feed per minute. As described above, the control device is initially set to "G21" as modal information, which specifies metric input. Therefore, the unit assignment unit 112 decides to assign "mm/min” to "F” in sequence number "N10". The unit assignment unit 112 also decides to assign "mm/rev” to "F” in sequence number "N20".
- Figure 16 is an example of a machining program with units assigned.
- the "X" in the block with sequence number “N10" has been assigned the unit “[mm]”. Additionally, the "F” has been assigned the unit "[mm/min]”.
- the "X” in the block with sequence number "N20" has the unit "mm”. Additionally, the "F” has the unit "mm/rev”.
- the "X” in the block with sequence number "N30" has the unit "[inch]”. Additionally, the "F” has the unit "[inch/rev]”.
- the "X" in the block with sequence number "N40" has the unit "[inch]”. Additionally, the "F” has the unit "[inch/min]”.
- FIG. 17 is an example of a machining program acquired by the program analysis unit 111. "O1003" is written in the first block of the machining program. In other words, the number of the machining program is "1003.”
- the block with sequence number "N20” has "G02 X60.0 Y55.0 R50.0 F300.0" specified.
- G02 is the G code that specifies circular interpolation.
- X60.0 Y55.0 R50.0 F300.0 is the argument for the G code "G02."
- X60.0 is an argument that specifies the X-axis position.
- Y55.0 is an argument that specifies the Y-axis position.
- R50.0 is an argument that specifies the radius of the arc.
- F300.0 is an argument that specifies the feed speed of the tool.
- the block with sequence number "N20” specifies that the tool is to move to the "60.0" position on the X-axis and to the "55.0" position on the Y-axis at a feed speed of "300.0", drawing an arc of radius "50.0".
- the block with sequence number "N30” has "G68 X0 Y0 R55.0” specified.
- G68 is a G code that specifies three-dimensional coordinate transformation.
- X0 Y0 R55.0 is the argument for the G code "G68.”
- X0 Y0 is an argument that specifies the center position of the coordinate system to be rotated.
- R55.0 is an argument that specifies the rotation angle of the coordinate system.
- the block with sequence number "N30" specifies that the coordinate system is to be rotated 55° around "X0 Y0".
- G04 X4.0 is specified in the block with sequence number "N40.”
- G04 is the G code that specifies the dwell.
- X4.0 is the argument for the G code "G04.”
- X4.0 is an argument that specifies the dwell time.
- the block with sequence number "N40” specifies that the program should stop running for 4.0 [sec].
- the program analysis unit 111 analyzes the meaning of each code included in the acquired machining program.
- the program analysis unit 111 also analyzes the machining program to create analysis information related to the G codes and arguments of the G codes included in the machining program.
- the program analysis unit 111 also analyzes the machining program to generate information indicating whether or not each argument included in the machining program is an argument that specifies the movement of a control axis.
- the credit assignment unit 112 acquires the analysis information created by the program analysis unit 111.
- FIG. 18 is an example of analysis information acquired by the unit assignment unit 112.
- the analysis information shown in FIG. 18 is information generated based on the machining program shown in FIG. 17.
- the unit assignment unit 112 acquires the analysis information "G02 X_ Y_ R_ F_" for the block with sequence number "N20".
- the unit assignment unit 112 acquires the analysis information "G68 X_ Y_ R_” for the block with sequence number "N30”.
- the unit assignment unit 112 also acquires the analysis information "G04 X_” for the block with sequence number "N40".
- the unit assignment unit 112 assigns units to the machining program based on the G code and arguments of the G code included in the machining program. Specifically, the unit assignment unit 112 acquires unit correspondence information based on the G code included in the machining program. The unit assignment unit 112 assigns units to the machining program based on the acquired unit correspondence information.
- FIG. 19 is an example of the first unit correspondence information defined in the first format.
- the unit correspondence information shown in FIG. 19 is unit correspondence information that indicates the units of the arguments of the G codes "G02", “G68", and "G04".
- the unit correspondence information includes the G code "G02” and the arguments "X_", “Y_”, “Z_”, “R_”, and “F_” used with the G code.
- the unit correspondence information includes the G code "G68” and the arguments "X_", "Y_”, “Z_”, and "R_” used with the G code.
- the unit assigned to the argument "R_” is predefined as "deg”.
- the unit correspondence information also includes the G code "G04" and the arguments "X_" or "P_” used with the G code.
- the unit assignment unit 112 obtains the analysis information "G02 X_ Y_ R_ F_"
- the unit assignment unit 112 obtains unit correspondence information including "G02".
- the unit assignment unit 112 acquires the analysis information "G68 X_ Y_ R_"
- the unit assignment unit 112 acquires unit correspondence information including "G68".
- the unit correspondence information it is predetermined that the argument "R” of "G68” is assigned the unit "[deg]”. Therefore, the unit assignment unit 112 assigns the unit "[deg]” to the argument "R" of the G code "G68".
- the unit assignment unit 112 obtains the analysis information "G04 X_" regarding the G code and arguments, the unit assignment unit 112 obtains unit correspondence information including "G04".
- the unit assignment unit 112 also classifies one or more arguments included in the acquired analysis information into arguments that specify control axis movement and arguments other than arguments that specify control axis movement.
- the unit assignment unit 112 classifies arguments based on information generated by the program analysis unit 111 indicating whether each argument is an argument that specifies control axis movement.
- the unit assignment unit 112 determines, based on the machine information, whether the argument specifying the movement of the control axis is an argument specifying the movement of a linear axis, or an argument specifying the movement of a rotational axis. Note that "X_ Y_" is an argument specifying the movement of a linear axis. Therefore, the unit assignment unit 112 classifies "X_ Y_" as an argument specifying the movement of a linear axis.
- the unit assignment unit 112 determines to assign units to the arguments that specify the movement of the linear axis based on the modal information.
- "G21” is set as modal information in the control device. Therefore, the unit “[mm]” is assigned to "X” and "Y” of sequence numbers "N20" and "N30".
- the unit assignment unit 112 further determines to assign units to arguments to which units have not yet been assigned.
- the unit assignment unit 112 determines to assign units to arguments to which units have not yet been assigned, based on the unit correspondence information and units that have already been assigned.
- the control device is initially set to "G94" as modal information, which specifies feed per minute. As described above, the control device is initially set to "G21" as modal information, which specifies metric input. Therefore, the unit assignment unit 112 decides to assign "mm/min” to "F” in sequence number "N20". The unit assignment unit 112 also decides to assign "mm” to "R” in sequence number "N20".
- control device has the unit of argument "X" that specifies the dwell time initially set to "[sec]” as parameter setting information. Therefore, the unit assignment unit 112 decides to assign "sec" to "X" in sequence number "N40".
- the unit assignment unit 112 assigns unit information to the processing program based on the assignment format information.
- the assignment format information specifies, for example, that information indicating the meaning of a code is assigned to the processing program.
- Figure 20 is an example of the assigned format information.
- the assigned format information includes "(PROGRAM NUMBER)" associated with the code "O”.
- the assigned format information also includes information "(circular interpolation)” indicating the meaning of the code associated with the G code "GO2”.
- the assigned format information also includes information "(3-dimensional coordinate system conversion)” indicating the meaning of the code associated with the G code "G68”.
- the assigned format information also includes information "(dwell)” indicating the meaning of the code associated with the G code "G04".
- the unit assignment unit 112 assigns information indicating the meaning of the code to the machining program based on the assigned format information.
- the output unit 113 outputs the processing program to which information indicating the meaning of the units and codes has been added by the unit assignment unit 112.
- Figure 21 is an example of a machining program that has been given information indicating the meaning of units and codes.
- the program number is given the unit information "(PROGRAM NUMBER)".
- the units "X”, "Y", and “R” in the block with sequence number "N20" are assigned the unit “mm”. Additionally, the unit “mm/min” is assigned to "F”. Furthermore, the block with sequence number "N20" is assigned the information "(circular interpolation)" that indicates the meaning of the code.
- the "X” and "Y” of the block with sequence number "N30" are assigned the unit "mm”. Additionally, the "R” is assigned the unit "deg”. Furthermore, the block with sequence number "N30" is assigned the information "(3-dimensional coordinate system conversion)" which indicates the meaning of the code.
- the "X” in the block with sequence number "N40” is assigned the unit "[sec]”.
- the block with sequence number "N40” is assigned the information "(dwell)" that indicates the meaning of the code.
- the program editing device 1 includes a unit assignment unit 112 that assigns units to a machining program based on the G code and arguments of the G code contained in the machining program used for machining in the machining machine, and an output unit 113 that outputs the machining program to which units have been assigned by the unit assignment unit 112. Therefore, the program editing device 1 can allow the operator to easily recognize the units used in the created machining program.
- the unit assignment unit 112 further assigns units to the machining program based on at least one of unit correspondence information indicating the units of arguments in the G code and setting information set in the control device that controls the machining machine. If the units to be assigned to the arguments are predetermined in the unit correspondence information, the unit assignment unit 112 assigns the predetermined units to the arguments, and if the units to be assigned to the arguments are not predetermined in the unit correspondence information, the unit assignment unit 112 assigns units to the arguments based on the setting information. Therefore, the program editing device 1 can assign correct units to the machining program even when different units are assigned to arguments depending on the setting information.
- the setting information is stored in a control device that controls the processing machine, or in an external storage device that is connected to the control device via a network line. Therefore, the program editing device 1 does not need to store the setting information. As a result, the storage capacity of the program editing device 1 can be reduced.
- the unit correspondence information also includes first unit correspondence information defined in a first format, or second unit correspondence information defined in a second format different from the first format.
- the unit assignment unit 112 also assigns units to arguments. That is, the program editing device 1 can assign units to arguments by using unit correspondence information defined in various formats.
- the output unit 113 also outputs the machining program to which units have been assigned to at least one of a display device, an external device, and a storage device. Therefore, the program editing device 1 allows an operator to use the machining program to which units have been assigned in various devices.
- the program editing device 1 further includes a control unit that controls the processing machine.
- the program editing device 1 may be implemented in a numerical control device 3 that controls the processing machine.
- a program editing device comprising: a unit assignment unit that assigns units to a machining program used for machining in a machining machine based on a G code contained in the machining program and an argument of the G code; and an output unit that outputs the machining program to which the units have been assigned by the unit assignment unit.
- the unit assignment unit further determines the units to be assigned to the machining program based on at least one of unit correspondence information indicating the units of the arguments of the G code and setting information set in a control device that controls the machining machine.
- Appendix [3] The program editing device described in Appendix [2], wherein, when the unit to be assigned to the argument is predetermined in the unit correspondence information, the unit assignment unit decides to assign the predetermined unit to the argument, and when the unit to be assigned to the argument is not predetermined in the unit correspondence information, the unit assignment unit decides to assign the unit to the argument based on the setting information.
- Appendix [4] The program editing device according to appendix [2] or [3], wherein the setting information is stored in a control device that controls the processing machine, or in an external storage device connected to the control device via a network line.
- Appendix [5] A program editing device described in any of Appendices [2] to [4], wherein the unit correspondence information includes first unit correspondence information defined in a first format, or second unit correspondence information defined in a second format different from the first format.
- Appendix [6] The program editing device according to any one of appendices [1] to [3], wherein the unit assignment unit assigns the unit to the argument.
- Appendix [7] The program editing device according to any one of appendices [1] to [4], wherein the output unit outputs the machining program to which the units have been assigned to at least one of a display device, an external device, and a storage device.
- Appendix [8] The program editing device according to any one of appendices [1] to [7], further comprising a control unit for controlling the processing machine.
- Appendix [9] The program editing device according to any one of appendices [1] to [8], wherein the unit assignment unit assigns the unit to the machining program based on assignment format information that specifies an assignment format of the unit.
- Appendix [10] A program editing method including: assigning units to a machining program used for machining in a machining machine based on a G code included in the machining program and an argument of the G code; and outputting the machining program with the units assigned.
- Appendix [11] A computer-readable storage medium that stores instructions that cause a computer to execute the following steps: assigning units to a machining program used for machining in a machining machine based on a G code contained in the machining program and arguments of the G code, and outputting the machining program with the units assigned.
- Program editing device 101 Hardware processor 102 Bus 103 ROM 104 RAM 105 Non-volatile memory 106 First interface 107 Second interface 111 Program analysis unit 112 Unit assignment unit 113 Output unit 2 Input/output device 3 Numerical control device
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
プログラム編集装置が、加工機において加工に利用される加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与する単位付与部と、単位付与部によって単位が付与された加工プログラムを出力する出力部と、を備える。
Description
本開示は、プログラム編集装置、プログラム編集方法、およびコンピュータ読み取り可能な記憶媒体に関する。
従来、対話型のプログラム作成装置を用いて加工プログラムが作成されている(例えば、特許文献1)。このようなプログラム作成装置では、加工プログラムで指定されるコードの引数の単位がオペレータによって指定される。
しかし、プログラム作成装置によって作成された加工プログラムにはコードの引数の単位が表示されない。そのため、加工プログラムに用いられる単位に誤りがあった場合に、オペレータは、その誤りに気付くことなく、加工プログラムが実行されてしまうおそれがある。この場合、加工不良などが発生してしまう。したがって、作成された加工プログラムで使用される単位をオペレータが容易に確認することが可能な技術が求められている。
本開示のプログラム編集装置は、加工機において加工に利用される加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与する単位付与部と、単位付与部によって単位が付与された加工プログラムを出力する出力部と、を備える。
本開示のプログラム編集方法は、加工機において加工に利用される加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与することと、単位が付与された加工プログラムを出力することと、を含む。
本開示のコンピュータ読み取り可能な記憶媒体は、加工機において加工に利用される加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与することと、単位が付与された加工プログラムを出力することと、をコンピュータに実行させる命令を記憶する。
以下、本開示の実施形態に係るプログラム編集装置、プログラム編集方法およびコンピュータ読み取り可能な記憶媒体について図面を参照して説明する。なお、以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は、省略する場合がある。
本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
本開示のプログラム編集装置は、加工プログラムを編集するための装置である。プログラム編集装置は、加工プログラムに単位を付与して単位が付与された加工プログラムを出力する。なお、本開示のプログラム編集装置が編集する加工プログラムは、すでに実行可能な形式の加工プログラムであるが、作成途中の加工プログラムに単位を付与する対話型のプログラム作成装置などにも適用可能である。
加工プログラムは、加工機において加工に用いられるプログラムである。加工機は、例えば、工作機械、放電加工機、および三次元プリンタである。工作機械は、例えば、マシニングセンタ、旋盤、および複合加工機である。
プログラム編集装置は、例えば、PC(Personal Computer)、サーバ、またはタブレット端末に実装される。プログラム編集装置は、数値制御装置に実装されてもよい。プログラム編集装置が、数値制御装置に実装される場合、プログラム編集装置は、加工機を制御する制御部を備えていてもよい。
図1は、プログラム編集装置のハードウェア構成の一例を示すブロック図である。プログラム編集装置1は、例えば、ハードウェアプロセッサ101と、バス102と、ROM(Read Only Memory)103と、RAM(Random Access Memory)104と、不揮発性メモリ105と、第1のインタフェース106と、第2のインタフェース107とを備える。
ハードウェアプロセッサ101は、システムプログラムに従ってプログラム編集装置1全体を制御するプロセッサである。ハードウェアプロセッサ101は、バス102を介してROM103に格納されたシステムプログラムなどを読み出す。ハードウェアプロセッサ101は、例えば、CPU(Central Processing Unit)、または電子回路である。
バス102は、プログラム編集装置1の各ハードウェアを互いに接続する通信路である。プログラム編集装置1の各ハードウェアはバス102を介してデータをやり取りする。
ROM103は、システムプログラムなどを記憶する記憶装置である。ROM103は、コンピュータ読み取り可能な記憶媒体である。
RAM104は、各種データを一時的に格納する記憶装置である。RAM104は、ハードウェアプロセッサ101が各種データを処理するための作業領域として機能する。
不揮発性メモリ105は、プログラム編集装置1の電源が切られた状態でもデータを保持する記憶装置である。不揮発性メモリ105は、例えば、編集される加工プログラムを記憶する。不揮発性メモリ105は、コンピュータ読み取り可能な記憶媒体である。不揮発性メモリ105は、例えば、バッテリでバックアップされたメモリ、または、SSD(Solid State Drive)で構成される。
第1のインタフェース106は、バス102と入出力装置2とを接続するためのインタフェースである。第1のインタフェース106は、例えば、ハードウェアプロセッサ101によって処理された各種データを入出力装置2に送る。
入出力装置2は、第1のインタフェース106を介して各種データを受け、各種データをディスプレイに表示する。また、入出力装置2は、各種データの入力操作を受けて、各種データを第1のインタフェース106を介して、例えば、ハードウェアプロセッサ101に送る。入出力装置2は、例えば、ディスプレイ、キーボード、およびマウスを含む。
第2のインタフェース107は、プログラム編集装置1と数値制御装置3とを接続するためのインタフェースである。プログラム編集装置1は、第2のインタフェース107を用いて、数値制御装置3に接続される。
数値制御装置3は、加工機を制御する装置である。数値制御装置3は、加工プログラムに基づいて、加工機の制御軸の動作および主軸の回転を制御する。これにより、加工機はワークの加工を行う。
図2は、プログラム編集装置1の機能の一例を示すブロック図である。プログラム編集装置1は、例えば、プログラム解析部111、単位付与部112、および出力部113を備える。プログラム解析部111、単位付与部112、および出力部113は、例えば、ハードウェアプロセッサ101が、ROM103に記憶されたシステムプログラム、および不揮発性メモリ105に記憶された各種データを用いて演算処理をすることにより実現される。
プログラム解析部111は、加工プログラムを取得する。プログラム解析部111は、例えば、記憶部(不図示)に記憶された加工プログラムを取得する。プログラム解析部111は、数値制御装置3から加工プログラムを取得してもよい。
加工プログラムは、Gコードを含む。Gコードは、加工機および数値制御装置3の少なくともいずれかの機能モードを決める指令である。Gコードは、「G」とこれに続く数字から構成される。
図3は、プログラム解析部111によって取得される加工プログラムの一例である。加工プログラムの1ブロック目には、「O1001」が記載されている。「O」は、プログラムの番号を指定するコードである。つまり、「O1001」は、当該加工プログラムの番号が「1001」であることを示している。
シーケンス番号「N10」のブロックには、「G00 Xxx Yyy」が指定されている。「G00」は制御軸の位置決めを指定するGコードである。「Xxx Yyy」は、Gコード「G00」の引数である。引数は、Gコードとセットで用いられる、英文字で指定されるアドレスと当該アドレスに続く数字との組み合わせから構成される。「xx」および「yy」は、任意の数字である。
「G00」はモーダル指令である。モーダル指令とは、1つのグループに属する他のモーダル指令が指定されるまで有効な指令である。1つのグループに属するモーダル指令は、例えば、「G00」、「G01」、「G02」、および「G03」である。すなわち、「G00」があるブロックで指定された場合、「G01」、「G02」、および「G03」が当該あるブロックに続く他のブロックで指定されるまで「G00」は、有効である。
シーケンス番号「N20」のブロックには、「X15.0 A45.0」が指定されている。シーケンス番号「N20」のブロックでは「G00」が指定されていない。しかし、シーケンス番号「N10」のブロックで「G00」が指定されている。したがって、シーケンス番号「N20」のブロックでは「G00」が有効である。つまり、「X15.0 A45.0」は、Gコード「G00」の引数である。
「X15.0」は、X軸の位置を指定する引数である。「X15.0」が「G00」などのGコードとともに用いられた場合、「X15.0」は制御軸の移動を指定する引数である。
「A45.0」は、回転軸の角度を指定する引数である。「A45.0」が「G00」などのGコードとともに用いられた場合、「A45.0」は制御軸の移動を指定する引数である。
つまり、シーケンス番号「N20」のブロックでは、X軸を「15.0」の位置に、回転軸の角度を「45.0」に早送りで位置決めさせることが指定されている。なお、ブロックとは、加工プログラムの1つの行で指定されるコードの集まりである。
シーケンス番号「N30」のブロックでは、「G74 X300.0 Z-150.0 R-120.0 P1000 F120.0」が指定されている。「X300.0 Z-150.0 R-120.0 P1000 F120.0」は、Gコード「G74」の引数である。
「G74」は、穴あけ固定サイクルを指定するGコードである。固定サイクルとは、穴あけ、中ぐり、タップ立て、またはこれらの組合せなどを行うために、あらかじめ定められた一連の制御軸の動作を1つのGコードで指定する指令である。
「X300.0」は、X軸の位置決め位置を指定する引数である。「Z-150.0」は穴底の位置を指定する引数である。「R-120.0」は、穴の途中のアプローチ位置を指定する引数である。「P1000」は、穴底において工具の移動の停止時間を指定する引数である。「F120.0」は、工具の送り速度を指定する引数である。
つまり、シーケンス番号「N30」のブロックでは、工具を「X300.0」の位置決め位置まで早送りで移動させ、次に、工具を「Z-120.0」の位置まで早送りで移動させ、次に、工具を「Z-150.0」の位置まで送り速度「120.0」[mm/min]で移動させ、次に、工具の移動を「Z-150.0」の位置で「1.0」[sec]だけ停止させ、次に、工具を再び、アプローチ位置まで送り速度「120.0」[mm/min]で移動させる固定サイクルが指定されている。
プログラム解析部111は、取得した加工プログラムに含まれる各コードの意味を解析する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれるGコード、およびGコードの引数に関する解析情報を作成する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれる各引数が制御軸の移動を指定する引数であるか否かを示す情報を生成する。
単位付与部112は、プログラム解析部111によって作成された加工プログラムのGコードおよびGコードの引数に関する解析情報を取得する。
図4は、単位付与部112によって取得される解析情報の一例である。図4に示す解析情報は、図3に示す加工プログラムに基づいて生成された解析情報である。
プログラム解析部111によって図3に示す加工プログラムが解析された場合、単位付与部112は、シーケンス番号「N10」のブロックについて、解析情報「G00 X_Y_」を取得する。単位付与部112は、シーケンス番号「N20」のブロックについて、解析情報「G00 X_A_」を取得する。また、単位付与部112は、シーケンス番号「N30」のブロックについて、解析情報「G74 X_ Y_ Z_ R_ P_ F_」を取得する。
図3に示す加工プログラムのシーケンス番号「N20」のブロックには「G00」が指定されていないが、上述したとおり、「G00」はモーダル指令である。そのため、「G00」は、シーケンス番号「N20」のブロックにおいて有効である。したがって、単位付与部112はシーケンス番号「N20」のブロックにおいて解析情報を示すGコード「G00」を取得する。
また、図3に示す加工プログラムのシーケンス番号「N30」のブロックではY軸の位置は指定されていないが、シーケンス番号「N10」のブロックにおいて「Yyy」が指定されている。そのため、シーケンス番号「N30」のブロックにおいて、単位付与部112が取得する引数には、「Yyy」が含まれる。
単位付与部112は、加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与する。具体的には、単位付与部112は、加工プログラムに含まれるGコードに基づいて、単位対応情報を取得する。単位付与部112は、例えば、記憶部(不図示)に記憶された単位対応情報を取得する。単位付与部112は取得した単位対応情報に基づいて、加工プログラムに付与する単位を決定する。
単位対応情報は、Gコードの引数の単位を示す情報である。単位対応情報は、第1の形式で定義された第1の単位対応情報を含む。第1の形式は、例えば、テキスト形式である。
図5は、第1の形式で定義された第1の単位対応情報の一例である。図5に示す単位対応情報は、Gコード「G74」の引数の単位を示す単位対応情報である。単位対応情報は、Gコード「G74」と当該Gコードとともに用いられる引数「X_」、「Y_」、「Z_」、「R_」、「P_」、「F_」、および「K_」とを含む。また、単位対応情報は、「P」の単位を示す「[msec]」と、「K」の単位を示す「[times]」とを含む。また、単位対応情報は、「R」の単位が直線軸の単位と同じであることを示すテキスト情報「Rは直線軸と同じ単位」を含む。
単位付与部112がGコードおよび引数に関する解析情報「G74 X_Y_Z_R_P_F_」を取得すると、単位付与部112は、「G74」を含む単位対応情報を取得する。すなわち、単位付与部112は、図5に示す単位対応情報を取得する。
単位対応情報において、引数に付与される単位があらかじめ定められている場合、単位付与部112は、あらかじめ定められた単位を引数に付与する。図5に示す単位対応情報では、引数「P」に付与される単位「[msec]」があらかじめ定められている。そのため、単位付与部112は、引数「P」に単位「[msec]」を付与することを決定する。
また、図5に示す単位対応情報では、引数「K」に付与される単位「[times]」があらかじめ定められている。そのため、単位付与部112は、引数「K」に単位「[times]」を付与することを決定する。ただし、引数「K」は加工プログラムにおいて省略可能な引数である。加工プログラムにおいて引数「K」が省略されており、単位付与部112によって取得される解析情報に「K」が含まれていない場合(図4参照)、単位付与部112は、単位対応情報に含まれる単位「[times]」を加工プログラムに付与しないことを決定する。
単位対応情報において、引数に付与される単位があらかじめ定められていない場合、単位付与部112は、加工機を制御する制御装置に設定される設定情報に基づいて引数に単位を付与することを決定する。設定情報は、加工機を制御する制御装置、または制御装置とネットワーク回線を介して接続された外部記憶装置に記憶されていてよい。制御装置は、例えば、数値制御装置3である。単位付与部112は、制御装置、または外部記憶装置に記憶された設定情報を取得する。
設定情報は、例えば、加工機の構成を示す機械情報、およびパラメータに設定される情報を示すパラメータ設定情報を含む。
機械情報は、例えば、加工機が有する制御軸の種類を示す情報である。制御軸は、直線軸、および回転軸を含む。直線軸は、例えば、X軸、Y軸およびZ軸を含む。回転軸は、例えば、A軸およびC軸を含む。つまり、機械情報は、加工機がどのような制御軸を有するかを示す情報である。
パラメータ設定情報は、例えば、制御装置に初期設定される情報である。パラメータ設定情報は、例えば、回転軸の移動を指定する引数の単位を示す情報を含む。回転軸の移動を指定する引数の単位は、例えば、[deg]である。
パラメータ設定情報は、例えば、制御装置に初期設定されるモーダル情報を含む。制御装置に初期設定されるモーダル情報は、例えば、モーダル指令「G21」である。モーダル指令「G21」は、制御軸の単位をメトリック入力に設定するGコードである。また、制御装置に初期設定されるモーダル情報は、例えば、モーダル指令「G94」である。モーダル指令「G94」は、毎分送りを指定するGコードである。
単位付与部112は、例えば、取得した解析情報に含まれる1または複数の引数を、制御軸の移動を指定する引数と、制御軸の移動を指定する引数以外の引数とに分類する。単位付与部112は、プログラム解析部111によって生成された、各引数が制御軸の移動を指定する引数であるか否かを示す情報に基づいて、引数を分類する。
図4に示す引数のうち、シーケンス番号「N10」における「X_ Y_」は、制御軸の移動を指定する引数である。また、シーケンス番号「N20」における「X_ A_」は、制御軸の移動を指定する引数である。また、シーケンス番号「N30」における「X_ Y_ Z_」は、制御軸の移動を指定する引数である。一方、シーケンス番号「N30」における「R_ P_ F_」は、制御軸の移動を指定する引数以外の引数である。
次に、単位付与部112は、機械情報に基づいて、制御軸の移動を指定する引数が直線軸の移動を指定する引数であるか、または回転軸の移動を指定する引数であるかを判定する。なお、「X_」、「Y_」および「Z_」は、直線軸の移動を指定する引数である。また、「A_」は、回転軸の移動を指定する引数である。
単位付与部112は、パラメータ設定情報に基づいて、回転軸の移動を指定する引数には、[deg]を付与することを決定する。つまり、単位付与部112は、引数「A_」に[deg]を付与することを決定する。
また、単位付与部112は、モーダル情報に基づいて直線軸の移動を指定する引数に[mm]を付与することを決定する。つまり、単位付与部112は、「X_」、「Y_」および「Z_」に[mm]を付与することを決定する。
単位付与部112は、さらに、未だ単位が付与されていない引数に単位を付与することを決定する。単位付与部112は、単位対応情報、および、すでに付与された単位に基づいて、未だ単位が付与されていない引数に単位を付与することを決定する。図5に示す単位対応情報には、「Rは直線軸と同じ単位」というテキスト情報が含まれている。したがって、単位付与部112は、引数「R」には、すでに「Z_」などの直線軸の引数に付与された単位と同じ[mm]を付与することを決定する。
また、単位付与部112は、直線軸の移動を指定する引数に付与された単位、およびモーダル情報に基づいて、未だ単位が付与されていない引数に単位を付与することを決定する。直線軸の移動を指定する引数に付与された単位は、[mm]である。また、モーダル情報には、毎分送りを指定する「G94」が設定されている。したがって、単位付与部112は、引数「F」に [mm/min]を付与することを決定する。
単位付与部112は、単位の付与フォーマットを規定する付与フォーマット情報に基づいて、加工プログラムに単位を付与する。付与フォーマット情報は、単位付与部112によって付与することが決定された単位をどのようなフォーマットで付与するかを規定するための情報である。あるいは、付与フォーマット情報は、付与することが決定された単位を、加工プログラムに付与するか否かを規定するための情報である。
例えば、付与フォーマット情報には、制御軸の移動を指定する引数には、単位を付与しないことが規定される。また、付与フォーマット情報には、制御軸の移動を指定する引数以外の引数には、単位付与部112によって決定された単位を付与することが規定される。
したがって、付与フォーマット情報において、制御軸の移動を指定する引数以外の引数のみに単位を付与することが規定されている場合、単位付与部112は、「P」、「R」および「F」のみに単位を付与する。
また、付与フォーマット情報では、単位以外の情報を加工プログラムに付与することが規定されていてもよい。付与フォーマット情報では、例えば、コードの意味を示す情報を加工プログラムに付与することが規定されていてもよい。付与フォーマット情報においてコードの意味を示す情報を加工プログラムに付与することが規定されている場合、単位付与部112は、例えば、記憶部からコードの意味を示す情報を取得して、加工プログラムに情報を付与する。
出力部113は、単位付与部112によって単位が付与された加工プログラムを出力する。出力部113は、例えば、表示装置、外部機器、および記憶装置の少なくともいずれかに単位が付与された加工プログラムを出力する。表示装置は、例えば、入出力装置2である。外部機器は、例えば、数値制御装置3である。記憶部は、例えば、不揮発性メモリ105である。
図6は、単位が付与された加工プログラムの一例である。図6に示す加工プログラムは、制御軸の移動を指定する引数以外の引数に単位が付与された加工プログラムである。
すなわち、引数「R」には単位「[mm]」が付与されている。引数「P」には単位「[msec]」が付与されている。引数「F」には単位「[mm/min]」が付与されている。また、「O1001」には、当該加工プログラムは単位が付与された加工プログラムであることを示す「(PROGRAM NUMBER)」が付与されている。
図7は、プログラム編集装置1で実行される処理の一例を示すフローチャートである。プログラム編集装置1では、まず、プログラム解析部111が加工プログラムを取得する(ステップS1)。
次に、プログラム解析部111が加工プログラムを解析する(ステップS2)。次に、プログラム解析部111が加工プログラムに含まれるGコード、およびGコードの引数に関する解析情報を作成する(ステップS3)。
次に、単位付与部112が、プログラム解析部111によって作成された解析情報を取得する(ステップS4)。次に、単位付与部112が、単位対応情報を取得する(ステップS5)。
次に、単位付与部112が、単位対応情報、モーダル情報、およびパラメータ設定情報の少なくともいずれかに基づいて、引数に付与する単位を決定する(ステップS6)。次に、単位付与部112が、付与フォーマット情報に基づいて、加工プログラムに単位を付与する(ステップS7)。最後に、出力部113が、単位が付与された加工プログラムを出力し(ステップS8)、プログラム編集装置1での処理が終了する。
次に、単位対応情報が第1の形式とは異なる第2の形式で定義される実施形態について説明する。なお、上述したプログラム編集装置1の機能および構成と同じ機能および構成については、説明を省略する。
プログラム解析部111は、加工プログラムを取得する。プログラム解析部111は、例えば、図3に示す加工プログラムを取得する。
プログラム解析部111は、取得した加工プログラムに含まれる各コードの意味を解析する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれるGコード、およびGコードの引数に関する解析情報を作成する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれる各引数が制御軸の移動を指定する引数であるか否かを示す情報を生成する。
単位付与部112は、プログラム解析部111によって作成された加工プログラムの解析情報を取得する。単位付与部112は、図4に示す解析情報を取得する。
単位付与部112は、加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与する。具体的には、単位付与部112は、加工プログラムに含まれるGコードに基づいて、単位対応情報を取得する。単位付与部112は、例えば、記憶部に記憶された単位対応情報を取得する。単位付与部112は取得した単位対応情報に基づいて、加工プログラムに単位を付与する。
単位付与部112は、第1の形式とは異なる第2の形式で定義された第2の単位対応情報を取得する。第2の形式は、例えば、表形式である。
図8は、第2の形式で定義された第2の単位対応情報の一例である。図8に示す単位対応情報は、Gコード「G00」、「G01」、「G74」、「G94」、および「G95」の引数の単位を示す情報を含む。
単位対応情報は、Gコード「G00」と当該Gコードとともに用いられる引数「X」、「Y」、「Z」、「A」、および「S」とを含む。また、単位対応情報では、当該Gコードの引数である「X」、「Y」、「Z」、および「A」が制御軸であることを示す「軸」が「X」、「Y」、「Z」、および「A」に対応付けられている。また、単位対応情報は、「S」の単位を示す「/min」を含む。
単位対応情報は、Gコード「G01」と当該Gコードとともに用いられる引数「X」、「Y」、「Z」、「A」、「F」、および「S」とを含む。また、単位対応情報では、当該Gコードの引数である「X」、「Y」、「Z」、および「A」が制御軸であることを示す「軸」が「X」、「Y」、「Z」、および「A」に対応付けられている。また、単位対応情報は、「F」の単位を示す「軸/min」および「軸/rev」を含む。また、単位対応情報は、「S」の単位を示す「/min」を含む。
単位対応情報は、Gコード「G74」と当該Gコードとともに用いられる引数「X」、「Y」、「Z」、「A」、「F」、「R」、「P」、および「K」とを含む。また、単位対応情報では、当該Gコードの引数である「X」、「Y」、「Z」、および「A」が制御軸であることを示す「軸」が「X」、「Y」、「Z」、および「A」に対応付けられている。また、単位対応情報は、「F」の単位を示す「軸/min」および「軸/rev」を含む。また、単位対応情報では、「R」の単位が直線軸の単位と同じであることを示す「軸」が「R」に対応付けられている。また、単位対応情報は、「P」の単位を示す「msec」を含む。また、単位対応情報は、「K」の単位を示す「times」を含む。
単位対応情報は、Gコード「G94」と当該Gコードとともに用いられる引数「F」とを含む。単位対応情報は、当該Gコードの引数である「F」の単位を示す「軸/min」を含む。
単位対応情報は、Gコード「G95」と当該Gコードとともに用いられる引数「F」とを含む。「G95」は、毎回転送りを指定するGコードである。単位対応情報は、当該Gコードの引数である「F」の単位を示す「軸/rev」を含む。
単位付与部112は、Gコードおよび引数に関する解析情報を取得すると、単位対応情報に基づいて、引数に付与する単位を決定する。
図9は、単位付与部112によって付与することが決定された単位の一例を示す図である。単位付与部112がGコードおよび引数に関する解析情報「G00 X_Y_」を取得すると、「G00」の単位対応情報を取得する。すなわち、単位付与部112は、「G00」の引数「X」および「Y」に対応付けられた「軸」を取得する。また、単位付与部112は、引数「X」および「Y」に「軸」を付与することが決定する。
単位付与部112が解析情報「G00 X_A_」を取得すると、単位付与部112は、「G00」の単位対応情報を取得する。すなわち、単位付与部112は、「G00」の引数「X」および「A」に対応付けられた「軸」を取得する。また、単位付与部112は、引数「X」および「A」に「軸」を付与することを決定する。
単位付与部112が解析情報「G74 X_Y_Z_R_P_F_」を取得すると、単位付与部112は、「G74」の単位対応情報を取得する。すなわち、単位付与部112は、「G74」の引数「X」、「Y」、「Z」、および「R」に対応付けられた「軸」を取得する。また、単位付与部112は、「G74」の引数「P」に対応付けられた「msec」を取得する。また、単位付与部112は、「G74」の引数「F」に対応付けられた「軸/min」を取得する。
また、単位付与部112は、引数「X」、「Y」、「Z」、および「R」に「軸」を付与することを決定する。また、単位付与部112は、引数「P」に「msec」を付与することを決定する。また、単位付与部112は、引数「F」に「軸/min」を付与することを決定する。
単位付与部112は、取得した解析情報に含まれる1または複数の引数を、制御軸の移動を指定する引数と、制御軸の移動を指定する引数以外の引数とに分類する。単位付与部112は、プログラム解析部111によって生成された、各引数が制御軸の移動を指定する引数であるか否かを示す情報に基づいて、引数を分類する。
図9に示す引数のうち、シーケンス番号「N10」における「X_ Y_」は、制御軸の移動を指定する引数である。また、シーケンス番号「N20」における「X_ A_」は、制御軸の移動を指定する引数である。また、シーケンス番号「N30」における「X_ Y_ Z_」は、制御軸の移動を指定する引数である。一方、シーケンス番号「N30」における「R_ P_ F_」は、制御軸の移動を指定する引数以外の引数である。
次に、単位付与部112は、機械情報に基づいて、制御軸の移動を指定する引数が直線軸の移動を指定する引数であるか、または回転軸の移動を指定する引数であるかを判定する。なお、「X_」、「Y_」および「Z_」は、直線軸の移動を指定する引数である。また、「A_」は、回転軸の移動を指定する引数である。
単位付与部112は、パラメータ設定情報に基づいて、回転軸の移動を指定する引数には、[deg]を付与する。つまり、単位付与部112は、引数「A_」に[deg]を付与する。
また、単位付与部112は、モーダル情報に基づいて直線軸の移動を指定する引数に[mm]を付与する。つまり、単位付与部112は、「X_」、「Y_」および「Z_」に[mm]を付与する。また、単位対応情報には、「R」が「直線軸と同じ単位」であるという情報が含まれる。したがって、単位付与部112は、「R」に直線軸の単位と同じ「mm」を付与する。
単位付与部112は、付与フォーマット情報において、付与フォーマットが規定されていない場合、付与することが決定された単位をそのまま引数に付与する。
出力部113は、単位付与部112によって単位が付与された加工プログラムを出力する。出力部113は、例えば、図6に示す加工プログラムを出力する。
次に、引数を有していないGコードが指定された場合の例について説明する。
図10は、プログラム解析部111によって取得される加工プログラムの一例である。加工プログラムの1行目には、「O1000」が記載されている。つまり、当該加工プログラムの番号は「1000」である。
シーケンス番号「N30」のブロックには、「G80」が指定されている。「G80」は、固定サイクルキャンセルを指定するGコードである。
シーケンス番号「N31」のブロックには、「G4.1」が指定されている。「G4.1」は、マスクバッファを指定するGコードである。
プログラム解析部111は、取得した加工プログラムに含まれる各コードの意味を解析する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれるGコード、およびGコードの引数に関する解析情報を作成する。
単位付与部112は、プログラム解析部111によって作成された解析情報を取得する。プログラム解析部111によって図10に示す加工プログラムが解析された場合、単位付与部112は、シーケンス番号「N30」のブロックについて、解析情報「G80」を取得する。また、単位付与部112は、シーケンス番号「N31」のブロックについて、解析情報「G4.1」を取得する。
単位付与部112は、加工プログラムに含まれるGコードに基づいて、単位対応情報を取得する。
図11は、単位付与部112によって取得される単位対応情報の一例である。図11に示す単位対応情報は、Gコード「G80」および「G4.1」の単位対応情報である。
単位対応情報は、「G80」に対応する引数がないことを示す情報「引数なし」を含む。また、単位対応情報は、「G80」が固定サイクルキャンセル指令であることを示す情報「(固定サイクルキャンセル)」を含む。
また、単位対応情報は、「G4.1」に対応する引数がないことを示す情報「引数なし」を含む。また、単位対応情報は、「G4.1」がGコードによるマスクバッファであることを示す情報「(Gコードによるマスクバッファ)」を含む。
単位付与部112は、単位対応情報に基づいてGコードの引数に単位を付与する。ただし、Gコードに対応する引数がない場合、単位付与部112は、単位の付与を行わない。
対応する引数がないGコードが加工プログラムで指定されている場合、付与フォーマット情報は、コードの意味を示す情報を加工プログラムに付与することを規定していてもよい。
付与フォーマット情報は、例えば、「G80」に「cycle cancel mode」を付与することを規定していてよい。また、付与フォーマット情報は、「G4.1」に「non-buffering command by G code」を付与することを規定していてよい。単位付与部112は、付与フォーマット情報に規定された情報を加工プログラムに付与する。
図12は、コードの意味を示す情報が付与された加工プログラムの一例である。単位付与部112は、加工プログラムの番号を示すコードに「(PROGRAM NUMBER)」を付与する。また、単位付与部112は、「G80」には、「G80」が固定サイクルキャンセル指令であることを示す「(cycle cancel mode)」を付与する。また、単位付与部112は、「G4.1」には、「G4.1」がGコードによるマスクバッファを指定する指令であることを示す「(non-buffering command by G code)」を付与する。出力部113は、コードの意味を示す情報が付された加工プログラムを出力する。
次に、加工プログラムにおいて同一のアドレスが用いられていても互いに異なる単位が付与される例について説明する。
図13は、プログラム解析部111によって取得される加工プログラムの一例である。加工プログラムの1ブロック目には、「O1002」が記載されている。つまり、当該加工プログラムの番号は、「1002」である。
シーケンス番号「N10」のブロックには、「G01 X100.0 F150.0」が指定されている。シーケンス番号「N20」のブロックには、「G95 X50.0 F0.15」が指定されている。シーケンス番号「N30」のブロックには、「G20 X30.0 F0.10」が指定されている。シーケンス番号「N40」のブロックには、「G94 X10.0 F100.0」が指定されている。なお、「G20」は、インチ入力を指定するGコードである。
プログラム解析部111は、取得した加工プログラムに含まれる各コードの意味を解析する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれるGコード、およびGコードの引数に関する解析情報を作成する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれる各引数が制御軸の移動を指定する引数であるか否かを示す情報を生成する。
単位付与部112は、プログラム解析部111によって作成された加工プログラムのGコードおよびGコードの引数に関する解析情報を取得する。
図14は、単位付与部112によって取得されるGコードおよびGコードの引数に関する解析情報の一例である。図14に示す情報は、図13に示す加工プログラムに基づいて生成された情報である。
プログラム解析部111によって図13に示す加工プログラムが解析された場合、単位付与部112は、シーケンス番号「N10」のブロックについて、解析情報「G01 X_ F_」を取得する。単位付与部112は、シーケンス番号「N20」のブロックについて、解析情報「G95 X_ F_」を取得する。また、単位付与部112は、シーケンス番号「N30」のブロックについて、解析情報「G20 X_ F_」を取得する。また、単位付与部112は、シーケンス番号「N40」のブロックについて、解析情報「G94 X_ F_」を取得する。
単位付与部112は、加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与する。具体的には、単位付与部112は、加工プログラムに含まれるGコードに基づいて、単位対応情報を取得する。単位付与部112は、取得した単位対応情報に基づいて、加工プログラムに単位を付与する。
図15は、第1の形式で定義された第1の単位対応情報の一例である。図15に示す単位対応情報は、Gコード「G01」、「G95」、「G20」、および「G94」の引数の単位を示す単位対応情報である。
単位対応情報は、Gコード「G01」と当該Gコードとともに用いられる引数「X_」、「Y_」、「Z_」、および「F_」とを含む。単位対応情報は、Gコード「G95」と当該Gコードとともに用いられる引数「F_」とを含む。また、引数「F_」に付与される単位は、あらかじめ「軸/rev」に定められている。
単位対応情報は、Gコード「G20」と当該Gコードとともに用いられる引数「X_」、「Y_」、および「Z_」とを含む。また、引数「X_」、「Y_」、および「Z_」に付与される単位は、あらかじめ「[inch]」に定められている。
単位対応情報は、Gコード「G94」と当該Gコードとともに用いられる引数「F_」とを含む。また、引数「F_」に付与される単位は、あらかじめ「[軸/min]」に定められている。
単位付与部112が解析情報「G01 X_ F_」を取得すると、単位付与部112は、「G01」を含む単位対応情報を取得する。
単位付与部112が解析情報「G95 X_ F_」を取得すると、単位付与部112は、「G95」を含む単位対応情報を取得する。単位対応情報において「G95」の引数「F」には、「軸/rev」が付与されることがあらかじめ定められている。したがって、単位付与部112は、Gコード「G95」の引数「F」に単位「軸/rev」を付与する。
単位付与部112が解析情報「G20 X_ F_」を取得すると、単位付与部112は、「G20」を含む単位対応情報を取得する。
単位付与部112が解析情報「G94 X_ F_」を取得すると、単位付与部112は、「G94」を含む単位対応情報を取得する。単位対応情報において「G94」の引数「F」には、「軸/min」が付与されることがあらかじめ定められている。したがって、単位付与部112は、Gコード「G94」の引数「F」に単位「軸/min」を付与する。
また、単位付与部112は、取得した解析情報に含まれる1または複数の引数を、制御軸の移動を指定する引数と、制御軸の移動を指定する引数以外の引数とに分類する。単位付与部112は、プログラム解析部111によって生成された、各引数が制御軸の移動を指定する引数であるか否かを示す情報に基づいて、引数を分類する。
図14に示す引数のうち、シーケンス番号「N10」、「N20」、「N30」、および「N40」における「X_」は、制御軸の移動を指定する引数である。したがって、単位付与部112は、「X_」を、制御軸の移動を指定する引数に分類する。
次に、単位付与部112は、機械情報に基づいて、制御軸の移動を指定する引数が直線軸の移動を指定する引数であるか、または回転軸の移動を指定する引数であるかを判定する。なお、「X_」は、直線軸の移動を指定する引数である。したがって、単位付与部112は、「X_」を、直線軸の移動を指定する引数に分類する。
さらに、単位付与部112は、モーダル情報に基づいて直線軸の移動を指定する引数に単位を付与することを決定する。制御装置には、モーダル情報として「G21」が設定されている。そのため、シーケンス番号「N10」および「N20」の「X」には、単位「[mm]」が付与される。
一方、シーケンス番号「N30」には、モーダル指令として「G20」が指定されている。そのため、シーケンス番号「N30」および「N40」の「X」には、単位「[inch]」が付与される。
単位付与部112は、さらに、未だ単位が確定していない引数の単位を決定する。単位付与部112は、機械情報、およびパラメータ設定情報の少なくともいずれかに基づいて、未だ単位が決定されていない引数の単位を決定する。
制御装置には、モーダル情報として、毎分送りを指定する「G94」が初期設定されている。また、上述したとおり、制御装置には、モーダル情報として、メトリック入力を指定する「G21」が初期設定されている。したがって、単位付与部112は、シーケンス番号「N10」の「F」に「mm/min」を付与することを決定する。また、単位付与部112は、シーケンス番号「N20」の「F」に「mm/rev」を付与することを決定する。
また、シーケンス番号「N30」には、インチ入力を指定する「G20」が指定されている。また、シーケンス番号「N20」には、毎回転送りを指定する「G95」が指定されている。したがって、単位付与部112は、シーケンス番号「N30」の「F」に「inch/rev」を付与することを決定する。
また、シーケンス番号「N40」には、毎分送りを指定する「G94」が指定されている。また、シーケンス番号「N30」には、インチ入力を指定する「G20」が指定されている。したがって、単位付与部112は、シーケンス番号「N40」の「F」に「inch/min」を付与することを決定する。出力部113は、単位付与部112によって単位が付与された加工プログラムを出力する。
図16は、単位が付与された加工プログラムの一例である。シーケンス番号「N10」のブロックの「X」には、単位「[mm]」が付与されている。また、「F」には、単位「[mm/min]」が付与されている。
シーケンス番号「N20」のブロックの「X」には、単位「[mm]」が付与されている。また、「F」には、単位「[mm/rev]」が付与されている。
シーケンス番号「N30」のブロックの「X」には、単位「[inch]」が付与されている。また、「F」には、単位「[inch/rev]」が付与されている。
シーケンス番号「N40」のブロックの「X」には、単位「[inch]」が付与されている。また、「F」には、単位「[inch/min]」が付与されている。
次に、加工プログラムにおいて同一のアドレスが用いられていても互いに異なる単位が付与される他の例について説明する。
図17は、プログラム解析部111によって取得される加工プログラムの一例である。加工プログラムの1ブロック目には、「O1003」が記載されている。つまり、当該加工プログラムの番号は、「1003」である。
シーケンス番号「N20」のブロックには、「G02 X60.0 Y55.0 R50.0 F300.0」が指定されている。「G02」は、円弧補間を指定するGコードである。「X60.0 Y55.0 R50.0 F300.0」は、Gコード「G02」の引数である。
「X60.0」は、X軸の位置を指定する引数である。「Y55.0」は、Y軸の位置を指定する引数である。「R50.0」は、円弧の半径を指定する引数である。「F300.0」は、工具の送り速度を指定する引数である。つまり、シーケンス番号「N20」のブロックでは、X軸を「60.0」の位置、Y軸を「55.0」の位置まで、半径「50.0」の円弧を描くように工具を送り速度「300.0」で移動させることが指定されている。
シーケンス番号「N30」のブロックには、「G68 X0 Y0 R55.0」が指定されている。「G68」は、3次元の座標変換を指定するGコードである。「X0 Y0 R55.0」は、Gコード「G68」の引数である。
「X0 Y0」は、回転させる座標系の中心位置を指定する引数である。「R55.0」は、座標系の回転角度を指定する引数である。つまり、シーケンス番号「N30」のブロックでは、「X0 Y0」を中心に、座標系を55°回転させることが指定されている。
シーケンス番号「N40」のブロックには、「G04 X4.0」が指定されている。「G04」は、ドウェルを指定するGコードである。「X4.0」は、Gコード「G04」の引数である。
「X4.0」は、ドウェルの時間を指定する引数である。つまり、シーケンス番号「N40」のブロックでは、4.0[sec]だけプログラムの進行を停止させることが指定されている。
プログラム解析部111は、取得した加工プログラムに含まれる各コードの意味を解析する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれるGコード、およびGコードの引数に関する解析情報を作成する。また、プログラム解析部111は、加工プログラムを解析して、加工プログラムに含まれる各引数が制御軸の移動を指定する引数であるか否かを示す情報を生成する。
単位付与部112は、プログラム解析部111によって作成された解析情報を取得する。
図18は、単位付与部112によって取得される解析情報の一例である。図18に示す解析情報は、図17に示す加工プログラムに基づいて生成された情報である。
プログラム解析部111によって図17に示す加工プログラムが解析された場合、単位付与部112は、シーケンス番号「N20」のブロックについて、解析情報「G02 X_ Y_ R_ F_」を取得する。単位付与部112は、シーケンス番号「N30」のブロックについて、解析情報「G68 X_ Y_ R_」を取得する。また、単位付与部112は、シーケンス番号「N40」のブロックについて、解析情報「G04 X_」を取得する。
単位付与部112は、加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与する。具体的には、単位付与部112は、加工プログラムに含まれるGコードに基づいて、単位対応情報を取得する。単位付与部112は、取得した単位対応情報に基づいて、加工プログラムに単位を付与する。
図19は、第1の形式で定義された第1の単位対応情報の一例である。図19に示す単位対応情報は、Gコード「G02」、「G68」、および「G04」の引数の単位を示す単位対応情報である。
単位対応情報は、Gコード「G02」と当該Gコードとともに用いられる引数「X_」、「Y_」、「Z_」、「R_」および「F_」とを含む。単位対応情報は、Gコード「G68」と当該Gコードとともに用いられる引数「X_」、「Y_」、「Z_」、および「R_」とを含む。また、引数「R_」に付与される単位は、あらかじめ「deg」に定められている。また、単位対応情報は、Gコード「G04」と当該Gコードとともに用いられる引数「X_」または「P_」とを含む。
単位付与部112が解析情報「G02 X_ Y_ R_ F_」を取得すると、単位付与部112は、「G02」を含む単位対応情報を取得する。
単位付与部112が解析情報「G68 X_ Y_ R_」を取得すると、単位付与部112は、「G68」を含む単位対応情報を取得する。単位対応情報において「G68」の引数「R」には、「[deg]」が付与されることがあらかじめ定められている。したがって、単位付与部112は、Gコード「G68」の引数「R」に単位「[deg]」を付与する。
単位付与部112がGコードおよび引数に関する解析情報「G04 X_」を取得すると、単位付与部112は、「G04」を含む単位対応情報を取得する。
また、単位付与部112は、取得した解析情報に含まれる1または複数の引数を、制御軸の移動を指定する引数と、制御軸の移動を指定する引数以外の引数とに分類する。単位付与部112は、プログラム解析部111によって生成された、各引数が制御軸の移動を指定する引数であるか否かを示す情報に基づいて、引数を分類する。
図18に示す引数のうち、シーケンス番号「N20」、および「N30」における「X_ Y_」は、制御軸の移動を指定する引数である。したがって、単位付与部112は、「X_ Y_」を、制御軸の移動を指定する引数に分類する。
次に、単位付与部112は、機械情報に基づいて、制御軸の移動を指定する引数が直線軸の移動を指定する引数であるか、または回転軸の移動を指定する引数であるかを判定する。なお、「X_ Y_」は、直線軸の移動を指定する引数である。したがって、単位付与部112は、「X_ Y_」を、直線軸の移動を指定する引数に分類する。
さらに、単位付与部112は、モーダル情報に基づいて直線軸の移動を指定する引数に単位を付与することを決定する。制御装置には、モーダル情報として「G21」が設定されている。そのため、シーケンス番号「N20」および「N30」の「X」および「Y」には、単位「[mm]」が付与される。
単位付与部112は、さらに、未だ単位が付与されていない引数に対して単位を付与することを決定する。単位付与部112は、単位対応情報、および、すでに付与された単位に基づいて、未だ単位が付与されていない引数に単位を付与することを決定する。
制御装置には、モーダル情報として、毎分送りを指定する「G94」が初期設定されている。また、上述したとおり、制御装置には、モーダル情報として、メトリック入力を指定する「G21」が初期設定されている。したがって、単位付与部112は、シーケンス番号「N20」の「F」に「mm/min」を付与することを決定する。また、単位付与部112は、シーケンス番号「N20」の「R」に「mm」を付与することを決定する。
また、制御装置には、パラメータ設定情報として、ドウェルの時間を指定する引数「X」の単位が「[sec]」に初期設定されている。したがって、単位付与部112は、シーケンス番号「N40」の「X」に「sec」を付与することを決定する。
単位付与部112は、付与フォーマット情報に基づいて、加工プログラムに単位情報を付与する。付与フォーマット情報では、例えば、コードの意味を示す情報を加工プログラムに付与することが規定されている。
図20は、付与フォーマット情報の一例である。付与フォーマット情報は、コード「O」に対応付けられた「(PROGRAM NUMBER)」を含む。また、付与フォーマット情報は、Gコード「GO2」に対応付けられたコードの意味を示す情報「(circular interpolation)」を含む。また、付与フォーマット情報は、Gコード「G68」に対応付けられたコードの意味を示す情報「(3-dimensional coordinate system conversion)」を含む。また、付与フォーマット情報は、Gコード「G04」に対応付けられたコードの意味を示す情報「(dwell)」を含む。単位付与部112は、付与フォーマット情報に基づいて、加工プログラムに、コードの意味を示す情報を付与する。
出力部113は、単位付与部112によって単位およびコードの意味を示す情報が付与された加工プログラムを出力する。
図21は、単位およびコードの意味を示す情報が付与された加工プログラムの一例である。なお、プログラム番号には、単位情報「(PROGRAM NUMBER)」が付与されている。
シーケンス番号「N20」のブロックの「X」、「Y」、および「R」には、単位「[mm]」が付与されている。また、「F」には、単位「[mm/min]」が付与されている。さらに、シーケンス番号「N20」のブロックには、コードの意味を示す情報「(circular interpolation)」が付与されている。
シーケンス番号「N30」のブロックの「X」、および「Y」には、単位「[mm]」が付与されている。また、「R」には、単位「[deg]」が付与されている。さらに、シーケンス番号「N30」のブロックには、コードの意味を示す情報「(3-dimensional coordinate system conversion)」が付与されている。
シーケンス番号「N40」のブロックの「X」には、単位「[sec]」が付与されている。さらに、シーケンス番号「N40」のブロックには、コードの意味を示す情報「(dwell)」が付与されている。
以上説明したように、プログラム編集装置1は、加工機において加工に利用される加工プログラムに含まれるGコードおよびGコードの引数に基づいて、加工プログラムに単位を付与する単位付与部112と、単位付与部112によって単位が付与された加工プログラムを出力する出力部113と、を備える。したがって、プログラム編集装置1は、作成された加工プログラムで使用される単位をオペレータに容易に認識させることができる。
また、単位付与部112は、さらに、Gコードの引数の単位を示す単位対応情報、および加工機を制御する制御装置に設定される設定情報の少なくともいずれかに基づいて、加工プログラムに単位を付与する。また、単位対応情報において、引数に付与される単位があらかじめ定められている場合、単位付与部112は、あらかじめ定められた単位を引数に付与し、単位対応情報において、引数に付与される単位があらかじめ定められていない場合、単位付与部112は、設定情報に基づいて単位を引数に付与する。したがって、プログラム編集装置1は、設定情報に応じて異なる単位が引数に付与される場合であっても、加工プログラムに正しい単位を付与することができる。
また、設定情報は、加工機を制御する制御装置、または制御装置とネットワーク回線を介して接続された外部記憶装置に記憶される。したがって、プログラム編集装置1は、設定情報を記憶しておく必要がない。その結果、プログラム編集装置1の記憶容量を低減することができる。
また、単位対応情報は、第1の形式で定義された第1の単位対応情報、または、第1の形式とは異なる第2の形式で定義された第2の単位対応情報を含む。また、単位付与部112は、引数に単位を付与する。すなわち、プログラム編集装置1は、様々な形式で定義された単位対応情報を利用して、引数に単位を付与することができる。
また、出力部113は、表示装置、外部機器、および記憶装置の少なくともいずれかに単位が付与された加工プログラムを出力する。したがって、プログラム編集装置1は、様々な装置において、単位が付与された加工プログラムをオペレータに利用させることができる。
また、プログラム編集装置1は、加工機を制御する制御部をさらに備える。つまり、プログラム編集装置1は、加工機を制御する数値制御装置3に実装されてもよい。
本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、または、請求の範囲に記載された内容とその均等物から導き出される本開示の要旨を逸脱しない範囲で、種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組み合わせて実施することもできる。
以下に、本開示の実施形態に係る付記を示す。
付記[1]
加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与する単位付与部と、前記単位付与部によって前記単位が付与された前記加工プログラムを出力する出力部と、を備えるプログラム編集装置。
付記[2]
前記単位付与部は、さらに、前記Gコードの前記引数の前記単位を示す単位対応情報、および前記加工機を制御する制御装置に設定される設定情報の少なくともいずれかに基づいて、前記加工プログラムに付与する前記単位を決定する付記[1]に記載のプログラム編集装置。
付記[3]
前記単位対応情報において、前記引数に付与される前記単位があらかじめ定められている場合、前記単位付与部は、あらかじめ定められた前記単位を前記引数に付与することを決定し、前記単位対応情報において、前記引数に付与される前記単位があらかじめ定められていない場合、前記単位付与部は、前記設定情報に基づいて前記単位を前記引数に付与することを決定する付記[2]に記載のプログラム編集装置。
付記[4]
前記設定情報は、前記加工機を制御する制御装置、または前記制御装置とネットワーク回線を介して接続された外部記憶装置に記憶される付記[2]または[3]に記載のプログラム編集装置。
付記[5]
前記単位対応情報は、第1の形式で定義された第1の単位対応情報、または、前記第1の形式とは異なる第2の形式で定義された第2の単位対応情報を含む付記[2]~[4]のいずれかに記載のプログラム編集装置。
付記[6]
前記単位付与部は、前記引数に前記単位を付与する付記[1]~[3]のいずれかに記載のプログラム編集装置。
付記[7]
前記出力部は、表示装置、外部機器、および記憶装置の少なくともいずれかに前記単位が付与された前記加工プログラムを出力する付記[1]~[4]のいずれかに記載のプログラム編集装置。
付記[8]
前記加工機を制御する制御部をさらに備える付記[1]~[7]のいずれかに記載のプログラム編集装置。
付記[9]
前記単位付与部は、前記単位の付与フォーマットを規定する付与フォーマット情報に基づいて、前記加工プログラムに前記単位を付与する付記[1]~[8]のいずれかに記載のプログラム編集装置。
付記[10]
加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与することと、前記単位が付与された前記加工プログラムを出力することと、を含むプログラム編集方法。
付記[11]
加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与することと、前記単位が付与された前記加工プログラムを出力することと、をコンピュータに実行させる命令を記憶するコンピュータ読み取り可能な記憶媒体。
付記[1]
加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与する単位付与部と、前記単位付与部によって前記単位が付与された前記加工プログラムを出力する出力部と、を備えるプログラム編集装置。
付記[2]
前記単位付与部は、さらに、前記Gコードの前記引数の前記単位を示す単位対応情報、および前記加工機を制御する制御装置に設定される設定情報の少なくともいずれかに基づいて、前記加工プログラムに付与する前記単位を決定する付記[1]に記載のプログラム編集装置。
付記[3]
前記単位対応情報において、前記引数に付与される前記単位があらかじめ定められている場合、前記単位付与部は、あらかじめ定められた前記単位を前記引数に付与することを決定し、前記単位対応情報において、前記引数に付与される前記単位があらかじめ定められていない場合、前記単位付与部は、前記設定情報に基づいて前記単位を前記引数に付与することを決定する付記[2]に記載のプログラム編集装置。
付記[4]
前記設定情報は、前記加工機を制御する制御装置、または前記制御装置とネットワーク回線を介して接続された外部記憶装置に記憶される付記[2]または[3]に記載のプログラム編集装置。
付記[5]
前記単位対応情報は、第1の形式で定義された第1の単位対応情報、または、前記第1の形式とは異なる第2の形式で定義された第2の単位対応情報を含む付記[2]~[4]のいずれかに記載のプログラム編集装置。
付記[6]
前記単位付与部は、前記引数に前記単位を付与する付記[1]~[3]のいずれかに記載のプログラム編集装置。
付記[7]
前記出力部は、表示装置、外部機器、および記憶装置の少なくともいずれかに前記単位が付与された前記加工プログラムを出力する付記[1]~[4]のいずれかに記載のプログラム編集装置。
付記[8]
前記加工機を制御する制御部をさらに備える付記[1]~[7]のいずれかに記載のプログラム編集装置。
付記[9]
前記単位付与部は、前記単位の付与フォーマットを規定する付与フォーマット情報に基づいて、前記加工プログラムに前記単位を付与する付記[1]~[8]のいずれかに記載のプログラム編集装置。
付記[10]
加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与することと、前記単位が付与された前記加工プログラムを出力することと、を含むプログラム編集方法。
付記[11]
加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与することと、前記単位が付与された前記加工プログラムを出力することと、をコンピュータに実行させる命令を記憶するコンピュータ読み取り可能な記憶媒体。
1 プログラム編集装置
101 ハードウェアプロセッサ
102 バス
103 ROM
104 RAM
105 不揮発性メモリ
106 第1のインタフェース
107 第2のインタフェース
111 プログラム解析部
112 単位付与部
113 出力部
2 入出力装置
3 数値制御装置
101 ハードウェアプロセッサ
102 バス
103 ROM
104 RAM
105 不揮発性メモリ
106 第1のインタフェース
107 第2のインタフェース
111 プログラム解析部
112 単位付与部
113 出力部
2 入出力装置
3 数値制御装置
Claims (11)
- 加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与する単位付与部と、
前記単位付与部によって前記単位が付与された前記加工プログラムを出力する出力部と、
を備えるプログラム編集装置。 - 前記単位付与部は、さらに、前記Gコードの前記引数の前記単位を示す単位対応情報、および前記加工機を制御する制御装置に設定される設定情報の少なくともいずれかに基づいて、前記加工プログラムに付与する前記単位を決定する請求項1に記載のプログラム編集装置。
- 前記単位対応情報において、前記引数に付与される前記単位があらかじめ定められている場合、前記単位付与部は、あらかじめ定められた前記単位を前記引数に付与することを決定し、
前記単位対応情報において、前記引数に付与される前記単位があらかじめ定められていない場合、前記単位付与部は、前記設定情報に基づいて前記単位を前記引数に付与することを決定する請求項2に記載のプログラム編集装置。 - 前記設定情報は、前記加工機を制御する制御装置、または前記制御装置とネットワーク回線を介して接続された外部記憶装置に記憶される請求項2または3に記載のプログラム編集装置。
- 前記単位対応情報は、第1の形式で定義された第1の単位対応情報、または、前記第1の形式とは異なる第2の形式で定義された第2の単位対応情報を含む請求項2~4のいずれか1項に記載のプログラム編集装置。
- 前記単位付与部は、前記引数に前記単位を付与する請求項1~3のいずれか1項に記載のプログラム編集装置。
- 前記出力部は、表示装置、外部機器、および記憶装置の少なくともいずれかに前記単位が付与された前記加工プログラムを出力する請求項1~4のいずれか1項に記載のプログラム編集装置。
- 前記加工機を制御する制御部をさらに備える請求項1~7のいずれか1項に記載のプログラム編集装置。
- 前記単位付与部は、前記単位の付与フォーマットを規定する付与フォーマット情報に基づいて、前記加工プログラムに前記単位を付与する請求項1~8のいずれか1項に記載のプログラム編集装置。
- 加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与することと、
前記単位が付与された前記加工プログラムを出力することと、
を含むプログラム編集方法。 - 加工機において加工に利用される加工プログラムに含まれるGコードおよび前記Gコードの引数に基づいて、前記加工プログラムに単位を付与することと、
前記単位が付与された前記加工プログラムを出力することと、
をコンピュータに実行させる命令を記憶するコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2023/043725 WO2025120783A1 (ja) | 2023-12-06 | 2023-12-06 | プログラム編集装置、プログラム編集方法、およびコンピュータ読み取り可能な記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2023/043725 WO2025120783A1 (ja) | 2023-12-06 | 2023-12-06 | プログラム編集装置、プログラム編集方法、およびコンピュータ読み取り可能な記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025120783A1 true WO2025120783A1 (ja) | 2025-06-12 |
Family
ID=95980737
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2023/043725 Pending WO2025120783A1 (ja) | 2023-12-06 | 2023-12-06 | プログラム編集装置、プログラム編集方法、およびコンピュータ読み取り可能な記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025120783A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006099284A (ja) * | 2004-09-28 | 2006-04-13 | Fanuc Ltd | 数値制御装置 |
| WO2014097371A1 (ja) * | 2012-12-17 | 2014-06-26 | 三菱電機株式会社 | 数値制御装置 |
| WO2014167636A1 (ja) * | 2013-04-08 | 2014-10-16 | 三菱電機株式会社 | 数値制御装置 |
| WO2021235346A1 (ja) * | 2020-05-21 | 2021-11-25 | ファナック株式会社 | 数値制御装置及び制御方法 |
-
2023
- 2023-12-06 WO PCT/JP2023/043725 patent/WO2025120783A1/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006099284A (ja) * | 2004-09-28 | 2006-04-13 | Fanuc Ltd | 数値制御装置 |
| WO2014097371A1 (ja) * | 2012-12-17 | 2014-06-26 | 三菱電機株式会社 | 数値制御装置 |
| WO2014167636A1 (ja) * | 2013-04-08 | 2014-10-16 | 三菱電機株式会社 | 数値制御装置 |
| WO2021235346A1 (ja) * | 2020-05-21 | 2021-11-25 | ファナック株式会社 | 数値制御装置及び制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9483043B2 (en) | Method and system for programmable numerical control | |
| US9846424B2 (en) | Numerical control apparatus | |
| US5930141A (en) | Method of controlling access to storage means in numerical-control system, and numerical-control system | |
| CN114365048B (zh) | 数控装置 | |
| WO2025120783A1 (ja) | プログラム編集装置、プログラム編集方法、およびコンピュータ読み取り可能な記憶媒体 | |
| JP2004086306A (ja) | 多系統数値制御装置 | |
| WO2020017248A1 (ja) | 制御装置、制御方法、および制御プログラム | |
| JP7088820B2 (ja) | 数値制御装置 | |
| WO2023199408A9 (ja) | 数値制御装置およびコンピュータ読み取り可能な記憶媒体 | |
| JP7602013B2 (ja) | 数値制御装置 | |
| WO2025154162A1 (ja) | システムおよびコンピュータ読み取り可能な記憶媒体 | |
| JPH04237307A (ja) | 工作機械における座標軸自動変換方法 | |
| JP2687119B2 (ja) | 数値制御装置 | |
| JP2779797B2 (ja) | 数値制御装置 | |
| WO2025115075A1 (ja) | 加工プログラム分割装置およびコンピュータ読み取り可能な記憶媒体 | |
| JP2694638B2 (ja) | 数値制御装置 | |
| JP2779796B2 (ja) | 数値制御装置 | |
| WO2025062474A1 (ja) | 数値制御装置およびコンピュータ読み取り可能な記憶媒体 | |
| JP2008532130A (ja) | 制御装置のインタプリタによるサブプログラムの翻訳のための方法 | |
| JPH03251906A (ja) | 自動プログラミングにおける切削条件の決定方法 | |
| JP2002091526A (ja) | 数値制御装置 | |
| JPH04100122A (ja) | Nc加工プログラム実行装置 | |
| WO2023053349A9 (ja) | 数値制御装置 | |
| JP2016164695A (ja) | 表示機能付き数値制御装置および表示プログラム | |
| JPH07334225A (ja) | Cncのプログラム実行方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23960796 Country of ref document: EP Kind code of ref document: A1 |