JP2021140259A - System, simulation device, information processing device, simulation method, program, and recording medium - Google Patents

System, simulation device, information processing device, simulation method, program, and recording medium Download PDF

Info

Publication number
JP2021140259A
JP2021140259A JP2020035166A JP2020035166A JP2021140259A JP 2021140259 A JP2021140259 A JP 2021140259A JP 2020035166 A JP2020035166 A JP 2020035166A JP 2020035166 A JP2020035166 A JP 2020035166A JP 2021140259 A JP2021140259 A JP 2021140259A
Authority
JP
Japan
Prior art keywords
simulation
unit
virtual
virtual machine
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.)
Pending
Application number
JP2020035166A
Other languages
Japanese (ja)
Other versions
JP2021140259A5 (en
Inventor
信明 藤井
Nobuaki Fujii
信明 藤井
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/JP2021140259A/en
Publication of JP2021140259A publication Critical patent/JP2021140259A/en
Publication of JP2021140259A5 publication Critical patent/JP2021140259A5/en
Pending legal-status Critical Current

Links

Images

Abstract

To enhance operation efficiency of an automated machine.SOLUTION: A simulation unit 350 simulates a behavior of a virtual machine corresponding to an automated machine in a virtual space on the basis of an operation program in which an interlock process is specified. A diagnosis unit 250 diagnoses the operation program on the basis of the simulation result of the simulation unit 350. The simulation unit 350 executes a first process for allowing the virtual machine to start a prescribed operation regardless of the interlock process when a prescribed condition is not established in a situation where an input signal is present. The diagnosis unit 250 diagnoses the operation program on the basis of the execution result of the first process.SELECTED DRAWING: Figure 3

Description

本発明は、自動機の動作プログラムを診断する技術に関する。 The present invention relates to a technique for diagnosing an operation program of an automatic machine.

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

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

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

本発明は、自動機の動作効率を向上させることを目的とする。 An object of the present invention is to improve the operating efficiency of an automatic machine.

本発明のシステムは、所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション部と、前記シミュレーション部のシミュレーション結果により前記動作プログラムを診断する診断部と、を備え、前記シミュレーション部は、前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、前記診断部は、前記第1処理の実行結果に基づき、前記動作プログラムを診断する、ことを特徴とする。 The system of the present invention starts a predetermined operation of the automatic machine by an input signal if a predetermined condition is satisfied, and if the predetermined condition is not satisfied, the operation of the automatic machine is performed regardless of the presence or absence of the input signal. The operation program is diagnosed based on the simulation unit that simulates the behavior of the virtual machine corresponding to the automatic machine in the virtual space and the simulation result of the simulation unit based on the operation program in which the interlock process for continuing the stop is specified. First, the simulation unit causes the virtual machine to start the predetermined operation regardless of the interlock process if the predetermined condition is not satisfied in the presence of the input signal. The process is executed, and the diagnosis unit diagnoses the operation program based on the execution result of the first process.

本発明のシミュレーション装置は、所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション部と、前記シミュレーション部のシミュレーション結果により前記動作プログラムを診断する診断部と、を備え、前記シミュレーション部は、前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、前記診断部は、前記第1処理の実行結果に基づき、前記動作プログラムを診断する、ことを特徴とする。 The simulation device of the present invention starts a predetermined operation of the automatic machine by an input signal if a predetermined condition is satisfied, and if the predetermined condition is not satisfied, the simulation device of the automatic machine regardless of the presence or absence of the input signal. Based on an operation program in which interlock processing that continues operation stop is specified, a simulation unit that simulates the behavior of a virtual machine corresponding to the automatic machine in a virtual space, and the operation program based on the simulation results of the simulation unit A diagnostic unit for diagnosing is provided, and the simulation unit causes the virtual machine to start the predetermined operation regardless of the interlock process if the predetermined condition is not satisfied in the presence of the input signal. One process is executed, and the diagnosis unit diagnoses the operation program based on the execution result of the first process.

本発明の情報処理装置は、所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション部と、前記シミュレーション部のシミュレーション結果により前記動作プログラムを診断する診断部と、を備え、前記シミュレーション部は、前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、前記診断部は、前記第1処理の実行結果に基づき、前記動作プログラムを診断する、ことを特徴とする。 The information processing apparatus of the present invention starts a predetermined operation of the automatic machine by an input signal if a predetermined condition is satisfied, and if the predetermined condition is not satisfied, the automatic machine regardless of the presence or absence of the input signal. Based on the operation program in which the interlock process for continuing the operation stop of the above is specified, the operation program is based on the simulation unit that simulates the behavior of the virtual machine corresponding to the automatic machine in the virtual space and the simulation result of the simulation unit. The simulation unit is provided with a diagnostic unit for diagnosing the above, and the simulation unit causes the virtual machine to start the predetermined operation regardless of the interlock process if the predetermined condition is not satisfied in the presence of the input signal. The first process is executed, and the diagnosis unit diagnoses the operation program based on the execution result of the first process.

本発明のシミュレーション方法は、所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション工程と、前記シミュレーション工程のシミュレーション結果により前記動作プログラムを診断する診断工程と、を備え、前記シミュレーション工程において、前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、前記診断工程において、前記第1処理の実行結果に基づき、前記動作プログラムを診断する、ことを特徴とする。 In the simulation method of the present invention, if a predetermined condition is satisfied, a predetermined operation of the automatic machine is started by an input signal, and if the predetermined condition is not satisfied, the automatic machine is operated regardless of the presence or absence of the input signal. Based on the operation program in which the interlock process that continues the operation stop is specified, the operation program is based on the simulation process that simulates the behavior of the virtual machine corresponding to the automatic machine in the virtual space and the simulation result of the simulation process. A diagnostic step for diagnosing is provided, and in the simulation step, if the predetermined condition is not satisfied when the input signal is present, the virtual machine is caused to start the predetermined operation regardless of the interlock process. One process is executed, and in the diagnosis step, the operation program is diagnosed based on the execution result of the first process.

本発明によれば、自動機の動作効率を向上させることができる。 According to the present invention, the operating efficiency of the automatic machine can be improved.

実施形態に係る自動組立装置の模式図である。It is a schematic diagram of the automatic assembly apparatus which concerns on embodiment. 実施形態に係るシステムのブロック図である。It is a block diagram of the system which concerns on embodiment. 実施形態に係るシステムの機能ブロック図である。It is a functional block diagram of the system which concerns on embodiment. 実施形態における仮想空間の一例を示す模式図である。It is a schematic diagram which shows an example of the virtual space in an embodiment. (a)は実施形態におけるラダープログラムの一例を示すラダー図である。(b)はラダープログラムに用いられる接点の情報を示す図である。(A) is a ladder diagram showing an example of a ladder program in the embodiment. (B) is a figure which shows the information of the contact point used in a ladder program. 実施形態に係るシミュレーション方法を示すフローチャートである。It is a flowchart which shows the simulation method which concerns on 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, embodiments for carrying out the present invention will be described in detail with reference to the drawings. FIG. 1 is a schematic view of an automatic assembly device 100 of the system according to the embodiment. FIG. 1 illustrates an automatic assembly device 100 in a real space RS. The automatic assembly device 100 shown in FIG. 1 is installed in, for example, a factory. The automatic assembly device 100 includes three Cartesian robots 104, 105, and 106 as an example of a plurality of automatic machines. The three Cartesian robots 104, 105, and 106 are arranged on the gantry 20. By using these Cartesian robots 104, 105, and 106, the work W2 which is the second work is assembled to the work W1 which is the first work, and the work W3 which is an example of the article is manufactured.

架台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 gantry 20, and a carrier 111 on which the work W1 and the work W3 are placed can move on the rail 103. The orthogonal robot 104 has a hand 114, which is an example of a holding portion capable of holding the work W1, and a moving mechanism 124 that moves the hand 114 in the translational direction. The orthogonal robot 105 has a hand 115, which is an example of a holding portion capable of holding the work W1, and a moving mechanism 125 for moving the hand 115 in the translational direction. The orthogonal robot 106 has a hand 116 which is an example of a holding portion capable of holding the work W2, and a moving mechanism 126 which moves the hand 116 in the translational direction. The Cartesian robots 104, 105, and 106 are arranged so that their movable ranges overlap each other.

各直交ロボット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 work W1 conveyed by the transfer table 111. The orthogonal robot 106 acquires the work W2 conveyed from the transfer device (not shown). Then, each of the Cartesian robots 104 and 105 conveys the work W1 from the position where the work W1 is acquired to the position where the work W2 is assembled to the work W1. The Cartesian robot 106 attaches the held work W2 to the work W1 held by the Cartesian robots 104 and 105. Then, each of the Cartesian robots 104 and 105 transports the work W3 composed of the works W1 and W2 to the transport table 111. The Cartesian robot 104 and the Cartesian robot 105 alternately and repeatedly execute these series of operations.

ここで、直交ロボット104,105同士、直交ロボット104,106同士、及び直交ロボット105,106同士が干渉しないように、インターロックが設定されている。インターロックは、所定条件が成立しない限り、いずれかの直交ロボットの動作を停止させる機能である。各直交ロボット104,105,106は、シーケンスプログラムであるラダープログラムに従って動作する。このラダープログラムには、インターロックを行うためのインターロック処理、即ちインターロックの接点が規定されている。 Here, the interlock is set so that the Cartesian robots 104 and 105 do not interfere with each other, the Cartesian robots 104 and 106 and the Cartesian robots 105 and 106 do not interfere with each other. The interlock is a function of stopping the operation of any of the Cartesian robots unless a predetermined condition is satisfied. Each Cartesian robot 104, 105, 106 operates according to a ladder program which is a sequence program. In this ladder program, an interlock process for performing an interlock, that is, an interlock contact point is specified.

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

図2は、実施形態に係るシステムの一例である生産システム1000のブロック図である。生産システム1000は、上述した自動組立装置100、情報処理装置200、シミュレーション装置300、及び管理装置400を備える。また、生産システム1000は、第1制御部の一例であるPLC(Programmable Logic Controller)500、及び第2制御部の一例であるPLC600を備える。 FIG. 2 is a block diagram of the production system 1000, which is an example of the system according to the embodiment. The production system 1000 includes the above-mentioned automatic assembly device 100, information processing device 200, simulation device 300, and management device 400. Further, the production system 1000 includes a PLC (Programmable Logic Controller) 500 which is an example of the first control unit and a PLC 600 which is an example of the 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 composed of a computer and includes a CPU (Central Processing Unit) 201 which is a processor. The CPU 201 functions as a diagnostic unit described later. The information processing device 200 includes a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, and an HDD (Hard Disk Drive) 204 as storage units. In addition, the information processing device 200 includes an input / output interface I / O 205 and a disk drive 206. The CPU 201, ROM 202, RAM 203, HDD 204, I / 0205, and disk drive 206 are connected by a bus 210 so as to be able to 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-temporary storage device. The ROM 202 stores a basic program read by the CPU 201 when the computer is started. The RAM 203 is a temporary storage device used for arithmetic processing of the CPU 201. The HDD 204 is a non-temporary storage device that stores various data such as the calculation processing result of the CPU 201. In the present embodiment, the HDD 204 stores a diagnostic program 211 for causing the CPU 201 to function as a diagnostic unit described later and execute a part of the simulation method. The disk drive 206 can read various data, programs, and the like recorded on the recording disk 212. The I / O 205 functions as a communication module with the outside. A display device 221, an input device 222, a management device 400, and a PLC 500 are connected to the I / O 205. The CPU 201 of the information processing 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 for displaying various images. The input device 222 is a device capable of inputting data by an operator, for example, a keyboard or a 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 composed of a computer and includes a CPU 301 which is a processor. The CPU 301 functions as a simulation unit described later. Further, the simulation device 300 includes a ROM 302, a RAM 303, and an HDD 304 as storage units. Further, the simulation device 300 includes an input / output interface I / O 305 and a disk drive 306. The CPU 301, ROM 302, RAM 303, HDD 304, I / 0305, and disk drive 306 are connected by a bus 310 so as to be able to 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は、作業者によってデータ入力が可能な装置、例えばキーボードやマウスである。 The ROM 302 is a non-temporary storage device. The ROM 302 stores a basic program read by the CPU 301 when the computer is started. The RAM 303 is a temporary storage device used for arithmetic processing of the CPU 301. The HDD 304 is a non-temporary storage device that stores various data such as the calculation processing result of the CPU 301. In the present embodiment, the HDD 304 stores a simulation program 311 for causing the CPU 301 to function as a simulation unit described later and execute a part of the simulation method. The disk drive 306 can read various data, programs, and the like recorded on the recording disk 312. The I / O 305 functions as a communication module with the outside. A display device 321 and an input device 322, a management device 400, and a 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 for displaying various images. The input device 322 is a device capable of inputting data by an operator, for example, a keyboard or a 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 composed of a computer and includes a CPU 401 which is a processor. The CPU 401 functions as a management unit described later. Further, the management device 400 includes a ROM 402, a RAM 403, and an HDD 404 as storage units. The management device 400 also includes an input / output interface I / O 405 and a disk drive 406. The CPU 401, ROM 402, RAM 403, HDD 404, I / 0405, and disk drive 406 are connected by a bus 410 so as to be able to 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-temporary 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 arithmetic processing of the CPU 401. The HDD 404 is a non-temporary storage device that stores various data such as the calculation processing result 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, and the like recorded on the recording disk 412. The I / O 405 functions as a communication module with the outside. A display device 421, an input device 422, an information processing device 200, a simulation device 300, a PLC500, and a PLC600 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 PLC500, and the PLC600 via the I / O 405. The display device 421 is a display for displaying various images. The input device 422 is a device capable of inputting data by an operator, for example, a keyboard or a mouse. The PLC 600 is connected to the automatic assembly device 100.

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

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

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

図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 functions as the management unit 450 shown in FIG. 3 by executing the management program 411. The management unit 450 executes the ladder program management 451 and the 3D model management 452, the diagnostic range management 453, and the 3D CAD conversion process 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と、を有する。 FIG. 4 is a schematic diagram showing an example of the virtual space in the embodiment. FIG. 4 illustrates a virtual assembly device 100V in the virtual space VS. The virtual assembly device 100V corresponds to the automatic assembly device 100 and is virtually constructed in the 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 work W1V corresponds to the work W1, the virtual work W2V corresponds to the work W2, and the virtual work W3V corresponds to the work W3. The virtual robot 104V has a virtual hand 114V and a virtual mechanism 124V that moves the virtual hand 114V in the translational direction. The virtual robot 105V has a virtual hand 115V and a virtual mechanism 125V that moves the virtual hand 115V in the translational direction. The virtual robot 106V has a virtual hand 116V and a virtual mechanism 126V that moves the virtual hand 116V in the translational direction.

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

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 the virtual space. The PLC 600 controls the behavior of each of the orthogonal robots 104, 105, 106 of the automatic assembly device 100 by outputting a control signal based on the registered ladder program 800 to the automatic assembly device 100, and the work W3 to the automatic assembly device 100. To manufacture.

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

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 to control the behavior of the virtual robots 104V, 105V, 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 a diagnosis target, and is diagnosed by the diagnosis unit 250 of the information processing apparatus 200. The management unit 450 causes the display device 421 to display an image showing the diagnosis result of the ladder program 800A acquired from the diagnosis unit 250. The operator can operate the input device 422 to modify the ladder program 800A or register the ladder program 800 by referring to the diagnosis result displayed on the display device 421. The modified ladder program 800A can also be diagnosed by the diagnostic unit 250 again. As a result of the diagnosis of the ladder program 800A, if there is no need to correct the ladder program 800A, the ladder program 800A is registered in the management device 400 as the debugged ladder program 800.

また、管理部450は、自動組立装置100のメカ機構の3Dモデルを管理する3Dモデル管理452を実行する。メカ機構の3Dモデルは、作業者が操作する入力装置422によって管理部450に入力され、例えば図2のHDD404に登録される。メカ機構の3Dモデルは、情報処理装置200の診断部250によって診断される。管理部450は、診断部250からメカ機構の診断結果を取得し、その診断結果に応じた画像を表示装置421に表示させる。管理部450は、メカ機構の修正が必要である場合は、メカ機構の修正箇所を表示装置421に表示させる。 Further, the management unit 450 executes the 3D model management 452 that manages the 3D model of the mechanical mechanism of the automatic assembly device 100. The 3D model of the mechanical mechanism is input to the management unit 450 by the input device 422 operated by the operator, and is registered in the HDD 404 of FIG. 2, for example. The 3D model of the mechanical mechanism is diagnosed by the diagnostic 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 displays an image corresponding to the diagnosis result on the display device 421. When the mechanical mechanism needs to be modified, the management unit 450 causes the display device 421 to display the modified portion of the mechanical mechanism.

また、管理部450は、3Dモデル管理452で管理されている自動機のメカ機構の3Dモデルを、シミュレーション部350でシミュレーション可能な形式に変換し、シミュレーション装置300に配信する3DCAD変換処理454を実行する。管理部450により配信された3Dモデルは、シミュレーション装置300のモデル登録部360に登録される。 Further, the management unit 450 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 unit 350, and executes the 3D CAD conversion process 454 that is distributed to the simulation device 300. do. 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に配信する。 In addition, the management unit 450 executes the diagnosis range management 453 that selects the diagnosis range of the ladder program 800A. The management unit 450 selects a part or all of the entire ladder program 800A as the diagnosis range in the diagnosis range management 453, and distributes the information of the selected diagnosis range to the information processing device 200. The diagnostic range is selected, for example, by the operator operating the input device 422. Further, the diagnosis range may be selected, for example, according to the correction location where the operator operates the input device 422 to correct the ladder program 800A. Further, the diagnostic range may be selected, for example, according to the correction location where the operator operates the input device 422 to correct the 3D model of the mechanical mechanism. The diagnosis unit 250 of the information processing device 200 executes the diagnosis process 251 based on the distributed information of the diagnosis range, and distributes the diagnosis result to the management device 400. That is, 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 range of the ladder program 800A, and distributes the test result to the management device 400.

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

以下、本実施形態のシミュレーション方法について説明する。シミュレーション方法として、実空間RSにおける直交ロボット104に対応する、仮想空間VSにおける仮想ロボット104Vを例にとって説明する。図5(a)は、実施形態において診断対象のラダープログラム800Aの一例を示すラダー図である。図5(b)は、ラダープログラム800Aに用いられる接点の情報を示す図である。 Hereinafter, the simulation method of this embodiment will be described. As a simulation method, a virtual robot 104V in a virtual space VS corresponding to a Cartesian robot 104 in a real space RS will be described as an example. FIG. 5A is a ladder diagram showing an example of the ladder program 800A to be diagnosed in the embodiment. FIG. 5B is a diagram showing contact information 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 the information of the ladder program 800A as shown in FIG. 5A to the PLC 500. Further, the management unit 450 selects the diagnostic range 801 which is a part of the ladder program 800A shown in FIG. 5A. Then, the management unit 450 distributes the contact information shown in FIG. 5B included in the selected diagnosis 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 diagnosis range 801 is an operation program that is a part or all of the ladder program 800A that defines a series of operations of the orthogonal robot 104, that is, the virtual robot 104V, which is a part in the present embodiment. It is assumed that the diagnostic range 801 includes a contact for performing the interlock process. The interlock process starts the predetermined operation of the Cartesian robot 104 by the input signal if the predetermined condition is satisfied, and stops the operation of the Cartesian robot 104 regardless of the presence or absence of the input signal if the predetermined condition is not satisfied. Is a process to continue.

シミュレーション部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. Then, the diagnosis unit 250 diagnoses the diagnosis range 801 in the ladder program 800A based on the simulation result of the simulation unit 350.

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

図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で構成されている。 The contacts M100, M101, M102, M200, M201, and M202 shown in FIG. 5A are a contacts and correspond to coils in PLC500. The contact M100 corresponds to an automatic switch, the contact M101 corresponds to a manual switch, and the contact M102 corresponds to an interlock (I / L). The contacts M200, M201, and M202 correspond to predetermined conditions of the interlock. The contact M200 corresponds to condition 1, the contact M201 corresponds to condition 2, and the contact M202 corresponds to condition 3. In the example of the present embodiment, the predetermined condition of the interlock includes a plurality of conditions 1, 2, and 3. The contact M200 is turned on when the condition 1 is satisfied. The contact M201 is turned on when the condition 2 is satisfied. The contact M202 is turned on when the condition 3 is satisfied. When all three contacts M200, M201, and M202 are turned on, that is, when a predetermined condition is satisfied, the contact M102 indicating an interlock is turned on. Further, if any one of the three contacts M200, M201, and M202 is turned off, that is, if the predetermined condition is not satisfied, the contact M102 indicating the interlock is turned off. Therefore, in the example of FIG. 5A, the interlock process in the ladder program 800A is composed of the contacts M200, M201, M202 and M102.

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

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

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

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

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

次に、診断部250は、入力信号をONした後、PLC500において、インターロックを示す接点M102がONしているかどうかを判断する(S202)。PLC500は、入力信号を受けたとき、接点M102がONしているかどうかを診断部250に応答信号として送信する。診断部250は、応答信号により、接点M102がONしているかどうかを判断することができる。 Next, after turning on the input signal, the diagnostic unit 250 determines in the PLC 500 whether or not the contact M102 indicating the interlock is turned on (S202). When the PLC 500 receives the input signal, it transmits to the diagnostic unit 250 whether or not the contact M102 is ON as a response signal. The diagnosis unit 250 can determine whether or not 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 the input signal is input, the PLC 500 turns on the operation command 152 by executing the interlock process of turning on the contacts M102 if all the contacts M200 to M202 are turned on. Even if the PLC500 receives an input signal, if at least one of the contacts M200 to M202 is turned off, the operation command 152 is maintained as turned off by executing an interlock process for turning off the contact M102. NS.

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

本実施形態では、シミュレーション部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 the present embodiment, the simulation unit 350 has a function of diagnosing whether or not the operating virtual robot 104V interferes with surrounding virtual objects such as the virtual robots 105V and 106V. When the virtual robot 104V interferes with the virtual robot 105V, the virtual robot 104V or the virtual work W1V held by the virtual robot 104V collides with the virtual robot 105V or the virtual work W1V held by the virtual robot 105V. Is. When the virtual robot 104V interferes with the virtual robot 106V, the virtual robot 104V or the virtual work W1V held by the virtual robot 104V collides with the virtual robot 106V or the virtual work W2V held by the virtual robot 106V. Is. Information on whether or not the virtual robot 104V interferes with the virtual robot 105V or 106V is transmitted to the diagnostic 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 interferes with the virtual robots 105V and 106V after the predetermined operation of the virtual robot 104V is 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 processing needs to be corrected as a diagnosis result to the management unit 450 (S204: YES). S208). As a result, the diagnostic unit 250 ends the diagnostic process 251. When the virtual robot 104V interferes with the virtual robot 105V or 106V, the simulation may be interrupted or the simulation may be continued at the point of interference. Even if the virtual robot 104V interferes with the virtual robot 105V or 106V during the virtual operation, the models only overlap each other, so that the virtual operation can be continued. The management unit 450 notifies the operator that the interlock processing 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 orthogonal robot 104 is actually operated. Therefore, the management unit 450 notifies the operator that the conditions for the interlock processing are insufficient in the ladder program 800A. As a result, in the ladder program 800A, the operator can turn on the interlock contact M102 so that interference with surrounding structures, for example, the orthogonal robots 105 and 106 does not occur even if the orthogonal robot 104 operates. Can be modified.

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

