JP7433550B1 - 動作予測プログラム、動作予測装置及び動作予測方法 - Google Patents

動作予測プログラム、動作予測装置及び動作予測方法 Download PDF

Info

Publication number
JP7433550B1
JP7433550B1 JP2023558870A JP2023558870A JP7433550B1 JP 7433550 B1 JP7433550 B1 JP 7433550B1 JP 2023558870 A JP2023558870 A JP 2023558870A JP 2023558870 A JP2023558870 A JP 2023558870A JP 7433550 B1 JP7433550 B1 JP 7433550B1
Authority
JP
Japan
Prior art keywords
information
motion prediction
control program
motion
unit
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
JP2023558870A
Other languages
English (en)
Inventor
尚幸 芦田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7433550B1 publication Critical patent/JP7433550B1/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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

動作予測プログラムがインストールされた動作予測装置(100)の動作予測対象情報取得部(110)は、制御対象の動作のうちの予測対象となる動作に関する動作予測対象情報を取得し、動作予測結果情報生成部(120)は、動作予測対象情報取得部(110)が取得した動作予測対象情報に基づいて制御対象の動作を予測した結果を示す動作予測結果情報を生成し、動作予測結果情報出力部(130)は、動作予測結果情報生成部(120)が生成した動作予測結果情報を出力する。動作予測対象情報は、制御プログラムのルーチンを構成する複数のコマンドのうちからユーザによって選択された制御プログラムの1以上のコマンドに基づく制御プログラム情報を含む情報である。

Description

