Information processing apparatus, information processing method, production system, method for manufacturing article, program, and recording medium

The information processing device and method address the inefficiency in verifying design errors and bugs by virtually operating devices with overlapping spatial ranges and determining spatial interference, resulting in reduced information processing and improved operator efficiency.

JP2025061563APending Publication Date: 2025-04-10CANON KK
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2025008691
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-01-31
Filing Date
2025-01-21
Publication Date
2025-04-10

AI Technical Summary

Technical Problem

Existing methods for verifying design errors and bugs in production equipment, such as those described in Patent Document 1, require processing all combinations of trajectory models, leading to inefficient information processing and operator confirmation.

Method used

An information processing device and method that virtually execute the operation of devices with overlapping spatial operating ranges, allowing for the determination of spatial interference between these devices, thereby reducing the amount of information processing required.

Benefits of technology

This approach enables efficient virtual operation checking, reducing the amount of information processing and allowing operators to confirm device operations more efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025061563000001_ABST
    Figure 2025061563000001_ABST
Patent Text Reader

Abstract

To provide an information processing apparatus that, when an operator virtually checks the operation of an apparatus, allows the operator to efficiently check the operation.SOLUTION: An information processing apparatus as an aspect of the present invention virtually executes the operation of an apparatus having a plurality of devices, and comprises a display unit and a control unit. The control unit extracts a device to be virtually operated from the plurality of devices on the basis of an operation range of the devices, and displays the extracted device on the display unit as an object to be checked.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device and an information processing method. [Background technology]

[0002] In the field of production equipment, etc., there is a demand for shortening the time required from the start of the design of the equipment until the equipment is actually put into operation and put into practical use (start-up lead time). Therefore, instead of actually producing the production equipment and then using the actual equipment to verify design errors and bugs in the mechanical mechanism, a method is used in which the equipment is operated in a virtual space during the design stage to verify design errors and bugs. Even after the production equipment is produced, when changing or correcting the operating program, a method is sometimes used to verify design errors and bugs in the mechanical mechanism and bugs in the operating program before actually operating the equipment.

[0003] For example, Patent Document 1 discloses a trajectory interference verification program that creates trajectory model data by operating virtual models and judges whether there is overlap between trajectory models (overlapping models) in all combinations of trajectory models. If there is overlap between trajectory models (overlapping models), the time when interference between each virtual model and the overlapping model starts and the time when the interference ends are identified. For each overlapping model, it is judged whether there is overlap in the time when the overlapping model interferes with each virtual model, and if there is overlap, it is judged that interference between the virtual models is occurring. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2008-234622 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, the method described in Patent Document 1 requires verification of all combinations of trajectory models, which results in a large amount of information processing, making it difficult for an operator to efficiently check the operation of a virtual device.

[0006] In view of the above-mentioned problems, the present invention provides an information processing device that enables an operator to efficiently check the operation of a device virtually. [Means for solving the problem]

[0007] A first aspect of the present invention is an information processing device that virtually executes the operation of an apparatus having a plurality of devices, and is equipped with a control unit, wherein the control unit extracts at least two devices from the plurality of devices, each of which has a partial overlap in its spatial operating range, virtually operates the at least two extracted devices, and determines whether the at least two devices spatially interfere with each other.

[0008] A second aspect of the present invention is an information processing method for virtually executing the operation of an apparatus having a plurality of devices, characterized in that a control unit extracts at least two devices from the plurality of devices, each of which has a partial overlap in its spatial operating range, virtually operates the at least two extracted devices, and determines whether the at least two devices spatially interfere with each other. Effect of the Invention

[0009] According to the present invention, the amount of information processing can be reduced so that the operation of a device can be efficiently confirmed virtually. [Brief description of the drawings]

[0010] [Figure 1] 1 is a schematic diagram of an automated assembly apparatus 100 according to an embodiment. [Diagram 2] FIG. 1 is a control block diagram of a production system 1000 according to an embodiment. [Diagram 3]FIG. 1 is a control block diagram of a production system 1000 according to an embodiment. [Figure 4] 4 is a control flowchart for executing a simulation in the embodiment. [Diagram 5] FIG. 2 is a diagram showing a virtual model of a part of an automated assembly apparatus 100 according to an embodiment. [Figure 6] FIG. 4 is a diagram illustrating an example of a setting screen in the embodiment. [Figure 7] FIG. 13 is a diagram illustrating an example of a confirmation screen in the embodiment. [Figure 8] FIG. 13 is a diagram illustrating an example of an execution screen according to the embodiment. [Figure 9] FIG. 13 is a diagram illustrating an example of an execution screen according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, the embodiment for carrying out the present invention will be described with reference to the attached drawings. Note that the embodiment shown below is merely an example, and for example, the detailed configuration can be appropriately changed by a person skilled in the art within the scope of the present invention. Also, the numerical values ​​taken up in this embodiment are reference numerical values ​​and do not limit the present invention. Note that in the drawings referred to in the description of the following embodiment and examples, elements indicated by the same reference numbers have the same functions unless otherwise noted. Note that in the following drawings, the arrows X, Y, and Z in the figures indicate the world coordinate system XYZ of the entire device environment, and the local coordinate system xyz may be used appropriately for the robot, finger parts, joints, etc., depending on the convenience of control.

