WO2023073883A1 - 補助ファイルを生成するシミュレーション装置および制御システム - Google Patents

補助ファイルを生成するシミュレーション装置および制御システム Download PDF

Info

Publication number
WO2023073883A1
WO2023073883A1 PCT/JP2021/039885 JP2021039885W WO2023073883A1 WO 2023073883 A1 WO2023073883 A1 WO 2023073883A1 JP 2021039885 W JP2021039885 W JP 2021039885W WO 2023073883 A1 WO2023073883 A1 WO 2023073883A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
program
file
simulation
plc
Prior art date
Application number
PCT/JP2021/039885
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/039885 priority Critical patent/WO2023073883A1/ja
Priority to TW111137240A priority patent/TW202333917A/zh
Publication of WO2023073883A1 publication Critical patent/WO2023073883A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Definitions

  • the present invention relates to a simulation device and control system that generate auxiliary files.
  • a programmable logic controller is known as a device for setting the order of operating a plurality of drivers (for example, Japanese Patent No. 6914452).
  • the PLC can control the sequence of operations such as driving the drivers, emitting signals, and receiving signals from sensors.
  • the programmable logic controller is driven based on, for example, a PLC program called a ladder diagram written in ladder language.
  • a robot device equipped with a robot and work tools is controlled by a robot program written in a robot language.
  • a function of controlling a robot device with a PLC program is known.
  • the PLCopen (registered trademark) standard which aims to improve the efficiency of PLC development, controls the position and posture of a robot using a PLC program. With this function, even an operator unfamiliar with the robot language can operate the robot by using the functions of the PLC program.
  • a first aspect of the present disclosure is a simulation device that includes a simulation execution unit that simulates the motion of the robot based on the operating conditions of the robot.
  • the simulation device includes a motion information acquisition unit that acquires motion information of the robot based on the result of the simulation performed by the simulation execution unit.
  • the simulation device includes an auxiliary file generator that generates a plurality of auxiliary files for generating a program written in a language that can be read and executed by the programmable logic controller, based on robot motion information.
  • a second aspect of the present disclosure is a control system comprising the aforementioned simulation device and a programmable logic controller.
  • the programmable logic controller includes a program generator that generates a program written in a language that drives the programmable logic controller based on a plurality of auxiliary files.
  • a simulation device that generates a plurality of auxiliary files for generating a PLC program and a control system that includes the simulation device.
  • FIG. 1 is a schematic diagram of a robot device according to an embodiment;
  • FIG. 1 is a block diagram of a control system in an embodiment;
  • FIG. 1 is a block diagram of a simulation device in an embodiment;
  • FIG. It is an image displayed on the display unit of the simulation device.
  • It is a program file generated by the simulation device.
  • This is a variable file generated by the simulation device.
  • This is the first FB file generated by the simulation device.
  • This is the second FB file generated by the simulation device.
  • It is a block diagram of PLC in an embodiment.
  • a PLC program generated by a PLC. 1 is a block diagram of a robot control device according to an embodiment;
  • FIG. A simulation apparatus generates a plurality of auxiliary files for generating a PLC program for operating a programmable logic controller (hereinafter referred to as "PLC").
  • PLC programmable logic controller
  • the control system uses multiple auxiliary files to generate the PLC program.
  • FIG. 1 is a schematic diagram of a robot device that performs a simulation with a simulation device according to this embodiment.
  • the robot device 5 of the present embodiment carries out the work of transporting the workpiece 91 .
  • the robot device 5 includes a hand 2 as a work tool and a robot 1 that moves the hand 2 .
  • the robot device 5 includes a robot control device 40 that controls the robot 1 and the hand 2 .
  • the robot 1 of this embodiment is an articulated robot including a plurality of joints.
  • the robot 1 of this embodiment includes a base portion 14 and a swivel base 13 that rotates with respect to the base portion 14 .
  • Robot 1 includes upper arm 11 and lower arm 12 .
  • the lower arm 12 is rotatably supported by the swivel base 13 .
  • the upper arm 11 is rotatably supported by the lower arm 12 .
  • the robot 1 includes a wrist portion 15 rotatably supported by the upper arm 11 .
  • the hand 2 is fixed to the flange 16 of the wrist portion 15 . Additionally, the upper arm 11 and flange 16 rotate about a predetermined drive axis.
  • the robot of this embodiment has six drive axes, it is not limited to this form. A robot that changes its position and orientation with any mechanism can be employed.
  • the work tool of the present embodiment is a hand having two claws, it is not limited to this form. Any device suitable for the work performed by the robot device can be adopted as the work tool.
  • a robot coordinate system 81 is set in the robot device 5 of the present embodiment.
  • the robot coordinate system 81 is also called the world coordinate system.
  • the robot coordinate system 81 is a coordinate system in which the position of the origin is fixed and the directions of the coordinate axes are fixed. Even if the robot 1 is driven, the position and orientation of the origin of the robot coordinate system 81 do not change.
  • the robot device 5 is set with a tool coordinate system 82 having an origin set at an arbitrary position on the work tool.
  • the origin of the tool coordinate system 82 is set at the tip point of the tool.
  • the tool coordinate system changes position and orientation with the work tool.
  • the position of the robot 1 corresponds to the position of the origin of the tool coordinate system 82 in the robot coordinate system 81 .
  • the posture of the robot 1 corresponds to the orientation of the tool coordinate system 82 with respect to the robot coordinate system 81 .
  • FIG. 2 shows a schematic diagram of a control system that controls the robot of this embodiment.
  • the control system 9 of this embodiment includes a simulation device 20 that simulates the motion of the robot device 5 , a PLC 30 , and a robot controller 40 of the robot device 5 .
  • the simulation device 20 simulates the motion of the robot device 5 .
  • an image 65 displayed on the display section of the simulation device 20 is shown.
  • An image 65 shows a motion path 66 of the robot 1 generated by the simulation device 20 .
  • the simulation device 20 generates the motion path 66 of the robot 1 based on motion conditions such as the positions of the teaching points 83a, 83b, and 83c.
  • the simulation device 20 of the present embodiment generates the auxiliary file group 70 based on the simulation results including the motion path 66 of the robot 1.
  • Auxiliary file group 70 includes a plurality of auxiliary files for generating PLC program 76 .
  • the plurality of auxiliary files include a program file 71 describing functions indicating the motion of the robot 1 and a variable file 72 describing definitions of variables used in the PLC program 76 .
  • the plurality of auxiliary files include function block files 73 to 75 in which contents of robot motion (definition of motion commands) corresponding to functions indicating robot motion described in program file 71 are described.
  • a function block file is called an FB file.
  • the PLC 30 acquires the auxiliary file group 70. Based on the auxiliary file, the PLC 30 generates a PLC program 76 as a program written in a PLC driving language.
  • the PLC program is written in a language that can be read and executed by the PLC.
  • the PLC program 76 of this embodiment is written in the ST (Structured Text) language among the languages that the PLC 30 can read.
  • the PLC 30 of the present embodiment can perform control to drive the robot device 5 for each function FRC corresponding to one command statement written in the PLC program 76.
  • the PLC 30 executes the PLC program 76 together with the FB files 73 to 75 and transmits control signals related to command statements included in the PLC program 76 to the robot controller 40 .
  • the robot control device 40 Based on the control signal from the PLC 30 , the robot control device 40 generates a command sentence written in a robot language to drive the robot device 5 .
  • the robot control device 40 can drive the robot device based on command sentences in the robot language.
  • FIG. 3 shows a block diagram of the simulation device according to this embodiment.
  • the simulation device 20 of this embodiment is an offline simulation device formed to simulate the motion of the robot device 5 .
  • the simulation device 20 of the present embodiment arranges the three-dimensional model of the robot 1, the three-dimensional model of the hand 2, and the three-dimensional model of the workpiece 91 in the same virtual space, and simulates the motion of the robot device 5. do.
  • the simulation device 20 includes an arithmetic processing unit (computer) including a CPU (Central Processing Unit) as a processor.
  • the arithmetic processing device of this embodiment is configured by a personal computer.
  • the arithmetic processing unit has a RAM (Random Access Memory), a ROM (Read Only Memory), etc., which are connected to the CPU via a bus.
  • the simulation device 20 includes a storage unit 23 that stores arbitrary information regarding simulation of the robot device 5 .
  • the storage unit 23 can be configured by a non-temporary storage medium capable of storing information.
  • the storage unit 23 can be configured with a storage medium such as a volatile memory, a nonvolatile memory, a magnetic storage medium, or an optical storage medium.
  • a program for simulating the robot apparatus is stored in the storage unit 23 .
  • Three-dimensional shape data 61 of the robot 1, the hand 2, and the workpiece 91 are input to the simulation device 20.
  • the three-dimensional shape data 61 includes robots, work tools, peripheral devices, and workpiece data for simulating the robot device 5 .
  • As the three-dimensional shape data 61 for example, data output from a CAD (Computer Aided Design) device can be used.
  • the three-dimensional shape data 61 are stored in the storage section 23 .
  • the simulation device 20 includes an input unit 21 for inputting information regarding simulation of the robot device 5 .
  • the input unit 21 is composed of operating members such as a keyboard, mouse, and dial.
  • the simulation device 20 includes a display section 22 that displays information regarding simulation of the robot device 5 .
  • the display unit 22 displays a model image of the robot device 5 and a model image of the workpiece 91 .
  • the display unit 22 is configured by a display panel such as a liquid crystal display panel. Note that when the simulation apparatus includes a touch panel type display panel, the display panel functions as an input unit and a display unit.
  • the simulation device 20 includes a processing unit 24 that performs arithmetic processing for simulating the robot device 5 .
  • the processing unit 24 includes a model generating unit 25 that generates models of members based on the three-dimensional shape data 61 .
  • the model generation unit 25 generates a robot device model that is a model of the robot device and a work model that is a model of the work.
  • the processing unit 24 includes a simulation execution unit 26 that simulates the motion of the robot device 5 .
  • the simulation execution unit 26 has a function of moving the robot device model on the screen according to the operator's operation of the input unit 21 .
  • the simulation execution unit 26 simulates the motion of the robot based on predetermined operating conditions of the robot.
  • the simulation execution unit 26 simulates the motion of the robot device 5 based on pre-generated teaching points.
  • the operator operates the input unit 21 to set the position of the teaching point, the posture of the robot at the teaching point, the linear motion or the curved motion, the driving speed of the robot, and the like. Also, the operator can set whether the tool end point passes through the taught point or is smoothly driven so that the tool end point passes through the vicinity of the taught point.
  • the simulation execution unit 26 performs a simulation of driving the robot model so that the tool end point of the robot model moves according to the movement method designated by the operator.
  • the processing unit 24 includes a motion information acquisition unit 28 that acquires motion information of the robot 1 based on the motion simulation of the robot device 5 .
  • the motion information acquisition unit 28 can acquire, as motion information of the robot 1, motion conditions such as a motion path when the robot is driven and motion speed of the robot.
  • the processing unit 24 includes an auxiliary file generation unit 29 that generates an auxiliary file group 70 based on the motion information of the robot 1 acquired by the motion information acquisition unit 28 .
  • Auxiliary file group 70 includes a plurality of auxiliary files for generating a PLC program that drives the PLC. Each auxiliary file is formed in a language and rules readable by the PLC.
  • the auxiliary file generator 29 in this embodiment generates a program file 71, a variable file 72, and FB files 73-75.
  • the processing unit 24 includes a display control unit 27 that controls images displayed on the display unit 22 .
  • the display control unit 27 changes the position and posture of the robot model according to the operator's operation of the input unit 21 .
  • the display control unit 27 can display the motion path of the robot on the display unit 22 when the robot device is driven.
  • the processing unit 24 corresponds to a processor driven based on a simulation program (software).
  • a simulation program is created in advance and stored in the storage unit 23 .
  • the processor functions as the processing unit 24 by executing control defined in the simulation program.
  • the model generation unit 25, the simulation execution unit 26, the display control unit 27, the motion information acquisition unit 28, and the auxiliary file generation unit 29 correspond to a processor driven based on the simulation program.
  • the processors function as respective units by executing control defined in the program.
  • Fig. 4 shows an example of an image displayed on the display unit of the simulation device.
  • An image 65 shows the state when the robot device 5 is simulated.
  • model generator 25 generates robot device model 5M.
  • the model generator 25 generates a robot model 1M and a hand model 2M based on the three-dimensional shape data 61.
  • FIG. Model generator 25 generates work model 91M based on three-dimensional shape data 61 .
  • the model generator 25 may display models of peripheral devices arranged around the robot based on the three-dimensional shape data 61 .
  • the display control unit 27 displays an image of the robot model 1M, an image of the hand model 2M, and an image of the work model 91M. Although the display control unit 27 displays a three-dimensional image in this embodiment, it may display a two-dimensional image.
  • the model generator 25 can set the robot coordinate system 81 set in the actual robot device 5 in the virtual space in which the robot device model 5M and the workpiece model 91M are arranged. As with the actual robot device 5, the robot coordinate system 81 can be used to specify the position and orientation of the robot in the simulation.
  • the simulation execution unit 26 changes the position and posture of the robot model 1M in the image 65 according to the operation of the input unit 21.
  • the operator specifies teaching points 83a, 83b, and 83c, for example.
  • the simulation executing section 26 executes the simulation of the robot 1 so that the tip point of the tool passes through the teaching points 83a, 83b, and 83c according to the operation conditions input by the operator.
  • the simulation execution unit 26 can calculate the motion path 66, which is the trajectory passed by the tool tip point, based on the results of the simulation.
  • the display control unit 27 can display the motion path 66 superimposed on the images of the robot device model 5M and the workpiece model 91M.
  • the worker moves the robot device model 5M on the screen to check the operating state of the robot device. If the result of the simulation is unfavorable, the operator can modify the operating conditions of the robot, such as the position of the teaching point and the posture of the robot at the teaching point. When it is confirmed that the robot device model 5M is driven in the desired state, the operator can confirm the operation of the robot device.
  • the motion information acquisition unit 28 can acquire motion information of the robot including the motion path of the robot.
  • the motion information acquisition unit 28 can acquire the position of the teaching point when the robot is driven, the posture of the robot at the teaching point, the motion path, and the like as coordinate values of the robot coordinate system 81 .
  • the motion information acquisition unit 28 can acquire motion conditions such as the motion speed of the robot.
  • the auxiliary file generation unit 29 of the processing unit 24 generates the auxiliary file group 70 based on the motion information of the robot device 5 acquired by the motion information acquisition unit 28 .
  • the program file 71, variable file 72, and FB files 73-75 included in the auxiliary file group 70 will be described.
  • Each file of the program file 71, the variable file 72, and the FB files 73 to 75 in this embodiment is configured in the xml file format.
  • These auxiliary files can be generated, for example, in the xml file format (xml format) defined by the PLCopen standard.
  • a template defined by the PLCopen standard or the like can be adopted.
  • This template includes a declaration that it is a language for operating a robot with a PLC.
  • Fig. 5 shows an example of a program file generated by the auxiliary file generation unit.
  • the file name of the program file in this embodiment is "Main.xml”.
  • command statements for the operation of the robot device 5 are described in the form of functions.
  • the first taught point 83a is indicated by the symbol P[1]
  • the second taught point 83b is indicated by the symbol P[2]
  • the third taught point 83c is indicated by the symbol P[3]. ing.
  • the program file 71 describes the main processing in the PLC program.
  • the program file 71 is composed of a plurality of areas 71a-71e.
  • An area 71a at the beginning of the program file 71 describes a fixed phrase (template) of an xml file.
  • a fixed phrase template
  • an area 71e at the end of the program file 71 fixed phrases of the xml file are described. Descriptions other than the templates in the areas 71a and 71e are adopted in the PLC program.
  • a function starting from FRC is described according to the motion of each robot.
  • a region 71b describes an operation in which the robot device is activated and the tool end point is driven to the first teaching point 83a.
  • a function FRC_MoveLinearAbsolute01 is described in the first line of the area 71b. The name of this function corresponds to the file name of the referenced function block.
  • the tool tip point which is the position of the robot, moves to the position P[1] indicated by the variable pos.
  • the tool tip moves linearly at a speed of 1200mm/sec indicated by the variable velocity.
  • it is positioned to pass through position P[1].
  • the variable Execute indicates when this function should start.
  • the start of driving the robot is shown.
  • variables indicating execution states such as variable busy, variable Active, and variable Done are defined.
  • a function for driving the robot is written in the same way as in the area 71b.
  • a region 71c describes the movement of the tool tip point from the first taught point 83a to the second taught point 83b.
  • a function FRC_MoveAxesAbsolute01 is described in the first line of the area 71c. This function shows that the tool tip point is moved by driving each axis (rather than curvilinear movement) at a speed of 80% of the maximum speed to position P[2].
  • the description of the variable Execute indicates that this function is executed after the operation of the function FRC_MoveLinearAbsolute01 in the area 71b is completed.
  • the area 71d also describes a function for driving the robot.
  • the function FRC_MoveAxesAbsolute02 indicates that the tool tip point moves to the position P[3] after the robot has finished moving with the function FRC_MoveAxesAbsolute01 in the area 71c.
  • the robot is shown moving the tool tip point by driving each axis at 100% speed relative to the maximum speed.
  • Fig. 6 shows an example of a variable file generated by the auxiliary file generation unit.
  • the variable file 72 defines definitions of global variables and structures used in the PLC program.
  • the file name of the variable file 72 here is "Global.xml”.
  • the variable file 72 is composed of a plurality of areas 72a-72d. In the areas 72a and 72d, fixed phrases (templates) of xml files are described.
  • a global variable is defined in the area indicated by the variable VAR in the area 72b.
  • the position and posture of the robot at the position P[1] indicating the first teaching point are determined by the coordinate values of each coordinate axis of the robot coordinate system 81.
  • FIG. Further, following the position P[1], the position and attitude of the robot are determined at the position P[2] of the second teaching point 83b and the position P[3] of the third teaching point 83c.
  • the definition of the structure is described in the area specified by the variable STRUCT in the area 72c.
  • the variables of the structure are values of real number type, and consist of an array of 0 to 8.
  • the variables defined in the variable file are not limited to the form described above, and any variable for driving the robot can be adopted.
  • FIG. 7 shows the first FB file generated by the auxiliary file generation unit.
  • a first FB file 73 is referenced with a function written to move the position of the robot to the first teach point.
  • the first FB file 73 is referenced when the function FRC_MoveLinearAbsolute01 written in the area 71b of the program file 71 shown in FIG. 5 is executed.
  • the file name of the first FB file 73 is defined as “FRC_MoveLinearAbsolute01.xml” corresponding to the name of the function described in the program file 71 .
  • the FB file defines robot movements and function block processing in functions used in the PLC program.
  • the first FB file 73 has multiple areas 73a to 73e.
  • a variable plcrobot.input.CMD_ID in the first line of the area 73b indicates the motion method of the robot. If this variable is 1, it specifies that the robot drives linearly and the action is positioning. If this variable is 2, the robot drives in each axis motion, specifying that the motion is positioning. It should be noted that another variable may be used to determine whether the motion of the robot is a positioning motion that passes through the taught point or is a smooth motion that can be performed by passing near the taught point.
  • variable plcrobot.input.VAL1 quotes the movement speed (1200mm/sec) specified by the function FRC_MoveLinearAbsolute01 in the area 71b of the program file 71.
  • the variable plcrobot.input.POS designates the target position by quoting the position P[1] determined by the above function of the program file 71 .
  • An area 73c shows the input variables to the function block.
  • Input variables are defined in the area from variable VAR_INPUT to variable END_VAR.
  • the variable Execute which indicates the start of control, is of Boolean type and its initial value is set to zero.
  • the speed variable Velocity is an unsigned double-precision integer type and its initial value is set to zero.
  • a variable POS_T is employed as the position variable Pos.
  • the output variables of the function block are defined in the area 73d. Definitions of output variables are defined in the area from the variable VAR_OUTPUT to the variable END_VAR.
  • the variable Busy indicates that it is operating and is a boolean variable.
  • Variable Active indicates that it is under control.
  • the variable Done indicates that the action has finished.
  • a variable CommandAborted indicates that the operation was interrupted in the middle.
  • a variable Error indicates that an abnormality has occurred.
  • a variable ErrorID indicates a code corresponding to the content of the error. The initial value of each variable is set to 0.
  • FIG. 8 shows the second FB file generated by the auxiliary file generation unit.
  • the second FB file 74 is referenced when the function FRC_MoveAxesAbsolute01 described in area 71c of program file 71 shown in FIG. 5 is executed.
  • a second FB file 74 has a structure similar to that of the first FB file 73 . In the areas 74a and 74e, fixed phrases of the xml file are described. A variable of the structure is defined in the area 74b. Input variables are defined in area 74c, and output variables are defined in area 74d.
  • FIG. 9 shows the third FB file generated by the auxiliary file generation unit.
  • the third FB file 75 is referenced when function FRC_MoveAxesAbsolute02 described in area 71d of program file 71 shown in FIG. 5 is executed.
  • a third FB file 75 has a structure similar to that of the first FB file 73 . In the areas 75a and 75e, fixed phrases of the xml file are described. A variable of the structure is defined in the area 75b. Input variables are defined in area 75c, and output variables are defined in area 75d.
  • the FB file shows the functions corresponding to the functions described in the program file.
  • the FB file contains instructions for executing specific controls. Note that the FB file does not have to be an auxiliary file that is generated in a format that allows the operator to visually recognize the contents. That is, the FB file may be generated in a format unreadable by the operator.
  • the auxiliary file generation unit 29 can generate each auxiliary file based on the execution result of the simulation.
  • the auxiliary file generation unit 29 generates auxiliary files in a format that can be read by the PLC.
  • each auxiliary file is written in the ST language.
  • the language for generating PLC programs is not limited to the ST language.
  • the auxiliary file generator can use any language that the PLC can read.
  • LD Layer Diagram
  • IL Instruction List
  • SFC Serial Function Chart
  • FBD Frection Block Diagram
  • an auxiliary file may be generated by combining these multiple languages.
  • Each function and variable included in the auxiliary file can be defined in advance.
  • functions and variables defined in the PLCopen standard or the like can be used as the functions and variables of the auxiliary file.
  • the auxiliary file generation unit 29 may input variable values to a pre-created auxiliary file template.
  • a variable template for the area 72b can be generated.
  • the auxiliary file generation unit 29 may generate the variable file by inputting the values of the variables based on the simulation results.
  • FIG. 10 shows a block diagram of the PLC in this embodiment.
  • the PLC 30 is configured by an arithmetic processing unit (computer) including a CPU as a processor.
  • the PLC 30 has an input section 31 , a display section 32 and a storage section 33 , like the simulation device 20 .
  • the input unit 31 is composed of operating members such as a keyboard, mouse, and dial.
  • the display unit 32 is configured by a display panel such as a liquid crystal display panel.
  • the storage unit 33 can be configured by a non-temporary storage medium capable of storing information.
  • the PLC 30 includes a processing unit 34.
  • Processing unit 34 includes a PLC program generation unit 35 that generates PLC program 76 based on the auxiliary file.
  • the processing unit 34 includes a control signal sending unit 36 that sends a control signal 39 for driving the robot device 5 to the robot control device 40 based on the PLC program 76 .
  • the processing unit 34, the PLC program generation unit 35, and the control signal transmission unit 36 correspond to a processor that drives the PLC according to a program (software) that drives the PLC.
  • FIG. 11 shows the PLC program in this embodiment.
  • the PLC program generator 35 reads the auxiliary file group 70 and generates a PLC program 76 .
  • PLC program 76 for example, has area 76a and area 76b.
  • the area 76a contains the variables described in the variable file 72 (see FIG. 6).
  • a region 76b following the region 76a contains the functions described in the program file 71 (see FIG. 5).
  • the PLC program generator 35 can combine the program file 71 and the variable file 72 to generate the PLC program 76 .
  • PLC program 76 is written in any format that PLC 30 can read and execute.
  • the PLC program 76 of this embodiment is not created in xml format, but in ST language.
  • the PLC 30 is driven based on the PLC program 76 and FB files 73-75 generated by the PLC program generator 35.
  • the control signal sending unit 36 sends a control signal for driving the robot device 5 to the robot controller 40 for each function FRC as a command statement written in the PLC program 76 .
  • FIG. 12 shows a block diagram of the robot device 5 according to this embodiment.
  • robot 1 includes a robot driving device 17 including a driving motor for changing the position and posture of robot 1 .
  • the robot device 5 includes a hand drive device 18 that drives the hand 2 .
  • the hand driving device 18 includes a cylinder for driving the claw portion of the hand 2, an air pump, and the like.
  • the robot control device 40 includes an arithmetic processing device (computer) having a CPU as a processor.
  • the robot control device 40 includes a motion control section 43 that generates motion commands for the robot 1 and hand 2 .
  • the motion control section 43 sends a motion command for driving the robot 1 to the robot driving section 45 .
  • the robot driver 45 includes electrical circuitry that drives the robot driver 17 .
  • the motion control unit 43 sends a motion command for driving the hand 2 to the hand driving unit 44 .
  • Hand drive 44 includes an electrical circuit that drives hand drive 18 .
  • the robot control device 40 includes a robot program generation unit 46 that generates command sentences for robot programs based on control signals from the PLC 30 .
  • the robot program generator 46 generates command sentences for the robot program 77 in the robot language based on the control signal 39 regarding the PLC program 76 and the FB files 73-75.
  • the motion control unit 43 and robot program generation unit 46 correspond to a processor that drives according to a program that controls the robot device.
  • the processor functions as the motion control section 43 and the robot program generation section 46 by executing control defined in the program.
  • the robot control device 40 includes a storage section 42 that stores information regarding control of the robot 1 and hand 2 .
  • the storage unit 42 can be configured by a non-temporary storage medium capable of storing information.
  • the storage unit 42 can be configured with a storage medium such as a volatile memory, a nonvolatile memory, a magnetic storage medium, or an optical storage medium.
  • motion control unit 43 of the present embodiment generates motion commands for robot 1 and hand 2 based on command statements written in robot program 77 for operating the robot. do.
  • a robot program is written in a robot language. In the example here, a robot program is shown for a robot that is driven to pass through three teaching point positions P[1], P[2], and P[3].
  • the symbol L indicates a command to move the position of the robot linearly.
  • Symbol P[1] indicates the position of the teaching point and the posture of the robot at the teaching point. It also shows that the movement speed of the robot position (tool tip point) is 1200 mm/sec.
  • the symbol FINE indicates that the robot is driven so as to pass through the teaching point.
  • the symbol J indicates a command for driving the plurality of drive shafts of the robot 1 to move the position of the robot in a curved line. It is also shown to drive each drive shaft at a speed that is 80% or 100% of the maximum speed of each drive shaft.
  • control signal transmission unit 36 of PLC 30 of the present embodiment transmits control signal 39 to robot controller 40 each time robot 1 performs one operation.
  • the control signal sending unit 36 sends a control signal 39 relating to the operation of the robot device each time the function FRC described in the area 76b of the PLC program 76 is executed.
  • the robot program generation unit 46 generates a command sentence in the robot language each time it receives a control signal 39 for causing the robot 1 to operate.
  • the PLC 30 executes the PLC program 76 to drive the robot device 5.
  • the data of the variable plcrobot.input. defined in the FB file is used as a parameter for robot motion.
  • the control signal sending unit 36 sends the data of the variable plcrobot.input.
  • the robot program generator 46 generates a command sentence generated in the robot language based on the data of the variable plcrobot.input.
  • the robot program generation unit 46 acquires a control signal with a variable plcrobot.input.CMD_ID of 1 in the operation of moving the robot to the first teaching point 83a.
  • the robot program generator 46 determines that the motion of the robot is a linear motion and a positioning motion. Further, the robot program generator 46 acquires the motion speed from the control signal related to the variable plcrobot.input.VAL1, and acquires the target position from the control signal related to the variable plcrobot.input.POS. Based on the data of these variables, the robot program generation unit 46 generates the command sentence of the first line of the robot program 77 shown in FIG. Then, the motion control unit 43 of the robot control device 40 reads the generated command sentence and controls the robot 1 .
  • the auxiliary file group 70 for the simulation device 20 to generate the PLC program 76 can be output.
  • the functions and variables used in the PLC program 76 contained in the auxiliary file contain control instructions for operating the robot 1 .
  • Simulation device 20 can output an auxiliary file written in the language used by PLC program 76 .
  • the worker using the PLC 30 can import the auxiliary file group 70 output from the simulation device 20 into the PLC 30 without converting it into the format of the PLC program 76 .
  • the PLC program 76 can be generated by the PLC 30 to drive the robot device 5 .
  • the program file 71 and auxiliary files such as the FB files 73 to 75, or the PLC program 76 generated by the PLC program generator 35 can be modified.
  • the operator can modify the program for driving the robot device 5 using the language used by the PLC 30. FIG. In this way, the operator does not need to create the robot program 77 written in the robot language, and can operate the robot device 5 with the PLC program 76 even if he/she is not familiar with the robot language.
  • the robot control device 40 generates command sentences for the robot program 77 based on the control signal 39 from the PLC 30, but is not limited to this form. Based on the control signal 39 from the PLC 30 , the motion control unit 43 of the robot control device 40 may generate a motion command for directly operating the robot 1 . That is, the robot control device 40 may generate an action command without generating a command sentence for the robot program 77 .
  • the control signal 39 is sent to the robot control device 40 each time the PLC 30 executes a command sentence for one motion of the robot, but the configuration is not limited to this.
  • the robot program generation unit 46 of the robot control device 40 After obtaining the FB files 73 to 75 generated by the simulation device 20 and the PLC program 76 generated by the PLC 30, the robot program generation unit 46 of the robot control device 40 generates a robot program including a plurality of command statements. 77 may be generated.
  • the robot controller 40 stores the acquired PLC program 76 in the storage unit 42 . Also, the robot control device 40 stores the FB files 73 to 75 generated by the simulation device 20 in a predetermined storage area.
  • the robot program generator 46 may generate the robot program 77 based on the PLC program 76 and the FB files 73-75.
  • the robot program generation unit 46 converts the instruction sentence written in the ST language of the PLC program 76 into the instruction sentence of the robot language of the robot program 77 .
  • the robot program generator 46 can generate a robot program 77 including multiple command statements.
  • the robot program 77 is stored in the storage section 42 .
  • the motion control section 43 can control the robot 1 and the hand 2 based on the robot program 77 generated by the robot program generation section 46 .
  • the PLC program generation unit that generates the PLC program of this embodiment is arranged in the PLC, it is not limited to this form.
  • the PLC program generator may be arranged in the simulation device. That is, the simulation device may generate the PLC program based on the auxiliary file group.

