特許第5962839号(P5962839)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

特許5962839コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体
<>
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000002
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000003
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000004
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000005
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000006
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000007
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000008
  • 特許5962839-コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5962839
(24)【登録日】2016年7月8日
(45)【発行日】2016年8月3日
(54)【発明の名称】コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体
(51)【国際特許分類】
   G05B 19/042 20060101AFI20160721BHJP
【FI】
   G05B19/042
【請求項の数】10
【全頁数】16
(21)【出願番号】特願2015-500263(P2015-500263)
(86)(22)【出願日】2014年2月12日
(86)【国際出願番号】JP2014053208
(87)【国際公開番号】WO2014126109
(87)【国際公開日】20140821
【審査請求日】2015年8月25日
(31)【優先権主張番号】特願2013-28441(P2013-28441)
(32)【優先日】2013年2月15日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】廣瀬 健一
(72)【発明者】
【氏名】長田 武
【審査官】 川東 孝至
(56)【参考文献】
【文献】 特開平9−222909(JP,A)
【文献】 特開平5−173609(JP,A)
【文献】 特開平6−51815(JP,A)
【文献】 特開平7−191717(JP,A)
【文献】 特開2003−228403(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/04−19/05
(57)【特許請求の範囲】
【請求項1】
タイムチャートに基づいてサーボ軸を含む機器を制御するコントローラであって、
前記タイムチャートに含まれる前記機器の動作を制御する記述に基づいて、前記機器の動作を制御する信号である制御信号を出力するタイムチャート実行部と、
前記タイムチャートの時間軸上の時刻に対応する内部時刻をカウントする内部時刻カウンタと、
少なくとも1の前記機器に対して、前記タイムチャート上における前記機器の動作の終了予定時点以降において、当該機器の動作が終了していない場合には、当該機器の動作の終了まで前記内部時刻カウンタによる前記内部時刻のカウントをストップする内部時刻ストッパと、
を有するコントローラ。
【請求項2】
前記内部時刻ストッパは、前記機器が複数である場合において、前記機器のいずれか一つの動作が終了していない場合には、前記内部時刻カウンタによるカウントをストップする請求項1に記載のコントローラ。
【請求項3】
前記タイムチャートに含まれる前記サーボ軸の動作を制御する記述に基づいて、前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸終了予定時点算出部を有する請求項1又は2に記載のコントローラ。
【請求項4】
前記タイムチャート上に設定された一時停止信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントをストップし、一時停止解除信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントを再開する内部時刻一時停止部を有する請求項1乃至3のいずれかに記載のコントローラ。
【請求項5】
前記内部時刻一時停止部は、前記一時停止指令に応じて、全ての前記サーボ軸の動作を停止する請求項4に記載のコントローラ。
【請求項6】
請求項1に記載のコントローラと接続されるタイムチャート作成装置であって、
前記タイムチャートに含まれる前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸動作終了予定時点算出部、及び前記サーボ軸動作終了予定時点を指定するサーボ軸動作終了予定時点指定部の少なくとも一方を有するタイムチャート作成装置。
【請求項7】
請求項4又は5に記載のコントローラと接続されるタイムチャート作成装置であって、前記タイムチャート上に前記一時停止指令を設定する一時停止指令設定部を有するタイムチャート作成装置。
【請求項8】
請求項1乃至5のいずれかに記載のコントローラと接続されるタイムチャート作成装置であって、
前記サーボ軸の動作を記述するチャートにおける時間軸の任意の位置に対し一度の操作を行うことにより、予め定められた波形による前記サーボ軸の動作を制御する記述を前記タイムチャートに追加するサーボ軸動作追加部を有するタイムチャート作成装置。
【請求項9】
コンピュータを、請求項6乃至8のいずれかに記載のタイムチャート作成装置として機能させるコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを記憶したコンピュータ可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コントローラ、タイムチャート作成装置、コンピュータプログラム及びコンピュータ可読情報記憶媒体に関する。
【背景技術】
【0002】
特許文献1には、タイムチャートからラダープログラムを自動作成する制御プログラム自動作成装置が記載されている。
【0003】
また、特許文献2には、パソコンを用いて入力機器及び出力機器のタイムチャートを編集するとともに、タイムチャートデータを機械語にコンパイル処理し、コンパイル処理された機械語を処理装置にインターフェースにより伝送することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−191717号公報
【特許文献2】特開2003−228403号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の解決しようとする課題は、タイムチャートに基づいて機器を制御する際に、各機器にタイムチャートにあらわされたタイミングの実制御への反映度合いを高めた動作をさせることである。
【課題を解決するための手段】
【0006】
本発明の一側面に係るコントローラは、タイムチャートに基づいてサーボ軸を含む機器を制御するコントローラであって、前記タイムチャートに含まれる前記機器の動作を制御する記述に基づいて、前記機器の動作を制御する信号である制御信号を出力するタイムチャート実行部と、前記タイムチャートの時間軸上の時刻に対応する内部時刻をカウントする内部時刻カウンタと、少なくとも1の前記機器に対して、前記タイムチャート上における前記機器の動作の終了予定時点以降において、当該機器の動作が終了していない場合には、当該機器の動作の終了まで前記内部時刻カウンタによる前記内部時刻のカウントをストップする内部時刻ストッパと、を有する。
【0007】
また、本発明の別の一側面に係るコントローラでは、前記内部時刻ストッパは、前記機器が複数である場合において、前記機器のいずれか一つの動作が終了していない場合には、前記内部時刻カウンタによるカウントをストップする。
【0008】
また、本発明の別の一側面に係るコントローラでは、前記タイムチャートに含まれる前記サーボ軸の動作を制御する記述に基づいて、前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸終了予定時点算出部を有する。
【0009】
また、本発明の別の一側面に係るコントローラでは、前記タイムチャート上に設定された一時停止信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントをストップし、一時停止解除信号に応じて、前記内部時刻カウンタによる前記内部時刻のカウントを再開する内部時刻一時停止部を有する。
【0010】
また、本発明の別の一側面に係るコントローラでは、前記内部時刻一時停止部は、前記一時停止指令に応じて、全ての前記サーボ軸の動作を停止する。
【0011】
また、本発明の一側面に係るタイムチャート作成装置は、上述のコントローラと接続されるタイムチャート作成装置であって、前記タイムチャートに含まれる前記サーボ軸の動作の終了予定時点であるサーボ軸動作終了予定時点を算出するサーボ軸動作終了予定時点算出部、及び前記サーボ軸動作終了予定時点を指定するサーボ軸動作終了予定時点指定部の少なくとも一方を有する。
【0012】
また、本発明の一側面に係るタイムチャート作成装置は、上述のコントローラと接続されるタイムチャート作成装置であって、前記タイムチャート上に前記一時停止指令を設定する一時停止指令設定部を有する。
【0013】
また、本発明の一側面に係るタイムチャート作成装置は、上述のコントローラと接続されるタイムチャート作成装置であって、前記サーボ軸の動作を記述するチャートにおける時間軸の任意の位置に対し一度の操作を行うことにより、予め定められた波形による前記サーボ軸の動作を制御する記述を前記タイムチャートに追加するサーボ軸動作追加部を有する。
【0014】
また、本発明の一側面に係るコンピュータプログラムは、コンピュータを、上述のタイムチャート作成装置として機能させる。
【0015】
また、本発明の一側面に係るコンピュータ可読情報記憶媒体は、上述のコンピュータプログラムを記憶している。
【発明の効果】
【0016】
上記発明によれば、タイムチャートに基づいて機器を制御する際に、各機器にタイムチャートにあらわされたタイミングの実制御への反映度合いを高めた動作をさせることができる。
【図面の簡単な説明】
【0017】
図1】本発明の実施形態に係るコントローラを含む機器制御システムの例を示す概略図である。
図2】タイムチャート作成装置の物理的な構成を示すブロック図である。
図3】本発明の第1の実施形態に係るコントローラ及びタイムチャート作成装置の機能ブロック図である。
図4】タイムチャート作成装置により作成され、コントローラで実行されるタイムチャートの一例である。
図5図4に示すタイムチャートによる本実施形態に係る機器制御システムの実動作を示した図である。
図6】タイムチャート表示部によるタイムチャートの実行状況の表示の例を示す図である。
図7】第1の実施形態に係るコントローラがタイムチャートを実行する際の動作を示すフローチャートである。
図8】本発明の第2の実施形態に係るコントローラ及びタイムチャート作成装置の機能ブロック図である。
【発明を実施するための形態】
【0018】
タイムチャートは時間軸に対して各機器の動作のタイミングを記述するものであるが、タイムチャートに基いて各機器の動作のタイミングを制御しようとしても、各機器の実動作時間は必ずしもタイムチャートに記述した通りとなるとは限らない。しかしながら、タイムチャートに基いて各機器の動作のタイミングを制御しようとする場合に、タイムチャートに記述された各機器の動作のタイミングと、各機器の実動作時間とのずれをどのように解消すればよいのかはこれまで考慮されていなかった。
【0019】
また、本発明者の見地によれば、コントローラを用いて各機器を自動制御する際に、動作の確認やその他の理由により、任意のタイミングで各機器の動作を中断し停止させ、再開させたいという要求がある。かかる中断動作は、タイムチャートに記述されていないため、このような動作の中断を行うと、タイムチャートに記述された各機器の動作のタイミングと、各機器の実動作時間とのずれが生じる原因となる。
【0020】
そこで本発明の発明者は、上記したずれを考慮した上で、各機器をタイムチャート作成者の意図どおりに動作させることについて鋭意研究開発を行った結果、新規かつ独創的な機器制御装置及び機器制御方法に想到した。以下、かかる機器制御装置及び機器制御方法をその実施形態を通じ詳細に説明する。
【0021】
<実施形態に係る機器制御システム>
図1は本発明の実施形態に係るコントローラ2を含む機器制御システム1の例を示す概略図である。なお、図3以降の説明では第1の実施形態、第2の実施形態を区別して説明するが、本図及び図2はいずれの実施形態においても共通である。同図には、コントローラ2、サーボコントローラ3、I/Oユニット4と、リニアスライダ5、スイッチ6及びランプ7からなる機器制御システム1と、コントローラ2に接続されたタイムチャート作成装置8が示されている。
【0022】
コントローラ2は機器制御システム1全体を制御する機器であって、本実施形態では、タイムチャートに基いて少なくとも1以上の機器を制御するものである。なお、ここでタイムチャートとは、コントローラ2に接続される機器の動作を、時間軸に対して記述した情報を意味しており、その表現形式は問わない。また、サーボコントローラ3を通じて駆動されるリニアスライダ5等のサーボ軸、スイッチ6、ランプ7等の入出力機器は、いずれもコントローラ2による制御の対象となる機器の一例である。コントローラ2で実行されるタイムチャートは、タイムチャート作成装置8により作成され、電子データの形でコントローラ2に入力され、記憶される。コントローラ2には情報通信コネクタ2aが設けられている。
【0023】
サーボコントローラ3は、サーボモータを制御するためのサーボアンプ及びその制御回路が一体となったものであり、コントローラ2をはじめとする他の機器と接続するための情報通信コネクタ3aと、リニアスライダ5等のサーボ機構と接続するためのサーボコネクタ3bが設けられている。本実施形態では、サーボコネクタ3bにはサーボ軸の一例として、リニアスライダ5が接続されている。
【0024】
リニアスライダ5は、サーボモータ、エンコーダ、サーボモータの出力軸に連結されたボールねじと、リニアガイドにより案内され、ボールねじにより駆動されるスライドテーブルを一体とした機構であり、サーボコントローラ3からの出力に応じてスライドテーブルが駆動される。なお、ここでサーボ軸とは、サーボモータを動力源として駆動される機構をそのサーボモータを主眼としてとらえた呼び方である。
【0025】
I/Oユニット4は、コントローラ2をはじめとする他の機器と接続するための情報通信コネクタ4aと、入出力機器を接続するための多数の入出力接点を備えた機器である。I/Oユニット4には入出力接点として、入力コネクタ4bと出力コネクタ4cが備えられており、入力コネクタ4b及び出力コネクタ4cのそれぞれには多数の入力用又は出力用の接点(それぞれ、入力接点及び出力接点と呼ぶ)が含まれている。I/Oユニット4は、入力コネクタ4bに含まれる入力接点の入力状態を情報通信コネクタ4aを介してコントローラ2に伝達する一方、同じく情報通信コネクタ4aを介してコントローラ2から伝達された指令に応じて出力コネクタ4cに含まれる出力接点の状態を制御するものであり、機能的には、コントローラ2に外付けの入出力接点を増設する働きをする。本実施形態では、入出力機器の例として、I/Oユニット4の入力コネクタ4bにはノーマルオープン型(すなわち、A接点)の機械式スイッチであるスイッチ6が、また出力コネクタ4cにはランプ7が接続されている。なお、ここで入出力接点とは、ハイインピーダンス及びローインピーダンスの別により情報の入力又は出力をする接点を指しており、また、入出力機器とは、入出力接点によりコントローラ2に接続される機器を指す。
【0026】
本実施形態では、図1に示されているように、コントローラ2、サーボコントローラ3及びI/Oユニット4は、情報通信コネクタ2a,3a及び4aをケーブルでカスケード接続することにより互いに通信可能とされている。
【0027】
タイムチャート作成装置8は、コントローラ2にて実行されるタイムチャートをユーザが作成するのを支援するとともに、本実施形態では、コントローラ2から情報伝達を受けて、機器制御システム1の状態をモニタする装置である。タイムチャート作成装置8は専用の装置であってもよいが、図示の通りの一般的なコンピュータを用い、タイムチャート作成装置8として機能させるコンピュータプログラムを実行することにより実現されている。かかるコンピュータプログラムは、各種の光ディスクや半導体メモリなどのコンピュータ可読情報記憶媒体に格納されてよく、該媒体からコンピュータにインストールされるようにすることが好ましい。或いは、インターネット等の各種の情報通信ネットワークからコンピュータにダウンロードされてもよく、さらには情報通信ネットワークを通じて遠隔地にあるサーバによりその機能が提供される、いわゆるクラウドコンピューティングにより実現されてもよい。
【0028】
図2は、タイムチャート作成装置8の物理的な構成を示すブロック図である。タイムチャート作成装置8は一般的なコンピュータであり、CPU(Central Processing Unit)8a、RAM(Random Access Memory)8b、外部記憶装置8c、GC(Graphics Controller)8d、入力デバイス8e及びI/O(Inpur/Output)8fがデータバス8gにより相互に電気信号のやり取りができるよう接続されている。ここで、外部記憶装置8cはHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC8dからの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ8hに出力され、画像として表示される。入力デバイス8eはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、I/O8fはタイムチャート作成装置8が外部の機器、ここでは、コントローラ2と情報をやり取りするためのインタフェースである。
【0029】
なお、以上の説明、図1及び2では、本実施形態の説明に不要な他の詳細な構成や配線、例えば、電源線や接地線の接続については説明及び図示を簡略化するため省略している。また、接続態様やコネクタの種類、制御対象の機器の種類や個数等は、特に限定されるものではなく、様々なバリエーションが考えられる。さらに、機器制御システム1が動作するにあたっては、必ずしもコントローラ2にタイムチャート作成装置8が接続されている必要はなく、コントローラ2にタイムチャートが転送されているならば、タイムチャート作成装置8がなくとも機器制御システム1は動作可能である。また、タイムチャート作成装置8もまた必ずしもコントローラ2に接続されている必要はなく、タイムチャートの作成はタイムチャート作成装置8単独で可能である。
【0030】
<第1の実施形態に係るコントローラ及びタイムチャート作成装置の構成>
図3は、本発明の第1の実施形態に係るコントローラ2及びタイムチャート作成装置8の機能ブロック図である。
【0031】
コントローラ2は、タイムチャート作成装置8側に接続されるインタフェース20、制御対象となる各機器側に接続されるインタフェース21を備えている。タイムチャート作成装置8により作成されたタイムチャートは、インタフェース20を通してデータ取得部22により取得され、タイムチャート記憶部23に電子データの形で記憶される。
【0032】
内部時刻生成部24は、コントローラ2がタイムチャートに記述された各機器の動作を実行するタイミングを規定する時刻である内部時刻を生成する。そして、内部時刻は、タイムチャートの時間軸に示される時刻として使用されることになる。
【0033】
内部時刻は、内部時刻生成部24に含まれる適宜のクロック回路等からなる実時刻生成部24aにより生成され、現実の時刻に対応して進む実時刻が進行するタイミングに合わせて、内部時刻カウンタ24cが内部時刻を所定の増分だけ加えていくことによりカウントされる。
【0034】
また、内部時刻は、現実の時刻に対応して進む実時刻に対し、オーバーライド部24bにより適宜のオーバーライド係数によりその進行速度が調整される。ここで、オーバーライド係数は、実時刻の進行速度に対する内部時刻の進行速度の割合を示している。例えば、オーバーライド係数が0.8であれば、内部時刻は実時刻に対し80%の速度でゆっくり進行し、オーバーライド係数が1.2であれば内部時刻は実時刻に対し120%の速度で早く進行することになる。オーバーライド係数が1の場合には、内部時刻の進行速度と実時刻の進行速度は一致する。オーバーライド部24bは、内部時刻カウンタ24cが内部時刻をカウントする間隔を調整するか、又は、内部時刻カウンタ24cが内部時刻に加える増分の大きさを調整することにより内部時刻の進行速度を調整している。なお、オーバーライド係数は、インタフェース20を通じてタイムチャート作成装置8により、或いは適宜のティーチングペンダント等任意の機器を用いてユーザにより設定される。また、生成された内部時刻は、各機器の動作をモニタするために、インタフェース20を通じてタイムチャート作成装置8に出力されてもよい。
【0035】
さらに、内部時刻ストッパ24dは、後述する機器動作終了判定部26及び内部時刻一時停止部27からの信号を受けて、内部時刻カウンタ24cによる内部時刻のカウントをストップする。この動作は、内部時刻カウンタ24cは、内部時刻ストッパ24dからストップ信号が出力されている間は、内部時刻に増分を加えることをしないというもので、内部時刻のカウントがストップされている間は内部時刻は進行しない。内部時刻ストッパ24dからのストップ信号が出力されなくなると、内部時刻カウンタ24cは内部時刻のカウントを再開する。
【0036】
タイムチャート実行部25は、内部時刻カウンタ24cがカウントした内部時刻に基いて、タイムチャート記憶部23に記憶されたタイムチャートに記述された各機器の動作を解釈し、その動作を実行するためにインタフェース21を通じて各機器に制御信号を出力する。タイムチャート実行部25の基本的な動作は、タイムチャートに動作が記述された時点に内部時刻が到来したならば、かかる記述を実現する制御信号を出力する、というものである。
【0037】
機器動作終了判定部26は、コントローラ2に接続される機器の少なくとも1つの機器に対して、その機器のタイムチャート上における動作の終了時点である終了予定時点以降において、当該機器の実動作が終了しているか否かを判定する。この判定は、対象となる機器がサーボ軸である場合には、かかるサーボ軸を制御するコントローラから位置決め完了信号が出力されているか否かにより、また、対象となる機器が入力機器である場合には、対応する入力接点における入力信号の状態がタイムチャート上における動作の終了時における状態と合致するか否かによりなされ得る。機器の実動作が終了していない場合には、機器動作終了判定部26は、内部時刻ストッパ24dに信号を出力し、内部時刻のカウントをストップさせる。また、本実施形態では、終了予定時点は、タイムチャート作成装置8により予め作成され、タイムチャートの情報に含まれている。
【0038】
なお、機器動作終了判定部26による判定の対象となる機器は、任意の1つであっても複数であってもよく、全てであってもよい。1つのみを対象とした場合には、当該機器について、タイムチャートに記述された動作の実動作への反映度を高めることができ、複数あるいは全てを対象として場合には、タイムチャートに記述された複数又は全ての機器の実動作を同期がとれた形で実行することができる。なお、本実施形態では、機器動作終了判定部26はコントローラ2に接続される全ての機器に対し上述の判定を行うので、コントローラ2は、接続された機器のいずれか1つの動作が終了予定時点以降において未だに終了していない場合に、内部時刻のカウントをストップすることになる。
【0039】
内部時刻一時停止部27は、タイムチャートに含まれる一時停止指令が設定された時点に内部時刻が到達した際に、内部時刻ストッパ24dに信号を出力し、内部時刻のカウントをストップする。同時に、インタフェース21を通して全てのサーボ軸に対しホールド信号を出力する。この結果、各サーボ軸は、その動作が実行途中であっても停止される。なお、一時停止指令は、後述する一時停止指令設定部85によりタイムチャート上に設定されるが、例えば、タイムチャートの実行中にタイムチャート作成装置8又はコントローラ2へのユーザの入力によりリアルタイムに設定されてもよい。一方、内部時刻一時停止部27に、外部、例えば任意のスイッチやタイムチャート作成装置8から、又は、コントローラ2へのユーザ入力等により、一時停止解除信号が入力されると、内部時刻一時停止部27は、内部時刻の一時停止を解除し、内部時刻ストッパ24dへの信号及びサーボ軸へのホールド信号の出力を停止する。そうすると、内部時刻のカウントが再開され、また各サーボ軸の動作が実行途中であったものは、その動作が停止した状態から再開される。
【0040】
タイムチャート作成装置8は、ユーザインタフェース80、コントローラ2に接続されるインタフェース81を備えている。ユーザインタフェース80は物理的には図2の入力デバイス8e及びモニタ8hが、インタフェース81は図2のI/O8fがそれぞれ相当することとなる。
【0041】
タイムチャート作成部82は、ユーザインタフェース80に表示したGUI(Graphical User Interface)等を用いてユーザから必要な情報を受け付け、タイムチャートを作成する。本実施形態では、タイムチャート作成部82は、チャート作成部82a、サーボ軸動作追加部82b及びサーボ軸動作終了予定時点算出部82cを含む。
【0042】
チャート作成部82aは、サーボ軸の動作の波形を示すチャートや、入出力機器の動作をプロットするチャートをユーザからの入力に基いて作成する。サーボ軸の動作の波形は、速度をプロットする速度チャート又は変位をプロットする変位チャートである。一般に速度チャートを時間について積分すれば変位チャートが得られるので、速度チャート及び変位チャートのいずれを作成するものとしてもよいが、本実施形態ではユーザの指定によりそのいずれに対しても作成可能となっている。また、入出力機器の動作をプロットするチャートは、入力機器に対しては、時間軸に対し予期される入力の変化を記述するものであり、出力機器に対しては、時間軸に対しコントローラ2からの出力の変化を記述するものである。
【0043】
なお、チャート作成部82aは、各チャートにその動作が記述される機器の動作を、他の機器の状態変化に連動して開始するように指定することができることが好ましい。かかる指定をすることにより、例えば、スイッチが押されることによりサーボ軸が起動する、といった複数の機器が関連する動作の記述がなされる。このように、ある機器の動作が他の機器の状態変化に連動している関係を例えば「リンク」又は「関連付け」等と呼ぶ場合もある。
【0044】
さらに、本実施形態においては、チャート作成部82aは、サーボ軸動作追加部82bを含んでいる。サーボ軸動作追加部82bは、簡便にサーボ軸の動作波形を作成することを可能とするものであり、ユーザにより、タイムチャートにおける時間軸の任意の位置に対し一度の操作を行うことにより、あらかじめ定められた動作波形をタイムチャートに追加する。ユーザによる指定は、タイムチャートに含まれる任意のサーボ軸に対し、例えばユーザインタフェース80に表示されている時間軸の一点をポインティングデバイスにより指定することにより、或いは、あるサーボ軸に対して追加したい動作波形の開始時点をキーボード等により入力することによりなされ得る。また、あらかじめ定められた動作波形は、例えば、所定の加速度、所定の速度及び所定の移動量をもつ動作波形である。これらの所定の加速度、速度及び移動量は、デフォルトで設定されていてもよく、ユーザが事前に設定しておいてもよい。所定の加速度、速度及び移動量は、全てのサーボ軸について共通であってもよいが、複数のサーボ軸が存在する場合には、サーボ軸毎に固有に設定されるものであることが好ましい。
【0045】
サーボ軸動作終了予定時点算出部82cは、チャート作成部82aによりサーボ軸の動作波形が作成されると、タイムチャート上において、当該動作波形による動作の終了時点であるサーボ軸動作終了予定時点を算出しタイムチャートに記録する。例えば、サーボ軸動作終了予定時点算出部82cは、サーボ軸の動作波形における加速度、速度及び移動量等の動作情報に基づいて、サーボ軸動作終了予定時点を算出してもよい。なお、サーボ軸動作終了予定時点算出部82cは、タイムチャート作成装置8がサーボ軸動作終了予定時点を自動的に算出するものであるが、これに換えて、又はこれに加えて、サーボ軸動作終了予定時点指定部を設け、ユーザがサーボ軸動作終了予定時点を指定するようにしてもよい。タイムチャート作成装置8がサーボ軸動作終了予定時点を自動的に算出するものとした場合には、ユーザはサーボ軸の動作終了時点を意識することなくタイムチャートの作成を行えるため、タイムチャートの作成が簡便である。これに対し、ユーザがサーボ軸動作終了予定時点を指定する場合には、サーボ軸動作終了予定時点として余裕をもった時点を指定できるため、後述する実時刻と内部時刻とのずれをなくす又は小さいものとすることができる。
【0046】
一時停止指令設定部85は、タイムチャートの任意の時点に一時停止指令を設定する。一時停止指令は、タイムチャート毎に1点のみ設定可能としてもよいし、複数設定可能としてもよい。
【0047】
チャート作成部82aにより作成されたチャート、サーボ軸動作終了予定時点算出部82cにより算出されたサーボ軸動作終了予定時点及び一時停止指令設定部85により設定された一時停止指令は、タイムチャートを構成する電子データとして、又はタイムチャートとは別個の電子データとしてタイムチャート記憶部83に記憶される。また、そのようにして作成されたタイムチャートは、タイムチャート表示部84により読み出され、ユーザインタフェース80によりユーザに表示され、内容の確認ができるようになっていてもよい。
【0048】
タイムチャート記憶部83に記憶されたタイムチャートをはじめとする情報は、必要に応じてインタフェース81を通じてコントローラ2に転送される。
【0049】
<第1の実施形態に係る機器制御システムの動作>
続いて、本実施形態に係る機器制御システム1の動作を具体的なタイムチャートを例示しつつ説明する。
【0050】
図4はタイムチャート作成装置8により作成され、コントローラ2で実行されるタイムチャートの一例である。同タイムチャートにおいて、横軸が時間軸となっており、縦軸には制御対象となる各機器が順に示されている。各機器に対応して示される曲線は、それぞれの機器の状態を示すものであり、「UNIT#01」として示されるスイッチ6及び、「UNIT#03」として示されるランプ7は入出力機器であるから、曲線が上の位置にある場合はローインピーダンス(接続)を、曲線が下の位置にある時はハイインピーダンス(切断)を意味している。また、「UNIT#02」として示されるサーボ軸、この場合はリニアスライダ5について示されている曲線は、スライダの速度を示している。
【0051】
このタイムチャートで意図されている動作は、開始より1000ms経過した時点でスイッチ6がオンとなり(図中A点)、かかるスイッチ6の状態変化に連動してタイマが起動し、設定時間である500msの間待機し(図中太線B)、サーボ軸(リニアスライダ5)を所定の移動量だけ移動させ(図中区間C)、またサーボ軸の移動開始時点(図中D点)に連動してランプ7を点灯し、サーボ軸の移動終了時点(図中E点)に連動してランプ7を消灯するというものである。また、開始から4000msの時点に図中HLTとして示す一時停止指令が設定されている。タイムチャートの終了時刻は7000msの時点に設定されており、図中EOCとして示されている。
【0052】
タイムチャート中示した破線矢印は、一の機器の動作、すなわち状態変化に連動して他の機器が動作すること、すなわち、リンク(又は関連付け)を示している。もちろん、矢印による表記は一例であり、一の機器の状態変化に他の機器の動作が連動することをどのように表現するかは自由である。かかる動作の連動は、一の機器のある動作と他の機器のある動作とが何らかの形で関連付けられていればよいのであって、タイムチャートを図4のように目に見える形で示した際に、かかる関連付けが必ずしも明に示されていなくともよい。また、図4に示したタイムチャートの例では、サーボ軸の動作の開始が、スイッチ6の状態変化に関連付けられている場合を例示しているが、この関連付けは、サーボ軸同士やサーボ軸以外の機器同士で行われても良い。また、サーボ軸の動作の終了を他の機器の状態変化に関連付けてもよい。さらに、一の機器の状態変化に対し、同じ一の機器自体のさらなる動作が連動するようにしてもよい。例えば、サーボ軸が正転方向に一定量移動した後、移動終了のタイミングで直ちに逆転方向に移動開始するような場合には、一の機器の状態変化に対し、同じ一の機器自体のさらなる動作が連動することとなる。
【0053】
図5は、図4に示すタイムチャートによる本実施形態に係る機器制御システム1の実動作の例を示した図である。同図に示した各曲線は、実際の機器であるスイッチ6、サーボ軸であるリニアスライダ5及びランプ7の実際の動作をタイムチャートの形式で示したものである。また、時間軸は、タイムチャートの実行開始時点からの実時刻と内部時刻の2つを並行して示した。図5に示した例では、オーバーライド係数は1であり、実時刻と内部時刻は同じ速度で進行するものとする。
【0054】
コントローラ2のタイムチャート実行部25は、図4に示すタイムチャートに記述された各機器の動作を解釈し、逐次実行していく。ここで、図4のタイムチャート上では内部時刻が1000msの時点であるA点でスイッチがオンとなるはずであるが、図5に示した実動作ではスイッチはオフのままである。これによりコントローラ2の機器動作終了判定部26は、スイッチの動作が終了していないと判定し、内部時刻ストッパ24dにより内部時刻のカウントがストップされる。そのため、実時刻は進行するのに対し、内部時刻はその進行が停止する。
【0055】
実時刻で1500msとなる時点A’でスイッチがオンとなり、これにより内部時刻のカウントが再開され、内部時刻は再び進行を始める。同時に、スイッチに連動してタイマ(図中B)が起動し、更に500ms経過後の時点D’においてサーボ軸が起動するとともにランプが点灯する。この時点での実時刻は2000msであるのに対し、内部時刻は図4のタイムチャート通りの1500msである。
【0056】
内部時刻が4000msに到達した時点(実時刻が4500msの時点)において、一時停止指令により、内部時刻一時停止部27によって内部時刻のカウントがストップされる。そのため、内部時刻は再びその進行を停止される。また、サーボ軸に対しホールド信号が出力されるため、図5に示すように、サーボ軸は減速しその動作を停止する。
【0057】
さらに、実時刻が7000msの時点においてH/Rとして示す一時停止指令解除信号が入力されたとすると、内部時刻一時停止部27は内部時刻のカウントを再開させると共に、サーボ軸に対するホールド信号の出力を解除する。そのため、内部時刻は再び進行をはじめ、サーボ軸も中断されていた動作を再開する。この一時停止時のサーボ軸の減速及び加速は、サーボ軸の制御装置(サーボコントローラ3)自体が所定の減速度及び加速度で加減速動作を設定することにより実行してもよく、コントローラ2が予め設定されたサーボ軸の許容値等に基いて、自動的に減速度及び加速度等を演算し、加減速動作を設定してサーボ軸の制御装置に実行させてもよい。
【0058】
図4のタイムチャート上ではサーボ軸の動作が終了している6000msの時点に内部時刻が到達する時点Fにおいて、図5では未だにサーボ軸の動作は終了していない。このため、またしても機器動作終了判定部26により内部時刻のカウントがストップされる。そして、実時刻が9500msとなる時点E’においてサーボ軸の実動作が終了したため、機器動作終了判定部26は内部時刻カウントを再開させ、同時に、ランプが消灯される。
【0059】
その後、内部時刻が7000msに到達した時点でタイムチャートの実行が終了される。このとき、図5の例では実時刻は10500msとなっている。
【0060】
以上図5を例として説明したように、内部時刻に注目すると、スイッチ、サーボ軸及びランプの全ての動作は図4に示したタイムチャート通りに実行されていることが分かる。一方で実時刻と内部時刻とは必ずしも一致せず、機器動作終了判定部26及び内部時刻一時停止部27により内部時刻のカウントがストップされる毎に両者の間にはずれが発生する。
【0061】
なお、タイムチャート表示部84は、タイムチャート実行部25によるタイムチャートの実行に合わせ、その実行状況をユーザに認識させる表示をしてもよい。タイムチャート表示部84は、例えば、実行している時点を表すライン(例えば縦線)を表示し、そのラインをタイムチャート右方(時間経過方向)に移動させたり、タイムチャートの表示を左方に移動させてもよい。このような表示を行うことにより、ユーザに現在実行されている時点がタイムチャート上のどの時点であるのかを認識させることが可能である。この際、タイムチャート表示部84は、内部時刻カウンタ24cがストップさせられれば、上記タイムチャートの表示の変更を停止させることで、ストップした状態を認識させることも可能である。また、タイムチャート表示部84は、内部時刻を表示させることで、内部時刻の進行状況をユーザに認識させることも可能である。更に、タイムチャート表示部84は、内部時刻と共に、又は換えて、実時刻及び/又は実時刻と内部時刻とのずれ量を表示させてもよい。これにより、ユーザは、実時間軸上において処理に要した時間間隔等をも認識することが可能である。
【0062】
図6は、そのようなタイムチャート表示部84によるタイムチャートの実行状況の表示の例である。図6は、ユーザインタフェース80(モニタ8h)上に表示されている画面9を示している。画面9には、図4に示したと同様のタイムチャートが表示されており、かかるタイムチャート上に、現在の実行時点を示すライン90が重ね合わせられるように表示されている。ライン90は、図6中に矢印で示したように、内部時刻の進行に伴い画面9の右方に移動する。また、内部時刻のカウントがストップされ、その進行が停止すると、ライン90の移動も停止する。これにより、ユーザは、コントローラ2がタイムチャートのどの時点を実行中なのか、また、内部時刻のカウントがストップされているのか否かを直ちに認識することができる。また、画面9の右下には、内部時刻表示部92と実時刻表示部93が設けられており、それぞれ、内部時刻と実時刻を表示している。図6に示した時点は、図5において内部時刻が3000ms、実時刻が3500msとなる時点である。
【0063】
なお、ライン90を移動させたり、タイムチャート自体を移動させるなどによりタイムチャートの実行状況を表示する際には、コントローラ2におけるタイムチャートの実行状況、すなわち、内部時刻の進行状況と、タイムチャート表示部84による表示とは、必ずしも正確に同期していなくともよい。一般にユーザインタフェース80として用いられるモニタ8hのリフレッシュレートは数十Hz〜百Hz程度であり、コントローラ2における内部時刻のカウント周期に比してはるかに遅いので、タイムチャート表示部84による表示の更新タイミングはかかるリフレッシュレート程度かそれより遅い周期で十分である。また、ユーザがタイムチャートが実行されていることを確認さえできればよいのであれば、タイムチャート表示部84による表示と内部時刻とが同期していなくてもよい。すなわち、上述の例でいえば、タイムチャートを実行開始した時点から、タイムチャート表示部84がライン90を内部時刻と同期することなく右方に移動させるようにしても、ユーザは少なくともタイムチャートが実行中であることと、その概ねの実行時点を把握することができる。この場合、タイムチャート表示部84は、ライン90が一時停止指令が設定された時点に到達した時点で、一時停止指令解除信号が入力されるまで、ライン90の移動を停止することが好ましい。もちろん、タイムチャート表示部84による表示と内部時刻とが同期している方が、タイムチャートの実行状況を正確にユーザに伝えることができるため、より好ましい。
【0064】
<第1の実施形態に係るコントローラの動作フロー>
図7は、本実施形態に係るコントローラ2がタイムチャートを実行する際の動作を示すフローチャートである。
【0065】
コントローラ2は、タイムチャートの実行を開始すると、内部時刻に従い、ステップS1にて内部時刻をカウントし、タイムチャートに記載された動作を解釈し実行する。そして、ステップS2で全ての動作が終了したか否かを判断し、終了していれば制御を終了し、そうでなければステップS3に進む。
【0066】
ステップS3では、内部時刻が一時停止指令が設定されている時点に到達したか否かを判断する。到達していなければ、ステップS4へと進む。
【0067】
ステップS4では、内部時刻が機器の動作の終了予定時点に到達したか否かを判断する。到達していなければステップS1へと戻り、引き続きタイムチャート上の動作を実行する。内部時刻が機器の動作の終了予定時点に到達していれば、続くステップS5にて当該機器の実動作が終了しているか否かを判断する。実動作が終了していればステップS1へと戻るが、実動作が終了していなければステップS6へと進み、内部時刻のカウントをストップする。ステップS6からはステップS5へと戻るため、ステップS6によるカウントストップは、ステップS5により機器の動作が終了したと判断されるまで継続される。
【0068】
一方、ステップS3において内部時刻が一時停止指令が設定されている時点に到達したと判断された場合には、ステップS7へと進む。ステップS7では、一時停止解除指令が入力されているか否かを判断する。一時停止解除指令が入力されていなければ、ステップS8へと進み、内部時刻のカウントをストップすると共にサーボ軸にホールド信号を出力する。ステップS8からはステップS7へと戻るため、ステップS8によるカウントストップ及びホールドは、ステップS7により一時停止解除指定が入力されたと判断されるまで継続される。
【0069】
ステップS7において一時停止解除指定が入力されると、ステップS4へと進む。それ以降の動作は、既に述べたとおりである。
【0070】
コントローラ2が上述の動作をすることにより、機器の実動作がタイムチャートに記述された動作のとおりでなくとも、内部時間のカウントとその停止が機器の実動作に追従してなされるため、タイムチャートにあらわされたタイミングの実制御への反映度合いを高めた動作がなされる。また、ユーザの指定による一時停止があった場合にも、タイムチャートに記述された機器間の動作タイミングの同期は保たれる。
【0071】
<第2の実施形態に係るコントローラ及びタイムチャート作成装置の構成>
図8は、本発明の第2の実施形態に係るコントローラ2及びタイムチャート作成装置8の機能ブロック図である。本実施形態において、先の実施形態と共通している部分に対しては、同符号を付し、その重複する説明は省略するものとする。本実施形態に係るコントローラ2と先の実施形態に係るコントローラ2との相違点は、本実施形態に係るコントローラ2においてはタイムチャート実行部25と機器動作終了判定部26との間に、サーボ軸動作終了予定時点算出部28が設けられている点である。また、本実施形態に係るタイムチャート作成装置8と先の実施形態に係るタイムチャート作成装置8との相違点は、サーボ軸動作終了予定時点算出部82cが無い点である。
【0072】
本実施形態では、コントローラ2にサーボ軸動作終了予定時点算出部28が設けられているため、サーボ軸の動作の終了時点は、コントローラ2により自動的に算出され、機器動作終了判定部26での判定に用いられる。そのため、タイムチャート作成装置8側で作成するタイムチャートに、サーボ軸動作終了時点を含ませる必要が無い。タイムチャート作成装置8では、それに伴い、サーボ軸動作終了予定時点算出部82cは省略される。従って、タイムチャート作成装置8とコントローラ2との間のデータ通信量を削減することも可能である。ただし、コントローラ2にサーボ軸動作終了予定時点算出部28を設けると同時に、タイムチャート作成装置8にサーボ軸動作終了予定時点算出部82cを設け、いずれか一方を動作させたり、双方が補完的にサーボ軸動作終了時点を算出することも可能である。
【0073】
また、サーボ軸動作終了予定時点算出部28は、タイムチャート記憶部23に記憶されるタイムチャートに、算出した動作終了予定時点を予め含ませてもよい。しかし、本実施形態のように、タイムチャート実行部25による実際の実行に合わせて動作終了予定時点を算出するようにすれば、タイムチャート自体のデータ量を低減することができる。
【0074】
なお、本実施形態において、コントローラ2側のサーボ軸動作終了予定時点算出部28に加え、前述のサーボ軸動作終了予定時点指定部を設け、ユーザがサーボ軸動作終了予定時点を指定することもできるようにしてよい。そして、機器動作終了判定部26は、タイムチャートに指定されたサーボ軸動作終了予定時点が含まれている場合、すなわち、ユーザによる指定がある場合には、ユーザによる指定を優先的に用い、そうでない場合にサーボ軸動作終了予定時点算出部28により算出されたサーボ軸動作終了予定時点を用いるようにするとよい。このようにすれば、特段サーボ軸動作終了予定時点を指定する必要が無い場合には、コントローラがサーボ軸動作終了予定時点を自動的に算出するためタイムチャートの作成が簡便であり、また、必要に応じてサーボ軸動作終予定了時点を指定できるため、サーボ軸動作終了予定時点として余裕をもった時点を指定すれば、実時刻と内部時刻とのずれをなくす又は小さいものとすることができる。
【0075】
なお、本実施形態に係る機器制御システム1の動作は、先の実施形態におけるものと同様であり、特段変わるところはないため、重ねての説明は省略するものとする。
【0076】
以上説明した各実施形態の構成は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、各部材あるいはその部分の形状や数、配置等を適宜変更してもよく、また、フローチャートに示した制御は、同等の機能を奏する他の制御に置き換えてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
図1
図2
図3
図4
図5
図6
図7
図8