[0012] FIG. 1 is a schematic diagram showing an example of an automatic assembly device 100 of a system according to an embodiment. FIG. 1 illustrates the automatic assembly device 100 in a real space RS. The automatic assembly device 100 shown in FIG. 1 is installed in a factory, for example. The automatic assembly device 100 includes three orthogonal robots 104, 105, and 106 as an example of a plurality of automatic machines. The three orthogonal robots 104, 105, and 106 are arranged on a stand 20. By using these orthogonal robots 104, 105, and 106, a workpiece W3, which is an example of an article, is manufactured by assembling a workpiece W2, which is a second workpiece, as a material to a workpiece W1, which is a first workpiece. A rail 103 is laid on the stand 20, and a transport platform 111 on which the workpiece W1 and the workpiece W3 are placed is movable on the rail 103. The Cartesian robot 104 has a hand 114, which is an example of a holding part capable of holding the workpiece W1, and a movement mechanism 124 that moves the hand 114 in a translational direction. The Cartesian robot 105 has a hand 115, which is an example of a holding part capable of holding the workpiece W1, and a movement mechanism 125 that moves the hand 115 in a translational direction. The Cartesian robot 106 has a hand 116, which is an example of a holding part capable of holding the workpiece W2, and a movement mechanism 126 that moves the hand 116 in a translational direction. The Cartesian robots 104, 105, and 106 are arranged so that their operable ranges overlap each other.

[0013] Each of the Cartesian robots 104 and 105 acquires the workpiece W1 transported by the transport table 111. The Cartesian robot 106 acquires the workpiece W2 transported from a transport device (not shown). Then, each of the Cartesian robots 104 and 105 transports the workpiece W1 from the position where the workpiece W1 was acquired to a position where the workpiece W2 is to be assembled to the workpiece W1. The Cartesian robot 106 assembles the held workpiece W2 to the workpiece W1 held by each of the Cartesian robots 104 and 105. Then, each of the Cartesian robots 104 and 105 transports the workpiece W3 composed of the workpieces W1 and W2 to the transport table 111. The Cartesian robot 104 and the Cartesian robot 105 alternately and repeatedly execute this series of operations.

[0014] 2 is a control block diagram of a production system 1000 which is an example of a system according to an embodiment. The production system 1000 includes the above-mentioned automated assembly device 100, diagnostic device 200, simulation device 300, and management device 400. The production system 1000 also includes a PLC (Programmable Logic Controller) 500 which is an example of a first control unit, and a PLC 600 which is an example of a second control unit. As will be described later, the diagnostic device 200 and the simulation device 300 are configured by a computer (information processing device).

[0015] The diagnostic device 200 is configured as a computer and includes a processor, that is, a central processing unit (CPU) 201. The CPU 201 functions as a diagnostic unit, which will be described later. The diagnostic device 200 also includes a read only memory (ROM) 202, a random access memory (RAM) 203, and a hard disk drive (HDD) 204 as storage units. The diagnostic device 200 also includes an I / O 205, which is an input / output interface, and a disk drive 206. The CPU 201, the ROM 202, the RAM 203, the HDD 204, the I / O 205, and the disk drive 206 are connected by a bus 210 so as to be able to communicate with each other.

[0016] The ROM 202 is a non-transient storage device. The ROM 202 stores a basic program that is read by the CPU 201 when the computer is started. The RAM 203 is a temporary storage device used for the arithmetic processing of the CPU 201. The HDD 204 is a non-transient storage device that stores various data such as the arithmetic processing results of the CPU 201. In this embodiment, the HDD 204 stores a diagnostic program 211 for making the CPU 201 function as a diagnostic unit described later and execute a part of a simulation method. The disk drive 206 can read various data, programs, etc. recorded in the recording disk 212. The I / O 205 functions as a communication module with the outside. The display device 221, the input device 222, the management device 400, and the PLC 500 are connected to the I / O 205. The CPU 201 of the diagnosis device 200 can communicate information with the management device 400 and the PLC 500 via the I / O 205. The display device 221 is a display that displays various images. The input device 222 is a device that allows an operator to input data, such as a keyboard or a mouse.

[0017] The simulation device 300 is configured as a computer, and includes a processor, CPU 301. The CPU 301 functions as a simulation unit, which will be described later. The simulation device 300 also includes a ROM 302, a RAM 303, and a HDD 304 as storage units. The simulation device 300 also includes an I / O 305, which is an input / output interface, and a disk drive 306. The CPU 301, ROM 302, RAM 303, HDD 304, I / O 305, and disk drive 306 are connected by a bus 310 so as to be able to communicate with each other.

[0018] The ROM 302 is a non-transient storage device. The ROM 302 stores a basic program that is read by the CPU 301 when the computer is started. The RAM 303 is a temporary storage device used for the arithmetic processing of the CPU 301. The HDD 304 is a non-transient storage device that stores various data such as the arithmetic processing results of the CPU 301. In this embodiment, the HDD 304 stores a simulation program 311 for making the CPU 301 function as a simulation unit described later and execute a part of a simulation method. The disk drive 306 can read various data, programs, etc. recorded in the recording disk 312. The I / O 305 functions as a communication module with the outside. The display device 3210, the input device 3220, the management device 400, and the PLC 500 are connected to the I / O 305. The CPU 301 of the simulation device 300 can communicate information with the management device 400 and the PLC 500 via the I / O 305. The display device 3210 is a display that displays various images. The input device 3220 is a device that allows an operator to input data, such as a keyboard or a mouse.

[0019] The management device 400 is configured as a computer, and includes a CPU 401 which is a processor. The CPU 401 functions as a management unit, which will be described later. The management device 400 also includes a ROM 402, a RAM 403, and a HDD 404 as storage units. The management device 400 also includes an I / O 405 which is an input / output interface, and a disk drive 406. The CPU 401, ROM 402, RAM 403, HDD 404, I / O 405, and disk drive 406 are connected by a bus 410 so as to be able to communicate with each other. The ROM 402 is a non-transient storage device. The ROM 402 stores a basic program that is read by the CPU 401 when the computer is started. The RAM 403 is a temporary storage device used for the arithmetic processing of the CPU 401. The HDD 404 is a non-transient storage device that stores various data such as the arithmetic processing results of the CPU 401. The HDD 404 stores a management program 411 for making the CPU 401 function as a management unit described later. The disk drive 406 can read various data and programs recorded in the recording disk 412. The I / O 405 functions as a communication module with the outside. The display device 421, the input device 422, the diagnostic device 200, the simulation device 300, the PLC 500, and the PLC 600 are connected to the I / O 405. The CPU 401 of the management device 400 can communicate information with the diagnostic device 200, the simulation device 300, the PLC 500, and the PLC 600 via the I / O 405. The display device 421 is a display that displays various images. The input device 422 is a device that allows an operator to input data, such as a keyboard or a mouse. The PLC 600 is connected to the automated assembly apparatus 100.

