JP2023116902A - Information processing system, method, and program - Google Patents

Information processing system, method, and program Download PDF

Info

Publication number
JP2023116902A
JP2023116902A JP2022019276A JP2022019276A JP2023116902A JP 2023116902 A JP2023116902 A JP 2023116902A JP 2022019276 A JP2022019276 A JP 2022019276A JP 2022019276 A JP2022019276 A JP 2022019276A JP 2023116902 A JP2023116902 A JP 2023116902A
Authority
JP
Japan
Prior art keywords
model
behavior
parameter
parameters
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022019276A
Other languages
Japanese (ja)
Inventor
孝宏 大串
Takahiro Ogushi
貴紀 澁谷
Takanori Shibuya
佳代子 磯谷
Kayoko Isogai
利基 荻野
Toshiki Ogino
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2022019276A priority Critical patent/JP2023116902A/en
Publication of JP2023116902A publication Critical patent/JP2023116902A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

To manage CAD data of an actual machine so that a result of simulation consistent with a behavior of the actual machine can be obtained.SOLUTION: When a controller 51 executes a control program 15 for use in controlling a drive apparatus 55, a first acquisition unit 60 acquires a first behavior value of the drive apparatus. An information processor 10 uses as an input a command value, which is outputted when the control program is executed, to execute a model 16 of the drive apparatus. A second acquisition unit 130 collects a second behavior value calculated through the execution. The information processor adjusts a model parameter 16A on the basis of a difference between the acquired first and second behavior values, and reflects the adjusted parameter on an attribute parameter included in a CAD set 139 of the drive apparatus.SELECTED DRAWING: Figure 2

Description

本開示は、FA(Factory Automation)の機器を制御するプログラムを開発する環境を提供するための技術に関する。 The present disclosure relates to technology for providing an environment for developing a program for controlling FA (Factory Automation) equipment.

様々な生産現場において、生産工程を自動化するためのFAシステムが普及している。FAシステムは生産工程に備えられる制御対象の機器と、制御プログラムを実行するPLC(Programmable Logic Controller)などの制御装置を備える。 In various production sites, FA systems for automating production processes are widespread. The FA system includes equipment to be controlled in the production process and a control device such as a PLC (Programmable Logic Controller) that executes a control program.

通常、設計者は、制御プログラムの開発にシミュレータを利用することができる。シミュレータは、制御対象の制御プログラムを実行し、その実行結果を用いて当該制御対象の挙動を算出するためのモデルを実行する。シミュレーションを支援するための技術に関し、特開2016-42378号公報(特許文献1)は、視覚センサを含めた統合的なシミュレーションを実現することが可能なシミュレーション装置を開示する。 Simulators are usually available to designers for developing control programs. The simulator executes a control program for a controlled object and executes a model for calculating the behavior of the controlled object using the execution results. Regarding technology for supporting simulation, Japanese Patent Application Laid-Open No. 2016-42378 (Patent Document 1) discloses a simulation device capable of realizing an integrated simulation including a visual sensor.

特開2016-42378号公報JP 2016-42378 A

生産現場の多様性が高まる傾向にあり、制御プログラム等の開発シーンでは実機の設計情報を現場での実機の状態に整合するよう管理したいとの要望がある。とりわけ、設計情報の1つであるCADデータを現場の実機の挙動に整合したシミュレーション結果を得られるよう更新したいとの要望がある。特許文献1は、CADデータを取扱う仕組みは提案していない。 The diversity of production sites tends to increase, and in the development scene of control programs, etc., there is a demand to manage the design information of the actual machine so that it matches the state of the actual machine at the site. In particular, there is a demand to update CAD data, which is one type of design information, so that simulation results that match the behavior of the actual machine on site can be obtained. Patent Document 1 does not propose a mechanism for handling CAD data.

本開示の目的の1つは、実機のCADデータを実機の挙動に整合したシミュレーション結果を得られるよう管理する構成を提供することである。 One of the purposes of the present disclosure is to provide a configuration for managing CAD data of an actual machine so as to obtain a simulation result that matches the behavior of the actual machine.

本開示に係る情報処理システムは、制御対象を駆動する駆動機器の制御プログラムを実行し駆動機器を制御するコントローラと、制御プログラムを実行しその実行結果を用いて駆動機器の挙動をシミュレーションするシミュレータと、駆動機器のオブジェクトを有するCADデータと、CADデータから作成される当該駆動機器の挙動を算出するためのモデルとを格納する格納部と、を備え、シミュレータは、制御プログラムの実行によって取得される指令値を入力として、駆動機器のモデルを実行することにより当該駆動機器の挙動を算出するアクチュエータエミュレータを有し、CADデータは、さらに駆動機器の制御に関連した属性を示す1つ以上の属性パラメータを有し、モデルは、1つ以上の属性パラメータに対応する1つ以上のモデルパラメータを有し、情報処理システムは、さらに、コントローラによって制御プログラムが実行されるとき、駆動機器の挙動を示す第1の挙動値を収集する第1収集部と、シミュレーションが実行されるときアクチュエータエミュレータによって算出される挙動を示す第2の挙動値を収集する第2収集部と、第1収集部によって収集された第1の挙動値と、第2収集部によって収集された第2の挙動値との間の差に基づき、モデルのモデルパラメータの値を調整する調整部と、調整部による調整後のモデルパラメータの値を、CADデータが有する属性パラメータに反映するパラメータ反映部と、を備える。 An information processing system according to the present disclosure includes a controller that executes a control program for a drive device that drives a controlled object and controls the drive device, and a simulator that executes the control program and uses the execution results to simulate the behavior of the drive device. , a storage unit for storing CAD data having an object of the driving equipment and a model for calculating the behavior of the driving equipment created from the CAD data, and the simulator is acquired by executing the control program It has an actuator emulator that calculates the behavior of the driving equipment by executing a model of the driving equipment with the command value as an input, and the CAD data further includes one or more attribute parameters indicating attributes related to control of the driving equipment. , the model has one or more model parameters corresponding to the one or more attribute parameters, and the information processing system further indicates behavior of the driving equipment when the control program is executed by the controller. a first collection unit that collects one behavior value; a second collection unit that collects a second behavior value that indicates the behavior calculated by the actuator emulator when the simulation is executed; an adjustment unit for adjusting values of model parameters of the model based on the difference between the first behavior value and the second behavior value collected by the second collection unit; and a parameter reflection unit that reflects the value to the attribute parameter of the CAD data.

上述の開示によれば、調整部は、制御プログラムがコントローラによって実行されるとき第1収集部が駆動機器から収集する第1の挙動値と、当該駆動機器のモデルから第2収集部が収集した第2の挙動値との差に基づき、モデルパラメータを調整し、調整後のモデルパラメータをCADデータの属性パラメータに反映する。これにより、実機の駆動機器の挙動に整合したシミュレーション結果を得られるような調整後のモデルパラメータを、CADデータの属性パラメータに反映しておくことができる。 According to the above disclosure, the adjustment unit includes the first behavior value collected from the driving equipment by the first collecting unit when the control program is executed by the controller, and the behavior value collected by the second collecting unit from the model of the driving equipment. Based on the difference from the second behavior value, the model parameters are adjusted, and the adjusted model parameters are reflected in the attribute parameters of the CAD data. As a result, it is possible to reflect the adjusted model parameters in the attribute parameters of the CAD data so that a simulation result that matches the behavior of the driving device of the actual machine can be obtained.

上述の開示において、情報処理システムは、CADデータが有する1つ以上の属性パラメータとモデルが有する1つ以上のモデルパラメータとの間の対応関係を作成する。 In the above disclosure, the information processing system creates correspondence between one or more attribute parameters of CAD data and one or more model parameters of a model.

上述の開示によれば、オブジェクトが有する1つ以上の属性パラメータとモデルが有する1つ以上のモデルパラメータとの間の対応関係で規定することができる。 According to the above disclosure, the correspondence between one or more attribute parameters possessed by an object and one or more model parameters possessed by a model can be defined.

上述の開示において、情報処理システムは、CADデータからモデルが作成されるとき、対応関係を作成する。 In the above disclosure, the information processing system creates correspondences when a model is created from CAD data.

上述の開示によれば、CADデータからモデルが作成されるときに、対応関係を取得できる。 According to the above disclosure, correspondences can be obtained when a model is created from CAD data.

上述の開示において、パラメータ反映部は、さらに、作成された対応関係に基づき、調整部による調整後のモデルパラメータの値を、CADデータが有する当該モデルパラメータに対応する属性パラメータに反映する。 In the above disclosure, the parameter reflecting unit further reflects the value of the model parameter after adjustment by the adjusting unit to the attribute parameter corresponding to the model parameter included in the CAD data, based on the created correspondence relationship.

上述の開示によれば、対応関係に基づくことで、モデルパラメータについて、調整後のモデルパラメータの値を反映するべき属性パラメータを特定できる。 According to the above disclosure, attribute parameters that should reflect adjusted model parameter values can be identified for model parameters based on the correspondence relationship.

上述の開示において、情報処理システムは、第1収集部によって収集された第1の挙動値と、第2収集部によって収集された第2の挙動値とを、収集された時間に基づき互いに関連付けて出力する。 In the above disclosure, the information processing system associates the first behavior value collected by the first collection unit and the second behavior value collected by the second collection unit with each other based on the collected time. Output.

上述の開示によれば、実機である駆動機器の挙動と、当該駆動機器のモデルによって算出された挙動とを関連付けて、ユーザに提示することができる。 According to the above disclosure, it is possible to present to the user the behavior of the drive device, which is the actual device, and the behavior calculated by the model of the drive device, in association with each other.

上述の開示において、第1の挙動値および第2の挙動値は、それぞれ、時系列に収集された挙動値を含み、関連付けは、挙動値を縦軸とし、時間軸を横軸とした2次元平面の上に、第1収集部によって収集された時系列の第1の挙動値と、第2収集部によって収集された時系列の第2の挙動値とを、収集された時間に基づきプロットすることを含む。 In the above disclosure, the first behavior value and the second behavior value each include behavior values collected in chronological order, and the association is two-dimensional with the behavior value as the vertical axis and the time axis as the horizontal axis. Plotting a time-series first behavior value collected by the first collection unit and a time-series second behavior value collected by the second collection unit on the plane based on the collected time. Including.

上述の開示によれば、実機である駆動機器の挙動と、当該駆動機器のモデルによって算出された挙動とを、それらの時系列の挙動値を2次元平面上にプロットすることで、関連付けを示すことができる。 According to the above disclosure, the behavior of a driving device, which is an actual device, and the behavior calculated by a model of the driving device are plotted on a two-dimensional plane in time series to show the association. be able to.

上述の開示において、モデルパラメータは、駆動機器の機械的特性または物理的特性に基づくパラメータを含む。 In the above disclosure, model parameters include parameters based on mechanical or physical properties of the driving equipment.

上述の開示によれば、モデルパラメータは駆動機器の機械的特性または物理的特性のパラメータを含むことにより、モデルによって算出される挙動に、駆動機器の機械的挙動または物理的挙動を含めることができる。 According to the above disclosure, the model parameters include parameters of the mechanical or physical properties of the drive equipment so that the behavior calculated by the model can include the mechanical or physical behavior of the drive equipment. .

上述の開示において、シミュレーションにおいて、アクチュエータエミュレータによって実行されるモデルは、調整部によって調整されたモデルパラメータを有するモデルを含む。 In the above disclosure, in the simulation, the model executed by the actuator emulator includes a model having model parameters adjusted by the adjuster.

上述の開示によれば、調整後パラメータを有したモデルを用いて、シミュレーションが実施されることにより、シミュテーションにおいてモデルから算出される挙動値に、モデルパラメータの調整結果を反映させることができる。 According to the above disclosure, a simulation is performed using a model having post-adjustment parameters, so that the behavior values calculated from the model in the simulation can reflect the adjustment results of the model parameters.

上述の開示において、コントローラは、駆動機器の挙動を示す第1の挙動値を入力として、第1制御パラメータに基づき制御プログラムを実行し、シミュレータは、アクチュエータエミュレータによって算出される挙動を示す第2の挙動値を入力として、第2制御パラメータに基づき制御プログラムを実行し、調整部は、さらに、第2制御パラメータを、第1制御パラメータに整合するように調整し、その後、モデルパラメータの調整を実施する。 In the above disclosure, the controller receives as input a first behavior value indicating the behavior of the drive device and executes the control program based on the first control parameters, and the simulator executes the second behavior value indicating the behavior calculated by the actuator emulator. Using the behavior value as an input, the control program is executed based on the second control parameter, the adjustment unit further adjusts the second control parameter to match the first control parameter, and then adjusts the model parameter. do.

上述の開示によれば、第2制御パラメータが第1パラメータに整合されてからモデルパラメータの調整が実施される。したがって、第2制御パラメータと第1パラメータ制御との間の相違が、モデルパラメータの調整量に影響することを排除した上で、モデルパラメータを調整できる。 According to the above disclosure, the adjustment of the model parameters is performed after the second control parameter is matched to the first parameter. Therefore, the model parameters can be adjusted while eliminating the influence of the difference between the second control parameter and the first parameter control on the amount of adjustment of the model parameters.

上述の開示においては、第1の挙動値および第2の挙動値は、それぞれ、時系列に収集された挙動値を含み、調整部は、時系列に収集された第1の挙動値と、時系列に収集された第2の挙動値との間の同一時間または同一時刻での差に基づき、モデルパラメータを調整するためのガイド情報を出力する。 In the above disclosure, the first behavior value and the second behavior value each include behavior values collected in time series, and the adjustment unit includes the first behavior values collected in time series and the time Guide information for adjusting the model parameters is output based on the difference at the same time or at the same time with the second behavior values collected in the series.

上述の開示によれば、モデルパラメータを調整するためのガイド情報をユーザに提示することができる。 According to the above disclosure, a user can be presented with guide information for adjusting model parameters.

上述の開示において、ガイド情報は、調整対象のモデルパラメータの識別子と、当該モデルパラメータの調整量とを含む。 In the above disclosure, the guide information includes the identifier of the model parameter to be adjusted and the adjustment amount of the model parameter.

上述の開示によれば、ガイド情報として、調整対象のパラメータとその調整量を提示することができる。 According to the above disclosure, it is possible to present a parameter to be adjusted and its adjustment amount as guide information.

述の開示において、ユーザ操作によって指定される調整対象のモデルパラメータおよび当該モデルパラメータの調整量に基づき、モデルが有するモデルパラメータを調整する。 In the above disclosure, the model parameters of the model are adjusted based on the model parameter to be adjusted and the adjustment amount of the model parameter specified by user operation.

上述の開示によれば、調整後のパラメータをモデルに再設定できる。
上述の開示において、シミュレータは、上記の差が予め定められた条件を満たすまで、調整部によって調整が実施される毎に、調整後のモデルパラメータを有するモデルを実行するアクチュエータエミュレータを用いてシミュレーションを実行する。
According to the above disclosure, the adjusted parameters can be reset to the model.
In the above disclosure, the simulator performs a simulation using an actuator emulator that executes a model having adjusted model parameters each time an adjustment is performed by the adjustment unit until the difference satisfies a predetermined condition. Execute.

この開示によれば、調整部によって調整が実施される毎に、調整後のモデルパラメータが設定されたモデルを用いてシミュレーションが繰り返し実行されて、調整とシミュレーションの繰り返しを、上記の差が予め定められた条件を満たすときに自動的に終了させることができる。 According to this disclosure, each time an adjustment is performed by the adjustment unit, a simulation is repeatedly performed using a model in which the adjusted model parameters are set, and the difference between the adjustment and the repetition of the simulation is determined in advance. can be terminated automatically when certain conditions are met.

本開示に係る方法は、情報処理システムにおいて実施される方法であって、制御対象の駆動機器を制御する制御プログラムをコントローラに実行させるステップを備え、情報処理システムは、駆動機器のオブジェクトを有するCADデータと、CADデータから作成される当該駆動機器の挙動を算出するためのモデルとを格納する格納部を備え、方法は、さらに、制御プログラムを実行しその実行結果を用いて駆動機器の挙動をシミュレーションするステップと、シミュレーションするステップは、制御プログラムの実行によって取得される指令値を入力として、駆動機器のモデルを実行することにより当該駆動機器の挙動を算出するアクチュエータエミュレーションを実行するステップを含み、CADデータは、さらに駆動機器の制御に関連した属性を示す1つ以上の属性パラメータを有し、モデルは、1つ以上の属性パラメータに対応する1つ以上のモデルパラメータを有し、方法は、さらに、コントローラによって制御プログラムが実行されているとき、駆動機器の挙動を示す第1の挙動値を収集する第1収集ステップと、シミュレーションが実行されるときアクチュエータエミュレーションによって算出される挙動を示す第2の挙動値を収集する第2収集ステップと、第1収集ステップにおいて収集された第1の挙動値と、第2収集ステップにおいて収集された第2の挙動値との間の差に基づき、モデルのモデルパラメータの値を調整するステップと、調整するステップにおいて調整されたモデルパラメータの値を、CADデータが有する属性パラメータに反映するステップと、を備える。 A method according to the present disclosure is a method implemented in an information processing system, comprising a step of causing a controller to execute a control program for controlling a drive device to be controlled; A storage unit for storing the data and a model for calculating the behavior of the driving equipment created from the CAD data, the method further comprising executing a control program and using the execution results to determine the behavior of the driving equipment. The step of simulating, and the step of simulating includes a step of executing actuator emulation for calculating the behavior of the driving equipment by executing a model of the driving equipment with command values obtained by executing the control program as input, The CAD data further has one or more attribute parameters indicating attributes related to control of the drive equipment, the model has one or more model parameters corresponding to the one or more attribute parameters, and the method includes: Furthermore, when the control program is being executed by the controller, a first collecting step of collecting a first behavior value indicating the behavior of the drive equipment, and a second collecting step of collecting the behavior calculated by the actuator emulation when the simulation is executed. and a second collection step of collecting behavior values of the model based on the difference between the first behavior values collected in the first collection step and the second behavior values collected in the second collection step. A step of adjusting the value of the model parameter, and a step of reflecting the value of the model parameter adjusted in the step of adjusting to the attribute parameter of the CAD data.

上述の開示に係る方法が実施されると、制御プログラムがコントローラによって実行されるとき駆動機器から収集される第1の挙動値と、当該駆動機器のモデルから収集される第2の挙動値との間の差に基づき、モデルパラメータが調整され、調整後のモデルパラメータはCADデータの属性パラメータに反映される。これにより、制御対象の実機である駆動機器の挙動に整合したシミュレーション結果を得られるような調整後のモデルパラメータを、CADデータの属性パラメータに反映しておくことができる。 When the method disclosed above is implemented, the first behavior value collected from the driving equipment when the control program is executed by the controller and the second behavior value collected from the model of the driving equipment The model parameters are adjusted based on the difference between them, and the adjusted model parameters are reflected in the attribute parameters of the CAD data. As a result, it is possible to reflect the adjusted model parameters in the attribute parameters of the CAD data so as to obtain a simulation result that matches the behavior of the driving device, which is the actual device to be controlled.

本開示の他の局面によれば、上記に述べた方法をプロセッサに実行させるためのプログラムが提供される。 According to another aspect of the present disclosure, there is provided a program for causing a processor to perform the method described above.

上述に開示に係るプログラムがプロセッサによって実行されると、制御プログラムがコントローラによって実行されるとき駆動機器から収集される第1の挙動値と、当該駆動機器のモデルから収集される時系列の第2の挙動値との間の差に基づき、モデルパラメータが調整されて、調整後のモデルパラメータはCADデータの属性パラメータに反映される。これにより、制御対象の実機である駆動機器の挙動に整合したシミュレーション結果を得られるような調整後のモデルパラメータを、CADデータの属性パラメータに反映しておくことができる。 When the program according to the above disclosure is executed by the processor, the first behavior value collected from the driving equipment when the control program is executed by the controller, and the second behavior value of the time series collected from the model of the driving equipment. The model parameters are adjusted based on the difference between the behavior values of , and the adjusted model parameters are reflected in the attribute parameters of the CAD data. As a result, it is possible to reflect the adjusted model parameters in the attribute parameters of the CAD data so as to obtain a simulation result that matches the behavior of the driving device, which is the actual device to be controlled.

本開示によれば、実機のCADデータを実機の挙動に整合したシミュレーション結果を得られるよう管理できる。 According to the present disclosure, the CAD data of the actual machine can be managed so as to obtain a simulation result that matches the behavior of the actual machine.

本実施の形態に係る情報処理システム1の構成を模式的に示す図である。It is a figure showing typically composition of information processing system 1 concerning this embodiment. 本実施の形態に係る開発環境の一例を模式的に示す図である。1 is a diagram schematically showing an example of a development environment according to an embodiment; FIG. 本実施の形態に係る制御対象を有するFAシステム50の構成を模式的に示す図である。1 is a diagram schematically showing the configuration of an FA system 50 having controlled objects according to the present embodiment; FIG. 本実施の形態に係る制御プログラム15の一例を模式的に示す図である。4 is a diagram schematically showing an example of a control program 15 according to this embodiment; FIG. 本実施の形態に係るパラメータの作成を支援するUIの一例を模式的に示す図である。FIG. 10 is a diagram schematically showing an example of a UI for assisting creation of parameters according to the present embodiment; FIG. 本実施の形態に係るモデル16の演算式741の一例740を示す図である。FIG. 10 is a diagram showing an example 740 of an arithmetic expression 741 of model 16 according to the present embodiment; 本実施の形態に係る制御対象を指定するUIの一例を示す図である。FIG. 4 is a diagram showing an example of a UI for designating a control target according to the embodiment; FIG. 本実施の形態に係るモデルパラメータを指定するUIの一例を示す図である。FIG. 4 is a diagram showing an example of a UI for designating model parameters according to the embodiment; 本実施の形態に係る実機の出力に基づく調整の構成の一例を示す図である。FIG. 5 is a diagram showing an example of the configuration of adjustment based on the output of the actual machine according to the present embodiment; 本実施の形態に係る調整処理のためのUIの一例を示す図である。FIG. 7 is a diagram showing an example of a UI for adjustment processing according to the embodiment; 本実施の形態に係る情報処理装置10の構成の一例を示す模式図である。1 is a schematic diagram showing an example of the configuration of an information processing apparatus 10 according to this embodiment; FIG. 本実施の形態に係る作成処理のフローチャートである。6 is a flow chart of creation processing according to the present embodiment. 本実施の形態に係る作成処理のフローチャートである。6 is a flow chart of creation processing according to the present embodiment. 本実施の形態に係る実機の出力に基づく調整処理のフローチャートである。6 is a flowchart of adjustment processing based on the output of the actual machine according to the present embodiment; 本実施の形態に係るCADセット139のデータの一例を模式的に示す図である。FIG. 4 is a diagram schematically showing an example of data in a CAD set 139 according to the embodiment; FIG. 本実施の形態に係る対応関係24Aの情報の一例を模式的に示す図である。It is a figure which shows typically an example of the information of correspondence 24A which concerns on this Embodiment. 本実施の形態に係る調整量を含んだモデルの一例を示す図である。It is a figure which shows an example of the model containing the adjustment amount which concerns on this Embodiment. 本実施の形態に係る補正項Cと調整量a1,b1の設定を支援するUIの一例を模式的に示す図である。FIG. 7 is a diagram schematically showing an example of a UI for supporting setting of correction term C and adjustment amounts a1 and b1 according to the present embodiment; 本実施の形態に係る補正項Cと調整量a1,b1の設定を支援するUIの一例を模式的に示す図である。FIG. 7 is a diagram schematically showing an example of a UI for supporting setting of correction term C and adjustment amounts a1 and b1 according to the present embodiment; 本実施の形態に係る補正項Cを説明する図である。It is a figure explaining the correction term C which concerns on this Embodiment. 本実施の形態に係るCADセットのパラメータ更新処理のフローチャートである。8 is a flowchart of CAD set parameter update processing according to the present embodiment.

