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

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

Info

Publication number
JP7374381B1
JP7374381B1 JP2023520326A JP2023520326A JP7374381B1 JP 7374381 B1 JP7374381 B1 JP 7374381B1 JP 2023520326 A JP2023520326 A JP 2023520326A JP 2023520326 A JP2023520326 A JP 2023520326A JP 7374381 B1 JP7374381 B1 JP 7374381B1
Authority
JP
Japan
Prior art keywords
simulation
virtual
controller
state
programmable controller
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
JP2023520326A
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 JP7374381B1 publication Critical patent/JP7374381B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

プログラムは、シミュレーション装置(10)を、プログラマブルコントローラ(21)によって実行される実行プログラム(21a)と、FAシステム(22)の構成を示すシステム構成情報と、を取得する取得部(11)、プログラマブルコントローラ(21)に対応する仮想コントローラ(31)の第1シミュレーション時間とシステム構成情報に基づいて構成される仮想システム(32)の第2シミュレーション時間とを予め定められた周期毎に同期させつつ、仮想コントローラ(31)に実行プログラム(21a)を実行させて得る仮想出力によって仮想システム(32)を動作させることで、プログラマブルコントローラ(21)及びFAシステム(22)の動作を模擬するシミュレーション部(14)、として機能させる。

Description

