WO2023119348A1 - プログラム教示支援装置 - Google Patents

プログラム教示支援装置 Download PDF

Info

Publication number
WO2023119348A1
WO2023119348A1 PCT/JP2021/046948 JP2021046948W WO2023119348A1 WO 2023119348 A1 WO2023119348 A1 WO 2023119348A1 JP 2021046948 W JP2021046948 W JP 2021046948W WO 2023119348 A1 WO2023119348 A1 WO 2023119348A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
unit
time
operation time
calculated
Prior art date
Application number
PCT/JP2021/046948
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 PCT/JP2021/046948 priority Critical patent/WO2023119348A1/ja
Priority to TW111145023A priority patent/TW202331439A/zh
Publication of WO2023119348A1 publication Critical patent/WO2023119348A1/ja

Links

Images

Classifications

    • 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/409Numerical 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 using manual input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details, by setting parameters

Definitions

  • the present invention relates to a program teaching support device.
  • a target position is specified first, and an instruction to move to that position is taught. In addition to confirming that the target position can be reached, it is also necessary to consider the arrival time.
  • state information indicating the state during operation of a machine tool executing a machining program containing a plurality of blocks identified by sequence numbers in terms of the amount of change and time axis and the predetermined timing of the machining program being executed by the machine tool is obtained, time-series information is generated based on the obtained state information and timing information, and the timing indicated by the timing information is aligned to display a plurality of time-series information in a superimposed manner. It is See Patent Document 1, for example.
  • the program teaching support device of the present disclosure includes a display unit that displays the operation time of the industrial machine calculated for each command of the program and/or in the order of the commands by arranging blocks whose length in the direction of the operation time is variable.
  • FIG. 1 is a functional block diagram showing a functional configuration example of a machine system according to an embodiment
  • FIG. It is a figure which shows an example of the screen displayed on the display part.
  • FIG. 3 is a diagram showing an example of changing the length of a block on the screen of FIG. 2; 3 is a diagram showing an example of changing the block length on the screen of FIG. 2;
  • FIG. 10 is a diagram showing an example of a block indicating an operation time closest to the calculated operation time; 4 is a flowchart for explaining teaching support processing of the program teaching support device;
  • FIG. 1 is a functional block diagram showing a functional configuration example of a machine system according to one embodiment.
  • the machine system 1 has two machines 10A and 10B, two controllers 20A and 20B, and a program teaching support device 30.
  • mechanical devices 10A and 10B as robots and control devices 20A and 20B as robot control devices are exemplified.
  • the present invention is not limited to robots as the mechanical devices 10A and 10B, and can also be applied to industrial machines such as machine tools, transfer machines, press machines, and injection molding machines.
  • the present invention is not limited to robot controllers as the controllers 20A and 10B, but can also be applied to numerical controllers that control machine tools and the like.
  • the mechanical devices 10A, 10B, the control devices 20A, 20B, and the program teaching support device 30 may be directly connected to each other via a connection interface (not shown).
  • the mechanical devices 10A, 10B, the control devices 20A, 20B, and the program teaching support device 30 may be interconnected via a network such as a LAN (Local Area Network).
  • the mechanical devices 10A and 10B, the control devices 20A and 20B, and the program teaching support device 30 may include a communication unit (not shown) for mutual communication through such connections.
  • Machine devices 10A and 10B are, for example, industrial machines such as machine tools and industrial robots.
  • the mechanical devices 10A and 10B are described as industrial robots (hereinafter also referred to as “robots 10A and 10B”).
  • robots 10A and 10B are collectively referred to as the "robot 10".
  • 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 the user teaching the robots 10A and 10B, and transmit the generated commands to the robots 10A and 10B. 10B. Thereby, the controllers 20A and 20B control the motions of the robots 10A and 10B, respectively. In addition, when it is not necessary to distinguish between the control devices 20A and 20B individually, they are collectively referred to as the "control device 20".
  • 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 according to the input from the user.
  • the program teaching support device 30 is connected to the control devices 20A and 20B, it may be connected to one or more control devices 20.
  • FIG. As shown in FIG. 1 , the program teaching support device 30 has a control section 31 , an input section 33 , a display section 35 and a storage section 37 .
  • the control unit 31 includes 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 changeability determination unit 316, a program correction unit 317, and a program output unit. A portion 318 is provided.
  • the input unit 33 is configured by an input device such as a keyboard or touch panel, and receives various inputs from the user.
  • the display unit 35 is a display device such as an LCD (Liquid Crystal Display). As will be described later, the display unit 35 arranges 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 as a block with a variable length of the operation time. 312 displays a screen arranged by instruction and/or in order of instruction.
  • LCD Liquid Crystal Display
  • the storage unit 37 is an SSD (Solid State Drive), HDD (Hard Disk Drive), or the like.
  • the storage unit 37 stores an operating system, application programs, and the like executed by the control unit 31, which will be 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 the operation time of the robot 10 for each program instruction obtained from the simulation of the program executed by the simulation execution unit 311 as a simulation result.
  • the control unit 31 has a CPU, a ROM, a RAM, a CMOS memory, etc., which are known to those skilled in the art and are configured to communicate with each other via a bus.
  • the CPU is a processor that controls the program teaching support device 30 as a whole.
  • the CPU reads the system program and the application program stored in the ROM through the bus, and controls the entire program teaching support device 30 according to the system program and the application program.
  • 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 availability determination unit 316, It is configured to realize the functions of the program correction unit 317 and the program output unit 318 .
  • Various data such as temporary calculation data and display data are stored in the RAM.
  • the CMOS memory is backed up by a battery (not shown) and configured as a non-volatile memory that retains the stored state even when the power of the program teaching support device 30 is turned off.
  • the program input unit 310 reads from the control device 20 a program (robot program) to be simulated by the simulation execution unit 311, which will be described later.
  • the simulation execution unit 311 executes a simulation of the program read by the program input unit 310, for example, using a known method.
  • the simulation execution unit 311 stores the operation time of the robot 10 for each instruction of the program obtained by the simulation in the time storage unit 371 for each robot 10 .
  • the arranging unit 312 for example, arranges blocks indicating the operation time of the robot 10 according to each instruction in the program instruction and/or in the order of the instruction based on the operation time stored in the time storage unit 371 along the time axis. Then, the placement unit 312 displays the 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 shows the motions according to the commands of the respective programs (robot programs) of the robots 10A and 10B, which are the simulation results of the simulation execution unit 311, with the horizontal axis as the time axis. Time is indicated by blocks arranged by the arrangement unit 312 .
  • the program (robot program) of the robot 10A has three instructions L1 to L3 (teaching positions P[1] to P[3]).
  • the operation time of the robot 10A is indicated by blocks A1 to A3 arranged along the time axis.
  • the program (robot program) of the robot 10B has two instructions L1 and L2 (teaching positions P[1] and P[2]).
  • Operation times are indicated by blocks B1 and B2 arranged along the time axis.
  • the time axis is not limited to being the horizontal axis.
  • it also includes the arrangement of the time axis in the vertical direction or any direction. In that case, the blocks are arranged along the direction of the time axis.
  • the change determination unit 313 determines, for example, whether or not the length of the block of the operation time of any one of the robots 10 displayed on the display unit 35 has been changed. For example, when the user wants the robot 10A to handle a work piece from the robot 10A to the robot 10B, the program (robot program) read by the program input unit 310, as shown in FIG. and the arrival time of the teaching position P[2] of the robot 10B. Therefore, for example, as shown in FIG. 3A, the user can display the arrival time of the teaching position P[3] of the robot 10A and the arrival time of the teaching position P[2] of the robot 10B on the screen displayed on the display unit 35.
  • the user uses the input unit 33 to extend the length of the block B2 of the robot 10B (operation time of the robot 10B for the command L2).
  • the user inputs an instruction to reduce the length of block A3 of robot 10A (operation time of robot 10A in command L3) on the screen displayed on display unit 35. You may make it input using the part 33.
  • the change determination unit 313 determines that the block length has been changed.
  • the user changes the block length by operating the touch panel of the input unit 33, but the user operates the keyboard of the input unit 33 or the like to change the value of the operation time. to change the length of the block.
  • the time calculation unit 314 calculates the operating 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 operation time of the robot 10B for 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 operation time of the robot 10A for the command L3 based on the length of the block A3 of the robot 10A reduced by the user, as shown in FIG. 3B.
  • the parameter calculation unit 315 calculates, for example, parameter values including at least either velocity or acceleration that satisfy the operation time of the robot 10 calculated by the time calculation unit 314 . Specifically, for example, as shown in FIG. 3A, the parameter calculation unit 315 calculates the movement speed that can be set for the robot 10B when the operation time (the length of the block B2) of the command L2 of the robot 10B is extended. (for example, 1 to 2000 mm/ms), the value of the speed at which the robot 10B reaches the teaching position P[2] in the extended operation time is calculated.
  • the parameter calculation unit 315 determines the range of acceleration that can be set for the robot 10B ( For example, 0 to 100 mm/ms/ms, etc.), the acceleration value at which the robot 10B reaches the teaching position P[2] during the extended operation time may be calculated.
  • the parameter calculator 315 calculates the velocity and acceleration values for the robot 10B to reach the teaching position P[2] in the extended operation time within the velocity and acceleration ranges that can be set for the robot 10B. may
  • the parameter calculation unit 315 determines the range of movement speeds that can be set for the robot 10A (for example, , 1 to 2000 mm/ms, etc.), the value of the speed at which the robot 10A reaches the teaching position P[3] in the reduced operation time is calculated. For example, when the robot 10A cannot reach the teaching position P[3] in the reduced operation time only by changing the speed, the parameter calculation unit 315 determines the range of acceleration that can be set for the robot 10A (for example, , 0 to 100 mm/ms/ms, etc.), and the acceleration value at which the robot 10A reaches the teaching position P[3] may be calculated in a reduced operation time. Alternatively, the parameter calculation unit 315 calculates the speed and acceleration values for the robot 10A to reach the teaching position P[3] in a reduced operation time within the speed and acceleration ranges that can be set for the robot 10A. good too.
  • the changeability determination unit 316 determines whether the blocks instructed by the user can be changed. It is determined whether the length of is changeable. Specifically, for example, if the parameter calculation unit 315 can calculate the velocity and/or acceleration values that satisfy the operation time of the robot 10 calculated by the time calculation unit 314, the changeability determination unit 316 receives an instruction from the user. It is determined that the length of the specified block can be changed. In this case, the change availability determination unit 316 may display a message such as “The specified operation time can be changed.” on the display unit 35 .
  • the changeability determination unit 316 changes the block specified by the user. Determine that the length cannot be changed. In this case, the change permission/inhibition determination unit 316 may display a message such as “The operation time cannot be changed to the specified one.” on the display unit 35 . Then, the changeability determination unit 316 determines the movement speed range (eg, 1 to 2000 mm/ms) and/or the acceleration range (eg, 0 to 100 mm/ms/ms) that can be set for the robot 10. A velocity and/or acceleration value that provides the closest operation time to the operation time calculated by the time calculation unit 314 may be calculated.
  • the movement speed range eg, 1 to 2000 mm/ms
  • the acceleration range eg, 0 to 100 mm/ms/ms
  • the changeability determination unit 316 may display (update) a block indicating the operation time of the robot 10 in the case of the calculated velocity and/or acceleration values on the display unit 35 .
  • FIG. 4 is a diagram showing an example of a block A3' indicating the operating time closest to the calculated operating time. In this case, it is preferable that the change possibility 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 one indicated by the block A3' indicated on the screen of FIG.
  • the program correction unit 317 uses the velocity and/or acceleration values calculated by the parameter calculation unit 315. to modify the program (robot program).
  • the program correction unit 317 corrects the program (robot program) using the velocity and/or acceleration values that give the closest operation time calculated by the changeability determination unit 316. .
  • the changeability determination unit 316 determines that the length of the block specified by the user cannot be changed, and an instruction to modify the operation time to the closest operation time calculated by the changeability determination unit 316 is not accepted from the user. If so, the program correction unit 317 does not correct the program (robot program).
  • the program output unit 318 outputs the program (robot program) to the control device 20 by the program correction unit 317, for example.
  • FIG. 5 is a flowchart for explaining the teaching support processing of the program teaching support device 30. As shown in FIG. The flow shown here is executed each time the program (robot program) is read.
  • step S ⁇ b>11 the simulation execution unit 311 executes a simulation of the program read from the control device 20 by the program input unit 310 .
  • step S ⁇ b>12 the simulation execution unit 311 stores the operation time of the robot 10 for each command of the program obtained by the simulation in the time storage unit 371 for each robot 10 .
  • step S13 the arrangement unit 312 arranges blocks indicating the operation time of the robot 10 for each instruction of the program and/or in the order of the instructions along the time axis based on the operation time stored in step S12.
  • step S14 the placement unit 312 displays the screen of the placed blocks on the display unit 35.
  • step S ⁇ b>15 the change determination unit 313 determines whether or not the length of any block displayed on the display unit 35 has been changed by the user via the input unit 33 . If the block length has been changed, the process proceeds to step S16. On the other hand, if the block length is not changed, the program teaching support device 30 ends the teaching support process.
  • step S16 the time calculation unit 314 calculates the operation time of the robot 10 according to the instruction of the block based on the length of the block changed in step S15.
  • step S17 the parameter calculation unit 315 calculates parameter values of velocity and/or acceleration that satisfy the operation time of the robot 10 calculated in step S16.
  • step S18 the change availability determination unit 316 determines whether or not the speed and/or acceleration values satisfying the operation time of the robot 10 calculated in step S16 were calculated in step S17. Determines whether the block length can be changed. If the value of the speed and/or acceleration that satisfies the operation time of the robot 10 calculated in step S16 can be calculated in step S17, the changeability determination unit 316 determines that the block length instructed in step S15 can be changed. judge. Then, the process proceeds to step S21. On the other hand, if the speed and/or acceleration values that satisfy the operation time of the robot 10 calculated in step S16 cannot be calculated in step S17, the change availability determination unit 316 determines that the length of the block instructed in step S15 is Determined as unchangeable. Then, the process proceeds to step S19.
  • step S ⁇ b>19 the changeability determination unit 316 determines the speed and/or acceleration that provides the closest motion time to the motion time calculated in step S ⁇ b>16 within the moving speed range and/or acceleration range that can be set for the robot 10 . Calculate the value of the parameter of
  • step S20 the changeability determination unit 316 displays (updates) on the display unit 35 blocks indicating the operation time of the robot 10 for the velocity and/or acceleration values calculated in step S19.
  • step S21 the program correction unit 317 corrects the program (robot program) using the velocity and/or acceleration values calculated in step S16. Note that when it is determined that the length of the block instructed in step S18 cannot be changed, and when an instruction to correct the operation time to the closest one calculated in step S19 is received from the user, the program correction unit 317 corrects the program (robot program) using the velocity and/or acceleration values that give the closest motion time calculated in step S19.
  • step S22 the program output unit 318 outputs the program (robot program) corrected in step S21 to the control device 20.
  • the program teaching support device 30 obtains the operation time of the robot 10 for each command by executing the program simulation, and divides the block indicating the operation time for each command into each command/command.
  • the program is arranged and displayed in order on the time axis, and when the block length is changed by the user, the values of the velocity and/or acceleration parameters are calculated so that the operation time corresponds to the changed block length. to fix. Thereby, even an inexperienced user can easily adjust the arrival time to the target position in the program using the program teaching support device 30 .
  • the user can easily understand the time ratio of each operation to the cycle time (total) of the program (robot program) by displaying a screen in which blocks indicating the operation time for each command are arranged on the time axis. .
  • the length (size) of each block is directly linked to the operation time, the user can intuitively modify the operation time and reduce the man-hours required for teaching the program (robot program).
  • program teaching support device 30 is not limited to the above-described embodiment, and includes modifications, improvements, etc. within a range that can achieve the purpose.
  • the program teaching support device 30 is a device different from the control device 20, but it is not limited to this.
  • the program teaching support device 30 may be included in the control device 20 .
  • 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 changeability determination unit 316, the program correction unit 317, and the program A part or all of the output unit 318 may be provided in a server, for example.
  • each function of the program teaching support device 30 may be realized using a virtual server function or the like on the cloud.
  • the program teaching support device 30 may be a distributed processing system in which each function of the program teaching support device 30 is appropriately distributed to a plurality of servers.
  • the parameter calculation unit 315 calculates the velocity and/or acceleration value that satisfies the operation time of the robot 10 calculated by the time calculation unit 314, but is not limited to this.
  • the parameter calculator 315 may calculate a velocity and/or acceleration value that satisfies the operation time of the robot 10 calculated by the time calculator 314 within a predetermined range. Therefore, the parameter calculation unit 315 may calculate the speed and/or acceleration that satisfy the operation time of the robot 10 closest to the user's request from the operation time of the robot 10 calculated by the time calculation unit 314 .
  • the parameter calculation unit 315 calculates the velocity and/or acceleration parameter values so that the operation time corresponds to the changed block length. was calculated, but is not limited to this.
  • the parameter calculation unit 315 calculates a parameter value such as an override value along with velocity and/or acceleration so that the operation time corresponds to the changed block length. You may make it If the control device 20 is a numerical control device that controls a machine tool or the like, the parameter calculation unit 315, when the block length is changed by the user, sets the operation time to the changed block length. Any parameter value such as velocity, acceleration, or jerk may be calculated.
  • the program teaching support device 30 when the block length is changed by the user, the program teaching support device 30 changes the velocity and/or acceleration parameters so that the operation time corresponds to the changed block length.
  • the value is calculated, but is not limited to this. For example, if there is no interfering object around the robot 10 and the motion trajectory of the robot 10 can be ignored, the program teaching support device 30 changes the robot motion format and the positioning format such as "click", "choke", and "enco". It may be treated as a parameter candidate that satisfies the operation time.
  • Each function included in the program teaching support device 30 of one embodiment 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
  • program teaching support device of the present disclosure can take various embodiments having the following configurations.
  • the program teaching support device 30 of the present disclosure displays the operation time of the robot 10 calculated for each command of the program and/or in the order of the commands by arranging blocks with variable lengths in the direction of the operation time. Prepare. According to this program teaching support device 30, even an inexperienced user can easily adjust the arrival time to the target position in the program.
  • the program input unit 310 for inputting the program, the simulation execution unit 311 for executing the simulation of the program, and the operation for each command based on the simulation result of the robot 10 A time storage unit 371 that stores time and an arrangement unit 312 that arranges blocks based on the operation time stored in the time storage unit 371 may be provided. By doing so, the user can easily determine which block's operation time should be adjusted.
  • the change determination unit 313 determines whether or not the block length has been changed, and the block length is changed based on the changed block length. and a time calculation unit 314 that calculates the operation time of the robot 10 according to the command corresponding to . By doing so, the program teaching support device 30 can easily calculate the operation time of the robot 10 according to the changed length of the block.
  • the parameter calculation unit 315 calculates a parameter value including at least one of velocity and 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 values calculated by the parameter calculation unit 315 .
  • 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. can.
  • the block may be provided with a changeability determination unit 316 that determines whether or not the length of is changeable. By doing so, the program teaching support device 30 can avoid outputting a program in which inappropriate parameter values are set to the control device 20 .
  • the program teaching support device 30 described in (5) if the changeability determination unit 316 cannot calculate the parameter value that satisfies the operation time of the industrial machine, the industrial machine calculated by the time calculation unit 314 A parameter value that is the closest operating time to the operating time of the industrial machine may be calculated, and a block indicating the operating time of the industrial machine in the case of the calculated parameter value may be displayed on the display unit 35 . By doing so, the program teaching support device 30 can reliably adjust the arrival time to the target position.

