Selection device, communication control device, analog device, and recording medium
By dynamically selecting and controlling the amount of position data transmitted through the selection device and communication control device, the problem of increased computational processing time in industrial machinery motion simulation is solved, the simulation efficiency and accuracy are improved, and the burden on users is reduced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2021-04-06
- Publication Date
- 2026-07-17
AI Technical Summary
In existing technologies, the overuse of position data of industrial machinery in motion simulation leads to increased computation time, and some data that does not affect simulation accuracy is not utilized, thus affecting efficiency.
The selection device dynamically selects location data, calculates the worst-case change based on the state of the observed object, selects the location data to be used in the motion simulation, the communication control device controls the transmission amount, and the simulation device determines the number of location data to be used or the transmission amount based on the selection result.
It enables dynamic adjustment of position data usage based on the state of industrial machinery, improves the computational efficiency of motion simulation, reduces unnecessary data transmission time, and lowers the workload for machinery manufacturers and users.
Smart Images

Figure CN117157599B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to selection devices, communication control devices, analog devices, and recording media. Background Technology
[0002] A technique is proposed that collects position data from the control devices of industrial machinery such as machine tools and robots, and uses the collected position data to simulate the motion of the industrial machinery (including interference detection). For example, see Patent Document 1.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent No. 4221016 Summary of the Invention
[0006] The problem that the invention aims to solve
[0007] Depending on the control state of the industrial machinery, sometimes even if a portion of the collected position data (e.g., position data during machine stop) is not used for motion simulation, or even if it is not transmitted to the simulation device performing the motion simulation, it will not affect the accuracy of the simulation.
[0008] Although the simulation accuracy did not deteriorate, if the position data was used excessively for motion simulation or transmitted to the simulation device, there was a problem of time wasted in the computation or transmission of the position data.
[0009] Therefore, it is desirable to be able to dynamically change the number or amount of position data used for motion simulation of industrial machinery based on the state of the industrial machinery.
[0010] Methods for solving problems
[0011] (1) One aspect of the selection device of this disclosure is a selection device that selects position data used when performing motion simulation of an observed object using position data of the observed object. The selection device includes: a position acquisition unit that acquires position data including coordinate values representing the position of the observed object; a state acquisition unit that acquires the state of the observed object, the state of the observed object including at least one of an action command transmitted from a device controlling the observed object to the observed object and data not based on the action command for the observed object; a worst-case change calculation unit that calculates, based on the state of the observed object, a worst-case change in the accuracy of the motion simulation when the position data is used for computational processing of the motion simulation and when the position data is not used; and a selection unit that selects the position data to be used in the motion simulation based on the worst-case change calculated by the worst-case change calculation unit.
[0012] (2) One aspect of the communication control device disclosed herein is a communication control device that can be communicatively connected to a simulation device that performs the motion simulation of the observed object, and includes: (1) a selection device; and a transmission amount control unit that determines the transmission amount of the position data to the simulation device based on the selection result of the selection unit.
[0013] (3) One aspect of the simulation device disclosed herein is a simulation device for performing motion simulation of the observed object, comprising: (1) a selection device; and a usage quantity control unit that determines the number of position data used in the motion simulation based on the selection result of the selection unit.
[0014] (4) One aspect of the recording medium disclosed herein is a computer-readable recording medium containing a program that, in order to select the position data to be used when simulating the movement of the observed object using its position data, enables a computer to function as the following components: a position acquisition unit that acquires position data including coordinate values representing the position of the observed object; a state acquisition unit that acquires the state of the observed object, the state of the observed object including at least one of an action command transmitted from a device controlling the observed object to the observed object and data not based on the action command for the observed object; a worst-case change calculation unit that, based on the state of the observed object, calculates the worst-case change in the accuracy of the movement simulation when the position data is used for computational processing of the movement simulation and when the position data is not used; and a selection unit that, based on the calculated worst-case change, selects the position data to be used in the movement simulation.
[0015] Invention Effects
[0016] According to one method, the number or amount of position data used for motion simulation of industrial machinery can be dynamically changed based on the state of the industrial machinery. Attached Figure Description
[0017] Figure 1 This is a functional block diagram illustrating an example of the functional structure of the simulation system in the first embodiment.
[0018] Figure 2 This is a diagram representing an example of the location data obtained.
[0019] Figure 3 This is a diagram representing an example of positional data when the observed object is in the state of linear interpolation on a straight axis.
[0020] Figure 4 It is a graph showing the relationship between location data and rounding error.
[0021] Figure 5This is a diagram representing an example of linear interpolation on a straight axis when the observed object is in a state with seams.
[0022] Figure 6 This is a diagram representing an example of positional data when the observed object is in the state of curvilinear interpolation on a straight axis.
[0023] Figure 7 This is a diagram illustrating an example of a method for determining the worst-case change in the state of an observed object when it is subjected to curvilinear interpolation on a straight axis.
[0024] Figure 8 This is a diagram illustrating an example of the motion of an observed object when linear interpolation is performed on a rotation axis.
[0025] Figure 9 This is a flowchart illustrating the data communication processing of the simulation system.
[0026] Figure 10 It is in Figure 9 The flowchart in step S5, which describes the detailed processing of the observed object's state in the case of linear interpolation on the linear axis, is as follows.
[0027] Figure 11 It is in Figure 9 The flowchart in step S6 describes the detailed processing of the observed object's state in the case of curve interpolation on a linear axis or interpolation on a rotation axis.
[0028] Figure 12 This is a functional block diagram illustrating an example of the functional structure of the simulation system in the second embodiment.
[0029] Figure 13 This is a flowchart illustrating the computational processing of the simulation system. Detailed Implementation
[0030] <First Implementation Method>
[0031] The structure of this embodiment will be described in detail with reference to the accompanying drawings. Here, tools and workpieces in industrial machinery are used as examples of objects of observation. Furthermore, the present invention can also be applied to situations where the control device for controlling industrial machinery is used as the object of observation.
[0032] Figure 1 This is a functional block diagram illustrating an example of the functional structure of the simulation system in the first embodiment.
[0033] like Figure 1 As shown, the simulation system 1 includes: a machine tool 10, a control device 20, a selection device 30, a communication control device 40, and a simulation device 50.
[0034] Machine tool 10, control device 20, selection device 30, communication control device 40, and analog device 50 can also be directly connected to each other via a connection interface not shown. Alternatively, machine tool 10, control device 20, selection device 30, communication control device 40, and analog device 50 can also be interconnected via a network such as a LAN (Local Area Network). In this case, machine tool 10, control device 20, selection device 30, communication control device 40, and analog device 50 may also have a communication unit (not shown) for communicating with each other via this connection.
[0035] Furthermore, the selection device 30 is a different device from the communication control device 40, but it may also be included in the communication control device 40, as described later. Alternatively, both the selection device 30 and the communication control device 40 may be included in the control device 20.
[0036] The machine tool 10 is a machine tool known to those skilled in the art (e.g., a 5-axis machining center, etc.) and operates according to the action commands of the control device 20, which will be described later.
[0037] The control device 20, for example, is a numerical control device known to those skilled in the art, that generates action commands based on control information and sends the generated action commands to the machine tool 10. Thus, the control device 20 controls the actions of the machine tool 10.
[0038] Specifically, the control device 20 is a device that controls the machine tool 10 to perform prescribed machining operations. A machining program describing the actions of the machine tool 10 is assigned to the control device 20. Based on the assigned machining program, the control device 20 generates action commands including movement commands for each axis and rotation commands for the motor driving the spindle, and sends these action commands to the machine tool 10, thereby controlling the motor of the machine tool 10. Thus, the prescribed machining operations based on the machine tool 10 are executed.
[0039] Furthermore, in generating action commands, the control device 20 performs linear interpolation, curvilinear interpolation, or interpolation on the linear axes included in the machine tool 10, or on the rotary axes, according to the machining program, to generate position data containing coordinate values representing the position of the observed object in each control cycle. As described later, the control device 20 sends the generated position data of the observed object for each control cycle, along with data obtained from the machine tool 10 that is not based on the action commands for the observed object (e.g., motor speed, torque, etc.), to the selection device 30 along with the action commands.
[0040] In addition, if the machine tool 10 is a robot or the like, the control device 20 may also be a robot control device or the like.
[0041] Furthermore, the control device 20 can be widely applied to all types of industrial machinery, not limited to machine tool 10 and robots. Industrial machinery includes various types of machinery such as machine tools, industrial robots, service robots, forging machines, and injection molding machines. In addition, the control device 20 can also be used as static information, such as whether the axes of the machine tool 10 are linear or rotary axes, as part of the location where the object to be observed is located.
[0042] In this embodiment, a numerical control device is exemplified as the control device 20.
[0043] The simulation device 50, such as a computer, uses position data of observed objects such as tools and workpieces received via the communication control device 40 (described later) to perform motion simulation (including interference checking) of the machine tool 10. Furthermore, known methods can be used for motion simulation, so detailed explanations are omitted.
[0044] like Figure 1 As shown, the selection device 30 includes: a position acquisition unit 310, a status acquisition unit 311, a worst change calculation unit 312, and a selection unit 313.
[0045] In order to achieve Figure 1 The selection device 30 has an arithmetic processing unit (not shown) such as a CPU (Central Processing Unit). Additionally, the selection device 30 has auxiliary storage devices (not shown) such as ROM (Read Only Memory) for storing various control programs, and HDD, as well as main storage devices (not shown) such as RAM (Random Access Memory) for storing data temporarily needed when the arithmetic processing unit executes programs.
[0046] Furthermore, in the selection device 30, the arithmetic processing unit reads the OS and application software from the auxiliary storage device, expands the read OS and application software in the main storage device, and performs arithmetic processing based on these OS and application software. Based on the calculation results, the selection device 30 controls each piece of hardware. Thus, the functions of the position acquisition unit 310, the state acquisition unit 311, the worst-case change calculation unit 312, and the selection unit 313 are realized. In other words, the selection device 30 can be implemented through hardware and software cooperation.
[0047] The position acquisition unit 310 acquires position data via the control device 20, which includes coordinate values representing the position of the observed object such as a tool or workpiece in the machine tool 10.
[0048] Specifically, the position acquisition unit 310 acquires a predetermined number of position data points at a predetermined cycle. In the first embodiment, this cycle is exemplified by a communication control cycle, and eight position data points are acquired from the control device 20 in each cycle. However, this setting is merely an example, and any value can be set.
[0049] Figure 2 This is a diagram representing an example of the acquired location data. Furthermore, in Figure 2 The text represents an example of sampling of position data used in motion simulation (or interference check) of a machine tool 10 controlled by control device 20 in the case of a 5-axis machining center.
[0050] like Figure 2 As shown, the tool's path in the machining process consists of four intervals, N1 to N4. In interval N1, linear interpolation is performed on the tool's linear axis. In interval N2, interpolation is performed on the tool's rotary axis to change the tool's posture. In interval N3, linear interpolation on the tool's linear axis is performed, similar to interval N1. In interval N4, linear interpolation on the tool's linear axis is performed to retract the tool, and the axis stops at the end of interval N4. Furthermore, Figure 2 The single circle represents the interpolated position data of the tool's center position, and the double circle represents the position data selected by the selection unit 313, which will be described later.
[0051] The status acquisition unit 311 acquires the status of the observed object, which includes at least one of the action command transmitted from the control device 20 to the observed object and data not based on the action command for the observed object.
[0052] Specifically, as described above, the status acquisition unit 311 acquires the status of the object of observation along with the motion commands for each axis of the machine tool 10, such as the movement commands for each axis and the rotation commands for the motor driving the spindle, represented by each program block included in the machining program, along with additional static information. For example, in the case of a 5-axis machining center, the machine tool 10 has three linear axes in the XYZ axes and two rotary axes (rotation / tilt). Therefore, in the motion commands transmitted from the control device 20 to the object of observation and the motion commands for the object of observation, there are "linear interpolation on the linear axis", "curve interpolation on the linear axis", "interpolation on the rotary axis", etc.
[0053] Furthermore, the status acquisition unit 311 can also acquire data (e.g., motor speed, torque, etc.) not based on motion commands directed at the observed object as the status of the observed object. Moreover, the motor speed, torque, and position of the observed object may change based on motion commands in the machining program, but may also change due to external forces applied to the observed object by devices other than the machine tool 10, such as personnel, that are not based on motion commands. Therefore, the status acquisition unit 311 acquires the motor speed, torque, and position of the observed object as data not based on motion commands directed at the observed object.
[0054] In this way, the selection device 30 can more accurately obtain the state of the observed object in the acquired location data.
[0055] The worst-case change calculation unit 312 calculates the worst-case change based on the state of the observed object. This worst-case change represents the maximum change in the accuracy of the motion simulation when the position data is used for motion simulation calculation in the simulation device 50, compared to when the position data is not used.
[0056] The following describes the operation of the worst-case change calculation unit 312 in the following states as observed: (1) linear interpolation on a linear axis, (2) curvilinear interpolation on a linear axis or interpolation on a rotating axis, and (3) when the axis is stopped.
[0057] (1) The state of the observed object is linear interpolation on the linear axis.
[0058] Figure 3 This is a diagram representing an example of positional data when the observed object is in the state of linear interpolation on a straight axis.
[0059] like Figure 3 As shown, the position acquisition unit 310 acquires eight position data points (P0 to P7) from the control device 20 in each communication control cycle. Furthermore, as... Figure 4 As shown, if the position data P0~P7 are interpolated relative to the straight line shown by the solid line, and the rounding error ±ε is set in each direction of the XYZ axis of the control device 20, then the distance di from the position data Pi to the straight interpolated line is about (√3)ε (i is a natural number from 0 to 7).
[0060] Therefore, the state of the observed object obtained by the state acquisition unit 311 from the control device 20 is as follows on the linear axis (static information): Figure 3 In the case of linear interpolation without bending as shown (movement command to machine tool 10), as the worst variation, the worst variation calculation unit 312 calculates the worst variation in position data Pi as (√3)ε.
[0061] In addition, such as Figure 5As shown, when a seam between two or more consecutive action commands for the observed object is detected based on the action commands for the observed object acquired by the state acquisition unit 311, the worst-case variation calculation unit 312 can also calculate the worst-case variation in the accuracy of the action simulation when the seam of the action commands is used in the motion simulation calculation process and when the seam of the action commands is not used. For example, as Figure 5 As shown, when there is a bend in the position data P3, the distance d3 from position data P3 to the straight line connecting adjacent position data P2 and position data P4 is shorter than the length of any side of the triangle P2P3P4 formed by the three position data P2, P3, and P4, so d3 ≤ the length of side P2P3 and d3 ≤ the length of side P3P4. Furthermore, for example, when the movement of the observed object per unit time (proportional to the movement speed of the observed object) based on the control device 20 is "D", the interval of the linear interpolation, i.e., the length of side P2P3 ≤ D and the length of side P3P4 ≤ D, therefore, d3 ≤ D. Thus, the worst-case change calculation unit 312 calculates the worst-case change in the position data P3 of the bend as D. Furthermore, D > (√3)ε.
[0062] Furthermore, when the observed object is in the state of linear interpolation on a linear axis, in order to transmit the initial position data P0 and the middle position data P4 from the eight position data P0 to P7 in one communication control cycle to the simulation device 50 described later, the worst variation calculation unit 312 calculates the worst variation of position data P0 and P4 as "M". In addition, "M" is larger than (√3)ε, and is set to a value of about "D".
[0063] In this way, when the observed object is in the state of linear interpolation on a straight axis, the worst change calculation unit 312 calculates the worst change of each position data Pi without using the values of position data P0 to P7. As a result, the selection device 30 can dynamically change the amount of position data transmitted for motion simulation without increasing the amount of computation.
[0064] (2) The state of the observed object is either curve interpolation on a linear axis or interpolation on a rotation axis.
[0065] Figure 6 This is a graph representing an example of positional data when the observed object is in a state of curvilinear interpolation on a straight axis. Furthermore, in Figure 6 In this context, the state of the observed object is interpolated along a straight axis, but the same applies to the state of the observed object being interpolated along a rotation axis.
[0066] like Figure 6As shown, the position acquisition unit 310 acquires eight position data points (P0 to P7) from the control device 20 in each communication control cycle. Furthermore, when the state of the observed object acquired by the state acquisition unit 311 from the control device 20 is in curve interpolation on a linear axis (static information) (a movement command for the machine tool 10), the worst-case change calculation unit 312, for example, as... Figure 7 As shown, taking the initial position data P0 as the reference, the length Hi of the line segment connecting position data P0 and position data P(i+1) is calculated as the worst change of position data Pi.
[0067] Specifically, when the observed object is in the state of curve interpolation on a straight axis, i.e. circular interpolation, the position data P0 to P7 are distributed on the circumference of a circle with curvature ρ. Therefore, the radius of the circle on which the position data P0 to P7 are distributed is 1 / ρ, and thus, the worst-case change calculation unit 312 can calculate the length Hi in the position data Pi as the worst-case change of the position data Pi.
[0068] Similarly, the worst change calculation unit 312 calculates the length Hi of the line segment from the position data Pi when the position data P1 to P6 are the references to the position data set as the reference and the position data P(i+1) as the worst change.
[0069] In this way, when the observed object is in the state of curve interpolation on the straight axis, the worst change calculation unit 312 calculates the worst change of each position data Pi without using the values of position data P0 to P7. As a result, the amount of position data transmitted for motion simulation can be dynamically changed without increasing the amount of computation in the selection device 30 and the communication control device 40.
[0070] Furthermore, in the case of linear interpolation on the rotation axis (where the coordinate values of the rotation axis increase linearly), such as Figure 8 As shown, the observed object (e.g., a workpiece) undergoes circular motion about the center of rotation. Since the observed object moves along a curve, the same processing is performed as when performing curve interpolation on a straight axis. Therefore, the worst-case variation calculation unit 312 can calculate the worst-case variation using the same method as curve interpolation, rather than the method used for linear interpolation.
[0071] (3) When the shaft is stopped
[0072] In each communication control cycle, the position acquisition unit 310 acquires eight position data (P0 to P7) from the control device 20. Furthermore, when the axis (static information) is stopped (motor speed is "0") as the state of the observed object acquired by the state acquisition unit 311 from the control device 20, even if all position data P0 to P7 are not transmitted to the simulation device 50, the simulation accuracy does not change. Therefore, the worst-case variation calculation unit 312 sets the worst-case variation of the simulation accuracy of each of the position data P0 to P7 to "0".
[0073] The selection unit 313 selects the position data to be used in the motion simulation performed by the simulation device 50 based on the worst change calculated by the worst change calculation unit 312.
[0074] The following describes the operation of the selection unit 313 in the following states as observed: (1) linear interpolation on a linear axis, (2) curvilinear interpolation on a linear axis or interpolation on a rotation axis, and (3) when the axis is stopped.
[0075] (1) The state of the observed object is linear interpolation on the linear axis.
[0076] like Figure 3 As shown, when the observed object is in the state of linear interpolation on a linear axis, the selection unit 313 selects the initial position data P0, represented by a double circle, from the eight position data P0 to P7 of a communication control cycle.
[0077] Additionally, the selection unit 313 selects the position data Pi, which is the worst change among the position data P1 to P7, and whose worst change exceeds a preset threshold δ. Furthermore, the threshold δ can be set to a value larger than the rounding error (√3)ε, and a value smaller than the worst change "D" and "M".
[0078] That is, such as Figure 3 As shown, when the observed object is in the state of linear interpolation on a straight axis without seams, the selection unit 313 can also select position data P4, which is the worst change "M" located in the middle and represented by a double circle, from position data P1 to P7. Additionally, as... Figure 4 As shown, in the case of linear interpolation on a straight axis with seams, the selection unit 313 can also select the position data P4 of the worst change amount "M" and the position data P3 of the worst change amount "D" from the position data P1 to P7.
[0079] In this way, the position data transmitted to the simulation device 50 can be reduced to a maximum of 1 / 4 without reducing the accuracy of the motion simulation.
[0080] (2) The state of the observed object is either curve interpolation on a linear axis or interpolation on a rotation axis.
[0081] like Figure 6 As shown, when the observed object is in the state of curve interpolation on a straight axis, the selection unit 313 selects the initial position data P0, represented by a double circle, from the eight position data P0 to P7 of a communication control cycle.
[0082] Furthermore, the selection unit 313 selects position data Pi of the worst change amount that exceeds a preset threshold based on the worst change amount calculated by the worst change amount calculation unit 312. For example, in Figure 6 In the following cases, the selection unit 313 may also select position data P2 that exceeds the threshold based on the worst-case change calculated using the initially selected position data P0 as a reference. The selection unit 313 may also select position data P4 that exceeds the threshold based on the worst-case change calculated using the next selected position data P2 as a reference. Furthermore, the selection unit 313 may also select position data P6 that exceeds the threshold based on the worst-case change calculated using the next selected position data P4 as a reference.
[0083] Therefore, the position data transmitted to the simulation device 50 can be reduced to a maximum of 1 / 2 without reducing the accuracy of the motion simulation.
[0084] Furthermore, when the observed object is interpolated on a rotation axis, the selection unit 313 selects position data in the same way as when it is interpolated on a linear axis.
[0085] (3) Situation when the shaft is stopped
[0086] Since the worst-case variation is all "0", the selection unit 313 selects only the initial position data P0.
[0087] Therefore, the position data transmitted to the simulation device 50 can be reduced to 1 / 8 without reducing the accuracy of the motion simulation.
[0088] like Figure 1 As shown, the communication control device 40 includes a transmission quantity control unit 41 and a transmission processing unit 42.
[0089] Communication control device 40 in order to achieve Figure 1 The operation of the function blocks includes arithmetic processing devices such as a CPU (Central Processing Unit) (not shown). Additionally, the communication control device 40 includes auxiliary storage devices such as ROM (Read Only Memory) for storing various control programs, and HDD (High-Degree HDD) (not shown), as well as main storage devices such as RAM (Random Access Memory) for storing data temporarily needed when the arithmetic processing device executes programs (not shown).
[0090] Furthermore, in the communication control device 40, the arithmetic processing unit reads the OS and application software from the auxiliary storage device, expands the read OS and application software in the main storage device, and performs arithmetic processing based on these OS and application software. Based on the calculation results, the communication control device 40 controls each piece of hardware. Thus, the functions of the transmission quantity control unit 41 and the transmission processing unit 42 are realized. That is, the communication control device 40 can be implemented through hardware and software cooperation.
[0091] The transmission amount control unit 41 acquires the position data of each communication control cycle acquired by the position acquisition unit 310 of the selection device 30 and the selection result of the selection unit 313, and determines the transmission amount of the position data P0 to P7 of each communication control cycle to the simulation device 50 that performs motion simulation based on the selection result.
[0092] The transmission processing unit 42 transmits the position data of the transmission amount determined by the transmission amount control unit 41 to the simulation device 50.
[0093] <Data Communication Processing of Simulation System 1>
[0094] Then, while referring to Figure 9 The process of data communication processing in simulation system 1 is explained.
[0095] Figure 9 This is a flowchart illustrating the data communication processing of simulation system 1. The process shown here is executed whenever position data is received via control device 20 during each communication control cycle.
[0096] In step S1, the position acquisition unit 310 of the selection device 30 acquires position data of the observed object such as the tool or workpiece in the machine tool 10 via the control device 20.
[0097] In step S2, the state acquisition unit 311 of the selection device 30 acquires the state of the observed object, which includes at least one of the action command transmitted from the control device 20 to the observed object and data not based on the action command to the observed object.
[0098] In step S3, the worst-case change calculation unit 312 of the selection device 30 determines whether the state of the observed object obtained in step S2 is linear interpolation on a linear axis. If the state of the observed object is linear interpolation on a linear axis, the process proceeds to step S5. On the other hand, if the state of the observed object is not linear interpolation on a linear axis, the process proceeds to step S4.
[0099] In step S4, the worst-case change calculation unit 312 determines whether the state of the observed object obtained in step S2 is that the axis is stopped. If the state of the observed object is that the axis is stopped, the process proceeds to step S7. On the other hand, if the state of the observed object is not that the axis is stopped, the process proceeds to step S6.
[0100] In step S5, the selection device 30 performs selection processing when the observed object's state is linear interpolation on a linear axis, selecting the position data to be transmitted to the simulation device 50. Furthermore, the detailed process of the selection processing when the observed object's state is linear interpolation on a linear axis will be described later.
[0101] In step S6, the selection device 30 performs selection processing for whether the observed object's state is curve interpolation on a linear axis or interpolation on a rotational axis, and selects the position data to be transmitted to the simulation device 50. Furthermore, the detailed process for selecting whether the observed object's state is curve interpolation on a linear axis or interpolation on a rotational axis will be described later.
[0102] In step S7, the observed object is in a stopped state. Therefore, the worst change calculation unit 312 sets the worst change of the position data P0 to P7 obtained in step S1 to "0", and the selection unit 313 selects only the initial position data P0.
[0103] In step S8, the transmission amount control unit 41 of the communication control device 40 determines the transmission amount of the position data P0 to P7 obtained in step S1 to the simulation device 50 based on the selection result of any one of steps S5 to S7.
[0104] In step S9, the transmission processing unit 42 of the communication control device 40 transmits the location data of the transmission amount determined in step S8 to the simulation device 50.
[0105] Figure 10 It is in Figure 9 The flowchart in step S5, which describes the detailed processing steps for selecting the observed object's state in the case of linear interpolation on a linear axis, is provided. Figure 10 In the flowchart, steps S501 to S506 represent the processing flow of the worst change calculation unit 312, and steps S507 to S510 represent the processing flow of the selection unit 313.
[0106] In step S501, the worst-case change calculation unit 312 initializes variable i to "1".
[0107] In step S502, the worst-case change calculation unit 312 determines whether variable i is "4". If variable i is "4", the process proceeds to step S504. On the other hand, if variable i is not "4", the process proceeds to step S503.
[0108] In step S503, the worst-case change calculation unit 312 determines whether the position data Pi is a seam. If the position data Pi is a seam, the process proceeds to step S505. On the other hand, if the position data Pi is not a seam, the process proceeds to step S506.
[0109] In step S504, the worst change calculation unit 312 sets the worst change of the position data P4 to "M".
[0110] In step S505, the worst variation calculation unit 312 sets the worst variation of the joint position data Pi to "D".
[0111] In step S506, the worst change calculation unit 312 sets the worst change of the position data Pi to (√3)ε.
[0112] In step S507, the selection unit 313 determines whether the worst change in the location data Pi exceeds a threshold δ. If the worst change in the location data Pi exceeds the threshold δ, the process proceeds to step S508. On the other hand, if the worst change in the location data Pi is below the threshold δ, the process proceeds to step S509.
[0113] In step S508, the selection unit 313 selects the position data Pi, whose worst change exceeds the threshold δ, as the position data to be transmitted to the simulation device 50.
[0114] In step S509, the selection unit 313 increments variable i by "1".
[0115] In step S510, the selection unit 313 determines whether variable i exceeds "7". If variable i exceeds "7", the selection process in step S5 ends, and proceeds to... Figure 9 Step S8. On the other hand, if variable i is less than "7", the process returns to step S502.
[0116] Figure 11 It is in Figure 9 The flowchart in step S6 describes the detailed processing steps for selecting between curve interpolation on a linear axis and interpolation on a rotational axis. Figure 11 In the flowchart, step S601 represents the processing of the worst change calculation unit 312, and step S602 represents the processing of the selection unit 313.
[0117] In step S601, the worst change calculation unit 312 calculates the worst change of position data Pi as the length Hi of the line segment from position data Pi (with position data P0 to P6 as references) to the line segment connecting the referenced position data and position data P(i+1).
[0118] In step S602, the selection unit 313 selects the position data Pi, which exceeds a preset threshold value, based on the worst change amount calculated in step S601. Then, the selection device 30 ends the selection process in step S6 and proceeds to... Figure 9 Step S8.
[0119] Based on the above, the selection device 30 of the first embodiment obtains position data and the state of the observed objects such as tools and workpieces of the machine tool 10 from the control device 20. Based on the obtained state of the observed objects, it calculates the worst-case variation in the simulation accuracy performed by the simulation device 50, and selects the position data to be transmitted to the simulation device 50 based on the calculated worst-case variation. Therefore, the selection device 30 can dynamically change the amount of position data transmitted for motion simulation according to the state of the machine tool 10, thereby achieving high efficiency in motion simulation processing.
[0120] Furthermore, the communication control device 40 can periodically discard position data that is not important to the accuracy of the simulation, thus shortening the time spent on position data transmission.
[0121] In addition, the communication control device 40 can automatically determine whether to prioritize the accuracy of the analog signal or the data transmission time, which can reduce the workload of machine manufacturers, machine users, etc.
[0122] The first embodiment has been described above.
[0123] <Modifications of the First Embodiment>
[0124] In the first embodiment described above, the selection device 30 is a different device from the communication control device 40, but is not limited thereto. For example, the communication control device 40 may include a selection processing unit as the selection device 30.
[0125] Therefore, the communication control device 40 can dynamically change the amount of position data transmitted for motion simulation according to the state of the machine tool 10, thereby achieving high efficiency in motion simulation calculation and processing.
[0126] <Second Implementation>
[0127] Next, the second embodiment will be described. In the first embodiment, the communication control device 40 determines the amount of position data to be transmitted to the simulation device 50 based on the selection result of the selection device 30. In contrast, the second embodiment differs from the first embodiment in that the simulation device 50A determines the number of position data points used for motion simulation based on the selection result of the selection device 30.
[0128] Therefore, the simulation device 50A of the second embodiment can dynamically change the number of position data used for simulating the motion of the industrial machinery according to the state of the industrial machinery.
[0129] The second embodiment will be described below.
[0130] Figure 12 This is a functional block diagram illustrating an example of the functional structure of the simulation system according to the second embodiment. Furthermore, for systems having... Figure 1 The elements of the simulation system 1 have the same functions and are labeled with the same reference numerals in the accompanying drawings, and detailed descriptions are omitted.
[0131] like Figure 12 As shown, the simulation system 1A includes: a machine tool 10, a control device 20, a selection device 30, and a simulation device 50A.
[0132] Machine tool 10, control device 20, selection device 30, and analog device 50A can also be directly connected to each other via a connection interface not shown. Alternatively, machine tool 10, control device 20, selection device 30, and analog device 50A can also be interconnected via a network such as a LAN (Local Area Network). In this case, machine tool 10, control device 20, selection device 30, and analog device 50A can also have a communication unit (not shown) for communicating with each other via this connection.
[0133] Furthermore, the selection device 30 is a different device from the simulation device 50A, but it may also be included in the simulation device 50A as described later. Additionally, both the selection device 30 and the simulation device 50A may be included in the control device 20.
[0134] The machine tool 10, control device 20 and selection device 30 have the same structure as the machine tool 10, control device 20 and selection device 30 of the first embodiment.
[0135] The position acquisition unit 310, the status acquisition unit 311, the worst change calculation unit 312, and the selection unit 313 have the same functions as those of the position acquisition unit 310, the status acquisition unit 311, the worst change calculation unit 312, and the selection unit 313 in the first embodiment.
[0136] Furthermore, in the first embodiment, the position acquisition unit 310 is set to a communication control cycle as a preset period, and the number of position data acquired in each cycle is set to, for example, 8. However, in the second embodiment, the position acquisition unit 310 is set to a processing cycle of the analog device 50A as a preset period, and the number of position data acquired in each cycle is set to, for example, 8. This setting is merely an example, and any value can be set.
[0137] like Figure 1 As shown, the analog device 50A includes a usage control unit 51 and an arithmetic processing unit 52.
[0138] In order to achieve Figure 12 Regarding the operation of function blocks, the analog device 50A includes a processing unit (not shown) such as a CPU (Central Processing Unit). Additionally, the analog device 50A includes auxiliary storage devices (not shown) such as ROM (Read Only Memory) for storing various control programs and HDD, and a main storage device (not shown) such as RAM (Random Access Memory) for storing data temporarily needed by the processing unit when executing programs.
[0139] Furthermore, in the simulation device 50A, the arithmetic processing unit reads the operating system and application software from the auxiliary storage device, expands the read operating system and application software in the main storage device, and performs calculations based on these operating systems and application software. Based on the calculation results, the simulation device 50A controls each hardware component. Thus, the functions of the usage control unit 51 and the arithmetic processing unit 52 are realized. In other words, the simulation device 50A can be implemented through hardware and software cooperation.
[0140] The quantity control unit 51 obtains the position data of each operation processing cycle obtained by the position acquisition unit 310 of the selection device 30 and the selection result of the selection unit 313, and determines the number of position data for operation processing of motion simulation in the position data P0 to P7 of each operation processing cycle based on the selection result.
[0141] The calculation processing unit 52 uses the number of position data determined by the usage quantity control unit 51 to perform calculation processing for the motion simulation (including interference detection) of the machine tool 10.
[0142] <Analog System 1A Operation Processing>
[0143] Then, while referring to Figure 13 The process of computation and processing of the simulation system 1A is explained.
[0144] Figure 13 This is a flowchart illustrating the computational processing of the simulation system 1A. The flowchart shown here is executed whenever position data is received via the control device 20 during each computational processing cycle.
[0145] Furthermore, the processing of steps S1 to S7 is the same as that of steps S1 to S7 in the first embodiment, and the explanation is omitted.
[0146] In step S8a, the quantity control unit 51 determines the number of position data to be used from the position data P0 to P7 obtained in step S1 based on the selection result of any one of steps S5 to S7.
[0147] In step S9a, the arithmetic processing unit 52 uses the number of position data determined in step S8a to perform motion simulation of the machine tool 10 (including interference checking).
[0148] Based on the above, the selection device 30 of the second embodiment obtains position data and the state of the observed objects such as tools and workpieces of the machine tool 10 from the control device 20. Based on the obtained state of the observed objects, it calculates the worst-case variation in simulation accuracy and selects position data for motion simulation based on the calculated worst-case variation. Therefore, the selection device 30 can dynamically change the number of position data used for motion simulation according to the state of the machine tool 10, thereby achieving high efficiency in motion simulation computation processing.
[0149] In addition, the simulation device 50A can periodically remove position data that does not affect the accuracy of the simulation, thus improving the processing speed of the simulation.
[0150] In addition, the simulation device 50A can automatically determine whether to prioritize simulation accuracy or processing speed, which can reduce the workload of machinery manufacturers and users.
[0151] The second embodiment has been described above.
[0152] <Modifications of the Second Embodiment>
[0153] In the second embodiment described above, the selection device 30 is a different device from the analog device 50A, but it is not limited to this. For example, the analog device 50A may also include a selection processing unit as the selection device 30.
[0154] Therefore, the simulation device 50A can dynamically change the number of position data used for motion simulation according to the state of the machine tool 10, thereby achieving high efficiency in motion simulation calculation and processing.
[0155] The first and second embodiments have been described above, but the selection device 30 is not limited to the above embodiments, and includes variations and improvements within the scope of achieving the purpose.
[0156] <Variation Example 1>
[0157] In the first and second embodiments, the worst-case variation calculation unit 312 calculates the worst-case variation of the position data P4 as "M" and the worst-case variation of the seam position data Pi as "D" when the observed object is in the state of linear interpolation on a straight axis, but it is not limited to this. For example, the worst-case variation calculation unit 312 may also calculate the worst-case variation of the position data P4 as "D".
[0158] Alternatively, the worst change calculation unit 312 can also set the worst change of any one of the position data P2 to P7 other than position data P4 as "M" for calculation.
[0159] <Variation Example 2>
[0160] Furthermore, for example, in the first embodiment, the selection device 30 and the communication control device 40 are devices different from the control device 20, but are not limited thereto. For example, the selection device 30 and the communication control device 40 may also be included in the control device 20.
[0161] <Variation Example 3>
[0162] Furthermore, for example, in the second embodiment, the selection device 30 and the simulation device 50A are devices different from the control device 20, but are not limited thereto. For example, the selection device 30 and the simulation device 50A may also be included in the control device 20.
[0163] Furthermore, the functions included in the selection device 30 in the first and second embodiments can be implemented by hardware, software, or a combination thereof. Here, implementation by software means implementing by reading and executing a program by a computer.
[0164] Programs can be stored and provided to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disks), optical-magnetic recording media (e.g., optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash memory ROMs, and RAM). Additionally, programs can also be provided to a computer using various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transient computer-readable media can provide programs to a computer via wired communication paths such as wires and optical fibers, or via wireless communication paths.
[0165] Furthermore, the steps describing a program recorded in a recording medium naturally include processes performed in that order and in a time sequence, as well as processes that are not necessarily performed in a time sequence, and processes that are performed in parallel or individually.
[0166] In other words, the selection device, communication control device, analog device, and storage medium of this disclosure can be implemented in a variety of ways with the following structure.
[0167] (1) The selection device 30 of this disclosure is a device for selecting position data used when performing motion simulation of an observed object using position data of the observed object. It includes: a position acquisition unit 310, which acquires position data including coordinate values representing the position of the observed object; a state acquisition unit 311, which acquires the state of the observed object, the state of the observed object including at least one of motion commands transmitted from the control device 20 controlling the observed object to the observed object and data not based on the motion commands for the observed object; a worst-case change calculation unit 312, which calculates the worst-case change in the accuracy of motion simulation with the position data used for motion simulation processing and without the position data, based on the state of the observed object; and a selection unit 313, which selects the position data to be used in the motion simulation based on the worst-case change calculated by the worst-case change calculation unit 312.
[0168] According to the selection device 30, the number or amount of position data used for motion simulation of industrial machinery can be dynamically changed according to the state of industrial machinery.
[0169] (2) In the selection device 30 described in (1), the state acquisition unit 311 may also detect the seam between two or more consecutive action commands for the observed object based on the state of the observed object, the worst change calculation unit 312 may also calculate the worst change in the accuracy of the action simulation when the seam of the action command is used for the operation processing of the action simulation and when the seam of the action command is not used, and the selection unit 313 may also select the position data of the observed object in the seam based on the worst change of the seam of the action command calculated by the worst change calculation unit.
[0170] Therefore, the selection device 30 can reliably select the position data of the joint.
[0171] (3) In the selection device 30 described in (1) or (2), the state acquisition unit 311 may acquire static information related to the part where the observation object is located in addition to the state of the observation object. The worst change calculation unit 312 may also calculate the worst change in the accuracy of the motion simulation based on the state and static information of the observation object, for the case where the position data is used for the motion simulation calculation and the case where the position data is not used. The selection unit 313 may also select the position data to be used in the motion simulation based on the worst change in the accuracy of the motion simulation calculated by the worst change calculation unit 312.
[0172] Therefore, the selection device 30 can reliably and intermittently remove position data that does not affect the accuracy of the simulation.
[0173] (4) In the selection device 30 described in (3), the static information may include information on whether each axis in the machine tool 10 with the object of observation is a linear axis or a rotary axis.
[0174] Therefore, the selection device 30 can more accurately and periodically eliminate position data that does not affect the accuracy of the simulation.
[0175] (5) In any of the selection devices 30 in (1) to (4), the data not based on the action command may include at least one of the speed of the motor, torque, and position of the observed object.
[0176] Therefore, the selection device 30 can achieve the same effect as any of (1) to (3).
[0177] (6) The communication control device 40 disclosed herein is a communication control device that can be communicatively connected to the simulation device 50 that performs the motion simulation of the observed object, and has: a selection device 30 as described in any one of (1) to (5); and a transmission amount control unit 41 that determines the transmission amount of position data to the simulation device 50 based on the selection result of the selection unit 313.
[0178] According to the communication control device 40, position data that does not affect the accuracy of the simulation can be periodically removed, thus shortening the time spent on position data transmission.
[0179] (7) The simulation device 50A disclosed herein is a simulation device for performing motion simulation of an observed object, and includes: a selection device 30 as described in any one of (1) to (5); and a quantity control unit 51, which determines the number of position data used in the motion simulation based on the selection result of the selection unit 313.
[0180] Therefore, the simulation device 50A can periodically remove position data that does not affect the accuracy of the simulation, thus improving the processing speed of the simulation.
[0181] (8) The recording medium of this disclosure is a computer-readable recording medium containing a program for selecting the position data used when simulating the movement of the observed object using the position data of the observed object. The program enables the computer to function as the following components: a position acquisition unit 310, which acquires position data containing coordinate values representing the position of the observed object; a state acquisition unit 311, which acquires the state of the observed object, the state of the observed object including at least one of an action command transmitted from the control device 20 controlling the observed object to the observed object and data not based on the action command for the observed object; a worst-case change calculation unit 312, which calculates the worst-case change in the accuracy of the movement simulation when the position data is used for the operation processing of the movement simulation and when the position data is not used, based on the state of the observed object; and a selection unit 313, which selects the position data to be used in the movement simulation based on the calculated worst-case change.
[0182] Based on this recording medium, the same effect as (1) can be obtained.
[0183] Explanation of reference numerals in the attached figures
[0184] 1.1A Simulation System
[0185] 10 machine tools
[0186] 20 Control devices
[0187] 30 Selection Device
[0188] 310 Location Acquisition Department
[0189] 311 Status Acquisition Department
[0190] 312 Worst-case variation calculation section
[0191] 313 Selection Department
[0192] 40 Communication control device
[0193] 41. Transport Volume Control Department
[0194] 42. Transmission Processing Unit
[0195] 50, 50A simulation device
[0196] 51 Usage Control Department
[0197] 52. Computation and Processing Unit.
Claims
1. A selection device for selecting position data used when simulating the action of an observed object using its position data, characterized in that, The selection device has: The location acquisition unit acquires location data containing coordinate values representing the location of the observed object; A status acquisition unit acquires the status of the observed object, the status of the observed object including at least one of an action command transmitted from a device controlling the observed object to the observed object, and data not based on the action command for the observed object; The worst-case change calculation unit calculates the worst-case change in the accuracy of the motion simulation based on the state of the observed object, with and without using the location data in the calculation process of the motion simulation. The selection unit selects the position data to be used in the motion simulation based on the worst-case change calculated by the worst-case change calculation unit.
2. The selection device according to claim 1, characterized in that, The state acquisition unit also detects the seams between two or more consecutive action commands for the observed object based on the state of the observed object. The worst-case variation calculation unit also calculates the worst-case variation in the accuracy of the motion simulation when the seam of the motion command is used in the computational processing of the motion simulation, and when the seam of the motion command is not used. The selection unit further selects the position data of the observed object at the seam based on the worst change amount of the seam of the action command calculated by the worst change amount calculation unit.
3. The selection device according to claim 1 or 2, characterized in that, In addition to the state of the observed object, the state acquisition unit also acquires static information related to the parts on which the observed object is located. The worst-case change calculation unit further calculates, based on the state of the observed object and the static information, the worst-case change in the accuracy of the motion simulation when the location data is used for computational processing and when the location data is not used. The selection unit further selects the position data to be used in the motion simulation based on the worst variation in the accuracy of the motion simulation calculated by the worst variation calculation unit.
4. The selection device according to claim 3, characterized in that, The static information includes information on whether the axes in the industrial machinery containing the observed object are linear or rotary axes.
5. The selection device according to claim 1 or 2, characterized in that, The data not based on the action command includes at least one of the motor speed, torque, and the position of the observed object.
6. A communication control device communicatively connected to a simulation device that performs motion simulation of the observed object, characterized in that, The communication control device has: The selection device according to any one of claims 1 to 5; The transmission amount control unit determines the amount of position data to be transmitted to the simulation device based on the selection result of the selection unit.
7. A simulation device for simulating the actions of the observed object, characterized in that, The simulation device has: The selection device according to any one of claims 1 to 5; The quantity control unit determines the number of position data to be used in the motion simulation based on the selection result of the selection unit.
8. A computer-readable recording medium containing a program, characterized in that, The program, in order to select the position data used when simulating the movement of the observed object using its position data, enables the computer to function as the following component: The location acquisition unit acquires location data containing coordinate values representing the location of the observed object; A status acquisition unit acquires the status of the observed object, the status of the observed object including at least one of an action command transmitted from a device controlling the observed object to the observed object, and data not based on the action command for the observed object; The worst-case change calculation unit calculates the worst-case change in the accuracy of the motion simulation based on the state of the observed object, with and without using the location data in the calculation process of the motion simulation. The selection unit selects the position data to be used in the motion simulation based on the calculated worst-case variation.