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

JP7600788B2 - Information processing device, method and program - Google Patents

Information processing device, method and program Download PDF

Info

Publication number
JP7600788B2
JP7600788B2 JP2021039409A JP2021039409A JP7600788B2 JP 7600788 B2 JP7600788 B2 JP 7600788B2 JP 2021039409 A JP2021039409 A JP 2021039409A JP 2021039409 A JP2021039409 A JP 2021039409A JP 7600788 B2 JP7600788 B2 JP 7600788B2
Authority
JP
Japan
Prior art keywords
control
model
behavior
program
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.)
Active
Application number
JP2021039409A
Other languages
Japanese (ja)
Other versions
JP2022139150A (en
Inventor
孝宏 大串
昭朗 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2021039409A priority Critical patent/JP7600788B2/en
Priority to PCT/JP2021/047278 priority patent/WO2022190558A1/en
Publication of JP2022139150A publication Critical patent/JP2022139150A/en
Application granted granted Critical
Publication of JP7600788B2 publication Critical patent/JP7600788B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Feedback Control In General (AREA)

Description

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

様々な生産現場において、生産工程を自動化するためのFAシステムが普及している。FAシステムは生産工程に備えられる制御対象の機器と、制御プログラムを実行するPLC(Programmable Logic Controller)などの制御装置を備える。 FA systems for automating production processes are becoming commonplace at various production sites. FA systems are equipped with the equipment to be controlled that is installed in the production process, and control devices such as PLCs (Programmable Logic Controllers) that execute control programs.

通常、設計者は、制御プログラムの開発にシミュレータを利用することができる。シミュレータは、制御対象の制御プログラムを実行し、その実行結果を用いて当該制御対象の挙動を算出するためのモデルを実行する。シミュレーションを支援するための技術に関し、特開2016-42378号公報(特許文献1)は、視覚センサを含めた統合的なシミュレーションを実現することが可能なシミュレーション装置を開示する。 Designers can usually use a simulator to develop a control program. The simulator executes the control program for the controlled object, and executes a model to calculate 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は、制御プログラムと対応のモデルを取得する仕組みは提案していない。 The diversity of production sites is increasing, and in order to keep up with this diversity, there is a demand for an easy way to obtain the control programs of the controlled objects and the models of the devices that drive the controlled objects. Patent Document 1 does not propose a mechanism for obtaining the control programs and the corresponding models.

本開示は、制御対象の制御プログラムと当該制御対象の駆動機器のモデルとを簡単に取得できる構成を提供することである。 The present disclosure provides a configuration that allows easy acquisition of a control program for a controlled object and a model of the driving device for the controlled object.

本開示にかかる情報処理装置は、当該情報処理装置に対するユーザ操作を受付ける操作受付手段と、複数の制御対象のそれぞれについて、当該制御対象を駆動する駆動機器を制御するための1つ以上のプログラム要素を格納する格納手段と、ユーザ操作により指定された制御対象に対応する1つ以上のプログラム要素を格納手段から検索し、検索された1つ以上のプログラム要素に、ユーザ操作により指定された駆動機器の制御の仕方に基づく制御パラメータを設定して制御プログラムを作成するプログラム作成手段と、プログラム作成手段が作成した制御プログラムを、ユーザ操作により指定された制御対象の駆動機器の挙動を算出するためのモデルに紐付けて管理する管理手段と、を備える。 The information processing device according to the present disclosure includes an operation receiving means for receiving a user operation on the information processing device, a storage means for storing, for each of a plurality of control objects, one or more program elements for controlling a moving device that drives the control object, a program creating means for searching the storage means for one or more program elements corresponding to the control object specified by the user operation and setting control parameters based on the method of controlling the moving device specified by the user operation to the searched one or more program elements to create a control program, and a management means for managing the control program created by the program creating means by linking it to a model for calculating the behavior of the moving device of the control object specified by the user operation.

上述の開示によれば、ユーザが指定した制御対象と制御の仕方に基づく制御プログラムを作成し、作成された制御プログラムをモデルに紐付けて管理する。これにより、ユーザは制御対象と制御の仕方を指定することで、制御対象の制御プログラムと当該制御対象の駆動機器のモデルとを簡単に取得できる。 According to the above disclosure, a control program is created based on the control target and control method specified by the user, and the created control program is linked to a model and managed. This allows the user to easily obtain the control program for the control target and a model of the driving device for the control target by specifying the control target and the control method.

上述の開示において、情報処理装置は、ユーザ操作により設定された駆動機器の機械的特性または物理的特性に基づくモデルパラメータをモデルに設定するモデル作成手段を、さらに備える。 In the above disclosure, the information processing device further includes a model creation means for setting model parameters based on the mechanical or physical characteristics of the moving device set by a user operation to the model.

上述の開示によれば、情報処理装置は、ユーザ設定を受け付けることで、ユーザ設定に基づくモデルパラメータを有するモデルを作成できて、作成に要する時間を短縮できる。 According to the above disclosure, by accepting user settings, the information processing device can create a model having model parameters based on the user settings, thereby reducing the time required for creation.

上述の開示において、情報処理装置は、駆動機器と当該駆動機器を制御するコントローラの挙動を算出するシミュレーションを実行するシミュレータを、さらに備え、シミュレーションは、制御プログラムを実行し、駆動機器を制御するための指令値を出力する処理と、指令値を入力としてモデルを実行し、駆動機器の挙動を示す挙動値を算出する処理と、を備え、シミュレータは、モデルによって算出された挙動値を入力として制御プログラムを実行し、シミュレーションが実行されているときに挙動値を収集する収集手段と、収集手段によって収集された挙動値と、当該挙動値に関連付けて目標の挙動値とを出力する手段を、さらに備える。 In the above disclosure, the information processing device further includes a simulator that executes a simulation to calculate the behavior of the moving equipment and a controller that controls the moving equipment, and the simulation includes a process of executing a control program and outputting a command value for controlling the moving equipment, and a process of executing a model using the command value as input and calculating a behavior value that indicates the behavior of the moving equipment, and the simulator further includes a collection means that executes the control program using the behavior value calculated by the model as input and collects the behavior values while the simulation is being executed, and a means for outputting the behavior values collected by the collection means and a target behavior value associated with the behavior value.

上述の開示によれば、情報処理装置は、シミュレーションして算出される駆動機器の挙動を、目標の挙動に関連付けて、ユーザに提示できる。 According to the above disclosure, the information processing device can present to the user the behavior of the moving machine calculated through simulation in association with the target behavior.

上述の開示において、情報処理装置は、収集された挙動値と目標の挙動値との間の差の大きさに基づき、制御パラメータまたはモデルパラメータを調整するためのガイド情報を出力する調整手段を、さらに備える。 In the above disclosure, the information processing device further includes an adjustment means for outputting guide information for adjusting the control parameters or model parameters based on the magnitude of the difference between the collected behavior values and the target behavior values.

上述の開示によれば、情報処理装置は、パラメータを調整するためのガイド情報をユーザに提示することができる。 According to the above disclosure, the information processing device can present the user with guide information for adjusting parameters.

上述の開示において、上記のガイド情報は、調整対象のパラメータの識別子と、上記の差が小さくなるような当該パラメータの調整量とを含む。 In the above disclosure, the guide information includes an identifier for the parameter to be adjusted and an amount of adjustment for that parameter to reduce the difference.

上述の開示によれば、情報処理装置は、ガイド情報によって、ユーザに、調整対象のパラメータとその調整量を提示して、調整の目安を提供できる。 According to the above disclosure, the information processing device can provide the user with a guide for adjustment by presenting the parameters to be adjusted and the amount of adjustment through the guide information.

上述の開示においては、情報処理装置は、ユーザ操作によって指定される調整対象のパラメータおよび当該パラメータの調整量に基づき、制御プログラムに設定されている制御パラメータまたはモデルに設定されているモデルパラメータを調整する調整処理を実施する。 In the above disclosure, the information processing device performs an adjustment process to adjust the control parameters set in the control program or the model parameters set in the model, based on the parameters to be adjusted and the adjustment amounts of the parameters specified by a user operation.

上述の開示によれば、情報処理装置は、調整後のパラメータを制御プログラムまたはモデルに再設定できる。 According to the above disclosure, the information processing device can reset the adjusted parameters to the control program or model.

上述の開示において、シミュレータは、上記の差が予め定められた値に収束するまで、上記の調整処理が実施される毎に、上記のシミュレーションを実行する。 In the above disclosure, the simulator executes the above simulation each time the above adjustment process is performed until the above difference converges to a predetermined value.

上述の開示によれば、情報処理装置は、差が収束するまで、調整後パラメータでシミュレーションを繰返し実施する。したがって、差が収束すると、パラメータ調整とシミュレーションは自動で停止されるので、調整に要する時間を短縮される。 According to the above disclosure, the information processing device repeatedly performs a simulation with the adjusted parameters until the difference converges. Therefore, when the difference converges, the parameter adjustment and simulation are automatically stopped, thereby reducing the time required for adjustment.

本開示の他の局面によれば、方法は、ユーザ操作を受付けるステップと、ユーザ操作により指定された制御対象を駆動する駆動機器を制御するための1つ以上のプログラム要素に、ユーザ操作により指定された当該駆動機器の制御の仕方に基づく制御パラメータを設定して制御プログラムを作成するステップと、作成するステップにおいて作成された制御プログラムを、ユーザ操作により指定された制御対象に対応の駆動機器の挙動を算出するためのモデルに紐付けて管理するステップと、を備える。 According to another aspect of the present disclosure, the method includes a step of accepting a user operation, a step of creating a control program by setting control parameters based on a method of controlling the movable equipment specified by the user operation to one or more program elements for controlling the movable equipment that drives the control target specified by the user operation, and a step of managing the control program created in the creating step by linking it to a model for calculating the behavior of the movable equipment corresponding to the control target specified by the user operation.

上述の開示によれば、方法が実施されると、ユーザが指定した制御対象と制御の仕方に基づく制御プログラムが作成され、作成された制御プログラムをモデルに紐付けて管理される。これにより、ユーザは制御対象と制御の仕方を指定することで、制御対象の制御プログラムと当該制御対象の駆動機器のモデルとを簡単に取得できる。 According to the above disclosure, when the method is carried out, a control program is created based on the control target and control method specified by the user, and the created control program is linked to a model and managed. This allows the user to easily obtain the control program for the control target and a model of the driving device for the control target by specifying the control target and the control method.

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

上述に開示においては、プロセッサがプログラムを実行すると、ユーザが指定した制御対象と制御の仕方に基づく制御プログラムが作成され、作成された制御プログラムをモデルに紐付けて管理される。これにより、ユーザは制御対象と制御の仕方を指定することで、制御対象の制御プログラムと当該制御対象の駆動機器のモデルとを簡単に取得できる。 In the above disclosure, when the processor executes a program, a control program is created based on the control target and control method specified by the user, and the created control program is linked to a model and managed. This allows the user to easily obtain the control program for the control target and a model of the driving device for the control target by specifying the control target and the control method.

本開示によれば、制御対象の制御プログラムと、制御対象の駆動機器のモデルとを簡単に取得できる。 According to this disclosure, it is possible to easily obtain the control program for the controlled object and the model of the driving device for the controlled object.

本実施の形態に係る情報処理システム1の構成を模式的に示す図である。1 is a diagram illustrating a schematic configuration of an information processing system 1 according to an embodiment of the present invention. 本実施の形態に係る開発環境の一例を模式的に示す図である。FIG. 1 is a diagram illustrating an example of a development environment according to an embodiment of the present invention. 本実施の形態に係る制御対象を有するFAシステム50の構成を模式的に示す図である。1 is a diagram illustrating a schematic configuration of an FA system 50 having a control target according to an embodiment of the present invention. 本実施の形態に係る制御プログラム15の一例を模式的に示す図である。FIG. 2 is a diagram illustrating an example of a control program 15 according to the present embodiment. 本実施の形態に係るパラメータの作成を支援するUIの一例を模式的に示す図である。10 is a diagram illustrating an example of a UI that supports parameter creation according to the present embodiment. FIG. 本実施の形態に係るモデル16の演算式741の一例を示す図である。FIG. 7 is a diagram showing an example of an arithmetic expression 741 of a model 16 according to the present embodiment. 本実施の形態に係る制御対象を指定するUIの一例を示す図である。11 is a diagram showing an example of a UI for designating a control target according to the present embodiment; FIG. 本実施の形態に係るモデルパラメータを指定するUIの一例を示す図である。11 is a diagram showing an example of a UI for designating model parameters according to the embodiment; FIG. 本実施の形態に係る実機の出力に基づく調整の構成の一例を示す図である。FIG. 13 is a diagram showing an example of a configuration for adjustment based on an output of an actual machine according to the present embodiment; 本実施の形態に係る調整処理のためのUIの一例を示す図である。FIG. 11 is a diagram showing an example of a UI for adjustment processing according to the present embodiment. 本実施の形態に係る情報処理装置10の構成の一例を示す模式図である。1 is a schematic diagram showing an example of a configuration of an information processing device 10 according to the present embodiment. 本実施の形態に係る作成処理のフローチャートである。11 is a flowchart of a creation process according to the present embodiment. 本実施の形態に係る実機の出力に基づく調整処理のフローチャートである。11 is a flowchart of an adjustment process based on an output of an actual machine according to the present embodiment. 本実施の形態に係る実機の出力に基づく調整処理のフローチャートである。11 is a flowchart of an adjustment process based on an output of an actual machine according to the present embodiment.

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

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

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

情報処理装置10は、ビルダ18によって変換された制御プログラム15を、実機を制御するコントローラ51に転送する。コントローラ51は、転送された制御プログラム15を実行することによって実機を制御する。コントローラ51は、典型的にはPLCを含むが、PLCの名称に限定されず、コントローラは実機を制御する制御装置全般を指す概念である。 The information processing device 10 transfers the control program 15 converted by the builder 18 to a 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 controller is a general concept that refers to a control device that controls the actual machine.

制御プログラム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 programming language (for example, a ladder language or a ST (Structured Text) language). More specifically, the control program 15 includes a ladder program having FU (Function), FB (Function Block), etc. as program elements that are basic components called POU (Program Organization Unit) that make up a user program. The control program 15 is not limited to programs written in a cyclic execution type programming language such as a ladder program, and may also include, for example, programs written in a sequential execution type language. In this embodiment, FBs are mainly described as program elements that make up the control program 15, but this embodiment can be similarly applied to FUs.

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

記憶部は、制御対象になり得る複数の機械それぞれについて、当該機械を識別する対象ID1381を有するFB(Function Block)セット138と、当該機械を識別する対象ID1391を有するCAD(Computer-Aided Design)セット139とを格納するとともに、後述するペア17を格納する。FBセット138は、対応の機械を制御するための制御演算処理を実現する1または複数のFBを含む。CADセット139は、対応の機械の3次元形状を表す1または複数の画像のデータとともに、制御対象(機械)の駆動機器の基本モデル16Bを含む。基本モデル16Bは、未だ、具体的なモデルパラメータが未設定のモデル、例えば初期値のモデルパラメータが設定された状態のモデルを示す。 The storage unit stores, for each of a number of machines that can be controlled, an FB (Function Block) set 138 having an object ID 1381 that identifies the machine, and a CAD (Computer-Aided Design) set 139 having an object ID 1391 that identifies the machine, as well as pairs 17, which will be described later. The FB set 138 includes one or more FBs that realize control calculation processing for controlling the corresponding machine. The CAD set 139 includes a basic model 16B of the driving equipment of the controlled object (machine) along with data of one or more images that represent the three-dimensional shape of the corresponding machine. The basic model 16B indicates a model in which specific model parameters have not yet been set, for example a model in which initial model parameters have been set.

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

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

モデル作成ツール24は、ユーザ設定19の制御対象19aに識別子に基づき、記憶部から当該識別子に一致する対象ID1391のCADセット139と基本モデル16Bを検索する。モデルパラメータ設定部25は、検索された基本モデル16Bに、ユーザ設定19の設定19bに基づくモデルの仕様に基づくモデルパラメータを設定することにより、モデル16を作成する。なお、基本モデル16Bは、ユーザ設定19の設定19bによって提供されてもよい。 The model creation tool 24 searches the storage unit for a CAD set 139 and a basic model 16B with an object ID 1391 that matches the identifier of the control object 19a in the user settings 19. The model parameter setting unit 25 creates a model 16 by setting model parameters based on the model specifications based on the settings 19b of the user settings 19 to the searched basic model 16B. The basic model 16B may be provided by the settings 19b of the user settings 19.

より具体的には、モデルは制御対象の駆動機器(実機)の挙動を算出する物理演算式を含む各種演算式で示されて、モデルパラメータは、当該モデルの演算式に設定されるべきパラメータを表す。モデルパラメータは、実機の機械的特性と物理的特性のパラメータを含む。設定19bは機械的特性と物理的特性とを示す。機械的特性に基づくパラメータ(以下、メカパラメータともいう)は、サイズ、位置などに基づくパラメータを含み、物理的特性のパラメータ(以下、物理パラメータともいう)は、摩擦係数、質量(重さ)などに基づくパラメータを含む。物理パラメータは、例えば、駆動機器がサーボモータを含んで構成される場合、摩擦係数は、モータ軸受けの摩擦係数を含み得る。なお、メカパラメータおよび物理パラメータの種類はこれらに限定されない。 More specifically, the model is represented by various arithmetic expressions including physical arithmetic expressions that calculate the behavior of the driving equipment (actual equipment) to be controlled, and the model parameters represent parameters to be set in the arithmetic expressions of the model. The model parameters include parameters of the mechanical characteristics and physical characteristics of the actual equipment. Setting 19b indicates the mechanical characteristics and physical characteristics. Parameters based on the mechanical characteristics (hereinafter also referred to as mechanical parameters) include parameters based on size, position, etc., and parameters of the physical characteristics (hereinafter also referred to as physical parameters) include parameters based on friction coefficient, mass (weight), etc. For example, when the driving equipment is configured to include a servo motor, the physical parameter may include the friction coefficient of the motor bearing. Note that the types of mechanical parameters and physical parameters are not limited to these.

開発支援ツール20は、制御パラメータが設定された制御プログラム15およびモデルパラメータが設定されたモデル16を、シミュレータ21を用いて実行することにより、制御パラメータが調整された制御プログラム15を取得し、調整後の制御プログラム15をコントローラ51に転送する。 The development support tool 20 executes the control program 15 in which the control parameters are set and the model 16 in which the model parameters are set using the simulator 21 to obtain the control program 15 in which the control parameters are adjusted, and transfers the adjusted control program 15 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 using the control command value as an input, and outputs the calculated behavior value indicating the behavior of the actual machine as an input to the control program 15. The simulator 21 repeatedly executes this series of processes for each time step ti (i = 1, 2, 3 ...) described below. In this way, the simulator 21 can estimate the behavior of the actual machine when it is controlled by the control program 15 by executing the control program 15 and the model 16. In this embodiment, "calculating the behavior" refers to a concept that can include "estimating the behavior" or "simulating the behavior".

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

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

設計者は、開発支援ツール20を操作して、制御プログラム15を開発するとき、制御プログラム作成ツール22を操作することにより、仕様を満たす挙動値を導出できるように制御パラメータを調整し、制御プログラム15を作成する。また、設計者は、開発支援ツール20を操作して、モデルパラメータを調整することによって、モデル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 as to derive behavior values that satisfy the specifications, and creates the control program 15. The designer also operates the development support tool 20 to adjust the model parameters, thereby creating the model 16.

より具体的には、シミュレータ21は、周期なタイムステップti毎に、制御プログラム15とモデル16を実行する。シミュレーションの開始時に、モデル16は設定19bが示すモデルパラメータが設定されて、制御プログラム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 parameters indicated by the settings 19b are set in the model 16, and the control program 15 is set with control parameters based on the control method 19c. At the time step ti, the control program 15 is executed using the behavior value from the model 16 as an input, and the model 16 is executed using the command value from the control program 15 as an input to calculate the behavior value. At the next time step t(i+1), the control program 15 is executed using the behavior value calculated at the immediately preceding time step ti as an input. In this way, the simulator 21 derives the time-series behavior value for each time step ti.

シミュレータ21から導出された時系列の挙動値が、仕様に示される目標の挙動値から乖離している場合、開発支援ツール20は、設計者のユーザ操作に基づき、乖離の程度に基づき制御パラメータを調整し、調整後の制御パラメータが設定された制御プログラム15を用いて、上記のシミュレーションを実施する。開発支援ツール20は、シミュレータ21から導出される時系列の挙動値が、目標の挙動値に整合すると検出されるまで、制御パラメータを調整しながら、シミュレーションを繰り返し実行する。このとき、開発支援ツール20は、ユーザ操作に基づき、モデルパラメータを調整し、調整後のモデル16を用いてシミュレーションを実行してもよい。 If 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 user operation of the designer, and performs the above simulation using the control program 15 in which the adjusted control parameters are set. The development support tool 20 repeatedly performs 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 based on the user operation, and perform the simulation using the adjusted model 16.

紐付け部26は、制御プログラム15をモデル16に紐付けてペア17で格納することにより管理する管理手段の一実施例である。より具体的は、開発支援ツール20は、シミュレータ21から導出される時系列の挙動値が、目標の挙動値に整合すると検出したときに、紐付け部26は、調整後の制御パラメータが設定された制御プログラム15をモデル16(または調整後のモデルパラメータが設定されたモデル16)に紐付けて、ペア17を生成し格納する。 The linking unit 26 is an example of a management means that manages the control program 15 by linking 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 value derived from the simulator 21 matches the target behavior value, the linking unit 26 links the control program 15 in which the adjusted control parameters are set to the model 16 (or the model 16 in which the adjusted model parameters are set) to generate and store the pair 17.

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

このように制御プログラム15は、開発支援ツール20が提供するオフライン環境において、あらかた調整されているので、オンライン環境で実機を用いた調整時間を削減できる。 In this way, the control program 15 is mostly adjusted in the offline environment provided by the development support tool 20, so the adjustment time using the actual machine in an online environment can be reduced.

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

より具体的には、オンライン環境の変化に因り、コントローラ51が実行する制御プログラム15の制御パラメータは調整され、または実機の機械的特性または物理的特性が変化する。設計者は、オンライン環境の変化をオフライン環境下の制御プログラム15およびモデル16に反映するように、再度、オフライン環境下で制御プログラム15およびモデル16のパラメータを調整する。このようなシーンでは、両者がペア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 change. The designer adjusts the parameters of the control program 15 and model 16 again in the offline environment so that the changes in the online environment are reflected in the control program 15 and model 16 in the offline environment. In such a scenario, the designer can easily identify the target of adjustment by managing the two as a pair 17. As a result, even when multiple control programs 15 are developed in the same offline environment, or when managing adjusted versions of the control program 15, the management of the pair 17 makes it easy to identify the target of adjustment.

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

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

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

以下、本実施の形態のより具体的な応用例について説明する。 The following describes some specific application examples of this embodiment.

<B.システムの全体的なモジュール構成>
図1は、本実施の形態に係る情報処理システム1の構成を模式的に示す図である。以下では、制御対象は後述する包装機400を例示し、駆動機器は包装機400が有するロータリーナイフを駆動するサーボモータを例示する。なお、制御対象は、包装機400に限定されず、ワークの移動テーブルやワークを搬送するためのコンベアなどであってもよい。
<B. Overall Modular Configuration of the System>
1 is a diagram showing a schematic configuration of an information processing system 1 according to the present embodiment. In the following, a packaging machine 400 (described later) is exemplified as a controlled object, and a servo motor that drives a rotary knife of the packaging machine 400 is exemplified as a driving device. Note that the controlled object is not limited to the packaging machine 400, and may be a moving table for a workpiece, a conveyor for transporting the workpiece, or the like.

図1を参照して、情報処理システム1は、FAシステム50と、情報処理装置10と、ディスプレイ109とを含む。FAシステム50は、コントローラ51と、駆動機器55と、第1収集部60とを含む。情報処理装置10は、開発支援ツール20と、シミュレータ21と、ビジュアライザ27と、第2収集部130とを含む。開発支援ツール20は、制御パラメータ20Bが設定される制御プログラム15またはモデルパラメータ16Aが設定されるモデル16を調整するための調整ツール123を有する。 Referring to FIG. 1, the information processing system 1 includes an FA system 50, an information processing device 10, and a display 109. The FA system 50 includes a controller 51, a drive device 55, and a first collection unit 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 has an adjustment tool 123 for adjusting the control program 15 in which the control parameters 20B are set or the model 16 in which the model parameters 16A are set.

コントローラ51は、産業用のフィールドネットワークで駆動機器55とネットワーク接続されており、各種の駆動機器55を制御する。 The controller 51 is network-connected to the driving devices 55 via an industrial field network and controls various driving devices 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 driving device 55 by executing the control program 15 using the control parameters 20A. The driving device 55 is a device that directly or indirectly acts on the workpiece in the production process, and operates according to a command value from the controller 51 to rotate the rotary knife. More specifically, the driving device 55 includes a servo motor that is driven by PWM (Pulse Width Modulation) according to the command value. A measuring device such as a sensor associated with the driving device 55 measures the behavior of the servo motor that operates according to the command value and outputs a behavior value. The controller 51 executes an IO (Input Output) refresh for each control period, which includes a process of acquiring a behavior value indicating the behavior according to the command value as input data, and a process of calculating a command value based on the input data and outputting it to the driving device 55. The period for executing the IO refresh may be any predetermined period and is not limited to the control period.

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

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

より具体的には、タイムステップti毎に、アクチュエータエミュレータ124は、コントローラエミュレータ120からの指令値に基づきモデル16の演算式に従って挙動値を算出し、コントローラエミュレータ120は、アクチュエータエミュレータ124からの挙動値に基づき制御パラメータ20Bの制御プログラム15を実行して指令値をアクチュエータエミュレータ124出力する。このように、コントローラエミュレータ120とアクチュエータエミュレータ124とは同期しながら、指令値と挙動値とを遣り取りする。この遣り取りによって、シミュレータ21においてFAシステム50のIOリフレッシュが模擬される。本実施の形態では、コントローラエミュレータ120とアクチュエータエミュレータ124とが同期する周期は、制御周期に基づく周期とするが、これに限定されない。 More specifically, for each time step ti, the actuator emulator 124 calculates a behavior value according to the calculation formula of the model 16 based on the command value from the controller emulator 120, and the controller emulator 120 executes the control program 15 of the control parameters 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 being synchronized. This exchange simulates an IO refresh of the FA system 50 in the simulator 21. In this embodiment, the cycle at which the controller emulator 120 and the actuator emulator 124 are synchronized is based on the control cycle, 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 collecting data. The second collection unit 130 collects behavior values D2 output by the actuator emulator 124 for each time step ti when the simulation is executed. The behavior values D2 are, for example, the position, rotation speed, speed, acceleration, angular velocity, angular acceleration, etc. in the simulation of each part of the driving equipment 55.

図1では、制御パラメータ20A,20Bを個別に記載するが、両者は共通するパラメータを示し得る。 In FIG. 1, control parameters 20A and 20B are shown separately, but the two may represent common parameters.

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

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

ビジュアライザ27は、コントローラエミュレータ120からの指令値(回転量を表す角速度など)に所定関数を用いて演算を施すことで、3次元座標P(x,y,z)を算出し、軌跡データを取得する。このように軌跡データは、制御対象のシミュレーションによって推定された包装機400の3次元仮想空間における動きを示す情報を含む。ビジュアライザ27は、算出された軌跡データと包装機400の画像データに従い、包装機400の動きを3次元仮想空間内で立体的に描画するための描画データを生成し、描画データに基づきディスプレイ109に画像を表示させる。設計者は、シミュレーションの結果を、ディスプレイ109に描画される包装機400のロータリーナイフの回転挙動から確認することができる。なお、ビジュアライザ27は、上記の軌跡データをモデル16からの挙動値に予め定められた関数を用いて算出してもよい。 The visualizer 27 calculates three-dimensional coordinates P (x, y, z) and acquires trajectory data by performing calculations using a predetermined function on command values (such as angular velocity representing the amount of rotation) from the controller emulator 120. In this way, the trajectory data includes information indicating the movement of the packaging machine 400 in the three-dimensional virtual space estimated by the simulation of the controlled object. The visualizer 27 generates drawing data for three-dimensionally drawing the movement of the packaging machine 400 in the three-dimensional virtual space according to the calculated trajectory data and image data of the packaging machine 400, and displays an image on the display 109 based on the drawing data. The designer can check the results of the simulation from the rotation behavior of the rotary knife of the packaging machine 400 drawn on the display 109. The visualizer 27 may calculate the above trajectory data using a predetermined function 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 packaging machine 400, which is the controlled object, will be described with reference to Fig. 3. Fig. 3 is a diagram that shows a schematic configuration of the FA system 50 having the controlled object according to the present embodiment. With reference to Fig. 3, the information processing system 1 includes the FA system 50 and an information processing device 10. The FA system 50 includes a controller 51 including, for example, a PLC, the packaging machine 400, and servo drivers 500A and 500B. The servo drivers 500A and 500B drive the servo motors 410 and 56 of the packaging machine 400, respectively, according to command values from the controller 51. In Fig. 3, the driving equipment of the controlled object (packaging machine 400) includes the servo drivers 500A and 500B and the servo motors 410 and 56.

情報処理装置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 equivalent to a computer such as a PC (Personal Computer), a tablet terminal, or a smartphone. The controller 51 and the information processing device 10 are connected to a field network NW1. For example, EtherNET (registered trademark) is adopted for the field network NW1. However, the field network NW1 is not limited to EtherNET, and any communication means may be adopted. For example, the controller 51 and the information processing device 10 may be directly connected by a signal line such as a USB (Universal Serial Bus).

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

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

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

切断機構406はサーボモータ410と、416と、エンコーダ411とを備える。切断機構406では、センサ408からのトリガ402に従って、サーボモータ410がロータリーナイフ416を駆動することで、ロータリーナイフ416が包装材412を切断および封止して個別パッケージ418を順次生成する。エンコーダ411は、サーボモータ410の回転量(回転の方向、角度、回転数など)を計測し、計測値401を出力する。本実施の形態では、計測値401は、例えば単位時間あたりの回転数を示す。図3のFAシステム50では、コントローラ51が制御プログラム15を実行して出力する指令値に対する応答として、計測値401を取得することができる。 The cutting mechanism 406 includes servo motors 410 and 416, and an encoder 411. In the cutting mechanism 406, the servo motor 410 drives the rotary knife 416 in response to a trigger 402 from a sensor 408, and the rotary knife 416 cuts and seals the packaging material 412 to sequentially generate individual packages 418. The encoder 411 measures the amount of rotation (rotation direction, angle, number of rotations, etc.) of the servo motor 410 and outputs a measurement value 401. In this embodiment, the measurement value 401 indicates, for example, the number of rotations per unit time. In the FA system 50 of FIG. 3, the measurement value 401 can be acquired as a response to a command value output by the controller 51 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 showing an example of the control program 15 according to the present embodiment. A part of the control program 15 of the packaging machine 400 will be described with reference to Fig. 4. The control program 15 of Fig. 4 is written in a ladder language including a conveyor FB60 for executing control and arithmetic processing of the conveyor mechanism of the packaging machine 400 and a cutter FB61 for executing control and arithmetic processing of the cutting mechanism 406 of the packaging machine 400. A process in which the information processing device 10, as the control program creation tool 22, creates the control program 15 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 device 10 searches for an FB set 138 identified by the target ID 1381 of the packaging machine 400 based on the control target 19a of the user settings 19. The searched FB set 138 includes a conveyor FB60 and a cutter FB61. The conveyor FB60 and the cutter FB61 each have an algorithm of PID calculation 62 and an algorithm of PID calculation 63. The conveyor FB60 is configured to receive a behavior value 64 (rotation speed) of the driving device 55 as an input and output a command value 66 (angular velocity) as a calculation result. The cutter FB61 is configured to receive a behavior value 67 (rotation speed) of the driving device 55 and the output of the block Trigger as an input and output a command value 69 (angular velocity) as a calculation result. The information processing device 10, as the control parameter setting unit 23, sets PID parameters 65 and PID parameters 68 for the conveyor FB 60 and the cutting machine FB 61, respectively, based on the control method 19c of the user settings 19. Also, based on the control method 19c of the user settings 19, a trigger 402 is set in addition to the PID parameters 68 for the cutting machine FB 61.

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

センサ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 an OFF state to an ON state. The cutting machine FB 61 receives the output of the block Trigger as an input parameter, and is activated in response to the change of the output from OFF to ON. The controller 51 executes the cutting machine FB 61 when it becomes activated. More specifically, the controller 51 executes a PID calculation 63 based on a behavior value 67 indicating the rotation speed and a PID parameter 68 so as to converge the rotation speed to a target value, and outputs a command value 69 indicating the angular velocity as a result of the execution.

コントローラ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 conveyor FB60 to the servo driver 500B, and outputs a command value 69 for the cutter FB61 to the servo driver 500A. Each of the servo drivers 500A and 500B has a PWM (Pulse Width Modulation) circuit (not shown). The servo driver 500A generates a PWM signal, which is an electric 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 generates a PWM signal, which is an electric signal having a pulse width based on the angular velocity indicated by the command value 69, using the PWM circuit, and outputs the PWM signal to the servo motor 410. The controller 51 can maintain the rotation speed of the driving device 55 at a target value by periodically and repeatedly executing the control program 15 in this manner.

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

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

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

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

より具体的には、図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 shows the target, and graph G5 shows the simulation value. Graph G4 shows the ideal behavior that satisfies the specifications, that is, the ideal change in the time series of the rotation speed of the servo motor 410. In contrast, graph G5 shows the time series change in the behavior value output by the model 16 when the control program 15 and the model 16 are executed by the simulator 21. Graph G4 and graph G5 are output in association with each other on the same time axis. When the simulation is executed, the second collection unit 130 collects the behavior values from the actuator emulator 124 in time series. Graph G5 is based on the collected time series behavior values. The same time axis mentioned above shows, for example, the elapsed time from when the information processing device 10 starts executing the control program 15 in an offline environment and the elapsed time from when the driving device starts to be ideally controlled according to the specifications.

挙動値(回転数)が目標TRに収束するまでの立ち上がり時間に着目すると、目標のグラフG4では、立ち上がりに時間t0~t5を要する。対照的に、グラフG5では、立ち上がりに時間t0~t7を要しており、立ち上がりに遅れが生じている。 Focusing on the rise time until the behavior value (rpm) converges to the target TR, the rise time is t0 to t5 in the target graph G4. In contrast, the rise time is t0 to t7 in the graph G5, so there is a delay in the rise time.

情報処理装置10は、調整ツール123として、「調整量の見積もり」において、領域91のグラフのデータに基づき、グラフG4とグラフG5の差の変化傾向が表すパターンに基づき、パラメータを調整する必要があるかを判定するとともに、調整量の目安の情報を提供する。 In the "Estimation of adjustment amount" step, the information processing device 10, as the adjustment tool 123, determines whether or not a parameter needs to be adjusted based on the data of the graph in area 91 and the pattern represented by the trend of change in the difference between graphs G4 and G5, and provides information on the approximate amount of adjustment.

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

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

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

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

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

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

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

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

演算式741は、制御対象である包装機400の駆動機器のサーボモータ410の挙動値を算出するために、例えば、物理シミュレーションモデルの方程式を利用して構成される。 The calculation formula 741 is constructed, for example, using an equation of a physical simulation model to calculate the behavior value of the servo motor 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, the calculation formula 741 indicates that the behavior value Y at the time step ti is calculated by the function F (X, A, B). As shown in the explanation 742, the parameter X of the function F indicates the command value 69 (angular velocity) from the cutting machine FB 61 of the control program 15, the parameter A indicates the physical parameter of the servo motor 410, and the parameter B indicates the mechanical parameter of the servo motor 410. Also, as shown in the initial value 743, the initial value X0 of the parameter X of the function F is calculated by the function FB (C, D). The parameter C indicates the input parameter of the cutting machine FB 61, and the parameter D indicates the calculation start command of the cutting machine FB 61. In this embodiment, the parameter C indicates the initial value of the PID parameter 68 and the behavior value 67, and the parameter D indicates the 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 calculation formula 741 of the model 16. This makes it possible to calculate the behavior value Y of the servo motor 410, i.e., the behavior value 67 (rotation speed), 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 calculates equipment behavior data including the time-series three-dimensional coordinates P (x, y, z) of the object in the three-dimensional virtual space based on the time-series command values 66, 69 according to the time step ti output from the controller emulator 120. More specifically, the visualizer 27 generates equipment behavior data representing the operation of the conveying mechanism (packaging material 412, work 414, individual package 418) of the packaging machine 400 based on the command value 66 for each time step ti, and generates equipment behavior data representing the operation of the cutting mechanism (rotary knife 416) based on the command value 69 for each time step ti.

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

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

<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 a UI tool provided by the information processing device 10 is shown in FIG. 7 and FIG. 8. FIG. 7 is a diagram showing an example of a UI for specifying a control target according to the present embodiment. FIG. 8 is a diagram showing an example of a UI for specifying a model parameter according to the present embodiment. Referring to FIG. 7, in order to specify the control target 19a, the designer inputs an identifier 151 such as the name of the control target to the information processing device 10, and specifies a control parameter 152 for the motion of the moving machine as a control method 19c. More specifically, the information processing device 10 searches the storage unit for an FB set 138 having an object ID 1381 that matches the identifier 151, and displays candidates for parameters to be set for each FB of the searched FB set 138. The designer can specify a desired parameter as the control parameter 152 from among the candidate parameters. The candidates for parameters to be set for each FB are stored in association with each FB set 138.

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

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

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

図9は、本実施の形態に係る実機の出力に基づく調整の構成の一例を示す図である。図9を参照して、情報処理システム1は、実機の出力に基づく調整の主要な構成機器として、FAシステム50と、情報処理装置10と、記憶装置113とを含む。FAシステム50は、コントローラ51と、駆動機器55と、第1収集部60とを含む。情報処理装置10は、コントローラエミュレータ120と、アクチュエータエミュレータ124と、ビジュアライザ27と、第2収集部130と、挙動値D1とD2との差D3を算出する算出部131と、調整ツール123とを含む。調整ツール123は、調整量を決定するための調整量決定部141と、決定された調整量で調整を実施する調整実施部142と、調整に関する情報を出力する出力部143とを有する。なお、算出部131は、調整ツール123内に設けられてもよい。算出部131および調整ツール123以外の構成については、図1で説明した通りであるので、それらの詳細説明は繰り返さない。 9 is a diagram showing an example of the configuration of the adjustment based on the output of the actual machine according to the present embodiment. Referring to FIG. 9, the information processing system 1 includes an FA system 50, an information processing device 10, and a storage device 113 as main components of the adjustment based on the output of the actual machine. The FA system 50 includes a controller 51, a driving device 55, and a first collection unit 60. The information processing device 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 the behavior values D1 and D2, and an adjustment tool 123. The adjustment tool 123 has an adjustment amount determination unit 141 for determining an adjustment amount, an adjustment implementation unit 142 that implements the adjustment with the determined adjustment amount, and an output unit 143 that outputs information related to the adjustment. The calculation unit 131 may be provided in the adjustment tool 123. The configuration other than the calculation unit 131 and the adjustment tool 123 is as described in FIG. 1, so detailed description of them 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 with the time-series behavior value D2 collected by the second collection unit 130 on the same time axis, calculates the difference D3 between the behavior values D1 and D2 based on the comparison result, and outputs it to the adjustment tool 123.

(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 device 10, as the adjustment tool 123, executes an adjustment process for matching the behavior value D2 from the model 16 to the behavior value D1 from the FA system 50. Fig. 10 is a diagram showing an example of a UI for the adjustment process according to the present embodiment. Fig. 10 shows user support information for adjustment, which includes a graph and guide information 103 of an adjustment amount. The guide information 103 outputs guide information for adjusting the model parameter 16A based on the magnitude of 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. The adjustment target may include the control parameter 20B.

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

より具体的には、情報処理装置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 device 10, as the adjustment amount determination unit 141, outputs the behavior value D1 collected in time series by the first collection unit 60 and the behavior value D2 collected in time series by the second collection unit 130 in association with each other. More specifically, as shown in FIG. 10, this association includes plotting the behavior value D1 collected in time series by the first collection unit 60 and the behavior value D2 collected in time series by the second collection unit 130 based on the collected time or time on a two-dimensional plane graph with the behavior value as the vertical axis and the time axis as the horizontal axis. As a result, the information processing device 10 plots the behavior value D1 of the time series for each control cycle and the behavior value D2 of the time series for each time step ti based on the collected time or time to calculate the graph of FIG. 10 showing the changes in the behavior values D1 and D2. From the graph, the information processing device 10 calculates the rise time (time t0 to t4) required for the behavior value D1 of the actual machine to converge to the target TR and the rise time (time t0 to t8) required for the behavior value D2 calculated by the model 16 to converge to the target TR, and calculates the rise delay as the difference D3 between the two times. From the graph, it can be inferred 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 servo motor 410 of the actual machine is smaller than the friction coefficient of the model parameter 16A.

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

情報処理装置10は、調整実施部142として、UIを介したユーザ操作に基づき、モデルパラメータ16Aを調整する。例えば、設計者は、グラフが示す差D3またはガイド情報103に基づき、調整量を情報処理装置10に対し入力する。 The information processing device 10, as the adjustment implementation unit 142, adjusts the model parameters 16A based on a user operation via the UI. For example, the designer inputs the amount of adjustment to the information processing device 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を収集する。 In the information processing device 10, the designer sets the adjusted model parameters 16A in the model 16 and starts the simulator 21. When the simulator 21 is started, 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 unit 130 collects the behavior value D2 as a result of the execution of the simulator 21.

情報処理装置10は、調整ツール123として、調整後のモデル16からの挙動値D2をFAシステム50から取得していた挙動値D1に合わせる「調整量の見積もり」に基づく処理を実行する。 The information processing device 10, as the adjustment tool 123, executes processing based on "estimating the adjustment amount" to match the behavior value D2 from the adjusted model 16 to the behavior value D1 acquired from the FA system 50.

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

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

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

<I.情報処理装置10の構成>
図11は、本実施の形態に係る情報処理装置10の構成の一例を示す模式図である。本実施の形態に係る開発環境を提供する構成を、図11を参照して説明する。
<I. Configuration of information processing device 10>
11 is a schematic diagram showing an example of the configuration of an information processing device 10 according to the present embodiment. The configuration for providing a development environment according to the present 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 information processing device 10 in FIG. 11 includes, as its main components, a processor 102 that executes an operating system (OS) and various programs as described below, a main memory 104 that provides a working area for storing data necessary for the processor 102 to execute the programs, an operation unit 106 that accepts user operations on the information processing device 10 such as a keyboard or mouse, an output unit 108 that outputs processing results such as a display 109, various indicators, and a printer, a network interface 110 that is connected to various networks including the network NW1, an optical drive 112, a local communication interface 116 that communicates with external devices, and a storage 111. These components are connected to enable data communication via an internal bus 118 or the like.

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

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

ストレージ111は、例えば、HDD(Hard Disk Drive)またはSSD(Flash Solid State Drive)などで構成され、プロセッサ102で実行されるプログラムを格納する。具体的には、ストレージ111は、仮想時刻ジェネレータ122を実現する仮想時刻生成プログラム119と、開発支援ツール20を実現する開発支援プログラム121と、モデルパラメータ16Aと、シミュレータ21を実現するシミュレーションプログラム126と、制御パラメータ20Bと、実行されるとUIツールを実現するUIプログラム129と、調整ツール123を実現する調整プログラム132と、制御プログラム15とモデル16を紐付けてペア17として管理する管理プロフラム134と、描画データ136を用いて制御対象の挙動を描画するためのビジュアライザプログラム135と、ペア17と、制御対象毎のFBセット138と、制御対象毎のCADセット139および基本モデル16Bとを格納する。 The storage 111 is composed of, for example, a hard disk drive (HDD) or a flash solid state drive (SSD), and stores the programs executed by the processor 102. Specifically, the storage 111 stores a virtual time generation program 119 that realizes a virtual time generator 122, a development support program 121 that realizes a development support tool 20, model parameters 16A, a simulation program 126 that realizes a simulator 21, control parameters 20B, a UI program 129 that realizes a UI tool when executed, an adjustment program 132 that realizes an adjustment tool 123, a management program 134 that links the control program 15 and the model 16 and manages them as a pair 17, a visualizer program 135 that uses drawing data 136 to draw the behavior of the control object, the pair 17, an FB set 138 for each control object, a CAD set 139 for each control object, and a basic model 16B.

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

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

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

<J.作成処理のフローチャート>
図12は、本実施の形態に係る作成処理のフローチャートである。図12を参照して、プロセッサ102が、開発支援ツール20を実行することによって、制御プログラム15またはモデル16を作成する処理を説明する。
<J. Flowchart of Creation Process>
12 is a flowchart of the creation process according to the present embodiment. The 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.

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

プロセッサ102は、制御プログラム作成ツール22およびモデル作成ツール24として、ストレージ111から、制御対象19aを示す対象ID1381および対象ID1391に対応のFBセット138およびCADセット139を検索する(ステップS3)。これにより、プロセッサ102は、制御対象19aに対応のFBセット138およびCADセット139を決定する。 The processor 102, as the control program creation tool 22 and the model creation tool 24, searches the storage 111 for the FB set 138 and the CAD set 139 that correspond to the target ID 1381 and the target ID 1391 that indicate the control target 19a (step S3). As a result, the processor 102 determines the FB set 138 and the CAD set 139 that correspond to the control target 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 parameters 20B based on the control method 19c for each FB of the determined FB set 138 (step S5), and also sets the model parameters 16A based on the settings 19b to the model 16 (step S7).

プロセッサ102は、シミュレータ21として、制御パラメータ20Bが設定された制御プログラム15およびモデルパラメータ16Aが設定されたモデル16を実行して、制御対象の挙動をシミュレーションする(ステップS10)。 The processor 102, as the simulator 21, executes 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 controlled object (step S10).

プロセッサ102は、シミュレーションを実施するとき、ビジュアライザ27として、シミュレーションによって算出される指令値に基づく描画データ136を生成するビジュアライズ処理を実施する(ステップS11)。描画データ136に基づきディスプレイ109が駆動されて、ディスプレイ109は制御対象の動きを描画する。 When the processor 102 performs a simulation, it performs a visualization process as the visualizer 27 to generate 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, repeatedly performs the simulation while changing (adjusting) the control parameters 20B or the model parameters 16A by the "estimate of the adjustment amount" described above (step S12).

プロセッサ102は、シミュレーションによって制御パラメータ20Bおよびモデルパラメータ16Aを取得する。プロセッサ102は、紐付け部26として、これら取得されたパラメータが設定された制御プログラム15とモデル16を互いに紐付けたペア17を作成し格納する(ステップS13)。 The processor 102 acquires the control parameters 20B and the 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).

プロセッサ102は、ビルダ18として制御プログラム15をビルドし、プロセッサ102はビルドされた制御プログラム15をコントローラ51に転送する(ステップS15)。これにより、プロセッサ102は、コントローラ51に転送する制御プログラム15を、実機を仕様に従って制御可能なようにあらかた調整された制御パラメータ20Bを有したプログラムとして転送できる。転送されると、コントローラ51は、制御パラメータ20Bを、制御パラメータ20Aとして扱う。このように、オンライン環境下では、ユーザは、あらかた調整済み制御プログラム15を調整すればよいから、調整作業に係る負担を軽減できる。 The processor 102 builds the control program 15 as the builder 18, and transfers the built control program 15 to the controller 51 (step S15). This allows the processor 102 to transfer the control program 15 to the controller 51 as a program having control parameters 20B that have been adjusted to a large extent so that the actual machine can be controlled according to the specifications. Once transferred, the controller 51 treats the control parameters 20B as control parameters 20A. In this way, in an online environment, the user only needs to adjust the adjusted control program 15 to a large extent, reducing the burden associated with the adjustment work.

<K.実機の出力に基づく調整処理のフローチャート>
図13と図14は、本実施の形態に係る実機の出力に基づく調整処理のフローチャートである。情報処理装置10のプロセッサ102は、調整ツール123として、実機の出力に基づく調整処理を実施する。ここでは、説明を簡単にするために、モデル16のパラメータAの摩擦係数が調整されるが、制御パラメータ20Bがであっても同様に適用できる。図13と図14の処理を、適宜、図9を参照しながら説明する。
<K. Flowchart of adjustment process based on actual machine output>
13 and 14 are flow charts of the adjustment process based on the output of the actual machine according to this embodiment. The processor 102 of the information processing device 10 performs the adjustment process based on the output of the actual machine as the adjustment tool 123. Here, for the sake of simplicity, the friction coefficient of the parameter A of the model 16 is adjusted, but the same can be applied even if the control parameter 20B is adjusted. The processes 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 calculation unit 131 with a threshold value, 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 value, and when the processor 102 detects that the difference D3 exceeds the threshold value based on the comparison result, it determines that the model parameter 16A needs to be adjusted (YES in step S20) and proceeds to step S21. When the processor 102 detects that the difference D3 does not exceed the threshold value (NO in step S20), it 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, the processor 102 receives the behavior value D1 of the servo motor 410 of the FA system 50 and stores 1 to N cycles of the control cycle (step S21). As a result, the processor 102 stores the behavior value D1 in time series. The processor 102 compares the project when the actual machine is in operation with the project in the offline environment and determines whether the comparison result indicates a match (step S23). More specifically, the processor 102 compares the control parameter 20A acquired from the controller 51 with the control parameter 20B in the offline environment and determines whether the values of both parameters match based on the comparison result. When the processor 102 determines that the values of both control parameters match (YES in step S23), it proceeds to step S27, but when it determines that they do not match (NO in step S23), the processor 102 matches the project in the offline environment with the project of the actual machine (step S25). More specifically, the processor 102 adjusts and changes the control parameters 20B in the offline environment so that they are consistent with the control parameters 20A obtained from the online environment.

ステップS27では、プロセッサ102は、生産工程の現場において実機に設計変更がなされたかを判定する(ステップS27)。より具体的には、プロセッサ102は、設計者から受付けるユーザ操作に基づき、当該判定を実施する。ここでは、実機の設計変更は、サーボモータ410のサイズ、位置などの機械的特性の変更または調整を含む。 In step S27, the processor 102 determines whether a design change has been made to the actual machine at the production process site (step S27). More specifically, the processor 102 performs this determination based on a user operation received from the designer. In this case, the design change of the actual machine includes a change or adjustment of mechanical characteristics such as the size and position of the servo motor 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), it sets the mechanical parameters corresponding to the changed mechanical characteristics of the actual device based on the user's operation to the model parameters 16A (step S29). More specifically, the processor 102 changes the parameter B of the formula 741 of the model 16 to indicate the mechanical parameters of the size and position that indicate the input mechanical characteristics.

