Program teaching support device

The program teaching assistance device simplifies the adjustment of operation times in robot and machining programs by displaying operation times as variable-length blocks, enabling users to intuitively modify and correct programs to meet time requirements.

JP7772829B2Active Publication Date: 2025-11-18FANUC LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023568763
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-20
Publication Date
2025-11-18
Estimated Expiration
2041-12-20

AI Technical Summary

Technical Problem

In robot and machining programs, inexperienced users face challenges in adjusting the time it takes to reach a target position due to varying command content, and there is a lack of time-based displays for program correction.

Method used

A program teaching assistance device that displays operation times for each program instruction as variable-length blocks, allowing users to adjust block lengths, calculate new parameters, and correct programs to meet desired time requirements.

Benefits of technology

Enables inexperienced users to easily adjust the time to reach target positions by intuitively modifying operation times, reducing the complexity of program teaching and correction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007772829000001
    Figure 0007772829000001
  • Figure 0007772829000002
    Figure 0007772829000002
  • Figure 0007772829000003
    Figure 0007772829000003
Patent Text Reader

Abstract

The present invention enables even an inexperienced user to easily adjust the time taken to reach a target position in a program. This program teaching assistance device comprises a display unit that displays an operating time of an industrial machine which is calculated for each command of a program and / or in the order of commands, in such a manner as to arrange blocks, the lengths of which are variable in the direction of the operating time.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program teaching support device. [Background technology]

