JP7258246B1 - シミュレーション用プログラム、シミュレーション装置及び制御方法 - Google Patents

シミュレーション用プログラム、シミュレーション装置及び制御方法 Download PDF

Info

Publication number
JP7258246B1
JP7258246B1 JP2022562824A JP2022562824A JP7258246B1 JP 7258246 B1 JP7258246 B1 JP 7258246B1 JP 2022562824 A JP2022562824 A JP 2022562824A JP 2022562824 A JP2022562824 A JP 2022562824A JP 7258246 B1 JP7258246 B1 JP 7258246B1
Authority
JP
Japan
Prior art keywords
mechanical device
simulation
controller
model
control
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
JP2022562824A
Other languages
English (en)
Other versions
JPWO2023203604A5 (ja
JPWO2023203604A1 (ja
Inventor
真充 服部
敦生 葉石
亙 小坂
将哉 木村
恭介 浅木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7258246B1 publication Critical patent/JP7258246B1/ja
Publication of JPWO2023203604A1 publication Critical patent/JPWO2023203604A1/ja
Publication of JPWO2023203604A5 publication Critical patent/JPWO2023203604A5/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

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

Abstract

エンジニアリング設定ツール(100)には、シミュレーション用プログラム(120)がインストールされている。コントローラ制御シミュレーション部(121)は、コントローラ用プログラムを実行することでコントローラ(20)の制御のシミュレーションを行う。機械装置動作シミュレーション部(122)は、機械装置のライブラリファイル化されたモデルである機械装置モデル(140)を用いて機械装置の動作のシミュレーションを行う。

Description

本開示は、シミュレーション用プログラム、シミュレーション装置及び制御方法に関する。
複数種類のFA(Factory Automation)機器が接続されたFAシステムであるユーザシステムの動作の検証は、エンジニアリング設定ツールを介してFA機器の動作のシミュレーションを実行することによって行われる。ここで、エンジニアリング設定ツールとは、パーソナルコンピュータといったコンピュータ装置においてソフトウェアを実行することで実現する設定ツールである。エンジニアリング設定ツールは、ユーザに対してユーザインタフェースを提供することで当該ユーザによるユーザプログラムの作成を支援するとともに、上述したFA機器の動作のシミュレーションを実行するシミュレータを起動することができる。
また、エンジニアリング設定ツールは、上述したユーザシステムがFA機器を制御するコントローラを備える場合、当該コントローラのユーザプログラムを実行するシミュレータを起動することができる。このため、エンジニアリング設定ツールは、コントローラの制御のシミュレーションを実行しつつFA機器の動作のシミュレーションを実行することができる。この結果、エンジニアリング設定ツールでは、例えば、ユーザプログラムの実行条件の設定、実行の開始及び停止の設定、データ処理、FA機器の軸の移動位置の計算といった処理をコントローラが正しく実行するか否かを確認できる。
なお、エンジニアリング設定ツールのようなコントローラとは異なるコンピュータ装置がシミュレーションを行うものではないが、特許文献1には、板金加工自動化システムのセルコントローラが行うシミュレーションについて開示されている。特許文献1のセルコントローラは、板金製品を製作する板金加工ラインに備えられた機械と接続されて当該板金加工ラインを制御するコンピュータ装置である。特許文献1のセルコントローラは、板金加工ラインの動作のシミュレーションを行うために、当該セルコントローラと接続されたCAD/CAMシステムによって作成された板金加工ラインモデルがインストールされている。
特開2003-108212号公報
特許文献1に記載されたセルコントローラは、板金加工自動化システムが備える専用のCAD/CAMシステムの装置に依存して板金加工ラインの動作のシミュレーションを行わなければならないという問題がある。
本開示は、上記実情に鑑みてなされたものであり、コントローラが制御する機械装置のモデルを生成する装置に依存せずにコントローラの制御と機械装置の動作とのシミュレーションを行うことを目的とする。
上記目的を達成するため、本開示に係るシミュレーション用プログラムは、コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置を、コントローラのプログラムを実行することでコントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部、コントローラが機械装置を制御するシステムに依存しない外部の送信装置から取得した機械装置のライブラリファイル化されたモデルである機械装置モデルを用いて機械装置の動作のシミュレーションを行う機械装置動作シミュレーション部として機能させ、機械装置モデルは、システムに依存しない外部の生成装置によってライブラリファイル化されている。
本開示によれば、機械装置動作シミュレーション部は、ライブラリファイル化されたモデルである機械装置モデルを用いて機械装置の動作のシミュレーションを行う。この結果、本開示に係るシミュレーション用プログラムは、コントローラが制御する機械装置のモデルを生成する装置に依存せずにコントローラの制御と機械装置の動作とのシミュレーションを行うことができる。
実施の形態1に係るユーザシステムの全体説明図 実施の形態1に係るエンジニアリング設定ツールの機能構成を示す図 実施の形態1に係るエンジニアリング設定ツールのハードウェア構成を示すブロック図 実施の形態1に係る機械装置モデル割付画面の表示例1を示す図 実施の形態1に係る機械装置モデル割付画面の表示例2を示す図 実施の形態1に係る機械装置モデル割付画面の表示例3を示す図 実施の形態1に係る機械装置の動作のシミュレーションの説明図 実施の形態1に係るシミュレーション結果出力処理のフローチャート 実施の形態1に係るシミュレーション処理のフローチャート 実施の形態2に係る機械装置の動作のシミュレーションの説明図 実施の形態3に係る機械装置モデル割付画面の表示例を示す図
以下、本開示を実施するための形態に係るシミュレーション用プログラム、シミュレーション装置及び制御方法について図面を参照して詳細に説明する。なお、図中同一又は相当する部分には同じ符号を付す。
[実施の形態1]
(実施の形態1に係るユーザシステム1について)
本開示の実施の形態1に係るユーザシステム1は、例えば、ユーザによって構築されたFA(Factory Automation)システムである。図1に示すように、ユーザシステム1は、動作を行う機械装置10、機械装置10に接続されて当該機械装置10を制御するコントローラ20を備える。また、ユーザシステム1は、コントローラ20に接続されて当該コントローラ20による機械装置10の制御のシミュレーションを行うシミュレーション装置の一例としてのエンジニアリング設定ツール100を備える。
(実施の形態1に係る機械装置10について)
機械装置10は、例えば、FA機器である。機械装置10は、機械装置10の各軸に設けられたモータ11、モータ11を駆動するモータドライバ12を含む。
(実施の形態1に係るコントローラ20について)
コントローラ20は、例えば、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)、産業用パーソナルコンピュータ、サーボシステムコントローラといったコンピュータ装置である。コントローラ20は、モータドライバ12を制御することで、モータ11の駆動を制御する。
(実施の形態1に係るエンジニアリング設定ツール100について)
図2に示すように、エンジニアリング設定ツール100は、エンジニアであるユーザが使用する設定ツールとしての機能を実現するためのプログラムであるエンジニアリング設定ツール用プログラム110がインストールされたコンピュータ装置である。具体的には、エンジニアリング設定ツール100は、例えば、ユーザが携帯可能なノートタイプのパーソナルコンピュータ、タブレットタイプのパーソナルコンピュータにエンジニアリング設定ツール用プログラム110がインストールされたコンピュータ装置である。なお、エンジニアリング設定ツール100には、コントローラ20による機械装置10の制御のシミュレーションを行うシミュレータとしての機能を実現するためのシミュレーション用プログラム120もインストールされている。
エンジニアリング設定ツール100は、ユーザからの入力によってコントローラ20のプログラムであるコントローラ用プログラムのソースコードを生成するとともに、当該コントローラ用プログラムをコンパイルしてコントローラ20が実行可能な形式のデータであるオブジェクトコードに変換する。ここで、コントローラ用プログラムとは、例えば、コントローラ20が機械装置10の位置決めのための演算を行い、当該機械装置10に位置に関する指令を出力する制御を行うためのプログラムである。
また、エンジニアリング設定ツール100は、例えば、USB(Universal Serial Bus)規格のケーブルによってコントローラ20に接続されている。このため、エンジニアリング設定ツール100は、オブジェクトコードに変換されたコントローラ用プログラムをコントローラ20に送信してコントローラ20が備える図示しないメモリに当該コントローラ用プログラムを記憶させることが可能となっている。この結果、コントローラ20は、メモリに記憶しているオブジェクトコードを用いてコントローラ用プログラムを実行することができ、例えば、機械装置10の位置決めのための演算を行ったり、当該機械装置10に位置に関する指令を出力する制御を行ったりすることができる。
エンジニアリング設定ツール100は、コントローラ用プログラムを編集するコントローラ用プログラム編集部111、シミュレーションに用いるパラメータを設定するパラメータ設定部112を含む。また、エンジニアリング設定ツール100は、機械装置10のモデルである機械装置モデル140を取得する機械装置モデル取得部113、コントローラ用プログラムで使用される機械装置10の状態変数に機械装置モデル140を割り付ける機械装置モデル割付部114を含む。また、エンジニアリング設定ツール100は、シミュレーション用プログラム120に基づくシミュレータと情報を送受信するシミュレータ用通信インタフェース115を含む。また、エンジニアリング設定ツール100は、シミュレーション結果を示す情報であるシミュレーション結果情報を出力するシミュレーション結果出力部116、コントローラ用プログラムをコントローラ20に出力するコントローラ用プログラム出力部117を含む。
なお、図2の上側の点線の枠で示すように、コントローラ用プログラム編集部111、パラメータ設定部112、機械装置モデル取得部113、機械装置モデル割付部114、シミュレータ用通信インタフェース115、シミュレーション結果出力部116及びコントローラ用プログラム出力部117は、例えば、エンジニアリング設定ツール100にエンジニアリング設定ツール用プログラム110がインストールされることによって実現可能となる機能である。
また、エンジニアリング設定ツール100は、コントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部121、機械装置10の動作のシミュレーションを行う機械装置動作シミュレーション部122を含む。また、エンジニアリング設定ツール100は、シミュレーションに関する情報を管理する情報管理部123を含む。
なお、図2の下側の点線の枠で示すように、コントローラ制御シミュレーション部121、機械装置動作シミュレーション部122及び情報管理部123は、例えば、エンジニアリング設定ツール100にシミュレーション用プログラム120がインストールされることによって実現可能となるシミュレータとしての機能である。
また、エンジニアリング設定ツール100は、情報を記憶する情報記憶部130を含む。情報記憶部130は、コントローラ用プログラムを記憶するコントローラ用プログラム記憶部131、シミュレーションに用いるパラメータを記憶するパラメータ記憶部132、機械装置モデル140を記憶する機械装置モデル記憶部133を含む。また、情報記憶部130は、コントローラ20の制御に関する情報である制御関連情報を記憶する制御関連情報記憶部134、シミュレーション用プログラム120を記憶するシミュレーション用プログラム記憶部135を含む。
(実施の形態1に係るエンジニアリング設定ツール100のハードウェア構成について)
図3に示すように、エンジニアリング設定ツール100は、例えば、シミュレーション用プログラムといった制御プログラム59に従って処理を実行する制御部51を備える。制御部51は、CPU(Central Processing Unit)を備える。制御部51は、制御プログラム59に従って、図2に示すコントローラ用プログラム編集部111、パラメータ設定部112、機械装置モデル割付部114、シミュレータ用通信インタフェース115、シミュレーション結果出力部116、コントローラ制御シミュレーション部121、機械装置動作シミュレーション部122及び情報管理部123として機能する。
図3に戻り、エンジニアリング設定ツール100は、制御プログラム59をロードし、制御部51の作業領域として用いられる主記憶部52を備える。主記憶部52は、RAM(Random Access Memory)を備える。
図3に戻り、エンジニアリング設定ツール100は、制御プログラム59を予め記憶する外部記憶部53を備える。外部記憶部53は、制御部51の指示に従って、このプログラムが記憶するデータを制御部51に供給し、制御部51から供給されたデータを記憶する。外部記憶部53は、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)といった揮発性・不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性の記録媒体を備える。外部記憶部53は、図2に示す情報記憶部130として機能する。
図3に戻り、エンジニアリング設定ツール100は、ユーザに操作される操作部54を備える。操作部54を介して、入力された情報が制御部51に供給される。操作部54は、キーボード、マウス、タッチパネル等の情報入力部品を備える。
また、エンジニアリング設定ツール100は、操作部54を介して入力された情報及び制御部51が出力した情報を表示する表示部55を備える。表示部55は、LCD(Liquid Crystal Display)、OLED(Organic Light Emitting Diode)ディスプレイ等の表示装置を備える。
また、エンジニアリング設定ツール100は、情報を送受信する送受信部56を備える。送受信部56は、ネットワークに接続する通信網終端装置、無線通信装置等の情報通信部品を備える。送受信部56は、図2に示す機械装置モデル取得部113、コントローラ用プログラム出力部117として機能する。
図3に戻り、エンジニアリング設定ツール100では、主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56はいずれも内部バス50を介して制御部51に接続されている。
エンジニアリング設定ツール100は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、図2に示す上記の各部111~117、121~123、130の機能を実現する。例えば、エンジニアリング設定ツール100は、コントローラ用プログラム編集部111が行うコントローラ用プログラム編集ステップを実行する。また、例えば、エンジニアリング設定ツール100は、パラメータ設定部112が行うパラメータ設定ステップ、機械装置モデル割付部114が行う機械装置モデル割付ステップ、シミュレータ用通信インタフェース115が行うシミュレータ用通信ステップを実行する。
また、例えば、エンジニアリング設定ツール100は、シミュレーション結果出力部116が行うシミュレーション結果出力ステップ、コントローラ用プログラム出力部117が行うコントローラ用プログラム出力ステップを実行する。また、例えば、エンジニアリング設定ツール100は、コントローラ制御シミュレーション部121が行うコントローラ制御シミュレーションステップ、機械装置動作シミュレーション部122が行う機械装置動作シミュレーションステップを実行する。また、例えば、エンジニアリング設定ツール100は、情報管理部123が行う情報管理ステップ、情報記憶部130が行う情報記憶ステップを実行する。
(実施の形態1に係るエンジニアリング設定ツール100の機能構成の詳細について)
図2に戻り、コントローラ用プログラム編集部111は、ユーザがコントローラ用プログラムを作成するためのユーザインタフェースである図示しないプログラム編集画面を表示部55に表示する。また、コントローラ用プログラム編集部111は、ユーザが操作部54を用いたプログラム編集画面への入力に基づいてコントローラ用プログラムのソースコードを編集する。
パラメータ設定部112は、例えば、パラメータとしてコントローラ制御シミュレーション部121が行うシミュレーションにおけるコントローラ20の制御の演算処理の周期である制御演算処理周期の設定値を設定する。また、パラメータ設定部112は、例えば、パラメータとして機械装置動作シミュレーション部122が行うシミュレーションにおける機械装置10の動作の演算処理の周期である動作演算処理周期の設定値を設定する。パラメータ設定部112は、これらのパラメータを設定するためのユーザインタフェースである図示しないパラメータ設定画面を表示部55に表示する。また、パラメータ設定部112は、ユーザが操作部54を用いたパラメータ設定画面への入力に基づいてこれらのパラメータを設定する。なお、パラメータ設定部112は、制御演算処理周期の設定値を設定したときに、動作演算処理周期の設定値を制御演算処理周期の設定値と同一の値、例えば4msといった値に自動的に設定する。
機械装置モデル取得部113は、ユーザシステム1の外部の装置が生成した機械装置モデル140を当該外部の装置から受信することで、機械装置モデル140を取得する。なお、本実施の形態では、機械装置モデル140を送信する外部の装置が機械装置モデル140を生成しているが、これに限定されず、ユーザシステム1の外部の装置である限りにおいて、機械装置モデル140を生成する装置と機械装置モデル140を送信する装置とが異なってもよい。また、本実施の形態では、機械装置モデル取得部113は、機械装置モデル140をユーザシステム1の外部の装置から取得しているが、これに限定されず、例えば、エンジニアリング設定ツール100において自ら生成した機械装置モデル140を取得してもよい。
ここで、機械装置モデル140とは、機械装置10の動的システムを数学的、論理的にモデル化したものであり、具体低には、機械装置10のモデル構造の定義と、機械装置10のモデルの動作を表す関数の実装とを備えるソフトウェアである。なお、機械装置10のモデル構造の定義には、機械装置10の入力、出力、パラメータ、その他の変数といった定義が含まれる。また、機械装置10のモデルの動作は、運動方程式で表現することができ、モデル化された動的システムの状態が時間の経過とともにどのように変化するかを演算できる。
本実施の形態では、機械装置10のモデル構造の定義は、文書、データの意味、構造を記述するための形式言語であるマークアップ言語の一例としてのXML(Extensible Markup Language)のファイル形式で記載されている。また、機械装置10の動作を表す関数は、動的リンクライブラリ(DLL:Dynamic Link Library)、例えば、Windows(登録商標)OS(Operating System)におけるdllファイルといったバイナリファイルのファイル形式で実装されている。すなわち、機械装置モデル140は、XMLファイル、dllファイルといった汎用のライブラリファイル化がなされた機械装置10の数学的、論理的なモデルである。
機械装置モデル割付部114は、機械装置10の動作を行う軸の状態変数である軸変数、互いに関連する複数種類の軸のグループの状態変数である軸グループ変数に機械装置モデル140を割り付ける。機械装置モデル割付部114は、これらの状態変数に機械装置モデル140を割り付けるためのユーザインタフェースである図4~図6に示す機械装置モデル割付画面200を表示部55に表示する。また、機械装置モデル割付部114は、ユーザが操作部54を用いた機械装置モデル割付画面200への入力に基づいてこれらの状態変数に機械装置モデル140を割り付ける。
機械装置モデル割付画面200は、機械装置10の状態変数を設定する図4に示す状態変数設定画面210を含む。また、機械装置モデル割付画面200は、機械装置モデル140の入出力の詳細な設定を行う図5に示す機械装置モデル入出力設定画面220、機械装置モデル140の入出力の設定の支援を行う図6に示す入出力設定支援画面230を含む。
まず、機械装置モデル割付部114は、機械装置モデル割付画面200として図4に示す状態変数設定画面210を表示する。図4に示すように、状態変数設定画面210は、上から順番に、軸又は軸グループの名称を表示する軸名称表示欄211、軸グループの構成を表示する構成表示欄212、機械装置モデル140の有効・無効を設定する有効無効設定欄213、機械装置モデル140のファイルパスを設定するファイルパス設定欄214、機械装置モデル140の入出力を設定する入出力設定欄215を有する。また、入出力設定欄215には、ユーザが押下可能な設定ボタン216が設けられている。
軸名称表示欄211には、例えば、「名称」との項目に対応して軸グループの名称である「AxesGroup001」との情報が表示されている。また、構成表示欄212には、例えば、「構成軸1」との項目に対応して軸グループの第1の構成軸の名称である「Axis001」との情報が表示されている。また、有効無効設定欄213には、例えば、「機械装置モデル有効無効」との項目に対応してユーザが操作部54を用いた入力によって設定された「有効」との情報が表示されている。この場合、ファイルパス設定欄214及び入出力設定欄215に対するユーザの操作部54を用いた入力が有効化される。
この結果、ファイルパス設定欄214には、例えば、「機械装置モデルファイルパス」との項目に対応してユーザが操作部54を用いた入力によって設定された「C:¥…¥Model001.xxx」との情報が表示されている。この状態において、ユーザが操作部54を用いた入力によって入出力設定欄215の設定ボタン216を押下すると、機械装置モデル割付部114は、図5に示す機械装置モデル入出力設定画面220を表示する。
図5に示すように、機械装置モデル入出力設定画面220は、上部に設けられたユーザが押下可能な入力支援ボタン221、下部に設けられた機械装置モデル140の入出力の詳細を設定するテーブル形式の入出力設定欄222を有する。
入出力設定欄222には、機械装置モデル140の入出力の名称を示す「名称」、入出力の種別を示す「種別」、入出力に対応する軸変数又は軸グループ変数の名称を示す「データ名」、入出力のデータ型を示す「データ型」の項目に対応する情報が入出力毎に表示されている。入出力設定欄222には、例えば、「Model001」の機械装置モデル140における「名称」が「Input1」の入力について、「種別」が「ラベル」、「データ名」が「Axis0001.Md.SetPosition」、「データ型」が「倍精度浮動小数」である旨が表示されている。また、入出力設定欄222には、例えば、「名称」が「Output1」の出力について、「種別」が「ラベル」、「データ名」が「Axis0001.Md.ActualPosition」、「データ型」が「倍精度浮動小数」である旨が表示されている。
ユーザは、操作部54を用いた入力によって入出力設定欄222のこれらの項目に対応する情報を機械装置モデル140の入出力毎に設定することができる。また、ユーザが操作部54を用いた入力によって入出力設定欄222の何れかの入力又は出力の行を選択した状態で入力支援ボタン221を押下すると、機械装置モデル割付部114は、図6に示す入出力設定支援画面230を表示する。
図6に示すように、入出力設定支援画面230は、上から順番に、軸又は軸グループの名称を選択する軸名称選択欄231、軸変数又は軸グループ変数の構造体の種別を選択する構造体種別選択欄232、軸変数又は軸グループ変数のデータ名を選択するデータ名選択欄233を有する。
軸名称選択欄231及び構造体種別選択欄232は、プルダウン形式のメニュー選択欄である。ユーザは、操作部54を用いた入力によって軸名称選択欄231を押下すると、割り付けによって機械装置モデル140に関連付けられた軸又は軸グループの名称、具体的には、図4に示す「AxesGroup001」、「Axis0001」、「Axis0002」の何れかを選択できる。よって、軸名称選択欄231には、例えば、「軸名称」との項目に対応して選択された「Axis0001」との情報が表示されている。
この状態において、ユーザは、操作部54を用いた入力によって構造体種別選択欄232を押下すると、軸名称選択欄231で選択された名称が「Axis0001」の軸変数のうちのデータ形式の一例である構造体の種別、例えば、「パラメータデータ」、「モニタデータ」といった種別から何れかの種別を選択できる。よって、構造体種別選択欄232には、例えば、「構造体種別」との項目に対応して設定された「モニタデータ」との情報が表示されている。
この場合、データ名選択欄233には、軸名称選択欄231で選択された軸又は軸グループと構造体種別選択欄232で選択された構造体の種別とで絞り込まれた軸変数又は軸グループ変数のデータ名が表示される。データ名選択欄233には、例えば、「名称」の項目に対応して軸変数又は軸グループ変数の説明を示す「指令現在位置」、「データ名」の項目に対応して軸変数又は軸グループ変数のデータ名を示す「*.Md.SetPosition」との情報が表示されている。
この状態において、ユーザが操作部54を用いた入力によってデータ名選択欄233に表示された軸変数又は軸グループ変数のデータ名を選択すると、機械装置モデル割付部114は、入出力設定支援画面230の表示を終了して図5に示す機械装置モデル入出力設定画面220において選択されていた入力又は出力の行に「種別」、「データ名」、「データ型」の項目に対応する情報を自動的に設定する。
具体的には、ユーザが図5に示す機械装置モデル入出力設定画面220において入出力設定欄222の「Input1」の入力の行を選択した状態で入力支援ボタン221を押下した場合について考える。この場合において、ユーザが図6に示す入出力設定支援画面230において軸名称選択欄231で「Axis0001」を選択し、構造体種別選択欄232で「モニタデータ」を選択し、データ名選択欄233で「*.Md.SetPosition」を選択したとする。この場合、機械装置モデル割付部114は、図5に示す機械装置モデル入出力設定画面220において入出力設定欄222の「Input1」の入力の行の「種別」との項目に対応して「ラベル」、「データ名」との項目に対応して「Axis0001.Md.SetPosition」、「データ型」との項目に対応して「倍精度浮動小数」との情報を自動的に表示することで、これらの情報を自動的に設定する。この結果、機械装置モデル割付部114は、軸変数又は軸グループ変数に機械装置モデル140を割り付けることができる。
図2に戻り、シミュレータ用通信インタフェース115は、シミュレーション用プログラム120の実行を開始することで、シミュレータを起動する。また、シミュレータ用通信インタフェース115は、コントロ-ラ用プログラム、パラメータを示す情報、機械装置モデル140及び割り付けに関する情報をシミュレータに送信する。また、シミュレータ用通信インタフェース115は、シミュレータがシミュレーションを行った後、当該シミュレータからシミュレーション結果情報を取得する。
シミュレーション結果出力部116は、シミュレータ用通信インタフェース115が受信した図示しないシミュレーション結果情報を表示部55に表示することで、シミュレーション結果情報を出力する。
コントローラ用プログラム出力部117は、シミュレーション結果に基づいてソースコードが編集され、オブジェクトコードに変換されたコントローラ用プログラムをコントローラ20に送信することで、コントローラ用プログラムを出力する。
情報管理部123は、シミュレータ用通信インタフェース115から送信された情報を受信し、情報記憶部130に記憶させる。具体的には、情報管理部123は、取得したコントローラ用プログラムをコントローラ用プログラム記憶部131に記憶させ、取得したパラメータを示す情報をパラメータ記憶部132に記憶させ、取得した機械装置モデル140及び割り付けに関する情報を機械装置モデル記憶部133に記憶させる。また、情報管理部123は、コントローラ制御シミュレーション部121が出力する後述する設定情報を取得し、制御関連情報記憶部134に記憶させる。また、情報管理部123は、機械装置動作シミュレーション部122からの要求に応じて情報記憶部130が記憶しているこれらの情報を読み出す。
コントローラ制御シミュレーション部121は、コントローラ用プログラムを実行することでコントローラ20の制御のシミュレーションを行う。まず、コントローラ制御シミュレーション部121は、情報管理部123を介して、コントローラ用プログラム記憶部131が記憶しているコントローラ用プログラム、パラメータ記憶部132が記憶している制御演算処理周期の設定値をそれぞれ読み出す。そして、コントローラ制御シミュレーション部121は、制御演算処理周期の設定値を1サイクルの制御演算処理周期としてコントローラ用プログラムを実行する。このとき、コントローラ制御シミュレーション部121は、コントローラ20の制御に関する設定値を算出し、当該設定値を示す情報である設定情報を情報管理部123に出力する。なお、コントローラ20の制御に関する設定値とは、例えば、シミュレータが利用する位置決めアドレスを示す値、位置決め速度を示す値である。
機械装置動作シミュレーション部122は、機械装置モデル140を用いて機械装置10の動作のシミュレーションを行う。まず、機械装置動作シミュレーション部122は、情報管理部123を介して、機械装置モデル記憶部133が記憶している機械装置モデル140及び割り付けに関する情報、パラメータ記憶部132が記憶している動作演算処理周期の設定値、制御関連情報記憶部134が記憶している設定情報をそれぞれ読み出す。そして、機械装置動作シミュレーション部122は、動作演算処理周期の設定値を1サイクルの演算処理周期として機械装置モデル140を用いた機械装置10の動作のシミュレーションを行う。
(実施の形態1に係る機械装置10の動作のシミュレーションについて)
ここで、機械装置モデル140は、指定された時間を経過させる要求がなされたときに現在時刻から当該時間が経過した次の時刻における機械装置10の状態を示す情報を出力するモデルである。具体的には、図7に示すように、機械装置モデル140は、機械装置10のモデルの動作を表現する一連の常微分方程式を数値計算によって解くことが可能な数値ソルバ141を含む。数値ソルバ141は、時間及び連続状態を示す値を機械装置モデル140に入力して機械装置モデル140から連続状態の微分値を出力として取得する演算処理部である。
まず、機械装置動作シミュレーション部122は、機械装置モデル140に現在時刻及び現在時刻からの時間の刻み幅であるコミュニケーションステップサイズを機械装置モデル140に指定する。ここで、コミュニケーションステップサイズは、動作演算処理周期の設定値である。また、機械装置動作シミュレーション部122は、割り付けに関する情報及び設定情報に基づいて設定した入力値を機械装置モデル140に入力する。ここで、入力値には、例えば、「データ名」が「Axis0001.Md.SetPosition」の軸変数が示す値が含まれる。このとき、数値ソルバ141は、現在時刻及びコミュニケーションステップサイズに基づく時間、入力値に基づく機械装置10の連続状態を示す値を機械装置モデル140に入力して連続状態の微分値を出力として取得する。そして、機械装置モデル140は、連続状態の微分値に基づく出力値を機械装置動作シミュレーション部122に出力する。ここで、出力値には、例えば、「データ名」が「Axis0001.Md.ActualPosition」の軸変数が示す値が含まれる。
この結果、機械装置動作シミュレーション部122は、動作演算処理周期の設定値を1サイクルの演算処理周期、すなわち、コミュニケーションステップサイズとして機械装置モデル140を用いた機械装置10の動作のシミュレーションを行うことができる。なお、上述したように、動作演算処理周期の設定値は、制御演算処理周期の設定値と同一の値である。このため、機械装置動作シミュレーション部122が行う機械装置10の動作のシミュレーションは、コントローラ制御シミュレーション部121が行うコントローラ20の制御のシミュレーションと同期を取ることができる。
また、機械装置動作シミュレーション部122は、情報管理部123を介して、出力値を示す情報であるシミュレーション結果情報を制御関連情報記憶部134に記憶させる。この結果、シミュレータ用通信インタフェース115は、制御関連情報記憶部134に記憶されたシミュレーション結果情報を読み出すことで、シミュレーション結果情報を取得できる。
(実施の形態1に係るシミュレーション結果出力処理について)
次に、フローチャートを用いてエンジニアリング設定ツール100が編集したコントローラ用プログラムのシミュレーション結果情報を出力する動作について説明する。エンジニアリング設定ツール100は、エンジニアリング設定ツール用プログラム110を起動すると、図8に示すシミュレーション結果出力処理の実行を開始する。
先ず、コントローラ用プログラム編集部111は、図示しないプログラム編集画面を表示し、ユーザが操作部54を用いたプログラム編集画面への入力に基づいてコントローラ用プログラムのソースコードを編集する(ステップS101)。次に、パラメータ設定部112は、図示しないパラメータ設定画面を表示し、ユーザが操作部54を用いたパラメータ設定画面への入力に基づいて制御演算処理周期の設定値、動作演算処理周期の設定値といったパラメータを設定する(ステップS102)。
次に、機械装置モデル割付部114は、図4~図6に示す機械装置モデル割付画面200を表示し、ユーザが操作部54を用いた機械装置モデル割付画面200への入力に基づいて軸変数、軸グループ変数といった状態変数に機械装置モデル140を割り付ける(ステップS103)。例えば、機械装置モデル割付部114は、機械装置モデル割付画面200に含まれる状態変数設定画面210、機械装置モデル入出力設定画面220、入出力設定支援画面230を用いたユーザの入力によって、機械装置モデル140の入力及び出力を設定する。具体的には、機械装置モデル割付部114は、「データ名」が「Axis0001.Md.SetPosition」の軸変数を機械装置モデル140の入力として設定するとともに、「データ名」が「Axis0001.Md.ActualPosition」の軸変数を機械装置モデル140の出力として設定する。
次に、シミュレータ用通信インタフェース115は、シミュレーション用プログラム120の実行を開始することで、シミュレータを起動する(ステップS104)。次に、シミュレータ用通信インタフェース115は、コントロ-ラ用プログラム、パラメータを示す情報、機械装置モデル140及び割り付けに関する情報をシミュレータに送信する(ステップS105)。次に、シミュレータ用通信インタフェース115は、情報記憶部130に記憶されたシミュレーション結果情報を取得することで、シミュレータからシミュレーション結果情報を取得する(ステップ106)。そして、コントローラ用プログラム出力部117は、図示しないシミュレーション結果情報を表示し(ステップS107)、処理を終了する。
なお、エンジニアリング設定ツール100が機械装置モデル140を取得する動作については、機械装置モデル取得部113がユーザシステム1の外部の装置が生成した機械装置モデル140を当該外部の装置から受信するだけであるため、フローチャートを用いた詳細な説明を省略する。
(実施の形態1に係るシミュレーション処理について)
次に、フローチャートを用いてエンジニアリング設定ツール100がコントローラ用プログラムに基づいてコントローラ20による機械装置10の動作の制御のシミュレーションを行う動作について説明する。エンジニアリング設定ツール100は、シミュレータ用通信インタフェース115がシミュレーション用プログラム120の実行を開始してシミュレータを起動すると、図9に示すシミュレーション処理の実行を開始する。
先ず、コントローラ制御シミュレーション部121は、情報管理部123を介して情報記憶部130が記憶しているコントローラ用プログラム、制御演算処理周期の設定値を読み出す(ステップS201)。次に、コントローラ制御シミュレーション部121は、制御演算処理周期の設定値を1サイクルの制御演算処理周期としてコントローラ用プログラムの実行を開始する(ステップS202)。次に、コントローラ制御シミュレーション部121は、位置決めアドレスを示す値、位置決め速度を示す値といったコントローラ20の制御に関する設定値を算出し、情報管理部123を介して当該設定値を示す設定情報を制御関連情報記憶部134に記憶させる(ステップS203)。
次に、機械装置動作シミュレーション部122は、情報管理部123を介して情報記憶部130が記憶している機械装置モデル140、割り付けに関する情報、動作演算処理周期の設定値、設定情報といった情報を読み出す(ステップS204)。次に、機械装置動作シミュレーション部122は、動作演算処理周期の設定値をコミュニケーションステップサイズすなわち、1サイクルの演算処理周期として機械装置モデル140を用いた機械装置10の動作のシミュレーションを行う(ステップS205)。例えば、機械装置動作シミュレーション部122は、機械装置モデル140に対して、現在時刻とコミュニケーションステップサイズを指定した上で、割り付けに関する情報及び設定情報に基づいて設定した「Axis0001.Md.SetPosition」の軸変数が示す値を含む入力値を入力する。そして、機械装置動作シミュレーション部122は、機械装置モデル140が出力した連続状態の微分値に基づく「Axis0001.Md.ActualPosition」の軸変数が示す値を含む出力値を取得する。次に、機械装置動作シミュレーション部122は、情報管理部123を介してシミュレーション結果情報を制御関連情報記憶部134に記憶させ(ステップS206)、処理を終了する。
なお、情報管理部123がシミュレータ用通信インタフェース115から送信された情報を情報記憶部130に記憶させる動作については、情報管理部123が取得した各情報を情報記憶部130の各記憶部131~133に記憶させるだけである。このため、情報管理部123が行う上記の動作については、フローチャートを用いた詳細な説明を省略する。
以上説明したように、本実施の形態に係るユーザシステム1によれば、エンジニアリング設定ツール100には、シミュレーション用プログラム120がインストールされている。よって、エンジニアリング設定ツール100は、シミュレーション用プログラム120を実行することで、コントローラ20による機械装置10の制御のシミュレーションを行うシミュレーション装置、すなわち、シミュレータとしての機能を実現できる。
また、本実施の形態に係るユーザシステム1によれば、エンジニアリング設定ツール100では、コントローラ制御シミュレーション部121は、コントローラ用プログラムを実行することでコントローラ20の制御のシミュレーションを行う。また、エンジニアリング設定ツール100では、機械装置動作シミュレーション部122は、機械装置モデル140を用いて機械装置10の動作のシミュレーションを行う。ここで、機械装置モデル140は、機械装置モデル取得部113によって外部の装置から取得したライブラリファイル化されたモデルである。
このようにすることで、本実施の形態に係るシミュレーション用プログラム120は、コントローラ20が制御する機械装置10のモデルを生成する装置に依存せずにコントローラ20の制御と機械装置10の動作とのシミュレーションを行うことができる。
また、本実施の形態に係るユーザシステム1によれば、エンジニアリング設定ツール100では、コントローラ制御シミュレーション部121は、コントローラ用プログラムを実行して、位置決めアドレスを示す値、位置決め速度を示す値といったコントローラ20の制御に関する設定値を算出する。また、コントローラ制御シミュレーション部121は、情報管理部123を介して算出した設定値を示す設定情報を制御関連情報記憶部134に記憶させる。そして、機械装置動作シミュレーション部122は、情報管理部123を介して設定情報を読み出す。
このようにすることで、コントローラ制御シミュレーション部121及び機械装置動作シミュレーション部122は、情報管理部123を介して情報を送受信することができる。よって、エンジニアリング設定ツール100では、コントローラ制御シミュレーション部121がコントローラ用プログラムを実行して算出したコントローラ20の制御に関する設定値を用いて機械装置動作シミュレーション部122が機械装置10の動作のシミュレーションを行うことができる。この結果、本実施の形態に係るシミュレーション用プログラム120は、ユーザシステム1においてコントローラ20が実際に実行するコントローラ用プログラムを用いて機械装置10の動作を含むユーザシステム1の全体の検証を行うことができる。
また、本実施の形態に係るユーザシステム1によれば、機械装置モデル140は、指定された時間を経過させる要求がなされたときに現在時刻から当該時間が経過した次の時刻における機械装置10の軸変数の値を示す情報を出力値として出力するモデルである。また、エンジニアリング設定ツール100では、機械装置動作シミュレーション部122は、機械装置モデル140に対して、現在時刻とコミュニケーションステップサイズを指定した上で、割り付けに関する情報及び設定情報に基づいて設定した入力値を入力する。この結果、機械装置動作シミュレーション部122は、機械装置モデル140が出力した連続状態の微分値に基づく出力値を取得でき、機械装置10の動作のシミュレーションを行うことができる。
ここで、機械装置動作シミュレーション部122が指定しているコミュニケーションステップサイズは、パラメータ設定部112が設定した動作演算処理周期の設定値であり、パラメータ設定部112は、動作演算処理周期の設定値を制御演算処理周期の設定値と同一の値に自動的に設定している。よって、機械装置動作シミュレーション部122が指定するコミュニケーションステップサイズは、コントローラ制御シミュレーション部121がコントローラ用プログラムを実行する制御演算処理周期と同一の時間である。
このようにすることで、本実施の形態に係るシミュレーション用プログラム120は、コントローラ制御シミュレーション部121が行うコントローラ20の制御のシミュレーションと機械装置動作シミュレーション部122が行う機械装置10の動作のシミュレーションとを同期することができる。
なお、機械装置モデル140は、コミュニケーションステップサイズとは異なるモデル内の内部演算周期が設定できてもよい。この場合、本実施の形態に係るシミュレーション用プログラム120では、コミュニケーションステップサイズが機械装置モデル140の内部演算周期の整数倍となる設定を行われたときには当該設定が行われていないときよりも機械装置モデル140の演算の精度が向上する。
また、本実施の形態に係るユーザシステム1によれば、エンジニアリング設定ツール100では、機械装置モデル割付部114は、機械装置10の動作を行う軸の軸変数、軸グループ変数といった状態変数に機械装置モデル140を割り付ける。
このようにすることで、本実施の形態に係るエンジニアリング設定ツール100は、機械装置モデル割付部を含まないエンジニアリング設定ツールよりも状態変数と機械装置モデル140との関連付けを容易に行うことができ、シミュレーション用プログラム120を用いてユーザシステム1の検証を行うユーザの作業負担を軽減できる。
特に、本実施の形態に係るユーザシステム1によれば、エンジニアリング設定ツール100では、機械装置モデル割付部114は、ユーザが操作部54を用いた機械装置モデル割付画面200への入力に基づいて状態変数に機械装置モデル140を割り付ける。
このようにすることで、ユーザは、上述した割り付けの作業を視覚的に行うことができる。この結果、本実施の形態に係るエンジニアリング設定ツール100は、機械装置モデル割付画面を用いて割り付けを行わないエンジニアリング設定ツールよりも状態変数と機械装置モデル140との関連付けを容易に行うことができる。この結果、本実施の形態に係るエンジニアリング設定ツール100は、シミュレーション用プログラム120を用いてユーザシステム1の検証を行うオペレータの作業負担を軽減できる。
[実施の形態2]
実施の形態1では、機械装置モデル140に数値ソルバ141が含まれているが、機械装置モデル140に数値ソルバ141が含まれていなくてもよい。以下、図10を参照して、実施の形態2に係るユーザシステム1について、詳細に説明する。なお、実施の形態2では、実施の形態1と異なる構成について説明し、実施の形態1と同一の構成については冗長であるため説明を省略する。
(実施の形態2に係る機械装置10の動作のシミュレーションについて)
図10に示すように、本実施の形態2に係る機械装置モデル140は、数値ソルバ141を含んでおらず、数値ソルバ141は、機械装置動作シミュレーション部122に含まれる。また、本実施の形態に係る機械装置モデル140は、指定された時刻における機械装置10の状態変数の時間微分の値を示す情報を出力できるモデルである。具体的には、機械装置モデル140は、機械装置動作シミュレーション部122によって指定された時間、連続状態を示す値に基づいて、入力値から出力値を得るときに用いる関数を数値ソルバ141に提供することで、数値ソルバ141に出力値を演算させることができるモデルである。ここで、出力値とは、指定された時刻における機械装置10の状態変数の時間微分の値である。
本実施の形態では、まず、機械装置動作シミュレーション部122は、数値ソルバ141を使用する時間ステップと、次の時間ステップにおける状態変数の時間微分の値の計算方法を決定する。なお、機械装置動作シミュレーション部122は、動作演算処理周期の設定値に基づいて時間ステップを決定しており、具体的には、前後する時間ステップどうしの時間の刻み幅である積分ステップが動作演算処理周期の設定値となる時間ステップを決定する。また、数値ソルバ141は、現在時刻及び時間ステップに基づく時間、入力値に基づく連続状態を示す値を機械装置モデル140に指定することで、上述した関数を取得する。そして、数値ソルバ141は、取得した関数を用いて入力値から出力値を演算、出力する。
この結果、機械装置動作シミュレーション部122は、動作演算処理周期の設定値を1サイクルの演算処理周期、すなわち、積分ステップとして機械装置モデル140を用いた機械装置10の動作のシミュレーションを行うことができる。なお、上述したように、動作演算処理周期の設定値は、制御演算処理周期の設定値と同一の値である。このため、機械装置動作シミュレーション部122が行う機械装置10の動作のシミュレーションは、コントローラ制御シミュレーション部121が行うコントローラ20の制御のシミュレーションと同期を取ることができる。
以上説明したように、本実施の形態に係るユーザシステム1によれば、エンジニアリング設定ツール100では、機械装置動作シミュレーション部122は、数値ソルバ141を含み、数値ソルバ141を使用する時間ステップと、次の時間ステップにおける状態変数の時間微分の値の計算方法を決定する。また、機械装置モデル140は、指定された時刻における機械装置10の状態変数の時間微分の値を示す情報を出力するモデルであり、数値ソルバ141から時間及び連続状態を示す値が指定されると、数値ソルバ141に入力値から出力値を得るときに用いる関数を提供する。この結果、数値ソルバ141は、取得した関数を用いて入力値から出力値を演算、出力でき、機械装置動作シミュレーション部122は、機械装置10の動作のシミュレーションを行うことができる。
ここで、機械装置動作シミュレーション部122が指定している積分ステップは、パラメータ設定部112が設定した動作演算処理周期の設定値であり、パラメータ設定部112は、動作演算処理周期の設定値を制御演算処理周期の設定値と同一の値に自動的に設定している。よって、機械装置動作シミュレーション部122が設定する積分ステップは、コントローラ制御シミュレーション部121がコントローラ用プログラムを実行する制御演算処理周期と同一の時間である。
このようにすることで、本実施の形態に係るシミュレーション用プログラム120は、コントローラ制御シミュレーション部121が行うコントローラ20の制御のシミュレーションと機械装置動作シミュレーション部122が行う機械装置10の動作のシミュレーションとを同期することができる。
その他、本実施の形態に係るシミュレーション用プログラム120は、実施の形態1に係るシミュレーション用プログラム120と同様の作用効果を奏する。
[実施の形態3]
実施の形態1では、機械装置モデル入出力設定画面240にはテーブル形式の入出力設定欄222が設けられているが、機械装置モデル140の入出力の設定が可能な限りにおいて入出力設定欄222はテーブル形式に限定されない。以下、図11を参照して、実施の形態3に係るユーザシステム1について、詳細に説明する。なお、実施の形態3では、実施の形態1と異なる構成について説明し、実施の形態1と同一の構成については冗長であるため説明を省略する。
(実施の形態3に係るエンジニアリング設定ツール100の機能構成の詳細について)
実施の形態3に係る機械装置モデル割付画面200は、図5に示す機械装置モデル入出力設定画面240に替えて図11に示す機械装置モデル入出力設定画面240を含む。本実施の形態では、図4に示す状態において、ユーザが操作部54を用いた入力によって入出力設定欄215の設定ボタン216を押下すると、機械装置モデル割付部114は、図10に示す機械装置モデル入出力設定画面240を表示する。
図11に示すように、機械装置モデル入出力設定画面240は、上部に設けられたユーザが押下可能なインポートボタン241、下部に設けられたブロック線図形式の入出力設定部242を有する。
入出力設定部242は、関数としての機械装置モデル140を表示する機械装置モデル表示部243を含む。また、入出力設定部242は、設定された軸変数又は軸グループ変数を機械装置モデル140の入力として表示する入力表示部244、設定された軸変数又は軸グループ変数を機械装置モデル140の出力として表示する出力表示部245を含む。入力表示部244及び出力表示部245は、機械装置モデル表示部243に接続された状態で表示されている。また、入出力設定部242は、上部に実施の形態1、2と同様の入力支援ボタン221を含む。
入出力設定部242には、例えば、「Model001」の機械装置モデル140における「Input1」の入力が「Axis0001.Md.SetPosition」である旨が表示されている。また、入出力設定部242には、例えば、「Model001」の機械装置モデル140における「Output1」の出力が「Axis0001.Md.ActualPosition」である旨が表示されている。
まず、ユーザは、操作部54を用いた入力によってインポートボタン241を押下すると、図示しない機械装置モデル選択画面を表示する。この状態において、ユーザが操作部54を用いて機械装置モデル140を選択すると、機械装置モデル割付部114は、機械装置モデル選択画面の表示を終了し、機械装置モデル表示部243に選択した機械装置モデル140を表示する。このとき、ユーザは、操作部54を用いた入力によって入力表示部244及び出力表示部245に機械装置モデル140入力及び出力を設定することができる。また、ユーザが操作部54を用いた入力によって入力表示部244又は出力表示部245の何れかの入力又は出力を選択した状態で入力支援ボタン221を押下すると、機械装置モデル割付部114は、図6に示す入出力設定支援画面230を表示する。
また、入出力設定支援画面230において、ユーザが操作部54を用いた入力によって軸変数又は軸グループ変数のデータ名を選択すると、機械装置モデル割付部114は、入出力設定支援画面230の表示を終了して図11に示す機械装置モデル入出力設定画面240において選択されていた入力又は出力の入力表示部244又は出力表示部245に選択された軸変数又は軸グループ変数のデータ名を自動的に表示する。
具体的には、ユーザが図5に示す機械装置モデル入出力設定画面240において入出力設定部242の「Input1」の入力の入力表示部244を選択した状態で入力支援ボタン221を押下した場合について考える。この場合において、ユーザが図6に示す入出力設定支援画面230において軸名称選択欄231で「Axis0001」を選択し、構造体種別選択欄232で「モニタデータ」を選択し、データ名選択欄233で「*.Md.SetPosition」を選択したとする。この場合、機械装置モデル割付部114は、図11に示す機械装置モデル入出力設定画面240において入出力設定部242の「Input1」の入力のデータ名選択欄233に「Axis0001.Md.SetPosition」との情報を自動的に表示することで、軸変数及び軸グループ変数を自動的に設定する。この結果、機械装置モデル割付部114は、軸変数又は軸グループ変数に機械装置モデル140を割り付けることができる。
以上説明したように、本実施の形態に係るユーザシステム1によれば、エンジニアリング設定ツール100では、機械装置モデル入出力設定画面240には、ブロック線図形式の入出力設定部242が設けられている。
このようにすることで、本実施の形態に係るエンジニアリング設定ツール100は、ブロック線図形式の入出力設定部を用いて割り付けを行わないエンジニアリング設定ツールよりも状態変数と機械装置モデル140との関連付けを容易に行うことができる。この結果、本実施の形態に係るエンジニアリング設定ツール100は、シミュレーション用プログラム120を用いてユーザシステム1の検証を行うオペレータの作業負担を軽減できる。
その他、本実施の形態に係るシミュレーション用プログラム120は、実施の形態1に係るシミュレーション用プログラム120と同様の作用効果を奏する。
[変更例]
なお、上記の実施の形態1~3では、エンジニアリング設定ツール100をコンピュータ装置にシミュレーション用プログラム120をインストールすることにより構成したが、これに限定されず、例えば、所謂Webアプリケーションの形態により構成されてもいい。具体的には、クライアントとしてのエンジニアリング設定ツール100がWebブラウザからシミュレーション用プログラム120の機能を実現可能なWEBサーバにシミュレータとしての処理を依頼することで、当該WEBサーバがシミュレーションを行ってもよい。
なお、制御部51、主記憶部52、外部記憶部53、操作部54、送受信部56、内部バス50を備えるエンジニアリング設定ツール100が処理を行う中心となる部分は、例えば、前記の動作を実行するための各プログラム110、120を、エンジニアリング設定ツール100が読み取り可能な記録媒体、例えば、フラッシュメモリに格納して配布し、各プログラム110、120をインストールすることにより、上記の処理を実行するエンジニアリング設定ツール100を構成してもよい。また、LAN、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に各プログラム110、120を格納しておき、エンジニアリング設定ツール100が各プログラムを110、120ダウンロードすることでエンジニアリング設定ツール100を構成してもよい。
また、エンジニアリング設定ツール100の機能は、OS(Operating System)とアプリケーションプログラムの分担、又はOSとアプリケーションプログラムとの協働により実現する場合には、アプリケーションプログラム部分のみを記録媒体又は記憶装置に格納してもよい。
また、搬送波にプログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)にプログラムを掲示し、ネットワークを介してプログラムを提供してもよい。そして、プログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
1…ユーザシステム、10…機械装置、11…モータ、12…モータドライバ、20…コントローラ、50…内部バス、51…制御部、52…主記憶部、53…外部記憶部、54…操作部、56…送受信部、59…制御プログラム、100…エンジニアリング設定ツール、110…エンジニアリング設定ツール用プログラム、111…コントローラ用プログラム編集部、112…パラメータ設定部、113…機械装置モデル取得部、114…機械装置モデル割付部、115…シミュレータ用通信インタフェース、116…シミュレーション結果出力部、117…コントローラ用プログラム出力部、120…シミュレーション用プログラム、121…コントローラ制御シミュレーション部、122…機械装置動作シミュレーション部、123…情報管理部、130…情報記憶部、131…コントローラ用プログラム記憶部、132…パラメータ記憶部、133…機械装置モデル記憶部、134…制御関連情報記憶部、135…シミュレーション用プログラム記憶部、140…機械装置モデル、141…数値ソルバ、200…機械装置モデル割付画面、210…状態変数設定画面、211…軸名称表示欄、212…構成表示欄、213…有効無効設定欄、214…ファイルパス設定欄、215…入出力設定欄、216…設定ボタン、220,240…機械装置モデル入出力設定画面、221…入力支援ボタン、222…入出力設定欄、230…入出力設定支援画面、231…軸名称選択欄、232…構造体種別選択欄、233…データ名選択欄、241…インポートボタン、242…入出力設定部、243…機械装置モデル表示部、244…入力表示部、245…出力表示部。