Abstract

シミュレーション装置は、ロボットの動作条件に基づいて、シミュレーションを実施するシミュレーション実行部を備える。シミュレーション装置は、シミュレーションの結果に基づいて、ロボットの動作情報を取得する動作情報取得部と、ロボットの動作情報に基づいて、プログラマブルロジックコントローラが読み込んで実行可能な言語で記載されたプログラムを生成するための複数の補助ファイルを生成する補助ファイル生成部とを備える。

Description

補助ファイルを生成するシミュレーション装置および制御システム
 本発明は、補助ファイルを生成するシミュレーション装置および制御システムに関する。
 工作機械およびロボット装置等の機械においては、機械に含まれるモータなどの駆動機を制御するためにスイッチおよびセンサ等が配置される。複数の駆動機を動作させる順序を設定するための装置として、プログラマブルロジックコントローラ(PLC)が知られている(例えば、特許第6914452号公報)。PLCは、駆動機の駆動、信号の発信、およびセンサからの信号の受信等の動作の順序を制御することができる。プログラマブルロジックコントローラは、例えば、ラダー言語にて記載されたラダー図等と称されるPLCプログラムに基づいて駆動する。
 一方で、ロボットおよび作業ツールを備えるロボット装置は、ロボット言語にて記載されたロボットプログラムにて制御される。近年においては、PLCプログラムにてロボット装置を制御する機能が知られている。例えば、PLCの開発の効率化を目的としたPLCopen(登録商標)の規格では、PLCプログラムにてロボットの位置および姿勢を制御することが知られている。この機能により、ロボット言語に不慣れな作業者であっても、PLCプログラムの機能を使用することでロボットを動作させることができる。
