WO2022215178A1 - 選択装置、通信制御装置、シミュレーション装置、及び記録媒体 - Google Patents

選択装置、通信制御装置、シミュレーション装置、及び記録媒体 Download PDF

Info

Publication number
WO2022215178A1
WO2022215178A1 PCT/JP2021/014671 JP2021014671W WO2022215178A1 WO 2022215178 A1 WO2022215178 A1 WO 2022215178A1 JP 2021014671 W JP2021014671 W JP 2021014671W WO 2022215178 A1 WO2022215178 A1 WO 2022215178A1
Authority
WO
WIPO (PCT)
Prior art keywords
observation target
position data
worst
simulation
selection
Prior art date
Application number
PCT/JP2021/014671
Other languages
English (en)
French (fr)
Inventor
俊大 渡邉
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to DE112021007003.7T priority Critical patent/DE112021007003T5/de
Priority to JP2021539564A priority patent/JP6985566B1/ja
Priority to PCT/JP2021/014671 priority patent/WO2022215178A1/ja
Priority to US18/280,082 priority patent/US20240152667A1/en
Priority to CN202180096627.XA priority patent/CN117157599A/zh
Publication of WO2022215178A1 publication Critical patent/WO2022215178A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen

Definitions

  • the present invention relates to a selection device, a communication control device, a simulation device, and a recording medium.
  • Patent Document 1 A technology has been proposed that collects position data from control devices that control industrial machines such as machine tools and robots, and uses the collected position data to simulate the operation of industrial machines (including interference checks). For example, see Patent Document 1.
  • some of the collected position data may not be used for the motion simulation, or may not be transferred to the simulation device that performs the motion simulation. may not affect the accuracy of the simulation. If the position data is used for motion simulation more than necessary or transferred to the simulation device even though the simulation accuracy is not degraded, there is a problem that the calculation processing and transfer processing of the position data take time.
  • One aspect of the selection device of the present disclosure is a selection device that selects position data to be used in performing a motion simulation of the observation target using position data of the observation target, wherein coordinates indicating the position of the observation target a position acquisition unit that acquires position data including a value; an operation command sent to the observation target from a device that controls the observation target; and data that is not based on the operation command to the observation target.
  • a state acquisition unit that acquires the state of the observation target; and a worst-case variation in accuracy of the motion simulation between when the position data is used and not used for arithmetic processing related to the motion simulation, and obtains the state of the observation target.
  • a selector that selects position data to be used in the motion simulation based on the worst variation calculated by the worst variation calculator.
  • One aspect of the communication control device of the present disclosure is a communication control device communicably connected to a simulation device that executes a motion simulation of the observation target, comprising: the selection device of (1); a transfer amount control unit that determines the transfer amount of the position data to the simulation device based on the selection result of the above.
  • One aspect of the simulation device of the present disclosure is a simulation device that executes a motion simulation of the observation target, and is used in the motion simulation based on the selection device of (1) and the selection result of the selection unit. and a usage amount control unit that determines the number of pieces of position data to be processed.
  • the computer in order to select the position data to be used in performing the motion simulation of the observation target using the position data of the observation target, can be set to coordinates indicating the position of the observation target.
  • a position acquisition unit that acquires position data including a value; an operation command sent to the observation target from a device that controls the observation target; and data that is not based on the operation command to the observation target.
  • a state acquisition unit that acquires the state of the observation target; and a worst-case variation in accuracy of the motion simulation between when the position data is used and not used for arithmetic processing related to the motion simulation, and obtains the state of the observation target.
  • a selection unit for selecting position data to be used in the motion simulation based on the calculated worst amount of change. Possible recording media.
  • FIG. 1 is a functional block diagram showing a functional configuration example of a simulation system according to a first embodiment;
  • FIG. It is a figure which shows an example of the position data acquired.
  • FIG. 10 is a diagram showing an example of position data when the state of an observation target is a linear axis and is linearly interpolated; It is a figure which shows the relationship between position data and a rounding error.
  • FIG. 10 is a diagram showing an example of linear interpolation with linear axes when the state of the observation target has a joint;
  • FIG. 10 is a diagram showing an example of position data when the state of an observation target is a linear axis and curve interpolation is performed;
  • FIG. 10 is a diagram showing an example of how to obtain the worst variation in the case where the state of the observation target is a linear axis and curve interpolation is performed; It is a figure which shows an example of a motion of observation object in the case of performing linear interpolation with a rotating shaft.
  • 4 is a flowchart for explaining data communication processing of the simulation system;
  • FIG. 10 is a flowchart illustrating detailed processing contents of selection processing when the state of the observation target shown in step S ⁇ b>5 of FIG. 9 is a linear axis and linear interpolation is performed;
  • FIG. 10 is a flowchart illustrating detailed processing contents of selection processing when the state of the observation target shown in step S6 of FIG.
  • FIG. 9 is linear axis curve interpolation or rotary axis interpolation;
  • FIG. FIG. 7 is a functional block diagram showing a functional configuration example of a simulation system according to a second embodiment; 4 is a flowchart for explaining arithmetic processing of the simulation system;
  • FIG. 1 is a functional block diagram showing a functional configuration example of a simulation system according to the first embodiment.
  • the simulation system 1 has a machine tool 10 , a control device 20 , a selection device 30 , a communication control device 40 and a simulation device 50 .
  • the machine tool 10, the control device 20, the selection device 30, the communication control device 40, and the simulation device 50 may be directly connected to each other via a connection interface (not shown).
  • the machine tool 10, the control device 20, the selection device 30, the communication control device 40, and the simulation device 50 may be interconnected via a network such as a LAN (Local Area Network).
  • LAN Local Area Network
  • the machine tool 10, the control device 20, the selection device 30, the communication control device 40, and the simulation device 50 may include a communication unit (not shown) for mutual communication through such connections.
  • the selection device 30 is a device different from the communication control device 40, it may be included in the communication control device 40 as described later. Also, the selection device 30 and the communication control device 40 may be included in the control device 20 .
  • the machine tool 10 is a machine tool known to those skilled in the art (for example, a 5-axis machining center, etc.), and operates based on operation commands from the control device 20, which will be described later.
  • the control device 20 is, for example, a numerical control device known to those skilled in the art, generates an operation command based on control information, and transmits the generated operation command to the machine tool 10 . Thereby, the control device 20 controls the operation of the machine tool 10 .
  • the control device 20 is a device that causes the machine tool 10 to perform predetermined machining by controlling the machine tool 10 .
  • a machining program describing the operation of the machine tool 10 is provided to the control device 20 . Based on a given machining program, the control device 20 creates an operation command including a movement command for each axis and a rotation command for the motor that drives the main axis, etc., and transmits the operation command to the machine tool 10. , controls the motors of the machine tool 10 .
  • the machine tool 10 performs predetermined machining.
  • the control device 20 performs linear interpolation or curved interpolation on the linear axes included in the machine tool 10 based on the machining program, or interpolation on the rotary axis, and determines the position of the observation target for each control cycle. Generate position data that includes the coordinates shown.
  • the control device 20 generates position data of the object to be observed for each control cycle together with the operation command, and data not based on the operation command to the object to be observed acquired from the machine tool 10 (for example, motor speed , torque, etc.) to the selection device 30 .
  • the control device 20 may be a robot control device or the like.
  • devices controlled by the control device 20 are not limited to the machine tool 10 and robots, and can be widely applied to industrial machines in general.
  • Industrial machinery includes various machines such as, for example, machine tools, industrial robots, service robots, forging machines and injection molding machines.
  • the control device 20 may add, as static information, information such as the attribute of each axis of the machine tool 10 as to whether each axis of the machine tool 10 is a linear axis or a rotary axis as the position where the observation target is arranged.
  • a numerical control device is exemplified as the control device 20 .
  • the simulation device 50 is a computer or the like, and performs operation simulation (including interference check) of the machine tool 10 using position data of objects to be observed such as tools and workpieces received via the communication control device 40, which will be described later.
  • operation simulation including interference check
  • a well-known method can be used for the operation simulation, and detailed description thereof is omitted.
  • the selection device 30 has a position acquisition unit 310, a state acquisition unit 311, a worst change amount calculation unit 312, and a selection unit 313, as shown in FIG.
  • the selection device 30 includes an arithmetic processing device (not shown) such as a CPU (Central Processing Unit) in order to realize the operation of the functional blocks in FIG.
  • the selection device 30 stores various control programs such as a ROM (Read Only Memory) or an auxiliary storage device (not shown) such as an HDD, or stores data temporarily required for the arithmetic processing unit to execute the program.
  • a main storage device such as a RAM (Random Access Memory) for storing .
  • the arithmetic processing unit reads the OS and application software from the auxiliary storage device, develops the read OS and application software in the main storage device, and performs arithmetic processing based on the OS and application software. . Based on this calculation result, the selection device 30 controls each piece of hardware. Thereby, the functions of the position acquisition unit 310, the state acquisition unit 311, the worst change amount calculation unit 312, and the selection unit 313 are realized. That is, the selection device 30 can be realized by cooperation of hardware and software.
  • the position acquisition unit 310 acquires position data including coordinate values indicating the position of an observation target such as a tool or workpiece in the machine tool 10 via the control device 20 . Specifically, position acquisition section 310 acquires a preset number of pieces of position data for each preset cycle. In the case of the first embodiment, one communication control cycle is set as the cycle, and eight pieces of position data are acquired from the control device 20 per cycle. Note that this setting is merely an example, and any value may be set.
  • FIG. 2 is a diagram showing an example of acquired position data. Note that FIG. 2 shows an example of position data sampling used for motion simulation (or interference check) in the case of a five-axis machining center as the machine tool 10 controlled by the control device 20 . As shown in FIG.
  • the trajectory of the tool is composed of trajectories of four sections N1 to N4 in the machining program, for example.
  • linear interpolation is performed on the linear axis of the tool.
  • interpolation is performed on the rotation axis of the tool in order to change the posture of the tool.
  • linear interpolation is performed on the linear axis of the tool, as in the case of the trajectory of section N1.
  • linear interpolation is performed on the linear axis of the tool retracted, and the axis stops at the end point of section N4. 2 indicates interpolated position data of the center position of the tool, and double circles indicate position data selected by a selection unit 313, which will be described later.
  • the state acquisition unit 311 acquires the state of the observation target including at least one of an operation command sent from the control device 20 to the observation target and data not based on the operation command to the observation target. Specifically, as described above, the state acquisition unit 311 acquires movement commands for each axis of the machine tool 10 indicated by each block included in the machining program, and operation commands such as rotation commands for the motors that drive the spindles. , is acquired as the state of the observation target together with the added static information. For example, if the machine tool 10 is a 5-axis machining center, it has three linear axes in the XYZ directions and two rotary axes (rotation/tilt).
  • the motion command to the object includes "the linear axis is performing linear interpolation", “the linear axis is performing curved interpolation", and “the rotary axis is performing interpolation”.
  • the state acquisition unit 311 may acquire data (for example, motor speed, torque, etc.) that is not based on an operation command to the observation target as the state of the observation target. Note that the speed and torque of the motor and the position of the observation target change even with an operation command based on the machining program. Change. Therefore, the state acquisition unit 311 acquires the speed and torque of the motor and the position of the observation target as data that is not based on an operation command to the observation target. By doing so, the selection device 30 can more accurately acquire the state of the observation target in the acquired position data.
  • the worst change amount calculation unit 312 calculates the worst change amount that indicates how much the accuracy of the motion simulation changes at maximum depending on whether or not the position data is used for arithmetic processing related to the motion simulation in the simulation device 50. It is calculated based on the state of the observation target. In the following, the states of the observation target are: (1) linear interpolation on the linear axis, (2) curve interpolation on the linear axis or interpolation on the rotary axis, and (3) the worst change amount calculation unit when the axis is stopped. 312 will be described.
  • FIG. 3 is a diagram showing an example of position data when the state of the observation target is linear axis and linear interpolation.
  • the position acquisition unit 310 acquires eight pieces of position data (P0 to P7) from the control device 20 per communication control cycle.
  • the position data P0 to P7 are linearly interpolated from the position data Pi to the linearly interpolated line, assuming a rounding error of ⁇ in each direction of the XYZ axes of the control device 20 for the linear interpolation indicated by the solid line. is about ( ⁇ 3) ⁇ (i is a natural number from 0 to 7).
  • the worst change amount calculator 312 calculates the worst change amount in the position data Pi as ( ⁇ 3) ⁇ as the worst change amount.
  • the worst change amount calculation unit 312 calculates the operation
  • the worst variation in the accuracy of the motion simulation may be calculated between when the seams of instructions are used in the arithmetic processing related to the motion simulation and when they are not used. For example, as shown in FIG.
  • the distance d3 from the position data P3 to the straight line connecting the adjacent position data P2 and the position data P4 is the three position data P2, It is shorter than the length of any side of the triangle P2P3P4 consisting of P3 and P4, and d3 ⁇ length of side P2P3 and d3 ⁇ length of side P3P4. Then, for example, when the amount of movement of the observation target per unit time (proportional to the movement speed of the observation target) under the control of the control device 20 is "D", the length of the side P2P3, which is the linear interpolation interval, ⁇ D, and Since the length of the side P3P4 ⁇ D, d3 ⁇ D. As a result, the worst change amount calculator 312 calculates D as the worst change amount in the joint position data P3. Note that D>( ⁇ 3) ⁇ .
  • the worst change amount calculator 312 calculates the worst change amount in the position data P0 and P4 as "M". It should be noted that "M" is larger than ( ⁇ 3) ⁇ and is about the size of "D". As described above, when the state of the object to be observed is a linear axis and is linearly interpolated, the worst change amount calculation unit 312 calculates the worst change amount of each position data Pi without using the values of the position data P0 to P7.
  • the selection device 30 can dynamically change the transfer amount of the position data used for motion simulation without increasing the amount of calculation.
  • FIG. 6 is a diagram showing an example of position data when the state of the observation target is linear axis and curve interpolation.
  • FIG. 6 shows the case where the state of the observation target is a linear axis and the curve interpolation is performed, the same applies to the case where the state of the observation target is a rotation axis and the interpolation is performed.
  • the position acquisition unit 310 acquires eight pieces of position data (P0 to P7) from the control device 20 per communication control cycle.
  • the worst change amount calculation unit 312 for example, , as shown in FIG. 7, with the first position data P0 as a reference, the length Hi of the line segment connecting the position data P0 and the position data P(i+1) from the position data Pi is taken as the worst change amount of the position data Pi. calculate.
  • the state of the object to be observed is a linear axis and curve interpolation, that is, circular interpolation, each of the position data P0 to P7 is distributed on a circle with a curvature ⁇ .
  • the worst change amount calculator 312 calculates the length Hi in the position data Pi as the worst change amount of the position data Pi. be able to. Similarly, the worst change amount calculation unit 312 calculates the length Hi of the line segment connecting the position data Pi based on the position data P1 to P6 as the reference and the position data P(i+1). Calculate as a quantity. As described above, when the state of the object to be observed is a linear axis and curve interpolation is performed, the worst change amount calculation unit 312 calculates the worst change amount of each position data Pi without using the values of the position data P0 to P7.
  • the position acquisition unit 310 acquires eight pieces of position data (P0 to P7) from the control device 20 per communication control cycle.
  • the state of the observation target acquired from the control device 20 by the state acquisition unit 311 is that the axis (static information) is stopped (motor speed is "0")
  • all the position data P0 to P7 are transferred to the simulation device 50. Since there is no change in the simulation accuracy even if it is not performed, the worst change amount calculator 312 sets the worst change amount of the simulation accuracy of each of the position data P0 to P7 to "0".
  • the selection unit 313 selects position data to be used in the motion simulation performed by the simulation device 50 based on the worst amount of change calculated by the worst amount of change calculation unit 312 .
  • the operation of the selection unit 313 in the case of (1) linear interpolation on a linear axis, (2) curve interpolation on a linear axis or interpolation on a rotary axis, and (3) axis stop will be explained.
  • the first position data P0 indicated by a double circle is selected from among P0 to P7. Further, the selection unit 313 selects the position data Pi having the worst amount of change exceeding a preset threshold value ⁇ among the worst amount of change of the position data P1 to P7.
  • the threshold value ⁇ may be set to a value larger than ( ⁇ 3) ⁇ , which is the rounding error, and smaller than the worst variation amounts "D" and "M". That is, as shown in FIG. 3, when the state of the observation target is a seamless linear axis and linear interpolation, the selection unit 313 selects the worst change amount "M" position data P4 may be selected.
  • the selection unit 313 selects the position data P4 having the worst variation "M” among the position data P1 to P7 and the worst variation "D” in the case of linear interpolation on a linear axis with a joint. , and the position data P3 may be selected. By doing so, the position data to be transferred to the simulation device 50 can be reduced to a maximum of 1/4 without lowering the accuracy of the motion simulation.
  • the first position data P0 indicated by a double circle is selected from the eight position data P0 to P7.
  • the selector 313 selects the position data Pi with the worst amount of change that exceeds a preset threshold. For example, in the case of FIG. 6, the selection unit 313 may select the position data P2 exceeding the threshold based on the worst amount of change calculated based on the position data P0 selected first. The selection unit 313 may select the position data P4 exceeding the threshold based on the worst amount of change calculated based on the position data P2 selected next.
  • the selection unit 313 may select the position data P6 exceeding the threshold based on the worst amount of change calculated based on the position data P4 selected next. By doing so, the position data to be transferred to the simulation device 50 can be reduced to a maximum of 1/2 without lowering the accuracy of the motion simulation. Note that the selection unit 313 selects the position data even when the state of the observation target is interpolation on the rotation axis, in the same manner as in the case of curve interpolation on the linear axis.
  • the selection unit 313 selects only the first position data P0. By doing so, the position data to be transferred to the simulation device 50 can be reduced to 1 ⁇ 8 without lowering the accuracy of the motion simulation.
  • the communication control device 40 has a transfer amount control section 41 and a transfer processing section 42, as shown in FIG.
  • the communication control device 40 includes an arithmetic processing device (not shown) such as a CPU (Central Processing Unit) in order to realize the operation of the functional blocks shown in FIG.
  • the communication control unit 40 includes a ROM (Read Only Memory) storing various control programs, an auxiliary storage device (not shown) such as an HDD, and an arithmetic processing unit temporarily required for executing the program.
  • a main memory (not shown) such as a RAM (Random Access Memory) for storing data is provided.
  • the arithmetic processing unit reads the OS and application software from the auxiliary storage device and develops the read OS and application software in the main storage device, while performing arithmetic processing based on the OS and application software. Do.
  • the communication control unit 40 controls each piece of hardware based on the result of this calculation. Thereby, the functions of the transfer amount control unit 41 and the transfer processing unit 42 are realized. That is, the communication control device 40 can be realized by cooperation of hardware and software.
  • the transfer amount control unit 41 acquires the position data for 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 based on the selection result, transfers data for each communication control cycle.
  • the position data P0 to P7 the amount of position data to be transferred to the simulation device 50 that performs motion simulation is determined.
  • the transfer processing unit 42 transfers the position data of the transfer amount determined by the transfer amount control unit 41 to the simulation device 50 .
  • FIG. 9 is a flowchart for explaining data communication processing of the simulation system 1.
  • FIG. The flow shown here is executed each time position data is received by the control device 20 for each communication control cycle.
  • step S ⁇ b>1 the position acquisition unit 310 of the selection device 30 acquires position data of an observation target such as a tool or workpiece in the machine tool 10 via the control device 20 .
  • step S2 the state acquisition unit 311 of the selection device 30 acquires the state of the observation target including at least one of an operation command sent from the control device 20 to the observation target and data not based on the operation command to the observation target.
  • step S3 the worst change amount calculation unit 312 of the selection device 30 determines whether the state of the observation target acquired in step S2 is linear interpolation with a linear axis. If the state of the observation target is a linear axis and linear interpolation is performed, the process proceeds to step S5. On the other hand, if the state of the observation target is a linear axis and is not linearly interpolated, the process proceeds to step S4.
  • step S4 the worst change amount calculation unit 312 determines whether the state of the observation target acquired in step S2 is that the axis is stopped. If the state of the observation target is that the axis is stopped, the process proceeds to step S7. On the other hand, if the state of the observation target is not that the axis is stopped, the process proceeds to step S6.
  • step S ⁇ b>5 the selection device 30 performs selection processing when the state of the observation target is a linear axis and linear interpolation, and selects position data to be transferred to the simulation device 50 .
  • a detailed flow of selection processing when the state of the observation target is a linear axis and linear interpolation will be described later.
  • step S6 the selection device 30 performs selection processing when the state of the observation target is linear axis interpolation or curve interpolation or rotation axis interpolation, and selects position data to be transferred to the simulation device 50.
  • a detailed flow of selection processing when the state of the observation target is linear axis interpolation or curve interpolation or rotation axis interpolation will be described later.
  • step S7 the worst change amount calculation unit 312 sets the worst change amount of the position data P0 to P7 acquired in step S1 to "0" because the state of the observation target is stopped, and the selection unit 313 Select only the first position data P0.
  • step S8 the transfer amount control unit 41 of the communication control device 40 determines the position to the simulation device 50 among the position data P0 to P7 acquired in step S1 based on the selection result of any one of steps S5 to S7. Decide how much data to transfer.
  • step S9 the transfer processing unit 42 of the communication control device 40 transfers the position data of the transfer amount determined in step S8 to the simulation device 50.
  • FIG. 10 is a flowchart for explaining the detailed processing contents of the selection process when the state of the observation target shown in step S5 in FIG. 9 is a linear axis and linear interpolation.
  • steps S501 to S506 show the processing flow of the worst change amount calculation unit 312
  • steps S507 to S510 show the processing flow of the selection unit 313.
  • step S501 the worst change amount calculation unit 312 initializes the variable i to "1".
  • step S502 the worst variation calculation unit 312 determines whether the variable i is "4". If the variable i is "4", the process proceeds to step S504. On the other hand, if the variable i is not "4", the process proceeds to step S503.
  • step S503 the worst change amount calculation unit 312 determines whether the position data Pi is a joint. 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.
  • step S504 the worst change amount calculator 312 sets the worst change amount of the position data P4 to "M".
  • step S505 the worst change amount calculator 312 sets the worst change amount of the joint position data Pi to "D".
  • step S506 the worst change amount calculator 312 sets the worst change amount of the position data Pi to ( ⁇ 3) ⁇ .
  • step S507 the selection unit 313 determines whether or not the worst change amount of the position data Pi exceeds the threshold value ⁇ . If the worst change amount of the position data Pi exceeds the threshold value ⁇ , the process proceeds to step S508. On the other hand, if the worst change amount of the position data Pi is equal to or less than the threshold value ⁇ , the process proceeds to step S509.
  • step S ⁇ b>508 the selection unit 313 selects the position data Pi whose worst variation exceeds the threshold ⁇ as the position data to be transferred to the simulation device 50 .
  • step S509 the selection unit 313 increases the variable i by "1".
  • step S510 the selection unit 313 determines whether or not the variable i exceeds "7". If the variable i exceeds "7”, the selection process of step S5 is ended, and the process proceeds to step S8 of FIG. On the other hand, if the variable i is "7" or less, the process returns to step S502.
  • FIG. 11 is a flowchart for explaining the detailed processing contents of the selection process when the state of the observation target shown in step S6 in FIG. 9 is linear axis curve interpolation or rotation axis interpolation.
  • step S601 indicates the processing of the worst change amount calculation unit 312
  • step S602 indicates the processing of the selection unit 313.
  • step S601 the worst change amount calculation unit 312 calculates the length Hi of a line segment connecting the reference position data and the position data P(i+1) from the position data Pi when each of the position data P0 to P6 is used as a reference. It is calculated as the worst change amount of the position data Pi.
  • step S602 the selection unit 313 selects the position data Pi with the worst amount of change exceeding a preset threshold based on the worst amount of change calculated in step S601. Then, the selection device 30 ends the selection process of step S6, and proceeds to step S8 of FIG.
  • the selection device 30 acquires the state of the observation target together with the position data of the observation target such as the tool or workpiece of the machine tool 10 from the control device 20, and based on the acquired state of the observation target , the worst variation in the accuracy of the simulation performed by the simulation device 50 is calculated, and position data to be transferred to the simulation device 50 is selected based on the calculated worst variation.
  • the selection device 30 can dynamically change the transfer amount of the position data used for the motion simulation according to the state of the machine tool 10, thereby improving the efficiency of arithmetic processing related to the motion simulation.
  • the communication control device 40 can thin out the position data that is not important for the accuracy of the simulation, it is possible to shorten the time required for transferring the position data.
  • the communication control device 40 can automatically determine which of the simulation accuracy and the data transfer time should be emphasized, thereby reducing the work load on machine manufacturers, machine users, and the like.
  • the first embodiment has been described above.
  • the selection device 30 is a device different from the communication control device 40, but is not limited to this.
  • the communication control device 40 may include a selection processing section as the selection device 30 .
  • the communication control device 40 can dynamically change the transfer amount of the position data used for the motion simulation according to the state of the machine tool 10, thereby improving the efficiency of arithmetic processing related to the motion simulation.
  • the communication control device 40 determines the transfer amount of position data to the simulation device 50 based on the selection result of the selection device 30 .
  • the second embodiment differs from the first embodiment in that the simulation device 50A determines the number of pieces of position data to be used for motion simulation based on the selection result of the selection device 30 .
  • the simulation device 50A according to the second embodiment can dynamically change the number of pieces of position data used in the operation simulation of the industrial machine according to the state of the industrial machine.
  • a second embodiment will be described below.
  • FIG. 12 is a functional block diagram showing a functional configuration example of a simulation system according to the second embodiment. Elements having functions similar to those of the simulation system 1 shown in FIG. As shown in FIG. 12, the simulation system 1A has a machine tool 10, a control device 20, a selection device 30, and a simulation device 50A.
  • the machine tool 10, the control device 20, the selection device 30, and the simulation device 50A may be directly connected to each other via a connection interface (not shown).
  • the machine tool 10, the control device 20, the selection device 30, and the simulation device 50A may be interconnected via a network such as a LAN (Local Area Network).
  • the machine tool 10, the control device 20, the selection device 30, and the simulation device 50A may include a communication unit (not shown) for mutual communication through such connections.
  • the selection device 30 is a device different from the simulation device 50A, it may be included in the simulation device 50A as described later. Also, the selection device 30 and the simulation device 50A may be included in the control device 20 .
  • the machine tool 10, the control device 20, and the selection device 30 have the same configurations as the machine tool 10, the control device 20, and the selection device 30 of the first embodiment.
  • the position acquisition unit 310, state acquisition unit 311, worst change amount calculation unit 312, and selection unit 313 are equivalent to the position acquisition unit 310, state acquisition unit 311, worst change amount calculation unit 312, and selection unit 313 of the first embodiment.
  • the position acquisition unit 310 is set such that, for example, one calculation processing cycle of the simulation device 50A is set as a preset cycle, and the number of pieces of position data acquired for each cycle is set to eight, for example. do. Note that this setting is merely an example, and any value may be set.
  • the simulation device 50A has a usage control unit 51 and an arithmetic processing unit 52, as shown in FIG.
  • the simulation device 50A includes an arithmetic processing unit (not shown) such as a CPU (Central Processing Unit) in order to realize the operation of the functional blocks shown in FIG.
  • the simulation device 50A stores various control programs stored in a ROM (Read Only Memory), an auxiliary storage device (not shown) such as an HDD, and data temporarily required when the arithmetic processing unit executes the program.
  • a main storage device (not shown) such as a RAM (Random Access Memory) for storing .
  • the arithmetic processing unit reads the OS and application software from the auxiliary storage device, develops the read OS and application software in the main storage device, and performs arithmetic processing based on the OS and application software. . Based on this calculation result, the simulation device 50A controls each piece of hardware. Thereby, the functions of the usage amount control unit 51 and the arithmetic processing unit 52 are realized. That is, the simulation device 50A can be realized by cooperation of hardware and software.
  • the usage amount control unit 51 acquires the position data for each arithmetic processing cycle acquired by the position acquisition unit 310 of the selection device 30 and the selection result of the selection unit 313, and based on the selection result, Of the position data P0 to P7, the number of pieces of position data to be used for arithmetic processing related to motion simulation is determined.
  • the arithmetic processing unit 52 uses the number of pieces of position data determined by the usage amount control unit 51 to perform arithmetic processing related to operation simulation (including interference check) of the machine tool 10 .
  • FIG. 13 is a flow chart for explaining arithmetic processing of the simulation system 1A.
  • the flow shown here is executed each time position data is received by the control device 20 in each arithmetic processing cycle. Note that the processing from step S1 to step S7 is the same as the processing from step S1 to step S7 in the first embodiment, and description thereof will be omitted.
  • step S8a the usage amount control unit 51 determines the number of pieces of position data to be used among the position data P0 to P7 acquired in step S1, based on the selection result of any one of steps S5 to S7.
  • step S9a the arithmetic processing unit 52 uses the number of pieces of position data determined in step S8a to perform an operation simulation (including an interference check) of the machine tool 10.
  • the selection device 30 acquires the position data of the observation target such as the tool or workpiece of the machine tool 10 from the control device 20 and the state of the observation target, and based on the acquired state of the observation target, A worst-case variation in simulation accuracy is calculated, and position data to be used for motion simulation is selected based on the calculated worst-case variation.
  • the selection device 30 can dynamically change the number of pieces of position data to be used for the motion simulation according to the state of the machine tool 10, thereby improving the efficiency of arithmetic processing related to the motion simulation.
  • the simulation device 50A can thin out the position data that does not affect the accuracy of the simulation, so that the processing speed of the simulation can be improved.
  • the simulation device 50A can automatically determine which of simulation accuracy and processing speed is to be emphasized, thereby reducing the workload of machine manufacturers and machine users.
  • the second embodiment has been described above.
  • the selection device 30 is a device different from the simulation device 50A, but is not limited to this.
  • the simulation device 50A may include a selection processing unit as the selection device 30.
  • FIG. the simulation device 50A can dynamically change the number of pieces of position data to be used for the motion simulation according to the state of the machine tool 10, thereby improving the efficiency of arithmetic processing related to the motion simulation.
  • the selection device 30 is not limited to the above-described embodiments, and includes modifications, improvements, etc. within a range that can achieve the purpose.
  • the worst change amount calculation unit 312 sets the worst change amount of the position data P4 to "M" and the joint position data Pi was calculated as "D", but it is not limited to this.
  • the worst change amount calculator 312 may calculate the worst change amount of the position data P4 as "D”.
  • the worst change amount calculator 312 may calculate the worst change amount of any one of the position data P2 to P7 other than the position data P4 as "M”.
  • the selection device 30 and the communication control device 40 are devices different from the control device 20, but the present invention is not limited to this.
  • the selection device 30 and the communication control device 40 may be included in the control device 20 .
  • the selection device 30 and the simulation device 50A are devices different from the control device 20, but the present invention is not limited to this.
  • the selection device 30 and the simulation device 50A may be included in the control device 20.
  • FIG. 1 is a diagrammatic representation of the control device 20.
  • Each function included in the selection device 30 in the first and second embodiments can be realized by hardware, software, or a combination thereof.
  • “implemented by software” means implemented by a computer reading and executing a program.
  • 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., flexible discs, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical discs), CD-ROMs (Read Only Memory), CD- R, CD-R/W, semiconductor memory (eg, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
  • the program may also be supplied to the computer on various types of transitory computer readable medium. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer via wired communication channels, such as wires and optical fibers, or wireless communication channels.
  • steps of writing a program recorded on a recording medium include not only processes that are executed chronologically in order, but also processes that are executed in parallel or individually, even if they are not necessarily processed chronologically. It also includes
  • the selection device, communication control device, simulation device, and storage medium of the present disclosure can take various embodiments having the following configurations.
  • the selection device 30 of the present disclosure is a selection device that selects position data to be used in performing a motion simulation of an observation target using position data of the observation target, and is a selection device that includes a coordinate value indicating the position of the observation target.
  • a position acquisition unit 310 that acquires data, and acquires the state of the observation target including at least one of an operation command sent to the observation target from the control device 20 that controls the observation target, and data not based on the operation command to the observation target.
  • a worst change amount calculation unit that calculates, based on the state of the object to be observed, the worst change amount of the accuracy of the motion simulation between when the position data is used for arithmetic processing related to the motion simulation and when it is not used.
  • this selection device 30 it is possible to dynamically change the number of pieces of position data or the transfer amount used for the operation simulation of the industrial machine according to the state of the industrial machine.
  • the state acquisition unit 311 further detects a joint between two or more continuous operation commands to the observation target based on the state of the observation target, and detects the worst change amount.
  • the calculation unit 312 further calculates the worst variation in the accuracy of the motion simulation between when the seams of the motion commands are used in the arithmetic processing related to the motion simulation and when they are not used, and the selection unit 313 further calculates the worst variation.
  • the position data of the observation target at the seam may be selected based on the worst variation of the seam of the action command calculated by the calculation unit. By doing so, the selection device 30 can reliably select the joint position data.
  • the state acquisition unit 311 further acquires static information about the location where the observation target is placed in addition to the state of the observation target, and obtains the worst change
  • the amount calculation unit 312 further calculates the worst variation in the accuracy of the motion simulation between when the position data is used for arithmetic processing related to the motion simulation and when it is not used, based on the state and static information of the observation target.
  • the selection unit 313 may select the position data to be used in the motion simulation based on the worst variation in accuracy of the motion simulation calculated by the worst variation calculation unit 312 . By doing so, the selection device 30 can reliably thin out the position data that does not affect the accuracy of the simulation.
  • the static information may include information as to whether each axis included in the machine tool 10 on which the observation target is arranged is a linear axis or a rotary axis. By doing so, the selection device 30 can more accurately thin out the position data that does not affect the accuracy of the simulation.
  • the data not based on the motion command may include at least one of motor speed, torque, and position of the object to be observed. By doing so, the selection device 30 can achieve the same effect as any of (1) to (3).
  • the communication control device 40 of the present disclosure is a communication control device that is communicatively connected to a simulation device 50 that executes a motion simulation of an observation target, and is a communication control device according to any one of (1) to (5).
  • a selection device 30 and a transfer amount control unit 41 that determines the amount of position data to be transferred to the simulation device 50 based on the selection result of the selection unit 313 . According to this communication control device 40, it is possible to thin out the position data that does not affect the accuracy of the simulation, so that the time required for transferring the position data can be shortened.
  • the simulation device 50A of the present disclosure is a simulation device that executes a motion simulation of an observation target, and the selection device 30 according to any one of (1) to (5) and the selection result of the selection unit 313 and a usage amount control unit 51 that determines the number of pieces of position data to be used in the motion simulation based on the usage amount control unit 51 .
  • the simulation device 50A can thin out the position data that does not affect the accuracy of the simulation, so that the processing speed of the simulation can be improved.
  • the computer in order to select position data to be used in performing a motion simulation of the observation target using the position data of the observation target, the computer can be used to select a position including coordinate values indicating the position of the observation target.
  • a position acquisition unit 310 that acquires data, and the state of the observation target including at least one of an operation command sent to the observation target from the control device 20 that controls the observation target, and data not based on the operation command to the observation target.
  • a state acquisition unit 311 to acquire and a worst change amount calculation for calculating the worst change amount of the accuracy of the motion simulation between the case where the position data is used for the arithmetic processing related to the motion simulation and the case where it is not used, based on the state of the observation target.
  • Reference Signs List 1 1A simulation system 10 machine tool 20 control device 30 selection device 310 position acquisition unit 311 state acquisition unit 312 worst change amount calculation unit 313 selection unit 40 communication control unit 41 transfer amount control unit 42 transfer processing unit 50, 50A simulation device 51 Usage control unit 52 Arithmetic processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能とすること。 選択装置は、観測対象の位置データを用いて観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、観測対象を制御する装置から観測対象に送られる動作命令、及び観測対象への前記動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する状態取得部と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部と、最悪変化量算出部により算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部と、を備える。

Description

選択装置、通信制御装置、シミュレーション装置、及び記録媒体
 本発明は、選択装置、通信制御装置、シミュレーション装置、及び記録媒体に関する。
 工作機械やロボット等の産業機械を制御する制御装置から位置データを収集し、収集した位置データを用いて産業機械の動作シミュレーション(干渉チェックを含む)を行う技術が提案されている。例えば、特許文献1参照。
特許第4221016号
 産業機械の制御状態によっては、収集した位置データの一部(例えば、機械が停止している間の位置データ)が動作シミュレーションに用いられなくても、あるいは当該動作シミュレーションを行うシミュレーション装置に転送しなくてもシミュレーションの精度に影響を与えない場合がある。
 シミュレーション精度が悪化しないにもかかわらず必要以上に位置データを動作シミュレーションに用いたり、シミュレーション装置に転送したりすると、位置データの演算処理や転送処理に時間がかかってしまい問題がある。
 そこで、産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能とすることが望まれている。
 (1)本開示の選択装置の一態様は、観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも1つを含む前記観測対象の状態を取得する状態取得部と、前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、前記最悪変化量算出部により算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、を備える。
 (2)本開示の通信制御装置の一態様は、前記観測対象の動作シミュレーションを実行するシミュレーション装置と通信可能に接続される通信制御装置であって、(1)の選択装置と、前記選択部の選択結果に基づき、前記シミュレーション装置への前記位置データの転送量を決定する転送量制御部と、を備える。
 (3)本開示のシミュレーション装置の一態様は、前記観測対象の動作シミュレーションを実行するシミュレーション装置であって、(1)の選択装置と、前記選択部の選択結果に基づき、前記動作シミュレーションで使用する位置データの個数を決定する使用量制御部と、を備える。
 (4)本開示の記録媒体の一態様は、観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択するために、コンピュータを、前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも1つを含む前記観測対象の状態を取得する状態取得部と、前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
 一態様によれば、産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能とすることができる。
第1実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。 取得される位置データの一例を示す図である。 観測対象の状態が直線軸で直線補間の場合における位置データの一例を示す図である。 位置データと丸め誤差との関係を示す図である。 観測対象の状態が継ぎ目がある場合の直線軸で直線補間の一例を示す図である。 観測対象の状態が直線軸で曲線補間の場合における位置データの一例を示す図である。 観測対象の状態が直線軸で曲線補間の場合における最悪変化量の求め方の一例を示す図である。 回転軸で直線補間を行う場合の観測対象の動きの一例を示す図である。 シミュレーションシステムのデータ通信処理について説明するフローチャートである。 図9のステップS5で示した観測対象の状態が直線軸で直線補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。 図9のステップS6で示した観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。 第2実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。 シミュレーションシステムの演算処理について説明するフローチャートである。
<第1実施形態>
 本実施形態の構成について図面を用いて詳細に説明する。ここでは、観測対象として産業機械における工具やワークの場合を例示する。なお、本発明は、産業機械を制御する制御装置を観測対象とする場合に対しても適用可能である。
 図1は、第1実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。
 図1に示すように、シミュレーションシステム1は、工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50を有する。
 工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50は、LAN(Local Area Network)等のネットワークを介して相互に接続されていてもよい。この場合、工作機械10、制御装置20、選択装置30、通信制御装置40、及びシミュレーション装置50は、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
 なお、選択装置30は、通信制御装置40と異なる装置としたが、後述するように、通信制御装置40に含まれてもよい。また、選択装置30及び通信制御装置40は、制御装置20に含まれてもよい。
 工作機械10は、当業者にとって公知の工作機械(例えば、5軸マシニングセンタ等)であり、後述する制御装置20の動作指令に基づいて動作する。
 制御装置20は、例えば当業者にとって公知の数値制御装置であり、制御情報に基づいて動作指令を生成し、生成した動作指令を工作機械10に送信する。これにより、制御装置20は、工作機械10の動作を制御する。
 具体的には、制御装置20は、工作機械10を制御することにより、工作機械10に所定の機械加工を行わせる装置である。制御装置20には、工作機械10の動作を記述した加工プログラムが与えられる。制御装置20は、与えられた加工プログラムに基づいて、各軸に対する移動指令、主軸を駆動するモータへの回転指令等を含む動作命令を作成し、この動作命令を工作機械10に送信することにより、工作機械10のモータを制御する。これにより、工作機械10による所定の機械加工が実行される。
 なお、制御装置20は、動作命令の作成において、加工プログラムに基づき工作機械10に含まれる直線軸で直線補間や曲線補間、又は回転軸で補間を行い、1制御周期毎の観測対象の位置を示す座標値を含む位置データを生成する。制御装置20は、後述するように、動作命令とともに、生成した1制御周期毎の観測対象の位置データ、及び工作機械10から取得した観測対象への動作命令に基づかないデータ(例えば、モータの速度、トルク等)を選択装置30に送信する。
 また、工作機械10がロボット等の場合、制御装置20は、ロボット制御装置等でもよい。
 また、制御装置20の制御対象の装置は工作機械10やロボットに限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々な機械を含む。また、制御装置20は、観測対象が配置された箇所として工作機械10の各軸が直線軸か回転軸かの軸の属性等の情報を静的情報として付加してもよい。
 本実施形態では、制御装置20として、数値制御装置を例示する。
 シミュレーション装置50は、コンピュータ等であり、後述する通信制御装置40を介して受信する工具やワーク等の観測対象の位置データ用いて工作機械10の動作シミュレーション(干渉チェックを含む)を行う。なお、動作シミュレーションについては、公知の手法を用いることができ、詳細な説明は省略する。
 選択装置30は、図1に示すように、位置取得部310、状態取得部311、最悪変化量算出部312、及び選択部313を有する。
 選択装置30は、図1の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、選択装置30は、各種の制御用プログラムを格納したROM(Read Only Memory)やHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
 そして、選択装置30において、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、選択装置30が各ハードウェアを制御する。これにより、位置取得部310、状態取得部311、最悪変化量算出部312、及び選択部313の機能が実現される。すなわち、選択装置30は、ハードウェアとソフトウェアが協働することにより実現することができる。
 位置取得部310は、制御装置20を介して工作機械10における工具又はワーク等の観測対象の位置を示す座標値を含む位置データを取得する。
 具体的には、位置取得部310は、予め設定された周期毎に、予め設定された個数の位置データを取得する。第1実施形態の場合、当該周期としては、1通信制御周期が設定され、また1周期あたり8個の位置データを制御装置20から取得するものを例示する。なお、この設定は一例にすぎず、任意の値を設定するようにしてもよい。
 図2は、取得される位置データの一例を示す図である。なお、図2では、制御装置20によって制御される工作機械10として5軸マシニングセンタの場合の動作シミュレーション(又は干渉チェック)に用いる位置データのサンプリングの一例を示す。
 図2に示すように、工具の軌道は、例えば、加工プログラムにおいて4つの区間N1~N4の軌道から構成される。区間N1の軌道では、工具の直線軸での直線補間が行われる。区間N2の軌道では、工具の姿勢を変化させるため工具の回転軸での補間が行われる。区間N3の軌道では、区間N1の軌道の場合と同様に、工具の直線軸での直線補間が行われる。区間N4の軌道では、工具を退避させる工具の直線軸での直線補間が行われ、区間N4の端点で軸が停止する。なお、図2の丸印は、工具の中心位置の補間された位置データを示し、二重丸は、後述する選択部313により選択された位置データを示す。
 状態取得部311は、制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する。
 具体的には、状態取得部311は、上述したように、加工プログラムに含まれる各ブロックが示す工作機械10の各軸に対する移動指令や、主軸を駆動するモータへの回転指令等の動作指令を、付加された静的情報とともに観測対象の状態として取得する。例えば、工作機械10が5軸マシニングセンタの場合、XYZ軸方向の3つの直線軸と2つの回転軸(回転/傾斜)とを有することから、制御装置20から観測対象に送られる動作命令や、観測対象への動作命令には、「直線軸が直線補間中」、「直線軸が曲線補間中」、「回転軸が補間中」等がある。
 また、状態取得部311は、観測対象への動作命令に基づかないデータ(例えば、モータの速度、トルク等)を、観測対象の状態として取得するようにしてもよい。なお、モータの速度やトルク、観測対象の位置は、加工プログラムに基づく動作指令でも変化するが、動作命令に基づかない工作機械10以外の装置や人間等による外力が観測対象に加えられることによっても変化する。このため、状態取得部311は、モータの速度やトルク、観測対象の位置を観測対象への動作命令に基づかないデータとして取得する。
 そうすることで、選択装置30は、取得した位置データにおける観測対象の状態をより正確に取得することができる。
 最悪変化量算出部312は、シミュレーション装置50において位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合とで動作シミュレーションの精度が最大でどれだけ変化するかを示す最悪変化量を、観測対象の状態に基づいて算出する。
 以下、観測対象の状態として、(1)直線軸で直線補間の場合、(2)直線軸で曲線補間又は回転軸で補間の場合、(3)軸が停止中の場合における最悪変化量算出部312の動作について説明する。
(1)観測対象の状態が直線軸で直線補間の場合
 図3は、観測対象の状態が直線軸で直線補間の場合における位置データの一例を示す図である。
 図3に示すように、位置取得部310は、1通信制御周期あたり8個の位置データ(P0~P7)を制御装置20から取得する。なお、図4に示すように、位置データP0~P7は、実線で示す直線補間に対して、制御装置20のXYZ軸の各方向における丸め誤差±εとすると、位置データPiから直線補間した線までの距離diは(√3)ε程度である(iは0~7の自然数)。
 そこで、状態取得部311により制御装置20から取得した観測対象の状態が直線軸(静的情報)で図3に示すように折れ曲がりのない直線補間中(工作機械10への移動命令)の場合、最悪変化量算出部312は、最悪変化量として位置データPiにおける最悪変化量を(√3)εと算出する。
 また、図5に示すように、状態取得部311が取得した観測対象に対する動作命令から観測対象への連続する2つ以上の動作命令の継ぎ目を検知した場合、最悪変化量算出部312は、動作命令の継ぎ目を動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出するようにしてもよい。例えば、図5に示すように、位置データP3で折れ曲がる、継ぎ目がある場合、位置データP3から隣接する位置データP2と位置データP4とを結んだ直線までの距離d3は、3つの位置データP2、P3、P4からなる三角形P2P3P4のどの辺の長さよりも短く、d3≦辺P2P3の長さ、及びd3≦辺P3P4の長さとなる。そして、例えば、制御装置20の制御による観測対象の単位時間当たりの移動量(観測対象の移動速度に比例)が「D」の場合、直線補間の間隔である辺P2P3の長さ≦D、及び辺P3P4の長さ≦Dとなることから、d3≦Dとなる。これにより、最悪変化量算出部312は、継ぎ目の位置データP3における最悪変化量をDと算出する。なお、D>(√3)εである。
 また、観測対象の状態が直線軸で直線補間の場合、1通信制御周期における8個の位置データP0~P7のうち、最初の位置データP0及び真ん中の位置データP4を後述するシミュレーション装置50に必ず転送するようにするために、最悪変化量算出部312は、位置データP0及びP4における最悪変化量を「M」と算出する。なお、「M」は(√3)εより大きく、「D」程度の大きさの値とする。
 このように、最悪変化量算出部312は、観測対象の状態が直線軸で直線補間の場合、位置データP0~P7の値を用いることなく各位置データPiの最悪変化量を算出することで、選択装置30は、演算量を増やすことなく、動作シミュレーションに用いる位置データの転送量を動的に変更することが可能となる。
(2)観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合
 図6は、観測対象の状態が直線軸で曲線補間の場合における位置データの一例を示す図である。なお、図6では、観測対象の状態が直線軸で曲線補間の場合を示すが、観測対象の状態が回転軸で補間の場合についても同様である。
 図6に示すように、位置取得部310は、1通信制御周期あたり8個の位置データ(P0~P7)を制御装置20から取得する。そして、状態取得部311により制御装置20から取得した観測対象の状態が直線軸(静的情報)で曲線補間中(工作機械10への移動命令)の場合、最悪変化量算出部312は、例えば、図7に示すように、最初の位置データP0を基準にして、位置データPiから位置データP0と位置データP(i+1)とを結ぶ線分に対する長さHiを位置データPiの最悪変化量として算出する。
 具体的には、観測対象の状態が直線軸で曲線補間、すなわち円弧補間の場合、位置データP0~P7の各々は、曲率ρの円周上に分布する。このため、位置データP0~P7が分布する円の半径は1/ρであることから、最悪変化量算出部312は、位置データPiにおける長さHiを、位置データPiの最悪変化量として算出することができる。
 最悪変化量算出部312は、同様に位置データP1~P6それぞれを基準にしたときの位置データPiから基準にした位置データと位置データP(i+1)とを結ぶ線分に対する長さHiを最悪変化量として算出する。
 このように、最悪変化量算出部312は、観測対象の状態が直線軸で曲線補間の場合、位置データP0~P7の値を用いることなく各位置データPiの最悪変化量を算出することで、選択装置30及び通信制御装置40における演算量を増やすことなく、動作シミュレーションに用いる位置データの転送量を動的に変更することが可能となる。
 なお、回転軸で直線補間を行う(回転軸の座標値が線形的に増加する)場合、図8に示すように、観測対象(例えば、ワーク)は回転中心を軸とした円運動を行う。観測対象が曲線的に動くため、直線軸で曲線補間したときと同様の扱いをする。したがって、最悪変化量算出部312は、直線補間の方法ではなく、曲線補間と同じ方法で最悪変化量を求めることができる。
(3)軸が停止中の場合
 位置取得部310は、1通信制御周期あたり8個の位置データ(P0~P7)を制御装置20から取得する。そして、状態取得部311により制御装置20から取得した観測対象の状態として軸(静的情報)が停止中(モータ速度が「0」)の場合、位置データP0~P7を全てシミュレーション装置50に転送しなくてもシミュレーション精度に変化がないことから、最悪変化量算出部312は、位置データP0~P7それぞれのシミュレーション精度の最悪変化量を「0」とする。
 選択部313は、最悪変化量算出部312により算出された最悪変化量に基づいて、シミュレーション装置50で行われる動作シミュレーションで使用する位置データを選択する。
 以下、観測対象の状態として、(1)直線軸で直線補間の場合、(2)直線軸で曲線補間又は回転軸で補間の場合、(3)軸が停止中の場合における選択部313の動作について説明する。
(1)観測対象の状態が直線軸で直線補間の場合
 図3に示すように、選択部313は、観測対象の状態が直線軸で直線補間の場合、1通信制御周期の8個の位置データP0~P7のうち、二重丸で示す最初の位置データP0を選択する。
 また、選択部313は、位置データP1~P7の最悪変化量のうち、予め設定された閾値δを超える最悪変化量の位置データPiを選択する。なお、閾値δは丸め誤差である(√3)εより大きな値に設定され、最悪変化量「D」、「M」より小さな値に設定されるようにしてもよい。
 すなわち、選択部313は、図3に示すように、観測対象の状態が継ぎ目のない直線軸で直線補間の場合、位置データP1~P7のうち真ん中に位置し二重丸で示す最悪変化量「M」の位置データP4を選択するようにしてもよい。また、選択部313は、図4に示すように、継ぎ目がある直線軸で直線補間の場合、位置データP1~P7のうち最悪変化量「M」の位置データP4と、最悪変化量「D」の位置データP3と、を選択するようにしてもよい。
 そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置50に転送する位置データを最大1/4に削減することができる。
(2)観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合
 図6に示すように、選択部313は、観測対象の状態が直線軸で曲線補間の場合、1通信制御周期の8個の位置データP0~P7のうち、二重丸で示す最初の位置データP0を選択する。
 また、選択部313は、最悪変化量算出部312により算出された最悪変化量に基づいて、予め設定された閾値を超える最悪変化量の位置データPiを選択する。例えば、選択部313は、図6の場合、最初に選択した位置データP0を基準にして算出された最悪変化量に基づいて閾値を超える位置データP2を選択するようにしてもよい。選択部313は、次に選択した位置データP2を基準にして算出された最悪変化量に基づいて閾値を超える位置データP4を選択するようにしてもよい。また、選択部313は、次に選択した位置データP4を基準にして算出された最悪変化量に基づいて閾値を超える位置データP6を選択するようにしてもよい。
 そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置50に転送する位置データを最大1/2に削減することができる。
 なお、選択部313は、観測対象の状態が回転軸で補間の場合についても、直線軸で曲線補間の場合と同様に、位置データを選択する。
(3)軸が停止中の場合
 選択部313は、最悪変化量が全て「0」であるため、最初の位置データP0のみを選択する。
 そうすることで、動作シミュレーションの精度を低下させることなく、シミュレーション装置50に転送する位置データを1/8に削減することができる。
 通信制御装置40は、図1に示すように、転送量制御部41、及び転送処理部42を有する。
 通信制御装置40は、図1の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、通信制御装置40は、各種の制御用プログラムを格納したROM(Read Only Memory)やHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
 そして、通信制御装置40において、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、通信制御装置40が各ハードウェアを制御する。これにより、転送量制御部41、及び転送処理部42の機能が実現される。すなわち、通信制御装置40は、ハードウェアとソフトウェアが協働することにより実現することができる。
 転送量制御部41は、選択装置30の位置取得部310により取得された1通信制御周期毎の位置データと選択部313の選択結果とを取得し、選択結果に基づいて1通信制御周期毎の位置データP0~P7のうち、動作シミュレーションを行うシミュレーション装置50への位置データの転送量を決定する。
 転送処理部42は、転送量制御部41により決定された転送量の位置データをシミュレーション装置50に転送する。
<シミュレーションシステム1のデータ通信処理>
 次に、図9を参照しながら、シミュレーションシステム1のデータ通信処理の流れを説明する。
 図9は、シミュレーションシステム1のデータ通信処理について説明するフローチャートである。ここで示すフローは、1通信制御周期毎に制御装置20により位置データを受信する度に実行される。
 ステップS1において、選択装置30の位置取得部310は、制御装置20を介して工作機械10における工具又はワーク等の観測対象の位置データを取得する。
 ステップS2において、選択装置30の状態取得部311は、制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する。
 ステップS3において、選択装置30の最悪変化量算出部312は、ステップS2で取得された観測対象の状態が直線軸で直線補間か否かを判定する。観測対象の状態が直線軸で直線補間の場合、処理はステップS5に進む。一方、観測対象の状態が直線軸で直線補間でない場合、処理はステップS4に進む。
 ステップS4において、最悪変化量算出部312は、ステップS2で取得された観測対象の状態が軸の停止中か否かを判定する。観測対象の状態が軸の停止中の場合、処理はステップS7に進む。一方、観測対象の状態が軸の停止中でない場合、処理はステップS6に進む。
 ステップS5において、選択装置30は、観測対象の状態が直線軸で直線補間の場合の選択処理を行い、シミュレーション装置50に転送する位置データを選択する。なお、観測対象の状態が直線軸で直線補間の場合の選択処理の詳細なフローについては、後述する。
 ステップS6において、選択装置30は、観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理を行い、シミュレーション装置50に転送する位置データを選択する。なお、観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細なフローについては、後述する。
 ステップS7において、最悪変化量算出部312は、観測対象の状態が停止中であることから、ステップS1で取得された位置データP0~P7の最悪変化量を「0」とし、選択部313は、最初の位置データP0のみを選択する。
 ステップS8において、通信制御装置40の転送量制御部41は、ステップS5からステップS7のいずれかの選択結果に基づいて、ステップS1で取得された位置データP0~P7のうちシミュレーション装置50への位置データの転送量を決定する。
 ステップS9において、通信制御装置40の転送処理部42は、ステップS8で決定された転送量の位置データをシミュレーション装置50に転送する。
 図10は、図9においてステップS5で示した観測対象の状態が直線軸で直線補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。図10のフローチャートでは、ステップS501~S506は、最悪変化量算出部312の処理フローを示し、ステップS507~S510は、選択部313の処理フローを示す。
 ステップS501において、最悪変化量算出部312は、変数iを「1」に初期化する。
 ステップS502において、最悪変化量算出部312は、変数iが「4」か否かを判定する。変数iが「4」の場合、処理はステップS504に進む。一方、変数iが「4」でない場合、処理はステップS503に進む。
 ステップS503において、最悪変化量算出部312は、位置データPiが継ぎ目か否かを判定する。位置データPiが継ぎ目の場合、処理はステップS505に進む。一方、位置データPiが継ぎ目でない場合、処理はステップS506へ進む。
 ステップS504において、最悪変化量算出部312は、位置データP4の最悪変化量を「M」とする。
 ステップS505において、最悪変化量算出部312は、継ぎ目の位置データPiの最悪変化量を「D」とする。
 ステップS506において、最悪変化量算出部312は、位置データPiの最悪変化量を(√3)εとする。
 ステップS507において、選択部313は、位置データPiの最悪変化量が閾値δを超えているか否かを判定する。位置データPiの最悪変化量が閾値δを超えている場合、処理はステップS508に進む。一方、位置データPiの最悪変化量が閾値δ以下の場合、処理はステップS509に進む。
 ステップS508において、選択部313は、最悪変化量が閾値δを超えた位置データPiを、シミュレーション装置50に転送する位置データとして選択する。
 ステップS509において、選択部313は、変数iを「1」増加させる。
 ステップS510において、選択部313は、変数iが「7」を超えているか否かを判定する。変数iが「7」を超えている場合、ステップS5の選択処理を終了し、図9のステップS8に進む。一方、変数iが「7」以下の場合、処理はステップS502に戻る。
 図11は、図9においてステップS6で示した観測対象の状態が直線軸で曲線補間又は回転軸で補間の場合の選択処理の詳細な処理内容を説明するフローチャートである。図11のフローチャートでは、ステップS601は、最悪変化量算出部312の処理を示し、ステップS602は、選択部313の処理を示す。
 ステップS601において、最悪変化量算出部312は、位置データP0~P6それぞれを基準にしたときの位置データPiから基準にした位置データと位置データP(i+1)とを結ぶ線分に対する長さHiを位置データPiの最悪変化量として算出する。
 ステップS602において、選択部313は、ステップS601で算出された最悪変化量に基づいて、予め設定された閾値を超える最悪変化量の位置データPiを選択する。そして、選択装置30は、ステップS6の選択処理を終了し、図9のステップS8に進む。
 以上により、第1実施形態に係る選択装置30は、制御装置20から工作機械10の工具やワーク等の観測対象の位置データとともに観測対象の状態を取得し、取得した観測対象の状態に基づいて、シミュレーション装置50で行われるシミュレーション精度の最悪変化量を算出し、算出した最悪変化量に基づいてシミュレーション装置50に転送する位置データを選択する。これにより、選択装置30は、動作シミュレーションに用いる位置データの転送量を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
 そして、通信制御装置40は、シミュレーションの精度にとって重要でない位置データを間引くことができるため、位置データ転送にかかる時間を短縮することができる。
 また、通信制御装置40は、シミュレーションの精度とデータ転送時間のどちらを重視するかを自動で決定できるようになり、機械メーカや機械ユーザ等の作業負担を軽減することができる。
 以上、第1実施形態について説明した。
<第1実施形態の変形例>
 上述の第1実施形態では、選択装置30は、通信制御装置40と異なる装置としたが、これに限定されない。例えば、通信制御装置40は、選択装置30としての選択処理部を含んでもよい。
 これにより、通信制御装置40は、動作シミュレーションに用いる位置データの転送量を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
<第2実施形態>
 次に、第2実施形態について説明する。第1実施形態では、通信制御装置40は、選択装置30の選択結果に基づいて、シミュレーション装置50への位置データの転送量を決定した。これに対して、第2実施形態では、シミュレーション装置50Aは、選択装置30の選択結果に基づいて、動作シミュレーションに用いる位置データの個数を決定する点が、第1実施形態と相違する。
 これにより、第2実施形態に係るシミュレーション装置50Aは、産業機械の動作シミュレーションに用いる位置データの個数を産業機械の状態に応じて動的に変更可能となる。
 以下、第2実施形態について説明する。
 図12は、第2実施形態に係るシミュレーションシステムの機能的構成例を示す機能ブロック図である。なお、図1のシミュレーションシステム1の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
 図12に示すように、シミュレーションシステム1Aは、工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aを有する。
 工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aは、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aは、LAN(Local Area Network)等のネットワークを介して相互に接続されていてもよい。この場合、工作機械10、制御装置20、選択装置30、及びシミュレーション装置50Aは、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
 なお、選択装置30は、シミュレーション装置50Aと異なる装置としたが、後述するように、シミュレーション装置50Aに含まれてもよい。また、選択装置30及びシミュレーション装置50Aは、制御装置20に含まれてもよい。
 工作機械10、制御装置20、及び選択装置30は、第1実施形態の工作機械10、制御装置20、及び選択装置30と同様の構成を有する。
 位置取得部310、状態取得部311、最悪変化量算出部312、及び選択部313は、第1実施形態の位置取得部310、状態取得部311、最悪変化量算出部312、選択部313と同等の機能を有する。
 なお、第1実施形態において、位置取得部310は、予め設定された周期として、1通信制御周期が設定され、1周期毎に取得する位置データの個数を例えば8個と設定されたが、第2実施形態において、位置取得部310は、予め設定された周期として、例えばシミュレーション装置50Aの1演算処理周期が設定され、1周期毎に取得する位置データの個数を例えば8個とするものを例示する。なお、この設定は一例にすぎず、任意の値を設定するようにしてもよい。
 シミュレーション装置50Aは、図1に示すように、使用量制御部51、及び演算処理部52を有する。
 シミュレーション装置50Aは、図12の機能ブロックの動作を実現するために、CPU(Central Processing Unit)等の図示しない演算処理装置を備える。また、シミュレーション装置50Aは、各種の制御用プログラムを格納したROM(Read Only Memory)やHDD等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった図示しない主記憶装置を備える。
 そして、シミュレーション装置50Aにおいて、演算処理装置が補助記憶装置からOSやアプリケーションソフトウェアを読み込み、読み込んだOSやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのOSやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、シミュレーション装置50Aが各ハードウェアを制御する。これにより、使用量制御部51、及び演算処理部52の機能が実現される。すなわち、シミュレーション装置50Aは、ハードウェアとソフトウェアが協働することにより実現することができる。
 使用量制御部51は、選択装置30の位置取得部310により取得された1演算処理周期毎の位置データと選択部313の選択結果とを取得し、選択結果に基づいて1演算処理周期毎の位置データP0~P7のうち、動作シミュレーションに係る演算処理に使用する位置データの個数を決定する。
 演算処理部52は、使用量制御部51により決定された個数の位置データを用いて、工作機械10の動作シミュレーション(干渉チェックを含む)に係る演算処理を行う。
<シミュレーションシステム1Aの演算処理>
 次に、図13を参照しながら、シミュレーションシステム1Aの演算処理の流れを説明する。
 図13は、シミュレーションシステム1Aの演算処理について説明するフローチャートである。ここで示すフローは、1演算処理周期毎に制御装置20により位置データを受信する度に実行される。
 なお、ステップS1からステップS7の処理は、第1実施形態のステップS1からステップS7の処理と同様であり、説明は省略する。
 ステップS8aにおいて、使用量制御部51は、ステップS5からステップS7のいずれかの選択結果に基づいて、ステップS1で取得された位置データP0~P7のうち使用する位置データの個数を決定する。
 ステップS9aにおいて、演算処理部52は、ステップS8aで決定された個数の位置データを用いて、工作機械10の動作シミュレーション(干渉チェックを含む)を実行する。
 以上により、第2実施形態に係る選択装置30は、制御装置20から工作機械10の工具やワーク等の観測対象の位置データとともに観測対象の状態を取得し、取得した観測対象の状態に基づいてシミュレーション精度の最悪変化量を算出し、算出した最悪変化量に基づいて動作シミュレーションに使用する位置データを選択する。これにより、選択装置30は、動作シミュレーションに用いる位置データの個数を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
 また、シミュレーション装置50Aは、シミュレーションの精度に影響を与えない位置データを間引くことができるため、シミュレーションの処理速度を向上させることができる。
 また、シミュレーション装置50Aは、シミュレーションの精度と処理速度のどちらを重視するかを自動で決定できるようになり、機械メーカや機械ユーザの作業負担を軽減することができる。
 以上、第2実施形態について説明した。
<第2実施形態の変形例>
 上述の第2実施形態では、選択装置30は、シミュレーション装置50Aと異なる装置としたが、これに限定されない。例えば、シミュレーション装置50Aは、選択装置30としての選択処理部を含んでもよい。
 これにより、シミュレーション装置50Aは、動作シミュレーションに用いる位置データの個数を工作機械10の状態に応じて動的に変更が可能となり、動作シミュレーションに係る演算処理の効率化を図ることができる。
 以上、第1実施形態及び第2実施形態について説明したが、選択装置30は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
 第1実施形態及び第2実施形態では、最悪変化量算出部312は、観測対象の状態が直線軸で直線補間の場合、位置データP4の最悪変化量を「M」とし、継ぎ目の位置データPiの最悪変化量を「D」として算出したが、これに限定されない。例えば、最悪変化量算出部312は、位置データP4の最悪変化量を「D」と算出してもよい。
 また、最悪変化量算出部312は、位置データP4以外の位置データP2~P7のいずれかの最悪変化量を「M」と算出してもよい。
<変形例2>
 また例えば、第1実施形態では、選択装置30及び通信制御装置40は、制御装置20と異なる装置としたが、これに限定されない。例えば、選択装置30及び通信制御装置40は、制御装置20に含まれてもよい。
<変形例3>
 また例えば、第2実施形態では、選択装置30及びシミュレーション装置50Aは、制御装置20と異なる装置としたが、これに限定されない。例えば、選択装置30及びシミュレーション装置50Aは、制御装置20に含まれてもよい。
 なお、第1実施形態及び第2実施形態における選択装置30に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
 プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 以上を換言すると、本開示の選択装置、通信制御装置、シミュレーション装置、及び記憶媒体は、次のような構成を有する各種各様の実施形態を取ることができる。
 (1)本開示の選択装置30は、観測対象の位置データを用いて観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、観測対象の位置を示す座標値を含む位置データを取得する位置取得部310と、観測対象を制御する制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む観測対象の状態を取得する状態取得部311と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部312と、最悪変化量算出部312により算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部313と、を備える。
 この選択装置30によれば、産業機械の動作シミュレーションに用いる位置データの個数又は転送量を産業機械の状態に応じて動的に変更可能となる。
 (2) (1)に記載の選択装置30において、状態取得部311は、さらに、観測対象の状態に基づいて観測対象への連続する二つ以上の動作命令の継ぎ目を検知し、最悪変化量算出部312は、さらに、動作命令の継ぎ目を動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出し、選択部313は、さらに、最悪変化量算出部により算出された動作命令の継ぎ目に係る最悪変化量に基づいて、継ぎ目における観測対象の位置データを選択してもよい。
 そうすることで、選択装置30は、継ぎ目の位置データを確実に選択することができる。
 (3) (1)又は(2)に記載の選択装置30において、状態取得部311は、さらに、観測対象の状態に加えて観測対象が配置された箇所に関する静的情報を取得し、最悪変化量算出部312は、さらに、観測対象の状態及び静的情報に基づいて、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を算出し、選択部313は、さらに、最悪変化量算出部312により算出された動作シミュレーションの精度の最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択してもよい。
 そうすることで、選択装置30は、シミュレーションの精度に影響を与えない位置データを確実に間引くことができる。
 (4) (3)に記載の選択装置30において、静的情報は、観測対象が配置される工作機械10に含まれる各軸が直線軸か回転軸かの情報を含んでもよい。
 そうすることで、選択装置30は、シミュレーションの精度に影響を与えない位置データをより精度良く間引くことができる。
 (5) (1)から(4)のいずれかに記載の選択装置30において、動作命令に基づかないデータは、モータの速度、トルク、観測対象の位置の少なくとも1つを含んでもよい。
 そうすることで、選択装置30は、(1)から(3)のいずれかと同様の効果を奏することができる。
 (6)本開示の通信制御装置40は、観測対象の動作シミュレーションを実行するシミュレーション装置50と通信可能に接続される通信制御装置であって、(1)から(5)のいずれかに記載の選択装置30と、選択部313の選択結果に基づき、シミュレーション装置50への位置データの転送量を決定する転送量制御部41と、を備える。
 この通信制御装置40によれば、シミュレーションの精度に影響を与えない位置データを間引くことができるため、位置データ転送にかかる時間を短縮することができる。
 (7)本開示のシミュレーション装置50Aは、観測対象の動作シミュレーションを実行するシミュレーション装置であって、(1)から(5)のいずれかに記載の選択装置30と、選択部313の選択結果に基づき、動作シミュレーションで使用する位置データの個数を決定する使用量制御部51と、を備える。
 そうすることで、シミュレーション装置50Aは、シミュレーションの精度に影響を与えない位置データを間引くことができるため、シミュレーションの処理速度を向上させることができる。
 (8)本開示の記録媒体は、観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択するために、コンピュータを、観測対象の位置を示す座標値を含む位置データを取得する位置取得部310と、観測対象を制御する制御装置20から観測対象に送られる動作命令、及び観測対象への動作命令に基づかないデータの少なくとも1つを含む前記観測対象の状態を取得する状態取得部311と、位置データを動作シミュレーションに係る演算処理に使用する場合と使用しない場合との動作シミュレーションの精度の最悪変化量を、観測対象の状態に基づいて算出する最悪変化量算出部312と、算出された最悪変化量に基づいて、動作シミュレーションで使用する位置データを選択する選択部313と、して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体である。
 この記録媒体によれば、(1)と同様の効果を奏することができる。
 1、1A シミュレーションシステム
 10 工作機械
 20 制御装置
 30 選択装置
 310 位置取得部
 311 状態取得部
 312 最悪変化量算出部
 313 選択部
 40 通信制御装置
 41 転送量制御部
 42 転送処理部
 50、50A シミュレーション装置
 51 使用量制御部
 52 演算処理部

Claims (8)

  1.  観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択する選択装置であって、
     前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、
     前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも1つを含む前記観測対象の状態を取得する状態取得部と、
     前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、
     前記最悪変化量算出部により算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、
     を備える選択装置。
  2.  前記状態取得部は、さらに、
     前記観測対象の状態に基づいて前記観測対象への連続する二つ以上の動作命令の継ぎ目を検知し、
     前記最悪変化量算出部は、さらに、
     前記動作命令の継ぎ目を前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を算出し、
     前記選択部は、さらに、
     前記最悪変化量算出部により算出された前記動作命令の継ぎ目に係る最悪変化量に基づいて、前記継ぎ目における前記観測対象の位置データを選択する、請求項1に記載の選択装置。
  3.  前記状態取得部は、さらに、
     前記観測対象の状態に加えて前記観測対象が配置された箇所に関する静的情報を取得し、
     前記最悪変化量算出部は、さらに、
     前記観測対象の状態及び前記静的情報に基づいて、前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を算出し、
     前記選択部は、さらに、
     前記最悪変化量算出部により算出された前記動作シミュレーションの精度の最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する、請求項1又は請求項2に記載の選択装置。
  4.  前記静的情報は、前記観測対象が配置される産業機械に含まれる各軸が直線軸か回転軸かの情報を含む、請求項3に記載の選択装置。
  5.  前記動作命令に基づかないデータは、モータの速度、トルク、前記観測対象の位置の少なくとも1つを含む、請求項1から請求項3のいずれかに1項に記載の選択装置。
  6.  前記観測対象の動作シミュレーションを実行するシミュレーション装置と通信可能に接続される通信制御装置であって、
     請求項1から請求項5のいずれか1項に記載の選択装置と、
     前記選択部の選択結果に基づき、前記シミュレーション装置への前記位置データの転送量を決定する転送量制御部と、
     を備える通信制御装置。
  7.  前記観測対象の動作シミュレーションを実行するシミュレーション装置であって、
     請求項1から請求項5のいずれか1項に記載の選択装置と、
     前記選択部の選択結果に基づき、前記動作シミュレーションで使用する位置データの個数を決定する使用量制御部と、
     を備えるシミュレーション装置。
  8.  観測対象の位置データを用いて前記観測対象の動作シミュレーションを行うにあたり用いる位置データを選択するために、コンピュータを、
     前記観測対象の位置を示す座標値を含む位置データを取得する位置取得部と、
     前記観測対象を制御する装置から前記観測対象に送られる動作命令、及び前記観測対象への前記動作命令に基づかないデータの少なくとも1つを含む前記観測対象の状態を取得する状態取得部と、
     前記位置データを前記動作シミュレーションに係る演算処理に使用する場合と使用しない場合との前記動作シミュレーションの精度の最悪変化量を、前記観測対象の状態に基づいて算出する最悪変化量算出部と、
     算出された前記最悪変化量に基づいて、前記動作シミュレーションで使用する位置データを選択する選択部と、
     して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
PCT/JP2021/014671 2021-04-06 2021-04-06 選択装置、通信制御装置、シミュレーション装置、及び記録媒体 WO2022215178A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE112021007003.7T DE112021007003T5 (de) 2021-04-06 2021-04-06 Auswahlvorrichtung, Kommunikationsregelungsvorrichtung, Simulationsvorrichtung und Aufzeichnungsmedium
JP2021539564A JP6985566B1 (ja) 2021-04-06 2021-04-06 選択装置、通信制御装置、シミュレーション装置、及び記録媒体
PCT/JP2021/014671 WO2022215178A1 (ja) 2021-04-06 2021-04-06 選択装置、通信制御装置、シミュレーション装置、及び記録媒体
US18/280,082 US20240152667A1 (en) 2021-04-06 2021-04-06 Selection device, communication control device, simulation device, and recording medium
CN202180096627.XA CN117157599A (zh) 2021-04-06 2021-04-06 选择装置、通信控制装置、模拟装置以及记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/014671 WO2022215178A1 (ja) 2021-04-06 2021-04-06 選択装置、通信制御装置、シミュレーション装置、及び記録媒体

Publications (1)

Publication Number Publication Date
WO2022215178A1 true WO2022215178A1 (ja) 2022-10-13

Family

ID=79193330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/014671 WO2022215178A1 (ja) 2021-04-06 2021-04-06 選択装置、通信制御装置、シミュレーション装置、及び記録媒体

Country Status (5)

Country Link
US (1) US20240152667A1 (ja)
JP (1) JP6985566B1 (ja)
CN (1) CN117157599A (ja)
DE (1) DE112021007003T5 (ja)
WO (1) WO2022215178A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046022A (en) * 1988-03-10 1991-09-03 The Regents Of The University Of Michigan Tele-autonomous system and method employing time/position synchrony/desynchrony
JPH10214111A (ja) * 1996-11-28 1998-08-11 Fujitsu Ltd デ−タ照合方法ならびにそのためのデ−タ照合装置および記憶媒体
JP2004326257A (ja) * 2003-04-22 2004-11-18 Mitsubishi Electric Corp シミュレーション装置
JP2005103681A (ja) * 2003-09-29 2005-04-21 Fanuc Ltd ロボットシステム
JP2012243152A (ja) * 2011-05-20 2012-12-10 Fanuc Ltd 加工時間予測部および加工誤差予測部を有する数値制御装置
US20140371905A1 (en) * 2011-09-15 2014-12-18 Convergent Information Technologies Gmbh System and method for the automatic generation of robot programs
JP2018144155A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
US20210096534A1 (en) * 2019-09-30 2021-04-01 Fanuc Corporation Simulation apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4221016B2 (ja) 2006-07-25 2009-02-12 ファナック株式会社 干渉チェックを行う数値制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046022A (en) * 1988-03-10 1991-09-03 The Regents Of The University Of Michigan Tele-autonomous system and method employing time/position synchrony/desynchrony
JPH10214111A (ja) * 1996-11-28 1998-08-11 Fujitsu Ltd デ−タ照合方法ならびにそのためのデ−タ照合装置および記憶媒体
JP2004326257A (ja) * 2003-04-22 2004-11-18 Mitsubishi Electric Corp シミュレーション装置
JP2005103681A (ja) * 2003-09-29 2005-04-21 Fanuc Ltd ロボットシステム
JP2012243152A (ja) * 2011-05-20 2012-12-10 Fanuc Ltd 加工時間予測部および加工誤差予測部を有する数値制御装置
US20140371905A1 (en) * 2011-09-15 2014-12-18 Convergent Information Technologies Gmbh System and method for the automatic generation of robot programs
JP2018144155A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
US20210096534A1 (en) * 2019-09-30 2021-04-01 Fanuc Corporation Simulation apparatus

Also Published As

Publication number Publication date
JP6985566B1 (ja) 2021-12-22
JPWO2022215178A1 (ja) 2022-10-13
CN117157599A (zh) 2023-12-01
US20240152667A1 (en) 2024-05-09
DE112021007003T5 (de) 2023-11-30

Similar Documents

Publication Publication Date Title
JP5202735B2 (ja) 数値制御装置
JP6644630B2 (ja) 加工プログラム処理装置およびこれを備えた多軸加工機
ES2939000T3 (es) Método para optimizar la productividad de un proceso de mecanizado de una máquina CNC
JP5220183B2 (ja) 数値制御装置および当該数値制御装置の制御方法
JP4256440B2 (ja) ロボットプログラム調整装置
US9915516B2 (en) Method for controlling shape measuring apparatus
US10088824B2 (en) Toolpath evaluation method, toolpath generation method, and toolpath generation device
US20070293962A1 (en) Design Method for Industrial Product Using Clothoid Curve, Industrial Products Designed by the Design Method, and Method and Device for Numerical Control Using the Clothoid Curve
CN109551485B (zh) 运动控制方法、装置和系统及存储介质
CN105122160A (zh) 数控装置
JP6450732B2 (ja) 数値制御装置
Tunc et al. Process simulation integrated tool axis selection for 5-axis tool path generation
JP5452788B1 (ja) 数値制御装置
JP5872869B2 (ja) 工具背面での切削点指令により加工を行う数値制御装置
JPWO2019012692A1 (ja) 数値制御装置および数値制御方法
JP4644490B2 (ja) ツール運動の直接制御のために複雑なn曲線を描写するためのシステムおよび方法
JP2019070953A (ja) 加工プログラム処理装置およびこれを備えた多軸加工機
JP5199209B2 (ja) テーブル旋回5軸加工機用数値制御装置
JP2008117032A (ja) 加工制御装置およびそのプログラム
WO2022215178A1 (ja) 選択装置、通信制御装置、シミュレーション装置、及び記録媒体
CN109997086A (zh) 机器人的运动轴的测量
JP5195181B2 (ja) 工作機械のncデータ作成装置
US20200201283A1 (en) Numerical control device, numerical control machine system, machining simulation device, and machining simulation method
JP6192843B2 (ja) 数値制御装置
WO2021192356A1 (ja) Ncプログラム変換処理方法、変換用計算機、及び変換プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021539564

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21935983

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18280082

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112021007003

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21935983

Country of ref document: EP

Kind code of ref document: A1