(57)【要約】【課題】製造装置の挙動を従来技術に比較してより適切に確認および評価できるシミュレーションシステムが要望されている。また、製造装置の設計が完了する前から、製造装置を含む全体の挙動を適切に確認および評価できるシミュレーションシステムが要望されている。【解決手段】シミュレーションシステムは、制御対象を制御する制御装置と、制御装置とデータ交換可能な情報処理装置とを含む。制御装置は、制御対象に係るシーケンス制御およびモーション制御を実行する演算処理部と、シーケンス制御およびモーション制御に係る一定周期毎のデータを出力する出力部とを含む。情報処理装置は、制御対象の少なくとも一部の構成を示す設計データを保持する記憶モジュールと、制御装置から出力された一定周期毎のデータのうち予め定められた条件が満たされたタイミングを含む所定期間に亘るデータと設計データとを用いて、当該タイミングの前後の期間における制御対象の挙動を視覚化する視覚化モジュールとを含む。【選択図】図８
2015225419.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置と、
前記制御装置とデータ交換可能な情報処理装置とを備えたシミュレーションシステムであって、
前記制御装置は、
前記制御対象に係るシーケンス制御およびモーション制御を実行する演算処理部と、
前記シーケンス制御および前記モーション制御に係る一定周期毎のデータを出力する出力部とを含み、
前記情報処理装置は、
前記制御対象の少なくとも一部の構成を示す設計データを保持する記憶モジュールと、
前記制御装置から出力された一定周期毎のデータのうち予め定められた条件が満たされたタイミングを含む所定期間に亘るデータと前記設計データとを用いて、当該タイミングの前後の期間における前記制御対象の挙動を視覚化する視覚化モジュールとを含む、シミュレーションシステム。
【請求項２】
前記情報処理装置は、前記制御装置から出力された一定周期毎のデータに含まれる複数の項目の制御状態値を同一の時間軸上に並べて表示するための解析モジュールをさらに備える、請求項１に記載のシミュレーションシステム。
【請求項３】
前記情報処理装置は、前記制御対象の挙動を視覚化する時間を設定するためのユーザ操作を受け付けるための操作オブジェクトを表示する、請求項１または２に記載のシミュレーションシステム。
【請求項４】
前記情報処理装置は、前記予め定められた条件に関連付けられる部位を視覚化する、請求項１〜３のいずれか１項に記載のシミュレーションシステム。
【請求項５】
制御対象を制御する制御装置と、
前記制御装置とデータ交換可能な情報処理装置とを備えたシミュレーションシステムであって、
前記情報処理装置は、
前記制御対象の少なくとも一部の構成を示す設計データを作成および編集可能な作成編集モジュールを含み、
前記制御装置は、
前記情報処理装置から受信する一定周期毎のデータを入力データとして、予め定められたシーケンス制御およびモーション制御の少なくとも一方を実行するとともに、その実行によって算出される一定周期毎のデータを出力データとして情報処理装置へ送信する演算処理部を含み、
前記情報処理装置は、
前記制御装置からの前記出力データと前記設計データとを用いて、前記制御対象の挙動を視覚化する視覚化モジュールと、
前記視覚化された前記制御対象の挙動に応じた一定周期毎のデータを前記制御装置へ出力する出力モジュールとを含む、シミュレーションシステム。
【請求項６】
前記情報処理装置は、前記制御装置からの前記出力データが予め定められた条件を満たすと、当該条件を満たしたことを示す情報を前記制御装置へ応答する、請求項５に記載のシミュレーションシステム。
【請求項７】
前記制御装置は、コンピュータ上で実行されるエミュレータとして実装される、請求項５または６に記載のシミュレーションシステム。
【請求項８】
前記視覚化モジュールは、前記制御装置からの前記出力データが更新されるたびに、前記制御対象の対応するオブジェクトの位置を更新する、請求項５〜７のいずれか１項に記載のシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御する制御装置を含むシミュレーションシステムに関する。
【背景技術】
【０００２】
様々な製造現場において、各種のＦＡ（Factory Automation）技術が導入されている。近年のＩＣＴ（Information and Communication Technology）の進歩に伴って、ＦＡ技術にもより高度な情報処理技術が導入されつつある。
【０００３】
このようなＩＣＴの応用例として、製造装置を現実に作動させることなく、シミュレーションだけで、装置の挙動を確認したり安全性などを評価したりすることが提案されている。
【０００４】
例えば、特開２００９−０１８１４５号公報（特許文献１）は、数値制御装置（ＮＣ装置）等を備えてワークまたは加工工具の少なくとも一方を移動させてワークを加工する工作機械において、ワークまたは加工工具を移動させる際の衝突を防止する、工作機械の干渉チェック装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−０１８１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献１に開示される装置は、製造装置としての工作機械における干渉の発生有無を予め評価するものであり、適用範囲は工作機械に限られる。また、工作機械の設計が完了した後に、主として加工プログラムの適否を評価することを目的としているため、機械設計の適否を評価することはできない。
【０００７】
製造装置の挙動を従来技術に比較してより適切に確認および評価できるシミュレーションシステムが要望されている。また、製造装置の設計が完了する前から、製造装置を含む全体の挙動を適切に確認および評価できるシミュレーションシステムが要望されている。
【課題を解決するための手段】
【０００８】
本発明のある局面に従うシミュレーションシステムは、制御対象を制御する制御装置と、制御装置とデータ交換可能な情報処理装置とを含む。制御装置は、制御対象に係るシーケンス制御およびモーション制御を実行する演算処理部と、シーケンス制御およびモーション制御に係る一定周期毎のデータを出力する出力部とを含む。情報処理装置は、制御対象の少なくとも一部の構成を示す設計データを保持する記憶モジュールと、制御装置から出力された一定周期毎のデータのうち予め定められた条件が満たされたタイミングを含む所定期間に亘るデータと設計データとを用いて、当該タイミングの前後の期間における制御対象の挙動を視覚化する視覚化モジュールとを含む。
【０００９】
好ましくは、情報処理装置は、制御装置から出力された一定周期毎のデータに含まれる複数の項目の制御状態値を同一の時間軸上に並べて表示するための解析モジュールをさらに含む。
【００１０】
好ましくは、情報処理装置は、制御対象の挙動を視覚化する時間を設定するためのユーザ操作を受け付けるための操作オブジェクトを表示する。
【００１１】
好ましくは、情報処理装置は、予め定められた条件に関連付けられる部位を視覚化する。
【００１２】
本発明の別の局面に従うシミュレーションシステムは、制御対象を制御する制御装置と、制御装置とデータ交換可能な情報処理装置とを含む。情報処理装置は、制御対象の少なくとも一部の構成を示す設計データを作成および編集可能な作成編集モジュールを含む。制御装置は、情報処理装置から受信する一定周期毎のデータを入力データとして、予め定められたシーケンス制御およびモーション制御の少なくとも一方を実行するとともに、その実行によって算出される一定周期毎のデータを出力データとして情報処理装置へ送信する演算処理部を含む。情報処理装置は、制御装置からの出力データと設計データとを用いて、制御対象の挙動を視覚化する視覚化モジュールと、視覚化された制御対象の挙動に応じた一定周期毎のデータを制御装置へ出力する出力モジュールとを含む。
【００１３】
好ましくは、情報処理装置は、制御装置からの出力データが予め定められた条件を満たすと、当該条件を満たしたことを示す情報を制御装置へ応答する。
【００１４】
好ましくは、制御装置は、コンピュータ上で実行されるエミュレータとして実装される。
【００１５】
好ましくは、視覚化モジュールは、制御装置からの出力データが更新されるたびに、制御対象の対応するオブジェクトの位置を更新する。
【発明の効果】
【００１６】
本発明のある実施の形態のシミュレーションシステムによれば、製造装置の挙動をより適切に確認および評価できる。
【００１７】
本発明の別の実施の形態のシミュレーションシステムによれば、製造装置の設計が完了する前から、製造装置を含む全体の挙動を適切に確認および評価できる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態のシミュレーションシステムの構成例を示す模式図である。
【図２】図１に示す制御装置および情報処理装置の構成例を示す模式図である。
【図３】本実施の形態のシミュレーションシステムにおけるデータの遣り取りに係る構成例を示す模式図である。
【図４】本実施の形態のシミュレーションシステムにおいて遣り取りされるデータの構成例を示す模式図である。
【図５】一般的な装置開発プロセスを示す模式図である。
【図６】本実施の形態のシミュレーションシステムが提供する故障再現によるメンテナンス機能に係る表示例を示す図である。
【図７】図６に示す故障再現に対応するタイムチャートを正常時と比較して示す図である。
【図８】本実施の形態のシミュレーションシステムが提供する故障再現によるメンテナンス機能に係る機能構成を示す模式図である。
【図９】本実施の形態のシミュレーションシステムが提供するチューニング機能を説明するための図である。
【図１０】本実施の形態のシミュレーションシステムが提供するチューニング機能に係る機能構成を示す模式図である。
【図１１】本実施の形態のシミュレーションシステムが提供する実機レスデバッグ機能を説明するための図である。
【図１２】本実施の形態のシミュレーションシステムが提供する実機レスデバッグ機能に係る機能構成を示す模式図である。
【発明を実施するための形態】
【００１９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２０】
＜Ａ．シミュレーションシステム構成＞
まず、本実施の形態のシミュレーションシステム１の構成について説明する。図１は、本実施の形態のシミュレーションシステム１の構成例を示す模式図である。図１を参照して、本実施の形態のシミュレーションシステム１は、制御対象を制御する制御装置１００と、情報処理装置２００とを含む。
【００２１】
制御装置１００は、例えば、ＰＬＣ（Programmable Logic Controller）と称される産業用の装置である。図１には、制御対象の一例として、製造装置３００を示す。制御装置１００は、予めプログラムされた制御演算によって算出される制御指令を制御対象に与えるとともに、制御対象からの制御状態値などを取得して、後続の制御演算にそれを用いる。制御装置１００から出力される制御指令は、バルブの開閉やランプのＯＮ／ＯＦＦなどを制御する２値化信号と、ステッピングモータなどのアクチュエータの操作変位や操作速度などを制御する多値信号とを含み得る。制御装置１００に与えられる制御状態値は、リミットスイッチやセンサの状態（ＯＮ／ＯＦＦ）を含み得る。
【００２２】
制御装置１００は、各種のセンサの出力に応じて、アクチュエータのＯＮ／ＯＦＦを制御するシーケンス制御と、アクチュエータの操作変位や操作速度などを連続的に制御するモーション制御とを実行可能である。すなわち、制御装置１００は、制御対象に係るシーケンス制御およびモーション制御を実行することができる。
【００２３】
情報処理装置２００は、制御装置１００とデータ交換可能に構成されており、制御装置１００からの情報などを用いて製造装置３００の挙動を視覚化する機能を実装している。情報処理装置２００は、各種装置を設計するためのＣＡＤ（Computer Aided Design）プログラムがインストールされており、このＣＡＤプログラムを用いることで、任意の装置の構造設計が可能である。図１に示すシミュレーションシステム１の一例において、情報処理装置２００は、製造装置３００の少なくとも一部を示す設計データ（すなわち、製造装置３００の三次元形状データ）を保持しており、制御装置１００が製造装置３００を制御するために用いるデータおよび設計データを用いて、製造装置３００の挙動を、リアルタイムまたは事後的に視覚化する。
【００２４】
制御対象の挙動を視覚化するとは、後述するように、設計データを用いて制御対象の少なくとも一部をディスプレイ上などで仮想的（バーチャル）に再現するとともに、制御装置１００が製造装置３００を制御するために用いるデータに従って、その再現された制御対象の一部または全部の位置や形状などを時間的に変化させることを含む。
【００２５】
図２は、図１に示す制御装置１００および情報処理装置２００の構成例を示す模式図である。
【００２６】
図２を参照して、制御装置１００は、予めインストールされたプログラムをプロセッサが実行することで、制御対象に対する制御を実現する。より具体的には、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、メインメモリ１０６と、フラッシュメモリ１０８と、外部ネットワークコントローラ１１６と、メモリカードインターフェイス１１８と、内部バスコントローラ１２２と、フィールドバスコントローラ１２４とを含む。
【００２７】
プロセッサ１０２は、フラッシュメモリ１０８に格納されたシステムプログラム１１０およびユーザプログラム１１２を読み出して、メインメモリ１０６に展開して実行することで、制御対象に対する制御を実現する。システムプログラム１１０は、データの入出力処理や実行タイミング制御などの、制御装置１００の基本的な機能を提供するための命令コードを含む。ユーザプログラム１１２は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム１１２Ａおよびモーション制御を実行するためのモーションプログラム１１２Ｂとを含む。
【００２８】
チップセット１０４は、各コンポーネントを制御することで、制御装置１００全体としての処理を実現する。
【００２９】
内部バスコントローラ１２２は、制御装置１００と内部バスを通じて連結されるＩ／Ｏユニット１２６とデータを遣り取りするインターフェイスである。フィールドバスコントローラ１２４は、制御装置１００とフィールドバスを通じて連結されるＩ／Ｏユニット１２８とデータを遣り取りするインターフェイスである。内部バスコントローラ１２２およびフィールドバスコントローラ１２４は、対応のＩ／Ｏユニット１２６および１２８にそれぞれ入力される制御状態値を取得するとともに、プロセッサ１０２での演算結果を対応のＩ／Ｏユニット１２６および１２８から制御指令としてそれぞれ出力する。
【００３０】
外部ネットワークコントローラ１１６は、各種の有線／無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス１１８は、メモリカード１２０を着脱可能に構成されており、メモリカード１２０に対してデータを書込み、メモリカード１２０からデータを読出すことが可能になっている。
【００３１】
情報処理装置２００は、ＣＰＵやＭＰＵなどのプロセッサ２０２と、チップセット２０４と、メインメモリ２０６と、ハードディスク２０８と、通信部２１６と、メモリカードインターフェイス２１８と、入力部２２０と、表示部２２２とを含む。ハードディスク２０８には、情報処理装置２００での基本的なプログラム実行環境を提供するためのＯＳ（Operating System）２１０と、ＣＡＤプログラム２１２とが格納されている。情報処理装置２００は、典型的には、汎用的なパーソナルコンピュータで実現できるので、詳細な説明は繰返さない。
【００３２】
なお、制御装置１００および情報処理装置２００がプログラムを実行することで提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【００３３】
＜Ｂ．データの遣り取り＞
情報処理装置２００は、制御装置１００からの情報などを用いて製造装置３００の挙動を視覚化する機能を実装している。制御装置１００と情報処理装置２００との間のデータの遣り取りについては、任意の公知の方法を採用することができる。このデータの遣り取りを実現する方法の一例について説明する。データの遣り取りを実現する方法は、後述するものに限られず、目的、用途、実装コスト、ネットワーク環境などに応じて、最適なものが適宜選択される。
【００３４】
図３は、本実施の形態のシミュレーションシステム１におけるデータの遣り取りに係る構成例を示す模式図である。
【００３５】
図３（ａ）は、製造装置３００の挙動をリアルタイムで視覚化する場合に適した構成例を示す。より具体的には、制御装置１００および情報処理装置２００は、いずれもネットワーク４００に接続されており、ネットワーク４００を介してデータが遣り取りされる。この構成例において、制御装置１００は、外部ネットワークコントローラ１１６（図２）を介してネットワーク４００に接続され、情報処理装置２００は、通信部２１６（図２）を介してネットワーク４００に接続される。ネットワーク４００を介してデータを遣り取りすることで、高速なデータ交換が可能になる。
【００３６】
なお、制御装置１００および情報処理装置２００がデータの送受信に用いる通信プロトコルが互いに異なっている場合には、プロトコル変換サーバ４１０を経路上に配置してもよい。プロトコル変換サーバ４１０は、制御装置１００と情報処理装置２００の間でプロトコルを変換する。なお、プロトコル変換サーバ４１０と同一の機能を制御装置１００および情報処理装置２００の少なくとも一方に実装してもよい。
【００３７】
図３（ｂ）は、製造装置３００の挙動を事後的に視覚化する場合に適した構成例を示す。また、図３（ｂ）に示す構成例は、何らかの不具合が生じた場合に、その原因を追究する場合や、いわゆるデータマイニングを行なう場合などにも好適である。より具体的には、制御装置１００および情報処理装置２００のいずれともデータ交換可能なデータベース装置４２０が設けられている。典型的には、データベース装置４２０は、制御装置１００から出力されるデータを、所定周期毎に順次格納するとともに、情報処理装置２００は、データベース装置４２０にアクセスして、必要なデータを取得する。汎用的な通信インターフェイスを有するデータベース装置４２０を採用することで、異なる複数種類の制御装置１００が配置された場合であっても、１台の情報処理装置２００を用いて、製造装置３００の挙動を視覚化できる。
【００３８】
図３（ｃ）は、製造装置３００の挙動を事後的に視覚化する場合に適した構成例を示す。より具体的には、制御装置１００に保持されている各種データは、メモリカード１２０を媒体として情報処理装置２００へコピー可能に構成されている。制御装置１００は、メモリカードインターフェイス１１８（図２）を介してメモリカード１２０にデータを書込み、情報処理装置２００は、メモリカードインターフェイス２１８（図２）を介してメモリカード１２０からデータを読込む。
【００３９】
図３（ｃ）に示す構成においては、制御装置１００にサポート装置４３０を接続し、サポート装置４３０が制御装置１００の内部のデータを読出すとともに、メモリカード１２０に書込むようにしてもよい。図３（ｃ）に示す構成では、ネットワーク接続などが不要であるので、何らかのトラブルが生じた際に、必要なデータをメモリカード１２０に吸い出して、任意の観点から解析できるといったメリットがある。
【００４０】
次に、制御装置１００と情報処理装置２００との間で遣り取りされるデータの一例について説明する。図４は、本実施の形態のシミュレーションシステム１において遣り取りされるデータの構成例を示す模式図である。図４を参照して、所定周期毎に制御装置１００が保持しているデータの各時点の現在値が格納されている。図４に示すデータの「カウント値」は、制御装置１００または制御装置１００を含む制御システムで管理している絶対時間を示す値である。「カウント値」の値で時間を特定することができる。各「カウント値」に関連付けて、予め指定されたデータ（変数）の各時点の現在値が格納される。図４に示すような、「カウント値」に関連付けられて、時系列に並べられたデータを用いることで、制御装置１００が管理している製造装置３００の状態を把握することができ、これによって、情報処理装置２００において、製造装置３００の挙動を視覚化できる。
【００４１】
制御装置１００は、互いに異なる複数のタスク周期で複数のユーザプログラムをそれぞれ繰返し実行することが可能になっており、このような場合には、１つの「カウント値」は、いずれかのタスク周期と一致するように設定することが好ましい。例えば、１ｍｓｅｃ毎に現在値を送信するように構成される。このようなデータを用いることで、製造装置３００の挙動を１ｍｓｅｃの周期で再現することができる。
【００４２】
なお、図３（ａ）に示す構成例においては、データの更新周期（すなわち、１つの「カウント値」に相当する時間）毎に現在値を送信するようにしてもよいし、厳密なリアルタイム性が要求されない場合には、データの更新周期の整数倍毎に現在値（例えば、１０の「カウント値」に相当する時間に１０周期分の現在値）をまとめて送信するようにしてもよい。
【００４３】
＜Ｃ．装置開発プロセス＞
本実施の形態のシミュレーションシステム１の機能および利点などを説明する前提として、シミュレーションシステム１の適用先の一つである、装置開発プロセスについて説明する。
【００４４】
図５は、一般的な装置開発プロセスを示す模式図である。図５に示すプロセスは、例えば、装置ベンダーが顧客のニーズに応じて製造装置を開発する手順を時系列に示す。製造装置の開発としては、製造装置そのものの設計製作および製造装置を制御するためのユーザプログラムを含む各種制御装置の設計製作を含み得る。
【００４５】
より具体的には、まず、構想設計５０２が実施される。構想設計５０２では、顧客から提示された仕様などに基づいて、製造装置の概略のスペックなどが決定される。続いて、機械設計５０４が実施される。機械設計５０４においては、製造装置の全体および各部の構造が決定される。機械設計５０４が完了すると、製造装置を組み上げるための部品の製作および部材の発注が開始される（部品製作・部材発注５０６）。機械設計５０４および部品製作・部材発注５０６は、製造装置単体に関する工程である。
【００４６】
機械設計５０４の工程がある程度進むと、電気設計５１０が開始される。電気設計５１０では、機械設計５０４により決定された仕様に基づいて、製造装置を作動させるために必要な電気的なインターフェイス（制御信号や状態監視信号など）を決定する。この電気的な仕様が決定すれば、必要な制御盤やそれに内蔵される電気回路の設計が開始される（盤・回路設計５１２）。設計が完了すれば、実際に制御盤の製作が開始される（盤製作５１４）。
【００４７】
電気設計５１０の工程がある程度進むと、制御設計５２０が開始される。制御設計５２０では、製造装置を制御するための各種の仕様が決定される。この制御的な仕様が決定すれば、プログラム設計５２２が開始される。プログラム設計５２２では、制御装置１００で実行される各種ユーザプログラムが製作される。
【００４８】
機械面、電気面、制御面のそれぞれにおける工程が完了すると、各部を組み合わせて、調整およびチェックが実行される（メカ調整・Ｉ／Ｏチェック５３０）。この工程では、組み上げられた製造装置単体の動作チェックおよび調整の後、製造装置に制御盤および制御装置などが組み合わせる。さらに、正しく配線されているかがチェックされる。装置全体としての組合せおよびチェックが完了すると、製造装置の機械的な挙動を確認する工程が実行される（機械デバッグ５３２）。続いて、実際に稼働させて、製造装置、制御盤、制御装置などの間で、必要な調整を行なう（立上げ調整５３４）。その後、稼働させて、不具合の有無の確認や必要な調整が行なわれる（ランニング５３６）。
【００４９】
一連の調整や試運転の工程が完了すると、顧客の現場へ出荷され（出荷５３８）、実際に運転して不具合の有無の確認や必要な調整が行なわれる（現地調整５４０）。現地調整５４０が完了すると、実運転に移行し、運用保守５５０のフェーズになる。
【００５０】
本実施のシミュレーションシステム１は、製造装置３００を制御するために用いるデータと、製造装置３００の少なくとも一部を示す設計データ（三次元形状データ）とを用いて、製造装置３００の挙動をシミュレーションする。すなわち、本実施のシミュレーションシステム１は、製造装置３００の挙動を、リアルタイムまたは事後的に視覚化する。このような機能の応用例として、以下では、（１）故障再現によるメンテナンス機能、（２）チューニング機能、（３）実機レスデバッグ機能の３つについて例示する。
【００５１】
（１）故障再現によるメンテナンス機能は、何らかの原因により製造装置３００の挙動が異常である場合に、その原因を追究し、あるいはその対策を決定するような作業を支援する。
【００５２】
（２）チューニング機能は、制御装置１００および製造装置３００での各種パラメータを調整することで、製造装置３００からより高い性能を引き出すような作業を支援する。
【００５３】
（３）実機レスデバッグ機能は、製造装置３００が組み上がる前、あるいは製造装置３００の機械設計が完了する前であっても、製造装置全体としての挙動や設計の妥当性を評価するような作業を支援する。
【００５４】
以下、各機能について説明する。なお、本実施のシミュレーションシステム１は、すべての機能を実装する必要はなく、必要に応じて１つまたは複数の機能を選択的に実装するようにしてもよい。さらに、これらの機能の一部または全部に加えて、他の機能を実装してもよい。
【００５５】
＜Ｄ．故障再現によるメンテナンス機能＞
図５に示す運用保守５５０、現地調整５４０、ランニング５３６、立上げ調整５３４などにおいては、実際に製造装置３００を稼働させることになる。このような製造装置３００の稼働時に何らかの不具合が生じた場合に、その不具合の原因を追究する必要がある。故障再現によるメンテナンス機能は、このような場合に適用できる。特に、情報処理装置２００は、製造装置３００を制御するために用いるデータと製造装置３００の少なくとも一部を示す設計データとを保持しているので、製造装置３００が据え付けられている現場で製造装置３００の挙動を確認しなくとも、情報処理装置２００上で、製造装置３００の挙動を再現できる。そのため、本実施のシミュレーションシステム１によれば、以下のような課題に対処することができる。
【００５６】
・遠隔地（例えば、海外）にある製造装置に原因不明の不具合が生じた
・遠隔地（例えば、海外）にある製造装置に原因不明の理由で装置停止が頻発する
・不具合の発生頻度がそれほど高くないため、その原因を追究するための再現テストができない
・製造装置のセンサを交換したら挙動がおかしくなった
・製造装置が突然停止したがその原因が不明である
なお、上述の課題は、典型的には図５に示す運用保守５５０での課題の一例であるが、その他の工程での課題に対しても対処可能である。
【００５７】
故障再現によるメンテナンス機能においては、制御装置１００による制御対象の制御に用いたデータ（以下、「制御装置データ」とも称する。）を用いて、製造装置３００の挙動を視覚化（再現）する。制御装置データは、例えば、バルブの開閉の制御に用いた時系列のデータや、ランプの点灯を制御するための時系列のデータを含み得る。
【００５８】
図６は、本実施の形態のシミュレーションシステム１が提供する故障再現によるメンテナンス機能に係る表示例を示す図である。図６には、製造装置３００の一例として、ワークを搬送して加工する装置のＣＡＤ画面の例を示す。本実施の形態のシミュレーションシステム１は、設計データを用いて製造装置３００の構造を画面上に再現するとともに、製造装置３００を制御するために用いるデータを用いて、製造装置３００の対象部位を各時間における位置に順次配置させることで、製造装置３００の挙動を視覚化する。
【００５９】
図６（ａ）は、故障発生前の時刻ｔ＝ｔ１における状態を示し、図６（ｂ）は、故障が発生した瞬間に相当する時刻ｔ＝ｔ２における状態を示す。図６には、その故障が発生した部位を視覚的に表示する例を示す。つまり、図６（ｂ）には、「テーブル位置センサ」が異常になって、製造装置３００が停止した例を示す。この場合、故障が発生した時間になると、「テーブル位置センサ」の位置を示すとともに、その内容をメッセージとして表示する。このようなユーザインターフェイスを提供することで、ユーザ（運用保守の担当者）は、製造装置３００が停止した理由を即座に判断することができる。
【００６０】
このように、情報処理装置２００は、制御装置１００から出力された一定周期毎のデータのうち予め定められた条件（この例では、故障発生）が満たされたタイミングを含む所定期間に亘る製造装置３００を制御するために用いるデータと設計データとを用いて、当該タイミングの前後の期間における制御対象の挙動を視覚化する。さらに、図６（ｂ）に示すように、情報処理装置２００は、予め定められた条件に関連付けられる部位を視覚化する。
【００６１】
図７は、図６に示す故障再現に対応するタイムチャートを正常時と比較して示す図である。図７（ａ）は、故障発生時のタイムチャートを示し、図７（ｂ）は、正常時のタイムチャートを示す。本実施の形態のシミュレーションシステム１は、このようなタイムチャートを表示する機能である解析モジュールを有していてもよい。図７（ａ）と図７（ｂ）とを比較すると、正常時には、テーブル位置センサがＯＦＦからＯＮへ変化すべきところが、故障発生時には、テーブル位置センサがＯＦＦのまま維持されている。このように２つのタイムチャートを比較することで、テーブル位置センサの異常（より具体的には、センサ自体の故障または断線など）と判断できる。
【００６２】
なお、図７に示すタイムチャートの下部にあるスライドバー６００を操作することで、図６に示されるような、製造装置３００の挙動を再現する時刻をユーザが自在に変更することもできるようになっている。すなわち、情報処理装置２００は、制御対象の挙動を視覚化する時間を設定するためのユーザ操作を受け付けるための操作オブジェクト（スライドバー６００）を表示する。
【００６３】
図８は、本実施の形態のシミュレーションシステム１が提供する故障再現によるメンテナンス機能に係る機能構成を示す模式図である。図８を参照して、制御装置１００は、その主たる機能構成として、演算処理モジュール１５０と、記憶モジュール１５２と、出力モジュール１５４とを含む。
【００６４】
演算処理モジュール１５０は、制御対象に係るシーケンス制御およびモーション制御を実行する主体であり、シーケンスプログラム１１２Ａおよびモーションプログラム１１２Ｂを含むユーザプログラム１１２をプロセッサ１０２が実行することで実現される。
【００６５】
記憶モジュール１５２は、演算処理モジュール１５０が演算によって算出する制御指令、および制御対象などから取得する制御状態値を所定周期毎に格納する。記憶モジュール１５２は、主として、メインメモリ１０６（図２）の少なくとも一部の領域を用いて実現される。
【００６６】
出力モジュール１５４は、記憶モジュール１５２に格納されている制御装置データを情報処理装置２００へ出力する。すなわち、出力モジュール１５４は、シーケンス制御およびモーション制御に係る一定周期毎のデータを出力する。出力モジュール１５４は、典型的には、外部ネットワークコントローラ１１６およびメモリカードインターフェイス１１８（いずれも図２）の少なくとも一部を用いて実現される。
【００６７】
一方、情報処理装置２００は、その主たる機能構成として、記憶モジュール２５０と、作成編集モジュール２６０と、視覚化モジュール２６２と、解析モジュール２６６とを含む。
【００６８】
記憶モジュール２５０は、製造装置３００の三次元形状データである設計データ２５２と、制御装置１００から取得した制御装置データ２５４とを保持する。すなわち、記憶モジュール２５０は、制御対象である製造装置３００の少なくとも一部の構成を示す設計データ２５２を保持する。記憶モジュール２５０は、主として、ハードディスク２０８（図２）の少なくとも一部の領域を用いて実現される。
【００６９】
作成編集モジュール２６０は、ＣＡＤプログラム２１２（図２）を実現する主たるモジュールであり、設計データ２５２を作成および編集する機能を提供する。
【００７０】
視覚化モジュール２６２は、故障再現によるメンテナンス機能を提供するための主たる構成であり、設計データ２５２および制御装置データ２５４を用いて、製造装置３００の挙動を再現する。すなわち、視覚化モジュール２６２は、制御対象である製造装置３００の挙動を視覚化する。特に、視覚化モジュール２６２は、制御装置１００から出力された一定周期毎のデータのうち予め定められた条件（例えば、故障発生）が満たされたタイミングを含む所定期間に亘る制御装置データ２５４と設計データ２５２とを用いて、当該タイミングの前後の期間における制御対象の挙動を視覚化する。
【００７１】
また、視覚化モジュール２６２は、予め設定される変換テーブル２６４を参照して、制御装置データ２５４に含まれる制御装置１００が出力する各値を設計データ２５２に関連付けるための数値変換を行なう。例えば、変換テーブル２６４には、制御装置１００が出力する１デジットが設計データ２５２において何ｍｍに相当するのかといった換算定数が定義されており、この変換テーブル２６４を参照して、製造装置３００の挙動を再現する。
【００７２】
解析モジュール２６６は、付加的なモジュールであり、制御装置データ２５４に含まれる制御状態値および／または制御指令のうち予め指定されたものを同一の時間軸上に並べて表示する（図７参照）。すなわち、解析モジュール２６６は、制御装置１００から出力された一定周期毎のデータに含まれる複数の項目の制御状態値（図７に示される、「供給スタッカ＿ワークセンサ入力」や「マウンタ後バキュームチャック＿圧力センサ入力」など）を同一の時間軸上に並べて表示する。このような表示を行なうことで、何らかの故障が生じた場合に、いずれの値が原因になっているのかを容易に確認することができる。
【００７３】
以上のように、本実施の形態においては、実際の製造装置３００から離れた位置にいても、故障発生時に遡って製造装置３００の挙動（機械の動き）を再現することができ、これによって、故障の原因を早期に特定して、早急に復旧させることができる。このような環境を提供することで、遠隔地にある製造装置や故障してしまった製造装置に対するメンテナンスを容易化できる。すなわち、現地へ赴くことなく、制御装置１００から制御装置データを取得できさえすれば、故障発生の調査やそのときの挙動の解析を行なうことができる。
【００７４】
＜Ｅ．チューニング機能＞
図５に示す運用保守５５０や現地調整５４０などにおいては、実際に製造装置３００を稼働させて目的の性能を達成させるために各種の調整を行なうことになる。このような目的の性能を達成させるための調整では、各種のパラメータ（例えば、ある第１のバルブが開状態になってから第２のバルブが開状態になるまでの時間など）をトライ＆エラーで調整するような場合が多い。このような調整作業は非常に時間を要するとともに、一種の経験が必要になる。本実施の形態のシミュレーションシステム１は、このような調整作業の合理化することを主たる目的としている。すなわち、本実施のシミュレーションシステム１によれば、以下のような課題に対処することができる。
【００７５】
・製造装置を何度も動作させて目視でその挙動の適否を判断するため時間を要する（トライ＆エラー）
・最適なパラメータを決定するためにトライ＆エラーを繰返す
・得られたデータの数値で適否を判断するため経験者でなければチューニングがうまくできない
なお、上述の課題は、典型的には図５に示す運用保守５５０や現地調整５４０などでの課題の一例であるが、その他の工程での課題に対しても対処可能である。
【００７６】
本実施のチューニング機能においては、制御装置１００による制御対象の制御に用いたデータ（制御装置データ）のなかから、チューニング候補の各パラメータに対応するものを順次抽出して、製造装置３００の複数の挙動を視覚化（再現）することで、いずれの挙動が最適であるかを評価する。
【００７７】
図９は、本実施の形態のシミュレーションシステム１が提供するチューニング機能を説明するための図である。図９（ａ）には、チューニング対象の製造装置３００を示し、図９（ｂ）には、チューニング中の表示例を示す。本実施の形態のシミュレーションシステム１は、制御装置１００が製造装置３００を制御するために用いるデータおよび設計データを用いて製造装置３００の構造を画面上に再現するとともに、制御装置１００からの制御装置データを選択的に抽出して、パラメータ候補毎の挙動を視覚化する。
【００７８】
図９には、ワークをレーザ加工する製造装置３００の例を示し、加工精度を高めるためにレーザを駆動するためのドライバを調整する必要があるが、いずれのパラメータが最もよい精度が得られているのかを判断するのに時間および手間を要するといった例を示す。本実施の形態のチューニング機能においては、パラメータの値を複数に変化させて、製造装置３００のそれぞれの挙動を制御装置データとして収集するとともに、その収集した制御装置データに基づいて製造装置３００の挙動を再現する。
【００７９】
この挙動の再現においては、例えば、制御装置データの収集周期の単位でスロー再生して挙動を確認することができる。この挙動の確認において、ドライバのゲイン調整や補正方法の効果を評価して、最適なパラメータを設定する。例えば、図９（ｂ）に示すような製造装置３００の挙動を再現する画面において、加工の変曲点の付近を拡大表示することで、その加工精度などを判断できる。
【００８０】
図１０は、本実施の形態のシミュレーションシステム１が提供するチューニング機能に係る機能構成を示す模式図である。図１０を参照して、制御装置１００は、その主たる機能構成として、演算処理モジュール１５０と、記憶モジュール１５２と、出力モジュール１５４と、抽出モジュール２６８とを含む。演算処理モジュール１５０、記憶モジュール１５２、出力モジュール１５４については、図８に示したものと同様であるので、詳細な説明は繰返さない。
【００８１】
抽出モジュール２６８は、ユーザの設定に従って、制御装置データ２５４のうち対象となるデータを順次抽出する。例えば、ユーザがあるパラメータの最適値を決定しようとした場合に、その調整範囲が１〜１０であれば、抽出モジュール２６８は、該当のパラメータが１，２，…，１０のそれぞれの場合における制御装置データをそれぞれ抽出する。抽出されたそれぞれの制御装置データを用いて製造装置３００の挙動がそれぞれ再現される。
【００８２】
このように、複数のパラメータを設定したときの制御装置データをそれぞれ取得し、この取得された制御装置データを用いて製造装置３００の挙動をそれぞれ再現するとともに、それらを互いに比較する。そして、最も精度の高いパラメータや補正方法を選択して最終的なチューニング結果とする。
【００８３】
以上のように、本実施の形態のチューニング機能では、製造装置３００の挙動や振る舞いを正確に再現することができ、この挙動の再現により、その精度を定量的に評価することができる。これによって、候補となるパラメータの各々について実際に製造装置３００を動作させたうえで、各パラメータによる効果を定量的に評価し、最終的に最適なパラメータを決定できる。
【００８４】
＜Ｆ．実機レスデバッグ機能＞
図５に示す機械設計５０４においては、製造装置の概略のスペックなどに基づいて設計が行なわれる。すなわち、製造装置の機構や寸法に十分な裏付けがないあいまいな状態で設計が進んでしまうことがあり、その後の機械デバッグ５３２ではじめて、設計ミスが発覚するような場合がある。この結果、機械設計５０４を再度行なう必要が生じ、膨大な工数およびコストが発生し得る。そのため、構想設計５０２の段階で製造装置の機構や寸法などの妥当性を評価し、設計品質を向上したいというニーズがある。
【００８５】
また、図５に示す制御設計５２０およびプログラム設計５２２の完了後、メカ調整・Ｉ／Ｏチェック５３０が完了するまでは、制御装置についてチェックなどを行なうことができず、待ちの状態になってしまう。つまり、プログラム設計５２２とメカ調整・Ｉ／Ｏチェック５３０との間の空き時間が開発により長い時間を要する原因となり得る。この待ちの時間を削減したいというニーズがある。
【００８６】
本実施の形態のシミュレーションシステム１が搭載する実機レスデバッグ機能は、現実に製造装置３００が存在しなくとも、すなわちＣＡＤプログラム上で製造装置３００が設計中であったとしても、ユーザプログラムに係る各種検証を行なうことがで、また、そもそもの製造装置の基本的な機構や寸法の評価を行なうこともできる。
【００８７】
図１１は、本実施の形態のシミュレーションシステム１が提供する実機レスデバッグ機能を説明するための図である。図１１には、製造装置３００として、ワークを等間隔に整列させる整列コンベヤの開発の例を示す。コンベヤ上をランダムに流れてくるワークを上流側から３つ目のコンベヤ（以下「間隔調整コンベヤ」とも称す。）で当該ワークを等間隔に並べる。この間隔調整コンベヤの寸法（長さ）を設計する例を示す。
【００８８】
このシミュレーションを行なうために、情報処理装置２００のＣＡＤプログラムを用いてコンベヤの主要部を描画して設計データを作成するとともに、制御装置１００で実行させるユーザプログラムを作成する。ユーザプログラムは、典型的には、制御装置１００用に容易されたサポート装置を用いて作成される。そして、制御装置１００と情報処理装置２００とを連系させて、シミュレーション（デバック）を実行する。
【００８９】
なお、ユーザプログラムを制御装置１００で実行させてもよいが、制御装置１００をパーソナルコンピュータ上でエミュレートしてユーザプログラムを実行させてもよい。すなわち、制御装置１００は、コンピュータ上で実行されるエミュレータとして実装されてもよい。
【００９０】
このとき、情報処理装置２００は、制御装置１００からの制御指令に従って対象のオブジェクト（図１１に示す例では、「製品」）を仮想的に移動させるとともに、予め設定された条件に従ってエミュレート処理を実行することで、センサからの出力（制御状態値）を制御装置１００へ応答する。すなわち、制御装置１００と情報処理装置２００との間で相互にデータの遣り取りを行なうことで、実際の製造装置３００が存在しなくとも、制御装置１００および製造装置３００を含めた検証を行なうことができる。
【００９１】
図１２は、本実施の形態のシミュレーションシステム１が提供する実機レスデバッグ機能に係る機能構成を示す模式図である。図１２を参照して、制御装置１００は、その主たる機能構成として、演算処理モジュール１５０と、通信モジュール１６０とを含む。
【００９２】
演算処理モジュール１５０は、制御対象に係るシーケンス制御およびモーション制御を実行する主体であり、シーケンスプログラム１１２Ａおよびモーションプログラム１１２Ｂを含むユーザプログラム１１２をプロセッサ１０２が実行することで実現される。通信モジュール１６０は、演算処理モジュール１５０が演算によって算出する制御指令を情報処理装置２００へ送信するとともに、情報処理装置２００から送信される制御状態値（エミュレート値）を受信する。すなわち、演算処理モジュール１５０は、情報処理装置２００から受信する一定周期毎のデータ（制御状態値）を入力データとして、予め定められたシーケンス制御およびモーション制御の少なくとも一方を実行するとともに、その実行によって算出される一定周期毎のデータ（制御指令）を出力データとして情報処理装置２００へ送信する。
【００９３】
通信モジュール１６０は、主として、外部ネットワークコントローラ１１６（図２）を利用して実現される。
【００９４】
一方、情報処理装置２００は、その主たる機能構成として、記憶モジュール２５０と、作成編集モジュール２６０と、視覚化モジュール２６２と、エミュレートモジュール２７２と、通信モジュール２７０とを含む。
【００９５】
記憶モジュール２５０は、製造装置３００の三次元形状データである設計データ２５２と、シミュレーション条件２５６とを保持する。記憶モジュール２５０は、主として、ハードディスク２０８（図２）の少なくとも一部の領域を用いて実現される。
【００９６】
作成編集モジュール２６０は、ＣＡＤプログラム２１２（図２）を実現する主たるモジュールであり、設計データ２５２を作成および編集する機能を提供する。すなわち、作成編集モジュール２６０は、制御対象の少なくとも一部の構成を示す設計データを作成および編集可能に構成されている。
【００９７】
視覚化モジュール２６２は、シミュレーションを実現するための主たる構成であり、設計データ２５２、制御装置１００からの制御指令、およびエミュレートモジュール２７２が生成する制御状態値を用いて、製造装置３００の挙動を再現する。すなわち、視覚化モジュール２６２は、制御装置データ２５４と設計データ２５２とを用いて、制御対象の挙動を視覚化する。このとき、視覚化モジュール２６２は、制御装置１００からの出力データが更新されるたびに、制御対象の対応するオブジェクトの位置を更新する。
【００９８】
なお、視覚化モジュール２６２は、予め設定される変換テーブル２６４を参照して、制御装置１００からの制御指令に含まれる各値を設計データ２５２に関連付けるための数値変換を行なう。
【００９９】
エミュレートモジュール２７２は、制御装置１００からの制御指令が予め設定されたシミュレーション条件２５６を満たすと、対応する制御状態値を生成して出力する。例えば、シミュレーション条件２５６としては、あるオブジェクトの移動経路上に設けられたセンサに相当する条件が定義されており、制御装置１００からの制御指令によって対象のオブジェクトが当該センサの位置まで移動すると、当該センサの制御状態値を変化させる（例えば、ＯＦＦからＯＮ）。すなわち、エミュレートモジュール２７２は、視覚化された制御対象の挙動に応じた一定周期毎のデータを制御装置へ出力する。そして、エミュレートモジュール２７２は、制御装置１００からの出力データが予め定められた条件を満たすと、当該条件を満たしたことを示す情報を制御装置１００へ応答する。このように、情報処理装置２００では、制御装置１００からの制御指令に従って、製造装置３００に取り付けられるであろう各種センサを仮想的に実現することで、制御装置１００と製造装置３００とを組み合わせたシミュレーションを可能にする。
【０１００】
図１１に示す整列コンベヤの例では、機械設計の面では、間隔調整コンベヤの長さや速度を複数に異ならせるとともに、制御設計の面では、制御装置１００で実行されるユーザプログラムのパラメータを複数に異ならせることで、最適な設計値を見出すことができる。
【０１０１】
本実施の形態のシミュレーションシステム１を実際に用いてシミュレーションしたところ、ある整列コンベヤのコンベヤ長さが適切な設計ではないことを見つけ出し、改善案を動作検証して、最適なコンベヤ長さを決定することができた。
【０１０２】
構想設計５０２および機械設計５０４（図５）において適用する例について説明したが、プログラム設計５２２の後に、当該プログラムの健全性を評価する場合などにも適用可能である。例えば、インターロックの確認、アクチュエータの単独動作の確認、連続運転のシーケンスの確認などに用いることができる。
【０１０３】
以上のように、本実施の形態の実機レスデバッグ機能においては、製造装置３００の構想設計段階であっても、機械設計とユーザプログラムとを組み合わせた妥当性を評価できる。すなわち、製造装置３００の概略の構造図とユーザプログラムの基本動作とを使って、製造装置３００の動作を検証できる。このような検証を行なうことで、構想設計段階において設計ミスを見つけ出し、失敗コスト（工数や材料など）を削減できる。
【０１０４】
また、本実施の形態の実機レスデバッグ機能を用いることで、製造装置３００が現実に組み上がる前の段階で、設計データを用いてユーザプログラムのデバッグを行なうことで、製造装置３００の実機を用いたデバッグに要する期間を短縮できる。
【０１０５】
＜Ｇ．結論＞
本実施の形態のシミュレーションシステム１によれば、制御装置１００と情報処理装置２００との間で相互にデータを遣り取りすることで、情報処理装置２００上で、制御装置１００の制御対象である製造装置の挙動をより正確に再現できる。これによって、製造装置の挙動をより適切に確認および評価できる。
【０１０６】
また、情報処理装置２００で製造装置の概略構造を設計しておけば、概略設計された製造装置と制御装置１００とを組み合わせた挙動を再現できるので、製造装置の設計が完了する前から、製造装置を含む全体の挙動を適切に確認および評価できる。
【０１０７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０８】
１  シミュレーションシステム、１００  制御装置、１０２，２０２  プロセッサ、１０４，２０４  チップセット、１０６，２０６  メインメモリ、１０８  フラッシュメモリ、１１０  システムプログラム、１１２  ユーザプログラム、１１２Ａ  シーケンスプログラム、１１２Ｂ  モーションプログラム、１１６  外部ネットワークコントローラ、１１８，２１８  メモリカードインターフェイス、１２０  メモリカード、１２２  内部バスコントローラ、１２４  フィールドバスコントローラ、１２６，１２８  Ｉ／Ｏユニット、１５０  演算処理モジュール、１５２，２５０  記憶モジュール、１５４  出力モジュール、２６８  抽出モジュール、１６０，２７０  通信モジュール、２００  情報処理装置、２０８  ハードディスク、２１２  ＣＡＤプログラム、２１６  通信部、２２０  入力部、２２２  表示部、２５２  設計データ、２５４  制御装置データ、２５６  シミュレーション条件、２６０  作成編集モジュール、２６２  視覚化モジュール、２６４  変換テーブル、２６６  解析モジュール、２７２  エミュレートモジュール、３００  製造装置、４００  ネットワーク、４１０  プロトコル変換サーバ、４２０  データベース装置、４３０  サポート装置。
【図１】
2015225419.tif 000003
【図２】
2015225419.tif 000004
【図３】
2015225419.tif 000005
【図４】
2015225419.tif 000006
【図５】
2015225419.tif 000007
【図６】
2015225419.tif 000008
【図７】
2015225419.tif 000009
【図８】
2015225419.tif 000010
【図９】
2015225419.tif 000011
【図１０】
2015225419.tif 000012
【図１１】
2015225419.tif 000013
【図１２】
2015225419.tif 000014