JP6961130B1 - Simulation program, simulation device, and simulation method - Google Patents

Simulation program, simulation device, and simulation method Download PDF

Info

Publication number
JP6961130B1
JP6961130B1 JP2021527937A JP2021527937A JP6961130B1 JP 6961130 B1 JP6961130 B1 JP 6961130B1 JP 2021527937 A JP2021527937 A JP 2021527937A JP 2021527937 A JP2021527937 A JP 2021527937A JP 6961130 B1 JP6961130 B1 JP 6961130B1
Authority
JP
Japan
Prior art keywords
model
machine
driver
simulation
motor
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
JP2021527937A
Other languages
Japanese (ja)
Other versions
JPWO2022149241A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6961130B1 publication Critical patent/JP6961130B1/en
Publication of JPWO2022149241A1 publication Critical patent/JPWO2022149241A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric

Abstract

モータを備えた機械と、モータを制御するモータドライバと、モータドライバを制御するコントローラとを具備した機械システムの動作を、機械の動作を模擬する機械モデルと、モータドライバの動作を模擬するドライバモデルとを用いて模擬するシミュレーションプログラムであって、シミュレーションの抽象度が設定された抽象度設定に基づいて、機械モデルの候補と、ドライバモデルの候補とを保持するモデルライブラリ(13)から、シミュレーションに用いる機械モデルとドライバモデルとを選択するモデル選択ステップと、選択された機械モデルおよびドライバモデルを用いて機械システムの動作を模擬するモデル演算ステップと、をコンピュータに実行させ、1つの機械を異なる抽象度で模擬する複数の機械モデルが機械モデルの候補に含まれるか、または1つのモータドライバを異なる抽象度で模擬する複数のドライバモデルがドライバモデルの候補に含まれている。A machine model that simulates the operation of a machine and a driver model that simulates the operation of a machine, a machine equipped with a motor, a motor driver that controls the motor, and a controller that controls the motor driver. This is a simulation program that simulates using Let the computer perform a model selection step to select the machine model and driver model to be used, and a model calculation step to simulate the operation of the machine system using the selected machine model and driver model, and make one machine a different abstraction. Multiple machine models simulated by degree are included in the machine model candidates, or a plurality of driver models simulating one motor driver with different degrees of abstraction are included in the driver model candidates.

Description

本開示は、機械の動作およびモータドライバの動作の少なくとも一方の動作を模擬するシミュレーションプログラム、シミュレーション装置、およびシミュレーション方法に関する。 The present disclosure relates to a simulation program, a simulation apparatus, and a simulation method for simulating the operation of at least one of the operation of a machine and the operation of a motor driver.

モータによって駆動される機械が所望の動作を実行するためには、機械の構成を決める設計パラメータ、モータを制御するための制御パラメータなどのパラメータの調整が必要となる。これらのパラメータの調整のために機械の試作と試験動作を繰り返すとなると膨大な手間、時間、および費用が掛かる。このため、機械の動作を模擬するシミュレーション装置による数値計算の計算結果を用いてパラメータが調整されている。 In order for a machine driven by a motor to perform a desired operation, it is necessary to adjust parameters such as design parameters that determine the configuration of the machine and control parameters for controlling the motor. Repeating the trial production and test operation of the machine for adjusting these parameters requires enormous labor, time, and cost. Therefore, the parameters are adjusted by using the calculation result of the numerical calculation by the simulation device that simulates the operation of the machine.

機械の動作をシミュレーションするためには、ソフトウェア上で機械の動作を模擬するためのモデルが必要となる。さらに、用途ごとに仕様の異なる機械は多種多様であり、機械のモデルも仕様に応じて作成される必要がある。例えば、パラメータの調整を目的とするシミュレーションに用いられるモデルには精度が求められるが、機械全体を高い精度で模擬するモデルを用いたシミュレーションには膨大な計算コストが掛かる。このため、シミュレーションの目的に応じて必要な部分は高精度に模擬し、その他の部分を簡略化するといったように部分毎に適切な抽象度のモデルが用いられる。 In order to simulate the operation of a machine, a model for simulating the operation of the machine is required on software. Furthermore, there are a wide variety of machines with different specifications for each application, and it is necessary to create a model of the machine according to the specifications. For example, a model used for a simulation for adjusting parameters is required to have accuracy, but a simulation using a model that simulates the entire machine with high accuracy requires a huge calculation cost. Therefore, a model with an appropriate degree of abstraction is used for each part, such as simulating the necessary part with high accuracy according to the purpose of the simulation and simplifying the other parts.

特許文献1に記載のシミュレータは、モータを制御するモータドライバ、センサ信号を入力するためのセンサ信号ユニットなどのモデルを作成しておき、これらのモデルを組み合わせることで種々の機械に対してモデルの作成を容易化している。 In the simulator described in Patent Document 1, models such as a motor driver for controlling a motor and a sensor signal unit for inputting a sensor signal are created, and by combining these models, models can be used for various machines. It is easy to create.

国際公開第2008/120304号International Publication No. 2008/120304

しかしながら、上記特許文献1の技術では、構成の異なる機械に対してモデルを作成することができるものの、1つの機械に対して抽象度の異なるモデルを用いることはできなかった。このため、上記特許文献1の技術の場合、シミュレーションしたい内容が変わるたびに、ユーザが適切な抽象度のモデルを作成する必要があり、モデルの作成に時間および手間がかかるので、計算効率の良いシミュレーションを簡易的に実現できないという問題があった。 However, in the technique of Patent Document 1, although it is possible to create a model for machines having different configurations, it is not possible to use a model having a different degree of abstraction for one machine. Therefore, in the case of the technique of Patent Document 1, the user needs to create a model with an appropriate degree of abstraction every time the content to be simulated changes, and it takes time and effort to create the model, so that the calculation efficiency is good. There was a problem that the simulation could not be realized easily.

本開示は、上記に鑑みてなされたものであって、計算効率の良いシミュレーションを簡易的に実現することができるシミュレーションプログラムを得ることを目的とする。 The present disclosure has been made in view of the above, and an object of the present disclosure is to obtain a simulation program capable of easily realizing a simulation with high calculation efficiency.

上述した課題を解決し、目的を達成するために、本開示は、モータを備えるとともにモータによって駆動される機械と、モータを制御するモータドライバと、モータドライバを制御するコントローラとを具備した機械システムの動作を、機械の動作を模擬する機械モデルと、モータドライバの動作を模擬するドライバモデルとを用いて模擬するシミュレーションプログラムであって、機械モデルの候補と、ドライバモデルの候補とを保持するモデルライブラリから、機械システムの動作を模擬する際のシミュレーションの抽象度が設定された情報である抽象度設定に基づいて、機械の動作を模擬する際に用いる機械モデルと、モータドライバの動作を模擬する際に用いるドライバモデルとを選択するモデル選択ステップをコンピュータに実行させる。また、シミュレーションプログラムは、モデル選択ステップで選択した機械モデルおよびドライバモデルを用いて機械システムの動作を模擬するモデル演算ステップをコンピュータに実行させる。機械モデルの候補およびドライバモデルの候補の少なくとも一方は複数であり、機械モデルの候補が複数である場合には、機械モデルの候補には、1つの機械を異なる抽象度で模擬する複数の機械モデルが含まれ、ドライバモデルの候補が複数である場合には、ドライバモデルの候補には、1つのモータドライバを異なる抽象度で模擬する複数のドライバモデルが含まれている。 In order to solve the above-mentioned problems and achieve the object, the present disclosure discloses a mechanical system including a machine provided with a motor and driven by the motor, a motor driver for controlling the motor, and a controller for controlling the motor driver. Is a simulation program that simulates the operation of From the library, the machine model used when simulating the operation of the machine and the operation of the motor driver are simulated based on the degree of abstraction setting, which is the information in which the degree of abstraction of the simulation when simulating the operation of the machine system is set. Have the computer perform a model selection step to select the driver model to be used. In addition, the simulation program causes the computer to execute a model calculation step that simulates the operation of the mechanical system using the machine model and the driver model selected in the model selection step. If at least one of the machine model candidates and the driver model candidates is plural, and there are multiple machine model candidates, the machine model candidates include a plurality of machine models that simulate one machine with different abstractions. Is included, and when there are a plurality of driver model candidates, the driver model candidates include a plurality of driver models that simulate one motor driver with different abstractions.

本開示にかかるシミュレーションプログラムは、計算効率の良いシミュレーションを簡易的に実現することができるという効果を奏する。 The simulation program according to the present disclosure has an effect that a simulation with high calculation efficiency can be easily realized.

実施の形態1にかかるシミュレーション装置によって動作がシミュレーションされる機械システムの構成を示す図The figure which shows the structure of the mechanical system whose operation is simulated by the simulation apparatus which concerns on Embodiment 1. 実施の形態1にかかるシミュレーション装置の構成を示す図The figure which shows the structure of the simulation apparatus which concerns on Embodiment 1. 実施の形態1に係るシミュレーション装置によるシミュレーションの処理手順を示すフローチャートA flowchart showing a simulation processing procedure by the simulation apparatus according to the first embodiment. 実施の形態2にかかるシミュレーション装置の構成を示す図The figure which shows the structure of the simulation apparatus which concerns on Embodiment 2. 実施の形態2にかかるシミュレーション装置が動作を模擬する機械システムで用いられるシーケンスプログラムを説明するための図The figure for demonstrating the sequence program used in the mechanical system which simulates the operation by the simulation apparatus which concerns on Embodiment 2. 実施の形態3にかかるシミュレーション装置の構成を示す図The figure which shows the structure of the simulation apparatus which concerns on Embodiment 3. 実施の形態3にかかるシミュレーション装置が用いるニューラルネットワークを説明するための図The figure for demonstrating the neural network used by the simulation apparatus which concerns on Embodiment 3. 実施の形態4にかかるシミュレーション装置の構成を示す図The figure which shows the structure of the simulation apparatus which concerns on Embodiment 4. 実施の形態4にかかるシミュレーション装置がモデルの簡略化によって新たなモデルを生成する処理を説明するための図The figure for demonstrating the process which the simulation apparatus which concerns on Embodiment 4 generates a new model by simplification of a model. 実施の形態5にかかるシミュレーション装置の構成を示す図The figure which shows the structure of the simulation apparatus which concerns on Embodiment 5. 実施の形態5にかかるシミュレーション装置が用いるニューラルネットワークを説明するための図The figure for demonstrating the neural network used by the simulation apparatus which concerns on Embodiment 5. 実施の形態6にかかるシミュレーション装置によって動作がシミュレーションされる機械システムの構成を示す図The figure which shows the structure of the mechanical system whose operation is simulated by the simulation apparatus which concerns on Embodiment 6. 実施の形態6にかかるシミュレーション装置の構成を示す図The figure which shows the structure of the simulation apparatus which concerns on Embodiment 6. 実施の形態1にかかるシミュレーション装置を実現するハードウェア構成例を示す図The figure which shows the hardware configuration example which realizes the simulation apparatus which concerns on Embodiment 1.

以下に、本開示の実施の形態にかかるシミュレーションプログラム、シミュレーション装置、およびシミュレーション方法を図面に基づいて詳細に説明する。 Hereinafter, the simulation program, the simulation apparatus, and the simulation method according to the embodiment of the present disclosure will be described in detail with reference to the drawings.

実施の形態1.
図1は、実施の形態1にかかるシミュレーション装置によって動作がシミュレーションされる機械システムの構成を示す図である。実施の形態1では、シミュレーション装置が、図1に示す3軸のモータを有する機械システム20Aの動作を模擬する処理であるシミュレーションを実行する場合について説明する。
Embodiment 1.
FIG. 1 is a diagram showing a configuration of a mechanical system whose operation is simulated by the simulation apparatus according to the first embodiment. In the first embodiment, a case where the simulation device executes a simulation which is a process of simulating the operation of the mechanical system 20A having the three-axis motor shown in FIG. 1 will be described.

機械システム20Aは、モータで駆動される機械1と、機械1を制御するコントローラ10Aとを備えている。また、機械1は、ステージ5と、ヘッド6とを有している。以下の説明では、ステージ5の上面と平行な面内の2つの方向であって互いに直交する2つの方向をX方向およびY方向とする。また、X方向およびY方向に直交する方向をZ方向とする。 The mechanical system 20A includes a machine 1 driven by a motor and a controller 10A that controls the machine 1. Further, the machine 1 has a stage 5 and a head 6. In the following description, the two directions in the plane parallel to the upper surface of the stage 5 and orthogonal to each other are defined as the X direction and the Y direction. Further, the direction orthogonal to the X direction and the Y direction is defined as the Z direction.

機械1は、X方向に延びるX軸1aと、Y方向に延びるY軸1bと、Z方向に延びるZ軸1cとからなる3軸のモータを有している。 The machine 1 has a three-axis motor including an X-axis 1a extending in the X direction, a Y-axis 1b extending in the Y direction, and a Z-axis 1c extending in the Z direction.

ステージ5は、X軸1aおよびY軸1bに接続されており、X軸1aの動作およびY軸1bの動作によって、XY平面内を移動する。ヘッド6は、Z軸1cに接続されており、Z軸1cの動作によって、Z軸1c方向に移動する。 The stage 5 is connected to the X-axis 1a and the Y-axis 1b, and moves in the XY plane by the operation of the X-axis 1a and the operation of the Y-axis 1b. The head 6 is connected to the Z-axis 1c and moves in the Z-axis 1c direction by the operation of the Z-axis 1c.

コントローラ10Aは、X軸1aの動作およびY軸1bの動作を制御することによって、ステージ5のX方向およびY方向の位置を制御する。また、コントローラ10Aは、Z軸1cの動作を制御することによって、Z軸1cの先端に取り付けられたヘッド6のZ方向の位置を制御する。機械1は、ステージ5上に載置されたワークWpに対し、ヘッド6によって加工を施す。 The controller 10A controls the positions of the stage 5 in the X direction and the Y direction by controlling the operation of the X axis 1a and the operation of the Y axis 1b. Further, the controller 10A controls the position of the head 6 attached to the tip of the Z-axis 1c in the Z direction by controlling the operation of the Z-axis 1c. The machine 1 processes the work Wp placed on the stage 5 by the head 6.

また、機械システム20Aには、モータドライバ(図示せず)が搭載されている。機械システム20Aでは、コントローラ10Aが、モータドライバを制御し、モータドライバが各軸のモータを駆動および制御する。コントローラ10Aの例は、プログラマブルロジックコントローラ、産業用パーソナルコンピュータ、サーボシステムコントローラなどである。 Further, the mechanical system 20A is equipped with a motor driver (not shown). In the mechanical system 20A, the controller 10A controls the motor driver, and the motor driver drives and controls the motor of each axis. Examples of the controller 10A are a programmable logic controller, an industrial personal computer, a servo system controller and the like.

図2は、実施の形態1にかかるシミュレーション装置の構成を示す図である。シミュレーション装置11は、機械システム20Aの動作を模擬するコンピュータである。 FIG. 2 is a diagram showing a configuration of a simulation device according to the first embodiment. The simulation device 11 is a computer that simulates the operation of the mechanical system 20A.

シミュレーション装置11は、モデル選択部12と、モデルライブラリ13と、モデル演算部14とを備えている。モデル選択部12は、外部から与えられる抽象度設定に基づいて、モデルライブラリ13に格納されているモデルの候補の中から抽象度設定に対応するモデルを選択する。 The simulation device 11 includes a model selection unit 12, a model library 13, and a model calculation unit 14. The model selection unit 12 selects a model corresponding to the abstraction degree setting from the model candidates stored in the model library 13 based on the abstraction degree setting given from the outside.

抽象度設定は、シミュレーションの抽象度を示す情報である。換言すると、抽象度設定は、予め用意されたシミュレーションの選択肢の中から1つを選択するための情報である。すなわち、抽象度設定には、モデルの抽象度を決定する情報が含まれている。抽象度設定は、シミュレーション装置11のユーザによってモデル選択部12に入力される。 The abstraction level setting is information indicating the abstraction level of the simulation. In other words, the abstraction degree setting is information for selecting one from the simulation options prepared in advance. That is, the abstraction level setting contains information that determines the abstraction level of the model. The abstraction degree setting is input to the model selection unit 12 by the user of the simulation device 11.

抽象度設定は、シミュレーションの目的を示す情報であってもよいし、抽象度を数値で示した情報であってもよい。抽象度設定が抽象度を数値で示した情報である場合、抽象度の数値が大きいほどシミュレーションの抽象度が高く、簡略化されたシミュレーションに対応する。なお、抽象度設定は、シミュレーションの用途を示す情報であってもよい。 The abstraction degree setting may be information indicating the purpose of the simulation, or may be information indicating the abstraction degree numerically. When the abstraction degree setting is information indicating the abstraction degree numerically, the larger the abstraction degree numerical value is, the higher the abstraction degree of the simulation corresponds to the simplified simulation. The abstraction level setting may be information indicating the purpose of the simulation.

モデル選択部12は、抽象度設定と、選択するモデルとの対応関係を示す対応関係情報を記憶しておく。モデル選択部12が選択するモデルは、シミュレーションの目的に対応するモデルである。したがって、対応関係情報は、抽象度設定と、シミュレーションの目的に対応するモデルとが対応付けされた情報であるともいえる。モデル選択部12は、対応関係情報に基づいて、抽象度設定に対応するモデルを選択する。 The model selection unit 12 stores the correspondence information indicating the correspondence between the abstraction degree setting and the selected model. The model selected by the model selection unit 12 is a model corresponding to the purpose of the simulation. Therefore, it can be said that the correspondence information is the information in which the abstraction degree setting and the model corresponding to the purpose of the simulation are associated with each other. The model selection unit 12 selects a model corresponding to the abstraction degree setting based on the correspondence information.

モデルライブラリ13は、複数の異なる抽象度のドライバモデルを記憶しておく。実施の形態1では、モデルライブラリ13が記憶しておくドライバモデルがドライバモデルD1,D2の2つである場合について説明する。 The model library 13 stores a plurality of driver models having different abstractions. In the first embodiment, the case where the driver models stored in the model library 13 are the driver models D1 and D2 will be described.

ドライバモデルD1,D2は、モータドライバの動作を模擬するモデルである。ドライバモデルD1は、ドライバモデルD2よりも高精度にモータドライバの動作を模擬するモデルである。ドライバモデルD1は、例えば、フィードフォワード制御器、位置フィードバック制御器、速度フィードバック制御器、電流制御器などの機能を模擬する。また、ドライバモデルD2は、ドライバモデルD1よりも簡易的にモータドライバの動作を模擬するモデルである。ドライバモデルD2は、例えば、フィードフォワード制御器の機能のみを模擬する。 The driver models D1 and D2 are models that simulate the operation of the motor driver. The driver model D1 is a model that simulates the operation of the motor driver with higher accuracy than the driver model D2. The driver model D1 simulates the functions of, for example, a feedforward controller, a position feedback controller, a speed feedback controller, and a current controller. Further, the driver model D2 is a model that simulates the operation of the motor driver more simply than the driver model D1. The driver model D2 simulates only the function of the feedforward controller, for example.

また、モデルライブラリ13は、複数の異なる抽象度の機械モデルを記憶しておく。実施の形態1では、モデルライブラリ13が記憶しておく機械モデルが機械モデルM1,M2の2つである場合について説明する。 Further, the model library 13 stores a plurality of machine models having different abstractions. In the first embodiment, a case where the machine model stored in the model library 13 is two machine models M1 and M2 will be described.

機械モデルM1,M2は、機械1の動作を模擬するモデルである。機械モデルM1は、機械モデルM2よりも高精度に機械1の動作を模擬するモデルである。機械モデルM1は、例えば、機械1の振動特性などを模擬する。また、機械モデルM2は、機械モデルM1よりも簡易的に機械1の動作を模擬するモデルである。機械モデルM2は、例えば、ステージ5およびヘッド6の動作範囲を模擬する。ドライバモデルD1,D2、および機械モデルM1,M2の詳細については後述する。 The machine models M1 and M2 are models that simulate the operation of the machine 1. The machine model M1 is a model that simulates the operation of the machine 1 with higher accuracy than the machine model M2. The machine model M1 simulates, for example, the vibration characteristics of the machine 1. Further, the machine model M2 is a model that simulates the operation of the machine 1 more simply than the machine model M1. The mechanical model M2 simulates, for example, the operating range of the stage 5 and the head 6. Details of the driver models D1 and D2 and the mechanical models M1 and M2 will be described later.

なお、モデル選択部12は、ドライバモデルおよび機械モデルのうち、少なくとも一方のモデルを選択すればよい。モデル選択部12は、例えば、ドライバモデルのみを選択してもよいし、機械モデルのみを選択してもよい。換言すると、モデルライブラリ13が保持している機械モデルの候補およびドライバモデルの候補の少なくとも一方は複数である。機械モデルの候補が複数である場合には、機械モデルの候補には、1つの機械を異なる抽象度で模擬する複数の機械モデルが含まれている。ドライバモデルの候補が複数である場合には、ドライバモデルの候補には、1つのモータドライバを異なる抽象度で模擬する複数のドライバモデルが含まれている。 The model selection unit 12 may select at least one of the driver model and the mechanical model. For example, the model selection unit 12 may select only the driver model or only the mechanical model. In other words, at least one of the machine model candidate and the driver model candidate held by the model library 13 is plural. When there are a plurality of machine model candidates, the machine model candidates include a plurality of machine models that simulate one machine with different abstractions. When there are a plurality of driver model candidates, the driver model candidates include a plurality of driver models that simulate one motor driver with different abstractions.

モデル選択部12は、複数のドライバモデルの中からドライバモデルのみを選択する場合には、固定された1つの機械モデルを選択する。一方、モデル選択部12は、複数の機械モデルの中から機械モデルのみを選択する場合には、固定された1つのドライバモデルを選択する。 When selecting only the driver model from the plurality of driver models, the model selection unit 12 selects one fixed machine model. On the other hand, when the model selection unit 12 selects only a machine model from a plurality of machine models, the model selection unit 12 selects one fixed driver model.