診断部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 correction of the interlock process is unnecessary to the management unit 450 as a diagnosis result (S206). As a result, the diagnostic unit 250 ends the diagnostic process 251. By displaying the information acquired from the diagnosis unit 250 on the display device 421, the management unit 450 notifies the operator that it is not necessary to modify the interlock process in the ladder program 800A.

動作指令152をONしたにも関わらず、動作完了信号がOFFした状態が続いてタイムアウトした場合には、仮想ロボット104Vの動作が完了し得ない、即ちラダープログラム800Aに不備が有る。このため、動作完了信号がOFFした状態が続いてタイムアウトした場合には(S205:NO)、診断部250は、診断結果として、ラダープログラム800Aの修正が必要であることを示す情報を管理部450に出力する(S207)。これにより、診断部250は、診断処理251を終了する。管理部450は、診断部250から取得した情報を表示装置421に表示させることで、作業者に、ラダープログラム800Aの修正が必要であることを通知する。これにより、ラダープログラム800Aの修正を作業者に促す。 If the operation completion signal is continuously turned off and timed out even though the operation command 152 is turned on, the operation of the virtual robot 104V cannot be completed, that is, there is a defect in the ladder program 800A. Therefore, when the operation completion signal is continuously turned off and timed out (S205: NO), the diagnosis unit 250 provides the information indicating that the ladder program 800A needs to be modified as the diagnosis result in the management unit 450. Is output to (S207). As a result, the diagnostic unit 250 ends the diagnostic 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. As a result, the operator is urged to modify the ladder program 800A.

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

