Simulation device
By introducing a data selection unit in the simulation device, the number of data points is reduced according to the movement of the tool and the display of the simulation results, the problem of difficult to simulate machine tool vibration and low simulation processing efficiency under high data volume in the prior art is solved, and more efficient simulation processing and memory usage optimization are achieved.
Patent Information
- Application Number
- CN202011066176.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-30
- Filing Date
- 2020-09-30
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2040-09-30
AI Technical Summary
In the prior art, it is difficult to effectively simulate machine tool vibration caused by acceleration and deceleration and acceleration and deceleration in processing simulation, resulting in difficult to confirm the surface quality of the processing surface. As the number of data points increases, the simulation processing time and memory usage increase significantly.
A simulation device is designed, including a data selection unit, which reduces the number of data points used for processing simulation based on the movement of the tool and the display of simulation results, and selects points with a large influence on the processing surface for simulation processing.
Through the reduction mechanism of the data selection unit, it is possible to reduce the simulation time and memory usage while retaining the required information on the graphic display of the processing surface, thereby improving the efficiency of the simulation processing.
Smart Images

Figure CN112578736B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a simulation device, and more particularly to a simulation device that performs simulation based on feedback data from a servo motor. Background Art
[0002] In a numerical control device, a tool path is calculated based on a machining program to perform machining simulation, thereby understanding the machining status and machining shape, and checking the interference between the tool and the fixture or worktable, workpiece, etc. However, even if machining simulation is performed on a certain machining program to confirm that there are no problems in the machining shape or interference, when the machining program is executed to actually machine the workpiece, there may still be cases where the machine tool vibrates due to the acceleration and jerk of the drive axis, thereby affecting the surface quality of the machined surface.
[0003] On the one hand, conventional machining simulations calculate tool paths based on machining programs, and take into account the acceleration and deceleration of each axis in order to more accurately calculate machining time. However, the vibration caused by acceleration and deceleration, or acceleration and deceleration, is not simulated. Therefore, for example, when high-quality machining that is easily affected by mechanical vibration is required, the surface quality cannot be confirmed without actually machining the workpiece.
[0004] In addition, as a method of confirming the state of the processed surface by simulation, there is the following technology: Fig.11 As illustrated, feedback data from each axis of the machine is saved, and the saved data is used to generate a display that can confirm the error between the position of the computer-aided design data and the position of the feedback data when performing a machined surface simulation (for example, International Publication No. 2016 / 174716, etc.).
[0005] A general problem in machining simulation is that, when the amount of data used for simulation increases, the calculation time in simulation processing and the amount of memory used, such as RAM, increase, and the time required to display simulation results increases.
[0006] For example, in order to accurately display the effects of mechanical vibration, backlash during axis reversal, etc. on the machined surface based on the feedback data of the servo motor, a high sampling rate is required, and the number of data points obtained is very large. However, if the number of data points increases, the time required for simulation processing becomes longer and the amount of memory used also increases. Therefore, if the data representing all the machining positions obtained as feedback data is used intact, it is difficult to simulate. Summary of the invention
[0007] Therefore, a technology is desired that adjusts the amount of data used for machining simulation according to the movement of the tool and the display of the simulation results.
[0008] A simulation device according to one aspect of the present invention includes a data selection unit for selecting data required for processing surface evaluation between a servo data output unit and a simulator input unit. The data selection unit reduces the number of data points used for simulation processing according to the movement of the tool, thereby solving the above-mentioned problem. In addition, the data selection unit reduces the number of data points used for simulation processing according to the display of the simulation result.
[0009] The simulation device of the present invention performs simulation processing based on feedback data from an electric motor, which is used to drive the axis of a machine tool. The simulation device comprises: a point series data storage unit, which is used to store point series data, and the point series data is a sequence of position data of points related to the feedback data from the above-mentioned motor; a data selection unit, which selects points that have a great influence on the processing quality of the processing surface from the above-mentioned point series data as points for simulation processing; and a simulation execution unit, which performs simulation processing based on data related to the points selected by the above-mentioned data selection unit.
[0010] The data selection unit may select, from among the points included in the point sequence data, points that are separated from a line segment passing through adjacent preceding and succeeding points by a predetermined tolerance length or more, as points to be used for simulation processing.
[0011] The data selection unit may select, from among the points included in the point sequence data, points at which the tool posture changes by more than a predetermined tolerance angle with respect to the tool posture of a previously selected point, as points for simulation processing.
[0012] The above-mentioned point column data storage unit can store the command position for the above-mentioned motor when the above-mentioned feedback data is obtained in association with the point column data. In addition, the above-mentioned data selection unit can select, from the points included in the above-mentioned point column data, a point whose error with the above-mentioned command position has changed by more than a predetermined first tolerance error change amount relative to the error between the above-mentioned command position and the previous point selected, as a point for simulation processing.
[0013] The above-mentioned point sequence data storage unit can associate the sequence of NC data executed when the above-mentioned feedback data is obtained with the point sequence data for storage. In addition, the above-mentioned data selection unit can select, from the points included in the above-mentioned point sequence data, points whose errors with the above-mentioned NC data have changed by more than a predetermined second tolerance error change amount relative to the error between the above-mentioned NC data of a previously selected point, as points for simulation processing.
[0014] The above-mentioned data selection unit may include: a first selector, which is used to select points that have a great impact on the processing quality of the processing surface as points for simulation processing; and a second selector, which is used to select points contained in a designated area as points for simulation processing. In addition, the above-mentioned data selection unit may use one of the above-mentioned first selector and the above-mentioned second selector to select points for simulation processing based on the display of the results of the simulation processing performed by the above-mentioned simulation execution unit.
[0015] According to one aspect of the present invention, information required for graphical display of a processed surface can be retained while reducing simulation time and memory usage. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 This is a schematic hardware configuration diagram of a simulation device according to one embodiment.
[0017] Figure 2 This is a schematic functional block diagram of the simulation device according to the first embodiment.
[0018] Figure 3 A first selection method performed by the data selection unit will be described.
[0019] Figure 4 A second selection method performed by the data selection unit will be described.
[0020] Figure 5 A third selection method performed by the data selection unit will be described.
[0021] Figure 6 It is used to explain the 4th selection method performed by the data selection unit.
[0022] Figure 7 This is a schematic functional block diagram of a simulation device according to the second embodiment.
[0023] Figure 8 A method for selecting points in a designated area by the data selection unit will be described.
[0024] Fig. 9 This section describes the display of objects based on viewpoint.
[0025] Fig.10 This is a flowchart showing the procedure of improving processing conditions using the simulation device according to the second embodiment.
[0026] Fig.11 The display of simulation processing results based on the conventional technology will be described. DETAILED DESCRIPTION
[0027] Figure 1This is a schematic hardware configuration diagram showing the main parts of a simulation device according to one embodiment of the present invention.
[0028] The simulation device 1 of the present invention can be installed as a numerical control device for controlling a machine tool based on a machining program, for example. In addition, the simulation device 1 of the present invention can also be installed as a personal computer provided together with the control device, a personal computer connected to the control device via a network, a fog computer, a cloud server, etc. In the following embodiment, the simulation device 1 of the present invention is set as a personal computer connected to a numerical control device 4 for controlling a machine tool via a network 5, etc.
[0029] The CPU 11 included in the simulation device 1 of the present embodiment is a processor that controls the entire simulation device 1. The CPU 11 reads a system program stored in the ROM 12 via the bus 20, and controls the entire simulation device 1 according to the system program. The RAM 13 temporarily stores temporary calculation data, display data, and various data input from the outside.
[0030] The nonvolatile memory 14 is composed of, for example, a memory supported by a battery (not shown), a Solid State Drive (SSD), etc., and maintains the storage state even when the power of the simulation device 1 is turned off. In the nonvolatile memory 14, programs and data input via the input device 71, data related to the position and speed of each motor input from the numerical control device 4 via the network 5, etc. are stored. The programs and various data stored in the nonvolatile memory 14 can be expanded in the RAM 13 when executed / used. In addition, various system programs such as well-known analysis programs are pre-written in the ROM 12.
[0031] The simulation device 1 is connected to the network 5 via the interface 17. The network 5 is connected to a numerical controller 4 for controlling a machine tool, a fog computer, a cloud server or other computer, and performs data communication (transmission and reception) with the simulation device 1.
[0032] The data read into the memory, the data obtained as the execution result of the program, the result image of the simulation processing, etc. are output to the display device 70 for display via the interface 18. In addition, the input device 71 composed of a keyboard, a pointing device, etc. transmits instructions, data, etc. based on the operator's operation to the CPU 11 via the interface 19.
[0033] On the other hand, the CPU 411 included in the numerical controller 4 is a processor that controls the entire numerical controller 4, and the numerical controller is connected to the simulation device 1 via the network 5. The CPU 411 reads the system program stored in the ROM 412 via the bus 420, and controls the entire numerical controller 4 according to the system program. Temporary calculation data, display data, various data input from the outside, etc. are temporarily stored in the RAM 413.
[0034] The non-volatile memory 414 is composed of, for example, a memory supported by a battery (not shown), a Solid State Drive (SSD), etc., and maintains the storage state even when the power of the numerical control device 4 is turned off. The non-volatile memory 414 stores programs read from the external device 72 via the interface 415, programs input via the display / MDI unit (not shown), feedback data of the position and speed of each motor fed back from the position speed detector of the servo motor 50 and the position encoder 63 installed on the spindle motor 62, etc. The programs and various data stored in the non-volatile memory 414 can be expanded in the RAM 413 when executed / used. In addition, various system programs such as well-known analysis programs are pre-written in the RO4M12.
[0035] The interface 415 is an interface for connecting the CPU 411 of the numerical controller 4 to an external device 72 such as a USB device. The program, various parameters, etc. for controlling the machine tool are read from the external device 72. In addition, the program, various parameters, etc. edited in the numerical controller 4 can be stored in the external storage unit via the external device 72. The programmable logic controller (PLC) 416 controls the machine tool and its peripheral devices (such as tool changers, actuators such as robots, sensors installed on the machine tool, etc.) by outputting signals to the machine tool and the peripheral devices of the machine tool via the I / O unit 417 through the sequence program built into the numerical controller 4. In addition, the signals of various switches, peripheral devices, etc. equipped on the operation panel of the machine tool body are received, and transmitted to the CPU 411 after necessary signal processing.
[0036] The numerical control device 4 is connected to the network 5 via the interface 418. The numerical control device 4 is configured to be able to communicate (transmit and receive) data with the simulation device 1 via the network 5.
[0037] The axis control circuit 430 for controlling the axis of the machine tool receives the axis movement instruction from the CPU 411 and outputs the axis instruction to the servo amplifier 440. The servo amplifier 440 receives the instruction and drives the servo motor 50 for moving the axis of the machine tool. The servo motor 50 of the axis has a built-in position speed detector, and the position speed feedback signal from the position speed detector is fed back to the axis control circuit 430 to perform position speed feedback control. In addition, although the axis control circuit 430, the servo amplifier 440, and the servo motor 50 are Figure 1 In the hardware structure diagram, only one is shown, but in fact, it can be prepared according to the number of axes of the machine tool to be controlled. For example, when controlling a 5-axis machine tool with 3 linear axes and 2 rotation axes, the following 5 sets of axis control circuits 430, servo amplifiers 440 and servo motors 50 are prepared respectively: (1) axis control circuits 430, servo amplifiers 440 and servo motors 50 for linearly moving the tool and the workpiece relative to each other in the X, Y, and Z axis directions; (2) axis control circuits 430, servo amplifiers 440 and servo motors 50 for rotationally moving the tool and the workpiece relative to each other in the A and C axis (or B axis) directions.
[0038] The spindle control circuit 460 receives the spindle rotation command and outputs a spindle speed signal to the spindle amplifier 461. The spindle amplifier 461 receives the spindle speed signal and rotates the spindle motor 62 of the machine tool at the commanded rotation speed to rotationally drive the tool. The position encoder 63 is connected to the spindle motor 62, and the position encoder 63 outputs feedback pulses in synchronization with the rotation of the spindle, and the feedback pulses are read by the CPU 411.
[0039] Figure 2 The functions of the simulation device 1 according to the first embodiment of the present invention and the functions of the numerical control device 4 capable of outputting data to the simulation device 1 are schematically shown in a block diagram.
[0040] about Figure 2 The modules of the simulation device 1 shown in the figure are Figure 1 The simulation device 1 shown in the figure is implemented by the CPU 11 executing the system program to control the operation of each part of the simulation device 1. Figure 2 The modules of the numerical control device 4 shown in FIG. Figure 1 The numerical control device 4 shown in the figure is provided with a CPU 411 which executes a system program to control the operation of each part of the numerical control device 4. The numerical control device 4 of this embodiment is used to control a machine tool which relatively moves a tool and a workpiece by a plurality of servo motors 50 and processes a workpiece by a tool which is rotationally driven by a spindle motor 62.
[0041] The numerical controller 4 of the present embodiment includes an analyzing unit 470 and a control unit 480. In addition, a control program 490 for controlling the operation of a machine tool to machine a workpiece is stored in advance in the nonvolatile memory 414 of the numerical controller 4.
[0042] The analysis unit 470 performs Figure 1 The CPU 411 of the numerical controller 4 shown in FIG. 4 executes the system program read from the ROM 412, which is mainly realized by performing arithmetic processing by the CPU 411 using the RAM 413 and the non-volatile memory 414. The analysis unit 470 reads and analyzes the program blocks of the program 490, and generates movement instruction data for each servo motor 50 and spindle instruction data for instructing spindle rotation. The analysis unit 470 generates movement instruction data for each servo motor 50 based on the feed instruction instructed by the program blocks of the program 490. In addition, the analysis unit 470 generates spindle instruction data based on the spindle rotation instruction instructed by the program blocks of the program 490.
[0043] The control unit 480 is configured to Figure 1 The CPU 411 of the numerical control device 4 shown in the figure executes the system program read from the ROM 412, which is mainly achieved by the CPU 411 performing calculation processing using the RAM 413 and the non-volatile memory 414, the axis control circuit 430 and the servo amplifier 440 performing control processing of the servo motor 50, and the spindle control circuit 460 and the spindle amplifier 461 performing control processing of the spindle motor 62.
[0044] The control unit 480 drives the servo motor 50 and the spindle motor 62 based on the movement command data and the spindle command data generated by the analysis unit 470. In addition, the control unit 480 sends the time series data indicating the position of each servo motor 50 fed back from the position speed detector of each servo motor 50 to the simulation device 1 via the network 5. At this time, in addition to the fed back data, the control unit 480 can also send the time series data related to the command position of each servo motor 50 by the control unit 480 to the simulation device 1. In addition, in addition to the fed back data, the control unit 480 can also send the data including the execution timing of each program block included in the program 490 (including the data including the execution timing of NC data) to the simulation device 1.
[0045] On the other hand, the simulation device 1 of the present embodiment includes a data acquisition unit 130, a data selection unit 140, and a simulation execution unit 150. In addition, in the nonvolatile memory 14 of the simulation device 1, a point sequence data storage unit 210 is provided as an area for storing point sequence data representing a sequence of positions and postures of the tool tip.
[0046] The data acquisition unit 130 is configured by Figure 1 The simulation device 1 shown in FIG. 1 is provided with a CPU 11 that executes a system program read from a ROM 12, and is realized mainly by performing arithmetic processing by the CPU 11 using a RAM 13 and a nonvolatile memory 14. The data acquisition unit 130 generates point sequence data based on the time series data indicating the position of each servo motor 50 received from the numerical controller 4, and stores the generated point sequence data in the point sequence data storage unit 210.
[0047] Point sequence data is data in which the transition of the position and posture of the tool tip is arranged in time series. Data representing the position and posture of the tool tip at each moment constituting point sequence data is generated based on the position of each motor fed back from each servo motor 50 at the same moment. When time series data representing the position of each servo motor 50 is input from the numerical controller 4, the data acquisition unit 130 of this embodiment uses the position of each servo motor 50 acquired at each moment as a combination, and uses the data (tool length, etc.) related to the tool shape acquired or set in advance from the numerical controller 4 to generate data related to the position and posture of the tool tip at each moment. Then, the data of the position and posture of the tool tip associated with each moment is stored in the point sequence data storage unit 210 as point sequence data. In addition, in the point sequence data storage unit 210, time series data related to the command position of the control unit 480 for each servo motor 50 at each moment can also be associated with the point sequence data for storage. In addition, in the point sequence data storage unit 210, data including the execution timing of NC data can also be associated with the point sequence data for storage.
[0048] The data selection unit 140 is configured by Figure 1 The simulation device 1 shown in FIG. 1 is provided with a CPU 11 that executes a system program read from a ROM 12, and is mainly realized by performing arithmetic processing by the CPU 11 using a RAM 13 and a nonvolatile memory 14. The data selection unit 140 selects data of points used for simulation processing from the point sequence data stored in the point sequence data storage unit 210, based on the display of the result of the simulation processing executed by the simulation execution unit 150.
[0049] For example, when the simulation execution unit 150 simulates the entire processing area, the data selection unit 140 selects data of points that are considered to have a large influence on the processing surface from the point sequence data as data for simulation processing.
[0050] As a first example of a method for selecting point data that is considered to have a great influence on the machined surface, a method for selecting the position of the tool tip represented by the point data is considered. In the method for selecting the position represented by the point data, among the points included in the point sequence data, a point that is away from the following line segment is selected as the point data for simulation processing, and the line segment is a line segment passing through the adjacent front and rear points. That is, the change in the position of the tool tip is confirmed in a time series order, and when the middle point of the three adjacent points does not converge within the tolerance area (allowable area) based on the two end points of the three points, the point is selected as the point data for simulation processing.
[0051] Figure 3 The following describes a selection method based on the location represented by point data.
[0052] Assume that the point array data storage unit 210 stores Figure 3 (a) Example of point sequence data. First, the point of the point sequence data associated with the earliest time is selected as the point data for simulation processing. Next, based on the selected point, the point sequence data is confirmed in time series order, and three adjacent points including the selected point are extracted. Then, two endpoints of the extracted three points are connected by a straight line, and an area with a width of twice the predetermined tolerance length in the vertical direction relative to the straight line is defined as a tolerance area ( Figure 3 (b)). When the middle point of the three adjacent points converges in the tolerance area, the point is removed as a point not used for simulation processing. In the case of removing a point, the point sequence data other than the removed point is checked in time series order starting from the selected point, and the three adjacent points are extracted again. Then, the tolerance area is defined in the same way as above, and when the middle point of the three adjacent points does not converge in the tolerance area ( Figure 3 (c)), the middle point is selected as the data of the point used for simulation processing ( Figure 3 (d)). Then, the same process is repeated again with the point selected as the point data used in the simulation process as the reference. Finally, the point associated with the latest time in the point sequence data is selected as the point data used for the simulation process.
[0053] By performing the above-mentioned processing, only the data of the points with a large position change compared with the surrounding points are selected as the data of the points used for simulation processing. By using the data of the points selected in this way to perform simulation, the part where the tool position changes gently or the part where the change is small will not be reflected in the image of the simulation result, but the part with a change above a predetermined tolerance set in advance will be reflected in the image of the simulation result. By adopting such a selection method, it is foreseeable that the calculation time and the usage of memory such as RAM in the simulation processing will be greatly reduced, especially in the processing of workpieces with many planes or gentle surfaces. In addition, when it is desired to capture the trend of the entire processing area of the workpiece, since it is not necessary to depict the planes or gentle surfaces in detail, the image of the simulation result generated can meet the requirements of the operator.
[0054] As a second example of a method for selecting point data that is considered to have a great influence on the processing surface, a method for selecting a tool posture represented by point data is considered. In the method for selecting a tool posture represented by point data, changes in the tool posture are confirmed in a time series order, and when the change angle of the tool posture at the previous point is used as a reference and does not converge within the tolerance angle (allowable angle), the point is selected as the point data for simulation processing.
[0055] Figure 4 A method for selecting a tool posture represented by point data will be described.
[0056] Assume that the point array data storage unit 210 stores Figure 4 (a) Example of point sequence data. First, the point associated with the earliest time in the point sequence data is selected as the point data for simulation processing. Next, using the selected point as a reference, points adjacent to the selected point are extracted from the point sequence data. Then, when the tool posture of the extracted point changes relative to the tool posture of the selected point within a predetermined tolerance angle, the extracted point is removed as a point not used for simulation processing ( Figure 4 (b)). In the case where a point is removed, the selected point is used as a reference for extracting points adjacent to the selected point. Then, when the tool posture of the extracted point changes relative to the tool posture of the selected point by more than a predetermined tolerance angle ( Figure 4 (c)), the extracted point is selected as the data of the point used for simulation processing ( Figure 4 (d)). Then, the same process is repeated again with the point selected as the point data used in the simulation process as the reference. Finally, the point associated with the latest time in the point sequence data is selected as the point data used for the simulation process.
[0057] By performing the above processing, only the data of the point where the position of the tool in contact with the workpiece changes significantly during cutting when the workpiece is processed is selected as the data of the point for simulation processing. When processing is performed outside the tool tip point by the tool side or the like, even if the position of the tool tip point does not change, when the position of the tool in contact with the workpiece changes, the processing quality of the processing sometimes changes. Therefore, by adopting such a selection method, the part where the position of the tool in contact with the workpiece does not change can be omitted from the object of simulation processing, while the part where the position of the tool in contact with the workpiece changes significantly will be shown in the image of the simulation result, so when capturing the trend of the entire processing area, the part affected by the tool shape such as a tapered ball end mill and a bull nose end mill can be grasped.
[0058] As a third example of a method for selecting point data that is considered to have a large influence on the machined surface, a method for selecting based on an error between a trajectory (hereinafter referred to as a command trajectory) drawn by the position of a command point for the servo motor 50 (the command position of the servo motor 50 from the control unit 480) and a trajectory (hereinafter referred to as an actual trajectory) drawn by the actual position of the tool tip obtained from the position fed back from the servo motor 50. In the method for selecting based on the error (trajectory error) between the command trajectory and the actual trajectory, when the amount of change in the trajectory error does not converge within the amount of change in the tolerance error (the amount of change in the allowable error), the point is selected as the data of the point used for the simulation process.
[0059] Figure 5 A selection method based on the trajectory error between the command trajectory and the actual trajectory is described.
[0060] like Figure 5 As illustrated in (a), it is assumed that the point sequence data is associated with the command trajectory and stored in the point sequence data storage unit 210. First, the point in the point sequence data that is associated with the earliest time is selected as the data of the point for simulation processing. Next, using the selected point as a reference, points adjacent to the selected point are extracted from the point sequence data. Then, when the difference (the change in trajectory error) between the error (trajectory error) between the command trajectory and the actual trajectory of the selected point and the error (trajectory error) between the command trajectory and the actual trajectory of the extracted point is within a predetermined first tolerance error change, the extracted point is removed as a point not used for simulation processing ( Figure 5(b)). In the case where a point is removed, the point sequence data other than the removed point is still based on the selected point, and points adjacent to the selected point are extracted. Then, when the difference (the change in the trajectory error) between the error (trajectory error) between the command trajectory and the actual trajectory at the selected point and the error (trajectory error) between the command trajectory and the actual trajectory at the extracted point is greater than the first tolerance error change ( Figure 5 (c)), the extracted point is selected as the data of the point used for simulation processing ( Figure 5 (d)). Then, the same process is repeated again with the point selected as the point data used in the simulation process as the reference. Finally, the point associated with the latest time in the point sequence data is selected as the point data used for the simulation process.
[0061] By performing the above-mentioned processing, only the data of the point where the error between the command position of the servo motor 50 by the control unit 480 and the position fed back from the servo motor 50 changes significantly when the workpiece is processed is selected as the data of the point for simulation processing. When the trajectory error deviates stably, the processing quality of the processing does not change significantly, but when the trajectory error changes by more than a predetermined amount, the quality of the processing changes according to the change. Therefore, by adopting such a selection method, for example, when a load is applied to the motor to cause a delay in movement or the position of the motor changes due to interference, the part where the trajectory error changes significantly will be reflected in the image of the simulation result, so when capturing the trend of the entire processing area, it is possible to grasp the part where the change in trajectory error affects the processing quality of the processing.
[0062] As a fourth example of a method for selecting point data that is considered to have a large influence on the machined surface, a method for selecting based on an error between a trajectory drawn by a tool included in CAD / CAM data (a sequence of NC data, hereinafter referred to as a tool trajectory) and a trajectory drawn by the actual position of the tool tip obtained from the position feedback from the servo motor 50 can be considered. In the selection method based on the error (trajectory error) between the tool trajectory and the actual trajectory, when the change in trajectory error does not converge within the tolerance error change (allowable error change), the point is selected as the data of the point used for simulation processing.
[0063] Figure 6 A selection method based on the trajectory error between the tool trajectory and the actual trajectory is described.
[0064] like Figure 6As illustrated in (a), it is assumed that the point sequence data is associated with the tool trajectory and stored in the point sequence data storage unit 210. First, the point in the point sequence data that is associated with the earliest time is selected as the point data for simulation processing. Next, using the selected point as a reference, points adjacent to the selected point are extracted from the point sequence data. Then, when the difference (the change in trajectory error) between the error (trajectory error) between the tool trajectory of the selected point and the actual trajectory and the error (trajectory error) between the tool trajectory of the extracted point and the actual trajectory is within the predetermined second tolerance error change, the extracted point is removed as a point not used for simulation processing ( Figure 6 (b)). In the case where a point is removed, the point sequence data other than the removed point is still based on the selected point, and points adjacent to the selected point are extracted. Then, when the difference (the change in the trajectory error) between the error (trajectory error) between the tool trajectory at the selected point and the actual trajectory and the error (trajectory error) between the tool trajectory at the extracted point and the actual trajectory is greater than the second tolerance error change ( Figure 6 (c)), the extracted point is selected as the data of the point used for simulation processing ( Figure 6 (d)). Then, the same process is repeated again with the point selected as the point data used in the simulation process as the reference. Finally, the point associated with the latest time in the point sequence data is selected as the point data used for the simulation process.
[0065] By performing the above-mentioned processing, only the data of the points where the error between the tool trajectory generated by the CAD / CAM device and the position fed back from the servo motor 50 changes significantly when the workpiece is processed is selected as the data of the points for simulation processing. The numerical control device 4 generates a position instruction for the servo motor 50 based on the tool trajectory generated by the CAD / CAM device. At this time, according to the control algorithm of the numerical control device 4, the servo motor 50 is sometimes instructed to draw a trajectory different from the tool trajectory (inner circumference error, etc.). Therefore, by adopting this selection method, the part where the tool moves along a trajectory different from the tool trajectory shown in the CAD / CAM data is reflected in the image of the simulation result, so when capturing the trend of the entire processing area, it is possible to grasp the part that affects the processing quality due to the change of the trajectory error.
[0066] The data selection unit 140 may be configured to use such a method for selecting point data for simulation alone. In addition, the data selection unit 140 may use multiple methods for selecting point data for simulation in parallel. When multiple methods for selecting point data are used in parallel, all point data selected by each selection method may be used for simulation.
[0067] The simulation execution unit 150 simulates the machining action of the machine tool based on the point data selected by the data selection unit 140, and as a result, generates and outputs data such as the relative movement path of the tool and the workpiece during machining, the shape of the workpiece after machining, etc. as the result of ordinary simulation processing. In the simulation processing of the prior art, the relative movement path of the tool and the workpiece is generated based on the instructions obtained from the program 490, and the shape of the workpiece after machining is generated as a simulation result based on the generated movement path (and the shape of the tool, etc.), but the simulation execution unit 150 of this embodiment uses the point data selected by the data selection unit 140. The simulation execution unit 150 can further use the pre-set parameter values of the machine tool and the data related to the workpiece, etc. In addition, regarding the simulation processing performed by the simulation execution unit 150, other processing or functions can appropriately adopt a known simulation method. The result obtained by the simulation execution unit 150 is displayed as an image on the display device 70.
[0068] The above-mentioned simulation device 1 of this embodiment performs simulation processing using feedback data from the servo motor 50 obtained when the program 490 is executed in the numerical control device 4. At this time, the simulation device 1 selects point data that is considered to have a large influence on the machined surface from the feedback data obtained from the servo motor 50, and performs simulation processing using the selected point data. Therefore, it is possible to reduce the calculation time and the amount of memory used such as RAM in the simulation processing, and at the same time, it is possible to obtain an image that can grasp the state of the machined surface to a certain extent as a simulation result.
[0069] Figure 7 The functions of the simulation device 1 according to the second embodiment of the present invention and the functions of the numerical control device 4 capable of outputting data to the simulation device 1 are schematically shown in a block diagram.
[0070] Figure 7 The modules of the simulation device 1 shown are connected by Figure 1 This is achieved by the CPU 11 included in the simulation device 1 executing a system program to control the operation of each part of the simulation device 1. Figure 7 The numerical control device 4 shown in FIG. Figure 1 This is achieved by the CPU 411 of the numerical controller 4 executing a system program to control the operation of each part of the numerical controller 4. The numerical controller 4 of this embodiment is used to control a machine tool that moves a tool and a workpiece relative to each other by a plurality of servo motors 50 and uses a tool that is rotationally driven by a spindle motor 62 to machine a workpiece.
[0071] The simulation device 1 of the present embodiment is different from the simulation device 1 of the first embodiment in that the data selection unit 140 includes a plurality of selector functions that are switched according to the display status of the simulation results.
[0072] The data selection unit 140 of this embodiment includes: a first selector 142, which is used to select point column data when the simulation execution unit 150 simulates the entire processing area; and a second selector 144, which is used to select point column data when the simulation execution unit 150 simulates a part of the processing area in detail.
[0073] The first selector 142 performs the selection process of the point sequence data using at least one of the methods for selecting point data that are considered to have a great influence on the processed surface described in the first embodiment. The first selector 142 is suitable for generating a simulation result image that roughly displays the state of the entire processing area and can grasp the state of the processed surface to some extent.
[0074] On the other hand, Figure 8 As shown in FIG. 1 , when a partial region is designated in the processing region, the second selector 144 selects the point sequence data of the range included in the designated partial region. More specifically, the second selector 144 selects the data of the points interfering with the partial region in the processing region designated by the operator as the data of the points used for simulation from the point sequence data stored in the point sequence data storage unit 210. The second selector 144 is suitable for generating a result image after detailed simulation of the designated partial region because it does not thin out the point sequence data included in the partial region displayed as the simulation result.
[0075] As a method for determining whether the partial area in the processing area designated by the operator interferes with each point included in the point array data, the second selector 144 can adopt a method using interference determination. Generally, when displaying a simulation result image, when a part of the display object is displayed on the screen, such as Fig. 9 As shown, a predetermined viewpoint is set in the virtual space, and the range visible from the viewpoint is set as the view volume. The Axis Aligned Bounding Box (AABB) that includes the intersection range of the view volume and the display object (processing area) is calculated. Interference judgment is performed between the AABB calculated in this way and the 3D model of the tool configured at each point included in the point sequence data, and the point of the 3D model of the tool that generates interference is selected as the point for simulation. As an algorithm for interference judgment, a general algorithm such as the well-known GJK algorithm can be used as needed.
[0076] Whether to simulate the entire machining area or to simulate a part of the machining area in detail is determined by the operator inputting a switching command of the display state from the input device 71 while viewing the display device 70 .
[0077] Fig.10This is a flowchart showing the flow of work performed by an operator to set machining conditions using the simulation device 1 of the present embodiment.
[0078] The operator causes the numerical control device 4 to read the generated program 490 to perform idling (step SA01). The numerical control device 4 sends the feedback data detected from the servo motor 50 during idling to the simulation device 1. The simulation device 1 obtains the point column data from the received feedback data and stores it in the point column data storage unit 210 (step SA02). Next, the operator issues an instruction from the input device 71 to simulate the entire processing area as the initial simulation. At this time, the data selection unit 140 performs the selection of the point column data through the first selector 142. Then, the simulation execution unit 150 simulates the entire processing area based on the selected point column data, and displays the result on the display device 70 (step SA03).
[0079] Then, the operator issues an instruction to select a portion of the processing surface suspected to have a problem in the result image of the simulation processing of the entire processing area for simulation (step SA04). In this way, the data selection unit 140 performs the selection of the point sequence data through the second selector 144. Then, the simulation execution unit 150 performs simulation processing on a portion of the designated processing area based on the selected point sequence data, and displays the result on the display device 70 (step SA05).
[0080] The operator checks the detailed simulation result image obtained by using the point sequence data selected by the second selector 144, and determines whether the processing requirements are met (step SA06). If there is a problem, the operator investigates the problem point of the processing conditions (step SA07), and adjusts the processing conditions (step SA08). Such operations are repeated, and if the operator determines that the processing requirements are met, the adjustment operation of the processing conditions is terminated.
[0081] In the simulation device 1 of the above embodiment, the data selection unit 140 switches the first selector 142 and the second selector 144 to select the point sequence data according to the display situation of the simulation processing result. Therefore, when the entire processing area is simulated and displayed, the points other than the part that may affect the processing surface are removed. In addition, when a partial area is focused, detailed simulation processing is performed on the points of the part. In this way, the precision of the simulation processing can be adjusted according to the purpose, and the points to be simulated can be appropriately reduced. Therefore, the calculation time in the simulation processing and the usage of memory such as RAM can be reduced, and an image corresponding to the display situation can be obtained as a simulation result.
[0082] As mentioned above, although one embodiment of the present invention has been described, the present invention is not limited to the example of the above embodiment, and can be implemented in various forms by adding appropriate changes.
[0083] In the above embodiment, the data acquisition unit 130 generates point column data based on the data fed back from the servo motor 50 , but it can also be configured so that the feedback data is converted into point column data in advance by the numerical control device 4 or other personal computer, and acquired by the data acquisition unit 130 .
[0084] In the above embodiment, the data acquisition unit 130 acquires data fed back from the servo motor 50 from the numerical controller 4 via the network 5 . However, the data acquisition unit 130 may send the feedback data acquired from the numerical controller 4 to the simulation device 1 via an external device such as a USB memory or a CF memory.
[0085] In the above-mentioned embodiment, the simulation execution unit 150 performs simulation processing based on the point sequence data selected by the data selection unit 140, but in addition, it can also be configured to perform simulation processing based on the time series data related to the command position of each servo motor 50 by the control unit 480, and its result image is overlapped with the result image of the simulation processing based on the point sequence data. In this case, for the difference between the simulation result image obtained based on the time series data related to the command position and the result image of the simulation processing based on the point sequence data, different colors are used to distinguish and display the difference, so that the size and direction of the difference can be grasped. Similarly, it can also be configured to overlap and display with the workpiece screen based on CAD / CAM data.
Claims
1. A simulation device that performs simulation processing based on feedback data from an electric motor for driving an axis of a machine tool, characterized in that The above-mentioned simulation device has: A point sequence data storage unit storing point sequence data, which is sequence data of positions of points related to feedback data from the motor; a data selection unit that selects points that have a great influence on the processing quality of the processed surface from the point sequence data as points for simulation processing; as well as a simulation execution unit that performs simulation processing based on the data related to the point selected by the data selection unit, The data selection unit selects, from among the points included in the point sequence data, points that are separated from a line segment passing through adjacent preceding and succeeding points by a predetermined margin length or more as points to be used for simulation processing.
2. The simulation device according to claim 1, characterized in that The data selection unit further selects, from among the points included in the point sequence data, points at which the tool posture changes by more than a predetermined tolerance angle determined in advance with respect to the tool posture of a previously selected point, as points for simulation processing.
3. The simulation device according to claim 1, characterized in that The point array data storage unit stores the command position for the motor when the feedback data is obtained in association with the point array data. The data selection unit further selects, from among the points included in the point sequence data, points whose errors with the command position change by more than a predetermined first tolerance error change relative to the error with the command position of a previously selected point, as points for simulation processing.
4. The simulation device according to claim 1, characterized in that The point sequence data storage unit stores the sequence of NC data executed when the feedback data is obtained in association with the point sequence data. The data selection unit further selects, from among the points included in the point sequence data, points whose errors with the NC data change by more than a predetermined second tolerance error change amount relative to the error with the NC data of a previously selected point, as points for simulation processing.
5. The simulation device according to claim 1, characterized in that: The data selection unit includes: A first selector that selects a point that has a large influence on the processing quality of the processed surface as a point for simulation processing; and a second selector for selecting points included in the designated area as points for simulation processing, The data selection unit selects a point to be used for the simulation process using one of the first selector and the second selector based on a display status of a result of the simulation process executed by the simulation execution unit.
Citation Information
Patent Citations
Machine tool error compensation systems and the like
CN1038359A
Contact feedback automatic measuring method and system of numerical control machine tool and storage medium
CN109531262A
Numerical control apparatus
US20150134103A1
Numerical control device
WO2016174716A1