また、モデル選択部12は、ドライバモデルと機械モデルとの組み合わせを選択してもよい。この場合、モデル選択部12は、抽象度設定と、選択するモデルの組み合わせとの対応関係を示す対応関係情報を記憶しておく。実施の形態1では、モデル選択部12が、ドライバモデルと機械モデルとの組み合わせを選択する場合について説明する。以下の説明では、ドライバモデルと機械モデルとの組み合わせを、モデル組という場合がある。モデル選択部12は、モデルライブラリ13から選択したモデル組をモデル演算部14に通知する。 Further, the model selection unit 12 may select a combination of the driver model and the machine model. In this case, the model selection unit 12 stores the correspondence information indicating the correspondence between the abstraction degree setting and the combination of the selected models. In the first embodiment, a case where the model selection unit 12 selects a combination of the driver model and the machine model will be described. In the following description, the combination of the driver model and the machine model may be referred to as a model set. The model selection unit 12 notifies the model calculation unit 14 of the model set selected from the model library 13.

モデル組は、シミュレーションの目的に対応している。実施の形態1では、シミュレーションとして2種類の選択肢が用意されている場合について説明する。シミュレーション装置11は、例えば、機械システム20Aの可動部の可動範囲を確認するためのシミュレーションを実行したい場合には、可動部を駆動するモータ、およびモータを駆動するモータドライバのモデルが必要となる。この場合のシミュレーション装置11は、機微な振動特性、モータの制御応答特性まで高精度に模擬する必要は無く、モータのモデル、ドライバモデル、および機械モデルは抽象化してもよい。 The model set corresponds to the purpose of the simulation. In the first embodiment, a case where two types of options are prepared as a simulation will be described. For example, when the simulation device 11 wants to execute a simulation for confirming the movable range of the movable portion of the mechanical system 20A, a model of a motor for driving the movable portion and a model of a motor driver for driving the motor is required. In this case, the simulation device 11 does not need to simulate the delicate vibration characteristics and the control response characteristics of the motor with high accuracy, and the motor model, the driver model, and the mechanical model may be abstracted.

一方、ユーザが、モータを多数搭載する多軸装置のモータドライバの制御パラメータを調整するためには、調整対象のモータドライバ、モータ、および機械1の精緻なモデルが必要となる。この場合のシミュレーション装置11は、調整対象ではないモータドライバ、モータについては精緻なモデルは必要ではない。 On the other hand, in order for the user to adjust the control parameters of the motor driver of the multi-axis device equipped with a large number of motors, a precise model of the motor driver, the motor, and the machine 1 to be adjusted is required. In this case, the simulation device 11 does not need a precise model for the motor driver and the motor that are not the adjustment targets.

また、プログラマブルロジックコントローラ、産業用パーソナルコンピュータ、サーボシステムコントローラなどの機械システム20Aが備えるコントローラ10Aのシーケンスプログラムをデバッグするためのシミュレーションが行われる場合がある。この場合、シミュレーション装置11は、シーケンスプログラムの実行周期、実行順序を精確に模擬するモデルを必要とするが、機械1の振動特性などは簡略化してもよい。その他、モータで駆動される機械システム20Aの熱解析のためのシミュレーション、電力消費量解析のシミュレーションなど、シミュレーションの目的は多岐にわたり、これらの個々の目的を達成する範囲で適切な抽象度のモデルを用いて簡易的にシミュレーションを行うことが望まれる。 Further, a simulation for debugging the sequence program of the controller 10A included in the mechanical system 20A such as a programmable logic controller, an industrial personal computer, and a servo system controller may be performed. In this case, the simulation device 11 requires a model that accurately simulates the execution cycle and execution order of the sequence program, but the vibration characteristics of the machine 1 may be simplified. In addition, there are various purposes of simulation, such as simulation for thermal analysis of mechanical system 20A driven by a motor and simulation of power consumption analysis. It is desirable to use it to perform a simple simulation.

したがって、シミュレーション装置11は、種々のシミュレーションの目的に対応する種々のモデルを格納しておき、選択されたシミュレーションの目的に対応するモデルを用いてシミュレーションを実行する。 Therefore, the simulation device 11 stores various models corresponding to various simulation purposes, and executes the simulation using the models corresponding to the selected simulation purposes.

実施の形態1では、例えば、シミュレーションの選択肢として、ステージ5およびヘッド6の動作範囲の確認を目的とするシミュレーションと、ステージ5を移動させるモータドライバのパラメータ調整を目的とするシミュレーションとの2種類が用意されている場合について説明する。 In the first embodiment, for example, there are two types of simulation options: a simulation for confirming the operating range of the stage 5 and the head 6, and a simulation for adjusting the parameters of the motor driver that moves the stage 5. The case where it is prepared will be described.

モデル選択部12は、抽象度設定に基づいて、シミュレーションの目的に合ったモデルをモデルライブラリ13から選択する。ここで、モデルライブラリ13が保持しておく複数の機械モデルM1,M2は、共通のインターフェースを有するソフトウェアである。すなわち、機械モデルM1,M2は、入出力を共通の情報としたソフトウェアである。 The model selection unit 12 selects a model suitable for the purpose of the simulation from the model library 13 based on the abstraction degree setting. Here, the plurality of machine models M1 and M2 held by the model library 13 are software having a common interface. That is, the machine models M1 and M2 are software in which input / output is common information.

ユーザは、例えば、モータ位置、モータ速度などのモータの情報をまとめて格納するオブジェクトを定義しておき、このオブジェクトを機械モデルの共通のインターフェースの入力としてもよい。また、ユーザは、ステージ5の位置、ヘッド6の位置、モータに与える外力、機械1の発熱などの情報をまとめたオブジェクトを定義しておき、このオブジェクトを機械モデルの共通インターフェースの出力としてもよい。この場合の、入出力の種類は、変数型であってもよいし、構造体型であってもよい。機械モデルの共通インターフェースは、1つの機械1を模擬する異なる機械モデルM1,M2間で共通化されていればよい。なお、機械モデルの共通インターフェースへの入出力仕様は、実施の形態1で説明した内容に限定されるものではない。 The user may define, for example, an object that collectively stores motor information such as the motor position and the motor speed, and use this object as an input for a common interface of the machine model. Further, the user may define an object that summarizes information such as the position of the stage 5, the position of the head 6, the external force applied to the motor, and the heat generated by the machine 1, and use this object as the output of the common interface of the machine model. .. In this case, the type of input / output may be a variable type or a structure type. The common interface of the machine model may be common among different machine models M1 and M2 that simulate one machine 1. The input / output specifications for the common interface of the machine model are not limited to the contents described in the first embodiment.

実施の形態1では、機械モデルM1,M2の共通インターフェースが、X軸1aのモータ位置と、Y軸1bのモータ位置と、Z軸1cのモータ位置とを取得可能な入力インターフェースを有しているものとする。 In the first embodiment, the common interface of the mechanical models M1 and M2 has an input interface capable of acquiring the motor position of the X-axis 1a, the motor position of the Y-axis 1b, and the motor position of the Z-axis 1c. It shall be.

機械モデルM1は、例えば、機械1のダイナミクスを考慮するモデルであり、機械1の振動特性を模擬する。機械モデルM2は、例えば、機械1のダイナミクスは考慮せずモータ位置に基づくキネマティクスのみによってステージ5の位置およびヘッド6の位置を変更し、ステージ5およびヘッド6の動作範囲を模擬する。なお、機械モデルM2は、ステージ5およびヘッド6のうちの一方の動作範囲のみを模擬してもよい。 The machine model M1 is, for example, a model that considers the dynamics of the machine 1 and simulates the vibration characteristics of the machine 1. For example, the machine model M2 changes the position of the stage 5 and the position of the head 6 only by kinematics based on the motor position without considering the dynamics of the machine 1, and simulates the operating range of the stage 5 and the head 6. The mechanical model M2 may simulate only the operating range of one of the stage 5 and the head 6.

モデル演算部14は、モデル選択部12から通知されたモデル組に対応するドライバモデルおよび機械モデルをモデルライブラリ13から読み出す。モデル演算部14は、読み出したドライバモデルおよび機械モデルを用いて、モータドライバおよび機械1のシミュレーション演算を行う。 The model calculation unit 14 reads the driver model and the machine model corresponding to the model set notified from the model selection unit 12 from the model library 13. The model calculation unit 14 performs a simulation calculation of the motor driver and the machine 1 by using the read driver model and the machine model.

モデル演算部14は、モデルライブラリ13から選択されたモデルを含めた機械システム20Aのモデルの演算を実施する。例えば、機械システム20Aのモデルにモータモデルおよびコントローラモデルが含まれているとする。モータモデルは、モータの動作を模擬するモデルであり、コントローラモデルは、コントローラ10Aの動作を模擬するモデルである。この場合、モデル演算部14は、X軸1aに対応するドライバモデルおよびモータモデルと、Y軸1bに対応するドライバモデルおよびモータモデルと、Z軸1cに対応するドライバモデルおよびモータモデルと、機械モデルと、さらにモータドライバに対してモータの位置指令を与えるコントローラモデルとを含めて機械システム20Aのモデルとする。モデル演算部14は、モータモデルおよびコントローラモデルを、モデルライブラリ13から取得してもよいし、モデルライブラリ13以外から取得してもよい。モデル演算部14は、シミュレーション結果を表示装置などの外部装置に出力する。これにより、表示装置が、シミュレーション結果を表示する。 The model calculation unit 14 calculates the model of the mechanical system 20A including the model selected from the model library 13. For example, assume that the model of the mechanical system 20A includes a motor model and a controller model. The motor model is a model that simulates the operation of the motor, and the controller model is a model that simulates the operation of the controller 10A. In this case, the model calculation unit 14 includes a driver model and a motor model corresponding to the X-axis 1a, a driver model and a motor model corresponding to the Y-axis 1b, a driver model and a motor model corresponding to the Z-axis 1c, and a mechanical model. The model of the mechanical system 20A includes a controller model that gives a position command of the motor to the motor driver. The model calculation unit 14 may acquire the motor model and the controller model from the model library 13, or may acquire from other than the model library 13. The model calculation unit 14 outputs the simulation result to an external device such as a display device. As a result, the display device displays the simulation result.

次に、シミュレーション装置11によるシミュレーションの処理手順について説明する。図3は、実施の形態1に係るシミュレーション装置によるシミュレーションの処理手順を示すフローチャートである。 Next, the simulation processing procedure by the simulation device 11 will be described. FIG. 3 is a flowchart showing a simulation processing procedure by the simulation apparatus according to the first embodiment.

シミュレーション装置11のモデル選択部12は、ユーザによって入力される抽象度設定を受け付ける(ステップS10)。モデル選択部12は、抽象度設定に基づいて、モデルライブラリ13からモデル組を選択する(ステップS20)。モデル選択部12は、例えば、ドライバモデルD1,D2の何れかと、機械モデルM1,M2の何れかと、の2つのモデルからなるモデル組を選択する。 The model selection unit 12 of the simulation device 11 accepts the abstraction degree setting input by the user (step S10). The model selection unit 12 selects a model set from the model library 13 based on the abstraction degree setting (step S20). The model selection unit 12 selects, for example, a model set including two models, one of the driver models D1 and D2 and one of the mechanical models M1 and M2.

モデル選択部12は、選択したモデル組をモデル演算部14に通知する。モデル演算部14は、モデル選択部12によって選択されたモデル組をモデルライブラリ13から読み出す(ステップS30)。 The model selection unit 12 notifies the model calculation unit 14 of the selected model set. The model calculation unit 14 reads the model set selected by the model selection unit 12 from the model library 13 (step S30).

モデル演算部14は、読み出したモデル組を用いて機械システム20Aの動作をシミュレーションする(ステップS40)。モデル演算部14は、シミュレーション結果を表示装置などに出力する(ステップS50)。これにより、ユーザは、シミュレーション結果を確認することが可能となる。 The model calculation unit 14 simulates the operation of the mechanical system 20A using the read model set (step S40). The model calculation unit 14 outputs the simulation result to a display device or the like (step S50). This allows the user to check the simulation result.

次に、実施の形態1におけるシミュレーション装置11の詳細な動作について説明する。まず、抽象度設定として、ステージ5およびヘッド6の動作範囲の確認を目的とするシミュレーションを、ユーザが選択する場合を考える。 Next, the detailed operation of the simulation device 11 according to the first embodiment will be described. First, consider a case where the user selects a simulation for the purpose of confirming the operating range of the stage 5 and the head 6 as the abstraction degree setting.

モデル選択部12の対応関係情報には、ステージ5およびヘッド6の動作範囲の確認を目的とするシミュレーションが選択された場合には、X軸1a、Y軸1b、およびZ軸1cに対応する3つのドライバモデルD2と、機械モデルM2とを選択することが予め定められているとする。この場合において、ステージ5およびヘッド6の動作範囲の確認を目的とするシミュレーションに対応する抽象度設定がユーザに指定されると、モデル選択部12は、抽象度設定および対応関係情報に基づいて、X軸1a、Y軸1b、およびZ軸1cに対応するドライバモデルとしてドライバモデルD2を選択する。また、モデル選択部12は、機械モデルとして機械モデルM2を選択する。 When simulation for the purpose of confirming the operating range of the stage 5 and the head 6 is selected as the correspondence information of the model selection unit 12, 3 corresponding to the X-axis 1a, the Y-axis 1b, and the Z-axis 1c. It is assumed that it is predetermined to select one driver model D2 and a mechanical model M2. In this case, when the user is specified the abstraction degree setting corresponding to the simulation for the purpose of confirming the operating range of the stage 5 and the head 6, the model selection unit 12 is based on the abstraction degree setting and the correspondence information. The driver model D2 is selected as the driver model corresponding to the X-axis 1a, the Y-axis 1b, and the Z-axis 1c. Further, the model selection unit 12 selects the machine model M2 as the machine model.

モデル演算部14は、これらの選択したモデル組、すなわちドライバモデルD2および機械モデルM2を用いてヘッド6の位置であるヘッド位置の動作を模擬するシミュレーションを実行する。このとき、モデル演算部14は、コントローラモデルが生成するX軸1aの位置指令を、X軸1aのドライバモデルD2に入力する。この場合、ドライバモデルD2は、フィードフォワード制御のみによってX軸1aのモータ位置を模擬制御する。モデル演算部14は、Y軸1bおよびZ軸1cについてもX軸1aと同様に、コントローラモデルが生成する位置指令をドライバモデルD2に入力する。この場合、ドライバモデルD2は、フィードフォワード制御のみによってY軸1bおよびZ軸1cのモータ位置を模擬制御する。これにより、モデル演算部14は、ドライバモデルD2を用いて、X軸1a、Y軸1b、およびZ軸1cのモータ位置を演算する。 The model calculation unit 14 uses these selected model sets, that is, the driver model D2 and the mechanical model M2, to execute a simulation that simulates the operation of the head position, which is the position of the head 6. At this time, the model calculation unit 14 inputs the position command of the X-axis 1a generated by the controller model to the driver model D2 of the X-axis 1a. In this case, the driver model D2 simulates and controls the motor position of the X-axis 1a only by feedforward control. The model calculation unit 14 inputs the position command generated by the controller model to the driver model D2 for the Y-axis 1b and the Z-axis 1c as well as the X-axis 1a. In this case, the driver model D2 simulates and controls the motor positions of the Y-axis 1b and the Z-axis 1c only by feedforward control. As a result, the model calculation unit 14 calculates the motor positions of the X-axis 1a, the Y-axis 1b, and the Z-axis 1c using the driver model D2.

モデル演算部14は、こうして演算したX軸1a、Y軸1b、およびZ軸1cのモータ位置を入力として機械モデルM2の演算を行う。ここでは、機械モデルとして機械モデルM2が選択されているので、各軸のモータ位置からキネマティクスのみによってステージ位置およびヘッド位置が計算される。これにより、モデル演算部14は、ステージ5およびヘッド6の動作範囲を模擬することができる。モデル演算部14は、ステージ5およびヘッド6の動作範囲をシミュレーションの結果として出力する。 The model calculation unit 14 calculates the machine model M2 by inputting the motor positions of the X-axis 1a, the Y-axis 1b, and the Z-axis 1c calculated in this way. Here, since the mechanical model M2 is selected as the mechanical model, the stage position and the head position are calculated only by kinematics from the motor positions of each axis. As a result, the model calculation unit 14 can simulate the operating ranges of the stage 5 and the head 6. The model calculation unit 14 outputs the operating ranges of the stage 5 and the head 6 as a result of the simulation.

次に、抽象度設定として、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションを、ユーザが選択する場合を考える。 Next, consider a case where the user selects a simulation for adjusting the parameters of the motor driver of the stage 5 as the abstraction degree setting.

モデル選択部12の対応関係情報には、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションが選択された場合には、X軸1aおよびY軸1bに対応するドライバモデルとしてドライバモデルD1を選択することが予め定められているとする。また、対応関係情報には、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションが選択された場合には、Z軸1cに対応するドライバモデルとしてドライバモデルD2を選択し、機械モデルとして機械モデルM1を選択することが予め定められているとする。この場合において、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションがユーザに指定されると、モデル選択部12は、抽象度設定および対応関係情報に基づいて、X軸1aおよびY軸1bに対応するドライバモデルとしてドライバモデルD1を選択する。また、モデル選択部12は、Z軸1cに対応するドライバモデルとしてドライバモデルD2を選択する。また、モデル選択部12は、機械モデルとして機械モデルM1を選択する。 When a simulation for adjusting the parameters of the motor driver of the stage 5 is selected for the correspondence information of the model selection unit 12, the driver model D1 is selected as the driver model corresponding to the X-axis 1a and the Y-axis 1b. It is assumed that it is predetermined to do. When a simulation for adjusting the parameters of the motor driver of the stage 5 is selected for the correspondence information, the driver model D2 is selected as the driver model corresponding to the Z-axis 1c, and the mechanical model is used as the mechanical model. It is assumed that the selection of M1 is predetermined. In this case, when a simulation for adjusting the parameters of the motor driver of the stage 5 is specified to the user, the model selection unit 12 sets the X-axis 1a and the Y-axis 1b based on the abstraction degree setting and the correspondence information. Select driver model D1 as the corresponding driver model. Further, the model selection unit 12 selects the driver model D2 as the driver model corresponding to the Z-axis 1c. Further, the model selection unit 12 selects the machine model M1 as the machine model.

モデル演算部14は、これらの選択したモデル、すなわちドライバモデルD1,D2および機械モデルM1を用いてヘッド位置の動作を模擬するシミュレーションを実行する。このとき、モデル演算部14は、コントローラモデルが生成するX軸1aの位置指令をX軸1aのドライバモデルD1に入力する。この場合、ドライバモデルD1は、フィードフォワード制御器、位置フィードバック制御器、速度フィードバック制御器、および電流制御器によってモータ位置を模擬制御する。機械1には、位置フィードバック制御器、速度フィードバック制御器として、例えばPI(Proportional-Integral、比例−積分)制御器が実装されている。この場合、それぞれの比例ゲインおよび積分ゲインが、制御パラメータとなっており、これらの制御パラメータが変更されることでX軸1aのモータの位置制御性能が変更される。 The model calculation unit 14 executes a simulation that simulates the operation of the head position using these selected models, that is, the driver models D1 and D2 and the mechanical model M1. At this time, the model calculation unit 14 inputs the position command of the X-axis 1a generated by the controller model to the driver model D1 of the X-axis 1a. In this case, the driver model D1 simulates and controls the motor position by the feedforward controller, the position feedback controller, the speed feedback controller, and the current controller. The machine 1 is equipped with, for example, a PI (Proportional-Integral) controller as a position feedback controller and a speed feedback controller. In this case, the respective proportional gain and integral gain are control parameters, and the position control performance of the motor of the X-axis 1a is changed by changing these control parameters.

X軸1aと同様に、Y軸1bのドライバモデルはドライバモデルD1であるので、制御パラメータに基づいてY軸1bのモータの位置制御性能が変更される。また、Z軸1cのモータドライバモデルはドライバモデルD2であるので、フィードフォワード制御のみによってモータ位置が制御される。 Since the driver model of the Y-axis 1b is the driver model D1 as in the case of the X-axis 1a, the position control performance of the motor of the Y-axis 1b is changed based on the control parameters. Further, since the motor driver model of the Z-axis 1c is the driver model D2, the motor position is controlled only by feedforward control.

また、機械モデルとしては、振動特性を模擬する機械モデルM1が選択されている。このため、モータの動作によって機械1に振動などが生じる。したがって、モデル演算部14は、ステージ位置をシミュレーション結果として出力する。これにより、ユーザはステージ5の振動の有無を確認することができる。また、ユーザは、シミュレーション結果である機械1の振動の有無を確認しつつステージ5の振動が生じないようにX軸1aおよびY軸1bの制御パラメータを調整することができる。 Further, as the mechanical model, the mechanical model M1 that simulates the vibration characteristics is selected. Therefore, the operation of the motor causes vibration or the like in the machine 1. Therefore, the model calculation unit 14 outputs the stage position as a simulation result. As a result, the user can confirm the presence or absence of vibration of the stage 5. Further, the user can adjust the control parameters of the X-axis 1a and the Y-axis 1b so that the vibration of the stage 5 does not occur while confirming the presence or absence of the vibration of the machine 1 which is the simulation result.

このように、実施の形態1では、ユーザが例えば2種類といった複数種類のシミュレーションの目的から何れかの目的を選択し、抽象度設定としてシミュレーション装置11に入力している。モデル選択部12は、抽象度設定および対応関係情報に基づいて、モデルライブラリ13に保持されているモデルの中からシミュレーションに必要な精度を有しつつ必要な計算量が所定量よりも小さくなるような、適切な抽象度のモデルを選択している。 As described above, in the first embodiment, the user selects one of the purposes of a plurality of types of simulations, for example, two types, and inputs the purpose to the simulation device 11 as an abstraction degree setting. Based on the abstraction degree setting and the correspondence information, the model selection unit 12 makes the required calculation amount smaller than the predetermined amount while having the accuracy required for the simulation from the models stored in the model library 13. A model with an appropriate level of abstraction is selected.

例えば、ヘッド6およびステージ5の動作範囲の確認を目的とするシミュレーションが選択された場合、モデル選択部12は、機械モデルM2およびドライバモデルD2を選択する。機械モデルM2は、キネマティクスのみに基づいてモータ位置に対応するステージ位置およびヘッド位置を計算する。この機械モデルM2には、モータ位置に対する外力などのダイナミクスの影響は含まれないので、フィードバック制御によってモータ位置を制御するような模擬は必要が無い。このため、モデル選択部12は、機械モデルM2を選択する場合には、フィードフォワード制御のみの簡易的なドライバモデルD2を選択している。 For example, when a simulation for confirming the operating range of the head 6 and the stage 5 is selected, the model selection unit 12 selects the mechanical model M2 and the driver model D2. The mechanical model M2 calculates the stage position and head position corresponding to the motor position based solely on kinematics. Since this mechanical model M2 does not include the influence of dynamics such as an external force on the motor position, there is no need to simulate controlling the motor position by feedback control. Therefore, when selecting the mechanical model M2, the model selection unit 12 selects the simple driver model D2 having only feedforward control.