Abstract

不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できること。 プログラム教示支援装置は、プログラムの命令毎及び/又は命令順に算出される産業用機械の動作時間を、前記動作時間の方向の長さが可変のブロックを並べて表示する表示部を備える。

Description

プログラム教示支援装置
 本発明は、プログラム教示支援装置に関する。
 ロボットプログラムでは、まず目的の位置を指定し、その位置まで動作する命令を教示する。当該目的の位置まで到達できることを確認するとともに、その他にも到達時間を検討する必要がある。
 この点、シーケンス番号で識別される複数のブロックを含む加工プログラムを実行する工作機械の動作中の状態を変化量及び時間軸で示す状態情報と工作機械が実行している加工プログラムの所定のタイミングを示すタイミング情報とを取得し、取得した状態情報及びタイミング情報に基づいて時系列情報を生成し、タイミング情報によって示されるタイミングを揃えて、複数の時系列情報を重畳して表示する技術が知られている。例えば、特許文献1参照。
特開2019-13334号公報
 ロボットプログラムや加工プログラムの場合、目的の位置までの到達時間は命令の内容によって異なり、ユーザが意図する時間に到達するためには命令やパラメータを変更し、さらに実行するといった繰り返しが必要となる。熟練者は経験やノウハウを持つため大体の検討をつけてロボットを教示したり、工作機械の加工プログラムを修正したりすることができる。しかしながら、ロボットの教示や加工プログラムの編集に慣れていないユーザにとっては、どの値を変更したらよいのかが分からないため、ロボットの教示や加工プログラムの編集に時間が掛かってしまう。
 また、ロボットプログラムの教示修正を行う際に、プログラム全体に対して時間を軸とした表示が無く、時間を軸とした簡単なプログラムの修正方法も無い。
 そこで、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できることが望まれている。
 本開示のプログラム教示支援装置は、プログラムの命令毎及び/又は命令順に算出される産業用機械の動作時間を、前記動作時間の方向の長さが可変のブロックを並べて表示する表示部を備える。
 一態様によれば、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できる。
