WO2021187487A1 - プログラム解析装置及び制御システム - Google Patents

プログラム解析装置及び制御システム Download PDF

Info

Publication number
WO2021187487A1
WO2021187487A1 PCT/JP2021/010639 JP2021010639W WO2021187487A1 WO 2021187487 A1 WO2021187487 A1 WO 2021187487A1 JP 2021010639 W JP2021010639 W JP 2021010639W WO 2021187487 A1 WO2021187487 A1 WO 2021187487A1
Authority
WO
WIPO (PCT)
Prior art keywords
tool
command
machining
program
unit
Prior art date
Application number
PCT/JP2021/010639
Other languages
English (en)
French (fr)
Inventor
遼平 大橋
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to JP2022508382A priority Critical patent/JP7440614B2/ja
Priority to CN202180021999.6A priority patent/CN115298624A/zh
Priority to DE112021001698.9T priority patent/DE112021001698T5/de
Priority to US17/910,350 priority patent/US20230185272A1/en
Publication of WO2021187487A1 publication Critical patent/WO2021187487A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40937Numerical 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 concerning programming of machining or material parameters, pocket machining
    • G05B19/40938Tool management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4063Monitoring general control system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a program analysis device and a control system, and more particularly to a program analysis device and a control system having a function of determining the consistency of commands by a machining program based on information related to a tool.
  • the control device that controls the machine tool controls the operation of each axis of the machine tool according to the machining program.
  • the operator creates a machining program by using a machining program editing function or the like while checking a machine tool, a workpiece to be machined, and a tool for machining the workpiece (for example, Patent Document 1 and the like).
  • FIG. 10 is a diagram illustrating the correspondence between the tool number and the tool. For example, if "T02" is specified in the machining program, the drill (small) corresponding to the tool number 02 is selected when the code is executed. The operator creates a machining program while looking at a table of tool numbers as illustrated in FIG.
  • FIG. 11 is a diagram showing an example in the case where the tool is selected incorrectly by the machining program.
  • the operator originally intended to select the end mill tool (tool number 05).
  • the drill tool (tool number 02) is selected by mistake.
  • An end mill tool generally has blades on the tip and side surfaces of the tool, and the tool can be moved laterally to machine a workpiece. The work can also be machined by moving the tool in the vertical direction.
  • a drill tool generally has a blade only at the tip of the tool. Therefore, the work can be machined by moving the tool in the vertical direction, but the work cannot be machined by moving the tool in the horizontal direction.
  • the tool or the workpiece may be damaged.
  • the command "G01 X5.0;" in FIG. 11 when the drill tool is cut and fed in the lateral direction to machine the work, the bladeless portion of the drill tool comes into contact with the work, and the tool or The work is damaged.
  • the program analysis device and the control system select a tool, and then, based on machining information including information such as characteristics of the tool, the type and feed direction of a command to be performed with the tool selected. , The above problem is solved by determining the consistency of the orientation of the tool and the like.
  • one aspect of the present invention is a program analysis device that determines the consistency of the machining program based on the tool information, and is selected as a program analysis unit that analyzes the machining program and extracts a command for selecting a tool.
  • a tool information acquisition unit that acquires information related to a tool corresponding to the tool, and a machining program that is executed with the tool selected based on the information related to the tool acquired by the tool information acquisition unit.
  • Another aspect of the present invention is a control system that determines the consistency of a machining program based on tool information, that is, a program analysis unit that analyzes the machining program and extracts a command for selecting a tool, and the selected program analysis unit.
  • a command of the machining program executed with the tool selected based on the tool information acquisition unit that acquires information related to the tool corresponding to the tool and the information related to the tool acquired by the tool information acquisition unit.
  • FIG. 1 is a schematic hardware configuration diagram showing a program analysis device according to the first embodiment of the present invention.
  • the program analysis device 1 of the present invention can be mounted on a control device that controls an industrial machine that performs machining such as a machine tool. Further, the program analysis device 1 of the present embodiment can be mounted on, for example, a personal computer, a fog computer, a cloud server, or the like connected to a control device for controlling a machine tool via a wired / wireless network. In this embodiment, an example in which the program analysis device 1 is mounted on a control device that controls a machine tool is shown.
  • the CPU 11 included in the program analysis device 1 of the present embodiment is a processor that controls the program analysis device 1 as a whole.
  • the CPU 11 reads the system program stored in the ROM 12 via the bus 22.
  • the CPU 11 controls the entire program analysis device 1 according to the system program. Temporary calculation data, display data, various data input from the outside, and the like are temporarily stored in the RAM 13.
  • the non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown), an SSD (Solid State Drive), or the like.
  • the non-volatile memory 14 retains its storage state even when the power of the program analysis device 1 is turned off.
  • the non-volatile memory 14 stores data and processing programs read from the external device 72 via the interface 15. Further, the non-volatile memory 14 stores data input via the input device 71, a machining program, each data acquired from the machine tool, and the like.
  • the data and the processing program stored in the non-volatile memory 14 may be expanded in the RAM 13 at the time of execution / use. Further, various system programs such as a known analysis program are written in the ROM 12 in advance.
  • the interface 15 is an interface for connecting the CPU 11 of the program analysis device 1 and an external device 72 such as a USB device. From the external device 72 side, for example, a machining program used for controlling a machine tool, each parameter, and the like can be read. Further, the machining program and each parameter edited in the program analysis device 1 can be stored in the external storage means via the external device 72.
  • the PLC (programmable logic controller) 16 is a sequence program built in the program analysis device 1 and is attached to a machine tool and peripheral devices of the machine tool (for example, a tool changer, an actuator such as a robot, or a machine tool). A signal is output to and controlled via the I / O unit 17 (such as a sensor). Further, the PLC 16 receives signals from various switches and peripheral devices of the operation panel installed in the main body of the industrial machine, performs necessary signal processing, and then passes the signals to the CPU 11.
  • each data read into the memory data obtained as a result of executing a machining program, a system program, or the like are output and displayed via the interface 18.
  • the input device 71 composed of a keyboard, a pointing device, and the like passes commands, data, and the like based on operations by the operator to the CPU 11 via the interface 19.
  • the axis control circuit 30 for controlling the axis provided in the machine tool receives the axis movement command from the CPU 11 and outputs the axis command to the servo amplifier 40. In response to this command, the servo amplifier 40 drives the servomotor 50 that moves the shaft included in the machine tool.
  • the shaft servomotor 50 has a built-in position / speed detector.
  • the servomotor 50 feeds back the position / speed feedback signal from the position / speed detector to the axis control circuit 30, and performs position / speed feedback control.
  • FIG. 1 only one axis control circuit 30, servo amplifier 40, and servo motor 50 are shown, but in reality, only the number of axes provided in the machine tool to be controlled Be prepared.
  • three sets of axis control that relatively move the spindle to which the tool is attached and the workpiece in three orthogonal axes (X-axis, Y-axis, Z-axis).
  • the circuit 30, the servo amplifier 40, and the servo motor 50 are prepared.
  • the spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61. In response to this spindle speed signal, the spindle amplifier 61 rotates the spindle motor 62 of the machine tool at the commanded rotation speed to drive the tool.
  • a position coder 63 is coupled to the spindle motor 62. The position coder 63 outputs a feedback pulse in synchronization with the rotation of the spindle. The feedback pulse is read by the CPU 11.
  • FIG. 2 shows a schematic block diagram of the functions provided by the program analysis device 1 according to the first embodiment of the present invention.
  • Each function included in the program analysis device 1 according to the present embodiment is realized by the CPU 11 included in the program analysis device 1 shown in FIG. 1 executing a system program and controlling the operation of each part of the program analysis device 1. ..
  • the program analysis device 1 of the present embodiment includes a program analysis unit 100, a tool information acquisition unit 110, a machining command confirmation unit 120, a determination result output unit 130, and a control unit 140. Further, the processing program 200 acquired from the input device 71, the external device 72, etc. is stored in advance in the RAM 13 to the non-volatile memory 14 of the program analysis device 1. Further, in the RAM 13 to the non-volatile memory 14 of the program analysis device 1, a tool information storage unit 210, which is an area in which information related to the tool is stored in advance, is prepared in advance.
  • the program analysis unit 100 is realized by executing the system program read from the ROM 12 by the CPU 11 and performing arithmetic processing mainly by the CPU 11 using the RAM 13 and the non-volatile memory 14.
  • the program analysis unit 10 pre-reads and analyzes the operation command block of the machine tool 2 from the machining program 200.
  • the program analysis unit 100 creates command data for instructing the operation of the servomotor 50 and the spindle motor 62 included in the machine tool 2 based on the analysis result.
  • the program analysis unit 100 outputs the created command data to the machining command confirmation unit 120. Further, the program analysis unit 100 extracts a tool selection command (T code) from the pre-read command and outputs the tool number of the tool selected by the tool selection command to the tool information acquisition unit 110.
  • T code tool selection command
  • the tool information acquisition unit 110 is realized by executing a system program read from the ROM 12 by the CPU 11 and performing arithmetic processing mainly by the CPU 11 using the RAM 13 and the non-volatile memory 14.
  • the tool information acquisition unit 110 acquires information related to the tool selected by the tool selection command extracted by the program analysis unit 100.
  • the tool information acquisition unit 110 may acquire information related to the tool corresponding to the tool number from the tool information storage unit 210 based on the tool number input from the program analysis unit 100.
  • the information related to the tool acquired by the tool information acquisition unit 110 includes, for example, a command that can be executed when the tool is selected, a command that cannot be executed when the tool is selected, a feed direction that can be cut by the tool, and the like. Includes information related to commands during machining with the tool, such as feed directions that cannot be cut by the tool, tool compensation that can be specified for the tool, tool compensation that cannot be specified for the tool, mounting posture of the tool, and so on.
  • the processing command confirmation unit 120 is realized by executing the system program read from the ROM 12 by the CPU 11 and performing arithmetic processing mainly by the CPU 11 using the RAM 13 and the non-volatile memory 14.
  • the machining command confirmation unit 120 determines the consistency of the command by the machining program 200 analyzed by the program analysis unit 100 based on the information related to the tool acquired by the tool information acquisition unit 110.
  • the machining command confirmation unit 120 extracts a command to be executed in a state where the tool is selected by the tool selection command from the commands given by the machining program 200.
  • the machining command confirmation unit 120 determines the consistency of the extracted command based on the information related to the selected tool.
  • the machining command confirmation unit 120 includes at least one of a command code confirmation unit 122, a feed direction confirmation unit 124, and a tool attitude confirmation unit 126.
  • the command code confirmation unit 122 determines the consistency of the command in the machining program 200 based on the information related to the command code included in the information related to the tool acquired by the tool information acquisition unit 110.
  • the information related to the tool acquired by the tool information acquisition unit 110 includes, for example, information related to a command that can be executed in a state where the tool is selected (hereinafter referred to as "executable command information"), and the machining program 200. If the command executed with the tool selected by the tool selection command includes a command not included in the executable command information, the command code confirmation unit 122 will perform the command. Is determined to be an inconsistent command.
  • the command code confirmation unit 122 includes information related to the tool acquired by the tool information acquisition unit 110, for example, information related to a command that should not be executed in a state where the tool is selected (hereinafter, referred to as non-executable command information). Is included, and among the commands given by the machining program 200, the commands executed with the tool selected by the tool selection command include the commands included in the non-executable command information. If so, it is determined that the directive is inconsistent.
  • the feed direction confirmation unit 124 determines the consistency of the feed direction according to the command in the machining program 200 based on the information related to the feed direction included in the information related to the tool acquired by the tool information acquisition unit 110.
  • the information related to the tool acquired by the tool information acquisition unit 110 includes, for example, information related to the feed direction that can be cut by the tool (hereinafter, cuttable feed direction information), and among the commands given by the machining program 200,
  • cuttable feed direction information information related to the feed direction that can be cut by the tool
  • the feed direction confirmation unit 124 sets the feed direction confirmation unit 124. The command is judged to be an inconsistent command.
  • the information related to the tool acquired by the tool information acquisition unit 110 includes, for example, information related to a feed direction that cannot be cut by the tool (hereinafter, information on the feed direction that cannot be cut by the tool), among the commands given by the machining program 200. If the command executed with the tool selected by the tool selection command includes a command to feed the cutting in the direction included in the non-cutting feed direction information, the feed direction confirmation unit 124 , Judge the command as an inconsistent command.
  • the tool posture confirmation unit 126 uses the tool posture according to the command in the machining program 200 and the coordinate system according to the machining program 200 based on the information related to the tool mounting posture and the like included in the information related to the tool acquired by the tool information acquisition unit 110. Judge the consistency with the specification of.
  • the information related to the tool mounting posture acquired by the tool information acquisition unit 110 includes, for example, the maximum angle of inclination of the tool (hereinafter, the maximum angle of inclination of the tool), and the tool is selected by the tool selection command. If there is a command to change the tool posture so that the tilt of the tool is equal to or greater than the maximum angle of the tool tilt among the commands executed in the state, the tool posture confirmation unit 126 commands the command to be inconsistent. Is determined.
  • a command for changing the tool posture for example, driving the rotating B-axis to change the tool posture. If neither the tilt command nor the command to change the feature coordinate system according to the changed tool posture appears, the tool posture confirmation unit 126 determines that these commands are inconsistent commands.
  • the machining command confirmation unit 120 causes the determination result output unit 130 to display that if there is a command in the machining program 200 that is determined to be inconsistent. Output. Further, the machining command confirmation unit 120 according to the present embodiment outputs command data related to consistent commands to the control unit 140. On the other hand, when it is determined that there is an inconsistent command, the machining command confirmation unit 120 commands the control unit 140 to interrupt the execution of the control operation related to machining by the machine tool 2.
  • the determination result output unit 130 executes the system program read from the ROM 12 by the CPU 11, and mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14 by the CPU 11 and input / output processing using the interfaces 18 and 19. It is realized by.
  • the determination result output unit 130 displays and outputs the determination result of the consistency of the command in the processing program 200 by the processing command confirmation unit 120 to the display device 70.
  • the determination result output unit 130 may output the information on the tool selected when the command determined to be inconsistent is executed together with the determination result of consistency.
  • the determination result output unit 130 may output the consistency determination result by the machining command confirmation unit 120 to the non-volatile memory 14 as a log. Further, the determination result output unit 130 may transmit and output the consistency determination result by the machining command confirmation unit 120 to a management device such as a host computer via a network (not shown).
  • the control unit 140 executes a system program read from the ROM 12 by the CPU 11, mainly performs arithmetic processing using the RAM 13 and the non-volatile memory 14 by the CPU 11, and a machine tool using the axis control circuit 30, the spindle control circuit 60, and the PLC 16. It is realized by performing the control processing of each part of 2.
  • the control unit 140 controls each unit of the machine tool 2 based on the command data analyzed by the program analysis unit 100.
  • the control unit 140 generates data related to the movement of the axes based on, for example, a command to move each axis of the machine tool 2, and outputs the data to the servomotor 50.
  • control unit 140 generates data related to the rotation of the spindle based on, for example, a command to rotate the spindle of the machine tool 2, and outputs the data to the spindle motor 62. Further, the control unit 140 generates a predetermined signal for operating the peripheral device based on a command for operating the peripheral device of the machine tool 2, for example, and outputs the signal to the PLC 16. On the other hand, the control unit 140 acquires the states of the servomotor 50 and the spindle motor 62 (motor current value, position, speed, acceleration, torque, etc.) as feedback values and uses them for each control process.
  • FIG. 4 shows the operation of the program analysis device 1 when the end mill tool (tool number 04) is originally intended to be used in the machining program, but the drill tool (tool number 01) is mistakenly selected by the tool selection command. Is illustrated.
  • the tool information storage unit 210 among the tool information related to the drill tool in advance, G code such as G00, G01, G81 and M code such as M03 are used as executable command information, and Z-axis negative direction is used as the machinable feed direction (Z-axis negative direction). -Z) is stored. Then, the operator intended to write a program for machining using the end mill tool, and created a machining program in which T01 (drill tool) was mistakenly selected by the tool selection command as illustrated on the left side of FIG. bottom.
  • the program analysis device 1 instructed to execute such a machining program sequentially pre-reads the machining program. Then, it is determined that the drill tool having the tool number 01 is selected by the T01 command, and the tool information acquisition unit 110 acquires information related to the drill tool from the tool information storage unit 210. Then, based on the acquired information related to the tool, the machining command confirmation unit 120 determines the consistency of the command of the machining program.
  • the command code confirmation unit 122 Since the command code confirmation unit 122 includes the M03 command, the G00 command, and the G01 command in the executable command information of the information related to the tool, it is determined that these commands are consistent commands. .. On the other hand, the command code confirmation unit 122 determines that the G03 command is an inconsistent command because it is not included in the executable command information of the information related to the tool.
  • the feed direction confirmation unit 124 is a command (“G01 Z-” whose feed direction coincides with the Z-axis negative direction which is the machinable feed direction. 5.0 F45.0; ”) is judged to be a consistent command.
  • the commands (“G01 X3.0;” and "G03 X5.0 Y5.0;”) whose feed direction does not match the Z-axis negative direction, which is the machinable feed direction, are inconsistent commands. Judge that there is.
  • the tool posture confirmation unit 126 determines the consistency based on the tool posture of the drill tool. In the example of FIG. 4, since the command for changing the tool posture and the command for changing the coordinate system are not given, it is determined that all the commands are consistent.
  • the command (“G01 X3.0;” and “G03 X5.0 Y5.0;”) determined to be a command that is inconsistent at any point is the selected tool (drill tool).
  • the determination result output unit 130 displays and outputs the determination result to the display device 70.
  • the operator can see this display and review the inconsistent commands and selected tools. For example, the operator who sees this display can change the tool selection command so as to select the correct tool, the end mill tool (tool number T04), and correct the machining program.
  • FIG. 5 shows a program analysis device 1 in the case where three-dimensional coordinate conversion is not performed when drilling a hole in an inclined surface of a work using an inclined head drill tool (tool number 01) in a processing program. Illustrates the operation of.
  • G code such as G00, G01, G81 and M code such as M03 are used as executable command information
  • Z-axis negative direction is used as the machinable feed direction (Z-axis negative direction). -Z) is stored.
  • the program analysis device 1 instructed to execute such a machining program sequentially pre-reads the machining program. Then, it is determined that the drill tool having the tool number 01 is selected by the T01 command, and the tool information acquisition unit 110 acquires the information related to the drill tool from the tool information storage unit 210. Then, based on the acquired information related to the tool, the machining command confirmation unit 120 determines the consistency of the command of the machining program.
  • the command code confirmation unit 122 determines that these commands are consistent commands.
  • the feed direction confirmation unit 124 is a command (“G01 Z-5.0”) in which the feed direction coincides with the Z-axis negative direction, which is the machinable feed direction, among the cutting feed commands (G01 command in the example of FIG. 5). It is determined that the command is consistent with respect to F45.0; ”).
  • the tool posture confirmation unit 126 determines the consistency based on the tool posture of the drill tool of the inclined head.
  • the command (“G00 B30.0;”) relating to the change of the tool posture is executed.
  • the three-dimensional coordinate conversion command corresponding to this is not executed. Therefore, the tool posture confirmation unit 126 determines that the command for changing the tool posture and the subsequent feed command are inconsistent commands.
  • the command determined to be an inconsistent command at any point is displayed by the determination result output unit 130 together with the information of the selected tool (drill tool of the inclined head). It is displayed and output to.
  • the operator can see this display and review the inconsistent commands and selected tools. For example, the operator who sees this display adds the three-dimensional coordinate conversion command "G68 X0. Y0. Z0. I0. J1. K0. R30 .;” after "G00 B30.0;”. It can be modified to the correct machining program.
  • the program analysis device 1 can determine the consistency of commands according to the tool selected in the machining program. Therefore, the operator can review the machining program without much effort. Therefore, it is possible to prevent damage to the tool / work in advance due to a tool selection error, a command related to machining, a programming error such as a feed direction, and the like.
  • the program analysis device 1 may use the information of the work to be machined to determine the consistency of the command of the machining program.
  • the G00 command is processed as a fast-forward command
  • the G01 command is processed as a cutting feed command.
  • the G00 command is used in the path where the work is not machined
  • the G01 command is used in the path where the work is machined.
  • the G01 command may be used in a path where the workpiece is not processed.
  • the work information including the information such as the size and shape of the work is acquired, and the machining command confirmation unit 120 treats the cutting feed command executed at the position where the tool and the work do not contact as if it is not the cutting feed. You can do it.
  • the feed direction confirmation unit 124 included in the machining command confirmation unit 120 determines that the cutting feed command that does not involve contact between the tool and the work is consistent. As illustrated in FIG. 6, when machining a work with an external tool, if the work escapes from the work by the G01 command (cutting feed command), the cutting feed is performed in a direction not included in the workable feed direction information. It is said.
  • the feed direction confirmation unit 124 makes a determination in consideration of the work information, so that "G01 X5.0 Z30 .;" in FIG. 6 is determined as a consistent command. .. This makes it possible to more flexibly determine the consistency of the cutting feed command.
  • FIG. 7 is a schematic hardware configuration diagram showing a program analysis device according to the second embodiment of the present invention.
  • the program analysis device 1 is mounted on a computer connected to a machine tool (a control device for controlling the machine tool) via a network is shown.
  • the program analysis device 1 according to the present embodiment constitutes a control system 300 connected to a machine tool (a control device for controlling the machine tool) via a network.
  • the program analysis device 1 includes a CPU 11, a ROM 12, a RAM 13, and a non-volatile memory 14, and has a display device 70 and an input device 71 via interfaces 18 and 19. Input / output processing is performed between and.
  • the interface 20 is an interface for connecting the CPU 11 of the program analysis device 1 according to the present embodiment and the wired or wireless network 5.
  • the network 5 is connected to a machine tool 2, a fog computer 6, a cloud server 7, and the like, and these devices and a program analysis device 1 exchange data with each other.
  • FIG. 8 shows a schematic block diagram of the functions provided by the program analysis device 1 according to the second embodiment of the present invention.
  • Each function included in the program analysis device 1 according to the present embodiment is realized by the CPU 11 included in the program analysis device 1 shown in FIG. 1 executing a system program and controlling the operation of each part of the program analysis device 1. ..
  • the program analysis device 1 of the present embodiment includes a program analysis unit 100, a tool information acquisition unit 110, a machining command confirmation unit 120, a determination result output unit 130, and a communication unit 150. Further, the processing program 200 acquired from the input device 71, the external device 72, etc. is stored in advance in the RAM 13 to the non-volatile memory 14 of the program analysis device 1. Further, in the RAM 13 to the non-volatile memory 14 of the program analysis device 1, a tool information storage unit 210, which is an area in which information related to the tool is stored in advance, is prepared in advance.
  • the program analysis unit 100, the tool information acquisition unit 110, the machining command confirmation unit 120, and the determination result output unit 130 included in the program analysis device 1 according to the present embodiment have the same functions as each unit provided in the program analysis device 1 according to the first embodiment. To be equipped.
  • the communication unit 150 is realized by executing a system program read from the ROM 12 by the CPU 11 and mainly performing arithmetic processing using the RAM 13 and the non-volatile memory 14 by the CPU 11 and input / output processing using the interface 20. ..
  • the communication unit 150 transmits / receives the machining program 200 to / from the machine tool 2, the fog computer 6, the cloud server 7, a program creation device (not shown), a simulation device, a CAD / CAM device, etc., and determines the consistency with the machining program 200. Send the result.
  • the machining command confirmation unit 120 determines that some of the commands in the machining program 200 are inconsistent, the communication unit 150 so as to interrupt the execution of the operation related to machining to the machine tool 2.
  • the command may be transmitted from the network via the network.
  • the program analysis device 1 includes a machining program executed by the machine tool 2, a machining program stored in a fog computer 6, a cloud server 7, and the like, a program creation device (not shown), a simulation device, and a CAD. / It is possible to receive a machining program created by a CAM device or the like, determine the consistency of commands in the received machining program, and send back the determination result. Therefore, it is possible to determine the consistency of the machining program before actually executing the machining program on the control device and correct it to the correct program.
  • the program analysis device 1 includes the tool information storage unit 210 on the internal memory.
  • the tool information storage unit 210 may be provided in an external host computer, fog computer, cloud server, or the like so as to acquire the tool information via the network.
  • the tool information may be shared among a plurality of program analysis devices 1.
  • tool information shared by a plurality of factories can be centrally maintained.