以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。 Embodiments according to the present invention will be described below with reference to the drawings. In the following description, identical parts and components are given identical reference numerals. Their names and functions are also the same. Therefore, detailed description of these will not be repeated.

<A.適用例>
本発明の適用例について説明する。本実施の形態に従う情報処理装置10は、生産工程に備えられる制御対象である機械を駆動するための駆動機器(以下、実機ともいう)の制御プログラム15と当該駆動機器のモデル16を開発する環境を提供する。
<A. Application example>
An application example of the present invention will be described. The information processing apparatus 10 according to the present embodiment provides an environment for developing a control program 15 for a drive device (hereinafter also referred to as an actual machine) for driving a machine to be controlled provided in a production process and a model 16 of the drive device. I will provide a.

図2は、本実施の形態に係る開発環境の一例を模式的に示す図である。情報処理装置10は、シミュレータ21を利用してユーザ設定19に基づき制御プログラム15およびモデル16を開発するための開発支援ツール20と、作成された制御プログラム15を実行可能形式に変換するビルダ18と、開発に関する情報を格納する記憶部とを備える。設計者は、情報処理装置10が提供するUIツールを操作して、開発支援ツール20およびビルダ18を操作できる。 FIG. 2 is a diagram schematically showing an example of a development environment according to this embodiment. The information processing apparatus 10 includes a development support tool 20 for developing a control program 15 and a model 16 based on user settings 19 using a simulator 21, and a builder 18 for converting the created control program 15 into an executable format. , and a storage unit for storing information on development. A designer can operate the development support tool 20 and the builder 18 by operating the UI tool provided by the information processing apparatus 10 .

情報処理装置10は、ビルダ18によって変換された制御プログラム15を、実機を制御するコントローラ51に転送する。コントローラ51は、転送された制御プログラム15を実行することによって実機を制御する。コントローラ51は、典型的にはPLCを含むが、PLCの名称に限定されず、コントローラは実機を制御する制御装置全般を指す概念である。 The information processing apparatus 10 transfers the control program 15 converted by the builder 18 to the controller 51 that controls the actual machine. The controller 51 controls the actual machine by executing the transferred control program 15 . The controller 51 typically includes a PLC, but is not limited to the name PLC, and the concept of the controller generally refers to control devices that control actual machines.

制御プログラム15は、ユーザプログラムの一例であってサイクリック実行型のプログラム言語(たとえば、ラダー言語やST(Structured Text)言語)で記述される。より具体的には、制御プログラム15は、ユーザプログラムを構成するPOU(Program Organization Unit)と呼ばれる基本的な構成要素であるプログラム要素として、FU(Function),FB(Function Block)などを有するラダープログラムを含む。制御プログラム15は、ラダープログラムのようなサイクリック実行型のプログラム言語で記述されるプログラムに限定されず、例えば、逐次実行型の言語で記述されるプログラムも含み得る。本実施の形態では、制御プログラム15を構成するプログラム要素として、主にFBを説明するが、FUであっても本実施の形態は同様に適用できる。 The control program 15 is an example of a user program and is written in a cyclic execution type program language (for example, ladder language or ST (Structured Text) language). More specifically, the control program 15 is a ladder program having FUs (Functions), FBs (Function Blocks), etc. as program elements, which are basic components called POUs (Program Organization Units) that constitute the user program. including. The control program 15 is not limited to a program written in a cyclic execution programming language such as a ladder program, and may include, for example, a program written in a sequential execution language. In the present embodiment, the FB will be mainly described as a program element that configures the control program 15, but the present embodiment can be similarly applied to the FU as well.

ユーザ設定19は、ユーザが指定する制御対象(機械)を識別する識別子を含む制御対象19aと、モデル16のパラメータに関する設定19bと、実機の制御方法を示す制御の仕方19cを有する。 The user setting 19 includes a controlled object 19a including an identifier for identifying a controlled object (machine) specified by the user, a setting 19b relating to the parameters of the model 16, and a control method 19c indicating the control method of the actual machine.

記憶部は、機械、当該機械を構成する部品などの制御対象それぞれについて、当該制御対象を識別する対象ID1381を有するFB(Function Block)セット138と、当該制御対象を識別する対象ID1391を有するCAD(Computer-Aided Design)セット139とを格納するとともに、後述するペア17を格納する。FBセット138は、対応の機械を制御するための制御演算処理を実現する1または複数のFBを含む。CADセット139は、基本モデル16Bと、属性パラメータ16Cと、オブジェクト16Dとを含む。オブジェクト16Dは、制御対象の3次元座標空間における3次元形状を表す1または複数の画像のデータを示す。基本モデル16Bは、制御対象の駆動機器の挙動を算出するために基本の演算式を示す。基本モデル16Bは、未だ、具体的なモデルパラメータが未設定のモデル16、例えば初期値のモデルパラメータが設定された状態のモデル16を示す。属性パラメータ16Cは、制御対象の駆動機器の制御に関連した属性であって、典型的には、機械的特性と物理的特性のパラメータを含む。機械的特性に基づくパラメータ(以下、メカパラメータともいう)は、サイズ(長さ、径、幅、大きさ)、制御対象が生産ラインなどに取付された場合の向き、取付時の3次元座標空間における位置などを含む。また、物理的特性のパラメータ(以下、物理パラメータともいう)は、摩擦係数、重さ(質量)、制御対象の組付け状態に係るパラメータ、例えば位置、ネジ締め付け度合い、組付け精度を含み得る。組付け精度は、例えば、駆動機器がサーボモータを含んで構成される場合、モータの軸(シャフト)とモータ軸受けの間の摩擦係数を含み得る。なお、メカパラメータおよび物理パラメータの種類はこれらに限定されない。オブジェクト16Dは、主に、メカパラメータに基づき、3次元仮想空間で当該制御対象を表示する場合に用いられる。 The storage unit stores an FB (Function Block) set 138 having an object ID 1381 that identifies the control object and a CAD ( Computer-Aided Design) set 139 and a pair 17 to be described later are stored. FB set 138 includes one or more FBs that implement control arithmetic processing for controlling the corresponding machine. CAD set 139 includes base model 16B, attribute parameters 16C, and object 16D. The object 16D indicates data of one or more images representing a three-dimensional shape in the three-dimensional coordinate space of the controlled object. The basic model 16B represents a basic arithmetic expression for calculating the behavior of the drive device to be controlled. The basic model 16B indicates a model 16 in which specific model parameters have not yet been set, for example, a model 16 in which initial model parameters have been set. Attribute parameters 16C are attributes related to control of the controlled drive equipment and typically include mechanical and physical property parameters. Parameters based on mechanical properties (hereinafter also referred to as mechanical parameters) are the size (length, diameter, width, size), the orientation when the controlled object is installed on a production line, etc., and the three-dimensional coordinate space at the time of installation. including position in Physical property parameters (hereinafter also referred to as physical parameters) may include friction coefficient, weight (mass), and parameters related to the assembly state of the controlled object, such as position, degree of screw tightening, and assembly accuracy. Assembly accuracy can include, for example, the coefficient of friction between the shaft of the motor and the motor bearing when the drive device comprises a servomotor. Note that the types of mechanical parameters and physical parameters are not limited to these. The object 16D is mainly used when displaying the controlled object in a three-dimensional virtual space based on mechanical parameters.

制御プログラム作成ツール22は、ユーザ設定19の制御対象19aの識別子に基づき、記憶部から当該識別子に一致する対象ID1381のFBセット138を検索する。制御パラメータ設定部23は、検索されたFBセット138のFBに、ユーザ設定19の制御の仕方19cに基づく制御用の制御パラメータを設定する。本実施の形態では、制御の仕方19cは、制御対象の機械または駆動機器の仕様書データが示す制御のための仕様値を含む。制御パラメータ設定部23は、制御の仕方19cが示す仕様値を、予め定められた換算式を用いて、制御パラメータの値に換算し、換算後の制御パラメータをFBに設定する。本実施の形態では、「パラメータ」とは、パラメータを表す変数に相当し、「パラメータを設定する」とは、パラメータを表す変数の種類を設定する、または変数に値を設定することを意味する。また「パラメータを調整する」、「制御プログラム15を調整する」または「モデル16を調整する」とは、本実施の形態では、パラメータの値を調整(変更)することを意味する。 Based on the identifier of the controlled object 19a in the user setting 19, the control program creation tool 22 searches the storage unit for the FB set 138 of the object ID 1381 that matches the identifier. The control parameter setting unit 23 sets control parameters for control based on the control method 19 c of the user setting 19 to the FBs of the retrieved FB set 138 . In this embodiment, the control method 19c includes specification values for control indicated by the specification data of the controlled machine or driving device. The control parameter setting unit 23 converts the specification value indicated by the control method 19c into a control parameter value using a predetermined conversion formula, and sets the converted control parameter in FB. In the present embodiment, "parameter" corresponds to a variable representing a parameter, and "setting a parameter" means setting the type of variable representing the parameter or setting a value for the variable. . Further, "adjusting the parameter", "adjusting the control program 15" or "adjusting the model 16" means adjusting (changing) the value of the parameter in this embodiment.

制御プログラム作成ツール22は、ユーザ設定19の制御対象19aの識別子に基づき、記憶部から当該識別子に一致する対象ID1381のFBセット138を検索する。制御パラメータ設定部23は、検索されたFBセット138のFBに、ユーザ設定19の制御の仕方19cに基づく制御用の制御パラメータを設定する。本実施の形態では、制御の仕方19cは、制御対象の機械または駆動機器の仕様書データが示す制御のための仕様値を含む。制御パラメータ設定部23は、制御の仕方19cが示す仕様値を、予め定められた換算式を用いて、制御パラメータの値に換算し、換算後の制御パラメータをFBに設定する。本実施の形態では、「パラメータ」とは、パラメータを表す変数に相当し、「パラメータを設定する」とは、パラメータを表す変数の種類を設定する、または変数に値を設定することを意味する。また「パラメータを調整する」、「制御プログラム15を調整する」または「モデル16を調整する」とは、本実施の形態では、パラメータの値を調整(変更)することを意味する。 Based on the identifier of the controlled object 19a in the user setting 19, the control program creation tool 22 searches the storage unit for the FB set 138 of the object ID 1381 that matches the identifier. The control parameter setting unit 23 sets control parameters for control based on the control method 19 c of the user setting 19 to the FBs of the retrieved FB set 138 . In this embodiment, the control method 19c includes specification values for control indicated by the specification data of the controlled machine or driving device. The control parameter setting unit 23 converts the specification value indicated by the control method 19c into a control parameter value using a predetermined conversion formula, and sets the converted control parameter in FB. In the present embodiment, "parameter" corresponds to a variable representing a parameter, and "setting a parameter" means setting the type of variable representing the parameter or setting a value for the variable. . Further, "adjusting the parameter", "adjusting the control program 15" or "adjusting the model 16" means adjusting (changing) the value of the parameter in this embodiment.

制御パラメータは、FBが実現する制御演算処理のパラメータを含む。例えば、制御対象の駆動機器である実機がサーボモータを含む場合、当該制御演算処理はPID(Proportional-Integral-Differential Controller)演算を含み得る。PIDパラメータは、例えばゲイン、目標値、時定数などを含む。制御パラメータの種類は、制御の仕方によって相違し、これらに限定されない。例えば、制御パラメータには、演算のタイミングを示すトリガが含まれ得る。制御パラメータ設定部23が制御パラメータをFBセット138の各FBに設定することにより、仕様に基づく制御プログラム15が作成される。 The control parameters include parameters of control arithmetic processing implemented by the FB. For example, if the actual device, which is the drive device to be controlled, includes a servomotor, the control arithmetic processing may include PID (Proportional-Integral-Differential Controller) arithmetic. PID parameters include, for example, gains, target values, time constants, and the like. The types of control parameters differ depending on the method of control, and are not limited to these. For example, control parameters may include triggers that indicate the timing of operations. The control parameter setting unit 23 sets the control parameters to each FB of the FB set 138, thereby creating the control program 15 based on the specifications.

モデル作成ツール24は、ユーザ設定19の制御対象19aの識別子に基づき、記憶部から当該識別子に一致する対象ID1391のCADセット139を検索する。モデルパラメータ設定部25は、検索されたCADセット139の基本モデル16Bに、ユーザ設定19の設定19bに基づくモデルの仕様に基づくパラメータ(以下、モデルパラメータ16Aという)を設定することにより、モデル16を作成する。 Based on the identifier of the controlled object 19a in the user setting 19, the model creation tool 24 searches the storage unit for the CAD set 139 of the object ID 1391 that matches the identifier. The model parameter setting unit 25 sets parameters (hereinafter referred to as model parameters 16A) based on the specifications of the model based on the settings 19b of the user settings 19 to the basic model 16B of the CAD set 139 that has been searched, thereby creating the model 16. create.

より具体的には、モデルは制御対象の駆動機器(実機)の挙動を算出する物理演算式を含む各種演算式で示され、モデルパラメータ16Aは、当該モデルの演算式に設定されるべきパラメータを表す。モデルパラメータ16Aは、実機の機械的特性と物理的特性に対応のメカパラメータと物理パラメータを含む。設定19bは機械的特性と物理的特性とを示す。 More specifically, the model is represented by various arithmetic expressions including physical arithmetic expressions for calculating the behavior of the drive device (actual device) to be controlled, and the model parameter 16A is a parameter to be set in the arithmetic expression of the model. represent. The model parameters 16A include mechanical parameters and physical parameters corresponding to the mechanical and physical characteristics of the actual machine. Setting 19b indicates mechanical and physical properties.

開発支援ツール20は、制御パラメータが設定された制御プログラム15およびモデルパラメータ16Aが設定されたモデル16を、シミュレータ21を用いて実行することにより、制御パラメータが調整された制御プログラム15を取得し、調整後の制御プログラム15をコントローラ51に転送する。 The development support tool 20 acquires the control program 15 with adjusted control parameters by executing the control program 15 with the control parameters set and the model 16 with the model parameters 16A set using the simulator 21, The adjusted control program 15 is transferred to the controller 51 .

より具体的には、シミュレータ21は、入力としての挙動値に基づき制御プログラム15を実行し、実行結果である制御の指令値を入力としてモデル16の演算を実行し、算出値である実機の挙動を示す挙動値を制御プログラム15の入力として出力する。シミュレータ21は、この一連の処理を、後述するタイムステップti(i=1,2,3・・・)毎に繰り返し実行する。これにより、シミュレータ21は、制御プログラム15およびモデル16を実行することによって、制御プログラム15によって実機が制御された場合の実機の挙動を推定することができる。本実施の形態では、「挙動を算出する」は、「挙動をシミュレーションする」、「挙動を推定する」または「挙動を模擬する」を包含し得る概念を示す。 More specifically, the simulator 21 executes the control program 15 based on the behavior value as input, executes the calculation of the model 16 with the control command value as the input as the execution result, and calculates the behavior of the actual machine as the calculated value. as an input to the control program 15. The simulator 21 repeatedly executes this series of processes at each time step ti (i=1, 2, 3, . . . ) described later. Thereby, the simulator 21 can estimate the behavior of the real machine when the real machine is controlled by the control program 15 by executing the control program 15 and the model 16 . In this embodiment, "calculating behavior" indicates a concept that can include "simulating behavior", "estimating behavior", or "simulating behavior".

シミュレーションを実行時は、情報処理装置10は、後述するビジュアライザ27によって、CADセット139のCADデータ(オブジェクト16D)を用いてモデル16が算出する挙動に従う制御対象の動きを視覚化する画像を生成し、生成された画像をディスプレイに表示させる。これにより、設計者に、推定された実機の挙動を視覚的に提示することができる。 When executing the simulation, the information processing apparatus 10 uses the visualizer 27, which will be described later, to generate an image that visualizes the movement of the controlled object that follows the behavior calculated by the model 16 using the CAD data (object 16D) of the CAD set 139. , causes the generated image to be displayed on the display. Thereby, it is possible to visually present the estimated behavior of the actual machine to the designer.

本実施の形態において、駆動機器はサーボモータ等のアクチュエータを含み、指令値は駆動機器の角速度を含む。モデル16によって算出される挙動値は、サーボモータ等の回転数を含む。なお、「指令値」は角速度に限定されず、例えばサーボモータ等のアクチュエータを含む駆動機器に対しての指令、例えば位置、速度、加速度、ジャーク(加加速度)、角度、角加速度、角加加速度等の数値を指令として表したものであってもよい。 In this embodiment, the drive device includes an actuator such as a servomotor, and the command value includes the angular velocity of the drive device. The behavior value calculated by the model 16 includes the number of revolutions of the servomotor or the like. In addition, the "command value" is not limited to the angular velocity, for example, a command to a driving device including an actuator such as a servo motor, such as position, speed, acceleration, jerk (jerk), angle, angular acceleration, angular jerk or the like may be expressed as a command.

設計者は、開発支援ツール20を操作して、制御プログラム15を開発するとき、制御プログラム作成ツール22を操作することにより、仕様を満たす挙動値を導出できるように制御パラメータを調整し、制御プログラム15を作成する。また、設計者は、開発支援ツール20を操作して、モデルパラメータ16Aを調整することによって、モデル16を作成する。 When the designer operates the development support tool 20 to develop the control program 15, the designer operates the control program creation tool 22 to adjust the control parameters so that behavior values that satisfy the specifications can be derived. Create 15. Also, the designer creates the model 16 by operating the development support tool 20 and adjusting the model parameters 16A.

より具体的には、シミュレータ21は、周期なタイムステップti毎に、制御プログラム15とモデル16を実行する。シミュレーションの開始時に、モデル16は設定19bが示すモデルパラメータ16Aが設定されて、制御プログラム15には制御の仕方19cに基づく制御パラメータが設定されている。タイムステップtiにおいて、モデル16からの挙動値を入力にして制御プログラム15が実行されて、当該制御プログラム15からの指令値を入力にしてモデル16が実行されて挙動値が算出さる。次のタイムステプt(i+1)で、制御プログラム15は直前のタイムステップtiで算出された挙動値を入力にして実行される。このように、シミュレータ21によって、タイムステップti毎の時系列の挙動値が導出される。 More specifically, the simulator 21 executes the control program 15 and the model 16 at each periodic time step ti. At the start of the simulation, the model 16 is set with the model parameters 16A indicated by the settings 19b, and the control program 15 is set with control parameters based on the control method 19c. At time step ti, the control program 15 is executed with the behavior values from the model 16 as inputs, and the model 16 is executed with the command values from the control program 15 as inputs to calculate the behavior values. At the next time step t(i+1), the control program 15 is executed with the behavior values calculated at the previous time step ti as input. In this manner, the simulator 21 derives a time-series behavior value for each time step ti.

シミュレータ21から導出された時系列の挙動値が、仕様に示される目標の挙動値から乖離している場合、開発支援ツール20は、設計者のユーザ操作に基づき、乖離の程度に基づき制御パラメータを調整し、調整後の制御パラメータが設定された制御プログラム15を用いて、上記のシミュレーションを実施する。開発支援ツール20は、シミュレータ21から導出される時系列の挙動値が、目標の挙動値に整合すると検出されるまで、制御パラメータを調整しながら、シミュレーションを繰り返し実行する。このとき、開発支援ツール20は、ユーザ操作に基づき、モデルパラメータ16Aを調整し、調整後のモデル16を用いてシミュレーションを実行してもよい。 When the time-series behavior values derived from the simulator 21 deviate from the target behavior values indicated in the specifications, the development support tool 20 adjusts the control parameters based on the degree of deviation based on the designer's user operation. The above simulation is performed using the control program 15 in which the adjusted control parameters are set. The development support tool 20 repeatedly executes the simulation while adjusting the control parameters until it is detected that the time-series behavior values derived from the simulator 21 match the target behavior values. At this time, the development support tool 20 may adjust the model parameters 16A based on the user's operation and execute the simulation using the model 16 after adjustment.

紐付け部26は、制御プログラム15をモデル16に紐付けてペア17で格納することにより管理する管理手段の一実施例である。より具体的は、開発支援ツール20は、シミュレータ21から導出される時系列の挙動値が、目標の挙動値に整合すると検出したときに、紐付け部26は、調整後の制御パラメータが設定された制御プログラム15をモデル16(または調整後のモデルパラメータ16Aが設定されたモデル16)に紐付けて、ペア17を生成し格納する。 The tying unit 26 is an embodiment of management means that manages the control program 15 by tying it to the model 16 and storing it as a pair 17 . More specifically, when the development support tool 20 detects that the time-series behavior values derived from the simulator 21 match the target behavior values, the linking unit 26 sets the adjusted control parameters. The obtained control program 15 is linked to the model 16 (or the model 16 in which the adjusted model parameter 16A is set), and the pair 17 is generated and stored.

ユーザ設定19(制御対象19a、設定19bおよび制御の仕方19c)を情報処理装置10に対して入力し、開発支援ツール20を操作することにより、設計者は、仕様を満たすように実機を制御する制御プログラム15を取得し、これを工場の生産現場等のオンライン環境下のコントローラ51に転送することができる。 By inputting user settings 19 (control object 19a, setting 19b, and control method 19c) into the information processing apparatus 10 and operating the development support tool 20, the designer controls the actual machine so as to satisfy the specifications. It is possible to obtain the control program 15 and transfer it to the controller 51 in an online environment such as a factory production site.

このように制御プログラム15は、開発支援ツール20が提供するオフライン環境においてあらかた調整されて、その後にコントローラ51に転送される。したがって、生産現場等で実機を用いた制御プログラム15の調整時間を削減できるとともに、生産現場のユーザは制御プログラム15の調整に不慣れであるとしても、当該調整を容易に実施できる。 In this way, the control program 15 is mostly adjusted in the off-line environment provided by the development support tool 20 and then transferred to the controller 51 . Therefore, it is possible to reduce the adjustment time of the control program 15 using the actual machine at the production site or the like, and even if the user at the production site is unfamiliar with the adjustment of the control program 15, the adjustment can be easily performed.

また、制御プログラム15およびモデル16をペア17で管理することは、両者を、オンライン環境下の制御プログラム15および実機の機械的特性または物理的特性に整合させるシーンにおいて有用である。 Also, managing the control program 15 and the model 16 as a pair 17 is useful in situations where the control program 15 under the online environment and the mechanical or physical characteristics of the actual machine are to be matched.

より具体的には、オンライン環境の変化に因り、コントローラ51が実行する制御プログラム15の制御パラメータは調整され、または実機の機械的特性または物理的特性が変化する。設計者は、オンライン環境の変化をオフライン環境下の制御プログラム15およびモデル16に反映するように、再度、オフライン環境下で制御プログラム15およびモデル16のモデルパラメータ16Aを調整する。このようなシーンでは、両者がペア17で管理されていることによって、設計者は調整の対象を簡単に特定できる。これにより、同一のオフライン環境下で複数の制御プログラム15が開発される場合、または、制御プログラム15の調整後のバージョンを管理する場合であっても、ペア17の管理により、調整対象を容易に特定できる。 More specifically, due to changes in the online environment, the control parameters of the control program 15 executed by the controller 51 are adjusted, or the mechanical or physical characteristics of the actual machine are changed. The designer again adjusts the control program 15 and the model parameters 16A of the model 16 under the offline environment so that changes in the online environment are reflected in the control program 15 and the model 16 under the offline environment. In such a scene, the designer can easily specify the adjustment target by managing the two as a pair 17 . As a result, even when a plurality of control programs 15 are developed under the same offline environment, or when managing an adjusted version of the control program 15, management of the pairs 17 facilitates adjustment targets. can be identified.

上記に述べたオンライン環境の変化をオフライン環境下の制御プログラム15およびモデル16に反映する構成を説明する。 A configuration for reflecting changes in the online environment described above to the control program 15 and the model 16 under the offline environment will be described.