Claims (15)

  1. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置を、
    前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部、
    前記コントローラが前記機械装置を制御するシステムに依存しない外部の送信装置から取得した前記機械装置のライブラリファイル化されたモデルである機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーション部、
    として機能させ
    前記機械装置モデルは、前記システムに依存しない外部の生成装置によってライブラリファイル化されている、
    シミュレーション用プログラム。
  2. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置を、
    前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部、
    前記機械装置のライブラリファイル化されたモデルである機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーション部、
    として機能させ、
    前記機械装置モデルは、指定された時間を経過させる要求がなされたときに現在時刻から当該時間が経過した次の時刻における前記機械装置の状態を示す情報を出力するモデルであり、
    前記機械装置動作シミュレーション部が前記機械装置モデルから出力される情報の読み取りを開始してから次に出力される情報の読み取りを開始するまでの時間の刻み幅であるコミュニケーションステップサイズは、前記コントローラが制御を行う演算処理の周期と同一の時間である、
    シミュレーション用プログラム。
  3. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置を、
    前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部、
    前記機械装置のライブラリファイル化されたモデルである機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーション部、
    として機能させ、
    前記機械装置モデルは、指定された時刻における前記機械装置の状態変数の時間微分の値を示す情報を出力するモデルであり、
    前記機械装置モデルにおいて前記時間微分を行う時間ステップから次の時間ステップまでの時間の刻み幅である積分ステップは、前記コントローラが制御を行う演算処理の周期と同一の時間である、
    シミュレーション用プログラム。
  4. 前記シミュレーション装置を、
    前記プログラムで使用される前記機械装置の状態変数に前記機械装置モデルを割り付ける機械装置モデル割付部、
    として更に機能させる請求項1から3の何れか1項に記載のシミュレーション用プログラム。
  5. 前記外部の送信装置と前記外部の生成装置とが異なる装置である、
    請求項1に記載のシミュレーション用プログラム。
  6. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置であって、
    前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部と、
    前記機械装置のライブラリファイル化されたモデルである機械装置モデルを、前記コントローラが前記機械装置を制御するシステムに依存しない外部の送信装置から取得する機械装置モデル取得部と、
    前記機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーション部と、
    を備え
    前記機械装置モデルは、前記システムに依存しない外部の生成装置によってライブラリファイル化されている、
    シミュレーション装置。
  7. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置であって、
    前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部と、
    前記機械装置のライブラリファイル化されたモデルである機械装置モデルを外部の装置から取得する機械装置モデル取得部と、
    前記機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーション部と、
    を備え、
    前記機械装置モデルは、指定された時間を経過させる要求がなされたときに現在時刻から当該時間が経過した次の時刻における前記機械装置の状態を示す情報を出力するモデルであり、
    前記機械装置動作シミュレーション部が前記機械装置モデルから出力される情報の読み取りを開始してから次に出力される情報の読み取りを開始するまでの時間の刻み幅であるコミュニケーションステップサイズは、前記コントローラが制御を行う演算処理の周期と同一の時間である、
    シミュレーション装置。
  8. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置であって、
    前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーション部と、
    前記機械装置のライブラリファイル化されたモデルである機械装置モデルを外部の装置から取得する機械装置モデル取得部と、
    前記機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーション部と、
    を備え、
    前記機械装置モデルは、指定された時刻における前記機械装置の状態変数の時間微分の値を示す情報を出力するモデルであり、
    前記機械装置モデルにおいて前記時間微分を行う時間ステップから次の時間ステップまでの時間の刻み幅である積分ステップは、前記コントローラが制御を行う演算処理の周期と同一の時間である、
    シミュレーション装置。
  9. 前記プログラムで使用される前記機械装置の状態変数に前記機械装置モデルを割り付ける機械装置モデル割付部、
    を更に備える請求項からの何れか1項に記載のシミュレーション装置。
  10. 前記外部の送信装置と前記外部の生成装置とが異なる装置である、
    請求項6に記載のシミュレーション装置。
  11. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置の制御方法であって、
    前記シミュレーション装置が、前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーションステップと、
    前記シミュレーション装置が、前記コントローラが前記機械装置を制御するシステムに依存しない外部の送信装置から取得した前記機械装置のライブラリファイル化されたモデルである機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーションステップと、
    を含み、
    前記機械装置モデルは、前記システムに依存しない外部の生成装置によってライブラリファイル化されている、
    制御方法。
  12. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置の制御方法であって、
    前記シミュレーション装置が、前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーションステップと、
    前記シミュレーション装置が、前記機械装置のライブラリファイル化されたモデルである機械装置モデルを外部の装置から取得する機械装置モデル取得ステップと、
    前記シミュレーション装置が、前記機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーションステップと、
    を含み、
    前記機械装置モデルは、指定された時間を経過させる要求がなされたときに現在時刻から当該時間が経過した次の時刻における前記機械装置の状態を示す情報を出力するモデルであり、
    前記機械装置動作シミュレーションステップにおいて前記機械装置モデルから出力される情報の読み取りを開始してから次に出力される情報の読み取りを開始するまでの時間の刻み幅であるコミュニケーションステップサイズは、前記コントローラが制御を行う演算処理の周期と同一の時間である、
    制御方法。
  13. コントローラによる機械装置の制御のシミュレーションを行うシミュレーション装置の制御方法であって、
    前記シミュレーション装置が、前記コントローラのプログラムを実行することで前記コントローラの制御のシミュレーションを行うコントローラ制御シミュレーションステップと、
    前記シミュレーション装置が、前記機械装置のライブラリファイル化されたモデルである機械装置モデルを外部の装置から取得する機械装置モデル取得ステップと、
    前記シミュレーション装置が、前記機械装置モデルを用いて前記機械装置の動作のシミュレーションを行う機械装置動作シミュレーションステップと、
    を含み、
    前記機械装置モデルは、指定された時刻における前記機械装置の状態変数の時間微分の値を示す情報を出力するモデルであり、
    前記機械装置モデルにおいて前記時間微分を行う時間ステップから次の時間ステップまでの時間の刻み幅である積分ステップは、前記コントローラが制御を行う演算処理の周期と同一の時間である、
    制御方法。
  14. 前記シミュレーション装置が、前記プログラムで使用される前記機械装置の状態変数に前記機械装置モデルを割り付ける機械装置モデル割付ステップ、
    を更に含む請求項11から13の何れか1項に記載の制御方法。
  15. 前記外部の送信装置と前記外部の生成装置とが異なる装置である、
    請求項11に記載の制御方法。