Landscapes

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

Abstract

加工プログラムから解析可能な加工に係る指令の整合性を簡易に検出する技術を提供すること。 本開示のプログラム解析装置1は、加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部100と、選択された工具に対応する工具に係る情報を取得する工具情報取得部110と、工具情報取得部110が取得した工具に係る情報に基づいて、工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部120と、を備える。

Description

プログラム解析装置及び制御システム
 本発明は、プログラム解析装置及び制御システムに関し、特に工具に係る情報を元に加工プログラムによる指令の整合性を判定する機能を有するプログラム解析装置及び制御システムに関する。
 工作機械を制御する制御装置は、加工プログラムに従って工作機械が備える各軸の動作を制御する。オペレータは、工作機械、加工対象となるワーク及びワークを加工する工具を確認しながら、加工プログラム編集機能等を用いて加工プログラムを作成している(例えば、特許文献1等)。
 加工プログラムでは、使用する工具の工具番号をTコードで指定する。図10は、工具番号と工具の対応関係を例示する図である。例えば、加工プログラム中に「T02」が指定されると、当該コードが実行された際に工具番号02に対応するドリル(小)が選択される。オペレータは、図10に例示されるような工具番号の表を見ながら、加工プログラムを作成する。
特開2017-111516号公報
 上記したように、工具番号を表で確認しながら加工プログラムを作成する場合、工具番号表を目視で確認して加工プログラムにコードを書き込むことになる。しかしながら、確認の際に見間違いや見落としが起きると、誤った工具を選択してしまう等といったことが生じる。そして、選択する工具を間違えること等が原因で加工プログラムによる指令の整合性が取れなくなった場合、加工中に工具とワークとが衝突して工具乃至ワークが破損する等の問題が生じる。
 図11は、加工プログラムによる工具の選択を間違えた場合の例を示す図である。図11の例では、オペレータが本来エンドミル工具(工具番号05)を選択するつもりであった。しかし、間違ってドリル工具(工具番号02)が選択されている。エンドミル工具は、一般に工具の先端及び側面に刃を備えており、工具を横方向に移動させてワークを加工することができる。また、工具を縦方向に移動させてワークを加工することもできる。これに対してドリル工具は、一般に工具の先端にのみ刃を備えている。そのため、工具を縦方向に移動させてワークを加工することはできるが、工具を横方向に移動させてワークを加工することができない。そのため、エンドミル工具とドリル工具とを間違って選択し、エンドミル工具のつもりでドリル工具を用いた場合、工具乃至ワークを破損してしまうおそれがある。例えば図11における「G01 X5.0;」の指令に見られるようにドリル工具を横方向に切削送りしてワークを加工しようとすると、ドリル工具の刃のない部分がワークと接触し、工具乃至ワークが破損する。
 このような間違いが生じないように、加工プログラムを作成する際にオペレータは、工具番号表と加工プログラムとを突合わせてその整合性を逐次確認する必要がある。しかしながら、この作業はオペレータにとって大きな手間となる。また、加工プログラムを作成する際に、試運転を繰り返して工具の選択と、選択された工具を用いた加工に係る動作の整合性を確認することも考えられる。しかしながら、試運転作業には時間が掛かるため、この作業を最小限にとどめたいという要望がある。
 そこで、加工プログラムから解析可能な加工に係る指令の整合性の良否を簡易に確認できる技術が望まれている。
 本発明の一態様によるプログラム解析装置及び制御システムは、工具を選択した後に、当該工具の特性等の情報を含む加工情報に基づいて、その工具を選択した状態で行われる指令の種類や送り方向、工具の向き等の整合性を判定することにより、上記課題を解決する。
 そして、本発明の一態様は、工具情報を元に加工プログラムの整合性を判定するプログラム解析装置であって、加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、を備えたプログラム解析装置である。
 本発明の他の態様は、工具情報を元に加工プログラムの整合性を判定する制御システムであって、加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、を備えた制御システムである。
 本発明の一態様により、加工プログラムにおいて選択された工具に応じて、指令の整合性を判定することで、送り方向等のプログラムミスによる工具・ワークの破損を防止できる。