当該構成においては、オンライン環境において、駆動機器を制御する指令値を出力する制御プログラム15をコントローラに実行させ、当該指令値に従って当該駆動機器を制御する。オフライン環境では、情報処理装置10は、制御プログラム15を実行することによりコントローラの挙動を算出するコントローラエミュレーションを実行し、コントローラエミュレーションによって制御プログラム15が実行されるときに出力される指令値を入力として、モデル16を実行することにより駆動機器の挙動値を算出するアクチュエータエミュレーションを実行する。情報処理装置10は、コントローラによって制御プログラム15が実行されているとき、駆動機器の挙動を示すオンライン環境の挙動値を収集する。また、情報処理装置10は、オフライン環境において、コントローラエミュレーションにおいて制御プログラム15が実行されているとき、アクチュエータエミュレーションによって算出されるオフライン環境の挙動値を収集する。情報処理装置10は、オンライン環境下で収集された時系列の挙動値と、オフライン環境下で収集された時系列の挙動値との間の同一時間軸上の差、例えば同じ時間または同じ時刻における差に基づき、制御プログラム15に紐付けされたモデル16に設定されているモデルパラメータ16Aを調整する。これにより、情報処理装置10は、制御プログラム15に紐付けされるモデル16を、より特定的にはモデルパラメータ16Aをオンライン環境下の実機の変化が反映された状態に維持することができる。 In this configuration, in an online environment, the controller is caused to execute the control program 15 for outputting command values for controlling the drive equipment, and the drive equipment is controlled according to the command values. In the off-line environment, the information processing apparatus 10 executes controller emulation that calculates the behavior of the controller by executing the control program 15, and receives command values output when the control program 15 is executed by the controller emulation as input. , the model 16 is executed to perform actuator emulation for calculating the behavior values of the driving equipment. The information processing device 10 collects online environment behavior values indicating the behavior of the driving equipment when the control program 15 is executed by the controller. Further, the information processing apparatus 10 collects behavior values in the offline environment calculated by the actuator emulation when the control program 15 is executed in the controller emulation in the offline environment. The information processing device 10 calculates the difference on the same time axis between the time-series behavior values collected under the online environment and the time-series behavior values collected under the offline environment, for example, at the same time or at the same time Based on the difference, the model parameter 16A set in the model 16 linked to the control program 15 is adjusted. As a result, the information processing apparatus 10 can maintain the model 16 linked to the control program 15, more specifically the model parameters 16A, in a state in which changes in the actual machine under the online environment are reflected.

開発支援ツール20のパラメータ反映ツール28は、駆動機器のモデル16についての調整後のモデルパラメータ16Aを、当該駆動機器の対象ID139を有するCADセット139の属性パラメータ16Cに反映する。この反映は、調整後のモデルパラメータ16Aが示すパラメータの値を属性パラメータ16Cのパラメータに設定する操作を含む。この設定は、パラメータの値の部分的な書換または更新を含む。 The parameter reflection tool 28 of the development support tool 20 reflects the adjusted model parameters 16A for the model 16 of the driving equipment in the attribute parameters 16C of the CAD set 139 having the target ID 139 of the driving equipment. This reflection includes an operation of setting the value of the parameter indicated by the adjusted model parameter 16A to the parameter of the attribute parameter 16C. This setting includes partial rewriting or updating of the values of the parameters.

このように、CADセット139の属性パラメータを、オンライン環境下の実機の変化を示すモデルパラメータ16Aの値を示すように調整することで、CADデータ139を実機の挙動に整合したシミュレーション結果を得られるよう管理できる。 In this way, by adjusting the attribute parameters of the CAD set 139 to indicate the values of the model parameters 16A that indicate changes in the actual machine under the online environment, it is possible to obtain simulation results that match the CAD data 139 with the behavior of the actual machine. can be managed.

上記に述べた「同じ時間」は、例えば、オフライン環境下で情報処理装置10が制御プログラム15を実行開始、すなわちアクチュエータエミュレーションを開始してからの経過時間、および、オンライン環境下でコントローラが制御プログラム15を実行し、当該指令値に従って当該駆動機器を制御開始してからの経過時間を示す。また、上記の「同じ時刻」は、これら両方の経過時間における共通した時刻を示す。 The above-mentioned "same time" is, for example, the elapsed time after the information processing apparatus 10 started executing the control program 15 in the offline environment, that is, the actuator emulation was started, and the control program 15 in the online environment. 15 is executed, and the elapsed time from the start of controlling the drive device according to the command value is shown. Also, the above "same time" indicates a common time in both of these elapsed times.

上記の構成では、時系列に収集された挙動値どうしの差を扱ったが、差は時系列の挙動値に基づくものに限定されない。挙動値に基づく代表値どうしの差であってもよい。このような代表値は、例えば「同じ時間」において収集された時系列の挙動値のうちから抽出される代表値(最大値、最小値、平均値、中央値など)、または、「同じ時刻」に収集された挙動値であってもよい。 Although the above configuration deals with differences between behavior values collected in time series, differences are not limited to those based on time-series behavior values. It may be a difference between representative values based on behavior values. Such a representative value is, for example, a representative value (maximum value, minimum value, average value, median value, etc.) extracted from time-series behavior values collected at the "same time", or may be behavior values collected in

以下、本実施の形態のより具体的な応用例について説明する。
<B.システムの全体的なモジュール構成>
図1は、本実施の形態に係る情報処理システム1の構成を模式的に示す図である。以下では、制御対象は後述する包装機400を例示し、駆動機器は包装機400が有するロータリーナイフを駆動するサーボモータを例示する。なお、制御対象は、包装機400に限定されず、ワークの移動テーブルやワークを搬送するためのコンベアなどであってもよい。
A more specific application example of the present embodiment will be described below.
<B. Overall module configuration of the system>
FIG. 1 is a diagram schematically showing the configuration of an information processing system 1 according to this embodiment. In the following description, the controlled object is a packaging machine 400, which will be described later, and the driving device is a servomotor that drives a rotary knife of the packaging machine 400. FIG. The object to be controlled is not limited to the packaging machine 400, and may be a workpiece moving table, a conveyor for conveying the workpiece, or the like.

図1を参照して、情報処理システム1は、FAシステム50と、情報処理装置10と、ディスプレイ109とを含む。FAシステム50は、コントローラ51と、駆動機器55と、第1収集部60とを含む。情報処理装置10は、開発支援ツール20と、シミュレータ21と、ビジュアライザ27と、第2収集部130とを含む。開発支援ツール20は、制御プログラム15の制御パラメータ20Bまたはモデル16のモデルパラメータ16Aを調整する調整ツール123と、CADセット139からモデル16を作成するモデル作成ツール24と、モデル16の調整後のモデルパラメータ16Aの値をCADセット139の属性パラメータ16Cに反映するパラメータ反映ツール28を有する。 Referring to FIG. 1 , information processing system 1 includes FA system 50 , information processing device 10 , and display 109 . The FA system 50 includes a controller 51 , a drive device 55 and a first collection section 60 . The information processing device 10 includes a development support tool 20 , a simulator 21 , a visualizer 27 and a second collection unit 130 . The development support tool 20 includes an adjustment tool 123 that adjusts the control parameter 20B of the control program 15 or the model parameter 16A of the model 16, a model creation tool 24 that creates the model 16 from the CAD set 139, and an adjusted model of the model 16. It has a parameter reflection tool 28 that reflects the value of the parameter 16A to the attribute parameter 16C of the CAD set 139. FIG.

モデル作成ツール24は、CADセット139からモデル16を作成するとき、CADセット139の属性パラメータ16Cと、生成されるモデル16が有するモデルパラメータ16Aの対応関係24Aを作成し、格納する。対応関係24Aは、例えばテーブル形式の情報を含む。 When creating the model 16 from the CAD set 139, the model creation tool 24 creates and stores the correspondence 24A between the attribute parameters 16C of the CAD set 139 and the model parameters 16A of the model 16 to be created. The correspondence 24A includes, for example, table format information.

パラメータ反映ツール28は、格納されている対応関係24Aに基づき、調整後のモデルパラメータ16Aの値を、CADセット139が有する当該モデルパラメータに対応する属性パラメータ16Cに反映する。この対応関係24Aの詳細は後述する。 The parameter reflection tool 28 reflects the value of the model parameter 16A after adjustment to the attribute parameter 16C corresponding to the model parameter of the CAD set 139 based on the stored correspondence 24A. The details of this correspondence relationship 24A will be described later.

コントローラ51は、産業用のフィールドネットワークで駆動機器55とネットワーク接続されており、各種の駆動機器55を制御する。 The controller 51 is network-connected to the driving equipment 55 via an industrial field network, and controls various driving equipment 55 .

コントローラ51は、制御パラメータ20Aを用いて制御プログラム15を実行することにより駆動機器55を制御する。駆動機器55は、生産工程において直接的または間接的にワークに対して作用を及ぼす機器であり、駆動機器55は、コントローラ51からの指令値に従って動作し、ロータリーナイフを回転駆動する。駆動機器55は、より具体的には、指令値に従い、PWM(Pulse Width Modulation)駆動されるサーボモータを含む。駆動機器55に関連のセンサ等の計測デバイスは指令値に従って動作するサーボモータの挙動を計測し挙動値を出力する。コントローラ51は、指令値に従う挙動を示す挙動値を入力データとして取得する処理、および、入力データに基づき指令値を算出し駆動機器55へ出力する処理を含むIO(Input Output)リフレッシュを制御周期毎に実行する。なお、IOリフレッシュを実行する周期は、予め定められた周期であればよく、制御周期に限定されない。 The controller 51 controls the drive device 55 by executing the control program 15 using the control parameters 20A. The drive device 55 is a device that directly or indirectly acts on the work in the production process, and operates according to command values from the controller 51 to rotationally drive the rotary knife. More specifically, the drive device 55 includes a servomotor driven by PWM (Pulse Width Modulation) according to a command value. A measuring device such as a sensor related to the drive device 55 measures the behavior of the servo motor that operates according to the command value and outputs the behavior value. The controller 51 performs IO (Input Output) refresh including a process of acquiring a behavior value indicating a behavior according to the command value as input data, and a process of calculating a command value based on the input data and outputting the command value to the drive device 55 every control cycle. run to Note that the period for executing IO refresh may be a predetermined period, and is not limited to the control period.

第1収集部60は、制御周期に同期して駆動機器55の挙動を示す挙動値D1を収集する。第1収集部60は、駆動機器55の挙動値D1を検知するためのエンコーダを含む各種センサであってもよいし、データ収集のための収集プログラムであってもよい。挙動値D1は、たとえば、駆動機器55の各部分の位置、速度、回転数、加速度、角速度、角加速度などを含む。 The first collecting unit 60 collects the behavior value D1 indicating the behavior of the drive device 55 in synchronization with the control cycle. The first collection unit 60 may be various sensors including an encoder for detecting the behavior value D1 of the drive device 55, or may be a collection program for data collection. The behavior value D1 includes, for example, the position, speed, number of revolutions, acceleration, angular velocity, angular acceleration, etc. of each portion of the drive device 55 .

シミュレータ21は、コントローラエミュレータ120と、アクチュエータエミュレータ124と、仮想時刻ジェネレータ122とを含む。仮想時刻ジェネレータ122は、コントローラエミュレータ120とアクチュエータエミュレータ124とを同期して動作させるための仮想時刻を出力する。コントローラエミュレータ120とアクチュエータエミュレータ124とは、仮想時刻に従うタイムステップtiに基づく周期で同期して動作する。コントローラエミュレータ120は、コントローラ51の挙動を算出するためのコントローラエミュレーションのためのプログラムである。アクチュエータエミュレータ124は、駆動機器55の挙動を算出するアクチュエータエミュレーションのためのプログラムである。 Simulator 21 includes controller emulator 120 , actuator emulator 124 and virtual time generator 122 . The virtual time generator 122 outputs a virtual time for synchronously operating the controller emulator 120 and the actuator emulator 124 . The controller emulator 120 and the actuator emulator 124 operate synchronously with a period based on the time step ti according to virtual time. The controller emulator 120 is a program for controller emulation for calculating the behavior of the controller 51 . The actuator emulator 124 is a program for actuator emulation that calculates the behavior of the drive device 55 .

より具体的には、タイムステップti毎に、アクチュエータエミュレータ124は、コントローラエミュレータ120からの指令値に基づき、モデルパラメータ16Aが設定されたモデル16の演算式に従って挙動値を算出し、コントローラエミュレータ120は、アクチュエータエミュレータ124からの挙動値に基づき制御パラメータ20Bに基づき制御プログラム15を実行して指令値をアクチュエータエミュレータ124出力する。このように、コントローラエミュレータ120とアクチュエータエミュレータ124とは同期しながら、指令値と挙動値とを遣り取りする。この遣り取りによって、シミュレータ21においてFAシステム50のIOリフレッシュが模擬される。本実施の形態では、コントローラエミュレータ120とアクチュエータエミュレータ124とが同期する周期は、制御周期に基づく周期とするが、これに限定されない。 More specifically, at each time step ti, the actuator emulator 124 calculates a behavior value based on the command value from the controller emulator 120 according to the arithmetic expression of the model 16 to which the model parameter 16A is set, and the controller emulator 120 , the control program 15 is executed based on the control parameter 20B based on the behavior value from the actuator emulator 124 to output the command value to the actuator emulator 124 . In this manner, the controller emulator 120 and the actuator emulator 124 exchange command values and behavior values while synchronizing with each other. By this exchange, the IO refresh of the FA system 50 is simulated in the simulator 21 . In this embodiment, the period in which the controller emulator 120 and the actuator emulator 124 are synchronized is based on the control period, but is not limited to this.

第2収集部130は、データ収集のための収集プログラムである。第2収集部130は、シミュレーションを実行時に、アクチュエータエミュレータ124がタイムステップti毎に出力する挙動値D2を収集する。挙動値D2は、たとえば、駆動機器55の各部分のシミュレーションで算出された位置、回転数、速度、加速度、角速度、角加速度などである。 The second collection unit 130 is a collection program for data collection. The second collection unit 130 collects the behavior values D2 output by the actuator emulator 124 at each time step ti when executing the simulation. The behavior value D2 is, for example, the position, number of revolutions, speed, acceleration, angular velocity, angular acceleration, etc. calculated by simulation of each portion of the drive device 55 .

図1では、制御パラメータ20A,20Bを個別に記載するが、両者は共通するパラメータを示し得る。また、アクチュエータエミュレータ124は、コントローラエミュレータ120からの指令値に基づきモデル16の演算式に従って挙動値を算出したが、アクチュエータエミュレータ124が挙動値の算出に用いる指令値は、コントローラエミュレータ120からの指令値に限定されない。例えば、このような指令値は、実機のコントローラ51によって制御プログラム15が実行されるときに出力される指令値が含まれてもよい。 Although the control parameters 20A and 20B are described separately in FIG. 1, both may indicate common parameters. Also, the actuator emulator 124 calculates the behavior value according to the calculation formula of the model 16 based on the command value from the controller emulator 120, but the command value used by the actuator emulator 124 to calculate the behavior value is the command value from the controller emulator 120. is not limited to For example, such a command value may include a command value output when the control program 15 is executed by the controller 51 of the actual machine.

(b1.ビジュアライズの構成)
ビジュアライザ27は、制御対象の動きを、3次元仮想空間に視覚化してディスプレイ109に描画する3D(3-dimensions)描画データを生成する視覚化モジュールを構成する。
(b1. Structure of visualization)
The visualizer 27 constitutes a visualization module that visualizes the movement of the controlled object in a three-dimensional virtual space and generates 3D (3-dimensions) drawing data to be drawn on the display 109 .

より具体的には、ビジュアライザ27は、包装機400のロータリーナイフの軌跡データと、ロータリーナイフを有する包装機400を表す画像データとに基づいて、ロータリーナイフのエミュレートされた動きをディスプレイ109に描画する描画データを生成する。ロータリーナイフを有する包装機400を表す画像データは、制御対象19aによって指定されたCADセット139のオブジェクト16Dを含む。 More specifically, the visualizer 27 renders on the display 109 the emulated movement of the rotary knife based on the trajectory data of the rotary knife of the packaging machine 400 and the image data representing the packaging machine 400 with the rotary knife. Generate drawing data for Image data representing packaging machine 400 with rotary knives includes object 16D of CAD set 139 designated by controlled object 19a.

ビジュアライザ27は、コントローラエミュレータ120からの指令値(回転量を表す角速度など)に所定関数を用いて演算を施すことで、3次元座標P(x,y,z)を算出し、軌跡データを取得する。このように軌跡データは、シミュレーションによって推定された包装機400の3次元仮想空間における動きを示す情報を含む。ビジュアライザ27は、算出された軌跡データと包装機400のオブジェクト16Dに従い、包装機400の動きを3次元仮想空間内で立体的に描画するための描画データを生成し、描画データに基づきディスプレイ109に画像を表示させる。設計者は、シミュレーションの結果を、ディスプレイ109に描画される包装機400のロータリーナイフの回転挙動から確認することができる。なお、ビジュアライザ27は、上記の軌跡データをモデル16からの挙動値に予め定められた関数を用いて算出してもよい。 The visualizer 27 calculates three-dimensional coordinates P (x, y, z) by performing calculations using a predetermined function on command values (angular velocity representing the amount of rotation, etc.) from the controller emulator 120, and obtains trajectory data. do. Thus, the trajectory data includes information indicating the movement of the packaging machine 400 in the three-dimensional virtual space estimated by simulation. The visualizer 27 generates drawing data for three-dimensionally drawing the movement of the packaging machine 400 in a three-dimensional virtual space according to the calculated trajectory data and the object 16D of the packaging machine 400, and displays the image on the display 109 based on the drawing data. display an image. The designer can confirm the simulation results from the rotational behavior of the rotary knife of the packaging machine 400 drawn on the display 109 . Note that the visualizer 27 may calculate the above trajectory data using a function predetermined for the behavior value from the model 16 .

<C.FAシステム50の構成>
図3を参照して、FAシステム50の構成とともに制御対象である包装機400の構成を説明する。図3は、本実施の形態に係る制御対象を有するFAシステム50の構成を模式的に示す図である。図3を参照して、情報処理システム1はFAシステム50と、情報処理装置10とを含む。FAシステム50は、例えばPLCを含んで構成されるコントローラ51と、包装機400と、サーボドライバ500A,500Bとを含む。サーボドライバ500A,500Bは、それぞれ、コントローラ51からの指令値に従って、包装機400が有するサーボモータ410,56を駆動する。図3では、制御対象(包装機400)の駆動機器は、サーボドライバ500A,500Bとサーボモータ410,56を含んで構成される。
<C. Configuration of FA System 50>
The configuration of the FA system 50 and the configuration of the packaging machine 400 to be controlled will be described with reference to FIG. FIG. 3 is a diagram schematically showing the configuration of FA system 50 having controlled objects according to the present embodiment. Referring to FIG. 3 , information processing system 1 includes FA system 50 and information processing apparatus 10 . The FA system 50 includes, for example, a controller 51 including a PLC, a packaging machine 400, and servo drivers 500A and 500B. Servo drivers 500A and 500B drive servo motors 410 and 56 of packaging machine 400 according to command values from controller 51, respectively. In FIG. 3, the drive device of the controlled object (packaging machine 400) includes servo drivers 500A and 500B and servo motors 410 and .

情報処理装置10は、たとえば、PC(Personal Computer)、タブレット端末、または、スマートフォンなどのコンピュータに相当する構成を有する。コントローラ51および情報処理装置10は、フィールドネットワークNW1に接続されている。フィールドネットワークNW1には、たとえば、EtherNET(登録商標)が採用される。ただし、フィールドネットワークNW1は、EtherNETに限定されず、任意の通信手段が採用され得る。たとえば、コントローラ51および情報処理装置10は、USB(Universal Serial Bus)などの信号線で直接接続されてもよい。 The information processing device 10 has a configuration corresponding to a computer such as a PC (Personal Computer), a tablet terminal, or a smart phone, for example. Controller 51 and information processing device 10 are connected to field network NW1. EtherNET (registered trademark), for example, is adopted for the field network NW1. However, the field network NW1 is not limited to EtherNET, and any communication means can be adopted. For example, controller 51 and information processing device 10 may be directly connected via a signal line such as a USB (Universal Serial Bus).