プロセッサ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 an "estimate of the adjustment amount" for matching the behavior value D2 from the adjusted model 16 to the behavior value D1 acquired from the FA system 50 (steps S31, S33, S35). More specifically, the processor 102 estimates (calculates) a parameter A such as a friction coefficient in equation 741 of the model 16 (step S31). The details of the process of step S31 will be described later with reference to FIG. 14.

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

プロセッサ102は、設計者のユーザ操作を受付け、受付けたユーザ操作が“OK”を示すか否かを判定する(ステップS35)。プロセッサ102は、ユーザ操作は“OK”を示さないと判定すると(ステップS35でNO)、ステップS31に移行して、パラメータ調整処理を継続する。 The processor 102 receives the user operation of the designer and determines whether the received user operation indicates "OK" (step S35). If the processor 102 determines that the user operation does not indicate "OK" (NO in step S35), the processor 102 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 updates the model parameters 16A by rewriting the friction coefficient of the model parameters 16A to the adjusted friction coefficient (step S37). For example, when the designer determines from the graph in FIG. 10 that the behavior calculated by the model 16 is consistent with the behavior of the servo motor 410 of the actual machine, the designer inputs "OK" to the information processing device 10 as a user operation.

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

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

プロセッサ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 formal parameter set generated in step S311 is set as the model parameters for each time step ti, and generates a simulation result (step S313). The generated simulation result indicates a time-series behavior value 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 value, and based on the comparison result, it is determined whether the difference D3 is sufficiently small.

