Control device and control method
By designing program analysis, execution and servo control units in the control device, and automatically determining and switching the control object axis and current control cycle, the problem of excessive load of the servo control CPU is solved, and load suppression and hardware cost reduction are achieved.
Patent Information
- Application Number
- CN202011035352.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-04
- Filing Date
- 2020-09-27
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2040-09-27
AI Technical Summary
The existing servo control CPUs have too high load when processing multiple servo motors, resulting in improper operation, and the method of automatically switching the control object axis and current control cycles has the defect of manually setting parameters, which is time-consuming.
A control device and method are designed to automatically determine the switching between the control object axis and the current control cycle based on the machining program to reduce the CPU load.
By automatically switching the control object axis and current control cycle, the maximum load of the servo control CPU is suppressed, hardware costs are reduced, and control accuracy and efficiency are improved.
Smart Images

Figure CN112612248B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a control device and a control method. Background Art
[0002] A control device for controlling an industrial machine includes a processor (hereinafter also referred to as a "servo control CPU") that controls a plurality of servo motors that drive each of a plurality of control axes included in the industrial machine. In addition, a technology is known in which a servo control CPU controls each of a plurality of servo motors at a predetermined control cycle in order to drive each of a plurality of control axes of the industrial machine. For example, refer to Patent Document 1.
[0003] Prior art literature
[0004] Patent Document 1: Japanese Patent Application Publication No. 2010-252615
[0005] However, the load on one servo control CPU increases as the number of servo motors to be controlled increases. In addition, even when a servo motor is stopped, the servo control CPU generates a load in order to execute data forwarding processing of the servo motor as long as the servo motor is controlled.
[0006] In addition, the servo control CPU has a higher load as the current control cycle for exchanging current control for the servo motor and current feedback for current control with the servo amplifier becomes shorter. In addition, by shortening the current control cycle, the processing performance is improved, but the load on the servo control CPU increases due to the increase in the number of processing times.
[0007] Such an increase in load may cause malfunction depending on the processing capability of the servo control CPU.
[0008] In view of this, in the past, a servo control CPU was selected that has high processing capabilities that can cope with the conditions that (1) all control axes are always set as control objects, and (2) the current control cycle is set to be fixed (even a small amount requires a short current control cycle to work, and a short current control cycle is always used). However, in the actual operation of the control axis, for example, during the machining process, no movement command is output to the control axis for workpiece transportation. Therefore, the control axis is sometimes set to a state of being removed from the control object, and it is not necessary to always set all control axes as control objects. In addition, sometimes a short current control cycle is set only during the machining process, and a long current control cycle is set in other cases, and it is not necessary to always set the same current control cycle.
[0009] In this regard, it is considered to select a servo control CPU that reduces the load of the CPU by switching the control axis of the control object (hereinafter, also referred to as the "control object axis") and / or the current control cycle, and has a processing capacity that can correspond to the maximum load after the reduction. In this case, the switching of the control object axis or the current control cycle depends on what kind of action instruction is performed, but depending on the difference in the reduction effect, the processing capacity and cost of the servo control CPU to be selected can be reduced compared with the case of the above-mentioned selection method. However, sometimes the control object axis and / or the current control cycle are set manually by parameters, so switching takes time. Summary of the invention
[0010] In view of this, it is hoped that the maximum load of the servo control CPU can be suppressed by automatically switching the control target axis and the current control cycle, thereby reducing the hardware cost of the servo control CPU.
[0011] (1) The control device disclosed in the present invention controls each of a plurality of control axes included in an industrial machine based on a machining program, and includes at least: a program analyzing unit, a program executing unit, and a servo control unit, wherein the program analyzing unit has: a machining and non-machining state determining unit, which determines, based on a preset state determining condition, whether an object program block of the machining program to be analyzed is in a machining state in which the industrial machine performs a machining action, or in a non-machining state in which a non-machining action other than machining is performed; a state storing unit, which stores the determination result determined by the machining and non-machining state determining unit; and a switching necessity determining unit, which determines that the control axis of the object to be controlled, i.e., the control object axis and / or the switching necessity for the control object axis, is unnecessary when the state of the object program block determined by the machining and non-machining state determining unit is the same as the state of a previous program block stored by the state storing unit that is one block ahead of the object program block. Switching of the current control cycle, when the state of the object program block is different from the state of the previous program block, it is determined that the control object axis and / or the current control cycle need to be switched; an information appending unit, which appends a switching request and post-switching information indicating the state after switching to the analysis result of the object program block when it is determined by the switching determination unit that switching is necessary; and an analysis result storage unit, which stores the analysis result, the program execution unit comprises: a switching execution unit, which, based on the data of the control object axis and the current control cycle in the machining state and the non-machining state, and the analysis result of the object program block, executes the switching of the control object axis and / or the current control cycle for the servo control unit each time the object program block is executed, and the servo control unit controls the control object axis with the current control cycle after switching by the switching execution unit.
[0012] (2) The control method disclosed in the present invention controls each of a plurality of control axes in an industrial machine based on a machining program implemented by a computer, and includes at least a program analysis step, a program execution step, and a servo control step, wherein the program analysis step has the following steps: a machining and non-machining state determination step, for determining, based on a preset state determination condition, whether an object program block of the machining program to be analyzed is in a machining state in which the industrial machine performs a machining action, or in a non-machining state in which a non-machining action other than machining is performed; a state saving step, for saving the determination result determined by the machining and non-machining state determination step; and a switching determination step, for determining, when the state of the object program block determined by the machining and non-machining state determination step is the same as the state of a previous program block saved by the state saving step that is one step ahead of the object program block, that is, the control object axis and / or needle that is determined to be unnecessary to be controlled. Switching of the current control cycle of the controlled axis, when the state of the object program block is different from the state of the previous program block, determines that switching of the controlled axis and / or the current control cycle is required; an information appending step, when it is determined that switching is required through the switching determination step, appending a switching request and post-switching information indicating the state after switching to the analysis result of the object program block; and an analysis result saving step, saving the analysis result, the program execution step comprising: a switching execution step, based on the data of the controlled axis and the current control cycle in the machining state and the non-machining state and the analysis result of the object program block, executing switching of the controlled axis and / or the current control cycle each time the object program block is executed, and in the servo control step, controlling the controlled axis with the current control cycle after switching through the program execution step.
[0013] Effects of the Invention
[0014] According to one aspect, by automatically switching the control target axis and the current control cycle, the maximum load of the servo control CPU can be suppressed, and the hardware cost of the servo control CPU can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a functional block diagram showing an example of the functional configuration of the control device according to the first embodiment.
[0016] Figure 2 This is a diagram showing an example of a machine tool according to the first embodiment.
[0017] Figure 3 This is a diagram showing an example of a state determination condition.
[0018] Figure 4 This is a diagram showing an example of a machining program.
[0019] Figure 5 Yes means Figure 4 A diagram showing an example of the relationship between each program block of a machining program and the operations of a machining and non-machining state determination unit, a switching necessity determination unit, an information adding unit, and a switching execution unit.
[0020] Figure 6 This is a flowchart for explaining the switching process of the control device.
[0021] Figure 7 This is a functional block diagram showing an example of the functional configuration of a control device according to the second embodiment.
[0022] Figure 8 Yes means Figure 4 A diagram showing an example of the relationship between each program block of a machining program and the operations of a machining and non-machining state determination unit, a switching necessity determination unit, a switching possibility determination unit, a switching execution program block determination unit, an information addition unit, and a switching execution unit.
[0023] Fig. 9 This is a flowchart for explaining the switching process of the control device.
[0024] Description of reference numerals:
[0025] 1.1A Control Device
[0026] 100 Numerical Control CPU
[0027] 110, 110a Program analysis unit
[0028] 111 Status judgment condition storage unit
[0029] 112 Processing and non-processing status determination unit
[0030] 113 Status saving unit
[0031] 114 Is it necessary to switch the judgment unit?
[0032] 115, 115a Additional information section
[0033] 116, 116a Analysis result storage unit
[0034] 117 Switching Determination Unit
[0035] 118 Switching execution block determination unit
[0036] 200 Servo control CPU DETAILED DESCRIPTION
[0037] <First embodiment>
[0038] First, the outline of this embodiment is described. In this embodiment, the control device determines whether the object program block of the analysis object of the machining program is a machining state in which the industrial machine performs a machining action or a non-machining state in which a non-machining action other than machining is performed, and saves the determined result. When the state of the determined object program block is the same as the state of the previous program block that is saved one step ahead of the object program block, the control device determines that it is not necessary to switch the control object axis and / or the current control cycle. When the state of the object program block is different from the state of the previous program block, it is determined that it is necessary to switch the control object axis and / or the current control cycle. When the control device determines that switching is required, it adds a switching request and a post-switching information indicating the state after switching to the analysis result of the object program block and saves the analysis result. The control device switches the control object axis and / or the current control cycle every time the object program block is executed based on the data of the control object axis and the current control cycle in the machining state and the non-machining state and the analysis result of the object program block, and controls the control object axis with the current control cycle obtained by switching.
[0039] Therefore, according to the present embodiment, the following problem can be solved: "By automatically switching the control target axis and the current control cycle, the maximum load of the servo control CPU can be suppressed, and the hardware cost of the servo control CPU can be reduced."
[0040] The above is the outline of the present embodiment.
[0041] Next, the configuration of this embodiment will be described in detail using the drawings.
[0042] Figure 1 It is a functional block diagram showing an example of the functional configuration of the control device 1 according to the first embodiment.
[0043] The control device 1 is a numerical control device known to those skilled in the art, and generates an action command based on the control information, and outputs the generated action command to the machine tool (not shown). Thus, the control device 1 controls the action of the machine tool (not shown). In addition, when the machine tool (not shown) is a robot, the control device 1 may also be a robot control device.
[0044] The control device 1 can be directly connected to the machine tool (not shown) via a connection interface (not shown). In addition, the control device 1 and the machine tool (not shown) can also be connected to each other via a network (not shown) such as a LAN (Local Area Network) or the Internet. In this case, the control device 1 has a communication unit (not shown) that communicates with each other through such a connection.
[0045] Here, the machine tool not shown in the figure is, for example, a machine tool, a robot, a peripheral device, etc. In addition, the machine tool not shown in the figure is not limited to a machine tool, a robot, or a peripheral device, and can be widely used in the entire industrial machine. The so-called industrial machine includes, for example, various machines such as machine tools, industrial robots, service robots, forging machines, and injection molding machines.
[0046] In addition, among the plurality of control axes included in the machine tool (not shown) according to the first embodiment, a control axis that is controlled with a short current control cycle only during machining (e.g., cutting feed, etc.) and can be controlled with a current control cycle longer than during machining in actions other than machining is set as a "machining axis." On the other hand, a control axis that can always be controlled with a long current control cycle in all actions including machining or a control axis that can be set as a non-control target during machining is set as a "non-machining axis."
[0047] In addition, for each of the multiple control axes, it is necessary to set a machining axis or a non-machining axis to avoid simultaneously executing a cutting feed instruction for the machining axis and a fast feed / cutting feed instruction for the non-machining axis during the setting of the machining axis or the non-machining axis.
[0048] In addition, as described later, in order to operate the machine tool (not shown), the controlled axis and / or current control cycle in each of the multiple control axes are switched according to whether each program block included in the machining program executed by the control device 1 is in the machining state or the non-machining state.
[0049] Figure 2 This is a diagram showing an example of a machine tool MC according to the first embodiment.
[0050] like Figure 2 As shown, the machine tool MC according to the first embodiment is, for example, a lathe having an X-axis and a Z-axis as axes of a tool post, and a U-axis and a W-axis as loading axes for workpiece transport, etc. In the machine tool MC, the X-axis and the Z-axis can be pre-set as machining axes, and the U-axis and the W-axis can be pre-set as non-machining axes, so as to avoid simultaneous execution of a cutting feed command for the machining axis and a rapid feed / cutting feed command for the non-machining axis.
[0051] like Figure 1 As shown, the control device 1 includes a numerical control CPU 100 and a servo control CPU 200. The numerical control CPU 100 and the servo control CPU 200 are connected to each other via a bus so as to be communicable.
[0052] <CPU100 for numerical control>
[0053] The numerical control CPU 100 is a processor that performs overall control of the control device 1. The numerical control CPU 100 is connected to a memory (not shown) such as a ROM and a RAM via a bus so as to be communicable.
[0054] The numerical control CPU 100 reads the system program and application program stored in the memory (not shown) via the bus, and controls the entire control device 1 according to the system program and application program. Figure 1 As shown in FIG. 1 , the numerical control CPU 100 is configured to realize the functions of a program analyzing unit 110, a program executing unit 120, and a control target axis and current control cycle data storing unit 130. Furthermore, the program analyzing unit 110 is configured to realize the functions of a state determination condition storing unit 111, a machining and non-machining state determining unit 112, a state storing unit 113, a switching necessity determining unit 114, an information adding unit 115, and an analysis result storing unit 116. Furthermore, the program executing unit 120 is configured to realize the functions of a switching executing unit 121.
[0055] The program analyzing unit 110 acquires the machining program 50 generated by an external device such as a CAD / CAM device, for example, and analyzes the acquired machining program 50 for each program block.
[0056] The state determination condition storage unit 111 stores a preset state determination condition for the machining and non-machining state determination unit 112 described later to determine whether a target block of the machining program 50 is in the machining state or the non-machining state.
[0057] Figure 3 is a diagram showing an example of a state determination condition. Figure 2 The X-axis and Z-axis control axes are determined as machining axes, and the U-axis and W-axis control axes are determined as non-machining axes, just like the machine tool MC. In addition, the state judgment condition is applied to the premise that the cutting feed command of the machining axis and the rapid feed / cutting feed command of the non-machining axis are established at the same time. Figure 2 Machine tools MC, etc.
[0058] like Figure 3 As shown, when the state determination condition is that the instruction of the machining axis is "cutting feed" and the instruction of the non-machining axis is "no instruction" in the target program block, the state determination condition is set to "machining state" as the state determination result of the program block. In addition, when the instruction of the machining axis is "fast forward" and the instruction of the non-machining axis is "cutting feed", the instruction of the machining axis is "fast forward" and the instruction of the non-machining axis is "fast forward", the instruction of the machining axis is "no instruction" and the instruction of the non-machining axis is "cutting feed", or the instruction of the machining axis is "no instruction" and the instruction of the non-machining axis is "fast forward", the state determination condition is set to "non-machining state" as the state determination result of the program block.
[0059] In addition, when the state judgment condition is that the instruction of the machining axis is "fast forward" and the instruction of the non-machining axis is "no instruction" in the object program block, or the instruction of the machining axis is "no instruction" and the instruction of the non-machining axis is "no instruction", the state judgment result of the program block is set to "the same state as the previous program block". That is, the object program block judged as "the same state as the previous program block" can be set to the control object axis and current control cycle of either the machining state or the non-machining state. In addition, it is better in processing time not to execute the switching processing performed by the switching execution unit 121 of the program execution unit 120 described later, so the state judgment condition is set to "the same state as the previous program block".
[0060] The machining and non-machining state determination unit 112 determines whether the target program block to be analyzed in the machining program 50 is in the machining state or the non-machining state, for example, based on a preset state determination condition.
[0061] Figure 4 It is a diagram showing an example of the processing program 50.
[0062] Figure 4 5 blocks of sequence numbers N100 to N104 in the machining program 50 are shown in FIG. The blocks of sequence numbers N100 and N101 execute the fast forward of the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis. The blocks of sequence numbers N102 and N103 execute the processing that is pre-set as "M1000" and "M1001", for example, that is unrelated to the movement of the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis. The block of sequence number N104 executes cutting feed for the X-axis and Z-axis of the machining axis.
[0063] For example, when the blocks with serial numbers N100 and N101 of the machining program 50 are the target blocks, the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis are fast forwarded, and therefore, the machining and non-machining state determination unit 112 determines that the target blocks are in the "non-machining state" according to the above-mentioned state determination conditions. In addition, when the blocks with serial numbers N102 and N103 of the machining program 50 are the target blocks, they are irrelevant to the respective movements of the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis, and therefore, the machining and non-machining state determination unit 112 determines that the target blocks are in the "same state as the previous blocks", that is, the "non-machining state".
[0064] On the other hand, when the program block with serial number N104 of the machining program 50 is the object program block, since cutting feed is performed on the X-axis and Z-axis of the machining axis and there is no instruction for the U-axis and W-axis of the non-machining axis, the machining and non-machining state determination unit 112 determines that the object program block is in the "machining state".
[0065] Then, the machining and non-machining state determination unit 112 outputs the determination result of the target program block to the state storage unit 113 and the switching necessity determination unit 114 .
[0066] The state storage unit 113 stores the determination result made by the machining and non-machining state determination unit 112 .
[0067] The switching necessity determination unit 114 determines that the switching of the control target axis and / or the current control cycle is unnecessary when the state of the target block determined by the machining and non-machining state determination unit 112 is the same as the state of the previous block preceding the target block and stored in the state storage unit 113. In addition, when the state of the target block is different from the state of the previous block, the switching necessity determination unit 114 determines that the switching of the control target axis and / or the current control cycle is necessary.
[0068] For example, Figure 4 The blocks with serial numbers N100 to N103 of the machining program 50 are determined to be in the same “non-machining state” by the machining and non-machining state determination unit 112. Therefore, the switching necessity determination unit 114 determines that the target blocks with serial numbers N100 to N103 do not need to be switched.
[0069] On the other hand, the program block of sequence number N104 is determined to be in the "processing state" by the processing and non-processing state determination unit 112. In this case, the "processing state" of the target program block of sequence number N104 is different from the "non-processing state" of the previous program block of sequence number N103, so the switching necessity determination unit 114 determines that the target program block of sequence number N104 needs to be switched.
[0070] When the switching necessity determination unit 114 determines that switching is necessary, the information adding unit 115 adds a switching request and post-switching information indicating the state after switching (i.e., information indicating whether the state after switching is a processing state or a non-processing state) to the analysis result of the object program block.
[0071] Specifically, in Figure 4 In the case of the processing program 50, the switching determination unit 114 determines that the object program block with serial number N104 needs to be switched, and thus the information adding unit 115 adds a switching request and post-switching information (processing status) to the analysis result of the object program block with serial number N104.
[0072] The analysis result storage unit 116 stores the analysis result of each block including the analysis result to which the switching request and the state after switching are added.
[0073] The program execution unit 120 sequentially executes each program block (target program block) of the machining program 50 based on the analysis result of the machining program 50 analyzed by the program analysis unit 110 , for example.
[0074] In addition, when the program execution unit 120 executes the switching process of the control target axis and the current control cycle of the object program block through the switching execution unit 121 described later, the program execution unit 120 executes the process of the object program block after the switching process is completed. In other words, the program execution unit 120 does not execute the process of the object program block before the switching process is completed.
[0075] The switching execution unit 121 executes switching of the control object axis and / or switching of the current control cycle for the servo control CPU 200 described later whenever the object program block is executed, based on the data of the control object axis and the current control cycle in the machining state and the non-machining state stored in the control object axis and current control cycle data storage unit 130 described later and the analysis results of the object program block.
[0076] Specifically, the switching execution unit 121 sequentially obtains the analysis results of the target program block from the analysis result storage unit 116 of the program analysis unit 110, and determines whether the switching request and the post-switching information are added to the obtained analysis results. When the switching execution unit 121 adds the switching request and the post-switching information to the analysis results, the data of the control target axis and the current control period in the state indicated by the post-switching information are sent to the servo control CPU 200.
[0077] Furthermore, the case where the switching execution unit 121 executes switching of the control target axis and switching of the current control cycle for the servo control CPU 200 is described, but the same applies to the case where the switching of the control target axis or the switching of the current control cycle is executed.
[0078] The control target axis and current control cycle data storage unit 130 stores data of the control target axis and current control cycle in each of the preset machining state and non-machining state.
[0079] Specifically, in the data of the control target axis and the current control cycle of the machining state, for example, Figure 2 The X-axis and Z-axis of the machining axes of the machine tool MC are set as the control target axes, and the U-axis and W-axis of the non-machining axes are set as the non-control targets. In this case, the current control cycle for the control target axes, i.e., the X-axis and Z-axis, is set to a cycle shorter than the current control cycle in the non-machining state so that the quality requested by the machining process of the machining program 50 can be guaranteed.
[0080] On the other hand, in the data of the control target axis and the current control cycle in the non-machining state, Figure 2The X-axis and Z-axis of the machining axes and the U-axis and W-axis of the non-machining axes of the machine tool MC are all set as the control target axes. In this case, the current control cycle for the control target axes is set to a cycle longer than the current control cycle in the machining state for non-machining processing such as fast forward.
[0081] If the actions of the various elements of the control device 1 are summarized as follows: Figure 5 way to express it.
[0082] Figure 5 Yes means Figure 4 1 is a diagram showing an example of the relationship between each program block of the machining program 50 and the operations of the machining and non-machining state determination unit 112, the switching necessity determination unit 114, the information adding unit 115, and the switching execution unit 121.
[0083] like Figure 5 As shown, in Figure 4 In the case of the machining program 50 of the sequence number N104, the machining and non-machining state determination unit 112 determines that the object program block of the sequence number N104 is in the "machining state", and thus, the switching necessity determination unit 114 determines that the object program block of the sequence number N104 needs to be switched to the machining state. Then, the information addition unit 115 adds the switching request and the post-switching information to the analysis result of the object program block of the sequence number N104, and the switching execution unit 121 executes the switching of the control target axis and the switching of the current control cycle.
[0084] For example, in such a case, it is possible to reduce the hardware cost of the servo control CPU 200. For example, when there is a low-performance and low-cost CPU that can control four control target axes with a long current control cycle and can control two control target axes with a short current control cycle, and a high-performance and high-cost CPU that can control four control target axes with a long current control cycle and can control two control target axes with a short current control cycle and control two control target axes with a long current control cycle, the control device 1 can select the low-performance and low-cost CPU as the servo control CPU 200.
[0085] Furthermore, by switching the control target axes and switching the current control cycle, the number of control target axes and the interval of the current control cycle are adjusted, thereby suppressing the maximum load of the servo control CPU 200 .
[0086] <CPU200 for servo control>
[0087] The servo control CPU 200 is a processor that performs unified control of four servo motors (not shown), which drive the control axes of the X-axis, Z-axis, U-axis, and W-axis included in the machine tool MC. The servo control CPU 200 is connected to the numerical control CPU 100 and a memory such as a ROM and a RAM (not shown) via a bus so as to be communicable.
[0088] The servo control CPU 200 reads an application program of the servo control software 210 stored in the memory (not shown) via the bus. The servo control CPU 200 controls the servo motor (not shown) of the control target axis according to the read servo control software 210, the control target axis switched by the switching execution unit 121, and the current control cycle.
[0089] <Switching Process of Control Device 1>
[0090] Next, the operation related to the switching process of the control device 1 according to the first embodiment will be described.
[0091] Figure 6 This is a flowchart for explaining the switching process of the control device 1. The flow shown here is repeatedly executed every time the control device 1 acquires the machining program 50.
[0092] In step S11 , the machining and non-machining state determining unit 112 determines whether the target program block is in the machining state or the non-machining state based on the state determination condition stored in the state determination condition storage unit 111 .
[0093] In step S12, the switching necessity determination unit 114 determines whether the control target axis and the current control cycle need to be switched based on the state of the target program block determined in step S11 and the state of the previous program block stored in the state storage unit 113, which is one block ahead of the target program block. That is, when the state of the target program block determined in step S11 is the same as the state of the previous program block, the switching necessity determination unit 114 determines that the control target axis and the current control cycle do not need to be switched. In addition, when the state of the target program block is different from the state of the previous program block, the switching necessity determination unit 114 determines that the control target axis and the current control cycle need to be switched.
[0094] In step S13, when it is determined in step S12 that switching is necessary, the information adding unit 115 adds a switching request and post-switching information to the analysis result of the target program block.
[0095] In step S14 , the analysis result storage unit 116 stores the analysis result of each block including the analysis result to which the switching request and the state after switching are added.
[0096] In step S15 , the switching execution unit 121 switches the control target axis and the current control cycle for the servo control CPU 200 every time the target program block is executed, based on the data of the control target axis and the current control cycle in the machining state and the non-machining state and the analysis result of the target program block.
[0097] Through the above, the control device 1 related to the first embodiment determines whether the object program block of the machining program 50 is in the machining state or the non-machining state according to the preset state judgment condition. The control device 1 determines whether it is necessary to switch the control object axis and the current control cycle according to the state of the object program block and the state of the previous program block one before the object program block. When it is determined that switching is necessary, the control device 1 adds the switching request and the information after switching to the analysis result of the object program block. The control device 1 executes the switching of the control object axis and the switching of the current control cycle for the servo control CPU 200 each time the object program block is executed. The control device 1 causes the servo control CPU 200 to control the control object axis with the switched current control cycle.
[0098] Thus, the control device 1 automatically switches the control target axis and the current control cycle, thereby suppressing the maximum load of the servo control CPU 200 and reducing the hardware cost of the servo control CPU 200 .
[0099] The first embodiment has been described above.
[0100] <Second embodiment>
[0101] The control device 1A according to the second embodiment further has the following function: pre-reading a plurality of object program blocks of the machining program, determining whether each of the plurality of object program blocks pre-read contains the motion of the control axis, thereby determining whether the object program block can be used to execute the switching of the control axis and / or the switching of the current control cycle in the program block later than the object program block. In addition, the control device 1A further has the following function: determining the program block in which the switching of the control axis and / or the switching of the current control cycle in the object program block determined to need to be switched is executed.
[0102] Thus, the control device 1A can suppress an increase in the cycle time due to a standby time until the switching process of the control target axis and the current control cycle of the target program block is completed.
[0103] Hereinafter, a second embodiment will be described.
[0104] Figure 7 2 is a functional block diagram showing an example of a functional structure of a control device related to the second embodiment. Figure 1Elements having the same functions as those of the control device 1 are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0105] The control device 1A according to the second embodiment includes a numerical control CPU 100 and a servo control CPU 200 , similarly to the control device 1 according to the first embodiment.
[0106] The numerical control CPU 100 is configured to realize the functions of a machining program pre-reading unit 101, a program analyzing unit 110a, a program executing unit 120, and a control target axis and current control cycle data storing unit 130. In addition, the program analyzing unit 110a is configured to realize the functions of a state determination condition storing unit 111, a machining and non-machining state determining unit 112, a state storing unit 113, a switching necessity determining unit 114, an information adding unit 115a, an analysis result storing unit 116a, a switching possibility determining unit 117, and a switching execution program block determining unit 118.
[0107] The machining program pre-reading unit 101 pre-reads a plurality of target program blocks of the machining program 50. The machining program pre-reading unit 101 outputs the pre-read plurality of target program blocks to the program analyzing unit 110a.
[0108] The state determination condition storage unit 111, the processing and non-processing state determination unit 112, the state storage unit 113, and the need for switching determination unit 114 have the same functions as the state determination condition storage unit 111, the processing and non-processing state determination unit 112, the state storage unit 113, and the need for switching determination unit 114 in the first embodiment.
[0109] The switchability determination unit 117 determines whether, for each of the plurality of target blocks pre-read by the machining program pre-reading unit 101 , switching of the control target axis and / or switching of the current control cycle in a block subsequent to the target block can be executed.
[0110] For example, in Figure 4 In the case of the machining program 50, the program blocks of serial numbers N100 and N101 execute the fast forward of the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis. That is, the program blocks of serial numbers N100 and N101 include the motion instructions of the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis. Therefore, the switching determination unit 117 determines that the switching of the control target axis and the switching of the current control cycle in the subsequent program blocks cannot be executed in the program blocks (target program blocks) of serial numbers N100 and N101, which is "not possible".
[0111] On the other hand, the program blocks of sequence numbers N102 and N103, for example, as "M1000" and "M1001", execute processing unrelated to the motion of the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis. That is, the program blocks of sequence numbers N102 and N103 do not include motion instructions of the X-axis and Z-axis of the machining axis and the U-axis and W-axis of the non-machining axis. Therefore, the switching determination unit 117 determines that the switching of the control target axis and the switching of the current control cycle in the subsequent program blocks can be executed in the program blocks (target program blocks) of sequence numbers N102 and N103, which is "possible".
[0112] In addition, the program block with the sequence number N104 performs cutting feed for the X-axis and Z-axis of the machining axis. That is, the program block with the sequence number N104 includes the motion instructions for the X-axis and Z-axis of the machining axis. Therefore, the switching determination unit 117 determines that the switching of the control target axis and the switching of the current control cycle in the subsequent program blocks cannot be executed in the program block with the sequence number N104 (the target program block).
[0113] Then, the switchability determination unit 117 stores the determination result for each target program block in the analysis result storage unit 116 a as switchability information.
[0114] The switching execution block determination unit 118 determines a block for executing switching of the control target axis and / or switching of the current control cycle among the target blocks determined by the switching necessity determination unit 114 to be switched, based on the determination result (switching possibility information) determined by the switching possibility determination unit 117 .
[0115] Specifically, in Figure 4 In the case of the machining program 50, as described above, the object program block of the serial number N104 is determined to need to be switched by the switching necessity determination unit 114. In this case, the switching execution program block determination unit 118 determines whether the switching of the control target axis and the switching of the current control cycle in the object program block of the serial number N104 can be realized through the program block of the serial number N103 that is one step earlier than the object program block of the serial number N104 based on the switching possibility information of the analysis result storage unit 116a. The switching execution program block determination unit 118 determines that the program block of the serial number N103 is "possible" in the switching possibility information, and therefore determines that the switching of the control target axis and the switching of the current control cycle in the object program block of the serial number N104 is "possible" through the program block of the serial number N103.
[0116] When the program block of serial number N103 is judged as "possible", the switching execution program block determination unit 118 determines whether the switching of the control object axis and the switching of the current control cycle in the object program block of serial number N104 can be realized by the program block of serial number N102 that is two in advance. The switching execution program block determination unit 118 determines that the program block of serial number N102 is "possible" in the switching possibility information, and therefore determines that the switching of the control object axis and the switching of the current control cycle in the object program block of serial number N104 is "possible" through the program block of serial number N102. Furthermore, when the switching execution program block determination unit 118 determines that the program block of serial number N102 is "possible", it determines whether the switching of the control object axis and the switching of the current control cycle in the object program block of serial number N104 can be realized by the program block of serial number N101 that is three in advance. The switching execution block determination unit 118 determines that the block with the sequence number N101 is "not possible" in the switching availability information, and therefore determines that the switching of the control target axis and the switching of the current control cycle in the object block with the sequence number N104 are "not possible" through the block with the sequence number N101. As a result, the switching execution block determination unit 118 determines the block with the sequence number N102 as the block for executing the switching of the control target axis and the switching of the current control cycle in the object block with the sequence number N104.
[0117] In this way, the switching execution block determination unit 118 executes the switching of the control target axis and the current control cycle of the target block by the block as early as possible. That is, the control device 1A can execute the processing of the block with sequence number N102 and the switching processing for the target block with sequence number N104 in parallel, and can execute the processing of the block with sequence number N104 without delay. In addition, the control device 1A can suppress the increase of the cycle time.
[0118] When judging the block with sequence number N103 as “impossible”, the switching execution block determination unit 118 determines the block with sequence number N104 as a block for executing switching of the control target axis and switching of the current control cycle in the target block with sequence number N104 .
[0119] For example, the information adding unit 115 a adds the switching request and the post-switching information in the target block of sequence number N104 to the analysis result of the block of sequence number N102 determined by the switching execution block determining unit 118 .
[0120] The analysis result storage unit 116 a stores the analysis result of each program block including the analysis result to which the switching request and the state after switching are added, and the switching availability information of the switching availability determination unit 117 .
[0121] The above-mentioned operations of the various elements of the control device 1A can be summarized as follows: Figure 8 way to express it.
[0122] Figure 8 Yes means Figure 4 A diagram showing an example of the relationship between each program block of the machining program 50 and the operations of the machining and non-machining state determination unit 112, the switching necessity determination unit 114, the switching possibility determination unit 117, the switching execution program block determination unit 118, the information attachment unit 115a, and the switching execution unit 121.
[0123] like Figure 8 As shown, in Figure 4 In the case of the machining program 50, the machining and non-machining state determination unit 112 determines that the object program block of the serial number N104 is in the "machining state", and the switching determination unit 114 determines that the object program block of the serial number N104 needs to be switched to the machining state. Then, the switching execution program block determination unit 118 determines the program block of the serial number N102 to execute the switching process of the control object axis and the current control cycle of the object program block of the serial number N104 based on the switching information of the switching determination unit 117. The information attachment unit 115a attaches the request for switching the machining state and the information after switching in the object program block of the serial number N104 to the analysis result of the program block of the serial number N102. The switching execution unit 121 executes the switching of the control object axis and the switching of the current control cycle in the program block of the serial number N102.
[0124] Thus, the control device 1A can execute the processing of the program block of sequence number N102 and the switching processing for the target program block of sequence number N104 in parallel, thereby executing the processing of the program block of sequence number N104 without delay. In addition, the control device 1A can suppress an increase in cycle time.
[0125] <Switching Process of Control Device 1A>
[0126] Next, the operation related to the switching process of the control device 1A according to the second embodiment will be described.
[0127] Fig. 9 This is a flowchart for explaining the switching process of the control device 1A. The flow shown here is repeatedly executed every time the control device 1A acquires the machining program 50.
[0128] in addition, Fig. 9 In the servo control process shown in FIG. 1 , the processes of step S23, step S24, and step S27 are the same as those of step S27. Figure 6 The steps S11, S12, and S14 are the same and their description is omitted.
[0129] In step S21 , the machining program pre-reading unit 101 pre-reads a plurality of target program blocks.
[0130] In step S22, the switchability determination unit 117 determines whether the control target axis switching and the current control cycle switching in the program block after the target program block can be executed in each of the plurality of target program blocks pre-read in step S21. Then, the switchability determination unit 117 stores the switchability information of the determination result in the analysis result storage unit 116a.
[0131] In step S25 , the switching execution block determination unit 118 determines, based on the switching availability information determined in step S22 , a block to be executed for switching the control target axis and the current control cycle among the target blocks determined to need switching in step S24 .
[0132] In step S26, the information adding unit 115a adds a switching request and post-switching information of the target program block determined to be required to be switched in step S24 to the analysis result of the program block determined in step S25.
[0133] In step S28, the switching execution unit 121 executes the switching of the control object axis and the current control cycle for the servo control CPU 200 through the program block determined by step S25 each time the object program block is executed based on the data and analysis results of the control object axis and the current control cycle in the machining state and the non-machining state of the control object axis and the current control cycle data storage unit 130.
[0134] In addition, the process of step S22 is processed in series with the processes of step S23 and step S24, but they may be processed in parallel.
[0135] As described above, the control device 1A according to the second embodiment pre-reads a plurality of object program blocks of the machining program 50. The control device 1A determines whether the switching of the control target axis and the switching of the current control cycle in the program block after the object program block can be executed in each of the plurality of object program blocks pre-read, and stores the determination as the switching possibility information. The control device 1A determines the program block to execute the switching of the control target axis and the switching of the current control cycle in the object program block determined to be required to be switched based on the switching possibility information, and adds the switching request and the switching information of the object program block determined to be required to be switched to the analysis result of the determined program block. The control device 1A executes the switching of the control target axis and the switching of the current control cycle for the servo control CPU 200 through the determined program block every time the object program block is executed based on the switching request and the switching information added to the analysis result of the program block. The control device 1A causes the servo control CPU 200 to control the control target axis with the switched current control cycle.
[0136] Thus, the control device 1A automatically switches the control target axis and the current control cycle, thereby suppressing the maximum load of the servo control CPU 200 and reducing the hardware cost of the servo control CPU 200 .
[0137] Furthermore, the control device 1A can suppress an increase in the cycle time by executing switching of the control target axis and the current control cycle using a program block earlier than the target program block.
[0138] The second embodiment has been described above.
[0139] Although the first embodiment and the second embodiment have been described above, the control devices 1 and 1A are not limited to the above-described embodiments, and include modifications and improvements within a range that can achieve the purpose.
[0140] <Variation 1>
[0141] In the above-mentioned first embodiment and second embodiment, Figure 2 The machine tool MC is, for example, a lathe having an X-axis and a Z-axis as axes (machining axes) of a tool post, and a U-axis and a W-axis as loading axes (non-machining axes) for workpiece transport, etc., but is not limited thereto. For example, the machine tool MC may also have three machining axes, namely, an X-axis, a Z-axis, and a Y-axis. Alternatively, the machine tool MC may also have a non-machining axis, namely, a U-axis or a W-axis.
[0142] In addition, each function included in the control device 1 and 1A according to the first embodiment and the second embodiment can be realized by hardware, software, or a combination thereof. Here, the term "realized by software" means that a computer reads a program and executes it.
[0143] In addition, each component included in the control device 1 or 1A may be realized by hardware including an electronic circuit, software, or a combination thereof.
[0144] Various types of non-transitory computer readable media (Non-transitory computer readable medium) can be used to store the program and provide it to the computer. Non-transitory computer readable media include various types of tangible storage media (Tangible storage medium). Examples of non-transitory computer readable media include: magnetic storage media (e.g., floppy disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., optical magnetic disks), CD-ROM (Read Only Memory), CD-R, CD-R / W, semiconductor memory (e.g., mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM). In addition, the program can be supplied to the computer via various types of transient computer readable media (Transitory computer readable medium). Examples of transient computer readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to the computer via wired communication paths such as wires and optical fibers or wireless communication paths.
[0145] Furthermore, regarding the steps describing the program recorded in the recording medium, it goes without saying that the processing is performed in time series according to the order, and also includes processing that is not necessarily performed in time series and processing that is executed in parallel or individually.
[0146] In other words, the control device and control method of the present disclosure can be implemented in various ways with the following structures.
[0147] (1) The control device 1 disclosed in the present invention controls each of a plurality of control axes included in an industrial machine according to a machining program, and includes at least: a program analyzing unit 110, a program executing unit 120, and a servo control CPU 200, wherein the program analyzing unit 110 has: a machining and non-machining state determining unit 112, which determines, based on a preset state determining condition, whether an object program block of the machining program 50 to be analyzed is in a machining state in which the industrial machine performs a machining action, or in a non-machining state in which a non-machining action other than machining is performed; a state storing unit 113, which stores the determination result determined by the machining and non-machining state determining unit 112; and a switching necessity determining unit 114, which determines that the control axis of the object to be controlled, i.e., the control axis to be controlled, is not required when the state of the object program block determined by the machining and non-machining state determining unit 112 is the same as the state of a previous program block stored in the state storing unit 113 that is one block ahead of the object program block. Switching of the object axis and / or the current control cycle for the controlled object axis, when the state of the object program block is different from the state of the previous program block, it is determined that the controlled object axis and / or the current control cycle need to be switched; an information appending unit 115, which appends a switching request and a switched information indicating the switched state to the analysis result of the object program block when the switching determination unit 114 determines that switching is required; and an analysis result storage unit 116, which stores the analysis result, the program execution unit 120 has: a switching execution unit 121, which executes the switching of the controlled object axis and / or the current control cycle for the servo control CPU 200 each time the object program block is executed based on the data of the controlled object axis and the current control cycle in the machining state and the non-machining state and the analysis result of the object program block, and the servo control CPU 200 controls the controlled object axis with the current control cycle switched by the switching execution unit 121.
[0148] According to the control device 1 , the maximum load of the servo control CPU 200 is suppressed by automatically switching the control target axis and the current control cycle, and the hardware cost of the servo control CPU 200 can be reduced.
[0149] (2) In the control device 1A described in (1), it may be provided with: a machining program pre-reading unit 101, which pre-reads a plurality of object program blocks of the machining program 50; a program analyzing unit 110a further including: a switchability determination unit 117, which determines whether, in each of the plurality of object program blocks pre-read by the machining program pre-reading unit 101, it is possible to execute switching of the control object axis or switching of the current control cycle in a program block later than the object program block; and a switching execution program block determination unit 118, which determines, based on the determination result of the switchability determination unit 117, a program block in which switching of the control object axis or switching of the current control cycle in the object program block determined by the switching necessity determination unit 114 as requiring switching is to be executed; and an information adding unit 115a adds a switching request for the object program block and post-switching information to the analysis result of the program block determined by the switching execution program block determination unit 118.
[0150] In this way, the control device 1A can suppress an increase in the cycle time by executing switching of the control target axis and the current control cycle using a program block earlier than the target program block.
[0151] (3) In the control device 1, 1A described in (1) or (2), the state judgment condition may include the following conditions: one of a machining axis and a non-machining axis is pre-set for each of a plurality of control axes, and the object program block is judged to be in a machining state when it includes a cutting feed instruction for at least one machining axis, and is judged to be in a non-machining state when it does not include the cutting feed instruction for the machining axis.
[0152] In this way, the control device 1 , 1A can automatically switch the controlled axis and the current control period with high accuracy.
[0153] (4) In the control device 1, 1A described in (3), one of the machining axes and the non-machining axes may be set for each of the plurality of control axes to avoid simultaneous execution of the cutting feed command of the machining axis and the rapid traverse / cutting feed command of the non-machining axis.
[0154] In this way, the control device 1 , 1A can automatically switch the controlled axis and the current control period with high accuracy.
[0155] (5) The control method disclosed in the present invention controls each of a plurality of control axes in an industrial machine according to a machining program 50 implemented by a computer, and at least includes a program analysis step, a program execution step, and a servo control step. The program analysis step includes: a machining and non-machining state determination step, for determining, based on a preset state determination condition, whether an object program block of the machining program to be analyzed is in a machining state in which the industrial machine performs a machining action, or in a non-machining state in which a non-machining action other than machining is performed; a state saving step, for saving a determination result determined by the machining and non-machining state determination step; and a need for switching determination step, for determining that the object does not need to be controlled when the state of the object program block determined by the machining and non-machining state determination step is the same as the state of a previous program block saved by the state saving step that is one step ahead of the object program block. The control axis, i.e., the control object axis and / or the current control cycle for the control object axis is switched. When the state of the object program block is different from the state of the previous program block, it is determined that the control object axis and / or the current control cycle need to be switched; an information appending step, when it is determined that switching is necessary through the switching determination step, the switching request and the switched information indicating the state after switching are appended to the analysis result of the object program block; and an analysis result saving step, the analysis result is saved, the program execution step comprises: a switching execution step, according to the data of the control object axis and the current control cycle in the machining state and the non-machining state, and the analysis result of the object program block, the control object axis is switched and / or the current control cycle is switched each time the object program block is executed, and the servo control step controls the control object axis with the current control cycle after switching through the program execution step.
[0156] According to this control method, the same effect as (1) can be obtained.
Claims
1. A control device for controlling each of a plurality of control axes included in an industrial machine based on a machining program, It is characterized in that The control device at least includes a program analysis unit, a program execution unit and a servo control unit. The program analysis unit has: a machining and non-machining state determination unit for determining, based on a preset state determination condition, whether the object program block of the machining program to be analyzed is in a machining state for causing the industrial machine to perform a machining action or in a non-machining state for performing a non-machining action other than machining; A state storage unit that stores a determination result determined by the processing and non-processing state determination unit; a switching necessity determination unit, which determines that switching of the control axis of the control object, i.e., the control object axis and the current control cycle for the control object axis is not necessary when the state of the object block determined by the machining and non-machining state determination unit is the same as the state of a previous block stored by the state storage unit and precedes the object block by one, and determines that switching of the control object axis and the current control cycle is necessary when the state of the object block is different from the state of the previous block; an information adding unit that adds a switching request and post-switching information indicating a state after the switching to the analysis result of the object program block when the switching necessity determining unit determines that the switching is necessary; and an analysis result storage unit, which stores the analysis result, The program execution unit has: a switching execution unit that switches the control target axis and the current control cycle for the servo control unit each time the object program block is executed based on the data of the control target axis and the current control cycle in the machining state and the non-machining state and the analysis result of the object program block, The servo control unit controls the control target axis in the current control cycle switched by the switching execution unit.
2. The control device according to claim 1, characterized in that: The control device includes a machining program pre-reading unit that pre-reads a plurality of target program blocks of the machining program. The program analysis unit also has: a switchability determination unit for determining whether, in each of the plurality of target program blocks pre-read by the machining program pre-reading unit, the switching of the control target axis and the switching of the current control cycle in a program block later than the target program block can be executed; as well as a switching execution program block determination unit that determines, based on the determination result of the switching possibility determination unit, to execute a program block for switching the control target axis and switching the current control cycle among the target program blocks determined by the switching necessity determination unit as the required switching, The information adding unit adds the switching request for the target block and the post-switching information to the analysis result of the block determined by the switching execution block determining unit.
3. The control device according to claim 1 or 2, characterized in that: The state judgment condition includes the following conditions: one of the machining axis and the non-machining axis is pre-set for each of the multiple control axes, and when the object program block contains a cutting feed instruction for at least one machining axis, it is judged to be in a machining state, and when it does not contain the cutting feed instruction for the machining axis, it is judged to be in a non-machining state.
4. The control device according to claim 3, characterized in that: Each of the plurality of control axes is set as one of the machining axis and the non-machining axis to avoid simultaneous execution of a cutting feed command of the machining axis and a rapid feed / cutting feed command of the non-machining axis.
5. A control method for controlling each of a plurality of control axes in an industrial machine based on a machining program implemented by a computer, It is characterized in that The control method at least includes a program analysis step, a program execution step and a servo control step. The program parsing step has the following steps: a machining and non-machining state determination step, in which it is determined based on a preset state determination condition whether the object program block of the analysis object of the machining program is in a machining state in which the industrial machine performs a machining action, or in a non-machining state in which a non-machining action other than machining is performed; A state saving step, in which a determination result determined by the processing and non-processing state determination step is saved; a switching necessity determination step, in which, when the state of the object program block determined by the machining and non-machining state determination step is the same as the state of a previous program block saved by the state saving step and preceding the object program block by one, it is determined that switching of the control axis of the control object, i.e., the control object axis and the current control cycle for the control object axis, is unnecessary, and when the state of the object program block is different from the state of the previous program block, it is determined that switching of the control object axis and the current control cycle is necessary; an information adding step, in which, when it is determined that switching is necessary by the switching necessity determining step, a switching request and post-switching information indicating a state after switching are added to the analysis result of the object program block; and an analysis result saving step, in which the analysis result is saved, The program execution steps include: a switching execution step, in which the switching of the control target axis and the current control cycle is executed each time the object program block is executed based on the data of the control target axis and the current control cycle in the machining state and the non-machining state and the analysis result of the object program block, In the servo control step, the control target axis is controlled in the current control cycle switched in the program execution step.
Citation Information
Patent Citations
Method of controlling a plurality of servomotors
JP2010252615A
Control device and control method of shift change mechanism, program embodied in computer, and recording media to record this program
JP2008106826A
Arc welding robot system
JP2014117720A