コントローラ51およびサーボドライバ500A,500Bは、デイジーチェーンでフィールドネットワークNW2に接続されている。フィールドネットワークNW2には、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)、(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。 The controller 51 and servo drivers 500A and 500B are connected to the field network NW2 in a daisy chain. As the field network NW2, it is preferable to employ a network that performs fixed-period communication, in which data arrival time is guaranteed. EtherCAT (registered trademark), (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), etc. are known as networks that perform such periodic communication.

図3を参照して、包装機400は、互いに連係して動作する複数の機構を含んで構成される。具体的には、包装機400は、矢印413の方向に包装材412を搬送する搬送路に関連したサーボモータ56を備える搬送機構と、搬送路の途中に設けられるセンサ408と、搬送路上の包装材412を切断して個別パッケージ418を生成する切断機構406とを含む。 Referring to FIG. 3, packaging machine 400 includes a plurality of mechanisms that operate in conjunction with each other. Specifically, the packaging machine 400 includes a transport mechanism including a servo motor 56 associated with a transport path that transports the packaging material 412 in the direction of an arrow 413, a sensor 408 provided midway along the transport path, and a package sensor on the transport path. and a cutting mechanism 406 that cuts the material 412 to produce individual packages 418 .

搬送路には、図示しない供給機構からロール状の包装母材が順次送出されるとともに、搬送路において、図示しないラインから供給されるワーク414が包装母材で覆われることで、ワーク414が封入された包装材412が連続的に搬送路に供給される。センサ408は、例えば近接スイッチを含んで構成される。センサ408は、搬送路の予め定められた位置をワーク414が通過したことを検出することが可能なように設けられる。センサ408は、ワーク414の通過を検出すると、トリガ402を出力する。 A roll-shaped packaging base material is sequentially delivered to the conveying path from a supply mechanism (not shown), and in the conveying path, the work 414 supplied from a line (not shown) is covered with the packaging base material, so that the work 414 is enclosed. The wrapped packaging material 412 is continuously supplied to the conveying path. Sensor 408 includes, for example, a proximity switch. A sensor 408 is provided so as to be able to detect that the workpiece 414 has passed a predetermined position on the transport path. Sensor 408 outputs trigger 402 when it detects passage of workpiece 414 .

切断機構406はサーボモータ410と、416と、エンコーダ411とを備える。切断機構406では、センサ408からのトリガ402に従って、サーボモータ410がロータリーナイフ416を駆動することで、ロータリーナイフ416が包装材412を切断および封止して個別パッケージ418を順次生成する。エンコーダ411は、サーボモータ410の回転量(回転の方向、角度、回転数など)を計測し、計測値401を出力する。本実施の形態では、計測値401は、例えば単位時間あたりの回転数を示す。図3のFAシステム50では、コントローラ51が制御プログラム15を実行して出力する指令値に対する応答として、計測値401を取得することができる。 Cutting mechanism 406 comprises servo motors 410 , 416 and encoder 411 . In the cutting mechanism 406 , the servo motor 410 drives the rotary knife 416 according to the trigger 402 from the sensor 408 , so that the rotary knife 416 cuts and seals the packaging material 412 to sequentially produce individual packages 418 . The encoder 411 measures the amount of rotation of the servomotor 410 (direction of rotation, angle, number of rotations, etc.) and outputs a measured value 401 . In this embodiment, the measured value 401 indicates, for example, the number of revolutions per unit time. In the FA system 50 of FIG. 3, the measured value 401 can be acquired as a response to the command value output by the controller 51 by executing the control program 15 .

<D.制御プログラムと作成>
図4は、本実施の形態に係る制御プログラム15の一例を模式的に示す図である。図4を参照して、包装機400の制御プログラム15の一部を説明する。図4の制御プログラム15は、包装機400の搬送機構の制御演算処理を実行するための搬送機FB60と、包装機400の切断機構406の制御演算処理を実行するための切断機FB61を含むラダー言語で記述される。情報処理装置10が、制御プログラム作成ツール22として、制御プログラム15を作成する処理を説明する。
<D. Control program and creation>
FIG. 4 is a diagram schematically showing an example of the control program 15 according to this embodiment. Part of the control program 15 of the packaging machine 400 will be described with reference to FIG. The control program 15 of FIG. 4 is a ladder program including a conveying machine FB60 for executing control arithmetic processing of the conveying mechanism of the packaging machine 400 and a cutting machine FB61 for executing control arithmetic processing of the cutting mechanism 406 of the packaging machine 400. written in language. Processing for creating the control program 15 by the information processing device 10 as the control program creation tool 22 will be described.

情報処理装置10は、ユーザ設定19の制御対象19aに基づき、包装機400の対象ID1381で識別されるFBセット138を検索する。検索されたFBセット138は、搬送機FB60と切断機FB61とを含む。搬送機FB60および切断機FB61は、それぞれ、PID演算62のアルゴリズムとPID演算63のアルゴリズムを有する。搬送機FB60は、入力として駆動機器55の挙動値64(回転数)を受付け、演算結果として指令値66(角速度)を出力するよう構成される。切断機FB61は、入力として駆動機器55の挙動値67(回転数)と、ブロックTriggerの出力を受付け、演算結果として指令値69(角速度)を出力するよう構成される。情報処理装置10は、制御パラメータ設定部23として、ユーザ設定19の制御の仕方19cに基づき、搬送機FB60と切断機FB61に、それぞれ、PIDパラメータ65とPIDパラメータ68を設定する。また、ユーザ設定19の制御の仕方19cに基づき、切断機FB61には、PIDパラメータ68に追加しトリガ402が設定される。 The information processing apparatus 10 searches for the FB set 138 identified by the target ID 1381 of the packaging machine 400 based on the control target 19 a of the user setting 19 . The retrieved FB set 138 includes the transport machine FB60 and the cutting machine FB61. The transfer machine FB60 and the cutting machine FB61 each have a PID calculation 62 algorithm and a PID calculation 63 algorithm. The transfer machine FB60 is configured to receive a behavior value 64 (rotational speed) of the drive device 55 as an input and output a command value 66 (angular velocity) as a calculation result. The cutting machine FB61 is configured to receive the behavior value 67 (rotational speed) of the driving device 55 and the output of the block Trigger as inputs, and output a command value 69 (angular velocity) as a calculation result. The information processing apparatus 10, as the control parameter setting unit 23, sets PID parameters 65 and PID parameters 68 for the conveying machine FB60 and the cutting machine FB61, respectively, based on the control method 19c of the user setting 19. FIG. Further, based on the control method 19c of the user setting 19, a trigger 402 is set in addition to the PID parameter 68 for the cutting machine FB61.

コントローラ51は、図4の制御プログラム15を実行する。より具体的には、コントローラ51は、搬送機FB60を実行するとき、回転数を示す挙動値64とPIDパラメータ65に基づき回転数を目標値に収束させるようにPID演算62を実行し、実行結果として、角速度を示す指令値66を出力する。 The controller 51 executes the control program 15 of FIG. More specifically, when the transport machine FB60 is executed, the controller 51 executes the PID calculation 62 so that the rotation speed converges to the target value based on the behavior value 64 indicating the rotation speed and the PID parameter 65, and the execution result is , a command value 66 indicating the angular velocity is output.

センサ408からトリガ402が出力されると、ブロックTriggerがオフ状態からオン状態に変化する。切断機FB61は、入力パラメータとしてブロックTriggerの出力を受け付けて、当該出力がオフからオンに変化したことに応じて活性化される。コントローラ51は、活性化状態となったとき切断機FB61を実行する。より具体的には、コントローラ51は、回転数を示す挙動値67とPIDパラメータ68に基づき回転数を目標値に収束させるようにPID演算63を実行し、実行結果として、角速度を示す指令値69を出力する。 When the trigger 402 is output from the sensor 408, the block Trigger changes from off to on. The cutting machine FB61 receives the output of the block Trigger as an input parameter, and is activated when the output changes from off to on. The controller 51 executes the cutting machine FB61 when it is activated. More specifically, the controller 51 executes the PID calculation 63 so as to converge the rotation speed to the target value based on the behavior value 67 indicating the rotation speed and the PID parameter 68, and as the execution result, the command value 69 indicating the angular velocity. to output

コントローラ51は、搬送機FB60の指令値66をサーボドライバ500Bに出力し、切断機FB61の指令値69をサーボドライバ500Aに出力する。サーボドライバ500Aと500Bは、それぞれ、図示しないPWM(Pulse Width Modulation)回路を有する。サーボドライバ500Aは、PWM回路によって、指令値66が示す角速度に基づくパルス幅を有した電気信号であるPWM信号を生成し、サーボモータ56に出力する。サーボドライバ500Bは、PWM回路によって、指令値69が示す角速度に基づくパルス幅を有した電気信号であるPWM信号を生成し、サーボモータ410に出力する。コントローラ51は、このように制御プログラム15を周期的に繰返し実行することにより、駆動機器55の回転数を目標値に維持することができる。 The controller 51 outputs a command value 66 for the transfer machine FB60 to the servo driver 500B, and outputs a command value 69 for the cutting machine FB61 to the servo driver 500A. The servo drivers 500A and 500B each have a PWM (Pulse Width Modulation) circuit (not shown). The servo driver 500</b>A generates a PWM signal, which is an electrical signal having a pulse width based on the angular velocity indicated by the command value 66 , using the PWM circuit, and outputs the PWM signal to the servo motor 56 . The servo driver 500B uses a PWM circuit to generate a PWM signal, which is an electrical signal having a pulse width based on the angular velocity indicated by the command value 69, and outputs the PWM signal to the servo motor 410. FIG. By periodically and repeatedly executing the control program 15 in this manner, the controller 51 can maintain the rotational speed of the drive device 55 at the target value.

なお、通常、制御プログラムは、プログラムが用いるパラメータ、入出力値を、変数名を用いて記述されるが、図4の制御プログラム15のFBは、説明のために、変数名に代えて、パラメータと入出力値の説明を用いている。また、FBは、通常、当該FBの状態(指令値を出力したときの実行完了状態、実行中状態、実行中断状態、エラー状態など)の変数値を出力するとともに、起動指令の変数値を入力するが、図4では、説明のために、これら変数値の図示は略されている。 Normally, a control program is described using variable names for parameters and input/output values used by the program. and description of input/output values. In addition, the FB normally outputs the variable values of the state of the FB (execution completion state, execution state, execution interrupted state, error state, etc. when the command value is output), and inputs the variable value of the start command. However, in FIG. 4, illustration of these variable values is omitted for the sake of explanation.

<E.制御プログラムまたはモデルを作成する構成>
図5は、本実施の形態に係るパラメータの作成を支援するUIの一例を模式的に示す図である。設計者は、開発支援ツール20を操作して制御プログラム15またはモデル16を作成する場合、開発支援ツール20によって、シミュレータ21の実行結果の情報を含むパラメータ調整のためのガイド情報を、図5のUI画面125に出力する。
<E. Configuration for creating a control program or model>
FIG. 5 is a diagram schematically showing an example of a UI for assisting creation of parameters according to this embodiment. When the designer operates the development support tool 20 to create the control program 15 or the model 16, the development support tool 20 provides guide information for parameter adjustment including information on the execution result of the simulator 21 as shown in FIG. Output to the UI screen 125 .

図5を参照して、ディスプレイ109に表示されるUI画面125は、ガイド情報として、領域91にモデル16が出力する時系列の挙動値D2を表すグラフを表示し、領域92に制御パラメータ20Bが設定された制御プログラム15のコードを表示し、領域93にビジュアライザ27が描画する制御対象の動きを表す3D画像を表示する。また、UI画面125には、ガイド情報として、シミュレーションの実行を指示するために操作されるボタン94、パラメータを調整(変更)して制御プログラム15またはモデル16を作成するために操作されるボタン95、および、パラメータを調整するために操作されるボタン96を含む。 5, UI screen 125 displayed on display 109 displays, as guide information, a graph representing time-series behavior values D2 output by model 16 in area 91, and control parameter 20B in area 92. The set code of the control program 15 is displayed, and a 3D image representing the movement of the controlled object drawn by the visualizer 27 is displayed in the area 93 . The UI screen 125 also includes, as guide information, a button 94 that is operated to instruct the execution of a simulation, a button 95 that is operated to adjust (change) parameters and create the control program 15 or the model 16. , and buttons 96 that are operated to adjust parameters.

調整ツール123は、制御プログラムまたはモデルを作成するとき「調整量の見積もり」を実施する環境を提供する。調整ツール123によって、パラメータの調整が完了したとき、制御プログラム15はあらかた完成し、対応のモデル16の作成も完了する。「調整量の見積もり」では、設計者に、調整量の情報を提供する。 The adjustment tool 123 provides an environment for performing "adjustment amount estimation" when creating a control program or model. When the adjustment tool 123 completes the adjustment of the parameters, the control program 15 is almost complete, and the creation of the corresponding model 16 is also completed. "Estimated amount of adjustment" provides the designer with information about the amount of adjustment.

より具体的には、図9の領域91のグラフG4は目標を示し、グラフG5はシミュレーション値を示す。グラフG4は、仕様を満たす理想的な挙動、すなわちサーボモータ410の回転数の時系列の理想的な変化を示す。対照的に、グラフG5は、シミュレータ21によって制御プログラム15およびモデル16が実行された場合にモデル16が出力する挙動値の時系列変化を示す。グラフG4とグラフG5は同一時間軸上で互いに関連付けて出力される。シミュレーションを実行時に、第2収集部130によってアクチュエータエミュレータ124からの挙動値が時系列に収集される。グラフG5は、収集された時系列の挙動値に基づいている。上記に述べた同一時間軸は、例えば、オフライン環境下で情報処理装置10が制御プログラム15を実行開始してからの時間の経過および駆動機器を仕様に従い理想的に制御開始してからの時間の経過を示す。 More specifically, graph G4 in area 91 of FIG. 9 indicates the target, and graph G5 indicates the simulation value. A graph G4 shows an ideal behavior that satisfies the specifications, that is, an ideal chronological change in the number of rotations of the servomotor 410 . In contrast, graph G5 shows time-series changes in behavior values output by model 16 when control program 15 and model 16 are executed by simulator 21 . Graph G4 and graph G5 are output in association with each other on the same time axis. During execution of the simulation, behavior values from the actuator emulator 124 are collected in time series by the second collection unit 130 . Graph G5 is based on collected time-series behavior values. The same time axis as described above is, for example, the elapsed time from when the information processing apparatus 10 started executing the control program 15 in an offline environment and the time after starting to ideally control the drive device according to the specifications. Show progress.

挙動値(回転数)が開始から目標TRに収束するまでの立ち上がり時間に着目すると、目標のグラフG4では、立ち上がりに時間t0~t5を要する。対照的に、グラフG5では、立ち上がりに時間t0~t7を要しており、立ち上がりに遅れが生じている。 Focusing on the rise time from the start until the behavior value (rotational speed) converges to the target TR, the target graph G4 requires time t0 to t5 for the rise. In contrast, graph G5 requires time t0 to t7 to rise, and the rise is delayed.

情報処理装置10は、調整ツール123として、「調整量の見積もり」において、領域91のグラフのデータに基づき、グラフG4とグラフG5の差の変化傾向が表すパターンに基づき、パラメータを調整する必要があるかを判定するとともに、調整量の目安の情報を提供する。 The information processing apparatus 10, as the adjustment tool 123, needs to adjust the parameter based on the data of the graph in the region 91 and the pattern represented by the change tendency of the difference between the graph G4 and the graph G5 in the "adjustment amount estimation". In addition to determining whether there is an adjustment amount, information on a guideline for the amount of adjustment is provided.

より具体的には、情報処理装置10は、グラフG4とグラフG5のデータを照合することによって、差の変化傾向を検出する。情報処理装置10は、検出した変化傾向を、予め定められた複数種類の変化パターンと比較することで、いずれの変化パターンにマッチするかを判定する。例えば、立ち上がり遅れのパターンとマッチすると判定する。 More specifically, the information processing apparatus 10 detects the change tendency of the difference by collating the data of the graph G4 and the graph G5. The information processing apparatus 10 compares the detected change tendency with a plurality of predetermined change patterns to determine which change pattern is matched. For example, it is determined that it matches the rising delay pattern.

情報処理装置10は、立ち上がり遅れ時間を抽出し、立ち上がり遅れ時間を閾値と比較し、比較の結果から、立ち上がり時間に関連するパラメータを調整する必要があるかを判定する。例えば、遅れ時間が、閾値を超えると判定したとき、情報処理装置10は、LUT(Look Up Table)から、差が示す遅れ時間を小さくするように対処するための調整対象のパラメータと調整方法を検索する。なお、調整対象のパラメータと調整方法の特定方法は、LUTの方法に限定されず、機械学習による学習データを用いた特定方法であってもよい。 The information processing apparatus 10 extracts the rise delay time, compares the rise delay time with a threshold value, and determines from the result of the comparison whether it is necessary to adjust the parameters related to the rise time. For example, when it is determined that the delay time exceeds the threshold, the information processing apparatus 10 selects a parameter to be adjusted and an adjustment method for reducing the delay time indicated by the difference from a LUT (Look Up Table). search for. It should be noted that the method of specifying the parameter to be adjusted and the adjustment method is not limited to the LUT method, and may be a specification method using learning data by machine learning.

情報処理装置10は、LUTから、調整対象パラメータとして、立ち上がり時間に関連するパラメータである、例えば制御パラメータについては、PIDパラメータ68のうちのI(積分値)を検索し、また、モデルパラメータについては、“摩擦係数”を検索する。また、調整量として、I(積分値)のパラメータと“摩擦係数”とはいずれも現在値よりも「小さくする」が検索される。 The information processing apparatus 10 retrieves I (integral value) of the PID parameters 68 for the control parameter, which is a parameter related to the rise time, as a parameter to be adjusted, and for the model parameter, , search for “coefficient of friction”. Further, as the adjustment amount, both the I (integral value) parameter and the "friction coefficient" are searched for "reduced" from the current values.

情報処理装置10は、調整ツール123として、調整量のガイド情報を、UI画面125のボタン96に表示する。例えば、ボタン96は、調整対象のパラメータを摩擦係数として、その現在値と、摩擦係数の調整量、すなわち現在値よりも小さくする、または大きくすることをガイドする矢印アイコンを含む。情報処理装置10は、ボタン96の矢印アイコンのうち、「小さくする」ことを示す下向き矢印のアイコンをブリンク表示する。 As the adjustment tool 123 , the information processing apparatus 10 displays adjustment amount guide information on the button 96 of the UI screen 125 . For example, the button 96 includes the current value of the parameter to be adjusted as the coefficient of friction, and an arrow icon that guides the adjustment amount of the coefficient of friction, that is, making it smaller or larger than the current value. The information processing apparatus 10 blinks the icon of the downward arrow indicating "make smaller" among the arrow icons of the button 96 .

設計者はボタン96を操作して摩擦係数の値を増減し調整できる。調整後に作成のボタン95が操作されると、ボタン96の調整後の摩擦係数がモデル16のモデルパラメータ16Aに設定され、ボタン94が操作されると、シミュレータ21によるシミュレーションが開始される。シミュレータ21は、調整後の摩擦係数を有したモデル16を用いてシミュレーションを実施する。調整ツール123は、シミュレーション結果によって、領域91のグラフG5を更新する。調整ツール123は、更新後のグラフG5と目標のグラフG4との比較に基づき、上記に述べた「調整量の見積もり」の処理を実行する。 The designer can operate buttons 96 to increase or decrease the value of the coefficient of friction. When the button 95 for creation after adjustment is operated, the friction coefficient after adjustment of the button 96 is set to the model parameter 16A of the model 16, and when the button 94 is operated, the simulation by the simulator 21 is started. The simulator 21 performs a simulation using the model 16 having the adjusted coefficient of friction. The adjustment tool 123 updates the graph G5 of the area 91 according to the simulation results. The adjustment tool 123 performs the above-described "adjustment amount estimation" process based on the comparison between the updated graph G5 and the target graph G4.

これにより、設計者は、パラメータの調整(変更)と、調整後のパラメータを設定した制御プログラム15またはモデル16を用いたシミュレーションとを、立ち上がり遅れの差が予め定められた値に収束するまで繰返し、収束したとき調整を終了する。設計者は、調整ツール123が提供するボタン96の調整対象のパラメータと調整量の情報に基づき、領域91の更新後のグラフG5の立ち上がり時間を目標のグラフG4の立ち上がり時間に整合させるよう速やかに調整できる。なお、図5では、調整対象のパラメータとして摩擦係数を示したが、これに限定されず、制御パラメータであるI(積分値)のパラメータであってもよい。 As a result, the designer repeats parameter adjustment (change) and simulation using the control program 15 or model 16 in which the adjusted parameters are set until the difference in rise delay converges to a predetermined value. , terminate the adjustment when converged. Based on the information on the parameter to be adjusted and the amount of adjustment of the button 96 provided by the adjustment tool 123, the designer promptly matches the rise time of the graph G5 after the update of the area 91 with the rise time of the target graph G4. Adjustable. In FIG. 5, the coefficient of friction is shown as a parameter to be adjusted, but the parameter is not limited to this, and may be a parameter of I (integral value), which is a control parameter.

なお、調整ツール123を利用せずに、設計者は、領域91のグラフから、立ち上がり時間の差(遅れ)が小さくなるように、調整対象のパラメータと調整量を試行錯誤的に探索してもよい。 Without using the adjustment tool 123, the designer can search the parameter to be adjusted and the amount of adjustment by trial and error from the graph of the area 91 so that the difference (delay) in the rise time becomes small. good.

<F.モデルを用いた挙動の算出と視覚化>
図6は、本実施の形態に係るモデル16の演算式741の一例740を示す図である。シミュレータ21が実行されるとき、仮想時刻ジェネレータ122が出力する仮想時刻に従う周期に基づくタイムステップti毎に、アクチュエータエミュレータ124は、コントローラエミュレータ120と同期して、コントローラエミュレータ120からの指令値に基づき、図6の例740に示す演算式741に従った挙動値Yを算出する。シミュレータ21の実行時は、アクチュエータエミュレータ124は、コントローラエミュレータ120からの指令値に基づき、モデル16の演算式に従って、挙動値を算出する。
<F. Calculation and Visualization of Behavior Using Model>
FIG. 6 is a diagram showing an example 740 of an arithmetic expression 741 of the model 16 according to this embodiment. When the simulator 21 is executed, the actuator emulator 124 synchronizes with the controller emulator 120 at each time step ti based on the cycle according to the virtual time output by the virtual time generator 122, and based on the command value from the controller emulator 120, A behavior value Y is calculated according to an arithmetic expression 741 shown in an example 740 of FIG. When the simulator 21 is executed, the actuator emulator 124 calculates behavior values according to the computational expressions of the model 16 based on command values from the controller emulator 120 .

演算式741は、制御対象である包装機400の駆動機器のサーボモータ410の挙動値を算出するために、例えば、物理シミュレーションモデルの方程式を利用して構成される。 The arithmetic expression 741 is configured using, for example, equations of a physical simulation model in order to calculate the behavior value of the servomotor 410 of the driving device of the packaging machine 400, which is the object to be controlled.

図6を参照して、演算式741は、タイムステップtiにおける挙動値Yは関数F(X、A、B)によって算出されることを示す。説明742に示すように、関数FのパラメータXは、制御プログラム15の切断機FB61からの指令値69(角速度)を示し、パラメータAはサーボモータ410の物理パラメータを示し、パラメータBはサーボモータ410のメカパラメータを示す。また、初期値743に示すように、関数FのパラメータXの初期値X0は関数FB(C、D)によって算出される。パラメータCは、切断機FB61の入力パラメータを示し、パラメータDは、切断機FB61の演算開始指令を示す。本実施の形態では、パラメータCは、PIDパラメータ68と挙動値67の初期値を示し、パラメータDは、トリガ402を示す。 Referring to FIG. 6, an arithmetic expression 741 indicates that the behavior value Y at time step ti is calculated by function F(X, A, B). As shown in the description 742, the parameter X of the function F indicates the command value 69 (angular velocity) from the cutting machine FB61 of the control program 15, the parameter A indicates the physical parameter of the servomotor 410, and the parameter B indicates the servomotor 410 shows the mechanical parameters of Also, as indicated by the initial value 743, the initial value X0 of the parameter X of the function F is calculated by the function FB(C, D). A parameter C indicates an input parameter for the cutting machine FB61, and a parameter D indicates a calculation start command for the cutting machine FB61. In this embodiment, parameter C indicates initial values for PID parameter 68 and behavior value 67 and parameter D indicates trigger 402 .

シミュレータ21が実行されるとき、アクチュエータエミュレータ124はモデル16の演算式741に従って挙動値Yを算出する。これにより、タイムステップti毎に、サーボモータ410の挙動値Y、すなわち挙動値67(回転数)を算出することができる。 When the simulator 21 is executed, the actuator emulator 124 calculates the behavior value Y according to the arithmetic expression 741 of the model 16. FIG. Thereby, the behavior value Y of the servomotor 410, that is, the behavior value 67 (rotational speed) can be calculated for each time step ti.

ビジュアライザ27は、コントローラエミュレータ120から出力されるタイムステップtiに従う時系列の指令値66、69に基づき、3次元仮想空間のオブジェクトの時系列の3次元座標P(x、y、z)を含む機器挙動データを算する。より具体的には、ビジュアライザ27は、タイムステップti毎の指令値66に基づいて、包装機400の搬送機構(包装材412、ワーク414、個別パッケージ418)の動作を表す機器挙動データを生成するとともに、タイムステップti毎の指令値69に基づいて、切断機構(ロータリーナイフ416)の動作を表す機器挙動データを生成する。 The visualizer 27 is a device including time-series three-dimensional coordinates P (x, y, z) of an object in the three-dimensional virtual space based on time-series command values 66 and 69 according to the time step ti output from the controller emulator 120 . Compute behavioral data. More specifically, the visualizer 27 generates equipment behavior data representing the operation of the transport mechanism (packaging material 412, work 414, individual package 418) of the packaging machine 400 based on the command value 66 at each time step ti. At the same time, based on the command value 69 at each time step ti, the device behavior data representing the operation of the cutting mechanism (rotary knife 416) is generated.

ビジュアライザ27は、機器挙動データおよびCADセット139のオブジェクト16Dに基づき、3次元仮想空間における制御対象である包装機400の動作を視覚化する画像データを生成する。画像データはディスプレイ109に出力される。これにより、シミュレータ21によって算出された挙動値に基づく制御対象(包装機400)の動作示す画像が、図5の領域93に示されるように、ディスプレイ109に表示される。 The visualizer 27 generates image data for visualizing the operation of the packaging machine 400 to be controlled in the three-dimensional virtual space based on the equipment behavior data and the object 16D of the CAD set 139 . The image data is output to display 109 . As a result, an image showing the operation of the controlled object (packaging machine 400) based on the behavior value calculated by the simulator 21 is displayed on the display 109 as shown in the area 93 of FIG.

本実施の形態では、ビジュアライザ27は、機器挙動データのオブジェクト16Dをタイムステップti毎に更新して表示する。設計者は、UIを介して、ビジュアライザ27に対し、画像を更新する周期を設定できる。例えば、設計者は、スロー再生、早送り、巻き戻しなどの設定をすることにより、制御対象の動きを所望する早さで視覚的に確認できる。 In this embodiment, the visualizer 27 updates and displays the device behavior data object 16D at each time step ti. The designer can set the image update cycle for the visualizer 27 via the UI. For example, the designer can visually confirm the movement of the controlled object at a desired speed by setting slow playback, fast forward, rewind, and the like.

<G.UIの一例>
情報処理装置10が提供するUIツールの一例が図7と図8に示される。図7は、本実施の形態に係る制御対象を指定するUIの一例を示す図である。図8は、本実施の形態に係るモデルパラメータを指定するUIの一例を示す図である。図7を参照して、設計者は、制御対象19aを指定するために、制御対象の名称などの識別子151を情報処理装置10に対し入力するとともに、制御の仕方19cとして駆動機器のモーションの制御パラメータ152を指定する。より具体的には、情報処理装置10は、識別子151に一致する対象ID1381のFBセット138を記憶部から検索し、検索されたFBセット138の各FBに設定するべきパラメータの候補を表示する。設計者は、その候補パラメータのうちから、所望のパラメータを制御パラメータ152として指定できる。なお、各FBに設定するべきパラメータの候補は、各FBセット138に関連付けて格納されている。
<G. Example of UI>
An example of the UI tool provided by the information processing apparatus 10 is shown in FIGS. 7 and 8. FIG. FIG. 7 is a diagram showing an example of a UI for designating a control target according to this embodiment. FIG. 8 is a diagram showing an example of a UI for designating model parameters according to this embodiment. Referring to FIG. 7, the designer inputs an identifier 151 such as the name of the controlled object to the information processing apparatus 10 in order to specify the controlled object 19a, and also controls the motion of the drive device as the control method 19c. Specify parameter 152 . More specifically, the information processing apparatus 10 searches the storage unit for the FB set 138 of the target ID 1381 that matches the identifier 151, and displays the parameter candidates to be set in each FB of the searched FB set 138. FIG. A designer can designate a desired parameter as a control parameter 152 from among the candidate parameters. Candidate parameters to be set in each FB are stored in association with each FB set 138 .

図8を参照して、設計者は、設定19bを指定するために、制御対象の駆動機器(サーボモータ410)のメカパラメータ81および物理パラメータ82を情報処理装置10に対して入力する。より具体的には、メカパラメータ81にサイズ、動作方向、初期位置などを入力し、また、物理パラメータ82の説明821に、軸受け摩擦係数、重さ、密度などを入力する。 Referring to FIG. 8, the designer inputs mechanical parameters 81 and physical parameters 82 of the drive device (servo motor 410) to be controlled to information processing apparatus 10 in order to specify setting 19b. More specifically, the size, direction of movement, initial position, etc. are input to the mechanical parameters 81, and the bearing friction coefficient, weight, density, etc. are input to the description 821 of the physical parameters 82. FIG.

<H.実機の出力に基づく調整>
本実施の形態では、オンライン環境下で取得される挙動値に基づき、オフライン環境下において制御パラメータ20Aまたはモデルパラメータ16Aを調整することで、オフライン環境下の制御プログラム15とモデル16を、オンライン環境下における制御プログラム15または実機の変化を反映するように維持できる。
<H. Adjustment based on actual machine output>
In the present embodiment, by adjusting the control parameter 20A or the model parameter 16A in the offline environment based on the behavior values acquired in the online environment, the control program 15 and the model 16 in the offline environment are changed to the online environment. can be maintained so as to reflect changes in the control program 15 or the actual machine.

ここでは、オンライン環境下における制御プログラム15または実機の変化として、例えば、サーボモータ410の軸受けまたは軸(シャフト)が、長期間の使用によって摩耗し、その結果、軸受け摩擦係数が変化するケースを説明する。なお、変化は、物理的特性に限定されず、機械的特性であってもよい。また、実機の特性の変化に限定されず、制御パラメータ20Aの変更であってもよい。 Here, as a change in the control program 15 or the actual machine under the online environment, for example, the bearing or shaft of the servo motor 410 wears due to long-term use, and as a result, the bearing friction coefficient changes. do. Note that the change is not limited to physical properties, and may be mechanical properties. Moreover, it is not limited to changes in the characteristics of the actual machine, and may be changes in the control parameters 20A.

図9は、本実施の形態に係る実機の出力に基づく調整の構成の一例を示す図である。図9を参照して、情報処理システム1は、実機の出力に基づく調整の主要な構成機器として、FAシステム50と、情報処理装置10と、記憶装置113とを含む。記憶装置113には、開発対象の制御プログラム15と、モデル16と、制御パラメータ20A,20Bと、CADセット139と、対応関係24Aの情報が格納される。 FIG. 9 is a diagram showing an example of the configuration of adjustment based on the output of the actual machine according to this embodiment. Referring to FIG. 9, information processing system 1 includes FA system 50, information processing apparatus 10, and storage device 113 as main components for adjustment based on the output of the actual machine. The storage device 113 stores information on the control program 15 to be developed, the model 16, the control parameters 20A and 20B, the CAD set 139, and the correspondence 24A.

FAシステム50は、コントローラ51と、駆動機器55と、第1収集部60とを含む。情報処理装置10は、コントローラエミュレータ120と、アクチュエータエミュレータ124と、ビジュアライザ27と、第2収集部130と、挙動値D1とD2との差D3を算出する算出部131と、調整ツール123と、パラメータ反映ツール28とを含む。調整ツール123は、調整量を決定するための調整量決定部141と、決定された調整量で調整を実施する調整実施部142と、調整に関する情報を出力する出力部143とを有する。なお、算出部131は、調整ツール123内に設けられてもよい。算出部131および調整ツール123以外の構成については、図1で説明した通りであるので、それらの詳細説明は繰り返さない。 The FA system 50 includes a controller 51 , a drive device 55 and a first collection section 60 . The information processing apparatus 10 includes a controller emulator 120, an actuator emulator 124, a visualizer 27, a second collection unit 130, a calculation unit 131 that calculates a difference D3 between behavior values D1 and D2, an adjustment tool 123, a parameter and a reflection tool 28 . The adjustment tool 123 has an adjustment amount determination unit 141 for determining an adjustment amount, an adjustment execution unit 142 for performing adjustment with the determined adjustment amount, and an output unit 143 for outputting information regarding adjustment. Note that the calculator 131 may be provided within the adjustment tool 123 . Configurations other than calculation unit 131 and adjustment tool 123 are as described with reference to FIG. 1, and detailed description thereof will not be repeated.

算出部131は、第1収集部60によって収集された時系列の挙動値D1と、第2収集部130によって収集された時系列の挙動値D2とを同一時間軸で比較し、比較結果に基づく挙動値D1,D2の差D3を算出し、調整ツール123に出力する。 The calculation unit 131 compares the time-series behavior value D1 collected by the first collection unit 60 and the time-series behavior value D2 collected by the second collection unit 130 on the same time axis, and calculates a value based on the comparison result. A difference D3 between the behavior values D1 and D2 is calculated and output to the adjustment tool 123 .

パラメータ反映ツール28は、対応関係24Aに基づき、モデル16のモデルパラメータ16Aの値を、CADセット139の当該モデルパラメータ16Aに対応する属性パラメータ16Cに反映する。 The parameter reflection tool 28 reflects the value of the model parameter 16A of the model 16 to the attribute parameter 16C corresponding to the model parameter 16A of the CAD set 139 based on the correspondence 24A.

(h1.モデル調整処理)
情報処理装置10は、調整ツール123として、モデル16からの挙動値D2をFAシステム50からの挙動値D1に合わせる調整処理を実行する。図10は、本実施の形態に係る調整処理のためのUIの一例を示す図である。図10は、調整するためのユーザ支援情報であって、グラフと、調整量のガイド情報103を含む。ガイド情報103は、モデル16によって算出されて収集された挙動値D2と実機から収集された挙動値D1との間の同じ時間または同じ時刻における差の大きさに基づき、モデルパラメータ16Aを調整するためのガイド情報を出力する。なお、調整対象は、制御パラメータ20Bが含まれてもよい。
(h1. Model adjustment processing)
The information processing apparatus 10 , as the adjustment tool 123 , executes adjustment processing for matching the behavior value D<b>2 from the model 16 with the behavior value D<b>1 from the FA system 50 . FIG. 10 is a diagram showing an example of a UI for adjustment processing according to this embodiment. FIG. 10 shows user support information for adjustment, including graphs and guide information 103 for adjustment amounts. The guide information 103 is for adjusting the model parameter 16A based on the difference between the behavior value D2 calculated and collected by the model 16 and the behavior value D1 collected from the actual machine at the same time or at the same time. output guide information. Note that the adjustment target may include the control parameter 20B.

情報処理装置10は、算出部131によって算出される図9の差D3が小さくなるように、すなわちアクチュエータエミュレータ124が算出する挙動値D2が実機で計測された挙動値D1にマッチ(整合)するように、上記に述べた「調整量の見積もり」を実施して、調整対象のパラメータと、調整量を決定する。 The information processing apparatus 10 is configured such that the difference D3 in FIG. 9 calculated by the calculation unit 131 is small, that is, the behavior value D2 calculated by the actuator emulator 124 is matched with the behavior value D1 measured by the actual machine. Then, the above-described "estimation of adjustment amount" is performed to determine the parameter to be adjusted and the adjustment amount.

より具体的には、情報処理装置10は、調整量決定部141として、図10に示すように、第1収集部60によって時系列に収集された挙動値D1と、第2収集部130によって収集された時系列に収集された挙動値D2とを互いに関連付けて出力する。より具体的には、図10に示すように、この関連付けは、挙動値を縦軸とし、時間軸を横軸とした2次元平面のグラフ上に、第1収集部60によって時系列に収集された挙動値D1と、第2収集部130によって時系列に収集された挙動値D2とを、収集された時間または時刻に基づきプロットすることを含む。これにより、情報処理装置10は、制御周期毎の時系列の挙動値D1とタイムステップti毎の時系列の挙動値D2を、収集された時間または時刻に基づきプロットして、挙動値D1,D2の変化を表す図10のグラフを算出する。情報処理装置10は、グラフから、実機の挙動値D1が目標TRに収束するのに要する立ち上がり時間(時刻t0~t4)とモデル16が算出する挙動値D2が目標TRに収束するのに要する立ち上がり時間(時刻t0~t8)とを算出し、立ち上がりの遅れを、両者の時間の差D3として算出する。グラフから、実機の挙動値D1の立ち上がりが挙動値D2の立ち上がりよりも差D3だけ早くなっている、すなわち実機のサーボモータ410の摩擦係数がモデルパラメータ16Aの摩擦係数よりも小さくなっていることが推察される。 More specifically, as shown in FIG. 10, the information processing apparatus 10, as the adjustment amount determination unit 141, collects the behavior values D1 in time series by the first collection unit 60 and the behavior values D1 collected by the second collection unit . Behavior values D2 collected in chronological order are associated with each other and output. More specifically, as shown in FIG. 10, the associations are collected in chronological order by the first collection unit 60 on a two-dimensional graph with the behavior value as the vertical axis and the time axis as the horizontal axis. and plotting the behavior value D1 collected in time series and the behavior value D2 collected in time series by the second collection unit 130 based on the collection time or time. As a result, the information processing apparatus 10 plots the time-series behavior value D1 for each control cycle and the time-series behavior value D2 for each time step ti based on the collected time or time, and calculates the behavior values D1 and D2. The graph of FIG. 10 representing changes in is calculated. From the graph, the information processing apparatus 10 determines the rise time (time t0 to t4) required for the behavior value D1 of the actual device to converge to the target TR and the rise time required for the behavior value D2 calculated by the model 16 to converge to the target TR. The time (time t0 to t8) is calculated, and the rise delay is calculated as the difference D3 between the two times. From the graph, it can be seen that the rise of the behavior value D1 of the actual machine is earlier than the rise of the behavior value D2 by the difference D3, that is, the friction coefficient of the servomotor 410 of the actual machine is smaller than the friction coefficient of the model parameter 16A. guessed.

情報処理装置10は、「調整量の見積もり」に基づき、調整対象のパラメータ1341と調整量1342を有するガイド情報103を作成し、ディスプレイ109に出力する。より具体的には、情報処理装置10は、立ち上がり時間の遅れである差D3が予め定められた閾値を超える場合、調整対象のパラメータ1341は、「摩擦係数」と決定する。また、調整量1342を、遅れを示す差D3が生じていることに基づき摩擦係数を「小さくする」と決定する。逆に、差D3は生じず、実機の立ち上がりの方が遅くなっている場合、調整量決定部141は、摩擦係数を「大きくする」と決定する。グラフの場合、遅れを示す差D3が生じていることに基づき、調整量1342は、摩擦係数を「小さくする」がブリンク表示される。 The information processing apparatus 10 creates guide information 103 having a parameter 1341 to be adjusted and an adjustment amount 1342 based on the “estimation of adjustment amount” and outputs it to the display 109 . More specifically, when the difference D3, which is the rise time delay, exceeds a predetermined threshold value, the information processing apparatus 10 determines that the parameter 1341 to be adjusted is the "friction coefficient". Further, the adjustment amount 1342 is determined to "decrease" the friction coefficient based on the occurrence of the difference D3 indicating the delay. Conversely, when the difference D3 does not occur and the start-up of the actual machine is slower, the adjustment amount determination unit 141 determines to "increase" the friction coefficient. In the case of the graph, based on the occurrence of the difference D3 indicating the delay, the adjustment amount 1342 blinks to indicate that the friction coefficient is "decreased".

情報処理装置10は、調整実施部142として、UIを介したユーザ操作に基づき、モデルパラメータ16Aを調整する。例えば、設計者は、グラフが示す差D3またはガイド情報103に基づき、調整量を情報処理装置10に対し入力する。 As the adjustment executing unit 142, the information processing apparatus 10 adjusts the model parameters 16A based on the user's operation via the UI. For example, the designer inputs the adjustment amount to the information processing apparatus 10 based on the difference D3 indicated by the graph or the guide information 103 .

情報処理装置10は、設計者が調整後のモデルパラメータ16Aをモデル16に設定し、シミュレータ21を起動する。シミュレータ21が起動されると、調整後のモデル16および当該モデル16に紐付けされた制御プログラム15が、それぞれ、コントローラエミュレータ120およびアクチュエータエミュレータ124によって実行されて、シミュレータ21の実行結果として第2収集部130は挙動値D2を収集する。 The information processing apparatus 10 sets the model parameters 16</b>A adjusted by the designer in the model 16 and activates the simulator 21 . When the simulator 21 is activated, the adjusted model 16 and the control program 15 linked to the model 16 are executed by the controller emulator 120 and the actuator emulator 124, respectively, and the second collection is performed as the execution result of the simulator 21. Unit 130 collects behavior values D2.

情報処理装置10は、調整ツール123として、調整後のモデル16からの挙動値D2をFAシステム50から取得していた挙動値D1に合わせる「調整量の見積もり」に基づく処理を実行する。 The information processing apparatus 10 , as the adjustment tool 123 , executes processing based on “adjustment amount estimation” for matching the behavior value D<b>2 from the model 16 after adjustment with the behavior value D<b>1 acquired from the FA system 50 .

情報処理装置10は、差D3(立ち上がりの遅れ時間)が予め定められた収束条件を満たしたと検出したとき、モデル調整処理を終了する。当該収束条件は、たとえば、挙動値D1,D2の差D3が予め定められた閾値よりも小さくなったときに満たされる。あるいは、当該収束条件は、調整回数が所定回数を超えたときに満たされてもよい。 When the information processing apparatus 10 detects that the difference D3 (starting delay time) satisfies a predetermined convergence condition, it ends the model adjustment process. The convergence condition is satisfied, for example, when the difference D3 between the behavior values D1 and D2 becomes smaller than a predetermined threshold. Alternatively, the convergence condition may be satisfied when the number of adjustments exceeds a predetermined number.

なお、立ち上がりの時間遅れに関連するパラメータとして、モデルパラメータ16Aの摩擦係数に代えて、または摩擦係数とともに、例えば制御パラメータ20BのPIDパラメータ68のI(積分値)のパラメータが調整されるとしてもよい。 As a parameter related to the rise time delay, instead of or together with the friction coefficient of the model parameter 16A, for example, the I (integral value) parameter of the PID parameter 68 of the control parameter 20B may be adjusted. .

情報処理装置10は、収束条件を満たしたときの調整後のモデルパラメータ16Aをモデル16に最終的な設定値として設定する、または、調整後の制御パラメータ20Bを当該モデル16に紐付けされた制御プログラム15に設定する。情報処理装置10は、調整後に、シミュレータ21に制御プログラム15およびモデル16を実行させることによって、実機のサーボモータ410の挙動をより正確に算出できる。なお、調整ツール123を利用せずに、設計者は、図10のグラフから、UIツールを介して、調整対象のパラメータと調整量を試行錯誤的に探索してもよい。 The information processing device 10 sets the adjusted model parameter 16A when the convergence condition is satisfied to the model 16 as a final setting value, or sets the adjusted control parameter 20B to the control associated with the model 16. Set to program 15. After the adjustment, the information processing apparatus 10 causes the simulator 21 to execute the control program 15 and the model 16, thereby calculating the behavior of the actual servomotor 410 more accurately. Instead of using the adjustment tool 123, the designer may search for the parameter to be adjusted and the amount of adjustment from the graph of FIG. 10 via the UI tool by trial and error.

<I.情報処理装置10の構成>
図11は、本実施の形態に係る情報処理装置10の構成の一例を示す模式図である。本実施の形態に係る開発環境を提供する構成を、図11を参照して説明する。
<I. Configuration of Information Processing Device 10>
FIG. 11 is a schematic diagram showing an example of the configuration of the information processing device 10 according to this embodiment. A configuration for providing a development environment according to this embodiment will be described with reference to FIG.

図11情報処理装置10は、主たるコンポーネントとして、オペレーティングシステム(OS:Operating System)および後述するような各種プログラムを実行するプロセッサ102と、プロセッサ102でのプログラム実行に必要なデータを格納するための作業領域を提供する主メモリ104と、キーボードやマウスなどの情報処理装置10に対するユーザ操作を受付ける操作ユニット106と、ディスプレイ109、各種インジケータ、プリンタなどの処理結果を出力する出力ユニット108と、ネットワークNW1を含む各種ネットワークに接続されるネットワークインターフェイス110と、光学ドライブ112と、外部装置と通信するローカル通信インターフェイス116と、ストレージ111とを含む。これらのコンポーネントは、内部バス118などを介してデータ通信可能に接続される。 The main components of the information processing apparatus 10 are an operating system (OS), a processor 102 for executing various programs described later, and a processor 102 for storing data necessary for program execution. A main memory 104 that provides an area, an operation unit 106 that accepts user operations on the information processing apparatus 10 such as a keyboard and mouse, an output unit 108 that outputs processing results such as a display 109, various indicators, and a printer, and a network NW1. a network interface 110 connected to various networks including; an optical drive 112; a local communication interface 116 for communicating with external devices; These components are connected for data communication via an internal bus 118 or the like.

情報処理装置10は、光学ドライブ112を有しており、コンピュータ読取可能なプログラムを非一過的に格納する光学記録媒体(例えば、DVD(Digital Versatile Disc)など)を含むコンピュータ読取可能な記録媒体114から、各種プログラムを読取ってストレージ111などにインストールする。 The information processing apparatus 10 has an optical drive 112, which is a computer-readable recording medium including an optical recording medium (for example, a DVD (Digital Versatile Disc), etc.) for non-transitory storage of a computer-readable program. Various programs are read from 114 and installed in the storage 111 or the like.

情報処理装置10で実行される各種プログラムは、コンピュータ読取可能な記録媒体114を介してインストールされてもよいが、ネットワーク上の図示しないサーバ装置などからネットワークインターフェイス110を介してダウンロードする形でインストールするようにしてもよい。 Various programs to be executed by the information processing apparatus 10 may be installed via the computer-readable recording medium 114, but are installed by being downloaded from a server device (not shown) on the network via the network interface 110. You may do so.

ストレージ111は、例えば、HDD(Hard Disk Drive)またはSSD(Flash Solid State Drive)などで構成され、プロセッサ102で実行されるプログラムを格納する。具体的には、ストレージ111は、仮想時刻ジェネレータ122を実現する仮想時刻生成プログラム119と、開発支援ツール20を実現する開発支援プログラム121と、モデルパラメータ16Aと、シミュレータ21を実現するシミュレーションプログラム126と、制御パラメータ20Bと、実行されるとUIツールを実現するUIプログラム129と、対応関係24Aの情報と、制御プログラム15とモデル16を紐付けてペア17として管理する管理プログラム134と、描画データ136を用いて制御対象の挙動を描画するためのビジュアライザプログラム135と、ペア17と、制御対象毎のFBセット138と、制御対象毎のCADセット139とを格納する。 The storage 111 is configured by, for example, an HDD (Hard Disk Drive) or SSD (Flash Solid State Drive), and stores programs executed by the processor 102 . Specifically, the storage 111 includes a virtual time generation program 119 that implements the virtual time generator 122, a development support program 121 that implements the development support tool 20, a model parameter 16A, and a simulation program 126 that implements the simulator 21. , a control parameter 20B, a UI program 129 that implements a UI tool when executed, information on a correspondence relationship 24A, a management program 134 that links the control program 15 and the model 16 and manages them as a pair 17, and drawing data 136. A visualizer program 135 for drawing the behavior of a controlled object using , a pair 17, an FB set 138 for each controlled object, and a CAD set 139 for each controlled object are stored.

ビジュアライザプログラム135は、実行されるとビジュアライザ27を実現する。ビジュアライザ27は、主メモリ104の仮想空間情報105に基づきディスプレイ109に制御対象の動きを描画するための描画データ136を生成する。仮想空間情報105は、シミュレータ21の実行時に取得されるタイムステップti毎の時系列の指令値66および指令値69が示す角速度を、所定関数を用いて算出される時系列の3次元座標P(x,y,z)を示す。ビジュアライザ27は、制御対象のCADセット139のオブジェクト16Dに基づく画像を、仮想空間情報105に基づき、3次元仮想空間内で立体的に描画するための描画データ136を生成し、ディスプレイ109に出力する。これにより、ディスプレイ109には、シミュレーションにより算出された挙動値に従いオブジェクトが表示されて、制御対象の機械の動きを再現することができる。 The visualizer program 135 implements the visualizer 27 when executed. The visualizer 27 generates drawing data 136 for drawing the movement of the controlled object on the display 109 based on the virtual space information 105 in the main memory 104 . The virtual space information 105 is the angular velocity indicated by the time-series command value 66 and the command value 69 at each time step ti acquired when the simulator 21 is executed, and the time-series three-dimensional coordinates P ( x, y, z). The visualizer 27 generates drawing data 136 for stereoscopically drawing an image based on the object 16D of the CAD set 139 to be controlled in the three-dimensional virtual space based on the virtual space information 105, and outputs it to the display 109. . As a result, the object is displayed on the display 109 according to the behavior value calculated by the simulation, and the movement of the machine to be controlled can be reproduced.

図11には、単一の情報処理装置10で開発環境を実現する例を示したが、複数の情報処理装置を連係させて開発環境を実現するようにしてもよい。この場合には、開発環境を実現するために必要な処理の一部を情報処理装置10で実行させるとともに、残りの処理をクラウドベースのサーバまたはオンプレミスサーバで実行するようにしてもよい。 Although FIG. 11 shows an example in which a single information processing apparatus 10 implements the development environment, a plurality of information processing apparatuses may be linked to implement the development environment. In this case, the information processing apparatus 10 may be caused to perform part of the processing necessary for realizing the development environment, and the remaining processing may be performed by a cloud-based server or an on-premises server.

図11には、プロセッサ102が1または複数のプログラムを実行することで、開発環境が実現される例を示すが、開発環境を実現するために必要な処理および機能の一部を、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)などの回路を用いて実装するようにしてもよい。 FIG. 11 shows an example in which a development environment is realized by the processor 102 executing one or more programs. Specific Integrated Circuit) or a circuit such as FPGA (Field-Programmable Gate Array) may be used for implementation.