[0002] In a robot program, you first specify the target position and then teach the robot the command to move to that position. You must also check that the robot can reach the target position and consider the time it will take to reach it. In this regard, there is known a technique for acquiring status information indicating the operating status of a machine tool that executes a machining program including multiple blocks identified by sequence numbers, using the amount of change and the time axis, and timing information indicating predetermined timings of the machining program being executed by the machine tool, generating time-series information based on the acquired status information and timing information, aligning the timings indicated by the timing information, and displaying the multiple pieces of time-series information in a superimposed manner (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-13334 Summary of the Invention [Problem to be solved by the invention]

[0004] In the case of robot programs and machining programs, the time it takes to reach a target position varies depending on the content of the commands, and in order to reach the user's intended time, it is necessary to repeatedly change and execute commands and parameters. Experts have the experience and know-how to teach robots and modify machining programs for machine tools with a general understanding. However, users who are not familiar with teaching robots or editing machining programs do not know which values ​​to change, and so teaching robots or editing machining programs takes time. Furthermore, when correcting the teaching of a robot program, there is no time-based display of the entire program, and there is no simple method for correcting the program based on time.

[0005] Therefore, it is desirable that even an inexperienced user can easily adjust the time it takes to reach a target position in a program. [Means for solving the problem]

[0006] The program teaching assistance device disclosed herein includes a display unit that displays the operating time of an industrial machine calculated for each instruction of a program and / or in the order of instructions by arranging blocks whose length in the direction of the operating time is variable. [Effects of the Invention]

[0007] According to one aspect, even an inexperienced user can easily adjust the time it takes to reach a target position in a program. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 2 is a functional block diagram illustrating an example of the functional configuration of a machine device system according to an embodiment. [Figure 2] FIG. 10 is a diagram showing an example of a screen displayed on a display unit. [Figure 3A] FIG. 3 is a diagram showing an example of changing the length of a block on the screen of FIG. 2. [Figure 3B] FIG. 3 is a diagram showing an example of changing the length of a block on the screen of FIG. 2. [Figure 4] FIG. 10 is a diagram illustrating an example of a block showing an operation time closest to the calculated operation time. [Figure 5] 10 is a flowchart illustrating a teaching support process of the program teaching support device. DETAILED DESCRIPTION OF THE INVENTION

[0009] An embodiment will be described below with reference to the drawings. <One embodiment> FIG. 1 is a functional block diagram showing an example of the functional configuration of a machine system according to one embodiment. As shown in FIG. 1, the machine system 1 includes two machines 10A and 10B, two control devices 20A and 20B, and a program teaching support device 30. Here, the machines 10A and 10B are shown as robots, and the control devices 20A and 20B are shown as robot control devices. The present invention is not limited to robots as the machines 10A and 10B, but can also be applied to industrial machines such as machine tools, conveyors, presses, and injection molding machines. The control devices 20A and 10B are not limited to robot control devices, but can also be applied to numerical control devices that control machine tools, etc.

[0010] The mechanical devices 10A and 10B, the control devices 20A and 20B, and the program teaching support device 30 may be directly connected to one another via a connection interface (not shown). Note that the mechanical devices 10A and 10B, the control devices 20A and 20B, and the program teaching support device 30 may be connected to one another via a network such as a LAN (Local Area Network). In this case, the mechanical devices 10A and 10B, the control devices 20A and 20B, and the program teaching support device 30 may each include a communication unit (not shown) for communicating with one another via such a connection.

[0011] <Mechanical equipment 10A, 10B> The machines 10A and 10B are, for example, industrial machines such as machine tools, industrial robots, etc. In the following, the machines 10A and 10B will be described as industrial robots (hereinafter also referred to as "robots 10A and 10B"). Furthermore, when there is no need to distinguish between the robots 10A and 10B, they may be collectively referred to as "robot 10."

[0012] <Control devices 20A and 20B> The control devices 20A and 20B are robot control devices known to those skilled in the art, and generate commands based on robot programs generated by users teaching the robots 10A and 10B, respectively, and transmit the generated commands to the robots 10A and 10B. In this way, the control devices 20A and 20B control the operations of the robots 10A and 10B, respectively. When there is no need to distinguish between the control devices 20A and 20B, they may be collectively referred to as "control device 20."

[0013] <Program teaching support device 30> The program teaching support device 30 is a computer or the like, and acquires a program from the control device 20 and modifies the acquired program in order to adjust the operation time of the robot 10 in response to an input from a user. The program teaching support device 30 is connected to the control devices 20A and 20B, but may be connected to one or three or more control devices 20. 1, the program teaching assistance device 30 includes a control unit 31, an input unit 33, a display unit 35, and a storage unit 37. The control unit 31 includes a program input unit 310, a simulation execution unit 311, an arrangement unit 312, a change determination unit 313, a time calculation unit 314, a parameter calculation unit 315, a change feasibility determination unit 316, a program correction unit 317, and a program output unit 318.

[0014] The input unit 33 is configured with an input device such as a keyboard or a touch panel, and accepts various inputs from the user.

[0015] The display unit 35 is a display device such as an LCD (Liquid Crystal Display). As will be described later, the display unit 35 displays a screen on which the operation times of the robot 10 for each command of the program, which are obtained from the simulation of the program executed by the simulation execution unit 311, are arranged by the arrangement unit 312 for each command and / or in the order of the commands, as blocks with variable lengths of the operation times.

[0016] The storage unit 37 is a solid state drive (SSD), a hard disk drive (HDD), etc. The storage unit 37 stores an operating system and application programs executed by the control unit 31 (described later). The storage unit 37 also stores a program (robot program) acquired from the control device 20. The storage unit 37 also has a time storage unit 371. As will be described later, the time storage unit 371 stores, as a simulation result, the operation time of the robot 10 for each command of the program obtained from the simulation of the program executed by the simulation execution unit 311.

[0017] <Control unit 31> The control unit 31 includes a CPU, a ROM, a RAM, a CMOS memory, and the like, which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art. The CPU is a processor that controls the entire program teaching support device 30. The CPU reads system programs and application programs stored in the ROM via the bus and controls the entire program teaching support device 30 in accordance with the system programs and application programs. As a result, as shown in FIG. 1 , the control unit 31 is configured to implement the functions of a program input unit 310, a simulation execution unit 311, a placement unit 312, a change determination unit 313, a time calculation unit 314, a parameter calculation unit 315, a change feasibility determination unit 316, a program correction unit 317, and a program output unit 318. The RAM stores various data such as temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its stored state even when the program teaching support device 30 is powered off.

[0018] The program input unit 310 reads from the control device 20 a program (robot program) to be simulated by a simulation execution unit 311 (to be described later).

[0019] The simulation execution unit 311 uses, for example, a known method to execute a simulation of the program read by the program input unit 310. The simulation execution unit 311 stores, for each robot 10, the operation time of the robot 10 for each command of the program determined by the simulation in the time storage unit 371.

[0020] The placement unit 312 places blocks indicating the operation time of the robot 10 according to each command of the program along a time axis for each command and / or in the order of the commands, based on the operation times stored in the time memory unit 371. Then, the placement unit 312 displays a screen of the placed blocks on the display unit 35. FIG. 2 is a diagram showing an example of a screen displayed on the display unit 35. As shown in FIG. As shown in FIG. 2, the screen displayed on the display unit 35 has the horizontal axis as the time axis, and the operation times of each command in the programs (robot programs) for the robots 10A and 10B, which are the simulation results of the simulation execution unit 311, are shown by blocks arranged by the arrangement unit 312. Specifically, the program (robot program) for the robot 10A has three commands L1 to L3 (taught positions P[1] to P[3]), and on the screen of FIG. 2, the operation times of the robot 10A for each of the commands L1 to L3 are shown by blocks A1 to A3 arranged along the time axis. Furthermore, the program (robot program) for the robot 10B has two commands L1 and L2 (taught positions P[1] and P[2]), and on the screen of FIG. 2, the operation times of the robot 10B for each of the commands L1 and L2 are shown by blocks B1 and B2 arranged along the time axis. The time axis is not limited to the horizontal axis. For example, the time axis may be arranged vertically or in any other direction. In this case, the blocks are arranged along the time axis.

[0021] The change determination unit 313 determines, for example, whether the length of the block of the action time of any of the robots 10 displayed on the display unit 35 has been changed. For example, if a user wants robot 10A to handle a workpiece to robot 10B, in the program (robot program) read by program input unit 310, as shown in Figure 2, there is a discrepancy between the time when robot 10A reaches taught position P[3] and the time when robot 10B reaches taught position P[2]. Therefore, for example, as shown in Fig. 3A, the user uses the input unit 33 to input an instruction to extend the length of block B2 of robot 10B (the operation time of robot 10B in accordance with command L2) on the screen displayed on the display unit 35 so that the arrival time of taught position P[3] of robot 10A coincides with the arrival time of taught position P[2] of robot 10B. Alternatively, for example, as shown in Fig. 3B, the user may use the input unit 33 to input an instruction to reduce the length of block A3 of robot 10A (the operation time of robot 10A in accordance with command L3) on the screen displayed on the display unit 35. In this case, the change determination unit 313 determines that the length of the block has been changed. In Figures 3A and 3B, the user changes the length of the block by operating the touch panel of the input unit 33, but the user may also change the length of the block by operating the keyboard or the like of the input unit 33 to change the value of the operation time.

[0022] The time calculation unit 314 calculates the operation time of the robot 10 according to the command corresponding to the block based on the changed length of the block. Specifically, the time calculation unit 314 calculates the motion time of the robot 10B in response to the command L2 based on the length of the block B2 of the robot 10B extended by the user, as shown in Fig. 3A. Alternatively, the time calculation unit 314 calculates the motion time of the robot 10A in response to the command L3 based on the length of the block A3 of the robot 10A shortened by the user, as shown in Fig. 3B.

[0023] The parameter calculation unit 315 calculates, for example, the value of a parameter including at least either the velocity or the acceleration that satisfies the motion time of the robot 10 calculated by the time calculation unit 314 . Specifically, for example, as shown in FIG. 3A, when the motion time (length of block B2) of command L2 of the robot 10B is extended, the parameter calculation unit 315 calculates a value of the velocity at which the robot 10B reaches the teaching position P[2] in the extended motion time within a range of movement velocities settable for the robot 10B (e.g., 1 to 2000 mm / ms, etc.). Note that, for example, when the robot 10B cannot reach the teaching position P[2] in the extended motion time simply by changing the speed, the parameter calculation unit 315 may calculate a value of the acceleration at which the robot 10B reaches the teaching position P[2] in the extended motion time within a range of accelerations settable for the robot 10B (e.g., 0 to 100 mm / ms / ms, etc.). Alternatively, the parameter calculation unit 315 may calculate values ​​of the velocity and acceleration at which the robot 10B reaches the teaching position P[2] in the extended motion time within a range of velocities and accelerations settable for the robot 10B.

[0024] Furthermore, for example, as shown in FIG. 3B, when the operation time (length of block A3) of command L3 of the robot 10A is shortened, the parameter calculation unit 315 calculates a value of the speed at which the robot 10A reaches the teaching position P[3] in the shortened operation time within a range of movement speeds settable for the robot 10A (e.g., 1 to 2000 mm / ms, etc.). Note that, for example, when the robot 10A cannot reach the teaching position P[3] in the shortened operation time simply by changing the speed, the parameter calculation unit 315 may calculate a value of the acceleration at which the robot 10A reaches the teaching position P[3] in the shortened operation time within a range of accelerations settable for the robot 10A (e.g., 0 to 100 mm / ms / ms, etc.). Alternatively, the parameter calculation unit 315 may calculate values ​​of the speed and acceleration at which the robot 10A reaches the teaching position P[3] in the shortened operation time within a range of speeds and accelerations settable for the robot 10A.

[0025] The changeability determination unit 316 determines whether the length of the block specified by the user can be changed based on whether the parameter calculation unit 315 has calculated a speed and / or acceleration value that satisfies the operation time of the robot 10 calculated by the time calculation unit 314. Specifically, the changeability determination unit 316 determines that the length of the block specified by the user is changeable, for example, when the parameter calculation unit 315 can calculate a value of speed and / or acceleration that satisfies the operation time of the robot 10 calculated by the time calculation unit 314. In this case, the changeability determination unit 316 may display a message such as "It is possible to change to the specified operation time" on the display unit 35. On the other hand, if the parameter calculation unit 315 cannot calculate a speed and / or acceleration value that satisfies the motion time of the robot 10 calculated by the time calculation unit 314, the changeability determination unit 316 determines that the length of the block specified by the user cannot be changed. In this case, the changeability determination unit 316 may display a message such as "Cannot change to the specified motion time" on the display unit 35. The changeability determination unit 316 may then calculate a speed and / or acceleration value that results in a motion time closest to the motion time calculated by the time calculation unit 314, within a range of movement speeds (e.g., 1 to 2000 mm / ms) and / or a range of accelerations (e.g., 0 to 100 mm / ms / ms) that can be set for the robot 10. The changeability determination unit 316 may display (update) on the display unit 35 a block indicating the motion time of the robot 10 for the calculated speed and / or acceleration value. FIG. 4 is a diagram showing an example of a block A3' showing the operation time closest to the calculated operation time. In this case, it is preferable that the changeability determination unit 316 receives an instruction from the user via the input unit 33 as to whether or not to modify the operation time to the closest operation time indicated by the block A3' shown on the screen of FIG.

[0026] For example, if the changeability determination unit 316 determines that the block length can be changed to the length specified by the user, the program correction unit 317 corrects the program (robot program) using the speed and / or acceleration values ​​calculated by the parameter calculation unit 315. On the other hand, if the changeability determination unit 316 determines that the block length specified by the user cannot be changed, and if the changeability determination unit 316 receives an instruction from the user to change the block length to the closest operation time calculated by the changeability determination unit 316, as shown in Figure 4, the program correction unit 317 corrects the program (robot program) using the speed and / or acceleration values ​​that result in the closest operation time calculated by the changeability determination unit 316. In addition, if the changeability determination unit 316 determines that the block length specified by the user cannot be changed, and if the changeability determination unit 316 does not accept an instruction from the user to change it to the closest operation time calculated by the changeability determination unit 316, the program correction unit 317 will not correct the program (robot program).

[0027] The program output unit 318 outputs the program (robot program) to the control device 20 by the program correction unit 317, for example.

[0028] <Teaching Support Process of Program Teaching Support Device 30> Next, the flow of the teaching support process of the program teaching support device 30 will be described with reference to FIG. 5 is a flowchart illustrating the teaching support process of the program teaching support device 30. The flow shown here is executed every time a program (robot program) is read.

[0029] In step S11, the simulation execution unit 311 executes a simulation of the program read from the control device 20 by the program input unit 310.

[0030] In step S12, the simulation execution unit 311 stores, for each robot 10, the operation time of the robot 10 for each command of the program obtained by the simulation in the time storage unit 371.

[0031] In step S13, the arrangement unit 312 arranges blocks indicating the operation times of the robot 10 along the time axis for each command of the program and / or in the order of the commands, based on the operation times stored in step S12.

[0032] In step S14, the placement unit 312 displays a screen of the placed blocks on the display unit 35.

[0033] In step S15, the change determination unit 313 determines whether the length of any block displayed on the display unit 35 has been changed by the user via the input unit 33. If the length of the block has been changed, the process proceeds to step S16. On the other hand, if the length of the block has not been changed, the program teaching assistance device 30 ends the teaching assistance process.

[0034] In step S16, the time calculation unit 314 calculates the operation time of the robot 10 according to the command of the block based on the length of the block changed in step S15.

[0035] In step S17, the parameter calculation unit 315 calculates the value of the velocity and / or acceleration parameters that satisfy the motion time of the robot 10 calculated in step S16.

[0036] In step S18, the changeability determination unit 316 determines whether the length of the block instructed in step S15 can be changed, based on whether speed and / or acceleration values ​​that satisfy the movement time of the robot 10 calculated in step S16 can be calculated in step S17. If speed and / or acceleration values ​​that satisfy the movement time of the robot 10 calculated in step S16 can be calculated in step S17, the changeability determination unit 316 determines that the length of the block instructed in step S15 can be changed. Then, the process proceeds to step S21. On the other hand, if the speed and / or acceleration values ​​that satisfy the motion time of the robot 10 calculated in step S16 cannot be calculated in step S17, the changeability determination unit 316 determines that the length of the block instructed in step S15 cannot be changed. Then, the process proceeds to step S19.

[0037] In step S19, the changeability determination unit 316 calculates the value of the speed and / or acceleration parameters that will result in an operation time closest to the operation time calculated in step S16, within the range of movement speeds and / or accelerations that can be set for the robot 10.

[0038] In step S20, the changeability determination unit 316 displays (updates) on the display unit 35 a block indicating the operation time of the robot 10 for the speed and / or acceleration values ​​calculated in step S19.

[0039] In step S21, the program correction unit 317 corrects the program (robot program) using the speed and / or acceleration values ​​calculated in step S16. Note that if it is determined in step S18 that the block length specified cannot be changed, and if an instruction to correct to the closest operation time calculated in step S19 is received from the user, the program correction unit 317 corrects the program (robot program) using the speed and / or acceleration values ​​that result in the closest operation time calculated in step S19.

[0040] In step S22, the program output unit 318 outputs the program (robot program) corrected in step S21 to the control device 20.

[0041] As described above, the program teaching support device 30 according to one embodiment executes a program simulation to calculate the operation time of the robot 10 for each instruction, arranges and displays blocks indicating the operation time for each instruction on a time axis for each instruction / in the order of instructions, and when the length of a block is changed by the user, calculates the values ​​of the speed and / or acceleration parameters to adjust the operation time to the changed block length, thereby correcting the program. In this way, the program teaching support device 30 allows even an inexperienced user to easily adjust the time it takes to reach a target position in a program. In addition, the user can easily understand the proportion of time each operation takes up in the cycle time (total) of the program (robot program) by viewing a screen that displays blocks showing the operation time for each command on a time axis. Furthermore, since the length (size) of each block is directly linked to the operation time, users can intuitively modify the operation time, thereby reducing the amount of work required to teach the program (robot program).

[0042] Although one embodiment has been described above, the program teaching support device 30 is not limited to the above embodiment, and includes modifications and improvements within the scope that can achieve the object.

[0043] <Variation 1> In the embodiment, the program teaching support device 30 is a device separate from the control device 20. However, the present invention is not limited to this. For example, the program teaching support device 30 may be included in the control device 20. Alternatively, a server may be provided with some or all of the program input unit 310, the simulation execution unit 311, the placement unit 312, the change determination unit 313, the time calculation unit 314, the parameter calculation unit 315, the change feasibility determination unit 316, the program correction unit 317, and the program output unit 318 of the program teaching assistance device 30. Furthermore, each function of the program teaching assistance device 30 may be realized by using a virtual server function or the like on a cloud. Furthermore, the program teaching support device 30 may be a distributed processing system in which the functions of the program teaching support device 30 are appropriately distributed among a plurality of servers.

[0044] <Variation 2> Further, for example, the parameter calculation unit 315 calculates the value of the velocity and / or acceleration that satisfies the motion time of the robot 10 calculated by the time calculation unit 314, but the present invention is not limited to this. For example, the parameter calculation unit 315 may calculate a value of a speed and / or an acceleration that satisfies a predetermined range for the motion time of the robot 10 calculated by the time calculation unit 314. Therefore, the parameter calculation unit 315 may calculate a speed and / or an acceleration that satisfies the motion time of the robot 10 that is closest to the user's request among the motion times of the robot 10 calculated by the time calculation unit 314.

[0045] <Variation 3> Also, for example, in the above-described embodiment, when the length of a block is changed by the user, the parameter calculation unit 315 calculates the value of the speed and / or acceleration parameters so that the operation time is the changed block length, but this is not limiting. For example, when the length of a block is changed by the user, the parameter calculation unit 315 may calculate the value of a parameter such as an override value along with the speed and / or acceleration so that the operation time is the changed block length. Furthermore, in the case where the control device 20 is a numerical control device that controls a machine tool or the like, when the length of a block is changed by the user, the parameter calculation unit 315 may calculate the value of any of the parameters such as velocity, acceleration, or jerk so that the operation time corresponds to the changed length of the block.

[0046] <Variation 4> For example, in the above-described embodiment, when the length of a block is changed by the user, the program teaching support device 30 calculates the values ​​of the speed and / or acceleration parameters so that the operation time is the changed length of the block, but this is not limited to this. For example, if there are no interfering objects around the robot 10 and the movement trajectory of the robot 10 can be ignored, the program teaching support device 30 may also treat the robot movement types and positioning types such as "jyukujiku," "choksen," and "enko" as candidate parameters that satisfy the changed movement time.

[0047] Each function included in the program teaching assistance device 30 of one embodiment can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the function is realized by a computer reading and executing a program.

[0048] The program can be stored and supplied 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 storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can be supplied to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.

[0049] In addition, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically in accordance with the order, but also processes that are not necessarily performed chronologically but are performed in parallel or individually.

[0050] In other words, the program teaching support device of the present disclosure can take various forms having the following configurations.

[0051] (1) The program teaching support device 30 of the present disclosure includes a display unit 35 that displays the motion time of the robot 10 calculated for each program instruction and / or in the order of instructions by arranging blocks whose length in the direction of the motion time is variable. According to this program teaching support device 30, even an inexperienced user can easily adjust the time required to reach a target position in a program.

[0052] (2) The program teaching support device 30 described in (1) may include a program input unit 310 for inputting a program, a simulation execution unit 311 for executing a simulation of the program, a time memory unit 371 for storing the operation time for each command based on the simulation results of the robot 10, and a placement unit 312 for placing blocks based on the operation time stored in the time memory unit 371. This allows the user to easily determine which block's operation time should be adjusted.

[0053] (3) The program teaching support device 30 described in (1) or (2) may be provided with a change determination unit 313 that determines whether the length of the block has been changed, and a time calculation unit 314 that calculates the operation time of the robot 10 in accordance with the command corresponding to the block based on the changed length of the block. By doing so, the program teaching support device 30 can easily calculate the operation time of the robot 10 according to the changed block length.

[0054] (4) The program teaching support device 30 described in (3) may be provided with a parameter calculation unit 315 that calculates the value of a parameter including at least one of the speed or acceleration that satisfies the operation time of the robot 10 calculated by the time calculation unit 314, and a program correction unit 317 that corrects the program using the parameter value calculated by the parameter calculation unit 315. In this way, the program teaching support device 30 can modify the program so that the operation time of the robot 10 corresponds to the changed block length simply by changing the block length by the user.

[0055] (5) The program teaching support device 30 described in (4) may be provided with a changeability determination unit 316 that determines whether the length of the block can be changed based on whether the parameter value that satisfies the operation time of the robot 10 calculated by the time calculation unit 314 can be calculated by the parameter calculation unit 315. By doing so, the program teaching support device 30 can avoid outputting to the control device 20 a program in which inappropriate parameter values ​​are set.

[0056] (6) In the program teaching support device 30 described in (5), if the changeability determination unit 316 is unable to calculate a parameter value that satisfies the operating time of the industrial machine, it may calculate a parameter value that results in an operating time closest to the operating time of the industrial machine calculated by the time calculation unit 314, and display on the display unit 35 a block indicating the operating time of the industrial machine for the calculated parameter value. By doing so, the program teaching support device 30 can reliably adjust the time it takes to reach the target position. [Explanation of symbols]

[0057] 1. Mechanical Systems 10A, 10B Robot 20A, 20B control device 30 Program teaching support device 31 Control Unit 310 Program Input Section 311 Simulation Execution Unit 312 Placement section 313 Change Determination Unit 314 Time Calculation Unit 315 Parameter Calculation Unit 316 Changeability Determination Unit 317 Program Modification Department 318 Program Output Section 33 Input section 35 Display section 37 Memory section 371 Time Memory Unit

Claims

1. a display unit that displays an operating time of the industrial machine calculated for each instruction of the program and / or in the order of the instructions, by arranging blocks of variable length of the operating time on a time axis; a change determination unit that determines that the length of the block displayed on the display unit has been changed when a user inputs an instruction to change the length of the block; a time calculation unit that calculates an operation time of the industrial machine in accordance with a command corresponding to the block based on the changed length of the block when the change determination unit determines that the length of the block has been changed; A program teaching support device comprising:

2. a program input unit for inputting the program; a simulation execution unit that executes a simulation of the program; a time storage unit that stores the operation time for each of the instructions based on a simulation result of the industrial machine; 2. The program teaching support device according to claim 1, further comprising: a placement unit that places the blocks based on the operation times stored in the time storage unit.

3. a parameter calculation unit that calculates a value of a parameter including at least one of a speed and an acceleration that satisfies the operation time of the industrial machine calculated by the time calculation unit; 2. The program teaching assistance device according to claim 1, further comprising: a program correction unit that corrects the program using the parameter values ​​calculated by the parameter calculation unit.

4. 4. The program teaching support device according to claim 3, further comprising a changeability determination unit that determines whether the length of the block can be changed based on whether the parameter calculation unit has calculated a value of the parameter that satisfies the operating time of the industrial machine calculated by the time calculation unit.

5. 5. The program teaching support device according to claim 4, wherein, when the changeability determination unit is unable to calculate a value of the parameter that satisfies the operation time of the industrial machine, the changeability determination unit calculates a value of the parameter that results in an operation time that is closest to the operation time of the industrial machine calculated by the time calculation unit, and displays on the display unit a block indicating the operation time of the industrial machine for the calculated parameter value.

Citation Information

Patent Citations

  • Operation program creation support system

    JP2009070181A

  • Robot system, robot system control method, program, recording medium, and article manufacturing method

    JP2016221659A

  • Game machine

    JP2019013334A

  • Instruction device for laser processing

    JP2020032456A

  • Programming support device, robot system, and programming support method

    JP2020168666A