ステップ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に所定動作を強制的に開始させる。 When the contact M102 is turned off in step S202 (S202: NO), the diagnostic unit 250 sends a command to the PLC 500 to forcibly turn on the operation command 152 (S210). As a result, the PLC 500 forcibly turns on the operation command 152, ignoring the interlock process in the ladder program 800A. 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 process (S211). The process of step S211 is the first process. That is, when the input signal is input from the diagnostic unit 250 in the PLC 500, the simulation unit 350 forcibly starts the predetermined operation on the virtual robot 104V if the predetermined condition is not satisfied, that is, if the contact M102 is OFF. Let me.

診断部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 process of step S211.

診断部250は、ステップS211で仮想ロボット104Vの所定動作が開始してから、仮想ロボット104Vが仮想ロボット105V及び106Vと干渉したかどうかを判断する(S212)。 The diagnosis unit 250 determines whether or not the virtual robot 104V interferes with the virtual robots 105V and 106V after the predetermined operation of the virtual robot 104V starts 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, as a diagnosis result, information indicating that the correction of the interlock process is unnecessary to the management unit 450 (S). S216). As a result, the diagnostic unit 250 ends the diagnostic process 251. When the virtual robot 104V interferes with the virtual robot 105V or 106V, the simulation may be interrupted or the simulation may be continued at the point of interference. Even if the virtual robot 104V interferes with the virtual robot 105V or 106V during the virtual operation, the models only overlap each other, so that the virtual operation can be continued. By displaying the information acquired from the diagnosis unit 250 on the display device 421, the management unit 450 notifies the operator that the ladder program 800A does not need to modify the interlock process. That is, if the contact M102 is ignored and the virtual robot 104V is forcibly operated to interfere with other virtual objects, it means that the interlock processing in the ladder program 800A functions correctly. There is. In this case, the interlock process does not need to be modified.

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