特許第6914452号公報
 ところで、ロボット装置を駆動するためのロボットプログラムを生成する場合に、ロボットの実機を駆動する作業では、最適な動作経路を定めることが難しい場合がある。ロボットの動作経路を生成する場合に、ロボットの動作を模擬するシミュレーション装置が用いられることが知られている。また、シミュレーション装置は、シミュレーションにて生成されたロボットの動作経路に基づいてロボットプログラムを生成することができる。ところが、従来の技術のシミュレーション装置は、ロボット言語にて記載されたロボットプログラムを出力していた。このために、PLCプログラムを熟知した作業者であっても、ロボット言語にて記載されるロボットプログラムを習得する必要が有った。
 本開示の第1の態様は、ロボットの動作条件に基づいて、ロボットの動作のシミュレーションを実施するシミュレーション実行部を備えるシミュレーション装置である。シミュレーション装置は、シミュレーション実行部によるシミュレーションの結果に基づいて、ロボットの動作情報を取得する動作情報取得部を備える。シミュレーション装置は、ロボットの動作情報に基づいて、プログラマブルロジックコントローラが読み込んで実行することができる言語で記載されたプログラムを生成するための複数の補助ファイルを生成する補助ファイル生成部を備える。
 本開示の第2の態様は、前述のシミュレーション装置と、プログラマブルロジックコントローラとを備える制御システムである。プログラマブルロジックコントローラは、複数の補助ファイルに基づいて、プログラマブルロジックコントローラを駆動する言語にて記載されたプログラムを生成するプログラム生成部を備える。
 本開示の態様によれば、PLCプログラムを生成するための複数の補助ファイルを生成するシミュレーション装置およびシミュレーション装置を備える制御システムを提供することができる。