<J.作成処理のフローチャート>
図12および図13を参照して、制御対象である実機が新規導入されて、これに伴い、当該制御対象に対応のモデルパラメータ16Aまたは制御パラメータ29Aを更新するケースを説明する。
<J. Flowchart of Creation Processing>
With reference to FIGS. 12 and 13, a case will be described in which the model parameter 16A or the control parameter 29A corresponding to the controlled object is updated when the actual machine to be controlled is newly introduced.

図12は、本実施の形態に係る作成処理のフローチャートである。図12を参照して、プロセッサ102が、開発支援ツール20を実行することによって、制御プログラム15またはモデル16を作成する処理を説明する。 FIG. 12 is a flow chart of creation processing according to the present embodiment. A process of creating the control program 15 or the model 16 by the processor 102 executing the development support tool 20 will be described with reference to FIG. 12 .

まず、プロセッサ102は、制御対象19a、設定19bおよび制御の仕方19cを含むユーザ設定19を、UIツールを介したユーザ操作から受付ける(ステップS1)。 First, the processor 102 receives user settings 19 including a control target 19a, a setting 19b, and a control method 19c from a user's operation via a UI tool (step S1).

プロセッサ102は、制御プログラム作成ツール22およびモデル作成ツール24として、ストレージ111から、制御対象19aを示す対象ID1381および対象ID1391に対応のFBセット138およびCADセット139を検索する(ステップS3)。これにより、プロセッサ102は、制御対象19aに対応のFBセット138およびCADセット139を決定する。 Processor 102, as control program creation tool 22 and model creation tool 24, searches storage 111 for FB set 138 and CAD set 139 corresponding to object ID 1381 and object ID 1391 indicating control object 19a (step S3). Thereby, the processor 102 determines the FB set 138 and the CAD set 139 corresponding to the controlled object 19a.