差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. In step S311, the processor 102 generates a new formal parameter set by changing the friction coefficient of the current formal parameter set. The processor 102 executes a simulation using the generated new formal 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). In this way, the processor 102 repeats the simulation and the generation of a formal parameter set based on the simulation result until the difference D3 becomes sufficiently small, that is, until an optimal 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 formal parameter set as the model parameters 16A (step S317). More specifically, the processor 102 rewrites the model parameters 16A with the most recently generated formal parameter set. This allows the model parameters 16A in an offline environment to be matched to the mechanical or physical characteristics of the actual machine in an online environment.

図13および図14の調整処理によれば、オフライン環境において、情報処理装置10は、制御パラメータ20Bおよびモデルパラメータ16Aを、オンライン環境下の制御パラメータ20Aの変化と実機の機械的特性および物理的特性の変化とに追従させて変更(調整)することができる。 According to the adjustment process of Figures 13 and 14, in an offline environment, the information processing device 10 can change (adjust) the control parameters 20B and model parameters 16A to follow the changes in the control parameters 20A in the online environment and the changes in the mechanical and physical characteristics of the actual machine.

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

<L.プログラム>
情報処理装置10のプロセッサ102は、ストレージ111のプログラムを実行することにより、ユーザに対し、オフライン環境における制御プログラム15またはモデル16の開発環境を提供する。
<L. Program>
The processor 102 of the information processing device 10 executes the program in the storage 111 to provide the user with a development environment for the control program 15 or the model 16 in an offline environment.