JP2022562824A 2022-04-18 2022-04-18 シミュレーション用プログラム、シミュレーション装置及び制御方法 Active JP7258246B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/018042 WO2023203604A1 (ja) 2022-04-18 2022-04-18 シミュレーション用プログラム、シミュレーション装置及び制御方法

Publications (3)

Publication Number Publication Date
JP7258246B1 true JP7258246B1 (ja) 2023-04-14
JPWO2023203604A1 JPWO2023203604A1 (ja) 2023-10-26
JPWO2023203604A5 JPWO2023203604A5 (ja) 2024-03-29

Family

ID=85980396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022562824A Active JP7258246B1 (ja) 2022-04-18 2022-04-18 シミュレーション用プログラム、シミュレーション装置及び制御方法

Country Status (2)

Country Link
JP (1) JP7258246B1 (ja)
WO (1) WO2023203604A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163020A (ja) * 2000-11-27 2002-06-07 Matsushita Electric Works Ltd プログラマブルコントローラにおける異常検出方法およびその装置
JP2016012191A (ja) * 2014-06-27 2016-01-21 オムロン株式会社 情報処理装置、情報処理方法、およびプログラム
WO2016185590A1 (ja) * 2015-05-20 2016-11-24 三菱電機株式会社 多軸機械装置シミュレータ、運転指令装置の設計支援装置、電動機制御装置の設計支援装置及び電動機の容量選定装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102198204B1 (ko) * 2016-10-14 2021-01-04 미쓰비시덴키 가부시키가이샤 시뮬레이션 장치
CN110764434A (zh) * 2019-10-17 2020-02-07 盐城工学院 一种虚实结合的电气控制及智能控制三维虚拟仿真实验研究平台装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163020A (ja) * 2000-11-27 2002-06-07 Matsushita Electric Works Ltd プログラマブルコントローラにおける異常検出方法およびその装置
JP2016012191A (ja) * 2014-06-27 2016-01-21 オムロン株式会社 情報処理装置、情報処理方法、およびプログラム
WO2016185590A1 (ja) * 2015-05-20 2016-11-24 三菱電機株式会社 多軸機械装置シミュレータ、運転指令装置の設計支援装置、電動機制御装置の設計支援装置及び電動機の容量選定装置