本開示は、シミュレーションプログラム、シミュレーション方法及びシミュレーション装置に関する。
FA(Factory Automation)の現場では、センサ及びサーボモータに代表される種々のFA機器を含むFAシステムがプログラマブルコントローラの指示に従って稼働することで種々の工程が実現される。この種のFAシステムの稼働については、事前にシミュレーションを行って、不具合の有無、プログラマブルコントローラに実行させるプログラム、又は、FA機器に設定するパラメータを検証することが望ましい(例えば、特許文献1を参照)。
特許文献1には、コントローラによって制御されるプラントを模擬するシミュレータを有する仮想プラントシミュレーションシステムについて記載されている。特許文献1の技術では、オペレータが「停止」の操作をすると、コントローラの動作及びシミュレータの演算が停止してその状態を維持し、「起動」又は「実行」の操作があれば、その操作に対応する指令の内容をコントローラ及びシミュレータが実行する。
特開2017-187947号公報
特許文献1の技術では、シミュレータが実機のコントローラに対してリアルタイムにシミュレーションを行う。しかしながら、プログラマブルコントローラの動作についてもシミュレーションを行えば、実機のプログラマブルコントローラを準備する必要がなく、より早期にプログラマブルコントローラ及び当該プログラマブルコントローラに接続されるFAシステムの協働運転について検証することができる。
ここで、プログラマブルコントローラとFAシステムを一体としてシミュレーションを行うのではなく、プログラマブルコントローラのシミュレーションをFAシステムのシミュレーションとは別個に行うことが、シミュレーションソフトウェアの開発の負担及び将来の拡張性の観点から好ましい。しかしながら、プログラマブルコントローラのシミュレーションと、FAシステムのシミュレーションと、を並列に実行する場合であっても、停止操作がなされたときに、双方のシミュレーション上の時間が同一であるとは限らない。すなわち、異なる時刻までの動作が模擬された状態でシミュレーションが停止してしまう可能性がある。そのため、停止した状態からシミュレーションを再開する際に、シミュレーションの進行度が異なってしまい、プログラマブルコントローラ及びFAシステムの正確なシミュレーションを実行することができないおそれがある。
本開示は、上記実情に鑑みてなされたものであり、プログラマブルコントローラ及びFAシステムの正確なシミュレーションを実行することを目的とする。
上記目的を達成するため、本開示のシミュレーションプログラムは、プログラマブルコントローラと、プログラマブルコントローラからの出力に従って動作するシステムと、のそれぞれの動作を模擬するコンピュータを、プログラマブルコントローラからの出力を生成するためにプログラマブルコントローラによって実行される実行プログラムと、システムの構成を示すシステム構成情報と、を取得する取得手段、プログラマブルコントローラに対応する仮想コントローラの第1シミュレーション時間とシステム構成情報に基づいて構成される仮想システムの第2シミュレーション時間とを予め定められた周期毎に同期させつつ、仮想コントローラに実行プログラムを実行させて得る仮想出力によって仮想システムを動作させることで、プログラマブルコントローラ及びシステムの動作を模擬するシミュレーション手段、として機能させ、仮想システムは、入力端子及び出力端子の少なくとも一方が2つ以上である部品を含む複数の部品を有し、複数の部品それぞれの入力端子又は出力端子に相当する仮想システムの要素はそれぞれ、他の要素に接続されて、他の要素から出力される信号の受信及び他の要素への信号の送信の少なくとも一方を実行し、他の要素から信号を受信した場合に当該信号に基づいて変化する状態を有し、システム構成情報は、複数の要素と、複数の要素の接続関係と、出力端子の状態が入力端子の状態に依存することを示す依存関係を含む、各要素の状態に関する情報と、を示し、シミュレーション手段は、システム構成情報に基づいて複数の要素の有向非巡回グラフを生成し、生成した有向非巡回グラフのトポロジカルソートを実行することにより、各要素の順序を決定し、決定した順序で各要素の状態の変化を模擬し、取得手段は、シミュレーション手段による模擬を停止するための停止指示を取得し、シミュレーション手段は、取得手段によって停止指示が取得されると、第1シミュレーション時間及び第2シミュレーション時間を同期させる予め定められた周期のタイミングで仮想コントローラ及び仮想システムによる動作の模擬を停止する。
本開示によれば、シミュレーション手段が、第1シミュレーション時間及び第2シミュレーション時間を同期させるタイミングで動作の模擬を停止する。これにより、プログラマブルコントローラ及びシステムの動作のシミュレーションの進行度を等しいものとしてシミュレーションを再開することができる。したがって、プログラマブルコントローラとFAシステムの正確なシミュレーションを実行することができる。
実施の形態に係るシミュレーション装置の構成を示す図 実施の形態に係るシミュレーション装置のハードウェア構成を示す図 実施の形態に係るシミュレーション装置に設定される情報の一例を示す図 実施の形態に係るシステム構成情報の一例を示す図 実施の形態に係るコントローラ構成情報の一例を示す図 実施の形態に係るシミュレーションの経過の表示例を示す図 実施の形態に係る時間設定データの一例を示す図 実施の形態に係るシミュレーション時間の同期について説明するための図 実施の形態に係る有向非巡回グラフの作成例を示す図 実施の形態に係る仮想コントローラ処理及び仮想システム処理を示すフローチャート 実施の形態に係る仮想コントローラ及び仮想システムのシミュレーションの実行又は停止の指令が伝送される例を示す図
以下、本開示の実施の形態に係るシミュレーションプログラムを実行するシミュレーション装置について、図面を参照しつつ詳細に説明する。
実施の形態.
本実施の形態に係るシミュレーション装置10は、図1に示されるように、プログラマブルコントローラ21及びFAシステム22の動作をソフトウェア上で模擬するコンピュータであって、例えば、産業用PC(Personal Computer)、タブレット端末、又は、ネットワーク上のサーバ装置である。
プログラマブルコントローラ21は、通信線を介してFAシステム22に接続される。通信線は、電流信号又は電圧信号を伝送する配線であってもよいし、シリアルデータを伝送する信号線であってもよいし、産業用ネットワークであってもよい。または、通信線は、1つであってもよいし複数であってもよい。プログラマブルコントローラ21は、異なる種別の複数の通信線でFAシステム22に接続されてもよい。
プログラマブルコントローラ21は、実行プログラム21aを実行することでFAシステム22に信号を出力する。実行プログラム21aは、例えば、ラダー言語で記述されたラダープログラム、又は、その他の言語で記述されるプログラムである。実行プログラム21aは、FAシステム22に出力すべき信号の内容及び手順が記述されるプログラムであればよい。
FAシステム22は、プログラマブルコントローラ21から出力される信号に基づいて動作するシステムである。FAシステム22は、一又は複数の要素を有する。FAシステム22が複数の要素を有する場合に、これら複数の要素は、互いに接続されてもよい。詳細には、各要素は、他の要素に接続されて、他の要素から出力される信号の受信及び他の要素への信号の送信の少なくとも一方を実行してもよい。また、各要素は、他の要素から信号を受信した場合に当該信号に基づいて変化する状態を有する。
図1に示されるようにFAシステム22が要素22a,22b,22c,22dを有する場合において、例えば、要素22aは、プログラマブルコントローラ21からON信号を受信するときに点灯し、OFF信号を受信するときに消灯するランプ又はLED(Light Emitting Diode)である。また、要素22bは、サーボモータである要素22c,22dをプログラマブルコントローラ21からの制御指令に従って駆動するサーボアンプであってもよい。FAシステム22を構成する要素は、上述の例に限られず、論理演算素子、LED及びLCD(Liquid Crystal Display)に代表される表示装置、ゲージ、センサ、スイッチ、アクチュエータ、サーボアンプ、サーボモータ、その他のモータ、バルブ、ロボット、工作機械、その他のFA機器であってもよい。また、いずれかの要素がプログラマブルコントローラ21とは異なる他のプログラマブルコントローラであってもよいし、FAシステム22は、他のプログラマブルコントローラを含まなくともよい。プログラマブルコントローラ21からの出力に従ってFAシステム22が動作することにより、生産工程、加工工程、検査工程、及び監視工程に代表されるような、工場における種々の工程が実現される。
なお、図1に示されるように、FAシステム22は、互いに接続される要素22b,22c、22dと、他の要素に接続されない要素22aをさらに有している。FAシステム22は、他の要素に接続されずにプログラマブルコントローラ21に接続される要素を複数有してもよい。
シミュレーション装置10は、上述のようなプログラマブルコントローラ21及びFAシステム22を実際に構築することなく、実行プログラム21aに基づくプログラマブルコントローラ21及びFAシステム22の動作を模擬するためのソフトウェアを実行する。このようなソフトウェアを実行するために、シミュレーション装置10は、図2に示されるようなハードウェア構成を有する。詳細には、シミュレーション装置10は、プロセッサ41と、主記憶部42と、補助記憶部43と、入力部44と、出力部45と、通信部46と、を有する。主記憶部42、補助記憶部43、入力部44、出力部45及び通信部46はいずれも、内部バス47を介してプロセッサ41に接続される。
プロセッサ41は、処理回路としてのCPU(Central Processing Unit)を含む。プロセッサ41は、補助記憶部43に記憶されるプログラムP1を実行することにより、シミュレーション装置10の種々の機能を実現して、後述の処理を実行する。
主記憶部42は、RAM(Random Access Memory)を含む。主記憶部42には、補助記憶部43からプログラムP1がロードされる。そして、主記憶部42は、プロセッサ41の作業領域として用いられる。図2では1つのプログラムP1が代表的に示されているが、複数のプログラムP1があってもよい。例えば、シミュレーションのためのソフトウェアに相当するプログラムP1に加えて、実行プグラム21aを編集するためのエンジニアリングツールに相当するプログラムP1があってもよい。シミュレーションのためのプログラムP1は、シミュレーションプログラムの一例に相当する。
補助記憶部43は、EEPROM(Electrically Erasable Programmable Read-Only Memory)及びHDD(Hard Disk Drive)に代表される不揮発性メモリを含む。補助記憶部43は、プログラムP1の他に、プロセッサ41の処理に用いられる種々のデータを記憶する。補助記憶部43は、プロセッサ41の指示に従って、プロセッサ41によって利用されるデータをプロセッサ41に供給し、プロセッサ41から供給されたデータを記憶する。
入力部44は、キーボード及びポインティングデバイスに代表される入力デバイスを含む。入力部44は、シミュレーション装置10のユーザによって入力された情報を取得して、取得した情報をプロセッサ41に通知する。
出力部45は、LCD(Liquid Crystal Display)及びスピーカに代表される出力デバイスを含む。出力部45は、プロセッサ41の指示に従って、種々の情報をユーザに提示する。
通信部46は、外部の装置と通信するためのネットワークインタフェース回路を有する。通信部46は、外部から信号を受信して、この信号により示される情報をプロセッサ41へ出力する。また、通信部46は、プロセッサ41から出力された情報を示す信号を外部の装置へ送信する。
なお、入力部44及び出力部45は、シミュレーション装置10のUI(User Interface)に相当する。ただし、シミュレーション装置10は、通信部46を介して外部のUI装置に接続されて、通信部46を介してユーザからの情報を取得するとともにユーザに情報を提供してもよい。入力部44及び出力部45に代えて外部のUI装置がシミュレーション装置10のUIとして用いられる場合には、入力部44及び出力部45が省略されて、通信部46が、UIのための情報を授受する機能を発揮してもよい。
図1に戻り、シミュレーション装置10は、上述のハードウェア構成が協働することで実現される機能的な構成を有する。詳細には、シミュレーション装置10は、種々の情報を取得する取得部11と、シミュレーションに関する情報をユーザに対して表示する表示部12と、進行するシミュレーションのあるタイミングにおける状態を示す状態データを記憶して保存する状態データ記憶部13と、仮想的に構築した仮想コントローラ31及び仮想システム32をプログラマブルコントローラ21及びFAシステム22と同様に動作させることでプログラマブルコントローラ21及びFAシステム22の動作を模擬するシミュレーション部14と、を有する。
取得部11及び表示部12は、UIとしての入力部44及び出力部45と、エンジニアリングツールを実行するプロセッサ41と、によって実現される。シミュレーション部14は、シミュレーションのためのソフトウェアを実行するプロセッサ41によって実現される。シミュレーション装置10は、プログラマブルコントローラと、プログラマブルコントローラからの出力に従って動作するシステムと、のそれぞれの動作を模擬するシミュレーション装置の一例に相当する。
取得部11は、実行プログラム21aと、FAシステム22の構成を示すシステム構成情報を取得する。詳細には、取得部11は、ユーザによって直接入力される実行プログラム21a及びシステム構成情報を取得してもよいし、ユーザによって指定された補助記憶部43のアドレス又は外部の記憶装置から実行プログラム21a及びシステム構成情報を読み出すことで取得してもよい。実行プログラム21aは、仮想コントローラ31によって実行され、システム構成情報は、仮想システム32を構成するために利用される。取得部11は、プログラマブルコントローラからの出力を生成するためにプログラマブルコントローラによって実行される実行プログラムと、システムの構成を示すシステム構成情報と、を取得する取得手段の一例に相当する。
図3には、システム構成情報を入力するための画面例が示されている。図3の上段右側の「仮想システム」の欄に示されるように、ユーザは、FAシステム22を構成する要素に対応するオブジェクトを配置するとともに、オブジェクト同士を線で結ぶことにより、FAシステムを構成する要素及び要素同士の関係を入力してもよい。これにより、仮想システム32は、FAシステム22と同様に要素が接続されたものとして構成される。
図3の例では、仮想コントローラ31を構成する出力ユニットに対応する「出力ユニットブロック」の2~4番目の端子それぞれから3つのランプに信号が出力され、最上部のランプの信号はさらにNOT素子を通って、仮想コントローラ31を構成する入力ユニットに対応する「入力ユニットブロック」の1番目の端子に入力されている。また、2つのスイッチの出力がそれぞれ「入力ユニットブロック」の3,5番目の端子に入力されている。さらに、「出力ユニットブロック」の8番目の端子から信号がシリンダーに入力され、シリンダーからの信号が「入力ユニットブロック」の7番目の端子に入力されている。
ここで、「出力ユニットブロック」及び「入力ユニットブロック」は実質的には、外部と信号を送受信するための仮想コントローラ31の構成要素であって、仮想システム32の構成要素ではないが、仮想コントローラ31と仮想システム32の要素との接続を明確にするために便宜上表示されている。図3から分かるように、FAシステム22は通常、プログラマブルコントローラ21の制御対象である。また、FAシステム22から出力される信号をプログラマブルコントローラ21にフィードバックして閉ループシステムを構成してもよい。
図3に例示される「シリンダー」の動作の詳細については、「シリンダー」のブロックを選択することで表示されるサブウィンドウを用いてユーザが入力してもよいし、動作の詳細が記述されたファイルをユーザが別途指定してもよい。FAシステムを構成する要素の動作の詳細は、要素に入力される信号に基づいて要素の状態がどのように変化するかを示す情報であって、システム構成情報に含まれる。例えば、シリンダーにON信号が入力されていれば、シリンダー位置が秒速1mmで増加し、MAX位置である100mmに達するとON信号を出力することが、シリンダーの動作の詳細となる。
図3に例示されるブロックダイアグラムにより、取得部11は、図4にテーブル形式で示されるようなシステム構成情報を取得することとなる。なお、ブロックダイアグラムに代えて、図4に示されるテーブルをユーザが直接入力してもよいし、シミュレーション装置10は、その他の形式で表されるシステム構成情報を取得してもよい。システム構成情報は、複数の要素と、当該複数の要素の接続関係と、各要素の状態に関する情報と、を示すものであればよい。
また、プログラマブルコントローラ21が図3の仮想コントローラ31に示されるように、複数のユニットを組み合わせることで構成されるビルディングブロック形式のPLC(Programmable Logic Controller)である場合には、取得部11は、プログラマブルコントローラ21の構成を示すコントローラ構成情報を取得してもよい。コントローラ構成情報は、図3の上段左側の「仮想コントローラ」の欄に示されるようにブロックダイアグラムの形式でユーザにより入力されてもよいし、図5に示されるようなテーブル形式のコントローラ構成情報が入力されてもよい。
ここで、図5のコントローラ構成情報は、ベースユニット上に装着される各ユニットと、各ユニットのベースユニット上の装着位置と、を示す。図5中の「実行ユニット」は、実行プログラム21aを実行するユニットであって、図3中の「CPU(Central Processing Unit)」に対応する。また、図5中の「入力ユニット」は、図3中の「IN」に対応し、図5中の「出力ユニット」は、図3中の「OUT」に対応する。また、ベースユニット上に装着されるユニットとして、プログラマブルコントローラ21及び仮想コントローラ31は、さらに他のユニットを有してもよい。他のユニットは、例えば、サーボアンプに接続されてサーボシステムを高精度に制御するためのモーションユニット、サーボアンプユニット、ネットワークを介して通信するためのネットワークユニット、上述の入力ユニット及び出力ユニットの少なくとも一方の機能を有する入出力ユニット、並びに、リモート入出力ユニットである。プログラマブルコントローラ21を構成する際にこれらのユニットの結線に関する情報が必要となる場合には、コントローラ構成情報は、この結線に関する情報を含む。
表示部12は、例えば、図6に示されるように、シミュレーションの結果を表示する。なお、シミュレーションの結果は、シミュレーションの経過、すなわち進行するシミュレーションのあるタイミングまでの進行結果を含む。図6の例では、仮想コントローラ31によって実行されている実行プログラム21aのブレークポイントが三角形のオブジェクト51によって示されるとともに、仮想コントローラ31が有するメモリ内のアドレスとそのアドレスに格納される値とが対応づけられて示されている。メモリの値は実行プログラム21aの実行に伴って変化し、仮想コントローラ31はこの値を用いて仮想システム32に対する仮想出力を生成するため、ユーザはこの値を観察することで実行プログラム21aに規定される処理が正しく実行されているか否かを確認することができる。
また、図6の上段右側に示されるように、仮想システム32を構成する各要素の、シミュレーションの進行に伴って変化する状態が表示部12によって表示される。例えば、ランプの点灯及び消灯並びにスイッチのON状態及びOFF状態が、ユーザによって区別して視認されるように表示され、シリンダー位置を示す文字列が表示される。
シミュレーションの進行中においては、シミュレーションの進行に関するユーザからの指示が、表示部12によって表示される画面を介して、取得部11によって取得される。シミュレーションの進行に関する指示は、例えば、シミュレーションを一時的に停止する停止指示、停止したシミュレーションを再開する再開指示、仮想コントローラ31に対する操作、及び、仮想システム32のうちのユーザ入力を受け付ける要素に対する操作である。停止指示は、図6に例示されるボタンB2をユーザが選択することで入力され、再開指示は、ボタンB1を選択することで入力される。仮想コントローラ31に対する操作は、図3のように表示されているオブジェクトに含まれる部品を操作することで入力されてもよいし、図6に示される値を直接上書きすることで入力されてもよい。仮想システム32の要素に対する操作は、図6のように表示されているオブジェクトを操作することで入力されてもよい。
また、シミュレーションに関する指示として、図6に例示されるボタンB3を選択することで入力される、現在のシミュレーションの状態を保存する保存指示と、ボタンB4を選択することで入力される、保存されたシミュレーションの状態を読み出す読出し指示と、が取得部11によって取得される。保存指示は、例えば、ユーザの終業時、離席前、シミュレーション装置10の電源の切断前、又は、進行中のシミュレーションの現在のタイミングにおける状態が後の検証に必要であると判断された場合に、入力される。読出し指示は、例えば、ユーザの始業時、着席後、シミュレーション装置10の電源投入後、又は、過去のシミュレーション経過の検証時に、シミュレーション状態を復元するために入力される。読出し指示に続いて開始指示が入力されると、読み出された状態からシミュレーションが再開されることとなる。
状態データ記憶部13は、主として補助記憶部43によって実現される。状態データ記憶部13には、保存指示が入力されたときのシミュレーションの状態を示す状態データが格納される。状態データは、実行プログラム21a、実行プログラム21aのブレークポイント、仮想コントローラ31のメモリに格納されているデータ、コントローラ構成情報、システム構成情報、及び、仮想システム32の各要素の状態を示す。また、状態データ記憶部13からは、読出し指示が入力されたときに状態データが読み出される。そして、状態データは、シミュレーションを途中から再開するために利用される。状態データ記憶部13は、停止指示に従って動作の模擬が停止した仮想コントローラ及び仮想システムの状態を示す状態データを記憶する状態データ記憶手段の一例に相当する。
シミュレーション部14は、仮想コントローラ31に実行プログラム21aを実行させることで、プログラマブルコントローラ21による実行プログラム21aの実行を模擬する。シミュレーション部14は、実行プログラム21a及びコントローラ構成情報に基づいて仮想コントローラ31を構成し、システム構成情報に基づいて仮想システム32を構成する。
そして、シミュレーション部14は、プログラマブルコントローラ21と同様のデータが格納されるメモリを有し、実行プログラム21aに含まれる命令を逐次実行する。また、シミュレーション部14は、命令の実行とともに経過するシミュレーション時間を計時する。このシミュレーション時間は、プログラマブルコントローラ21が実行プログラム21aを実行するときに経過する実時間と同様に、仮想コントローラ31が実行プログラム21aを実行するときに経過する仮想的な時間である。例えば、シミュレーション部14は、図7に示されるような時間設定データに基づいてシミュレーション時間を計時する。時間設定データは、実行プログラム21aに含まれる命令と当該命令の実行にかかる時間長とを対応づけて示す。時間設定データは、実行プログラム21aとともに取得部11によって取得されてもよい。
なお、シミュレーション時間は、命令の実行に対して実時間と同様に連動していればよく、実時間に対応していなくてもよい。また、シミュレーション時間の計時と命令の実行シミュレーションとは、同時になされてもよく、一方を起点として他方がなされてもよい。例えば、シミュレーション部14が、シミュレーション時間を進めた後に、進めた長さのシミュレーション時間内で実行可能な命令を実行してもよいし、命令を実行した後に、当該命令に対応する長さだけシミュレーション時間を進めてもよい。
また、シミュレーション部14は、仮想システム32の動作のシミュレーションを行う。詳細には、シミュレーション部14は、実行プログラム21aの実行により変化する、仮想コントローラ31からの仮想的な出力に基づいて、仮想システム32の要素の状態変化を模擬する。シミュレーション部14は、仮想システム32のシミュレーション時間を、仮想コントローラ31のシミュレーション時間とは別個に計時する。すなわち、シミュレーション部14は、仮想コントローラ31のシミュレーションと、仮想システム32のシミュレーションとを、別個に実行する。ただし、シミュレーション部14は、仮想コントローラ31のシミュレーション時間と、仮想システム32のシミュレーション時間と、を予め定められた周期毎に同期させる。
図8には、シミュレーション時間の同期について模式的に示されている。図8の例では、仮想コントローラ31及び仮想システム32それぞれのシミュレーション時間が6μsecの周期毎に同期されている。詳細には、仮想コントローラ31及び仮想システム32はそれぞれ、前回の同期のタイミングから周期に等しい長さのシミュレーション時間が経過したときに、相手においても同等の長さのシミュレーション時間が経過していなければ待機し、経過している場合には次の周期におけるシミュレーションを開始する。
各周期内においては、仮想コントローラ31及び仮想システム32それぞれのシミュレーション時間は同期しているとは限らない。しかしながら、仮想コントローラ31及び仮想システム32のシミュレーション時間の同期誤差の上限値がこの周期の長さに等しくなるため、ある程度小さい誤差でシミュレーション時間が同期することとなる。
さらに、仮想システム32を構成する要素それぞれの動作のそれぞれについて、シミュレーション部14は、その動作を模擬する。ただし、要素同士が接続されている場合には、仮想コントローラ31からの仮想出力の影響を受ける順番が定まる。このため、シミュレーション部14は、システム構成情報に基づいて要素の順序を決定し、決定した順序で要素の状態の変化を模擬する。詳細には、シミュレーション部14は、複数の要素の有向非巡回グラフを生成し、生成した有向非巡回グラフのトポロジカルソートを実行することにより、要素の順序を決定する。入出力が規定された要素同士の接続関係は実質的に、有向非巡回グラフに等しい情報であり、一般的に知られている手法を用いれば当該グラフを生成することができる。また、与えられた有向非巡回グラフに対するトポロジカルソートについても、一般的に知られている手法を用いればよいため、その詳細を省略する。
図8の例では、仮想システム32を構成する要素H,I,Jの動作がこの順で模擬されている。なお、図8中の0~6μsecの周期において示されるように、要素Hの当該周期内の動作を模擬してから、要素Iの当該周期内の動作を模擬し、その後に要素Jの当該周期内の動作を模擬してもよい。また、図8中の6~12μsecの周期において示されるように、要素Iの動作の模擬と要素Jの動作の模擬とを、これら要素I,Jの先後関係を維持していれば、一部並列に実行してもよい。すなわち、あるシミュレーション時間、例えば8μsecに着目したときに、仮想コントローラ31からの出力の影響を先に受ける要素Iのシミュレーションが要素Jのシミュレーションより先に行われていればよい。
なお、図9に示されるように、仮想システム32を構成する部品の入力及び出力の少なくとも一方が2つ以上になる場合には、部品の各端子をノードとして有向非巡回グラフを作成し、入出力信号を模擬すべき端子の順序を決定すればよい。すなわち、要素に相当する部品の端子について、順序が決定されてもよい。また、各端子を、仮想システム32を構成する要素として扱ってもよい。
また、図9の例では、部品同士の関係についてはループが発生しているが、端子の依存関係を考慮すれば、ループが生じていないため、有向非巡回グラフを作成することができる。しかしながら、要素同士の接続関係あるいは端子の依存関係においてループが生じる場合がある。この場合には、仮想コントローラ31に接続されている要素又は端子を起点として各要素又は各端子に順序を付していき、ループを生じさせる接続関係の直前のノードを終点として扱って、有向非巡回グラフを作成すればよい。例えば、図9の端子J2が端子J3だけでなく端子J1にも依存するような場合に、端子J1と端子J2との依存関係を省略してグラフを作成すればよい。
仮想コントローラ31のシミュレーション時間は、第1シミュレーション時間の一例に相当し、仮想システム32のシミュレーション時間は、第2シミュレーション時間の一例に相当する。シミュレーション部14は、プログラマブルコントローラに対応する仮想コントローラの第1シミュレーション時間とシステム構成情報に基づいて構成される仮想システムの第2シミュレーション時間とを予め定められた周期毎に同期させつつ、仮想コントローラに実行プログラムを実行させて得る仮想出力によって仮想システムを動作させることで、プログラマブルコントローラ及びシステムの動作を模擬するシミュレーション手段の一例に相当する。
続いて、シミュレーション装置10によって実行される処理について、図10,11を用いて説明する。図10には、仮想コントローラ31によって実行される仮想コントローラ処理、及び、仮想システム32によって実行される仮想システム処理の手順が模式的に示されている。
仮想コントローラ処理では、仮想コントローラ31は、現在の周期内における実行プログラム21aの実行を模擬する(ステップS11)。具体的には、シミュレーション部14が、時間設定データを参照して、実行プログラム21aに規定される処理のうちの、予め指定された長さの周期内において実行可能な命令を逐次実行する。
周期内における命令の実行が完了すると、仮想コントローラ31は、当該周期における動作の模擬の完了を仮想システム32に通知する(ステップS12)。図10においては、この通知が破線の矢印で示されている。
そして、仮想コントローラ31は、仮想システム32のシミュレーション時間が現在の周期の終了時刻に等しいか否かを判定する(ステップS13)。具体的には、仮想コントローラ31が、模擬が完了した旨の通知を仮想システム32から受けたか否かを判定する。
ステップS13の判定が否定された場合(ステップS13;No)、ステップS13の判定が繰り返され、当該判定が肯定されるまで、仮想コントローラ31は実行プログラム21aの実行を継続することなく待機する。一方、ステップS13の判定が肯定された場合(ステップS13;Yes)、仮想コントローラ31は、次の周期に移行して(ステップS14)、ステップS11に戻ることにより、実行プログラム21aの実行を継続する。
仮想システム処理では、仮想システム32は、現在の周期内における各要素の動作を模擬する(ステップS21)。具体的には、シミュレーション部14が、システム構成情報を参照して、仮想コントローラ31からの出力に基づいて、予め指定された長さの周期内における各要素の状態変化を模擬する。
模擬が完了すると、仮想システム32は、当該周期における動作の模擬の完了を仮想コントローラ31に通知する(ステップS22)。図10においては、この通知が一点鎖線の矢印で示されている。
そして、仮想システム32は、仮想コントローラ31のシミュレーション時間が現在の周期の終了時刻に等しいか否かを判定する(ステップS23)。具体的には、仮想システム32が、模擬が完了した旨の通知を仮想コントローラ31から受けたか否かを判定する。
ステップS23の判定が否定された場合(ステップS23;No)、ステップS23の判定が繰り返され、当該判定が肯定されるまで、仮想システム32はシミュレーションを継続することなく待機する。一方、ステップS23の判定が肯定された場合(ステップS23;Yes)、仮想システム32は、次の周期に移行して(ステップS24)、ステップS21に戻ることにより、シミュレーションを継続する。
図11には、シミュレーションの実行の有無を示す指示が入力された場合において仮想コントローラ31及び仮想システム32が実行する処理の手順が示されている。具体的には、仮想コントローラ31は、シミュレーションの実行の有無を示す指示があるか否かを判定する(ステップS31)。ここで、シミュレーションの実行の有無を示す指示は、シミュレーションの開始若しくは再開、又は停止の指示を意味する。
指示がないと判定した場合(ステップS31;No)、仮想コントローラ31は、ステップS31の判定を繰り返す。一方、指示があると判定した場合(ステップS31;Yes)、仮想コントローラ31は、シミュレーション時間が同期タイミングであるか否かを判定する(ステップS32)。シミュレーション時間が同期タイミングでないと判定した場合(ステップS32;No)、仮想コントローラ31は、ステップS32の判定を繰り返して、シミュレーション時間が同期タイミングになるまで待機する。一方、シミュレーション時間が同期タイミングであると判定した場合(ステップS32;Yes)、仮想コントローラ31は、指示に従って実行プログラム21aを実行し又は当該実行を停止する(ステップS33)。これにより、仮想コントローラ31は、シミュレーションを実行している状態において停止の指示があるときに、同期タイミングまでシミュレーションを実行する。なお、仮想コントローラ31がシミュレーションを停止している状態においてステップS31にてシミュレーションの開始又は再開の指示があるときには、ステップS32が省略されてもよい。
次に、仮想コントローラ31は、ステップS31で入力されたと判定された指示を仮想システム32に送信する(ステップS34)。
仮想システム32は、送信された指示を受信し(ステップS35)、この指示に従ってシミュレーションを実行し又は停止する(ステップS36)。これにより、停止指示がなされた場合には、仮想コントローラ31及び仮想システム32の双方が、シミュレーション時間の同期するタイミングにおいてシミュレーションを停止することとなる。図10,11に示される処理は、シミュレーション装置によって実行されるシミュレーション方法の一例に相当する。
以上、説明したように、シミュレーション部14は、仮想コントローラ31のシミュレーション時間及び仮想システム32のシミュレーション時間を同期させるタイミングで動作の模擬を停止する。これにより、プログラマブルコントローラ21及びFAシステム22の動作のシミュレーションの進行度を等しいものとしてシミュレーションを再開することができる。したがって、プログラマブルコントローラ21とFAシステム22の正確なシミュレーションを実行することができる。
また、シミュレーション部14は、システム構成情報に基づいて、仮想システム32の要素の順序を決定し、決定した順序で各要素の状態の変化を模擬する。これにより、仮想システム32のシミュレーションを正確に実行することができる。詳細には、シミュレーション部14は、複数の要素の有向非巡回グラフを生成し、生成した有向非巡回グラフのトポロジカルソートを実行することにより、各要素の順序を決定する。有向非巡回グラフの生成及びトポロジカルソートについては、効率的なアルゴリズムが知られているため、シミュレーション部14は、高速に各要素の順序を決定することができる。
また、本実施の形態に係る状態データ記憶部13は、仮想コントローラ31及び仮想システム32の状態を示す状態データを記憶し、状態データの読出し指示が取得部11によって取得されると、シミュレーション部14は、状態データにより示される仮想コントローラ31及び仮想システム32の状態を復元する。ここで、仮想コントローラ31の状態は、特定のシミュレーション時間における当該シミュレーション時間の値、実行プログラム21aの実行状態、コントローラ構成情報、及び仮想コントローラ31を構成する仮想ユニットの状態と、を意味する。実行プログラム21aの実行状態は、実行プログラム21a、そのブレークポイント及び実行プログラム21aに設定すべきデータを含む。また、仮想システム32の状態は、システム構成情報、仮想システム32のシミュレーション時間、及び、各要素の状態を意味する。これにより、シミュレーションを再び最初から実行する必要が無く、その途中から再開することができる。例えば、プログラマブルコントローラ21及びFAシステム22の装置始動シーケンスが完了した状態からシミュレーションを開始して、シミュレーション結果の分析にかかる時間を短縮することができる。
以上、本開示の実施の形態について説明したが、本開示は上記実施の形態によって限定されるものではない。
例えば、ビルディングブロック型のプログラマブルコントローラ21の構成を示すコントローラ構成情報に基づいて仮想コントローラ31が構成される例を中心に説明したが、これには限定されない。例えば、上述の複数のユニットの機能を有する一体的に構成されたプログラマブルコントローラ21の型番を示す情報を、コントローラ構成情報に代えてシミュレーション装置10に提供することで、仮想コントローラ31が構成されてもよい。
また、仮想コントローラ31及び仮想システム32がシミュレーション時間上の周期内における動作の模擬が完了した旨を通知する例について説明したが、これには限定されない。仮想コントローラ31及び仮想システム32は、計時しているシミュレーション時間を相手に通知するとともに、相手から通知されたシミュレーション時間が周期の終了時刻に等しいか否かを判定してもよい。
また、シミュレーション装置10の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
例えば、プロセッサ41によって実行されるプログラムP1を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムP1をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、CD-ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)が考えられる。
また、プログラムP1をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
また、通信ネットワークを介してプログラムP1を転送しながら起動実行することによっても、上述の処理を達成することができる。
さらに、プログラムP1の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
また、シミュレーション装置10の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
本開示は、プログラマブルコントローラ及びその周辺機器の動作のシミュレーションに適している。
10 シミュレーション装置、 11 取得部、 12 表示部、 13 状態データ記憶部、 14 シミュレーション部、 21 プログラマブルコントローラ、 21a 実行プログラム、 22 FAシステム、 22a,22b,22c,22d 要素、 31 仮想コントローラ、 32 仮想システム、 41 プロセッサ、 42 主記憶部、 43 補助記憶部、 44 入力部、 45 出力部、 46 通信部、 47 内部バス、 51 オブジェクト、 B1~B4 ボタン、 P1 プログラム。

