(57)【特許請求の範囲】
【請求項１】
工作機械をシーケンス制御するためのプログラマブルロジックコントローラから出力される制御信号を入力する入力手段と、
前記工作機械の各部の形状を定義した機械部品データと、前記プログラマブルロジックコントローラから出力される制御信号に対応する動作内容、起動トリガ、前記起動トリガに対応する起動条件、前記起動トリガに対応する動作モード、及び前記プログラマブルロジックコントローラとの信号授受に関する情報であって前記起動トリガに対応する動作前出力信号、前記起動トリガに対応する動作後出力信号を示す動作記述データと、前記動作記述データの中に親パーツ、子パーツの関係として記述され前記各部の従属関係を示す連結状態をツリー構造で示す連結情報データと、を記憶した記憶手段と、
前記工作機械のシミュレーション動作を表示するための表示手段と、
前記制御信号、前記機械部品データ、前記連結情報データ、及び前記動作記述データに基づいて、前記工作機械のシミュレーション動作を制御する制御手段と、
を備え、
前記制御手段は、前記各部の連結状態が変更された場合に前記連結情報データを書き換えると共に、前記連結情報データで示される前記各部の従属関係により前記各部を連動させたシミュレーション動作を制御することを特徴とする
工作機械シミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は工作機械シミュレーション装置に係り、特に、プログラマブル・ロジック・コントローラ（以下、ＰＬＣという）及び数値制御装置（以下、ＣＮＣ装置という）により制御される工作機械の工作機械シミュレーション装置に関する。
【０００２】
【従来の技術】
工作機械は、互いに直交するＸ，Ｙ，Ｚ方向への移動を制御するＣＮＣ装置や、各動作の順序などを制御するＰＬＣによって制御されるのが一般的である。従来、このような工作機械の動作チェックは、例えば実際の工作機械と同等の動作をコンピュータの画面上でシミュレーションするためのシミュレーションプログラムを作成し、工作機械の各部（例えばテーブル、スピンドルヘッドなど）を実際の工作機械と同じようにコンピュータの画面上でシミュレーションすることにより行っていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記シミュレーションプログラムは専用のグラフィック言語で作成されるため、工作機械の仕様を変更した場合には、これに併せてシミュレーションプログラムも変更する必要があり、動作チェックのための工数が増大する、という問題があった。
【０００４】
また、本来工作機械は、ＰＬＣやＣＮＣ装置との間で動作信号の送受信を行いながら動作するものであって、専用のグラフィック言語を使用してシミュレーションプログラムを作成した場合、これらＰＬＣやＣＮＣ装置との送受信時間などが考慮されず、実際の工作機械の動作との差異が発生していた。さらに、専用のグラフィック言語での作成では完全に互換な記述ができる保証が得られない。
【０００５】
本発明は、上記問題を解決すべく成されたものであり、実際の工作機械に忠実にシミュレーションすることができると共に、工作機械の仕様を変更した場合にも容易に対応することができ、かつ実動作に近い工作機械シミュレーション装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の発明の工作機械シミュレーション装置は、工作機械をシーケンス制御するためのプログラマブルロジックコントローラから出力される制御信号を入力する入力手段と、前記工作機械の各部の形状を定義した機械部品データと、前記プログラマブルロジックコントローラから出力される制御信号に対応する動作内容、起動トリガ、前記起動トリガに対応する起動条件、前記起動トリガに対応する動作モード、及び前記プログラマブルロジックコントローラとの信号授受に関する情報であって前記起動トリガに対応する動作前出力信号、前記起動トリガに対応する動作後出力信号を示す動作記述データと、前記動作記述データの中に親パーツ、子パーツの関係として記述され前記各部の従属関係を示す連結状態をツリー構造で示す連結情報データと、を記憶した記憶手段と、前記工作機械のシミュレーション動作を表示するための表示手段と、前記制御信号、前記機械部品データ、前記連結情報データ、及び前記動作記述データに基づいて、前記工作機械のシミュレーション動作を制御する制御手段と、を備え、前記制御手段は、前記各部の連結状態が変更された場合に前記連結情報データを書き換えると共に、前記連結情報データで示される前記各部の従属関係により前記各部を連動させたシミュレーション動作を制御することを特徴とする。
【０００７】
この発明によれば、入力手段は、工作機械をシーケンス制御するためのプログラマブルロジックコントローラから出力される制御信号を入力する。
【０００８】
記憶手段は、前記工作機械の各部の形状を定義した機械部品データと、前記各部の従属関係を示す連結状態をツリー構造で示す連結情報データと、前記制御信号に対応する動作内容を示す動作記述データと、を記憶する。
【０００９】
機械部品データは、工作機械の各部の形状やサイズなどを定義するデータであり、これらを組み合わせることにより工作機械全体の形状を定義することができる。
【００１０】
動作記述データは、制御信号に対応した各部の動作諸元、例えば部品名、動作モード（例えば直線、回転、複合、動作なし等の汎用的な動作）、動作内容（例えば座標系、動作の基準、可動範囲、１動作の移動量、１動作の所要時間、最大速度、最大加速度、連結状態）などの情報や、動作以外の情報、例えば制御信号との信号授受に関する情報、例えば起動Ｉ／Ｏ、入力Ｉ／Ｏ，出力Ｉ／Ｏ等に関する情報であって起動トリガに対応する動作前出力信号、起動トリガに対応する動作後出力信号を含んだデータである。
【００１１】
連結情報データは、工作機械各部の連結状態を例えばツリー構造で示すデータであり、動作記述データの中に親パーツ、子パーツのような関係として記述される。この連結情報データにより各部の従属関係、すなわち親パーツと子パーツとの関係を知ることができ、この従属関係により各部を連動してシミュレーション動作させることが可能となる。
【００１２】
制御手段は、前記制御信号、前記機械部品データ、前記連結情報データ、及び前記動作記述データに基づいて、前記工作機械のシミュレーション動作を制御し、表示手段に表示させる。
【００１３】
例えば、機械部品データに基づいて工作機械を表示手段に表示させる。そして、制御信号が入力された場合には、動作記述データを参照して入力された制御信号に対応する部品の動作を表示手段に表示させる。このとき、連結情報データに基づいて、部品の連結状態に応じた動作を表示させる。
【００１４】
このように、工作機械の各部毎の機械部品データや動作記述データ、連結情報データを備え、実際に工作機械を制御するＰＬＣからの制御信号との対応関係に基づいて工作機械のシミュレーションを行うため、制御手段において実行されるシミュレーションプログラムを大幅に変更することなく様々な機械モデルのシミュレーションを行うことができる。また、工作機械の仕様を変更した場合にも容易に対応することができる。
【００１５】
なお、制御手段は、各部の連結状態が変更された場合に連結情報データを書き換えると共に、連結情報データで示される各部の従属関係により各部を連動させたシミュレーション動作を制御する。これにより、各部の連結情報をシミュレーション実行中に書き換えることができ、実際の工作機械の動作を忠実にシミュレーションすることができる。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
【００１７】
図１には、本発明を適用した工作機械シミュレーション装置１０が示されている。工作機械シミュレーション装置１０は、図１に示すように、中央処理演算装置であるＣＰＵ１２，公知のオペレーティングシステムを記憶するＲＯＭ１４，後述する工作機械の動作をシミュレーションするためのシミュレーションプログラム、機械部品データ１６、動作記述データ１８、連結情報データ２０などを記憶するためのＲＡＭ２２、前記工作機械の動作を表示するためのＣＲＴ２４，ＰＬＣ２６及びＣＮＣ装置２８との通信用のインターフェース装置（以下、Ｉ／Ｆという）３０を備えている。
【００１８】
ＰＬＣ２６は、図示しないＣＰＵやシーケンスプログラムなどを記憶するための記憶装置、Ｉ／Ｏ制御装置３２などを含んで構成されており、Ｉ／Ｏ制御装置３２は工作機械の各制御対象に接続される。
【００１９】
この工作機械は、位置決め制御を行うためのＣＮＣ装置２８によって互いに直交するＸ，Ｙ，Ｚの各制御軸が制御される。ＣＮＣ装置２８は、図示しないＣＰＵやＣＮＣプログラム等を記憶するための記憶装置、Ｉ／Ｏインターフェース回路３４などを含んで構成されており、Ｉ／Ｏインターフェース回路３４には工作機械の各制御軸が接続される。
【００２０】
ＰＬＣ２６は、シーケンスプログラムに従って各制御軸の制御を行うためのＣＮＣプログラムの実行命令をＩ／Ｏ制御回路３２を介してＣＮＣ装置２８に与える。これにより、ＣＮＣ装置２８は、Ｉ／Ｏインターフェース回路３４を介して各制御軸へＣＮＣプログラムに従った軸移動指令を出力し、各制御軸の制御を行う。また、ＰＣＬ２６は、各制御軸の制御と連携して行われる工作機械各部の制御をシーケンスプログラムに従って行う。このようにして、工作機械がシーケンス制御される。
【００２１】
工作機械シミュレーション装置１０では、このＰＬＣ２６及びＣＮＣ装置２８から出力される、工作機械を実際に制御するための各種信号を、Ｉ／Ｆ３０を介して入力することができるようになっている。これにより、工作機械シミュレーション装置１０では、ＰＬＣ２６及びＣＮＣ装置２８から出力される工作機械を実際に制御するための各種信号に基づいたシミュレーションを行うことが可能となっている。
【００２２】
図２には、ＰＬＣ２６及びＣＮＣ装置２８によって制御される工作機械の一例が示されている。
【００２３】
図２に示すように、工作機械４０はベッド４２を備えており、このベッド４２上にはＹ軸方向に移動可能にサドル４４が設けられている。そして、このサドル４４上には、工作対象である図示しないワークを載置するためのテーブル４６がＸ軸方向に移動可能に設けられている。これにより、テーブル４６上に載置されたワークをＸ軸方向及びＹ軸方向へ移動させることができる。
【００２４】
また、ベッド４２上にはコラム４８が立設されており、このコラム４８には、工具５０を保持するためのソケット５２が複数個取りつけられたマガジン５４が図２において矢印Ａ方向に回転可能に取り付けられている。
【００２５】
さらに、コラム４８には、チルトアーム５６、メインアーム５８、及びスピンドル（主軸）６０が取り付けられている。ワークを工作するための工具５０は、マガジン５４が矢印Ａ方向へ回転することによりチルトアーム５６の上方へ位置するように移動され、チルトアーム５６によってメインアーム５８に保持される。
【００２６】
メインアーム５８は、その両端で工具５０を保持することができると共に、図２において矢印Ｂ方向へ旋回することができるようになっている。そして、メインアーム５８を略１８０度旋回させることにより、チルトアーム５６によりメインアーム５８の一端側で保持した工具５０をスピンドル６０の下方へ位置させることができる。
【００２７】
スピンドル６０は、Ｚ軸方向へ移動可能にコラム４８に取り付けられており、その先端部には工具５０を把持するための図示しない把持部材が取り付けられている。そして、この把持部材によって工具５０を把持し、Ｚ軸方向へ移動してテーブル４６上に載置されたワークの工作を行う。
【００２８】
ＣＮＣ装置２８では、各制御軸、すなわちサドル４４やテーブル４８、スピンドル６０を各方向へ移動させるための図示しないモータへ軸移動指令信号を出力することにより、各制御軸の制御を行ってテーブル４６上に載置されたワークの位置決めを行う。そして、ＰＬＣ２６によりワークの工作が制御される。
【００２９】
このような工作機械４０の動作チェックを行う場合には、この工作機械４０に代えて、工作機械シミュレーション装置１０をＰＬＣ２６及びＣＮＣ装置２８に接続する。
【００３０】
工作機械シミュレーション装置１０では、ＰＬＣ２６及びＣＮＣ装置２８から出力される制御信号と、ＲＡＭ２２に記憶した機械部品データ１６、動作記述データ１８、及び連結情報データ２０とに基づいて、工作機械４０と同等の動作をＣＲＴ２４上に表示させる。
【００３１】
機械部品データ１６は、図３に示すような工作機械４０各部の形状やサイズなどを定義するデータであり、図４に示すように、これらを組み合わせて工作機械４０の機械モデルを構築する。
【００３２】
動作記述データ１８は、動作モデルの動作諸元、すなわち、例えばサドル４４、テーブル４６、コラム４８等の工作機械４０の各部の動作に関する情報、例えば、部品名、動作モード（例えば直線、回転、複合、動作なし等）、動作内容（例えば座標系、動作の基準、可動範囲、１動作の移動量、１動作の所要時間、最大速度、最大加速度、連結状態）などの情報や、動作以外の情報、例えばＰＬＣ２６等との信号授受に関する情報、例えば起動Ｉ／Ｏ、入力Ｉ／Ｏ，出力Ｉ／Ｏ等に関する情報を含む動作モデルが定義されたデータである。
【００３３】
この動作モデルは、前述したように、直線や回転などの汎用的な動作を行う他、動作なしも表現できる。また、起動Ｉ／Ｏによって所望の動作モデルが起動される。この起動Ｉ／Ｏは、ＰＬＣ２６からの信号に限らず、ＣＮＣ装置２８や工作機械シミュレーション装置１０内における内部的な信号でもよい。
【００３４】
また、起動Ｉ／Ｏや入力Ｉ／Ｏ，出力Ｉ／Ｏには、各々の信号授受の順番を規定することも可能であり、入力Ｉ／Ｏや出力Ｉ／Ｏは動作前、動作中、動作後の何れのタイミングで信号の授受を行うかの指定をすることも可能である。
【００３５】
すなわち、動作記述データ１８は、ＰＬＣ２６及びＣＮＣ装置２８から出力される制御信号と、この制御信号に対応する動作との対応関係を示すテーブルデータである。動作記述データの一例を図５に示す。
【００３６】
連結情報データ２０は、図６（Ａ）に示すような各部の連結状態をツリー構造で示すデータであり、例えば図５に示す動作記述データの中の親パーツ、子パーツのデータで示される。この連結情報データにより各部の従属関係、すなわち親パーツと子パーツとの関係を知ることができ、この従属関係により各部を連動して動作させることが可能となる。この連結情報データは、各部の連結状態が変更されることにより書き換えられる。例えば、図６（Ａ）に示す連結状態から工具１がチルトアームに保持された場合には、図６（Ｂ）に示すように連結状態が切り替えられ、連結情報データが書き換えられる。
【００３７】
次に、本実施の形態の作用として、工作機械シミュレーション装置１０において実行される制御ルーチンについて図７に示すフローチャートを参照して説明する。
【００３８】
図７に示すように、ステップ１００では、ＰＬＣ２６又はＣＮＣ装置２８からの入力信号があるか否かを判断する。ＰＬＣ２６及びＣＮＣ装置２８の何れからも入力信号がない場合には、ステップ１００で否定され、ＰＬＣ２６又はＣＮＣ装置２８からの入力信号があるまで待機する。
【００３９】
ＰＬＣ２６又はＣＮＣ装置２８からの入力信号があった場合には、ステップ１００で肯定され、次のステップ１０２でＣＮＣ装置２８からのＮＣプログラムの命令（ＮＣ指令）であるか否かを判断する。
【００４０】
ＣＮＣ装置２８からのＮＣ指令でない場合には、ＰＬＣ２６からの入力信号であるため、ステップ１１２へ進む。一方、ＣＮＣ装置２８からのＮＣ指令だった場合には、ステップ１０２で肯定され、次のステップ１０４で軸移動指令をＲＡＭ２２に記憶する。なお、この軸移動指令は、例えば移動する軸や移動量、移動速度などの情報を含む。
【００４１】
次のステップ１０６では、動作記述データ１８及び連結情報データ２０を参照し、前記軸移動指令に対応する軸と部品とを関連付ける。そして、次のステップ１０８において、ステップ１０６で軸と関連付けた部品を軸移動指令に従ってＣＲＴ２４上で移動させる。
【００４２】
すなわち、例えばＸ軸の移動指令を受信した場合、図５に示すようにＸ軸に対応する部品（パーツ）は親パーツがサドル４４で子パーツがテーブル４８であることを認識することができるため、軸移動指令の移動量、移動速度などに従ってサドル４４及びテーブル４６をＣＲＴ２４上で移動させる。
【００４３】
このように、実際のＣＮＣ装置２８からの軸移動指令により、画面上で工作機械４０の動作を確認することができる。
【００４４】
そして、部品を軸移動指令に従ってＣＲＴ２４上で移動させた後は、次のステップ１１０で移動が完了したことを示す移動完了信号をＣＮＣ装置２８へ出力する。これにより、ＣＮＣ装置２８は、軸移動指令に従って部品が移動したことを認識することができ、次のＮＣ指令を出力することが可能となる。移動完了信号を出力した後は、ステップ１００へ戻って再び入力信号待ちになる。
【００４５】
一方、ステップ１０２で否定された場合、すなわち、入力信号がＰＬＣ１２６からのものだった場合には、まず、ステップ１１２で動作記述データ１８を参照し、ステップ１１４で入力信号が動作記述データ１８に記述された起動トリガと一致するか否かを判断する。
【００４６】
入力信号が動作記述データ１８に記述された起動トリガと一致しない場合にはステップ１１４で否定され、ステップ１００へ戻って再び入力信号待ちになる。
【００４７】
一方、入力信号が動作記述データ１８に記述された起動トリガと一致する場合にはステップ１１４で肯定され、次のステップ１１６において、その一致した起動トリガに対応する起動条件が、工作機械シミュレーション装置１０内部で規定される条件と一致するか否かを判断する。
【００４８】
そして、動作記述データ１８に記述された起動条件と一致しない場合にはステップ１１６で否定され、ステップ１００へ戻って再び入力信号待ちとなる。
【００４９】
一方、動作記述データ１８に記述された起動条件と一致した場合にはステップ１１６で肯定され、次のステップ１１８で一致した起動トリガに対応する動作前出力信号をＰＬＣ２６へ出力する。これにより、ＰＬＣ２６ではこれから動作が実行されることを認識することができる。
【００５０】
そして、次のステップ１２０において、一致した起動トリガに対応する動作モードが「動作なし」か否かを判断する。一致した起動トリガに対応する動作モードが「動作なし」の場合には、ステップ１２０で肯定され、次のステップ１２２で一致した起動トリガに対応する動作後出力信号をＰＬＣ２６へ出力する。これにより、ＰＬＣ２６では動作が終了したことを認識することができる。
【００５１】
一方、一致した起動トリガに対応する動作モードが「動作なし」でない場合には、ステップ１２０で否定され、ステップ１２４において、親パーツ、子パーツの記述に従って部品を画面上で移動させる。
【００５２】
例えば、ＰＬＣ２６からの入力信号６Ｗ４が‘１’だった場合、この入力信号に対応する起動条件と一致するか否か、すなわち、工作機械シミュレーション装置１０の内部信号である６Ｗ１０Ｎが‘３’であるか否かを判断し、一致した場合には、この入力信号に対応する動作をＣＲＴ２４で行わせる。
【００５３】
この場合、入力信号に対応する動作名は割り出しスタート（マガジン５４の回転）であり、動作モードは割り出し（回転）である。従って、親パーツ（この場合は無し）、子パーツ（この場合はマガジン５４）の記述に従い、マガジン５４を動作記述データ１８に記述された移動速度、回転角度などに従ってＣＲＴ２４上で移動させる。これにより、実際のＰＬＣ２６からの入力信号（起動トリガ）により、画面上で工作機械４０の動作を確認することができる。
【００５４】
このように、汎用的な動作モデルを組み合わせ、実際に工作機械４０を制御するＣＮＣ装置２８、ＰＬＣ２６からの信号との対応関係に基づいて工作機械のシミュレーションを行うため、シミュレーションプログラムを大幅に変更することなく様々な機械モデルのシミュレーションを行うことができる。また、各部の連結情報をシミュレーション実行中に書き換えることにより、例えば工具５０がマガジン５４→チルトアーム５６→メインアーム５８→スピンドル６０の順に引き渡される動きを忠実にシミュレーションすることができる。
【００５５】
なお、上記実施の形態では、ＰＬＣ２６とＣＮＣ装置２８をそれぞれ別の装置として説明したが、これに限らず、ＰＬＣ及びＣＮＣ装置の機能をソフトウェアとした公知のソフトＰＬＣ、ソフトＣＮＣを用いてもよい。
【００５６】
【発明の効果】
以上説明したように、本発明によれば、シミュレーションプログラムを大幅に変更することなく様々な機械モデルのシミュレーションを行うことができ、工作機械の仕様を変更した場合にも容易に対応することができると共に、実際の工作機械の動作を忠実にシミュレーションすることができる、という効果を有する。
【図面の簡単な説明】
【図１】  工作機械シミュレーション装置の概略構成図である。
【図２】  工作機械の概略構成を示す斜視図である。
【図３】  工作機械各部の動作モデルについて説明するための図である。
【図４】  工作機械の機械モデルについて説明するための図である。
【図５】  動作記述データの一例を示す図である。
【図６】  連結情報データの一例を示す図である。
【図７】  工作機械シミュレーション装置において実行される制御プログラムの流れを示すフローチャートである。
【符号の説明】
１０    工作機械シミュレーション装置
１２    ＣＰＵ（制御手段）
１４    ＲＯＭ
１６    機械部品データ
１８    動作記述データ
２０    連結情報データ
２２    ＲＡＭ（記憶手段）
２４    ＣＲＴ
２６    ＰＬＣ
２８    ＣＮＣ装置
３０    Ｉ／Ｆ（入力手段）
３２    Ｉ／Ｏ制御装置
３４    Ｉ／Ｏインターフェース回路
４０    工作機械
４２    ベッド
４４    サドル
４６    テーブル
４８    コラム
５０    工具
５２    ソケット
５４    マガジン
５６    チルトアーム
５８    メインアーム
６０    スピンドル
【図１】
0004023978.tif 000002
【図２】
0004023978.tif 000003
【図３】
0004023978.tif 000004
【図４】
0004023978.tif 000005
【図５】
0004023978.tif 000006
【図６】
0004023978.tif 000007
【図７】
0004023978.tif 000008