【課題】製造装置の挙動を従来技術に比較してより適切に確認および評価できるシミュレーションシステムが要望されている。また、製造装置の設計が完了する前から、製造装置を含む全体の挙動を適切に確認および評価できるシミュレーションシステムが要望されている。
【解決手段】シミュレーションシステムは、制御対象を制御する制御装置と、制御装置とデータ交換可能な情報処理装置とを含む。制御装置は、制御対象に係るシーケンス制御およびモーション制御を実行する演算処理部と、シーケンス制御およびモーション制御に係る一定周期毎のデータを出力する出力部とを含む。情報処理装置は、制御対象の少なくとも一部の構成を示す設計データを保持する記憶モジュールと、制御装置から出力された一定周期毎のデータのうち予め定められた条件が満たされたタイミングを含む所定期間に亘るデータと設計データとを用いて、当該タイミングの前後の期間における制御対象の挙動を視覚化する視覚化モジュールとを含む。
前記情報処理装置は、前記制御装置から出力された一定周期毎のデータに含まれる複数の項目の制御状態値を同一の時間軸上に並べて表示するための解析モジュールをさらに備える、請求項1に記載のシミュレーションシステム。
前記情報処理装置は、前記制御対象の挙動を視覚化する時間を設定するためのユーザ操作を受け付けるための操作オブジェクトを表示する、請求項1または2に記載のシミュレーションシステム。
前記情報処理装置は、前記制御装置からの前記出力データが予め定められた条件を満たすと、当該条件を満たしたことを示す情報を前記制御装置へ応答する、請求項5に記載のシミュレーションシステム。
前記視覚化モジュールは、前記制御装置からの前記出力データが更新されるたびに、前記制御対象の対応するオブジェクトの位置を更新する、請求項5〜7のいずれか1項に記載のシミュレーションシステム。
【発明を実施するための形態】
【0019】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0020】
<A.シミュレーションシステム構成>
まず、本実施の形態のシミュレーションシステム1の構成について説明する。
図1は、本実施の形態のシミュレーションシステム1の構成例を示す模式図である。
図1を参照して、本実施の形態のシミュレーションシステム1は、制御対象を制御する制御装置100と、情報処理装置200とを含む。
【0021】
制御装置100は、例えば、PLC(Programmable Logic Controller)と称される産業用の装置である。
図1には、制御対象の一例として、製造装置300を示す。制御装置100は、予めプログラムされた制御演算によって算出される制御指令を制御対象に与えるとともに、制御対象からの制御状態値などを取得して、後続の制御演算にそれを用いる。制御装置100から出力される制御指令は、バルブの開閉やランプのON/OFFなどを制御する2値化信号と、ステッピングモータなどのアクチュエータの操作変位や操作速度などを制御する多値信号とを含み得る。制御装置100に与えられる制御状態値は、リミットスイッチやセンサの状態(ON/OFF)を含み得る。
【0022】
制御装置100は、各種のセンサの出力に応じて、アクチュエータのON/OFFを制御するシーケンス制御と、アクチュエータの操作変位や操作速度などを連続的に制御するモーション制御とを実行可能である。すなわち、制御装置100は、制御対象に係るシーケンス制御およびモーション制御を実行することができる。
【0023】
情報処理装置200は、制御装置100とデータ交換可能に構成されており、制御装置100からの情報などを用いて製造装置300の挙動を視覚化する機能を実装している。情報処理装置200は、各種装置を設計するためのCAD(Computer Aided Design)プログラムがインストールされており、このCADプログラムを用いることで、任意の装置の構造設計が可能である。
図1に示すシミュレーションシステム1の一例において、情報処理装置200は、製造装置300の少なくとも一部を示す設計データ(すなわち、製造装置300の三次元形状データ)を保持しており、制御装置100が製造装置300を制御するために用いるデータおよび設計データを用いて、製造装置300の挙動を、リアルタイムまたは事後的に視覚化する。
【0024】
制御対象の挙動を視覚化するとは、後述するように、設計データを用いて制御対象の少なくとも一部をディスプレイ上などで仮想的(バーチャル)に再現するとともに、制御装置100が製造装置300を制御するために用いるデータに従って、その再現された制御対象の一部または全部の位置や形状などを時間的に変化させることを含む。
【0025】
図2は、
図1に示す制御装置100および情報処理装置200の構成例を示す模式図である。
【0026】
図2を参照して、制御装置100は、予めインストールされたプログラムをプロセッサが実行することで、制御対象に対する制御を実現する。より具体的には、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、メインメモリ106と、フラッシュメモリ108と、外部ネットワークコントローラ116と、メモリカードインターフェイス118と、内部バスコントローラ122と、フィールドバスコントローラ124とを含む。
【0027】
プロセッサ102は、フラッシュメモリ108に格納されたシステムプログラム110およびユーザプログラム112を読み出して、メインメモリ106に展開して実行することで、制御対象に対する制御を実現する。システムプログラム110は、データの入出力処理や実行タイミング制御などの、制御装置100の基本的な機能を提供するための命令コードを含む。ユーザプログラム112は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム112Aおよびモーション制御を実行するためのモーションプログラム112Bとを含む。
【0028】
チップセット104は、各コンポーネントを制御することで、制御装置100全体としての処理を実現する。
【0029】
内部バスコントローラ122は、制御装置100と内部バスを通じて連結されるI/Oユニット126とデータを遣り取りするインターフェイスである。フィールドバスコントローラ124は、制御装置100とフィールドバスを通じて連結されるI/Oユニット128とデータを遣り取りするインターフェイスである。内部バスコントローラ122およびフィールドバスコントローラ124は、対応のI/Oユニット126および128にそれぞれ入力される制御状態値を取得するとともに、プロセッサ102での演算結果を対応のI/Oユニット126および128から制御指令としてそれぞれ出力する。
【0030】
外部ネットワークコントローラ116は、各種の有線/無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス118は、メモリカード120を着脱可能に構成されており、メモリカード120に対してデータを書込み、メモリカード120からデータを読出すことが可能になっている。
【0031】
情報処理装置200は、CPUやMPUなどのプロセッサ202と、チップセット204と、メインメモリ206と、ハードディスク208と、通信部216と、メモリカードインターフェイス218と、入力部220と、表示部222とを含む。ハードディスク208には、情報処理装置200での基本的なプログラム実行環境を提供するためのOS(Operating System)210と、CADプログラム212とが格納されている。情報処理装置200は、典型的には、汎用的なパーソナルコンピュータで実現できるので、詳細な説明は繰返さない。
【0032】
なお、制御装置100および情報処理装置200がプログラムを実行することで提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【0033】
<B.データの遣り取り>
情報処理装置200は、制御装置100からの情報などを用いて製造装置300の挙動を視覚化する機能を実装している。制御装置100と情報処理装置200との間のデータの遣り取りについては、任意の公知の方法を採用することができる。このデータの遣り取りを実現する方法の一例について説明する。データの遣り取りを実現する方法は、後述するものに限られず、目的、用途、実装コスト、ネットワーク環境などに応じて、最適なものが適宜選択される。
【0034】
図3は、本実施の形態のシミュレーションシステム1におけるデータの遣り取りに係る構成例を示す模式図である。
【0035】
図3(a)は、製造装置300の挙動をリアルタイムで視覚化する場合に適した構成例を示す。より具体的には、制御装置100および情報処理装置200は、いずれもネットワーク400に接続されており、ネットワーク400を介してデータが遣り取りされる。この構成例において、制御装置100は、外部ネットワークコントローラ116(
図2)を介してネットワーク400に接続され、情報処理装置200は、通信部216(
図2)を介してネットワーク400に接続される。ネットワーク400を介してデータを遣り取りすることで、高速なデータ交換が可能になる。
【0036】
なお、制御装置100および情報処理装置200がデータの送受信に用いる通信プロトコルが互いに異なっている場合には、プロトコル変換サーバ410を経路上に配置してもよい。プロトコル変換サーバ410は、制御装置100と情報処理装置200の間でプロトコルを変換する。なお、プロトコル変換サーバ410と同一の機能を制御装置100および情報処理装置200の少なくとも一方に実装してもよい。
【0037】
図3(b)は、製造装置300の挙動を事後的に視覚化する場合に適した構成例を示す。また、
図3(b)に示す構成例は、何らかの不具合が生じた場合に、その原因を追究する場合や、いわゆるデータマイニングを行なう場合などにも好適である。より具体的には、制御装置100および情報処理装置200のいずれともデータ交換可能なデータベース装置420が設けられている。典型的には、データベース装置420は、制御装置100から出力されるデータを、所定周期毎に順次格納するとともに、情報処理装置200は、データベース装置420にアクセスして、必要なデータを取得する。汎用的な通信インターフェイスを有するデータベース装置420を採用することで、異なる複数種類の制御装置100が配置された場合であっても、1台の情報処理装置200を用いて、製造装置300の挙動を視覚化できる。
【0038】
図3(c)は、製造装置300の挙動を事後的に視覚化する場合に適した構成例を示す。より具体的には、制御装置100に保持されている各種データは、メモリカード120を媒体として情報処理装置200へコピー可能に構成されている。制御装置100は、メモリカードインターフェイス118(
図2)を介してメモリカード120にデータを書込み、情報処理装置200は、メモリカードインターフェイス218(
図2)を介してメモリカード120からデータを読込む。
【0039】
図3(c)に示す構成においては、制御装置100にサポート装置430を接続し、サポート装置430が制御装置100の内部のデータを読出すとともに、メモリカード120に書込むようにしてもよい。
図3(c)に示す構成では、ネットワーク接続などが不要であるので、何らかのトラブルが生じた際に、必要なデータをメモリカード120に吸い出して、任意の観点から解析できるといったメリットがある。
【0040】
次に、制御装置100と情報処理装置200との間で遣り取りされるデータの一例について説明する。
図4は、本実施の形態のシミュレーションシステム1において遣り取りされるデータの構成例を示す模式図である。
図4を参照して、所定周期毎に制御装置100が保持しているデータの各時点の現在値が格納されている。
図4に示すデータの「カウント値」は、制御装置100または制御装置100を含む制御システムで管理している絶対時間を示す値である。「カウント値」の値で時間を特定することができる。各「カウント値」に関連付けて、予め指定されたデータ(変数)の各時点の現在値が格納される。
図4に示すような、「カウント値」に関連付けられて、時系列に並べられたデータを用いることで、制御装置100が管理している製造装置300の状態を把握することができ、これによって、情報処理装置200において、製造装置300の挙動を視覚化できる。
【0041】
制御装置100は、互いに異なる複数のタスク周期で複数のユーザプログラムをそれぞれ繰返し実行することが可能になっており、このような場合には、1つの「カウント値」は、いずれかのタスク周期と一致するように設定することが好ましい。例えば、1msec毎に現在値を送信するように構成される。このようなデータを用いることで、製造装置300の挙動を1msecの周期で再現することができる。
【0042】
なお、
図3(a)に示す構成例においては、データの更新周期(すなわち、1つの「カウント値」に相当する時間)毎に現在値を送信するようにしてもよいし、厳密なリアルタイム性が要求されない場合には、データの更新周期の整数倍毎に現在値(例えば、10の「カウント値」に相当する時間に10周期分の現在値)をまとめて送信するようにしてもよい。
【0043】
<C.装置開発プロセス>
本実施の形態のシミュレーションシステム1の機能および利点などを説明する前提として、シミュレーションシステム1の適用先の一つである、装置開発プロセスについて説明する。
【0044】
図5は、一般的な装置開発プロセスを示す模式図である。
図5に示すプロセスは、例えば、装置ベンダーが顧客のニーズに応じて製造装置を開発する手順を時系列に示す。製造装置の開発としては、製造装置そのものの設計製作および製造装置を制御するためのユーザプログラムを含む各種制御装置の設計製作を含み得る。
【0045】
より具体的には、まず、構想設計502が実施される。構想設計502では、顧客から提示された仕様などに基づいて、製造装置の概略のスペックなどが決定される。続いて、機械設計504が実施される。機械設計504においては、製造装置の全体および各部の構造が決定される。機械設計504が完了すると、製造装置を組み上げるための部品の製作および部材の発注が開始される(部品製作・部材発注506)。機械設計504および部品製作・部材発注506は、製造装置単体に関する工程である。
【0046】
機械設計504の工程がある程度進むと、電気設計510が開始される。電気設計510では、機械設計504により決定された仕様に基づいて、製造装置を作動させるために必要な電気的なインターフェイス(制御信号や状態監視信号など)を決定する。この電気的な仕様が決定すれば、必要な制御盤やそれに内蔵される電気回路の設計が開始される(盤・回路設計512)。設計が完了すれば、実際に制御盤の製作が開始される(盤製作514)。
【0047】
電気設計510の工程がある程度進むと、制御設計520が開始される。制御設計520では、製造装置を制御するための各種の仕様が決定される。この制御的な仕様が決定すれば、プログラム設計522が開始される。プログラム設計522では、制御装置100で実行される各種ユーザプログラムが製作される。
【0048】
機械面、電気面、制御面のそれぞれにおける工程が完了すると、各部を組み合わせて、調整およびチェックが実行される(メカ調整・I/Oチェック530)。この工程では、組み上げられた製造装置単体の動作チェックおよび調整の後、製造装置に制御盤および制御装置などが組み合わせる。さらに、正しく配線されているかがチェックされる。装置全体としての組合せおよびチェックが完了すると、製造装置の機械的な挙動を確認する工程が実行される(機械デバッグ532)。続いて、実際に稼働させて、製造装置、制御盤、制御装置などの間で、必要な調整を行なう(立上げ調整534)。その後、稼働させて、不具合の有無の確認や必要な調整が行なわれる(ランニング536)。
【0049】
一連の調整や試運転の工程が完了すると、顧客の現場へ出荷され(出荷538)、実際に運転して不具合の有無の確認や必要な調整が行なわれる(現地調整540)。現地調整540が完了すると、実運転に移行し、運用保守550のフェーズになる。
【0050】
本実施のシミュレーションシステム1は、製造装置300を制御するために用いるデータと、製造装置300の少なくとも一部を示す設計データ(三次元形状データ)とを用いて、製造装置300の挙動をシミュレーションする。すなわち、本実施のシミュレーションシステム1は、製造装置300の挙動を、リアルタイムまたは事後的に視覚化する。このような機能の応用例として、以下では、(1)故障再現によるメンテナンス機能、(2)チューニング機能、(3)実機レスデバッグ機能の3つについて例示する。
【0051】
(1)故障再現によるメンテナンス機能は、何らかの原因により製造装置300の挙動が異常である場合に、その原因を追究し、あるいはその対策を決定するような作業を支援する。
【0052】
(2)チューニング機能は、制御装置100および製造装置300での各種パラメータを調整することで、製造装置300からより高い性能を引き出すような作業を支援する。
【0053】
(3)実機レスデバッグ機能は、製造装置300が組み上がる前、あるいは製造装置300の機械設計が完了する前であっても、製造装置全体としての挙動や設計の妥当性を評価するような作業を支援する。
【0054】
以下、各機能について説明する。なお、本実施のシミュレーションシステム1は、すべての機能を実装する必要はなく、必要に応じて1つまたは複数の機能を選択的に実装するようにしてもよい。さらに、これらの機能の一部または全部に加えて、他の機能を実装してもよい。
【0055】
<D.故障再現によるメンテナンス機能>
図5に示す運用保守550、現地調整540、ランニング536、立上げ調整534などにおいては、実際に製造装置300を稼働させることになる。このような製造装置300の稼働時に何らかの不具合が生じた場合に、その不具合の原因を追究する必要がある。故障再現によるメンテナンス機能は、このような場合に適用できる。特に、情報処理装置200は、製造装置300を制御するために用いるデータと製造装置300の少なくとも一部を示す設計データとを保持しているので、製造装置300が据え付けられている現場で製造装置300の挙動を確認しなくとも、情報処理装置200上で、製造装置300の挙動を再現できる。そのため、本実施のシミュレーションシステム1によれば、以下のような課題に対処することができる。
【0056】
・遠隔地(例えば、海外)にある製造装置に原因不明の不具合が生じた
・遠隔地(例えば、海外)にある製造装置に原因不明の理由で装置停止が頻発する
・不具合の発生頻度がそれほど高くないため、その原因を追究するための再現テストができない
・製造装置のセンサを交換したら挙動がおかしくなった
・製造装置が突然停止したがその原因が不明である
なお、上述の課題は、典型的には
図5に示す運用保守550での課題の一例であるが、その他の工程での課題に対しても対処可能である。
【0057】
故障再現によるメンテナンス機能においては、制御装置100による制御対象の制御に用いたデータ(以下、「制御装置データ」とも称する。)を用いて、製造装置300の挙動を視覚化(再現)する。制御装置データは、例えば、バルブの開閉の制御に用いた時系列のデータや、ランプの点灯を制御するための時系列のデータを含み得る。
【0058】
図6は、本実施の形態のシミュレーションシステム1が提供する故障再現によるメンテナンス機能に係る表示例を示す図である。
図6には、製造装置300の一例として、ワークを搬送して加工する装置のCAD画面の例を示す。本実施の形態のシミュレーションシステム1は、設計データを用いて製造装置300の構造を画面上に再現するとともに、製造装置300を制御するために用いるデータを用いて、製造装置300の対象部位を各時間における位置に順次配置させることで、製造装置300の挙動を視覚化する。
【0059】
図6(a)は、故障発生前の時刻t=t1における状態を示し、
図6(b)は、故障が発生した瞬間に相当する時刻t=t2における状態を示す。
図6には、その故障が発生した部位を視覚的に表示する例を示す。つまり、
図6(b)には、「テーブル位置センサ」が異常になって、製造装置300が停止した例を示す。この場合、故障が発生した時間になると、「テーブル位置センサ」の位置を示すとともに、その内容をメッセージとして表示する。このようなユーザインターフェイスを提供することで、ユーザ(運用保守の担当者)は、製造装置300が停止した理由を即座に判断することができる。
【0060】
このように、情報処理装置200は、制御装置100から出力された一定周期毎のデータのうち予め定められた条件(この例では、故障発生)が満たされたタイミングを含む所定期間に亘る製造装置300を制御するために用いるデータと設計データとを用いて、当該タイミングの前後の期間における制御対象の挙動を視覚化する。さらに、
図6(b)に示すように、情報処理装置200は、予め定められた条件に関連付けられる部位を視覚化する。
【0061】
図7は、
図6に示す故障再現に対応するタイムチャートを正常時と比較して示す図である。
図7(a)は、故障発生時のタイムチャートを示し、
図7(b)は、正常時のタイムチャートを示す。本実施の形態のシミュレーションシステム1は、このようなタイムチャートを表示する機能である解析モジュールを有していてもよい。
図7(a)と
図7(b)とを比較すると、正常時には、テーブル位置センサがOFFからONへ変化すべきところが、故障発生時には、テーブル位置センサがOFFのまま維持されている。このように2つのタイムチャートを比較することで、テーブル位置センサの異常(より具体的には、センサ自体の故障または断線など)と判断できる。
【0062】
なお、
図7に示すタイムチャートの下部にあるスライドバー600を操作することで、
図6に示されるような、製造装置300の挙動を再現する時刻をユーザが自在に変更することもできるようになっている。すなわち、情報処理装置200は、制御対象の挙動を視覚化する時間を設定するためのユーザ操作を受け付けるための操作オブジェクト(スライドバー600)を表示する。
【0063】
図8は、本実施の形態のシミュレーションシステム1が提供する故障再現によるメンテナンス機能に係る機能構成を示す模式図である。
図8を参照して、制御装置100は、その主たる機能構成として、演算処理モジュール150と、記憶モジュール152と、出力モジュール154とを含む。
【0064】
演算処理モジュール150は、制御対象に係るシーケンス制御およびモーション制御を実行する主体であり、シーケンスプログラム112Aおよびモーションプログラム112Bを含むユーザプログラム112をプロセッサ102が実行することで実現される。
【0065】
記憶モジュール152は、演算処理モジュール150が演算によって算出する制御指令、および制御対象などから取得する制御状態値を所定周期毎に格納する。記憶モジュール152は、主として、メインメモリ106(
図2)の少なくとも一部の領域を用いて実現される。
【0066】
出力モジュール154は、記憶モジュール152に格納されている制御装置データを情報処理装置200へ出力する。すなわち、出力モジュール154は、シーケンス制御およびモーション制御に係る一定周期毎のデータを出力する。出力モジュール154は、典型的には、外部ネットワークコントローラ116およびメモリカードインターフェイス118(いずれも
図2)の少なくとも一部を用いて実現される。
【0067】
一方、情報処理装置200は、その主たる機能構成として、記憶モジュール250と、作成編集モジュール260と、視覚化モジュール262と、解析モジュール266とを含む。
【0068】
記憶モジュール250は、製造装置300の三次元形状データである設計データ252と、制御装置100から取得した制御装置データ254とを保持する。すなわち、記憶モジュール250は、制御対象である製造装置300の少なくとも一部の構成を示す設計データ252を保持する。記憶モジュール250は、主として、ハードディスク208(
図2)の少なくとも一部の領域を用いて実現される。
【0069】
作成編集モジュール260は、CADプログラム212(
図2)を実現する主たるモジュールであり、設計データ252を作成および編集する機能を提供する。
【0070】
視覚化モジュール262は、故障再現によるメンテナンス機能を提供するための主たる構成であり、設計データ252および制御装置データ254を用いて、製造装置300の挙動を再現する。すなわち、視覚化モジュール262は、制御対象である製造装置300の挙動を視覚化する。特に、視覚化モジュール262は、制御装置100から出力された一定周期毎のデータのうち予め定められた条件(例えば、故障発生)が満たされたタイミングを含む所定期間に亘る制御装置データ254と設計データ252とを用いて、当該タイミングの前後の期間における制御対象の挙動を視覚化する。
【0071】
また、視覚化モジュール262は、予め設定される変換テーブル264を参照して、制御装置データ254に含まれる制御装置100が出力する各値を設計データ252に関連付けるための数値変換を行なう。例えば、変換テーブル264には、制御装置100が出力する1デジットが設計データ252において何mmに相当するのかといった換算定数が定義されており、この変換テーブル264を参照して、製造装置300の挙動を再現する。
【0072】
解析モジュール266は、付加的なモジュールであり、制御装置データ254に含まれる制御状態値および/または制御指令のうち予め指定されたものを同一の時間軸上に並べて表示する(
図7参照)。すなわち、解析モジュール266は、制御装置100から出力された一定周期毎のデータに含まれる複数の項目の制御状態値(
図7に示される、「供給スタッカ_ワークセンサ入力」や「マウンタ後バキュームチャック_圧力センサ入力」など)を同一の時間軸上に並べて表示する。このような表示を行なうことで、何らかの故障が生じた場合に、いずれの値が原因になっているのかを容易に確認することができる。
【0073】
以上のように、本実施の形態においては、実際の製造装置300から離れた位置にいても、故障発生時に遡って製造装置300の挙動(機械の動き)を再現することができ、これによって、故障の原因を早期に特定して、早急に復旧させることができる。このような環境を提供することで、遠隔地にある製造装置や故障してしまった製造装置に対するメンテナンスを容易化できる。すなわち、現地へ赴くことなく、制御装置100から制御装置データを取得できさえすれば、故障発生の調査やそのときの挙動の解析を行なうことができる。
【0074】
<E.チューニング機能>
図5に示す運用保守550や現地調整540などにおいては、実際に製造装置300を稼働させて目的の性能を達成させるために各種の調整を行なうことになる。このような目的の性能を達成させるための調整では、各種のパラメータ(例えば、ある第1のバルブが開状態になってから第2のバルブが開状態になるまでの時間など)をトライ&エラーで調整するような場合が多い。このような調整作業は非常に時間を要するとともに、一種の経験が必要になる。本実施の形態のシミュレーションシステム1は、このような調整作業の合理化することを主たる目的としている。すなわち、本実施のシミュレーションシステム1によれば、以下のような課題に対処することができる。
【0075】
・製造装置を何度も動作させて目視でその挙動の適否を判断するため時間を要する(トライ&エラー)
・最適なパラメータを決定するためにトライ&エラーを繰返す
・得られたデータの数値で適否を判断するため経験者でなければチューニングがうまくできない
なお、上述の課題は、典型的には
図5に示す運用保守550や現地調整540などでの課題の一例であるが、その他の工程での課題に対しても対処可能である。
【0076】
本実施のチューニング機能においては、制御装置100による制御対象の制御に用いたデータ(制御装置データ)のなかから、チューニング候補の各パラメータに対応するものを順次抽出して、製造装置300の複数の挙動を視覚化(再現)することで、いずれの挙動が最適であるかを評価する。
【0077】
図9は、本実施の形態のシミュレーションシステム1が提供するチューニング機能を説明するための図である。
図9(a)には、チューニング対象の製造装置300を示し、
図9(b)には、チューニング中の表示例を示す。本実施の形態のシミュレーションシステム1は、制御装置100が製造装置300を制御するために用いるデータおよび設計データを用いて製造装置300の構造を画面上に再現するとともに、制御装置100からの制御装置データを選択的に抽出して、パラメータ候補毎の挙動を視覚化する。
【0078】
図9には、ワークをレーザ加工する製造装置300の例を示し、加工精度を高めるためにレーザを駆動するためのドライバを調整する必要があるが、いずれのパラメータが最もよい精度が得られているのかを判断するのに時間および手間を要するといった例を示す。本実施の形態のチューニング機能においては、パラメータの値を複数に変化させて、製造装置300のそれぞれの挙動を制御装置データとして収集するとともに、その収集した制御装置データに基づいて製造装置300の挙動を再現する。
【0079】
この挙動の再現においては、例えば、制御装置データの収集周期の単位でスロー再生して挙動を確認することができる。この挙動の確認において、ドライバのゲイン調整や補正方法の効果を評価して、最適なパラメータを設定する。例えば、
図9(b)に示すような製造装置300の挙動を再現する画面において、加工の変曲点の付近を拡大表示することで、その加工精度などを判断できる。
【0080】
図10は、本実施の形態のシミュレーションシステム1が提供するチューニング機能に係る機能構成を示す模式図である。
図10を参照して、制御装置100は、その主たる機能構成として、演算処理モジュール150と、記憶モジュール152と、出力モジュール154と、抽出モジュール268とを含む。演算処理モジュール150、記憶モジュール152、出力モジュール154については、
図8に示したものと同様であるので、詳細な説明は繰返さない。
【0081】
抽出モジュール268は、ユーザの設定に従って、制御装置データ254のうち対象となるデータを順次抽出する。例えば、ユーザがあるパラメータの最適値を決定しようとした場合に、その調整範囲が1〜10であれば、抽出モジュール268は、該当のパラメータが1,2,…,10のそれぞれの場合における制御装置データをそれぞれ抽出する。抽出されたそれぞれの制御装置データを用いて製造装置300の挙動がそれぞれ再現される。
【0082】
このように、複数のパラメータを設定したときの制御装置データをそれぞれ取得し、この取得された制御装置データを用いて製造装置300の挙動をそれぞれ再現するとともに、それらを互いに比較する。そして、最も精度の高いパラメータや補正方法を選択して最終的なチューニング結果とする。
【0083】
以上のように、本実施の形態のチューニング機能では、製造装置300の挙動や振る舞いを正確に再現することができ、この挙動の再現により、その精度を定量的に評価することができる。これによって、候補となるパラメータの各々について実際に製造装置300を動作させたうえで、各パラメータによる効果を定量的に評価し、最終的に最適なパラメータを決定できる。
【0084】
<F.実機レスデバッグ機能>
図5に示す機械設計504においては、製造装置の概略のスペックなどに基づいて設計が行なわれる。すなわち、製造装置の機構や寸法に十分な裏付けがないあいまいな状態で設計が進んでしまうことがあり、その後の機械デバッグ532ではじめて、設計ミスが発覚するような場合がある。この結果、機械設計504を再度行なう必要が生じ、膨大な工数およびコストが発生し得る。そのため、構想設計502の段階で製造装置の機構や寸法などの妥当性を評価し、設計品質を向上したいというニーズがある。
【0085】
また、
図5に示す制御設計520およびプログラム設計522の完了後、メカ調整・I/Oチェック530が完了するまでは、制御装置についてチェックなどを行なうことができず、待ちの状態になってしまう。つまり、プログラム設計522とメカ調整・I/Oチェック530との間の空き時間が開発により長い時間を要する原因となり得る。この待ちの時間を削減したいというニーズがある。
【0086】
本実施の形態のシミュレーションシステム1が搭載する実機レスデバッグ機能は、現実に製造装置300が存在しなくとも、すなわちCADプログラム上で製造装置300が設計中であったとしても、ユーザプログラムに係る各種検証を行なうことがで、また、そもそもの製造装置の基本的な機構や寸法の評価を行なうこともできる。
【0087】
図11は、本実施の形態のシミュレーションシステム1が提供する実機レスデバッグ機能を説明するための図である。
図11には、製造装置300として、ワークを等間隔に整列させる整列コンベヤの開発の例を示す。コンベヤ上をランダムに流れてくるワークを上流側から3つ目のコンベヤ(以下「間隔調整コンベヤ」とも称す。)で当該ワークを等間隔に並べる。この間隔調整コンベヤの寸法(長さ)を設計する例を示す。
【0088】
このシミュレーションを行なうために、情報処理装置200のCADプログラムを用いてコンベヤの主要部を描画して設計データを作成するとともに、制御装置100で実行させるユーザプログラムを作成する。ユーザプログラムは、典型的には、制御装置100用に容易されたサポート装置を用いて作成される。そして、制御装置100と情報処理装置200とを連系させて、シミュレーション(デバック)を実行する。
【0089】
なお、ユーザプログラムを制御装置100で実行させてもよいが、制御装置100をパーソナルコンピュータ上でエミュレートしてユーザプログラムを実行させてもよい。すなわち、制御装置100は、コンピュータ上で実行されるエミュレータとして実装されてもよい。
【0090】
このとき、情報処理装置200は、制御装置100からの制御指令に従って対象のオブジェクト(
図11に示す例では、「製品」)を仮想的に移動させるとともに、予め設定された条件に従ってエミュレート処理を実行することで、センサからの出力(制御状態値)を制御装置100へ応答する。すなわち、制御装置100と情報処理装置200との間で相互にデータの遣り取りを行なうことで、実際の製造装置300が存在しなくとも、制御装置100および製造装置300を含めた検証を行なうことができる。
【0091】
図12は、本実施の形態のシミュレーションシステム1が提供する実機レスデバッグ機能に係る機能構成を示す模式図である。
図12を参照して、制御装置100は、その主たる機能構成として、演算処理モジュール150と、通信モジュール160とを含む。
【0092】
演算処理モジュール150は、制御対象に係るシーケンス制御およびモーション制御を実行する主体であり、シーケンスプログラム112Aおよびモーションプログラム112Bを含むユーザプログラム112をプロセッサ102が実行することで実現される。通信モジュール160は、演算処理モジュール150が演算によって算出する制御指令を情報処理装置200へ送信するとともに、情報処理装置200から送信される制御状態値(エミュレート値)を受信する。すなわち、演算処理モジュール150は、情報処理装置200から受信する一定周期毎のデータ(制御状態値)を入力データとして、予め定められたシーケンス制御およびモーション制御の少なくとも一方を実行するとともに、その実行によって算出される一定周期毎のデータ(制御指令)を出力データとして情報処理装置200へ送信する。
【0093】
通信モジュール160は、主として、外部ネットワークコントローラ116(
図2)を利用して実現される。
【0094】
一方、情報処理装置200は、その主たる機能構成として、記憶モジュール250と、作成編集モジュール260と、視覚化モジュール262と、エミュレートモジュール272と、通信モジュール270とを含む。
【0095】
記憶モジュール250は、製造装置300の三次元形状データである設計データ252と、シミュレーション条件256とを保持する。記憶モジュール250は、主として、ハードディスク208(
図2)の少なくとも一部の領域を用いて実現される。
【0096】
作成編集モジュール260は、CADプログラム212(
図2)を実現する主たるモジュールであり、設計データ252を作成および編集する機能を提供する。すなわち、作成編集モジュール260は、制御対象の少なくとも一部の構成を示す設計データを作成および編集可能に構成されている。
【0097】
視覚化モジュール262は、シミュレーションを実現するための主たる構成であり、設計データ252、制御装置100からの制御指令、およびエミュレートモジュール272が生成する制御状態値を用いて、製造装置300の挙動を再現する。すなわち、視覚化モジュール262は、制御装置データ254と設計データ252とを用いて、制御対象の挙動を視覚化する。このとき、視覚化モジュール262は、制御装置100からの出力データが更新されるたびに、制御対象の対応するオブジェクトの位置を更新する。
【0098】
なお、視覚化モジュール262は、予め設定される変換テーブル264を参照して、制御装置100からの制御指令に含まれる各値を設計データ252に関連付けるための数値変換を行なう。
【0099】
エミュレートモジュール272は、制御装置100からの制御指令が予め設定されたシミュレーション条件256を満たすと、対応する制御状態値を生成して出力する。例えば、シミュレーション条件256としては、あるオブジェクトの移動経路上に設けられたセンサに相当する条件が定義されており、制御装置100からの制御指令によって対象のオブジェクトが当該センサの位置まで移動すると、当該センサの制御状態値を変化させる(例えば、OFFからON)。すなわち、エミュレートモジュール272は、視覚化された制御対象の挙動に応じた一定周期毎のデータを制御装置へ出力する。そして、エミュレートモジュール272は、制御装置100からの出力データが予め定められた条件を満たすと、当該条件を満たしたことを示す情報を制御装置100へ応答する。このように、情報処理装置200では、制御装置100からの制御指令に従って、製造装置300に取り付けられるであろう各種センサを仮想的に実現することで、制御装置100と製造装置300とを組み合わせたシミュレーションを可能にする。
【0100】
図11に示す整列コンベヤの例では、機械設計の面では、間隔調整コンベヤの長さや速度を複数に異ならせるとともに、制御設計の面では、制御装置100で実行されるユーザプログラムのパラメータを複数に異ならせることで、最適な設計値を見出すことができる。
【0101】
本実施の形態のシミュレーションシステム1を実際に用いてシミュレーションしたところ、ある整列コンベヤのコンベヤ長さが適切な設計ではないことを見つけ出し、改善案を動作検証して、最適なコンベヤ長さを決定することができた。
【0102】
構想設計502および機械設計504(
図5)において適用する例について説明したが、プログラム設計522の後に、当該プログラムの健全性を評価する場合などにも適用可能である。例えば、インターロックの確認、アクチュエータの単独動作の確認、連続運転のシーケンスの確認などに用いることができる。
【0103】
以上のように、本実施の形態の実機レスデバッグ機能においては、製造装置300の構想設計段階であっても、機械設計とユーザプログラムとを組み合わせた妥当性を評価できる。すなわち、製造装置300の概略の構造図とユーザプログラムの基本動作とを使って、製造装置300の動作を検証できる。このような検証を行なうことで、構想設計段階において設計ミスを見つけ出し、失敗コスト(工数や材料など)を削減できる。
【0104】
また、本実施の形態の実機レスデバッグ機能を用いることで、製造装置300が現実に組み上がる前の段階で、設計データを用いてユーザプログラムのデバッグを行なうことで、製造装置300の実機を用いたデバッグに要する期間を短縮できる。
【0105】
<G.結論>
本実施の形態のシミュレーションシステム1によれば、制御装置100と情報処理装置200との間で相互にデータを遣り取りすることで、情報処理装置200上で、制御装置100の制御対象である製造装置の挙動をより正確に再現できる。これによって、製造装置の挙動をより適切に確認および評価できる。
【0106】
また、情報処理装置200で製造装置の概略構造を設計しておけば、概略設計された製造装置と制御装置100とを組み合わせた挙動を再現できるので、製造装置の設計が完了する前から、製造装置を含む全体の挙動を適切に確認および評価できる。
【0107】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。