一実施形態に係る機械装置システムの機能的構成例を示す機能ブロック図である。 表示部に表示された画面の一例を示す図である。 図2の画面においてブロックの長さの変更の一例を示す図である。 図2の画面においてブロックの長さの変更の一例を示す図である。 算出された動作時間に最も近い動作時間を示すブロックの一例を示す図である。 プログラム教示支援装置の教示支援処理について説明するフローチャートである。
 以下、一実施形態について図面を用いて説明する。
<一実施形態>
 図1は、一実施形態に係る機械装置システムの機能的構成例を示す機能ブロック図である。図1に示すように、機械装置システム1は、2台の機械装置10A、10B、2台の制御装置20A、20B、及びプログラム教示支援装置30を有する。ここでは、ロボットとしての機械装置10A、10Bと、ロボット制御装置としての制御装置20A、20Bと、を例示する。なお、本発明は、機械装置10A、10Bとして、ロボットに限定されず、工作機械、搬送機、プレス機、射出成型機等の産業用機械に対しても適用可能である。また、本発明は、制御装置20A、10Bとして、ロボット制御装置に限定されず、工作機械等を制御する数値制御装置に対しても適用可能である。
 機械装置10A、10Bと制御装置20A、20Bとプログラム教示支援装置30とは、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、機械装置10A、10Bと制御装置20A、20Bとプログラム教示支援装置30とは、LAN(Local Area Network)等のネットワークを介して相互に接続されていてもよい。この場合、機械装置10A、10B、制御装置20A、20B、及びプログラム教示支援装置30は、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