診断部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 processing needs to be corrected as a diagnosis result to the management unit 450 (S214). As a result, the diagnostic unit 250 ends the diagnostic process 251. In this case, the condition for turning on the contact M102 in the interlock process is excessive, and the orthogonal robot 104 is excessively kept on standby even though interference does not occur even if the orthogonal robot 104 is actually operated. It will be. Therefore, the management unit 450 notifies the operator that the conditions for the interlock processing are excessive in the ladder program 800A. Since the operator finds that the conditions for the interlock processing in the ladder program 800A are excessive, the operator can correct the interlock processing. As a result, the excessive waiting time in the orthogonal robot 104 that operates based on the ladder program 800 is reduced, so that the operating efficiency of the orthogonal robot 104 can be improved, and thus the productivity of the work 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 is continuously turned off and timed out even though the operation command 152 is turned on, the operation of the virtual robot 104V cannot be completed, that is, there is a defect in the ladder program 800A. Therefore, when the operation completion signal is continuously turned off and timed out (S213: NO), the diagnosis unit 250 provides the information indicating that the ladder program 800A needs to be modified as the diagnosis result in the management unit 450. Is output to (S215). As a result, the diagnostic unit 250 ends the diagnostic 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. As a result, the operator is urged to modify the ladder program 800A.

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

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

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