第1実施形態によるプログラム解析装置の概略的なハードウェア構成図である。 第1実施形態によるプログラム解析装置の概略的な機能ブロック図である。 加工指令確認部が備える機能を概略的に示した図である。 加工プログラムの整合性を判定する例を示す図である。 加工プログラムの整合性を判定する他の例を示す図である。 ワーク情報を用いた場合の整合性判定の例を示す図である。 第2実施形態によるプログラム解析装置の概略的なハードウェア構成図である。 第2実施形態によるプログラム解析装置の概略的な機能ブロック図である。 一変形例によるプログラム解析装置の概略的な機能ブロック図である。 工具番号と工具の対応を例示する図である。 プログラムの整合性が取れていないことが原因で工具とワークとが衝突する例を示す図である。
 以下、本発明の実施形態を図面と共に説明する。
 図1は本発明の第1実施形態によるプログラム解析装置を示す概略的なハードウェア構成図である。本発明のプログラム解析装置1は、例えば工作機械等の加工を行う産業機械を制御する制御装置に実装することができる。また、本実施形態のプログラム解析装置1は、例えば工作機械を制御する制御装置と有線/無線のネットワークを介して接続されたパソコン、フォグコンピュータ、クラウドサーバ等に実装することができる。
本実施形態では、プログラム解析装置1を、工作機械を制御する制御装置に実装した例を示す。
 本実施形態のプログラム解析装置1が備えるCPU11は、プログラム解析装置1を全体的に制御するプロセッサである。CPU11は、バス22を介してROM12に格納されたシステム・プログラムを読み出す。CPU11は、該システム・プログラムに従ってプログラム解析装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
 不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成される。不揮発性メモリ14は、プログラム解析装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたデータや加工プログラムが記憶される。また、不揮発性メモリ14には、入力装置71を介して入力されたデータや加工プログラム、工作機械から取得される各データ等が記憶される。不揮発性メモリ14に記憶されたデータや加工プログラムは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
 インタフェース15は、プログラム解析装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば工作機械の制御に用いられる加工プログラムや各パラメータ等を読み込むことができる。また、プログラム解析装置1内で編集した加工プログラムや各パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PLC(プログラマブル・ロジック・コントローラ)16は、プログラム解析装置1に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、工作機械に取付けられているセンサ等)にI/Oユニット17を介して信号を出力し制御する。また、PLC16は、産業機械の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け、必要な信号処理をした後、CPU11に渡す。
 表示装置70には、メモリに読み込まれた各データ、加工プログラムやシステム・プログラム等が実行された結果として得られたデータ等がインタフェース18を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、インタフェース19を介して作業者による操作に基づく指令、データ等をCPU11に渡す。
 工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵している。サーボモータ50は、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。