<機械装置10A、10B>
 機械装置10A、10Bは、例えば、工作機械や産業用ロボット等の産業用機械である。なお、以下では、機械装置10A、10Bは、産業用ロボット(以下、「ロボット10A、10B」ともいう)として説明する。
 また、ロボット10A、10Bのそれぞれを個々に区別する必要がない場合、これらをまとめて「ロボット10」ともいう。
<制御装置20A、20B>
 制御装置20A、20Bは、当業者にとって公知のロボット制御装置であり、ユーザによりロボット10A、10Bそれぞれを教示することにより生成されたロボットプログラムに基づいて指令を生成し、生成した指令をロボット10A、10Bに送信する。これにより、制御装置20A、20Bは、ロボット10A、10Bそれぞれの動作を制御する。
 なお、制御装置20A、20Bのそれぞれを個々に区別する必要がない場合、これらをまとめて「制御装置20」ともいう。
<プログラム教示支援装置30>
 プログラム教示支援装置30は、コンピュータ等であり、ユーザからの入力に応じてロボット10の動作時間を調整するために、プログラムを制御装置20から取得し、取得したプログラムを修正する。
 なお、プログラム教示支援装置30は、制御装置20A、20Bと接続されるが、1又は3以上の制御装置20と接続されてもよい。
 図1に示すように、プログラム教示支援装置30は、制御部31、入力部33、表示部35、及び記憶部37を有する。そして、制御部31は、プログラム入力部310、シミュレーション実行部311、配置部312、変更判定部313、時間算出部314、パラメータ算出部315、変更可否判定部316、プログラム修正部317、及びプログラム出力部318を有する。
 入力部33は、キーボード又はタッチパネル等の入力装置によって構成され、ユーザからの各種入力を受け付ける。
 表示部35は、LCD(Liquid Crystal Display)等の表示装置である。表示部35は、後述するように、シミュレーション実行部311により実行されたプログラムのシミュレーションから求められたプログラムの命令毎のロボット10の動作時間を、当該動作時間の長さが可変のブロックとして配置部312により命令毎及び/又は命令順に並べて配置された画面を表示する。
 記憶部37は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等である。記憶部37には、後述する制御部31が実行するオペレーティングシステム及びアプリケーションプログラム等が記憶される。また、記憶部37には、制御装置20から取得されたプログラム(ロボットプログラム)が記憶される。また、記憶部37は、時間記憶部371を有する。
 時間記憶部371には、後述するように、シミュレーション実行部311により実行されたプログラムのシミュレーションから求められたプログラムの命令毎のロボット10の動作時間を、シミュレーション結果として記憶される。