プロセッサ102は、決定されたFBセット138の各FBに、制御パラメータ設定部23として、制御の仕方19cに基づく制御パラメータ20Bを設定し(ステップS5)、また、設定19bに基づくモデルパラメータ16Aをモデル16に設定する(ステップS7)。 The processor 102, as the control parameter setting unit 23, sets the control parameter 20B based on the control method 19c to each FB of the determined FB set 138 (step S5), and sets the model parameter 16A based on the setting 19b as a model. 16 is set (step S7).

プロセッサ102は、シミュレータ21として、制御パラメータ20Bが設定された制御プログラム15およびモデルパラメータ16Aが設定されたモデル16を実行して、制御対象の駆動機器の挙動をシミュレーションする(ステップS10)。 The processor 102 executes, as the simulator 21, the control program 15 in which the control parameters 20B are set and the model 16 in which the model parameters 16A are set, thereby simulating the behavior of the drive equipment to be controlled (step S10).

プロセッサ102は、シミュレーションを実施するとき、ビジュアライザ27として、シミュレーションによって算出される指令値に基づく描画データ136を生成するビジュアライズ処理を実施する(ステップS11)。描画データ136に基づきディスプレイ109が駆動されて、ディスプレイ109は制御対象の動きを描画する。 When executing the simulation, the processor 102, as the visualizer 27, executes visualization processing for generating drawing data 136 based on command values calculated by the simulation (step S11). The display 109 is driven based on the drawing data 136, and the display 109 draws the movement of the controlled object.

シミュレーションにおいては、プロセッサ102は、調整ツール123として、上記に述べた「調整量の見積もり」によって制御パラメータ20Bまたはモデルパラメータ16Aを変更(調整)しながらシミュレーションを繰り返し実施する(ステップS12)。 In the simulation, the processor 102, as the adjustment tool 123, repeats the simulation while changing (adjusting) the control parameter 20B or the model parameter 16A by the above-described "adjustment amount estimation" (step S12).

プロセッサ102は、シミュレーションによって制御パラメータ20Bおよびモデルパラメータ16Aを取得する。プロセッサ102は、紐付け部26として、これら取得されたパラメータが設定された制御プログラム15とモデル16を互いに紐付けたペア17を作成し格納する(ステップS13)。プロセッサ102は、ビルダ18として制御プログラム15をビルドし、プロセッサ102はビルドされた制御プログラム15をコントローラ51に転送する(ステップS15)。これにより、プロセッサ102は、コントローラ51に転送する制御プログラム15を、実機を仕様に従って制御可能なようにあらかた調整された制御パラメータ20Bを有したプログラムとして転送できる。転送されると、コントローラ51は、制御パラメータ20Bを、制御パラメータ20Aとして扱う。このように、オンライン環境下では、ユーザは、あらかた調整済み制御プログラム15を調整すればよいから、調整作業に係る負担を軽減できる。 Processor 102 obtains control parameters 20B and model parameters 16A through simulation. The processor 102, as the linking unit 26, creates and stores a pair 17 linking the control program 15 and the model 16 in which the acquired parameters are set (step S13). The processor 102 builds the control program 15 as the builder 18, and the processor 102 transfers the built control program 15 to the controller 51 (step S15). As a result, the processor 102 can transfer the control program 15 to the controller 51 as a program having the control parameters 20B roughly adjusted so that the actual machine can be controlled according to the specifications. Once transferred, the controller 51 treats the control parameter 20B as the control parameter 20A. In this way, under the online environment, the user can mostly adjust the adjusted control program 15, thus reducing the burden of adjustment work.

<K.実機の出力に基づく調整処理のフローチャート>
図13と図14は、本実施の形態に係る実機の出力に基づく調整処理のフローチャートである。情報処理装置10のプロセッサ102は、調整ツール123として、実機の出力に基づく調整処理を実施する。ここでは、説明を簡単にするために、モデル16のパラメータAの摩擦係数が調整されるが、制御パラメータ20Bであっても同様に適用できる。図13と図14の処理を、適宜、図9を参照しながら説明する。
<K. Flowchart of adjustment processing based on output of actual machine>
13 and 14 are flow charts of adjustment processing based on the output of the actual machine according to the present embodiment. The processor 102 of the information processing apparatus 10 performs adjustment processing based on the output of the actual machine as the adjustment tool 123 . Here, to simplify the explanation, the coefficient of friction of parameter A of model 16 is adjusted, but control parameter 20B is similarly applicable. The processing of FIGS. 13 and 14 will be described with reference to FIG. 9 as appropriate.

まず、プロセッサ102は、算出部131からの差D3を閾値と比較し、比較の結果に基づきモデルパラメータ16Aの調整が必要かを判定する(ステップS20)。例えば、差D3の遅れ時間を閾値と比較し、比較の結果に基づき、差D3が閾値を超えると検出したとき、モデルパラメータ16Aの調整が必要と判定し(ステップS20でYES)、ステップS21に移行する。プロセッサ102は、差D3が閾値を超えないと検出したときは(ステップS20でNO)、ステップS20を繰り返す、または、調整処理を終了する。 First, the processor 102 compares the difference D3 from the calculator 131 with a threshold, and determines whether the model parameter 16A needs to be adjusted based on the comparison result (step S20). For example, the delay time of the difference D3 is compared with a threshold, and when it is detected that the difference D3 exceeds the threshold based on the result of the comparison, it is determined that the model parameter 16A needs to be adjusted (YES in step S20), and the process proceeds to step S21. Transition. When processor 102 detects that difference D3 does not exceed the threshold (NO in step S20), processor 102 repeats step S20 or ends the adjustment process.

ステップS21において、プロセッサ102は、FAシステム50のサーボモータ410の挙動値D1を受付けて、制御周期の1~N周期分を格納する(ステップS21)。これにより、プロセッサ102は、時系列の挙動値D1を格納する。プロセッサ102は、実機の稼働時のプロジェクトをオフライン環境のプロジェクトと照合に、照合結果が一致を示すかを判定する(ステップS23)。より具体的には、プロセッサ102は、コントローラ51から取得した制御パラメータ20Aをオフライン環境下の制御パラメータ20Bと照合し、照合の結果に基づき、両方のパラメータの値は一致しているかを判定する。プロセッサ102は、両方の制御パラメータの値は一致していると判定したとき(ステップS23でYES)、ステップS27に移行するが、一致していないと判定したとき(ステップS23でNO)、プロセッサ102は、オフライン環境のプロジェクトを実機のプロジェクトに一致させる(ステップS25)。より具体的には、プロセッサ102は、オフライン環境下の制御パラメータ20Bをオンライン環境下から取得した制御パラメータ20Aに整合(一致)するように、調整・変更する。 In step S21, processor 102 receives behavior value D1 of servomotor 410 of FA system 50 and stores 1 to N control cycles (step S21). Thereby, the processor 102 stores the time-series behavior values D1. The processor 102 compares the project when the actual machine is in operation with the project in the offline environment, and determines whether the result of the comparison shows a match (step S23). More specifically, the processor 102 compares the control parameter 20A acquired from the controller 51 with the control parameter 20B under the offline environment, and determines whether the values of both parameters match based on the result of the comparison. When the processor 102 determines that the values of both control parameters match (YES in step S23), it proceeds to step S27. When it determines that they do not match (NO in step S23), the processor 102 matches the offline environment project with the actual machine project (step S25). More specifically, the processor 102 adjusts/changes the control parameters 20B under the offline environment so as to match (match) the control parameters 20A acquired from the online environment.

ステップS27では、プロセッサ102は、生産工程の現場において実機に設計変更がなされたかを判定する(ステップS27)。より具体的には、プロセッサ102は、設計者から受付けるユーザ操作に基づき、当該判定を実施する。ここでは、実機の設計変更は、サーボモータ410のサイズ、位置などの機械的特性の変更または調整を含む。 At step S27, the processor 102 determines whether or not a design change has been made to the actual machine at the site of the production process (step S27). More specifically, the processor 102 makes the determination based on the user's operation received from the designer. Here, the design change of the actual machine includes change or adjustment of mechanical properties such as the size and position of the servomotor 410 .

プロセッサ102は、ユーザ操作に基づき、設計変更がされていると判定すると(ステップS27でNO)、ユーザ操作に基づき、実機の変更後の機械的特性に対応のメカパラメータをモデルパラメータ16Aに設定する(ステップS29)。より具体的には、プロセッサ102は、入力した機械的特性を示すサイズ、位置のメカパラメータを示すように、モデル16の式741のパラメータBを変更する。 When the processor 102 determines that the design has been changed based on the user's operation (NO in step S27), the processor 102 sets mechanical parameters corresponding to the changed mechanical characteristics of the actual machine to the model parameters 16A based on the user's operation. (Step S29). More specifically, the processor 102 changes the parameter B of the formula 741 of the model 16 so as to indicate the size and position mechanical parameters indicating the input mechanical properties.

プロセッサ102は、調整ツール123として、調整後のモデル16からの挙動値D2をFAシステム50から取得していた挙動値D1に合わせる「調整量の見積もり」に基づく調整処理を実行する(ステップS31、S33、S35)を実施する。より具体的には、プロセッサ102は、モデル16の式741における摩擦係数などのパラメータAを推定(算出)する(ステップS31)。ステップS31の処理の詳細は図14で後述する。 The processor 102, as the adjustment tool 123, executes an adjustment process based on "adjustment amount estimation" for matching the behavior value D2 from the model 16 after adjustment with the behavior value D1 acquired from the FA system 50 (steps S31, S33, S35) are performed. More specifically, processor 102 estimates (calculates) parameter A such as the coefficient of friction in equation 741 of model 16 (step S31). Details of the processing in step S31 will be described later with reference to FIG.

プロセッサ102は、調整処理の結果を含むガイダンス情報を出力する(ステップS33)。例えば、調整処理の結果として、調整後の摩擦係数の値がディスプレイ109に表示される。 Processor 102 outputs guidance information including the result of the adjustment process (step S33). For example, as a result of the adjustment process, the value of the friction coefficient after adjustment is displayed on the display 109 .

プロセッサ102は、設計者のユーザ操作を受付け、受付けたユーザ操作が“OK”を示すか否かを判定する(ステップS35)。プロセッサ102は、ユーザ操作は“OK”を示さないと判定すると(ステップS35でNO)、ステップS31に移行して、パラメータ調整処理を継続する。 Processor 102 accepts the designer's user operation, and determines whether or not the accepted user operation indicates "OK" (step S35). When the processor 102 determines that the user operation does not indicate "OK" (NO in step S35), the process proceeds to step S31 and continues the parameter adjustment process.

一方、プロセッサ102は、ユーザ操作は“OK”を示すと判定すると(ステップS35でYES)、プロセッサ102は、モデルパラメータ16Aの摩擦係数を、調整後の摩擦係数に書き換えることによって、モデルパラメータ16Aを更新する(ステップS37)。例えば、設計者は、図10のグラフなどから、モデル16が算出する挙動は実機のサーボモータ410の挙動に整合していると判断したとき、ユーザ操作として“OK”を情報処理装置10に対し入力する。 On the other hand, when the processor 102 determines that the user operation indicates "OK" (YES in step S35), the processor 102 rewrites the friction coefficient of the model parameter 16A to the adjusted friction coefficient, thereby changing the model parameter 16A to Update (step S37). For example, when the designer determines from the graph of FIG. input.

図14を参照して、仮パラメータセットを用いたパラメータ調整処理(ステップS31)を説明する。仮パラメータセットは、摩擦係数を含むパラメータBとステップS29で入力したパラメータAとを含む。ここでは、仮パラメータセットは調整対象である摩擦係数が変更されることにより更新されて、更新される毎に新たな仮パラメータセットが生成される。 The parameter adjustment process (step S31) using the temporary parameter set will be described with reference to FIG. The temporary parameter set includes parameter B including the coefficient of friction and parameter A input in step S29. Here, the temporary parameter set is updated by changing the friction coefficient to be adjusted, and a new temporary parameter set is generated each time it is updated.

まず、プロセッサ102は、パラメータ調整処理におけるモデルパラメータ16Aの仮パラメータセットを生成する(ステップS311)。パラメータ調整処理の開始時には、摩擦係数には初期値が設定されることにより、仮パラメータセットが生成される。 First, the processor 102 generates a temporary parameter set of the model parameters 16A in parameter adjustment processing (step S311). At the start of the parameter adjustment process, a temporary parameter set is generated by setting an initial value for the coefficient of friction.

プロセッサ102は、シミュレータ21として、制御プログラム15とステップS311で生成された仮パラメータセットがモデルパラメータとして設定されたモデル16とを、タイムステップti毎に繰り返し実行し、シミュレーション結果を生成する(ステップS313)。生成されるシミュレーション結果は、タイムステップtiに従う時系列の挙動値D2を示す。 The processor 102, as the simulator 21, repeatedly executes the control program 15 and the model 16 in which the temporary parameter set generated in step S311 is set as a model parameter at each time step ti to generate a simulation result (step S313). ). The generated simulation results show the time-series behavior values D2 according to the time step ti.

プロセッサ102は、シミュレーション結果である時系列の挙動値D2とステップS21で格納された実機の時系列の挙動値D1との差D3が十分に小さいかを判定する(ステップS315)。より具体的には、例えば差D3を閾値と比較し、比較結果に基づき差D3は十分に小さいかを判定する。 The processor 102 determines whether the difference D3 between the time-series behavior value D2, which is the simulation result, and the time-series behavior value D1 of the actual machine stored in step S21 is sufficiently small (step S315). More specifically, for example, the difference D3 is compared with a threshold, and it is determined whether the difference D3 is sufficiently small based on the comparison result.

差D3は十分に小さくないと判定されると(ステップS315でNO)、ステップS311に戻る。ステップS311では、プロセッサ102は、現在の仮パラメータセットの摩擦係数を変更することによって、新たな仮パラメータセットを生成する。プロセッサ102は、生成された新たな仮パラメータセットを用いてシミュレーションを実行する(ステップS313)。プロセッサ102は、シミュレーション結果としての時系列の挙動値D2とステップS29で格納された実機の時系列の挙動値D1との差D3が十分に小さいかを判定する(ステップS315)。このように、プロセッサ102は、差D3が十分に小さくなるまで、すなわち最適な仮パラメータセットが得られるまでシミュレーションとシミュレーション結果に基づく仮パラメータセットの生成を繰り返す。 If it is determined that the difference D3 is not sufficiently small (NO in step S315), the process returns to step S311. At step S311, the processor 102 generates a new temporary parameter set by changing the friction coefficient of the current temporary parameter set. Processor 102 executes a simulation using the generated new temporary parameter set (step S313). The processor 102 determines whether the difference D3 between the time-series behavior value D2 as the simulation result and the time-series behavior value D1 of the actual machine stored in step S29 is sufficiently small (step S315). Thus, the processor 102 repeats the simulation and the generation of the formal parameter set based on the simulation results until the difference D3 becomes sufficiently small, that is, until the optimum formal parameter set is obtained.

プロセッサ102は、差D3が十分に小さいと判定したとき(ステップS315でYES)、プロセッサ102は、最も最近に生成された仮パラメータセットを、モデルパラメータ16Aに採用する(ステップS317)。より具体的には、プロセッサ102は、モデルパラメータ16Aを、最も最近に生成された仮パラメータセットで書換える。これにより、オフライン環境下のモデルパラメータ16Aを、オンライン環境下の実機の機械的特性または物理的特性に整合させることができる。 When the processor 102 determines that the difference D3 is sufficiently small (YES in step S315), the processor 102 adopts the most recently generated temporary parameter set as the model parameters 16A (step S317). More specifically, processor 102 rewrites model parameters 16A with the most recently generated set of formal parameters. As a result, the model parameters 16A under the offline environment can be matched with the mechanical properties or physical properties of the actual machine under the online environment.

図13および図14の調整処理によれば、オフライン環境において、情報処理装置10は、制御パラメータ20Bおよびモデルパラメータ16Aを、オンライン環境下の制御パラメータ20Aの変化と実機の機械的特性および物理的特性の変化とに追従させて変更(調整)することができる。したがって、制御対象について新規導入された実機の挙動に整合するように、モデル16が有するモデルパラメータ16Aまたは制御パラメータ20A(20B)を調整することができる。このような調整によって、開発環境において、現場で新規導入された制御対象の駆動機器(実機)の制御プログラム15と当該駆動機器のモデル16とを簡単に取得できる。 According to the adjustment process of FIGS. 13 and 14, in the offline environment, the information processing device 10 changes the control parameter 20B and the model parameter 16A to the changes in the control parameter 20A in the online environment and the mechanical and physical characteristics of the actual machine. can be changed (adjusted) in accordance with changes in Therefore, the model parameter 16A or the control parameter 20A (20B) of the model 16 can be adjusted so as to match the behavior of the newly introduced actual machine for the controlled object. By such adjustment, in the development environment, the control program 15 of the drive device (actual device) to be controlled which is newly introduced at the site and the model 16 of the drive device can be easily acquired.

なお、図13と図14の処理は、制御対象の実機の経年変化に伴う挙動の変動に整合するように、モデル16が有するモデルパラメータ16Aまたは制御パラメータ20A(20B)を調整するケースにも適用することができる。 The processing of FIGS. 13 and 14 is also applied to the case of adjusting the model parameter 16A or the control parameter 20A (20B) of the model 16 so as to match the change in behavior of the actual machine to be controlled due to aging. can do.

図14の最適な仮パラメータセットを探索するアルゴリズムには、各種のアルゴリズムを適用できる。また、ステップS315では、当該アリゴリズムの処理を終了する条件に差D3を用いたが、終了判定条件は、差D3を用いた条件に限定されない。例えば、終了判定条件に、ステップS311~S315の処理を繰り返した回数を用いてもよい。その場合は、プロセッサ102は、処理を繰り返す過程で得られたベストの仮パラメータセットを保存しておき、当該ベストの仮パラメータセットを最適な仮パラメータセットに採用する。 Various algorithms can be applied to the algorithm for searching for the optimal temporary parameter set in FIG. Also, in step S315, the difference D3 is used as the condition for terminating the processing of the algorithm, but the termination determination condition is not limited to the condition using the difference D3. For example, the number of times the processes of steps S311 to S315 have been repeated may be used as the end determination condition. In that case, the processor 102 stores the best temporary parameter set obtained in the process of repeating the process, and adopts the best temporary parameter set as the optimum temporary parameter set.

<L.対応関係とモデル>
図15は、本実施の形態に係るCADセット139のデータの一例を模式的に示す図である。図16は、本実施の形態に係る対応関係24Aの情報の一例を模式的に示す図である。図17は、本実施の形態に係る調整量を含んだモデルの一例を示す図である。
<L. Correspondence and model >
FIG. 15 is a diagram schematically showing an example of data in the CAD set 139 according to this embodiment. FIG. 16 is a diagram schematically showing an example of information of correspondence 24A according to the present embodiment. FIG. 17 is a diagram showing an example of a model including adjustment amounts according to this embodiment.

本実施の形態では、対象ID1391で識別される複数のCADセット139が提供される。複数のCADセット139は、制御対象毎に階層構造を有している。ロータリーナイフのサーボモータの複数のCADセット139は、当該サーボモータを構成する各部品について、CADセット139を有する。図15では、例えば、サーボモータを構成するモータの軸161のCADセット139が示される。 In this embodiment, a plurality of CAD sets 139 identified by object IDs 1391 are provided. A plurality of CAD sets 139 have a hierarchical structure for each controlled object. A plurality of CAD sets 139 for the servo motor of the rotary knife has a CAD set 139 for each component that constitutes the servo motor. In FIG. 15, for example, a CAD set 139 of a shaft 161 of a motor that constitutes a servomotor is shown.

図15を参照して、CADセット139は、オブジェクト16Dとして、軸受け160と、ロータリーナイフの接続部162とに接続される軸161のオブジェクト16Dを含む。また、CADセット139は、制御対象の駆動機器(サーボモータの軸161)の制御に関連した属性パラメータ16Cとして、物理パラメータを構成する重さWおよび摩擦係数FRと、メカパラメータを構成する軸161の長さLと軸161の向きDと軸161の径Rとを含む。 Referring to FIG. 15, CAD set 139 includes object 16D of shaft 161 connected to bearing 160 and connecting portion 162 of the rotary knife as object 16D. In addition, the CAD set 139 includes, as attribute parameters 16C related to the control of the drive device (servo motor shaft 161) to be controlled, the weight W and the friction coefficient FR that constitute the physical parameters, and the shaft 161 that constitutes the mechanical parameters. , the orientation D of the shaft 161 and the radius R of the shaft 161 .

本実施の形態では、CADセット139において、基本モデル16Bの演算式が有するパラメータの数(種類)と、属性パラメータ16Cが有するパラメータの数(種類)とは一致しないことがあり得る。すなわち、属性パラメータ16Cには、挙動を算出するために必要なパラメータと他のパラメータが含まれ得る。したがって、モデル作成ツール24は、駆動機器の対象ID1391を有するCADセット139のうちの軸161のCADセットから、当該駆動機器の挙動を算出するためのモデル16を作成するとき、対応関係24Aの情報を作成する。より具体的には、対応関係24Aでは、1つ以上の属性パラメータ16Cのうち、基本モデル16Bが有するパラメータの種類と一致するパラメータのみに、基本モデル16Bが有する対応のモデルパラメータ16Aが紐付けられる。図16の対応関係24Aでは、軸161の属性パラメータ16Cである長さL、向きD、摩擦係数FRおよび重さWは、それぞれ、基本モデル16Bが有するパラメータ16AのパラメータB1、B2、A1およびA2が紐付けられる。図16の対応関係24Aでは、属性パラメータ16CのパラメータRは、モデル作成ツール24によって、基本モデル16Bが有するパラメータの種類と一致しない種類のパラメータと判定されたことが示される。 In the present embodiment, in the CAD set 139, the number (type) of parameters in the arithmetic expression of the basic model 16B may not match the number (type) of parameters in the attribute parameter 16C. That is, attribute parameters 16C may include parameters necessary for calculating behavior and other parameters. Therefore, when the model creation tool 24 creates the model 16 for calculating the behavior of the drive equipment from the CAD set of the axis 161 in the CAD set 139 having the target ID 1391 of the drive equipment, the information of the correspondence 24A to create More specifically, in the correspondence 24A, only the parameters that match the types of parameters that the basic model 16B has among the one or more attribute parameters 16C are associated with the corresponding model parameters 16A that the basic model 16B has. . In the correspondence 24A of FIG. 16, the length L, orientation D, coefficient of friction FR and weight W, which are the attribute parameters 16C of the axis 161, are the parameters B1, B2, A1 and A2 of the parameters 16A of the basic model 16B. is linked. A correspondence relationship 24A in FIG. 16 indicates that the parameter R of the attribute parameter 16C has been determined by the model creation tool 24 to be a parameter of a type that does not match the parameter type of the basic model 16B.