これにより、シミュレーション装置11は、機械1のダイナミクス、またはフィードバック制御に係る複雑な微分方程式を演算する必要が無くなり、モデル演算部14の演算は非常に簡単なものになる。このため、シミュレーション装置11は、精緻なモデルのシミュレーションを実行する場合の微分方程式を演算する場合に比べて非常に小さい計算コストで、ヘッド6とステージ5の動作範囲を確認することができる。すなわち、シミュレーション装置11は、シミュレーションの目的を満たすための適切な抽象度のモデルを用いたシミュレーションを、計算コストを小さく抑えたうえで実行することができる。 As a result, the simulation device 11 does not need to calculate a complicated differential equation related to the dynamics of the machine 1 or the feedback control, and the calculation of the model calculation unit 14 becomes very simple. Therefore, the simulation device 11 can confirm the operating range of the head 6 and the stage 5 at a very small calculation cost as compared with the case of calculating the differential equation when executing the simulation of the precise model. That is, the simulation device 11 can execute a simulation using a model having an appropriate degree of abstraction to satisfy the purpose of the simulation while keeping the calculation cost small.

一方、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションが選択された場合、モデル選択部12は、ステージ5を駆動するX軸1aおよびY軸1bに対応するドライバモデルとして詳細な模擬を実行するドライバモデルD1を選択する。また、モデル選択部12は、機械モデルとして精緻な模擬を実行する機械モデルM1を選択する。モデル選択部12は、X軸1aおよびY軸1bのモータドライバの制御性能に影響を与えないZ軸1cのドライバモデルについては簡易なドライバモデルであるドライバモデルD2を選択する。 On the other hand, when a simulation for adjusting the parameters of the motor driver of the stage 5 is selected, the model selection unit 12 executes a detailed simulation as a driver model corresponding to the X-axis 1a and the Y-axis 1b that drive the stage 5. Select the driver model D1 to be used. Further, the model selection unit 12 selects the machine model M1 that executes a precise simulation as the machine model. The model selection unit 12 selects the driver model D2, which is a simple driver model, for the driver model of the Z-axis 1c, which does not affect the control performance of the motor drivers of the X-axis 1a and the Y-axis 1b.

そして、ユーザはシミュレーション結果として出力されるステージ5の振動を確認しながらX軸1aおよびY軸1bのパラメータを調整する。この場合において、シミュレーション装置11は、X軸1a、Y軸1b、およびステージ5の動作については精緻なモデルをシミュレーションに用いているので、ユーザは、正確にパラメータの調整を行うことができる。この場合の精緻なモデルは計算量が大きいモデルであるが、シミュレーション装置11は、X軸1aおよびY軸1bのモータドライバの制御パラメータの調整に対して考慮する必要がないZ軸1cの動作については、簡略化されたモデルを用いる。したがって、シミュレーション装置11は、Z軸1cの動作のシミュレーションについては計算量を抑えることができる。すなわち、シミュレーション装置11は、シミュレーションの目的を満たすための適切な抽象度のモデルを用いたシミュレーションを、計算コストを小さく抑えたうえで実行することができる。 Then, the user adjusts the parameters of the X-axis 1a and the Y-axis 1b while checking the vibration of the stage 5 output as the simulation result. In this case, since the simulation device 11 uses a precise model for the operation of the X-axis 1a, the Y-axis 1b, and the stage 5 for the simulation, the user can accurately adjust the parameters. The elaborate model in this case is a model with a large amount of calculation, but the simulation device 11 does not need to consider the adjustment of the control parameters of the motor drivers of the X-axis 1a and the Y-axis 1b. Uses a simplified model. Therefore, the simulation device 11 can reduce the amount of calculation for simulating the operation of the Z-axis 1c. That is, the simulation device 11 can execute a simulation using a model having an appropriate degree of abstraction to satisfy the purpose of the simulation while keeping the calculation cost small.

このように、ユーザが何れの抽象度設定を指定した場合であっても、シミュレーション装置11は、抽象度設定に基づいてシミュレーションの目的に応じた適切な抽象度のモデルを選択することができるので、計算効率の良いシミュレーションを簡易的に実現できる。 In this way, regardless of which abstraction degree setting is specified by the user, the simulation device 11 can select an appropriate abstraction degree model according to the purpose of the simulation based on the abstraction degree setting. , Simulation with good calculation efficiency can be easily realized.

例えば、モータで駆動される機械1がパラメータ調整される際には、パラメータが変更されながら何度もシミュレーションが実行されるのでシミュレーションの計算コストおよび時間コストを小さく抑えることが求められる。実施の形態1のシミュレーション装置11は、パラメータが変更されて何度もシミュレーションが実行される場合であっても、抽象度設定に基づいてシミュレーションの目的に応じた適切な抽象度のモデルを選択することができるので、計算コストおよび時間コストを小さく抑えることができる。 For example, when the parameters of the machine 1 driven by the motor are adjusted, the simulation is executed many times while the parameters are changed, so that it is required to keep the calculation cost and the time cost of the simulation small. The simulation device 11 of the first embodiment selects an appropriate abstraction degree model according to the purpose of the simulation based on the abstraction degree setting even when the parameters are changed and the simulation is executed many times. Therefore, the calculation cost and the time cost can be kept small.

ここで実施の形態1における機械モデルM1,M2が共通のインターフェースを有していることの効果について説明する。モータドライバのパラメータ調整の途中で、例えばモータドライバのパラメータをいかに調整しても機械システム20Aの望ましい動作仕様を満たすことができず、やむなく機械1の構造、材質などの変更が必要となる場合がある。また、例えば機械1の動作特性が機械1の設置環境の温度または湿度の影響を受けて変化することが新たに判明し、これらの影響を組み込んだ新たな機械モデルでないと必要な模擬精度を達成できない場合がある。 Here, the effect that the mechanical models M1 and M2 in the first embodiment have a common interface will be described. In the middle of adjusting the parameters of the motor driver, for example, no matter how the parameters of the motor driver are adjusted, the desired operating specifications of the mechanical system 20A may not be satisfied, and it may be necessary to change the structure, material, etc. of the machine 1. be. In addition, for example, it was newly found that the operating characteristics of the machine 1 change under the influence of the temperature or humidity of the installation environment of the machine 1, and the required simulation accuracy is achieved unless the new machine model incorporates these influences. It may not be possible.

これらのような場合には、ユーザが新たに機械モデルを作成することとなる。その際に、機械モデルの共通インターフェースの仕様に準じた新たな機械モデルが作成されれば、モデル演算部14において機械モデルを入れ替えるだけで新たな機械システム20Aのシミュレーションを実行することができる。すなわち、機械モデルの入れ替えの際に、モデル間の演算を実行するプログラムの追加または変更が不要となる。このように、機械モデルが共通のインターフェースを有していることで、シミュレーション装置11は、シミュレーションの目的に応じた適切なシミュレーションを簡易的に実行することができる。 In such cases, the user will create a new machine model. At that time, if a new machine model conforming to the specifications of the common interface of the machine model is created, the simulation of the new machine system 20A can be executed only by exchanging the machine models in the model calculation unit 14. That is, when the machine models are replaced, it is not necessary to add or change a program that executes operations between the models. As described above, since the mechanical models have a common interface, the simulation device 11 can easily execute an appropriate simulation according to the purpose of the simulation.

実施の形態1では、説明の簡単のために抽象度設定として2種類のシミュレーションの目的の何れかを選択する場合について説明をしたが、3種類以上のシミュレーションの目的の何れかが選択されてもよい。 In the first embodiment, for the sake of simplicity, the case where one of the two types of simulation objectives is selected as the abstraction degree setting has been described, but even if any of the three or more types of simulation objectives is selected, good.

また、シミュレーション装置11は、実施の形態1の説明で挙げたシミュレーションの目的の他に、例えば、Z軸1cのモータドライバのパラメータを調整することを目的として、Z軸1cのモータドライバにドライバモデルD1を選択してもよい。この場合、シミュレーション装置11は、X軸1aおよびY軸1bのモータドライバにドライバモデルD2を選択し、機械モデルとして機械モデルM1を選択してもよい。これにより、ユーザは、Z軸1cのモータドライバの制御パラメータの調整を効率良く行うことができる。 Further, in addition to the purpose of the simulation described in the description of the first embodiment, the simulation device 11 is a driver model for the Z-axis 1c motor driver for the purpose of adjusting the parameters of the Z-axis 1c motor driver, for example. D1 may be selected. In this case, the simulation device 11 may select the driver model D2 as the motor driver for the X-axis 1a and the Y-axis 1b, and select the machine model M1 as the machine model. As a result, the user can efficiently adjust the control parameters of the motor driver of the Z-axis 1c.

また、実施の形態1ではモータドライバの制御パラメータがPI制御のゲインである場合について説明したが、モータドライバの制御パラメータはPI制御のゲインに限らない。シミュレーション装置11は、フィードバック制御器にノッチフィルタまたはローパスフィルタを加えてこれらの遮断周波数を制御パラメータとしてもよい。また、シミュレーション装置11は、フィードフォワード制御器の応答帯域を制御パラメータとしてもよい。 Further, in the first embodiment, the case where the control parameter of the motor driver is the gain of PI control has been described, but the control parameter of the motor driver is not limited to the gain of PI control. The simulation device 11 may add a notch filter or a low-pass filter to the feedback controller and use these cutoff frequencies as control parameters. Further, the simulation device 11 may use the response band of the feedforward controller as a control parameter.

なお、実施の形態1ではモータモデルについては1種類のみとしたが、モータモデルについて複数の異なる抽象度のモデルをモデルライブラリ13に保持しておいてもよい。この場合、モデル選択部12は、抽象度設定および対応関係情報に基づいて、モデルライブラリ13からモータモデルを選択する。例えば、モータモデルのうち高精度なモデルは、固定子および回転子のモデルを含み、回転子の偏心、コギングなどを模擬する。一方、簡易なモータモデルは、モータドライバの位置指令の通りに回転子が動作するモデルとしてもよい。 Although only one type of motor model is used in the first embodiment, a plurality of models having different abstractions for the motor model may be stored in the model library 13. In this case, the model selection unit 12 selects the motor model from the model library 13 based on the abstraction degree setting and the correspondence information. For example, a high-precision model of a motor model includes a stator model and a rotor model, and simulates rotor eccentricity, cogging, and the like. On the other hand, the simple motor model may be a model in which the rotor operates according to the position command of the motor driver.

また、シミュレーション装置11は、ドライバモデルについては、ドライバモデルD1よりも高精度なドライバモデルをモデルライブラリ13で保持しておいてもよい。この高精度なドライバモデルは、例えば、PWM(Pulse Width Modulation、パルス幅変調)制御器、インバータのスイッチング回路などを模擬するドライバモデルであってもよい。 Further, as for the driver model, the simulation device 11 may store a driver model having a higher accuracy than the driver model D1 in the model library 13. This highly accurate driver model may be, for example, a driver model that simulates a PWM (Pulse Width Modulation) controller, an inverter switching circuit, or the like.

また、シミュレーション装置11は、ドライバモデルD2よりも簡易なドライバモデルをモデルライブラリ13で保持しておいてもよい。この簡易なドライバモデルは、コントローラ10Aから受け取った位置指令を遅延させるだけの無駄時間要素を有するドライバモデルであってもよいし、ローパスフィルタのみを作用させるようなドライバモデルであってもよい。 Further, the simulation device 11 may store a driver model simpler than the driver model D2 in the model library 13. This simple driver model may be a driver model having a wasted time element that delays the position command received from the controller 10A, or may be a driver model that operates only the low-pass filter.

また、実施の形態1では、ドライバモデルが位置制御を行う場合について説明したが、ドライバモデルは、速度制御、トルク制御などを行うドライバモデルであってもよい。 Further, in the first embodiment, the case where the driver model performs position control has been described, but the driver model may be a driver model that performs speed control, torque control, and the like.

また、シミュレーション装置11のうちモデル選択部12およびモデル演算部14と、モデルライブラリ13とは必ずしも1つのハードウェアに実装されている必要はない。例えば、シミュレーション装置11の構成要素のうち、モデルライブラリ13がクラウドサーバに実装されていてもよい。 Further, among the simulation devices 11, the model selection unit 12, the model calculation unit 14, and the model library 13 do not necessarily have to be mounted on one piece of hardware. For example, among the components of the simulation device 11, the model library 13 may be implemented in the cloud server.

また、シミュレーション装置11は、機械システム20Aの全体の動作を模擬せず、機械1の動作を模擬してもよい。すなわち、シミュレーション装置11は、コントローラ10Aの動作を模擬しなくてもよい。 Further, the simulation device 11 may not simulate the entire operation of the machine system 20A, but may simulate the operation of the machine 1. That is, the simulation device 11 does not have to simulate the operation of the controller 10A.

このように、実施の形態1では、シミュレーション装置11が、抽象度設定に基づいて、複数の機械モデルの候補と、複数のドライバモデルの候補とを保持するモデルライブラリ13から、機械1の動作を模擬する際に用いる機械モデルと、モータドライバの動作を模擬する際に用いるドライバモデルとを選択して機械システム20Aの動作を模擬している。これにより、ユーザが何れの抽象度設定を指定した場合であっても、シミュレーション装置11は、抽象度設定に基づいてシミュレーションの目的に応じた適切な抽象度のモデルを選択することができる。したがって、シミュレーション装置11は、計算効率の良いシミュレーションを簡易的に実現することができる。 As described above, in the first embodiment, the simulation device 11 operates the machine 1 from the model library 13 that holds a plurality of machine model candidates and a plurality of driver model candidates based on the abstraction degree setting. The operation of the mechanical system 20A is simulated by selecting the mechanical model used for simulating and the driver model used for simulating the operation of the motor driver. As a result, regardless of which abstraction degree setting is specified by the user, the simulation device 11 can select an appropriate abstraction degree model according to the purpose of the simulation based on the abstraction degree setting. Therefore, the simulation device 11 can easily realize a simulation with high calculation efficiency.

また、機械モデルM1,M2が共通インターフェースを持つので、機械モデルM1,M2が変更される際に、ユーザが、モデル間の演算を実行するプログラムの追加または変更をする必要がない。また、ユーザが自作した機械モデルも共通インターフェースを用いて作成されていれば、モデルライブラリ13に登録して使用することが可能となる。 Further, since the machine models M1 and M2 have a common interface, when the machine models M1 and M2 are changed, the user does not need to add or change a program that executes an operation between the models. Further, if the machine model created by the user is also created using the common interface, it can be registered in the model library 13 and used.

実施の形態2.
次に、図4および図5を用いて実施の形態2について説明する。実施の形態2のシミュレーション装置は、ドライバモデルおよび機械モデルの選択に加えて、抽象度の異なる複数のコントローラモデルの中からシミュレーションの目的に応じたコントローラモデルを選択する。
Embodiment 2.
Next, the second embodiment will be described with reference to FIGS. 4 and 5. In the simulation apparatus of the second embodiment, in addition to selecting the driver model and the mechanical model, the controller model according to the purpose of the simulation is selected from a plurality of controller models having different degrees of abstraction.

図4は、実施の形態2にかかるシミュレーション装置の構成を示す図である。図4の各構成要素のうち図2に示す実施の形態1のシミュレーション装置11と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 4 is a diagram showing a configuration of a simulation device according to a second embodiment. Of the components of FIG. 4, components that achieve the same functions as the simulation device 11 of the first embodiment shown in FIG. 2 are designated by the same reference numerals, and redundant description will be omitted.

実施の形態2でシミュレーションの対象として扱う機械システムは、実施の形態1と同様の機械システム20Aである。すなわち、シミュレーション装置21は、シミュレーション装置11と同様に、機械システム20Aの動作を模擬する。実施の形態2においても、ユーザに指定される抽象度設定によって2つのシミュレーションの目的のうちの何れかが指定される。 The mechanical system handled as the target of the simulation in the second embodiment is the same mechanical system 20A as in the first embodiment. That is, the simulation device 21 simulates the operation of the mechanical system 20A in the same manner as the simulation device 11. Also in the second embodiment, one of the two simulation purposes is specified by the abstraction degree setting specified by the user.

シミュレーション装置21で選択されるシミュレーションの1つは、実施の形態1と同様に機械システム20Aのステージ5を駆動するモータドライバの制御パラメータの調整を目的としている。選択されるシミュレーションのうちのもう1つは、ステージ5およびヘッド6の運転順序を定めるシーケンスプログラムの動作確認を目的としている。 One of the simulations selected by the simulation device 21 aims to adjust the control parameters of the motor driver that drives the stage 5 of the mechanical system 20A as in the first embodiment. The other of the selected simulations is intended to confirm the operation of the sequence program that determines the operation order of the stage 5 and the head 6.

シミュレーション装置21は、モデル選択部22と、モデルライブラリ23と、モデル演算部24とを備えている。 The simulation device 21 includes a model selection unit 22, a model library 23, and a model calculation unit 24.

モデル選択部22は、モデル選択部12と同様の機能を有している。また、モデルライブラリ23は、モデルライブラリ13と同様の機能を有し、モデル演算部24は、モデル演算部14と同様の機能を有している。 The model selection unit 22 has the same function as the model selection unit 12. Further, the model library 23 has the same function as the model library 13, and the model calculation unit 24 has the same function as the model calculation unit 14.

モデル選択部22は、モデル選択部12と同様に、抽象度設定と、モデル組との対応関係を示す対応関係情報を記憶しておく。実施の形態2における対応関係情報のモデル組には、ドライバモデルと、機械モデルと、コントローラモデルとが含まれている。 Similar to the model selection unit 12, the model selection unit 22 stores the abstraction degree setting and the correspondence relationship information indicating the correspondence relationship with the model set. The model set of correspondence information in the second embodiment includes a driver model, a machine model, and a controller model.

モデル選択部22は、モデル選択部12と同様に、外部から与えられる抽象度設定に基づいて、モデルライブラリ23に格納されているモデルの中から抽象度設定に対応するモデル組を選択する。すなわち、モデル選択部22は、抽象度設定に基づいて、シミュレーションの目的に合ったモデルをモデルライブラリ23から選択する。モデル選択部22が選択するモデル組は、ドライバモデルと、機械モデルと、コントローラモデルとの組み合わせである。 Similar to the model selection unit 12, the model selection unit 22 selects a model set corresponding to the abstraction degree setting from the models stored in the model library 23 based on the abstraction degree setting given from the outside. That is, the model selection unit 22 selects a model suitable for the purpose of the simulation from the model library 23 based on the abstraction degree setting. The model set selected by the model selection unit 22 is a combination of a driver model, a machine model, and a controller model.

抽象度設定は、シミュレーション装置21のユーザによってモデル選択部22に入力される。実施の形態2の抽象度設定では、上述した2種類の選択肢のうちの何れかが指定されている。 The abstraction degree setting is input to the model selection unit 22 by the user of the simulation device 21. In the abstraction degree setting of the second embodiment, one of the above two types of options is specified.

モデルライブラリ23は、モデルライブラリ13と同様に、複数の異なる抽象度のドライバモデルと、複数の異なる抽象度の機械モデルとを記憶しておく。また、モデルライブラリ23は複数の異なる抽象度のコントローラモデルを記憶しておく。なお、実施の形態2でも、機械モデルM1,M2は共通のインターフェースを有するソフトウェアである。 Similar to the model library 13, the model library 23 stores a plurality of driver models having different abstractions and a plurality of machine models having different abstractions. Further, the model library 23 stores a plurality of controller models having different abstractions. Also in the second embodiment, the machine models M1 and M2 are software having a common interface.

実施の形態2では、モデルライブラリ23が記憶しておくコントローラモデルがコントローラモデルC1,C2の2つである場合について説明する。コントローラモデルC1,C2は、機械システム20Aが備えるコントローラ10Aの動作を模擬するモデルである。コントローラモデルC1は、コントローラモデルC2よりも高精度にコントローラ10Aの動作を模擬するモデルである。また、コントローラモデルC2は、コントローラモデルC1よりも簡易的にコントローラ10Aの動作を模擬するモデルである。 In the second embodiment, the case where the controller models stored in the model library 23 are the controller models C1 and C2 will be described. The controller models C1 and C2 are models that simulate the operation of the controller 10A included in the mechanical system 20A. The controller model C1 is a model that simulates the operation of the controller 10A with higher accuracy than the controller model C2. Further, the controller model C2 is a model that simulates the operation of the controller 10A more simply than the controller model C1.

コントローラモデルC1,C2は、機械システム20Aが備えるコントローラ10Aのモデルである。コントローラ10Aの例は、前述したように、プログラマブルロジックコントローラ、産業用パーソナルコンピュータ、サーボシステムコントローラなどである。コントローラ10Aは、ステージ5の位置決め動作完了信号を受けた後に、ヘッド6の位置決め開始信号をオンにするシーケンスプログラムを実行する。 The controller models C1 and C2 are models of the controller 10A included in the mechanical system 20A. Examples of the controller 10A are a programmable logic controller, an industrial personal computer, a servo system controller and the like, as described above. The controller 10A executes a sequence program that turns on the positioning start signal of the head 6 after receiving the positioning operation completion signal of the stage 5.

コントローラモデルC1は、コントローラ10Aが実行するシーケンスプログラムに対応する処理を正確に模擬する。コントローラモデルC1は、ステージ5の位置決め動作完了信号を待つシーケンスプログラムを一定の処理周期で実行し、ステージ5の位置決め動作完了信号が得られたら次の処理でヘッド6の位置決め開始信号をオンにして位置指令を生成する処理を模擬する。 The controller model C1 accurately simulates the processing corresponding to the sequence program executed by the controller 10A. The controller model C1 executes a sequence program waiting for the positioning operation completion signal of the stage 5 at a constant processing cycle, and when the positioning operation completion signal of the stage 5 is obtained, turns on the positioning start signal of the head 6 in the next processing. Simulate the process of generating a position command.

コントローラモデルC2は、コントローラ10Aが実行する処理を簡略化して模擬する。コントローラモデルC2は、各モータの位置指令を生成する処理のみを模擬する。 The controller model C2 simplifies and simulates the process executed by the controller 10A. The controller model C2 simulates only the process of generating the position command of each motor.