<制御部31>
 制御部31は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
 CPUはプログラム教示支援装置30を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、システムプログラム及びアプリケーションプログラムに従ってプログラム教示支援装置30全体を制御する。これにより、図1に示すように、制御部31は、プログラム入力部310、シミュレーション実行部311、配置部312、変更判定部313、時間算出部314、パラメータ算出部315、変更可否判定部316、プログラム修正部317、及びプログラム出力部318の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。CMOSメモリは図示しないバッテリでバックアップされ、プログラム教示支援装置30の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
 プログラム入力部310は、後述するシミュレーション実行部311によりシミュレーションされるプログラム(ロボットプログラム)を制御装置20から読み込む。
 シミュレーション実行部311は、例えば、公知の手法を用いて、プログラム入力部310により読み込まれたプログラムのシミュレーションを実行する。シミュレーション実行部311は、シミュレーションにより求められたプログラムの命令毎のロボット10の動作時間を、時間記憶部371にロボット10毎に記憶する。
 配置部312は、例えば、時間記憶部371に記憶された動作時間に基づいてプログラムの命令毎及び/又は命令順に各命令によるロボット10の動作時間を示すブロックを時間軸に沿って配置する。そして、配置部312は、配置したブロックの画面を表示部35に表示する。
 図2は、表示部35に表示された画面の一例を示す図である。
 図2に示すように、表示部35に表示された画面は、横軸を時間軸にして、シミュレーション実行部311のシミュレーション結果であるロボット10A、10Bそれぞれのプログラム(ロボットプログラム)の各命令による動作時間を、配置部312により配置されたブロックで示す。具体的には、ロボット10Aのプログラム(ロボットプログラム)は、3つの命令L1~L3(教示位置P[1]~P[3])を有し、図2の画面では、命令L1~L3それぞれのロボット10Aの動作時間が時間軸に沿って配置されたブロックA1~A3で示される。また、ロボット10Bのプログラム(ロボットプログラム)は、2つの命令L1、L2(教示位置P[1]、P[2])を有し、図2の画面では、命令L1、L2それぞれのロボット10Bの動作時間が時間軸に沿って配置されたブロックB1、B2で示される。
 なお、時間軸は、横軸であることに限定されない。例えば、縦方向や任意の方向に時間軸が配置されることも含む。その場合、ブロックは時間軸の方向に沿って配置される。
 変更判定部313は、例えば、表示部35に表示されたいずれかのロボット10の動作時間のブロックの長さが変更されたか否かを判定する。
 例えば、ユーザがロボット10Aからロボット10Bへワークをハンドリングさせたい場合、プログラム入力部310が読み込んだプログラム(ロボットプログラム)では、図2に示すように、ロボット10Aの教示位置P[3]の到達時刻とロボット10Bの教示位置P[2]の到達時刻とにずれがある。
 そこで、ユーザは、例えば、図3Aに示すように、表示部35に表示された画面上において、ロボット10Aの教示位置P[3]の到達時刻とロボット10Bの教示位置P[2]の到達時刻とを一致させるように、ロボット10BのブロックB2の長さ(命令L2のロボット10Bの動作時間)を延ばす指示を、入力部33を用いて入力する。あるいは、ユーザは、例えば、図3Bに示すように、表示部35に表示された画面上において、ロボット10AのブロックA3の長さ(命令L3のロボット10Aの動作時間)を縮小する指示を、入力部33を用いて入力するようにしてもよい。
 この場合、変更判定部313は、ブロックの長さが変更されたと判定する。
 なお、図3A及び図3Bでは、ユーザが入力部33のタッチパネルを操作することによりブロックの長さを変更しているが、ユーザが入力部33のキーボード等を操作して動作時間の値を変更することでブロックの長さを変更してもよい。
 時間算出部314は、変更されたブロックの長さに基づいて当該ブロックに対応する命令によるロボット10の動作時間を算出する。
 具体的には、時間算出部314は、図3Aに示すように、ユーザにより延ばされたロボット10BのブロックB2の長さに基づいて命令L2に対するロボット10Bの動作時間を算出する。あるいは、時間算出部314は、図3Bに示すように、ユーザにより縮小されたロボット10AのブロックA3の長さに基づいて命令L3に対するロボット10Aの動作時間を算出する。
 パラメータ算出部315は、例えば、時間算出部314により算出されたロボット10の動作時間を満たす少なくとも速度又は加速度のいずれかを含むパラメータの値を算出する。
 具体的には、パラメータ算出部315は、例えば、図3Aに示すように、ロボット10Bの命令L2の動作時間(ブロックB2の長さ)が延ばされた場合、ロボット10Bに設定可能な移動速度の範囲(例えば、1~2000mm/ms等)で、延ばされた動作時間でロボット10Bが教示位置P[2]に到達する速度の値を算出する。なお、パラメータ算出部315は、例えば、速度を変えただけではロボット10Bが延ばされた動作時間で教示位置P[2]に到達することができない場合、ロボット10Bに設定可能な加速度の範囲(例えば、0~100mm/ms/ms等)で、延ばされた動作時間でロボット10Bが教示位置P[2]に到達する加速度の値を算出するようにしてもよい。あるいは、パラメータ算出部315は、ロボット10Bに設定可能な速度及び加速度の範囲で、延ばされた動作時間でロボット10Bが教示位置P[2]に到達する速度及び加速度の値を算出するようにしてもよい。
 また、パラメータ算出部315は、例えば、図3Bに示すように、ロボット10Aの命令L3の動作時間(ブロックA3の長さ)が縮小された場合、ロボット10Aに設定可能な移動速度の範囲(例えば、1~2000mm/ms等)で、縮小された動作時間でロボット10Aが教示位置P[3]に到達する速度の値を算出する。なお、パラメータ算出部315は、例えば、速度を変えただけではロボット10Aが縮小された動作時間で教示位置P[3]に到達することができない場合、ロボット10Aに設定可能な加速度の範囲(例えば、0~100mm/ms/ms等)で、縮小された動作時間でロボット10Aが教示位置P[3]に到達する加速度の値を算出するようにしてもよい。あるいは、パラメータ算出部315は、ロボット10Aに設定可能な速度及び加速度の範囲で、縮小された動作時間でロボット10Aが教示位置P[3]に到達する速度及び加速度の値を算出するようにしてもよい。
 変更可否判定部316は、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がパラメータ算出部315により算出できたか否かに基づいて、ユーザにより指示されたブロックの長さが変更可能か否かを判定する。
 具体的には、変更可否判定部316は、例えば、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がパラメータ算出部315により算出できた場合、ユーザにより指示されたブロックの長さが変更可能と判定する。この場合、変更可否判定部316は、「指定した動作時間への変更が可能です。」等のメッセージを表示部35に表示してもよい。
 一方、変更可否判定部316は、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がパラメータ算出部315により算出できなかった場合、ユーザにより指示されたブロックの長さが変更不可と判定する。この場合、変更可否判定部316は、「指定した動作時間への変更ができません。」等のメッセージを表示部35に表示してもよい。そして、変更可否判定部316は、ロボット10に設定可能な移動速度の範囲(例えば、1~2000mm/ms等)及び/又は加速度の範囲(例えば、0~100mm/ms/ms等)内で、時間算出部314により算出された動作時間に最も近い動作時間となる速度及び/又は加速度の値を算出するようにしてもよい。変更可否判定部316は、算出した速度及び/又は加速度の値の場合のロボット10の動作時間を示すブロックを表示部35に表示(更新)してもよい。
 図4は、算出された動作時間に最も近い動作時間を示すブロックA3´の一例を示す図である。
 この場合、変更可否判定部316は、図4の画面が示すブロックA3´が示す最も近い動作時間に修正するか否かの指示を、入力部33を介してユーザから受け付けることが好ましい。
 プログラム修正部317は、例えば、変更可否判定部316によりユーザから指示されたブロックの長さに変更可能と判定された場合、パラメータ算出部315によって算出された速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。
 一方、変更可否判定部316によりユーザから指示されたブロックの長さに変更不可と判定された場合で、かつ、図4に示すように、変更可否判定部316が算出した最も近い動作時間に修正する指示をユーザから受け付けた場合に、プログラム修正部317は、変更可否判定部316により算出された最も近い動作時間となる速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。
 なお、変更可否判定部316によりユーザから指示されたブロックの長さに変更不可と判定された場合で、かつ、変更可否判定部316が算出した最も近い動作時間に修正する指示をユーザから受け付けなかった場合、プログラム修正部317は、プログラム(ロボットプログラム)を修正しない。
 プログラム出力部318は、例えば、プログラム修正部317によりプログラム(ロボットプログラム)を制御装置20に出力する。