図17に示す演算式は、図15および図16で示された軸161の挙動を算出するためのモデルの演算式741Aの一例を示している。演算式741Aは、図6で示した演算式741の変形例である。演算式741Aは、当該演算式が有するモデルパラメータのうち、パラメータA1とB1には、それぞれ、調整量a1とb1が付加されているとともに、補正項Cを有する。本実施の形態では、調整量a1とb1および補正項Cは、パラメータの最適化の制約条件として利用される。 The arithmetic expression shown in FIG. 17 is an example of the model arithmetic expression 741A for calculating the behavior of the shaft 161 shown in FIGS. An arithmetic expression 741A is a modified example of the arithmetic expression 741 shown in FIG. The arithmetic expression 741A has adjustment terms a1 and b1 added to the parameters A1 and B1 of the model parameters included in the arithmetic expression, respectively, and a correction term C. In this embodiment, the adjustment amounts a1 and b1 and the correction term C are used as constraints for parameter optimization.

補正項Cは、モデルの演算式では算出することができない値、例えば曲げ、ねじれ、ひねり等の挙動示す値を補うために設定される。この補正項Cが設定されることで、タイムステップtiの繰り返し過程において、モデルから算出される挙動値を効率よく収束させることができる。 The correction term C is set to compensate for values that cannot be calculated by the model equation, such as values indicating behavior such as bending, twisting, and torsion. By setting this correction term C, the behavior value calculated from the model can be efficiently converged in the process of repeating the time step ti.

<M.調整量と補正項の設定>
図17に示した調整量a1,b1は、タイムステップti毎に対応のパラメータの値に加算(または減算)される値を示す。この調整量は、挙動が算出される対象の種類に依存して固定とすることもでき、または、ユーザが可変に設定することもできる。図18と図19は、本実施の形態に係る補正項Cと調整量a1,b1の設定を支援するUIの一例を模式的に示す図である。図20は、本実施の形態に係る補正項Cを説明する図である。設計者は、開発支援ツール20を操作してモデル16を作成する場合、調整量a1,b1および補正項Cを設定することができる。
<M. Setting of adjustment amount and correction term>
The adjustment amounts a1 and b1 shown in FIG. 17 indicate values to be added (or subtracted) from the value of the corresponding parameter at each time step ti. This amount of adjustment can be fixed depending on the type of object for which the behavior is being calculated, or it can be variably set by the user. 18 and 19 are diagrams schematically showing an example of a UI for assisting setting of correction term C and adjustment amounts a1 and b1 according to the present embodiment. FIG. 20 is a diagram for explaining the correction term C according to this embodiment. The designer can set the adjustment amounts a1 and b1 and the correction term C when operating the development support tool 20 to create the model 16 .

図18~図20を参照して、制御対象に対応の実機の挙動と当該制御対象のシミュレーションによって取得される挙動との間の差を最小にするような属性パラメータ16Cの最適化を説明する。 Optimization of the attribute parameter 16C to minimize the difference between the behavior of the actual machine corresponding to the controlled object and the behavior obtained by simulation of the controlled object will be described with reference to FIGS. 18 to 20. FIG.

設計者は、シミュレーション実行後の結果を確認して、最適化のために、調整量a1,b1および補正項Cを設定するシーンを説明する。図18を参照して、ディスプレイ109に表示されるUI画面125は、領域AE1とAE2を含む。領域AE2は、図5と同様に、シミュレーション結果のグラフを表示する領域91と、ビジュアライザ27が描画する制御対象の動きを表す3D画像を表示する領域93とを含む。また、UI画面125の領域AE1では、ガイド情報として、シミュレーションの対象の実機のデータセット5の指定操作を受け付ける選択肢と、領域91のグラフD1とグラフD2の差を表す情報52と、調整量a1,b1の設定を受け付けるための情報53と、補正項Cの設定を受け付けるための情報54と、ボタン58とが表示される。 The designer confirms the result after executing the simulation and explains the scene in which the adjustment amounts a1 and b1 and the correction term C are set for optimization. Referring to FIG. 18, UI screen 125 displayed on display 109 includes areas AE1 and AE2. The area AE2 includes, as in FIG. 5, an area 91 for displaying a graph of simulation results and an area 93 for displaying a 3D image representing the movement of the controlled object drawn by the visualizer 27. FIG. In addition, in the area AE1 of the UI screen 125, as guide information, an option for receiving a designation operation of the data set 5 of the real machine to be simulated, information 52 representing the difference between the graph D1 and the graph D2 in the area 91, and the adjustment amount a1 , b1, information 54 for accepting the setting of the correction term C, and a button 58 are displayed.

情報53は、モデルパラメータ16Aのうちのメカパラメータの調整量b1を設定するための情報531と、物理パラメータの調整量a1を設定するための情報532とを含む。調整量を設定可能なパラメータの種類は、指定されたデータセット5に基づき決定されている。すなわち、データセット5は、調整対象のパラメータの種類と調整量を有す。例えば、データセット5は、実機の軸161の長さ±10mmの幅でバラツク可能性があることを示す。情報53には、このようなバラツキの大きさ(幅)を数値で示す。設計者は、情報53が示すバラツキの幅に基づき、タイムステップti毎の調整量b1を設定する。 The information 53 includes information 531 for setting the mechanical parameter adjustment amount b1 among the model parameters 16A, and information 532 for setting the physical parameter adjustment amount a1. The types of parameters for which adjustment amounts can be set are determined based on the designated data set 5 . That is, the data set 5 has the types of parameters to be adjusted and the amount of adjustment. For example, data set 5 indicates that there is a possibility of variation in the length of the shaft 161 of the actual machine ±10 mm. The information 53 indicates the magnitude (width) of such variations as a numerical value. The designer sets the adjustment amount b1 for each time step ti based on the width of variation indicated by the information 53 .

設計者は、図18の領域91のグラフD1とグラフD2の差DDに基づき補正項Cの割合を設定できる。最適化は、差DDを小さくするように実施される。本実施の形態では、図20に示すように、差DDに占める補正項Cの値の割合(図20の斜線部)を情報54として設定すると、シミュレーションによって、(DD-C)の量(図20のクロスハッチ部)を小さくするような最適化が実施される。したがって、差DDに占める補正項Cの値の割合が大きいほど、最適化にかかる時間(すなわち、シミュレーション時間)の短縮化を期待できる。 The designer can set the ratio of the correction term C based on the difference DD between the graphs D1 and D2 in the area 91 of FIG. Optimization is performed to reduce the difference DD. In the present embodiment, as shown in FIG. 20, when the ratio of the value of the correction term C to the difference DD (shaded area in FIG. 20) is set as the information 54, the amount of (DD-C) ( 20 cross-hatched) is made smaller. Therefore, the larger the ratio of the value of the correction term C to the difference DD, the shorter the time required for optimization (that is, the simulation time) can be expected.

設計者は、調整量a1,b1および補正項Cを設定して、ボタン58を操作する。プロセッサ102は、モデル作成ツール24として、調整量a1,b1および補正項Cをモデル16に設定し、モデル16を更新し、更新されたモデル16を用いてシミュレーションを実施する。 The designer sets the adjustment amounts a1 and b1 and the correction term C, and operates the button 58. FIG. Processor 102, as model creation tool 24, sets adjustment amounts a1 and b1 and correction term C to model 16, updates model 16, and performs simulation using updated model 16. FIG.

シミュレーションの結果が、例えば図19のUI画面125で表示される。図19では、領域AE1において、更新されたモデル16に適用された調整量a1,b1を示す情報53A,53Bと補正項Cの情報54が表示される。また、領域91にはシミュレーション結果を示すグラフD3が追加表示されて、領域93では更新されたモデル16によって挙動が算出された駆動機器の制御対象に対応のオブジェクト(画像)は、ハイライト表示される。 The simulation result is displayed on the UI screen 125 of FIG. 19, for example. In FIG. 19, information 53A and 53B indicating the adjustment amounts a1 and b1 applied to the updated model 16 and information 54 of the correction term C are displayed in the area AE1. A graph D3 showing the simulation results is additionally displayed in the area 91, and an object (image) corresponding to the control target of the driving device whose behavior is calculated by the updated model 16 is highlighted in the area 93. be.

設計者は、差DDを最小化するようなグラフD3が取得されるように、シミュレーションを繰り返す。より具体的には、図18のUI画面125において、設計者は、調整量a1,b1をバラツキの大きさ(幅)内で変更し、また、補正項Cを変更し、変更後の調整量a1,b1および補正項Cをモデル16に設定する、このように更新されたモデル16を用いてシミュレーションは実施される。 The designer repeats the simulation so that the graph D3 that minimizes the difference DD is obtained. More specifically, on the UI screen 125 of FIG. 18, the designer changes the adjustment amounts a1 and b1 within the magnitude (width) of the variation, changes the correction term C, and adjusts the adjustment amount after the change. A simulation is performed using this updated model 16, setting a1, b1 and the correction term C in the model 16. FIG.

このようなシミュレーションの繰り返しにおいて、図19のUI画面125において、差DDを最小化するような挙動値を示すグラフD3が表示されたとき、設計者は最適化の完了を確認できる。なお、このようなシミュレーションを予め定められた回数繰り返し実行したとき、プロセッサ102は、差DDを閾値と比較し、比較の結果、差DDを十分に最小化できないと判定したときは、制御対象の実機の仕様が妥当でない旨を通知(出力)するようにしてもよい。 When such simulations are repeated, the designer can confirm the completion of the optimization when the UI screen 125 in FIG. 19 displays the graph D3 showing behavior values that minimize the difference DD. Note that when such a simulation is repeatedly executed a predetermined number of times, the processor 102 compares the difference DD with the threshold value, and when it is determined as a result of the comparison that the difference DD cannot be sufficiently minimized, the A notification (output) may be made to the effect that the specifications of the actual machine are not appropriate.

図19のUI画面では、さらにボタン561,571が表示される。ボタン561,571は、上記に述べた調整量a1,b1を含んだ値のモデルパラメータ16Aを、CADセット139の属性パラメータ16Cに反映するためのユーザ操作を受け付けるために表示される。ボタン561は、モデルパラメータ16Aのパラメータ毎に反映するためのユーザ操作を受け付ける。ボタン571は、モデルパラメータ16Aの全てのパラメータを、一括して属性パラメータ16Cに反映するためのユーザ操作を受け付ける。 On the UI screen of FIG. 19, buttons 561 and 571 are also displayed. Buttons 561 and 571 are displayed for accepting a user operation for reflecting the model parameters 16A having values including the adjustment amounts a1 and b1 described above in the attribute parameters 16C of the CAD set 139. FIG. A button 561 accepts a user operation for reflecting each parameter of the model parameters 16A. The button 571 accepts a user operation for collectively reflecting all parameters of the model parameters 16A to the attribute parameters 16C.

ボタン561または571が操作されたとき、プロセッサ102は、パラメータ反映ツール28として、モデルパラメータ16Aの各パラメータの値を、対応関係24Aの情報に基づき、当該パラメータに対応する属性パラメータ16Cのパラメータに反映する。このように、制御対象に対応の実機の挙動と当該制御対象のシミュレーションによって取得される挙動との間の差DDを最小にするような属性パラメータ16Cを有したCADセット139を取得できる。 When the button 561 or 571 is operated, the processor 102, as the parameter reflection tool 28, reflects the value of each parameter of the model parameter 16A to the parameter of the attribute parameter 16C corresponding to the parameter based on the information of the correspondence relationship 24A. do. In this way, a CAD set 139 having attribute parameters 16C that minimize the difference DD between the behavior of the actual machine corresponding to the controlled object and the behavior obtained by simulation of the controlled object can be obtained.

<N.CADセットのパラメータ更新処理のフローチャート>
制御対象に対応の実機が現場で部品交換などの修繕がされて、これに伴い、当該制御対象に対応のモデルパラメータ16Aを更新し、更新後のモデルパラメータ16Aを、当該制御対象の部品のCADセット139の属性パラメータ16Cに反映するケースを説明する。
<N. Flowchart of CAD Set Parameter Update Processing>
When the actual machine corresponding to the controlled object is repaired at the site, such as part replacement, the model parameters 16A corresponding to the controlled object are updated, and the updated model parameters 16A are used as the CAD of the parts to be controlled. The case reflected in the attribute parameter 16C of the set 139 will be described.

図21は、本実施の形態に係るCADセットのパラメータ更新処理のフローチャートである。図21を参照して、プロセッサ102が、開発支援ツール20を実行することによって、処理を説明する。図20の処理は、図12の処理のステップS7およびステップS13の処理を、ステップS7aおよびステップS13aに変更しているが、他の処理は図12と同じなので説明は繰り返さない。 FIG. 21 is a flowchart of CAD set parameter update processing according to the present embodiment. Processing will be described by processor 102 executing development support tool 20 with reference to FIG. 21 . In the process of FIG. 20, the processes of steps S7 and S13 of the process of FIG. 12 are changed to steps S7a and S13a, but other processes are the same as those of FIG.

プロセッサ102は、決定されたFBセット138の各FBに、制御パラメータ設定部23として、制御の仕方19cに基づく制御パラメータ20Bを設定し(ステップS5)、また、プロセッサ102は、CADセット139からモデルを作成する(ステップS7a)。モデル16を作成するとき、プロセッサ102は、CADセット139の属性パラメータ16Cとモデル16が有するモデルパラメータ16Aとの間の対応関係24Aの情報を作成する(ステップS7b)。 The processor 102 sets the control parameter 20B based on the control method 19c as the control parameter setting unit 23 to each FB of the determined FB set 138 (step S5). (step S7a). When creating the model 16, the processor 102 creates information on the correspondence 24A between the attribute parameters 16C of the CAD set 139 and the model parameters 16A of the model 16 (step S7b).

プロセッサ102は、シミュレータ21として、制御パラメータ20Bが設定された制御プログラム15およびモデルパラメータ16Aが設定されたモデル16を実行して、制御対象の駆動機器の挙動をシミュレーションし(ステップS10)、また、ビジュアライズ処理を実施する(ステップS11)。 The processor 102 executes, as the simulator 21, the control program 15 in which the control parameters 20B are set and the model 16 in which the model parameters 16A are set, to simulate the behavior of the drive equipment to be controlled (step S10), and A visualization process is performed (step S11).

シミュレーションにおいては、モデルパラメータ16Aを変更(調整)しながらシミュレーションを繰り返し実施する(ステップS12)。 In the simulation, the simulation is repeated while changing (adjusting) the model parameter 16A (step S12).

プロセッサ102は、シミュレーションによって最適化された制御パラメータ20Bおよびモデルパラメータ16Aを取得する。プロセッサ102は、パラメータ反映ツール28として、これら取得されたモデルパラメータ16Aを、対応関係24Aの情報に基づき、当該制御対象のCADセット139の属性パラメータ16Cに反映する(ステップS13a)。 Processor 102 acquires control parameters 20B and model parameters 16A optimized by simulation. The processor 102, as the parameter reflection tool 28, reflects the acquired model parameters 16A on the attribute parameters 16C of the CAD set 139 of the controlled object based on the information of the correspondence 24A (step S13a).

このように、現場の制御対象の駆動機器(実機)が修繕されたとしても、開発環境において、当該制御対象の駆動機器の挙動を算出するためのモデル16に、修繕後の実機の挙動を算出できるモデルパラメータ16Aを更新(変更)できるとともに、制御対象に対応のCADセット139の属性パラメータ16Cを、変更後のモデルパラメータ16Aに整合させておくことができる。 In this way, even if the driving device (actual device) to be controlled at the site is repaired, the behavior of the actual device after repair is calculated in the model 16 for calculating the behavior of the driving device to be controlled in the development environment. The model parameters 16A that can be controlled can be updated (changed), and the attribute parameters 16C of the CAD set 139 corresponding to the controlled object can be matched with the changed model parameters 16A.

このようにCADセット139が、最適化された属性パラメータ16Cを有する場合、シミュレーションにおいては、設定19bとして、最適化された属性パラメータ16Cに基づく設定を用いることもできる。 When the CAD set 139 has the optimized attribute parameters 16C in this way, settings based on the optimized attribute parameters 16C can also be used as the settings 19b in the simulation.

なお、本実施の形態では、情報処理装置10は、図12~図14に示す制御プログラムおよびモデルの作成ツールと、図21に示すCADセット139のパラメータ更新のツールの両方を備えるが、いずれか一方のみを備えるように構成されてもよい。 In the present embodiment, the information processing apparatus 10 includes both the control program and model creation tools shown in FIGS. 12 to 14 and the parameter update tool for the CAD set 139 shown in FIG. It may be configured to have only one.

<O.プログラム>
本実施の形態において提供される制御プログラム15またはモデル16などの開発環境は、主に、プロセッサ102がストレージ111に格納されたプログラムを読出し、主メモリ104に展開して、プロセッサ102が展開されたプログラムを解釈及び実行して、各構成要素を制御する。
<O. Program>
The development environment such as the control program 15 or the model 16 provided in the present embodiment mainly consists of reading the program stored in the storage 111 by the processor 102, developing it in the main memory 104, and A program is interpreted and executed to control each component.

開発環境を実現するためのプログラムおよびデータは、ネットワークインターフェイス110またはローカル通信インターフェイス116および通信回線を介してストレージ111にダウンロードされてもよい。または、記録媒体114を介してストレージ111にダウンロードされるとしてもよい。記録媒体114は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。情報処理装置10は、この記録媒体114から、開発環境を実現するためのプログラムまたはデータを取得してもよい。取得されたプログラムはプロセッサにより、またはプロセッサとASIC(Application Specific Integrated Circuit),FPGA(Field-Programmable Gate Array)などの回路との組合せにより実行され得る。 Programs and data for realizing the development environment may be downloaded to storage 111 via network interface 110 or local communication interface 116 and a communication line. Alternatively, it may be downloaded to the storage 111 via the recording medium 114 . The recording medium 114 stores information such as programs by electrical, magnetic, optical, mechanical or chemical action so that computers, other devices, machines, etc. can read the information such as programs. It is a medium to The information processing apparatus 10 may acquire programs or data for realizing the development environment from the recording medium 114 . The acquired program can be executed by a processor or by a combination of a processor and circuits such as ASIC (Application Specific Integrated Circuit) and FPGA (Field-Programmable Gate Array).