Also Published As

Publication number Publication date
JPWO2023203604A1 (ja) 2023-10-26
WO2023203604A1 (ja) 2023-10-26

Similar Documents

Publication Publication Date Title
JP6856768B2 (ja) 設計ツールからのデータおよびデジタルツイングラフからの知識を用いた自律生成設計合成システム
CN108351636B (zh) 工程设计工具、***及模块
Guerra-Zubiaga et al. An approach to develop a digital twin for industry 4.0 systems: manufacturing automation case studies
EP2946252B1 (en) Automated input simulation for simulated programmable logic controller
JP6950665B2 (ja) エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
JP5619328B1 (ja) シーケンスプログラム作成支援装置
JP6624008B2 (ja) エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体
CN110609681A (zh) 可视化配置生成web应用的***、方法、设备及介质
WO2010017835A1 (en) A system and a method for off-line programming of an industrial robot
US10569967B2 (en) Integrated control systems and methods
KR102198204B1 (ko) 시뮬레이션 장치
EP4296803A1 (en) Device configuration object template with user interaction for device properties generator
JP7258246B1 (ja) シミュレーション用プログラム、シミュレーション装置及び制御方法
KR101537224B1 (ko) 조선소 물류 시뮬레이션 장치 및 방법
JP6794668B2 (ja) プログラミング装置
JP2021170329A (ja) 産業システムの動作および設計のためのシステムおよび方法
JP2018036945A (ja) シミュレータ連携装置、シミュレータ連携装置の制御方法、情報処理プログラム、および記録媒体
JP2008033572A (ja) 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体
EP4345603A1 (en) Use of device profiles in automation projects
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
EP4307105A1 (en) Extensible profiles for industrial control modules
US11640153B2 (en) Control system, support device, and recording medium
JP5014094B2 (ja) マン・マシン・インターフェイス機器および作画装置
KR100877572B1 (ko) 공정 시퀀스 변환 장치와 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체
Brattwall et al. Comparison of WinMOD and SIMIT for virtual commissioning of an automotive production line

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221014

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221014

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R150 Certificate of patent or registration of utility model

Ref document number: 7258246

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150