<プログラム教示支援装置30の教示支援処理>
 次に、図5を参照しながら、プログラム教示支援装置30の教示支援処理の流れを説明する。
 図5は、プログラム教示支援装置30の教示支援処理について説明するフローチャートである。ここで示すフローは、プログラム(ロボットプログラム)が読み込まれる度に実行される。
 ステップS11において、シミュレーション実行部311は、プログラム入力部310により制御装置20から読み込まれたプログラムのシミュレーションを実行する。
 ステップS12において、シミュレーション実行部311は、シミュレーションにより求められたプログラムの命令毎のロボット10の動作時間を、時間記憶部371にロボット10毎に記憶する。
 ステップS13において、配置部312は、ステップS12で記憶された動作時間を基にプログラムの命令毎及び/又は命令順にロボット10の動作時間を示すブロックを時間軸に沿って配置する。
 ステップS14において、配置部312は、配置したブロックの画面を表示部35に表示する。
 ステップS15において、変更判定部313は、表示部35に表示されたいずれかのブロックの長さが入力部33を介してユーザにより変更されたか否かを判定する。ブロックの長さが変更された場合、処理はステップS16に進む。一方、ブロックの長さが変更されなかった場合、プログラム教示支援装置30は教示支援処理を終了する。
 ステップS16において、時間算出部314は、ステップS15で変更されたブロックの長さに基づいて当該ブロックの命令によるロボット10の動作時間を算出する。
 ステップS17において、パラメータ算出部315は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度のパラメータの値を算出する。
 ステップS18において、変更可否判定部316は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がステップS17で算出できたか否かに基づいて、ステップS15で指示されたブロックの長さが変更可能か否かを判定する。変更可否判定部316は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がステップS17で算出できた場合、ステップS15で指示されたブロックの長さが変更可能と判定する。そして、処理はステップS21に進む。
 一方、変更可否判定部316は、ステップS16で算出されたロボット10の動作時間を満たす速度及び/又は加速度の値がステップS17で算出できなかった場合、ステップS15で指示されたブロックの長さが変更不可と判定する。そして、処理はステップS19に進む。
 ステップS19において、変更可否判定部316は、ロボット10に設定可能な移動速度の範囲及び/又は加速度の範囲内で、ステップS16で算出された動作時間に最も近い動作時間となる速度及び/又は加速度のパラメータの値を算出する。
 ステップS20において、変更可否判定部316は、ステップS19で算出した速度及び/又は加速度の値の場合のロボット10の動作時間を示すブロックを表示部35に表示(更新)する。
 ステップS21において、プログラム修正部317は、ステップS16で算出された速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。なお、ステップS18で指示されたブロックの長さに変更不可と判定された場合で、かつ、ステップS19で算出された最も近い動作時間に修正する指示をユーザから受け付けた場合に、プログラム修正部317は、ステップS19で算出された最も近い動作時間となる速度及び/又は加速度の値を使用してプログラム(ロボットプログラム)を修正する。
 ステップS22において、プログラム出力部318は、ステップS21で修正されたプログラム(ロボットプログラム)を制御装置20に出力する。
 以上により、一実施形態に係るプログラム教示支援装置30は、プログラムのシミュレーションを実行することで、命令毎のロボット10の動作時間を求め、求めた命令毎の動作時間を示すブロックを命令毎/命令順に時間軸上に配置して表示し、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度のパラメータの値を算出しプログラムを修正する。これにより、プログラム教示支援装置30は、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できる。
 また、ユーザは、時間軸上に命令毎の動作時間を示すブロックを配置した画面が表示されることにより、プログラム(ロボットプログラム)のサイクルタイム(全体)に対する各動作が占める時間割合が分かり易くなる。
 また、ユーザは、各ブロックの長さ(サイズ)が動作時間に直結しているため、直感的に動作時間の修正が可能となり、プログラム(ロボットプログラム)の教示工数を削減することができる。
 以上、一実施形態について説明したが、プログラム教示支援装置30は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
 一実施形態では、プログラム教示支援装置30は、制御装置20と異なる装置としたが、これに限定されない。例えば、プログラム教示支援装置30は、制御装置20に含まれてもよい。
 あるいは、プログラム教示支援装置30のプログラム入力部310、シミュレーション実行部311、配置部312、変更判定部313、時間算出部314、パラメータ算出部315、変更可否判定部316、プログラム修正部317、及びプログラム出力部318の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、プログラム教示支援装置30の各機能を実現してもよい。
 さらに、プログラム教示支援装置30は、プログラム教示支援装置30の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