なお、図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。例えば、一般的な工作機械を制御する場合には、工具が取り付けられた主軸とワークとを直交3軸(X軸,Y軸,Z軸)方向へと相対的に移動させる3組の軸制御回路30、サーボアンプ40、サーボモータ50が用意される。
 スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合されている。ポジションコーダ63は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスはCPU11によって読み取られる。
 図2は、本発明の第1実施形態によるプログラム解析装置1が備える機能を概略的なブロック図として示したものである。本実施形態によるプログラム解析装置1が備える各機能は、図1に示したプログラム解析装置1が備えるCPU11がシステム・プログラムを実行し、プログラム解析装置1の各部の動作を制御することにより実現される。
 本実施形態のプログラム解析装置1は、プログラム解析部100、工具情報取得部110、加工指令確認部120、判定結果出力部130、制御部140を備える。また、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、入力装置71、外部機器72等から取得した加工プログラム200が予め記憶される。更に、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、工具に係る情報が予め記憶された領域である工具情報記憶部210が予め用意されている。
 プログラム解析部100は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。プログラム解析部10は、加工プログラム200から工作機械2の動作指令のブロックを先読みして解析する。プログラム解析部100は、その解析結果に基づいて工作機械2が備えるサーボモータ50やスピンドルモータ62の動作を指令する指令データを作成する。プログラム解析部100は、作成した指令データを、加工指令確認部120へ出力する。また、プログラム解析部100は、先読みした指令から工具選択指令(Tコード)を抽出し、当該工具選択指令により選択される工具の工具番号を工具情報取得部110へ出力する。
 工具情報取得部110は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。工具情報取得部110は、プログラム解析部100が抽出した工具選択指令により選択される工具に係る情報を取得する。工具情報取得部110は、プログラム解析部100から入力された工具番号に基づいて、工具情報記憶部210から当該工具番号に対応する工具に係る情報を取得するようにしても良い。工具情報取得部110が取得する工具に係る情報は、例えば当該工具が選択された状態で実行可能な指令、当該工具が選択された状態で実行できない指令、当該工具により切削可能な送り方向、該工具により切削不可な送り方向、当該工具に指定可能な工具補正、当該工具に指定できない工具補正、当該工具の取り付け姿勢等のような、当該工具による加工時の指令に係る情報を含む。
 加工指令確認部120は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。加工指令確認部120は、工具情報取得部110が取得した工具に係る情報に基づいて、プログラム解析部100が解析した加工プログラム200による指令の整合性を判定する。加工指令確認部120は、加工プログラム200による指令の内で、工具選択指令により工具が選択された状態で実行される指令を抽出する。加工指令確認部120は、その抽出した指令について、選択された工具に係る情報に基づいて整合性を判定する。加工指令確認部120は、図3に示されるように、指令コード確認部122、送り方向確認部124、工具姿勢確認部126の少なくともいずれかを備える。
 指令コード確認部122は、工具情報取得部110が取得した工具に係る情報に含まれる指令コードに係る情報に基づいて、加工プログラム200における指令の整合性を判定する。工具情報取得部110が取得した工具に係る情報に、例えば工具が選択された状態で実行可能な指令に係る情報(以下、実行可能指令情報とする)が含まれており、かつ、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、実行可能指令情報に入っていない指令が含まれている場合、指令コード確認部122は、当該指令を整合性が取れていない指令と判定する。また、指令コード確認部122は、工具情報取得部110が取得した工具に係る情報に、例えば工具が選択された状態で実行してはいけない指令に係る情報(以下、実行不可指令情報とする)が含まれており、かつ、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、実行不可指令情報に入っている指令が含まれている場合、当該指令を整合性が取れていない指令と判定する。
 送り方向確認部124は、工具情報取得部110が取得した工具に係る情報に含まれる送り方向に係る情報に基づいて、加工プログラム200における指令による送り方向の整合性を判定する。工具情報取得部110が取得した工具に係る情報に、例えば工具により切削可能な送り方向に係る情報(以下、切削可能送り方向情報)が含まれており、かつ、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、切削可能送り方向情報に入っていない方向へ切削送りをする指令が含まれている場合、送り方向確認部124は、当該指令を整合性が取れていない指令と判定する。また、工具情報取得部110が取得した工具に係る情報に、例えば工具により切削不可な送り方向に係る情報(以下、切削不可送り方向情報)が含まれている場合、加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、切削不可送り方向情報に入っている方向へ切削送りをする指令が含まれている場合、送り方向確認部124は、当該指令を整合性が取れていない指令と判定する。
 工具姿勢確認部126は、工具情報取得部110が取得した工具に係る情報に含まれる工具の取り付け姿勢等に係る情報に基づいて、加工プログラム200における指令による工具姿勢と、加工プログラム200による座標系の指定との間の整合性を判定する。工具情報取得部110が取得した工具の取り付け姿勢に係る情報として、例えば工具の傾きの最大角度(以下、工具傾き最大角度)が含まれており、かつ、工具選択指令により当該工具が選択された状態で実行される指令の中に、工具の傾きを工具傾き最大角度以上となるように工具姿勢を変更する指令がある場合、工具姿勢確認部126は、当該指令を整合性が取れていない指令と判定する。また、例えば加工プログラム200による指令の内、工具選択指令により当該工具が選択された状態で実行される指令の中に、工具姿勢を変更する指令、例えば、回転B軸を駆動して工具姿勢を傾ける指令と、変更された工具姿勢に合わせてフィーチャ座標系を変更する指令とが、共に現れない場合に、工具姿勢確認部126は、これらの指令を整合性が取れていない指令と判定する。
 加工指令確認部120は、整合性の判定を行った結果、加工プログラム200における指令に整合性が取れていないと判定されるものがある場合、その旨を表示するように判定結果出力部130に出力する。また、本実施形態による加工指令確認部120は、整合性が取れている指令に係る指令データを制御部140に出力する。一方、加工指令確認部120は、整合性が取れていない指令があると判定した場合には、工作機械2による加工に係る制御動作の実行を中断するように制御部140に指令する。
 判定結果出力部130は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース18,19を用いた入出力処理が行われることで実現される。判定結果出力部130は、加工指令確認部120による加工プログラム200における指令の整合性の判定結果を、表示装置70に表示出力する。判定結果出力部130は、整合性の判定結果とともに、整合性が取れていないとされた指令が実行される際に選択されている工具の情報を合わせて出力するようにしても良い。判定結果出力部130は、加工指令確認部120による整合性の判定結果を、不揮発性メモリ14に対してログとして出力しても良い。また、判定結果出力部130は、加工指令確認部120による整合性の判定結果を、図示しないネットワークを介してホストコンピュータ等の管理装置に送信出力するようにしても良い。
 制御部140は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、軸制御回路30、スピンドル制御回路60、PLC16を用いた工作機械2の各部の制御処理が行われることで実現される。制御部140は、プログラム解析部100が解析した指令データに基づいて、工作機械2の各部を制御する。制御部140は、例えば工作機械2の各軸を移動させる指令に基づいて軸の移動に係るデータを生成してサーボモータ50に出力する。また、制御部140は、例えば工作機械2の主軸を回転させる指令に基づいて主軸の回転に係るデータを生成してスピンドルモータ62に出力する。更に、制御部140は、例えば工作機械2の周辺装置を動作させる指令に基づいて該周辺装置を動作させる所定の信号を生成してPLC16に出力する。一方で、制御部140は、サーボモータ50やスピンドルモータ62の状態(モータの電流値、位置、速度、加速度、トルク等)をフィードバック値として取得して各制御処理に使用する。
 上記構成を備えたプログラム解析装置の動作例を、図4,5を用いて説明する。
 図4は、加工プログラムにおいて、本来エンドミル工具(工具番号04)を使用するつもりが、工具選択指令で誤ってドリル工具(工具番号01)を選択してしまった場合の、プログラム解析装置1の動作を例示している。なお、工具情報記憶部210には、予めドリル工具に関する工具情報のうち、実行可能指令情報としてG00、G01、G81等のGコードやM03等のMコード、切削可能送り方向としてZ軸負方向(-Z)が記憶されている。そして、オペレータは、エンドミル工具を用いた加工を行うためのプログラムを書いたつもりで、図4左に例示されるように、誤って工具選択指令でT01(ドリル工具)を選択した加工プログラムを作成した。
 このような加工プログラムを実行するように指令された本実施形態によるプログラム解析装置1は、加工プログラムを逐次先読みする。そして、T01指令で工具番号01のドリル工具が選択されたと判断し、工具情報取得部110が、ドリル工具に係る情報を工具情報記憶部210から取得する。そして、取得した工具に係る情報に基づいて、加工指令確認部120が加工プログラムの指令の整合性を判定する。
 指令コード確認部122は、M03指令、G00指令、G01指令については、工具に係る情報の実行可能指令情報に含まれているため、これらの指令は整合性が取れている指令であると判定する。一方で、指令コード確認部122は、G03指令については、工具に係る情報の実行可能指令情報に含まれていないため、当該指令は整合性が取れていない指令であると判定する。
 送り方向確認部124は、切削送り指令(図4の例では、G01指令,G03指令)の内で、その送り方向が切削可能送り方向であるZ軸負方向に一致する指令(「G01 Z-5.0 F45.0;」)については整合性が取れている指令であると判定する。一方で、送り方向が切削可能送り方向であるZ軸負方向に一致しない指令(「G01 X3.0;」及び「G03 X5.0 Y5.0;」)については整合性が取れていない指令であると判定する。
 工具姿勢確認部126は、ドリル工具の工具姿勢に基づいて整合性の判定を行う。図4の例では、工具姿勢の変更に係る指令や座標系の変更指令がされていないので、全ての指令で整合性が取れていると判定する。
 そして、いずれかの点で整合性が取れていない指令であると判定された指令(「G01 X3.0;」及び「G03 X5.0 Y5.0;」)は、選択された工具(ドリル工具)の情報と共に判定結果出力部130により表示装置70にその判定結果が表示出力される。オペレータはこの表示を見て、整合性が取れていないとされた指令及び選択工具について見直しをすることができる。例えば、この表示を見たオペレータは、正しい工具であるエンドミル工具(工具番号T04)を選択するように工具選択指令を変更して、正しい加工プログラムへと修正することができる。
 図5は、加工プログラムにおいて、傾斜ヘッドのドリル工具(工具番号01)を用いてワークの傾斜面に対して穴あけ加工をする場合に、三次元座標変換を行わなかった場合の、プログラム解析装置1の動作を例示している。なお、工具情報記憶部210には、予めドリル工具に関する工具情報のうち、実行可能指令情報としてG00、G01、G81等のGコードやM03等のMコード、切削可能送り方向としてZ軸負方向(-Z)が記憶されている。
 このような加工プログラムを実行するように指令された本実施形態によるプログラム解析装置1は、加工プログラムを逐次先読みする。そして、T01指令で工具番号01のドリル工具が選択されたと判断し、工具情報取得部110が、ドリル工具に係る情報を工具情報記憶部210から取得する。そして、取得した工具に係る情報に基づいて、加工指令確認部120が加工プログラムの指令の整合性を判定する。
 指令コード確認部122は、M03指令、G00指令、G01指令は、工具に係る情報の実行可能指令情報に含まれているため、これらの指令は整合性が取れている指令であると判定する。
 送り方向確認部124は、切削送り指令(図5の例では、G01指令)の内で、その送り方向が切削可能送り方向であるZ軸負方向に一致する指令(「G01 Z-5.0 F45.0;」)について整合性が取れている指令であると判定する。
 一方で、工具姿勢確認部126は、傾斜ヘッドのドリル工具の工具姿勢に基づいて整合性の判定を行う。図5の例では、工具姿勢の変更に係る指令(「G00 B30.0;」)が実行されている。しかし、これに合わせた三次元座標変換指令が実行されない。そのため、工具姿勢確認部126は、工具姿勢の変更にかかる指令及びそれ以降の送り指令は整合性が取れていない指令と判定する。
 そして、いずれかの点で整合性が取れていない指令であると判定された指令は、選択された工具(傾斜ヘッドのドリル工具)の情報と共に判定結果出力部130によりその判定結果が表示装置70に表示出力される。オペレータはこの表示を見て、整合性が取れていないとされた指令及び選択工具について見直しをすることができる。例えば、この表示を見たオペレータは、「G00 B30.0;」の後ろに三次元座標変換指令である「G68 X0. Y0. Z0. I0. J1. K0. R30.;」を追加して、正しい加工プログラムへと修正することができる。
 上記構成を備えた本実施形態によるプログラム解析装置1は、加工プログラムにおいて選択された工具に応じた指令の整合性を判定することができる。そのため、オペレータが大きな労力をかけること無く加工プログラムの見直しを行うことが可能となる。そのため、工具の選択ミスや、加工に係る指令、送り方向等のプログラムミスによる工具・ワークの破損を事前に防止できる。
 本実施形態によるプログラム解析装置1の一変形例として、プログラム解析装置1は、加工プログラムの指令の整合性の判定に、加工対象となるワークの情報を利用するようにしても良い。制御装置では、G00指令は早送り指令、G01指令は切削送り指令として処理される。加工プログラムを作成する際には、一般にワークを加工しない経路ではG00指令が、ワークを加工している経路ではG01指令が用いられる。ただし、場合によっては、ワークを加工しない経路においてG01指令を用いることもある。そこで、ワークの大きさや形状等の情報を含むワーク情報を取得し、加工指令確認部120は、工具とワークとが接触しない位置で実行される切削送り指令に関しては、切削送りでないものとして扱うようにして良い。この様に構成することで、例えば加工指令確認部120が備える送り方向確認部124は、工具とワークとの接触を伴わない切削送り指令については整合性が取れているものとして判定する。図6に例示されるように、外形バイト工具でワークを加工する際に、ワークからG01指令(切削送り指令)で逃げるような場合、加工可能送り方向情報に含まれない方向に切削送りが行われる。このような場合であっても、送り方向確認部124がワーク情報を考慮した判定を行うことで、図6における「G01 X5.0 Z30.;」は整合性が取れている指令として判定される。これにより、切削送り指令に関する整合性の判定をより柔軟に行うことが可能となる。
 図7は本発明の第2実施形態によるプログラム解析装置を示す概略的なハードウェア構成図である。本実施形態では、プログラム解析装置1を、工作機械(を制御する制御装置)とネットワークを介して接続されたコンピュータに実装した例を示している。