モデル演算部24は、モデル選択部22から通知されたモデル組に対応するドライバモデル、機械モデル、およびコントローラモデルをモデルライブラリ23から読み出す。モデル演算部24は、読み出したドライバモデル、機械モデル、およびコントローラモデルを用いて、モータドライバ、機械1、およびコントローラ10Aのシミュレーション演算を行う。 The model calculation unit 24 reads the driver model, the machine model, and the controller model corresponding to the model set notified from the model selection unit 22 from the model library 23. The model calculation unit 24 performs a simulation calculation of the motor driver, the machine 1, and the controller 10A by using the read driver model, the machine model, and the controller model.

モデル演算部24は、モデルライブラリ23から選択されたモデル組を含めた機械システム20Aのモデルの演算を実施する。例えば、機械システム20Aのモデルにモータモデルが含まれているとする。この場合、モデル演算部24は、X軸1aに対応するドライバモデルおよびモータモデルと、Y軸1bに対応するドライバモデルおよびモータモデルと、Z軸1cに対応するドライバモデルおよびモータモデルと、機械モデルと、コントローラモデルとを含めて機械システム20Aのモデルとする。 The model calculation unit 24 calculates the model of the mechanical system 20A including the model set selected from the model library 23. For example, assume that the model of the mechanical system 20A includes a motor model. In this case, the model calculation unit 24 includes a driver model and a motor model corresponding to the X-axis 1a, a driver model and a motor model corresponding to the Y-axis 1b, a driver model and a motor model corresponding to the Z-axis 1c, and a mechanical model. And the controller model are included in the model of the mechanical system 20A.

シミュレーション装置21によるシミュレーションの処理手順は、図3で説明したシミュレーション装置11によるシミュレーションの処理手順と同様であるので、その説明は省略する。 Since the simulation processing procedure by the simulation device 21 is the same as the simulation processing procedure by the simulation device 11 described with reference to FIG. 3, the description thereof will be omitted.

次に、実施の形態2におけるシミュレーション装置21の詳細な動作について説明する。まず、抽象度設定として、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションを、ユーザが選択する場合を考える。 Next, the detailed operation of the simulation device 21 according to the second embodiment will be described. First, as an abstraction level setting, consider a case where the user selects a simulation for adjusting the parameters of the motor driver of the stage 5.

この場合、モデル選択部22は、抽象度設定に基づいて、例えば、X軸1aおよびY軸1bに対応する3つのドライバモデルD1と、Z軸1cに対応するドライバモデルD2と、機械モデルM1とを選択する。また、モデル選択部22は、例えば、抽象度設定に基づいて、コントローラモデルC2を選択する。このときのシミュレーション装置21の動作は、実施の形態1のシミュレーション装置11が、抽象度設定として、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションを、ユーザが選択する場合の動作と同様である。 In this case, the model selection unit 22 includes, for example, three driver models D1 corresponding to the X-axis 1a and Y-axis 1b, a driver model D2 corresponding to the Z-axis 1c, and a machine model M1 based on the abstraction degree setting. Select. Further, the model selection unit 22 selects the controller model C2 based on, for example, the abstraction degree setting. The operation of the simulation device 21 at this time is the same as the operation when the simulation device 11 of the first embodiment selects a simulation for the purpose of adjusting the parameters of the motor driver of the stage 5 as the abstraction degree setting. be.

次に、抽象度設定として、ステージ5とヘッド6との運転順序を定めるシーケンスプログラムの動作確認を目的とするシミュレーションを、ユーザが選択する場合を考える。 Next, as an abstraction level setting, consider a case where the user selects a simulation for the purpose of confirming the operation of the sequence program that determines the operation order of the stage 5 and the head 6.

この場合、モデル選択部22は、抽象度設定に基づいて、例えば、X軸1a、Y軸1b、およびZ軸1cに対応する3つのドライバモデルD2と、機械モデルM2と、コントローラモデルC1とを選択する。 In this case, the model selection unit 22 sets the three driver models D2 corresponding to, for example, the X-axis 1a, the Y-axis 1b, and the Z-axis 1c, the mechanical model M2, and the controller model C1 based on the abstraction degree setting. select.

図5は、実施の形態2にかかるシミュレーション装置が動作を模擬する機械システムで用いられるシーケンスプログラムを説明するための図である。図5では、シーケンスプログラムによって実行される処理の手順が示されている。 FIG. 5 is a diagram for explaining a sequence program used in a mechanical system in which the simulation apparatus according to the second embodiment simulates an operation. FIG. 5 shows a procedure of processing executed by the sequence program.

図5に示すシーケンスプログラム25には、ブロックBL10,BL20,BL30の各処理が実装されている。シーケンスプログラム25では、コントローラ10Aの演算周期ごとに1ブロックずつの処理が演算されるものとする。 Each process of the blocks BL10, BL20, and BL30 is implemented in the sequence program 25 shown in FIG. In the sequence program 25, it is assumed that the processing of one block is calculated for each calculation cycle of the controller 10A.

コントローラ10Aが、シーケンスプログラム25の実行を開始すると、ステージ5の位置決めが開始される(ブロックBL10)。シーケンスプログラム25では、ステージ5の位置決めが完了したか否かが判定される(ブロックBL20)。 When the controller 10A starts executing the sequence program 25, the positioning of the stage 5 is started (block BL10). In the sequence program 25, it is determined whether or not the positioning of the stage 5 is completed (block BL20).

ステージ5の位置決めが完了していない場合(ブロックBL20、No)、コントローラ10Aは、ステージ5の位置決めが完了するまで次の処理に進まず待機する。すなわち、ブロックBL20は、ステージ5の位置決め完了のビットがONとなるまで、次のブロックの処理には遷移しない仕様となっている。 If the positioning of the stage 5 is not completed (blocks BL20, No), the controller 10A does not proceed to the next process and waits until the positioning of the stage 5 is completed. That is, the block BL20 has a specification that does not transition to the processing of the next block until the positioning completion bit of the stage 5 is turned ON.

ステージ5の位置決めが完了すると(ブロックBL20、Yes)、コントローラ10Aは、ヘッド6の位置決めを開始する(ブロックBL30)。 When the positioning of the stage 5 is completed (block BL20, Yes), the controller 10A starts positioning the head 6 (block BL30).

コントローラモデルC1は、この図5に示したシーケンスプログラム25の処理を模擬する。具体的には、コントローラモデルC1が、ブロックBL10の処理を模擬すると、すなわち、ステージ5の位置決めが開始されると、ステージ5を駆動するX軸1aおよびY軸1bのドライバモデルに位置指令が与えられる。 The controller model C1 simulates the processing of the sequence program 25 shown in FIG. Specifically, when the controller model C1 simulates the processing of the block BL10, that is, when the positioning of the stage 5 is started, a position command is given to the driver models of the X-axis 1a and the Y-axis 1b that drive the stage 5. Be done.

この後、コントローラモデルC1は、ブロックBL20の処理に遷移する。X軸1aおよびY軸1bのドライバモデルは、ドライバモデルD2であり、X軸1aおよびY軸1bの機械モデルは、機械モデルM2である。また、X軸1aおよびY軸1bの機械モデルは、機械モデルM2であるので、コントローラモデルC1は、機械1の精密な振動特性などは模擬しない。シーケンスプログラム25では、ステージ5への全ての位置指令が払い出されるまでの間はステージ5の位置決めは完了しないので、1回の演算周期では、ブロックBL20においてステージ5の位置決めが完了したとの判定は下されない。 After that, the controller model C1 transitions to the processing of the block BL20. The driver model of the X-axis 1a and the Y-axis 1b is the driver model D2, and the mechanical model of the X-axis 1a and the Y-axis 1b is the mechanical model M2. Further, since the machine models of the X-axis 1a and the Y-axis 1b are the machine model M2, the controller model C1 does not simulate the precise vibration characteristics of the machine 1. In the sequence program 25, the positioning of the stage 5 is not completed until all the position commands to the stage 5 are issued. Therefore, in one calculation cycle, it is determined that the positioning of the stage 5 is completed in the block BL20. Not given.

ステージ5の位置決めが完了すると、コントローラモデルC1は、コントローラ10Aの次の演算周期においてブロックBL30の処理へと遷移する。これにより、ヘッド6の位置決めが開始されることとなる。 When the positioning of the stage 5 is completed, the controller model C1 transitions to the processing of the block BL30 in the next calculation cycle of the controller 10A. As a result, the positioning of the head 6 is started.

このように、コントローラモデルC1は、シーケンスプログラム25の動作の確認を正確に行うことができる。一方、コントローラモデルC1は、モータドライバ、モータ、機械1の動作については簡略化しているので、シミュレーションにかかる計算コストおよび時間コストを小さく抑えることができる。 In this way, the controller model C1 can accurately confirm the operation of the sequence program 25. On the other hand, since the controller model C1 simplifies the operations of the motor driver, the motor, and the machine 1, the calculation cost and the time cost required for the simulation can be kept small.

このように、実施の形態2では、ユーザが例えば2種類といった複数種類のシミュレーションの目的から何れかの目的を選択し、抽象度設定としてシミュレーション装置21に入力している。モデル選択部22は、抽象度設定に基づいて、モデルライブラリ23に保持されているモデルの中からシミュレーションに必要な精度を有しつつ必要な計算量が小さくなるような、適切な抽象度のモデルを選択している。 As described above, in the second embodiment, the user selects one of the purposes of a plurality of types of simulations, for example, two types, and inputs the purpose to the simulation device 21 as an abstraction degree setting. Based on the abstraction degree setting, the model selection unit 22 has an appropriate abstraction degree model such that the required calculation amount is small while having the accuracy required for the simulation from the models stored in the model library 23. Is selected.

例えば、ステージ5のモータドライバのパラメータ調整を目的とするシミュレーションが選択された場合、モデル選択部22は、ステージ5を駆動するX軸1aおよびY軸1bに対応する精緻なドライバモデルD1および機械モデルM1を選択する。モータドライバの調整においてシーケンスプログラム25の模擬精度は影響しないので、モデル選択部22は、シーケンスプログラム25を模擬するコントローラモデルとしては模擬精度の低いコントローラモデルC2を選択する。 For example, when a simulation aimed at adjusting the parameters of the motor driver of the stage 5 is selected, the model selection unit 22 performs a precise driver model D1 and a mechanical model corresponding to the X-axis 1a and the Y-axis 1b that drive the stage 5. Select M1. Since the simulation accuracy of the sequence program 25 does not affect the adjustment of the motor driver, the model selection unit 22 selects the controller model C2 having a low simulation accuracy as the controller model for simulating the sequence program 25.

一般に産業用のコントローラはリアルタイム性を追求して高速な処理ができるよう設計されている場合が多く演算周期は短時間であり、これらの演算をシミュレーションで模擬するためには膨大な計算コストを要する。実施の形態2のシミュレーション装置21は、シーケンスプログラム25を高精度で模擬する必要の無いパラメータ調整に対しては、コントローラモデルの模擬精度を下げているので、シミュレーションの計算コストを低減することができる。一方、シミュレーション装置21は、パラメータ調整の際にモータドライバおよび機械モデルについては高精度なモデルを用いているので、モータドライバのパラメータ調整を正しく実施することが可能となる。すなわち、シミュレーション装置21は、シミュレーションの目的を満たすための適切な抽象度のモデルを用いたシミュレーションを、計算コストおよび時間コストを小さく抑えたうえで実行することができる。 In general, industrial controllers are often designed to perform high-speed processing in pursuit of real-time performance, and the calculation cycle is short, and enormous calculation costs are required to simulate these operations by simulation. .. Since the simulation device 21 of the second embodiment lowers the simulation accuracy of the controller model for the parameter adjustment that does not require the sequence program 25 to be simulated with high accuracy, the calculation cost of the simulation can be reduced. .. On the other hand, since the simulation device 21 uses a highly accurate model for the motor driver and the mechanical model when adjusting the parameters, it is possible to correctly adjust the parameters of the motor driver. That is, the simulation device 21 can execute a simulation using a model having an appropriate degree of abstraction to satisfy the purpose of the simulation while keeping the calculation cost and the time cost small.

また、ステージ5およびヘッド6の運転順序を定めるシーケンスプログラム25の動作確認を目的とするシミュレーションが選択された場合、モデル選択部22は、シーケンスプログラム25を模擬するコントローラモデルとして高精度にシーケンスプログラム25の処理を模擬するコントローラモデルC1を選択している。また、モデル選択部22は、シーケンスプログラム25の動作確認が行われる際には、簡略化された模擬処理を行うドライバモデルD2および機械モデルM2を選択している。 Further, when a simulation for the purpose of confirming the operation of the sequence program 25 that determines the operation order of the stage 5 and the head 6 is selected, the model selection unit 22 uses the sequence program 25 as a controller model that simulates the sequence program 25 with high accuracy. The controller model C1 that simulates the processing of is selected. Further, when the operation of the sequence program 25 is confirmed, the model selection unit 22 selects the driver model D2 and the machine model M2 that perform simplified simulation processing.

シーケンスプログラム25の動作確認においてはコントローラ10Aの演算が正しいことを確認できればよく、機械1の振動特性などの詳細な模擬は不要である。実施の形態2のシミュレーション装置21は、ドライバモデルおよび機械モデルを簡略化することで計算コストおよび時間コストを小さく抑えたうえでシーケンスプログラム25による処理を確認することができる。 In checking the operation of the sequence program 25, it is sufficient if it can be confirmed that the calculation of the controller 10A is correct, and detailed simulation of the vibration characteristics of the machine 1 is unnecessary. The simulation device 21 of the second embodiment can confirm the processing by the sequence program 25 while keeping the calculation cost and the time cost small by simplifying the driver model and the machine model.

このように、実施の形態2によれば、実施の形態1と同様に、ユーザが何れの抽象度設定を指定した場合であっても、シミュレーション装置21は、抽象度設定に基づいてシミュレーションの目的に応じた適切な抽象度のモデルを選択することができる。したがって、シミュレーション装置21は、計算効率の良いシミュレーションを簡易的に実現することができる。 As described above, according to the second embodiment, the simulation device 21 aims at the simulation based on the abstraction degree setting regardless of which abstraction degree setting is specified by the user, as in the first embodiment. It is possible to select an appropriate level of abstraction model according to the above. Therefore, the simulation device 21 can easily realize a simulation with high calculation efficiency.

また、シミュレーション装置21は、シーケンスプログラム25の一部のブロックのみを抽出して模擬するので、シミュレーションを簡略化して機械システム20Aの動作を模擬できる。 Further, since the simulation device 21 extracts and simulates only a part of the blocks of the sequence program 25, the simulation can be simplified and the operation of the mechanical system 20A can be simulated.

実施の形態3.
次に、図6および図7を用いて実施の形態3について説明する。実施の形態1,2では機械モデルが予めモデルライブラリ13,23に格納されている場合について説明したが、実施の形態3では、シミュレーション装置が、機械モデルを生成してモデルライブラリに格納する。
Embodiment 3.
Next, the third embodiment will be described with reference to FIGS. 6 and 7. In the first and second embodiments, the case where the machine model is stored in the model libraries 13 and 23 in advance has been described, but in the third embodiment, the simulation device generates the machine model and stores it in the model library.

図6は、実施の形態3にかかるシミュレーション装置の構成を示す図である。図6の各構成要素のうち図2に示す実施の形態1のシミュレーション装置11と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 6 is a diagram showing a configuration of a simulation device according to a third embodiment. Of the components of FIG. 6, components that achieve the same functions as the simulation device 11 of the first embodiment shown in FIG. 2 are designated by the same reference numerals, and redundant description will be omitted.

実施の形態3でシミュレーションの対象として扱う機械システムは、実施の形態1と同様の機械システム20Aである。すなわち、シミュレーション装置31は、シミュレーション装置11と同様に、機械システム20Aの動作を模擬する。実施の形態3においても、ユーザに指定される抽象度設定によって2つのシミュレーションの目的のうちの何れかが指定される。 The mechanical system handled as the target of the simulation in the third embodiment is the same mechanical system 20A as in the first embodiment. That is, the simulation device 31 simulates the operation of the mechanical system 20A in the same manner as the simulation device 11. Also in the third embodiment, one of the two simulation purposes is specified by the abstraction degree setting specified by the user.

シミュレーション装置31は、モデル選択部12と、モデルライブラリ33と、モデル演算部14と、モデル生成部36とを備えている。 The simulation device 31 includes a model selection unit 12, a model library 33, a model calculation unit 14, and a model generation unit 36.

モデルライブラリ33は、モデルライブラリ13と同様に、複数の異なる抽象度のドライバモデルと、複数の異なる抽象度の機械モデルとを保持する。具体的には、モデルライブラリ33は、ドライバモデルD1,D2と、機械モデルM1〜M3とを保持する。このように、実施の形態3のモデルライブラリ33は、予め準備された機械モデルM1,M2に加えて、モデル生成部36で生成された機械モデルM3を保持する。 Like the model library 13, the model library 33 holds a plurality of driver models having different abstractions and a plurality of machine models having different abstractions. Specifically, the model library 33 holds the driver models D1 and D2 and the mechanical models M1 to M3. As described above, the model library 33 of the third embodiment holds the machine model M3 generated by the model generation unit 36 in addition to the machine models M1 and M2 prepared in advance.

モデル生成部36は、外部から入力された実機情報に基づいて機械モデルを生成する。実機のデータである実機情報は、機械システム20Aを実際に動作させることによって得られた信号である。実機情報には、例えば、X軸1a、Y軸1b、およびZ軸1cのモータ位置の時系列データと、ステージ位置およびヘッド位置の時系列データとが含まれている。 The model generation unit 36 generates a machine model based on the actual machine information input from the outside. The actual machine information, which is the data of the actual machine, is a signal obtained by actually operating the mechanical system 20A. The actual machine information includes, for example, time-series data of the motor positions of the X-axis 1a, Y-axis 1b, and Z-axis 1c, and time-series data of the stage position and the head position.

機械モデルM1〜M3は、実施の形態1と同様に共通のインターフェースを有するソフトウェアである。実施の形態1では、機械モデルM1〜M3の共通インターフェースが、X軸1aのモータ位置と、Y軸1bのモータ位置と、Z軸1cのモータ位置とを取得可能な入力インターフェースを有しているものとする。また、機械モデルM1〜M3の共通インターフェースが、ヘッド位置およびステージ位置の情報を出力する出力インターフェースを有しているものとする。 The mechanical models M1 to M3 are software having a common interface as in the first embodiment. In the first embodiment, the common interface of the mechanical models M1 to M3 has an input interface capable of acquiring the motor position of the X-axis 1a, the motor position of the Y-axis 1b, and the motor position of the Z-axis 1c. It shall be. Further, it is assumed that the common interface of the mechanical models M1 to M3 has an output interface for outputting information on the head position and the stage position.

モデル生成部36は、X軸1a、Y軸1b、およびZ軸1cのモータ位置の時系列データを入力として、ステージ位置およびヘッド位置の時系列データを出力する機械モデルM3を生成する。 The model generation unit 36 generates a machine model M3 that outputs time-series data of the stage position and the head position by inputting the time-series data of the motor positions of the X-axis 1a, the Y-axis 1b, and the Z-axis 1c.

モデル生成部36は、入力と出力との関係を得るために、例えばニューラルネットワークまたはサポートベクター回帰などの機械学習技術を用いるか、予測誤差法または部分空間法などのシステム同定技術を用いる。ここでは、モデル生成部36がニューラルネットワークを用いる例について説明する。 The model generation unit 36 uses a machine learning technique such as a neural network or support vector regression, or a system identification technique such as a prediction error method or a subspace method in order to obtain a relationship between an input and an output. Here, an example in which the model generation unit 36 uses a neural network will be described.

モデル生成部36は、X軸1a、Y軸1b、およびZ軸1cのモータ位置の時系列データと、ステージ位置およびヘッド位置の時系列データとを学習用のデータとして、ニューラルネットワークを用いた学習動作を行う。すなわち、モデル生成部36は、機械学習装置である。モデル生成部36は、状態観測部、データ取得部、および学習部の機能を有している。状態観測部は、X軸1a、Y軸1b、およびZ軸1cのモータ位置の時系列データを状態変数として観測し、データ取得部は、ステージ位置およびヘッド位置の時系列データを教師データとして取得する。学習部は、状態観測部から出力されるX軸1a、Y軸1b、およびZ軸1cのモータ位置の時系列データ、および、データ取得部から出力されるステージ位置およびヘッド位置の時系列データの組合せに基づいて作成されるデータセットに基づいて、機械モデルM3を学習する。 The model generation unit 36 uses a neural network for learning using the time-series data of the motor positions of the X-axis 1a, the Y-axis 1b, and the Z-axis 1c and the time-series data of the stage position and the head position as learning data. Do the action. That is, the model generation unit 36 is a machine learning device. The model generation unit 36 has the functions of a state observation unit, a data acquisition unit, and a learning unit. The state observation unit observes the time-series data of the motor positions of the X-axis 1a, Y-axis 1b, and Z-axis 1c as state variables, and the data acquisition unit acquires the time-series data of the stage position and head position as teacher data. do. The learning unit is the time-series data of the motor positions of the X-axis 1a, Y-axis 1b, and Z-axis 1c output from the state observation unit, and the time-series data of the stage position and head position output from the data acquisition unit. The machine model M3 is trained based on the data set created based on the combination.

なお、機械学習装置であるモデル生成部36は、ネットワークを介してシミュレーション装置31に接続された、シミュレーション装置31とは別個の装置であってもよい。また、モデル生成部36は、クラウドサーバ上に存在していてもよい。 The model generation unit 36, which is a machine learning device, may be a device separate from the simulation device 31 connected to the simulation device 31 via a network. Further, the model generation unit 36 may exist on the cloud server.

図7は、実施の形態3にかかるシミュレーション装置が用いるニューラルネットワークを説明するための図である。ニューラルネットワークは、入力層X1、中間層Y1、および出力層Z1を有している。入力層X1へは、X軸1a、Y軸1b、およびZ軸1cのモータ位置を示すM(Mは自然数)個の入力データ(i1、i2、…、iM)が入力される。右端の出力層Z1からは、ステージ位置およびヘッド位置を示すN(Nは自然数)個の出力データ(o1、o2、…、oN)が出力される。 FIG. 7 is a diagram for explaining a neural network used by the simulation apparatus according to the third embodiment. The neural network has an input layer X1, an intermediate layer Y1, and an output layer Z1. M (M is a natural number) of input data (i1, i2, ..., IM) indicating the motor positions of the X-axis 1a, the Y-axis 1b, and the Z-axis 1c are input to the input layer X1. From the output layer Z1 at the right end, N (N is a natural number) output data (o1, o2, ..., ON) indicating the stage position and the head position are output.