[0020] PLC 600 outputs a control signal to automated assembly apparatus 100 based on ladder program 800, which is a ladder program after diagnosis of ladder program 800A described later. This enables sequence control of Cartesian robots 104, 105, and 106 of automated assembly apparatus 100 in real space. PLC 500 has the same configuration as PLC 600, and outputs a control signal to simulation apparatus 300 to enable sequence control of a virtual machine in virtual space.

[0021] In this embodiment, the non-transient recording medium readable by a computer is the HDD 204, and the diagnostic program 211 is recorded in the HDD 204, but this is not limiting. The diagnostic program 211 may be recorded in any recording medium as long as it is a non-transient recording medium readable by a computer. The same applies to the simulation program 311 and the management program 411. As a recording medium for supplying the diagnostic program 211, the simulation program 311, and the management program 411 to a computer, for example, a flexible disk, an optical disk, a magneto-optical disk, a magnetic tape, a non-volatile memory, etc. can be used.

[0022] Fig. 3 is a functional block diagram of a production system 1000 according to an embodiment. Each functional element shown in Fig. 3 is a functional concept, and does not necessarily have to be physically configured as shown in the figure. For example, the specific form of distribution and integration of each functional block is not limited to the illustrated example, and all or part of them can be functionally or physically distributed and integrated in any unit depending on the usage situation, etc. The illustrated system can be used, for example, as a support device (support system) when designing or debugging a production device.

[0023] 2 executes the diagnostic program 211 to function as a diagnostic unit 250 shown in Fig. 3. The diagnostic unit 250 performs an operation simulation based on a ladder program 800A registered in the PLC 500. The diagnostic device 200 further includes a first communication module 270.

[0024] The diagnostic device 200 is connected to the simulation device 300 by a first communication module 270. The simulation device 300 communicates information via the first communication module 270. The diagnostic unit 250 instructs the PLC 500 to perform an operation simulation based on the ladder program 800A. The state of the diagnostic device 200 is displayed on the display device 221.

[0025] 2 executes a simulation program 311 to function as a simulation module 350 shown in Fig. 3. In addition, a part of the HDD 304 of the simulation device 300 shown in Fig. 2 functions as a model registration unit 360 shown in Fig. 3.

[0026] The simulation device 300 is an information processing device that includes a CPU, a memory, and the like, and that performs an operation simulation of an automatic machine such as a production device. The display device 3210 is a display. The input device 3220 includes a keyboard, a mouse, and the like. The simulation device 300 has a simulation module 350 and a second communication module 3700. The state of the simulation device 300 is displayed on the display device 3210. The simulation device 300 is connected to the PLC 500 by the second communication module 3700. The simulation device 300 communicates information with the PLC 500 via the second communication module 3700.

[0027] The simulation module 350 has an axis module 351, a virtual operating range calculation module 352, and an interference confirmation module 353. The simulation module 350 simulates the behavior of the virtual machine according to a control signal from the PLC 500, based on the virtual machine, which is a 3D model registered in the model registration unit 360, and the ladder program 800A. In this embodiment, the diagnosis device 200 and the simulation device 300 are provided with independent display devices and input devices. However, the diagnosis device 200 and the simulation device 300 may be configured as one PC, and may be provided with one display device and one input device.

[0028] 2 executes a management program 411 to function as a management unit 450 shown in Fig. 3. The management unit 450 executes ladder program management 451, 3D model management 452, diagnostic range management 453, and 3DCAD conversion processing 454. The diagnostic range management 453 has information on the maximum movable range of each mechanical mechanism of the automated assembly apparatus 100.

[0029] The management unit 450 also executes 3D model management 452 that manages a 3D model of the mechanical mechanism of the automated assembly equipment 100. The 3D model of the mechanical mechanism is input to the management unit 450 by an input device 422 operated by an operator, and is registered, for example, in the HDD 404 of Fig. 2. The 3D model of the mechanical mechanism is diagnosed by the diagnosis unit 250 of the diagnosis device 200. The management unit 450 acquires the diagnosis result of the mechanical mechanism from the diagnosis unit 250, and causes the display device 421 to display an image corresponding to the diagnosis result.

[0030] The management unit 450 also executes a 3D CAD conversion process 454, which converts the 3D model of the mechanical mechanism of the automatic machine managed by the 3D model management 452 into a format that can be simulated by the simulation module 350 and delivers the 3D model to the simulation device 300. The 3D model delivered by the management unit 450 is registered in the model registration unit 360 of the simulation device 300.

[0031] The management device 400 checks the operation of the ladder program 800A using a diagnosis device 200 and a simulation device 300, which will be described later, and outputs the ladder program 800A, which has been modified as necessary, to the PLC 600 as the ladder program 800. The PLC 600 controls the automated assembly device 100 in the real space based on the ladder program 800.

[0032] In the diagnosis unit 250, the relationship between the axes that operate in the automatic machine (such as a production device) that is the subject of the simulation and the switches for operating the axes (how each axis moves within its maximum movable range) is registered based on the ladder program 800A. When checking (simulating) the operation of a specific axis of the automatic machine based on these relationships, the operator specifies the axis from the input device 222 according to the screen displayed on the display device 221. When the operation of the axis to be simulated is selected from the input device 222, a switch signal for operating the axis is output from the diagnostic device 200. The switch signal for operating the axis is input to the PLC 500 via the first communication module 270.