本実施形態によるプログラム解析装置1は、工作機械(を制御する制御装置)とネットワークを介して接続された制御システム300を構成する。
 本実施形態によるプログラム解析装置1は、第1実施形態によるプログラム解析装置1と同様に、CPU11、ROM12、RAM13、不揮発性メモリ14を備え、インタフェース18,19を介して表示装置70、入力装置71との間で入出力処理を行う。
 インタフェース20は、本実施形態によるプログラム解析装置1のCPU11と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、工作機械2や、フォグコンピュータ6、クラウドサーバ7等と接続され、これらの装置とプログラム解析装置1とが相互にデータのやり取りを行っている。
 図8は、本発明の第2実施形態によるプログラム解析装置1が備える機能を概略的なブロック図として示したものである。本実施形態によるプログラム解析装置1が備える各機能は、図1に示したプログラム解析装置1が備えるCPU11がシステム・プログラムを実行し、プログラム解析装置1の各部の動作を制御することにより実現される。
 本実施形態のプログラム解析装置1は、プログラム解析部100、工具情報取得部110、加工指令確認部120、判定結果出力部130、通信部150を備える。また、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、入力装置71、外部機器72等から取得した加工プログラム200が予め記憶される。更に、プログラム解析装置1のRAM13乃至不揮発性メモリ14には、工具に係る情報が予め記憶された領域である工具情報記憶部210が予め用意されている。
 本実施形態によるプログラム解析装置1が備えるプログラム解析部100、工具情報取得部110、加工指令確認部120、判定結果出力部130は、第1実施形態によるプログラム解析装置1が備える各部と同様の機能を備える。
 通信部150は、CPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、インタフェース20を用いた入出力処理が行われることで実現される。通信部150は、工作機械2、フォグコンピュータ6、クラウドサーバ7、図示しないプログラム作成装置、シミュレーション装置、CAD/CAM装置等との間で加工プログラム200の送受信や、加工プログラム200に対する整合性の判定結果の送信を行う。なお、加工指令確認部120は、加工プログラム200における指令に整合性が取れていないものがあると判定した場合、、工作機械2に対して加工に係る動作の実行を中断するように通信部150からネットワークを介して指令を送信するようにしても良い。
 上記構成を備えた本実施形態によるプログラム解析装置1は、工作機械2で実行される加工プログラムや、フォグコンピュータ6、クラウドサーバ7等が記憶する加工プログラム、図示しないプログラム作成装置、シミュレーション装置、CAD/CAM装置等で作成された加工プログラムを受信し、受信した加工プログラムにおける指令の整合性を判定し、その判定結果を送り返すことができる。そのため、実際に加工プログラムを制御装置で実行する前段階で加工プログラムの整合性を判定して、正しいプログラムへと修正することが可能となる。
 以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
 例えば、上記した第1,2実施形態によるプログラム解析装置1は、内部メモリ上に工具情報記憶部210を備えている。しかしながら、工具情報記憶部210を外部のホストコンピュータやフォグコンピュータ、クラウドサーバ等に設け、ネットワークを介して工具情報を取得するように構成しても良い。例えば図9に示されるように、クラウドサーバ7に工具情報記憶部210を設けることで、複数のプログラム解析装置1の間で工具情報を共有するようにしても良い。これにより、複数の工場で共有される工具情報を中央で一括してメンテナンスすることができる。
  1 プログラム解析装置
  2 工作機械
  5 ネットワーク
  6 フォグコンピュータ
  7 クラウドサーバ
  11 CPU
  12 ROM
  13 RAM
  14 不揮発性メモリ
  15,18,19,20 インタフェース
  16 PLC
  17 I/Oユニット
  22 バス
  30 軸制御回路
  40 サーボアンプ
  50 サーボモータ
  60 スピンドル制御回路
  61 スピンドルアンプ
  62 スピンドルモータ
  63 ポジションコーダ
  70 表示装置
  71 入力装置
  72 外部機器
  100 プログラム解析部
  110 工具情報取得部
  120 加工指令確認部
  122 指令コード確認部
  124 送り方向確認部
  126 工具姿勢確認部
  130 判定結果出力部
  140 制御部
  150 通信部
  200 加工プログラム
  210 工具情報記憶部
  300 制御システム