実施の形態におけるロボット装置の概略図である。 実施の形態における制御システムのブロック図である。 実施の形態におけるシミュレーション装置のブロック図である。 シミュレーション装置の表示部に表示される画像である。 シミュレーション装置にて生成されるプログラムファイルである。 シミュレーション装置にて生成される変数ファイルである。 シミュレーション装置にて生成される第1のFBファイルである。 シミュレーション装置にて生成される第2のFBファイルである。 シミュレーション装置にて生成される第3のFBファイルである。 実施の形態におけるPLCのブロック図である。 PLCにて生成されるPLCプログラムである。 実施の形態におけるロボット制御装置のブロック図である。
 図1から図12を参照して、実施の形態におけるシミュレーション装置およびシミュレーション装置を備える制御システムについて説明する。本実施の形態のシミュレーション装置は、プログラマブルロジックコントローラ(以下、「PLC」と称する)を動作させるPLCプログラムを生成するための複数の補助ファイルを生成する。制御システムは、複数の補助ファイルを用いてPLCプログラムを生成する。
 図1は、本実施の形態におけるシミュレーション装置にてシミュレーションを実施するロボット装置の概略図である。本実施の形態のロボット装置5は、ワーク91を搬送する作業を実施する。ロボット装置5は、作業ツールとしてのハンド2と、ハンド2を移動するロボット1とを備える。ロボット装置5は、ロボット1およびハンド2を制御するロボット制御装置40を備える。
 本実施の形態のロボット1は、複数の関節部を含む多関節ロボットである。本実施の形態のロボット1は、ベース部14と、ベース部14に対して回転する旋回ベース13とを含む。ロボット1は、上部アーム11および下部アーム12を含む。下部アーム12は、旋回ベース13に回動可能に支持されている。上部アーム11は、下部アーム12に回動可能に支持されている。ロボット1は、上部アーム11に回動可能に支持されている手首部15を含む。手首部15のフランジ16には、ハンド2が固定されている。更に、上部アーム11およびフランジ16は、所定の駆動軸の周りに回転する。
 本実施の形態のロボットは、6個の駆動軸を有するが、この形態に限られない。任意の機構にて位置および姿勢を変更するロボットを採用することができる。また、本実施の形態の作業ツールは、2つの爪部を有するハンドであるが、この形態に限れられない。作業ツールは、ロボット装置が行う作業に応じた任意の装置を採用することができる。
 本実施の形態のロボット装置5には、ロボット座標系81が設定されている。ロボット座標系81はワールド座標系とも称される。ロボット座標系81は、原点の位置が固定され、更に、座標軸の向きが固定されている座標系である。ロボット1が駆動してもロボット座標系81の原点の位置および向きは変化しない。
 また、ロボット装置5には、作業ツールの任意の位置に設定された原点を有するツール座標系82が設定されている。本実施の形態では、ツール座標系82の原点は、ツール先端点に設定されている。ツール座標系は、作業ツールと共に位置および姿勢が変化する。ロボット1の位置は、ロボット座標系81におけるツール座標系82の原点の位置に対応する。また、ロボット1の姿勢は、ロボット座標系81に対するツール座標系82の向きが対応する。
 図2に、本実施の形態のロボットを制御する制御システムの概略図を示す。本実施の形態の制御システム9は、ロボット装置5の動作のシミュレーションを実施するシミュレーション装置20と、PLC30と、ロボット装置5のロボット制御装置40とを備える。
 本実施の形態においては、ロボットの様々な動作のうち、ツール先端点(ロボットの位置に相当する点)が3個の教示点を通る動作およびプログラムを例に取り上げて説明する。その他のロボットの様々な動作についても、本実施の形態と同様の制御によりPLCプログラムを作成してロボットを制御することができる。
 シミュレーション装置20は、ロボット装置5の動作のシミュレーションを実施する。図2においては、シミュレーション装置20の表示部に表示される画像65が示されている。画像65には、シミュレーション装置20により生成されたロボット1の動作経路66が示されている。シミュレーション装置20は、複数の教示点83a,83b,83cの位置等の動作条件に基づいてロボット1の動作経路66を生成する。
 本実施の形態のシミュレーション装置20は、ロボット1の動作経路66を含むシミュレーションの結果に基づいて、補助ファイル群70を生成する。補助ファイル群70は、PLCプログラム76を生成するための複数の補助ファイルを含む。複数の補助ファイルは、ロボット1の動作を示す関数が記載されたプログラムファイル71と、PLCプログラム76において使用される変数の定義が記載された変数ファイル72とを含む。また、複数の補助ファイルは、プログラムファイル71に記載されたロボットの動作を示す関数に対応するロボットの動作の内容(動作指令の定義)が記載されたファンクションブロックファイル73~75を含む。本実施の形態のでは、ファンクションブロックファイルをFBファイルと称する。
 PLC30は、補助ファイル群70を取得する。PLC30は、補助ファイルに基づいて、PLCを駆動する言語にて記載されたプログラムとしてのPLCプログラム76を生成する。PLCプログラムは、PLCが読み込んで実行可能な言語にて記載されている。本実施の形態のPLCプログラム76は、PLC30が読み込み可能な言語のうちST(Structured Text)言語にて記載されている。
 本実施の形態のPLC30は、PLCプログラム76に記載された1個の指令文に対応する関数FRCごとにロボット装置5を駆動する制御を行うことができる。PLC30は、FBファイル73~75と共に、PLCプログラム76を実行してPLCプログラム76に含まれる指令文に係る制御信号を、ロボット制御装置40に送信する。ロボット制御装置40は、PLC30からの制御信号に基づいて、ロボット装置5を駆動するためにロボット言語にて記載された指令文を生成する。ロボット制御装置40は、ロボット言語の指令文に基づいてロボット装置を駆動することができる。
 図3に、本実施の形態におけるシミュレーション装置のブロック図を示す。本実施の形態のシミュレーション装置20は、ロボット装置5の動作を模擬するように形成されたオフラインシミュレーション装置である。本実施の形態のシミュレーション装置20は、ロボット1の3次元モデル、ハンド2の3次元モデル、およびワーク91の3次元モデルを同一の仮想空間に配置して、ロボット装置5の動作のシミュレーションを実施する。
 シミュレーション装置20は、プロセッサとしてのCPU(Central Processing Unit)を含む演算処理装置(コンピュータ)を備える。本実施の形態の演算処理装置は、パーソナルコンピュータにて構成されている。演算処理装置は、CPUにバスを介して接続されたRAM(Random Access Memory)およびROM(Read Only Memory)等を有する。
 シミュレーション装置20は、ロボット装置5のシミュレーションに関する任意の情報を記憶する記憶部23を備える。記憶部23は、情報の記憶が可能で非一時的な記憶媒体にて構成されることができる。例えば、記憶部23は、揮発性メモリ、不揮発性メモリ、磁気記憶媒体、または光記憶媒体等の記憶媒体にて構成することができる。ロボット装置のシミュレーションを実施するためのプログラムは記憶部23に記憶される。
 シミュレーション装置20には、ロボット1、ハンド2、およびワーク91の3次元形状データ61が入力される。3次元形状データ61には、ロボット装置5のシミュレーションを行うためのロボット、作業ツール、周辺機器、およびワークのデータが含まれる。3次元形状データ61としては、例えばCAD(Computer Aided Design)装置から出力されるデータを用いることができる。3次元形状データ61は、記憶部23に記憶される。
 シミュレーション装置20は、ロボット装置5のシミュレーションに関する情報を入力する入力部21を含む。入力部21は、キーボード、マウス、およびダイヤルなどの操作部材により構成されている。シミュレーション装置20は、ロボット装置5のシミュレーションに関する情報を表示する表示部22を含む。表示部22は、ロボット装置5のモデルの画像およびワーク91のモデルの画像を表示する。表示部22は、液晶表示パネル等の表示パネルにて構成されている。なお、シミュレーション装置がタッチパネル方式の表示パネルを備える場合に、表示パネルは入力部および表示部として機能する。
 シミュレーション装置20は、ロボット装置5のシミュレーションのために演算処理を行う処理部24を含む。処理部24は、3次元形状データ61に基づいて、部材のモデルを生成するモデル生成部25を含む。例えば、モデル生成部25は、ロボット装置のモデルであるロボット装置モデルおよびワークのモデルであるワークモデルを生成する。
 処理部24は、ロボット装置5の動作のシミュレーションを実施するシミュレーション実行部26を含む。シミュレーション実行部26は、作業者による入力部21の操作に応じて、ロボット装置モデルを画面上で動かす機能を有する。または、シミュレーション実行部26は、予め定められたロボットの動作条件に基づいて、ロボットの動作のシミュレーションを実施する。
 例えば、シミュレーション実行部26は、予め生成された教示点に基づいて、ロボット装置5の動作のシミュレーションを実施する。作業者は、入力部21の操作により、教示点の位置、教示点におけるロボットの姿勢、直線動作または曲線動作、およびロボットの駆動速度等を設定する。また、作業者は、ツール先端点が教示点を通るか、またはツール先端点が教示点の近傍を通る様に滑らかに駆動するかについて設定することができる。シミュレーション実行部26は、ロボットモデルのツール先端点が作業者により指定された移動方法により移動するようにロボットモデルを駆動するシミュレーションを実施する。
 処理部24は、ロボット装置5の動作のシミュレーションに基づいて、ロボット1の動作情報を取得する動作情報取得部28を含む。動作情報取得部28は、ロボット1の動作情報として、ロボットが駆動するときの動作経路、およびロボットの動作速度等の動作条件を取得することができる。
 処理部24は、動作情報取得部28により取得されるロボット1の動作情報に基づいて、補助ファイル群70を生成する補助ファイル生成部29を含む。補助ファイル群70は、PLCを駆動するPLCプログラムを生成するための複数の補助ファイルを含む。それぞれの補助ファイルは、PLCが読み込み可能な言語および規則にて形成されている。本実施の形態での補助ファイル生成部29は、プログラムファイル71、変数ファイル72、およびFBファイル73~75を生成する。
 処理部24は、表示部22に表示する画像を制御する表示制御部27を含む。表示制御部27は、作業者による入力部21の操作に応じて、ロボットモデルの位置および姿勢を変化させる。また、表示制御部27は、ロボット装置が駆動した時のロボットの動作経路を表示部22に表示することができる。
 処理部24は、シミュレーションのプログラム(ソフトウエア)に基づいて駆動するプロセッサに相当する。シミュレーションのプログラムは予め作成されて、記憶部23に記憶される。プロセッサがシミュレーションのプログラムに定められた制御を実施することにより、処理部24として機能する。また、モデル生成部25、シミュレーション実行部26、表示制御部27、動作情報取得部28、および補助ファイル生成部29は、シミュレーションのプログラムに基づいて駆動するプロセッサに相当する。プロセッサがプログラムに定められた制御を実施することにより、それぞれのユニットとして機能する。
 図4に、シミュレーション装置の表示部に表示される画像の例を示す。画像65には、ロボット装置5のシミュレーションを実施した時の状態が示されている。図3および図4を参照して、モデル生成部25は、ロボット装置モデル5Mを生成する。モデル生成部25は、3次元形状データ61に基づいてロボットモデル1Mとハンドモデル2Mを生成する。モデル生成部25は、3次元形状データ61に基づいて、ワークモデル91Mを生成する。モデル生成部25は、3次元形状データ61に基づいて、ロボットの周りに配置されている周辺機器のモデルを表示しても構わない。
 表示制御部27は、ロボットモデル1Mの画像、ハンドモデル2Mの画像、およびワークモデル91Mの画像を表示する。本実施の形態では、表示制御部27は、3次元の画像を表示しているが、2次元の画像を表示しても構わない。モデル生成部25は、ロボット装置モデル5Mおよびワークモデル91Mを配置する仮想空間に、実際のロボット装置5に設定されたロボット座標系81を設定することができる。実際のロボット装置5と同様に、ロボット座標系81を用いて、シミュレーションにおいてロボットの位置および姿勢を指定することができる。
 シミュレーション実行部26は、入力部21の操作に応じて、画像65におけるロボットモデル1Mの位置および姿勢を変化させる。作業者は、例えば、教示点83a,83b,83cを指定する。ここでは、シミュレーション実行部26は、作業者の動作条件の入力により、ツール先端点が教示点83a,83b,83cを通る様にロボット1のシミュレーションを実施する。シミュレーション実行部26は、シミュレーションの結果に基づいて、ツール先端点が通った軌跡である動作経路66を算出することができる。表示制御部27は、ロボット装置モデル5Mおよびワークモデル91Mの画像に重ねて動作経路66を表示することができる。
 作業者は、画面においてロボット装置モデル5Mを動かしてロボット装置の動作の状態を確認する。そして、作業者は、シミュレーションの結果が好ましくない場合には、教示点の位置および教示点におけるロボットの姿勢等のロボットの動作条件を修正することができる。ロボット装置モデル5Mが所望の状態にて駆動することが確認できた時に、作業者は、ロボット装置の動作を確定することができる。動作情報取得部28は、ロボットの動作経路を含むロボットの動作情報を取得することができる。動作情報取得部28は、ロボットが駆動した時の教示点の位置、教示点におけるロボットの姿勢、および動作経路等をロボット座標系81の座標値にて取得することができる。動作情報取得部28は、ロボットの動作速度等の動作条件を取得することができる。
 処理部24の補助ファイル生成部29は、動作情報取得部28により取得されたロボット装置5の動作情報に基づいて補助ファイル群70を生成する。次に、補助ファイル群70に含まれるプログラムファイル71、変数ファイル72、およびFBファイル73~75について説明する。本実施の形態におけるプログラムファイル71、変数ファイル72、およびFBファイル73~75のそれぞれのファイルは、xmlファイルの形式にて構成されている。これらの補助ファイルは、例えば、PLCopenの規格などにて定められたxmlファイルの形式(xmlフォーマット)にて生成されることができる。
 例えば、補助ファイルの始まりの部分と終わりの部分とに記載されるxmlファイルの定型文(テンプレート)は、PLCopenの規格などにて定められているテンプレートを採用することができる。このテンプレートには、ロボットをPLCで動かすための言語であることの宣言などが含まれている。
 図5に、補助ファイル生成部にて生成されるプログラムファイルの例を示す。本実施の形態のプログラムファイルのファイル名は、「Main.xml」である。プログラムファイル71には、ロボット装置5の動作の指令文が関数にて記載されている。ここでは、第1の教示点83aを記号P[1]にて示し、第2の教示点83bを記号P[2]にて示し、第3の教示点83cを記号P[3]にて示している。
 プログラムファイル71では、PLCプログラムにおける主たる処理が記載されている。プログラムファイル71は、複数の領域71a~71eから構成されている。プログラムファイル71の始めの領域71aには、xmlファイルの定型文(テンプレート)が記載されている。また、プログラムファイル71の終わりの領域71eには、xmlファイルの定型文が記載されている。領域71a,71eのテンプレート以外の記載がPLCプログラムに採用される。
 領域71b~71dには、PLCプログラムにて指令文となる関数が記載されている。それぞれのロボットの動作に応じて、FRCから始まる関数が記載されている。領域71bには、ロボット装置が起動してツール先端点が第1の教示点83aまで駆動する動作が記載されている。領域71bの1行目には、関数FRC_MoveLinearAbsolute01が記載されている。この関数の名称は、引用するファンクションブロックのファイル名に対応している。
 関数FRC_MoveLinearAbsolute01における動作では、ロボットの位置となるツール先端点が変数posにて示される位置P[1]まで移動する。ツール先端点が変数velocityにて示される速度1200mm/secにて直線的に移動する。ここでは、位置P[1]を通るように位置決めされる。変数Executeは、この関数の開始時期を示している。ここでは、ロボットの駆動の開始を示している。その後に、変数busy、変数Active、変数Doneなどの実行状態を示す変数が定義されている。
 領域71cには、領域71bと同様に、ロボットを駆動する関数が記載されている。領域71cには、ツール先端点が第1の教示点83aから第2の教示点83bまで駆動する動作が記載されている。領域71cの1行目には、関数FRC_MoveAxesAbsolute01が記載されている。この関数では、ツール先端点が、位置P[2]まで最高速度の80%の速度にて、各軸の駆動により(曲線状の移動より)移動することが示されている。変数Executeの記載により、この関数は、領域71bの関数FRC_MoveLinearAbsolute01の動作の終了後に実施されることが示されている。
 領域71dにおいても、領域71cと同様に、ロボットを駆動する関数が記載されている。関数FRC_MoveAxesAbsolute02では、領域71cの関数FRC_MoveAxesAbsolute01によるロボットの動作の終了後に、ツール先端点が位置P[3]まで移動することが示されている。ロボットは、最高速度に対して100%の速度にて各軸の駆動によりツール先端点が移動することが示されている。
 図6に、補助ファイル生成部にて生成される変数ファイルの例を示す。変数ファイル72は、PLCプログラムにて使用されるグローバル変数および構造体の定義などが定められている。ここでの変数ファイル72のファイル名は「Global.xml」である。変数ファイル72は、複数の領域72a~72dにて構成されている。領域72a,72dは、xmlファイルの定型文(テンプレート)が記載されている。
 領域72bの変数VARに示される領域では、グローバル変数が定義されている。ここでは、第1の教示点を示す位置P[1]におけるロボットの位置および姿勢がロボット座標系81の各座標軸の座標値にて定められている。また、位置P[1]に続いて、第2の教示点83bの位置P[2]および第3の教示点83cの位置P[3]のロボットの位置および姿勢が定められている。領域72cの変数STRUCTにて指定される領域では、構造体の定義が記載されている。ここでは、構造体の変数は実数型の値であり、0から8までの配列にて構成されることが定められている。このような変数VARおよび変数STRUCTは、規格などによって予め定められた変数を使用することが好ましい。また、変数ファイルにて定義される変数は、上記の形態に限られず、ロボットを駆動するための任意の変数を採用することができる。
 図7に、補助ファイル生成部にて生成される第1のFBファイルを示す。第1のFBファイル73は、第1の教示点までロボットの位置を移動する為に記載された関数にて引用される。第1のFBファイル73は、図5に示すプログラムファイル71の領域71bに記載された関数FRC_MoveLinearAbsolute01が実行される時に引用される。第1のFBファイル73のファイル名は、プログラムファイル71に記載の関数の名称に対応して「FRC_MoveLinearAbsolute01.xml」に定められている。FBファイルには、PLCプログラムにて使用される関数におけるロボットの動作およびファンクションブロックの処理が定義されている。
 第1のFBファイル73は、複数の領域73a~73eを有する。ファイルの始めの部分である領域73aとファイルの終わりの部分である領域73eには、xmlファイルの定型文が記載されている。
 領域73bには、構造体の変数にて処理が記載されている。領域73bの1行目の変数plcrobot.input.CMD_IDは、ロボットの動作方法を示す。この変数が1の場合に、ロボットが直線的に駆動し、動作が位置決めであることが指定される。この変数が2の場合に、ロボットは各軸動作にて駆動して、動作が位置決めであることが指定される。なお、ロボットの動作が教示点を通る位置決めの動作であるか、または教示点の近くを通れば良い滑らかな動作であるかは、別の変数にしても構わない。
 変数plcrobot.input.VAL1により、プログラムファイル71の領域71bの関数FRC_MoveLinearAbsolute01にて指定された動作速度(1200mm/sec)が引用される。変数plcrobot.input.POSにより、プログラムファイル71の上記の関数にて定められた位置P[1]が引用されて目標位置が指定される。
 領域73cには、ファンクションブロックへの入力変数が示されている。変数VAR_INPUTから変数END_VARまでの領域に入力変数の定義が定められている。ここでの例では、制御の開始を示す変数Executeは、ブール型であり初期値が0に設定されている。また、速度の変数Velocityは、符号なしの倍精度整数型であり初期値が0に設定されている。位置の変数Posとしては、変数POS_Tが採用されている。
 領域73dには、ファンクションブロックの出力変数が定義されている。変数VAR_OUTPUTから変数END_VARまでの領域に出力変数の定義が定められている。変数Busyは、動作中であることを示し、ブール型の変数である。変数Activeは、制御中であることを示す。変数Doneは、動作が終了したことを示す。変数CommandAbortedは、動作が途中で中断されたことを示す。変数Errorは、異常が生じたことを示す。そして、変数ErrorIDは、異常の内容に対応するコードを示す。それぞれの変数の初期値は0に設定されている。
 図8に、補助ファイル生成部にて生成される第2のFBファイルを示す。第2のFBファイル74は、図5に示すプログラムファイル71の領域71cに記載されている関数FRC_MoveAxesAbsolute01が実行される時に引用される。第2のFBファイル74は、第1のFBファイル73と同様の構造を有する。領域74a,74eには、xmlファイルの定型文が記載されている。領域74bには、構造体の変数が定められている。領域74cには入力変数が定められ、領域74dには出力変数が定められている。
 図9に、補助ファイル生成部にて生成される第3のFBファイルを示す。第3のFBファイル75は、図5に示すプログラムファイル71の領域71dに記載されている関数FRC_MoveAxesAbsolute02が実行される時に引用される。第3のFBファイル75は、第1のFBファイル73と同様の構造を有する。領域75a,75eには、xmlファイルの定型文が記載されている。領域75bには、構造体の変数が定められている。領域75cには入力変数が定められ、領域75dには出力変数が定められている。
 このように、FBファイルには、プログラムファイルに記載されている関数に対応する機能が示されている。FBファイルの中には、具体的な制御の実施する指令が記載されている。なお、FBファイルは、作業者が内容を視認できる形式にて生成された補助ファイルでなくても構わない。すなわち、FBファイルは、作業者が読めない形式にて生成されていても構わない。
 図3を参照して、補助ファイル生成部29は、シミュレーションの実行結果に基づいて、それぞれの補助ファイルを生成することができる。補助ファイル生成部29は、PLCにて読み込ことができる形式にて補助ファイルを生成する。本実施の形態においては、それぞれの補助ファイルは、ST言語にて記載されている。
 PLCプログラムを生成する言語は、ST言語に限られない。補助ファイル生成部は、PLCが読み込むことできる任意の言語を用いることができる。例えば、プログラミング言語として、LD(Ladder Diagram)言語を用いたPLCプログラムを生成することができる。プログラミング言語としては、LD言語の他に、IL(Instruction List)言語、SFC(Sequential Function Chart)言語、またはFBD(Function Block Diagram)言語を採用することができる。または、これらの複数の言語を組み合わせて補助ファイルを生成しても構わない。
 補助ファイルに含まれるそれぞれの関数および変数は、予め定めておくことができる。例えば、補助ファイルの関数および変数は、PLCopenの規格等で定められている関数および変数を使用することができる。補助ファイル生成部29は、予め作成された補助ファイルのテンプレートに変数の値を入力しても構わない。例えば、図6に示す変数ファイル72において、領域72bの変数のテンプレートを生成しておくことができる。そして、補助ファイル生成部29は、シミュレーションの結果に基づいて変数の値を入力することにより変数ファイルを生成しても構わない。
 図10に、本実施の形態におけるPLCのブロック図を示す。PLC30は、プロセッサとしてのCPUを含む演算処理装置(コンピュータ)にて構成されている。PLC30は、シミュレーション装置20と同様に、入力部31、表示部32、および記憶部33を有する。入力部31は、キーボード、マウス、およびダイヤルなどの操作部材により構成されている。表示部32は、液晶表示パネル等の表示パネルにて構成されている。記憶部33は、情報の記憶が可能で非一時的な記憶媒体にて構成されることができる。
 PLC30は、処理部34を備える。処理部34は、補助ファイルに基づいてPLCプログラム76を生成するPLCプログラム生成部35を含む。処理部34は、PLCプログラム76に基づいて、ロボット制御装置40にロボット装置5の駆動に関する制御信号39を送出する制御信号送出部36を含む。処理部34、PLCプログラム生成部35、および制御信号送出部36は、PLCを駆動するプログラム(ソフトウエア)に従って駆動するプロセッサに相当する。
 図11に、本実施の形態におけるPLCプログラムを示す。PLCプログラム生成部35は、補助ファイル群70を読み込んでPLCプログラム76を生成する。PLCプログラム76は、例えば、領域76aおよび領域76bを有する。領域76aには、変数ファイル72に記載されていた変数が記載されている(図6を参照)。そして、領域76aに続く領域76bには、プログラムファイル71に記載されていた関数が記載されている(図5を参照)。このように、PLCプログラム生成部35は、プログラムファイル71と変数ファイル72とを組み合わせてPLCプログラム76を生成することができる。PLCプログラム76は、PLC30が読み込んで実行することができる任意の形式にて作成される。本実施の形態のPLCプログラム76は、xml形式にて作成されておらず、ST言語にて形成されている。
 PLC30は、PLCプログラム生成部35にて生成されたPLCプログラム76およびFBファイル73~75に基づいて駆動する。制御信号送出部36は、PLCプログラム76に記載されている指令文としての関数FRCごとに、ロボット装置5を駆動するための制御信号をロボット制御装置40に送信する。
 図12に、本実施の形態におけるロボット装置5のブロック図を示す。図1および図12を参照して、ロボット1は、ロボット1の位置および姿勢を変化させる駆動モータを含むロボット駆動装置17を備える。ロボット装置5は、ハンド2を駆動するハンド駆動装置18を備える。ハンド駆動装置18は、ハンド2の爪部を駆動するシリンダおよび空気ポンプ等を含む。
 ロボット制御装置40は、プロセッサとしてのCPUを有する演算処理装置(コンピュータ)を含む。ロボット制御装置40は、ロボット1およびハンド2の動作指令を生成する動作制御部43を含む。動作制御部43は、ロボット1を駆動するための動作指令をロボット駆動部45に送出する。ロボット駆動部45は、ロボット駆動装置17を駆動する電気回路を含む。また、動作制御部43は、ハンド2を駆動する動作指令をハンド駆動部44に送出する。ハンド駆動部44は、ハンド駆動装置18を駆動する電気回路を含む。ロボット制御装置40は、PLC30からの制御信号に基づいて、ロボットプログラムの指令文を生成するロボットプログラム生成部46を備える。ロボットプログラム生成部46は、PLCプログラム76およびFBファイル73~75に関する制御信号39に基づいて、ロボット言語にてロボットプログラム77の指令文を生成する。
 動作制御部43およびロボットプログラム生成部46は、ロボット装置を制御するプログラムに従って駆動するプロセッサに相当する。プロセッサがプログラムに定められた制御を実施することにより、動作制御部43およびロボットプログラム生成部46として機能する。
 ロボット制御装置40は、ロボット1およびハンド2の制御に関する情報を記憶する記憶部42を含む。記憶部42は、情報の記憶が可能で非一時的な記憶媒体にて構成されることができる。例えば、記憶部42は、揮発性メモリ、不揮発性メモリ、磁気記憶媒体、または光記憶媒体等の記憶媒体にて構成することができる。
 図2および図12を参照して、本実施の形態の動作制御部43は、ロボットを動作させるためのロボットプログラム77に記載される指令文に基づいて、ロボット1およびハンド2の動作指令を生成する。ロボットプログラムは、ロボット言語にて記載されている。ここでの例においては、3つの教示点の位置P[1]、位置P[2]、および位置P[3]を通る様に駆動するロボットのロボットプログラムが示されている。
 1行目の指令文において、記号Lは、ロボットの位置が直線的に移動する指令を示している。記号P[1]は、教示点の位置および教示点におけるロボットの姿勢を示す。また、ロボットの位置(ツール先端点)の移動速度が1200mm/secであることが示されている。記号FINEは、教示点を通る様にロボットを駆動することを示している。
 2行目の指令文および3行目の指令文において、記号Jは、ロボット1の複数の駆動軸の駆動によりロボットの位置が曲線状に移動する指令を示している。また、各駆動軸の最高速度に対して80%または100%の速度にて、各駆動軸を駆動することが示されている。
 図10、図11、および図12を参照して、本実施の形態のPLC30の制御信号送出部36は、ロボット1の1個の動作を行うごとに制御信号39をロボット制御装置40に送信する。制御信号送出部36は、PLCプログラム76の領域76bに記載された関数FRCを実行するごとにロボット装置の動作に係る制御信号39を送出する。ロボットプログラム生成部46は、ロボット1の動作を行う制御信号39を受信するごとに、ロボット言語による指令文を生成する。
 例えば、PLC30は、ロボット装置5を駆動するためにPLCプログラム76を実行する。FBファイルに定義されている変数plcrobot.input.のデータは、ロボットの動作に関するパラメーターとして使用される。制御信号送出部36は、変数plcrobot.input.に値が入力されると、変数plcrobot.input.のデータを、ロボット制御装置40のロボットプログラム生成部46に送信する。ロボットプログラム生成部46は、変数plcrobot.input.のデータに基づいて、ロボット言語にて生成された指令文を生成する。
 図7を参照して、第1の教示点83aまでロボットの位置が移動する動作では、ロボットプログラム生成部46は、変数plcrobot.input.CMD_IDが1である制御信号を取得する。ロボットプログラム生成部46は、ロボットの動作が直線的な動作であり、位置決めの動作であると判別する。また、ロボットプログラム生成部46は、変数plcrobot.input.VAL1に関する制御信号により動作速度を取得し、変数plcrobot.input.POSに関する制御信号により目標位置を取得する。ロボットプログラム生成部46は、これらの変数のデータに基づいて、図2に示すロボットプログラム77の1行目の指令文を生成する。そして、ロボット制御装置40の動作制御部43は、生成された指令文を読み込んでロボット1を制御する。
 本実施の形態における制御システム9では、シミュレーション装置20がPLCプログラム76を生成するための補助ファイル群70を出力できる。補助ファイルに含まれるPLCプログラム76にて使用される関数および変数は、ロボット1を動作させる制御の指令を含む。シミュレーション装置20は、PLCプログラム76にて使用される言語にて記載された補助ファイルを出力することができる。
 このために、PLC30を使用する作業者は、シミュレーション装置20から出力される補助ファイル群70をPLCプログラム76の形式に変換することなく、PLC30に取り込むことができる。そして、PLC30にてPLCプログラム76を生成して、ロボット装置5を駆動することができる。また、PLC30において、プログラムファイル71およびFBファイル73~75等の補助ファイル、またはPLCプログラム生成部35にて生成されたPLCプログラム76を修正することができる。作業者は、PLC30にて使用される言語を用いてロボット装置5を駆動するプログラムを修正することができる。このように、作業者は、ロボット言語にて記載されたロボットプログラム77を作成する必要がなく、ロボット言語を熟知していなくても、PLCプログラム76にてロボット装置5を操作することができる。
 本実施の形態においては、ロボット制御装置40は、PLC30からの制御信号39に基づいて、ロボットプログラム77の指令文を生成するが、この形態に限られない。ロボット制御装置40の動作制御部43は、PLC30からの制御信号39に基づいて、直接的にロボット1を動作させる動作指令を生成しても構わない。すなわち、ロボット制御装置40は、ロボットプログラム77の指令文を生成せずに動作指令を生成しても構わない。
 また、本実施の形態では、PLC30にてロボットの1個の動作の指令文を実行する度に、制御信号39をロボット制御装置40に送出しているが、この形態に限られない。ロボット制御装置40のロボットプログラム生成部46は、シミュレーション装置20にて生成されたFBファイル73~75と、PLC30にて生成されたPLCプログラム76とを取得した後に、複数の指令文を含むロボットプログラム77を生成しても構わない。ロボット制御装置40は、取得したPLCプログラム76を記憶部42に記憶する。また、ロボット制御装置40は、シミュレーション装置20にて生成されたFBファイル73~75を予め定められた記憶領域に記憶する。
 次に、ロボットプログラム生成部46は、PLCプログラム76およびFBファイル73~75に基づいて、ロボットプログラム77を生成しても構わない。ロボットプログラム生成部46は、PLCプログラム76のST言語にて記載された指令文を、ロボットプログラム77のロボット言語の指令文に変換する。ロボットプログラム生成部46は、複数の指令文を含むロボットプログラム77を生成することができる。ロボットプログラム77は、記憶部42に記憶される。動作制御部43は、ロボットプログラム生成部46にて生成されたロボットプログラム77に基づいて、ロボット1およびハンド2を制御することができる。
 上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
 本実施の形態のPLCプログラムを生成するPLCプログラム生成部は、PLCに配置されているが、この形態に限られない。PLCプログラム生成部は、シミュレーション装置に配置されていても構わない。すなわち、シミュレーション装置は、補助ファイル群に基づいてPLCプログラムを生成しても構わない。
 上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、請求の範囲に示される実施の形態の変更が含まれている。
 1 ロボット
 5 ロボット装置
 9 制御システム
 20 シミュレーション装置
 24 処理部
 26 シミュレーション実行部
 28 動作情報取得部
 29 補助ファイル生成部
 30 PLC
 35 PLCプログラム生成部
 70 補助ファイル群
 71 プログラムファイル
 72 変数ファイル
 73,74,75 FBファイル
 76 PLCプログラム