<変形例2>
 また例えば、パラメータ算出部315は、時間算出部314により算出されたロボット10の動作時間を満たす速度及び/又は加速度の値を算出したが、これに限定されない。
 例えば、パラメータ算出部315は、時間算出部314により算出されたロボット10の動作時間を所定の範囲内で満たす速度及び/又は加速度の値を算出するようにしてもよい。そこで、パラメータ算出部315は、時間算出部314により算出されたロボット10の動作時間のうち、最もユーザの要求に近いロボット10の動作時間を満たす速度及び/又は加速度を算出してもよい。
<変形例3>
 また例えば、上述の実施形態では、パラメータ算出部315は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度のパラメータの値を算出したが、これに限定されない。例えば、パラメータ算出部315は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度とともに、オーバライド値等のパラメータの値を算出するようにしてもよい。
 また、制御装置20が工作機械等を制御する数値制御装置の場合、パラメータ算出部315は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度、加速度、又は加加速度等のいずれかのパラメータの値を算出するようにしてもよい。
<変形例4>
 また例えば、上述の実施形態では、プログラム教示支援装置30は、ユーザによりブロックの長さが変更された場合、変更されたブロックの長さの動作時間となるように速度及び/又は加速度のパラメータの値を算出したが、これに限定されない。
 例えば、プログラム教示支援装置30は、干渉物がロボット10の周りに無くロボット10の動作軌跡を無視できる場合、「カクジク」、「チョクセン」、「エンコ」等のロボット動作形式と位置決め形式も変更された動作時間を満たすパラメータ候補として扱うようにしてもよい。
 なお、一実施形態のプログラム教示支援装置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は、プログラムの命令毎及び/又は命令順に算出されるロボット10の動作時間を、動作時間の方向の長さが可変のブロックを並べて表示する表示部35を備える。
 このプログラム教示支援装置30によれば、不慣れなユーザであっても、プログラムにおいて目的の位置までの到達時間を容易に調整できる。
 (2) (1)に記載のプログラム教示支援装置30において、プログラムを入力するプログラム入力部310と、プログラムのシミュレーションを実行するシミュレーション実行部311と、ロボット10のシミュレーション結果に基づいて命令毎の動作時間を記憶する時間記憶部371と、時間記憶部371に記憶された動作時間に基づいてブロックを配置する配置部312と、を備えてもよい。
 そうすることで、ユーザは、どのブロックの動作時間を調整すべきかを容易に判断することができる。
 (3) (1)又は(2)に記載のプログラム教示支援装置30において、ブロックの長さが変更されたか否かを判定する変更判定部313と、変更されたブロックの長さに基づいてブロックに対応する命令によるロボット10の動作時間を算出する時間算出部314と、を備えてもよい。
 そうすることで、プログラム教示支援装置30は、変更されたブロックの長さに応じたロボット10の動作時間を容易に算出することができる。
 (4) (3)に記載のプログラム教示支援装置30において、時間算出部314により算出されたロボット10の動作時間を満たす少なくとも速度又は加速度のいずれかを含むパラメータの値を算出するパラメータ算出部315と、パラメータ算出部315によって算出されたパラメータの値を使用してプログラムを修正するプログラム修正部317と、を備えてもよい。
 そうすることで、プログラム教示支援装置30は、ユーザによりブロックの長さが変更されるだけで、変更されたブロックの長さに対応したロボット10の動作時間となるようにプログラムを修正することができる。
 (5) (4)に記載のプログラム教示支援装置30において、時間算出部314により算出されたロボット10の動作時間を満たすパラメータの値がパラメータ算出部315により算出できたか否かに基づいて、ブロックの長さが変更可能か否かを判定する変更可否判定部316を備えてもよい。
 そうすることで、プログラム教示支援装置30は、不適切なパラメータの値が設定されたプログラムを制御装置20に出力することを回避することができる。
 (6) (5)に記載のプログラム教示支援装置30において、変更可否判定部316は、産業用機械の動作時間を満たすパラメータの値を算出できなかった場合、時間算出部314により算出された産業用機械の動作時間に最も近い動作時間となるパラメータの値を算出し、算出したパラメータの値の場合の産業用機械の動作時間を示すブロックを表示部35に表示してもよい。
 そうすることで、プログラム教示支援装置30は、目的の位置までの到達時間を確実に調整することができる。
 1 機械装置システム
 10A、10B ロボット
 20A、20B 制御装置
 30 プログラム教示支援装置
 31 制御部
 310 プログラム入力部
 311 シミュレーション実行部
 312 配置部
 313 変更判定部
 314 時間算出部
 315 パラメータ算出部
 316 変更可否判定部
 317 プログラム修正部
 318 プログラム出力部
 33 入力部
 35 表示部
 37 記憶部
 371 時間記憶部

