Numerical controller for notifying execution of auxiliary function in advance
10095221 ยท 2018-10-09
Assignee
Inventors
Cpc classification
G05B19/4155
PHYSICS
International classification
Abstract
A numerical controller for controlling execution of an auxiliary function of a machine calculates an amount of time before execution of an auxiliary function included in a program, and calculates a leading operation initiation time of each of operations of an auxiliary function on the basis of the calculated time and a lead time (stored time) of each of the operations. The numerical controller outputs, to the machine, a command for executing each of the operations of the auxiliary function, according to the leading operation initiation time.
Claims
1. A numerical controller for controlling execution of an auxiliary function of a machine according to a program, the numerical controller configured to: perform a read ahead of a block of the program and analyze an instruction of the block, store auxiliary function operation information, in which a code for instructing an auxiliary function, at least one operation of the auxiliary function, and a lead time of the operation are associated with one another, when the code for instructing the auxiliary function is included in the read ahead block, calculate the amount of time before execution of the code for instructing the auxiliary function on the basis of the read ahead block, and output the calculated time and the code for instructing the auxiliary function, acquire auxiliary function operation information corresponding to the code for instructing the auxiliary function from the stored auxiliary function operation information, on the basis of the outputted code for instructing the auxiliary function, calculate a leading operation initiation time of an operation included in the acquired auxiliary function operation information, on the basis of a lead time of the operation included in the auxiliary function operation information, and the amount of time before execution of the outputted code for instructing the auxiliary function, and determine to execute the operation of the auxiliary function according to the leading operation initiation time, wherein the numerical controller outputs, to the machine, a command for executing the operation of the auxiliary function determined by the numerical controller.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The aforementioned and other objectives and characteristics of the present invention will be clarified, by the following description of embodiment with reference to the accompanying drawings. Of the drawings,
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(10) The present invention notifies the machine side of the amount of time before execution of an auxiliary function to thereby allow the machine side to execute an operation corresponding to the auxiliary function at an appropriate timing, without modifying a machining program. Thus, a numerical controller is provided which allows a single auxiliary function to be executed at multiple timings.
(11)
(12) The system of
(13) The numerical controller 1 includes a command analysis unit 10, an interpolation unit 11, an acceleration and deceleration controller 12, a servo controller 13, an execution initiation timing notification unit 14, and a programmable controller 15.
(14) The command analysis unit 10 performs a read ahead and analysis of a CNC instruction 20 from a program stored in a memory (not shown), for example, and if it is a normal instruction for controlling a drive unit of a machine, generates travel instruction data on the basis of an analysis result, and outputs the generated travel instruction data to the interpolation unit 11.
(15) The interpolation unit 11 generates data by calculating points on an instructed path by interpolation for every interpolation cycle, on the basis of a travel instruction given by the travel instruction data outputted from the command analysis unit 10.
(16) The acceleration and deceleration controller 12 calculates the speed of each drive axis for every interpolation cycle, by performing acceleration and deceleration processing based on the interpolation data outputted from the interpolation unit 11, and outputs the calculated data to the servo controller 13.
(17) Then, the servo controller 13 controls each of the drive units of the machine, on the basis of the output of the acceleration and deceleration controller 12.
(18) On the other hand, when an MSTB code instruction for instructing execution of an auxiliary function is included in the CNC instruction 20 read ahead, the command analysis unit 10 outputs the instruction read ahead to the execution initiation timing notification unit 14, and also instructs the execution initiation timing notification unit 14 to send the programmable controller 15 a notification regarding the MSTB code instruction for instructing the auxiliary function.
(19) When given the instruction for sending a notification regarding the MSTB code instruction by the command analysis unit 10, the execution initiation timing notification unit 14 analyzes the instruction read ahead by the command analysis unit 10, to calculate the execution time of each instruction and add up the results. Thus, the execution initiation timing notification unit 14 calculates the amount of time before execution of the MSTB code instruction. For example, as shown in
(20) Then, the execution initiation timing notification unit 14 notifies the programmable controller 15 of a signal including the MSTB code and the amount of time before execution of the MSTB code.
(21) The programmable controller 15 receives the signal based on each instruction, for example, processes the received signal by a sequence program, and outputs a signal as an operation instruction to control a machine to be controlled, such as the machine 2. The programmable controller 15 also receives a condition signal from the machine to be controlled, such as the machine 2, and transfers an input signal necessary for processing in the numerical controller 1.
(22) In the present invention, the programmable controller 15 includes an execution timing determination unit 16 and an auxiliary function operation information storage unit 17. The execution timing determination unit 16 and the auxiliary function operation information storage unit 17 are functional means implemented by operations based on the sequence program.
(23) The execution timing determination unit 16 determines the execution timing of each of operations of the auxiliary function instructed by the MSTB code, on the basis of the signal including the MSTB code instruction and the amount of time before execution of the MSTB code instruction, which are received from the execution initiation timing notification unit 14, and information (auxiliary function operation information) related to each of the operations of the auxiliary function instructed by the MSTB code instruction, which is stored in the auxiliary function operation information storage unit 17. Then, the execution timing determination unit 16 outputs a signal for instructing initiation of each of the operations of the auxiliary function to the machine 2, according to the determined execution timing.
(24)
(25) The auxiliary function operation information includes, for each auxiliary function, an MSTB code for instructing the auxiliary function, and multiple pieces of operation information related to the operation of the auxiliary function. Each piece of operation information includes a signal address to be used when executing the operation, and a lead time of execution of the operation. In the example of
(26) Here, when the auxiliary function operation information in
(27) Then, the programmable controller 15 notifies the machine 2 of signals instructing initiation of the respective operations, at the timing of the respective operations determined by the execution timing determination unit 16.
(28)
(29) Assume that the programmable controller 15 receives input of a code to be operated in advance as a code signal and the amount of time before execution of the code as a signal, from the execution initiation timing notification unit 14 of the numerical controller 1 (CNC), while executing the sequence program of
(30) Note that the calculation by the execution initiation timing notification unit 14 of the amount of time before execution of the MSTB code, based on the read ahead by the command analysis unit 10, and the processing by the execution timing determination unit 16 for determining the execution timing of each of the operations of the auxiliary function, based on the calculated time, are successively performed at least for every processing cycle of the numerical controller 1. This enables substantially real-time adjustment of signal output to the machine 2, so that changes in the amount of time before execution of the MSTB code, due to changes in execution conditions of the numerical controller 1 can be addressed.
(31) The machine 2 is a machine to be controlled by the numerical controller 1, and includes machine tools, and peripheral devices arranged around the machine tools. Note that although multiple machines 2 are connected to the numerical controller 1 through the programmable controller 15, only a single machine 2 is shown in
(32) The auxiliary function executed by the machine 2 is: tool selection and control of the number of rotations of the spindle, for example, if the machine 2 is a machine tool; opening and closing of mechanical doors, for example, if the machine 2 is an enclosure of a machine, which is peripheral equipment; and setting and removing of workpieces, for example, if the machine 2 is a robot. Thus, the executed auxiliary function differs depending on the type of the machine 2.
(33) These auxiliary functions are executed when the machine 2 receives a signal outputted from the programmable controller 15.
(34) As has been described, the present invention enables an operation that can be executed in advance, among multiple operations of each auxiliary function, to be executed earlier for the preset lead time. This not only can reduce cycle time of processing operation as in the conventional techniques, but also allows each of the operations to be executed at a selected timing before or after instruction of the operation, by setting the lead time. Hereinbelow, a description will be given of useful application examples of the numerical controller of the embodiment, other than reduction of cycle time.
(35)
(36) As shown in
(37) In addition, when performing tool preparation on the first path side of a dual-path machine, the preparation can be performed at a timing taking into account the condition on the second path side, for example. Thus, unlike the conventional techniques, the present invention can adjust an operation timing in a manner such that cycle time is reduced and an adverse effect on machining is avoided.
(38) Although the embodiment of the present invention has been described, the invention is not limited only to the above embodiment, and may be implemented in various forms by making appropriate changes.