入力層X1の各ノードから中間層Y1の各ノードに対する重み係数は全て独立に設定することができるが、図7ではこれらの重み係数が、全て同一の重み係数W1として表記されている。同様に、中間層Y1の各ノードから出力層Z1の各ノードに対する重み係数は、全て同一の重み係数W2として表記されている。 The weighting coefficients for each node of the input layer X1 to each node of the intermediate layer Y1 can be set independently, but in FIG. 7, these weighting coefficients are all represented as the same weighting coefficient W1. Similarly, the weighting coefficients from each node of the intermediate layer Y1 to each node of the output layer Z1 are all expressed as the same weighting coefficient W2.

ニューラルネットワークでは、入力層X1の各ノードの出力値に対して重み係数W1が乗算され、乗算によって得られた結果の線形結合が中間層Y1の各ノードに入力される。また、ニューラルネットワークでは、中間層Y1の各ノードの出力値に対して重み係数W2が乗算され、乗算によって得られた結果の線形結合が出力層Z1のノードに入力される。各層の各ノードでは、例えばシグモイド関数といった非線形関数によって入力値から出力値が計算されてもよい。また、入力層X1および出力層Z1では、出力値は入力値の線形結合であってもよい。 In the neural network, the weight coefficient W1 is multiplied by the output value of each node of the input layer X1, and the linear combination of the results obtained by the multiplication is input to each node of the intermediate layer Y1. Further, in the neural network, the weight coefficient W2 is multiplied by the output value of each node of the intermediate layer Y1, and the linear combination of the results obtained by the multiplication is input to the node of the output layer Z1. At each node of each layer, the output value may be calculated from the input value by a non-linear function such as a sigmoid function. Further, in the input layer X1 and the output layer Z1, the output value may be a linear combination of the input values.

モデル生成部36は、X軸1a、Y軸1b、およびZ軸1cのモータ位置の時系列データと、ステージ位置およびヘッド位置の時系列データとを用いて、ニューラルネットワークの重み係数W1と重み係数W2とを計算する。モデル生成部36は、ニューラルネットワークの重み係数W1および重み係数W2を、誤差逆伝播法または勾配降下法を用いることで計算することができる。ただし、ニューラルネットワークの重み係数W1,W2を得ることができる計算方法であれば、モデル生成部36による重み係数W1,W2の計算方法は上述の方法に限られない。 The model generation unit 36 uses the time-series data of the motor positions of the X-axis 1a, the Y-axis 1b, and the Z-axis 1c, and the time-series data of the stage position and the head position, and uses the weight coefficient W1 and the weight coefficient of the neural network. Calculate with W2. The model generation unit 36 can calculate the weighting coefficient W1 and the weighting coefficient W2 of the neural network by using the backpropagation method or the gradient descent method. However, as long as the calculation method can obtain the weight coefficients W1 and W2 of the neural network, the calculation method of the weight coefficients W1 and W2 by the model generation unit 36 is not limited to the above method.

ニューラルネットワークの重み係数が決定されれば、X軸1a、Y軸1b、およびZ軸1cのモータ位置の時系列データと、ステージ位置およびヘッド位置の時系列データとの関係式が得られたことになる。ここまでにおいて、3層のニューラルネットワークを用いた学習を行う例について説明したが、モデル生成部36によるニューラルネットワークを用いた学習は、上述の例に限定されない。 Once the weighting factor of the neural network was determined, the relational expression between the time-series data of the motor positions of the X-axis 1a, Y-axis 1b, and Z-axis 1c and the time-series data of the stage position and the head position was obtained. become. Up to this point, an example of performing learning using a three-layer neural network has been described, but learning using a neural network by the model generation unit 36 is not limited to the above example.

上述したモデル生成部36の動作によりX軸1a、Y軸1b、およびZ軸1cのモータ位置を入力としてステージ位置およびヘッド位置を出力とする機械モデルM3が得られる。 By the operation of the model generation unit 36 described above, a mechanical model M3 is obtained in which the motor positions of the X-axis 1a, Y-axis 1b, and Z-axis 1c are input and the stage position and head position are output.

ニューラルネットワークによる模擬精度は、ニューラルネットワークの層の数、またはノードの数を変更することで、任意に設定することができる。すなわち、モデル生成部36は、学習モデルとして種々の数式を用いることで、実機情報にフィッティングする種々の抽象度の機械モデルを簡便に生成することができる。これにより、シミュレーション装置31に対しては、精度の異なる複数の機械モデルを簡易的に生成することが可能となる。モデル生成部36による学習が、第1の機械学習である。 The simulation accuracy by the neural network can be arbitrarily set by changing the number of layers or the number of nodes of the neural network. That is, the model generation unit 36 can easily generate machine models having various abstractions to be fitted to the actual machine information by using various mathematical formulas as the learning model. This makes it possible to easily generate a plurality of mechanical models having different accuracy for the simulation device 31. The learning by the model generation unit 36 is the first machine learning.

モデル生成部36は、抽象度設定と機械モデルM3とを対応付けした情報を、モデル選択部12の対応関係情報に登録する。これにより、モデル選択部12は、抽象度設定および対応関係情報に基づいて、シミュレーションの目的に応じた適切な機械モデルを選択することができることとなる。また、モデル生成部36は、機械モデルM3を生成したことと、この機械モデルM3に対応する抽象度設定とを、ユーザに通知してもよい。モデル生成部36は、例えば、表示装置に機械モデルM3を生成したことと、この機械モデルM3に対応する抽象度設定とを表示させる。 The model generation unit 36 registers the information in which the abstraction degree setting and the machine model M3 are associated with each other in the correspondence information of the model selection unit 12. As a result, the model selection unit 12 can select an appropriate machine model according to the purpose of the simulation based on the abstraction degree setting and the correspondence information. Further, the model generation unit 36 may notify the user that the machine model M3 has been generated and the abstraction degree setting corresponding to the machine model M3. The model generation unit 36 causes the display device to display, for example, the generation of the machine model M3 and the abstraction degree setting corresponding to the machine model M3.

モデル選択部12は、機械モデルM3を生成する場合に限らず、ニューラルネットワークの層の数、またはノードの数を変更することで抽象度の異なる機械モデルM4、機械モデルM5といった機械モデルM1〜M3とは異なる機械モデルを生成してもよい。これらの機械モデルM1〜M5は、共通のインターフェースを有するソフトウェアとして生成される。 The model selection unit 12 is not limited to the case of generating the machine model M3, but the machine models M1 to M3 such as the machine model M4 and the machine model M5 having different abstractions by changing the number of layers of the neural network or the number of nodes. You may generate a mechanical model different from. These mechanical models M1 to M5 are generated as software having a common interface.

実施の形態3ではモデル生成部36で生成した機械モデルM3は、ステージ位置およびヘッド位置を出力する場合について説明したが、機械モデルM3の出力はステージ位置およびヘッド位置に限られない。機械モデルM3は、例えば機械システム20Aの温度または音を機械システム20Aの出力としてもよい。このように、モデル生成部36は、実機情報に含まれる情報の何れかを機械モデルM3の入力および出力に設定することができる。 In the third embodiment, the case where the mechanical model M3 generated by the model generation unit 36 outputs the stage position and the head position has been described, but the output of the mechanical model M3 is not limited to the stage position and the head position. The mechanical model M3 may use, for example, the temperature or sound of the mechanical system 20A as the output of the mechanical system 20A. In this way, the model generation unit 36 can set any of the information included in the actual machine information to the input and output of the machine model M3.

また、モデル生成部36は、実機情報のみに限らず、例えばCAD(Computer Aided Design)ソフトが出力するCADデータと、実機情報とを機械モデルM3の生成のために用いてもよい。CADデータは、機械1の設計情報を有するデータである。モデル生成部36は、この設計情報と実機情報とに基づいて機械モデルM3を生成してもよい。設計情報と実機情報とに基づく機械モデルM3の生成方法の一例としては、設計情報に基づいて機械モデルM3の微分方程式を生成し、実機情報に基づいて、微分方程式のパラメータを決定するといった方法がある。 Further, the model generation unit 36 is not limited to the actual machine information, and may use, for example, CAD data output by CAD (Computer Aided Design) software and the actual machine information for generating the machine model M3. The CAD data is data having design information of the machine 1. The model generation unit 36 may generate the machine model M3 based on the design information and the actual machine information. As an example of the method of generating the mechanical model M3 based on the design information and the actual machine information, a method of generating the differential equation of the machine model M3 based on the design information and determining the parameters of the differential equation based on the actual machine information is used. be.

このように、実施の形態3によれば、モデル生成部36が機械モデルM3を実機情報に基づいて生成するので、ユーザが機械モデルM3を事前に準備していなくとも、モデル選択部12は、抽象度の異なる複数のモデルの中から適切なモデルを選択することができるようになる。したがって、実施の形態3でも、計算効率の良いシミュレーションを簡易的に実現することができる。 As described above, according to the third embodiment, the model generation unit 36 generates the machine model M3 based on the actual machine information. Therefore, even if the user does not prepare the machine model M3 in advance, the model selection unit 12 can generate the machine model M3. You will be able to select the appropriate model from multiple models with different levels of abstraction. Therefore, even in the third embodiment, a simulation with high calculation efficiency can be easily realized.

実施の形態4.
次に、図8および図9を用いて実施の形態4について説明する。実施の形態1では機械モデルが予めモデルライブラリ13に格納されている場合について説明したが、実施の形態4では、シミュレーション装置が、モデルライブラリに格納されている機械モデルの抽象度を変更して新たな機械モデルを生成する。
Embodiment 4.
Next, the fourth embodiment will be described with reference to FIGS. 8 and 9. In the first embodiment, the case where the machine model is stored in the model library 13 in advance has been described, but in the fourth embodiment, the simulation device changes the abstraction degree of the machine model stored in the model library. Generate a mechanical model.

図8は、実施の形態4にかかるシミュレーション装置の構成を示す図である。図8の各構成要素のうち図2に示す実施の形態1のシミュレーション装置11と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 8 is a diagram showing a configuration of a simulation device according to a fourth embodiment. Of the components of FIG. 8, components that achieve the same functions as the simulation device 11 of the first embodiment shown in FIG. 2 are designated by the same reference numerals, and redundant description will be omitted.

実施の形態4でシミュレーションの対象として扱う機械システムは、実施の形態1と同様の機械システム20Aである。すなわち、シミュレーション装置41は、シミュレーション装置11と同様に機械システム20Aの動作を模擬する。実施の形態4においても、ユーザに指定される抽象度設定によって2つのシミュレーションの目的のうちの何れかが指定される。 The mechanical system handled as the target of the simulation in the fourth embodiment is the same mechanical system 20A as the first embodiment. That is, the simulation device 41 simulates the operation of the mechanical system 20A in the same manner as the simulation device 11. Also in the fourth embodiment, one of the two simulation purposes is specified by the abstraction degree setting specified by the user.

シミュレーション装置41は、モデル選択部12と、モデルライブラリ43と、モデル演算部14と、モデル簡略化部47とを備えている。 The simulation device 41 includes a model selection unit 12, a model library 43, a model calculation unit 14, and a model simplification unit 47.

モデルライブラリ43は、複数の異なる抽象度のドライバモデルと、複数の異なる抽象度の機械モデルとを保持する。実施の形態4では、モデルライブラリ43に予めドライバモデルD1,D2が保持されている場合について説明する。また、モデルライブラリ43は、機械1の動作を高精度に模擬する機械モデルM1と、モデル簡略化部47で生成される機械モデルM6とを保持する。機械モデルM1が第1の機械モデルであり、機械モデルM6が第2の機械モデルである。 The model library 43 holds a plurality of driver models having different abstractions and a plurality of mechanical models having different abstractions. In the fourth embodiment, the case where the driver models D1 and D2 are stored in the model library 43 in advance will be described. Further, the model library 43 holds a machine model M1 that simulates the operation of the machine 1 with high accuracy, and a machine model M6 generated by the model simplification unit 47. The mechanical model M1 is the first mechanical model, and the mechanical model M6 is the second mechanical model.

モデル簡略化部47は、モデルライブラリ43から読み出したモデルを簡略化することで、新たなモデルを生成する。実施の形態4では、モデル簡略化部47が、機械モデルM1を読み出し、機械モデルM1を簡略化することで生成した機械モデルM6を新たな機械モデルとしてモデルライブラリ43に登録する場合について説明する。 The model simplification unit 47 generates a new model by simplifying the model read from the model library 43. In the fourth embodiment, a case where the model simplification unit 47 reads the machine model M1 and registers the machine model M6 generated by simplifying the machine model M1 in the model library 43 as a new machine model will be described.

モデル簡略化部47は、抽象度設定と機械モデルM6とを対応付けした情報を、モデル選択部12の対応関係情報に登録する。これにより、モデル選択部12は、抽象度設定および対応関係情報に基づいて、シミュレーションの目的に応じた適切な機械モデルを選択することができることとなる。また、モデル簡略化部47は、機械モデルM6を生成したことと、この機械モデルM6に対応する抽象度設定とを、ユーザに通知してもよい。モデル簡略化部47は、例えば、表示装置に機械モデルM6を生成したことと、この機械モデルM6に対応する抽象度設定とを表示させる。 The model simplification unit 47 registers the information in which the abstraction degree setting and the machine model M6 are associated with each other in the correspondence information of the model selection unit 12. As a result, the model selection unit 12 can select an appropriate machine model according to the purpose of the simulation based on the abstraction degree setting and the correspondence information. Further, the model simplification unit 47 may notify the user that the machine model M6 has been generated and the abstraction degree setting corresponding to the machine model M6. The model simplification unit 47 displays, for example, the generation of the machine model M6 on the display device and the abstraction degree setting corresponding to the machine model M6.

機械モデルM1,M6は、共通のインターフェースを有するソフトウェアである。例えば、機械モデルM1,M6の共通インターフェースは、X軸1aのモータ位置とY軸1bのモータ位置とZ軸1cのモータ位置とを取得可能な入力インターフェースを有しているものとする。また、機械モデルM1,M6の共通インターフェースは、ステージ位置およびヘッド位置の情報を出力する出力インターフェースを有しているものとする。 The mechanical models M1 and M6 are software having a common interface. For example, it is assumed that the common interface of the mechanical models M1 and M6 has an input interface capable of acquiring the motor position of the X-axis 1a, the motor position of the Y-axis 1b, and the motor position of the Z-axis 1c. Further, it is assumed that the common interface of the mechanical models M1 and M6 has an output interface for outputting information on the stage position and the head position.

図9は、実施の形態4にかかるシミュレーション装置がモデルの簡略化によって新たなモデルを生成する処理を説明するための図である。図9の上段には、機械モデルM1に含まれる演算回路のうちのステージ位置およびヘッド位置を演算する演算回路91をブロック図として示している。図9の下段には、機械モデルM6に含まれる演算回路のうちのステージ位置およびヘッド位置を演算する演算回路96をブロック図として示している。 FIG. 9 is a diagram for explaining a process in which the simulation apparatus according to the fourth embodiment generates a new model by simplifying the model. In the upper part of FIG. 9, the arithmetic circuit 91 for calculating the stage position and the head position among the arithmetic circuits included in the machine model M1 is shown as a block diagram. In the lower part of FIG. 9, the arithmetic circuit 96 for calculating the stage position and the head position among the arithmetic circuits included in the machine model M6 is shown as a block diagram.

機械モデルM1の演算回路91は、ステージ位置を演算して出力するブロック48aと、ヘッド位置を演算して出力するブロック48bとを含んでいる。ブロック48a,48bには、X軸1aのモータ位置であるX軸モータ位置、Y軸1bのモータ位置であるY軸モータ位置、およびZ軸1cのモータ位置であるZ軸モータ位置が入力される。 The arithmetic circuit 91 of the machine model M1 includes a block 48a that calculates and outputs the stage position, and a block 48b that calculates and outputs the head position. The X-axis motor position, which is the motor position of the X-axis 1a, the Y-axis motor position, which is the motor position of the Y-axis 1b, and the Z-axis motor position, which is the motor position of the Z-axis 1c, are input to the blocks 48a and 48b. ..

ブロック48aは、X軸モータ位置、Y軸モータ位置、およびZ軸モータ位置に基づいて、ステージ位置を演算し出力する。また、ブロック48bは、X軸モータ位置、Y軸モータ位置、およびZ軸モータ位置に基づいて、ヘッド位置を演算し出力する。 The block 48a calculates and outputs the stage position based on the X-axis motor position, the Y-axis motor position, and the Z-axis motor position. Further, the block 48b calculates and outputs the head position based on the X-axis motor position, the Y-axis motor position, and the Z-axis motor position.

このように、演算回路91は、X軸モータ位置、およびY軸モータ位置が、ヘッド位置に影響を与え、Z軸1cのモータ位置であるZ軸モータ位置がステージ位置に干渉する回路となっている。すなわち、機械モデルM1では、Z軸モータ位置が固定された状態であってもX軸モータ位置またはY軸モータ位置を急峻に変化させた場合に、ヘッド6の位置にも過渡的に振動が生じることを意味している。また、機械モデルM1では、X軸モータ位置およびY軸モータ位置が固定された状態であってもZ軸モータ位置を急峻に変化させた場合に、ステージ5の位置にも過渡的に振動が生じることを意味している。このように、機械モデルM1は直交する軸間の干渉振動を模擬するような高精度なモデルであるといえる。 In this way, the arithmetic circuit 91 is a circuit in which the X-axis motor position and the Y-axis motor position affect the head position, and the Z-axis motor position, which is the Z-axis 1c motor position, interferes with the stage position. There is. That is, in the mechanical model M1, even if the Z-axis motor position is fixed, when the X-axis motor position or the Y-axis motor position is suddenly changed, the position of the head 6 also undergoes transient vibration. It means that. Further, in the mechanical model M1, even if the X-axis motor position and the Y-axis motor position are fixed, when the Z-axis motor position is suddenly changed, the position of the stage 5 is also transiently vibrated. It means that. As described above, the mechanical model M1 can be said to be a highly accurate model that simulates interference vibration between orthogonal axes.

モデル簡略化部47は、上述した干渉振動の影響を無視するように簡略化された機械モデルM6を生成する。具体的には、モデル簡略化部47は、ステージ位置を演算する演算式からZ軸モータ位置を含む項を削除し、ヘッド位置を演算する演算式からX軸モータ位置およびY軸モータ位置を含む項を削除する。 The model simplification unit 47 generates a mechanical model M6 simplified so as to ignore the influence of the above-mentioned interference vibration. Specifically, the model simplification unit 47 deletes the term including the Z-axis motor position from the calculation formula for calculating the stage position, and includes the X-axis motor position and the Y-axis motor position from the calculation formula for calculating the head position. Delete the term.

このようにして生成された機械モデルM6の演算回路96は、ステージ位置を演算して出力するブロック48cと、ヘッド位置を演算して出力するブロック48dとを含んでいる。ブロック48cは、X軸モータ位置およびY軸モータ位置からステージ位置を演算するブロックである。ブロック48dは、Z軸モータ位置のみからヘッド位置を演算するブロックである。 The arithmetic circuit 96 of the mechanical model M6 generated in this manner includes a block 48c that calculates and outputs the stage position, and a block 48d that calculates and outputs the head position. The block 48c is a block that calculates the stage position from the X-axis motor position and the Y-axis motor position. The block 48d is a block that calculates the head position only from the Z-axis motor position.

このように、実施の形態4では、モデル簡略化部47が、高精度な模擬を実行する機械モデルM1から、簡略された模擬を実行する新たな機械モデルM6を生成する。 As described above, in the fourth embodiment, the model simplification unit 47 generates a new machine model M6 that executes the simplified simulation from the machine model M1 that executes the high-precision simulation.

実施の形態4では、モデル簡略化部47が軸間の干渉振動を無視するような簡略化を行ったが、簡略化の方法はこの方法に限らない。モデル簡略化部47は、例えばX軸モータ位置からステージ位置を演算する際の振動特性を無視するような簡略化を行ってもよい。 In the fourth embodiment, the model simplification unit 47 performs simplification so as to ignore the interference vibration between the axes, but the simplification method is not limited to this method. The model simplification unit 47 may perform simplification so as to ignore the vibration characteristics when calculating the stage position from the X-axis motor position, for example.

また、モデル簡略化部47は、機械1の振動特性に加えて発熱を模擬するような機械モデルから発熱を模擬する部分を無視するような簡略化を行ってもよい。また、モデル簡略化部47は、機械1の構成要素を柔軟体とした有限要素法で表現した機械モデルを、剛体の接続である多剛体モデルに簡略化してもよい。 Further, the model simplification unit 47 may perform simplification such that the portion simulating heat generation is ignored from the machine model that simulates heat generation in addition to the vibration characteristics of the machine 1. Further, the model simplification unit 47 may simplify the machine model expressed by the finite element method in which the constituent elements of the machine 1 are flexible bodies to a multi-rigid body model which is a connection of rigid bodies.

また、実施の形態4では、モデル簡略化部47が機械モデルの簡略化を行ったが、モデル簡略化部47は、ドライバモデル、モータモデル、またはコントローラモデルの簡略化を行ってもよい。モデル簡略化部47は、例えばPID(Proportional-Integral-Differential、比例−積分−微分)制御にノッチフィルタおよびローパスフィルタを付け加えた詳細なフィードバック制御を行うドライバモデルから、PID制御のみのフィードバック制御を行うドライバモデルに簡略化を行ってもよい。 Further, in the fourth embodiment, the model simplification unit 47 simplifies the mechanical model, but the model simplification unit 47 may simplify the driver model, the motor model, or the controller model. The model simplification unit 47 performs feedback control only for PID control from, for example, a driver model that performs detailed feedback control by adding a notch filter and a low-pass filter to PID (Proportional-Integral-Differential) control. The driver model may be simplified.