開発環境を実現するためのプログラムおよびデータは、ネットワークインターフェイス110またはローカル通信インターフェイス116および通信回線を介してストレージ111にダウンロードされてもよい。または、記録媒体114を介してストレージ111にダウンロードされるとしてもよい。記録媒体114は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。情報処理装置10は、この記録媒体114から、開発環境を実現するためのプログラムまたはデータを取得してもよい。 The program and data for realizing the development environment may be downloaded to the storage 111 via the network interface 110 or the local communication interface 116 and a communication line. Alternatively, the program and data may be downloaded to the storage 111 via the recording medium 114. The recording medium 114 is a medium that stores information on the program or the like by electrical, magnetic, optical, mechanical or chemical action so that a computer or other device, machine or the like can read the recorded information on the program or the like. The information processing device 10 may obtain the program or data for realizing the development environment from the recording medium 114.

プログラムは、プロセッサ102などの1つ以上のプロセッサにより、またはプロセッサとASIC(Application Specific Integrated Circuit),FPGA(Field-Programmable Gate Array)などの回路との組合せにより実行され得る。 The program may be executed by one or more processors, such as processor 102, or by a combination of a processor and a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).

<M.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
情報処理装置(10)であって、
前記情報処理装置に対するユーザ操作を受付ける操作受付手段(106)と、
複数の制御対象のそれぞれについて、当該制御対象を駆動する駆動機器(55)を制御するための1つ以上のプログラム要素(FB)を格納する格納手段(111)と、
前記ユーザ操作により指定された制御対象(19a)に対応する前記1つ以上のプログラム要素を前記格納手段から検索し、検索された前記1つ以上のプログラム要素に、ユーザ操作により指定された前記駆動機器の制御の仕方(19c)に基づく制御パラメータ(20B)を設定して制御プログラム(15)を作成するプログラム作成手段(22)と、
前記プログラム作成手段が作成した制御プログラムを、前記ユーザ操作により指定された制御対象の前記駆動機器の挙動を算出するためのモデル(16)に紐付けて管理する管理手段(26)と、を備える、情報処理装置。
[構成2]
前記ユーザ操作により設定された前記駆動機器の機械的特性または物理的特性に基づくモデルパラメータ(16A)を前記モデルに設定するモデル作成手段(24)を、さらに備える、構成1に記載の情報処理装置。
[構成3]
前記駆動機器と当該駆動機器を制御するコントローラ(51)の挙動を算出するシミュレーションを実行するシミュレータ(21)を、さらに備え、
前記シミュレーションは、
前記制御プログラムを実行し、前記駆動機器を制御するための指令値を出力する処理(120)と、
前記指令値を入力として前記モデルを実行し、前記駆動機器の挙動を示す挙動値を算出する処理(124)と、を備え、前記シミュレータは、前記モデルによって算出された挙動値を入力として前記制御プログラムを実行し、
前記シミュレーションが実行されているときに前記挙動値を収集する収集手段(130)と、
前記収集手段によって収集された挙動値(G5)と、当該挙動値に関連付けて目標の挙動値(G4)とを出力する手段を、さらに備える、構成2に記載の情報処理装置。
[構成4]
前記収集された挙動値と前記目標の挙動値との間の差の大きさに基づき、前記制御パラメータまたは前記モデルパラメータを調整するためのガイド情報(96)を出力する調整手段(123)を、さらに備える、構成3に記載の情報処理装置。
[構成5]
前記ガイド情報は、調整対象のパラメータの識別子と、前記差が小さくなるような当該パラメータの調整量とを含む、構成4に記載の情報処理装置。
[構成6]
前記ユーザ操作によって指定される調整対象のパラメータおよび当該パラメータの調整量に基づき、前記制御プログラムに設定されている前記制御パラメータまたは前記モデルに設定されている前記モデルパラメータを調整する調整処理(S12)を実施する、構成5に記載の情報処理装置。
[構成7]
前記シミュレータは、前記差が予め定められた値に収束するまで、前記調整処理が実施される毎に、前記シミュレーションを実行する、構成6に記載の情報処理装置。
[構成8]
ユーザ操作を受付けるステップ(S1)と、
前記ユーザ操作により指定された制御対象を駆動する駆動機器を制御するための1つ以上のプログラム要素に、ユーザ操作により指定された当該駆動機器の制御の仕方に基づく制御パラメータを設定して制御プログラムを作成するステップ(S3、S5、S10)と、
前記作成するステップにおいて作成された前記制御プログラムを、前記ユーザ操作により指定された制御対象に対応の前記駆動機器の挙動を算出するためのモデルに紐付けて管理するステップ(S13)と、を備える、方法。
[構成9]
構成8に記載の方法をプロセッサ(102)に実行させるためのプログラム。
<M. Note>
The present embodiment as described above includes the following technical idea.
[Configuration 1]
An information processing device (10),
an operation receiving means (106) for receiving a user operation on the information processing device;
A storage means (111) for storing, for each of a plurality of control objects, one or more program elements (FB) for controlling a driving device (55) that drives the control object;
a program creating means (22) for searching the storage means for one or more program elements corresponding to a control target (19a) designated by the user operation, and for creating a control program (15) by setting control parameters (20B) based on a control method (19c) for the movable device designated by the user operation for the one or more program elements searched for;
and a management means (26) that manages the control program created by the program creation means by linking it to a model (16) for calculating the behavior of the movable device to be controlled, the movable device being specified by the user operation.
[Configuration 2]
2. The information processing apparatus according to configuration 1, further comprising a model creating means (24) for setting, in the model, model parameters (16A) based on mechanical characteristics or physical characteristics of the movable device set by the user operation.
[Configuration 3]
The system further includes a simulator (21) that executes a simulation to calculate behaviors of the moving machine and a controller (51) that controls the moving machine,
The simulation
A process (120) of executing the control program and outputting a command value for controlling the moving device;
and a process (124) of executing the model using the command value as an input and calculating a behavior value indicating a behavior of the movable machine, wherein the simulator executes the control program using the behavior value calculated by the model as an input,
a collection means (130) for collecting said performance values as said simulation is being performed;
3. The information processing apparatus according to configuration 2, further comprising: a means for outputting the behavior value (G5) collected by the collecting means and a target behavior value (G4) associated with the behavior value.
[Configuration 4]
The information processing device according to configuration 3, further comprising an adjustment means (123) for outputting guide information (96) for adjusting the control parameters or the model parameters based on a magnitude of a difference between the collected behavior values and the target behavior values.
[Configuration 5]
5. The information processing device according to configuration 4, wherein the guide information includes an identifier of a parameter to be adjusted and an amount of adjustment of the parameter that reduces the difference.
[Configuration 6]
The information processing device of configuration 5, wherein an adjustment process (S12) is performed to adjust the control parameters set in the control program or the model parameters set in the model based on the parameters to be adjusted and the adjustment amounts of the parameters specified by the user operation.
[Configuration 7]
7. The information processing apparatus according to configuration 6, wherein the simulator executes the simulation each time the adjustment process is performed until the difference converges to a predetermined value.
[Configuration 8]
A step of accepting a user operation (S1);
creating a control program by setting control parameters based on a control method for a movable device specified by a user operation to one or more program elements for controlling the movable device that drives the control target specified by the user operation (S3, S5, S10);
and managing the control program created in the creating step by linking it to a model for calculating the behavior of the movable device corresponding to the control object specified by the user operation (S13).
[Configuration 9]
A program for causing a processor (102) to execute the method according to claim 8.

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