Claims (4)

  1.  ロボットの動作条件に基づいて、ロボットの動作のシミュレーションを実施するシミュレーション実行部と、
     シミュレーション実行部によるシミュレーションの結果に基づいて、ロボットの動作情報を取得する動作情報取得部と、
     ロボットの動作情報に基づいて、プログラマブルロジックコントローラが読み込んで実行することができる言語にて記載されたプログラムを生成するための複数の補助ファイルを生成する補助ファイル生成部と、を備える、シミュレーション装置。
  2.  複数の補助ファイルは、ロボットの動作を示す関数が記載されたプログラムファイルと、変数の定義が記載された変数ファイルと、プログラムファイルの前記関数に対応するロボットの動作の内容が記載されたファンクションブロックファイルとを含む、請求項1に記載のシミュレーション装置。
  3.  プロセッサを含むパーソナルコンピュータを備え、
     プロセッサがシミュレーションを実施するためのプログラムに基づいて駆動することにより、前記シミュレーション実行部、前記動作情報取得部、および前記補助ファイル生成部として機能する、請求項1に記載のシミュレーション装置。
  4.  請求項1に記載のシミュレーション装置と、
     前記プログラマブルロジックコントローラと、を備え、
     前記プログラマブルロジックコントローラは、複数の補助ファイルに基づいて、前記プログラマブルロジックコントローラを駆動するプログラムを生成するプログラム生成部を備える、制御システム。