本開示は、動作予測プログラム、動作予測装置及び動作予測方法に関する。
従来、制御対象の動作を制御する制御プログラムを実行したときの当該制御対象の動作を予測し、予測した動作の軌跡の表示、所謂波形表示を行う動作予測表示装置を機能させるプログラムが知られている。特許文献1には、モーションプログラムを実行したときの指令値に対応する制御対象の特定部位の指令された位置である指令位置と実際の制御対象の特定部位についての理論的に予測される位置である予測位置との間の誤差を表示可能な表示装置を機能させるプログラムが開示されている。特許文献1では、ユーザである制御担当者は、制御プログラミングを行い、シーケンスプログラムをコンパイルして生成した実行ファイル及び設定した各種パラメータについてシミュレートし、シミュレーションによって得た予測位置と指令位置との誤差が許容範囲を超えていれば、シーケンスプログラムを修正したり、各種パラメータを修正したりしている。
特開2011-192017号公報
特許文献1に記載のプログラムでは、シーケンスプログラムをコンパイルして生成した実行ファイルを用いなければシミュレーションを行って予測位置が得られない問題がある。このため、特許文献1に記載のプログラムでは、制御担当者は、制御対象の一部の動作について予測位置と指令位置との誤差を確認するためには、シーケンスプログラムをコンパイルが行える程度にまで完成させて当該制御対象の全ての動作について定義する必要がある。この結果、特許文献1に記載のプログラムでは、制御担当者が上述した誤差を確認するのに手間が掛かることから、制御プログラミングの調整工数が増大する問題がある。
本開示は、上述のような事情に鑑みてなされたものであり、制御プログラムを調整する工数を低減することを目的とする。
上記目的を達成するため、本開示に係る動作予測プログラムは、コンピュータを、制御対象の動作を制御する制御プログラムのルーチンを構成する複数のコマンドのうちからユーザによって選択された制御プログラムの1以上のコマンドに基づく情報である制御プログラム情報を含む情報であって、制御対象の動作のうちの予測対象となる動作に関する情報である動作予測対象情報を取得する動作予測対象情報取得部、動作予測対象情報取得部が取得した動作予測対象情報に基づいて、制御対象の動作を予測した結果を示す情報である動作予測結果情報を生成する動作予測結果情報生成部、動作予測結果情報生成部が生成した動作予測結果情報を出力する動作予測結果情報出力部、として機能させ、動作予測結果情報生成部は、制御プログラム情報が示す制御プログラムのコマンドの文を当該制御プログラムのプログラミング言語に基づいて構文解析して認識した当該文に含まれるプログラム部品を用いて、当該文をコンパイルすることなく動作予測結果情報を生成する
本開示によれば、コンピュータは、ユーザによって選択された制御プログラムの1以上のコマンドに基づく制御プログラム情報を含む動作予測対象情報を取得し、取得した動作予測対象情報に基づいて動作予測結果情報を生成、出力する。この結果、本開示に係る動作予測プログラムは、ユーザによって選択された制御プログラムの1以上のコマンドに基づく制御プログラム情報を含む動作予測対象情報を取得しない動作予測プログラム、取得した動作予測対象情報に基づいて動作予測結果情報を生成、出力できない動作予測プログラムよりも制御プログラムを調整する工数を低減できる。
本実施の形態に係る制御プログラム作成支援装置の全体説明図 制御プログラム作成支援装置の機能構成を示す図 制御プログラム作成支援装置のハードウェア構成を示すブロック図 プログラムの編集画面の表示例を示す図 初期設定画面の表示例を示す図 動作予測結果画面の表示例を示す図 動作予測結果画面表示処理のフローチャート 制御プログラム解析処理のフローチャート 動作予測算出処理のフローチャート 予測波形更新処理のフローチャート
以下に、本開示を実施するための形態に係る動作予測プログラム、動作予測装置及び動作予測方法について図面を参照して詳細に説明する。なお、図中同一または相当する部分には同じ符号を付す。
(制御プログラム作成支援装置10について)
本開示の実施の形態に係る制御プログラム作成支援装置10は、図1に示すように、例えば、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)を含むFA(Factory Automation)制御装置20で用いられる制御プログラムの作成を支援する装置である。なお、制御プログラムとは、例えば、FA機器21の駆動軸22といった制御対象の動作を制御するプログラムである。また、制御プログラム作成支援装置10は、ユーザによって作成された制御プログラムを実行したときの制御対象の動作を予測する動作予測装置100としての機能(以下、単に「動作予測装置100」と記載)も備える。また、制御プログラム作成支援装置10は、通信網の一例としてのインターネット30を介して外部の装置40と情報の送受信が可能となっている。
制御プログラム作成支援装置10は、具体的には、エンジニアリング設定ツール、すなわち、エンジニアであるユーザが使用する設定ツールとしての機能を実現するためのプログラムであるエンジニアリング設定ツール用プログラムがインストールされたコンピュータ装置である。図2に示すように、制御プログラム作成支援装置10は、プログラムを編集するプログラム編集部11を含み、プログラム編集部11は、図4Aに示す、プログラムを編集する画面であるプログラム編集画面12を表示するプログラム編集画面表示部13を含む。また、制御プログラム作成支援装置10は、プログラムに含まれる変数の初期値を設定する初期設定部14を含み、初期設定部14は、図4Bに示す、変数の初期値を設定する画面である初期設定画面15を表示する初期設定画面表示部16を含む。
(動作予測装置100について)
また、動作予測装置100は、制御対象の動作のうちの予測対象となる動作に関する情報である動作予測対象情報を取得する動作予測対象情報取得部110、制御対象の動作を予測した動作予測結果情報を生成する動作予測結果情報生成部120、動作予測結果情報を出力する動作予測結果情報出力部130を含む。動作予測対象情報取得部110は、後述する制御プログラム情報を取得する制御プログラム情報取得部111、後述する初期設定情報を取得する初期設定情報取得部112を含む。動作予測結果情報生成部120は、制御プログラムを解析する制御プログラム解析部121、制御対象の動作の軌跡の予測値を算出する動作予測算出部122、後述する予測波形情報を生成する予測波形情報生成部123を含む。動作予測結果情報出力部130は、後述する動作予測結果画面200を表示する動作予測結果画面表示部131、後述する予測波形情報を表示する予測波形情報表示部132、制御プログラムに含まれる変数とその値とを表示する変数表示部133を含む。また、動作予測結果情報出力部130は、後述する予測波形情報のファイル形式を変換するファイル形式変換部134、動作予測結果情報を外部出力する動作予測結果情報外部出力部の一例としてのエクスポート部135を含む。
(制御プログラム作成支援装置10、動作予測装置100のハードウェア構成について)
図3に示すように、制御プログラム作成支援装置10は、制御プログラム59に従って処理を実行する制御部51を備える。制御部51は、CPU(Central Processing Unit)を備える。制御部51は、制御プログラム59に従って、図2に示す、プログラム編集部11、初期設定部14、動作予測対象情報取得部110、制御プログラム情報取得部111、初期設定情報取得部112、動作予測結果情報生成部120、制御プログラム解析部121、動作予測算出部122、予測波形情報生成部123、ファイル形式変換部134として機能する。
図3に戻り、制御プログラム作成支援装置10は、制御プログラム59をロードし、制御部51の作業領域として用いられる主記憶部52を備える。主記憶部52は、RAM(Random Access Memory)を備える。
また、制御プログラム作成支援装置10は、制御プログラム59を予め記憶する外部記憶部53を備える。外部記憶部53は、制御部51の指示に従って、このプログラムが記憶するデータを制御部51に供給し、制御部51から供給されたデータを記憶する。外部記憶部53は、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性メモリを備える。
また、制御プログラム作成支援装置10は、ユーザに操作される操作部54を備える。操作部54を介して入力された情報は、制御部51に供給される。操作部54は、キーボード、マウス、タッチパネル等の情報入力部品を備える。
また、制御プログラム作成支援装置10は、操作部54を介して入力された情報及び制御部51が出力した情報を表示する表示部55を備える。表示部55は、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を備える。表示部55は、図2に示す、プログラム編集画面表示部13、初期設定画面表示部16、動作予測結果情報出力部130、動作予測結果画面表示部131、予測波形情報表示部132、変数表示部133として機能する。
図3に戻り、制御プログラム作成支援装置10は、情報を送受信する送受信部56を備える。送受信部56は、ネットワークに接続する通信網終端装置、無線通信装置等の情報通信部品を備える。送受信部56は、図2に示すエクスポート部135として機能する。
図3に戻り、制御プログラム作成支援装置10では、主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56はいずれも内部バス50を介して制御部51に接続されている。
制御プログラム作成支援装置10は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、図2に示す上記の各部11、13、14、16、110~112、120~123、130~135の機能を実現する。例えば、制御プログラム作成支援装置10は、プログラム編集部11が行うプログラム編集ステップ、プログラム編集画面表示部13が行うプログラム編集画面表示ステップ、初期設定部14が行う初期設定ステップ、初期設定画面表示部16が行う初期設定画面表示ステップを実行する。
また、例えば、動作予測装置100は、動作予測対象情報取得部110が行う動作予測対象情報取得ステップ、制御プログラム情報取得部111が行う制御プログラム情報取得ステップ、初期設定情報取得部112が行う初期設定情報取得ステップを実行する。また、例えば、動作予測装置100は、動作予測結果情報生成部120が行う動作予測結果情報生成ステップ、制御プログラム解析部121が行う制御プログラム解析ステップ、動作予測算出部122が行う動作予測算出ステップ、予測波形情報生成部123が行う予測波形情報生成ステップを実行する。また、例えば、動作予測装置100は、動作予測結果情報出力部130が行う動作予測結果情報出力ステップ、動作予測結果画面表示部131が行う動作予測結果画面表示ステップ、予測波形情報表示部132が行う予測波形情報表示ステップ、変数表示部133が行う変数表示ステップを実行する。また、動作予測装置100は、ファイル形式変換部134が行うファイル形式変換ステップ、エクスポート部135が行う動作予測結果情報外部出力ステップの一例としてのエクスポートステップを実行する。
(動作予測装置100の機能構成の詳細について)
図2に戻り、動作予測対象情報取得部110は、制御プログラム情報取得部111が取得した後述する制御プログラム情報と、初期設定情報取得部112が取得した後述する初期設定情報と後述する総予測時間情報と後述する予測間隔情報とを含む動作予測対象情報を取得する。
制御プログラム情報取得部111は、制御プログラムのルーチンを構成する複数のコマンドのうちの一のコマンドをユーザが選択可能な最小単位とした場合において、当該ユーザによって選択された制御プログラムの1以上のコマンドに基づく情報である制御プログラム情報を取得する。制御プログラム情報取得部111は、プログラム編集部11において編集されている制御プログラムの複数のコマンドのうちからユーザが選択状態とした前記1以上のコマンドを示す制御プログラム情報を取得する。具体的には、制御プログラム情報取得部111は、プログラム編集画面表示部13が表示する図4Aに示すプログラム編集画面12に表示されている制御プログラムのうちから操作部54を用いてユーザが選択した範囲の部分を示す情報を制御プログラム情報として当該制御プログラムから抽出することで、当該ユーザによって選択された制御プログラム情報を取得する。このとき、制御プログラム情報取得部111は、例えば、ユーザによる操作部54を用いた入力によって図4Aに示すプログラム編集画面12の右側下部に設けられた動作予測ボタン17が押下された場合、制御プログラム情報の取得を開始してもよい。
ここで、「制御プログラム」の記述の形式には、文字データの形式だけでなく図形データの形式も含まれる。このため、「制御プログラムのルーチンを構成する複数のコマンドのうちの一のコマンド」には、文字データで記述されたコマンドだけでなく、図形データで記述されたコマンドも含まれる。よって、「制御プログラムのルーチンを構成する複数のコマンドのうちの一のコマンド」は、例えば、ST言語であればソースコードにおける一の文であってもよく、ラダー言語であればラダー・ダイアグラムにおける一個のラングであってもよい。なお、本実施の形態における「ユーザが選択した範囲の部分」とは、例えば、ST言語であればソースコードにおける1以上の文であり、ラダー言語であればラダー・ダイアグラムにおける1個以上のラングである。以下、本実施の形態では、「制御プログラム」がST言語で記載されたソースコードであり、「ユーザが選択した範囲の部分」が当該ソースコードにおける1以上のコマンドの文であるとして説明する。
初期設定情報取得部112は、ユーザによって設定された制御プログラムに含まれる変数の初期値を示す情報である初期設定情報を取得する。初期設定情報取得部112は、初期設定部14においてユーザが設定したことで生成された初期設定情報を取得する。具体的には、初期設定情報取得部112は、初期設定画面表示部16が表示する図4Bに示す初期設定画面15に表示されている変数の初期値を示す情報を初期設定情報として取得することで、当該ユーザによって設定された初期設定情報を取得する。例えば、初期設定情報取得部112は、図4Bに示す速度の変数である「lVelocity」の初期値が「1.00」である旨を示す情報を含む初期設定情報を取得する。また、初期設定情報取得部112は、後述する予測値を算出する総予測時間を示す情報である総予測時間情報と、予測値を算出する時間間隔である予測間隔を示す情報である予測間隔情報とを取得する。具体的には、初期設定情報取得部112は、初期設定情報と同様に、初期設定画面15に表示されている総予測時間及び予測間隔を示す情報を総予測時間情報及び予測間隔情報として取得することで、ユーザによって設定された総予測時間情報及び予測間隔情報を取得する。例えば、図4Bに示すように、初期設定情報取得部112は、総予測時間が「00:15.000」である旨を示す総予測時間情報と、予測間隔が「0.050」である旨を示す予測間隔情報とを取得する。
動作予測結果情報生成部120は、動作予測対象情報取得部110が取得した動作予測対象情報に基づいて、後述する予測波形情報と後述する予測タイミング毎の変数一覧情報とを含む動作予測結果情報を生成する。
制御プログラム解析部121は、動作予測対象情報を解析する。先ず、制御プログラム解析部121は、制御プログラム情報が示す制御プログラムの1以上のコマンドの文を当該制御プログラムのプログラミング言語であるST言語に基づいて構文解析し、当該文に含まれる変数、モーションFB(Function Block)といったプログラム部品を認識して保持する。例えば、制御プログラム解析部121は、構文解析によって認識した変数を示す情報である変数情報、モーションFBを示す情報であるモーションFB情報を主記憶部52又は外部記憶部53に一時記憶させる。なお、制御プログラム解析部121は、構文解析した結果、1以上のコマンドの文のうちの何れかの文にエラーがあると判定した場合、当該エラーがある文について考慮せず、エラーがない文について認識したプログラム部品を示す情報である変数情報、モーションFB情報といった情報を保持する。また、制御プログラム解析部121は、構文解析において、ユーザによって選択された1以上のコマンドの文とは異なる制御プログラムにおけるユーザが未選択の部分については一切考慮しない。このため、制御プログラム解析部121は、例えば、制御プログラムにおけるユーザが未選択の部分、又は、制御プログラムとは異なるプログラムにおいて、ユーザによって選択された1以上のコマンドの文に含まれる変数の値が変更されたり、当該文に含まれるモーションFBに異なる動作を行わせるコマンドが存在したりしても、そのような事象について一切考慮せずに当該文についてのみ構文解析を行うことになる。
また、制御プログラム解析部121は、変数情報と総予測時間情報と予測間隔情報とを用いて予測開始から総予測時間まで予測間隔毎に認識している全ての変数及びその値の一覧を示す情報である変数一覧情報を生成する。例えば、制御プログラム解析部121は、予測間隔情報が示す予測間隔と変数一覧情報の生成回数とを乗算することで予測開始からの経過時間を算出し、予測開始から算出した経過時間が経過した次の予測タイミングの変数一覧情報を生成する。そして、制御プログラム解析部121は、算出した経過時間が、総予測時間情報が示す総予測時間以上になるまで上述した処理を繰り返すことで、各予測タイミングにおける変数一覧情報を生成する。なお、このとき、各予測タイミングにおける変数一覧情報が示す各変数の仮の値として、初期設定情報が示す各変数の初期値を予め登録しておいてもよい。
動作予測算出部122は、制御プログラム解析部121の解析結果に基づいて制御対象の動作の軌跡の予測値を算出する。動作予測算出部122は、制御プログラム解析部121が保持しているモーションFB情報、変数一覧情報を取得した上で、予測間隔毎に全てのモーションFBの数だけ、モーションFB実行前の変数の値の変化に基づく変数一覧情報の更新、モーションFBの実行、モーションFB実行後の各制御対象の動作の軌跡の予測値の取得及び変数の値の変化に基づく変数一覧情報の更新、を繰り返す。
具体的には、先ず、動作予測算出部122は、制御プログラム解析部121の解析結果からモーションFBを実行する前の各変数の値の変化を算出して現在の予測タイミングにおける変数一覧情報が示す各変数の値を更新する。次に、動作予測算出部122は、現在の予測タイミングにおける変数一覧情報が示す各変数の値を用いてモーションFBを実行して各制御対象の動作の軌跡に関する全ての変数の現在値を取得する。この結果、動作予測算出部122は、現在の予測タイミングにおける制御対象毎の動作の軌跡の予測値を算出できる。次に、動作予測算出部122は、モーションFBを実行した後の変数の値の変化に基づいて現在の予測タイミングにおける変数一覧情報が示す各変数の値を更新する。
また、動作予測算出部122は、上述したモーションFB実行及びその前後の処理をモーションFB情報が示す全てのモーションFBの数だけ繰り返す。その後、動作予測算出部122は、次の予測タイミングにおける変数一覧情報が示す各変数の値を現在の予測タイミングにおける変数一覧情報が示す各変数の値に更新し、全ての予測タイミングにおいて制御対象毎の予測値の算出及び変数一覧情報が示す各変数の値の更新が完了するまで各予測タイミングにおける上述した繰り返し処理を繰り返す。この結果、動作予測算出部122は、全ての制御対象の動作の軌跡の予測値を全ての予測タイミングにおいて算出するとともに、全ての予測タイミングにおける変数一覧情報が示す各変数の値を更新することができる。
予測波形情報生成部123は、動作予測算出部122が算出した予測値に基づく制御対象の動作の軌跡の予測波形を示す情報である予測波形情報を生成する。予測波形情報生成部123は、動作予測算出部122が算出した全ての予測タイミングにおける各制御対象の動作の軌跡の予測値に基づいて、後述する予測波形表示欄208に表示する予測波形のグラフにプロットする値を示す予測波形情報を制御対象毎に生成する。
動作予測結果情報出力部130は、動作予測結果情報生成部120が生成した動作予測結果情報として予測波形情報及び予測タイミング毎の変数一覧情報を含む情報を出力する。
動作予測結果画面表示部131は、図4Cに示す、動作予測結果情報を表示する動作予測結果画面200を表示する。図4Cに示すように、動作予測結果画面200は、上部に設けられた変数とその値を一覧表示する変数一覧表示欄201、変数一覧表示欄201の下方の左側に設けられた予測波形情報の更新開始を指示する予測波形更新ボタン202を含む。また、動作予測結果画面200は、予測波形更新ボタン202の右方に設けられた速度の予測波形の表示を選択した旨を指示する速度選択チェックボックス203、速度選択チェックボックス203の右方に設けられた加速度の予測波形の表示を選択した旨を指示する加速度選択チェックボックス204、加速度選択チェックボックス204の右方に設けられたジャーク(躍度、加加速度)の予測波形の表示を選択した旨を指示するジャーク選択チェックボックス205を含む。また、動作予測結果画面200は、予測波形更新ボタン202の下方に設けられた全ての制御対象を一覧表示する制御対象一覧表示欄206、制御対象一覧表示欄206に表示された各制御対象に応じて設けられた各制御対象チェックボックス207で選択された一の制御対象の予測波形を表示する予測波形表示欄208を含む。また、動作予測結果画面200は、予測波形表示欄208の下方に設けられた動作予測結果情報の外部出力を指示するエクスポートボタン209、エクスポートボタン209の右方に設けられた動作予測結果画面200の表示終了を指示する終了ボタン210を含む。
図2に戻り、予測波形情報表示部132は、動作予測結果情報に含まれる予測波形情報を表示する。予測波形情報表示部132は、予測波形情報が示す値を用いてプロットした予測波形のグラフの画像を図4Cに示す動作予測結果画面200の予測波形表示欄208に表示する。
図2に戻り、変数表示部133は、制御プログラム解析部121が構文解析して得られた制御プログラムの1以上のコマンドの文に含まれる変数と変数の値とを表示する。変数表示部133は、動作予測結果情報に含まれる予測タイミング毎の変数一覧情報と初期設定情報とを用いて生成された予測タイミング毎の各変数の値を示す画像を図4Cに示す動作予測結果画面200の変数一覧表示欄201に表示させる。
なお、変数表示部133は、表示している変数の値がユーザによる操作部54を用いた入力によって変更された場合、変数の値の表示を変更前の値から変更後の値に更新する。例えば、図4Cに示す変数一覧表示欄201に表示されている速度の変数である「lVelocity」の初期値が「1.00」から「0.50」に変更された場合、変数表示部133は、変数一覧表示欄201における速度の変数「lVelocity」の初期値の表示を変更前の値「1.00」から変更後の値「0.50」に更新させる。
また、動作予測算出部122は、変数表示部133が変数の値の表示を更新した場合、変数表示部133から変更後の値を取得し、制御プログラム解析部121の解析結果と変更後の値とに基づいて予測値を再度算出する。例えば、図4Cに示す変数一覧表示欄201における速度の変数「lVelocity」の初期値が「0.50」に更新された後、ユーザによる操作部54を用いた入力によって予測波形更新ボタン202が押下された場合、動作予測算出部122は、速度の変数「lVelocity」の初期値が「0.50」に更新された変数一覧情報を取得する。そして、動作予測算出部122は、全ての制御対象の動作の軌跡の予測値を全ての予測タイミングにおいて再度算出するとともに、全ての予測タイミングにおける変数一覧情報が示す各変数の値を再度更新する。
また、予測波形情報生成部123は、動作予測算出部122が予測値を再度算出した場合、再度算出された予測値に基づく予測波形情報を再度生成する。また、予測波形情報表示部132は、予測波形情報生成部123が予測波形情報を再度生成した場合、予測波形情報の表示を再度生成前の情報から再度生成後の情報に更新する。例えば、予測波形情報生成部123は、動作予測算出部122が再度算出した全ての予測タイミングにおける各制御対象の動作の軌跡の予測値に基づいて、予測波形情報を制御対象毎に再度生成し、予測波形情報表示部132は、予測波形表示欄208の表示を再度生成された予測波形情報が示す値を用いてプロットした予測波形のグラフの画像に更新する。そして、変数表示部133は、変数一覧表示欄201における予測タイミング毎の各変数の値の表示を予測タイミング毎の変数一覧情報が示す各変数の更新前の値から更新後の値に更新する。
ファイル形式変換部134は、予測波形情報生成部123が生成した予測波形情報を制御プログラム作成支援装置10の外部の装置40が表示可能なファイル形式に変換する。
エクスポート部135は、ファイル形式変換部134がファイル形式を変換した予測波形情報を含む動作予測結果情報を外部の装置40に外部出力する。具体的には、エクスポート部135は、動作予測結果画面200において、変数一覧表示欄201、制御対象一覧表示欄206、予測波形表示欄208に画像が表示されている状態において、ユーザによる操作部54を用いた入力によってエクスポートボタン209が押下された場合、予測波形情報を含む動作予測結果情報を予め定められた外部の装置40に外部出力する。
(動作予測結果画面表示処理について)
次に、フローチャートを用いて動作予測装置100が動作予測対象情報を取得、解析して生成した動作予測結果情報を動作予測結果画面200に表示する動作について説明する。動作予測装置100は、プログラム編集画面12に編集中の制御プログラムが表示されている場合においてユーザが操作部54を用いて1以上のコマンドの文を選択した上で動作予測ボタン17を押下すると、図5に示す動作予測結果画面表示処理の実行を開始する。先ず、制御プログラム情報取得部111は、プログラム編集画面12に表示されている制御プログラムのうちからユーザによって選択された制御プログラム情報を取得し(ステップS101)、初期設定情報取得部112は、初期設定画面15に表示されているユーザによって設定された初期設定情報、総予測時間情報及び予測間隔情報を取得する(ステップS102)。
各情報の取得後、制御プログラム解析部121は、後述する制御プログラム解析処理を実行し(ステップS103)、動作予測算出部122は、後述する動作予測算出処理を実行する(ステップS104)。動作予測算出処理の実行後、予測波形情報生成部123は、動作予測算出部122が算出した予測値に基づく制御対象の動作の軌跡の予測波形を示す予測波形情報を生成し(ステップS105)、動作予測結果画面表示部131は、動作予測結果画面200を表示する(ステップS106)。画面表示後、予測波形情報表示部132は、予測波形情報に基づく予測波形のグラフの画像を予測波形表示欄208に表示し(ステップS107)、変数表示部133は、予測タイミング毎の変数一覧情報と初期設定情報とに基づく予測タイミング毎の各変数の値を示す画像を変数一覧表示欄201に表示し(ステップS108)、処理を終了する。
(制御プログラム解析処理について)
次に、フローチャートを用いて動作予測装置100が制御プログラムを解析する動作について説明する。動作予測装置100は、上述した動作予測結果画面表示処理のステップS103を実行すると、図6に示す制御プログラム解析処理の実行を開始する。先ず、制御プログラム解析部121は、動作予測対象情報に含まれる制御プログラム情報が示す制御プログラムの1以上のコマンドの文を構文解析し(ステップS201)、変数情報、モーションFB情報といったプログラム部品の情報を取得する(ステップS202)。
各情報の取得後、制御プログラム解析部121は、予測間隔情報が示す予測間隔と変数一覧情報の生成回数との乗算によって予測開始からの経過時間を算出することで、予測開始から経過時間が経過した次の予測タイミングを特定する(ステップS203)。予測タイミングの特定後、制御プログラム解析部121は、変数情報が示す全ての変数とその値の一覧を示す変数一覧情報を生成し(ステップS204)、算出した経過時間が、総予測時間情報が示す総予測時間以上になったか否かを判定する(ステップS205)。制御プログラム解析部121は、経過時間が総予測時間以上になっていない場合(ステップS205;N)、ステップS203に戻り、算出される経過時間が総予測時間以上になるまでステップS203~S205の処理を繰り返す。そして、制御プログラム解析部121は、経過時間が総予測時間以上になった場合(ステップS205;Y)、制御プログラム解析処理を終了して、動作予測結果画面表示処理のステップS103に戻る。
(動作予測算出処理について)
次に、フローチャートを用いて動作予測装置100が制御対象の動作の軌跡の予測値を算出する動作について説明する。動作予測装置100は、上述した動作予測結果画面表示処理のステップS104を実行すると、図7に示す動作予測算出処理の実行を開始する。先ず、動作予測算出部122は、制御プログラム解析部121が保持しているモーションFB情報、予測タイミング毎の変数一覧情報を取得し(ステップS301)、次の予測タイミングを順番に選択し(ステップS302)、次のモーションFBを順番に選択する(ステップS303)。
モーションFBの選択後、動作予測算出部122は、制御プログラム解析部121の解析結果からモーションFBを実行する前の各変数の値の変化を算出して現在の予測タイミングにおける変数一覧情報が示す各変数の値を更新する(ステップS304)。値の更新後、動作予測算出部122は、現在の予測タイミングにおける変数一覧情報が示す各変数の値を用いてモーションFBを実行し(ステップS305)、各制御対象の動作の軌跡に関する全ての変数の現在値を取得することで、現在の予測タイミングにおける制御対象毎の動作の軌跡の予測値を算出する(ステップS306)。予測値の算出後、動作予測算出部122は、モーションFBを実行した後の変数の値の変化に基づいて現在の予測タイミングにおける変数一覧情報が示す各変数の値を更新する(ステップS307)。
値の更新後、動作予測算出部122は、モーションFB情報が示す全てのモーションFBを選択したか否かを判定する(ステップS308)。動作予測算出部122は、全てのモーションFBを選択していない場合(ステップS308;N)、ステップS303に戻り、全てのモーションFBを選択するまでステップS303~S308の処理を繰り返す。一方、動作予測算出部122は、全てのモーションFBを選択した場合(ステップS308;Y)、全ての予測タイミングを選択したか否かを判定する(ステップS309)。動作予測算出部122は、全ての予測タイミングを選択していない場合(ステップS309;N)、次の予測タイミングにおける変数一覧情報が示す各変数の値を現在の予測タイミングにおける変数一覧情報が示す各変数の値に更新し(ステップS310)、ステップS302に戻り、全ての予測タイミングを選択するまでステップS302~S310の処理を繰り返す。そして、動作予測算出部122は、全ての予測タイミングを選択した場合(ステップS309;Y)、動作予測算出処理を終了して、動作予測結果画面表示処理のステップS104に戻る。
(予測波形更新処理について)
次に、フローチャートを用いて動作予測装置100が予測波形情報を更新する動作について説明する。動作予測装置100は、動作予測結果画面表示処理の実行後に図8に示す予測波形更新処理の実行を開始する。先ず、変数表示部133は、動作予測結果画面200の変数一覧表示欄201に表示されている変数の値がユーザによる操作部54を用いた入力によって変更されたか否かを判定する(ステップS401)。変数表示部133は、表示されている変数の値が変更されていない場合(ステップS401;N)、ステップS401の処理を繰り返す。一方、変数表示部133は、表示されている変数の値が変更された場合(ステップS401;Y)、変数の値の表示を変更前の値から変更後の値に更新し(ステップS402)、動作予測算出部122は、ユーザによる操作部54を用いた入力によって予測波形更新ボタン202が押下されたか否かを判定する(ステップS403)。
動作予測算出部122は、予測波形更新ボタン202を押下されていない場合(ステップS403;N)、ステップS401に戻り、ユーザが値を変更して予測波形更新ボタン202を押下するまでステップS401~403の処理を繰り返す。一方、動作予測算出部122は、予測波形更新ボタン202が押下された場合(ステップS403;Y)、変数表示部133から変更後の値を取得し(ステップS404)、制御プログラム解析部121が制御プログラム解析処理を実行したときの解析結果と変更後の値とを用いて動作予測算出処理を再度実行する(ステップS405)。動作予測算出処理の実行後、予測波形情報生成部123は、動作予測算出部122が再度算出した予測値に基づく制御対象の動作の軌跡の予測波形を示す予測波形情報を再度生成する(ステップS406)。予測波形情報の再度生成後、予測波形情報表示部132は、予測波形表示欄208の表示を再度生成した予測波形情報に基づく予測波形のグラフの画像に更新し(ステップS407)、変数表示部133は、変数一覧表示欄201における予測タイミング毎の各変数の値の表示を予測タイミング毎の変数一覧情報が示す各変数の更新前の値から更新後の値に更新し(ステップS408)、処理を終了する。
なお、動作予測装置100が動作予測結果情報を外部の装置40に外部出力するエクスポート処理については、動作予測結果画面200の各表示欄201、206、208に画像が表示されている状態において、ユーザによる操作部54を用いた入力によってエクスポートボタン209が押下された場合に動作予測装置100が動作を開始する。そして、ファイル形式変換部134は、予測波形情報を外部の装置40が表示可能なファイル形式に変換し、エクスポート部135は、ファイル形式が変換された予測波形情報を含む動作予測結果情報を予め定められた外部の装置40に外部出力するだけである。よって、冗長な説明を低減するためにフローチャートの図示及び詳細な説明を省略する。
以上説明したように、本実施の形態に係る動作予測装置100によれば、動作予測対象情報取得部110は、制御対象の動作のうちの予測対象となる動作に関する動作予測対象情報を取得する。また、動作予測結果情報生成部120は、動作予測対象情報取得部110が取得した動作予測対象情報に基づいて制御対象の動作を予測した結果を示す動作予測結果情報を生成し、動作予測結果情報出力部130は、動作予測結果情報生成部120が生成した動作予測結果情報を出力する。ここで、動作予測対象情報は、制御プログラムのルーチンを構成する複数のコマンドのうちからユーザによって選択された制御プログラムの1以上のコマンドに基づく制御プログラム情報を含む情報である。
このようにすることで、本実施の形態に係る動作予測装置100は、ユーザによって選択された制御プログラムの1以上のコマンドに基づく制御プログラム情報を含む動作予測対象情報を取得し、取得した動作予測対象情報に基づいて動作予測結果情報を生成、出力する。この結果、本実施の形態に係る動作予測装置100は、ユーザによって選択された制御プログラムの1以上のコマンドに基づく制御プログラム情報を含む動作予測対象情報を取得しない動作予測プログラム、取得した動作予測対象情報に基づいて動作予測結果情報を生成、出力できない動作予測プログラムよりも制御プログラムを調整する工数を低減できる。
特に、本実施の形態に係る動作予測装置100によれば、動作予測対象情報は、ユーザによって設定された制御プログラムに含まれる変数の初期値を示す初期設定情報を含んでいる。
このようにすることで、本実施の形態に係る動作予測装置100は、ユーザによって選択された制御プログラムの1以上のコマンドに基づく制御プログラム情報と、ユーザによって設定された当該制御プログラムに含まれる変数の初期値を示す初期設定情報とを含む動作予測対象情報を取得、解析して動作予測結果情報を生成、出力する。この結果、本実施の形態に係る動作予測装置100は、ユーザによって選択された制御プログラムの選択対象となった部分について、ユーザが設定した変数の初期値を用いて制御対象の動作を予測できる。
また、本実施の形態に係る動作予測装置100によれば、動作予測対象情報取得部110では、制御プログラム情報取得部111は、制御プログラム作成支援装置10が備えるプログラム編集部11のプログラム編集画面表示部13が表示するプログラム編集画面12において編集されている制御プログラムの複数のコマンドのうちからユーザが選択状態とした1以上のコマンドを示す制御プログラム情報を取得する。また、動作予測対象情報取得部110では、初期設定情報取得部112は、制御プログラム作成支援装置10が備える初期設定部14の初期設定画面表示部16が表示する初期設定画面15においてユーザが設定したことで生成された初期設定情報を取得する。
このようにすることで、本実施の形態に係る動作予測装置100は、制御プログラム作成支援装置10においてユーザが制御プログラムに含まれる変数の初期値を設定した上で当該制御プログラムの1以上のコマンドを選択すれば、当該制御プログラム作成支援装置10において編集途中の制御プログラムについて動作予測対象情報を取得、解析して動作予測結果情報を生成、出力することができる。この結果、本実施の形態に係る動作予測装置100は、制御プログラムの作成が完了していなくても当該制御プログラムについて動作予測対象情報を取得、解析して動作予測結果情報を生成、出力することができる。
また、本実施の形態に係る動作予測装置100によれば、動作予測結果情報生成部120では、制御プログラム解析部121は、動作予測対象情報を解析する。そして、動作予測結果情報生成部120では、動作予測算出部122は、制御プログラム解析部121の解析結果に基づいて制御対象の動作の軌跡の予測値を算出し、予測波形情報生成部123は、動作予測算出部122が算出した予測値に基づく制御対象の動作の軌跡の予測波形を示す予測波形情報を生成する。
このようにすることで、本実施の形態に係る動作予測装置100は、動作予測対象情報を解析することで、制御対象の動作の軌跡の予測値に基づく予測波形情報を生成することができる。
特に、本実施の形態に係る動作予測装置100によれば、制御プログラム解析部121は、ユーザによって選択された1以上のコマンドにエラーが存在する場合、1以上のコマンドのうちの当該エラーが存在するコマンドを解析せずに当該エラーが存在しない残りのコマンドを解析する。
このようにすることで、本実施の形態に係る動作予測装置100は、ユーザが選択した制御プログラムの1以上のコマンドにエラーが存在するか否かに関わらず当該1以上のコマンドを解析できる。
ここで、特許文献1に記載の装置では、ユーザである制御担当者は、シミュレーションを行うときに、コンパイルエラーが無くなるまでシーケンスプログラムの修正と再コンパイルとを繰り返す必要がある。すなわち、特許文献1に記載の装置では、シーケンスプログラムの修正が完了してコンパイルが完了するまでシミュレーションを行って制御対象の予測位置を算出したり表示したりすることができない問題がある。この結果、特許文献1に記載の装置では、ユーザは、シーケンスプログラム又は各種パラメータの修正を確認するためには、当該シーケンスプログラムのコンパイルを行った後にコンパイル済の実行ファイル及び修正済の各種パラメータを用いてシミュレーションを行って予測位置を表示する必要があり、修正の確認に手間が掛かることから、制御プログラミングの調整工数が増大する問題がある。
これに対して、本実施の形態に係る動作予測装置100では、ユーザは、制御対象の動作を予測するときに、プログラム編集画面12における編集途中の制御プログラムの複数のコマンドのうちの1以上のコマンドをユーザが選択状態にした上で予測を開始する操作を行えばよい。よって、本実施の形態に係る動作予測装置100では、コンパイルを行わなくても制御対象の動作を予測して動作予測結果情報を生成、出力でき、ユーザが選択した編集途中の1以上のコマンドについてエラーが存在するか否かに関わらず解析でき、解析結果から制御対象の動作を予測できる。この結果、本実施の形態に係る動作予測装置100は、エラーが無くなるまで制御プログラムの修正を行っていなくても制御対象の動作を予測して動作予測結果情報を生成、出力でき、特許文献1に記載の装置よりも修正の確認に手間を低減でき、制御プログラミングの調整する工数を低減できる。
また、本実施の形態に係る動作予測装置100によれば、動作予測結果情報出力部130では、予測波形情報表示部132は、動作予測結果情報に含まれる予測波形情報に基づく予測波形のグラフの画像を動作予測結果画面200の予測波形表示欄208に表示する。また、変数表示部133は、制御プログラム解析部が解析して得られた制御プログラムの1以上のコマンドに含まれる変数と変数の値とに基づく予測タイミング毎の各変数の値を示す画像を動作予測結果画面200の変数一覧表示欄201に表示する。
このようにすることで、本実施の形態に係る動作予測装置100は、動作予測結果情報の出力の態様として予測波形情報、ならびに、変数及びその値の表示を行うことができる。また、このようにすることで、本実施の形態に係る動作予測装置100は、予測波形情報、ならびに、変数及びその値の表示を動作予測結果画面200に同時に行うことができ、ユーザは、変数とその値とを確認しながら予測波形情報を確認できる。
特に、本実施の形態に係る動作予測装置100によれば、変数表示部133は、変数一覧表示欄201に表示している変数の値がユーザによる入力によって変更された場合、変数の値の表示を変更前の値から変更後の値に更新する。この場合、動作予測算出部122は、制御プログラム解析部121の解析結果と変数の変更後の値とに基づいて上述した予測値を再度算出し、予測波形情報生成部123は、動作予測算出部122が再度算出した予測値に基づく予測波形情報を再度生成する。また、この場合、予測波形情報表示部132は、予測波形情報の表示を再度生成前の情報から再度生成後の情報に更新する。
このようにすることで、本実施の形態に係る動作予測装置100では、ユーザは、動作予測結果画面200に表示されている変数の値を変更することで予測波形情報がどのように変化するかを確認できる。すなわち、本実施の形態に係る動作予測装置100では、ユーザは、変数の値を変更するだけで、制御対象の動作の軌跡の予測波形の変化を確認できる。この結果、本実施の形態に係る動作予測装置100は、ユーザが変数の値を変更したときに予測波形情報の表示を更新しない動作予測装置よりも変数の値の変更による予測波形情報の変化の確認が容易になり、制御プログラムを調整する工数を低減できる。
また、本実施の形態に係る動作予測装置100によれば、動作予測結果情報出力部130では、ファイル形式変換部134は、予測波形情報生成部123が生成した予測波形情報を制御プログラム作成支援装置10の外部の装置40が表示可能なファイル形式に変換する。そして、動作予測結果情報出力部130では、エクスポート部135は、ファイル形式変換部134がファイル形式を変換した予測波形情報を含む動作予測結果情報を外部の装置40に外部出力する。
このようにすることで、本実施の形態に係る動作予測装置100は、動作予測結果情報の出力の態様として予測波形情報を含む動作予測結果情報の外部出力を行うことができる。また、このようにすることで、本実施の形態に係る動作予測装置100は、外部の装置40のユーザが予測波形情報を表示することができ、当該ユーザが制御対象の動作の軌跡の予測波形を確認できる。
(変更例)
なお、上記の実施の形態のように、制御プログラム情報は、ユーザによって選択された制御プログラムの1以上のコマンドを示す情報であることが好ましいが、ユーザによって選択された制御プログラムの1以上のコマンドに基づく情報である限りにおいてこれに限定されない。例えば、制御プログラム情報は、制御プログラムの1以上のコマンドを用いて自動生成されたテストプログラムのソースコードのテキストファイルであってもよく、当該テストプログラムをコンパイルした実行ファイルであってもよい。
なお、上記の実施の形態では、動作予測装置100は、制御プログラム作成支援装置10に含まれる一機能であり、制御プログラム作成支援装置10と一体的に構成されているが、これに限定されず、動作予測装置100と制御プログラム作成支援装置10とは別体であってもよい。この場合、動作予測対象情報取得部110、制御プログラム情報取得部111、初期設定情報取得部112は、別体である制御プログラム作成支援装置10から各情報を取得することになる。また、この場合、動作予測装置100のユーザは、別体である制御プログラム作成支援装置10で編集されている制御プログラムから1以上のコマンドを選択したり、制御プログラム作成支援装置10で各変数の初期値を設定したりすることが可能である必要がある。
なお、上記の実施の形態のように、動作予測対象情報は、ユーザによって設定された制御プログラムに含まれる変数の初期値を示す初期設定情報を含むことが好ましいが、初期設定情報を含んでいなくてもよい。この場合、動作予測装置100は、例えば、制御プログラム情報に基づいて変数の初期値を自動生成し、自動生成した変数の初期値を用いて制御プログラム情報を解析して動作予測結果情報を生成、出力してもよい。
なお、上記の実施の形態のように、動作予測結果情報は、制御対象の動作の軌跡の予測波形を示す予測波形情報を含むことが好ましいが、予測波形情報を含んでいなくてもよい。この場合、例えば、動作予測結果情報は、予測タイミング毎の制御対象の動作の軌跡の予測値を示す情報である動作予測値情報を含み、動作予測結果情報出力部130は、動作予測結果画面200において予測タイミング毎の制御対象の動作の軌跡の予測値を一覧表示してもよい。
なお、上記の実施の形態では、動作予測結果情報出力部130は、動作予測結果画面200において、動作予測結果情報として予測波形情報、ならびに、予測タイミング毎の変数一覧情報を表示したが、動作予測結果画面200に表示する動作予測結果情報についてはこれに限定されない。例えば、動作予測結果情報出力部130は、動作予測結果画面200にユーザによって選択された制御プログラムの1以上のコマンドに含まれるモーションFBといった変数以外のプログラム部品の一覧を示す情報を表示してもよい。
なお、上記の実施の形態では、制御プログラム解析部121は、ユーザによって選択された制御プログラムの1以上のコマンドにエラーが存在しても動作予測対象情報を解析可能としたが、これに限定されない。例えば、制御プログラム解析部121は、ユーザによって選択された制御プログラムの1以上のコマンドにエラーが存在した場合には動作予測対象情報を解析不能であってもよい。また、例えば、制御プログラム解析部121は、ユーザによって選択された制御プログラムの1以上のコマンドにエラーが存在した場合にはエラーが存在する旨の表示をするだけで、動作予測対象情報のエラーが存在しない残りの部分について解析しないようにしてもよい。
なお、上記の実施の形態のように、動作予測結果情報出力部130は、予測波形情報に基づく画像と予測タイミング毎の変数一覧情報に基づく画像とを動作予測結果画面200に同時に表示することが好ましいが、これに限定されず、各画像を異なるタイミングに表示したり、異なる画面に表示したりしてもよい。例えば、動作予測結果情報出力部130は、予測波形情報に基づく画像を第1の動作予測結果画面に表示する一方で予測タイミング毎の変数一覧情報に基づく画像を第2の動作予測結果画面に表示してもよい。
なお、上記の実施の形態のように、動作予測装置100は、動作予測結果画面200の変数一覧表示欄201に表示している変数の値がユーザによる入力によって変更された場合、予測値を再度算出し、予測波形情報を再度生成し、予測波形情報の表示を更新することが好ましいが、これに限定されない。例えば、動作予測装置100は、動作予測結果画面200の変数一覧表示欄201に表示している変数の値がユーザによる入力によって変更されても予測値を再度算出したり、予測波形情報を再度生成したり、予測波形情報の表示を更新したりしなくてもよい。
なお、上記の実施の形態のように、動作予測装置100は、ユーザによってエクスポートボタン209が押下された場合に予測波形情報のファイル形式を変換してから当該予測波形情報を含む動作予測結果情報を外部の装置40に外部出力することが好ましいが、これに限定されない。例えば、動作予測装置100は、ファイル形式が変換されていない予測波形情報を含む動作予測結果情報を外部の装置40に外部出力してもよい。
なお、制御部51、主記憶部52、外部記憶部53、操作部54、表示部55、送受信部56、内部バス50等を備える制御プログラム作成支援装置10、動作予測装置100が処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムとしての動作予測プログラムを、コンピュータが読み取り可能な記録媒体、例えば、フラッシュメモリ、DVD-ROM(Read-Only Memory)等に格納して配布し、当該動作予測プログラムをインストールすることにより、上記の処理を実行するコンピュータを構成してもよい。また、LAN(Local Area Network)、インターネット30等の通信ネットワーク上のサーバ装置が有する記憶装置に当該動作予測プログラムを格納しておき、通常のコンピュータシステムがダウンロードすることでコンピュータを構成してもよい。
また、制御プログラム作成支援装置10、動作予測装置100の機能は、OS(Operating System)とアプリケーションプログラムの分担、又はOSとアプリケーションプログラムとの協働により実現する場合には、アプリケーションプログラム部分のみを記録媒体又は記憶装置に格納してもよい。
また、搬送波にFA制御テスト支援プログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)に動作予測プログラムを掲示し、ネットワークを介して動作予測プログラムを提供してもよい。そして、動作予測プログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
10…制御プログラム作成支援装置、11…プログラム編集部、12…プログラム編集画面、13…プログラム編集画面表示部、14…初期設定部、15…初期設定画面、16…初期設定画面表示部、17…動作予測ボタン、20…FA制御装置、21…FA機器、22…駆動軸、30…インターネット、40…外部の装置、50…内部バス、51…制御部、52…主記憶部、53…外部記憶部、54…操作部、55…表示部、56…送受信部、59…制御プログラム、100…動作予測装置、110…動作予測対象情報取得部、111…制御プログラム情報取得部、112…初期設定情報取得部、120…動作予測結果情報生成部、121…制御プログラム解析部、122…動作予測算出部、123…予測波形情報生成部、130…動作予測結果情報出力部、131…動作予測結果画面表示部、132…予測波形情報表示部、133…変数表示部、134…ファイル形式変換部、135…エクスポート部、200…動作予測結果画面、201…変数一覧表示欄、202…予測波形更新ボタン、203…速度選択チェックボックス、204…加速度選択チェックボックス、205…ジャーク選択チェックボックス、206…制御対象一覧表示欄、207…制御対象チェックボックス、208…予測波形表示欄、209…エクスポートボタン、210…終了ボタン。