1 情報処理システム、10 情報処理装置、15 制御プログラム、16 モデル、16A モデルパラメータ、16B 基本モデル、17 ペア、18 ビルダ、19 ユーザ設定、19a 制御対象、19b 設定、19c 制御の仕方、20 開発支援ツール、20A,20B,152 制御パラメータ、21 シミュレータ、22 制御プログラム作成ツール、23 制御パラメータ設定部、24 モデル作成ツール、25 モデルパラメータ設定部、26 紐付け部、27 ビジュアライザ、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 画面、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 グラフ、1381,1391 対象ID、TR 目標。 1 Information processing system, 10 Information processing device, 15 Control program, 16 Model, 16A Model parameters, 16B Basic model, 17 Pair, 18 Builder, 19 User settings, 19a Control target, 19b Settings, 19c Method of control, 20 Development support tool, 20A, 20B, 152 Control parameters, 21 Simulator, 22 Control program creation tool, 23 Control parameter setting section, 24 Model creation tool, 25 Model parameter setting section, 26 Linking section, 27 Visualizer, 402 Trigger, 50 FA system, 51 Controller, 55 Drive equipment, 56, 410 Servo motor, 60 First collection section, 62, 63 PID calculation, 64, 67, D1, D2, Y Behavior value, 66, 69 Command value, 81 Mechanical parameters, 82 Physical parameters, 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 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 implementation 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 calculation formula, 1342 adjustment amount, D3 difference, G4, G5 graph, 1381, 1391 target ID, TR target.