[0033] The PLC 500 calculates and outputs a signal for operating the axis from the switch signal for operation. The signal for operating the axis is input to the simulation module 350 via the second communication module 3700. The simulation module 350 determines which axis is to be virtually operated in the virtual space from the signal for operating the axis input from the PLC 500. The axis module 351 stores information (point, speed, acceleration, stroke, etc.) required to operate the axis by virtual control.

[0034] An axis module 351 operates each axis in the virtual space. A virtual motion range calculation module 352 calculates the motion range of each axis within the maximum possible range from the stroke (motion range) setting of each axis stored in the axis module 351. While the axis module 351 is simulating the motion of each axis, an interference confirmation module 353 checks in real time whether or not interference has occurred between each axis and other elements. An operator can check the state of each axis moving in the virtual space from the display information on the display device 3210.

[0035] Furthermore, by providing the ladder program 800A for which the operation is to be checked to the diagnosing unit 250, a test using the switches of the axes to be operated can be automatically performed. Information related to the simulation device 300 is displayed on the display device 3210. The worker can refer to the displayed information and input the information to the simulation device 300 using a designer's machine connected to the input device 3220. That is, the worker may select a mechanism to be simulated from among a plurality of mechanisms included in an automatic machine (such as a production device) and input the information to the simulation device 300. When emulating the PLC 500, the PLC 500 and the diagnostic unit 250 may be included in the simulation device 300. In that case, the first communication module 270 and the second communication module 3700 do not need to be used.

[0036] In the above description, the display output of diagnostic device 200 is output to display device 221, and the display output of simulation device 300 is output to display device 3210. However, diagnostic device 200 and simulation device 300 are communicatively connected via each communication module and PLC 500. Therefore, the display output of diagnostic device 200 may be output to display device 3210, and the display output of simulation device 300 may be output to display device 221.

[0037] Next, an algorithm of the interference checking function according to this embodiment will be specifically described with reference to the functional block diagram of Fig. 3 and the flowchart of Fig. 4. The algorithm of the interference checking function is stored in the interference checking module 353.

[0038] First, in the flowchart of Fig. 4, in step 201, the stroke of each axis is set. In this embodiment, the stroke of each axis is set by an operator using the input device 3220 while referring to a screen displayed on the display device 3210. The setting data of the stroke of each axis is stored in the axis module 351 in the simulation module 350. Next, in step 202 , the motion range of each axis in the virtual space is calculated by the virtual motion range calculation module 352 based on the stroke of each axis stored in the axis module 351 . Next, in step 203, based on the calculated motion range of each axis in the virtual space, a portion where the motion ranges of the axes overlap is extracted (or calculated) as an object for interference confirmation.

[0039] Next, in step 204, the interference confirmation targets extracted (or calculated) for each axis are registered in the interference confirmation module 353 as interference confirmation targets for each axis. Next, when a simulation using the virtual device is started in step 205, a calculation is performed in step 206 as a basis for determining whether or not interference has occurred in the virtual device, and in step 207 it is determined whether or not interference has occurred. If it is determined that interference is occurring (step 207: YES), in step 208, information regarding the status of PLC 500 is obtained via the second communication module 3700, and output as interference information together with information regarding the location where the interference was occurring. If it is determined that no interference has occurred (step 207: NO), then in step 209 it is determined whether a request to end the simulation has been input from the input device 3220.

[0040] If a request to end the simulation has been input (step 209: YES), the simulation is ended (END). If a request to end the simulation has not been input (step 209: NO), the process proceeds to step 210, where it is determined whether or not any axis in the virtual device is currently operating. If no axis is currently operating (step 210: NO), step 210 is repeatedly executed until an axis currently operating is detected.

[0041] If there is an axis currently in operation (step 210: YES), the process proceeds to step 211, where the interference check is enabled according to the registered contents of the interference check target for the axis in operation. Then, a calculation is performed as a basis for determining whether interference has occurred between the axis in operation and the interference check target, and in step 212, it is determined whether interference has occurred.

[0042] If it is determined that interference is occurring (step 212: YES), in step 213, information regarding the status of PLC 500 is obtained via the second communication module 3700, and output as interference information together with information regarding the location where the interference was occurring. If it is determined that no interference has occurred (step 212: NO), then in step 214 it is determined whether a request to end the simulation has been input from the input device 3220 or whether confirmation of all operations has been completed.

[0043] If a request to end the simulation has been input or confirmation of all the movements has been completed (step 214: YES), the simulation is ended (END). If a request to end the simulation has not been input or confirmation of all the movements has not been completed (step 214: NO), the process returns to just before step 210 and again determines whether or not any axis in the virtual space is currently operating.

[0044] In this embodiment, the simulation device 300 performs an operation simulation of an automatic machine such as a production device in a virtual space (VS), and Fig. 5(a) and Fig. 5(b) show diagrams in which a part of the automatic assembly device 100 in Fig. 1 is represented in the virtual space (VS). Fig. 5(a) shows a perspective view of a part of the automatic assembly device 100, and Fig. 5(b) shows a front view of a part of the automatic assembly device 100. As shown in Figures 5(a) and 5(b), NC 361 (axis 1) is an NC that moves up and down and has a finger 362 at its tip. NC 365 (axis 2) is an NC that moves up and down and has a finger 366 at its tip. NC 369 (axis 3) is an NC that moves left and right and has a base 370 on top.

[0045] Next, an example of simulating a part of the virtual automated assembly apparatus 100 shown in Figures 5(a) and 5(b) by operating a virtual model in a virtual space will be described in detail with reference to Figures 4, 6, 7, 8, and 9.