PCT/JP2021/039885 2021-10-28 2021-10-28 補助ファイルを生成するシミュレーション装置および制御システム WO2023073883A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/039885 WO2023073883A1 (ja) 2021-10-28 2021-10-28 補助ファイルを生成するシミュレーション装置および制御システム
TW111137240A TW202333917A (zh) 2021-10-28 2022-09-30 生成輔助檔案的模擬裝置及控制系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/039885 WO2023073883A1 (ja) 2021-10-28 2021-10-28 補助ファイルを生成するシミュレーション装置および制御システム

Publications (1)

Publication Number Publication Date
WO2023073883A1 true WO2023073883A1 (ja) 2023-05-04

Family

ID=86157519

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/039885 WO2023073883A1 (ja) 2021-10-28 2021-10-28 補助ファイルを生成するシミュレーション装置および制御システム

Country Status (2)

Country Link
TW (1) TW202333917A (ja)
WO (1) WO2023073883A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108220A (ja) * 2001-09-28 2003-04-11 Omron Corp 制御プログラム開発支援方法及び装置
JP2004148428A (ja) * 2002-10-30 2004-05-27 Honda Motor Co Ltd シミュレーション装置
US20180203973A1 (en) * 2017-01-16 2018-07-19 Siemens Aktiengesellschaft System and simulator for the disengageable simulation of installations or machines within programmable logic controllers
WO2019235313A1 (ja) * 2018-06-05 2019-12-12 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム
WO2021053855A1 (ja) * 2019-09-17 2021-03-25 オムロン株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108220A (ja) * 2001-09-28 2003-04-11 Omron Corp 制御プログラム開発支援方法及び装置
JP2004148428A (ja) * 2002-10-30 2004-05-27 Honda Motor Co Ltd シミュレーション装置
US20180203973A1 (en) * 2017-01-16 2018-07-19 Siemens Aktiengesellschaft System and simulator for the disengageable simulation of installations or machines within programmable logic controllers
WO2019235313A1 (ja) * 2018-06-05 2019-12-12 オムロン株式会社 シミュレーション装置、シミュレーション装置の制御方法、およびシミュレーション装置のプログラム
WO2021053855A1 (ja) * 2019-09-17 2021-03-25 オムロン株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法

