(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】制御装置
(51)【国際特許分類】
G05B 19/18 20060101AFI20241008BHJP
G05B 19/416 20060101ALI20241008BHJP
G05B 19/4069 20060101ALI20241008BHJP
【FI】
G05B19/18 C
G05B19/416 E
G05B19/4069
(21)【出願番号】P 2022560764
(86)(22)【出願日】2021-11-01
(86)【国際出願番号】 JP2021040253
(87)【国際公開番号】W WO2022097607
(87)【国際公開日】2022-05-12
【審査請求日】2023-06-15
(31)【優先権主張番号】P 2020184877
(32)【優先日】2020-11-05
(33)【優先権主張国・地域又は機関】JP
【前置審査】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】鈴木 佳之
【審査官】野口 絢子
(56)【参考文献】
【文献】特開2007-234002(JP,A)
【文献】特開2007-122387(JP,A)
【文献】特開2016-062175(JP,A)
【文献】特開2018-197989(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B19/18-19/416
G05B19/42-19/46
B23Q15/00-15/28
B23Q17/00-23/00
B23Q 1/00- 1/76
B23Q 9/00- 9/02
(57)【特許請求の範囲】
【請求項1】
制御用プログラムに基づいて複数の異なる制御対象を制御してワークを加工する並列制御を行う制御装置において、
前記制御用プログラムを解析する解析部と、
前記解析部による解析結果に基づいて複数の前記制御対象を制御する制御部と、
前記制御用プログラムにおける調整可能区間を検出する調整可能区間検出部と、
前記制御用プログラムにおける複数の前記制御対象間での待ち合わせに係る指令の実行において発生する無駄時間を検出する無駄時間検出部と、
前記制御用プログラムの前記調整可能区間における前記制御対象が備える軸の移動に係る指令の速度及び加速度の少なくともいずれかを、前記無駄時間が短縮するように調整する速度調整部と、
を備え
、
前記無駄時間は、複数の前記制御対象の内の第1制御対象が待ち状態となってから、前記第1制御対象とは異なる第2制御対象が前記待ち状態が解除される所定の状態になるまでの時間である、前記第2制御対象の遅れ時間であり、
前記速度調整部は、前記待ち状態になる以前に実行される調整可能区間における前記第2制御対象の前記軸の移動に係る指令の速度及び加速度の少なくともいずれかを大きくすることで、前記遅れ時間を短縮する、
制御装置。
【請求項2】
制御用プログラムに基づいて複数の異なる制御対象を制御してワークを加工する並列制御を行う制御装置において、
前記制御用プログラムを解析する解析部と、
前記解析部による解析結果に基づいて複数の前記制御対象を制御する制御部と、
前記制御用プログラムにおける調整可能区間を検出する調整可能区間検出部と、
前記制御用プログラムにおける複数の前記制御対象間での待ち合わせに係る指令の実行において発生する無駄時間を検出する無駄時間検出部と、
前記制御用プログラムの前記調整可能区間における前記制御対象が備える軸の移動に係る指令の速度及び加速度の少なくともいずれかを、前記無駄時間が短縮するように調整する速度調整部と、
を備え、
前記解析部は、前記制御用プログラムに含まれる複数の指令を先読みして解析すると共に、複数の前記指令の実行時間を予測し、
前記調整可能区間検出部は、少なくとも1回目のワークの加工において、前記制御用プログラムに含まれる切削送り指令が実行されるにも関わらず負荷が検出されない区間を調整可能区間として検出し、
前記無駄時間検出部は、前記解析部による複数の前記指令の実行時間の予測結果に基づいて、前記無駄時間を検出する
、
制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に関し、特に無駄時間を考慮して送り速度を調整する制御装置に関する。
【背景技術】
【0002】
工作機械やロボットなどの産業機械を制御する制御装置では、複数の制御処理を並列して行う場合がある。この複数の制御処理は、例えば多系統システムを構成する系統間で並列制御をする場合や、単一系統のシステムを構成する制御対象(工作機械とその周辺装置、複数の周辺装置間など)を並列制御する場合などがある。並列制御は、複数の制御用プログラム間での協調動作や、単一の制御用プログラム内でのブロック間での協調動作、同じブロック内の複数の指令の間での協調動作で実現されている。
【0003】
一例として、多系統システムを複数の制御用プログラムでそれぞれ制御する場合について説明する。
複数の加工系統やローダ系統を備えた多系統システムを制御する多系統制御を行う場合、それぞれの系統間の動作を協調動作させるために待ち合わせ制御を行う場合がある(例えば、特許文献1等)。それぞれの系統を制御するための指令は、一般にそれぞれの系統毎に異なる制御用プログラムに含まれる。待ち合わせ制御を行うために、それぞれの制御用プログラムの指令には、他の系統や周辺機器と「待ち」を行う指令が存在する。各系統の制御用プログラムや周辺機器は、お互いに待つことで協調して動作する。
図9は、待ち合わせを行う制御用プログラムの例を示している。
図9の制御用プログラムでは、M101指令により系統間待ち合わせを行うことを指令し、WAIT(3)指令で他の系統から待ち合わせ識別子3が通知されるまで制御用プログラムの動作を一時停止する。そして、相手の系統が所定の状態になって待ち合わせ識別子3を通知してくると、制御用プログラムの実行を再開してM200指令でローダを呼び出す。この制御用プログラムを用いることで、他の系統で待ち合わせ識別子3を通知する指令が実行されるまでローダ呼び出し指令の実行を待たせることができる。
【0004】
他の例として、単一系統のシステムを構成する制御対象を単一の制御用プログラムで並列制御をする場合について説明する。
単一系統内において、制御用プログラムから周辺装置を呼び出して利用する場合、該周辺装置を呼び出す指令を実行したあと、そのまま制御用プログラムの実行が継続される。この時、継続して実行されるブロックの中に、周辺装置の動作状態が所定の状態(周辺装置の駆動部が所定の位置まで移動した状態など)になるまで実行できないブロックがあった場合、当該ブロックにおいて、周辺装置が所定の状態になった時に通知される信号を待つ待ち指令が実行される。そして、周辺装置が所定の状態になり、信号が通知されると、待ち指令は解除されて制御用プログラムの実行が継続される。このような待ち合わせ処理は、同一ブロック内の指令間で行われることもある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、並列動作する複数の制御対象がある場合に、ある制御対象が、他の制御対象の動作を待つ待ち指令に早く到着する場合を考える。このような場合、当該制御対象の動作は他の制御対象が所定の状態になるまでの間、一時停止したままとなる。この待ち時間は、当該制御対象の動作のみに着目すると無駄な時間として捉えることができる。
【0007】
一方で、ある制御対象が、待ち指令の実行に遅れて所定の状態になる場合を考える。このような場合、当該制御対象が遅れて所定の状態になる分だけシステム全体の動作のサイクルタイムが低下することとなる。この遅れ時間は、システム全体の動作からするとやはり無駄な時間として捉えることができる。
このような、複数の制御対象が並列動作するシステムにおいて発生する無駄時間を有効に活用する技術的手法が望まれている。
【課題を解決するための手段】
【0008】
本発明による制御装置は、複数の制御対象が並列動作するシステムにおいて無駄時間が発生する場合に、複数の制御対象の内の少なくとも1つの制御対象を制御する指令における調整可能な区間(例えば、加工せずに軸が移動しているエアカット区間や、加工条件を調整しても大きな問題が出ない加工区間など)の速度や加速度を調整することで無駄時間を短縮する。待ち時間が発生する制御対象における調整可能区間の速度や加速度を小さくする方向で調整すれば、該制御対象の消費電力や機械に発生する衝撃が低減される。また、遅れ時間が発生する制御対象における調整可能区間の速度や加速度を大きくする方向で調整すれば、システム全体のサイクルタイムが短縮される。いずれの調整を行う場合でも、無駄時間は短縮される。
【0009】
そして、本発明の一態様は、少なくとも1つの制御用プログラムに基づいて複数の異なる制御対象を制御してワークを加工する並列制御を行う制御装置において、前記制御用プログラムを解析する解析部と、前記解析部による解析結果に基づいて複数の前記制御対象を制御する制御部と、前記制御用プログラムにおける調整可能区間を検出する調整可能区間検出部と、前記制御用プログラムにおける複数の前記制御対象間での待ち合わせに係る指令の実行において発生する無駄時間を検出する無駄時間検出部と、前記制御用プログラムにおける前記調整可能区間における前記制御対象が備える軸の移動に係る指令の速度及び加速度の少なくともいずれかを、前記無駄時間が短縮するように調整する速度調整部と、を備えた制御装置である。
【発明の効果】
【0010】
本発明の一態様により、複数の制御対象が並列動作するシステムにおいて発生する無駄時間を、消費電力や機械に発生する衝撃の低減、サイクルタイムの短縮へと転換して有効に活用することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態による制御装置の概略的なハードウェア構成図である。
【
図2】第1実施形態による制御装置の機能を示す概略的なブロック図である。
【
図3】ある系統における速度の推移と時間の関係を例示する図である。
【
図4】待ち時間を短縮する処理の結果を例示する図である。
【
図5】他の系統における速度の推移と時間の関係を例示する図である。
【
図6】遅れ時間を短縮する処理の結果を例示する図である。
【
図7】第2実施形態による制御装置の機能を示す概略的なブロック図である。
【
図8】第3実施形態による制御装置の機能を示す概略的なブロック図である。
【
図9】系統間の待ち合わせをする加工プログラムの例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の第1実施形態による制御装置の要部を示す概略的なハードウェア構成図である。
本実施形態では、本発明の制御装置が備える機能を複数の制御対象を複数の制御用プログラムにより並列制御した場合を例として説明する。本発明の制御装置1は、例えば制御対象3a,3bを制御対象毎に用意された制御用プログラムに基づいて制御する制御装置として実装することができる。なお、本実施形態による制御装置1の機能は、単一の制御用プログラムにより複数の制御対象3a,3bを並列制御する場合にも適用できる。
【0013】
本実施形態による制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス22を介して読み出し、該システム・プログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0014】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれた制御用プログラムやデータ、インタフェース18を介して入力装置71から入力された制御用プログラムやデータ、ネットワーク5を介してフォグコンピュータ6やクラウドサーバ7等の他の装置から取得された制御用プログラムやデータ等が記憶される。不揮発性メモリ14に記憶されるデータは、例えば制御対象3a,3bにおける各モータの位置や速度、加速度、負荷、その他の制御対象3a,3bに取り付けられた図示しないセンサで検出された各物理量に係るデータ等が含まれていてよい。不揮発性メモリ14に記憶された制御用プログラムやデータは、実行時/利用時にはRAM13に展開されてもよい。また、ROM12には、公知の解析プログラムなどの各種システム・プログラムがあらかじめ書き込まれている。
【0015】
インタフェース15は、制御装置1のCPU11と外部記憶媒体等の外部機器72と接続するためのインタフェースである。外部機器72側からは、例えば制御対象3a,3bの制御に用いられる制御用プログラムや設定データ等が読み込まれる。また、制御装置1内で編集した制御用プログラムや設定データ等は、外部機器72を介して図示しないCFカードやUSBメモリ等の外部記憶媒体に記憶させることができる。PLC(プログラマブル・ロジック・コントローラ)16は、ラダープログラムを実行して制御対象3a,3b及び該制御対象3a,3bの周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、制御対象3a,3bに取付けられている温度センサや湿度センサ等のセンサ)にI/Oユニット19を介して信号を出力し制御する。また、制御対象3a,3bの本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け取って、その信号に必要な信号処理をした後、CPU11に渡す。
【0016】
インタフェース20は、制御装置1のCPUと有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5は、例えばRS-485等のシリアル通信、Ethernet(登録商標)通信、光通信、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)等の技術を用いて通信をするものであってよい。ネットワーク5には、他の機械やフォグコンピュータ6、クラウドサーバ7等の上位の管理装置が接続され、制御装置1との間で相互にデータのやり取りを行っている。
【0017】
表示装置70には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース17を介して出力されてその画面に表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、作業者による操作に基づく指令,データ等をインタフェース18を介してCPU11に渡す。
【0018】
制御対象3a,3bが備える軸を制御するための軸制御回路30a,30bは、CPU11からの軸の移動指令量を受け取って、軸の指令をサーボアンプ40a,40bにそれぞれ出力する。サーボアンプ40a,40bはこの指令を受け取って、制御対象3a,3bが備える駆動部を軸に沿って移動させるサーボモータ50a,50bをそれぞれ駆動する。軸のサーボモータ50a,50bは位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30a,30bにそれぞれフィードバックし、位置・速度のフィードバック制御を行う。なお、
図1のハードウェア構成図では軸制御回路30a,30b、サーボアンプ40a,40b、サーボモータ50a,50bはそれぞれ1つずつしか示されていないが、実際には制御対象となる制御対象3a,3bに備えられた軸の数だけ用意される。
【0019】
図2は、本発明の第1実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、
図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0020】
本実施形態の制御装置1は、解析部100、制御部110、調整可能区間検出部120、無駄時間検出部130、速度調整部140を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、制御対象3a,3bをそれぞれ制御するための制御用プログラム200a,200bが記憶されると共に、該制御用プログラム200a,200bの調整可能区間を記憶するための領域である調整可能区間記憶部210、及び該制御用プログラム200a,200bにおける無駄時間が発生する指令位置とその時間を記憶するための領域である無駄時間記憶部220がそれぞれ設けられている。
【0021】
解析部100は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。解析部100は、制御用プログラム200a,200bを解析してサーボモータ50a,50bを備えた制御対象3a,3bを制御するための指令データを作成する。制御用プログラム200a,200bには、制御対象3a,3bの制御に一般的に用いられる指令が含まれている。一般的に用いられる指令には、待ち指令等が含まれる。解析部100は、制御用プログラム200a,200bによる指令に基づいて作成した指令データを制御部110に出力する。
【0022】
制御部110は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、軸制御回路30a,30b、PLC16を用いた制御対象3a,3bの各部の制御処理、インタフェース18を介した入出力処理が行われることで実現される。制御部110は、解析部100から入力された指令データに基づいて、制御対象3a,3b及び周辺装置の各部を制御する。制御部110は、例えば制御対象3a,3bの各軸に沿って駆動部を移動させる指令に基づいて軸の移動に係るデータを生成してサーボモータ50a,50bに出力する。また、制御部110は、例えば制御対象3a,3bの周辺装置を動作させる指令に基づいて該周辺装置を動作させる所定の信号を生成してPLC16に出力する。一方で、制御部110は、サーボモータ50a,50bの状態(モータの電流値、位置、速度、加速度、負荷等)をフィードバック値として取得して各制御処理に使用する。
【0023】
調整可能区間検出部120は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。調整可能区間検出部120は、制御用プログラム200a,200bにより制御対象3a,3bの軸の送り制御が行われている区間の内で、速度や加速度が調整可能な区間である調整区間を検出する。調整可能区間検出部120は、例えば制御部110による制御状況及び制御対象3a,3bからフィードバックされるフィードバック値に基づいて、制御対象3a,3bにおけるエアカットが行われた区間を調整可能区間として検出する。調整可能区間検出部120は、検出した調整区間を制御用プログラム200a,200bの指令と関連付けて調整可能区間記憶部210に記憶する。この場合、調整可能区間検出部120は、例えば早送りが指令されている区間を調整可能区間として検出してもよい。また、調整可能区間検出部120は、例えば切削送りが指令されている区間であって、且つ、当該軸を駆動するサーボモータ50a,50bからの負荷のフィードバック値が所定の閾値よりも小さい区間を調整可能区間として検出してもよい。
【0024】
また、調整可能区間検出部120は、ワークの加工が行われている区間の内で、加工条件を調整しても大きな問題が生じない切削区間を調整可能区間として検出するようにしても良い。この場合、調整可能区間検出部120は、例えば切削送りが指令されている区間であって、長い範囲を加工する切削区間を調整可能区間として検出してもよい。長い範囲を加工している切削区間における軸の速度や加速度を調整する場合、微小な調整量で無駄時間を解消できるので、このような切削区間を調整可能区間とすることができる。また、調整可能区間検出部120は、例えば切削送りが指令されている区間であって、先の加工において同じ箇所が加工されている場合に、先に加工されている切削送りの区間を調整可能区間として検出してもよい。
【0025】
無駄時間検出部130は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。無駄時間検出部130は、制御部110による制御状況に基づいて、制御対象3a,3bにおいて発生した無駄時間を検出して制御用プログラム200a,200bの指令と関連付けて無駄時間記憶部220に記憶する。無駄時間記憶部220に記憶する無駄時間は、少なくともある制御対象の制御用プログラムにおいて待ち指令が実行されてから該待ち指令が解除されるまでに経過した時間(待ち時間)を含んでいてよい。また、無駄時間記憶部220に記憶する無駄時間は、他の制御対象の制御用プログラムにおいて待ち指令が実行されてから待ち合わせ識別子が通知されるまでに経過した時間(遅れ時間)を含んでいてもよい。
【0026】
速度調整部140は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。速度調整部140は、調整可能区間記憶部210に記憶される調整可能区間と、無駄時間記憶部220に記憶される無駄時間とを参照して、該無駄時間を短縮するように制御用プログラム200a,200bにおける調整可能区間に係る指令の速度及び加速度の少なくともいずれかを調整する。速度調整部140は、各調整可能区間の中で、エアカット区間を優先して調整するようにしてよい。特に、無駄時間の内の遅れ時間を短縮するための調整の場合には、エアカット区間を優先して調整し、切削区間については調整しないようにすることが望ましい。これは、切削区間の速度や加速度を早くすると、加工面に問題が生じる場合が多いからである。一方で、速度調整部140は、無駄時間の内の待ち時間を短縮するための調整をする場合には、切削区間を調整するようにしてよい。
【0027】
図3及び
図4を用いて、速度調整部140による待ち時間を短縮するための速度調整の例を説明する。
図3は、制御対象3aにおける軸送りの速度と時間との関係を例示するグラフである。
図3において、横線網掛けの区間は切削負荷が所定の閾値以上の切削送り区間、斜線網掛け区間は切削負荷が所定の閾値以下の切削送り区間、白抜きの区間は早送り区間を示している。このうち、切削負荷が所定の閾値以下の切削送り区間、及び早送り区間は調整可能区間と考えることができる。
図3の例では、時刻t
0~t
2では切削送り指令Na1、時刻t
3~t
6では切削送り指令Na3が実行されており、時刻t
2~t
3では早送り指令Na2、時刻t
6~t
7では早送り指令Na4が実行されているとする。また、時刻t
7に待ち指令Na5が実行されて制御対象3aは待ち状態に入り、時刻t
8に制御対象3bの制御用プログラム200bで待ち合わせ識別子の通知が指令されて待ち状態が解除されたものとする。
【0028】
図3によれば、時刻t
1~t
2、時刻t
3~t
4,t
5~t
6では切削送り指令が実行されているにも関わらず負荷が検出されていない。そのため、時刻t
1~t
2、時刻t
3~t
4,t
5~t
6の切削送り区間が調整可能区間として調整可能区間記憶部210に記憶される。また、早送り区間である時刻t
2~t
3、t
6~t
7も同様に調整可能区間として調整可能区間記憶部210に記憶される。そして、待ち指令Na5が実行された時刻t
7から待ち状態が解除された時刻t
8までは待ち時間と考えることができるので、時間(t
8-t
7)が指令Na5における無駄時間(待ち時間)として無駄時間記憶部220に記憶される。
【0029】
このような状況において、速度調整部140は、指令Na5が実行される契機が略時刻t
8に一致するように、例えば時刻t
1~t
2における切削送り速度v
ac1や加速度、時刻t
2~t
3、t
6~t
7における早送り速度v
arや加速度、時刻t
3~t
4,t
5~t
6における切削送り速度v
ac2や加速度を小さく調整する。
図4は、調整可能区間における速度を調整した後の制御対象3aにおける軸送りの速度と時間との関係を例示するグラフである。
図4は、早送り指令Na4による移動が終了した時刻t
7’が時刻t
8と一致するように調整可能区間の速度と加速度を調整したものである。この速度調整は、例えば調整可能の区間においてオーバライドを小さく設定するように制御部110に指令することで実現できる。オーバライドを調整した場合の軸の位置の推移を計算して、早送り指令Na4が終了する時刻t
7’が時刻t
8となるようにすればよい。この時、各指令が実行されている際の速度の積分値(移動量)は、
図3における各指令が実行されている際の速度の積分値と一致するように速度及び加速度の少なくともいずれかの調整が行われる。なお、
図4では、全ての調整可能区間の速度や加速度を調整しているが、一部の調整可能区間の速度及び加速度のみを調整するようにしてもよい。このような場合には、例えば
図3において速度が大きく変化している早送り指令N2の速度や加速度を調整することでするは、早送り指令Na4による移動が終了した時刻t
7’が時刻t
8と一致するようにすると、消費電力や機械に対する衝撃の低減に大きな効果が生じる。
【0030】
次に、
図5及び
図6を用いて、速度調整部140による遅れ時間を短縮するための速度調整の例を説明する。
図5は、制御対象3bにおける軸送りの速度と時間との関係を例示するグラフである。
図5において、横線網掛けの区間は切削負荷が所定の閾値以上の切削送り区間、斜線網掛け区間は切削負荷が所定の閾値以下の切削送り区間、白抜きの区間は早送り区間を示している。
図5の例では、時刻t
0~t
2では切削送り指令Nb1、時刻t
3~t
6では切削送り指令Nb3が実行されており、時刻t
2~t
3では早送り指令Nb2、時刻t
6~t
7では早送り指令Nb4が実行されているとする。また、時刻t
7に制御対象3aの制御用プログラム200aで待ち指令Na5を実行されて制御対象3bの待ち状態に入り、時刻t
8に制御対象3bの制御用プログラム200bで待ち合わせ識別子通知指令Nb5が実行されて制御対象3aの待ち状態が解除されたものとする。
【0031】
図5によれば、時刻t
1~t
2、時刻t
3~t
4,t
5~t
6では切削送り指令が実行されているにも関わらず負荷が検出されていない。そのため、時刻t
1~t
2、時刻t
3~t
4,t
5~t
6の切削送り区間が調整可能区間として調整可能区間記憶部210に記憶される。また、早送り区間である時刻t
2~t
3、t
6~t
7も同様に調整可能区間として調整可能区間記憶部210に記憶される。そして、制御対象3aの制御用プログラム200aで待ち指令Na5が実行された時刻t
7から、制御対象3bの制御用プログラム200bで待ち合わせ識別子通知指令Nb5が実行された時刻t
8までは遅れ時間と考えることができるので、時間(t
8-t
7)が指令Nb5における無駄時間(遅れ時間)として無駄時間記憶部220に記憶される。
【0032】
このような状況において、速度調整部140は、指令Nb5が実行される契機が略時刻t
7に一致するように、例えば時刻t
1~t
2における切削送り速度v
bc1や加速度、時刻t
2~t
3、t
6~t
7における早送り速度v
brや加速度、時刻t
3~t
4,t
5~t
6における切削送り速度v
bc2や加速度を大きく調整する。
図6は、調整可能区間における速度を調整した後の制御対象3bにおける軸送りの速度と時間との関係を例示するグラフである。
図6は、早送り指令Nb4による移動が終了した時刻t
8’が時刻t
7と一致するように調整可能区間の速度と加速度を調整したものである。この速度調整は、例えば調整可能区間においてオーバライドを大きく設定するように制御部110に指令することにより実現できる。オーバライドを調整した場合の軸の位置の推移を計算して、早送り指令Nb4が終了する時刻t
8’が時刻t
7となるようにすればよい。この時、各指令が実行されている際の速度の積分値(移動量)は、
図5における各指令が実行されている際の速度の積分値と一致するように速度及び加速度の少なくともいずれかの調整が行われる。なお、
図6では、全ての調整可能区間の速度や加速度を調整しているが、一部の調整可能区間の速度及び加速度のみを調整するようにしてもよい。
【0033】
上記では速度調整部140は待ち時間の短縮、または遅れ時間の短縮のそれぞれについて説明しているが、速度調整部140は、ある制御対象の待ち時間の短縮及び他の制御対象の遅れ時間の短縮を組み合わせて行うようにしてもよい。この場合、例えば待ち時間の短縮と、遅れ時間の短縮に対して優先順位をつけて、優先順位が高い方の無駄時間の短縮を先に行い、それで調整しきれなかった分を優先順位が低い方の無駄時間の短縮で補うようにすればよい。例えば、待ち時間の短縮を優先するようにしておき、所定の制限(例えば、所定の閾値以下に速度や加速度を落としてはいけない、指令されている速度よりも10%以上速度や加速度を落としてはいけない等)の元で待ち時間の短縮を行い、それで待ち時間を0にできなかった場合に、他の制御対象の遅れ時間を短縮する調整を行うようにしてもよい。また、例えば、遅れ時間の短縮を優先するようにしておき、所定の制限(例えば、機械仕様による軸の制限速度や制限加速度より大きくしてはいけない等)の元で遅れ時間の短縮を行い、それで遅れ時間を0にできなかった場合に、他の制御対象の待ち時間を短縮する調整を行うようにしてもよい。
【0034】
なお、速度調整部140は、調整可能区間記憶部210に調整可能区間が記憶されていない場合や、無駄時間記憶部220に無駄時間が記憶されていない場合は制御用プログラム200a,200bに速度及び加速度の少なくともいずれかの調整を行うことができない。本実施形態では調整可能区間検出部120による調整可能区間の検出、及び無駄時間検出部130による無駄時間の検出は、制御部110による制御対象3a,3bの制御中に行われる。そのため、本実施形態における最初のワークの加工において速度調整部140は機能しない。しかしながら、機械によるワークの加工は自動運転で繰り返し行われる。そのため、1回目の加工において検出された調整可能区間及び無駄時間を利用して、2回目以降の加工において速度調整部140による速度調整は好適に機能することに留意されたい。
【0035】
上記構成を備えた制御装置1では、複数の制御対象を並列制御するシステムにおいて発生する無駄時間を、消費電力や機械に発生する衝撃の低減、サイクルタイムの短縮へと転換して有効に活用することが可能となる。即ち無駄な待ち時間待ちがある場合には、サイクルタイムを下げずに、電力消費量及び機械で発生する衝撃を低減することが可能となり、一方、無駄な遅れ時間がある場合には、電力消費量及び機械に発生する衝撃を必要以上に増大させず、サイクルタイムを上げることが可能となる。多系統機やライン内の複数の制御対象を制御する制御装置に適用することにより、サイクルタイムを上げつつ、電力消費量及び機械で発生する衝撃を低減することができる。
【0036】
以下では、本発明の第2実施形態による制御装置1について
図7を参照して説明する。
本実施形態による制御装置1は、第1実施形態による制御装置1と同様に、解析部100、制御部110、調整可能区間検出部120、無駄時間検出部130、速度調整部140を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、制御対象3a,3bをそれぞれ制御するための制御用プログラム200a,200bが記憶されると共に、該制御用プログラム200a,200bの調整可能区間を記憶するための領域である調整可能区間記憶部210、該制御用プログラム200a,200bにおける無駄時間が発生する指令位置とその時間を記憶するための領域である無駄時間記憶部220がそれぞれ設けられている。
【0037】
本実施形態による解析部100は、制御用プログラム200a,200bを先読みして解析する機能を備える。また、解析部100は、制御用プログラム200a,200bの各指令の実行に掛かる時間を予測する機能を備える。指令の実行時間の予測には、例えば特許第4980458号公報、特開2017-146859号公報等に開示される公知の技術を用いればよい。また、周辺装置に関しては、制御対象3a,3bが配置されているライン全体を管理するシステムや、PLC16経由で取得される信号に基づいて周辺機器のスタンバイ状態を検出し、次に使用できるようになる時間を受信乃至以前の実行時間から推定するようにすればよい。
【0038】
本実施形態による調整可能区間検出部120は、少なくとも1回目の加工において、制御用プログラム200a,200bに含まれる指令の内で、早送り指令が実行される区間を調整可能区間として検出し、調整可能区間記憶部210に記憶する。また、調整可能区間検出部120は、制御用プログラム200a,200bに含まれる指令の内で、加工条件を調整しても大きな問題が生じない加工区間を調整可能区間として検出し、調整可能区間記憶部210に記憶してもよい。 また、本実施形態による無駄時間検出部130は、解析部による加工時間の予測結果に基づいて、制御用プログラム200a,200bに含まれる待ち合わせにおいて発生する無駄時間(待ち時間及び遅れ時間)を算出し、算出した無駄時間を無駄時間記憶部220に記憶する。
その他の構成が備える機能については、第1実施形態と同様である。
【0039】
本実施形態による制御装置1は、制御用プログラム200a,200bを先読みして予め調整可能区間と無駄時間とを検出できる。そのため、最初の加工から無駄時間の短縮を行うことができる。解析部100による先読みが十分でない場合には、通常通りの加工を進めるが、先読みが十分できている場合には、先読みした範囲内で利用できる区間があらかじめ把握できるため、その範囲で速度及び加速度の少なくともいずれかの調整を行うことができる。
更に精度を上げるために、上記した加工時間の予測の機能は最初の加工においてのみ活用し、これと並列して1回目の加工で正確な調整可能区間及び無駄時間の検出を行い、2回目の加工からは実際の加工で検出された調整可能区間及び無駄時間に基づく速度及び加速度の少なくともいずれかの調整を行うようにしてもよい。
【0040】
図8は、本発明の第3実施形態による制御装置1が備える機能を概略的なブロック図として示したものである。本実施形態による制御装置1が備える各機能は、
図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
【0041】
本実施形態による制御装置1は、第1実施形態による制御装置1と同様に、解析部100、制御部110、調整可能区間検出部120、無駄時間検出部130、速度調整部140を備え、更にシミュレーション部150を備える。また、制御装置1のRAM13乃至不揮発性メモリ14には、制御対象3a,3bをそれぞれ制御するための制御用プログラム200a,200bが記憶されると共に、該制御用プログラム200a,200bの調整可能区間を記憶するための領域である調整可能区間記憶部210、該制御用プログラム200a,200bにおける無駄時間が発生する指令位置とその時間を記憶するための領域である無駄時間記憶部220がそれぞれ設けられている。
【0042】
本実施形態による解析部100、制御部110、速度調整部140の機能は第1実施形態による各機能と同様である。
シミュレーション部150は、
図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。シミュレーション部150は、制御用プログラム200a,200bに基づく公知のシミュレーション処理を行う。シミュレーションの処理には、例えば特開2003-291033号公報や特開平09-073309等に開示される公知の方法を用いることができる。
【0043】
本実施形態による調整可能区間検出部120は、シミュレーション部150によるシミュレーション処理の結果に基づいて、早送り区間が指令されている区間、及び切削送りが指令されている区間であってワークと工具とが接触していないエアカット区間を、調整可能区間として検出し、調整可能区間記憶部210に記憶する。また、調整可能区間検出部120は、シミュレーション部150によるシミュレーション処理の結果に基づいて、加工条件を調整しても大きな問題が生じない加工区間を調整可能区間として検出し、調整可能区間記憶部210に記憶してもよい。
また、本実施形態による無駄時間検出部130は、シミュレーション部150によるシミュレーション処理の結果に基づいて、制御用プログラム200a,200bに含まれる待ち合わせにおいて発生する無駄時間(待ち時間及び遅れ時間)を算出し、算出した無駄時間を無駄時間記憶部220に記憶する。
その他の構成が備える機能については、第1実施形態と同様である。
【0044】
本実施形態による制御装置1は、制御用プログラム200a,200bに基づくシミュレーション処理により予め調整可能区間と無駄時間とを検出できる。そのため、最初の加工から無駄時間の短縮を行うことができる。更に精度を上げるために、上記した加工時間の予測の機能は最初の加工においてのみ活用し、これと並列して1回目の加工で正確な調整可能区間及び無駄時間の検出を行い、2回目の加工からは実際の加工で検出された調整可能区間及び無駄時間に基づく速度及び加速度の少なくともいずれかの調整を行うようにしてもよい。
【0045】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では、速度及び加速度の少なくともいずれかの調整を行う調整可能区間を速度調整部140で自動的に決定している。しかしながら、速度調整を行う調整可能区間をオペレータの判断により選択できるようにしてもよい。この場合、例えば1回目の加工が終了した時点で、
図3,
図5等に例示されるようなグラフを制御装置1の表示装置70に表示する。そして、調整対処とする調整可能区間をオペレータに選択させる。複数の制御対象を並列制御するシステムでは、ある制御対象の軸の送り速度を上げることにより、加工中の他の制御対象の加工面に悪影響が生じる場合もある。このような区間が速度調整の対象となると、複数の制御対象間で機械的干渉(衝突など)が起きることがある。オペレータに速度調整対象となる調整可能区間を選択させることで、このような事態を回避することができる。
【0046】
また、上記した実施形態では2つの制御対象を制御する場合の例を示したが、3つ以上の制御対象について制御している場合でも、本願発明の技術は好適に適用できる。3つ以上の制御対象を制御している場合には、予め各制御用プログラムを、待ち指令及び待ち合わせ識別子を通知する指令で区切ることでセグメントを形成する。そして、ある待ち指令及び待ち合わせ識別子を通知する指令に係る無駄時間を短縮するべく速度及び加速度の少なくともいずれかの調整を行う際には、該待ち指令及び該待ち合わせ識別子を通知する指令の直前のセグメントの範囲内にある調整可能区間について速度及び加速度の少なくともいずれかの調整を行うようにすればよい。また、2つ以上の制御対象が同時に他の制御対象を待つ場合や、2つ以上の制御対象が同時に他の制御対象に対して遅れる場合には、無駄時間が大きい系統から順に速度及び加速度の少なくともいずれかの調整をするようにすればよい。このような調整を例えば制御用プログラムの前から順に行うことで、3つ以上の制御対象を制御している場合であっても無駄時間の調整を行うことが可能となる。
【符号の説明】
【0047】
1 制御装置
3a,3b 制御対象
5 ネットワーク
6 フォグコンピュータ
7 クラウドサーバ
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,17,18,20 インタフェース
16 PLC
19 I/Oユニット
22 バス
30a,30b 軸制御回路
40a,40b サーボアンプ
50a,50b サーボモータ
70 表示装置
71 入力装置
72 外部機器
100 解析部
110 制御部
120 調整可能区間検出部
130 無駄時間検出部
140 速度調整部
150 シミュレーション部
200a,200b 制御用プログラム
210 調整可能区間記憶部
220 無駄時間記憶部