このように、実施の形態4によれば、モデル簡略化部47が抽象度の異なる新たな機械モデルM6を生成するので、ユーザが機械モデルM6を事前に準備していなくとも、モデルライブラリ43は、抽象度の異なる複数の機械モデルM1,M6を保持することができる。すなわち、ユーザが登録した機械モデルの抽象度が1種類だけであってもモデル簡略化部47は、1種類の機械モデルから複数の簡易な機械モデルを生成することができる。これにより、ユーザによる機械モデルの簡略化の手間が不要となる。また、ユーザは、機械モデルM1,M6の中から適切なモデルを選択することが可能となる。したがって、実施の形態4でも、計算効率の良いシミュレーションを簡易的に実現することができる。 As described above, according to the fourth embodiment, the model simplification unit 47 generates a new machine model M6 having a different degree of abstraction. Therefore, even if the user does not prepare the machine model M6 in advance, the model library 43 can be used. , A plurality of machine models M1 and M6 having different degrees of abstraction can be held. That is, even if the degree of abstraction of the machine model registered by the user is only one type, the model simplification unit 47 can generate a plurality of simple machine models from one type of machine model. This eliminates the need for the user to simplify the mechanical model. In addition, the user can select an appropriate model from the machine models M1 and M6. Therefore, even in the fourth embodiment, a simulation with good calculation efficiency can be easily realized.

実施の形態5.
次に、図10および図11を用いて実施の形態5について説明する。実施の形態1では、モデル選択部12が、抽象度設定に対応するモデル組が対応付けされた対応関係情報を用いてモデル組を選択したが、実施の形態5では、モデル選択部が、抽象度設定に対応するモデル組を機械学習に基づいて選択する。
Embodiment 5.
Next, the fifth embodiment will be described with reference to FIGS. 10 and 11. In the first embodiment, the model selection unit 12 selects the model set using the correspondence information associated with the model set corresponding to the abstraction degree setting, but in the fifth embodiment, the model selection unit is abstract. Select the model set corresponding to the degree setting based on machine learning.

図10は、実施の形態5にかかるシミュレーション装置の構成を示す図である。図10の各構成要素のうち図2に示す実施の形態1のシミュレーション装置11と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 10 is a diagram showing a configuration of a simulation device according to a fifth embodiment. Of the components of FIG. 10, components that achieve the same functions as the simulation device 11 of the first embodiment shown in FIG. 2 are designated by the same reference numerals, and redundant description will be omitted.

実施の形態5でシミュレーションの対象として扱う機械システムは、実施の形態1と同様の機械システム20Aである。すなわち、シミュレーション装置51は、シミュレーション装置11と同様に機械システム20Aの動作を模擬する。実施の形態5においても、ユーザに指定される抽象度設定によって2つのシミュレーションの目的のうちの何れかが指定される。 The mechanical system handled as the target of the simulation in the fifth embodiment is the same mechanical system 20A as in the first embodiment. That is, the simulation device 51 simulates the operation of the mechanical system 20A in the same manner as the simulation device 11. Also in the fifth embodiment, one of the two simulation purposes is specified by the abstraction degree setting specified by the user.

シミュレーション装置51は、モデル選択部52と、モデルライブラリ13と、モデル演算部14とを備えている。 The simulation device 51 includes a model selection unit 52, a model library 13, and a model calculation unit 14.

モデル選択部52は、外部から入力される抽象度設定に基づいて、モデルライブラリ13に格納されているモデルの中からモデルを選択する。このとき、モデル選択部52は、X軸1a、Y軸1b、およびZ軸1cに対応する3つのドライバモデルと、1つの機械モデルとからなる合計4つのモデルを、モデル組としてモデルライブラリ13から選択する。 The model selection unit 52 selects a model from the models stored in the model library 13 based on the abstraction degree setting input from the outside. At this time, the model selection unit 52 sets a total of four models including three driver models corresponding to the X-axis 1a, the Y-axis 1b, and the Z-axis 1c and one machine model from the model library 13 as a model set. select.

モデル選択部52は、抽象度設定を入力として、抽象度設定に対応する4つのモデルを出力とする入出力関係を学習する。モデル選択部52による学習が、第2の機械学習である。モデル選択部52は、モデル生成部36と同様の構成を有した機械学習装置である。すなわち、モデル選択部52は、状態観測部、データ取得部、および学習部の機能を有している。状態観測部は、抽象度設定を状態変数として観測し、データ取得部は、各抽象度設定に対応付けされたモデル組の情報を教師データとして取得する。学習部は、状態観測部から出力される抽象度設定、および、データ取得部から出力されるモデル組に基づいて作成されるデータセットに基づいて、抽象度設定と、抽象度設定に対応付けされた適切なモデルとの関係式を学習する。 The model selection unit 52 learns the input / output relationship in which the abstraction degree setting is input and the four models corresponding to the abstraction degree setting are output. The learning by the model selection unit 52 is the second machine learning. The model selection unit 52 is a machine learning device having the same configuration as the model generation unit 36. That is, the model selection unit 52 has the functions of a state observation unit, a data acquisition unit, and a learning unit. The state observation unit observes the abstraction degree setting as a state variable, and the data acquisition unit acquires the information of the model set associated with each abstraction degree setting as teacher data. The learning unit is associated with the abstraction level setting and the abstraction level setting based on the abstraction level setting output from the state observation unit and the data set created based on the model set output from the data acquisition unit. Learn the relational expression with the appropriate model.

なお、機械学習装置であるモデル選択部52は、ネットワークを介してシミュレーション装置51に接続された、シミュレーション装置51とは別個の装置であってもよい。また、モデル選択部52は、クラウドサーバ上に存在していてもよい。 The model selection unit 52, which is a machine learning device, may be a device separate from the simulation device 51, which is connected to the simulation device 51 via a network. Further, the model selection unit 52 may exist on the cloud server.

モデル選択部52は、この入力と出力との関係を得るために、例えばニューラルネットワーク、サポートベクター回帰などを用いる。ここでは、モデル選択部52がニューラルネットワークを用いる例を説明する。 The model selection unit 52 uses, for example, a neural network, support vector regression, or the like in order to obtain the relationship between the input and the output. Here, an example in which the model selection unit 52 uses a neural network will be described.

モデル選択部52は、複数の抽象度設定と、これらの各抽象度設定に対応付けされたモデル組の情報とを学習用データとして、ニューラルネットワークを用いた機械学習を行う。実施の形態5の抽象度設定ではシミュレーションの目的が設定されるものとする。また、実施の形態5では、機械学習を容易化するために、シミュレーションの目的を示す情報が、いくつかの要素に分けることができる情報であるとする。 The model selection unit 52 performs machine learning using a neural network using a plurality of abstraction degree settings and information of a model set associated with each of these abstraction degree settings as learning data. It is assumed that the purpose of the simulation is set in the abstraction degree setting of the fifth embodiment. Further, in the fifth embodiment, in order to facilitate machine learning, it is assumed that the information indicating the purpose of the simulation is information that can be divided into several elements.

例えば、シミュレーションの目的を示す情報は、以下の3つの要素に分けることができる。1つ目の要素の要素である第1要素は、シミュレーションにおいて動作確認の対象となる軸である。第1要素の例は、「X軸1a」、「Y軸1b」、「Z軸1c」、または「全ての軸」である。 For example, the information indicating the purpose of the simulation can be divided into the following three elements. The first element, which is an element of the first element, is an axis whose operation is confirmed in the simulation. Examples of the first element are "X-axis 1a", "Y-axis 1b", "Z-axis 1c", or "all axes".

2つ目の要素である第2要素は、シミュレーションにおいて確認する対象となる動作である。第2要素の例は、「動作範囲確認」、「消費電力確認」、または「制御パラメータ調整」である。 The second element, which is the second element, is an operation to be confirmed in the simulation. An example of the second element is "operation range confirmation", "power consumption confirmation", or "control parameter adjustment".

3つ目の要素である第3要素は、シミュレーションに求められる精度である。第3要素の例は、「高精度」、または「低精度」である。 The third element, which is the third element, is the accuracy required for the simulation. An example of the third element is "high precision" or "low precision".

図11は、実施の形態5にかかるシミュレーション装置が用いるニューラルネットワークを説明するための図である。ニューラルネットワークは、入力層X2、中間層Y2、および出力層Z2を有している。入力層X2へは、第1要素、第2要素、および第3要素の3個の入力データ(e1、e2、e3)が入力される。右端の出力層Z2からは、X軸1a、Y軸1b、およびZ軸1cに対応する3つのドライバモデルと、1つの機械モデルとからなる合計4個の出力データ(m1、m2、m3、m4)が出力される。 FIG. 11 is a diagram for explaining a neural network used by the simulation apparatus according to the fifth embodiment. The neural network has an input layer X2, an intermediate layer Y2, and an output layer Z2. Three input data (e1, e2, e3) of the first element, the second element, and the third element are input to the input layer X2. From the rightmost output layer Z2, a total of four output data (m1, m2, m3, m4) consisting of three driver models corresponding to the X-axis 1a, Y-axis 1b, and Z-axis 1c and one mechanical model. ) Is output.

入力層X2の各ノードから中間層Y2の各ノードに対する重み係数は全て独立に設定することができるが、図11ではこれらの重み係数が、全て同一の重み係数W3として表記されている。同様に、中間層Y2の各ノードから出力層Z2の各ノードに対する重み係数は、全て同一の重み係数W4として表記されている。 The weighting coefficients for each node of the input layer X2 to each node of the intermediate layer Y2 can be set independently, but in FIG. 11, these weighting coefficients are all represented as the same weighting coefficient W3. Similarly, the weighting coefficients from each node of the intermediate layer Y2 to each node of the output layer Z2 are all expressed as the same weighting coefficient W4.

ニューラルネットワークでは、入力層X2の各ノードの出力値に対して重み係数W3が乗算され、乗算によって得られた結果の線形結合が中間層Y2の各ノードに入力される。また、ニューラルネットワークでは、中間層Y2の各ノードの出力値に対して重み係数W4が乗算され、乗算によって得られた結果の線形結合が出力層Z2のノードに入力される。各層の各ノードでは、例えばシグモイド関数といった非線形関数によって入力値から出力値が計算されてもよい。また、入力層X2および出力層Z2では、出力値は入力値の線形結合であってもよい。 In the neural network, the weight coefficient W3 is multiplied by the output value of each node of the input layer X2, and the linear combination of the results obtained by the multiplication is input to each node of the intermediate layer Y2. Further, in the neural network, the weight coefficient W4 is multiplied by the output value of each node of the intermediate layer Y2, and the linear combination of the results obtained by the multiplication is input to the node of the output layer Z2. At each node of each layer, the output value may be calculated from the input value by a non-linear function such as a sigmoid function. Further, in the input layer X2 and the output layer Z2, the output value may be a linear combination of the input values.

モデル選択部52は、複数の抽象度設定と、これらの各抽象度設定に対応付けされたモデル組の情報とを学習用データとして、ニューラルネットワークの重み係数W3,W4を計算する。モデル選択部52は、ニューラルネットワークの重み係数W3,W4を、誤差逆伝播法または勾配降下法を用いることで計算することができる。ただし、ニューラルネットワークの重み係数W3,W4を得ることができる計算方法であれば、モデル選択部52による重み係数W3,W4の計算方法は上述の方法に限られない。 The model selection unit 52 calculates the weight coefficients W3 and W4 of the neural network using the plurality of abstraction degree settings and the information of the model set associated with each of these abstraction degree settings as learning data. The model selection unit 52 can calculate the weighting coefficients W3 and W4 of the neural network by using the backpropagation method or the gradient descent method. However, as long as the calculation method can obtain the weight coefficients W3 and W4 of the neural network, the calculation method of the weight coefficients W3 and W4 by the model selection unit 52 is not limited to the above method.

ニューラルネットワークの重み係数が決定されれば、抽象度設定と、抽象度設定に対応付けされた適切なモデルとの関係式が得られたことになる。ここまでにおいて、3層のニューラルネットワークを用いた学習を行う例について説明したが、モデル選択部52によるニューラルネットワークを用いた学習は、上述の例に限定されない。 Once the weighting factor of the neural network is determined, the relational expression between the abstraction degree setting and the appropriate model associated with the abstraction degree setting is obtained. Up to this point, an example of performing learning using a three-layer neural network has been described, but learning using a neural network by the model selection unit 52 is not limited to the above example.

上述したモデル選択部52の動作により抽象度設定を入力として4つのモデルを出力とするニューラルネットワークが得られる。 By the operation of the model selection unit 52 described above, a neural network that outputs four models with the abstraction degree setting as an input can be obtained.

このように、実施の形態5によれば、モデル選択部52が抽象度設定に対応する適切なモデル組を機械学習するので、ユーザが新たに入力する抽象度設定に対応する適切なモデル組をモデルライブラリ13から選択することができる。したがって、実施の形態5でも、計算効率の良いシミュレーションを簡易的に実現することができる。 As described above, according to the fifth embodiment, the model selection unit 52 machine-learns an appropriate model set corresponding to the abstraction degree setting, so that an appropriate model set corresponding to the abstraction degree setting newly input by the user can be obtained. It can be selected from the model library 13. Therefore, even in the fifth embodiment, a simulation with high calculation efficiency can be easily realized.

実施の形態6.
次に、図12および図13を用いて実施の形態6について説明する。実施の形態1ではステージ5およびヘッド6を駆動する機械システム20Aの動作を模擬するシミュレーション装置11について説明したが、実施の形態6では、機械システム20Aとは異なる機械システムの動作を模擬するシミュレーション装置について説明する。実施の形態6では、ロールツーロールでシート材を搬送する機械システムの動作を模擬するシミュレーション装置について説明する。
Embodiment 6.
Next, the sixth embodiment will be described with reference to FIGS. 12 and 13. In the first embodiment, the simulation device 11 that simulates the operation of the mechanical system 20A that drives the stage 5 and the head 6 has been described. However, in the sixth embodiment, the simulation device that simulates the operation of the mechanical system that is different from the mechanical system 20A has been described. Will be described. In the sixth embodiment, a simulation device that simulates the operation of a mechanical system that conveys a sheet material by roll-to-roll will be described.

図12は、実施の形態6にかかるシミュレーション装置によって動作がシミュレーションされる機械システムの構成を示す図である。機械システム20Bは、モータで駆動される機械2と、機械2を制御するコントローラ10Bとを備えている。また、機械システム20Bは、シート材Wsに印刷をするスタンプ7を備えている。 FIG. 12 is a diagram showing a configuration of a mechanical system whose operation is simulated by the simulation apparatus according to the sixth embodiment. The mechanical system 20B includes a machine 2 driven by a motor and a controller 10B for controlling the machine 2. Further, the mechanical system 20B includes a stamp 7 for printing on the sheet material Ws.

以下の説明では、スタンプ7によるシート材Wsへの印刷面と平行な面内の2つの方向軸であって互いに直交する2つの方向をX方向およびY方向とする。また、X方向およびY方向に直交する方向をZ方向とする。 In the following description, the two directional axes in the plane parallel to the printing surface of the sheet material Ws by the stamp 7 and orthogonal to each other are defined as the X direction and the Y direction. Further, the direction orthogonal to the X direction and the Y direction is defined as the Z direction.

機械2は、X方向に延びる巻出し軸2aと、X方向に延びる巻取り軸2bと、Z方向に延びるZ軸2cとからなる3軸のモータを有している。 The machine 2 has a three-axis motor including a winding shaft 2a extending in the X direction, a winding shaft 2b extending in the X direction, and a Z shaft 2c extending in the Z direction.

機械2は、巻出し軸2aおよび巻取り軸2bによってシート材Wsの搬送制御を行う。機械2では、シート材Wsの送り動作と一時停止とが繰り返されながらシート材Wsが搬送され、シート材Wsの一時停止時にZ軸2cの動作によってZ軸2cに取り付けられたスタンプ7がシート材Wsに印刷処理を施す。 The machine 2 controls the transfer of the sheet material Ws by the unwinding shaft 2a and the take-up shaft 2b. In the machine 2, the sheet material Ws is conveyed while repeating the feeding operation and the pause of the sheet material Ws, and when the sheet material Ws is paused, the stamp 7 attached to the Z-axis 2c by the operation of the Z-axis 2c is the sheet material. Print processing is performed on Ws.

また、機械システム20Bには、モータドライバ(図示せず)が搭載されている。機械システム20Bでは、コントローラ10Bが、モータドライバを制御し、モータドライバが各軸のモータを駆動する。コントローラ10Bの例は、プログラマブルロジックコントローラ、産業用パーソナルコンピュータ、サーボシステムコントローラなどである。 A motor driver (not shown) is mounted on the mechanical system 20B. In the mechanical system 20B, the controller 10B controls the motor driver, and the motor driver drives the motor of each axis. Examples of the controller 10B are a programmable logic controller, an industrial personal computer, a servo system controller and the like.

シート材Wsは、巻出し軸2aおよび巻取り軸2bに巻かれており、巻出し軸2aおよび巻取り軸2bが回転することによってY方向に移動する。スタンプ7は、Z軸2cの動作によってZ方向に移動し、Y方向に移動するシート材Wsに印刷を行う。 The sheet material Ws is wound around the unwinding shaft 2a and the take-up shaft 2b, and moves in the Y direction by rotating the unwinding shaft 2a and the take-up shaft 2b. The stamp 7 moves in the Z direction by the operation of the Z axis 2c, and prints on the sheet material Ws that moves in the Y direction.

コントローラ10Bは、巻出し軸2aの動作および巻取り軸2bの動作を制御することによって、シート材WsのY方向の位置を制御する。また、コントローラ10Bは、Z軸2cの動作を制御することによって、Z軸2cに取り付けられたスタンプ7のZ方向の位置を制御する。 The controller 10B controls the position of the sheet material Ws in the Y direction by controlling the operation of the unwinding shaft 2a and the operation of the take-up shaft 2b. Further, the controller 10B controls the position of the stamp 7 attached to the Z-axis 2c in the Z direction by controlling the operation of the Z-axis 2c.

図13は、実施の形態6にかかるシミュレーション装置の構成を示す図である。図13の各構成要素のうち図2に示す実施の形態1のシミュレーション装置11と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。 FIG. 13 is a diagram showing a configuration of a simulation device according to a sixth embodiment. Of the components of FIG. 13, components that achieve the same functions as the simulation device 11 of the first embodiment shown in FIG. 2 are designated by the same reference numerals, and redundant description will be omitted.

シミュレーション装置71は、シミュレーション装置11と同様のシミュレーションを実行するが、シミュレーション装置71とシミュレーション装置11とでは、シミュレーション対象である機械システムの種類が異なる。 The simulation device 71 executes the same simulation as the simulation device 11, but the type of mechanical system to be simulated differs between the simulation device 71 and the simulation device 11.

シミュレーション装置71は、機械システム20Bの動作を模擬する。実施の形態6においても、ユーザに指定される抽象度設定によって2つのシミュレーションの目的のうちの何れかが指定される。 The simulation device 71 simulates the operation of the mechanical system 20B. Also in the sixth embodiment, one of the two simulation purposes is specified by the abstraction degree setting specified by the user.

シミュレーション装置71は、モデル選択部72と、モデルライブラリ73と、モデル演算部74とを備えている。シミュレーション装置71とシミュレーション装置11とを比較すると、シミュレーション装置11は、機械システム20Aの動作を模擬するのに対して、シミュレーション装置71は、機械システム20Bの動作を模擬する。 The simulation device 71 includes a model selection unit 72, a model library 73, and a model calculation unit 74. Comparing the simulation device 71 and the simulation device 11, the simulation device 11 simulates the operation of the mechanical system 20A, whereas the simulation device 71 simulates the operation of the mechanical system 20B.

シミュレーション装置71のモデル選択部72が受け付ける抽象度設定は、機械システム20Bに対するシミュレーションの抽象度を示す情報である。モデル選択部72は、モデル選択部12と同様に抽象度設定に対応するモデルを選択する。モデル選択部72は、選択したモデル組をモデル演算部74に通知する。また、モデルライブラリ73は、モデルライブラリ13と同様に、抽象度の異なる複数のドライバモデルと、抽象度の異なる複数の機械モデルとを記憶しておく。 The abstraction level setting received by the model selection unit 72 of the simulation device 71 is information indicating the abstraction level of the simulation for the mechanical system 20B. The model selection unit 72 selects a model corresponding to the abstraction degree setting in the same manner as the model selection unit 12. The model selection unit 72 notifies the model calculation unit 74 of the selected model set. Further, the model library 73 stores a plurality of driver models having different abstractions and a plurality of machine models having different abstractions, similarly to the model library 13.

実施の形態6では、モデルライブラリ73が記憶しておくドライバモデルがドライバモデルD11,D12の2つである場合について説明する。また、モデルライブラリ73が記憶しておく機械モデルが機械モデルM11,M12の2つである場合について説明する。 In the sixth embodiment, the case where the driver models stored in the model library 73 are the driver models D11 and D12 will be described. Further, a case where the machine models stored in the model library 73 are two machine models M11 and M12 will be described.

ドライバモデルD11,D12は、ドライバモデルD1,D2と同様に、モータドライバの動作を模擬するモデルである。ドライバモデルD11は、ドライバモデルD12よりも高精度にモータドライバの動作を模擬するモデルである。ドライバモデルD11は、例えば、フィードフォワード制御器、位置フィードバック制御器、速度フィードバック制御器、電流制御器などの機能を模擬する。また、ドライバモデルD12は、ドライバモデルD11よりも簡易的にモータドライバの動作を模擬するモデルである。ドライバモデルD12は、例えば、フィードフォワード制御器の機能のみを模擬する。 The driver models D11 and D12 are models that simulate the operation of the motor driver, similarly to the driver models D1 and D2. The driver model D11 is a model that simulates the operation of the motor driver with higher accuracy than the driver model D12. The driver model D11 simulates the functions of, for example, a feedforward controller, a position feedback controller, a speed feedback controller, and a current controller. Further, the driver model D12 is a model that simulates the operation of the motor driver more simply than the driver model D11. The driver model D12 simulates, for example, only the function of the feedforward controller.

機械モデルM11,M12は、機械モデルM1,M2と同様のモデルである。機械モデルM11,M12は、機械2の動作を模擬する。機械モデルM11は、機械モデルM12よりも高精度に機械2の動作を模擬するモデルである。機械モデルM11は、例えば、機械2の振動特性などを模擬する。また、機械モデルM12は、機械モデルM11よりも簡易的に機械2の動作を模擬するモデルである。機械モデルM12は、例えば、スタンプ7によるシート材Wsへの印刷位置を模擬する。ドライバモデルD11,D12、および機械モデルM11,M12の詳細については後述する。 The mechanical models M11 and M12 are the same models as the mechanical models M1 and M2. The machine models M11 and M12 simulate the operation of the machine 2. The machine model M11 is a model that simulates the operation of the machine 2 with higher accuracy than the machine model M12. The machine model M11 simulates, for example, the vibration characteristics of the machine 2. Further, the machine model M12 is a model that simulates the operation of the machine 2 more simply than the machine model M11. The machine model M12 simulates, for example, the printing position of the stamp 7 on the sheet material Ws. Details of the driver models D11 and D12 and the mechanical models M11 and M12 will be described later.