Also Published As

Publication number Publication date
TW202333917A (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
JP6950347B2 (ja) 情報処理装置、情報処理方法およびプログラム
US6445964B1 (en) Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
JP3819883B2 (ja) ロボットプログラム位置修正装置
Zivanovic et al. An approach for applying STEP-NC in robot machining
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
Bolmsjö et al. Robotic arc welding–trends and developments for higher autonomy
JPWO2004085120A1 (ja) ロボットシミュレーション装置、および、シミュレーションプログラム
WO2021153521A1 (ja) 制御プログラム生成装置、制御プログラム生成方法、プログラム
JP2019061523A (ja) 情報処理装置、情報処理方法およびプログラム
González-Palacios Advanced engineering platform for industrial development
WO2023073883A1 (ja) 補助ファイルを生成するシミュレーション装置および制御システム
CN116096534A (zh) 用于对机器人进行编程的方法和系统
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
JP5272447B2 (ja) 数値制御機械の動作シミュレータ
Nilsson G-Code to RAPID translator for Robot-Studio
JP2009166172A (ja) ロボットのシミュレーション方法及びロボットのシミュレーション装置
KR19980020028A (ko) 가상의 컴퓨터 수치 제어 공작 시스템 및 방법
JP2022190235A (ja) 情報処理装置、情報処理方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体
JP7232704B2 (ja) ロボットプログラム評価装置、ロボットプログラム評価方法及びロボットプログラム評価プログラム
JP2008532130A (ja) 制御装置のインタプリタによるサブプログラムの翻訳のための方法
JPH02176906A (ja) 動作状態表示装置,動作指示制御装置および制御装置
JPH08137532A (ja) ロボット動作プログラム作成方法およびロボット教示方法
JP2001042907A (ja) シーケンス制御装置
US20230405819A1 (en) A robot controller with integrated logic functionality
JP2916854B2 (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: 21962429

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023555995

Country of ref document: JP