Claims (7)

  1. プログラマブルコントローラと、前記プログラマブルコントローラからの出力に従って動作するシステムと、のそれぞれの動作を模擬するコンピュータを、
    前記プログラマブルコントローラからの前記出力を生成するために前記プログラマブルコントローラによって実行される実行プログラムと、前記システムの構成を示すシステム構成情報と、を取得する取得手段、
    前記プログラマブルコントローラに対応する仮想コントローラの第1シミュレーション時間と前記システム構成情報に基づいて構成される仮想システムの第2シミュレーション時間とを予め定められた周期毎に同期させつつ、前記仮想コントローラに前記実行プログラムを実行させて得る仮想出力によって前記仮想システムを動作させることで、前記プログラマブルコントローラ及び前記システムの動作を模擬するシミュレーション手段、
    として機能させ、
    前記仮想システムは、入力端子及び出力端子の少なくとも一方が2つ以上である部品を含む複数の部品を有し、
    前記複数の部品それぞれの前記入力端子又は前記出力端子に相当する前記仮想システムの要素はそれぞれ、他の要素に接続されて、前記他の要素から出力される信号の受信及び前記他の要素への信号の送信の少なくとも一方を実行し、前記他の要素から信号を受信した場合に当該信号に基づいて変化する状態を有し、
    前記システム構成情報は、複数の前記要素と、複数の前記要素の接続関係と、各前記部品の前記出力端子の状態が前記入力端子の状態に依存することを示す依存関係を含む、各前記要素の状態に関する情報と、を示し、
    前記シミュレーション手段は、前記システム構成情報に基づいて複数の前記要素の有向非巡回グラフを生成し、生成した前記有向非巡回グラフのトポロジカルソートを実行することにより、各前記要素の順序を決定し、決定した順序で各前記要素の状態の変化を模擬し、
    前記取得手段は、前記シミュレーション手段による模擬を停止するための停止指示を取得し、
    前記シミュレーション手段は、前記取得手段によって前記停止指示が取得されると、前記第1シミュレーション時間及び前記第2シミュレーション時間を同期させる前記予め定められた周期のタイミングで前記仮想コントローラ及び前記仮想システムによる動作の模擬を停止する、
    シミュレーションプログラム。
  2. 前記システムは、前記プログラマブルコントローラの制御対象であって、他のプログラマブルコントローラを有しない、
    請求項に記載のシミュレーションプログラム。
  3. 前記コンピュータを、
    前記停止指示に従って動作の模擬が停止した前記仮想コントローラ及び前記仮想システムの状態を示す状態データを記憶する状態データ記憶手段、としてさらに機能させ、
    前記取得手段は、前記状態データを読み出すことを示す読出し指示を取得し、
    前記シミュレーション手段は、前記取得手段によって前記読出し指示が取得されると、前記状態データ記憶手段から前記状態データを読み出して、読み出した前記状態データにより示される前記仮想コントローラ及び前記仮想システムの状態を復元する、
    請求項1又は2に記載のシミュレーションプログラム。
  4. 前記プログラマブルコントローラは、ベースユニットと、前記ベースユニットに装着されるユニットとして、前記実行プログラムを実行する実行ユニットと、ネットワークを介して通信するためのネットワークユニット、サーボシステムを制御するためのモーションユニット、及び外部と信号を送受信するための入出力ユニットのうちの少なくとも1つと、を有し、
    前記取得手段は、前記プログラマブルコントローラが有する前記ユニットを示すコントローラ構成情報を取得し、
    前記シミュレーション手段は、前記コントローラ構成情報に基づいて前記仮想コントローラを構成し、
    前記状態データは、前記コントローラ構成情報及び前記システム構成情報を含む、
    請求項に記載のシミュレーションプログラム。
  5. 前記状態データは、前記実行プログラムの実行状態と、前記コントローラ構成情報により示される前記ユニットに対応する仮想ユニットの状態と、を前記仮想コントローラの状態として示す、
    請求項に記載のシミュレーションプログラム。
  6. プログラマブルコントローラと、前記プログラマブルコントローラからの出力に従って動作するシステムと、のそれぞれの動作を模擬するシミュレーション装置によって実行されるシミュレーション方法であって、
    取得手段が、前記プログラマブルコントローラからの前記出力を生成するために前記プログラマブルコントローラによって実行される実行プログラムと、前記システムの構成を示すシステム構成情報と、を取得し、
    シミュレーション手段が、前記プログラマブルコントローラに対応する仮想コントローラの第1シミュレーション時間と前記システム構成情報に基づいて構成される仮想システムの第2シミュレーション時間とを予め定められた周期毎に同期させつつ、前記仮想コントローラに前記実行プログラムを実行させて得る仮想出力によって前記仮想システムを動作させることで、前記プログラマブルコントローラ及び前記システムの動作を模擬し、
    前記取得手段が、前記シミュレーション手段による模擬を停止するための停止指示を取得し、
    前記シミュレーション手段が、前記取得手段によって前記停止指示が取得されると、前記第1シミュレーション時間及び前記第2シミュレーション時間を同期させる前記予め定められた周期のタイミングで前記仮想コントローラ及び前記仮想システムによる動作の模擬を停止する、
    ことを含み、
    前記仮想システムは、入力端子及び出力端子の少なくとも一方が2つ以上である部品を含む複数の部品を有し、
    前記複数の部品それぞれの前記入力端子又は前記出力端子に相当する前記仮想システムの要素はそれぞれ、他の要素に接続されて、前記他の要素から出力される信号の受信及び前記他の要素への信号の送信の少なくとも一方を実行し、前記他の要素から信号を受信した場合に当該信号に基づいて変化する状態を有し、
    前記システム構成情報は、複数の前記要素と、複数の前記要素の接続関係と、各前記部品の前記出力端子の状態が前記入力端子の状態に依存することを示す依存関係を含む、各前記要素の状態に関する情報と、を示し、
    前記シミュレーション手段は、前記システム構成情報に基づいて複数の前記要素の有向非巡回グラフを生成し、生成した前記有向非巡回グラフのトポロジカルソートを実行することにより、各前記要素の順序を決定し、決定した順序で各前記要素の状態の変化を模擬する、
    シミュレーション方法。
  7. プログラマブルコントローラと、前記プログラマブルコントローラからの出力に従って動作するシステムと、のそれぞれの動作を模擬するシミュレーション装置であって、
    前記プログラマブルコントローラからの前記出力を生成するために前記プログラマブルコントローラによって実行される実行プログラムと、前記システムの構成を示すシステム構成情報と、を取得する取得手段と、
    前記プログラマブルコントローラに対応する仮想コントローラの第1シミュレーション時間と前記システム構成情報に基づいて構成される仮想システムの第2シミュレーション時間とを予め定められた周期毎に同期させつつ、前記仮想コントローラに前記実行プログラムを実行させて得る仮想出力によって前記仮想システムを動作させることで、前記プログラマブルコントローラ及び前記システムの動作を模擬するシミュレーション手段と、
    を備え、
    前記仮想システムは、入力端子及び出力端子の少なくとも一方が2つ以上である部品を含む複数の部品を有し、
    前記複数の部品それぞれの前記入力端子又は前記出力端子に相当する前記仮想システムの要素はそれぞれ、他の要素に接続されて、前記他の要素から出力される信号の受信及び前記他の要素への信号の送信の少なくとも一方を実行し、前記他の要素から信号を受信した場合に当該信号に基づいて変化する状態を有し、
    前記システム構成情報は、複数の前記要素と、複数の前記要素の接続関係と、各前記部品の前記出力端子の状態が前記入力端子の状態に依存することを示す依存関係を含む、各前記要素の状態に関する情報と、を示し、
    前記シミュレーション手段は、前記システム構成情報に基づいて複数の前記要素の有向非巡回グラフを生成し、生成した前記有向非巡回グラフのトポロジカルソートを実行することにより、各前記要素の順序を決定し、決定した順序で各前記要素の状態の変化を模擬し、
    前記取得手段は、前記シミュレーション手段による模擬を停止するための停止指示を取得し、
    前記シミュレーション手段は、前記取得手段によって前記停止指示が取得されると、前記第1シミュレーション時間及び前記第2シミュレーション時間を同期させる前記予め定められた周期のタイミングで前記仮想コントローラ及び前記仮想システムによる動作の模擬を停止する、
    シミュレーション装置。