また、診断部250が、手動スイッチに対応する接点M101をONさせる入力信号をPLC500に入力する場合について説明したが、これに限定するものではない。PLC500において、自動スイッチに対応する接点M100をONさせる入力信号を、条件に応じて自身で生成するようにしてもよい。 Further, the case where the diagnostic unit 250 inputs an input signal for turning on the contact M101 corresponding to the manual switch to the PLC 500 has been described, but the present invention is not limited to this. In the PLC500, an input signal for turning on the contact M100 corresponding to the automatic switch may be generated by itself depending on the conditions.

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

また、上述の実施形態で説明した情報処理装置200、シミュレーション装置300、管理装置400、及びPLC500の機能を、1つ又は複数のコンピュータで実現してもよい。例えば、診断部、シミュレーション部及び管理部の機能を、3つのコンピュータで実現する場合に限らず、1つまたは2つのコンピュータで実現してもよいし、4つ以上のコンピュータで実現してもよい。また、PLC500の機能を、診断部、シミュレーション部又は管理部の機能を担うコンピュータで実現してもよい。 Further, the functions of the information processing device 200, the simulation device 300, the management device 400, and the PLC 500 described in the above-described embodiment may be realized by one or a plurality of computers. For example, the functions of the diagnostic unit, the simulation unit, and the management unit are not limited to those realized by three computers, and may be realized by one or two computers, or may be realized by four or more computers. .. Further, the function of the PLC 500 may be realized by a computer having a function of a diagnosis unit, a simulation unit or a management unit.

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

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

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other Examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more 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 unit, 350 ... Simulation unit, 450 ... Management unit , 800A ... Ladder program, 801 ... Diagnosis range (operation program), 1000 ... Production system (system)

