(57)【特許請求の範囲】
【請求項１】
制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として画面に表示する表示装置であって、
仮想機構の選択肢を前記画面に提示する仮想機構提示手段と、
前記仮想機構提示手段が提示した仮想機構の選択肢の中から一つの仮想機構の選択を受け付ける仮想機構受付手段と、
前記制御プログラムの実行結果である、一連の前記位置の指令値を取得する取得手段と、
前記取得された前記位置の指令値を用いて、前記周期毎または複数の指定された前記周期における前記選択された仮想機構の状態を示した動画像データを作成する動画像データ作成手段と、
前記動画像データを用いた動画を前記画面に表示させる表示制御手段とを備え、
前記仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備え、
前記表示装置は、
前記制御対象装置を制御するプログラマブル・ロジック・コントローラと通信可能に接続されるコンピュータであって、
前記制御プログラムを記憶しており、
前記プログラマブル・ロジック・コントローラおよび前記制御対象装置のシミュレータとして、前記記憶された制御プログラムを実行し、前記一連の位置の指令値を演算するシミュレーション手段と、
前記制御プログラムの複製物を前記プログラマブル・ロジック・コントローラに送信する送信手段とをさらに備え、
前記仮想機構提示手段は、少なくとも、前記機構要素として直動要素を有する仮想機構の選択肢を提示し、
前記直動要素は、柱状の直動軸と、当該直動軸に沿って移動する可動部とを有し、
前記動画データ作成手段は、前記位置の指令値の範囲を調べることによって、前記直動軸の長さを決定し、
前記直動要素は、少なくとも１つの動画像の再生の開始から終了までの間は前記直動軸の長さが変化しない形態で表示される、表示装置。
【請求項２】
制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として画面に表示する表示装置であって、
仮想機構の選択肢を前記画面に提示する仮想機構提示手段と、
前記仮想機構提示手段が提示した仮想機構の選択肢の中から一つの仮想機構の選択を受け付ける仮想機構受付手段と、
前記制御プログラムの実行結果である、一連の前記位置の指令値を取得する取得手段と、
前記取得された前記位置の指令値を用いて、前記周期毎または複数の指定された前記周期における前記選択された仮想機構の状態を示した動画像データを作成する動画像データ作成手段と、
前記動画像データを用いた動画を前記画面に表示させる表示制御手段とを備え、
前記仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備え、
前記表示装置は、
前記制御対象装置を制御するプログラマブル・ロジック・コントローラと通信可能に接続されるコンピュータであって、
前記制御プログラムを記憶しており、
前記プログラマブル・ロジック・コントローラおよび前記制御対象装置のシミュレータとして、前記記憶された制御プログラムを実行し、前記一連の位置の指令値を演算するシミュレーション手段と、
前記制御プログラムの複製物を前記プログラマブル・ロジック・コントローラに送信する送信手段とをさらに備え、
前記仮想機構提示手段は、少なくとも、前記機構要素として直動要素を有する仮想機構の選択肢を提示し、
前記直動要素は、柱状の直動軸と、当該直動軸に沿って移動する可動部とを有し、
前記動画データ作成手段は、
前記動画像の作成開始前に、前記直動軸が初期長さを有するように前記直動要素の表示上の形態を決定し、
前記動画像の作成の進行中に前記可動部の位置が初期長さによって表示可能な位置の範囲を超える場合には、前記動画の途中で、前記直動軸の長さを、前記可動部の位置を表示可能な長さに変更する、表示装置。
【請求項３】
前記仮想機構受付手段は、さらに、前記機構要素の形態を設定するための入力を受け付け、
前記直動要素を含む前記仮想機構を使用可能とするための必須の入力として当該直動要素について前記仮想機構受付手段が受け付ける前記入力は、前記可動部の可動長さを設定する入力のみである、請求項１または２に記載の表示装置。
【請求項４】
前記仮想機構の定義に利用可能な前記機構要素の選択肢を前記画面に提示する機構要素提示手段と、
前記選択肢として提示されている前記機構要素のうち互いに接続する機構要素の選択と、当該選択された機構要素同士における連動の態様の指定とを受け付ける機構要素受付手段と、
前記選択された機構要素を含んだ仮想機構であって、かつ前記指定された態様で当該機構要素が連動する仮想機構を作成する仮想機構作成手段とをさらに備える、請求項１または２に記載の表示装置。
【請求項５】
複数の互いに異なる前記仮想機構を含む仮想機構ライブラリを格納した記憶装置をさらに備え、
前記仮想機構提示手段は、前記仮想機構ライブラリに含まれている仮想機構の選択肢を提示する、請求項１または２に記載の表示装置。
【請求項６】
複数の互いに異なる前記仮想機構を含む仮想機構ライブラリおよび少なくとも１つの機構要素を含む機構要素ライブラリを格納した記憶装置と、
前記仮想機構作成手段によって作成された前記仮想機構を前記仮想機構ライブラリに登録する仮想機構登録手段とをさらに備え、
前記仮想機構提示手段は、前記仮想機構ライブラリに含まれている仮想機構の選択肢を提示し、
前記機構要素提示手段は、前記機構要素ライブラリに含まれている機構要素の選択肢を提示する、請求項４に記載の表示装置。
【請求項７】
前記取得手段は、前記制御プログラムの実行結果である一連の前記位置の実測値を、前記プログラマブル・ロジック・コントローラからさらに取得し、
前記動画データ作成手段は、前記取得された前記位置の実測値を用いて、前記周期毎または複数の指定された前記周期における前記選択された仮想機構の状態を示した動画像データをさらに作成する、請求項１から６のいずれか１項に記載の表示装置。
【請求項８】
制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として画面に表示する表示装置における表示方法であって、
前記表示装置は、前記制御対象装置を制御するプログラマブル・ロジック・コントローラと通信可能に接続されるコンピュータであって、前記制御プログラムを記憶しており、
前記表示方法は、
仮想機構の選択肢を前記画面に提示する仮想機構提示ステップと、
提示された前記仮想機構の選択肢の中から一つの仮想機構の選択を受け付けるステップと、
前記制御プログラムの実行結果である、一連の前記位置の指令値を取得するステップと、
前記取得された前記位置の指令値を用いて、前記周期毎または複数の指定された前記周期における前記選択された仮想機構の状態を示した動画像データを作成するステップと、
前記動画像データを用いた動画を前記画面に表示させるステップと、
前記記憶された制御プログラムを実行することにより、前記プログラマブル・ロジック・コントローラおよび前記制御対象装置の動作をシミュレートして前記一連の位置の指令値を演算するステップと、
前記制御プログラムの複製物を前記プログラマブル・ロジック・コントローラに送信するステップとを備え、
前記仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備え、
前記仮想機構提示ステップは、少なくとも、前記機構要素として直動要素を有する仮想機構の選択肢を提示するステップを含み、
前記直動要素は、柱状の直動軸と、当該直動軸に沿って移動する可動部とを有し、
前記動画像データを作成するステップは、前記位置の指令値の範囲を調べることによって、前記直動軸の長さを決定するステップをさらに含み、
前記直動要素は、少なくとも１つの動画像の再生の開始から終了までの間は前記直動軸の長さが変化しない形態で表示される、表示方法。
【請求項９】
制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として表示装置の画面に表示させるプログラムであって、
前記表示装置は、前記制御対象装置を制御するプログラマブル・ロジック・コントローラと通信可能に接続されるコンピュータであって、前記制御プログラムを記憶しており、
前記プログラムは、
仮想機構の選択肢を前記画面に提示する仮想機構提示ステップと、
提示された前記仮想機構の選択肢の中から一つの仮想機構の選択を受け付けるステップと、
前記制御プログラムの実行結果である、一連の前記位置の指令値を取得するステップと、
前記取得された前記位置の指令値を用いて、前記周期毎または複数の指定された前記周期における前記選択された仮想機構の状態を示した動画像データを作成するステップと、
前記動画像データを用いた動画を前記画面に表示させるステップと、
前記記憶された制御プログラムを実行することにより、前記プログラマブル・ロジック・コントローラおよび前記制御対象装置の動作をシミュレートして前記一連の位置の指令値を演算するステップと、
前記制御プログラムの複製物を前記プログラマブル・ロジック・コントローラに送信するステップとを、前記表示装置に実行させ、
前記仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備え、
前記仮想機構提示ステップは、少なくとも、前記機構要素として直動要素を有する仮想機構の選択肢を提示するステップを含み、
前記直動要素は、柱状の直動軸と、当該直動軸に沿って移動する可動部とを有し、
前記動画像データを作成するステップは、前記位置の指令値の範囲を調べることによって、前記直動軸の長さを決定するステップをさらに含み、
前記直動要素は、少なくとも１つの動画像の再生の開始から終了までの間は前記直動軸の長さが変化しない形態で表示される、プログラム。
【請求項１０】
制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として表示装置の画面に表示させるプログラムを格納したコンピュータ読み取り可能な記録媒体であって、
前記表示装置は、前記制御対象装置を制御するプログラマブル・ロジック・コントローラと通信可能に接続されるコンピュータであって、前記制御プログラムを記憶しており、
前記プログラムは、
仮想機構の選択肢を前記画面に提示する仮想機構提示ステップと、
提示された前記仮想機構の選択肢の中から一つの仮想機構の選択を受け付けるステップと、
前記制御プログラムの実行結果である、一連の前記位置の指令値を取得するステップと、
前記取得された前記位置の指令値を用いて、前記周期毎または複数の指定された前記周期における前記選択された仮想機構の状態を示した動画像データを作成するステップと、
前記動画像データを用いた動画を前記画面に表示させるステップと、
前記記憶された制御プログラムを実行することにより、前記プログラマブル・ロジック・コントローラおよび前記制御対象装置の動作をシミュレートして前記一連の位置の指令値を演算するステップと、
前記制御プログラムの複製物を前記プログラマブル・ロジック・コントローラに送信するステップとを、前記表示装置に実行させ、
前記仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備え、
前記仮想機構提示ステップは、少なくとも、前記機構要素として直動要素を有する仮想機構の選択肢を提示するステップを含み、
前記直動要素は、柱状の直動軸と、当該直動軸に沿って移動する可動部とを有し、
前記動画像データを作成するステップは、前記位置の指令値の範囲を調べることによって、前記直動軸の長さを決定するステップをさらに含み、
前記直動要素は、少なくとも１つの動画像の再生の開始から終了までの間は前記直動軸の長さが変化しない形態で表示される、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム制御される制御対象装置の動きを電子的に構築された３次元モデルである仮想機構の動画として表示する表示装置、表示制御方法、プログラム、コンピュータ読み取り可能な記録媒体、当該表示装置に格納される仮想機構ライブラリ、および当該仮想機構ライブラリを格納したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、制御対象装置を動作させるための制御プログラムが知られている。
特許文献１には、上記制御プログラムによって動作する工作機械による工作物の機械加工をシミュレーションし、工作機械および工作物の外観をリアルに再現した３次元モデルの動画として当該シミュレーションの結果を表示するシミュレーション装置が記載されている。
【０００３】
特許文献２には、シーケンサと、３次元シミュレータと、ディスプレイとを有するシミュレーション装置が開示されている。シーケンサは、ラダープログラムを用いて設備を制御する。３次元シミュレータは、シーケンサのラダープログラムにより、３次元仮想空間上に構築された設備の３次元モデルを制御し、この３次元モデルの動作のシミュレーションを実施する。ディスプレイは、シミュレーションされた３次元モデルの動作を表示する。当該シミュレーション装置は、シーケンサとして設備を実際に動作制御する実ＰＬＣ（実プログラマブルロジックコントローラー）を用い、この実ＰＬＣを前記３次元シミュレータに接続し、この実ＰＬＣのラダープログラムで設備の３次元モデルを仮想空間上で動作させる。
【０００４】
特許文献３には、上記制御プログラムとして、産業用ロボットの教示に用いるプログラミングペンダント（手持ちして使用する教示装置）が開示されている。当該プログラミングペンダントは、ロボットの目標位置データを移動命令によって記述した作業プログラムを格納している。プログラミングペンダントは、作業プログラムにしたがって動くロボットアームが保持するトーチの先端の軌跡を、グラフィカルに３次元表示する。
【０００５】
非特許文献１には、固有の機能を持つ３次元表示されたオブジェクトを組み合わせ機能合成することにより、対話型３次元応用システムを構築可能な３次元オブジェクト機能合成システム（「IntelligentBox」と呼ぶプロトタイプ・システム）が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−７１３５０号公報
【特許文献２】特開２００７−２６５２３８号公報
【特許文献３】特開２００７−２４２０５４号公報
【非特許文献】
【０００７】
【非特許文献１】岡田 義広，田中 譲  「対話型３Ｄソフトウェア構築システム  −IntelligentBox−」  コンピュータソフトウェア  日本ソフトウェア科学会  1995年7月17日発行  第12巻  第4号  pp.374-384
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、たとえば特許文献１，２のようにプログラム制御される制御対象装置の動作をシミュレーションして当該シミュレーションの結果を表示する場合、制御対象装置の動きを表現するために制御対象装置の外観を忠実に再現した３次元モデルを用いると、ユーザは表示内容を理解しやすい。また、制御対象装置の動作についての実測記録を用いて制御対象装置の動作を再現する場合においても、同様のことが言える。しかしながら、制御対象装置ごとに３次元モデルを作らなければ表示をすることができない。このため、３次元モデルによる表示を利用することができる機会が限られてしまう。
【０００９】
高価な工作機械などについては機械メーカから３次元モデルによる動作表示ができる当該機械専用のシミュレータが提供される場合もある。しかしながら、機械装置一般について考えると、機械装置のメーカがシミュレータを用意していない場合が多い。また、ユーザが自ら機械装置を設計、製作して使用する場合にも、当該機械装置専用のシミュレータは提供されない。このような場合でも、制御対象装置の動きを制御するためのプログラムをテストするために制御対象装置の動きを動画によって確認したいという要求が存在する。
【００１０】
しかしながら、制御対象装置の動きを動画により確認したい場合に、その都度、制御対象装置の外観を忠実に再現した３次元モデルを用意することは、費用や時間の面から現実的に困難である。
【００１１】
本発明は、上記問題点に鑑みなされたものであって、その目的は、制御対象装置ごとに外観を忠実に再現した３次元モデルを用意することなく、ユーザに制御対象装置の動きを理解させることが可能な表示装置、表示方法、プログラム、仮想機構ライブラリ、およびコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のある局面に従うと、表示装置は、制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として画面に表示する。表示装置は、仮想機構の選択肢を画面に提示する仮想機構提示手段と、仮想機構提示手段が提示した仮想機構の選択肢の中から一つの仮想機構の選択を受け付ける仮想機構受付手段と、制御プログラムの実行結果である、一連の位置の指令値または一連の位置の実測値を取得する取得手段と、取得された位置の指令値または位置の実測値を用いて、周期毎または複数の指定された周期における選択された仮想機構の状態を示した動画像データを作成する動画像データ作成手段と、動画像データを用いた動画を画面に表示させる表示制御手段とを備える。仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備える。仮想機構提示手段は、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数提示する。仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備える。
【００１３】
好ましくは、仮想機構提示手段は、少なくとも、機構要素として直動要素を有する仮想機構の選択肢を提示する。直動要素は、柱状の直動軸と、当該直動軸に沿って移動する可動部とを有する。直動要素は、少なくとも１つの動画像の再生の開始から終了までの間は直動軸の長さが変化しない形態で表示される。
【００１４】
好ましくは、仮想機構受付手段は、さらに、機構要素の形態を設定するための入力を受け付ける。直動要素を含む仮想機構を使用可能とするための必須の入力として当該直動要素について仮想機構受付手段が受け付ける入力は、可動部の可動長さを設定する入力のみである。
【００１５】
好ましくは、仮想機構提示手段は、少なくとも、機構要素として直動要素を有する仮想機構の選択肢を提示する。直動要素は、柱状の直動軸を有する。直動要素は、指令値または実測値の変化に応じて直動軸の長さを変化させる形態で表示される。
【００１６】
好ましくは、仮想機構提示手段は、少なくとも、機構要素として回転要素を有する仮想機構の選択肢を提示する。回転要素は、対称軸を中心に回転する柱状体である。
【００１７】
好ましくは、仮想機構提示手段は、少なくとも、互いに垂直に接続された２つの直動要素を機構要素として有する仮想機構と、互いに垂直に接続された３つの直動要素を機構要素として有する仮想機構との選択肢を提示する。
【００１８】
好ましくは、表示装置は、仮想機構の定義に利用可能な機構要素の選択肢を画面に提示する機構要素提示手段と、選択肢として提示されている機構要素のうち互いに接続する機構要素の選択と、選択された機構要素同士における連動の態様の指定とを受け付ける機構要素受付手段と、選択された機構要素を含んだ仮想機構であって、かつ指定された態様で機構要素が連動する仮想機構を作成する仮想機構作成手段とをさらに備える。
【００１９】
好ましくは、表示装置は、複数の互いに異なる仮想機構を含む仮想機構ライブラリを格納した記憶装置をさらに備える。仮想機構提示手段は、仮想機構ライブラリに含まれている仮想機構の選択肢を提示する。
【００２０】
好ましくは、表示装置は、複数の互いに異なる仮想機構を含む仮想機構ライブラリおよび少なくとも１つの機構要素を含む機構要素ライブラリを格納した記憶装置と、仮想機構作成手段によって作成された仮想機構を仮想機構ライブラリに登録する仮想機構登録手段とをさらに備える。仮想機構提示手段は、仮想機構ライブラリに含まれている仮想機構の選択肢を提示する。機構要素提示手段は、機構要素ライブラリに含まれている機構要素の選択肢を提示する。
【００２１】
本発明の他の局面に従うと、表示方法は、制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として画面に表示する。表示方法は、仮想機構の選択肢を画面に提示する仮想機構提示ステップと、提示された仮想機構の選択肢の中から一つの仮想機構の選択を受け付けるステップと、制御プログラムの実行結果である、一連の位置の指令値または一連の位置の実測値を取得するステップと、取得された位置の指令値または位置の実測値を用いて、周期毎または複数の指定された周期における選択された仮想機構の状態を示した動画像データを作成するステップと、動画像データを用いた動画を画面に表示させるステップとを備える。仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備える。仮想機構提示ステップは、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数提示する。仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備える。
【００２２】
本発明のさらに他の局面に従うと、プログラムは、制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として表示装置の画面に表示させる。プログラムは、仮想機構の選択肢を画面に提示する仮想機構提示ステップと、提示された仮想機構の選択肢の中から一つの仮想機構の選択を受け付けるステップと、制御プログラムの実行結果である、一連の位置の指令値または一連の位置の実測値を取得するステップと、取得された位置の指令値または位置の実測値を用いて、周期毎または複数の指定された周期における選択された仮想機構の状態を示した動画像データを作成するステップと、動画像データを用いた動画を画面に表示させるステップとを、表示装置に実行させる。仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備える。仮想機構提示ステップは、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数提示する。仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備える。
【００２３】
本発明のさらに他の局面に従うと、コンピュータ読み取り可能な記録媒体は、制御プログラムの実行によって出力される位置の指令値が予め定められた周期で入力されることによって動作する制御対象装置の動作を、電子的に構築された３次元モデルである仮想機構の動画として表示装置の画面に表示させるプログラムを格納している。プログラムは、仮想機構の選択肢を画面に提示する仮想機構提示ステップと、提示された仮想機構の選択肢の中から一つの仮想機構の選択を受け付けるステップと、制御プログラムの実行結果である、一連の位置の指令値または一連の位置の実測値を取得するステップと、取得された位置の指令値または位置の実測値を用いて、周期毎または複数の指定された周期における選択された仮想機構の状態を示した動画像データを作成するステップと、動画像データを用いた動画を画面に表示させるステップとを、表示装置に実行させる。仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備える。仮想機構提示ステップは、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数提示する。仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備える。
【００２４】
本発明のさらに他の局面に従うと、仮想機構ライブラリは、電子的に構築された３次元モデルである仮想機構を収録している。仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備える。仮想機構ライブラリは、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数収録する。仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備える。
【００２５】
好ましくは、仮想機構ライブラリは、少なくとも、互いに垂直に接続された２つの直動要素を機構要素として有する仮想機構と、互いに垂直に接続された３つの直動要素を機構要素として有する仮想機構とを収録する。
【００２６】
本発明のさらに他の局面に従うと、コンピュータ読み取り可能な記録媒体は、電子的に構築された３次元モデルである仮想機構を収録した仮想機構ライブラリを格納している。仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備える。仮想機構ライブラリは、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数収録する。仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備える。
【００２７】
好ましくは、仮想機構ライブラリは、少なくとも、互いに垂直に接続された２つの直動要素を機構要素として有する仮想機構と、互いに垂直に接続された３つの直動要素を機構要素として有する仮想機構とを収録する。
【発明の効果】
【００２８】
制御対象装置ごとに外観を忠実に再現した３次元モデルを用意することなく、ユーザに制御対象装置の動きを理解させることが可能となる。
【図面の簡単な説明】
【００２９】
【図１】制御システムの概略構成を示した図である。
【図２】ＰＣのハードウェア構成を表わすブロック図である。
【図３】ＰＬＣサポートプログラムの構成を示した図である。
【図４】動画像作成プログラム部に含まれる動画像データ処理部および仮想機構管理部の機能的構成を示した図である。
【図５】ＰＬＣサポートプログラムに基づきＰＣで行なわれる処理を示したフローチャートである。
【図６】ＰＬＣサポートプログラムを実行した際にＰＣで表示されるウィンドウを示した図である。
【図７】仮想機構を選択するためのウィンドウを示した図である。
【図８】第１の仮想機構を示した図である。
【図９】第２の仮想機構を示した図である。
【図１０】第３の仮想機構を示した図である。
【図１１】第４の仮想機構を示した図である。
【図１２】第５の仮想機構を示した図である。
【図１３】第６の仮想機構を示した図である。
【図１４】第７の仮想機構を示した図である。
【図１５】第８の仮想機構を示した図である。
【図１６】仮想機構を設定するためのウィンドウを示した図である。
【図１７】仮想機構と特定部位の軌跡とが表示されたウィンドウを示した図である。
【図１８】仮想機構を新たに作成するためのウィンドウを示した図である。
【図１９】図８から図１５に例示した各仮想機構の定義情報を示した図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照しつつ、本発明の実施の形態に係る表示装置について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３１】
図１は、本実施の形態に係る制御システム１の概略構成を示した図である。図１を参照して、制御システム１は、ＰＣ（Personal Computer）１０と、ＰＬＣ（Programmable Logic Controller）２０と、制御対象装置３０と、サーバ装置４０とを備える。
【００３２】
ＰＣ（表示装置）１０は、インストールされたＰＬＣサポートプログラム１１を格納している。また、ＰＣ１０は、ユーザが作成した制御プログラム１２を格納している。
【００３３】
ＣＤ−ＲＯＭ９９９は、ＰＬＣサポートプログラム１１を格納している。ＰＣ１０にインストールされているＰＬＣサポートプログラム１１は、ＣＤ−ＲＯＭ９９９を用いてインストールされたものである。
【００３４】
ＰＬＣ２０は、制御対象装置３０の動きを制御するためのコントローラとして働く。すなわち、ＰＬＣ２０は、いわゆるモーションコントロール機能を備えている。ＰＬＣ２０は、制御対象装置３０に対する制御内容を規定する制御プログラム２１を記憶している。ＰＬＣ２０は、ＰＣ１０と通信可能に接続されている。ＰＬＣ２０に格納されている制御プログラム２１は、ＰＣ１０から送られてきたものである。具体的には、制御プログラム２１は、ＰＣ１０に記憶されている制御プログラム１２の複製物である。
【００３５】
制御対象装置３０は、サーボモータ、ステッピングモータなどのモータを備える。制御対象装置３０は、当該モータによって駆動する。モータには、モータドライバから駆動電流が供給される。
【００３６】
モータドライバは、制御プログラムを実行するＰＬＣ２０から制御周期毎に位置の指令値を与えられる。モータドライバは、位置の指令値に応じた駆動電流をモータに供給する。モータがサーボモータである場合、当該モータにはエンコーダが備えられている。エンコーダは、モータの回転位置の実測値を検出する。モータドライバは、モータの回転位置の実測値をフィードバック制御に利用する。
【００３７】
ＰＣ１０は、インターネットなどのネットワーク５０を介してサーバ装置４０に接続可能である。ＰＬＣサポートプログラム１１は、サーバ装置４０からＰＣ１０にダウンロードすることもできる。
【００３８】
図２は、ＰＣ１０のハードウェア構成を表わすブロック図である。図２を参照して、ＰＣ１０は、主たる構成要素として、プログラムを実行するＣＰＵ９０１と、データを不揮発的に格納するＲＯＭ（Read Only Memory）９０２と、ＣＰＵ９０１によるプログラムの実行により作成されたデータ、又はキーボード９０５もしくはマウス９０６を介して入力されたデータを揮発的に格納するＲＡＭ９０３と、データを不揮発的に格納するＨＤＤ（Hard Disk Drive）９０４と、ＰＣ１０の使用者による指示の入力を受けるキーボード９０５およびマウス９０６と、モニタ９０７と、ＣＤ−ＲＯＭ駆動装置９０８と、通信ＩＦ９０９とを含む。各構成要素は、相互にデータバスによって接続されている。ＣＤ−ＲＯＭ駆動装置９０８には、ＣＤ−ＲＯＭ９９９が装着される。
【００３９】
ＰＣ１０における処理は、各ハードウェアおよびＣＰＵ９０１により実行されるソフトウェアによって実現される。このようなソフトウェアは、ＨＤＤ９０４に予め記憶されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭ９９９その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、ＣＤ−ＲＯＭ駆動装置９０８その他の読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ９０９を介してダウンロードされた後、ＨＤＤ９０４に一旦格納される。そのソフトウェアは、ＣＰＵ９０１によってＨＤＤ９０４から読み出され、ＲＡＭ９０３に実行可能なプログラムの形式で格納される。ＣＰＵ９０１は、そのプログラムを実行する。
【００４０】
同図に示されるＰＣ１０を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ９０３、ＨＤＤ９０４、ＣＤ−ＲＯＭ９９９その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、ＰＣ１０の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００４１】
なお、記録媒体としては、ＤＶＤ-ＲＯＭ、ＣＤ−ＲＯＭ、ＦＤ（Flexible Disk）、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣ（Integrated Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically Programmable Read-Only Memory）、ＥＥＰＲＯＭ（Electronically Erasable Programmable Read-Only Memory）、フラッシュＲＯＭなどの半導体メモリ等の
固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。
【００４２】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４３】
図３は、ＰＬＣサポートプログラム１１の構成を示した図である。図３を参照して、ユーザインターフェース部１０１と、ＰＬＣインターフェース部１０２と、制御プログラム編集部１０３と、制御プログラムシミュレーション部１０４と、動画像作成プログラム部１０５とを備える。動画像作成プログラム部１０５は、ライブラリ１１１と、仮想機構管理部１１２と、動画像データ処理部１１３とを含む。ライブラリ１１１は、仮想機構ライブラリ１１１１と、機構要素ライブラリ１１１２とを有する。
【００４４】
ユーザインターフェース部１０１は、ＰＣ１０の画面（モニタ９０７の画面）に表示するウィンドウの内容を作成する。ユーザインターフェース部１０１は、キーボードやマウスによるユーザの操作を受け付ける。ユーザインターフェース部１０１の機能的な構成については、後述する（図４）。
【００４５】
制御プログラム編集部１０３は、ユーザから受け付けた指示に従い、制御プログラムの入力および編集を行なう。制御プログラム編集部１０３は、制御プログラムを実行するためにコンパイルが必要である場合はコンパイルも行なう。制御プログラム編集部１０３は、作成した制御プログラムを、ＰＬＣインターフェース部１０２を介してＰＬＣ２０に送る。制御プログラム編集部１０３は、ＰＬＣ２０に格納されている制御プログラム２１を読み出して、当該読み出した制御プログラム２１を編集することもできる。
【００４６】
制御プログラムシミュレーション部１０４は、ＰＬＣ２０のシミュレータである。制御プログラムシミュレーション部１０４は、ＰＬＣ２０が制御プログラム２１を実行する動作をシミュレートし、ＰＬＣ２０が制御周期毎に出力するはずの位置の指令値を算出する。
【００４７】
仮想機構ライブラリ１１１１は、複数の仮想機構を含んでいる。仮想機構とは、電子的に構築された３次元モデルである。仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備えている。仮想機構ライブラリ１１１１は、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構を複数収録している。仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備えている。すなわち、仮想機構は、その仮想機構の基本構造と共通する基本構造を有する種々の制御対象装置のモデルとして使用しやすいように、個性の少ない簡素な形態に設計されている。基本構造は、機構要素の組み合わせ方に対応する構造である。仮想機構ライブラリ１１１１は、抽象化された形態の仮想機構に加えて、特定の制御対象装置の形態を模倣した形態の仮想機構を含んでいてもよい。
【００４８】
機構要素ライブラリ１１１２は、少なくとも１つの機構要素を収録している。
仮想機構管理部１１２は、仮想機構ライブラリ１１１１に用意されている仮想機構を、ユーザインターフェース部１０１を介して選択肢としてユーザに提示する。仮想機構管理部１１２は、ユーザから受け付けた指示に従い、仮想機構を選択する。さらに、仮想機構管理部１１２は、選択された仮想機構についてユーザが設定すべき内容があれば、ユーザインターフェース部１０１を介して当該設定も受け付ける。
【００４９】
仮想機構管理部１１２は、ユーザが仮想機構ライブラリ１１１１に用意されていない新たな仮想機構を定義する場合には、機構要素ライブラリ１１１２に用意されている機構要素を、ユーザインターフェース部１０１を介して選択肢としてユーザに提示する。仮想機構管理部１１２は、ユーザから受け付けた指示に従い、機構要素を選択する。さらに、仮想機構管理部１１２は、どの機構要素にどの機構要素を接続して連動させるかについての指定操作を、ユーザインターフェース部１０１を介して受け付ける。
【００５０】
仮想機構管理部１１２は、ユーザからの指定された内容に基づき、新たな仮想機構を定義して利用可能とするとともに、当該利用可能とした仮想機構を仮想機構ライブラリ１１１１に追加する。
【００５１】
以下、ＰＬＣサポートプログラム１１をさらに詳しく説明する。
図４は、動画像作成プログラム部１０５に含まれる動画像データ処理部１１３および仮想機構管理部１１２の機能的構成を示した図である。図４を参照して、動画像データ処理部１１３は、取得部１１３１と、動画像データ作成部１１３２と、表示制御部１１３３とを備える。仮想機構管理部１１２は、仮想機構提示部１１２１と、仮想機構受付部１１２２と、機構要素提示部１１２３と、機構要素受付部１１２４と、仮想機構作成部１１２５と、仮想機構登録部１１２６とを含む。
【００５２】
仮想機構提示部１１２１は、ライブラリ１１１の中の仮想機構ライブラリ１１１１に含まれている仮想機構の選択肢をユーザインターフェース部１０１を介してモニタ９０７の画面に提示する。仮想機構提示部１１２１は、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数提示する。
【００５３】
仮想機構受付部１１２２は、仮想機構提示部１１２１が提示した仮想機構の選択肢の中から一つの仮想機構の選択を受け付ける。この選択は、ユーザがキーボード９０５またはマウス９０６を操作することにより与えられる。
【００５４】
取得部１１３１は、制御プログラムシミュレーション部１０４から、制御プログラム１２の実行結果である一連の位置の指令値を取得する。また、取得部１１３１は、ＰＬＣインターフェース部１０２から、制御プログラム１２の実行結果である一連の位置の実測値を取得する。
【００５５】
動画像データ作成部１１３２は、必要な設定が済ませられて使用可能となった仮想機構を、仮想機構管理部１１２を介して仮想機構ライブラリ１１１１から取得する。動画像データ作成部１１３２は、制御プログラムシミュレーション部１０４から取得した一連の位置の指令値またはＰＬＣインターフェース部１０２から取得した一連の位置の実測値を用いて、制御周期毎または複数の指定された制御周期における上記選択された仮想機構の状態を示した動画像データを作成する。なお、「複数の指定された制御周期」とは、たとえば、一定周期ごとに抽出された各制御周期である。
【００５６】
表示制御部１１３３は、上記動画像データを用いた動画をユーザインターフェース部１０１を介してモニタ９０７の画面に表示させる。これにより、ＰＣ１０は、選択された仮想機構の動画を表示可能となる。
【００５７】
新たな仮想機構を定義する場合、機構要素提示部１１２３は、機構要素ライブラリ１１１２に含まれている、仮想機構の定義に利用可能な機構要素の選択肢をユーザインターフェース部１０１を介してモニタ９０７の画面に表示させる。機構要素受付部１１２４は、選択肢として提示されている機構要素のうち互いに接続する機構要素の選択と、当該選択された機構要素同士における連動の態様の指定とを受け付ける。この選択および指定は、ユーザがキーボード９０５またはマウス９０６を操作することにより与えられる。
【００５８】
仮想機構作成部１１２５は、上記選択された機構要素を含んだ仮想機構であって、かつ上記指定された態様で当該機構要素が連動する仮想機構を作成する。仮想機構登録部１１２６は、当該作成された仮想機構をライブラリ１１１の仮想機構ライブラリ１１１１に登録する。
【００５９】
動画像データ処理部１１３は、取得された位置の指令値に対応する、制御周期毎または複数の指定された制御周期における一連の上記特定部位の位置を求める。動画像データ処理部１１３は、上記一連の特定部位の位置の各々を時間の経過順に通る軌跡を示した軌跡データを作成する。動画像データ処理部１１３の動画像データ作成部１１３２は、上記軌跡の空間的形態を画像として画面に表示するための動画像データを、上記軌跡データに基づき作成する。ＰＣ１０は、仮想機構の動画像に特定部位の軌跡を含めた態様で動画像を表示してもよい。
【００６０】
図５は、ＰＬＣサポートプログラム１１に基づきＰＣ１０で行なわれる処理を示したフローチャートである。図５を参照して、ステップＳ２において、ＰＣ１０は、仮想機構の選択肢を表示する。すなわち、仮想機構提示部１１２１は、仮想機構の選択肢を画面に表示させる。ステップＳ４において、動画像作成プログラム部１０５は、ユーザインターフェース部１０１を介して、仮想機構を作成する指示を受け付けたか否かを判断する。
【００６１】
指示を受け付けていないと判断した場合（ステップＳ４においてＮＯ）、ステップＳ６において、仮想機構受付部１１２２は仮想機構を選択する操作（入力）を受け付ける。仮想機構受付部１１２２は、当該受け付けた操作に応じた指示を、動画像データ処理部１１３に送る。ステップＳ８において、仮想機構受付部１１２２は、仮想機構に対する設定を行なう操作を受け付ける。仮想機構受付部１１２２は、当該受け付けた操作に応じた指示を、動画像データ処理部１１３に送る。
【００６２】
ステップＳ１０において、取得部１１３１は、制御プログラムの実行結果を取得する。ステップＳ１２において、動画像データ処理部１１３は、仮想機構の特定部位の軌跡データを作成する。ステップＳ１２において、動画像データ作成部１１３２は、制御プログラムの実行結果と整合するように動作する仮想機構、および当該仮想機構の特定部位の軌跡の空間的形態を画像として画面に表示するための動画像データを作成する。ステップＳ１６において、ＰＣ１０は、作成された動画像データを用いて動画を表示する。
【００６３】
指示を受け付けたと判断した場合（ステップＳ４においてＹＥＳ）、ステップＳ１８において、ＰＣ１０は、機構要素の選択肢を表示する。すなわち、機構要素提示部１１２３は、仮想機構の定義に利用可能な少なくとも１つの機構要素を画面に表示させる。ステップＳ２０において、機構要素受付部１１２４は、どの機構要素を使用するのか、およびどの機構要素の可動部にどの機構要素を接続して連動させるかを指定する操作を受け付ける。すなわち、機構要素受付部１１２４は、表示されている機構要素のうち互いに接続する機構要素の選択と、当該選択された機構要素同士における連動の態様の指定とを受け付ける。
【００６４】
ステップＳ２２において、仮想機構作成部１１２５は、指定された内容にしたがい、新たな仮想機構を定義する。すなわち、仮想機構作成部１１２５は、選択された機構要素を含んだ仮想機構であって、かつ上記指定された態様で当該機構要素が連動する仮想機構を作成する。ステップＳ２４において、仮想機構登録部１１２６は、定義（作成）された仮想機構を、仮想機構ライブラリ１１１１に登録する。
【００６５】
図６は、ＰＬＣサポートプログラム１１を実行した際にＰＣ１０で表示されるウィンドウ１２０を示した図である。図６を参照して、ウィンドウ１２０は、設定領域１２１と、制御プログラム編集領域１２２と、画像表示リンク領域１２３とを含む。
【００６６】
設定領域１２１は、制御プログラム１２の編集やシミュレーションを行なう上で必要となる種々の設定の入力を行なうための領域である。設定領域１２１に含まれている「仮想機構」の文字をユーザが選択（たとえば、クリック）すると、ＰＣ１０は、仮想機構を選択するためのウィンドウを（図７参照）を別ウィンドウとして開く。「ＸＹ機構」の文字は、現在選択されている仮想機構がＸＹ機構であることを示す。
【００６７】
制御プログラム編集領域１２２は、ユーザが制御プログラムを入力したり、制御プログラムを編集するために用いられる。
【００６８】
画像表示リンク領域１２３をユーザが選択すると、ＰＣ１０は、画像表示画面（図１７）を別ウィンドウとして開く。
【００６９】
図７は、仮想機構を選択するためのウィンドウ１３０を示した図である。なお、図７も、ＰＬＣサポートプログラム１１の実行により、ＰＣ１０の画面に出力される画像を示している。図７を参照して、ウィンドウ１３０は、仮想機構名を示した領域１３１と、ヘルプを示した領域１３２と、ＯＫボタンを示した領域１３３とを含む。
【００７０】
ＰＣ１０は、仮想機構名を示した領域１３１に、利用可能な仮想機構のリストを表示する。仮想機構名のいずれかがユーザによってクリックされた場合、ＰＣ１０は、当該クリックされた仮想機構を選択された状態とする。図７は、矩形で囲まれたＸＹ機構１３１１が選択された状態を示している。この状態でユーザがＯＫボタンを押すと、ＸＹ機構の選択が確定する。選択された仮想機構が設定情報の入力を必要とする場合は、ＰＣ１０は、仮想機構設定画面（図１６）を別ウィンドウとして開く。
【００７１】
ＰＣ１０は、ヘルプを示した領域に、選択されている仮想機構についての説明を表示する。
【００７２】
仮想機構名を示した領域１３１の「新規作成」の領域１３１２が選択され、かつ当該選択が確定すると、ＰＣ１０は、新規仮想機構作成画面を別ウィンドウとして開く。これにより、ユーザは、新しい仮想機構を定義することができる。
【００７３】
次に、図８〜図１５に基づき、８つの仮想機構の例を示す。なお、各仮想機構は、複数の要素（機構要素）により構成されている。また、ｎを１以上の自然数とすると、第ｎ＋１要素は第ｎ要素に従属しているものとする。すなわち、ある要素は、自身より序数が１つだけ小さい要素に直接的に従属する。たとえば、第２要素は、第１要素に直接的に従属する。第３要素は、第２要素に直接的に従属し、当該第２要素により第１要素に間接的に従属する。
【００７４】
図８は、第１の仮想機構を示した図である。より詳しくは、図８は、ＸＹ機構１８００を示した図である。図８を参照して、ＸＹ機構１８００は、第１要素としてＸ方向の直動要素１８１０と、第１要素に連動する第２要素としてＹ方向の直動要素１８２０とを有する。
【００７５】
直動要素１８１０は、円柱状の直動軸１８１２と、直動軸１８１２に沿って移動する立方体状の可動部１８１１とを含む形態で表示される。直動軸１８１２の断面形状は円に限らず四角形その他の任意の形状を採用できる。なお、後述する各直動軸についても同様である。直動軸１８１２の両端には直動軸に垂直な板状の終端部材１８１３が設けられている。
【００７６】
直動要素１８１０には可動長さが設定されている。直動軸１８１２は、可動部１８１１が可動長さだけ移動できるような長さを有する軸として表示される。直動軸１８１２の長さは、可動長さの設定が変更されるまで一定である。したがって、直動軸１８１２の長さは、少なくとも１つの動画の開始から終了までの間は一定である。
【００７７】
直動要素１８１０は、可動長さのみを必須の設定情報とする。可動長さのみを設定する場合、動画像データ処理部１１３は、Ｘ方向の最小位置をゼロとみなす。
【００７８】
Ｘ方向の可動長さを設定することに代えて、Ｘ方向の可動範囲の最大値と最小値をユーザに入力させるようにＰＬＣサポートプログラム１１を構成してもよい。この場合は最大値と最小値の差が可動長さとなる。
【００７９】
なお、たとえば直動軸の長さを一定としない場合には、Ｘ方向の可動長さの設定は省略可能にしてもよい。この場合には、伸縮する直動軸の先端に可動部が設けられている表示形態にするか、可動部も省略して伸縮する直動軸の先端にＹ方向の直動要素の基端部を直接接続する表示形態にすることが考えられる。これらの場合には、Ｘ方向の直動要素の終端部材１８１３は基端側にのみ表示する。また、直動要素の可動長さ設定を省略するときの他の表示態様として、直動軸の長さを無限に、または実用上十分に長くすることができる。これらの場合、直動要素の長さが動画表示の画面内におさまらないので、画面内に直動要素の終端は表されない。あるいは、動画像の再生開始時点では適当な長さの直動軸を描画しておき、長さが足りなくなる都度、必要な長さまで表示長さが大きくなるように表示形態が変更されるように、ＰＬＣサポートプログラム１１を構成してもよい。ＰＬＣサポートプログラム１１は、表示すべきＸ方向の位置の最小値と最大値とを動画像の表示開始前に取得できる場合には、最小値と最大値との差を可動長さとして自動的に設定してもよい。
【００８０】
直動要素１８２０は、Ｙ方向の指令値またはＹ方向の実測値の変化に合わせて長さが伸縮する円柱状の直動軸１８２１の形態で表示される。Ｙ方向の直動要素１８２０の基端は直動要素１８１０の可動部１８１１に接続している。これにより、直動要素１８２０の全体は、直動要素１８１０の可動部１８１１の移動に合わせてＸ方向に移動する。なお、動画像データ作成部１１３２が、直動軸の長さを変化させる動画像データを作成する。
【００８１】
ユーザは、直動要素１８２０にも可動長さを設定することができるが、当該設定は必須ではない。可動長さを設定した場合、可動長さを超えるＹ方向の位置が与えられても直動軸１８２１の長さの変化は可動長さの限界位置で停止する。
【００８２】
直動軸１８２１は、マイナスの位置の値を与えられると、マイナスのＹ方向に伸びるように表示される。直動軸１８２１の先端位置が与えられた位置のＸＹ座標を示している。
【００８３】
本実施の形態では、直接的にまたは間接的に他の直動要素が従属している場合の直動要素は、他の要素と接続しない端部に終端部材を備えた形態で表示している。また、直接的にまたは間接的に他の直動要素が従属していない直動要素は、終端部材を備えない伸縮柱の形態で表示している。なお、終端部材の表示はすべて省略するようにしてもよい。
【００８４】
直動要素の表示形態の核となっているのは、与えられた位置の値に応じて長さが変化する線分である。この線分は太さを持たない。可動長さが設定される場合には、補助的に可動長さを持つ線分が追加される。あるいは、可動長さが設定される場合には、可動長さを持つ線分と、その線分上を移動する可動部の核である大きさを持たない点とを直動要素の核としてもよい。第１の直動要素に第２の直動要素を接続するときは、第１の直動要素の核である伸縮する線分の先端に（または可動部の核である点に）第２の直動要素の核である線分の基端が接続される。断面形状を有する軸、可動部、終端部材は、表示形態の核である線分に対する修飾要素である。ＰＬＣサポートプログラム１１は、修飾要素が物理的にリアルにふるまうことは重視していない構成であるため、修飾要素同士が干渉するような場合でも、かまわずに修飾要素同士の重ね合わせ表示を行なう。
【００８５】
このような表示形態の核に基づくと、動画像作成プログラム部１０５の設計が容易になる。ただし、表示される形態の全体が物理的にリアルにふるまうように動画像作成プログラム部１０５を設計してもかまわない。
【００８６】
図９は、第２の仮想機構を示した図である。より詳しくは、図９は、ＸＹＺ機構１９００を示した図である。図９を参照して、ＸＹＺ機構１９００は、第１要素としてＸ方向の直動要素１９１０と、第１要素に連動する第２要素としてＹ方向の直動要素１９２０と、第２要素に連動する第３要素としてＺ方向の直動要素１９３０とを有する。
【００８７】
直動要素１９１０は、可動部１９１１と、直動軸１９１２と、終端部材１９１３とを含む。直動要素１９１０は、直動要素１８１０（図８）と同じ構成であるため、直動要素１９１０の説明は繰り返さない。
【００８８】
直動要素１９２０は、円柱状の直動軸１９２２と、直動軸１９２２に沿って移動する立方体状の可動部１９２１とを含む形態で表示される。直動軸１９２２の断面形状は円に限らず四角形その他の任意の形状を採用できる。直動軸１９２２の可動部１９１１とは反対側の端部（先端）には、直動軸１９２２に垂直な板状の終端部材１９２３が設けられている。
【００８９】
直動要素１９３０は、Ｚ方向の指令値またはＺ方向の実測値の変化に合わせて長さが伸縮する円柱状の直動軸１９３１の形態で表示される。直動要素１９３０の先端１９３１Ａとは反対側の基端１９３１Ｂは、可動部１９２１に接続されている。
【００９０】
図１０は、第３の仮想機構を示した図である。より詳しくは、図１０は、ＸＹθ機構２０００を示した図である。図１０を参照して、ＸＹθ機構２０００は、第１要素としてＸ方向の直動要素２０１０と、第１要素に連動する第２要素としてＹ方向の直動要素２０２０と、第２要素に連動する第３要素として回転軸をＹ方向に向けた回転要素２０３０とを有する。
【００９１】
直動要素２０１０は、可動部２０１１と、直動軸２０１２と、終端部材２０１３とを含む。直動要素２０１０は、直動要素１８１０（図８）と同じ構成であるため、直動要素２０１０の説明は繰り返さない。
【００９２】
直動要素２０２０は、Ｙ方向の指令値またはＹ方向の実測値の変化に合わせて長さが伸縮する円柱状の直動軸２０２１の形態で表示される。すなわち、直動要素２０２０は、直動要素１８２０（図８）と同様の構成である。
【００９３】
回転要素２０３０は、直動軸２０２１よりも太く、軸方向（Ｙ方向）の長さが短い円柱の形態で表示される。この円柱の中心位置は、与えられた位置のＸＹ座標を表す。円柱の側面には軸と平行な直線状のマーク２０３１が表示されている。ユーザは、マーク２０３１の移動により回転要素２０３０が回転していることがわかる。
【００９４】
回転要素２０３０の表示形態の核となっているのは中心点であり、円柱形状は中心点に対する修飾要素である。中心点は、回転軸方向の属性と、軸に垂直で回転要素が回転するのに伴い回転する基準半径方向の属性とを有する。円柱側面に表示されたマーク２０３１は、基準半径方向を示している。
【００９５】
なお、上記においては回転要素２０３０の形状を円柱として説明したが、当該形状は断面が多角形の柱状体や球体でもよい。
【００９６】
図１１は、第４の仮想機構を示した図である。より詳しくは、図１１は、ＸＹＺθ機構２１００を示した図である。図１１を参照して、ＸＹＺθ機構２１００は、第１要素としてＸ方向の直動要素２１１０と、第１要素に連動する第２要素としてＹ方向の直動要素２１２０と、第２要素に連動する第３要素としてＺ方向の直動要素２１３０と、第３要素に連動する第４要素として回転軸をＺ方向に向けた回転要素２１４０とを有する。
【００９７】
直動要素２１１０は、可動部２１１１と、直動軸２１１２と、終端部材２１１３とを含む。直動要素２１１０は、直動要素１８１０（図８）と同じ構成であるため、直動要素２１１０の説明は繰り返さない。
【００９８】
直動要素２１２０は、可動部２１２１と、直動軸２１２２と、終端部材２１２３とを含む。直動要素２１２０は、直動要素１９２０（図９）と同じ構成であるため、直動要素２１２０の説明は繰り返さない。
【００９９】
直動要素２１３０は、Ｚ方向の指令値またはＺ方向の実測値の変化に合わせて長さが伸縮する円柱状の直動軸２１３１の形態で表示される。つまり、直動要素１９３０（図９）と同様の構成を有する。直動要素２１３０の基端２１３１Ｂは、可動部２１２１に接続されている。
【０１００】
回転要素２１４０は、直動要素２１３０の先端２１３１Ａに接続されている。回転要素２１４０は、回転軸の向きがＺ方向である以外は、回転要素２０３０（図１０）と同様の構成を有する。
【０１０１】
図１２は、第５の仮想機構を示した図である。より詳しくは、図１２は、θＸＹ機構２２００を示した図である。図１２を参照して、θＸＹ機構２２００は、第１要素として回転軸がＺ方向に向いた回転要素２２１０と、第１要素に連動する第２要素としてＸ方向の直動要素２２２０と、第２要素に連動する第３要素としてＹ方向の直動要素２２３０とを有する。つまり、θＸＹ機構２２００は、回転要素２２１０にＸＹ機構を従属させた仮想機構である。
【０１０２】
なお、直動要素２２２０は、可動部２２２１と、直動軸２２２２と、終端部材２２２３とを備える。直動要素２２２０は、直動軸２２２２の一端が回転要素２２１０に接続している以外は、直動要素１８１０（図８）と同様の構成を有する。直動要素２２３０は、直動軸２２３１を備える。直動要素２２３０は、直動要素１８２０（図８）と同様の構成を有する。
【０１０３】
ところで、図８から図１１における、Ｘ方向、Ｙ方向、Ｚ方向は、制御対象装置３０が置かれた空間全体についてのグローバル座標系における方向である。これに対し、図１２における、Ｘ方向、Ｙ方向、Ｚ方向は、回転要素２２１０の回転軸に従属するローカル座標系を規定する方向である。
【０１０４】
１つの仮想機構に含まれる回転要素の中で従属レベルが最上位（すなわち、要素（機構要素）の序数が小さい）の回転要素に従属する部分について、基準半径方向と一致するように第１ローカルＸ方向が定義される。また、当該回転要素の回転軸方向と一致するように第１ローカルＺ方向が定義される。第１ローカルＹ方向は、第１ローカルＸと第１ローカルＺと直交する方向として定義される。第１ローカル座標系の原点は回転要素の中心に一致する。回転要素の中で従属段階が２つめの回転要素（その回転要素より上位の機構要素の中に回転要素が１つだけある回転要素）に従属する部分については、同様に第２ローカル座標系が規定される。なお、第１要素に与えられる位置（回転角）がゼロのとき、第１ローカルＸ方向はグローバルＸ方向（グローバル座標系におけるＸ軸方向）を向いている。
【０１０５】
回転要素２２１０の回転軸に垂直な平面内で、回転要素２２１０の位置（回転角）ゼロのときのローカルＸ方向をどのように定義するかは上記に限らず任意に設計できる事項である。本実施形態では各仮想機構において、ユーザが最も自然と感じるであろう方向にローカルＸ方向を定義している。回転要素２２１０は、与えられる位置（回転角）が増加すると回転要素２２１０によって規定されるローカルＺ方向のマイナス側から見て反時計回りに回転する。
【０１０６】
図１３は、第６の仮想機構を示した図である。より詳しくは、図１３は、ＸθＹ機構２３００を示した図である。図１３を参照して、ＸθＹ機構２３００は、第１要素としてＸ方向の直動要素２３１０と、第２要素として回転軸がＸ方向に向いた回転要素２３２０と、第２要素に連動する第３要素として直動要素２３３０とを有する。
【０１０７】
直動要素２３１０は、直動軸２３１１と、終端部材２３１２とを含む。直動要素２３３０は、長さが伸縮する円柱状の直動軸２３３１の形態で表示される。すなわち、直動要素２３３０は、直動要素１８２０（図８）と同様の構成である。
【０１０８】
このように、ＸθＹ機構２３００では、ＸＹ機構（図８）における第１要素であるＸ方向の直動要素１８１０の可動部１８１１が第２要素である回転要素２３２０の円柱に置き換えられている。
【０１０９】
直動要素２３３０の方向は、回転要素２３２０によって規定される第１ローカルＸ方向である。回転要素２３２０に与えられる位置（回転角）がゼロのとき、第１ローカルＸ方向はグローバルＹ方向と一致する。
【０１１０】
図１４は、第７の仮想機構を示した図である。より詳しくは、図１４は、スカラ機構２４００を示した図である。図１４を参照して、スカラ機構２４００は、第１要素である回転要素２４１０と、第２要素である腕要素２４２０と、第３要素である回転要素２４３０と、第４要素である腕要素２４４０と、第５要素である回転要素２４５０と、第６要素である直動要素２４６０とを含む。
【０１１１】
回転要素２４１０は、回転軸をＺ方向に向けた回転要素である。回転要素２４１０は、回転要素２４１０によって規定される第１ローカルＸ方向に腕要素２４２０が接続されている。
【０１１２】
腕要素２４２０は設定された長さの四角柱状形態で表示される。ただし、接続する他の要素が有する表示形態との干渉により、表示上の腕要素の長さは設定された長さより短く表示される。腕要素２４２０の表示形態の核となっているのは設定された長さの線分であり、四角柱形状は線分に対する修飾要素である。
【０１１３】
回転要素２４３０は、回転軸をＺ方向に向けた回転要素である。回転要素２４３０は、第２ローカル座標を規定する。第２ローカル座標において腕要素２４２０が回転要素２４３０に接続する方向は、回転要素２４３０に与えられる位置（回転角）に応じて変化する。回転要素２４３０に与えられる回転角がゼロのとき、腕要素２４２０は第２ローカル座標系のマイナスＸ方向から回転要素２４３０に接続している。
【０１１４】
腕要素２４４０は、第２ローカルＸ方向に向けられて回転要素２４３０に接続されている。
【０１１５】
回転要素２４５０は、回転軸をＺ方向に向けた回転要素である。回転要素２４５０は、第３ローカル座標を規定する。第３ローカル座標において腕要素２４４０が回転要素２４５０に接続する方向は、回転要素２４５０に与えられる位置（回転角）に応じて変化する。回転要素２４５０に与えられる回転角がゼロのとき、腕要素２４４０は第３ローカル座標系のマイナスＸ方向から回転要素２４５０に接続している。
【０１１６】
直動要素２４６０は、軸方向をＺ方向に向けた直動要素である。より具体的には、直動要素２４６０は、長さが伸縮する円柱状の直動軸２４６１の形態で表示される。図１４は、マイナスの位置を与えられることによりマイナスＺ方向に直動軸が伸びている状態を示している。
【０１１７】
図１５は、第８の仮想機構を示した図である。より詳しくは、図１５は、極座標機構２５００を示した図である。図１５を参照して、極座標機構２５００は、第１要素である回転要素２５１０と、第２要素である腕要素２５２０と、第３要素である腕要素２５３０と、第４要素である回転要素２５４０と、第５要素である直動要素２５５０とを含む。
【０１１８】
回転要素２５１０は、回転軸をＺ方向に向けた回転要素である。回転要素２５１０に与えられる位置（回転角）がゼロのとき、第１ローカルＸ方向はグローバルＸ方向に一致する。
【０１１９】
腕要素２５２０は、回転要素２５１０に対してＺ方向に接続されている。腕要素２５３０は、腕要素２５２０に対して回転要素２５１０によって規定される第１ローカルＸ方向に接続されている。回転要素２５４０は、腕要素２５３０に対して回転軸を第１ローカルＸ方向に向けて接続されている。回転要素２５４０に与えられる位置（回転角）がゼロのとき、第２ローカルＸ方向は第１ローカルＹ方向と一致する。直動要素２５５０は、回転要素２５４０に対して回転要素２５４０によって規定される第２ローカルＸ方向に接続された直動要素である。
【０１２０】
以上例示した仮想機構以外にも、仮想機構ライブラリ１１１１には、たとえば１つの直動要素のみからなる単軸直動機構や、１つの回転要素のみからなる単軸回転機構を含めてもよい。
【０１２１】
図１６は、仮想機構を設定するためのウィンドウ１４０を示した図である。より詳しくは、図１６は、仮想機構を選択するためのウィンドウ１３０（図７）において仮想機構の選択を確定したとき新たに開かれるウィンドウ１４０である。ＰＣ１０は、仮想機構名の欄１６１に選択された仮想機構の名称を表示する。ＰＣ１０は、当該仮想機構で設定可能な項目を設定項目の欄１６２に表示する。ＰＣ１０は、ユーザから、設定値の欄１６３における設定内容の入力を受け付ける。ＰＣ１０は、当該入力により設定値を修正する。
【０１２２】
ＰＣ１０は、画面の下部の欄１６４に、選択された仮想機構の外観を表示する。ＰＣ１０は、第１要素を示す数字「１」と、第２要素を示す数字「２」と、第３要素を示す数字「３」とを表示する。当該数字は、設定項目の欄１６２における機構要素名の前にも表示されている。設定値の欄１６３における「軸Ｊ１」、「軸Ｊ２」、「軸Ｊ３」は、モータを区別して表すためのパラメータである。制御プログラムの中においても、各モータを表すために同じパラメータが用いられる。
【０１２３】
なお、ＰＣ１０においては、回転要素のデフォルトの回転方向は反時計回りであるが、図示されているように回転方向を時計回りに変更することができる。
【０１２４】
図１７は、仮想機構と特定部位の軌跡とが表示されたウィンドウ１４０を示した図である。具体的には、図１７は、図６の画像表示リンク領域１２３がクリックされたときに開かれるウィンドウ１４０を示した図である。また、図１７は、ＰＬＣサポートプログラム１１の実行により、ＰＣ１０の画面に出力される画像を示している。
【０１２５】
ウィンドウ１４０は、現在使用されている仮想機構の名称を示した領域１４１と、三角マーク１４２と、設定編集を示したボタン１４３と、座標値を示した領域１４４と、軸とモーションＦＢ（Function Block）の対応を示した領域１４５と、対象画像表示領域１４６Ａ，１４６Ｂ，１４６Ｃ，１４６Ｄと、表示設定領域１４７と、再生スライドバー１５１と、再生ボタン１５２と、停止ボタン１５３とを含む。再生スライドバー１５１は、再生時間バー１５１１と、現在時刻つまみ１５１２とを含む。
【０１２６】
ＰＣ１０は、現在使用されている仮想機構の名称を示した領域１４１と、三角マーク１４２と、設定編集を示したボタン１４３とを、ウィンドウ１４０内の上部に表示する。ＰＣ１０は、再生スライドバー１５１と、再生ボタン１５２と、停止ボタン１５３とを、ウィンドウ１４０内の下部に表示する。
【０１２７】
ＰＣ１０は、三角マーク１４２をユーザが選択すると仮想機構のリストを表示する。ＰＣ１０は、当該表示したリストに含まれる項目がユーザに選択されることにより、現在使用されている仮想機構を選択された仮想機構に変更する。ＰＣ１０は、設定編集のボタン１４３がユーザによって押されると、仮想機構設定画面を別ウィンドウとして開く。ＰＣ１０は、座標値を示した領域１４４に、座標軸ごとの指令値の現在値を表示する。
【０１２８】
ＰＣ１０は、軸とモーションＦＢの対応を示した領域１４５に、制御プログラム１２の中で使われている軸名とモーションＦＢ名との対応関係を表示する。モーションＦＢは、制御プログラム１２の中で使用されるプログラム要素である。詳しくは、モーションＦＢは、ある点から他の点までの移動のような動作の基本単位ごとにブロック化されたモーションプログラムである。モーションＦＢは、制御周期ごとの指令値を算出する。ＰＣ１０は、軸とモーションＦＢの対応を示した領域１４５に、現在働いているモーションＦＢを表示する。
【０１２９】
ＰＣ１０は、対象画像表示領域１４６Ａに、２つの直交座標軸Ｘ，ＹがなすＸＹ平面に対するＸＹＺ機構１９００および軌跡３００の投影図を表示する。ＰＣ１０は、対象画像表示領域１４６Ｂに、ＸＹＺ機構１９００および軌跡３００の３Ｄ画像を表示する。ＰＣ１０は、対象画像表示領域１４６Ｃに、２つの直交座標軸Ｘ，ＺがなすＸＺ平面に対するＸＹＺ機構１９００および軌跡３００の投影図を表示する。ＰＣ１０は、対象画像表示領域１４６Ｄに、２つの直交座標軸Ｙ，ＺがなすＹＺ平面に対するＸＹＺ機構１９００および軌跡３００の投影図を表示する。
【０１３０】
ＰＣ１０は、対象画像表示領域１４６Ａ，１４６Ｂ，１４６Ｃ，１４６Ｄの互いの位置関係に応じた配置となるように、表示設定領域１４７に、それぞれ対応する表示方法（「３Ｄ」、「Ｘ−Ｙ」、「Ｘ−Ｚ」、「Ｙ−Ｚ」）を示す各ボタン１４７１を表示する。ＰＣ１０は、４つのボタン１４７１の配置を変更する指示をユーザから受け付ければ、各対象画像表示領域１４６Ａ〜１４６Ｄの配置を変更する。ＰＣ１０は、ユーザがいずれか１つのボタン１４７１を選択する指示をユーザから受け付けると、選択されたボタンに対応する対象画像表示領域を拡大表示する。
【０１３１】
３Ｄ表示は、透視図法によって描写されている。ＰＣ１０は、ユーザのマウス操作に従って、３次元空間内での視点の位置と視線方向とを変更する。
【０１３２】
ＰＣ１０は、各対象画像表示領域１４６Ａ〜１４６Ｄにおける表示内容の表示倍率を変更できる。また、ＰＣ１０は、当該表示内容を上下左右にスクロール移動することもできる。
【０１３３】
ＰＣ１０は、各対象画像表示領域１４６Ａ〜１４６Ｄに、ＸＹＺ機構１９００を表示する。より詳しくは、ＰＣ１０は、制御対象装置３０の特定部位の軌跡３００（この実施形態では位置の指令値の軌跡）とＸＹＺ機構１９００とを重ね合わせて表示する。なお、図１７においては、軌跡３００は曲線で示されている。ＰＣ１０は、Ｚ方向の直動要素１９３０の先端１９３１Ａに、現在位置を示す現在位置マーカ１９９０を表示する。図１７においては、現在位置マーカ１９９０を、小球で示している。ＰＣ１０が表示する軌跡３００は、Ｚ方向に上昇しつつ、ＸＹ座標平面への投影としては半円を描く軌跡である。
【０１３４】
ＰＣ１０は、表示設定領域１４７に、上述した各対象画像表示領域１４６Ａ〜１４６Ｄの配置の他に、指令値の軌跡３００を表示するかどうかをユーザに選択させるチェックボックス１４７２、実測値の軌跡３００を表示するかどうかをユーザに選択させるチェックボックス１４７３、およびＸＹＺ機構１９００を表示するのかどうかをユーザに選択させるチェックボックス１４７４を表示する。
【０１３５】
ＰＣ１０は、ＸＹＺ機構１９００を表示する場合に、指令値にしたがってＸＹＺ機構１９００を動作させるのか、あるいは実測値にしたがってＸＹＺ機構１９００を動作させるのかについての選択を受け付けるラジオボタン１４７５を、表示設定領域１４７に表示する。
【０１３６】
ＰＣ１０は、ＸＹＺ機構１９００を表示しない場合には、軌跡３００だけを表示する。また、ＰＣ１０は、ＸＹＺ機構１９００を表示しない場合には、軌跡３００と現在位置マーカ１９９０だけの表示としてもよい。ユーザが詳細設定ボタンを押すと、ＰＣ１０は、軌跡の太さの設定、軌跡の表示色の設定、座標軸と座標数値を表示する設定などを行なうための操作画面を表示する。
【０１３７】
再生時間バー１５１１は、制御プログラム１２を最初から最後まで実行するのに要する時間を表している。ＰＣ１０は、現在時刻つまみ１５１２を、再生時間バー１５１１上を制御プログラム１２の実行時間の経過にしたがって左から右に移動させる。現在時刻つまみ１５１２をマウスでユーザがドラッグ操作することにより、ＰＣ１０は、動画の表示開始時刻を変更する。
【０１３８】
ユーザが再生ボタン１５２を押すと、ＰＣ１０は動画像の表示を開始する。ユーザが停止ボタン１５３を押すと、ＰＣ１０は動画像の表示を停止する。
【０１３９】
ＰＣ１０は、動画像の表示を開始すると、各機構要素が動いて現在位置マーカ１９９０が軌跡に沿って動いていく様子を表示する。ＰＣ１０は、各対象画像表示領域１４６Ａ〜１４６Ｄに、互いに同じ時刻のＸＹＺ機構１９００を描写し、各対象画像表示領域１４６Ａ〜１４６Ｄに表示されているＸＹＺ機構１９００の動きを互いに同期させる。
【０１４０】
動画を構成する順次に表示される各静止画は、軌跡と、一定の間隔で抽出された制御周期におけるＸＹＺ機構１９００とを描写したものである。一例として、動画を毎秒６０フレーム、すなわち１６．７ｍｓ間隔で表示される一連の静止画で構成するものとし、制御周期が１６７μｓであるとする。この場合、ＰＣ１０は、制御周期１００回ごとに制御周期に対応する静止画を作成して順次に表示すれば、実際の制御対象装置３０と同じ速さで動く仮想機構を表示することができる。静止画を作成する制御周期は、必ずしも一定間隔には限らない。特に、整数回ごとに１回の制御周期では希望する表示上の速さを実現できない場合には、ＰＣ１０は、平均的に希望する表示上の速さとなるように、静止画を作成する制御周期の間隔を毎回微調整してもよい。
【０１４１】
静止画を作成する制御周期の間隔を変更するためのユーザ操作を受け付けるようにＰＣ１０を構成すれば、ユーザは表示上の制御対象装置３０の動作速度を自由に早くしたり遅くしたりすることができる。全ての制御周期における静止画を順次に表示するようにＰＣ１０を構成すれば、ユーザは、仮想機構の動きをスローモーションで詳しく観察することができる。
【０１４２】
図１８は、仮想機構を新たに作成するためのウィンドウ１７０を示した図である。具体的には、図１８は、図７に示した仮想機構を選択するためのウィンドウ１３０において、「新規作成」の領域１３１２の選択が確定したときに表示されるウィンドウを示した図である。
【０１４３】
図１８を参照して、ウィンドウ１７０は、仮想機構名の欄１７１と、リスト１７２と、作成する仮想機構の要素を示した作成欄１７３と、仮想機構の作成終了の指示を受け付けるＯＫボタン１７４とを含む。
【０１４４】
リスト１７２は、機構要素の選択肢を示した欄１７２１と、軸方向の選択肢を示した欄１７２２から構成される。作成欄１７３は、機構要素を指定する欄１７３１と、軸方向を指定する欄１７３２とを含む。
【０１４５】
ＰＣ１０は、ユーザに、仮想機構名の欄１７１に新規に作成する仮想機構名を入力させる。なお、図１８では、ＸＹ機構を新規に作成する場合の例を示している。
【０１４６】
次に、ＰＣ１０は、ユーザに、各順位の要素に対応させて、機構要素の種類と軸方向とを指定させる。当該指定は、画面下部のリスト１７２からのドラッグアンドドロップ操作によって行なわれる。
【０１４７】
第２要素は第１要素に従属し、第３要素は第２要素に従属するという関係があるので、各順位の要素に対応させて機構要素を指定する操作は、どの機構要素にどの機構要素を接続して連動させるかについての指定操作となる。
【０１４８】
ユーザは、仮想機構の定義入力が終了すればＯＫボタン１７４を押す。そうすると、仮想機構管理部１１２（図３）は、新たに定義された仮想機構を仮想機構ライブラリ１１１１に追加する。
【０１４９】
図１９は、図８から図１５に例示した各仮想機構の定義情報を示した図である。各定義情報は、各順位の要素に対応する機構要素と軸方向との対応関係を示す。ユーザは、これらの例を参照すれば、上記において具体的に示した仮想機構以外の種々の仮想機構を容易に定義することができる。
【０１５０】
上述したＰＣ１０の構成および機能等の一部をまとめると以下のとおりである。
（１）ＰＣ１０は、仮想機構ライブラリ１１１１を格納した記憶装置、仮想機構提示部１１２１、仮想機構受付部１１２２、取得部１１３１、動画像データ作成部１１３２および表示制御部１１３３を備える。仮想機構ライブラリ１１１１は、必ずしもＰＣ１０に内蔵される必要はなく、たとえばサーバ装置４０に仮想機構ライブラリ１１１１を備え、それをＰＣ１０からネットワーク５０を経由して利用するようにしてもよい。仮想機構ライブラリ１１１１に収録される少なくとも一部の仮想機構は、複数の機構要素が連動関係をもって組み合わせられた構造を備える。当該仮想機構は、ユーザにおける当該仮想機構の使用の際に当該仮想機構に対応させられうる特定の制御対象装置の形態の模倣ではない抽象化された形態を備える。仮想機構提示部１１２１は、仮想機構ライブラリ１１１１に含まれている仮想機構の選択肢をユーザに提示する。仮想機構提示部１１２１は、少なくとも、機構要素の種類または機構要素同士の連動関係の態様が互いに異なる仮想機構の選択肢を複数提示する。仮想機構受付部１１２２は、仮想機構提示部１１２１が提示した仮想機構の選択肢の中から一つの仮想機構の選択を受け付ける。取得部１１３１は、制御プログラムの実行結果である、一連の位置の指令値または一連の位置の実測値を取得する。動画像データ作成部１１３２は、取得された位置の指令値または位置の実測値を用いて、制御周期毎または複数の指定された制御周期における上記選択された仮想機構の状態を示した動画像データを作成する。ＰＣ１０は、動画像データを用いた動画を画面に表示させる表示制御部１１３３を備えている。
【０１５１】
上記の構成によれば、仮想機構の駆動構造（機構要素の種類および機構要素同士の連動関係の態様）が制御対象装置３０の駆動構造と一致する仮想機構をユーザが選択した場合に、仮想機構の動画の表示をとおしてユーザに制御対象装置３０の動きを理解させることができる。特に、制御対象装置３０の動きを制御する制御プログラムが意図したとおりに働くかどうかをテストするような用途の場合には、制御対象装置３０の実際の外観と仮想機構の外観とが異なっていても大きな支障とならない。また、上記用途の場合には、ユーザは制御対象装置３０の多くの機種に共通に用いられる抽象化された形態の仮想機構の動きを見ることができれば十分である場合が多い。したがって、ＰＣ１０を用いることにより、ユーザは、制御対象装置３０ごとに外観を再現した３次元モデルを作る必要がない。また、ＰＣ１０を用いることにより、プログラムの検証を行なうなどの目的に対して十分な程度に、ユーザは制御対象装置３０の動きを理解することができる。
【０１５２】
（２）仮想機構提示部１１２１は、少なくとも、機構要素として直動要素を有する仮想機構の選択肢を提示する。直動要素は、柱状の直動軸と、当該直動軸に沿って移動する可動部とを有する。直動要素は、少なくとも１つの動画像の再生の開始から終了までの間は直動軸の長さが変化しない形態で表示される。
【０１５３】
上記の構成の直動要素は、一定の長さの範囲を可動部が移動する直動ステージのような現実の直動要素を抽象化した形態である。このため、ユーザは、現実の直動要素の動きを理解しやすい。
【０１５４】
動画データ作成部１１３２は、１つの動画像の再生の開始から終了までの間の直動要素の動きを表示できるように動画像の作成開始前に直動要素の表示上の形態、特に直動軸の長さ、を決定するようにしてもよい。動画データ作成部１１３２が動画データの作成開始前に動画データの作成に用いる指令値または実測値の範囲を調べることによってそのようなことが可能である。そうすれば、仮想機構を使用可能とするために、直動要素の形態についてユーザが入力すべき必須の設定情報が存在しないようにすることも可能である。
【０１５５】
また、動画データ作成部１１３２は、動画像の作成開始前に直動軸が初期長さを有するように直動要素の表示上の形態を決定し、動画像の作成の進行中に可動部の位置が初期長さによって表示可能な位置の範囲を超える場合には、動画の途中で、直動軸の長さを当該可動部の位置を表示可能な長さに変更するようにしてもよい。このような動画データ作成部１１３２を用いることによっても、仮想機構を使用可能とするために、直動要素の形態についてユーザが入力すべき必須の設定情報が存在しないようにすることが可能である。
【０１５６】
（３）仮想機構受付部１１２２は、さらに、機構要素の形態を設定するための入力を受け付ける。直動要素を含む仮想機構を使用可能とするための必須の入力として当該直動要素について仮想機構受付部１１２２が受け付ける入力は、可動部の可動長さを設定する入力のみである。
【０１５７】
したがって、ユーザは、直動要素の形態については、少なくとも可動長さを設定すれば仮想機構を使用できる。
【０１５８】
（４）仮想機構提示部１１２１は、少なくとも、機構要素として直動要素を有する仮想機構の選択肢を提示する。直動要素は、柱状の直動軸を有する。直動要素は、指令値または実測値の変化に応じて直動軸の長さを変化させる形態で表示される。
【０１５９】
上記の直動要素は、基端または固定部から先端までの長さが変化するピストン・シリンダ機構やラック・アンド・ピニオン機構のような現実の直動要素を抽象化した形態である。このため、ユーザは、現実の直動要素の動きを理解しやすい。
【０１６０】
この場合に、ＰＣ１０は、直動軸の長さの変化範囲の上限の入力を要求しないように、または当該入力をしないことを許すようにしてもよい。そうすれば、仮想機構を使用可能とするために、直動要素の形態についてユーザが入力すべき必須の設定情報が存在しないようにすることが可能である。
【０１６１】
（５）仮想機構提示部１１２１は、少なくとも、機構要素として回転要素を有する仮想機構の選択肢を提示する。回転要素は、対称軸を中心に回転する柱状体である。
【０１６２】
上記の回転要素は、モータや回転軸のような現実の回転要素を抽象化した形態である。このため、ユーザは、現実の回転要素の動きを理解しやすい。
【０１６３】
（６）仮想機構提示部１１２１は、少なくとも、互いに垂直に接続された２つの直動要素を機構要素として有する仮想機構と、互いに垂直に接続された３つの直動要素を機構要素として有する仮想機構との選択肢を提示する。
【０１６４】
互いに垂直に接続された２つの直動要素を機構要素として有する仮想機構（たとえば、ＸＹ機構）、または互いに垂直に接続された３つの直動要素を機構要素として有する仮想機構（たとえば、ＸＹＺ機構）を有する装置が実際に多く存在する。このため、仮想機構ライブラリ１１１１が、この２種類の仮想機構を選択肢として備えていれば、ＰＣ１０の汎用性を高くすることができる。
【０１６５】
（７）ＰＣ１０は、さらに、機構要素ライブラリ１１１２を格納した記憶装置、機構要素提示部１１２３、機構要素受付部１１２４、仮想機構作成部１１２５および仮想機構登録部１１２６を備える。機構要素ライブラリは、少なくとも１つの機構要素を収録する。新たな仮想機構を定義する場合、機構要素提示部１１２３は、機構要素ライブラリ１１１２に含まれている、仮想機構の定義に利用可能な機構要素の選択肢を画面に表示させる。機構要素受付部１１２４は、選択肢として提示されている機構要素のうち互いに接続する機構要素の選択と、当該選択された機構要素同士における連動の態様の指定とを受け付ける。仮想機構作成部１１２５は、選択された機構要素を含んだ仮想機構であって、かつ指定された態様で当該機構要素が連動する仮想機構を作成する。仮想機構登録部１１２６は、作成された仮想機構をライブラリ１１１に登録する。
【０１６６】
したがって、ＰＣ１０が、ユーザの制御対象装置３０の機構要素構成に一致する機構要素構成を有する仮想機構を選択肢として提供していない場合に、ユーザは、自らが必要とする仮想機構を作って利用することができる。
【０１６７】
なお、リアル感は低減するが、場合によっては、基端または固定部から先端までの長さが変化する現実の直動要素を、上述した長さが一定の直動軸を有する仮想の直動要素で表現してもよい。また、逆に、長さが変化しない直動要素を、基端または固定部から先端までの長さが変化する仮想の直動要素を用いて表現してもよい。
【０１６８】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６９】
１  制御システム、１１  ＰＬＣサポートプログラム、１２  制御プログラム、２１  制御プログラム、３０  制御対象装置、４０  サーバ装置、５０  ネットワーク、１０１  ユーザインターフェース部、１０２  ＰＬＣインターフェース部、１０３  制御プログラム編集部、１０４  制御プログラムシミュレーション部、１０５  動画像作成プログラム部、１１１  ライブラリ、１１２  仮想機構管理部、１１３  動画像データ処理部、１２０，１３０，１４０，１７０  ウィンドウ、１２１  設定領域、１２２  制御プログラム編集領域、１２３  画像表示リンク領域、３００  軌跡、１０１２  受付部、１１１１  仮想機構ライブラリ、１１１２  機構要素ライブラリ、１１２１  仮想機構提示部、１１２２  仮想機構受付部、１１２３  機構要素提示部、１１２４  機構要素受付部、１１２５  仮想機構作成部、１１２６  仮想機構登録部、１１３１  取得部、１１３２  動画像データ作成部、１１３３  表示制御部、１８００  ＸＹ機構、１９００  ＸＹＺ機構、１９９０  現在位置マーカ、２０００  ＸＹθ機構、２１００  ＸＹＺθ機構、２２００  θＸＹ機構、２３００  ＸθＹ機構、２４００  スカラ機構、２５００  極座標機構。
【図１】
0005581749.tif 000002
【図２】
0005581749.tif 000003
【図３】
0005581749.tif 000004
【図４】
0005581749.tif 000005
【図５】
0005581749.tif 000006
【図６】
0005581749.tif 000007
【図７】
0005581749.tif 000008
【図８】
0005581749.tif 000009
【図９】
0005581749.tif 000010
【図１０】
0005581749.tif 000011
【図１１】
0005581749.tif 000012
【図１２】
0005581749.tif 000013
【図１３】
0005581749.tif 000014
【図１４】
0005581749.tif 000015
【図１５】
0005581749.tif 000016
【図１６】
0005581749.tif 000017
【図１７】
0005581749.tif 000018
【図１８】
0005581749.tif 000019
【図１９】
0005581749.tif 000020