Claims (13)

  1. コンピュータを、
    制御対象の動作を制御する制御プログラムのルーチンを構成する複数のコマンドのうちからユーザによって選択された前記制御プログラムの1以上のコマンドに基づく情報である制御プログラム情報を含む情報であって、前記制御対象の動作のうちの予測対象となる動作に関する情報である動作予測対象情報を取得する動作予測対象情報取得部、
    前記動作予測対象情報取得部が取得した前記動作予測対象情報に基づいて、前記制御対象の動作を予測した結果を示す情報である動作予測結果情報を生成する動作予測結果情報生成部、
    前記動作予測結果情報生成部が生成した前記動作予測結果情報を出力する動作予測結果情報出力部、
    として機能させ、
    前記動作予測結果情報生成部は、前記制御プログラム情報が示す前記制御プログラムのコマンドの文を当該制御プログラムのプログラミング言語に基づいて構文解析して認識した当該文に含まれるプログラム部品を用いて、当該文をコンパイルすることなく前記動作予測結果情報を生成する、
    動作予測プログラム。
  2. 前記動作予測対象情報は、前記ユーザによって設定された総予測時間情報及び予測間隔情報を含む、
    請求項1に記載の動作予測プログラム。
  3. 前記動作予測対象情報は、前記ユーザによって設定された前記制御プログラムに含まれる変数の初期値を示す情報である初期設定情報を含む、
    請求項1又は2に記載の動作予測プログラム。
  4. 前記動作予測対象情報取得部は、
    前記ユーザによる前記制御プログラムの作成を支援する装置である制御プログラム作成支援装置が備えるプログラム編集部において編集されている前記制御プログラムの前記複数のコマンドのうちから前記ユーザが選択状態とした前記1以上のコマンドを示す前記制御プログラム情報を取得する制御プログラム情報取得部と、
    前記制御プログラム作成支援装置が備える初期設定部において前記ユーザが設定したことで生成された前記初期設定情報を取得する初期設定情報取得部と、
    を含む、
    請求項3に記載の動作予測プログラム。
  5. 前記動作予測結果情報生成部は、
    前記動作予測対象情報を解析する制御プログラム解析部と、
    前記制御プログラム解析部の解析結果に基づいて前記制御対象の動作の軌跡の予測値を算出する動作予測算出部と、
    前記動作予測算出部が算出した前記予測値に基づく前記制御対象の動作の軌跡の予測波形を示す情報である予測波形情報を生成する予測波形情報生成部と、
    を含む、
    請求項1又は2に記載の動作予測プログラム。
  6. 前記制御プログラム解析部は、前記ユーザによって選択された前記1以上のコマンドにエラーが存在する場合、前記1以上のコマンドのうちの前記エラーが存在するコマンドを解析せずに前記エラーが存在しない残りのコマンドを解析する、
    請求項5に記載の動作予測プログラム。
  7. 前記動作予測結果情報出力部は、
    前記動作予測結果情報に含まれる前記予測波形情報を前記制御対象の動作を予測した結果を表示する動作予測結果画面に表示する予測波形情報表示部、
    前記制御プログラム解析部が解析して得られた前記制御プログラムの前記1以上のコマンドに含まれる変数と前記変数の値とを前記動作予測結果画面に表示する変数表示部、
    を含む、
    請求項5に記載の動作予測プログラム。
  8. 前記変数表示部は、表示している前記変数の値が前記ユーザによる入力によって変更された場合、前記変数の値の表示を変更前の値から変更後の値に更新し、
    前記動作予測算出部は、前記変数表示部が前記変数の値の表示を更新した場合、前記制御プログラム解析部の解析結果と前記変更後の値とに基づいて前記予測値を再度算出し、
    前記予測波形情報生成部は、前記動作予測算出部が前記予測値を再度算出した場合、前記動作予測算出部が再度算出した前記予測値に基づく前記予測波形情報を再度生成し、
    前記予測波形情報表示部は、前記予測波形情報生成部が前記予測波形情報を再度生成した場合、前記予測波形情報の表示を再度生成前の情報から再度生成後の情報に更新する、
    請求項7に記載の動作予測プログラム。
  9. 前記動作予測結果情報出力部は、
    前記予測波形情報生成部が生成した前記予測波形情報を前記コンピュータの外部の装置が表示可能なファイル形式に変換するファイル形式変換部、
    前記ファイル形式変換部がファイル形式を変換した前記予測波形情報を含む前記動作予測結果情報を前記外部の装置に外部出力する動作予測結果情報外部出力部、
    を含む、
    請求項5に記載の動作予測プログラム。
  10. 制御対象の動作を制御する制御プログラムを実行したときの前記制御対象の動作を予測する動作予測装置であって、
    前記制御対象の動作のうちの予測対象となる動作に関する情報である動作予測対象情報を取得する動作予測対象情報取得部と、
    前記動作予測対象情報取得部が取得した前記動作予測対象情報に基づいて、前記制御対象の動作を予測した結果を示す情報である動作予測結果情報を生成する動作予測結果情報生成部と、
    前記動作予測結果情報生成部が生成した前記動作予測結果情報を出力する動作予測結果情報出力部と、
    を備え、
    前記動作予測対象情報は、前記制御プログラムのルーチンを構成する複数のコマンドのうちからユーザによって選択された前記制御プログラムの1以上のコマンドに基づく情報である制御プログラム情報を含む情報であり、
    前記動作予測結果情報生成部は、前記制御プログラム情報が示す前記制御プログラムのコマンドの文を当該制御プログラムのプログラミング言語に基づいて構文解析して認識した当該文に含まれるプログラム部品を用いて、当該文をコンパイルすることなく前記動作予測結果情報を生成する、
    動作予測装置。
  11. 前記動作予測対象情報は、前記ユーザによって設定された総予測時間情報及び予測間隔情報を含む、
    請求項10に記載の動作予測装置。
  12. コンピュータが、制御対象の動作を制御する制御プログラムのルーチンを構成する複数のコマンドのうちからユーザによって選択された前記制御プログラムの1以上のコマンドに基づく情報である制御プログラム情報を含む情報であって、前記制御対象の動作のうちの予測対象となる動作に関する情報である動作予測対象情報を取得する動作予測対象情報取得ステップと、
    前記コンピュータが、前記動作予測対象情報取得ステップにおいて取得した前記動作予測対象情報に基づいて、前記制御対象の動作を予測した結果を示す情報である動作予測結果情報を生成する動作予測結果情報生成ステップと、
    前記コンピュータが、前記動作予測結果情報生成ステップにおいて生成した前記動作予測結果情報を出力する動作予測結果情報出力ステップと、
    を含み、
    前記動作予測結果情報生成ステップにおいて、前記コンピュータが、前記制御プログラム情報が示す前記制御プログラムのコマンドの文を当該制御プログラムのプログラミング言語に基づいて構文解析して認識した当該文に含まれるプログラム部品を用いて、当該文をコンパイルすることなく前記動作予測結果情報を生成する、
    動作予測方法。
  13. 前記動作予測対象情報は、前記ユーザによって設定された総予測時間情報及び予測間隔情報を含む、
    請求項12に記載の動作予測方法。
