(57)【要約】【課題】プログラマブルコントローラで制御される数値制御機械のシミュレーションの容易化。【解決手段】プログラマブルコントローラは、外部出力要素に連動して動作する内部出力要素と、その外部出力要素のオンオフ状態を変化させた場合に、その後、状態の変化が予定されている外部入力要素に対して、内部出力要素の動作に連動して仮想入力値を与える模擬制御ロジックが組み込まれたシーケンスプログラムを有している。シミュレーション指令が付与された時には、プログラマブルコントローラに対して、外部出力要素に対応した全ての外部リレーを動作させず、外部接点のオンオフ状態を外部入力要素に読み込まないことを指令する入出力遮断指令手段を有する。シミュレーション指令が付与された時には、入出力遮断指令手段による指令の実行の後、プログラマブルコントローラに対して、模擬制御ロジックを起動することを指令する模擬制御ロジック起動手段とを有する。【選択図】図３
2009223779.tif 000002
【特許請求の範囲】
【請求項１】
ロボットや工作機械などの数値制御機械を制御し、その数値制御機械の動作を画面上において表示して、動作を監視できる機能を有した制御装置において、
外部出力要素のオンオフ状態に対応して外部リレーを制御し、外部接点のオンオフ状態を外部入力要素のオンオフ状態として入力するプログラマブルコントローラを有し、
前記プログラマブルコントローラは、前記外部出力要素に連動して動作する内部出力要素と、前記外部出力要素のオンオフ状態を変化させた場合に、その後、状態の変化が予定されている外部入力要素に対して、前記内部出力要素の動作に連動して仮想入力値を与える模擬制御ロジックが組み込まれたシーケンスプログラムを有し、
シミュレーション指令が付与された時には、前記プログラマブルコントローラに対して、前記外部出力要素に対応した全ての外部リレーを動作させず、前記外部接点のオンオフ状態を前記外部入力要素に読み込まないことを指令する入出力遮断指令手段と、
シミュレーション指令が付与された時には、前記入出力遮断指令手段による指令の実行の後、前記プログラマブルコントローラに対して、前記模擬制御ロジックを起動することを指令する模擬制御ロジック起動手段と、
を有し、
外部リレーを動作させることなく、前記プログラマブルコントローラのプログラムを動作させることにより、前記数値制御機械の各軸座標を入力して、前記数値制御機械の動作を、前記画面上に表示するようにした
ことを特徴とする制御装置。
【請求項２】
前記模擬制御ロジックは、前記内部出力要素を内部タイマーリレーとし、その内部タイマーリレーの接点の動作に連動して、前記仮想入力値を与えるロジックであることを特徴とする請求項１に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットや数値制御工作機械などのコンピュータプログラムにより各動作軸が数値制御される数値制御機械の動作を、画面上で監視及びシミュレートできる制御装置に関する。特に、数値制御機械の自動又は手動による動作を、事前に、シミュレートできるようにした装置に関する。
【背景技術】
【０００２】
従来から、下記特許文献１に開示されているように、ロボットや数値制御工作機械などの数値制御機械の動作を、その機械に取り付けられているディスプレイ上において、３次元モデルの動作として監視することが行われている。また、下記特許文献２においては、通信線路を用いて、離れた所で、工作機械の動作を３次元モデルの動作で監視する装置が開示されている。
【０００３】
【特許文献１】特開２００６−８５３２８
【特許文献２】特開２０００−１３２２１４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、上記の技術は、機械が実際に運転している時の動作を画面上で監視する装置であって、動作を、事前に、シミュレートする装置ではない。一方、数値制御機械が、異常停止した場合には、作業者は原因を究明して、異常停止の原因を取り除いた後に、動作を継続させたり、原点復帰指令を与えて数値制御機械の各軸を所定の原点に復帰させることが行われている。このような動作の復帰を行う場合に、機械の動作部分が他の部分に干渉してしまう場合がある。ところが、このような場合に、数値制御機械を、現実には、動作させずに、数値制御機械の動作を、事前に、シミュレートして、画面上でその数値制御機械の３次元モデルなどを用いてその動作を表示することはできなかった。すなわち、シミュレーションのためにプログラマブルコントローラを動作させるとすると、当然に、外部リレーに通電されるために、数値制御機械が動作することになるため、数値制御機械の動作をシミュレートすることは困難であった。
【０００５】
そこで、本発明の目的は、数値制御機械をプログラマブルコントローラを用いた制御装置で制御する場合において、数値制御機械の動作のシミュレーションを容易に行えるようにすることである。
【課題を解決するための手段】
【０００６】
上記の課題を解決するための発明の構成は、ロボットや工作機械などの数値制御機械を制御し、その数値制御機械の動作を画面上において表示して、動作を監視できる機能を有した制御装置において、外部出力要素のオンオフ状態に対応して外部リレーを制御し、外部接点のオンオフ状態を外部入力要素のオンオフ状態として入力するプログラマブルコントローラを有し、プログラマブルコントローラは、外部出力要素に連動して動作する内部出力要素と、その外部出力要素のオンオフ状態を変化させた場合に、その後、状態の変化が予定されている外部入力要素に対して、内部出力要素の動作に連動して仮想入力値を与える模擬制御ロジックが組み込まれたシーケンスプログラムを有し、シミュレーション指令が付与された時には、プログラマブルコントローラに対して、外部出力要素に対応した全ての外部リレーを動作させず、外部接点のオンオフ状態を外部入力要素に読み込まないことを指令する入出力遮断指令手段と、シミュレーション指令が付与された時には、入出力遮断指令手段による指令の実行の後、プログラマブルコントローラに対して、模擬制御ロジックを起動することを指令する模擬制御ロジック起動手段と、を有し、外部リレーを動作させることなく、プログラマブルコントローラのプログラムを動作させることにより、数値制御機械の各軸座標を入力して、数値制御機械の動作を、画面上に表示するようにしたことを特徴とする制御装置である。
【０００７】
ここにおいて、数値制御機械とは、ロボットや数値制御工作機械など、コンピュータプログラムにより、各動作軸が数値制御される全ての機械を指すものである。また、プログラマブルコントローラのプログラムは、必ずしも、ラダー回路で、コーディングされている必要はない。通常、多くの場合は、ラダー回路でコーディングされているので、以下の説明では、説明を分かり易くするために、ラダー回路によって、プログラムがコーディングされている場合を想定する。プログラマブルコントローラは、プログラムのシーケンシャルな実行により、外部接点の状態を入力して、外部リレーをオンオフ制御する装置である。ここで、外部接点は、リミットスイッチ、リレー接点、ホール素子、その他、機械的な接点、可動部と固定部間の変位に応じて変化する電磁気的結合量により動作する電磁気的な接点を含むものである。また、外部リレーは、リレーコイルへの通電により磁気的にリレー接点がオンオフするものの他、トランジスタ、フォトカプラ、サイリスタなどの電圧、電流により回路がオンオフされる半導体リレーなども含み、電気により、電流路が機械的又は電気的に開閉される全てのスイッチを意味する。また、外部リレー、外部接点は、実在の回路要素であって、プログラマブルコントローラの外部に付されていることを意味し、内部リレー、内部接点などのように、シーケンスプログラム上の仮想リレー、仮想接点と区別して用いている。
【０００８】
制御ロジックは、出力要素や入力要素を回路要素としているラダー回路に対応するプログラムである。出力要素や入力要素は、ラダー回路上又はシーケンスプログラム上の論理上の回路要素である。本発明では、出力要素には外部出力要素と内部出力要素があり、入力要素には外部入力要素と内部入力要素とがあるものとする。上記の一つの外部リレーには、一つの外部出力要素が割り当てられ、上記の一つの外部接点には、一つの外部入力要素が割り当てられる。内部出力要素と内部入力要素は、シーケンスプログラムが仮想的に扱う内部リレーと内部接点に対応するものである。また、本発明では、内部出力要素は、内部タイマーリレー、数値を出力できる出力レジスタにも対応させ、内部入力要素は、その内部タイマーリレーの接点、数値を入力できる入力レジスタにも対応させるものとする。その他、内部出力要素は、タイマの起動部、カウンタへの値の入力部、内部入力要素は、タイマの値又は結果の出力部、カウンタの値の出力部にも対応させるものとする。要するに、本発明では、出力要素は、シーケンスプログラム上、値を出力させる対象、入力要素は、値を取得する対象を意味するものとする。これらの出力要素、入力要素は、シーケンスプログラム上は、値を記憶するためのメモリアドレス（変数名）である。
【０００９】
制御ロジックは、ラダー回路上は、上記の入力要素、出力要素を用いた直列回路（ＡＮＤ演算子）や並列回路（ＯＲ演算子）により、コーディングされる。プログラマブルコントローラには、上記の外部接点に対応した外部入力要素には、メモリ上の外部入力アドレスが割り当てられ、外部リレーに対応した外部出力要素には、メモリ上の外部出力アドレスが割り当てられ、内部入力要素には、メモリ上の内部入力アドレス、内部出力要素には、メモリ上の内部出力アドレスが割り当てられている。プログラムの実行により、外部入力アドレスと内部入力アドレスの値が読み込まれ、所定の制御ロジックで、論理演算した結果が、外部出力アドレスと内部出力アドレスに書き込まれる。また、ラダー回路の１順の制御、すなわち、ユーザによりコーディングされたシーケンスプログラムの一巡の処理が終了すると、外部接点の状態が、外部入力アドレスに読み込まれ、外部出力アドレスに記憶されている値に応じて、外部リレーがオンオフ制御される。この処理は、プログラマブルコントローラが本来有する機能であり、リフレッシュと言われている。
【００１０】
模擬制御ロジックは、シーケンスプログラムを、実際の数値制御機械を動作させることなく、実行するためのプログラムである。すなわち、模擬制御ロジックは、外部出力要素に連動して動作する仮想の内部出力要素を有している。この内部出力要素としては、内部メモリ、内部リレー、タイマーリレーなどである。実際の動作では、外部リレーに対応した外部出力要素がオンになると、モータなどのアクチュエータが起動され、その後、アクチュエータの駆動軸の座標が所定値となると、リミットスイッチなどの外部接点に対応した外部入力要素がオンとなる。シーケンスプログラムは、この外部入力要素の状態に応じて、他の外部出力要素の値を決定し、実際に数値制御機械を動作させるための制御ロジック（以下、「通常動作制御ロジック」という）を有している。模擬制御ロジックは、この通常制御ロジックとは別に、外部出力要素の動作に連動して、内部出力要素を動作させ、その内部出力要素の動作に連動して、上記の外部入力要素に対して、仮想入力値を与えるプログラムである。この模擬制御ロジックは、通常動作制御ロジックのプログラムに対して、サブルーチンプログラムで作成される。
【００１１】
入出力遮断指令手段は、シミュレーション指令が付与された時には、プログラマブルコントローラに対して、外部出力要素に対応した全ての外部リレーを動作させず、外部接点のオンオフ状態を外部入力要素に読み込まないことを指令する手段である。たとえば、全ての外部リレーや外部接点に対する給電を停止することや、上記のリフレッシュ動作を停止させる方法を採用することができる。模擬制御ロジック起動手段は、上記の模擬制御ロジックを起動する手段である。この時、通常動作制御ロジックのプログラムの動作を停止させることがない。模擬制御ロジックを起動することにより、通常動作制御ロジックの動作を継続させることができるようにしたのが、本発明の特徴である。
【００１２】
このように、プログラマブルコントローラに、模擬制御ロジックを設けることで、外部リレーを動作させずに、したがって、アクチュエータの駆動がなく、アクチュエータの所定位置での位置決め完了信号が入力されなくとも、模擬制御ロジックが起動して、実際のシーケンスプログラムが動作しているのと同様な処理を実行することができる。この結果、数値制御機械を動作させることなく、画面上に、数値制御機械のシミュレーションを実行することが可能となる。
【００１３】
他の発明は、模擬制御ロジックを、内部出力要素を内部タイマーリレーとし、その内部タイマーリレーの接点の動作に連動して、仮想入力値を与えるロジックとしたことである。すなわち、ラダー回路上、実際のアクチュエータを起動する外部出力要素がオンになった時、所定時間の後に、所定の位置決め完了信号を仮想的にタイマで出力するようにしている。そして、この信号により、外部リレーが動作した後に、通常動作の場合に、動作するであろう外部接点に対応した外部入力要素の状態を決定するようにしている。これにより、実際にはアクチュエータが駆動されなくとも、模擬的に位置決め完了信号が発生される結果、シーケンスプログラムは、制御ロジックの動作を継続して実行させることができる。このような模擬制御ロジックを、外部出力要素、外部入力要素に対応して、設けることで、位置決め完了信号などが帰還されなくとも、シーケンスプログラムを停止させることなく、連続動作させることができる。この結果として、画面上に、数値制御機械の動作を表示することができる。
【発明の効果】
【００１４】
本発明によると、シーケンスプログラムに、模擬制御ロジックを設けることにより、外部リレーが動作せず、したがって、その外部リレーの動作の後に入力される予定の外部接点の状態が変化しなくとも、その外部接点に対応する外部入力要素に仮想入力値が与えられる。この結果、数値制御機械を動作させることなく、通常動作制御ロジックを動作させることができるので、数値制御機械の各軸座標を入力して、画面上に、動作表示をすることができる。これにより、実際の制御の前に、動作をシミュレーションすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を具体的な実施例に基づいて説明する。
ただし、本発明の実施形態は、以下に示す個々の実施例に限定されるものではない。
【実施例１】
【００１６】
図１に、本発明に係る制御装置と、その制御装置で駆動される数値制御機械を示す。数値制御機械は、数値制御研削盤、数値制御切削盤、ロボットなど、任意であるが、本実施例では、ＮＣ曲面加工機とした。本実施例に係る装置は、主として、主制御装置１２、プログラマブルコントローラ１１、数値制御装置１０、ＮＣ曲面加工機２０を有している。本発明に係る制御装置は、本実施例では、主として、主制御装置１２とプログラマブルコントローラ１１で構成されている。
【００１７】
ＮＣ曲面加工機２０は、数値制御装置１０に入力されているＮＣデータに基づいてワーク２６の３次元曲面加工を行う機械である。数値制御装置１０は、ＮＣデータに基づいて、軌跡の補間演算などを実行して、指定された速度で、ＮＣ曲面加工機２０の各軸座標を制御するために、サーボモータ駆動回路３６、３７、３８に、時々刻々、その時の各軸座標の指令値を出力する装置である。サーボモータ駆動回路３６、３７、３８は、それぞれにより駆動されるサーボモータ２５、２８、２９を回転させて、Ｘ軸スライドテーブル２１、Ｙ軸スライドテーブル２２、Ｚ軸スライドテーブル２３を制御する回路である。ベッド３２上には、Ｚ軸方向に移動可能に、Ｚ軸スライドテーブル２３が設けられている。そのＺ軸スライドテーブル２３の上には、Ｂ軸回転テーブル３１がＺ軸スライドテーブル２３に対して回転可能に設けられている。そのＢ軸回転テーブル３１の上には、Ｙ軸スライドテーブル２２が、Ｂ軸回転テーブル３１に対して上下方向に移動可能に設けられている。また、ベッド３２上には、コラム３３が設けられ、このコラム３３に対して、Ｘ軸方向に移動可能にＸ軸スライドテーブル２１が設けられている。また、このＸ軸スライドテーブル２１には、ワーク２６を主軸の回りに回転させる主軸台３４が設けられている。Ｂ軸回転テーブル３１は、工具２７の軸を、加工期間中、ワーク２６の加工面の法線方向に維持するためのものである。
【００１８】
これらの装置により、工具２７とワーク２６との相対位置を３次元的に変化させることによりワーク２６を３次元的に曲面加工することができる。また、プログラマブルコントローラ１１は、数値制御装置１０を制御して、全体の加工フローを制御すると共に、主軸モータ駆動回路１５と、Ｂ軸回転テーブル駆動回路１６や、クーラントなどその他の周辺機器を制御する装置である。主軸モータ駆動回路１５は、ワーク２６を回転させる主軸モータ２４を駆動する回路であり、Ｂ軸回転テーブル駆動回路１６は、Ｂ軸回転テーブル３１を駆動するモータ３０を駆動する回路である。また、プログラマブルコントローラ１１は、周辺機器などを制御するための外部リレーのオンオフを制御すると共に、各駆動軸や周辺機器に設けられたリミットスイッチなどの外部接点の状態を入力する。ＮＣ曲面加工機２０自体は、良く知られており、本件発明の要部を構成しないので、詳しい説明は省略する。
【００１９】
本発明における制御装置は、コンピュータシステムで構成された主制御装置１２と、プログラマブルコントローラ１１とを有している。主制御装置１２は、ＮＣ曲面加工機２０の動作の監視及びシミュレーションなどを行う装置である。主制御装置１２は、プログラムの記憶されているＲＯＭ１２ｂ、ＲＡＭ１２ｃ、プログラムやデータを保存するハードディスク１２ｄ、プログラムを実行するＣＰＵ１２ａ、インタフェース１２ｅを介して、作業者からの指令を入力するキーボード１３、３次元モデルによる動作の表示を行うディスプレイ１４を有している。また、主制御装置１２には、シーケンスコントローラ１１と数値制御装置１０が、通信線路４０とインタフェース１２ｆを介して接続され、シーケンスコントローラ１１と数値制御装置１０は、通信線路４０を介して、相互に接続されている。また、通信線路４０を介して、数値制御装置１０からは、Ｘ，Ｙ，Ｚ軸の各軸座標の指令値又は図示しないロータリエンコーダからの位置のフィードバック値が、主制御装置１２に入力される。主制御装置１２は、この各軸座標をリアルタイムで入力して、この座標に基づき、ディスプレイ１４上に、数値制御機械の３次元モデルの動作を表示して、監視したり、数値制御機械を動作させずに、動作をシミュレーションする。
【００２０】
次に、プログラマブルコントローラ１１の構成について説明する。図２に示すように、シーケンスプログラムを実行するＣＰＵ５０と、シーケンスプログラム（オブジェクトプログラム）、被制御対象の入出力要素の状態を格納するＲＡＭ５５と、ＣＰＵ５０の処理実行用のプログラムの格納されたＲＯＭ５１、タイマ５６を有している。外部リレー５７０１などは、駆動回路５７、入出力インタフェース５４を介してＣＰＵ５０により制御される。また、外部接点５７０２などの状態は、駆動回路５７、入出力インタフェース５４を介してＣＰＵ５０により読み取られる。特に、多数の外部リレー５７０１への給電を制御するために、給電制御外部リレー５７０３が設けられており、給電回路に直列にそのリレーで駆動される常閉の給電制御外部リレー接点５７０４が挿入されている。
【００２１】
又、ＲＡＭ５５には、外部接点の状態を記憶する外部入力要素状態メモリ５５１（外部入力アドレス）、外部リレーの状態を記憶する外部出力要素状態メモリ５５２（外部出力アドレス）、内部リレー接点などの状態を記憶する内部入力要素状態メモリ５５３（内部入力アドレス）、内部リレーなどの状態を記憶する内部出力要素状態メモリ５５４（内部出力アドレス）が形成されている。なお、外部リレー５７０１には、常に、それにより動作するリレー接点があり、給電制御外部リレー５７０３には、給電制御外部リレー接点５７０４があるので、これらの外部リレーに対応する外部出力要素の状態は、内部入力要素の状態として、参照できるように構成されている。すなわち、外部出力要素状態メモリ（外部出力アドレス）の値は、同一アドレス指定による内部入力要素の値として参照できるようになっている。また、逆に、外部入力要素の値は、内部出力要素の値により書き換えられるように構成されている。すなわち、外部入力要素状態メモリ( 外部入力アドレス) の値は、同一アドレス指定による内部出力要素の値により書き換えることができる。同様に、内部リレーについては、仮想リレーではあるが、それによって駆動される接点を想定できるので、内部出力要素は、内部入力要素としても参照されるようになっている。すなわち、内部出力要素状態メモリ（内部出力アドレス）の値は、同一アドレス指定による内部入力要素の値として参照できるようになっている。逆に、内部入力要素の値を、内部出力要素の値により書き換えることができる。すなわち、内部入力要素状態メモリ（内部入力アドレス）の値は、同一アドレス指定による内部出力要素の値により書き換えることができる。内部ＲＡＭ５５には、その他、リンク要素状態メモリ５５５、及びシーケンスプログラムメモリ５５６が形成されている。リンク要素状態メモリ５５５は、後述するように、主制御装置１２からシミレーション指令が付与された時に、設定される入力要素の状態を記憶し、また、数値制御装置１０に対して出力する値を記憶するメモリである。なお、シーケンスプログラムメモリ５５６にはシーケンス制御を規定したラダー回路に対応したオブジェクトプログラムが記憶される。ラダー回路は、入出力インターフェース５８を介して、ＣＰＵ５０に接続されているプログラミング装置５９によりコーディングされる。
【００２２】
ＲＡＭ５５において、0000番地から1FFF番地は、自己のプログラマブルコントローラ１１に属する外部入力要素、外部出力要素、内部入力要素、内部出力要素（以下、これらを総合する場合には、「入出力要素」という）に、割当られたメモリであり、それらの入出力要素の状態は、この番地の内容を参照することによって判別できる。又、3000番地から3FFF番地は、主制御装置１２及び数値制御装置１０とから読み書き可能なメモリである。
【００２３】
プログラマブルコントローラ１１では、図３に示すようなラダー回路図によってシーケンスプログラムが作成される。図３に示す如く、入出力要素には、プログラマブルコントローラ１１が入出力要素の状態を参照する時に使用するメモリのアドレスを付した要素名が付けられている。例えば、「Ｌ1200」は、1200番地に割当られた外部入力要素のアドレスを示している。又、「Ｌ3000」「Ｌ3800」は3000番地、3800番地に割当られたリンク要素、すなわち、主制御装置１１や数値制御装置１０から、通信線路４０を介して、書込と読み込みができる入出力要素のアドレスを示している。
【００２４】
図３に示すラダー回路において、プログラマブルコントローラ１１に始動指令が入力されると、まず、ラダー回路では現れていない初期処理が実行される。本明細書では、オンオフの状態と、入出力要素の値を、次のように定義する。外部リレーと外部出力要素、及び、内部リレーと内部出力要素に関して、通電状態をオン状態、その状態を表す値を１、非通電状態をオフ状態、その状態を表す値を０とする。また、外部接点と外部入力要素、及び、内部接点と内部入力要素については、閉状態をオン状態、その状態を表す値は、常開接点については１、常閉接点については０（常閉接点は否定演算子と見做す）、開状態をオフ状態、その状態を表す値は、常開接点については０、常閉接点については１とする。
【００２５】
初期処理では、全ての外部リレー５７０１を初期値のオフ状態とする。また、給電制御外部リレー５７０３も、初期値のオフ状態を維持して、常閉接点である給電制御外部リレー接点５７０４のオン状態を継続させる。また、対応する外部出力要素状態メモリ５５２に初期値の０が設定される。そして、外部接点５７０２のオンオフ状態を検出して、対応する外部入力要素メモリ５５１に値が書き込まれる。
【００２６】
第０行目の制御ロジックから、実行が開始される。第０行目は、決められたプログラムを起動することを意味する。第１行目の制御ロジックでは、外部入力要素Ｌ1200の状態がオン、すなわち、対応する外部入力要素状態メモリ（外部入力アドレス）の値が１となると、外部出力要素Ｌ1800がオン、すなわち、対応する外部出力要素状態メモリ（外部出力アドレス）の値が１に設定される。ここでは、外部入力要素Ｌ1200に対応する外部接点は、操作盤上の操作スイッチの接点とする。また、外部出力要素Ｌ1800は、対応する外部リレー５７０１の状態を制御する要素であるが、外部リレー５７０１はリレー接点を有するので、このリレー接点の値を内部入力要素Ｌ1800として参照することができる。すなわち、1800番地の外部出力アドレスの値を、内部入力要素Ｌ1800の値として参照することができる。
【００２７】
したがって、外部出力要素Ｌ1800がオンになると、常開接点である内部入力要素Ｌ1800がオンとなる。外部出力要素Ｌ1800の状態は、内部入力要素Ｌ1800と常閉接点の外部入力要素Ｌ1100との直列接続回路（ＡＮＤ演算）と、外部入力要素Ｌ1200との並列接続回路（ＯＲ演算）とによって、決定される。この場合には、外部出力要素Ｌ1800がオンとなると内部入力要素Ｌ1800もオンとなるので、外部出力要素Ｌ1800は、オン状態を継続することになる。すなわち、操作スイッチである外部接点がオフとなり、外部入力要素Ｌ1200がオフとなっても、外部出力要素Ｌ1800は、オンを保持することになる。
【００２８】
これにより、外部出力要素Ｌ1800に対応する外部リレー５７０１は、オンとなった後、オン状態を継続することになり、この外部リレー５７０１により通電されるアクチュエータは駆動を継続する。外部入力要素Ｌ1100に対応する外部接点５７０２を、このアクチュエータにより駆動される機器の位置決めをするための常閉のリミットスイッチとする。外部出力要素Ｌ1800は、外部入力要素Ｌ1100がオフ状態になるまで、オン状態を継続するので、このアクチュエータは、リミットスイッチがオフするまで、駆動を継続することになる。リミットスイッチがオフすると、外部入力要素Ｌ1100がオフ状態となり、外部出力要素Ｌ1800は、オフ状態に変化する。これにより、アクチュエータの起動が停止する。実際のシーケンスプログラムは、このような外部出力要素を制御し、したがって、外部リレーを制御するための通常動作制御ロジックの集合で、作成されている。図３の例では、通常動作制御ロジックは、一つの外部出力要素を制御するための制御ロジックしか表現されていないが、実際には、制御すべき外部リレーに対応する外部出力要素と、内部の論理演算を実行するための内部出力要素の分だけの制御ロジックが存在する。
【００２９】
次に、本発明に係る模擬制御ロジックについて説明する。第２行目以下の制御ロジックが、模擬制御ロジックである。第２行目の制御ロジックにおいて、主制御装置１２により、オンに設定されるリンク要素Ｌ3000がオン状態となると、サブルーチンがコールされる。これにより、第３行目以下のサブルーチンが実行される。第３行目以降のサブルーチンが模擬制御ロジックである。第３行目の制御ロジックは、シーケンスプログラムを一巡させた後に、外部出力要素の値に応じて、外部リレーの状態を制御し、外部接点の状態に応じて、外部入力要素の値を設定するリフレッシュ処理を実行させないことを指令する命令語である。メモリ上のアドレスＰＡＲＡに１を設定することによって、このリフレッシュ処理を行うことなく、次サイクルのシーケンスプログラムの実行が行われる。
【００３０】
この第４行目の模擬制御ロジックは、外部出力要素Ｌ1900をオン状態にして、この要素に対応する給電制御リレー５７０３に通電して、給電制御リレー接点５７０４をオフとすることで、全ての外部リレー５７０１への給電を停止させるロジックである。この処理により、上記の通常動作制御ロジックが実行されて、ラダー回路上において、外部出力要素がオンになっても、外部リレーには、通電されないので、この外部リレーに連動するアクチュエータは、駆動されない。
【００３１】
次に、第５行目の模擬制御ロジックは、内部入力要素Ｌ1800として参照される外部出力要素Ｌ1800の値が１、すなわち、対応する外部リレー５７０１がオンとなると、タイマＴＭＲが駆動される。このタイマＴＭＲは、Ｌ2800で参照される内部出力要素である。このタイマＴＭＲは、設定された時間をタイマ５６により計数し、所定時間経過した時に、内部出力要素Ｌ2800に対応した内部出力要素状態メモリ５５４のアドレス（内部出力アドレス）に、値１を設定する。このタイマＴＭＲは、外部出力要素Ｌ1800に連動して動作する内部出力要素に相当する。
【００３２】
第６行目の制御ロジックでは、タイマＴＭＲの計数の完了により、内部入力要素Ｌ2800として参照される内部出力要素Ｌ2800の値が１になると、内部出力要素Ｌ1100の値を１にする制御ロジックである。外部入力要素Ｌ1100の値は、同一の外部入力アドレスを参照しているこの内部出力要素Ｌ1100の値１により書き換えられる。これにより、外部入力要素Ｌ1100は、値１の否定演算により、値０、すなわち、オフ状態となる。したがって、この模擬制御ロジックは、外部出力要素に連動して動作する内部出力要素によって、外部入力要素Ｌ1100に、仮想入力値を与えるロジックとなる。この場合には、ラダー回路上において、外部入力要素の値を変更しているのであって、対応する外部接点が変化している訳ではない。
【００３３】
次の第７行目の模擬制御ロジックは、リンク入力要素Ｌ3000がオンになると、リンク出力要素Ｌ3800をオンにするロジックである。このリンク出力要素Ｌ3800は、数値制御装置１０が参照するものであり、このリンク出力要素Ｌ3800の値が１であると、数値制御装置１０は、各軸を駆動するための位置の指令値を出力して、主制御装置１２は各軸座標を入力することができるが、サーボモータ駆動回路３６、３７、３８への通電を遮断して、これを駆動させないようにしている。これにより、各軸は駆動されない。
【００３４】
このような模擬制御ロジックであるサブルーチンの実行が終了すると、元の呼び出し元の通常制御ロジックに戻る。そして、次の実行サイクルにおいて、第１行目の制御ロジックが実行される時には、外部入力要素Ｌ1100は、オフ状態となっているので、外部出力要素Ｌ1800はオフ状態となる。このようにして、実際の外部リレーに対しては、通電を制御することなく、通常動作制御ロジックを継続して実行することが可能となる。
【００３５】
以上のように、各外部出力要素の状態に連動して、各外部入力要素に仮想入力値を与える模擬制御ロジックを設けることで、シーケンスプログラムを停止させることなく、継続して実行させることができる。シーケンスプログラムが継続して、実行されるので、数値制御装置１０による各軸座標値だけを主制御装置１２に入力することで、３次元モデルの位置を表示することができる。
【００３６】
図４は、主制御装置１２の処理手順を示したフローチャートである。ステップ２００では、キーボード１３の入力により、モード指令が入力される。ステップ２０２では、入力されたそのモード指令がシミュレーションモード指令か否かが判定される。シミュレーションモード指令の場合には、ステップ２０８において、リンク入力要素Ｌ3000  をオンとする。これにより、プログラマブルコントローラ１１は、上記した模擬制御ロジックを実行することになる。
【００３７】
一方、別のプログラムの平行実行により、数値制御装置１０からは、各軸座標θk が、通信線路４０を介して、リアルタイムで入力されている。ＲＡＭ１２ｃの各軸座標メモリ１２１ｃに、順次、記憶される。
【００３８】
ステップ２１０では、キーボード１３からシミュレーション終了指令が付与されたか否かが判定され、シミュレーション終了指令が付与されていない場合には、ステップ２１２において、各軸座標メモリ１２１ｃからその時刻で受信した各軸座標θk が、読み込まれる。そして、ステップ２１４において、その各軸座標θk は、ＮＣ曲面加工機２０の動作を３次元モデルの動作で表示する動作表示プログラムに引き渡される。これにより、ディスプレイ１４上において、３次元モデルによる動作表示が行われる。そして、ステップ２１０に戻り、ステップ２１２に移行して、次の時刻における各軸座標が受信されて、各軸座標メモリ１２１ｃに記憶されている場合には、ステップ２１２、２１４の処理が繰り返し実行される。これにより、ＮＣ曲面加工機２０の３次元モデルの動作が連続してディスプレイ１４に表示されることになる。すなわち、ＮＣ曲面加工機２０の動作をシミュレートすることができる。この動作表示プログラムは、ステップ２１０でシミュレーション終了指令が付与されたと判定されるまで、繰り替えされることになる。
【００３９】
動作表示プログラムは、ＮＣ曲面加工機２０を構成するベッド３２，コラム３３、主軸台３４、ワーク２６、工具２７、サーボモータ２５、２８、２９、Ｘ軸スライドテーブル２１、Ｙ軸スライドテーブル２２、Ｚ軸スライドテーブル２３、Ｂ軸回転テーブル３１の３次元モデルを表示して、主軸やテーブルなどの可動部を、時間経過と共に可動表示するプログラムである。各構成要素などのパーツ画像を、床に近い軸の座標θ1 から順次、時々刻々、移動して位置決めして表示すれば良い。この３次元モデルの移動方法は、良く知られているので、詳しい説明は省略する。
【００４０】
また、ステップ２０２でシミュレーションモードでないと判定された場合には、ステップ２０４において、監視モードか否かが判定され、監視モードの場合には、ステップ２０６で、リンク要素Ｌ3000をオフとする指令をプログラマブルコントローラ１１に出力すると共に、数値制御装置１０から送信されて、各軸座標メモリ１２１ｃに記憶されている各軸座標の読み込みと、その各軸座標が動作表示プログラムに渡されて、その動作表示プログラムが実行されることにより、３次元モデルの動作がディスプレイ１４上に表示されることになる。これにより、ＮＣ曲面加工機２０の動作の監視を行うことができる。
【００４１】
本発明と実施例との関係を説明する。模擬制御ロジック起動手段入力手段は、ステップ２０８と、ラダー回路の第２行目の制御ロジックにより実現される。入出力遮断指令手段は、ラダー回路の第３行目と第４行目の制御ロジックにより実現される。
【００４２】
なお、上記実施例では、プログラマブルコントローラ１１により制御される給電制御外部リレー５７０３と給電制御外部リレー接点５７０４で、全ての外部リレー５７０１に対する給電を停止するようにしているが、電源からの給電を制御するスイッチを設けて、このスイッチを、主制御装置１２から制御するようにしても良い。また、上記実施例では、外部入出力要素のリフレッシュをしないことを、プログラマブルコントローラ１１のシーケンスプログラムで指令するようにしているが、外部接点の状態を外部入力要素の値として読み込むリフレッシュ処理において、給電されていない外部接点の状態を、オンでもオフでもない状態として、この状態の場合には、外部入力要素の値（外部入力アドレスの値）を変更しないようにしても良い。上記実施例では、外部リレーへの給電の停止と、外部入出力要素のリフレッシュの禁止とを行っているが、リフレッシュしない場合には、外部リレーが動作されない状態となるのであれば、給電の停止をせずに、リフレッシュを禁止するだけでも良い。また、数値制御機械の動作のシミュレーションは、数値制御機械が故障した後に、障害を復旧させた後に、ジョグダイヤルによる駆動軸の移動指令、原点復帰スイッチによる原点復帰指令が与えられた時に、実際に数値制御機械を動作させる前に、行うことに用いても良い。その他、障害復旧後の停止状態からの再開を行う前に、その動作のシミュレーションを行う場合に用いても良い。また、障害に限らず、新たにシーケンスプログラムを組み込んだ後に、数値制御機械を動作させる前のシミュレーションに用いても良い。
【産業上の利用可能性】
【００４３】
本発明は、コンピュータプログラムにより数値制御される数値制御機械の故障復旧時や、実行前の動作シミュレーションに用いることができる。
【図面の簡単な説明】
【００４４】
【図１】本発明の具体的な一実施例に係る制御装置を含むシステムの構成図。
【図２】同実施例装置のプログラマブルコントローラの構成図。
【図３】同実施例装置のプログラマブルコントローラの実行するラダー回路を示した回路図。
【図４】同実施例装置の主制御装置の処理手順を示したフローチャート。
【符号の説明】
【００４５】
１０…数値制御装置
１１…プログラマブルコントローラ
１２…主制御装置
５７０２…外部接点
５７０１…外部リレー
５７０３…給電制御外部リレー
５７０４…給電制御外部リレー接点
【図１】
2009223779.tif 000003
【図２】
2009223779.tif 000004
【図３】
2009223779.tif 000005
【図４】
2009223779.tif 000006