Claims (11)

情報処理装置であって、
前記情報処理装置に対するユーザ操作を受付ける操作受付手段と、
複数の制御対象のそれぞれについて、当該制御対象を駆動する駆動機器を制御するための1つ以上のプログラム要素を格納する格納手段と、
前記ユーザ操作により指定された制御対象に対応する前記1つ以上のプログラム要素を前記格納手段から検索し、検索された前記1つ以上のプログラム要素に、ユーザ操作により指定された前記駆動機器の制御の仕方に基づく制御パラメータを設定して制御プログラムを作成するプログラム作成手段と、
前記プログラム作成手段が作成した制御プログラムを、前記ユーザ操作により指定された制御対象の前記駆動機器の挙動を算出するためのモデルに紐付けて管理する管理手段と、を備え、
前記制御の仕方は、前記駆動機器の仕様書データが示す制御のための仕様値を含み、前記仕様値を換算式を用いて前記制御パラメータに変換する、情報処理装置。
An information processing device,
an operation receiving means for receiving a user operation on the information processing device;
a storage means for storing, for each of a plurality of control objects, one or more program elements for controlling a drive device that drives the control object;
a program creating means for searching the storage means for one or more program elements corresponding to a control target specified by the user operation, and for creating a control program by setting control parameters based on a method of controlling the movable device specified by the user operation for the one or more program elements found;
a management means for managing the control program created by the program creation means in association with a model for calculating a behavior of the movable device to be controlled, the model being specified by the user operation;
The information processing device , wherein the control method includes specification values for control indicated by specification data of the driving device, and converts the specification values into the control parameters using a conversion formula .
前記ユーザ操作により設定された前記駆動機器の機械的特性または物理的特性に基づくモデルパラメータを前記モデルに設定するモデル作成手段を、さらに備える、請求項1に記載の情報処理装置。 The information processing device according to claim 1, further comprising a model creation means for setting model parameters based on the mechanical or physical characteristics of the movable device set by the user operation to the model. 前記駆動機器と当該駆動機器を制御するコントローラの挙動を算出するシミュレーションを実行するシミュレータを、さらに備え、
前記シミュレーションは、
前記制御プログラムを実行し、前記駆動機器を制御するための指令値を出力する処理と、
前記指令値を入力として前記モデルを実行し、前記駆動機器の挙動を示す挙動値を算出する処理と、を備え、前記シミュレータは、前記モデルによって算出された挙動値を入力として前記制御プログラムを実行し、
前記シミュレーションが実行されているときに前記挙動値を収集する収集手段と、
前記収集手段によって収集された挙動値と、当該挙動値に関連付けて目標の挙動値とを出力する手段を、さらに備える、請求項2に記載の情報処理装置。
A simulator that executes a simulation to calculate behaviors of the movable device and a controller that controls the movable device,
The simulation
A process of executing the control program and outputting a command value for controlling the movable device;
a process of executing the model using the command value as an input and calculating a behavior value indicating a behavior of the movable machine, wherein the simulator executes the control program using the behavior value calculated by the model as an input,
a collection means for collecting the behavior values while the simulation is running;
The information processing apparatus according to claim 2 , further comprising: means for outputting the behavior values collected by said collection means and a target behavior value in association with said behavior values.
情報処理装置であって、An information processing device,
前記情報処理装置に対するユーザ操作を受付ける操作受付手段と、an operation receiving means for receiving a user operation on the information processing device;
複数の制御対象のそれぞれについて、当該制御対象を駆動する駆動機器を制御するための1つ以上のプログラム要素を格納する格納手段と、a storage means for storing, for each of a plurality of control objects, one or more program elements for controlling a drive device that drives the control object;
前記ユーザ操作により指定された制御対象に対応する前記1つ以上のプログラム要素を前記格納手段から検索し、検索された前記1つ以上のプログラム要素に、ユーザ操作により指定された前記駆動機器の制御の仕方に基づく制御パラメータを設定して制御プログラムを作成するプログラム作成手段と、a program creating means for searching the storage means for one or more program elements corresponding to a control target specified by the user operation, and for creating a control program by setting control parameters based on a method of controlling the movable device specified by the user operation for the one or more program elements found;
前記プログラム作成手段が作成した制御プログラムを、前記ユーザ操作により指定された制御対象の前記駆動機器の挙動を算出するためのモデルに紐付けて管理する管理手段と、a management means for managing the control program created by the program creation means by linking the control program to a model for calculating a behavior of the movable device to be controlled, the model being specified by the user operation;
前記ユーザ操作により設定された前記駆動機器の機械的特性または物理的特性に基づくモデルパラメータを前記モデルに設定するモデル作成手段と、a model creating means for setting, in the model, model parameters based on mechanical characteristics or physical characteristics of the movable device set by the user operation;
前記駆動機器と当該駆動機器を制御するコントローラの挙動を算出するシミュレーションを実行するシミュレータと、備え、a simulator that executes a simulation to calculate behaviors of the movable device and a controller that controls the movable device,
前記シミュレーションは、The simulation
前記制御プログラムを実行し、前記駆動機器を制御するための指令値を出力する処理と、A process of executing the control program and outputting a command value for controlling the movable device;
前記指令値を入力として前記モデルを実行し、前記駆動機器の挙動を示す挙動値を算出する処理と、を備え、前記シミュレータは、前記モデルによって算出された挙動値を入力として前記制御プログラムを実行し、a process of executing the model using the command value as an input and calculating a behavior value indicating a behavior of the movable machine, wherein the simulator executes the control program using the behavior value calculated by the model as an input,
前記情報処理装置は、The information processing device includes:
前記シミュレーションが実行されているときに前記挙動値を収集する収集手段と、a collection means for collecting the behavior values while the simulation is running;
前記収集手段によって収集された挙動値と、当該挙動値に関連付けて目標の挙動値とを出力する手段とを、備える、情報処理装置。An information processing apparatus comprising: a means for outputting the behavior values collected by the collecting means and a target behavior value associated with the behavior values.
前記収集された挙動値と前記目標の挙動値との間の差の大きさに基づき、前記制御パラメータまたは前記モデルパラメータを調整するためのガイド情報を出力する調整手段を、さらに備える、請求項3または4に記載の情報処理装置。 5. The information processing device according to claim 3, further comprising an adjustment means for outputting guide information for adjusting the control parameters or the model parameters based on the magnitude of a difference between the collected behavior values and the target behavior values. 前記ガイド情報は、調整対象のパラメータの識別子と、前記差が小さくなるような当該パラメータの調整量とを含む、請求項に記載の情報処理装置。 The information processing apparatus according to claim 5 , wherein the guide information includes an identifier of a parameter to be adjusted and an amount of adjustment of the parameter that reduces the difference. 前記ユーザ操作によって指定される調整対象のパラメータおよび当該パラメータの調整量に基づき、前記制御プログラムに設定されている前記制御パラメータまたは前記モデルに設定されている前記モデルパラメータを調整する調整処理を実施する、請求項に記載の情報処理装置。 The information processing device according to claim 6 , further comprising: an adjustment process for adjusting the control parameters set in the control program or the model parameters set in the model, based on the parameters to be adjusted and the adjustment amounts of the parameters specified by the user operation . 前記シミュレータは、前記差が予め定められた値に収束するまで、前記調整処理が実施される毎に、前記シミュレーションを実行する、請求項に記載の情報処理装置。 The information processing apparatus according to claim 7 , wherein the simulator executes the simulation each time the adjustment process is performed until the difference converges to a predetermined value. 方法であって、
ユーザ操作を受付けるステップと、
前記ユーザ操作により指定された制御対象を駆動する駆動機器を制御するための1つ以上のプログラム要素に、ユーザ操作により指定された当該駆動機器の制御の仕方に基づく制御パラメータを設定して制御プログラムを作成するステップと、
前記作成するステップにおいて作成された前記制御プログラムを、前記ユーザ操作により指定された制御対象に対応の前記駆動機器の挙動を算出するためのモデルに紐付けて管理するステップと、を備え、
前記制御の仕方は、前記駆動機器の仕様書データが示す制御のための仕様値を含み、
前記方法は、
前記仕様値を換算式を用いて前記制御パラメータに変換するステップを備える、方法。
1. A method comprising:
receiving a user operation;
creating a control program by setting control parameters based on a control method for a movable device specified by a user operation to one or more program elements for controlling the movable device that drives the control target specified by the user operation;
and managing the control program created in the creating step by linking the control program to a model for calculating a behavior of the movable machine corresponding to a control target designated by the user operation,
the control method includes a specification value for control indicated by the specification data of the driving device,
The method comprises:
The method comprising converting the specification value to the control parameter using a conversion formula .
方法であって、1. A method comprising:
ユーザ操作を受付けるステップと、receiving a user operation;
前記ユーザ操作により指定された制御対象を駆動する駆動機器を制御するための1つ以上のプログラム要素に、ユーザ操作により指定された当該駆動機器の制御の仕方に基づく制御パラメータを設定して制御プログラムを作成するステップと、creating a control program by setting control parameters based on a control method for a movable device specified by a user operation to one or more program elements for controlling the movable device that drives the control target specified by the user operation;
前記作成するステップにおいて作成された前記制御プログラムを、前記ユーザ操作により指定された制御対象に対応の前記駆動機器の挙動を算出するためのモデルに紐付けて管理するステップと、managing the control program created in the creating step by linking it to a model for calculating a behavior of the movable machine corresponding to a control target designated by the user operation;
前記ユーザ操作により設定された前記駆動機器の機械的特性または物理的特性に基づくモデルパラメータを前記モデルに設定するステップと、setting model parameters in the model based on mechanical or physical characteristics of the movable device set by the user operation;
前記駆動機器と当該駆動機器を制御するコントローラの挙動を算出するシミュレーションを実行するステップと、備え、executing a simulation to calculate behaviors of the moving machine and a controller that controls the moving machine;
前記シミュレーションは、The simulation
前記制御プログラムを実行し、前記駆動機器を制御するための指令値を出力する処理と、A process of executing the control program and outputting a command value for controlling the movable device;
前記指令値を入力として前記モデルを実行し、前記駆動機器の挙動を示す挙動値を算出する処理と、を備え、前記シミュレーションを実行するステップは、前記モデルによって算出された挙動値を入力として前記制御プログラムを実行するステップを含み、a process of executing the model using the command value as an input and calculating a behavior value indicating a behavior of the movable machine, wherein the step of executing the simulation includes a step of executing the control program using the behavior value calculated by the model as an input,
前記方法は、The method comprises:
前記シミュレーションが実行されているときに前記挙動値を収集するステップと、collecting the performance values as the simulation is running;
前記収集するステップにおいて収集された挙動値と、当該挙動値に関連付けて目標の挙動値とを出力するステップとを備える、方法。A method comprising the step of outputting the behavior values collected in the collecting step and a target behavior value associated with the behavior values.
請求項9または10に記載の方法をプロセッサに実行させるためのプログラム。 A program for causing a processor to execute the method according to claim 9 or 10 .
JP2021039409A 2021-03-11 2021-03-11 Information processing device, method and program Active JP7600788B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021039409A JP7600788B2 (en) 2021-03-11 2021-03-11 Information processing device, method and program
PCT/JP2021/047278 WO2022190558A1 (en) 2021-03-11 2021-12-21 Information processing device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021039409A JP7600788B2 (en) 2021-03-11 2021-03-11 Information processing device, method and program