Claims (15)

所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション部と、
前記シミュレーション部のシミュレーション結果により前記動作プログラムを診断する診断部と、を備え、
前記シミュレーション部は、
前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、
前記診断部は、
前記第1処理の実行結果に基づき、前記動作プログラムを診断する、
ことを特徴とするシステム。
If the predetermined condition is satisfied, the predetermined operation of the automatic machine is started by the input signal, and if the predetermined condition is not satisfied, the operation of the automatic machine is continued to be stopped regardless of the presence or absence of the input signal. A simulation unit that simulates the behavior of a virtual machine corresponding to the automatic machine in a virtual space based on an operation program for which processing is specified,
A diagnostic unit that diagnoses the operation program based on the simulation result of the simulation unit is provided.
The simulation unit
If the predetermined condition is not satisfied when there is the input signal, the first process of causing the virtual machine to start the predetermined operation is executed regardless of the interlock process.
The diagnostic unit
Diagnose the operation program based on the execution result of the first process.
A system characterized by that.
前記診断部は、
前記シミュレーション部による前記第1処理の実行により、前記仮想機が前記所定動作を開始してから前記仮想機が周囲の仮想物に干渉するかどうかに基づいて、前記動作プログラムの修正の要否を診断する、
ことを特徴とする請求項1に記載のシステム。
The diagnostic unit
By executing the first process by the simulation unit, the necessity of modifying the operation program is determined based on whether or not the virtual machine interferes with surrounding virtual objects after the virtual machine starts the predetermined operation. Diagnose,
The system according to claim 1.
前記診断部は、
前記シミュレーション部による前記第1処理の実行により、前記仮想機が前記所定動作を開始してから、前記仮想機が前記仮想物に干渉したならば、診断結果として、前記インターロック処理の修正が不要であることを示す情報を出力し、
前記シミュレーション部による前記第1処理の実行により、前記仮想機が前記所定動作を開始してから完了するまでの間に、前記仮想機が前記仮想物に干渉しなければ、診断結果として、前記インターロック処理の修正が必要であることを示す情報を出力する、
ことを特徴とする請求項2に記載のシステム。
The diagnostic unit
If the virtual machine interferes with the virtual object after the virtual machine starts the predetermined operation by executing the first process by the simulation unit, it is not necessary to modify the interlock process as a diagnostic result. Outputs information indicating that
If the virtual machine does not interfere with the virtual object between the time when the virtual machine starts and the time when the predetermined operation is completed by the execution of the first process by the simulation unit, the diagnostic result is the interlock. Outputs information indicating that the lock processing needs to be corrected.
2. The system according to claim 2.
前記診断部は、
前記シミュレーション部による前記第1処理の実行により、前記仮想機が前記所定動作を完了し得ない場合には、診断結果として、前記動作プログラムの修正が必要であることを示す情報を出力する、
ことを特徴とする請求項2または3に記載のシステム。
The diagnostic unit
When the virtual machine cannot complete the predetermined operation due to the execution of the first process by the simulation unit, information indicating that the operation program needs to be modified is output as a diagnosis result.
The system according to claim 2 or 3.
前記シミュレーション部は、
前記入力信号がある場合に前記所定条件が成立していれば、前記インターロック処理に従い、前記仮想機に前記所定動作を開始させる第2処理を実行し、
前記診断部は、
前記シミュレーション部による前記第2処理の実行により、前記仮想機が前記所定動作を開始してから前記仮想機が前記仮想物に干渉するかどうかに基づいて、前記動作プログラムの修正の要否を診断する、
ことを特徴とする請求項2乃至4のいずれか1項に記載のシステム。
The simulation unit
If the predetermined condition is satisfied in the presence of the input signal, the second process of causing the virtual machine to start the predetermined operation is executed according to the interlock process.
The diagnostic unit
By executing the second process by the simulation unit, it is diagnosed whether or not the operation program needs to be modified based on whether or not the virtual machine interferes with the virtual object after the virtual machine starts the predetermined operation. do,
The system according to any one of claims 2 to 4, wherein the system is characterized by the above.
前記診断部は、
前記シミュレーション部による前記第2処理の実行により、前記仮想機が前記所定動作を開始してから完了するまでの間に、前記仮想機が前記仮想物に干渉しなければ、診断結果として、前記インターロック処理の修正が不要であることを示す情報を出力し、
前記シミュレーション部による前記第2処理の実行により、前記仮想機が前記所定動作を開始してから、前記仮想機が前記仮想物に干渉したならば、診断結果として、前記インターロック処理の修正が必要であることを示す情報を出力する、
ことを特徴とする請求項5に記載のシステム。
The diagnostic unit
If the virtual machine does not interfere with the virtual object between the time when the virtual machine starts and the time when the predetermined operation is completed by the execution of the second process by the simulation unit, the diagnostic result is the interlock. Outputs information indicating that the lock processing does not need to be modified.
If the virtual machine interferes with the virtual object after the virtual machine starts the predetermined operation by executing the second process by the simulation unit, it is necessary to correct the interlock process as a diagnosis result. Outputs information indicating that
The system according to claim 5.
前記動作プログラムに基づく制御信号を前記シミュレーション部に出力して、前記シミュレーション部による前記仮想機の挙動を制御する第1制御部を更に備える、
ことを特徴とする請求項1乃至6のいずれか1項に記載のシステム。
A first control unit that outputs a control signal based on the operation program to the simulation unit and controls the behavior of the virtual machine by the simulation unit is further provided.
The system according to any one of claims 1 to 6, wherein the system is characterized by the above.
前記動作プログラムは、前記自動機の一連の動作を規定するシーケンスプログラムのうちの一部又は全部である、
ことを特徴とする請求項1乃至7のいずれか1項に記載のシステム。
The operation program is a part or all of a sequence program that defines a series of operations of the automatic machine.
The system according to any one of claims 1 to 7, wherein the system is characterized by the above.
前記シーケンスプログラムを配信する管理部を更に備える、
ことを特徴とする請求項8に記載のシステム。
A management unit that distributes the sequence program is further provided.
8. The system according to claim 8.
前記自動機と、
前記管理部から前記シーケンスプログラムを取得し、取得した前記シーケンスプログラムに基づく制御信号を前記自動機に出力して、前記自動機の挙動を制御する第2制御部と、を更に備える、
ことを特徴とする請求項9に記載のシステム。
With the automatic machine
A second control unit that acquires the sequence program from the management unit, outputs a control signal based on the acquired sequence program to the automatic machine, and controls the behavior of the automatic machine is further provided.
9. The system according to claim 9.
所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション部と、
前記シミュレーション部のシミュレーション結果により前記動作プログラムを診断する診断部と、を備え、
前記シミュレーション部は、
前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、
前記診断部は、
前記第1処理の実行結果に基づき、前記動作プログラムを診断する、
ことを特徴とするシミュレーション装置。
If the predetermined condition is satisfied, the predetermined operation of the automatic machine is started by the input signal, and if the predetermined condition is not satisfied, the operation of the automatic machine is continued to be stopped regardless of the presence or absence of the input signal. A simulation unit that simulates the behavior of a virtual machine corresponding to the automatic machine in a virtual space based on an operation program for which processing is specified,
A diagnostic unit that diagnoses the operation program based on the simulation result of the simulation unit is provided.
The simulation unit
If the predetermined condition is not satisfied when there is the input signal, the first process of causing the virtual machine to start the predetermined operation is executed regardless of the interlock process.
The diagnostic unit
Diagnose the operation program based on the execution result of the first process.
A simulation device characterized by this.
所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション部と、
前記シミュレーション部のシミュレーション結果により前記動作プログラムを診断する診断部と、を備え、
前記シミュレーション部は、
前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、
前記診断部は、
前記第1処理の実行結果に基づき、前記動作プログラムを診断する、
ことを特徴とする情報処理装置。
If the predetermined condition is satisfied, the predetermined operation of the automatic machine is started by the input signal, and if the predetermined condition is not satisfied, the operation of the automatic machine is continued to be stopped regardless of the presence or absence of the input signal. A simulation unit that simulates the behavior of a virtual machine corresponding to the automatic machine in a virtual space based on an operation program for which processing is specified,
A diagnostic unit that diagnoses the operation program based on the simulation result of the simulation unit is provided.
The simulation unit
If the predetermined condition is not satisfied when there is the input signal, the first process of causing the virtual machine to start the predetermined operation is executed regardless of the interlock process.
The diagnostic unit
Diagnose the operation program based on the execution result of the first process.
An information processing device characterized by this.
所定条件が成立していれば、入力信号により自動機の所定動作を開始し、前記所定条件が成立していなければ、前記入力信号の有無に関わらず前記自動機の動作停止を継続するインターロック処理が規定された動作プログラムに基づき、前記自動機に対応する仮想機の挙動を、仮想空間においてシミュレートするシミュレーション工程と、
前記シミュレーション工程のシミュレーション結果により前記動作プログラムを診断する診断工程と、を備え、
前記シミュレーション工程において、
前記入力信号がある場合に前記所定条件が成立していなければ、前記インターロック処理に関わらず、前記仮想機に前記所定動作を開始させる第1処理を実行し、
前記診断工程において、
前記第1処理の実行結果に基づき、前記動作プログラムを診断する、
ことを特徴とするシミュレーション方法。
If the predetermined condition is satisfied, the predetermined operation of the automatic machine is started by the input signal, and if the predetermined condition is not satisfied, the operation of the automatic machine is continued to be stopped regardless of the presence or absence of the input signal. A simulation process that simulates the behavior of a virtual machine corresponding to the automatic machine in a virtual space based on an operation program for which processing is specified, and
A diagnostic step of diagnosing the operation program based on the simulation result of the simulation step is provided.
In the simulation process
If the predetermined condition is not satisfied when there is the input signal, the first process of causing the virtual machine to start the predetermined operation is executed regardless of the interlock process.
In the diagnostic step
Diagnose the operation program based on the execution result of the first process.
A simulation method characterized by that.
請求項13に記載のシミュレーション方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the simulation method according to claim 13. 請求項13に記載のシミュレーション方法をコンピュータに実行させるためのプログラムを記録した、前記コンピュータにより読み取り可能な非一時的な記録媒体。 A non-temporary recording medium readable by the computer, in which a program for causing the computer to execute the simulation method according to claim 13 is recorded.
JP2020035166A 2020-03-02 2020-03-02 System, simulation device, information processing device, simulation method, program, and recording medium Pending JP2021140259A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020035166A JP2021140259A (en) 2020-03-02 2020-03-02 System, simulation device, information processing device, simulation method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020035166A JP2021140259A (en) 2020-03-02 2020-03-02 System, simulation device, information processing device, simulation method, program, and recording medium