実施の形態6では、シミュレーションとして2種類の選択肢が用意されている場合について説明する。実施の形態6では、例えば、シミュレーションの選択肢として、印刷位置の確認を目的とするシミュレーションと、巻出し軸2aのサーボパラメータの調整を目的とするシミュレーションとの2種類の選択肢が用意されている。 In the sixth embodiment, a case where two types of options are prepared as a simulation will be described. In the sixth embodiment, for example, two types of simulation options are prepared: a simulation for confirming the print position and a simulation for adjusting the servo parameters of the unwinding shaft 2a.

モデルライブラリ73に保持される複数の機械モデルM11,M12は、実施の形態1の機械モデルM1,M2と同様に、共通のインターフェースを有するソフトウェアである。実施の形態6では、シート材Wsの位置であるシート位置、印刷位置、モータに与える外力、機械2の発熱などの情報まとめたオブジェクトを定義しておき、このオブジェクトを機械モデルの共通インターフェースの出力としてもよい。 The plurality of machine models M11 and M12 held in the model library 73 are software having a common interface like the machine models M1 and M2 of the first embodiment. In the sixth embodiment, an object that summarizes information such as the sheet position, which is the position of the sheet material Ws, the printing position, the external force applied to the motor, and the heat generated by the machine 2 is defined, and this object is output to the common interface of the machine model. May be.

実施の形態6では、機械モデルM11,M12の共通インターフェースが、巻出し軸2aのモータ位置と、巻取り軸2bのモータ位置と、Z軸2cのモータ位置とを取得可能な入力インターフェースを有しているものとする。 In the sixth embodiment, the common interface of the mechanical models M11 and M12 has an input interface capable of acquiring the motor position of the unwinding shaft 2a, the motor position of the take-up shaft 2b, and the motor position of the Z-axis 2c. It is assumed that

機械モデルM11は、例えば、機械2のダイナミクスを考慮するモデルであり、シート材Wsの張力を模擬する。機械モデルM12は、例えば、機械2のダイナミクスは考慮せずモータ位置に基づくキネマティクスのみによってシート位置および印刷位置を変更し、シート位置および印刷位置の動作範囲を模擬する。なお、機械モデルM12は、シート位置および印刷位置のうちの一方のみを模擬してもよい。 The machine model M11 is, for example, a model that considers the dynamics of the machine 2 and simulates the tension of the sheet material Ws. The machine model M12, for example, changes the sheet position and the printing position only by kinematics based on the motor position without considering the dynamics of the machine 2, and simulates the operating range of the sheet position and the printing position. The machine model M12 may simulate only one of the sheet position and the print position.

モデル演算部74は、モデル選択部72から通知されたモデル組に対応するドライバモデルおよび機械モデルをモデルライブラリ73から読み出す。モデル演算部74は、読み出したドライバモデルおよび機械モデル用いて、モータドライバおよび機械2のシミュレーション演算を行う。 The model calculation unit 74 reads the driver model and the machine model corresponding to the model set notified from the model selection unit 72 from the model library 73. The model calculation unit 74 performs a simulation calculation of the motor driver and the machine 2 by using the read driver model and the machine model.

モデル演算部74は、モデルライブラリ73から選択されたモデルを含めた機械システム20Bのモデルの演算を実施する。例えば、機械システム20Bのモデルにモータモデルおよびコントローラモデルが含まれているとする。モータモデルは、モータの動作を模擬するモデルであり、コントローラモデルは、コントローラ10Bの動作を模擬するモデルである。この場合、モデル演算部74は、巻出し軸2aに対応するドライバモデルおよびモータモデルと、巻取り軸2bに対応するドライバモデルおよびモータモデルと、Z軸2cに対応するドライバモデルおよびモータモデルと、機械モデルと、さらにモータドライバに対してモータの位置指令を与えるコントローラモデルとを含めて機械システム20Bのモデルとする。モデル演算部74は、モータモデルおよびコントローラモデルを、モデルライブラリ73から取得してもよいし、モデルライブラリ73以外から取得してもよい。モデル演算部74は、シミュレーション結果を表示装置などの外部装置に出力する。これにより、表示装置が、シミュレーション結果を表示する。 The model calculation unit 74 calculates the model of the mechanical system 20B including the model selected from the model library 73. For example, assume that the model of the mechanical system 20B includes a motor model and a controller model. The motor model is a model that simulates the operation of the motor, and the controller model is a model that simulates the operation of the controller 10B. In this case, the model calculation unit 74 includes a driver model and a motor model corresponding to the unwinding shaft 2a, a driver model and a motor model corresponding to the take-up shaft 2b, and a driver model and a motor model corresponding to the Z-axis 2c. The model of the mechanical system 20B includes a mechanical model and a controller model that gives a position command of the motor to the motor driver. The model calculation unit 74 may acquire the motor model and the controller model from the model library 73, or may acquire the motor model and the controller model from other than the model library 73. The model calculation unit 74 outputs the simulation result to an external device such as a display device. As a result, the display device displays the simulation result.

次に、実施の形態6におけるシミュレーション装置71の詳細な動作について説明する。まず、抽象度設定として、印刷位置の確認を目的とするシミュレーションを、ユーザが選択する場合を考える。 Next, the detailed operation of the simulation device 71 according to the sixth embodiment will be described. First, consider a case where the user selects a simulation for the purpose of confirming the print position as an abstraction degree setting.

モデル選択部72の対応関係情報には、印刷位置の確認を目的とするシミュレーションが選択された場合には、巻出し軸2a、巻取り軸2b、およびZ軸2cに対応する3つのドライバモデルD12と、機械モデルM12とを選択することが予め定められているとする。この場合において、印刷位置の確認を目的とするシミュレーションに対応する抽象度設定がユーザに指定されると、モデル選択部72は、抽象度設定および対応関係情報に基づいて、巻出し軸2a、巻取り軸2b、およびZ軸2cに対応するドライバモデルとしてドライバモデルD12を選択する。また、モデル選択部72は、機械モデルとして機械モデルM12を選択する。 When a simulation for confirming the print position is selected as the correspondence information of the model selection unit 72, the three driver models D12 corresponding to the unwinding shaft 2a, the take-up shaft 2b, and the Z-axis 2c. And the machine model M12 are predetermined to be selected. In this case, when the abstraction degree setting corresponding to the simulation for the purpose of confirming the print position is specified to the user, the model selection unit 72 sets the unwinding axis 2a and the winding based on the abstraction degree setting and the correspondence relation information. The driver model D12 is selected as the driver model corresponding to the take-axis 2b and the Z-axis 2c. Further, the model selection unit 72 selects the machine model M12 as the machine model.

モデル演算部74は、これらの選択したモデル、すなわちドライバモデルD12および機械モデルM12を用いてシート材Wsの搬送とスタンプ7の動作とを模擬するシミュレーションを実行する。このとき、モデル演算部74は、コントローラモデルが生成する巻出し軸2aの位置指令を、巻出し軸2aのドライバモデルD12に入力する。この場合、ドライバモデルD12は、フィードフォワード制御のみによって巻出し軸2aのモータ位置を模擬制御する。モデル演算部74は、巻取り軸2bおよびZ軸2cについても巻出し軸2aと同様に、コントローラモデルが生成する位置指令をドライバモデルD12に入力する。この場合、ドライバモデルD12は、フィードフォワード制御のみによって巻取り軸2bおよびZ軸2cのモータ位置を模擬制御する。これにより、モデル演算部74は、ドライバモデルD12を用いて、巻出し軸2a、巻取り軸2b、およびZ軸2cのモータ位置を演算する。 The model calculation unit 74 uses these selected models, that is, the driver model D12 and the machine model M12, to execute a simulation that simulates the transfer of the sheet material Ws and the operation of the stamp 7. At this time, the model calculation unit 74 inputs the position command of the unwinding shaft 2a generated by the controller model to the driver model D12 of the unwinding shaft 2a. In this case, the driver model D12 simulates and controls the motor position of the unwinding shaft 2a only by feedforward control. The model calculation unit 74 inputs the position command generated by the controller model to the driver model D12 for the take-up shaft 2b and the Z-axis 2c as well as the take-up shaft 2a. In this case, the driver model D12 simulates and controls the motor positions of the take-up shaft 2b and the Z-axis 2c only by feedforward control. As a result, the model calculation unit 74 calculates the motor positions of the unwinding shaft 2a, the take-up shaft 2b, and the Z-axis 2c using the driver model D12.

モデル演算部74は、こうして演算した巻出し軸2a、巻取り軸2b、およびZ軸2cのモータ位置を入力として機械モデルM12の演算を行う。ここでは、機械モデルとして機械モデルM12が選択されているので、各軸のモータ位置からキネマティクスのみによってシート材Wsの搬送位置およびスタンプ7の位置が計算される。これにより、モデル演算部74は搬送されるシート材Wsの何れの位置にスタンプ7による印刷が行われるかを模擬することができる。モデル演算部74は、シート材Wsの搬送位置およびスタンプ7の位置をシミュレーションの結果として出力する。 The model calculation unit 74 calculates the machine model M12 by inputting the motor positions of the unwinding shaft 2a, the take-up shaft 2b, and the Z-axis 2c calculated in this way. Here, since the machine model M12 is selected as the machine model, the transfer position of the sheet material Ws and the position of the stamp 7 are calculated from the motor position of each axis only by kinematics. As a result, the model calculation unit 74 can simulate at which position of the sheet material Ws to be conveyed that the stamp 7 is printed. The model calculation unit 74 outputs the transfer position of the sheet material Ws and the position of the stamp 7 as the result of the simulation.

次に、抽象度設定として、巻出し軸2aのサーボパラメータの調整を目的とするシミュレーションを、ユーザが選択する場合を考える。 Next, consider a case where the user selects a simulation for adjusting the servo parameters of the unwinding shaft 2a as the abstraction degree setting.

モデル選択部72の対応関係情報には、巻出し軸2aのサーボパラメータの調整を目的とするシミュレーションが選択された場合には、巻出し軸2aおよび巻取り軸2bに対応するドライバモデルとしてドライバモデルD11を選択することが予め定められているとする。また、対応関係情報には、巻出し軸2aのサーボパラメータの調整を目的とするシミュレーションが選択された場合には、Z軸2cに対応するドライバモデルとしてドライバモデルD12を選択し、機械モデルとして機械モデルM11を選択することが予め定められているとする。この場合において、巻出し軸2aのサーボパラメータの調整を目的とするシミュレーションがユーザに指定されると、モデル選択部72は、抽象度設定および対応関係情報に基づいて、巻出し軸2aおよび巻取り軸2bに対応するドライバモデルとして2つのドライバモデルD11を選択する。また、モデル選択部72は、Z軸2cに対応するドライバモデルとしてドライバモデルD12を選択する。また、モデル選択部72は、機械モデルとして機械モデルM11選択する。 When a simulation for adjusting the servo parameters of the unwinding shaft 2a is selected for the correspondence information of the model selection unit 72, the driver model is used as the driver model corresponding to the unwinding shaft 2a and the take-up shaft 2b. It is assumed that the selection of D11 is predetermined. When a simulation for adjusting the servo parameters of the unwinding shaft 2a is selected for the correspondence information, the driver model D12 is selected as the driver model corresponding to the Z-axis 2c, and the machine is used as the machine model. It is assumed that the model M11 is selected in advance. In this case, when a simulation for adjusting the servo parameters of the unwinding shaft 2a is specified to the user, the model selection unit 72 sets the unwinding shaft 2a and the unwinding shaft 2a based on the abstraction degree setting and the correspondence information. Two driver models D11 are selected as the driver models corresponding to the axis 2b. Further, the model selection unit 72 selects the driver model D12 as the driver model corresponding to the Z-axis 2c. Further, the model selection unit 72 selects the machine model M11 as the machine model.

モデル演算部74は、これらの選択したモデル、すなわちドライバモデルD11,D12および機械モデルM11を用いてヘッド位置の動作を模擬するシミュレーションを実行する。このとき、モデル演算部74は、コントローラモデルが生成する巻出し軸2aの位置指令を巻出し軸2aのドライバモデルD11に入力する。この場合、ドライバモデルD11は、フィードフォワード制御器、位置フィードバック制御器、速度フィードバック制御器、電流制御器によってモータ位置を模擬制御する。機械2には、位置フィードバック制御器、速度フィードバック制御器として、例えばPI制御器が実装されている。この場合、それぞれの比例ゲインおよび積分ゲインが、制御パラメータとなっており、これらの制御パラメータが変更されることで巻出し軸2aのモータの位置制御性能が変更される。 The model calculation unit 74 executes a simulation that simulates the operation of the head position using these selected models, that is, the driver models D11 and D12 and the mechanical model M11. At this time, the model calculation unit 74 inputs the position command of the unwinding shaft 2a generated by the controller model to the driver model D11 of the unwinding shaft 2a. In this case, the driver model D11 simulates and controls the motor position by the feedforward controller, the position feedback controller, the speed feedback controller, and the current controller. The machine 2 is equipped with, for example, a PI controller as a position feedback controller and a speed feedback controller. In this case, the respective proportional gain and integral gain are control parameters, and the position control performance of the motor of the unwinding shaft 2a is changed by changing these control parameters.

巻出し軸2aと同様に、巻取り軸2bのドライバモデルはドライバモデルD11であるので、制御パラメータに基づいて巻取り軸2bのモータの位置制御性能が変更される。また、Z軸2cのモータドライバモデルはドライバモデルD12であるので、フィードフォワード制御のみによってモータ位置が制御される。 Since the driver model of the take-up shaft 2b is the driver model D11 as in the take-up shaft 2a, the position control performance of the motor of the take-up shaft 2b is changed based on the control parameters. Further, since the motor driver model of the Z-axis 2c is the driver model D12, the motor position is controlled only by feedforward control.

また、機械モデルとしては、シート材Wsの張力を模擬する機械モデルM11が選択されている。このため、モータの動作によってシート材Wsの張力変動などが生じる。したがって、モデル演算部74は、シート材Wsの張力、およびスタンプ7の位置をシミュレーション結果として出力する。これにより、ユーザはシート材Wsの張力変動を確認することができる。また、ユーザは、シミュレーション結果であるシート材Wsの張力変動を確認しつつシート材Wsの張力変動が生じないように巻出し軸2aおよび巻取り軸2bの制御パラメータを調整することができる。 Further, as the mechanical model, the mechanical model M11 that simulates the tension of the sheet material Ws is selected. Therefore, the tension of the sheet material Ws fluctuates depending on the operation of the motor. Therefore, the model calculation unit 74 outputs the tension of the sheet material Ws and the position of the stamp 7 as a simulation result. As a result, the user can confirm the tension fluctuation of the sheet material Ws. Further, the user can adjust the control parameters of the unwinding shaft 2a and the take-up shaft 2b so that the tension fluctuation of the sheet material Ws does not occur while confirming the tension fluctuation of the sheet material Ws which is the simulation result.

このように、実施の形態6では、ユーザが例えば2種類といった複数種類のシミュレーションの目的から何れかの目的を選択し、抽象度設定としてシミュレーション装置71に入力している。モデル選択部72は、抽象度設定および対応関係情報に基づいて、モデルライブラリ73に保持されているモデルの中からシミュレーションに必要な精度を有しつつ必要な計算量が所定量よりも小さくなるような、適切な抽象度のモデルを選択している。 As described above, in the sixth embodiment, the user selects one of the purposes of a plurality of types of simulations, for example, two types, and inputs the purpose to the simulation device 71 as an abstraction degree setting. Based on the abstraction degree setting and the correspondence information, the model selection unit 72 has the accuracy required for the simulation from the models stored in the model library 73, and the required calculation amount is smaller than the predetermined amount. A model with an appropriate level of abstraction is selected.

例えば、印刷位置の確認を目的とするシミュレーションが選択された場合、モデル選択部72は、機械モデルM12およびドライバモデルD12を選択する。機械モデルM12は、キネマティクスのみに基づいてモータ位置に対応するシート材Wsの搬送位置およびスタンプ7の位置を計算する。この機械モデルM12には、モータ位置に対する外力などのダイナミクスの影響は含まれないので、フィードバック制御によってモータ位置を制御するような模擬は必要が無い。このため、モデル選択部72は、機械モデルM12を選択する場合には、フィードフォワード制御のみの簡易的なドライバモデルD12を選択している。 For example, when a simulation for confirming the print position is selected, the model selection unit 72 selects the mechanical model M12 and the driver model D12. The mechanical model M12 calculates the transfer position of the sheet material Ws and the position of the stamp 7 corresponding to the motor position based only on kinematics. Since the mechanical model M12 does not include the influence of dynamics such as an external force on the motor position, there is no need to simulate controlling the motor position by feedback control. Therefore, when selecting the mechanical model M12, the model selection unit 72 selects the simple driver model D12 having only feedforward control.

これにより、シミュレーション装置71は、機械2のダイナミクス、およびフィードバック制御に係る複雑な微分方程式を演算する必要が無くなり、モデル演算部74の演算は非常に簡単なものになる。このため、シミュレーション装置71は、精緻なモデルのシミュレーションを実行する場合の微分方程式を演算する場合に比べて非常に小さい計算コストで、印刷位置を確認することができる。すなわち、シミュレーション装置71は、シミュレーションの目的を満たすための適切な抽象度のモデルを用いたシミュレーションを、計算コストを小さく抑えたうえで実行することができる。 As a result, the simulation device 71 does not need to calculate a complicated differential equation related to the dynamics of the machine 2 and the feedback control, and the calculation of the model calculation unit 74 becomes very simple. Therefore, the simulation device 71 can confirm the print position at a very small calculation cost as compared with the case of calculating the differential equation when executing the simulation of a precise model. That is, the simulation device 71 can execute a simulation using a model having an appropriate degree of abstraction to satisfy the purpose of the simulation while keeping the calculation cost small.

一方、巻出し軸2aのサーボパラメータの調整を目的とするシミュレーションが選択された場合、モデル選択部72は、シートを搬送する巻出し軸2aおよび巻取り軸2bに対応するドライバモデルとして詳細な模擬を実行するドライバモデルD11を選択する。また、モデル選択部72は、機械モデルとして精緻な模擬を実行する機械モデルM11を選択する。巻取り軸2bについて詳細なモデルを選択する理由は、巻出し軸2aと巻取り軸2bとはシート材Wsを介して干渉するので、巻出し軸2aの調整において巻取り軸2bの動作が無視できないからである。 On the other hand, when a simulation for adjusting the servo parameters of the unwinding shaft 2a is selected, the model selection unit 72 performs a detailed simulation as a driver model corresponding to the unwinding shaft 2a and the take-up shaft 2b that convey the sheet. Select the driver model D11 to execute. Further, the model selection unit 72 selects the machine model M11 that executes a precise simulation as the machine model. The reason for selecting a detailed model for the take-up shaft 2b is that the take-up shaft 2a and the take-up shaft 2b interfere with each other via the sheet material Ws, so that the operation of the take-up shaft 2b is ignored when adjusting the take-up shaft 2a. Because it cannot be done.

モデル選択部72は、巻出し軸2aおよび巻取り軸2bのモータドライバの制御性能に影響を与えないZ軸2cのドライバモデルについては簡易なドライバモデルであるドライバモデルD12を選択する。 The model selection unit 72 selects the driver model D12, which is a simple driver model, for the driver model of the Z-axis 2c, which does not affect the control performance of the motor drivers of the unwinding shaft 2a and the take-up shaft 2b.

そして、ユーザはシミュレーション結果として出力されるシート材Wsの張力変動を確認しながら巻出し軸2aのパラメータを調整する。この場合において、シミュレーション装置71は、巻出し軸2a、巻取り軸2b、およびシート材Wsの動作については精緻なモデルをシミュレーションに用いているので、ユーザは正確なパラメータの調整を行うことができる。この場合の精緻なモデルは計算量が大きいモデルであるが、シミュレーション装置71は、巻出し軸2aのモータドライバの制御パラメータの調整に対して考慮する必要がないZ軸2cの動作については、簡略化されたモデルを用いる。したがって、シミュレーション装置71は、Z軸2cの動作のシミュレーションについては計算量を抑えることができる。すなわち、シミュレーション装置71は、シミュレーションの目的を満たすための適切な抽象度のモデルを用いたシミュレーションを、計算コストを小さく抑えたうえで実行することができる。 Then, the user adjusts the parameters of the unwinding shaft 2a while checking the tension fluctuation of the sheet material Ws output as the simulation result. In this case, since the simulation device 71 uses a precise model for the operation of the unwinding shaft 2a, the take-up shaft 2b, and the sheet material Ws for the simulation, the user can accurately adjust the parameters. .. The elaborate model in this case is a model with a large amount of calculation, but the simulation device 71 simplifies the operation of the Z-axis 2c, which does not need to be considered for the adjustment of the control parameters of the motor driver of the unwinding shaft 2a. Use a simulated model. Therefore, the simulation device 71 can reduce the amount of calculation for simulating the operation of the Z-axis 2c. That is, the simulation device 71 can execute a simulation using a model having an appropriate degree of abstraction to satisfy the purpose of the simulation while keeping the calculation cost small.

このように、ユーザが何れの抽象度設定を指定した場合であっても、シミュレーション装置71は、抽象度設定に基づいてシミュレーションの目的に応じた適切な抽象度のモデルを選択することができるので、計算効率の良いシミュレーションを簡易的に実現できる。 In this way, regardless of which abstraction degree setting is specified by the user, the simulation device 71 can select an appropriate abstraction degree model according to the purpose of the simulation based on the abstraction degree setting. , Simulation with good calculation efficiency can be easily realized.

なお、実施の形態6では、巻出し軸2aおよび巻取り軸2bのモータドライバに対しては、位置指令に基づく位置制御が行われる場合について説明したが、速度指令による速度制御が行われてもよいし、トルク指令によるトルク制御が行われてもよい。また、機械システム20Bは、巻取り軸2bのモータドライバが速度制御され、巻出し軸2aのモータドライバがトルク制御されるシステムであってもよい。 In the sixth embodiment, the case where the position control based on the position command is performed for the motor driver of the unwinding shaft 2a and the take-up shaft 2b has been described, but even if the speed control is performed by the speed command. Alternatively, torque control may be performed by a torque command. Further, the mechanical system 20B may be a system in which the motor driver of the take-up shaft 2b is speed-controlled and the motor driver of the take-up shaft 2a is torque-controlled.