Publications (2)

Publication Number Publication Date
JP2022139150A JP2022139150A (en) 2022-09-26
JP7600788B2 true JP7600788B2 (en) 2024-12-17

Family

ID=83226252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021039409A Active JP7600788B2 (en) 2021-03-11 2021-03-11 Information processing device, method and program

Country Status (2)

Country Link
JP (1) JP7600788B2 (en)
WO (1) WO2022190558A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128456A (en) 2005-11-07 2007-05-24 Omron Corp Program management device
JP2017220142A (en) 2016-06-10 2017-12-14 富士電機株式会社 Programming device
WO2019186820A1 (en) 2018-03-28 2019-10-03 三菱電機株式会社 Programming assistance device, programming assistance method, and program
JP2020057332A (en) 2018-10-04 2020-04-09 オムロン株式会社 A program generation device, a control method of the program generation device, a control program, and a recording medium.

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4403794B2 (en) * 2003-02-28 2010-01-27 株式会社デンソー Inspection method, inspection apparatus and inspection program for control program
JP2016012191A (en) * 2014-06-27 2016-01-21 オムロン株式会社 Information processing device, information processing method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007128456A (en) 2005-11-07 2007-05-24 Omron Corp Program management device
JP2017220142A (en) 2016-06-10 2017-12-14 富士電機株式会社 Programming device
WO2019186820A1 (en) 2018-03-28 2019-10-03 三菱電機株式会社 Programming assistance device, programming assistance method, and program
JP2020057332A (en) 2018-10-04 2020-04-09 オムロン株式会社 A program generation device, a control method of the program generation device, a control program, and a recording medium.

Also Published As

Publication number Publication date
WO2022190558A1 (en) 2022-09-15
JP2022139150A (en) 2022-09-26

Similar Documents

Publication Publication Date Title
JP6950347B2 (en) Information processing equipment, information processing methods and programs
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
CN108021099B (en) Machine learning device and machining time prediction device
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
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP6988665B2 (en) Information processing systems, information processing methods, and information processing programs
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP6961128B1 (en) Simulation equipment, machine tool system, simulation method and machining method
JP2016012191A (en) Information processing device, information processing method, and program
JP7247808B2 (en) Control system, analysis method and program
JP6972873B2 (en) Information processing equipment, information processing methods, and information processing programs
US20190094831A1 (en) Control apparatus, control method, and support apparatus
JP7600788B2 (en) Information processing device, method and program
JP7600789B2 (en) Information processing system, method and program
JP2023116902A (en) Information processing system, method and program
CN116056842A (en) Control device, control system and program
JP7375632B2 (en) Control system and support equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241029

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20241105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241118

R150 Certificate of patent or registration of utility model

Ref document number: 7600788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150