Claims (11)

  1.  工具情報を元に加工プログラムの整合性を判定するプログラム解析装置であって、
     加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、
     選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、
     前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、
    を備えたプログラム解析装置。
  2.  工具番号と、前記工具番号に対応する工具に係る情報とを関連付けて記憶する工具情報記憶部を更に備え、
     前記加工指令確認部は、前記プログラム解析部が抽出した工具を選択する指令により指定される工具番号に基づいて、前記工具情報記憶部から選択された前記工具に係る情報を取得する、
    請求項1に記載のプログラム解析装置。
  3.  前記加工指令確認部は、指令コード確認部を有し、
     前記指令コード確認部は、選択された前記工具に係る情報で示される指令コードに係る情報に基づいて、前記加工プログラムにおける指令の整合性を判定する、
    請求項1に記載のプログラム解析装置。
  4.  前記加工指令確認部は、送り方向確認部を有し、
     前記送り方向確認部は、選択された前記工具に係る情報で示される送り方向に係る情報に基づいて、前記加工プログラムにおける指令による送り方向の整合性を判定する、
    請求項1に記載のプログラム解析装置。
  5.  前記加工指令確認部は、工具姿勢確認部を有し、
     前記工具姿勢確認部は、選択された前記工具の実際の向きと、前記加工プログラムによる座標系の指定との間の整合性を判定する、
    請求項1に記載のプログラム解析装置。
  6.  前記加工指令確認部は、前記加工プログラムにより加工されるワークのワーク情報を取得し、取得した前記ワーク情報と前記加工プログラムとに基づいて、実際にワークを切削すると判断される送り指令に関する整合性を判定する、
    請求項3または4に記載のプログラム解析装置。
  7.  前記加工指令確認部が、整合性が取れていないと判定した時に、整合性が取れていない箇所を表示する表示部を更に備える、
    請求項1に記載のプログラム解析装置。
  8.  前記加工プログラムに基づいて加工を行う産業機械を制御する制御部を更に備え、
     前記加工指令確認部が、整合性が取れていないと判定した時に、前記制御部は前記産業機械の加工に係る制御を中断する、
    請求項1に記載のプログラム解析装置。
  9.  工具情報を元に加工プログラムの整合性を判定する制御システムであって、
     加工プログラムを解析し、工具を選択する指令を抽出するプログラム解析部と、
     選択された前記工具に対応する工具に係る情報を取得する工具情報取得部と、
     前記工具情報取得部が取得した工具に係る情報に基づいて、前記工具が選択された状態で実行される前記加工プログラムの指令の整合性を判定する加工指令確認部と、
    を備えた制御システム。
  10.  工具番号と、前記工具番号に対応する工具に係る情報とを関連付けて記憶する工具情報記憶部を更に備え、
     前記加工指令確認部は、前記プログラム解析部が抽出した工具を選択する指令により指定される工具番号に基づいて、前記工具情報記憶部から選択された前記工具に係る情報を取得する、
    請求項9に記載の制御システム。
  11.  前記加工指令確認部が、整合性が取れていないと判定した時に、前記加工プログラムに基づいて加工を行う産業機械に対して加工に係る動作を中断するように指令する、
    請求項9に記載の制御システム。