Claims (6)

  1.  プログラムの命令毎及び/又は命令順に算出される産業用機械の動作時間を、前記動作時間の長さが可変のブロックを並べて表示する表示部
     を備えるプログラム教示支援装置。
  2.  前記プログラムを入力するプログラム入力部と、
     前記プログラムのシミュレーションを実行するシミュレーション実行部と、
     前記産業用機械のシミュレーション結果に基づいて前記命令毎の前記動作時間を記憶する時間記憶部と、
     前記時間記憶部に記憶された前記動作時間に基づいて前記ブロックを配置する配置部と、を備える請求項1に記載のプログラム教示支援装置。
  3.  前記ブロックの長さが変更されたか否かを判定する変更判定部と、
     変更された前記ブロックの長さに基づいて前記ブロックに対応する命令による前記産業用機械の動作時間を算出する時間算出部と、を備える請求項1又は請求項2に記載のプログラム教示支援装置。
  4.  前記時間算出部により算出された前記産業用機械の動作時間を満たす少なくとも速度又は加速度のいずれかを含むパラメータの値を算出するパラメータ算出部と、
     前記パラメータ算出部によって算出された前記パラメータの値を使用して前記プログラムを修正するプログラム修正部と、を備える請求項3に記載のプログラム教示支援装置。
  5.  前記時間算出部により算出された前記産業用機械の動作時間を満たす前記パラメータの値が前記パラメータ算出部により算出できたか否かに基づいて、前記ブロックの長さが変更可能か否かを判定する変更可否判定部を備える請求項4に記載のプログラム教示支援装置。
  6.  前記変更可否判定部は、前記産業用機械の動作時間を満たす前記パラメータの値を算出できなかった場合、前記時間算出部により算出された前記産業用機械の動作時間に最も近い動作時間となる前記パラメータの値を算出し、算出した前記パラメータの値の場合の前記産業用機械の動作時間を示すブロックを前記表示部に表示する、請求項5に記載のプログラム教示支援装置。
PCT/JP2021/046948 2021-12-20 2021-12-20 プログラム教示支援装置 WO2023119348A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/046948 WO2023119348A1 (ja) 2021-12-20 2021-12-20 プログラム教示支援装置
TW111145023A TW202331439A (zh) 2021-12-20 2022-11-24 程式教示支援裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/046948 WO2023119348A1 (ja) 2021-12-20 2021-12-20 プログラム教示支援装置

Publications (1)

Publication Number Publication Date
WO2023119348A1 true WO2023119348A1 (ja) 2023-06-29

Family

ID=86901539

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/046948 WO2023119348A1 (ja) 2021-12-20 2021-12-20 プログラム教示支援装置

Country Status (2)

Country Link
TW (1) TW202331439A (ja)
WO (1) WO2023119348A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070181A (ja) * 2007-09-13 2009-04-02 Yaskawa Electric Corp 動作プログラム作成支援システム
JP2016221659A (ja) * 2015-06-03 2016-12-28 キヤノン株式会社 ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法
WO2019064916A1 (ja) * 2017-09-26 2019-04-04 日本電産株式会社 ロボットシミュレータ
JP2020032456A (ja) * 2018-08-31 2020-03-05 ファナック株式会社 レーザ加工のための教示装置
JP2020168666A (ja) * 2019-04-01 2020-10-15 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009070181A (ja) * 2007-09-13 2009-04-02 Yaskawa Electric Corp 動作プログラム作成支援システム
JP2016221659A (ja) * 2015-06-03 2016-12-28 キヤノン株式会社 ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法
WO2019064916A1 (ja) * 2017-09-26 2019-04-04 日本電産株式会社 ロボットシミュレータ
JP2020032456A (ja) * 2018-08-31 2020-03-05 ファナック株式会社 レーザ加工のための教示装置
JP2020168666A (ja) * 2019-04-01 2020-10-15 株式会社安川電機 プログラミング支援装置、ロボットシステム及びプログラミング支援方法

Also Published As

Publication number Publication date
TW202331439A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
JP6676286B2 (ja) 情報処理方法、および情報処理装置
US11007646B2 (en) Programming assistance apparatus, robot system, and method for generating program
CN1903523B (zh) 机器人程序评价、修正方法及机器人程序评价、修正装置
JP4137909B2 (ja) ロボットプログラム補正装置
WO2018194965A1 (en) Mixed reality assisted spatial programming of robotic systems
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
JP2020128009A (ja) ロボットを制御する方法
JP6006277B2 (ja) 産業用ロボットのプログラム修正装置及びプログラム修正方法
JP6880853B2 (ja) 処理装置、パラメータ調整方法、及びパラメータ調整プログラム
CN110682288B (zh) 机器人程序生成装置
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP6548830B2 (ja) 指令値生成装置
JP6464204B2 (ja) オフラインプログラミング装置及び位置パラメータ補正方法
JP2015176340A (ja) プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法
US10507585B2 (en) Robot system that displays speed
JP2015231640A (ja) ロボット動作経路チェック装置、ロボットシステム、ロボット動作経路チェック方法、プログラム及び記録媒体
JP2015098076A (ja) ロボットプログラム作成方法、ロボットプログラム作成装置、プログラム及び記録媒体
JP2019057253A (ja) 制御装置、制御方法およびサポート装置
WO2023119348A1 (ja) プログラム教示支援装置
JP2017102693A (ja) 制御装置および制御方法、制御装置を用いたコンピュータプログラム
JP2019081204A (ja) ロボット制御方法、制御端末、およびロボットシステム
JP2007136671A (ja) ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP2022066906A5 (ja)
JP6219866B2 (ja) 表示機能付き数値制御装置および表示プログラム
JP2003300185A (ja) ロボットコントローラシミュレーション装置

Legal Events

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

Ref document number: 21968786

Country of ref document: EP

Kind code of ref document: A1