JP2023520326A 2022-10-18 2022-10-18 シミュレーションプログラム、シミュレーション方法及びシミュレーション装置 Active JP7374381B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/038832 WO2024084602A1 (ja) 2022-10-18 2022-10-18 シミュレーションプログラム、シミュレーション方法及びシミュレーション装置

Publications (1)

Publication Number Publication Date
JP7374381B1 true JP7374381B1 (ja) 2023-11-06

Family

ID=88645820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023520326A Active JP7374381B1 (ja) 2022-10-18 2022-10-18 シミュレーションプログラム、シミュレーション方法及びシミュレーション装置

Country Status (2)

Country Link
JP (1) JP7374381B1 (ja)
WO (1) WO2024084602A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282327A (ja) 2000-03-31 2001-10-12 Omron Corp シミュレーションシステム及びシミュレータ並びに管理サーバ及び記録媒体
JP2010128722A (ja) 2008-11-26 2010-06-10 Canon Inc シミュレーションシステム、シミュレーション方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3177105B2 (ja) * 1994-10-03 2001-06-18 株式会社東芝 プログラム作成方法及びプログラムを用いた制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282327A (ja) 2000-03-31 2001-10-12 Omron Corp シミュレーションシステム及びシミュレータ並びに管理サーバ及び記録媒体
JP2010128722A (ja) 2008-11-26 2010-06-10 Canon Inc シミュレーションシステム、シミュレーション方法及びプログラム

