JP4643699B2 - 複数系統のプログラムの編集機能を有する数値制御装置 - Google Patents

複数系統のプログラムの編集機能を有する数値制御装置 Download PDF

Info

Publication number
JP4643699B2
JP4643699B2 JP2008261240A JP2008261240A JP4643699B2 JP 4643699 B2 JP4643699 B2 JP 4643699B2 JP 2008261240 A JP2008261240 A JP 2008261240A JP 2008261240 A JP2008261240 A JP 2008261240A JP 4643699 B2 JP4643699 B2 JP 4643699B2
Authority
JP
Japan
Prior art keywords
program
cursor
time
block
displayed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008261240A
Other languages
English (en)
Other versions
JP2009003972A (ja
Inventor
晶一 相良
順和 福井
光大 上條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2008261240A priority Critical patent/JP4643699B2/ja
Publication of JP2009003972A publication Critical patent/JP2009003972A/ja
Application granted granted Critical
Publication of JP4643699B2 publication Critical patent/JP4643699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Description

本発明は、多系統制御機能を有する数値制御装置に関し、各系統のプログラムを並列に表示して編集可能にした数値制御装置に関する。
複数の系統を制御可能な数値制御装置においては、各系統毎のプログラムをそれぞれ実行し、系統間で同期をとりながら工作機械等の機械を運転することで、複数の加工工程を同時にもしくは連続的に行うことができる。この多系統制御が可能な数値制御装置において、各系統で選択されている加工プログラムを編集する場合、従来は、編集目的の系統を切り換え、同期条件などを目視にて確認し、個別に編集を行っている。
この各系統のプログラムを表示装置に表示する方法として、各系統のプログラムを並列に表示する方法、直列に表示する方法が知られている。並列に表示する場合、時間の関係を認識できるように、時間を対応させて各系統のプログラムを並列に表示することや、1つの加工プログラム中に多系統制御と単独制御を混在させて、直列に表示する方法も知られている(特許文献1参照)。
特開2000−122709号公報
各系統のプログラムを編集する場合、各系統でのプログラム指令により複数の系統で制御される軸を互いに協調しながら同時に移動させるものであることから、各系統でのプログラム指令の実行順序を把握し、系統間での同期、実行、待ち合わせの関係を確認しながら編集する必要がある。しかしながら、各系統のプログラムを直列に表示する方法では、系統間における時間の関係を認識することが難しく、その編集が困難である。一方、各系統のプログラムを並列に表示したとしても、単に並列に表示するだけでは、系統間での複雑な同期、実行、待ち合わせの関係等の時間の関係を認識することは難しい。そのため、前記特許文献1に記載されているように、各系統のプログラムを並列に表示し、待ち合わせコード等を対応させて時間の関係を理解し易いように表示する方法が提案されているが、この方法では、空白が多くなり、表示できるプログラム部分が少なくなり、編集作業が困難となるという欠点を有する。
そこで、本発明の目的は、各系統のプログラムを同一画面上に同時に並列に表示し、同期関係を簡単に認識できると共に、空白がなく各プログラムを表示できる数値制御装置を提供することにある。
請求項1に係る発明は、多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、同期関係を見るための設定運転経過時間が初期設定される記憶手段と、少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルをプログラムに対して相対移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えてプログラムに対して相対移動させるカーソル移動制御手段と、カーソルが示す各系統のプログラムのブロックの指令を実行するのに要する運転時間を各系統毎に算出する手段と、各系統毎に求められた前記運転時間を積算する積算手段と、前記積算手段で積算された積算時間が前記記憶手段に記憶された時間と一致または超える時のブロックかを判別する判別手段と、前記判別手段により、積算時間が、前記記憶手段に記憶された時間と一致または超えると判別されたときの系統に対して前記カーソルのプログラムに対する相対移動を停止させる手段と、表示した全ての系統のプログラムのカーソルに対する相対移動が停止すると、前記記憶手段に記憶する時間に設定運転経過時間を加算する手段と、表示した全ての系統のプログラムのカーソルに対する相対移動が停止し、前記記憶手段に記憶する時間に設定運転経過時間が加算された後、再度の前記カーソル操作手段の操作により、カーソル移動制御手段によってカーソルのプログラムに対する相対移動を行わせる手段とを備え、カーソル操作により、設定運転経過時間毎に、その運転経過時間で各系統のプログラムで実行されるブロックを同一行ラインに表示可能にしたことを特徴とするものである。
請求項2に係る発明は、同期関係を見るための設定運転経過時間が初期設定される記憶手段と、少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、カーソルが示す各系統のプログラムのブロックの指令を実行するのに要する運転時間を各系統毎に算出する手段と、各系統毎に求められた前記運転時間を積算する積算手段と、前記積算手段で積算された積算時間が前記記憶手段に記憶された時間と一致または超える時のブロックかを判別する判別手段と、前記判別手段により、いずれかの系統の積算時間が、前記記憶手段に記憶された時間と一致または超えると判別されたときカーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、カーソルの移動が停止された後、前記カーソル操作手段の操作により、積算時間が前記記憶手段に記憶された時間に達していない系統のプログラムをスクロールする手段と、前記判別手段で、積算時間が前記記憶手段に記憶された時間に達するブロックがカーソル位置に達したと判別されたとき前記スクロールを停止させる手段と、スクロールしていた全てのプログラムのスクロールが停止した後、前記記憶手段に記憶する時間に設定運転経過時間を加算する手段と、スクロールしていた全てのプログラムのスクロールが停止した後、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、カーソル操作により、設定運転経過時間毎に、その運転経過時間で各系統のプログラムで実行されるブロックを同一行ラインに表示可能にしたものである。
請求項3に係る発明は、同期関係を見るための設定運転経過時間が初期設定される記憶手段と、少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、プログラムのブロックの指令を実行するのに要する運転時間を各系統毎に算出する手段と、各系統毎に求められた前記運転時間を各プログラムの先頭より積算する積算手段と、前記積算手段で積算された積算時間が前記記憶手段に記憶された時間と一致または超える時のブロックかを判別する判別手段と、前記判別手段により、いずれかの系統の積算時間が、前記記憶手段に記憶された時間と一致または超えると判別されたときカーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、カーソルの移動が停止した後、前記積算時間が前記記憶手段に記憶された時間と一致または超えない系統のプログラムに対して、前記運転時間を算出する手段及び積算手段で求められる積算時間が前記記憶手段に記憶された時間に達するブロックを検索する手段と、該検索する手段で、ブロックが求められると該ブロックをカーソル位置に位置するようにプログラムをシフトする手段と、プログラムのシフトが完了すると、前記記憶手段に記憶する時間に設定運転経過時間を加算する手段と、プログラムのシフトが完了すると、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、カーソル操作により、設定運転経過時間毎に、その運転経過時間で各系統のプログラムで実行されるブロックを同一行ラインに表示可能にしたものである。
系統間で同時に動作する指令の把握および実行順序や待ち合わせ位置などの確認が正確にかつ迅速に行うことができ、多系統のプログラム編集の効率化と作業時間の短縮を図ることができる。
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明の実施形態の数値制御装置の概要図である。数値制御装置のハードウェア構成は、従来の多系統制御機能を有する数値制御装置の構成と同じであり、図1ではこの数値制御装置のハードウェア構成の概要を簡単に記載している。従来の数値制御装置と相違する点は、各系統のプログラムを表示して、編集するときに、同期すべき又は同期するプログラムのブロック位置を容易に認識可能に表示される機能を備えている点で従来と相違するものであり、該機能を実行するソフトウェアが数値制御装置のメモリに格納されている点が相違するものである。
数値制御装置10は、プロセッサ11とバス16で接続された、ROM、RAM、不揮発性RAM等のメモリ12、CRTや液晶で構成された表示装置13、キーボード等のデータや指令を入力する入力手段14、各系統の可動軸を駆動するモータを制御する第1〜第n系統軸制御部15−1〜15−nを備えている。
メモリ12には、各系統のプログラムが格納されているとともに、プログラムの編集処理のソフトウェアが格納されており、特に、本発明に関係した後述する同期位置合わせモードの処理を実行するソフトウェアが格納されている。
系統軸制御部15−1〜15−nは、プロセッサ11が各系統のプログラムを実行して分配される移動指令と、モータに設けられた位置・速度検出器からのフィードバック信号に基づいて、位置、速度のフィードバック制御を行い、さらには電流フィードバックを行って、各系統のモータを制御し、各系統の各軸を互いに協調しながら同時に同期、又は独立して移動させるものである。
この数値制御装置10による多系統の駆動制御動作は従来の多系統制御機能を有する数値制御装置と同一の動作であり変わりはない。
本発明は、多系統の各プログラムを編集するとき、同期位置合わせモードが設けられ、同期位置合わせができるようにした点において従来と相違するものである。
図2は、本実施形態の第1の態様(参考例)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。図3及び図4は、この第1の態様(参考例)の同期位置合わせモードによる位置合わせ処理における表示装置13の表示画面の説明図である。図3及び図4において、符号20で示す枠内が表示画面上の表示範囲を示す。又、符号21はカーソルを示す。
この第1の態様(参考例)は、同期位置合わせを行う同期対象のブロック情報としてシーケンス番号を用い、予め同期させるシーケンス番号をパラメータ等で設定しておく(図3及び図4に示す例では、「N333」「N444」が同期位置合わせを行うブロックのシーケンス番号として設定されているものとしている)。各プログラムの並列表示において、この設定した同期対象のシーケンス番号のブロックを同一行ライン上に揃えて表示し、同期関係を容易に認識できるようにしたものである。
プログラムの編集を行う際に、同時に表示する系統を選択し、各系統のプログラムの同時表示操作を入力手段14より入力すると、選択された系統のプログラムが表示装置13の表示画面に並列に同時表示される。図3の例では、第1〜第3の系統が選択され、第1〜第3の系統のプログラムが横方向に並列表示された例を示している。図4の例では、第1〜第4の系統が選択され、第1〜第4の系統のプログラムが横方向と縦方向に並列表示された例を示している。こうして、選択系統のプログラムが並列表示され、編集がなされているときに、モード切り換え操作を行い、同期位置合わせモードに切り換えると、図2に示す処理をプロセッサ11は実行する。また、図3及び図4にて、図2に示す処理は同一である。更に、図3に対し図4は表示装置13の表示画面上に表示するプログラムの配置のみを変更したものであり、図4の図2に示す処理は省略する。
まず、この同期位置合わせモードから他のモードへの切り換え操作がなされたか(ステップa1)、及び入力手段14に設けられたカーソル操作手段によりカーソル操作がなされたか(カーソルを下方へ移動させる操作)を繰り返し判断し(ステップa2)、編集箇所を示すカーソル操作がなされると、表示されている全系統のカーソル21をプログラムに対して相対移動させる(ステップa3)。この場合、編集対象のプログラムのカーソルと連動して、他の系統のカーソル21を同一行ライン上に揃え移動させる。図3において、図3(a)に示す位置にカーソル21があった状態で、カーソル操作がなされると、編集対象のプログラムの編集箇所を示すカーソル21とともに他の系統のカーソルも図3(b)に示すように連動して移動する。又、カーソル21が表示範囲の最下位に達したときは、プログラムがスクロールして上方に移動することによって、相対的にカーソル21が移動する。又、入力手段14内の次ページキーを操作すると、カーソル21は、次の行に移動し、かつ、そのカーソル21が位置する行を表示範囲の先頭行にしたプログラム表示に変更される。なお、モード切り換え操作がなされると、この同期位置合わせ処理は終了する。
次に、各系統のプログラム上におけるカーソル21の位置を取得し(ステップa4)、各系統のプログラム上のカーソル21が位置するブロックのシーケンス番号が設定されている同期対象のシーケンス番号か判断する。いずれの系統のプログラムにおいても、カーソル位置が同期対象のシーケンス番号のブロックではない場合はステップa1に戻りステップa1〜a5の処理を繰り返し実行する。いずれかの系統において、カーソル21が同期対象のシーケンス番号のブロックの位置にあれば、全系統のカーソル21の移動を停止する(ステップa6)。図3(b)では、第1の系統のプログラムにおいて、カーソル21が設定されている同期対象のシーケンス番号の「N333」の位置にあることから、全てのカーソルは、この位置でその移動を停止する。
次に、プロセッサ11は、表示された全系統のプログラムにおいて、カーソル位置が同期対象のシーケンス番号のブロック上にあるか判断し(ステップa7)、全てのプログラムにおいて、カーソル21が同期対象のシーケンス番号のブロック上になければ、モード切り換え操作がなされたか(ステップa8)、カーソル操作がなされたかを判断し(ステップa9)、カーソル操作ががなされると(カーソルを下方へ移動させる操作)、カーソル位置が同期対象のシーケンス番号のブロック上にないプログラムのみがスクロールされ、プログラム表示が1行ずつ上方に移動する(ステップa10)。そして、スクロールされたプログラム上でのカーソル21の位置を取得し(ステップa11)、その位置が同期対象のシーケンス番号のブロック位置か判断し(ステップa12)、同期対象のシーケンス番号のブロック位置ではない場合には、ステップa8に戻り、ステップa8〜a12の処理を繰り返し実行する。
そして、スクロールされたプログラム上でのカーソル21の位置が同期対象のシーケンス番号のブロック位置であると判断されたときには、そのカーソルが同期位置にあるプログラムのスクロールを停止し(ステップa13)、ステップa7に戻る。以下、ステップa7以下の処理を実行し、表示された全てのプログラムにおいて、カーソル位置が同期対象のシーケンス番号のブロック上に達したとステップa7で判別されると、ステップa1に戻る。このようにして、各プログラムにおける同期対象のシーケンス番号のブロック上にカーソルが位置づけられ、同一行ライン上に揃って表示されることになり、各プログラム上における同期関係が明瞭となる。
図3(c)及び図4(c)は、同期対象のシーケンス番号「N333」のブロックが同一行ライン上のカーソル位置に揃って表示されている例を示している。
次にカーソル操作がなされると(ステップa2)、前述したように全てのカーソル21は移動し(ステップa3)、前述したステップa4以下の処理が再び実行されることになる。図3の例では、次の同期対象のシーケンス番号「N444」のブロックが同一行ラインになるように揃えられることになる。この例では、カーソル21が第2の系統のプログラムにおいて、1番初めにシーケンス番号「N444」のブロックに位置づけられるから、この位置でカーソルの移動は停止し、この第1、3の系統のプログラムのスクロールがなされ、第3の系統のプログラムのシーケンス番号「N444」のブロックが停止しているカーソル位置までスクロールされたとき、この第3の系統のプログラムのスクロールが停止し、次に第1の系統のプログラムのシーケンス番号「N444」のブロックがカーソル位置に達したとき、第1の系統のプログラムのスクロールが停止し、各プログラムにおけるシーケンス番号「N444」のブロックがカーソルで指示され、かつ同一行ライン上に表示されることになる。以下、この動作はモード切り換え操作がなされるまで、又は、プログラム終了まで実行されることになる。
図5は、本実施形態の第2の態様(参考例)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。図6及び図7は、この第2の態様(参考例)の同期位置合わせモードによる位置合わせ処理における表示装置13の表示画面の説明図である。この図6及び図7において、符号20は表示画面上の表示範囲を示す。又、符号21はカーソルを示す。
この第2の態様(参考例)も、第1の態様(参考例)と同様に、同期位置合わせを行う同期対象のブロックを示す情報をシーケンス番号とし、これを予めパラメータ等で設定しておき(図6及び図7に示す例では、「N333」「N444」が同期位置合わせを行うシーケンス番号として設定されているものとしている)、各プログラムの並列表示において、この設定した同期対象のシーケンス番号のブロックを同一行ライン上に揃えて表示し、同期関係を容易に認識できるようにしたものである。第1の態様(参考例)と相違する点は、編集対象のプログラムにおいて同期対象のシーケンス番号のブロックにカーソルを位置付けられたとき、全カーソルの移動を停止し、他のプログラムに対して、カーソルが位置付けられた同期対象のシーケンス番号と同一のシーケンス番号のブロックを検索し、そのブロックを停止しているカーソル位置に位置付けることにより、同期対象のシーケンス番号のブロックを同一行ライン上に揃えて表示するようにしたものである。
プログラムの編集を行う際に、選択した系統のプログラムを表示装置13の表示画面に並列に同時表示し、モード切り換え操作を行い、同期位置合わせモードに切り換えられると、プロセッサ11は図5に示す処理を実行する。この第2の態様(参考例)も、図6では第1〜第3の系統が、図7では第1〜第4の系統が選択され、各系統のプログラムが並列表示され編集がなされているものとしている。図5において、ステップb1〜ステップb4の処理は第1の態様(参考例)の図2におけるステップa1〜ステップa4の処理と同一である。また、図6及び図7にて、図5に示す処理は同一である。更に、図6に対し図7は、表示装置13の表示画面上に表示するプログラムの配置のみを変更したものであり、図7の図5に示す処理は省略する。
すなわち、カーソル操作により、編集対象のプログラムのカーソルが移動し、そのカーソルに連動して、他の表示されたプログラム上のカーソルも同一行ラインに揃って移動する。そして、プロセッサは、編集対象のプログラムにおけるカーソル位置のブロックのシーケンス番号が設定されている同期対象のシーケンス番号と一致しているか否か判別する(ステップb5)。一致してなければ、ステップb1に戻りステップb1〜ステップb5の処理を繰り返し実行する。編集対象のプログラムにおけるカーソル位置が同期対象のシーケンス番号のブロック位置であると、全てのカーソルの移動(スクロール)を停止する(ステップb6)。図6において、図6(a)の状態から、全てのカーソルが移動し、図6(b)に示すように、編集対象の第1の系統のプログラムで同期対象のシーケンス番号「N333」が検出されると、この位置でカーソルの移動は停止する。
次に、編集対象外の系統のプログラムを検索して、編集対象のプログラムにおいてカーソルが位置するシーケンス番号に対応するシーケンス番号のブロックを検出する(ステップb7)。対応するシーケンス番号のブロックが検索されると、このブロックが停止しているカーソル位置に位置するようにプログラムを移動(シフト)させ、各系統のプログラムの同期対象の対応するシーケンス番号のブロックを同一行ライン上にカーソル21で指示しながら表示し(ステップb8)、ステップb1に戻る。図6(c)及び図7(c)に同期対象の対応するシーケンス番号「N333」の各プログラムのブロック、カーソル21で指示され、同一行ライン上に揃えて表示されている例を示している。なお、編集対象のプログラムで同期対象のシーケンス番号のブロック位置でカーソルを停止したとき、他の系統のプログラムにおいて対応するシーケンス番号のブロックをカーソルが通過していたとしても、プログラム全体に対してシーケンス番号が検索されるので、対応するシーケンス番号のブロックがカーソル位置にシフトされ、同一行ラインに表示されることになる。
さらに、カーソル操作がなされると、ステップb1〜b8の処理が実行されて、編集対象のプログラムで次に現れる同期対象のシーケンス番号のブロック位置でカーソルが停止し、このシーケンス番号に対応する他のプログラムのブロックが各カーソル位置に位置付けられて同一行ライン上に表示されることになる。以下、この動作が、モード切り換え操作がなされるまで、又はプログラム終了まで実行されることなる。こうして、同期対象のブックが同一行ライン上に揃って表示されることになり、各プログラム上における同期関係が明瞭となる。
なおこの第2の態様(参考例)では、編集対象のプログラム上のカーソルが同期対象のシーケンス番号に達したときカーソル21の移動を停止し、他の系統のプログラムを検索して、対応するシーケンス番号のブロックを探し出し、そのブロックがカーソル位置になるようにプログラムをシフトしたが、第1の態様と同様に、カーソル21を移動させたとき、いずれかの系統のプログラムにおいて、カーソル21が同期対象のシーケンス番号に達したとき、カーソルの移動を停止し、他の系統のプログラムに対しては、同期対象のシーケンス番号を検索してそのシーケンス番号のブロックをカーソル位置になるようにシフトさせるようにしてもよいものである。
上述した第1、第2の態様(参考例)では、同期対象のブロックを示す情報としてシーケンス番号を用いたが、シーケンス番号に代えて、特定な指令コード(GコードやM、S、T、Bコードなど)を用いてもよい。プログラム中の同期対象のブロックに対して特定コードを付加しておき、かつ、メモリ12には、同期対象のブロックを示す特定コードとしてパラメータに設定しておく。
この特定の指令コードでの同期位置合わせ処理については、上述した第1、第2の態様(参考例)における図2、図5に示すフローチャートにおいて、シーケンス番号の代わりにこの特定コードによって、同期位置を判別するように変更したものであり、この特定指令コードによる同期位置合わせ処理は省略する。
さらに、同期対象のブロックの指定をシーケンス番号に代えて、特定のマークで指定するようにしてもよい。このマークとしては、特定な文字、記号(例えば「*」等)、ブロックの反転表示や背景色の変更等で構成する。このマークを使用する場合の同期位置合わせ処理は、上述した第1、第2の態様(参考例)における図2、図5に示すフローチャートにおいて、シーケンス番号の代わりにこの特定マークよって、同期位置を判別するように変更したものであり、この特定指令コードによる同期位置合わせ処理は省略する。なお、第1の態様(参考例)において、シーケンス番号の代わりに特定マークを使用する場合には、プログラムを先頭から読み出して、同期するブロックを検出するものであり、同期対象の対応するブロックは、時系列順に存在することから、単にマークが付されていればよい。
しかし、第2の態様(参考例)の場合、同期対象の対応するブロックを、プログラム全体を検索して検出することから、同期対象の対応するブロックを判別できるようにマークに同期対象ブロック毎に区別しておく必要がある。例えば「*1」「*2」…「*n」と対応する同期対象ブロック毎に区別し得るマークを付す必要がある。
なお、この第2の態様(参考例)でも、前述したように、編集対象のカーソルではなく、各系統のいずれかのカーソルが、マークが付されたブロックの位置に達したとき、カーソルの移動を止めて、マークが検出されていない他の系統のプログラムに対してこのカーソル位置より後のプログラムの各ブロックを検索して最初にマークが付されたブロックをカーソル位置に位置付けるようにシフトさせるようにする場合は、第1の態様(参考例)と同様に、単にマークをブロックに付しておけばよいものである。
上述した各態様(参考例)は、各系統のプログラムにおいて同期対象のブロックを同一行ライン上に対応させて表示して、同期関係を容易に把握できるようにしたものであるが、次に示す第3、第4の態様は本発明の実施態様であり、運転経過時間に対応して同期関係を把握できるようにしたもので、運転経過時間に対応して各系統のプログラムの運転実行位置を同一行ライン上に対応させて表示するようにしたものである。
図8は、本実施形態の第3の態様(本発明の実施態様)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。図9及び図10は、本発明の実施態様であるこの第3の態様(第4の態様)の同期位置合わせモードによる位置合わせ処理における表示装置13の表示画面の説明図である。この図9及び図10において、符号20は表示画面上の表示範囲を示す。又、符号21はカーソルを示す。
この第3の態様(本発明の実施態様)は、設定された同期対象運転経過時間Ts毎に、各系統における運転のプログラム位置を同一行ライン上のカーソル位置で表示することによって、同期関係を把握できるようにしたものである。運転時間は、プログラムのブロックの指令が移動指令であれば、指令された移動量を指令された速度で割ることによって、この指令での実行時間(運転時間)が求められる。一方、プログラムのブロック指令が移動指令ではなく、運転時間がブロックの指令で求めることができないような指令(補助機能指令等)については、その運転時間を予めパラメータに設定しておき、運転時間を算出するときこの設定された運転時間を参照するようにする。
選択した系統のプログラムを表示装置13の表示画面に並列表示し、プログラムの編集を行う際に、入力手段14より同期対象運転経過時間Tsを設定し(もしくは、予めこの同期対象運転経過時間Tsをパラメータに設定しておく)、モード切り換え操作を行い、同期位置合わせモードに切り換えられると、プロセッサ11は図8に示す同期位置合わせ処理を実行する。
まず、レジスタRに、予めパラメータに設定されている同期対象運転経過時間Tsをセットし(ステップc1)、この同期位置合わせモードから他のモードへの切り換え操作がなされたか(ステップc2)、及び入力手段14でカーソル操作がなされたか(カーソルを下方へ移動させる操作)を繰り返し判断する(ステップc3)。カーソル操作手段により編集箇所を示すカーソルの操作がなされると、表示されている全系統のカーソル21の移動を行う(ステップc4)。この場合、編集対象のプログラムのカーソルと連動して、他の系統のカーソル21も移動し、同一行ライン上に揃って移動する。各系統のプログラム上におけるカーソル21の位置を取得し(ステップc5)、このカーソル位置のブロックの指令を実行する運転時間を各系統のプログラム毎に算出する(ステップc6)。前述したように指令が移動指令であれば、その指令された移動量を指令速度で割って、運転時間を求める。例えばブロックの指令が
G91 G01 X100.F100;
とすると、Xの座標値が毎分100mmの速度で100mm移動する指令であることから、移動量(100)/速度(100)=1となり、このブロックの指令を実行して運転に要する時間は1分として求められる。又、ブロックの指令から運転時間が求められないような指令に対しては、予めその指令を実行するのに要する運転時間がメモリに設定記憶されていることから、ブロックの指令に対応する運転時間をメモリより読み出して求める。
こうして求められた各ブロックでの指令を実行する運転時間を各プログラム毎に積算し、プログラム先頭からの運転時間を求める(ステップc7)。次に、積算された運転時間とレジスタRに記憶する時間を比較し、積算時間がレジスタRに記憶する時間以上に達したプログラム(系統)があるか判別する(ステップc8)。いずれの系統のプログラムも、その積算時間がレジスタRに記憶する時間未満となっていなければ、ステップc2に戻り、いずれかの系統の積算時間がレジスタRに記憶する時間以上に達するまで、ステップc2〜ステップc8の処理を繰り返し実行する。
いずれかの系統のプログラムにおいて、その積算時間がレジスタRに記憶する時間以上となると、カーソルの移動(スクロール)を停止し(ステップc9)、全系統のプログラムにおいて、積算時間がレジスタRに記憶する時間以上に達しているか判別し(ステップc10)、達していなければ、モード切り換え操作がなされたか(ステップc11)、カーソル操作がなされたか(ステップc12)を繰り返し判別し、カーソル操作がなされた場合は、積算時間がレジスタRに記憶する時間以上となっていない系統のプログラムをスクロールし(ステップc13)、カーソル位置のブロックの指令を読み出し(ステップc14)、そのブロックの指令を実行するのに要する運転時間を上述した方法と同じ方法で求め(ステップc15)、求めた時間を各系統毎に積算する(ステップc16)。スクロールしたプログラムにおいて、積算時間がレジスタRに記憶する時間以上に達しているか判別し(ステップc17)、達していなければ、ステップc11に戻り、スクロールしたいずれかのプログラムにおいて、積算時間がレジスタRに記憶する時間以上に達するまで、ステップc11からステップc17の処理を繰り返し実行する。そして、スクロールしたプログラムの中で、積算時間がレジスタRに記憶する時間以上に達したプログラム(系統)があると、ステップc10に戻り、全ての系統において、積算時間がレジスタRに記憶する時間以上に達したかを判別する。全ての系統において、積算時間がレジスタRに記憶する時間以上に達してなければ、前述したステップc11以下の処理を実行する。そして、全ての系統において、積算時間がレジスタRに記憶する時間以上に達すると、レジスタRに、予めパラメータに設定されている同期対象運転経過時間Tsを加算し(ステップc18)、ステップc2に戻る。
レジスタRには、「2Ts」の時間がセットされることになるので、ステップc2〜ステップc17の処理を実行して、プログラムの先頭からの運転時間が2Ts以上となったときのプログラムのブロックが同一行ライン上のカーソル位置に表示されることになる。
以下、レジスタRには、3Ts、4Ts…と設定同期対象運転経過時間Tsの倍数が設定されることになるから、カーソル操作を行っていけば、設定された同期対象運転経過時間Ts毎に、その時実行されるプログラムのブロックが同一行ライン上に表示されることになり、各系統のプログラムの運転実行状態が対応付けられて把握することができる。
図9及び図10は、この第3の態様(本発明の実施態様)による表示例を示すものである。図9及び図10にて、図8に示す処理は同一である。更に、図9に対し図10は表示装置13の表示画面上に表示するプログラムの配置を変更したものであり、図10の図8に示す処理は省略する。図9(a)及び図10(a)は、この運転経過時間を揃えるに同期位置合わせ処理開始前の表示例であり、図9(b)及び図10(b)は、この同期位置合わせ処理を実行し、設定した同期対象運転経過時間Tsが経過したときの各系統での実行ブロックを同一行ラインのカーソル位置で表示している例を示すものである。
図11は、本実施形態の第4の態様(本発明の実施態様)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。この第4の態様(本発明の実施態様)は、第3の態様(本発明の実施態様)と同様に、設定された同期対象運転経過時間Ts毎に、各系統における運転のプログラム位置を同一行ライン上のカーソル位置で表示することによって、同期関係を把握できるようにしたものである。
ステップd1〜ステップd9までの処理は、第3の態様(本発明の実施態様)における図8のステップc1〜ステップc9までの処理と同じである。すなわち、並列に表示された各系統のプログラム上のカーソルを同一行ライン上に配置して移動させ、カーソルが位置付けられた各系統のプログラムのブロックを実行終了するまでの積算時間(運転時間)を各系統毎に求め、いずれかの系統の積算時間が、レジスタに設定されている同期対象運転経過時間Ts以上に達したか判断し、達したとき、カーソルの移動(スクロール)を停止し(ステップd9)、このレジスタに記憶する時間以上に達していない系統のプログラムに対しては、順次ブロックの指令を読み出し、当該ブロックの指令を実行するのに要する時間を算出し積算して、この積算時間がレジスタに記憶する時間以上に達するブロックを求める(ステップd10)。このブロックが求められると、そのブロックがカーソル位置に達するように、プログラムをシフトする(ステップd11)。その結果、表示画面には、例えば図9(b)に示すように、各系統のプログラムにおいて、プログラムの先頭から実行して運転した場合と同様に、レジスタに設定されている時間が一致するブロック、又はこの時間をそのブロックの運転時間において超えるブロックが同一行ラインのカーソル位置に表示されることになる。
そして、レジスタRに、予めパラメータに設定されている同期対象運転経過時間Tsを加算し(ステップd12)、ステップd2に戻り、前述したステップd2以下の処理を実行する。このようにして、同期対象運転経過時間Tsの間隔で、その時実行される各系統のプログラムのブロックが同一行ライン上に表示され、各系統のプログラム実行状態(運転状態)に対応して把握できるようになる。
本発明の一実施形態の数値制御装置の概要図である。 同実施形態における第1の態様(参考例)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。 同第1の態様(参考例)の同期位置合わせモードによる位置合わせ処理における表示画面(選択した系統のプログラムを横方向に並列表示した場合)の説明図である。 同第1の態様(参考例)の同期位置合わせモードによる位置合わせ処理における表示画面(選択した系統のプログラムを横方向と縦方向に並列表示した場合)の説明図である。 同実施形態における第2の態様(参考例)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。 同第2の態様(参考例)の同期位置合わせモードによる位置合わせ処理における表示画面(選択した系統のプログラムを横方向に並列表示した場合)の説明図である。 同第2の態様(参考例)の同期位置合わせモードによる位置合わせ処理における表示画面(選択した系統のプログラムを横方向と縦方向に並列表示した場合)の説明図である。 同実施形態における第3の態様(本発明の実施態様)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。 同第3の態様(本発明の実施態様)の同期位置合わせモードによる位置合わせ処理における表示画面(選択した系統のプログラムを横方向に並列表示した場合)の説明図である。 同第3の態様(本発明の実施態様)の同期位置合わせモードによる位置合わせ処理における表示画面(選択した系統のプログラムを横方向と縦方向に並列表示した場合)の説明図である。 同実施形態における第4の態様(本発明の実施態様)の同期位置合わせモードによる同期位置合わせ処理のアルゴリズムを示すフローチャートである。
符号の説明
10 数値制御装置

Claims (3)

  1. 多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、
    同期関係を見るための設定運転経過時間が初期設定される記憶手段と、
    少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルをプログラムに対して相対移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えてプログラムに対して相対移動させるカーソル移動制御手段と、
    カーソルが示す各系統のプログラムのブロックの指令を実行するのに要する運転時間を各系統毎に算出する手段と、
    各系統毎に求められた前記運転時間を積算する積算手段と、
    前記積算手段で積算された積算時間が前記記憶手段に記憶された時間と一致または超える時のブロックかを判別する判別手段と、
    前記判別手段により、積算時間が、前記記憶手段に記憶された時間と一致または超えると判別されたときの系統に対して前記カーソルのプログラムに対する相対移動を停止させる手段と、
    表示した全ての系統のプログラムのカーソルに対する相対移動が停止すると、前記記憶手段に記憶する時間に設定運転経過時間を加算する手段と、
    表示した全ての系統のプログラムのカーソルに対する相対移動が停止し、前記記憶手段に記憶する時間に設定運転経過時間が加算された後、再度の前記カーソル操作手段の操作により、カーソル移動制御手段によってカーソルのプログラムに対する相対移動を行わせる手段とを備え、
    カーソル操作により、設定運転経過時間毎に、その運転経過時間で各系統のプログラムで実行されるブロックを同一行ラインに表示可能にしたことを特徴とする複数系統のプログラムの編集機能を有する数値制御装置。
  2. 多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、
    同期関係を見るための設定運転経過時間が初期設定される記憶手段と、
    少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、
    カーソルが示す各系統のプログラムのブロックの指令を実行するのに要する運転時間を各系統毎に算出する手段と、
    各系統毎に求められた前記運転時間を積算する積算手段と、
    前記積算手段で積算された積算時間が前記記憶手段に記憶された時間と一致または超える時のブロックかを判別する判別手段と、
    前記判別手段により、いずれかの系統の積算時間が、前記記憶手段に記憶された時間と一致または超えると判別されたときカーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、
    カーソルの移動が停止された後、前記カーソル操作手段の操作により、積算時間が前記記憶手段に記憶された時間に達していない系統のプログラムをスクロールする手段と、
    前記判別手段で、積算時間が前記記憶手段に記憶された時間に達するブロックがカーソル位置に達したと判別されたとき前記スクロールを停止させる手段と、
    スクロールしていた全てのプログラムのスクロールが停止した後、前記記憶手段に記憶する時間に設定運転経過時間を加算する手段と、
    スクロールしていた全てのプログラムのスクロールが停止した後、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、
    カーソル操作により、設定運転経過時間毎に、その運転経過時間で各系統のプログラムで実行されるブロックを同一行ラインに表示可能にしたことを特徴とする複数系統のプログラムの編集機能を有する数値制御装置。
  3. 多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、
    同期関係を見るための設定運転経過時間が初期設定される記憶手段と、
    少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、
    プログラムのブロックの指令を実行するのに要する運転時間を各系統毎に算出する手段と、
    各系統毎に求められた前記運転時間を各プログラムの先頭より積算する積算手段と、
    前記積算手段で積算された積算時間が前記記憶手段に記憶された時間と一致または超える時のブロックかを判別する判別手段と、
    前記判別手段により、いずれかの系統の積算時間が、前記記憶手段に記憶された時間と一致または超えると判別されたときカーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、
    カーソルの移動が停止した後、前記積算時間が前記記憶手段に記憶された時間と一致または超えない系統のプログラムに対して、前記運転時間を算出する手段及び積算手段で求められる積算時間が前記記憶手段に記憶された時間に達するブロックを検索する手段と、
    該検索する手段で、ブロックが求められると該ブロックをカーソル位置に位置するようにプログラムをシフトする手段と、
    プログラムのシフトが完了すると、前記記憶手段に記憶する時間に設定運転経過時間を加算する手段と、
    プログラムのシフトが完了すると、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、
    カーソル操作により、設定運転経過時間毎に、その運転経過時間で各系統のプログラムで実行されるブロックを同一行ラインに表示可能にしたことを特徴とする複数系統のプログラムの編集機能を有する数値制御装置。
JP2008261240A 2008-10-08 2008-10-08 複数系統のプログラムの編集機能を有する数値制御装置 Active JP4643699B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008261240A JP4643699B2 (ja) 2008-10-08 2008-10-08 複数系統のプログラムの編集機能を有する数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008261240A JP4643699B2 (ja) 2008-10-08 2008-10-08 複数系統のプログラムの編集機能を有する数値制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007097038A Division JP4233583B2 (ja) 2007-04-03 2007-04-03 複数系統のプログラムの編集機能を有する数値制御装置

Publications (2)

Publication Number Publication Date
JP2009003972A JP2009003972A (ja) 2009-01-08
JP4643699B2 true JP4643699B2 (ja) 2011-03-02

Family

ID=40320209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008261240A Active JP4643699B2 (ja) 2008-10-08 2008-10-08 複数系統のプログラムの編集機能を有する数値制御装置

Country Status (1)

Country Link
JP (1) JP4643699B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6538754B2 (ja) 2017-05-24 2019-07-03 ファナック株式会社 数値制御装置
CN112327759B (zh) * 2020-10-21 2021-12-28 苏州谷夫道自动化科技有限公司 一种多通道数控系统通道同步的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182715A (ja) * 2000-12-15 2002-06-26 Star Micronics Co Ltd Ncプログラム表示装置およびncプログラム編集装置
JP2005122584A (ja) * 2003-10-20 2005-05-12 Mori Seiki Co Ltd Ncプログラム編集装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2590336B2 (ja) * 1987-06-22 1997-03-12 三菱電機株式会社 制御プログラム表示装置
JP2824921B2 (ja) * 1989-12-26 1998-11-18 株式会社安川電機 多系列制御nc装置
JP3450065B2 (ja) * 1994-10-16 2003-09-22 シチズン時計株式会社 Nc旋盤

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182715A (ja) * 2000-12-15 2002-06-26 Star Micronics Co Ltd Ncプログラム表示装置およびncプログラム編集装置
JP2005122584A (ja) * 2003-10-20 2005-05-12 Mori Seiki Co Ltd Ncプログラム編集装置

Also Published As

Publication number Publication date
JP2009003972A (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
US10222780B2 (en) Control device for machine tool
JP5349712B1 (ja) 数値制御装置
CN104570929B (zh) 一种机床
CN102854831B (zh) 块执行顺序显示装置
CN107077125B (zh) 机床的控制装置
JP4233583B2 (ja) 複数系統のプログラムの編集機能を有する数値制御装置
JP5990662B2 (ja) 加工プログラム編集支援装置
CN107430393B (zh) 数控装置
EP1806638A2 (en) Monitoring device for machining apparatus
JPWO2016035869A1 (ja) 加工プログラム編集支援装置
JP2010140225A (ja) 工作機械用制御装置
CN110737244A (zh) 数值控制装置和数据编辑方法
JP6333798B2 (ja) 数値制御装置
JP4643699B2 (ja) 複数系統のプログラムの編集機能を有する数値制御装置
JP6638979B2 (ja) 加工工程管理機能付き数値制御装置および加工工程管理プログラム
US10705489B2 (en) Controller
US10802051B2 (en) Waveform display device that allows cycle time comparison to be made
JPH09120308A (ja) 工具経路描画方法
WO2023073755A1 (ja) ロボットの動作判定装置、動作判定方法および動作判定プログラム
US20240126230A1 (en) Machine Tool, Machine Tool Control Method, and Machine Tool Control Program
JPS63271504A (ja) 数値制御装置における表示切換方法
JP5007801B2 (ja) Ncプログラム編集装置
JP2010175481A (ja) 測定プログラムのチェック方法及び測定機能を有する機械
JP2006079561A (ja) 数値制御装置、数値制御方法、制御プログラム及び記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081112

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100519

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101202

R150 Certificate of patent or registration of utility model

Ref document number: 4643699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3