PCT/JP2021/010639 2020-03-18 2021-03-16 プログラム解析装置及び制御システム WO2021187487A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022508382A JP7440614B2 (ja) 2020-03-18 2021-03-16 プログラム解析装置及び制御システム
CN202180021999.6A CN115298624A (zh) 2020-03-18 2021-03-16 程序解析装置以及控制系统
DE112021001698.9T DE112021001698T5 (de) 2020-03-18 2021-03-16 Programmanalysegerät und steuersystem
US17/910,350 US20230185272A1 (en) 2020-03-18 2021-03-16 Program analyzer and control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-047476 2020-03-18
JP2020047476 2020-03-18

Publications (1)

Publication Number Publication Date
WO2021187487A1 true WO2021187487A1 (ja) 2021-09-23

Family

ID=77771580

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010639 WO2021187487A1 (ja) 2020-03-18 2021-03-16 プログラム解析装置及び制御システム

Country Status (5)

Country Link
US (1) US20230185272A1 (ja)
JP (1) JP7440614B2 (ja)
CN (1) CN115298624A (ja)
DE (1) DE112021001698T5 (ja)
WO (1) WO2021187487A1 (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327624A (ja) * 1998-05-11 1999-11-26 Fanuc Ltd 送り速度制限機能付数値制御装置
JP2006163665A (ja) * 2004-12-06 2006-06-22 Toshiba Corp 数値制御加工機の数値制御情報確認装置および方法
JP2008027045A (ja) * 2006-07-19 2008-02-07 Fanuc Ltd 干渉チェック機能を備える数値制御装置
WO2014068667A1 (ja) * 2012-10-30 2014-05-08 株式会社牧野フライス製作所 加工プログラム作成方法および装置
WO2015097887A1 (ja) * 2013-12-27 2015-07-02 株式会社牧野フライス製作所 工作機械の制御装置
JP2016201031A (ja) * 2015-04-13 2016-12-01 ファナック株式会社 工具と被加工物の干渉チェックが可能な数値制御装置
JP2017033346A (ja) * 2015-08-03 2017-02-09 オークマ株式会社 工作機械の情報取得装置
JP2017111516A (ja) 2015-12-14 2017-06-22 Dmg森精機株式会社 加工プログラム編集装置、およびこれを備えた工作機械
JP2017211872A (ja) * 2016-05-26 2017-11-30 ファナック株式会社 アラーム解決のためのプログラム修正支援機能を備えた数値制御装置
JP2019219878A (ja) * 2018-06-19 2019-12-26 ファナック株式会社 数値制御装置及び誤入力検出方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327624A (ja) * 1998-05-11 1999-11-26 Fanuc Ltd 送り速度制限機能付数値制御装置
JP2006163665A (ja) * 2004-12-06 2006-06-22 Toshiba Corp 数値制御加工機の数値制御情報確認装置および方法
JP2008027045A (ja) * 2006-07-19 2008-02-07 Fanuc Ltd 干渉チェック機能を備える数値制御装置
WO2014068667A1 (ja) * 2012-10-30 2014-05-08 株式会社牧野フライス製作所 加工プログラム作成方法および装置
WO2015097887A1 (ja) * 2013-12-27 2015-07-02 株式会社牧野フライス製作所 工作機械の制御装置
JP2016201031A (ja) * 2015-04-13 2016-12-01 ファナック株式会社 工具と被加工物の干渉チェックが可能な数値制御装置
JP2017033346A (ja) * 2015-08-03 2017-02-09 オークマ株式会社 工作機械の情報取得装置
JP2017111516A (ja) 2015-12-14 2017-06-22 Dmg森精機株式会社 加工プログラム編集装置、およびこれを備えた工作機械
JP2017211872A (ja) * 2016-05-26 2017-11-30 ファナック株式会社 アラーム解決のためのプログラム修正支援機能を備えた数値制御装置
JP2019219878A (ja) * 2018-06-19 2019-12-26 ファナック株式会社 数値制御装置及び誤入力検出方法

Also Published As

Publication number Publication date
JP7440614B2 (ja) 2024-02-28
CN115298624A (zh) 2022-11-04
DE112021001698T5 (de) 2023-02-09
US20230185272A1 (en) 2023-06-15
JPWO2021187487A1 (ja) 2021-09-23

Similar Documents

Publication Publication Date Title
US10007254B2 (en) CAM integrated CNC control of machines
US20110257778A1 (en) Method and device for simulating nc working machine
CN110405532B (zh) 工具选定装置以及机器学习装置
US11947332B2 (en) CAD data-based automatic operation device of machining center
US10088824B2 (en) Toolpath evaluation method, toolpath generation method, and toolpath generation device
JP2020071734A (ja) 数値制御装置
CN103348295B (zh) 数控装置
US20230286169A1 (en) Numerical control system and robot control method
KR100898034B1 (ko) 공구경로 수정 방법
WO2021187487A1 (ja) プログラム解析装置及び制御システム
CN110618657A (zh) 数值控制装置和错误输入检测方法
WO2022102578A1 (ja) 数値制御装置、及び数値制御システム
US10996655B2 (en) Numerical controller
JP2009538744A (ja) 旋削加工を制御する方法、および旋削加工に適したnc機械
US10564630B2 (en) Numerical controller
WO2020008891A1 (ja) 数値制御装置
CN109884982B (zh) 数值控制装置
JP7175340B2 (ja) 工作機械、情報処理装置および情報処理プログラム
JP7448736B1 (ja) 数値制御装置及び数値制御システム
WO2023162001A1 (ja) 加工面推定装置およびコンピュータ読み取り可能な記憶媒体
US20240042610A1 (en) Robot control device, robot control system, and non-transitory computer-readable medium storing a computer program
WO2022264338A1 (ja) 制御装置、干渉チェック装置、及び制御システム
JP7414849B2 (ja) 移動経路描画装置
US20240134342A1 (en) Command generation device and non-transitory computer-readable medium storing a computer program
KR100872394B1 (ko) 공구경로 수정 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022508382

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021772059

Country of ref document: EP

Effective date: 20221018

122 Ep: pct application non-entry in european phase

Ref document number: 21772059

Country of ref document: EP

Kind code of ref document: A1