[0046] Figure 6 is an example of a setting screen displayed on the display device 221 or the display device 3210 when setting the stroke (operating range) of each axis in step 201 of Figure 4. In Figure 6, a stroke setting section 330 for setting the stroke of each axis, a virtual model display section 340 for displaying a virtual model of a part of the automated assembly device 100 shown in Figures 5(a) and 5(b), an interference check button 334, and an automatic operating range setting button 335 are displayed. In the stroke setting section 330, the axes and fingers that make up the device are displayed in a tree format. Clicking on "Device 1" expands and displays detailed information about each piece of equipment. Axis 1 is fixed to fixing section 390, and clicking on "Fixing section (390) of axis 1" expands and displays the items "NC 361" and "Fingers 362". Similarly, axis 2 is fixed to fixed part 391, and when "fixed part of axis 2 (391)" is clicked, the items "NC 365" and "Finger 366" are expanded and displayed. Axis 3 is fixed to fixed part 392, and when "fixed part of axis 3 (392)" is clicked, the items "NC 369" and "Platform 370" are expanded and displayed.

[0047] When the "NC361" item is clicked, items for setting specific values ​​for the stroke of axis 1 are expanded and displayed. When the "Ascent Position" item or the "Downward Position" item is clicked, axis 1 is entered in column 331, which indicates the axis number, a cell for setting the ascending position is displayed in column 332, and a cell for setting the descending position is displayed in column 333. In this embodiment, an arbitrary position P1 in the XYZ coordinate system is set as the ascending position of axis 1, and an arbitrary position P2 in the XYZ coordinate system is set as the descending position of axis 1 using a keyboard or the like. Columns 332 and 333 serve as position input sections.

[0048] Similarly, for axis 2 and axis 3, when the "NC365" item or the "NC369" item is clicked, items for setting specific values ​​of the stroke are expanded and displayed. When the "Ascent (upstream) position" item or the "Downstream (downstream) position" item for each axis is clicked, axis 2 or axis 3 is described in column 331 indicating the axis number, a cell for setting the ascending (upstream) position is displayed in column 332, and a cell for setting the descending (downstream) position is displayed in column 333. In this embodiment, an arbitrary position P3 in the XYZ coordinate system is set as the ascending position of axis 2, and an arbitrary position P4 in the XYZ coordinate system is set as the descending position of axis 2, using a keyboard or the like. Also, an arbitrary position P5 in the XYZ coordinate system is set as the upstream position of axis 3, and an arbitrary position P6 in the XYZ coordinate system is set as the downstream position of axis 3, using a keyboard or the like.

[0049] In the above example, each position is set using a keyboard or the like, but it is also possible to select a cell for setting each position and then use the mouse to specify and set any position in the virtual model display area 340. Furthermore, when a specific axis is moved within the maximum movable range, the motion range automatic setting button 335 is pressed. When the motion range automatic setting button 335 is pressed, the simulation device 300 refers to the diagnosis range management 453 and automatically sets the maximum movable range of each axis as the motion range of each axis. This makes it easy to set the motion range of each axis. However, if the maximum movable range is set as the motion range, the number of objects to be checked for interference will increase, so it is preferable to set an appropriate motion range. The motion range automatic setting button 335 is a first automatic setting button.

[0050] Next, in step 202 of FIG. 4, the virtual motion range calculation module 352 calculates a virtual motion range including devices linked to each axis in the virtual space from the stroke (motion range) settings of each axis set above, and displays it typically on the virtual model display unit 340.

[0051] The virtual operating range of NC 361 (axis 1) is shown diagrammatically by a dotted line as a virtual operating range 363 of axis 1. Within the virtual operating range of NC 361 (axis 1), the position of finger 362 at the lowest position is shown diagrammatically by a dotted line as a position 364. The virtual operating range of NC 365 (axis 2) is shown diagrammatically as virtual operating range 367 of axis 2. Within the virtual operating range of NC 365 (axis 2), the position of finger 366 at the lowest position is diagrammatically shown by a dotted line as position 368. The virtual operating range of NC 369 (axis 3) is represented diagrammatically by a dotted line as virtual operating range 371 of axis 3.

[0052] 4, based on the virtual motion range of each axis in the virtual space, the virtual motion range calculation module 352 extracts, as interference check targets, points where the virtual motion ranges of the axes overlap. That is, from the virtual motion ranges of each axis calculated in step 202, axes that may interfere with each other depending on the motion of each axis based on the ladder program 800A are extracted. Fig. 7 is an example of a confirmation screen displayed on the display device 221 or the display device 3210 when checking axes that may interfere with each other in step 203 in Fig. 4. When the user presses the interference confirmation button 334 from the state in Fig. 6, the screen transitions to the screen in Fig. 7.

[0053] 7 displays a collision target automatic setting button 341, a delete button 342, an edit button 343, a register button 344, and a simulation confirmation button 349. Also displayed are columns 345, 346, 347, and 348. 5(b), the virtual motion range 363, the virtual motion range 367, and the virtual motion range 371 overlap with each other in an overlapping region 380 where the virtual motion range 363 and the virtual motion range 371 overlap, and in an overlapping region 381 where the virtual motion range 367 and the virtual motion range 371 overlap. There are no overlapping regions (overlapping portions) between the virtual motion range 363 of NC 361 (axis 1) and the virtual motion range 367 of NC 365 (axis 2).

[0054] When the automatic collision target setting button 341 is pressed on the screen shown in Fig. 7, the virtual motion range calculation module 352 performs calculations based on each virtual motion range, and overlapping areas 380 and 381 are displayed in grayscale on the virtual model display section 340. Furthermore, equipment to be the subject of interference check is displayed in column 347, and possible collision targets assumed to collide with the interference check targets in column 347 are displayed in column 348. Column 346 displays the axis numbers of the axes having the equipment to be the subject of interference check. Column 345 displays the registration numbers automatically assigned to each combination of interference check targets and possible collision targets. The automatic collision target setting button 341 is a second automatic setting button.

[0055] Because area 380 exists, if finger 362 of axis 1 is set as the interference check target, base 370 of axis 3 is extracted as a possible interfering target (possible interfering target). Also, because area 381 exists, if finger 366 of axis 2 is set as the interference check target, base 370 of axis 3 is extracted as a possible interfering target (possible interfering target). Also, because areas 380 and 381 exist, if base 370 of axis 3 is set as the interference check target, finger 362 of axis 1 and finger 366 of axis 2 are extracted as possible interfering targets (possible interfering targets).

