Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7486982B2 - Information processing device, production device, article manufacturing method, information processing method, program, and recording medium - Google Patents
[go: Go Back, main page]

JP7486982B2 - Information processing device, production device, article manufacturing method, information processing method, program, and recording medium - Google Patents

Information processing device, production device, article manufacturing method, information processing method, program, and recording medium Download PDF

Info

Publication number
JP7486982B2
JP7486982B2 JP2020035166A JP2020035166A JP7486982B2 JP 7486982 B2 JP7486982 B2 JP 7486982B2 JP 2020035166 A JP2020035166 A JP 2020035166A JP 2020035166 A JP2020035166 A JP 2020035166A JP 7486982 B2 JP7486982 B2 JP 7486982B2
Authority
JP
Japan
Prior art keywords
information processing
simulation
processing apparatus
program
operation program
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2020035166A
Other languages
Japanese (ja)
Other versions
JP2021140259A (en
JP2021140259A5 (en
Inventor
信明 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020035166A priority Critical patent/JP7486982B2/en
Publication of JP2021140259A publication Critical patent/JP2021140259A/en
Publication of JP2021140259A5 publication Critical patent/JP2021140259A5/en
Application granted granted Critical
Publication of JP7486982B2 publication Critical patent/JP7486982B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、自動機の動作プログラムを診断する技術に関する。 The present invention relates to technology for diagnosing the operating programs of automated machines.

工場等の生産ラインにおいて、ロボットなどのアクチュエータである自動機を動作プログラムに従って動作させることで、物品の製造を行っている。通常、生産ラインには複数台の自動機が配置される。複数台の自動機のうち、1の自動機が、他の自動機と干渉しないよう、動作プログラムには、インターロックが設定されている。特許文献1には、インターロックを自動で設定する方法が記載されている。 In production lines in factories, etc., goods are manufactured by operating automated machines, which are actuators such as robots, according to operating programs. Typically, a production line is equipped with multiple automated machines. Interlocks are set in the operating programs so that one of the multiple automated machines does not interfere with the other automated machines. Patent Document 1 describes a method for automatically setting an interlock.

特開2007-164417号公報JP 2007-164417 A

作成される動作プログラムには、インターロックが正常に作動することが要求される。動作プログラムはこのような観点で作成されるため、場合によってはインターロックの自動設定により、自動機の動作効率が低下してしまう可能性がある。 The operation programs that are created are required to ensure that the interlocks operate correctly. Since operation programs are created with this in mind, in some cases the automatic setting of the interlocks may reduce the operating efficiency of the automated machine.

本発明は、自動機の動作効率を向上させることを目的とする。 The present invention aims to improve the operating efficiency of automated machines.

本開示の第1態様は、動作プログラムに基づき、装置のシミュレーションを実行する情報処理装置であって、前記動作プログラムには、前記装置に所定動作の実行を指示する信号を取得した場合に、所定条件が成立していれば前記装置に前記所定動作を実行させるインターロック処理が規定されており、前記シミュレーションにおいて、前記信号を取得した場合に、前記所定条件が成立していなくても、前記装置に前記所定動作を実行させる第1処理を実行させ、前記装置が他の物体に干渉しなかった場合、前記動作プログラムに規定された前記インターロック処理の前記所定条件が過剰な状態であることを通知する、ことを特徴とする情報処理装置である。 A first aspect of the present disclosure is an information processing device that executes a simulation of a device based on an operation program, wherein the operation program specifies an interlock process that, when a signal instructing the device to execute a predetermined operation is acquired, causes the device to execute the predetermined operation if predetermined conditions are met; and, when the signal is acquired in the simulation, a first process is executed that causes the device to execute the predetermined operation even if the predetermined conditions are not met ; and, if the device does not interfere with another object, the information processing device notifies the user that the predetermined conditions of the interlock process specified in the operation program are excessive .

本開示の第2態様は、動作プログラムに基づき、装置のシミュレーションを実行する情報処理方法であって、前記動作プログラムには、前記装置に所定動作の実行を指示する信号を取得した場合に、所定条件が成立していれば前記装置に前記所定動作を実行させるインターロック処理が規定されており、前記シミュレーションにおいて、前記信号を取得した場合に、前記所定条件が成立していなくても、前記装置に前記所定動作を実行させる第1処理を実行させ、前記装置が他の物体に干渉しなかった場合、前記動作プログラムに規定された前記インターロック処理の前記所定条件が過剰な状態であることを通知する、ことを特徴とする情報処理方法である。 A second aspect of the present disclosure is an information processing method for executing a simulation of a device based on an operation program, the operation program defining an interlock process for causing the device to execute a predetermined operation if a predetermined condition is met when a signal instructing the device to execute the predetermined operation is acquired, the information processing method including: when the signal is acquired in the simulation, a first process for causing the device to execute the predetermined operation even if the predetermined condition is not met ; and when the device does not interfere with another object, notifying the user that the predetermined condition of the interlock process defined in the operation program is exceeded .

本発明によれば、自動機の動作効率を向上させることができる。 The present invention can improve the operating efficiency of automated machines.

実施形態に係る自動組立装置の模式図である。FIG. 1 is a schematic diagram of an automated assembly device according to an embodiment. 実施形態に係るシステムのブロック図である。FIG. 1 is a block diagram of a system according to an embodiment. 実施形態に係るシステムの機能ブロック図である。FIG. 1 is a functional block diagram of a system according to an embodiment. 実施形態における仮想空間の一例を示す模式図である。FIG. 2 is a schematic diagram illustrating an example of a virtual space in the embodiment. (a)は実施形態におけるラダープログラムの一例を示すラダー図である。(b)はラダープログラムに用いられる接点の情報を示す図である。1A is a ladder diagram showing an example of a ladder program according to an embodiment, and FIG. 1B is a diagram showing information on contacts used in the ladder program; 実施形態に係るシミュレーション方法を示すフローチャートである。3 is a flowchart illustrating a simulation method according to the embodiment.

以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。図1は、実施形態に係るシステムの自動組立装置100の模式図である。図1には、実空間RSにおける自動組立装置100を図示している。図1に示す自動組立装置100は、例えば工場に設置される。自動組立装置100は、複数の自動機の一例として、3つの直交ロボット104,105,106を備える。3つの直交ロボット104,105,106は、架台20上に配置されている。これら直交ロボット104,105,106を用いることにより、第1ワークであるワークW1に第2ワークであるワークW2を組み付けることで、物品の一例であるワークW3が製造される。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a schematic diagram 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 illustrated 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 second workpiece W2 is assembled to a first workpiece W1, thereby manufacturing a workpiece W3, which is an example of an article.

架台20上には、レール103が布設されており、ワークW1やワークW3が載置される搬送台111がレール103上を移動可能となっている。直交ロボット104は、ワークW1を保持可能な保持部の一例であるハンド114と、ハンド114を並進方向に移動させる移動機構124と、を有している。直交ロボット105は、ワークW1を保持可能な保持部の一例であるハンド115と、ハンド115を並進方向に移動させる移動機構125と、を有している。直交ロボット106は、ワークW2を保持可能な保持部の一例であるハンド116と、ハンド116を並進方向に移動させる移動機構126と、を有している。直交ロボット104,105,106は互いの動作可能範囲が重なるように配置されている。 A rail 103 is laid on the stand 20, and a transport platform 111 on which the workpieces W1 and W3 are placed can move 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 operating ranges overlap.

各直交ロボット104及び105は、搬送台111によって搬送されたワークW1を取得する。直交ロボット106は、不図示の搬送装置から搬送されたワークW2を取得する。そして、各直交ロボット104及び105は、ワークW1を取得した位置からワークW1にワークW2を組み付ける位置までワークW1を搬送する。直交ロボット106は、保持したワークW2を、各直交ロボット104及び105に保持されたワークW1に組み付ける。そして、各直交ロボット104及び105は、ワークW1,W2により構成されるワークW3を、搬送台111に搬送する。直交ロボット104と直交ロボット105とは、これら一連の動作を交互に繰り返し実行する。 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 it was acquired to a position where the workpiece W2 is to be assembled to the workpiece W1. The Cartesian robot 106 assembles the workpiece W2 that it holds onto 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 works W1 and W2 to the transport table 111. The Cartesian robots 104 and 105 alternately repeat this series of operations.

ここで、直交ロボット104,105同士、直交ロボット104,106同士、及び直交ロボット105,106同士が干渉しないように、インターロックが設定されている。インターロックは、所定条件が成立しない限り、いずれかの直交ロボットの動作を停止させる機能である。各直交ロボット104,105,106は、シーケンスプログラムであるラダープログラムに従って動作する。このラダープログラムには、インターロックを行うためのインターロック処理、即ちインターロックの接点が規定されている。 Interlocks are set up to prevent interference between the Cartesian robots 104, 105, between the Cartesian robots 104, 106, and between the Cartesian robots 105, 106. The interlock is a function that stops the operation of one of the Cartesian robots unless a specified condition is met. Each Cartesian robot 104, 105, 106 operates according to a ladder program, which is a sequence program. This ladder program specifies the interlock process for performing the interlock, i.e., the interlock contacts.

ラダープログラムを作成したとき、インターロックが正常に働くかどうかを確認し、必要であればラダープログラムを修正するデバッグ作業を、事前に行う必要がある。実機を用いて、このデバッグ作業を行うには、多くの労力と時間を要する。そこで、デバッグ作業を、実空間における自動機を用いずに、自動機に対応する、仮想空間における疑似的な仮想機を用いて行う。 When creating a ladder program, it is necessary to perform debugging work in advance to check whether the interlocks are working properly and to modify the ladder program if necessary. Performing this debugging work using an actual machine requires a lot of time and effort. Therefore, the debugging work is performed not using an automated machine in real space, but using a pseudo virtual machine in virtual space that corresponds to the automated machine.

図2は、実施形態に係るシステムの一例である生産システム1000のブロック図である。生産システム1000は、上述した自動組立装置100、情報処理装置200、シミュレーション装置300、及び管理装置400を備える。また、生産システム1000は、第1制御部の一例であるPLC(Programmable Logic Controller)500、及び第2制御部の一例であるPLC600を備える。 Figure 2 is a 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-described automated assembly device 100, information processing 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.

情報処理装置200は、コンピュータで構成されており、プロセッサであるCPU(Central Processing Unit)201を備える。CPU201は、後述する診断部として機能する。また情報処理装置200は、記憶部として、ROM(Read Only Memory)202、RAM(Random Access Memory)203、HDD(Hard Disk Drive)204を備える。また、情報処理装置200は、入出力インタフェースであるI/O205、及びディスクドライブ206を備える。CPU201、ROM202、RAM203、HDD204、I/0205、及びディスクドライブ206は、互いに通信可能にバス210で接続されている。 The information processing device 200 is configured as a computer and includes a processor, CPU (Central Processing Unit) 201. The CPU 201 functions as a diagnostic unit, which will be described later. The information processing device 200 also includes a storage unit, ROM (Read Only Memory) 202, RAM (Random Access Memory) 203, and HDD (Hard Disk Drive) 204. The information processing device 200 also includes an I/O 205, which is an input/output interface, and a disk drive 206. The CPU 201, ROM 202, RAM 203, HDD 204, I/O 205, and disk drive 206 are connected by a bus 210 so that they can communicate with each other.

ROM202は、非一時的な記憶装置である。ROM202には、コンピュータ起動時にCPU201によって読み出される基本プログラムが格納されている。RAM203は、CPU201の演算処理に用いられる一時的な記憶装置である。HDD204は、CPU201の演算処理結果等、各種データを記憶する非一時的な記憶装置である。本実施形態では、HDD204には、CPU201に後述する診断部として機能させてシミュレーション方法の一部を実行させるための診断プログラム211が格納されている。ディスクドライブ206は、記録ディスク212に記録された各種データやプログラム等を読み出すことができる。I/O205は、外部との通信モジュールとして機能する。I/O205には、表示装置221、入力装置222、管理装置400、及びPLC500が接続されている。情報処理装置200のCPU201は、I/O205を介して、管理装置400及びPLC500と情報の通信が可能である。表示装置221は、各種画像を表示するディスプレイである。入力装置222は、作業者によってデータ入力が可能な装置、例えばキーボードやマウスである。 ROM 202 is a non-transient storage device. ROM 202 stores a basic program that is read by CPU 201 when the computer is started. RAM 203 is a temporary storage device used for the arithmetic processing of CPU 201. HDD 204 is a non-transient storage device that stores various data such as the arithmetic processing results of CPU 201. In this embodiment, HDD 204 stores diagnostic program 211 for making CPU 201 function as a diagnostic unit described later and execute a part of the simulation method. Disk drive 206 can read various data and programs recorded on recording disk 212. I/O 205 functions as a communication module with the outside. Display device 221, input device 222, management device 400, and PLC 500 are connected to I/O 205. CPU 201 of information processing device 200 can communicate information with management device 400 and PLC 500 via I/O 205. Display device 221 is a display that displays various images. The input device 222 is a device that allows the operator to input data, such as a keyboard or mouse.

シミュレーション装置300は、コンピュータで構成されており、プロセッサであるCPU301を備える。CPU301は、後述するシミュレーション部として機能する。またシミュレーション装置300は、記憶部として、ROM302、RAM303、HDD304を備える。また、シミュレーション装置300は、入出力インタフェースであるI/O305、及びディスクドライブ306を備える。CPU301、ROM302、RAM303、HDD304、I/0305、及びディスクドライブ306は、互いに通信可能にバス310で接続されている。 The simulation device 300 is configured as a computer, and includes a processor, CPU 301. CPU 301 functions as a simulation unit, which will be described later. The simulation device 300 also includes a storage unit, ROM 302, RAM 303, and HDD 304. 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 that they can communicate with each other.

ROM302は、非一時的な記憶装置である。ROM302には、コンピュータ起動時にCPU301によって読み出される基本プログラムが格納されている。RAM303は、CPU301の演算処理に用いられる一時的な記憶装置である。HDD304は、CPU301の演算処理結果等、各種データを記憶する非一時的な記憶装置である。本実施形態では、HDD304には、CPU301に後述するシミュレーション部として機能させてシミュレーション方法の一部を実行させるためのシミュレーションプログラム311が格納されている。ディスクドライブ306は、記録ディスク312に記録された各種データやプログラム等を読み出すことができる。I/O305は、外部との通信モジュールとして機能する。I/O305には、表示装置321、入力装置322、管理装置400、及びPLC500が接続されている。シミュレーション装置300のCPU301は、I/O305を介して、管理装置400及びPLC500と情報の通信が可能である。表示装置321は、各種画像を表示するディスプレイである。入力装置322は、作業者によってデータ入力が可能な装置、例えばキーボードやマウスである。 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. RAM 303 is a temporary storage device used for the arithmetic processing of the CPU 301. 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 the simulation method. The disk drive 306 can read various data, programs, etc. recorded on the recording disk 312. The I/O 305 functions as a communication module with the outside. The display device 321, the input device 322, 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 321 is a display that displays various images. The input device 322 is a device that allows the operator to input data, such as a keyboard or mouse.

管理装置400は、コンピュータで構成されており、プロセッサであるCPU401を備える。CPU401は、後述する管理部として機能する。また管理装置400は、記憶部として、ROM402、RAM403、HDD404を備える。また、管理装置400は、入出力インタフェースであるI/O405、及びディスクドライブ406を備える。CPU401、ROM402、RAM403、HDD404、I/0405、及びディスクドライブ406は、互いに通信可能にバス410で接続されている。 The management device 400 is configured as a computer and includes a processor, CPU 401. 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 that they can communicate with each other.

ROM402は、非一時的な記憶装置である。ROM402には、コンピュータ起動時にCPU401によって読み出される基本プログラムが格納されている。RAM403は、CPU401の演算処理に用いられる一時的な記憶装置である。HDD404は、CPU401の演算処理結果等、各種データを記憶する非一時的な記憶装置である。HDD404には、CPU401に後述する管理部として機能させるための管理プログラム411が格納されている。ディスクドライブ406は、記録ディスク412に記録された各種データやプログラム等を読み出すことができる。I/O405は、外部との通信モジュールとして機能する。I/O405には、表示装置421、入力装置422、情報処理装置200、シミュレーション装置300、PLC500、及びPLC600が接続されている。管理装置400のCPU401は、I/O405を介して、情報処理装置200、シミュレーション装置300、PLC500、及びPLC600と情報の通信が可能である。表示装置421は、各種画像を表示するディスプレイである。入力装置422は、作業者によってデータ入力が可能な装置、例えばキーボードやマウスである。PLC600は、自動組立装置100に接続されている。 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. RAM 403 is a temporary storage device used for the arithmetic processing of the CPU 401. 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 causing the CPU 401 to function as a management unit described later. The disk drive 406 can read various data, programs, etc. recorded on 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 information processing 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 information processing 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 device 100.

PLC600は、自動組立装置100に制御信号を出力することにより、実空間における自動組立装置100の直交ロボット104,105,106をシーケンス制御することができる。PLC500は、PLC600と同様の構成であり、シミュレーション装置300に制御信号を出力することにより、仮想空間における仮想機をシーケンス制御することができる。 The PLC 600 can perform sequence control of the Cartesian robots 104, 105, and 106 of the automated assembly device 100 in the real space by outputting a control signal to the automated assembly device 100. The PLC 500 has a similar configuration to the PLC 600, and can perform sequence control of a virtual machine in the virtual space by outputting a control signal to the simulation device 300.

なお、本実施形態では、コンピュータによって読み取り可能な非一時的な記録媒体がHDD204であり、HDD204にプログラム211が記録されているが、これに限定するものではない。プログラム211は、コンピュータによって読み取り可能な非一時的な記録媒体であれば、いかなる記録媒体に記録されていてもよい。プログラム311,411についても同様である。プログラム211,311,411をコンピュータに供給するための記録媒体としては、例えばフレキシブルディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。 In this embodiment, the non-transient recording medium readable by a computer is HDD 204, and program 211 is recorded on HDD 204, but this is not limited to this. Program 211 may be recorded on any recording medium as long as it is a non-transient recording medium readable by a computer. The same applies to programs 311 and 411. Examples of recording media that can be used to supply programs 211, 311, and 411 to a computer include flexible disks, optical disks, magneto-optical disks, magnetic tapes, and non-volatile memories.

図3は、実施形態に係る生産システム1000の機能ブロック図である。図2に示す情報処理装置200のCPU201は、診断プログラム211を実行することにより、図3に示す診断部250として機能する。診断部250は、診断処理251を実行することにより、PLC500に登録されたラダープログラム800Aを診断する。この診断処理251により診断工程が実行される。 Figure 3 is a functional block diagram of a production system 1000 according to an embodiment. The CPU 201 of the information processing device 200 shown in Figure 2 functions as a diagnosis unit 250 shown in Figure 3 by executing a diagnosis program 211. The diagnosis unit 250 diagnoses the ladder program 800A registered in the PLC 500 by executing a diagnosis process 251. A diagnosis process is executed by this diagnosis process 251.

図2に示すシミュレーション装置300のCPU301は、シミュレーションプログラム311を実行することにより、図3に示すシミュレーション部350として機能する。また、図2に示すシミュレーション装置300のHDD304の一部は、図3に示すモデル登録部360として機能する。 The CPU 301 of the simulation device 300 shown in FIG. 2 executes the simulation program 311 to function as the simulation unit 350 shown in FIG. 3. In addition, a part of the HDD 304 of the simulation device 300 shown in FIG. 2 functions as the model registration unit 360 shown in FIG. 3.

図2に示す管理装置400のCPU401は、管理プログラム411を実行することにより、図3に示す管理部450として機能する。管理部450は、ラダープログラム管理451、3Dモデル管理452、診断範囲管理453、及び3DCAD変換処理454を実行する。 The CPU 401 of the management device 400 shown in FIG. 2 executes the management program 411 to function as the 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 3D CAD conversion processing 454.

シミュレーション装置300のシミュレーション部350は、モデル登録部360に登録された3Dモデルである仮想機に基づいて、PLC500の制御信号に従って仮想機の挙動をシミュレートするシミュレーション処理351を実行する。このシミュレーション処理351によりシミュレーション工程が実行される。 The simulation unit 350 of the simulation device 300 executes a simulation process 351 that simulates the behavior of the virtual machine according to the control signal of the PLC 500, based on the virtual machine, which is a 3D model registered in the model registration unit 360. The simulation process is executed by this simulation process 351.

図4は、実施形態における仮想空間の一例を示す模式図である。図4には、仮想空間VSにおける仮想組立装置100Vを図示している。仮想組立装置100Vは、自動組立装置100と対応し、シミュレーション装置300において仮想的に構築される。仮想組立装置100Vは、複数の仮想機の一例として、3つの仮想ロボット104V,105V,106Vを備える。仮想ワークW1VはワークW1と対応し、仮想ワークW2VはワークW2と対応し、仮想ワークW3VはワークW3と対応する。仮想ロボット104Vは、仮想ハンド114Vと、仮想ハンド114Vを並進方向に移動させる仮想機構124Vと、を有する。仮想ロボット105Vは、仮想ハンド115Vと、仮想ハンド115Vを並進方向に移動させる仮想機構125Vと、を有する。仮想ロボット106Vは、仮想ハンド116Vと、仮想ハンド116Vを並進方向に移動させる仮想機構126Vと、を有する。 Figure 4 is a schematic diagram showing an example of a virtual space in an embodiment. Figure 4 illustrates a virtual assembly device 100V in a virtual space VS. The virtual assembly device 100V corresponds to the automated assembly device 100 and is virtually constructed in a simulation device 300. The virtual assembly device 100V includes three virtual robots 104V, 105V, and 106V as an example of a plurality of virtual machines. The virtual workpiece W1V corresponds to the workpiece W1, the virtual workpiece W2V corresponds to the workpiece W2, and the virtual workpiece W3V corresponds to the workpiece W3. The virtual robot 104V has a virtual hand 114V and a virtual mechanism 124V that moves the virtual hand 114V in a translational direction. The virtual robot 105V has a virtual hand 115V and a virtual mechanism 125V that moves the virtual hand 115V in a translational direction. The virtual robot 106V has a virtual hand 116V and a virtual mechanism 126V that moves the virtual hand 116V in a translational direction.

図3に示す管理部450は、シーケンスプログラムであるラダープログラム800Aやラダープログラム800を管理するラダープログラム管理451を実行する。管理部450は、ラダープログラム管理451において、ラダープログラム800AをPLC500に配信したり、ラダープログラム800をPLC600に配信したり、ラダープログラム800Aにおける接点情報を情報処理装置200に配信したりする。 The management unit 450 shown in FIG. 3 executes ladder program management 451 that manages ladder program 800A, which is a sequence program, and ladder program 800. In ladder program management 451, the management unit 450 distributes ladder program 800A to PLC 500, distributes ladder program 800 to PLC 600, and distributes contact information in ladder program 800A to information processing device 200.

PLC600には、管理部450によって配信されたラダープログラム800が登録される。ラダープログラム800は、仮想空間における疑似的な仮想機を用いて、デバッグ済みである。PLC600は、登録されたラダープログラム800に基づく制御信号を自動組立装置100に出力することで、自動組立装置100の各直交ロボット104,105,106の挙動を制御し、自動組立装置100にワークW3を製造させる。 The ladder program 800 distributed by the management unit 450 is registered in the PLC 600. The ladder program 800 has been debugged using a pseudo virtual machine in a virtual space. The PLC 600 outputs a control signal based on the registered ladder program 800 to the automatic assembly device 100, thereby controlling the behavior of each of the Cartesian robots 104, 105, and 106 of the automatic assembly device 100 and causing the automatic assembly device 100 to manufacture the workpiece W3.

作業者は、未デバッグのラダープログラム800Aを、入力装置422を操作して管理装置400に入力する。ラダープログラム800Aは、新規作成されて未診断のラダープログラム、又は修正後の未診断のラダープログラムである。ラダープログラム800Aは、作業者が入力装置422を操作することにより作成する場合に限らない。予め作成されたラダープログラム800Aを、外部ストレージやネットワークなどから管理装置400に入力するようにしてもよい。管理装置400において、ラダープログラム800A又は800は、例えば図2のHDD404に登録される。 The operator inputs the undebugged ladder program 800A into the management device 400 by operating the input device 422. The ladder program 800A is a newly created ladder program that has not been diagnosed, or a modified ladder program that has not been diagnosed. The ladder program 800A is not limited to being created by the operator operating the input device 422. The ladder program 800A that has been created in advance may be input into the management device 400 from external storage, a network, or the like. In the management device 400, the ladder program 800A or 800 is registered, for example, in the HDD 404 of FIG. 2.

PLC500には、管理部450によって配信されたラダープログラム800Aが登録される。PLC500は、管理部450から取得したラダープログラム800Aを実行可能に構成されている。即ち、PLC500は、登録されたラダープログラム800Aに基づく制御信号をシミュレーション部350に出力して、シミュレーション部350による仮想ロボット104V,105V,106Vの挙動を制御する。 The ladder program 800A distributed by the management unit 450 is registered in the PLC 500. The PLC 500 is configured to be able to execute the ladder program 800A acquired from the management unit 450. That is, the PLC 500 outputs a control signal based on the registered ladder program 800A to the simulation unit 350, and controls the behavior of the virtual robots 104V, 105V, and 106V by the simulation unit 350.

ラダープログラム800Aは、診断対象であり、情報処理装置200の診断部250によって診断される。管理部450は、診断部250から取得したラダープログラム800Aの診断結果を示す画像を、表示装置421に表示させる。作業者は、表示装置421に表示された診断結果を参照することで、入力装置422を操作してラダープログラム800Aを修正したり、ラダープログラム800を登録したりすることができる。修正後のラダープログラム800Aは、再度、診断部250に診断させることもできる。ラダープログラム800Aの診断の結果、修正する必要がなければ、ラダープログラム800Aは、デバッグ済みのラダープログラム800として管理装置400に登録される。 The ladder program 800A is the target of diagnosis, and is diagnosed by the diagnosis unit 250 of the information processing device 200. The management unit 450 displays an image showing the diagnosis result of the ladder program 800A obtained from the diagnosis unit 250 on the display device 421. By referring to the diagnosis result displayed on the display device 421, the operator can operate the input device 422 to modify the ladder program 800A or register the ladder program 800. The ladder program 800A after modification can also be diagnosed again by the diagnosis unit 250. If the diagnosis of the ladder program 800A shows that no modification is necessary, the ladder program 800A is registered in the management device 400 as a debugged ladder program 800.

また、管理部450は、自動組立装置100のメカ機構の3Dモデルを管理する3Dモデル管理452を実行する。メカ機構の3Dモデルは、作業者が操作する入力装置422によって管理部450に入力され、例えば図2のHDD404に登録される。メカ機構の3Dモデルは、情報処理装置200の診断部250によって診断される。管理部450は、診断部250からメカ機構の診断結果を取得し、その診断結果に応じた画像を表示装置421に表示させる。管理部450は、メカ機構の修正が必要である場合は、メカ機構の修正箇所を表示装置421に表示させる。 The management unit 450 also executes 3D model management 452 that manages a 3D model of the mechanical mechanism of the automated assembly device 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 information processing 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 according to the diagnosis result. If the mechanical mechanism needs to be modified, the management unit 450 causes the display device 421 to display the parts of the mechanical mechanism that need to be modified.

また、管理部450は、3Dモデル管理452で管理されている自動機のメカ機構の3Dモデルを、シミュレーション部350でシミュレーション可能な形式に変換し、シミュレーション装置300に配信する3DCAD変換処理454を実行する。管理部450により配信された3Dモデルは、シミュレーション装置300のモデル登録部360に登録される。 The management unit 450 also executes a 3D CAD conversion process 454, which converts the 3D model of the mechanical mechanism of the automated machine managed by the 3D model management 452 into a format that can be simulated by the simulation unit 350 and distributes it to the simulation device 300. The 3D model distributed by the management unit 450 is registered in the model registration unit 360 of the simulation device 300.

また、管理部450は、ラダープログラム800Aの診断範囲を選択する診断範囲管理453を実行する。管理部450は、診断範囲管理453において、ラダープログラム800Aの全体のうち、一部又は全部を診断範囲として選択し、選択した診断範囲の情報を情報処理装置200に配信する。診断範囲は、例えば作業者が入力装置422を操作することにより選択される。また、診断範囲は、例えば作業者が入力装置422を操作してラダープログラム800Aを修正した修正箇所に応じて選択されるようにしてもよい。また、診断範囲は、例えば作業者が入力装置422を操作してメカ機構の3Dモデルを修正した修正箇所に応じて選択されるようにしてもよい。情報処理装置200の診断部250は、配信された診断範囲の情報に基づいて診断処理251を実行し、その診断結果を管理装置400に配信する。つまり、診断部250は、ラダープログラム800Aの診断範囲に基づき、PLC500を介してシミュレーション部350に仮想ロボット104Vの動作をテストさせ、そのテスト結果を管理装置400に配信する。 The management unit 450 also executes diagnostic range management 453, which selects the diagnostic range of the ladder program 800A. In the diagnostic range management 453, the management unit 450 selects a part or all of the entire ladder program 800A as the diagnostic range, and distributes information on the selected diagnostic range to the information processing device 200. The diagnostic range is selected, for example, by an operator operating the input device 422. The diagnostic range may also be selected according to the correction portion where the operator has corrected the ladder program 800A by operating the input device 422. The diagnostic range may also be selected according to the correction portion where the operator has corrected the 3D model of the mechanical mechanism by operating the input device 422. The diagnosis unit 250 of the information processing device 200 executes diagnostic processing 251 based on the distributed diagnostic range information, and distributes the diagnostic result to the management device 400. In other words, the diagnosis unit 250 causes the simulation unit 350 to test the operation of the virtual robot 104V via the PLC 500 based on the diagnosis scope of the ladder program 800A, and delivers the test results to the management device 400.

PLC500は、ラダープログラム800Aに基づき、あたかも直交ロボット104をシーケンス制御するのと同様に、シミュレーション部350によって仮想空間VSに構築される仮想ロボット104Vをシーケンス制御する。仮想ロボット105V,106Vについても同様である。 Based on the ladder program 800A, the PLC 500 performs sequence control of the virtual robot 104V constructed in the virtual space VS by the simulation unit 350 in the same way as it performs sequence control of the Cartesian robot 104. The same applies to the virtual robots 105V and 106V.

以下、本実施形態のシミュレーション方法について説明する。シミュレーション方法として、実空間RSにおける直交ロボット104に対応する、仮想空間VSにおける仮想ロボット104Vを例にとって説明する。図5(a)は、実施形態において診断対象のラダープログラム800Aの一例を示すラダー図である。図5(b)は、ラダープログラム800Aに用いられる接点の情報を示す図である。 The simulation method of this embodiment will be described below. The simulation method will be described by taking as an example a virtual robot 104V in a virtual space VS, which corresponds to an orthogonal robot 104 in a real space RS. FIG. 5(a) is a ladder diagram showing an example of a ladder program 800A to be diagnosed in this embodiment. FIG. 5(b) is a diagram showing information on contacts used in the ladder program 800A.

管理部450は、図5(a)に示すようなラダープログラム800Aの情報をPLC500に配信する。また、管理部450は、図5(a)に示すラダープログラム800Aの一部である診断範囲801を選択する。そして、管理部450は、選択した診断範囲801に含まれる図5(b)に示す接点の情報を、情報処理装置200の診断部250、及びシミュレーション装置300のシミュレーション部350に配信する。 The management unit 450 distributes information of the ladder program 800A as shown in FIG. 5(a) to the PLC 500. The management unit 450 also selects a diagnostic range 801, which is part of the ladder program 800A shown in FIG. 5(a). The management unit 450 then distributes information on the contacts shown in FIG. 5(b), which are included in the selected diagnostic range 801, to the diagnosis unit 250 of the information processing device 200 and the simulation unit 350 of the simulation device 300.

診断範囲801は、直交ロボット104、即ち仮想ロボット104Vの一連の動作を規定するラダープログラム800Aのうちの一部又は全部、本実施形態では一部である動作プログラムである。この診断範囲801には、インターロック処理を行うための接点が含まれているものとする。インターロック処理とは、所定条件が成立していれば、入力信号により直交ロボット104の所定動作を開始し、所定条件が成立していなければ、入力信号の有無に関わらず直交ロボット104の動作停止を継続する処理である。 The diagnostic range 801 is a part or all of the ladder program 800A that defines a series of operations of the Cartesian robot 104, i.e., the virtual robot 104V, and in this embodiment, is a part of the ladder program 800A. This diagnostic range 801 includes contacts for performing interlock processing. Interlock processing is a process in which, if a specified condition is met, an input signal starts a specified operation of the Cartesian robot 104, and, if the specified condition is not met, the operation of the Cartesian robot 104 continues to be stopped regardless of the presence or absence of an input signal.

シミュレーション部350は、ラダープログラム800Aにおける診断範囲801に基づくPLC500の制御により、仮想ロボット104Vの挙動を、仮想空間VSにおいてシミュレートする。そして、診断部250は、シミュレーション部350のシミュレーション結果により、ラダープログラム800Aにおける診断範囲801を診断する。 The simulation unit 350 simulates the behavior of the virtual robot 104V in the virtual space VS by controlling the PLC 500 based on the diagnosis range 801 in the ladder program 800A. The diagnosis unit 250 then diagnoses the diagnosis range 801 in the ladder program 800A based on the simulation results of the simulation unit 350.

本実施形態では、診断部250は、接点の情報に基づき、所定の接点をONさせる入力信号をPLC500へ入力して、PLC500を介してシミュレーション部350にシミュレーション処理351を実行させる。そして、シミュレーション部350によるシミュレーション結果として、PLC500から応答信号を受け取り、ラダープログラム800Aにおける診断範囲801を診断する。 In this embodiment, the diagnosis unit 250 inputs an input signal to the PLC 500 to turn on a specific contact based on the contact information, and causes the simulation unit 350 to execute a simulation process 351 via the PLC 500. Then, as a result of the simulation by the simulation unit 350, a response signal is received from the PLC 500, and the diagnosis unit 250 diagnoses the diagnosis range 801 in the ladder program 800A.

図5(a)に示す接点M100、M101、M102、M200、M201、M202は、a接点であり、PLC500においてコイルに相当する。接点M100は自動スイッチ、接点M101は手動スイッチ、接点M102はインターロック(I/L)に対応する。接点M200、M201、M202は、インターロックの所定条件に対応する。接点M200は条件1、接点M201は条件2、接点M202は条件3に対応する。本実施形態の例では、インターロックの所定条件は、複数の条件1,2,3からなる。接点M200は、条件1が成立したときにONする。接点M201は、条件2が成立したときにONする。接点M202は、条件3が成立したときにONする。3つの接点M200、M201、及びM202の全てがONしたときに、つまり所定条件が成立したときに、インターロックを示す接点M102がONする。また、3つの接点M200、M201、及びM202のうちの1つでもOFFしていれば、つまり所定条件が成立していなければ、インターロックを示す接点M102がOFFする。よって、図5(a)の例では、ラダープログラム800Aにおけるインターロック処理は、接点M200、M201、M202及びM102で構成されている。 Contacts M100, M101, M102, M200, M201, and M202 shown in FIG. 5(a) are a-contacts, and correspond to coils in PLC 500. Contact M100 corresponds to an automatic switch, contact M101 corresponds to a manual switch, and contact M102 corresponds to an interlock (I/L). Contacts M200, M201, and M202 correspond to predetermined interlock conditions. Contact M200 corresponds to condition 1, contact M201 corresponds to condition 2, and contact M202 corresponds to condition 3. In this embodiment, the predetermined interlock conditions consist of a plurality of conditions 1, 2, and 3. Contact M200 turns ON when condition 1 is met. Contact M201 turns ON when condition 2 is met. Contact M202 turns ON when condition 3 is met. When all three contacts M200, M201, and M202 are ON, that is, when a predetermined condition is met, contact M102 indicating an interlock is turned ON. Also, if any one of the three contacts M200, M201, and M202 is OFF, that is, if a predetermined condition is not met, contact M102 indicating an interlock is turned OFF. Therefore, in the example of FIG. 5(a), the interlock process in ladder program 800A is composed of contacts M200, M201, M202, and M102.

情報処理装置200は、診断処理251において、接点M101をONする入力信号をPLC500に入力すると、PLC500は、接点M101をONする。接点M101をONしたときの接点M102のON/OFFに応じて、仮想ロボット104Vに所定動作を開始させるか動作停止を継続させるかが決まる。 When the information processing device 200 inputs an input signal to turn on contact M101 to the PLC 500 in the diagnosis process 251, the PLC 500 turns on contact M101. Depending on the ON/OFF state of contact M102 when contact M101 is turned on, it is determined whether the virtual robot 104V starts a predetermined operation or continues to stop operating.

接点M101及びM102がONすることで、動作指令152がONし、シミュレーション部350に仮想ロボット104Vを動作させる制御信号が出力される。接点M102がOFFであれば、接点M101がONしても、動作指令152がONすることはなく、仮想ロボット104Vは、動作停止が継続される。 When contacts M101 and M102 are turned ON, operation command 152 is turned ON and a control signal for operating virtual robot 104V is output to simulation unit 350. If contact M102 is OFF, even if contact M101 is turned ON, operation command 152 will not be turned ON and virtual robot 104V will continue to be stopped.

なお、図示は省略するが、PLC500は、動作指令152により仮想ロボット104Vの所定動作を開始した後、仮想ロボット104Vの所定動作が完了した場合には、動作完了信号をONする。診断部250は、PLC500の動作完了信号を監視することで、仮想ロボット104Vの所定動作が完了したかどうかを判断することができる。 Although not shown in the figure, the PLC 500 starts a predetermined operation of the virtual robot 104V in response to the operation command 152, and then when the predetermined operation of the virtual robot 104V is completed, the operation completion signal is turned ON. The diagnosis unit 250 can determine whether the predetermined operation of the virtual robot 104V has been completed by monitoring the operation completion signal of the PLC 500.

以下、情報処理装置200、PLC500及びシミュレーション装置300の動作について詳細に説明する。図6は、実施形態に係るシミュレーション方法を示すフローチャートである。 The operations of the information processing device 200, the PLC 500, and the simulation device 300 are described in detail below. Figure 6 is a flowchart showing a simulation method according to an embodiment.

まず、診断部250は、診断処理251によるインターロック診断を開始し、接点M101をONするように入力信号をPLC500に入力する。即ち診断部250は、入力信号をONする(S201)。このステップS201の処理により、PLC500において図5(a)の接点M101がONする。 First, the diagnosis unit 250 starts an interlock diagnosis by the diagnosis process 251, and inputs an input signal to the PLC 500 to turn on the contact M101. That is, the diagnosis unit 250 turns on the input signal (S201). By the process of this step S201, the contact M101 in FIG. 5(a) is turned on in the PLC 500.

次に、診断部250は、入力信号をONした後、PLC500において、インターロックを示す接点M102がONしているかどうかを判断する(S202)。PLC500は、入力信号を受けたとき、接点M102がONしているかどうかを診断部250に応答信号として送信する。診断部250は、応答信号により、接点M102がONしているかどうかを判断することができる。 Next, after turning on the input signal, the diagnosis unit 250 determines whether the contact M102 indicating an interlock is ON in the PLC 500 (S202). When the PLC 500 receives the input signal, it transmits a response signal indicating whether the contact M102 is ON to the diagnosis unit 250. The diagnosis unit 250 can determine whether the contact M102 is ON based on the response signal.

PLC500は、入力信号の入力があった場合に、接点M200~M202の全てがONしていれば、接点M102をONするインターロック処理を実行することで、動作指令152をONする。PLC500は、入力信号の入力があったとしても、接点M200~M202の少なくとも1つがOFFしていれば、接点M102をOFFするインターロック処理を実行することで、動作指令152はOFFのまま維持される。 When an input signal is received and all of contacts M200 to M202 are ON, PLC 500 executes an interlock process to turn ON contact M102, thereby turning ON operation command 152. Even if an input signal is received, if at least one of contacts M200 to M202 is OFF, PLC 500 executes an interlock process to turn OFF contact M102, thereby keeping operation command 152 OFF.

接点M102がONしている場合(S202:YES)、PLC500は、ラダープログラム800Aのインターロック処理に従い動作指令152をONする。これにより、シミュレーション部350は、インターロック処理によりONされた動作指令152に従い、仮想ロボット104Vの所定動作を開始させる(S203)。このステップS203の処理が第2処理である。つまり、シミュレーション部350は、PLC500において診断部250から入力信号が入力された場合に所定条件が成立していれば、即ち接点M102がONであれば、インターロック処理に従い、仮想ロボット104Vに所定動作を開始させる。 If contact M102 is ON (S202: YES), PLC 500 turns ON operation command 152 in accordance with the interlock processing of ladder program 800A. As a result, simulation unit 350 starts a predetermined operation of virtual robot 104V in accordance with operation command 152 that has been turned ON by interlock processing (S203). The processing of step S203 is the second processing. In other words, if a predetermined condition is established when an input signal is input from diagnosis unit 250 in PLC 500, that is, if contact M102 is ON, simulation unit 350 starts a predetermined operation of virtual robot 104V in accordance with interlock processing.

本実施形態では、シミュレーション部350は、動作中の仮想ロボット104Vが周囲の仮想物、例えば仮想ロボット105V及び106Vと干渉するかどうかを診断する機能を有する。仮想ロボット104Vが仮想ロボット105Vと干渉するとは、仮想ロボット104V、又は仮想ロボット104Vが保持している仮想ワークW1Vが、仮想ロボット105V、又は仮想ロボット105Vが保持している仮想ワークW1Vと衝突することである。仮想ロボット104Vが仮想ロボット106Vと干渉するとは、仮想ロボット104V、又は仮想ロボット104Vが保持している仮想ワークW1Vが、仮想ロボット106V、又は仮想ロボット106Vが保持している仮想ワークW2Vと衝突することである。仮想ロボット104Vが仮想ロボット105V又は106Vと干渉するかどうかの情報は、PLC500を介して診断部250に送信される。 In this embodiment, the simulation unit 350 has a function of diagnosing whether the operating virtual robot 104V will interfere with surrounding virtual objects, such as the virtual robots 105V and 106V. When the virtual robot 104V interferes with the virtual robot 105V, it means that the virtual robot 104V or the virtual workpiece W1V held by the virtual robot 104V collides with the virtual robot 105V or the virtual workpiece W1V held by the virtual robot 105V. When the virtual robot 104V interferes with the virtual robot 106V, it means that the virtual robot 104V or the virtual workpiece W1V held by the virtual robot 104V collides with the virtual robot 106V or the virtual workpiece W2V held by the virtual robot 106V. Information on whether the virtual robot 104V will interfere with the virtual robot 105V or 106V is transmitted to the diagnosis unit 250 via the PLC 500.

診断部250は、ステップS203で仮想ロボット104Vの所定動作が開始してから、仮想ロボット104Vが仮想ロボット105V及び106Vと干渉したかどうかを判断する(S204)。 The diagnosis unit 250 determines whether or not the virtual robot 104V has interfered with the virtual robots 105V and 106V after the predetermined operation of the virtual robot 104V has started in step S203 (S204).

診断部250は、仮想ロボット104Vが仮想ロボット105V又は106Vと干渉した場合(S204:YES)、診断結果として、インターロック処理の修正が必要であることを示す情報を、管理部450に出力する(S208)。これにより、診断部250は、診断処理251を終了する。仮想ロボット104Vが仮想ロボット105V又は106Vと干渉した場合、干渉した箇所でシミュレーションを中断してもよいし、シミュレーションを継続してもよい。仮想ロボット104Vは、仮想動作中に仮想ロボット105V又は106Vと干渉しても、モデル同士が重なるだけであるので、その仮想動作を継続することができる。管理部450は、診断部250から取得した情報を表示装置421に表示させることで、作業者に、ラダープログラム800Aにおいてインターロック処理の修正が必要であることを通知する。この場合、インターロック処理における接点M102をONする条件が不足している状況であり、実際に直交ロボット104を動作すると干渉が発生する可能性がある。よって、管理部450は、作業者に、ラダープログラム800Aにおいてインターロック処理の条件が不足していることを通知する。これにより、作業者は、ラダープログラム800Aにおいて、直交ロボット104が動作しても、周囲の構造物、例えば直交ロボット105,106と干渉が発生しないように、インターロックである接点M102がONする条件を修正することができる。 When the virtual robot 104V interferes with the virtual robot 105V or 106V (S204: YES), the diagnosis unit 250 outputs information indicating that the interlock process needs to be corrected to the management unit 450 as a diagnosis result (S208). As a result, the diagnosis unit 250 ends the diagnosis process 251. When the virtual robot 104V interferes with the virtual robot 105V or 106V, the simulation may be interrupted at the point of interference, or the simulation may be continued. Even if the virtual robot 104V interferes with the virtual robot 105V or 106V during virtual operation, the virtual operation can be continued because the models simply overlap each other. The management unit 450 notifies the operator that the interlock process needs to be corrected in the ladder program 800A by displaying the information acquired from the diagnosis unit 250 on the display device 421. In this case, the condition for turning on the contact M102 in the interlock process is insufficient, and interference may occur when the Cartesian robot 104 is actually operated. Therefore, the management unit 450 notifies the worker that the interlock processing conditions are insufficient in the ladder program 800A. This allows the worker to modify the conditions in the ladder program 800A that turn on the interlock contact M102 so that the Cartesian robot 104 does not interfere with surrounding structures, such as the Cartesian robots 105 and 106, even when it operates.

診断部250は、仮想ロボット104Vが仮想ロボット105V又は106Vと干渉しない場合(S204:NO)、PLC500において動作完了信号がONしたかどうかを判断する(S205)。即ち、診断部250は、動作完了信号がPLC500においてONされたかどうかで、仮想ロボット104Vの所定動作が完了したかどうかを判断する。ここで、ステップS205において動作完了信号がONしているということは、仮想ロボット104Vが所定動作を開始してから完了するまでの間に、仮想ロボット104Vが仮想ロボット105V及び106Vに干渉しなかったことを意味する。 If virtual robot 104V does not interfere with virtual robot 105V or 106V (S204: NO), diagnosis unit 250 determines whether an operation completion signal has been turned ON in PLC 500 (S205). That is, diagnosis unit 250 determines whether a predetermined operation of virtual robot 104V has been completed based on whether an operation completion signal has been turned ON in PLC 500. Here, the operation completion signal being ON in step S205 means that virtual robot 104V did not interfere with virtual robots 105V and 106V from the time virtual robot 104V started to the time it completed its predetermined operation.

診断部250は、動作完了信号がONしていれば(S205:YES)診断結果として、インターロック処理の修正が不要であることを示す情報を管理部450に出力する(S206)。これにより、診断部250は、診断処理251を終了する。管理部450は、診断部250から取得した情報を表示装置421に表示させることで、作業者に、ラダープログラム800Aにおけるインターロック処理の修正が不要であることを通知する。 If the operation completion signal is ON (S205: YES), the diagnosis unit 250 outputs information indicating that the interlock processing does not need to be corrected to the management unit 450 as a diagnosis result (S206). As a result, the diagnosis unit 250 ends the diagnosis process 251. The management unit 450 notifies the operator that the interlock processing in the ladder program 800A does not need to be corrected by displaying the information obtained from the diagnosis unit 250 on the display device 421.

動作指令152をONしたにも関わらず、動作完了信号がOFFした状態が続いてタイムアウトした場合には、仮想ロボット104Vの動作が完了し得ない、即ちラダープログラム800Aに不備が有る。このため、動作完了信号がOFFした状態が続いてタイムアウトした場合には(S205:NO)、診断部250は、診断結果として、ラダープログラム800Aの修正が必要であることを示す情報を管理部450に出力する(S207)。これにより、診断部250は、診断処理251を終了する。管理部450は、診断部250から取得した情報を表示装置421に表示させることで、作業者に、ラダープログラム800Aの修正が必要であることを通知する。これにより、ラダープログラム800Aの修正を作業者に促す。 If the operation completion signal remains OFF and times out despite the operation command 152 being ON, the operation of the virtual robot 104V cannot be completed, i.e., there is a defect in the ladder program 800A. Therefore, if the operation completion signal remains OFF and times out (S205: NO), the diagnosis unit 250 outputs information indicating that the ladder program 800A needs to be modified to the management unit 450 as a diagnosis result (S207). As a result, the diagnosis unit 250 ends the diagnosis process 251. The management unit 450 notifies the operator that the ladder program 800A needs to be modified by displaying the information acquired from the diagnosis unit 250 on the display device 421. This prompts the operator to modify the ladder program 800A.

以上、診断部250は、シミュレーション部350によるステップS203の処理の実行により、仮想ロボット104Vが所定動作を開始してから仮想ロボット105V,106Vに干渉するかどうかに基づいて、診断範囲801の修正の要否を診断する。 As described above, the diagnosis unit 250 diagnoses whether or not the diagnosis range 801 needs to be modified based on whether or not the virtual robot 104V interferes with the virtual robots 105V and 106V after starting the specified operation through the execution of the processing of step S203 by the simulation unit 350.

ステップS202において接点M102がOFFしている場合(S202:NO)、診断部250は、PLC500に動作指令152を強制的にONするよう指令を送る(S210)。これにより、PLC500は、ラダープログラム800Aにおけるインターロック処理を無視して、動作指令152を強制的にONする。これにより、シミュレーション部350は、インターロック処理に関わらず、動作指令152に従い、仮想ロボット104Vの所定動作を開始させる(S211)。このステップS211の処理が第1処理である。つまり、シミュレーション部350は、PLC500において診断部250から入力信号が入力された場合に、所定条件が成立していない、即ち接点M102がOFFであれば、仮想ロボット104Vに所定動作を強制的に開始させる。 If the contact M102 is OFF in step S202 (S202: NO), the diagnosis unit 250 sends a command to the PLC 500 to forcibly turn on the operation command 152 (S210). As a result, the PLC 500 ignores the interlock processing in the ladder program 800A and forcibly turns on the operation command 152. As a result, the simulation unit 350 starts a predetermined operation of the virtual robot 104V in accordance with the operation command 152 regardless of the interlock processing (S211). The processing of this step S211 is the first processing. In other words, when an input signal is input from the diagnosis unit 250 in the PLC 500, if the predetermined condition is not satisfied, i.e., if the contact M102 is OFF, the simulation unit 350 forcibly starts the predetermined operation of the virtual robot 104V.

診断部250は、以下のステップS212~S216において、ステップS211の処理の実行結果に基づき、ラダープログラム800Aの診断範囲801を診断する。 In the following steps S212 to S216, the diagnosis unit 250 diagnoses the diagnosis range 801 of the ladder program 800A based on the execution result of the processing in step S211.

診断部250は、ステップS211で仮想ロボット104Vの所定動作が開始してから、仮想ロボット104Vが仮想ロボット105V及び106Vと干渉したかどうかを判断する(S212)。 The diagnosis unit 250 determines whether or not the virtual robot 104V has interfered with the virtual robots 105V and 106V after the predetermined operation of the virtual robot 104V has started in step S211 (S212).

診断部250は、仮想ロボット104Vが仮想ロボット105V又は106Vと干渉した場合(S212:YES)、診断結果として、インターロック処理の修正が不要であることを示す情報を、管理部450に出力する(S216)。これにより、診断部250は、診断処理251を終了する。仮想ロボット104Vが仮想ロボット105V又は106Vと干渉した場合、干渉した箇所でシミュレーションを中断してもよいし、シミュレーションを継続してもよい。仮想ロボット104Vは、仮想動作中に仮想ロボット105V又は106Vと干渉しても、モデル同士が重なるだけであるので、その仮想動作を継続することができる。管理部450は、診断部250から取得した情報を表示装置421に表示させることで、作業者に、ラダープログラム800Aにおいてインターロック処理の修正が不要であることを通知する。即ち、接点M102がOFFしているのを無視し仮想ロボット104Vを強制的に動作させて他の仮想物と干渉するのであれば、ラダープログラム800Aにおけるインターロック処理が正しく機能することを意味している。この場合、インターロック処理は修正する必要がない。 When the virtual robot 104V interferes with the virtual robot 105V or 106V (S212: YES), the diagnosis unit 250 outputs information indicating that the interlock process does not need to be corrected to the management unit 450 as a diagnosis result (S216). As a result, the diagnosis unit 250 ends the diagnosis process 251. When the virtual robot 104V interferes with the virtual robot 105V or 106V, the simulation may be interrupted at the point of interference, or the simulation may be continued. Even if the virtual robot 104V interferes with the virtual robot 105V or 106V during virtual operation, the virtual operation can be continued because the models simply overlap each other. The management unit 450 notifies the operator that the interlock process does not need to be corrected in the ladder program 800A by displaying the information acquired from the diagnosis unit 250 on the display device 421. In other words, if the virtual robot 104V is forced to operate and interfere with other virtual objects while ignoring the fact that the contact M102 is OFF, this means that the interlock process in the ladder program 800A functions correctly. In this case, there is no need to modify the interlock process.

診断部250は、仮想ロボット104Vが仮想ロボット105V又は106Vと干渉しない場合(S212:NO)、PLC500において動作完了信号がONしたかどうかを判断する(S213)。即ち、診断部250は、動作完了信号がPLC500においてONされたかどうかで、仮想ロボット104Vの所定動作が完了したかどうかを判断する。ここで、ステップS213において動作完了信号がONしているということは、仮想ロボット104Vが所定動作を開始してから完了するまでの間に、仮想ロボット104Vが仮想ロボット105V及び106Vに干渉しなかったことを意味する。 If virtual robot 104V does not interfere with virtual robot 105V or 106V (S212: NO), diagnosis unit 250 determines whether an operation completion signal has been turned ON in PLC 500 (S213). That is, diagnosis unit 250 determines whether a predetermined operation of virtual robot 104V has been completed based on whether an operation completion signal has been turned ON in PLC 500. Here, the operation completion signal being ON in step S213 means that virtual robot 104V did not interfere with virtual robots 105V and 106V from the time virtual robot 104V started to the time it completed its predetermined operation.

診断部250は、動作完了信号がONしていれば(S213:YES)、診断結果として、インターロック処理の修正が必要であることを示す情報を管理部450に出力する(S214)。これにより、診断部250は、診断処理251を終了する。この場合、インターロック処理における接点M102をONする条件が過剰である状況であり、実際に直交ロボット104を動作させても干渉が発生しないにも関わらず、直交ロボット104を過剰に待機させておくことになる。よって、管理部450は、作業者に、ラダープログラム800Aにおいてインターロック処理の条件が過剰であることを通知する。作業者は、ラダープログラム800Aにおけるインターロック処理の条件が過剰であることがわかるため、当該インターロック処理を修正することができる。これにより、ラダープログラム800に基づいて動作する直交ロボット104において過剰な待機時間が削減されるので、直交ロボット104の動作効率を向上させることができ、もってワークW3の生産性を向上させることができる。 If the operation completion signal is ON (S213: YES), the diagnosis unit 250 outputs information indicating that the interlock process needs to be corrected to the management unit 450 as a diagnosis result (S214). As a result, the diagnosis unit 250 ends the diagnosis process 251. In this case, the condition for turning on the contact M102 in the interlock process is excessive, and even though no interference occurs when the orthogonal robot 104 is actually operated, the orthogonal robot 104 is kept waiting excessively. Therefore, the management unit 450 notifies the worker that the interlock process condition in the ladder program 800A is excessive. Since the worker knows that the interlock process condition in the ladder program 800A is excessive, the worker can correct the interlock process. As a result, the excessive waiting time in the orthogonal robot 104 operating based on the ladder program 800 is reduced, so the operating efficiency of the orthogonal robot 104 can be improved, and the productivity of the workpiece W3 can be improved.

動作指令152をONしたにも関わらず、動作完了信号がOFFした状態が続いてタイムアウトした場合には、仮想ロボット104Vの動作が完了し得ない、即ちラダープログラム800Aに不備が有る。このため、動作完了信号がOFFした状態が続いてタイムアウトした場合には(S213:NO)、診断部250は、診断結果として、ラダープログラム800Aの修正が必要であることを示す情報を管理部450に出力する(S215)。これにより、診断部250は、診断処理251を終了する。管理部450は、診断部250から取得した情報を表示装置421に表示させることで、作業者に、ラダープログラム800Aの修正が必要であることを通知する。これにより、ラダープログラム800Aの修正を作業者に促す。 If the operation completion signal remains OFF and times out even though the operation command 152 is turned ON, the operation of the virtual robot 104V cannot be completed, i.e., there is a defect in the ladder program 800A. Therefore, if the operation completion signal remains OFF and times out (S213: NO), the diagnosis unit 250 outputs information indicating that the ladder program 800A needs to be modified to the management unit 450 as a diagnosis result (S215). As a result, the diagnosis unit 250 ends the diagnosis process 251. The management unit 450 notifies the operator that the ladder program 800A needs to be modified by displaying the information acquired from the diagnosis unit 250 on the display device 421. This prompts the operator to modify the ladder program 800A.

以上、診断部250は、シミュレーション部350によるステップS211の処理の実行により、仮想ロボット104Vが所定動作を開始してから仮想ロボット105V,106Vに干渉するかどうかに基づいて、診断範囲801の修正の要否を診断する。これによりインターロック処理の不足だけでなく、インターロック処理が過剰に設定されている場合も判別でき、適切な数のインターロック処理を設定できる。よって、実際の自動機においてインターロック処理が過剰に設定されていることで、自動機が不必要に停止することを低減することができる。ゆえに自動機の動作効率を向上させることができる。 As described above, the diagnosis unit 250 diagnoses whether or not the diagnosis range 801 needs to be modified based on whether or not the virtual robot 104V interferes with the virtual robots 105V, 106V after the simulation unit 350 executes the process of step S211. This makes it possible to determine not only whether there is a shortage of interlock processing, but also whether the interlock processing is set excessively, and to set an appropriate number of interlock processing. Therefore, it is possible to reduce unnecessary stops of the automatic machine due to excessive interlock processing being set in an actual automatic machine. This makes it possible to improve the operating efficiency of the automatic machine.

本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。 The present invention is not limited to the embodiments described above, and many variations are possible within the technical concept of the present invention. Furthermore, the effects described in the embodiments are merely a list of the most favorable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.

上述の実施形態では、一連のラダープログラム800Aにおいて選択される診断範囲801が1つである場合について説明したが、これに限定するものではなく、一連のラダープログラム800Aにおいて選択される診断範囲801が複数あってもよい。また、ラダープログラム800Aに複数の自動機それぞれに対するインターロック処理が含まれていてもよく、この場合、複数のインターロック処理のそれぞれについて診断するようにしてもよい。 In the above embodiment, a case has been described in which one diagnostic range 801 is selected in a series of ladder programs 800A, but this is not limited thereto, and multiple diagnostic ranges 801 may be selected in a series of ladder programs 800A. In addition, the ladder program 800A may include interlock processing for each of multiple automated machines, in which case each of the multiple interlock processing may be diagnosed.

また、診断部250が、手動スイッチに対応する接点M101をONさせる入力信号をPLC500に入力する場合について説明したが、これに限定するものではない。PLC500において、自動スイッチに対応する接点M100をONさせる入力信号を、条件に応じて自身で生成するようにしてもよい。 In addition, although the above description has been given of a case in which the diagnosis unit 250 inputs an input signal to the PLC 500 that turns on the contact M101 corresponding to the manual switch, this is not limited to this. The PLC 500 may itself generate an input signal that turns on the contact M100 corresponding to the automatic switch according to conditions.

また、上述の実施形態では、自動機が直交ロボットである場合について説明したがこれに限定するものではない。自動機が、直交ロボット以外のロボット、例えば垂直多関節ロボット、水平多関節ロボット、又はパラレルリンクロボットであってもよい。また自動機が、ロボット以外の装置、例えばシリンダ、サーボ機構、NC加工機等、移動動作を伴う装置であってもよい。また、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。 In the above embodiment, the automatic machine is an Cartesian robot, but this is not limited to this. The automatic machine may be a robot other than an Cartesian robot, such as a vertical articulated robot, a horizontal articulated robot, or a parallel link robot. The automatic machine may also be a device other than a robot, such as a cylinder, a servo mechanism, or an NC processing machine, which involves a moving operation. The invention is also applicable to machines that can automatically perform movements such as extension, contraction, bending, vertical movement, horizontal movement, or rotation, or a combination of these movements, based on information from a storage device provided in the control device.

また、上述の実施形態で説明した情報処理装置200、シミュレーション装置300、管理装置400、及びPLC500の機能を、1つ又は複数のコンピュータで実現してもよい。例えば、診断部、シミュレーション部及び管理部の機能を、3つのコンピュータで実現する場合に限らず、1つまたは2つのコンピュータで実現してもよいし、4つ以上のコンピュータで実現してもよい。また、PLC500の機能を、診断部、シミュレーション部又は管理部の機能を担うコンピュータで実現してもよい。 Furthermore, the functions of the information processing 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. 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. Furthermore, the functions of the PLC 500 may be realized by a computer that performs the functions of the diagnosis unit, the simulation unit, or the management unit.

具体例を挙げて説明すると、シミュレーション装置300のCPU301に、上述の実施形態で説明した診断部250及びシミュレーション部350の機能を実現させてもよい。更に、シミュレーション装置300のCPU301に、上述の実施形態で説明した管理部450の機能を実現させてもよい。 To explain this with a specific example, the CPU 301 of the simulation device 300 may be caused to realize the functions of the diagnosis unit 250 and the simulation unit 350 described in the above embodiment. Furthermore, the CPU 301 of the simulation device 300 may be caused to realize the functions of the management unit 450 described in the above embodiment.

また、別の具体例を挙げて説明すると、情報処理装置200のCPU201に、上述の実施形態で説明した診断部250及びシミュレーション部350の機能を実現させてもよい。更に、情報処理装置200のCPU201に、上述の実施形態で説明した管理部450の機能を実現させてもよい。 As another specific example, the CPU 201 of the information processing device 200 may be caused to realize the functions of the diagnosis unit 250 and the simulation unit 350 described in the above embodiment. Furthermore, the CPU 201 of the information processing device 200 may be caused to realize the functions of the management unit 450 described in the above embodiment.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Other Examples
The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiments 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 program. The present invention can also be realized by a circuit (e.g., ASIC) that implements one or more of the functions.

104…直交ロボット(自動機)、104V…仮想ロボット(仮想機)、105V…仮想ロボット(仮想物)、106V…仮想ロボット(仮想物)、250…診断部、350…シミュレーション部、450…管理部、800A…ラダープログラム、801…診断範囲(動作プログラム)、1000…生産システム(システム) 104... Cartesian robot (automatic machine), 104V... Virtual robot (virtual machine), 105V... Virtual robot (virtual object), 106V... Virtual robot (virtual object), 250... Diagnosis section, 350... Simulation section, 450... Management section, 800A... Ladder program, 801... Diagnosis range (operation program), 1000... Production system (system)

Claims (27)

動作プログラムに基づき、装置のシミュレーションを実行する情報処理装置であって、
前記動作プログラムには、前記装置に所定動作の実行を指示する信号を取得した場合に、所定条件が成立していれば前記装置に前記所定動作を実行させるインターロック処理が規定されており、
前記シミュレーションにおいて、前記信号を取得した場合に、前記所定条件が成立していなくても、前記装置に前記所定動作を実行させる第1処理を実行させ、前記装置が他の物体に干渉しなかった場合、前記動作プログラムに規定された前記インターロック処理の前記所定条件が過剰な状態であることを通知する
ことを特徴とする情報処理装置。
An information processing device that executes a simulation of a device based on an operation program,
The operation program defines an interlock process for causing the device to execute a predetermined operation if a signal instructing the device to execute the predetermined operation is received and a predetermined condition is satisfied,
When the signal is acquired in the simulation, a first process is executed to cause the device to execute the predetermined operation even if the predetermined condition is not satisfied, and when the device does not interfere with another object, a notification is given that the predetermined condition of the interlock process defined in the operation program is in an excessive state .
23. An information processing apparatus comprising:
前記インターロック処理は、前記所定条件が成立していなければ、前記信号を取得したとしても、前記装置に前記所定動作を実行させない、
ことを特徴とする請求項1に記載の情報処理装置。
The interlock process does not cause the device to execute the predetermined operation even if the signal is received unless the predetermined condition is satisfied.
2. The information processing apparatus according to claim 1,
前記第1処理を実行させ、前記装置が他の物体に干渉しなかった場合、前記動作プログラムに規定された前記インターロック処理の前記所定条件が過剰な状態であると判定する、
ことを特徴とする請求項1または2に記載の情報処理装置。
executing the first process , and if the device does not interfere with another object, determining that the predetermined condition of the interlock process defined in the operation program is in an excessive state ;
3. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.
前記第1処理を実行させ、前記装置が他の物体に干渉しなかった場合、前記動作プログラムにおいて修正が必要であることを通知する、
ことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
executing the first process , and notifying the user that a correction is required in the operation program if the device does not interfere with another object ;
4. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.
前記第1処理を実行させ、前記装置が他の物体に干渉した場合、前記動作プログラムにおいて修正が不要であることを通知する、
ことを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
executing the first process , and notifying the user that no correction is required in the operation program if the device interferes with another object ;
5. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.
前記第1処理を実行させ、前記所定動作が完了しなった場合、前記動作プログラムにおいて修正が必要であることを通知する、
ことを特徴とする請求項1からのいずれか1項に記載の情報処理装置。
executing the first process, and if the predetermined operation is not completed, notifying that correction is required in the operation program;
6. The information processing apparatus according to claim 1,
前記シミュレーションにおいて、前記信号を取得した場合に前記所定条件が成立していれば、前記インターロック処理に従い、前記装置に前記所定動作を実行させる第2処理を実行する、
ことを特徴とする請求項1からのいずれか1項に記載の情報処理装置。
If the predetermined condition is satisfied when the signal is acquired in the simulation, a second process is executed to cause the device to execute the predetermined operation in accordance with the interlock process.
7. The information processing apparatus according to claim 1,
前記第2処理を実行させ、前記装置が他の物体に干渉した場合、前記動作プログラムに規定された前記インターロック処理の前記所定条件が不足している状態であると判定する、
ことを特徴とする請求項に記載の情報処理装置。
executing the second process , and when the device interferes with another object, determining that the predetermined condition of the interlock process defined in the operation program is not satisfied ;
8. The information processing apparatus according to claim 7 ,
前記第2処理を実行させ、前記装置が他の物体に干渉した場合、前記動作プログラムにおいて修正が必要であることを通知する、
ことを特徴とする請求項またはに記載の情報処理装置。
executing the second process , and notifying the user that a correction is required in the operation program if the device interferes with another object ;
9. The information processing apparatus according to claim 7 , wherein the information processing apparatus is a computer.
前記第2処理を実行させ、前記装置が他の物体に干渉しなかった場合、前記動作プログラムにおいて修正が不要であることを通知する、
ことを特徴とする請求項からのいずれか1項に記載の情報処理装置。
executing the second process , and notifying the user that no modification is required in the operation program if the device does not interfere with another object ;
10. The information processing apparatus according to claim 7 ,
前記第2処理を実行させ、前記装置が他の物体に干渉した場合、前記インターロックの前記所定条件が不足している状態であることを通知する、
ことを特徴とする請求項から1のいずれか1項に記載の情報処理装置。
executing the second process, and when the device interferes with another object, notifying that the predetermined condition of the interlock process is not satisfied;
The information processing device according to any one of claims 7 to 10 .
前記第2処理を実行させ、前記所定動作が完了しなった場合、前記動作プログラムにおいて修正が必要であることを通知する、
ことを特徴とする請求項から1のいずれか1項に記載の情報処理装置。
executing the second process, and if the predetermined operation is not completed, notifying that correction is required in the operation program;
The information processing device according to any one of claims 7 to 11.
前記シミュレーションにおいて、前記装置が他の物体と干渉した場合に、干渉した時点で前記シミュレーションを中断する、
ことを特徴とする請求項1から1のいずれか1項に記載の情報処理装置。
If the device interferes with another object during the simulation, the simulation is interrupted at the point of interference.
The information processing device according to any one of claims 1 to 12 .
前記シミュレーションにおいて、前記装置が他の物体と干渉しても前記シミュレーションを継続する、
ことを特徴とする請求項1から1のいずれか1項に記載の情報処理装置。
Continuing the simulation even if the device interferes with another object in the simulation.
The information processing device according to any one of claims 1 to 13 .
前記シミュレーションにより前記装置の挙動を制御する第1制御部を更に備える、
ことを特徴とする請求項1から1のいずれか1項に記載の情報処理装置。
A first control unit controls a behavior of the device through the simulation.
The information processing device according to any one of claims 1 to 14 .
前記動作プログラムは、前記装置の一連の動作を規定するシーケンスプログラムのうちの一部又は全部である、
ことを特徴とする請求項1から1のいずれか1項に記載の情報処理装置。
The operation program is a part or the whole of a sequence program that defines a series of operations of the device.
The information processing device according to any one of claims 1 to 15 .
前記シーケンスプログラムを配信する管理部を更に備える、
ことを特徴とする請求項16に記載の情報処理装置。
A management unit that distributes the sequence program is further provided.
17. The information processing apparatus according to claim 16 ,
前記管理部から前記シーケンスプログラムを取得し、取得した前記シーケンスプログラムに基づく制御信号を前記装置に出力して、前記装置の挙動を制御する第2制御部と、を更に備える、
ことを特徴とする請求項17に記載の情報処理装置。
a second control unit that acquires the sequence program from the management unit and outputs a control signal based on the acquired sequence program to the device to control a behavior of the device.
20. The information processing apparatus according to claim 17 ,
前記動作プログラムにおける修正が必要か否かを表示部に表示する、
ことを特徴とする請求項1から18のいずれか1項に記載の情報処理装置。
a display unit displays whether or not the operation program needs to be modified;
19. The information processing apparatus according to claim 1,
前記動作プログラムはラダープログラムである、
ことを特徴とする請求項1から19のいずれか1項に記載の情報処理装置。
The operation program is a ladder program.
20. The information processing apparatus according to claim 1,
前記第1処理を実行させ、前記装置が他の物体に干渉した場合、前記動作プログラムに規定された前記インターロック処理の前記所定条件が適正な状態であると判定する、executing the first process, and when the device interferes with another object, determining that the predetermined condition of the interlock process defined in the operation program is in an appropriate state;
ことを特徴とする請求項1または2に記載の情報処理装置。3. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.
前記所定条件は、前記動作プログラムにおいて規定される前記インターロック処理に対応する接点をОNまたはОFFにする条件である、The predetermined condition is a condition for turning a contact corresponding to the interlock process defined in the operation program ON or OFF.
ことを特徴とする請求項1から21のいずれか1項に記載の情報処理装置。22. The information processing apparatus according to claim 1,
請求項1から2のいずれか1項に記載の情報処理装置と、前記装置と、前記装置を制御する制御装置と、を備えた生産装置であって、
前記情報処理装置により前記動作プログラムのシミュレーションを実行し、シミュレーションの結果に基づきユーザが前記情報処理装置を用いて前記動作プログラムを修正し、前記制御装置が、修正された前記動作プログラムに基づき前記装置を制御する、ことを特徴とする生産装置。
A production device comprising the information processing device according to any one of claims 1 to 22, the device, and a control device that controls the device ,
a simulation of the operation program is performed by the information processing device, a user modifies the operation program using the information processing device based on a result of the simulation, and the control device controls the device based on the modified operation program.
請求項2に記載の生産装置を用いて物品の製造を行うことを特徴とする物品の製造方法。 A method for manufacturing an article, comprising the steps of: manufacturing the article using the production apparatus according to claim 2 or 3 . 動作プログラムに基づき、装置のシミュレーションを実行する情報処理方法であって、
前記動作プログラムには、前記装置に所定動作の実行を指示する信号を取得した場合に、所定条件が成立していれば前記装置に前記所定動作を実行させるインターロック処理が規定されており、
前記シミュレーションにおいて、前記信号を取得した場合に、前記所定条件が成立していなくても、前記装置に前記所定動作を実行させる第1処理を実行させ、前記装置が他の物体に干渉しなかった場合、前記動作プログラムに規定された前記インターロック処理の前記所定条件が過剰な状態であることを通知する、
ことを特徴とする情報処理方法。
An information processing method for executing a simulation of a device based on an operation program, comprising the steps of:
The operation program defines an interlock process for causing the device to execute a predetermined operation if a signal instructing the device to execute the predetermined operation is received and a predetermined condition is satisfied,
When the signal is acquired in the simulation, a first process is executed to cause the device to execute the predetermined operation even if the predetermined condition is not satisfied, and when the device does not interfere with another object, a notification is given that the predetermined condition of the interlock process defined in the operation program is in an excessive state.
23. An information processing method comprising:
請求項2に記載の情報処理方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the information processing method according to claim 5 . 請求項2に記載のプログラムを記録した、コンピュータにより読み取り可能な記録媒体。 A computer-readable recording medium having the program according to claim 6 recorded thereon.
JP2020035166A 2020-03-02 2020-03-02 Information processing device, production device, article manufacturing method, information processing method, program, and recording medium Active JP7486982B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020035166A JP7486982B2 (en) 2020-03-02 2020-03-02 Information processing device, production device, article manufacturing method, information processing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020035166A JP7486982B2 (en) 2020-03-02 2020-03-02 Information processing device, production device, article manufacturing method, information processing method, program, and recording medium

Publications (3)

Publication Number Publication Date
JP2021140259A JP2021140259A (en) 2021-09-16
JP2021140259A5 JP2021140259A5 (en) 2023-03-08
JP7486982B2 true JP7486982B2 (en) 2024-05-20

Family

ID=77668602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020035166A Active JP7486982B2 (en) 2020-03-02 2020-03-02 Information processing device, production device, article manufacturing method, information processing method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP7486982B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20250101590A (en) * 2023-12-27 2025-07-04 현대자동차주식회사 Method and apparatus of virtual control for logistics process

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10264058A (en) * 1997-03-21 1998-10-06 Nissan Motor Co Ltd How to create a robot interference area setting program

Also Published As

Publication number Publication date
JP2021140259A (en) 2021-09-16

Similar Documents

Publication Publication Date Title
JP3946753B2 (en) Robot program evaluation / correction method and robot program evaluation / correction device
US20190051049A1 (en) Information processing apparatus, information processing method, and non-transitory storage medium
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
TWI553497B (en) Analog system, programmable controller, analog device, engineering tool
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
CN112748699B (en) Simulation device, numerical control device and simulation method
JP4312481B2 (en) Simulation apparatus, simulation method, and simulation program
JP7853054B2 (en) Information processing device, information processing method, program, recording medium, method for manufacturing articles
JP2019081204A (en) Robot control method, control terminal, and robot system
JP2025061563A (en) Information processing device, information processing method, production system, article manufacturing method, program, and recording medium
JP7486982B2 (en) Information processing device, production device, article manufacturing method, information processing method, program, and recording medium
JP2010218036A (en) Robot off-line programming system
JP2024102220A (en) ROBOT SYSTEM, TASK GENERATION DEVICE, AND CONTROL METHOD
JP2003162304A (en) Equipment control simulation method and apparatus
US20180059657A1 (en) Production controller equipped with function of identifying cause upon operation stop of production facility including manufacturing facilities
JP2016221659A (en) Robot system, robot system control method, program, recording medium, and article manufacturing method
JP4829151B2 (en) Robot program evaluation / correction method and robot program evaluation / correction device
US20230109876A1 (en) Information processing apparatus, information processing method, and method of manufacturing products
JP4198374B2 (en) Equipment simulation method and equipment simulation program
WO2023127056A1 (en) Simulation device for robot or machine tool
JP7797621B2 (en) Program generation device and program generation method
Hajarnavis et al. An assessment of PLC software structure suitability for the support of flexible manufacturing processes
KR102755756B1 (en) Error tracking method for motion controller
US12617092B2 (en) Method and a system for detecting possible collisions of objects in an industrial manufacturing environment
JP2008071015A (en) Numerical controller

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240508

R150 Certificate of patent or registration of utility model

Ref document number: 7486982

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150