JP2023558870A 2023-03-27 2023-03-27 動作予測プログラム、動作予測装置及び動作予測方法 Active JP7433550B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/012300 WO2024201677A1 (ja) 2023-03-27 2023-03-27 動作予測プログラム、動作予測装置及び動作予測方法

Publications (1)

Publication Number Publication Date
JP7433550B1 true JP7433550B1 (ja) 2024-02-19

Family

ID=89904355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023558870A Active JP7433550B1 (ja) 2023-03-27 2023-03-27 動作予測プログラム、動作予測装置及び動作予測方法

Country Status (2)

Country Link
JP (1) JP7433550B1 (ja)
WO (1) WO2024201677A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164195A (ja) 2004-12-10 2006-06-22 Mitsubishi Heavy Ind Ltd 図形言語を用いた制御演算方法及びその装置
JP2011192016A (ja) 2010-03-15 2011-09-29 Omron Corp コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164195A (ja) 2004-12-10 2006-06-22 Mitsubishi Heavy Ind Ltd 図形言語を用いた制御演算方法及びその装置
JP2011192016A (ja) 2010-03-15 2011-09-29 Omron Corp コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体

Also Published As

Publication number Publication date
WO2024201677A1 (ja) 2024-10-03

Similar Documents

Publication Publication Date Title
US6173246B1 (en) Method and system for a unified process automation software system
US10481885B2 (en) Synchronization of a graphical program and a robot program
JP6950665B2 (ja) エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
EP3511827A1 (en) Executable program creation device, executable program creation method, and executable program creation program
Zimmermann et al. Towards version 4.0 of TimeNET
US20040148151A1 (en) Model simulation and calibration
US20080127061A1 (en) Method and system for editing code
CN110554861B (zh) 具有编译和读取-评估-打印-循环操作的软件开发环境
JP7433550B1 (ja) 動作予測プログラム、動作予測装置及び動作予測方法
JP2021096637A (ja) エンジニアリングユニットおよび開発支援方法
KR20180009344A (ko) 프로그램 생성 장치 및 그 방법
JP5425317B2 (ja) モーションsfcプログラム部品作成装置
CN112204480B (zh) 信息处理装置以及计算机可读记录介质
CN114326494B (zh) 超导量子计算机的量子测控系统和方法
JP2019207534A (ja) サポート装置、制御システム、および開発支援プログラム
CN112272820B (zh) 支持装置以及支持程序的记录介质
JP7208441B1 (ja) Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム
US6865440B1 (en) Numeric control apparatus for machine tools
JP4698943B2 (ja) プログラム生産方法、プログラム生産装置、プログラム自動変換方法、およびプログラム
KR20140141941A (ko) 인버터 기능 시험장치 및 시험방법
KR102601979B1 (ko) 소프트웨어 프로그램을 검증하는 방법 및 장치
EP4421572A1 (en) Information processing apparatus, information processing method and information processing program
JP2011118574A (ja) 運転状態予測システムおよび運転状態予測方法
US20070260993A1 (en) Method and system including a graphic user interface
JP2003067007A (ja) エンジニアリングツール及びエンジニアリングシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230925

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240206

R150 Certificate of patent or registration of utility model

Ref document number: 7433550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150