Also Published As

Publication number Publication date
WO2024084602A1 (ja) 2024-04-25

Similar Documents

Publication Publication Date Title
JP6247320B2 (ja) 産業プラントの分散制御システムを試験するためのシステムおよび方法
US10025286B2 (en) Simulation system, programmable controller, simulation device, and engineering tool
US20230113393A1 (en) Software Defined Manufacturing/Assembly System
JP2009265668A (ja) 工学プロジェクトの訓練シミュレータ
US20150378333A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
WO2010017835A1 (en) A system and a method for off-line programming of an industrial robot
JP6051546B2 (ja) 情報処理装置、シミュレーション方法、およびプログラム
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
JP2007265238A (ja) シミュレーション装置及びシミュレーション方法
JP6184651B1 (ja) シミュレーション装置
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7374381B1 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
JP2003162304A (ja) 設備制御のシミュレーション方法及びその装置
WO2011125280A1 (ja) デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム
JP5314959B2 (ja) 情報処理装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP2002163020A (ja) プログラマブルコントローラにおける異常検出方法およびその装置
WO2015079503A1 (ja) システム構築支援装置
JP7067273B2 (ja) サポート装置、制御システム、および開発支援プログラム
JP2018036945A (ja) シミュレータ連携装置、シミュレータ連携装置の制御方法、情報処理プログラム、および記録媒体
JP2008165324A (ja) プログラム作成支援装置
WO2010134198A1 (ja) シミュレーション装置およびシミュレーションプログラム
JP2003228496A (ja) 制御プログラム開発支援装置
JP2006163657A (ja) プレイバックシミュレータ装置
WO2023119524A1 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230403

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231024

R150 Certificate of patent or registration of utility model

Ref document number: 7374381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150