[0056] When an edit button 343 is pressed, the interference confirmation target and / or interference possibility target currently displayed in columns 345 to 348 can be changed to another device. Also, a combination of devices that was not extracted by the automatic interference target setting process can be added by assigning a new registration number. When the delete button 342 is pressed and any of the registration numbers are pressed, the combination of the interference confirmation target and the interference possibility target corresponding to the pressed registration number can be deleted. When the registration button 344 is pressed, the devices displayed in columns 345 to 348 are registered as simulation targets. Pressing the registration button 344 executes step 204 in Fig. 4, and the interference confirmation targets and possible interference targets extracted (or calculated) for each axis are registered in the interference confirmation module 353 in association with each axis. When the user presses the simulation confirmation button 349, the screen transitions to a screen for confirming the operation simulation of the devices displayed in columns 345 to 348, which will be described later.

[0057] After registration of targets for interference check is completed, the interference check module 353 and axis module 351 start simulation and interference check in step 205 in Fig. 4. Calculation that is the basis for judging whether interference has occurred in the virtual space is performed in step 206 in Fig. 4, and whether interference has occurred is judged in step 207 in Fig. 4.

[0058] Fig. 8 is an example of an operation screen displayed on the display device 221 or the display device 3210 when confirming an operation simulation in step 205 in Fig. 4. In Fig. 8, an execution button 320 for executing a simulation, a pause button 328 for pausing the simulation, a stop button 329 for terminating the simulation, and a time display 321 for displaying the cumulative time for which the simulation has been executed are displayed. Also displayed are columns 322, 323, 324, 325, and 326, and a scroll bar 320a, which show detailed information on the operation to be confirmed. Column 322 displays the operation number, column 323 displays the signal type, column 324 displays the tag, column 325 displays the address, and column 326 displays the current value. This information is used by the PLC 500 to move each axis in the virtual space.

[0059] Column 322 is a number assigned to each unit of motion for which interference check is to be performed based on ladder program 800A, interference check targets, and possible interference targets. For example, axis 1 performs a simple up and down movement, but the up and down movement performed at timing 1 and the up and down movement performed at timing 2 are each motions for which interference check with axis 3 is to be performed, and separate motion numbers are assigned to them. Column 327 is an interference log. The interference log will be described later.

[0060] When the execute button 320 is pressed, the interference confirmation module 353 and the axis module 351 execute a simulation using the PLC 500 based on the ladder program 800A, the virtual operating range, and the information on the interference confirmation target and the possible interference target. The time display 321 counts and displays the time from the timing when the execute button 320 is pressed. Then, the system checks whether interference has occurred by simulation, starting with motion number 1, which indicates the unit of motion for which interference check is to be performed, and if interference has occurred, displays the motions in the order of 2, 3, 4...106 in table format. The information on these motions can be checked by scrolling with scroll bar 320a.

[0061] If interference is occurring (step 207: YES), in step 208, information on the state of PLC 500 is acquired via second communication module 3700. Then, together with information on the location where interference has occurred, this is output as interference information to display device 221 or display device 3210. As an output format, in the interference log in column 327 of Fig. 8, the check box of the interference log corresponding to the operation number of the operation where interference is occurring is displayed filled in black. Fig. 8 shows an example where interference has occurred in operation number 4, and the check box of the corresponding interference log is filled in black.

[0062] Next, in step 209 in Fig. 4, it is determined whether to continue or end the simulation. This is done by checking whether a stop button 329, which will be described later, has been pressed. If the stop button 329 has not been pressed and the simulation is to continue, the process proceeds to step 210, where it is checked whether there are still any axes to be operated in the virtual space.

[0063] If an axis to be operated exists in the virtual space, the process proceeds to step 211 in Fig. 4, where the operation simulation and interference check are continued according to the registered items of interference confirmation targets and possible interference targets. For example, if NC301 (axis 1) is still operated, the interference check of base 370 of NC369 (axis 3) is continued according to the registered contents. Also, if NC365 (axis 2) is still operated, the interference check of base 370 of NC369 (axis 3) is continued according to the registered contents. Also, if NC369 (axis 3) is still operated, the interference check is continued according to the registered contents.

[0064] When multiple axes are operating simultaneously, for example, when NC361 (axis 1) and NC365 (axis 2) are operating simultaneously, interference checks for each axis are continued according to the registered contents. Then, in step 212 of FIG. 4, if it is determined that interference has occurred in the axis that is in operation (step 212: YES), in step 213, the same processing as in step 208 is performed.

[0065] The above simulation is repeated, and when the user has confirmed whether to press the stop button 329 or all the operations on the axes that are the subject of interference checks have been confirmed, the result becomes YES in S214, the simulation in Fig. 4 ends, and the display of the stop button 329 becomes prominent. When the run button 320 is pressed again with the simulation finished, the simulation results are displayed again in order starting from operation number 1 in order to replay them. The time is also counted again from 00:00:00 and displayed.

[0066] The pause button 328 is used when the operator wishes to temporarily stop the execution or replay of the simulation. Pressing the pause button 328 pauses the time in the time display 321, and also pauses the display of the detailed information of each action and the interference log in tabular form. Pressing the run button 320 again in the paused state restarts the simulation, the time count in the time display 321 begins again, and the display of the detailed information of each action and the interference log in tabular form begins again.

[0067] When the stop button 329 is pressed, if a simulation is running, a stop interrupt occurs, and the simulation ends regardless of whether or not confirmation of all operations on the axes subject to interference confirmation in steps 209 and 214 in Fig. 4 has been completed. If a replay is in progress, it returns to operation number 1 and resets the time display to 00:00:00.

