Numerical controller
10175677 ยท 2019-01-08
Assignee
Inventors
Cpc classification
Y02P90/02
GENERAL 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
G05B19/425
PHYSICS
International classification
G05B19/408
PHYSICS
Abstract
A numerical controller including an automatic display unit of a teach program includes a manual movement axis monitor unit for monitoring whether there is an axis moved by manual feed, a teach target program selection and determination unit for selecting and determining a teach program controlling the axis, and a teach block selection and determination unit for selecting and determining a teach point from a movement direction of the axis, and selecting and determining, as a teach block, a block in the teach program in which the teach point is an end point.
Claims
1. A numerical controller including an automatic display unit of a teach program for moving an axis to a teach point by manual feed and performing teach operation to set a plurality of positions as teach points, the numerical controller including the automatic display unit of the teach program comprising: a manual movement axis monitor unit configured to monitor whether there is an axis moved by manual feed; a teach target program selection and determination unit configured to select and determine a teach program controlling the axis; and a teach block selection and determination unit configured to select and determine a teach point from a movement direction of the axis, and selecting and determining, as a teach block, a block in the teach program in which the teach point is an end point, wherein when an axis where teaching is to be performed is moved in a teach point direction by manual feed, the selection and determination of the teach program and a cursor movement to the teach point in the teach program are automatically executed.
2. The numerical controller including the automatic display unit of the teach program according to claim 1, further comprising a teach target system switch unit, when the manual movement axis monitor unit detects a moving axis, the teach target system switch unit identifying and switching a system to which the axis belongs, wherein the teach target program selection and determination unit selects and determines a teach program controlling the axis in the system switched by the teach target system switch unit.
3. The numerical controller including the automatic display unit of the teach program according to claim 2, wherein the system that can be switched by the teach target system switch unit is a system to which the axis belongs that the axis acts on.
4. The numerical controller including the automatic display unit of the teach program according to claim 1, further comprising a display device for teach setting, wherein the display device displays the teach program and moves a cursor to the teach block to display the cursor.
5. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein the manual movement axis monitor unit performs monitoring just like manual feed operation even in a case where the axis is moved by external force in a state where an excitation of a servo amplifier driving the axis is not driving the axis.
6. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein the manual movement axis monitor unit performs monitor operation even in a case where a movement command is given in a machine lock state in which a machine actually does not move.
7. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein the manual movement axis monitor unit selects and determines, as a teaching symmetrical axis, the axis selected with a signal or a selection screen.
8. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein in a case where there are a plurality of extracted programs, the teach target program selection and determination unit selects and determines a program which is most frequently used.
9. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein in a case where there are a plurality of extracted programs, the teach target program selection and determination unit selects and determines a program that is used last.
10. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein in a case where there are a plurality of extracted programs, the teach target program selection and determination unit displays a program which is most frequently used or a program which is used last as a teach program of which selection and determination probability is high on a selection and determination screen.
11. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein in a case of a state where a program does not exist, the teach target program selection and determination unit newly generates a program.
12. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein in a case where there are a plurality of extracted blocks, the teach block selection and determination unit selects and determines a block in which a teach point is changed for a largest number of times.
13. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein in a case where there are a plurality of extracted blocks, the teach block selection and determination unit selects and determines a teach point where teaching is performed most recently.
14. The numerical controller including the automatic display unit of the teach program according to claim 1, wherein in a case where there are a plurality of extracted blocks, the teach block selection and determination unit displays a block in which a teach point is changed for a largest number of times or a teach point where teaching is performed most recently as a teach point of which selection and determination probability is high on a selection and determination screen.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other objects and the features of the present invention will become clear from the explanation about the following embodiment with reference to appended drawings. Among these drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(16) Hereinafter, an embodiment of the present invention will be explained together with drawings. First, an overview of the present invention will be explained.
(17) In the present invention, in order to solve the problems associated with conventional techniques, whether there is an axis (servo motor) moving by manual feed or external force is monitored, and in a case where there is such axis (servo motor), a teach program to which the axis belongs is extracted. In a case where a multi system control function is used, switching to the system to which the axis belongs is performed, and a teach program to which the axis belongs is extracted in the switched system.
(18) Further, a teach point is selected and determined from the movement direction of the axis, and the cursor is moved to the block where the teach point is the end point, or a selection and determination screen of multiple teach point candidates is displayed, and the operator is allowed to make selection and determination.
(19) The automatic selection and determination processing in a case where there is an axis movement caused by manual feed, or external force performed with the numerical controller of the present invention will be explained with reference to
(20)
(21) Subsequently, a teach target program selection and determination unit automatically selects the program controlling the teach target system as the teach program, or displays a teach program selection and determination screen of programs of candidates of teach programs to the operator and executes the selection and determination operation. Then, on the basis of the manual movement path of the movement axis with the teaching operation, a teach block selection and determination unit automatically moves the cursor to the command block associated with the teach point, or displays a selection and determination screen of teach point candidates (<1> to <4> in the figure) to the operator, and moves the cursor to the corresponding command block after the selection and determination operation performed by the operator.
(22) In the following explanation, the operation of each of the above function units will be explained using the teach operation of
(23) During the mode in which the teach operation is performed, the manual movement axis monitor unit monitors the positions of the servo motors of all the axes as to whether there is any servo motor moving with manual feed or external force. In a case where there is an axis that changes with respect to the previous position, the axis number (axis name) and the movement direction are recorded to a manual movement data table provided on a memory (not shown).
(24) In a case where an axis that is manually fed when the operator operates the operation board and the like and an axis is moved by external force in a state where the excitation of the servo amplifier for driving the axis is off, the manual movement axis monitor unit may monitor the movement of the axis as the teach operation, or may monitor, as the teach operation, a case where a movement command is given in a machine lock state in which the machine does not actually move. Alternatively, all the movement axes may be monitored, or a particular axis selected by a signal or a selection screen may be monitored as the teaching symmetrical axis.
(25) The teach target system switch unit identifies the system to which the movement axis recorded in the manual movement data table belongs by referring to the axis system association table which is set in a memory (not shown) in advance, and adopts the system as the teach target system, and switches to the teach target system.
(26) The teach target program selection and determination unit refers to the program management table stored in the memory, and selects and determines the program to which the movement axis belongs, and finds the beginning.
(27) The teach block selection and determination unit refers to the program management table, and determines to which teach point candidate the movement axis is approaching from the information about the teach point candidate of the teach program selected and determined by the teach target program selection and determination unit. In the present embodiment, the teach point candidates of the points <1> to <4> are extracted from the program management table as shown in
(28)
(29) This processing is executed on every monitor cycle of the manual movement axis monitor unit. In the explanation about this flowchart, POSc denotes the current position of each axis in the monitor cycle of the manual movement axis monitor unit, POSp denotes a position one cycle before the monitor cycle of each axis, and Diff denotes the sign of the movement direction and the amount of movement of each axis (POSC-POSp). The table as shown in
(30) [Step SA01]
(31) The current position (POSc) of each axis is read from the servo motor of the axis and the like.
(32) [Step SA02]
(33) A difference Diff between the current position obtained in step SA01 and the current position of the previous cycle stored on the memory (POSp) is calculated.
(34) [Step SA03]
(35) A determination is made as to whether the difference Diff of each axis calculated in step SA02 is zero or not. In a case where the differences Diff of all the axes are zero, step SA06 is subsequently performed, and if not, step SA04 is subsequently performed.
(36) [Step SA04]
(37) With regard to the axis of which difference Diff is not zero, the axis number and the axis name thereof are recorded to the manual movement data table.
(38) [Step SA05]
(39) With regard to the axis of which difference Diff is not zero, the sign of Diff and the current position are recorded to the manual movement data table.
(40) [Step SA06]
(41) POSc is substituted into POSp, and the manual movement axis monitor processing in this cycle is terminated.
(42)
(43) [Step SB01]
(44) A determination is made as to whether there is an axis recorded in the manual movement data table. In a case where the axis exits, step SB02 is subsequently performed, and in a case where the axis does not exist, the processing of this cycle is terminated.
(45) [Step SB02]
(46) The axis recorded in the manual movement data table is looked up in the axis system association table, and the system to which the axis belongs is selected and determined as the teach target system.
(47) [Step SB03]
(48) Switching to the teach target system selected and determined in step SB02 is executed.
(49)
(50) [Step SC01]
(51) A determination is made as to whether there is an axis recorded in the manual movement data table. In a case where the axis exists, step SC02 is subsequently performed, and in a case where the axis does not exist, the processing of this cycle is terminated.
(52) [Step SC02]
(53) With regard to the axis recorded in the manual movement data table, a teach program to which the axis belongs in the system switched by the teach target system switch processing on the basis of the program management table is selected. In a case where a selection is made with the frequency of the use of the teach program, the program of which frequency of the use is the highest is selected, or in a case where the last-used program is selected, the program of which last use flag is one is automatically selected and determined, or programs are displayed on the selection and determination screen as teach programs of which selection and determination probabilities are high, and the manual selection and determination operation is executed. It should be noted that the last use flag is set to one after the teach program is used and the teach operation is executed. The last use flags of the programs to which the axes other than that belong are set to zero.
(54)
(55)
(56) [Step SD01]
(57) A determination is made as to whether there is an axis recorded in the manual movement data table. In a case where the axis exists, step SD02 is subsequently performed, and in a case where the axis does not exist, step SD07 is subsequently performed.
(58) [Step SD02]
(59) A teach point to which the axis is approaching by the teach operation is selected and determined in teach point selection and determination processing explained later.
(60) [Step SD03]
(61) A determination is made as to whether a teach point selection and determination screen is to be displayed or not. In a case where a setting is such that the teach point is selected and determined or in a case where the teach points cannot be narrowed down to one, step SD05 is subsequently performed, and if not, step SD04 is subsequently performed.
(62) [Step SD04]
(63) A block where the teach point is the end point in the teach program selected and determined is selected and determined on the basis of the program management table. When the selection and determination are finished, step SD08 is subsequently performed.
(64) [Step SD05]
(65) A teach point selection and determination screen in view of selection and determination probability is displayed.
(66) [Step SD06]
(67) Selection and determination operation is executed by the operator. When the selection and determination operation is finished, step SD08 is subsequently performed.
(68) [Step SD07]
(69) A teach program is newly generated, and the first block is selected and determined, and step SD08 is subsequently performed.
(70) [Step SD08]
(71) The cursor is moved to a block associated with the teach point selected and determined, and the teach operation is executed. After the execution, for the selected and determined teach program, the last use flag of the program management table is set to one, and the frequency of the use is increased.
(72)
(73) The teach point selection and determination processing executed in step SD02 in the flowchart of
(74)
(75) As shown in
(76) As shown in
(77) Further, as shown in
(78) In the present embodiment, as described above, in every step of each teach operation, a position relationship between the position of the axis by the teach operation and the position of the teach point candidate is derived, and the teach point candidate which the axis approaches for the highest number of times is selected and determined as the teach point.
(79) As described above, an embodiment of the present invention has been explained, but the present invention is not limited to the example of the above embodiment, and the present invention can be carried out in other aspects by applying changes as necessary.
(80) For example, the teach operation in the numerical controller that performs multi system control has been explained as an example in the explanation about the above embodiment, but the effects of the present invention can be achieved even when the present invention is applied to the teach operation in a case where multiple programs are used by a single system. In this case, it is not necessary to have the teach target system switch unit and management of information about the system, and in the teach operation mode, when the existence of the movement axis is confirmed in the manual movement axis monitor processing, the teach target program selection and determination processing is executed, and thereafter, the teach block selection and determination processing is executed.