(57)【特許請求の範囲】
【請求項１】
タイムチャートに基づいてサーボ軸を含む機器を制御するコントローラであって、
前記タイムチャートに含まれる前記機器の動作を制御する記述に基づいて、前記機器の動作を制御する信号である制御信号を出力するタイムチャート実行部と、
前記タイムチャートの時間軸上の時刻に対応する内部時刻をカウントする内部時刻カウンタと、
少なくとも１の前記機器に対して、前記タイムチャート上における前記機器の動作の終了予定時点以降において、当該機器の動作が終了していない場合には、当該機器の動作の終了まで前記内部時刻カウンタによる前記内部時刻のカウントをストップする内部時刻ストッパと、
を有するコントローラ。
【請求項２】
前記内部時刻ストッパは、前記機器が複数である場合において、前記機器のいずれか一つの動作が終了していない場合には、前記内部時刻カウンタによるカウントをストップする請求項１に記載のコントローラ。
【請求項３】
前記タイムチャートに含まれる前記サーボ軸の動作を制御する記述に基づいて、前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸終了予定時点算出部を有する請求項１又は２に記載のコントローラ。
【請求項４】
前記タイムチャート上に設定された一時停止信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントをストップし、一時停止解除信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントを再開する内部時刻一時停止部を有する請求項１乃至３のいずれかに記載のコントローラ。
【請求項５】
前記内部時刻一時停止部は、前記一時停止指令に応じて、全ての前記サーボ軸の動作を停止する請求項４に記載のコントローラ。
【請求項６】
請求項１に記載のコントローラと接続されるタイムチャート作成装置であって、
前記タイムチャートに含まれる前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸動作終了予定時点算出部、及び前記サーボ軸動作終了予定時点を指定するサーボ軸動作終了予定時点指定部の少なくとも一方を有するタイムチャート作成装置。
【請求項７】
請求項４又は５に記載のコントローラと接続されるタイムチャート作成装置であって、前記タイムチャート上に前記一時停止指令を設定する一時停止指令設定部を有するタイムチャート作成装置。
【請求項８】
請求項１乃至５のいずれかに記載のコントローラと接続されるタイムチャート作成装置であって、
前記サーボ軸の動作を記述するチャートにおける時間軸の任意の位置に対し一度の操作を行うことにより、予め定められた波形による前記サーボ軸の動作を制御する記述を前記タイムチャートに追加するサーボ軸動作追加部を有するタイムチャート作成装置。
【請求項９】
コンピュータを、請求項６乃至８のいずれかに記載のタイムチャート作成装置として機能させるコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを記憶したコンピュータ可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体に関する。
【背景技術】
【０００２】
特許文献１には、タイムチャートからラダープログラムを自動作成する制御プログラム自動作成装置が記載されている。【０００３】
また、特許文献２には、パソコンを用いて入力機器及び出力機器のタイムチャートを編集するとともに、タイムチャートデータを機械語にコンパイル処理し、コンパイル処理された機械語を処理装置にインターフェースにより伝送することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１９１７１７号公報
【特許文献２】特開２００３−２２８４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の解決しようとする課題は、タイムチャートに基づいて機器を制御する際に、各機器にタイムチャートにあらわされたタイミングの実制御への反映度合いを高めた動作をさせることである。
【課題を解決するための手段】
【０００６】
本発明の一側面に係るコントローラは、タイムチャートに基づいてサーボ軸を含む機器を制御するコントローラであって、前記タイムチャートに含まれる前記機器の動作を制御する記述に基づいて、前記機器の動作を制御する信号である制御信号を出力するタイムチャート実行部と、前記タイムチャートの時間軸上の時刻に対応する内部時刻をカウントする内部時刻カウンタと、少なくとも１の前記機器に対して、前記タイムチャート上における前記機器の動作の終了予定時点以降において、当該機器の動作が終了していない場合には、当該機器の動作の終了まで前記内部時刻カウンタによる前記内部時刻のカウントをストップする内部時刻ストッパと、を有する。【０００７】
また、本発明の別の一側面に係るコントローラでは、前記内部時刻ストッパは、前記機器が複数である場合において、前記機器のいずれか一つの動作が終了していない場合には、前記内部時刻カウンタによるカウントをストップする。【０００８】
また、本発明の別の一側面に係るコントローラでは、前記タイムチャートに含まれる前記サーボ軸の動作を制御する記述に基づいて、前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸終了予定時点算出部を有する。【０００９】
また、本発明の別の一側面に係るコントローラでは、前記タイムチャート上に設定された一時停止信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントをストップし、一時停止解除信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントを再開する内部時刻一時停止部を有する。【００１０】
また、本発明の別の一側面に係るコントローラでは、前記内部時刻一時停止部は、前記一時停止指令に応じて、全ての前記サーボ軸の動作を停止する。【００１１】
また、本発明の一側面に係るタイムチャート作成装置は、上述のコントローラと接続されるタイムチャート作成装置であって、前記タイムチャートに含まれる前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸動作終了予定時点算出部、及び前記サーボ軸動作終了予定時点を指定するサーボ軸動作終了予定時点指定部の少なくとも一方を有する。【００１２】
また、本発明の一側面に係るタイムチャート作成装置は、上述のコントローラと接続されるタイムチャート作成装置であって、前記タイムチャート上に前記一時停止指令を設定する一時停止指令設定部を有する。【００１３】
また、本発明の一側面に係るタイムチャート作成装置は、上述のコントローラと接続されるタイムチャート作成装置であって、前記サーボ軸の動作を記述するチャートにおける時間軸の任意の位置に対し一度の操作を行うことにより、予め定められた波形による前記サーボ軸の動作を制御する記述を前記タイムチャートに追加するサーボ軸動作追加部を有する。【００１４】
また、本発明の一側面に係るコンピュータプログラムは、コンピュータを、上述のタイムチャート作成装置として機能させる。【００１５】
また、本発明の一側面に係るコンピュータ可読情報記憶媒体は、上述のコンピュータプログラムを記憶している。
【発明の効果】
【００１６】
上記発明によれば、タイムチャートに基づいて機器を制御する際に、各機器にタイムチャートにあらわされたタイミングの実制御への反映度合いを高めた動作をさせることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係るコントローラを含む機器制御システムの例を示す概略図である。
【図２】タイムチャート作成装置の物理的な構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るコントローラ及びタイムチャート作成装置の機能ブロック図である。
【図４】タイムチャート作成装置により作成され、コントローラで実行されるタイムチャートの一例である。
【図５】図４に示すタイムチャートによる本実施形態に係る機器制御システムの実動作を示した図である。
【図６】タイムチャート表示部によるタイムチャートの実行状況の表示の例を示す図である。
【図７】第１の実施形態に係るコントローラがタイムチャートを実行する際の動作を示すフローチャートである。
【図８】本発明の第２の実施形態に係るコントローラ及びタイムチャート作成装置の機能ブロック図である。
【発明を実施するための形態】
【００１８】
タイムチャートは時間軸に対して各機器の動作のタイミングを記述するものであるが、タイムチャートに基いて各機器の動作のタイミングを制御しようとしても、各機器の実動作時間は必ずしもタイムチャートに記述した通りとなるとは限らない。しかしながら、タイムチャートに基いて各機器の動作のタイミングを制御しようとする場合に、タイムチャートに記述された各機器の動作のタイミングと、各機器の実動作時間とのずれをどのように解消すればよいのかはこれまで考慮されていなかった。
【００１９】
また、本発明者の見地によれば、コントローラを用いて各機器を自動制御する際に、動作の確認やその他の理由により、任意のタイミングで各機器の動作を中断し停止させ、再開させたいという要求がある。かかる中断動作は、タイムチャートに記述されていないため、このような動作の中断を行うと、タイムチャートに記述された各機器の動作のタイミングと、各機器の実動作時間とのずれが生じる原因となる。
【００２０】
そこで本発明の発明者は、上記したずれを考慮した上で、各機器をタイムチャート作成者の意図どおりに動作させることについて鋭意研究開発を行った結果、新規かつ独創的な機器制御装置及び機器制御方法に想到した。以下、かかる機器制御装置及び機器制御方法をその実施形態を通じ詳細に説明する。
【００２１】
＜実施形態に係る機器制御システム＞
図１は本発明の実施形態に係るコントローラ２を含む機器制御システム１の例を示す概略図である。なお、図３以降の説明では第１の実施形態、第２の実施形態を区別して説明するが、本図及び図２はいずれの実施形態においても共通である。同図には、コントローラ２、サーボコントローラ３、Ｉ／Ｏユニット４と、リニアスライダ５、スイッチ６及びランプ７からなる機器制御システム１と、コントローラ２に接続されたタイムチャート作成装置８が示されている。
【００２２】
コントローラ２は機器制御システム１全体を制御する機器であって、本実施形態では、タイムチャートに基いて少なくとも１以上の機器を制御するものである。なお、ここでタイムチャートとは、コントローラ２に接続される機器の動作を、時間軸に対して記述した情報を意味しており、その表現形式は問わない。また、サーボコントローラ３を通じて駆動されるリニアスライダ５等のサーボ軸、スイッチ６、ランプ７等の入出力機器は、いずれもコントローラ２による制御の対象となる機器の一例である。コントローラ２で実行されるタイムチャートは、タイムチャート作成装置８により作成され、電子データの形でコントローラ２に入力され、記憶される。コントローラ２には情報通信コネクタ２ａが設けられている。
【００２３】
サーボコントローラ３は、サーボモータを制御するためのサーボアンプ及びその制御回路が一体となったものであり、コントローラ２をはじめとする他の機器と接続するための情報通信コネクタ３ａと、リニアスライダ５等のサーボ機構と接続するためのサーボコネクタ３ｂが設けられている。本実施形態では、サーボコネクタ３ｂにはサーボ軸の一例として、リニアスライダ５が接続されている。
【００２４】
リニアスライダ５は、サーボモータ、エンコーダ、サーボモータの出力軸に連結されたボールねじと、リニアガイドにより案内され、ボールねじにより駆動されるスライドテーブルを一体とした機構であり、サーボコントローラ３からの出力に応じてスライドテーブルが駆動される。なお、ここでサーボ軸とは、サーボモータを動力源として駆動される機構をそのサーボモータを主眼としてとらえた呼び方である。
【００２５】
Ｉ／Ｏユニット４は、コントローラ２をはじめとする他の機器と接続するための情報通信コネクタ４ａと、入出力機器を接続するための多数の入出力接点を備えた機器である。Ｉ／Ｏユニット４には入出力接点として、入力コネクタ４ｂと出力コネクタ４ｃが備えられており、入力コネクタ４ｂ及び出力コネクタ４ｃのそれぞれには多数の入力用又は出力用の接点（それぞれ、入力接点及び出力接点と呼ぶ）が含まれている。Ｉ／Ｏユニット４は、入力コネクタ４ｂに含まれる入力接点の入力状態を情報通信コネクタ４ａを介してコントローラ２に伝達する一方、同じく情報通信コネクタ４ａを介してコントローラ２から伝達された指令に応じて出力コネクタ４ｃに含まれる出力接点の状態を制御するものであり、機能的には、コントローラ２に外付けの入出力接点を増設する働きをする。本実施形態では、入出力機器の例として、Ｉ／Ｏユニット４の入力コネクタ４ｂにはノーマルオープン型（すなわち、Ａ接点）の機械式スイッチであるスイッチ６が、また出力コネクタ４ｃにはランプ７が接続されている。なお、ここで入出力接点とは、ハイインピーダンス及びローインピーダンスの別により情報の入力又は出力をする接点を指しており、また、入出力機器とは、入出力接点によりコントローラ２に接続される機器を指す。
【００２６】
本実施形態では、図１に示されているように、コントローラ２、サーボコントローラ３及びＩ／Ｏユニット４は、情報通信コネクタ２ａ，３ａ及び４ａをケーブルでカスケード接続することにより互いに通信可能とされている。
【００２７】
タイムチャート作成装置８は、コントローラ２にて実行されるタイムチャートをユーザが作成するのを支援するとともに、本実施形態では、コントローラ２から情報伝達を受けて、機器制御システム１の状態をモニタする装置である。タイムチャート作成装置８は専用の装置であってもよいが、図示の通りの一般的なコンピュータを用い、タイムチャート作成装置８として機能させるコンピュータプログラムを実行することにより実現されている。かかるコンピュータプログラムは、各種の光ディスクや半導体メモリなどのコンピュータ可読情報記憶媒体に格納されてよく、該媒体からコンピュータにインストールされるようにすることが好ましい。或いは、インターネット等の各種の情報通信ネットワークからコンピュータにダウンロードされてもよく、さらには情報通信ネットワークを通じて遠隔地にあるサーバによりその機能が提供される、いわゆるクラウドコンピューティングにより実現されてもよい。
【００２８】
図２は、タイムチャート作成装置８の物理的な構成を示すブロック図である。タイムチャート作成装置８は一般的なコンピュータであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８ｂ、外部記憶装置８ｃ、ＧＣ（Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ）８ｄ、入力デバイス８ｅ及びＩ／Ｏ（Ｉｎｐｕｒ／Ｏｕｔｐｕｔ）８ｆがデータバス８ｇにより相互に電気信号のやり取りができるよう接続されている。ここで、外部記憶装置８ｃはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の静的に情報を記録できる装置である。またＧＣ８ｄからの信号はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ８ｈに出力され、画像として表示される。入力デバイス８ｅはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、Ｉ／Ｏ８ｆはタイムチャート作成装置８が外部の機器、ここでは、コントローラ２と情報をやり取りするためのインタフェースである。
【００２９】
なお、以上の説明、図１及び２では、本実施形態の説明に不要な他の詳細な構成や配線、例えば、電源線や接地線の接続については説明及び図示を簡略化するため省略している。また、接続態様やコネクタの種類、制御対象の機器の種類や個数等は、特に限定されるものではなく、様々なバリエーションが考えられる。さらに、機器制御システム１が動作するにあたっては、必ずしもコントローラ２にタイムチャート作成装置８が接続されている必要はなく、コントローラ２にタイムチャートが転送されているならば、タイムチャート作成装置８がなくとも機器制御システム１は動作可能である。また、タイムチャート作成装置８もまた必ずしもコントローラ２に接続されている必要はなく、タイムチャートの作成はタイムチャート作成装置８単独で可能である。
【００３０】
＜第１の実施形態に係るコントローラ及びタイムチャート作成装置の構成＞
図３は、本発明の第１の実施形態に係るコントローラ２及びタイムチャート作成装置８の機能ブロック図である。
【００３１】
コントローラ２は、タイムチャート作成装置８側に接続されるインタフェース２０、制御対象となる各機器側に接続されるインタフェース２１を備えている。タイムチャート作成装置８により作成されたタイムチャートは、インタフェース２０を通してデータ取得部２２により取得され、タイムチャート記憶部２３に電子データの形で記憶される。
【００３２】
内部時刻生成部２４は、コントローラ２がタイムチャートに記述された各機器の動作を実行するタイミングを規定する時刻である内部時刻を生成する。そして、内部時刻は、タイムチャートの時間軸に示される時刻として使用されることになる。
【００３３】
内部時刻は、内部時刻生成部２４に含まれる適宜のクロック回路等からなる実時刻生成部２４ａにより生成され、現実の時刻に対応して進む実時刻が進行するタイミングに合わせて、内部時刻カウンタ２４ｃが内部時刻を所定の増分だけ加えていくことによりカウントされる。
【００３４】
また、内部時刻は、現実の時刻に対応して進む実時刻に対し、オーバーライド部２４ｂにより適宜のオーバーライド係数によりその進行速度が調整される。ここで、オーバーライド係数は、実時刻の進行速度に対する内部時刻の進行速度の割合を示している。例えば、オーバーライド係数が０．８であれば、内部時刻は実時刻に対し８０％の速度でゆっくり進行し、オーバーライド係数が１．２であれば内部時刻は実時刻に対し１２０％の速度で早く進行することになる。オーバーライド係数が１の場合には、内部時刻の進行速度と実時刻の進行速度は一致する。オーバーライド部２４ｂは、内部時刻カウンタ２４ｃが内部時刻をカウントする間隔を調整するか、又は、内部時刻カウンタ２４ｃが内部時刻に加える増分の大きさを調整することにより内部時刻の進行速度を調整している。なお、オーバーライド係数は、インタフェース２０を通じてタイムチャート作成装置８により、或いは適宜のティーチングペンダント等任意の機器を用いてユーザにより設定される。また、生成された内部時刻は、各機器の動作をモニタするために、インタフェース２０を通じてタイムチャート作成装置８に出力されてもよい。
【００３５】
さらに、内部時刻ストッパ２４ｄは、後述する機器動作終了判定部２６及び内部時刻一時停止部２７からの信号を受けて、内部時刻カウンタ２４ｃによる内部時刻のカウントをストップする。この動作は、内部時刻カウンタ２４ｃは、内部時刻ストッパ２４ｄからストップ信号が出力されている間は、内部時刻に増分を加えることをしないというもので、内部時刻のカウントがストップされている間は内部時刻は進行しない。内部時刻ストッパ２４ｄからのストップ信号が出力されなくなると、内部時刻カウンタ２４ｃは内部時刻のカウントを再開する。
【００３６】
タイムチャート実行部２５は、内部時刻カウンタ２４ｃがカウントした内部時刻に基いて、タイムチャート記憶部２３に記憶されたタイムチャートに記述された各機器の動作を解釈し、その動作を実行するためにインタフェース２１を通じて各機器に制御信号を出力する。タイムチャート実行部２５の基本的な動作は、タイムチャートに動作が記述された時点に内部時刻が到来したならば、かかる記述を実現する制御信号を出力する、というものである。
【００３７】
機器動作終了判定部２６は、コントローラ２に接続される機器の少なくとも１つの機器に対して、その機器のタイムチャート上における動作の終了時点である終了予定時点以降において、当該機器の実動作が終了しているか否かを判定する。この判定は、対象となる機器がサーボ軸である場合には、かかるサーボ軸を制御するコントローラから位置決め完了信号が出力されているか否かにより、また、対象となる機器が入力機器である場合には、対応する入力接点における入力信号の状態がタイムチャート上における動作の終了時における状態と合致するか否かによりなされ得る。機器の実動作が終了していない場合には、機器動作終了判定部２６は、内部時刻ストッパ２４ｄに信号を出力し、内部時刻のカウントをストップさせる。また、本実施形態では、終了予定時点は、タイムチャート作成装置８により予め作成され、タイムチャートの情報に含まれている。
【００３８】
なお、機器動作終了判定部２６による判定の対象となる機器は、任意の１つであっても複数であってもよく、全てであってもよい。１つのみを対象とした場合には、当該機器について、タイムチャートに記述された動作の実動作への反映度を高めることができ、複数あるいは全てを対象として場合には、タイムチャートに記述された複数又は全ての機器の実動作を同期がとれた形で実行することができる。なお、本実施形態では、機器動作終了判定部２６はコントローラ２に接続される全ての機器に対し上述の判定を行うので、コントローラ２は、接続された機器のいずれか１つの動作が終了予定時点以降において未だに終了していない場合に、内部時刻のカウントをストップすることになる。
【００３９】
内部時刻一時停止部２７は、タイムチャートに含まれる一時停止指令が設定された時点に内部時刻が到達した際に、内部時刻ストッパ２４ｄに信号を出力し、内部時刻のカウントをストップする。同時に、インタフェース２１を通して全てのサーボ軸に対しホールド信号を出力する。この結果、各サーボ軸は、その動作が実行途中であっても停止される。なお、一時停止指令は、後述する一時停止指令設定部８５によりタイムチャート上に設定されるが、例えば、タイムチャートの実行中にタイムチャート作成装置８又はコントローラ２へのユーザの入力によりリアルタイムに設定されてもよい。一方、内部時刻一時停止部２７に、外部、例えば任意のスイッチやタイムチャート作成装置８から、又は、コントローラ２へのユーザ入力等により、一時停止解除信号が入力されると、内部時刻一時停止部２７は、内部時刻の一時停止を解除し、内部時刻ストッパ２４ｄへの信号及びサーボ軸へのホールド信号の出力を停止する。そうすると、内部時刻のカウントが再開され、また各サーボ軸の動作が実行途中であったものは、その動作が停止した状態から再開される。
【００４０】
タイムチャート作成装置８は、ユーザインタフェース８０、コントローラ２に接続されるインタフェース８１を備えている。ユーザインタフェース８０は物理的には図２の入力デバイス８ｅ及びモニタ８ｈが、インタフェース８１は図２のＩ／Ｏ８ｆがそれぞれ相当することとなる。
【００４１】
タイムチャート作成部８２は、ユーザインタフェース８０に表示したＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を用いてユーザから必要な情報を受け付け、タイムチャートを作成する。本実施形態では、タイムチャート作成部８２は、チャート作成部８２ａ、サーボ軸動作追加部８２ｂ及びサーボ軸動作終了予定時点算出部８２ｃを含む。
【００４２】
チャート作成部８２ａは、サーボ軸の動作の波形を示すチャートや、入出力機器の動作をプロットするチャートをユーザからの入力に基いて作成する。サーボ軸の動作の波形は、速度をプロットする速度チャート又は変位をプロットする変位チャートである。一般に速度チャートを時間について積分すれば変位チャートが得られるので、速度チャート及び変位チャートのいずれを作成するものとしてもよいが、本実施形態ではユーザの指定によりそのいずれに対しても作成可能となっている。また、入出力機器の動作をプロットするチャートは、入力機器に対しては、時間軸に対し予期される入力の変化を記述するものであり、出力機器に対しては、時間軸に対しコントローラ２からの出力の変化を記述するものである。
【００４３】
なお、チャート作成部８２ａは、各チャートにその動作が記述される機器の動作を、他の機器の状態変化に連動して開始するように指定することができることが好ましい。かかる指定をすることにより、例えば、スイッチが押されることによりサーボ軸が起動する、といった複数の機器が関連する動作の記述がなされる。このように、ある機器の動作が他の機器の状態変化に連動している関係を例えば「リンク」又は「関連付け」等と呼ぶ場合もある。
【００４４】
さらに、本実施形態においては、チャート作成部８２ａは、サーボ軸動作追加部８２ｂを含んでいる。サーボ軸動作追加部８２ｂは、簡便にサーボ軸の動作波形を作成することを可能とするものであり、ユーザにより、タイムチャートにおける時間軸の任意の位置に対し一度の操作を行うことにより、あらかじめ定められた動作波形をタイムチャートに追加する。ユーザによる指定は、タイムチャートに含まれる任意のサーボ軸に対し、例えばユーザインタフェース８０に表示されている時間軸の一点をポインティングデバイスにより指定することにより、或いは、あるサーボ軸に対して追加したい動作波形の開始時点をキーボード等により入力することによりなされ得る。また、あらかじめ定められた動作波形は、例えば、所定の加速度、所定の速度及び所定の移動量をもつ動作波形である。これらの所定の加速度、速度及び移動量は、デフォルトで設定されていてもよく、ユーザが事前に設定しておいてもよい。所定の加速度、速度及び移動量は、全てのサーボ軸について共通であってもよいが、複数のサーボ軸が存在する場合には、サーボ軸毎に固有に設定されるものであることが好ましい。
【００４５】
サーボ軸動作終了予定時点算出部８２ｃは、チャート作成部８２ａによりサーボ軸の動作波形が作成されると、タイムチャート上において、当該動作波形による動作の終了時点であるサーボ軸動作終了予定時点を算出しタイムチャートに記録する。例えば、サーボ軸動作終了予定時点算出部８２ｃは、サーボ軸の動作波形における加速度、速度及び移動量等の動作情報に基づいて、サーボ軸動作終了予定時点を算出してもよい。なお、サーボ軸動作終了予定時点算出部８２ｃは、タイムチャート作成装置８がサーボ軸動作終了予定時点を自動的に算出するものであるが、これに換えて、又はこれに加えて、サーボ軸動作終了予定時点指定部を設け、ユーザがサーボ軸動作終了予定時点を指定するようにしてもよい。タイムチャート作成装置８がサーボ軸動作終了予定時点を自動的に算出するものとした場合には、ユーザはサーボ軸の動作終了時点を意識することなくタイムチャートの作成を行えるため、タイムチャートの作成が簡便である。これに対し、ユーザがサーボ軸動作終了予定時点を指定する場合には、サーボ軸動作終了予定時点として余裕をもった時点を指定できるため、後述する実時刻と内部時刻とのずれをなくす又は小さいものとすることができる。
【００４６】
一時停止指令設定部８５は、タイムチャートの任意の時点に一時停止指令を設定する。一時停止指令は、タイムチャート毎に１点のみ設定可能としてもよいし、複数設定可能としてもよい。
【００４７】
チャート作成部８２ａにより作成されたチャート、サーボ軸動作終了予定時点算出部８２ｃにより算出されたサーボ軸動作終了予定時点及び一時停止指令設定部８５により設定された一時停止指令は、タイムチャートを構成する電子データとして、又はタイムチャートとは別個の電子データとしてタイムチャート記憶部８３に記憶される。また、そのようにして作成されたタイムチャートは、タイムチャート表示部８４により読み出され、ユーザインタフェース８０によりユーザに表示され、内容の確認ができるようになっていてもよい。
【００４８】
タイムチャート記憶部８３に記憶されたタイムチャートをはじめとする情報は、必要に応じてインタフェース８１を通じてコントローラ２に転送される。
【００４９】
＜第１の実施形態に係る機器制御システムの動作＞
続いて、本実施形態に係る機器制御システム１の動作を具体的なタイムチャートを例示しつつ説明する。
【００５０】
図４はタイムチャート作成装置８により作成され、コントローラ２で実行されるタイムチャートの一例である。同タイムチャートにおいて、横軸が時間軸となっており、縦軸には制御対象となる各機器が順に示されている。各機器に対応して示される曲線は、それぞれの機器の状態を示すものであり、「ＵＮＩＴ＃０１」として示されるスイッチ６及び、「ＵＮＩＴ＃０３」として示されるランプ７は入出力機器であるから、曲線が上の位置にある場合はローインピーダンス（接続）を、曲線が下の位置にある時はハイインピーダンス（切断）を意味している。また、「ＵＮＩＴ＃０２」として示されるサーボ軸、この場合はリニアスライダ５について示されている曲線は、スライダの速度を示している。
【００５１】
このタイムチャートで意図されている動作は、開始より１０００ｍｓ経過した時点でスイッチ６がオンとなり（図中Ａ点）、かかるスイッチ６の状態変化に連動してタイマが起動し、設定時間である５００ｍｓの間待機し（図中太線Ｂ）、サーボ軸（リニアスライダ５）を所定の移動量だけ移動させ（図中区間Ｃ）、またサーボ軸の移動開始時点（図中Ｄ点）に連動してランプ７を点灯し、サーボ軸の移動終了時点（図中Ｅ点）に連動してランプ７を消灯するというものである。また、開始から４０００ｍｓの時点に図中ＨＬＴとして示す一時停止指令が設定されている。タイムチャートの終了時刻は７０００ｍｓの時点に設定されており、図中ＥＯＣとして示されている。
【００５２】
タイムチャート中示した破線矢印は、一の機器の動作、すなわち状態変化に連動して他の機器が動作すること、すなわち、リンク（又は関連付け）を示している。もちろん、矢印による表記は一例であり、一の機器の状態変化に他の機器の動作が連動することをどのように表現するかは自由である。かかる動作の連動は、一の機器のある動作と他の機器のある動作とが何らかの形で関連付けられていればよいのであって、タイムチャートを図４のように目に見える形で示した際に、かかる関連付けが必ずしも明に示されていなくともよい。また、図４に示したタイムチャートの例では、サーボ軸の動作の開始が、スイッチ６の状態変化に関連付けられている場合を例示しているが、この関連付けは、サーボ軸同士やサーボ軸以外の機器同士で行われても良い。また、サーボ軸の動作の終了を他の機器の状態変化に関連付けてもよい。さらに、一の機器の状態変化に対し、同じ一の機器自体のさらなる動作が連動するようにしてもよい。例えば、サーボ軸が正転方向に一定量移動した後、移動終了のタイミングで直ちに逆転方向に移動開始するような場合には、一の機器の状態変化に対し、同じ一の機器自体のさらなる動作が連動することとなる。
【００５３】
図５は、図４に示すタイムチャートによる本実施形態に係る機器制御システム１の実動作の例を示した図である。同図に示した各曲線は、実際の機器であるスイッチ６、サーボ軸であるリニアスライダ５及びランプ７の実際の動作をタイムチャートの形式で示したものである。また、時間軸は、タイムチャートの実行開始時点からの実時刻と内部時刻の２つを並行して示した。図５に示した例では、オーバーライド係数は１であり、実時刻と内部時刻は同じ速度で進行するものとする。
【００５４】
コントローラ２のタイムチャート実行部２５は、図４に示すタイムチャートに記述された各機器の動作を解釈し、逐次実行していく。ここで、図４のタイムチャート上では内部時刻が１０００ｍｓの時点であるＡ点でスイッチがオンとなるはずであるが、図５に示した実動作ではスイッチはオフのままである。これによりコントローラ２の機器動作終了判定部２６は、スイッチの動作が終了していないと判定し、内部時刻ストッパ２４ｄにより内部時刻のカウントがストップされる。そのため、実時刻は進行するのに対し、内部時刻はその進行が停止する。
【００５５】
実時刻で１５００ｍｓとなる時点Ａ’でスイッチがオンとなり、これにより内部時刻のカウントが再開され、内部時刻は再び進行を始める。同時に、スイッチに連動してタイマ（図中Ｂ）が起動し、更に５００ｍｓ経過後の時点Ｄ’においてサーボ軸が起動するとともにランプが点灯する。この時点での実時刻は２０００ｍｓであるのに対し、内部時刻は図４のタイムチャート通りの１５００ｍｓである。
【００５６】
内部時刻が４０００ｍｓに到達した時点（実時刻が４５００ｍｓの時点）において、一時停止指令により、内部時刻一時停止部２７によって内部時刻のカウントがストップされる。そのため、内部時刻は再びその進行を停止される。また、サーボ軸に対しホールド信号が出力されるため、図５に示すように、サーボ軸は減速しその動作を停止する。
【００５７】
さらに、実時刻が７０００ｍｓの時点においてＨ／Ｒとして示す一時停止指令解除信号が入力されたとすると、内部時刻一時停止部２７は内部時刻のカウントを再開させると共に、サーボ軸に対するホールド信号の出力を解除する。そのため、内部時刻は再び進行をはじめ、サーボ軸も中断されていた動作を再開する。この一時停止時のサーボ軸の減速及び加速は、サーボ軸の制御装置（サーボコントローラ３）自体が所定の減速度及び加速度で加減速動作を設定することにより実行してもよく、コントローラ２が予め設定されたサーボ軸の許容値等に基いて、自動的に減速度及び加速度等を演算し、加減速動作を設定してサーボ軸の制御装置に実行させてもよい。
【００５８】
図４のタイムチャート上ではサーボ軸の動作が終了している６０００ｍｓの時点に内部時刻が到達する時点Ｆにおいて、図５では未だにサーボ軸の動作は終了していない。このため、またしても機器動作終了判定部２６により内部時刻のカウントがストップされる。そして、実時刻が９５００ｍｓとなる時点Ｅ’においてサーボ軸の実動作が終了したため、機器動作終了判定部２６は内部時刻カウントを再開させ、同時に、ランプが消灯される。
【００５９】
その後、内部時刻が７０００ｍｓに到達した時点でタイムチャートの実行が終了される。このとき、図５の例では実時刻は１０５００ｍｓとなっている。
【００６０】
以上図５を例として説明したように、内部時刻に注目すると、スイッチ、サーボ軸及びランプの全ての動作は図４に示したタイムチャート通りに実行されていることが分かる。一方で実時刻と内部時刻とは必ずしも一致せず、機器動作終了判定部２６及び内部時刻一時停止部２７により内部時刻のカウントがストップされる毎に両者の間にはずれが発生する。
【００６１】
なお、タイムチャート表示部８４は、タイムチャート実行部２５によるタイムチャートの実行に合わせ、その実行状況をユーザに認識させる表示をしてもよい。タイムチャート表示部８４は、例えば、実行している時点を表すライン（例えば縦線）を表示し、そのラインをタイムチャート右方（時間経過方向）に移動させたり、タイムチャートの表示を左方に移動させてもよい。このような表示を行うことにより、ユーザに現在実行されている時点がタイムチャート上のどの時点であるのかを認識させることが可能である。この際、タイムチャート表示部８４は、内部時刻カウンタ２４ｃがストップさせられれば、上記タイムチャートの表示の変更を停止させることで、ストップした状態を認識させることも可能である。また、タイムチャート表示部８４は、内部時刻を表示させることで、内部時刻の進行状況をユーザに認識させることも可能である。更に、タイムチャート表示部８４は、内部時刻と共に、又は換えて、実時刻及び／又は実時刻と内部時刻とのずれ量を表示させてもよい。これにより、ユーザは、実時間軸上において処理に要した時間間隔等をも認識することが可能である。
【００６２】
図６は、そのようなタイムチャート表示部８４によるタイムチャートの実行状況の表示の例である。図６は、ユーザインタフェース８０（モニタ８ｈ）上に表示されている画面９を示している。画面９には、図４に示したと同様のタイムチャートが表示されており、かかるタイムチャート上に、現在の実行時点を示すライン９０が重ね合わせられるように表示されている。ライン９０は、図６中に矢印で示したように、内部時刻の進行に伴い画面９の右方に移動する。また、内部時刻のカウントがストップされ、その進行が停止すると、ライン９０の移動も停止する。これにより、ユーザは、コントローラ２がタイムチャートのどの時点を実行中なのか、また、内部時刻のカウントがストップされているのか否かを直ちに認識することができる。また、画面９の右下には、内部時刻表示部９２と実時刻表示部９３が設けられており、それぞれ、内部時刻と実時刻を表示している。図６に示した時点は、図５において内部時刻が３０００ｍｓ、実時刻が３５００ｍｓとなる時点である。
【００６３】
なお、ライン９０を移動させたり、タイムチャート自体を移動させるなどによりタイムチャートの実行状況を表示する際には、コントローラ２におけるタイムチャートの実行状況、すなわち、内部時刻の進行状況と、タイムチャート表示部８４による表示とは、必ずしも正確に同期していなくともよい。一般にユーザインタフェース８０として用いられるモニタ８ｈのリフレッシュレートは数十Ｈｚ〜百Ｈｚ程度であり、コントローラ２における内部時刻のカウント周期に比してはるかに遅いので、タイムチャート表示部８４による表示の更新タイミングはかかるリフレッシュレート程度かそれより遅い周期で十分である。また、ユーザがタイムチャートが実行されていることを確認さえできればよいのであれば、タイムチャート表示部８４による表示と内部時刻とが同期していなくてもよい。すなわち、上述の例でいえば、タイムチャートを実行開始した時点から、タイムチャート表示部８４がライン９０を内部時刻と同期することなく右方に移動させるようにしても、ユーザは少なくともタイムチャートが実行中であることと、その概ねの実行時点を把握することができる。この場合、タイムチャート表示部８４は、ライン９０が一時停止指令が設定された時点に到達した時点で、一時停止指令解除信号が入力されるまで、ライン９０の移動を停止することが好ましい。もちろん、タイムチャート表示部８４による表示と内部時刻とが同期している方が、タイムチャートの実行状況を正確にユーザに伝えることができるため、より好ましい。
【００６４】
＜第１の実施形態に係るコントローラの動作フロー＞
図７は、本実施形態に係るコントローラ２がタイムチャートを実行する際の動作を示すフローチャートである。
【００６５】
コントローラ２は、タイムチャートの実行を開始すると、内部時刻に従い、ステップＳ１にて内部時刻をカウントし、タイムチャートに記載された動作を解釈し実行する。そして、ステップＳ２で全ての動作が終了したか否かを判断し、終了していれば制御を終了し、そうでなければステップＳ３に進む。
【００６６】
ステップＳ３では、内部時刻が一時停止指令が設定されている時点に到達したか否かを判断する。到達していなければ、ステップＳ４へと進む。
【００６７】
ステップＳ４では、内部時刻が機器の動作の終了予定時点に到達したか否かを判断する。到達していなければステップＳ１へと戻り、引き続きタイムチャート上の動作を実行する。内部時刻が機器の動作の終了予定時点に到達していれば、続くステップＳ５にて当該機器の実動作が終了しているか否かを判断する。実動作が終了していればステップＳ１へと戻るが、実動作が終了していなければステップＳ６へと進み、内部時刻のカウントをストップする。ステップＳ６からはステップＳ５へと戻るため、ステップＳ６によるカウントストップは、ステップＳ５により機器の動作が終了したと判断されるまで継続される。
【００６８】
一方、ステップＳ３において内部時刻が一時停止指令が設定されている時点に到達したと判断された場合には、ステップＳ７へと進む。ステップＳ７では、一時停止解除指令が入力されているか否かを判断する。一時停止解除指令が入力されていなければ、ステップＳ８へと進み、内部時刻のカウントをストップすると共にサーボ軸にホールド信号を出力する。ステップＳ８からはステップＳ７へと戻るため、ステップＳ８によるカウントストップ及びホールドは、ステップＳ７により一時停止解除指定が入力されたと判断されるまで継続される。
【００６９】
ステップＳ７において一時停止解除指定が入力されると、ステップＳ４へと進む。それ以降の動作は、既に述べたとおりである。
【００７０】
コントローラ２が上述の動作をすることにより、機器の実動作がタイムチャートに記述された動作のとおりでなくとも、内部時間のカウントとその停止が機器の実動作に追従してなされるため、タイムチャートにあらわされたタイミングの実制御への反映度合いを高めた動作がなされる。また、ユーザの指定による一時停止があった場合にも、タイムチャートに記述された機器間の動作タイミングの同期は保たれる。
【００７１】
＜第２の実施形態に係るコントローラ及びタイムチャート作成装置の構成＞
図８は、本発明の第２の実施形態に係るコントローラ２及びタイムチャート作成装置８の機能ブロック図である。本実施形態において、先の実施形態と共通している部分に対しては、同符号を付し、その重複する説明は省略するものとする。本実施形態に係るコントローラ２と先の実施形態に係るコントローラ２との相違点は、本実施形態に係るコントローラ２においてはタイムチャート実行部２５と機器動作終了判定部２６との間に、サーボ軸動作終了予定時点算出部２８が設けられている点である。また、本実施形態に係るタイムチャート作成装置８と先の実施形態に係るタイムチャート作成装置８との相違点は、サーボ軸動作終了予定時点算出部８２ｃが無い点である。
【００７２】
本実施形態では、コントローラ２にサーボ軸動作終了予定時点算出部２８が設けられているため、サーボ軸の動作の終了時点は、コントローラ２により自動的に算出され、機器動作終了判定部２６での判定に用いられる。そのため、タイムチャート作成装置８側で作成するタイムチャートに、サーボ軸動作終了時点を含ませる必要が無い。タイムチャート作成装置８では、それに伴い、サーボ軸動作終了予定時点算出部８２ｃは省略される。従って、タイムチャート作成装置８とコントローラ２との間のデータ通信量を削減することも可能である。ただし、コントローラ２にサーボ軸動作終了予定時点算出部２８を設けると同時に、タイムチャート作成装置８にサーボ軸動作終了予定時点算出部８２ｃを設け、いずれか一方を動作させたり、双方が補完的にサーボ軸動作終了時点を算出することも可能である。
【００７３】
また、サーボ軸動作終了予定時点算出部２８は、タイムチャート記憶部２３に記憶されるタイムチャートに、算出した動作終了予定時点を予め含ませてもよい。しかし、本実施形態のように、タイムチャート実行部２５による実際の実行に合わせて動作終了予定時点を算出するようにすれば、タイムチャート自体のデータ量を低減することができる。
【００７４】
なお、本実施形態において、コントローラ２側のサーボ軸動作終了予定時点算出部２８に加え、前述のサーボ軸動作終了予定時点指定部を設け、ユーザがサーボ軸動作終了予定時点を指定することもできるようにしてよい。そして、機器動作終了判定部２６は、タイムチャートに指定されたサーボ軸動作終了予定時点が含まれている場合、すなわち、ユーザによる指定がある場合には、ユーザによる指定を優先的に用い、そうでない場合にサーボ軸動作終了予定時点算出部２８により算出されたサーボ軸動作終了予定時点を用いるようにするとよい。このようにすれば、特段サーボ軸動作終了予定時点を指定する必要が無い場合には、コントローラがサーボ軸動作終了予定時点を自動的に算出するためタイムチャートの作成が簡便であり、また、必要に応じてサーボ軸動作終予定了時点を指定できるため、サーボ軸動作終了予定時点として余裕をもった時点を指定すれば、実時刻と内部時刻とのずれをなくす又は小さいものとすることができる。
【００７５】
なお、本実施形態に係る機器制御システム１の動作は、先の実施形態におけるものと同様であり、特段変わるところはないため、重ねての説明は省略するものとする。
【００７６】
以上説明した各実施形態の構成は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、各部材あるいはその部分の形状や数、配置等を適宜変更してもよく、また、フローチャートに示した制御は、同等の機能を奏する他の制御に置き換えてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【図１】
0005962839.tif 000002
【図２】
0005962839.tif 000003
【図３】
0005962839.tif 000004
【図４】
0005962839.tif 000005
【図５】
0005962839.tif 000006
【図６】
0005962839.tif 000007
【図７】
0005962839.tif 000008
【図８】
0005962839.tif 000009