このように、実施の形態6によれば、実施の形態1から5と同様に、抽象度設定に基づいてシミュレーションの目的に応じた適切な抽象度のモデルを選択することができるので、計算効率の良いシミュレーションを簡易的に実現することができる。 As described above, according to the sixth embodiment, as in the first to fifth embodiments, it is possible to select an appropriate abstraction degree model according to the purpose of the simulation based on the abstraction degree setting, and thus the calculation efficiency. A good simulation can be easily realized.

ここで、シミュレーション装置11,21,31,41,51,71のハードウェア構成について説明する。なお、シミュレーション装置11,21,31,41,51,71は、同様のハードウェア構成を有しているので、ここではシミュレーション装置11のハードウェア構成について説明する。 Here, the hardware configurations of the simulation devices 11,21,31,41,51,71 will be described. Since the simulation devices 11,21,31,41,51,71 have the same hardware configuration, the hardware configuration of the simulation device 11 will be described here.

図14は、実施の形態1にかかるシミュレーション装置を実現するハードウェア構成例を示す図である。シミュレーション装置11は、入力装置300、プロセッサ100、メモリ200、および出力装置400により実現することができる。プロセッサ100の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ200の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。 FIG. 14 is a diagram showing an example of a hardware configuration that realizes the simulation apparatus according to the first embodiment. The simulation device 11 can be realized by the input device 300, the processor 100, the memory 200, and the output device 400. An example of the processor 100 is a CPU (Central Processing Unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). Examples of the memory 200 are RAM (Random Access Memory) and ROM (Read Only Memory).

シミュレーション装置11は、プロセッサ100が、メモリ200で記憶されているシミュレーション装置11の動作を実行するための、コンピュータで実行可能な、シミュレーションプログラムを読み出して実行することにより実現される。シミュレーション装置11の動作を実行するためのプログラムであるシミュレーションプログラムは、シミュレーション装置11の手順または方法をコンピュータに実行させるものであるともいえる。 The simulation device 11 is realized by the processor 100 reading and executing a computer-executable simulation program for executing the operation of the simulation device 11 stored in the memory 200. It can be said that the simulation program, which is a program for executing the operation of the simulation device 11, causes the computer to execute the procedure or method of the simulation device 11.

シミュレーション装置11で実行されるシミュレーションプログラムは、モデル選択部12と、モデル演算部14とを含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。 The simulation program executed by the simulation device 11 has a modular configuration including a model selection unit 12 and a model calculation unit 14, which are loaded on the main storage device and generated on the main storage device. NS.

入力装置300は、抽象度設定を受け付けてプロセッサ100に送る。メモリ200は、モデルライブラリ13などを記憶する。このメモリ200が記憶するモデルライブラリ13内に、ドライバモデルD1,D2および機械モデルM1,M2が格納されている。また、メモリ200は、プロセッサ100が各種処理を実行する際の一時メモリに使用される。出力装置400は、モデル演算部14が計算したシミュレーション結果をモニタなどに出力する。 The input device 300 receives the abstraction degree setting and sends it to the processor 100. The memory 200 stores the model library 13 and the like. The driver models D1 and D2 and the mechanical models M1 and M2 are stored in the model library 13 stored in the memory 200. Further, the memory 200 is used as a temporary memory when the processor 100 executes various processes. The output device 400 outputs the simulation result calculated by the model calculation unit 14 to a monitor or the like.

ここではシミュレーション装置11,21,31,41,51,71は1つのコンピュータによって実現される例を示したが、シミュレーション装置11,21,31,41,51,71は複数のコンピュータによって実現されてもよい。 Here, the simulation devices 11,21,31,41,51,71 are realized by one computer, but the simulation devices 11,21,31,41,51,71 are realized by a plurality of computers. May be good.

例えばシミュレーション装置31は、2つのコンピュータによって実現されるものとして、モデル演算部14を含むプログラムと、モデル生成部36を含むプログラムとは、別のコンピュータで実行されてもよい。 For example, the simulation device 31 may be realized by two computers, and the program including the model calculation unit 14 and the program including the model generation unit 36 may be executed by different computers.

また、例えばシミュレーション装置41は、2つのコンピュータによって実現されるものとして、モデル演算部14を含むプログラムと、モデル簡略化部47を含むプログラムとは、別のコンピュータで実行されてもよい。 Further, for example, the simulation device 41 may be realized by two computers, and the program including the model calculation unit 14 and the program including the model simplification unit 47 may be executed by different computers.

また、例えばシミュレーション装置51は、2つのコンピュータによって実現されるものとして、モデル演算部14を含むプログラムと、モデル選択部52を含むプログラムとは、別のコンピュータで実行されてもよい。 Further, for example, the simulation device 51 may be realized by two computers, and the program including the model calculation unit 14 and the program including the model selection unit 52 may be executed by different computers.

シミュレーションプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、シミュレーションプログラムは、インターネットなどのネットワーク経由でシミュレーション装置11に提供されてもよい。なお、シミュレーション装置11の機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。 The simulation program may be provided as a computer program product in an installable or executable format file stored on a computer-readable storage medium. Further, the simulation program may be provided to the simulation device 11 via a network such as the Internet. It should be noted that some of the functions of the simulation device 11 may be realized by dedicated hardware such as a dedicated circuit, and some may be realized by software or firmware.

以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configuration shown in the above embodiments is an example, and can be combined with another known technique, can be combined with each other, and does not deviate from the gist. It is also possible to omit or change a part of the configuration.

1,2 機械、1a X軸、1b Y軸、1c,2c Z軸、2a 巻出し軸、2b 巻取り軸、5 ステージ、6 ヘッド、7 スタンプ、10A,10B コントローラ、11,21,31,41,51,71 シミュレーション装置、12,22,52,72 モデル選択部、13,23,33,73 モデルライブラリ、14,24,74 モデル演算部、20A,20B 機械システム、25 シーケンスプログラム、36 モデル生成部、47 モデル簡略化部、48a,48b,48c,48d ブロック、91,96 演算回路、100 プロセッサ、200 メモリ、300 入力装置、400 出力装置、C1,C2 コントローラモデル、D1,D2,D11,D12 ドライバモデル、M1〜M6,M11,M12 機械モデル、Wp ワーク、Ws シート材。 1,2 Machine, 1a X-axis, 1b Y-axis, 1c, 2c Z-axis, 2a unwinding shaft, 2b take-up shaft, 5 stages, 6 heads, 7 stamps, 10A, 10B controller, 11,21,31,41 , 51,71 simulation device, 12,22,52,72 model selection unit, 13,23,33,73 model library, 14,24,74 model calculation unit, 20A, 20B mechanical system, 25 sequence program, 36 model generation Unit, 47 model simplification unit, 48a, 48b, 48c, 48d block, 91,96 arithmetic circuit, 100 processor, 200 memory, 300 input device, 400 output device, C1, C2 controller model, D1, D2, D11, D12 Driver model, M1-M6, M11, M12 machine model, Wp work, Ws sheet material.

Claims (9)

モータを備えるとともに前記モータによって駆動される機械と、前記モータを制御するモータドライバと、前記モータドライバを制御するコントローラとを具備した機械システムの動作を、前記機械の動作を模擬する機械モデルと、前記モータドライバの動作を模擬するドライバモデルとを用いて模擬するシミュレーションプログラムであって、
前記機械モデルの候補と、前記ドライバモデルの候補とを保持するモデルライブラリから、前記機械システムの動作を模擬する際のシミュレーションの抽象度が設定された情報である抽象度設定に基づいて、前記機械の動作を模擬する際に用いる前記機械モデルと、前記モータドライバの動作を模擬する際に用いる前記ドライバモデルとを選択するモデル選択ステップと、
前記モデル選択ステップで選択した前記機械モデルおよび前記ドライバモデルを用いて機械システムの動作を模擬するモデル演算ステップと、
をコンピュータに実行させ、
前記機械モデルの候補および前記ドライバモデルの候補の少なくとも一方は複数であり、前記機械モデルの候補が複数である場合には、前記機械モデルの候補には、1つの前記機械を異なる抽象度で模擬する複数の機械モデルが含まれ、前記ドライバモデルの候補が複数である場合には、前記ドライバモデルの候補には、1つの前記モータドライバを異なる抽象度で模擬する複数のドライバモデルが含まれている、
ことを特徴とするシミュレーションプログラム。
A machine model that simulates the operation of a machine that includes a motor and is driven by the motor, a motor driver that controls the motor, and a controller that controls the motor driver. It is a simulation program that simulates using a driver model that simulates the operation of the motor driver.
The machine is based on the abstraction degree setting which is the information in which the abstraction degree of the simulation when simulating the operation of the machine system is set from the model library holding the machine model candidate and the driver model candidate. A model selection step for selecting the machine model used when simulating the operation of the motor driver and the driver model used when simulating the operation of the motor driver.
A model calculation step that simulates the operation of a mechanical system using the machine model and the driver model selected in the model selection step, and
Let the computer run
When at least one of the machine model candidate and the driver model candidate is plural, and there are a plurality of machine model candidates, the machine model candidate simulates one machine with a different degree of abstraction. When a plurality of mechanical models are included and there are a plurality of candidates for the driver model, the candidate for the driver model includes a plurality of driver models that simulate one motor driver with different abstractions. Yes,
A simulation program characterized by this.
前記機械モデルの候補が複数である場合に、前記抽象度の異なる前記複数の機械モデルは、共通のインターフェースを持つソフトウェアである、
ことを特徴とする請求項1に記載のシミュレーションプログラム。
When there are a plurality of candidates for the machine model, the plurality of machine models having different abstractions are software having a common interface.
The simulation program according to claim 1.
前記機械システムを実際に動作させることによって得られた信号である実機情報に基づいて、前記モデルライブラリに保持されている前記複数の機械モデルとは抽象度の異なる機械モデルを第1の機械学習によって生成し前記モデルライブラリに保持させるモデル生成ステップを、さらにコンピュータに実行させる、
ことを特徴とする請求項1または2に記載のシミュレーションプログラム。
Based on the actual machine information which is a signal obtained by actually operating the machine system, a machine model having a degree of abstraction different from that of the plurality of machine models held in the model library is obtained by the first machine learning. Further, the computer is made to perform the model generation step of generating and holding in the model library.
The simulation program according to claim 1 or 2.
前記モデル生成ステップでは、前記モータの位置の時系列データを入力とし、前記モータによって移動させられる部位の位置の時系列データを出力としたニューラルネットワークを用いて、前記複数の機械モデルとは抽象度の異なる機械モデルを前記第1の機械学習によって生成する、
ことを特徴とする請求項3に記載のシミュレーションプログラム。
In the model generation step, a neural network is used in which the time-series data of the position of the motor is input and the time-series data of the position of the part moved by the motor is output, and the degree of abstraction is different from that of the plurality of machine models. Generate different machine models by the first machine learning,
The simulation program according to claim 3, wherein the simulation program is characterized in that.
前記複数の機械モデルのうちの1つの機械モデルある第1の機械モデルを用いて、前記第1の機械モデルの抽象度を低減した新たな機械モデルである第2の機械モデルを生成するモデル簡略化ステップを、さらにコンピュータに実行させる、
ことを特徴とする請求項1から4の何れか1つに記載のシミュレーションプログラム。
A model simplification that uses a first machine model, which is one of the plurality of machine models, to generate a second machine model, which is a new machine model with a reduced degree of abstraction of the first machine model. Let the computer perform more abstraction steps,
The simulation program according to any one of claims 1 to 4, wherein the simulation program is characterized in that.
前記抽象度設定に基づいて選択した前記機械モデルおよび前記ドライバモデルを第2の機械学習によって学習する学習ステップを、さらにコンピュータに実行させ、
前記モデル選択ステップでは、新たな抽象度設定を受け付けると、前記新たな抽象度設定を入力として前記第2の機械学習の学習結果に基づいて、前記新たな抽象度設定に対応する前記機械モデルを前記機械モデルの候補から選択するとともに前記新たな抽象度設定に対応する前記ドライバモデルを前記ドライバモデルの候補から選択する、
ことを特徴とする請求項1から5の何れか1つに記載のシミュレーションプログラム。
Further, the computer is made to perform a learning step of learning the machine model and the driver model selected based on the abstraction degree setting by the second machine learning.
In the model selection step, when a new abstraction degree setting is received, the machine model corresponding to the new abstraction degree setting is generated based on the learning result of the second machine learning by inputting the new abstraction degree setting. Select from the machine model candidates and select the driver model corresponding to the new abstraction setting from the driver model candidates.
The simulation program according to any one of claims 1 to 5, wherein the simulation program is characterized in that.
モータを備えるとともに前記モータによって駆動される機械と、前記モータを制御するモータドライバと、前記モータドライバを制御するコントローラとを具備した機械システムの動作を、前記機械の動作を模擬する機械モデルと、前記モータドライバの動作を模擬するドライバモデルとを用いて模擬するシミュレーション装置であって、
前記機械モデルの候補と、前記ドライバモデルの候補とを保持するモデルライブラリから、前記機械システムの動作を模擬する際のシミュレーションの抽象度が設定された情報である抽象度設定に基づいて、前記機械の動作を模擬する際に用いる前記機械モデルと、前記モータドライバの動作を模擬する際に用いる前記ドライバモデルとを選択するモデル選択部と、
前記モデル選択部が選択した前記機械モデルおよび前記ドライバモデルを用いて機械システムの動作を模擬するモデル演算部と、
を備え、
前記機械モデルの候補および前記ドライバモデルの候補の少なくとも一方は複数であり、前記機械モデルの候補が複数である場合には、前記機械モデルの候補には、1つの前記機械を異なる抽象度で模擬する複数の機械モデルが含まれ、前記ドライバモデルの候補が複数である場合には、前記ドライバモデルの候補には、1つの前記モータドライバを異なる抽象度で模擬する複数のドライバモデルが含まれている、
ことを特徴とするシミュレーション装置。
A machine model that simulates the operation of a machine that includes a motor and is driven by the motor, a motor driver that controls the motor, and a controller that controls the motor driver. It is a simulation device that simulates using a driver model that simulates the operation of the motor driver.
The machine is based on the abstraction degree setting which is the information in which the abstraction degree of the simulation when simulating the operation of the machine system is set from the model library holding the machine model candidate and the driver model candidate. A model selection unit that selects the machine model used when simulating the operation of the motor driver and the driver model used when simulating the operation of the motor driver.
A model calculation unit that simulates the operation of a mechanical system using the machine model and the driver model selected by the model selection unit.
With
When at least one of the machine model candidate and the driver model candidate is plural, and there are a plurality of machine model candidates, the machine model candidate simulates one machine with a different degree of abstraction. When a plurality of mechanical models are included and there are a plurality of candidates for the driver model, the candidate for the driver model includes a plurality of driver models that simulate one motor driver with different abstractions. Yes,
A simulation device characterized by this.
前記モデルライブラリは、前記コントローラが実行する1つのシーケンスプログラムの処理を異なる抽象度で模擬する複数のコントローラモデルを保持し、
前記モデル選択部は、前記モデルライブラリから、前記抽象度設定に基づいて、前記シーケンスプログラムの処理を模擬する際に用いるコントローラモデルを選択し、
前記モデル演算部は、前記モデル選択部が選択した前記コントローラモデルを用いて機械システムの動作を模擬する、
ことを特徴とする請求項7に記載のシミュレーション装置。
The model library holds a plurality of controller models that simulate the processing of one sequence program executed by the controller with different abstractions.
The model selection unit selects a controller model to be used when simulating the processing of the sequence program from the model library based on the abstraction degree setting.
The model calculation unit simulates the operation of the mechanical system using the controller model selected by the model selection unit.
The simulation apparatus according to claim 7.
モータを備えるとともに前記モータによって駆動される機械と、前記モータを制御するモータドライバと、前記モータドライバを制御するコントローラとを具備した機械システムの動作を、前記機械の動作を模擬する機械モデルと、前記モータドライバの動作を模擬するドライバモデルとを用いて模擬するシミュレーション方法であって、
前記機械モデルの候補と、前記ドライバモデルの候補とを保持するモデルライブラリから、前記機械システムの動作を模擬する際のシミュレーションの抽象度が設定された情報である抽象度設定に基づいて、前記機械の動作を模擬する際に用いる前記機械モデルと、前記モータドライバの動作を模擬する際に用いる前記ドライバモデルとを選択するモデル選択ステップと、
前記モデル選択ステップで選択した前記機械モデルおよび前記ドライバモデルを用いて機械システムの動作を模擬するモデル演算ステップと、
を含み、
前記機械モデルの候補および前記ドライバモデルの候補の少なくとも一方は複数であり、前記機械モデルの候補が複数である場合には、前記機械モデルの候補には、1つの前記機械を異なる抽象度で模擬する複数の機械モデルが含まれ、前記ドライバモデルの候補が複数である場合には、前記ドライバモデルの候補には、1つの前記モータドライバを異なる抽象度で模擬する複数のドライバモデルが含まれている、
ことを特徴とするシミュレーション方法。
A machine model that simulates the operation of a machine that includes a motor and is driven by the motor, a motor driver that controls the motor, and a controller that controls the motor driver. It is a simulation method that simulates using a driver model that simulates the operation of the motor driver.
The machine is based on the abstraction degree setting which is the information in which the abstraction degree of the simulation when simulating the operation of the machine system is set from the model library holding the machine model candidate and the driver model candidate. A model selection step for selecting the machine model used when simulating the operation of the motor driver and the driver model used when simulating the operation of the motor driver.
A model calculation step that simulates the operation of a mechanical system using the machine model and the driver model selected in the model selection step, and
Including
When at least one of the machine model candidate and the driver model candidate is plural, and there are a plurality of machine model candidates, the machine model candidate simulates one machine with a different degree of abstraction. When a plurality of mechanical models are included and there are a plurality of candidates for the driver model, the candidate for the driver model includes a plurality of driver models that simulate one motor driver with different abstractions. Yes,
A simulation method characterized by that.
JP2021527937A 2021-01-07 2021-01-07 Simulation program, simulation device, and simulation method Active JP6961130B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/000366 WO2022149241A1 (en) 2021-01-07 2021-01-07 Simulation program, simulation device, and simulation method

Publications (2)

Publication Number Publication Date
JP6961130B1 true JP6961130B1 (en) 2021-11-05
JPWO2022149241A1 JPWO2022149241A1 (en) 2022-07-14

Family

ID=78409784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021527937A Active JP6961130B1 (en) 2021-01-07 2021-01-07 Simulation program, simulation device, and simulation method

Country Status (4)

Country Link
JP (1) JP6961130B1 (en)
CN (1) CN116348822A (en)
DE (1) DE112021005541T5 (en)
WO (1) WO2022149241A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023209754A1 (en) * 2022-04-25 2023-11-02 ファナック株式会社 Servo adjustment system
WO2024090284A1 (en) * 2022-10-27 2024-05-02 パナソニックIpマネジメント株式会社 Learning system, predicting system, and adjusting system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032048A (en) * 2003-07-08 2005-02-03 Yaskawa Electric Corp Motion control simulator and adjustment support device for motor control system having function of motion control simulator
CN102254464A (en) * 2011-08-10 2011-11-23 上海交通大学 Method for simulating mechanism motion virtual experiment based on mechanical principles of members
WO2013075909A1 (en) * 2011-11-25 2013-05-30 Siemens Aktiengesellschaft Method for the automatic generation of simulation models using circuit diagrams
JP6091523B2 (en) * 2012-12-11 2017-03-08 三菱電機株式会社 Servo control device
JP6419323B2 (en) * 2015-05-20 2018-11-07 三菱電機株式会社 Multi-axis mechanical device simulator, operation command device design support device, motor control device design support device, and motor capacity selection device
CN104881554B (en) * 2015-06-15 2018-03-09 华中科技大学 Suitable for the analogue system and its modeling method of IC equipment workpiece positioning sports platforms
JP6460138B2 (en) * 2017-03-13 2019-01-30 オムロン株式会社 Processing device, control parameter determination method, and control parameter determination program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023209754A1 (en) * 2022-04-25 2023-11-02 ファナック株式会社 Servo adjustment system
WO2024090284A1 (en) * 2022-10-27 2024-05-02 パナソニックIpマネジメント株式会社 Learning system, predicting system, and adjusting system

Also Published As

Publication number Publication date
JPWO2022149241A1 (en) 2022-07-14
DE112021005541T5 (en) 2023-08-24
CN116348822A (en) 2023-06-27
WO2022149241A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
JP6961130B1 (en) Simulation program, simulation device, and simulation method
JP3946753B2 (en) Robot program evaluation / correction method and robot program evaluation / correction device
JP6419323B2 (en) Multi-axis mechanical device simulator, operation command device design support device, motor control device design support device, and motor capacity selection device
Wang et al. Robust iterative learning control for vibration suppression of industrial robot manipulators
US20050102054A1 (en) Method and system for simulating processing of a workpiece with a machine tool
US20040030418A1 (en) Simulation system for machine simulation and data output of control data for an automation system
JP2010187464A (en) Device and method for selection of motor control unit, computer program implementing the method, and storage medium therefor
JP6961128B1 (en) Simulation equipment, machine tool system, simulation method and machining method
Coelingh Design support for motion control systems: a mechatronic approach
da Silva et al. Mechatronic design concept and its application to pick-and-place robotic systems
JP2827239B2 (en) Operation state display device, operation instruction control device, and control device
Paryanto et al. Mechatronic behavior analysis of a customized manufacturing cell
JP7072739B1 (en) Program creation support device, program creation support method, program creation support program and programmable logic controller
Burns and et al. Rapid embedded programming in the mathworks environment
Fekik et al. FPGA in the loop implementation of the PUMA 560 robot based on backstepping control
JP2008532130A (en) Method for subprogram translation by a controller interpreter
Norberger et al. A Holistic Approach for the Development of a Digital Twin Focused on Commissioning and Control of Electromechanical Feed Axes.
Kumar et al. Introduction to virtual manufacturing
WO2022162960A1 (en) Program generation device, program generation program, and program generation method
CN116888542A (en) Adjustment assisting device, control system, and adjustment assisting method
Mat Seman et al. Analysis of interpreted CAD/CAM trajectory as alternative input reference for control system
Munzinger et al. Simulation of parallel kinematic machine tools with minimal effort
Okabe et al. Modeling and Simulation of a 3D Printer Based on a SCARA Mechanism
JP2008206331A (en) Parameter setting device of motor control unit
Igor et al. Algorithms and control structures for industrial robots TX90 model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210519

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210519

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: 20210914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211012

R150 Certificate of patent or registration of utility model

Ref document number: 6961130

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150