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

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

Info

Publication number
JP4233583B2
JP4233583B2 JP2007097038A JP2007097038A JP4233583B2 JP 4233583 B2 JP4233583 B2 JP 4233583B2 JP 2007097038 A JP2007097038 A JP 2007097038A JP 2007097038 A JP2007097038 A JP 2007097038A JP 4233583 B2 JP4233583 B2 JP 4233583B2
Authority
JP
Japan
Prior art keywords
cursor
program
block
synchronization target
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
JP2007097038A
Other languages
English (en)
Other versions
JP2008257366A (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 JP2007097038A priority Critical patent/JP4233583B2/ja
Priority to EP08153325A priority patent/EP1978429B1/en
Priority to US12/078,137 priority patent/US8185233B2/en
Priority to CN2010101157295A priority patent/CN101788807B/zh
Priority to CN2008100869914A priority patent/CN101281402B/zh
Publication of JP2008257366A publication Critical patent/JP2008257366A/ja
Application granted granted Critical
Publication of JP4233583B2 publication Critical patent/JP4233583B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Description

本発明は、多系統制御機能を有する数値制御装置に関し、各系統のプログラムを並列に表示して編集可能にした数値制御装置に関する。
複数の系統を制御可能な数値制御装置においては、各系統毎のプログラムをそれぞれ実行し、系統間で同期をとりながら工作機械等の機械を運転することで、複数の加工工程を同時にもしくは連続的に行うことができる。この多系統制御が可能な数値制御装置において、各系統で選択されている加工プログラムを編集する場合、従来は、編集目的の系統を切り換え、同期条件などを目視にて確認し、個別に編集を行っている。
この各系統のプログラムを表示装置に表示する方法として、各系統のプログラムを並列に表示する方法、直列に表示する方法が知られている。並列に表示する場合、時間の関係を認識できるように、時間を対応させて各系統のプログラムを並列に表示することや、1つの加工プログラム中に多系統制御と単独制御を混在させて、直列に表示する方法も知られている(特許文献1参照)。
特開2000−122709号公報
各系統のプログラムを編集する場合、各系統でのプログラム指令により複数の系統で制御される軸を互いに協調しながら同時に移動させるものであることから、各系統でのプログラム指令の実行順序を把握し、系統間での同期、実行、待ち合わせの関係を確認しながら編集する必要がある。しかしながら、各系統のプログラムを直列に表示する方法では、系統間における時間の関係を認識することか難しく、その編集が困難である。一方、各系統のプログラムを並列に表示したとしても、単に並列に表示するだけでは、系統間での複雑な同期、実行、待ち合わせの関係等の時間の関係を認識することは難しい。そのため、前記特許文献1に記載されているように、各系統のプログラムを並列に表示し、待ち合わせコード等を対応させて時間の関係を理解し易いように表示する方法が提案されているが、この方法では、空白が多くなり、表示できるプログラム部分が少なくなり、編集作業が困難となるという欠点を有する。
そこで、本発明の目的は、各系統のプログラムを同一画面上に同時に並列に表示し、同期関係を簡単に認識できると共に、空白がなく各プログラムを表示できる数値制御装置を提供することにある。
本願各発明は、多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、請求項に係る発明は、少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、カーソルのあるブロックが同期対象を示す情報を有するか判別する判別手段と、前記判別手段でいずれかの系統で同期対象を示す情報を有するブロックが検出されたとき、カーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、カーソルの移動が停止された後、前記カーソル操作手段の操作により、カーソル位置に同期対象を示す情報を有するブロックがない系統のプログラムに対しては、そのプログラムをスクロールする手段と、前記判別手段で、同期対象を示す情報を有するブロックがカーソル位置に達したと判別されたとき前記スクロールを停止させる手段と、スクロールしていた全てのプログラムのスクロールが停止した後、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、カーソル操作により、同一行ラインに同期対象のブロックを表示可能にしたことを特徴とするものである。
請求項に係る発明は、少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、カーソルのあるブロックが同期対象を示す情報を有するか判別する判別手段と、前記判別手段により編集対象のプログラム内のカーソルのあるブロックが同期対象を示す情報を有すると判別されたとき、前記カーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、カーソルの移動が停止した後、編集対象外の他の系統のプログラムに対して、カーソルが停止した編集対象のプログラムのブロックの同期対象を示す情報と対応する情報を有するブロックを検索する手段と、検索して得られたブロックがカーソル位置になるようにプログラムをシフトする手段と、プログラムのシフトが完了し、各系統のプログラムの同期対象のブロックがカーソル位置に配置された後、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、同一行ラインに同期対象のブロックを表示可能にしたことを特徴とするものである。
請求項に係る発明は、少なくとも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 (4)

  1. 多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、
    少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、
    カーソルのあるブロックが同期対象を示す情報を有するか判別する判別手段と、
    前記判別手段でいずれかの系統で同期対象を示す情報を有するブロックが検出されたとき、カーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、
    カーソルの移動が停止された後、前記カーソル操作手段の操作により、カーソル位置に同期対象を示す情報を有するブロックがない系統のプログラムに対しては、そのプログラムをスクロールする手段と、
    前記判別手段で、同期対象を示す情報を有するブロックがカーソル位置に達したと判別されたとき前記スクロールを停止させる手段と、
    スクロールしていた全てのプログラムのスクロールが停止した後、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、
    カーソル操作により、同一行ラインに同期対象のブロックを表示可能にしたことを特徴とする複数系統のプログラムの編集機能を有する数値制御装置。
  2. 多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、
    少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、
    カーソルのあるブロックが同期対象を示す情報を有するか判別する判別手段と、
    前記判別手段により編集対象のプログラム内のカーソルのあるブロックが同期対象を示す情報を有すると判別されたとき、前記カーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、
    カーソルの移動が停止した後、編集対象外の他の系統のプログラムに対して、カーソルが停止した編集対象のプログラムのブロックの同期対象を示す情報と対応する情報を有するブロックを検索する手段と、
    検索して得られたブロックがカーソル位置になるようにプログラムをシフトする手段と、プログラムのシフトが完了し、各系統のプログラムの同期対象のブロックがカーソル位置に配置された後、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、
    同一行ラインに同期対象のブロックを表示可能にしたことを特徴とする複数系統のプログラムの編集機能を有する数値制御装置。
  3. 多系統制御機能を有し、複数系統のプログラムを並列に表示してプログラムの編集ができる編集機能を備えた数値制御装置であって、
    少なくとも2つ以上の系統のプログラムを同一画面上に並列に表示した状態で、カーソル操作手段の操作により、編集対象のプログラム内で編集箇所を指し示すカーソルを移動させるとき、該カーソルと連動して他の系統のプログラム内のカーソルを同一行ラインに揃えて移動させるカーソル移動制御手段と、
    カーソルのあるブロックが同期対象を示す情報を有するか判別する判別手段と、
    前記判別手段でいずれかの系統で同期対象を示す情報を有するブロックが検出されたとき、カーソル移動制御手段を無効にして前記カーソルの移動を停止させる手段と、
    カーソルの移動が停止した後、カーソル位置に同期対象を示す情報を有するブロックがない系統のプログラムに対して、カーソルが停止したプログラムのブロックの同期対象を示す情報と対応する情報を有するブロックを検索する手段と、
    検索して得られたブロックがカーソル位置になるようにプログラムをシフトする手段と、プログラムのシフトが完了し、各系統のプログラムの同期対象のブロックがカーソル位置に配置された後、前記カーソル移動制御手段を有効にしてカーソル移動を可能にする手段とを備え、
    同一行ラインに同期対象のブロックを表示可能にしたことを特徴とする複数系統のプログラムの編集機能を有する数値制御装置。
  4. 前記同期対象を示す情報はシーケンス番号、特定の指令コード又はマークである請求項1乃至3の内いずれか1項に記載の複数系統のプログラムの編集機能を有する数値制御装置。
JP2007097038A 2007-04-03 2007-04-03 複数系統のプログラムの編集機能を有する数値制御装置 Active JP4233583B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007097038A JP4233583B2 (ja) 2007-04-03 2007-04-03 複数系統のプログラムの編集機能を有する数値制御装置
EP08153325A EP1978429B1 (en) 2007-04-03 2008-03-26 Numerical controller capable of editing in parallel programs for multiple axes
US12/078,137 US8185233B2 (en) 2007-04-03 2008-03-27 Numerical controller having multi-path control function
CN2010101157295A CN101788807B (zh) 2007-04-03 2008-04-03 具有多路径控制功能的数值控制装置
CN2008100869914A CN101281402B (zh) 2007-04-03 2008-04-03 具有多路径控制功能的数值控制装置

Applications Claiming Priority (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2008257366A JP2008257366A (ja) 2008-10-23
JP4233583B2 true JP4233583B2 (ja) 2009-03-04

Family

ID=39468308

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US8185233B2 (ja)
EP (1) EP1978429B1 (ja)
JP (1) JP4233583B2 (ja)
CN (2) CN101788807B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101126110B1 (ko) * 2010-06-28 2012-03-29 (주)펜앤프리 3차원 입체 영상 표시 시스템 및 이를 이용한 3차원 입체 영상 표시 방법
JP5715217B2 (ja) * 2013-10-18 2015-05-07 ファナック株式会社 プログラムの先読み機能を備えた数値制御装置
JP6346206B2 (ja) * 2016-01-14 2018-06-20 ファナック株式会社 ブロック時間表示手段を有する数値制御装置
JP6470326B2 (ja) 2017-01-31 2019-02-13 ファナック株式会社 制御装置
JP7328029B2 (ja) 2019-06-28 2023-08-16 ファナック株式会社 パラメータ管理装置及びその管理システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3028708A1 (de) * 1980-07-29 1982-02-11 Dr. Johannes Heidenhain Gmbh, 8225 Traunreut Verfahren zur programmierung bahngesteuerter maschinen
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旋盤
JPH08161022A (ja) * 1994-12-07 1996-06-21 Fanuc Ltd Cncの多系統待ち合わせ方式
JP4149584B2 (ja) 1998-10-20 2008-09-10 シチズンホールディングス株式会社 多軸多系統nc旋盤の加工プログラム表示方法
JP2002182715A (ja) 2000-12-15 2002-06-26 Star Micronics Co Ltd Ncプログラム表示装置およびncプログラム編集装置
DE10308815B4 (de) * 2003-02-27 2008-06-05 Siemens Ag Verfahren zur Erzeugung und Visualisierung einer aufgabenorientierten Schrittdarstellung
JP2005122584A (ja) 2003-10-20 2005-05-12 Mori Seiki Co Ltd Ncプログラム編集装置
US20060058907A1 (en) * 2004-09-14 2006-03-16 Ugs Corp. System, method, and computer program product for machine tool programming
JP2007061983A (ja) * 2005-09-01 2007-03-15 Fanuc Ltd ロボット監視システム

Also Published As

Publication number Publication date
CN101788807A (zh) 2010-07-28
JP2008257366A (ja) 2008-10-23
CN101788807B (zh) 2012-04-04
CN101281402A (zh) 2008-10-08
EP1978429A2 (en) 2008-10-08
US8185233B2 (en) 2012-05-22
EP1978429A3 (en) 2010-09-22
CN101281402B (zh) 2010-06-23
US20080250359A1 (en) 2008-10-09
EP1978429B1 (en) 2011-11-09

Similar Documents

Publication Publication Date Title
US10222780B2 (en) Control device for machine tool
US10423147B2 (en) Control device for machine tool
JP4233583B2 (ja) 複数系統のプログラムの編集機能を有する数値制御装置
CN102854831B (zh) 块执行顺序显示装置
CN104570929B (zh) 一种机床
EP2541355A1 (en) Machine control program creating device
JP5349712B1 (ja) 数値制御装置
EP1189123B1 (en) Automatic programming and simulation apparatus
JP5990662B2 (ja) 加工プログラム編集支援装置
EP1806638A2 (en) Monitoring device for machining apparatus
CN110737244A (zh) 数值控制装置和数据编辑方法
JP6081981B2 (ja) 教示プログラムの自動表示手段を備える数値制御装置
JP4643699B2 (ja) 複数系統のプログラムの編集機能を有する数値制御装置
JP6638979B2 (ja) 加工工程管理機能付き数値制御装置および加工工程管理プログラム
US10705489B2 (en) Controller
JP2583784B2 (ja) 自動刺しゅうミシンの手動送り制御方法
JPH09120308A (ja) 工具経路描画方法
WO2023073755A1 (ja) ロボットの動作判定装置、動作判定方法および動作判定プログラム
JP5007801B2 (ja) Ncプログラム編集装置
JPS63271504A (ja) 数値制御装置における表示切換方法
JP2014232493A (ja) 表示制御装置、表示制御方法およびプログラム
WO1990004817A1 (en) Search system of shape constituent elements
JP2008183664A (ja) ロボット装置
JP2006079561A (ja) 数値制御装置、数値制御方法、制御プログラム及び記録媒体

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081008

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: 20081125

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: 20081209

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4233583

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: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 5