Publications (2)

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

Family

ID=77668602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020035166A Pending JP2021140259A (en) 2020-03-02 2020-03-02 System, simulation device, information processing device, simulation method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2021140259A (en)

Similar Documents

Publication Publication Date Title
US20190258945A1 (en) Fault diagnosis apparatus and machine learning 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
US20030090491A1 (en) Simulation device
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
US10437211B2 (en) Simulation system
TW201541271A (en) Simulation system, programmable controller, simulation device and engineering tool
JP2023529143A (en) Method and robot controller for controlling a robot
JP6915441B2 (en) Information processing equipment, information processing methods, and information processing programs
US20210154849A1 (en) Controller for distributed devices
US11554482B2 (en) Self-learning industrial robotic system
US10678231B2 (en) Production controller equipped with function of identifying cause upon operation stop of production facility including manufacturing facilities
JP2004280635A (en) Simulation device, simulation method, and simulation program
JP2010218036A (en) Robot off-line programming system
JP2021140259A (en) System, simulation device, information processing device, simulation method, program, and recording medium
JP2019081204A (en) Robot control method, control terminal, and robot system
JPH10143221A (en) System and method for supporting development of equipment control program
JP2007136671A (en) Method of evaluating and correcting robot program, and device for evaluating and correcting the robot program
US11656753B2 (en) Information processing device and method displaying at least two apparatuses for virtually checking interference
JP7374867B2 (en) Control system, local controller and control method
US20210129331A1 (en) Control method, control apparatus, robot apparatus, method of manufacturing an article, motion program creation method, motion program creation apparatus, display apparatus, and control program recording medium
JPH0938876A (en) Simulation device
JP2021084218A (en) Information presentation device, information presentation method, and information presentation program
JP2003288113A (en) Simulation method of equipment and simulation program of equipment
US20230249347A1 (en) Path planning during execution of robot control

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240409