[0068] As another embodiment of the confirmation of the simulation, it may be displayed on a display device 3210 as shown in Fig. 9. In Fig. 9, a virtual model display section 340 is displayed. When the execute button 320 is pressed, detailed information of each operation and an interference log are displayed in a tabular format, and each axis in the virtual model display section 340 also operates in conjunction with the operation number, thereby visually displaying the execution of the simulation in an easy-to-understand manner. When the pause button 328 is pressed, the time in the time display 321 is paused, the display of detailed information of each operation and an interference log in a tabular format is paused, and the operation of the virtual model display section 340 is also paused.

[0069] When the execute button 320 is pressed again after the simulation has ended, the simulation results are replayed and displayed in order starting from action number 1, the time is counted from 00:00:00, and the actions are displayed in order starting from action number 1 in the virtual model display section 340. This enables operators to visually check the simulation operations in an easy-to-understand manner, making it easier to see which axis is performing which operation and where interference is occurring.

[0070] 9 further includes a forward button 328a and a back button 328b. When the forward button 328a is pressed in a state where the action of any action number is displayed on the virtual model display section 340 and paused, the action of the action number next to the displayed action number is displayed in a loop on the virtual model display section 340. Conversely, when the back button 328b is pressed in a state where the state of any action number is displayed on the virtual model display section 340 and paused, the action of the action number before the displayed action number is displayed in a loop on the virtual model display section 340. By successively pressing the forward button 328a or the back button 328b, it becomes possible to check each action number in order. In this case, each action is displayed in a loop on the virtual model display section 340.

[0071] In addition, the display format of the row of the action number displayed in the virtual model display area 340 is made different from the other rows. In Fig. 8, the row of action number 5 is displayed in grayscale, and its display format is made different from the other rows. When the next button 328a is pressed from this state, the row of action number 6 is displayed in grayscale, and the action of action number 6 is displayed in a loop in the virtual model display area 340. Conversely, when the back button 328b is pressed, the row of action number 4 is displayed in grayscale, and the action of action number 4 is displayed in a loop in the virtual model display area 340.

[0072] In this way, by providing the forward button 328a and the back button 328b and by making the display format of the row of the action number displayed in the virtual model display section 340 different from that of the other rows, the action can be easily confirmed for each action unit, thereby improving the operability for the operator.

[0073] As described above, in this embodiment, axes having equipment with overlapping virtual operating ranges are displayed so that the operator can easily check them based on the stroke (operating range) of each axis. This makes it possible to efficiently simulate axes that may interfere with each other by the operation of each axis based on the ladder program. Furthermore, since the number of objects to be checked can be reduced, the amount of information processing can be reduced. Furthermore, since the axes are actually operated in the virtual space, the operator can perform offline debugging while checking for interference in real time.

[0074] [Other embodiments] The present invention is not limited to the above-described embodiments and examples, and many modifications are possible within the technical concept of the present invention. For example, the production equipment and the like that are the subject of the operation simulation in the virtual space are not limited to the transfer device of the embodiment, and can be applied to offline simulation of various automatic machines such as robot devices. In addition, a machine that can automatically perform the operations of expanding and contracting, bending and stretching, moving up and down, moving left and right, or turning, or a combination of these operations, based on the information of a storage device provided in the control device, can be applied as an automatic machine.

[0075] Furthermore, an automated machine designed using the simulation device or simulation method of the embodiment may be actually manufactured and connected to the simulation device of the embodiment. In that case, the simulation operation in the virtual space performed by the simulation device of the embodiment may be simulated online using the actual machine, or the actual machine may be operated using the debugged operation program to manufacture an article, etc. In that case, the simulation device of the embodiment may be used as a control device for the automated machine, and the operation according to the simulation method using the test pattern of the embodiment may be implemented as a control method for the automated machine.

[0076] The functions of the diagnosis device 200, the simulation device 300, the management device 400, and the PLC 500 described in the above embodiments may be realized by one or more computers (information processing devices). For example, the functions of the diagnosis unit, the simulation unit, and the management unit are not limited to being realized by three computers, but may be realized by one or two computers, or may be realized by four or more computers. The functions of the PLC 500 may be realized by a computer (information processing device) that performs the functions of the diagnosis unit, the simulation unit, or the management unit.

[0077] The present invention can also be realized by a process in which a control program capable of executing one or more functions of the embodiment is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the control program. Also, the present invention can be realized by a circuit (e.g., ASIC) that realizes one or more functions. [Explanation of symbols]

[0078] 200 ··· diagnostic device / 201, 301 ··· CPU / 221, 3210 ··· display device / 300 ··· simulation device / 330 ··· stroke setting unit / 340 ··· virtual model display unit

Claims

1. An information processing device that virtually executes the operation of a device having a plurality of devices, A control unit is provided, The control unit extracts at least two devices from the plurality of devices, the two devices having spatial operating ranges that partially overlap each other, The at least two extracted devices are virtually operated, and it is determined whether or not the at least two devices spatially interfere with each other.

23. An information processing apparatus comprising:

2. 2. The information processing device according to claim 1, The control unit displays, on the display unit, the at least two devices as targets for virtually operating and spatially determining interference therebetween.

23. An information processing apparatus comprising:

3. 3. The information processing device according to claim 1, The control unit virtually operates the at least two devices simultaneously, and determines whether or not the at least two devices spatially interfere with each other in the overlapping operation ranges.

23. An information processing apparatus comprising:

4. 4. The information processing device according to claim 1, The control unit displays, on a display unit, a partial overlapping area in the operating ranges of the at least two devices.

23. An information processing apparatus comprising:

5. 5. The information processing device according to claim 1, The control unit displays the at least two devices on a display unit as targets that may cause interference.

23. An information processing apparatus comprising:

6. 6. The information processing device according to claim 1, The control unit does not extract at least two devices among the plurality of devices whose operating ranges do not overlap with each other as targets for virtually operating and performing interference determination.

23. An information processing apparatus comprising:

7. 7. The information processing device according to claim 1, The control unit virtually operates the at least two devices using a PLC to perform interference determination.

23. An information processing apparatus comprising:

8. 8. The information processing device according to claim 7, The control unit is Using a ladder program and the PLC, the at least two devices are virtually operated to check for interference.

23. An information processing apparatus comprising:

9. 9. The information processing device according to claim 1, The motion range is a maximum movable range of the plurality of devices or a predetermined range set for the plurality of devices within the maximum movable range.

23. An information processing apparatus comprising:

10. 10. The information processing device according to claim 1, The control unit displays a setting screen for setting the operating range on a display unit.

23. An information processing apparatus comprising:

11. 11. The information processing device according to claim 10, The control unit displays, on the setting screen, a position input unit for inputting positions to which the plurality of devices are to be moved.

23. An information processing apparatus comprising:

12. 12. The information processing device according to claim 11, the control unit displays, on the setting screen, a relationship between the device, the plurality of devices, and the positions in a tree format.

23. An information processing apparatus comprising:

13. 13. The information processing device according to claim 10, The control unit displays a first automatic setting button on the setting screen to automatically set the operating range.

23. An information processing apparatus comprising:

14. 14. The information processing device according to claim 13, When the first automatic setting button is pressed, the control unit automatically sets a maximum movable range of the plurality of devices as the operating range.

23. An information processing apparatus comprising:

15. 15. The information processing device according to claim 1, The control unit displays a confirmation screen on a display unit, which allows a user to confirm the at least two devices.

23. An information processing apparatus comprising:

16. 16. The information processing device according to claim 1, The control unit displays the combination of the at least two devices on a display unit.

23. An information processing apparatus comprising:

17. 17. The information processing device according to claim 16, The control unit displays a second automatic setting button on the display unit to automatically display the combination.

23. An information processing apparatus comprising:

18. 18. The information processing device according to claim 16, The control unit displays on the display unit A delete button for deleting the combination; an edit button for editing the combination; 23. An information processing apparatus comprising:

19. 19. The information processing device according to claim 1, The control unit displays, on a display unit, an operation screen that displays virtual operations of the at least two devices.

23. An information processing apparatus comprising:

20. 20. The information processing device according to claim 19, The control unit displays virtual operations of the at least two devices in a loop on the operation screen.

23. An information processing apparatus comprising:

21. 21. The information processing device according to claim 19, The control unit displays, on the operation screen, whether or not interference has occurred between the at least two devices.

23. An information processing apparatus comprising:

22. 22. The information processing device according to claim 19, the control unit displays, on the display unit, a virtual model display unit showing the at least two devices as a virtual model, as the operation screen.

23. An information processing apparatus comprising:

23. 23. The information processing device according to claim 22, The control unit displays on the display unit an execution button for causing the virtual model display unit to execute virtual operations of the at least two devices; a pause button for causing the virtual model display unit to pause virtual operations of the at least two devices; a forward button and a back button for selecting a virtual operation of the at least two devices are displayed on the virtual model display unit; 23. An information processing apparatus comprising:

24. 24. The information processing device according to claim 23, The control unit displays a stop button on the display unit, pressing the stop button, even if the virtual operation in the at least two devices is being executed, forcibly terminates the virtual operation in the at least two devices; 23. An information processing apparatus comprising:

25. 25. The information processing device according to claim 23, when the forward button or the back button is pressed while the pause button is pressed, unit operations of virtual operations of the at least two devices selected by pressing the forward button or the back button are displayed in a loop on the virtual model display unit.

23. An information processing apparatus comprising:

26. 26. The information processing device according to claim 22, The control unit displays on the display unit displaying detailed information of virtual operations of the at least two devices displayed on the virtual model display unit in a table format; 23. An information processing apparatus comprising:

27. 27. The information processing device according to claim 26, a display format of a line corresponding to a virtual operation of the at least two devices displayed in the virtual model display section in a tabular display is made different from a display format of a line corresponding to another operation; 23. An information processing apparatus comprising:

28. 28. The information processing device according to claim 26, Representing a unit operation of a virtual operation of the at least two devices by rows in a tabular display; 23. An information processing apparatus comprising:

29. 29. The information processing device according to claim 26, The control unit displays on the display unit the display on the virtual model display unit and the display of the detailed information displayed in a table format are displayed in a linked manner.

23. An information processing apparatus comprising:

30. 30. The information processing device according to claim 26, The control unit displays a check box in a table display, and if interference occurs in the virtual operations of the at least two devices, fills the check box in black.

23. An information processing apparatus comprising:

31. 22. The information processing device according to claim 19, The control unit displays, as the operation screen on the display unit, execution of virtual operations in the at least two devices in a table format.

23. An information processing apparatus comprising:

32. 32. A production system including an automated machine that manufactures an article by assembling at least two workpieces, the automated machine operating according to the debugged operating program, the automated machine being debugged by the information processing device according to claim 1.

33. A method for manufacturing an article, comprising the steps of: debugging an operating program using an information processing device according to any one of claims 1 to 31; and operating an automated machine using the operating program after debugging to assemble at least two workpieces and manufacture an article.

34. An information processing method for virtually executing an operation of a device having a plurality of devices, comprising: The control unit: Extracting at least two devices from the plurality of devices, the spatial operating ranges of which partially overlap each other; The at least two extracted devices are virtually operated, and it is determined whether or not the at least two devices spatially interfere with each other.

23. An information processing method comprising:

35. A program causing a computer to execute the information processing method according to claim 34.

36. A computer-readable recording medium having the program according to claim 35 recorded thereon.

Citation Information

Patent Citations

  • Simulation device and method for storing operation information

    JP2004145685A

  • Device for displaying robot movement track

    JP2011161549A

  • Robot simulator, and file producing method of robot simulator

    JP2016013579A

  • System and method for generating ship construction simulation based on wsd

    KR1020140059719A

  • Network device simulator

    US5907696A