<P.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
情報処理システムであって、
情報処理システムは、
制御対象を駆動する駆動機器(56、410)の制御プログラム(15)を実行し前記駆動機器を制御するコントローラ(51)と、
前記制御プログラムを実行しその実行結果を用いて前記駆動機器の挙動をシミュレーションするシミュレータ(21)と、
前記駆動機器のオブジェクト(16D)を有するCADデータ(139)と、前記CADデータから作成される当該駆動機器の挙動を算出するためのモデルとを格納する格納部(113)と、を備え、
前記シミュレータは、前記制御プログラムの実行によって取得される指令値を入力として、前記駆動機器の前記モデルを実行することにより当該駆動機器の挙動を算出するアクチュエータエミュレータ(120)を有し、
前記CADデータは、さらに前記駆動機器の制御に関連した属性を示す1つ以上の属性パラメータ(16C)を有し、
前記モデルは、前記1つ以上の属性パラメータに対応する1つ以上のモデルパラメータ(16A)を有し、
前記情報処理システムは、さらに、
前記コントローラによって前記制御プログラムが実行されるとき、前記駆動機器の挙動を示す第1の挙動値(D1)を収集する第1収集部(60)と、
前記シミュレーションが実行されるとき前記アクチュエータエミュレータによって算出される前記挙動を示す第2の挙動値(D2)を収集する第2収集部(130)と、
前記第1収集部によって収集された前記第1の挙動値と、前記第2収集部によって収集された前記第2の挙動値との間の差(D3)に基づき、前記モデルの前記モデルパラメータ(16A)の値を調整する調整部(123)と、
前記調整部による調整後の前記モデルパラメータの値を、前記CADデータが有する前記属性パラメータに反映するパラメータ反映部(27)と、を備える、情報処理システム。
[構成2]
前記情報処理システムは、前記CADデータが有する前記1つ以上の属性パラメータと前記モデルが有する1つ以上のモデルパラメータとの間の対応関係(24A)を作成する、構成1に記載の情報処理システム。
[構成3]
記情報処理システムは、前記CADデータから前記モデルが作成されるとき、前記対応関係を作成する、構成2に記載の情報処理システム。
[構成4]
前記パラメータ反映部は、さらに、作成された前記対応関係に基づき、前記調整部による調整後の前記モデルパラメータの値を、前記CADデータが有する当該モデルパラメータに対応する属性パラメータに反映する、構成2または3に記載の情報処理システム。
[構成5]
前記第1収集部によって収集された前記第1の挙動値と、前記第2収集部によって収集された前記第2の挙動値とを、収集された時間に基づき互いに関連付けて出力する、構成1から4のいずれか1に記載の情報処理システム。
[構成6]
前記第1の挙動値および前記第2の挙動値は、それぞれ、時系列に収集された挙動値を含み、
前記関連付けは、挙動値を縦軸とし、前記時間軸を横軸とした2次元平面の上に、前記第1収集部によって収集された時系列の前記第1の挙動値と、前記第2収集部によって収集された時系列の前記第2の挙動値とを、収集された時間に基づきプロットすることを含む、構成5に記載の情報処理システム。
[構成7]
前記モデルパラメータは、前記駆動機器の機械的特性または物理的特性に基づくパラメータを含む、構成1から6のいずれか1項に記載の情報処理システム。
[構成8]
前記シミュレーションにおいて、
前記アクチュエータエミュレータによって実行されるモデルは、前記調整部によって調整された前記モデルパラメータを有するモデルを含む、構成1から7のいずれか1に記載の情報処理システム。
[構成9]
前記コントローラは、前記駆動機器の挙動を示す前記第1の挙動値を入力として、第1制御パラメータに基づき前記制御プログラムを実行し、
前記シミュレータは、前記アクチュエータエミュレータによって算出される挙動を示す前記第2の挙動値を入力として、第2制御パラメータに基づき前記制御プログラムを実行し、
前記調整部は、さらに、
前記第2制御パラメータを、前記第1制御パラメータに整合するように調整し、その後、前記モデルパラメータの調整を実施する、構成1から8のいずれか1に記載の情報処理システム。
[構成10]
前記第1の挙動値および前記第2の挙動値は、それぞれ、時系列に収集された挙動値を含み、
前記調整部は、
時系列に収集された前記第1の挙動値と、時系列に収集された前記第2の挙動値との間の同一時間または同一時刻での差に基づき、前記モデルパラメータを調整するためのガイド情報(103)を出力する、構成1から9のいずれか1に記載の情報処理システム。
[構成11]
前記ガイド情報は、調整対象のモデルパラメータを識別する情報(1342)と、当該モデルパラメータの調整量(134)とを含む、構成10に記載の情報処理システム。
[構成12]
ユーザ操作によって指定される調整対象のモデルパラメータおよび当該モデルパラメータの調整量に基づき、前記モデルが有する前記モデルパラメータを調整する、構成11に記載の情報処理システム。
[構成13]
前記シミュレータは、前記差が予め定められた条件を満たすまで、前記調整部によって前記調整が実施される毎に、調整後のモデルパラメータを有するモデルを実行するアクチュエータエミュレータを用いて前記シミュレーションを実行する、構成1から12のいずれか1に記載の情報処理システム。
[構成14]
情報処理システムにおいて実施される方法であって、
制御対象の駆動機器(56、410)を制御する制御プログラム(15)をコントローラ(51)に実行させるステップを備え、
前記情報処理システムは、前記駆動機器のオブジェクトを有するCADデータ(139)と、前記CADデータから作成される当該駆動機器の挙動を算出するためのモデル(16)とを格納する格納部(113)を備え、
前記方法は、さらに、
前記制御プログラムを実行しその実行結果を用いて前記駆動機器の挙動をシミュレーションするステップと、
前記シミュレーションするステップは、前記制御プログラムの実行によって取得される指令値を入力として、前記駆動機器の前記モデルを実行することにより当該駆動機器の挙動を算出するアクチュエータエミュレーションを実行するステップを含み、
前記CADデータは、さらに前記駆動機器の制御に関連した属性を示す1つ以上の属性パラメータ(16C)を有し、
前記モデルは、前記1つ以上の属性パラメータに対応する1つ以上のモデルパラメータ(16A)を有し、
前記方法は、さらに、
前記コントローラによって前記制御プログラムが実行されているとき、前記駆動機器の挙動を示す第1の挙動値(D1)を収集する第1収集ステップと、
前記シミュレーションが実行されるとき前記アクチュエータエミュレーションによって算出される前記挙動を示す第2の挙動値(D2)を収集する第2収集ステップと、
前記第1収集ステップにおいて収集された前記第1の挙動値と、前記第2収集ステップにおいて収集された前記第2の挙動値との間の差(D3)に基づき、前記モデルの前記モデルパラメータの値を調整するステップと、
前記調整するステップにおいて調整された前記モデルパラメータの値を、前記CADデータが有する属性パラメータに反映するステップと、を備える、方法。
[構成15]
構成14に記載の方法をコンピュータに実行させるプログラム。
<P. Note>
The present embodiment as described above includes the following technical ideas.
[Configuration 1]
An information processing system,
Information processing system
a controller (51) that executes a control program (15) for a drive device (56, 410) that drives a controlled object and controls the drive device;
a simulator (21) that executes the control program and uses the execution result to simulate the behavior of the driving device;
a storage unit (113) for storing CAD data (139) having an object (16D) of the driving equipment and a model for calculating the behavior of the driving equipment created from the CAD data;
The simulator has an actuator emulator (120) that calculates the behavior of the drive device by executing the model of the drive device with input of command values obtained by executing the control program,
the CAD data further comprises one or more attribute parameters (16C) indicating attributes related to control of the drive equipment;
said model having one or more model parameters (16A) corresponding to said one or more attribute parameters;
The information processing system further comprises:
a first collection unit (60) collecting a first behavior value (D1) indicating the behavior of the driving device when the control program is executed by the controller;
a second collection unit (130) collecting a second behavior value (D2) indicating the behavior calculated by the actuator emulator when the simulation is executed;
the model parameters of the model ( 16A) adjusting unit (123) for adjusting the value of
An information processing system, comprising: a parameter reflection unit (27) that reflects the value of the model parameter after adjustment by the adjustment unit to the attribute parameter of the CAD data.
[Configuration 2]
The information processing system according to configuration 1, wherein the information processing system creates a correspondence relationship (24A) between the one or more attribute parameters of the CAD data and the one or more model parameters of the model. .
[Configuration 3]
The information processing system according to configuration 2, wherein the information processing system creates the correspondence relationship when the model is created from the CAD data.
[Configuration 4]
Configuration 2, wherein the parameter reflection unit further reflects the value of the model parameter after adjustment by the adjustment unit in an attribute parameter corresponding to the model parameter included in the CAD data, based on the created correspondence relationship. Or the information processing system according to 3.
[Configuration 5]
From configuration 1, wherein the first behavior value collected by the first collection unit and the second behavior value collected by the second collection unit are output in association with each other based on the collection time 5. The information processing system according to any one of 4.
[Configuration 6]
the first behavior value and the second behavior value each include behavior values collected in time series;
The association is performed on a two-dimensional plane in which the vertical axis is the behavior value and the horizontal axis is the time axis. 6. The information processing system of configuration 5, comprising plotting the time series of the second behavior values collected by a unit based on the collected time.
[Configuration 7]
7. The information processing system according to any one of configurations 1 to 6, wherein the model parameters include parameters based on mechanical or physical properties of the drive equipment.
[Configuration 8]
In the simulation,
8. The information processing system according to any one of configurations 1 to 7, wherein the model executed by the actuator emulator includes a model having the model parameters adjusted by the adjustment unit.
[Configuration 9]
The controller receives as input the first behavior value indicating the behavior of the drive device and executes the control program based on a first control parameter,
The simulator receives as input the second behavior value indicating the behavior calculated by the actuator emulator, and executes the control program based on a second control parameter,
The adjustment unit further
9. The information handling system of any one of configurations 1-8, wherein the second control parameter is adjusted to match the first control parameter, and then the model parameter adjustment is performed.
[Configuration 10]
the first behavior value and the second behavior value each include behavior values collected in time series;
The adjustment unit
A guide for adjusting the model parameters based on the same-time or same-time difference between the first behavior value collected in time series and the second behavior value collected in time series. 10. The information processing system of any one of configurations 1-9, wherein the information (103) is output.
[Configuration 11]
11. The information processing system according to configuration 10, wherein the guide information includes information (1342) identifying a model parameter to be adjusted and an adjustment amount (134) of the model parameter.
[Configuration 12]
12. The information processing system according to configuration 11, wherein the model parameters of the model are adjusted based on a model parameter to be adjusted and an adjustment amount of the model parameter specified by a user operation.
[Configuration 13]
The simulator executes the simulation using an actuator emulator that executes a model having adjusted model parameters each time the adjustment is performed by the adjustment unit until the difference satisfies a predetermined condition. 13. The information processing system according to any one of the configurations 1 to 12.
[Configuration 14]
A method implemented in an information processing system, comprising:
comprising a step of causing a controller (51) to execute a control program (15) for controlling a drive device (56, 410) to be controlled;
The information processing system includes a storage unit (113) storing CAD data (139) having objects of the driving machine and a model (16) for calculating the behavior of the driving machine created from the CAD data. with
The method further comprises:
a step of executing the control program and simulating the behavior of the driving device using the execution result;
The step of simulating includes a step of performing actuator emulation for calculating the behavior of the drive device by executing the model of the drive device with the command value obtained by executing the control program as input,
the CAD data further includes one or more attribute parameters (16C) indicating attributes related to control of the drive equipment;
said model having one or more model parameters (16A) corresponding to said one or more attribute parameters;
The method further comprises:
a first collecting step of collecting a first behavior value (D1) indicating the behavior of the driving equipment when the control program is executed by the controller;
a second collecting step of collecting a second behavior value (D2) indicative of the behavior calculated by the actuator emulation when the simulation is performed;
of the model parameters of the model based on the difference (D3) between the first behavior value collected in the first collecting step and the second behavior value collected in the second collecting step; adjusting the value;
and a step of reflecting the values of the model parameters adjusted in the adjusting step in attribute parameters of the CAD data.
[Configuration 15]
A program that causes a computer to execute the method according to configuration 14.

今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the scope of the claims rather than the above description, and is intended to include all modifications within the scope and meaning equivalent to the scope of the claims.

1 情報処理システム、10 情報処理装置、15 制御プログラム、16 モデル、16A モデルパラメータ、16B 基本モデル、17 ペア、18 ビルダ、19 ユーザ設定、19a 制御対象、19b 設定、19c 制御の仕方、20 開発支援ツール、20A,20B,152 制御パラメータ、21 シミュレータ、22 制御プログラム作成ツール、23 制御パラメータ設定部、24 モデル作成ツール、24A 対応関係、25 モデルパラメータ設定部、26 紐付け部、27 ビジュアライザ、28 パラメータ反映ツール、402 トリガ、50 FAシステム、51 コントローラ、55 駆動機器、56,410 サーボモータ、60 第1収集部、62,63 PID演算、64,67,D1,D2,Y 挙動値、66,69 指令値、81 メカパラメータ、82 物理パラメータ、91,92,93 領域、94,95,96 ボタン、102 プロセッサ、103 ガイド情報、104 主メモリ、105 仮想空間情報、106 操作ユニット、108 出力ユニット、109 ディスプレイ、111 ストレージ、114 記録媒体、119 仮想時刻生成プログラム、120 コントローラエミュレータ、121 開発支援プログラム、122 仮想時刻ジェネレータ、123 調整ツール、124 アクチュエータエミュレータ、125 UI画面、126 シミュレーションプログラム、130 第2収集部、131 算出部、132 調整プログラム、134 管理プロフラム、135 ビジュアライザプログラム、136 描画データ、138 FBセット,139 CADセット、141 調整量決定部、142 調整実施部、143 出力部、400 包装機、401 計測値、406 切断機構、408 センサ、411 エンコーダ、412 包装材、414 ワーク、416 ロータリーナイフ、418 個別パッケージ、500A,500B サーボドライバ、741 演算式、1342 調整量、D3 差、G4,G5,D3 グラフ、1381,1391 対象ID、TR 目標。 1 information processing system, 10 information processing device, 15 control program, 16 model, 16A model parameter, 16B basic model, 17 pair, 18 builder, 19 user setting, 19a controlled object, 19b setting, 19c control method, 20 development support Tool, 20A, 20B, 152 control parameter, 21 simulator, 22 control program creation tool, 23 control parameter setting unit, 24 model creation tool, 24A correspondence, 25 model parameter setting unit, 26 linking unit, 27 visualizer, 28 parameter Reflection tool, 402 trigger, 50 FA system, 51 controller, 55 drive device, 56,410 servo motor, 60 first collection unit, 62, 63 PID calculation, 64, 67, D1, D2, Y behavior value, 66, 69 command value 81 mechanical parameter 82 physical parameter 91, 92, 93 area 94, 95, 96 button 102 processor 103 guide information 104 main memory 105 virtual space information 106 operation unit 108 output unit 109 Display, 111 Storage, 114 Recording Medium, 119 Virtual Time Generation Program, 120 Controller Emulator, 121 Development Support Program, 122 Virtual Time Generator, 123 Adjustment Tool, 124 Actuator Emulator, 125 UI Screen, 126 Simulation Program, 130 Second Collection Unit , 131 calculation unit, 132 adjustment program, 134 management program, 135 visualizer program, 136 drawing data, 138 FB set, 139 CAD set, 141 adjustment amount determination unit, 142 adjustment execution unit, 143 output unit, 400 packaging machine, 401 measurement Value, 406 cutting mechanism, 408 sensor, 411 encoder, 412 packaging material, 414 workpiece, 416 rotary knife, 418 individual package, 500A, 500B servo driver, 741 arithmetic expression, 1342 adjustment amount, D3 difference, G4, G5, D3 graph , 1381, 1391 Target ID, TR Target.

Claims (15)

情報処理システムであって、
前記情報処理システムは、
制御対象を駆動する駆動機器の制御プログラムを実行し前記駆動機器を制御するコントローラと、
前記制御プログラムを実行しその実行結果を用いて前記駆動機器の挙動をシミュレーションするシミュレータと、
前記駆動機器のオブジェクトを有するCADデータと、前記CADデータから作成される当該駆動機器の挙動を算出するためのモデルとを格納する格納部と、を備え、
前記シミュレータは、前記制御プログラムの実行によって取得される指令値を入力として、前記駆動機器の前記モデルを実行することにより当該駆動機器の挙動を算出するアクチュエータエミュレータを有し、
前記CADデータは、さらに前記駆動機器の制御に関連した属性を示す1つ以上の属性パラメータを有し、
前記モデルは、前記1つ以上の属性パラメータに対応する1つ以上のモデルパラメータを有し、
前記情報処理システムは、さらに、
前記コントローラによって前記制御プログラムが実行されるとき、前記駆動機器の挙動を示す第1の挙動値を収集する第1収集部と、
前記シミュレーションが実行されるとき前記アクチュエータエミュレータによって算出される前記挙動を示す第2の挙動値を収集する第2収集部と、
前記第1収集部によって収集された前記第1の挙動値と、前記第2収集部によって収集された前記第2の挙動値との間の差に基づき、前記モデルの前記モデルパラメータの値を調整する調整部と、
前記調整部による調整後の前記モデルパラメータの値を、前記CADデータが有する前記属性パラメータに反映するパラメータ反映部と、を備える、情報処理システム。
An information processing system,
The information processing system is
a controller that executes a control program for a drive device that drives a controlled object and controls the drive device;
a simulator that executes the control program and uses the execution result to simulate the behavior of the driving device;
a storage unit for storing CAD data having an object of the driving device and a model for calculating the behavior of the driving device created from the CAD data;
The simulator has an actuator emulator that calculates the behavior of the drive device by executing the model of the drive device with the command value acquired by executing the control program as an input,
The CAD data further includes one or more attribute parameters indicating attributes related to control of the drive equipment,
the model has one or more model parameters corresponding to the one or more attribute parameters;
The information processing system further comprises:
a first collection unit that collects a first behavior value indicating behavior of the drive device when the control program is executed by the controller;
a second collection unit that collects a second behavior value indicating the behavior calculated by the actuator emulator when the simulation is executed;
Adjusting values of the model parameters of the model based on differences between the first behavioral values collected by the first collecting unit and the second behavioral values collected by the second collecting unit. an adjustment unit that
an information processing system comprising: a parameter reflection unit that reflects the value of the model parameter after adjustment by the adjustment unit to the attribute parameter of the CAD data.
前記情報処理システムは、前記CADデータが有する前記1つ以上の属性パラメータと前記モデルが有する1つ以上のモデルパラメータとの間の対応関係を作成する、請求項1に記載の情報処理システム。 2. The information processing system according to claim 1, wherein said information processing system creates correspondence between said one or more attribute parameters of said CAD data and one or more model parameters of said model. 前記情報処理システムは、前記CADデータから前記モデルが作成されるとき、前記対応関係を作成する、請求項2に記載の情報処理システム。 3. The information processing system according to claim 2, wherein said information processing system creates said correspondence relationship when said model is created from said CAD data. 前記パラメータ反映部は、さらに、作成された前記対応関係に基づき、前記調整部による調整後の前記モデルパラメータの値を、前記CADデータが有する当該モデルパラメータに対応する属性パラメータに反映する、請求項2または3に記載の情報処理システム。 3. The parameter reflecting unit further reflects the value of the model parameter after adjustment by the adjusting unit to an attribute parameter corresponding to the model parameter included in the CAD data, based on the created correspondence relationship. 4. The information processing system according to 2 or 3. 前記第1収集部によって収集された前記第1の挙動値と、前記第2収集部によって収集された前記第2の挙動値とを、収集された時間に基づき互いに関連付けて出力する、請求項1から4のいずれか1項に記載の情報処理システム。 2. The first behavior value collected by the first collection unit and the second behavior value collected by the second collection unit are output in association with each other based on the collection time. 5. The information processing system according to any one of items 4 to 4. 前記第1の挙動値および前記第2の挙動値は、それぞれ、時系列に収集された挙動値を含み、
前記関連付けは、挙動値を縦軸とし、時間軸を横軸とした2次元平面の上に、前記第1収集部によって収集された時系列の前記第1の挙動値と、前記第2収集部によって収集された時系列の前記第2の挙動値とを、収集された時間に基づきプロットすることを含む、請求項5に記載の情報処理システム。
the first behavior value and the second behavior value each include behavior values collected in time series;
The association is performed by plotting the first behavior values in time series collected by the first collection unit and the second collection unit on a two-dimensional plane in which the vertical axis is the behavior value and the horizontal axis is the time axis. 6. The information processing system of claim 5, comprising plotting the time series of the second behavior values collected by and based on the time collected.
前記モデルパラメータは、前記駆動機器の機械的特性または物理的特性に基づくパラメータを含む、請求項1から6のいずれか1項に記載の情報処理システム。 The information processing system according to any one of claims 1 to 6, wherein said model parameters include parameters based on mechanical or physical properties of said drive equipment. 前記シミュレーションにおいて、
前記アクチュエータエミュレータによって実行されるモデルは、前記調整部によって調整された前記モデルパラメータを有するモデルを含む、請求項1から7のいずれか1に記載の情報処理システム。
In the simulation,
8. The information processing system according to any one of claims 1 to 7, wherein the model executed by said actuator emulator includes a model having said model parameters adjusted by said adjustment unit.
前記コントローラは、前記駆動機器の挙動を示す前記第1の挙動値を入力として、第1制御パラメータに基づき前記制御プログラムを実行し、
前記シミュレータは、前記アクチュエータエミュレータによって算出される挙動を示す前記第2の挙動値を入力として、第2制御パラメータに基づき前記制御プログラムを実行し、
前記調整部は、さらに、
前記第2制御パラメータを、前記第1制御パラメータに整合するように調整し、その後、前記モデルパラメータの調整を実施する、請求項1から8のいずれか1項に記載の情報処理システム。
The controller receives as input the first behavior value indicating the behavior of the drive device and executes the control program based on a first control parameter,
The simulator receives as input the second behavior value indicating the behavior calculated by the actuator emulator, and executes the control program based on a second control parameter,
The adjustment unit further
9. An information handling system according to any one of the preceding claims, wherein the second control parameter is adjusted to match the first control parameter, after which adjustment of the model parameter is performed.
前記第1の挙動値および前記第2の挙動値は、それぞれ、時系列に収集された挙動値を含み、
前記調整部は、
時系列に収集された前記第1の挙動値と、時系列に収集された前記第2の挙動値との間の同一時間または同一時刻での差に基づき、前記モデルパラメータを調整するためのガイド情報を出力する、請求項1から9のいずれか1項に記載の情報処理システム。
the first behavior value and the second behavior value each include behavior values collected in time series;
The adjustment unit
A guide for adjusting the model parameters based on the same-time or same-time difference between the first behavior value collected in time series and the second behavior value collected in time series. 10. The information processing system according to any one of claims 1 to 9, which outputs information.
前記ガイド情報は、調整対象のモデルパラメータを識別する情報と、当該モデルパラメータの調整量とを含む、請求項10に記載の情報処理システム。 11. The information processing system according to claim 10, wherein said guide information includes information identifying a model parameter to be adjusted and an adjustment amount of said model parameter. ユーザ操作によって指定される調整対象のモデルパラメータおよび当該モデルパラメータの調整量に基づき、前記モデルが有する前記モデルパラメータを調整する、請求項11に記載の情報処理システム。 12. The information processing system according to claim 11, wherein the model parameters of the model are adjusted based on a model parameter to be adjusted and an adjustment amount of the model parameter specified by a user operation. 前記シミュレータは、前記差が予め定められた条件を満たすまで、前記調整部によって前記調整が実施される毎に、調整後のモデルパラメータを有するモデルを実行するアクチュエータエミュレータを用いて前記シミュレーションを実行する、請求項1から12のいずれか1項に記載の情報処理システム。 The simulator executes the simulation using an actuator emulator that executes a model having adjusted model parameters each time the adjustment is performed by the adjustment unit until the difference satisfies a predetermined condition. 13. The information processing system according to any one of claims 1 to 12. 情報処理システムにおいて実施される方法であって、
制御対象の駆動機器を制御する制御プログラムをコントローラに実行させるステップを備え、
前記情報処理システムは、前記駆動機器のオブジェクトを有するCADデータと、前記CADデータから作成される当該駆動機器の挙動を算出するためのモデルとを格納する格納部を備え、
前記方法は、さらに、
前記制御プログラムを実行しその実行結果を用いて前記駆動機器の挙動をシミュレーションするステップと、
前記シミュレーションするステップは、前記制御プログラムの実行によって取得される指令値を入力として、前記駆動機器の前記モデルを実行することにより当該駆動機器の挙動を算出するアクチュエータエミュレーションを実行するステップを含み、
前記CADデータは、さらに前記駆動機器の制御に関連した属性を示す1つ以上の属性パラメータを有し、
前記モデルは、前記1つ以上の属性パラメータに対応する1つ以上のモデルパラメータを有し、
前記方法は、さらに、
前記コントローラによって前記制御プログラムが実行されているとき、前記駆動機器の挙動を示す第1の挙動値を収集する第1収集ステップと、
前記シミュレーションが実行されるとき前記アクチュエータエミュレーションによって算出される前記挙動を示す第2の挙動値を収集する第2収集ステップと、
前記第1収集ステップにおいて収集された前記第1の挙動値と、前記第2収集ステップにおいて収集された前記第2の挙動値との間の差に基づき、前記モデルの前記モデルパラメータの値を調整するステップと、
前記調整するステップにおいて調整された前記モデルパラメータの値を、前記CADデータが有する属性パラメータに反映するステップと、を備える、方法。
A method implemented in an information processing system, comprising:
comprising a step of causing a controller to execute a control program for controlling a drive device to be controlled;
The information processing system includes a storage unit for storing CAD data having objects of the driving equipment and a model for calculating the behavior of the driving equipment created from the CAD data,
The method further comprises:
a step of executing the control program and simulating the behavior of the driving device using the execution result;
The step of simulating includes a step of executing actuator emulation for calculating the behavior of the driving device by executing the model of the driving device with the command value obtained by executing the control program as input,
The CAD data further includes one or more attribute parameters indicating attributes related to control of the drive equipment,
the model has one or more model parameters corresponding to the one or more attribute parameters;
The method further comprises:
a first collecting step of collecting a first behavior value indicating the behavior of the drive device when the control program is executed by the controller;
a second collecting step of collecting a second behavior value indicative of the behavior calculated by the actuator emulation when the simulation is performed;
Adjusting values of the model parameters of the model based on differences between the first behavioral values collected in the first collecting step and the second behavioral values collected in the second collecting step. and
and a step of reflecting the values of the model parameters adjusted in the adjusting step in attribute parameters of the CAD data.
請求項14に記載の方法をプロセッサに実行させるためのプログラム。
A program for causing a processor to execute the method according to claim 14.
JP2022019276A 2022-02-10 2022-02-10 Information processing system, method, and program Pending JP2023116902A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022019276A JP2023116902A (en) 2022-02-10 2022-02-10 Information processing system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022019276A JP2023116902A (en) 2022-02-10 2022-02-10 Information processing system, method, and program

Publications (1)

Publication Number Publication Date
JP2023116902A true JP2023116902A (en) 2023-08-23

Family

ID=87580007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022019276A Pending JP2023116902A (en) 2022-02-10 2022-02-10 Information processing system, method, and program

Country Status (1)

Country Link
JP (1) JP2023116902A (en)

Similar Documents

Publication Publication Date Title
JP4905597B1 (en) Controller support device, controller support program to be executed in the device, and recording medium storing the program
JP6409557B2 (en) Control device, controller system, output control method, and program
JP2019036014A (en) Information processing apparatus, information processing method and program
JP2018180764A (en) Adjusting device and adjustment method
JP4748286B1 (en) Controller support apparatus, controller support program to be executed in the apparatus, recording medium storing the program, and method for estimating execution time of control program
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
EP3460602B1 (en) Control apparatus and control method
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP7294085B2 (en) Control system, control device and control method
US11137728B2 (en) Processing device, control parameter determination method, and non-transitory recording medium storing a control parameter determination program
JP6867307B2 (en) Systems and methods to replace live state control / estimation applications with staged applications
WO2019202934A1 (en) Information processing system, information processing method, and information processing program
US20210142207A1 (en) A method and apparatus for providing an adaptive self-learning control program for deployment on a target field device
WO2022190558A1 (en) Information processing device, method, and program
WO2022190559A1 (en) Information processing system, method, and program
JP2023116902A (en) Information processing system, method, and program
JP4858112B2 (en) Control program generation method and control program generation apparatus
JP7247808B2 (en) Control system, analysis method and program
US11146191B2 (en) Simulation device, simulation method, and simulation program for a motor control device
WO2022162959A1 (en) Control system, robot controller, and control method
WO2021024523A1 (en) Control device
JP2021144627A (en) Control system and support device
JP2020129292A (en) Control device and control program