JP7183488B1 - 加工プログラム作成装置および加工プログラム作成方法 - Google Patents

加工プログラム作成装置および加工プログラム作成方法 Download PDF

Info

Publication number
JP7183488B1
JP7183488B1 JP2022557794A JP2022557794A JP7183488B1 JP 7183488 B1 JP7183488 B1 JP 7183488B1 JP 2022557794 A JP2022557794 A JP 2022557794A JP 2022557794 A JP2022557794 A JP 2022557794A JP 7183488 B1 JP7183488 B1 JP 7183488B1
Authority
JP
Japan
Prior art keywords
command
robot
machine tool
character string
machining program
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
JP2022557794A
Other languages
English (en)
Other versions
JPWO2023238346A5 (ja
JPWO2023238346A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7183488B1 publication Critical patent/JP7183488B1/ja
Publication of JPWO2023238346A1 publication Critical patent/JPWO2023238346A1/ja
Publication of JPWO2023238346A5 publication Critical patent/JPWO2023238346A5/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/406Numerical 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 monitoring or safety
    • G05B19/4068Verifying part programme on screen, by drawing or other means
    • 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/409Numerical 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 using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • 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

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

Abstract

加工プログラム作成装置は、工作機械(70)およびロボット(60)を制御する加工プログラムを作成する。加工プログラム作成装置は、入力操作により入力された文字列を含む指令が工作機械(70)への指令とロボット(60)への指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する指令判別部(39)と、判別結果に基づいて、工作機械(70)への指令とロボット(60)への指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う画面処理部(31)と、を備える。

Description

本開示は、工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成装置および加工プログラム作成方法に関する。
一般に、工作機械を制御するプログラムとロボットを制御するプログラムとは、互いに異なるプログラム言語が使用される。工作機械とロボットとを備えるシステムについて、工作機械を制御するプログラムとロボットを制御するプログラムとを互いに分けて作成すると、工作機械とロボットとの連係動作をこれらのプログラムから理解することが難しく、システムを立ち上げる際における作業の負担が大きくなる場合があった。そこで、1つの加工プログラムによって工作機械とロボットとの両方を制御する技術が提案されている。
特許文献1には、工作機械への指令とロボットへの指令との両方を含む加工プログラムが入力され、工作機械への指令を工作機械へ転送し、かつロボットへの指令をロボットへ転送する制御装置が開示されている。
特開2014-241018号公報
特許文献1の技術において使用される加工プログラムのように工作機械への指令とロボットへの指令との両方を含む加工プログラムを作成する場合、一般的には時系列で指令を記述していく。このため、工作機械への指令のみまたはロボットへの指令のみを確認したい場合に確認しづらいという課題があった。
本開示は、上記に鑑みてなされたものであって、画面上で加工プログラムを作成または編集等する際に工作機械への指令とロボットへの指令とをユーザが容易に確認可能とする加工プログラム作成装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示にかかる加工プログラム作成装置は、工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成装置である。本開示にかかる加工プログラム作成装置は、入力操作により入力された文字列を含む指令が工作機械への指令とロボットへの指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する指令判別部と、判別結果に基づいて、工作機械への指令とロボットへの指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う画面処理部と、を備える。
本開示にかかる加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械への指令とロボットへの指令とをユーザが容易に確認することができるという効果を奏する。
実施の形態1にかかる加工プログラム作成装置を含むシステムの構成例を示す図 実施の形態1にかかる数値制御装置の構成例を示す図 実施の形態1にかかる数値制御装置によって表示される画面の例を示す第1の図 実施の形態1にかかる数値制御装置によって表示される画面の例を示す第2の図 実施の形態1にかかる数値制御装置の指令判別部による動作の手順を示すフローチャート 実施の形態1にかかる数値制御装置の画面処理部による動作の手順を示すフローチャート 実施の形態2にかかる数値制御装置の指令判別部による動作の手順を示すフローチャート 実施の形態3にかかる数値制御装置によって表示される画面の例を示す第1の図 実施の形態3にかかる数値制御装置によって表示される画面の例を示す第2の図 実施の形態1から3にかかる制御回路の構成例を示す図 実施の形態1から3にかかる専用のハードウェア回路の構成例を示す図
以下に、実施の形態にかかる加工プログラム作成装置および加工プログラム作成方法を図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1にかかる加工プログラム作成装置を含むシステムの構成例を示す図である。実施の形態1にかかる加工プログラム作成装置は、工作機械70およびロボット60を制御する加工プログラムを作成する。実施の形態1では、工作機械70およびロボット60を制御する数値制御装置1Xに加工プログラム作成装置の機能が備えられる例について説明する。
制御システム100Aは、加工プログラムである数値制御(NC:Numerical Control)プログラムを用いて工作機械70およびロボット60を制御するシステムである。制御システム100Aは、工作機械70と、数値制御装置1Xと、ロボットコントローラ50Xと、ロボット60とを有する。数値制御装置1Xは、CNC(Computer Numerical Control:コンピュータ数値制御)ユニット6と、入力操作部3Xとを有する。実施の形態1では、主に、金属加工を目的とした工作機械70の形態を説明するが、工作機械70の形態はこれに限られないものとする。
CNCユニット6は、工作機械70、入力操作部3X、およびロボットコントローラ50Xに接続されている。ロボットコントローラ50Xは、ロボット60に接続されている。CNCユニット6とロボットコントローラ50Xとは、例えば、LAN(Local Area Network)といったネットワークを介して接続されている。
制御システム100Aでは、工作機械70、数値制御装置1X、およびロボットコントローラ50Xの間で通信を実行し、ロボットコントローラ50Xおよびロボット60の間で通信を実行する。このように、制御システム100Aでは、ロボットコントローラ50Xを介して数値制御装置1Xとロボット60とが接続されている。数値制御装置1Xは、ロボットコントローラ50Xを介してロボット60を制御する。以下、数値制御装置1Xによるロボット60の制御について説明する際に、ロボットコントローラ50Xを介することについての記載を省略する場合がある。
数値制御装置1Xは、工作機械70に配置されている。数値制御装置1Xは、工具の使用によるワークの加工を工作機械70に実行させるとともに、ワークの搬送をロボット60に実行させるコンピュータである。数値制御装置1Xは、GコードプログラムといったNCプログラムを用いて、工作機械70およびロボット60を制御する。
NCプログラムには、第1のプログラム言語で記述された工作機械70への指令である第1の指令と、第1のプログラム言語で記述されたロボット60への指令である第2の指令とが含まれている。数値制御装置1Xは、NCプログラムのうちの第2の指令を、第2のプログラム言語で記述されたロボットプログラムの指令である第3の指令に変換し、第3の指令を用いてロボット60を制御する。
入力操作部3Xは、CNCユニット6の制御演算部2Xに情報を入力する手段である。制御演算部2Xについては後述する。入力操作部3Xは、キーボード、タッチパネル、ボタンまたはマウスといった入力手段を備える。図1には、入力手段の例としてキーボードとタッチパネルとを示す。タッチパネルは、例えば液晶タッチパネルである。
数値制御装置1Xは、第3の指令を含むロボットプログラムをロボットコントローラ50Xへ送る。ロボットコントローラ50Xは、数値制御装置1Xから送られてくるロボットプログラムに従ってロボット60を制御する。
ロボット60は、ロボットハンド61によってワークを把持し、把持したワークを搬送する。ロボット60は、加工前のワークを工作機械70にロードし、加工後のワークを工作機械70からアンロードする。なお、ロボット60は、ワークの搬送以外の処理を実行しても良い。
CNCユニット6は、後述する制御演算部2Xと後述する表示部4とを含めて構成される。CNCユニット6は、NCプログラムを用いて、工作機械70およびロボット60を制御する。また、CNCユニット6は、入力操作部3Xから信号を受信すると、受信した信号に対応する処理を工作機械70に実行させる。また、CNCユニット6は、工作機械70の状態を示す情報、およびロボット60の状態を示す情報などを表示する。
工作機械70は、NC工作機械である。工作機械70は、2軸以上の駆動軸によって工具とワークとを相対的に移動させながら、工具を用いてワークを加工する。工作機械70の座標系である第1の座標系とロボット60の座標系である第2の座標系とは、互いに異なる座標系である。工作機械70は、直交座標系で制御され、例えば3軸方向に工具またはワークを移動させる。ロボット60は、回転軸を備え、例えば、4軸以上の方向に駆動する。ロボット60は、複数の関節と複数のアームとを備え、1つの関節が1つのアームを1軸以上の方向に移動させる。
図2は、実施の形態1にかかる数値制御装置1Xの構成例を示す図である。数値制御装置1Xは、制御演算部2Xと、入力操作部3Xと、表示部4と、PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)36を操作するための機械操作盤などのPLC操作部5とを有する。図2には、数値制御装置1Xとともに、工作機械70、ロボットコントローラ50X、およびロボット60を示す。
工作機械70は、工具およびワークを駆動する駆動部90を備える。駆動部90の例は、ワークを回転させながら工具を駆動する駆動機構である。実施の形態1では、工具の駆動方向は、例えば、X軸方向に平行な方向とZ軸方向に平行な方向との2方向である。なお、軸方向は装置構成によるので、軸方向は、上記方向に限定されない。
駆動部90は、数値制御装置1X上で規定された各軸方向に工具を移動させるサーボモータ901,902と、サーボモータ901,902の位置および速度を検出する検出器97,98とを有する。検出器97は、サーボモータ901の位置および速度の検出結果を示す信号を出力する。検出器98は、サーボモータ902の位置および速度の検出結果を示す信号を出力する。駆動部90は、数値制御装置1Xからの指令に基づいてサーボモータ901,902を制御するサーボ制御部を備える。駆動部90は、各軸方向についてのサーボ制御部を備える。各軸方向のサーボ制御部は、検出器97,98からの信号に基づいて、サーボモータ901,902のフィードバック制御を行う。
サーボ制御部のうち、X軸サーボ制御部91は、サーボモータ901を制御することによって工具のX軸方向の動作を制御する。サーボ制御部のうち、Z軸サーボ制御部92は、サーボモータ902を制御することによって工具のZ軸方向の動作を制御する。
また、駆動部90は、ワークを回転させるための主軸を回転させる主軸モータ911と、主軸モータ911を制御する主軸サーボ制御部93と、主軸モータ911の位置および回転数を検出する検出器99とを有する。回転数は、単位時間当たりにおける回転の回数である。検出器99が検出する回転数は、主軸モータ911の回転数に対応している。
上述するように、入力操作部3Xは、制御演算部2Xに情報を入力する入力手段を備える。入力操作部3Xは、ユーザによる数値制御装置1Xに対するコマンドなどを受け付ける。また、入力操作部3Xは、NCプログラムまたはパラメータなどを受け付ける。表示部4は、液晶表示装置などの表示手段によって構成され、制御演算部2Xによって処理された情報を画面に表示する。表示部4の例は、液晶タッチパネルである。この場合、入力操作部3Xの一部の機能が、表示部4に配置されている。
制御部である制御演算部2Xは、工作機械70の座標系で規定されたNCプログラムを用いて工作機械70およびロボット60を制御する。制御演算部2Xは、画面処理部31と、入力制御部32と、記憶部34と、制御信号処理部35Xと、PLC36と、解析処理部37と、補間処理部38と、指令判別部39と、ロボット制御部41Xとを有する。なお、PLC36は、制御演算部2Xの外部に配置されても良い。
記憶部34は、不揮発性メモリまたはハードディスクといった、データを保存する装置である。記憶部34は、NCプログラムが記憶されるプログラム記憶エリア341と、画面表示データが記憶される表示データ記憶エリア344と、一時的に使用されるデータを記憶する共有エリア345とを有する。また、記憶部34には、工作機械指令コード一覧342と、ロボット指令コード一覧343とが保存される。
プログラム記憶エリア341は、指令である文字列を記憶する指令文字列エリア3411と、判別結果を記憶する判別結果エリア3412とを有する。指令文字列エリア3411には、入力操作部3Xが受け付けた指令である文字列が記憶される。判別結果エリア3412には、工作機械70への指令とロボット60への指令とのいずれであるかを指令判別部39によって判別した結果である判別結果が記憶される。指令文字列エリア3411に記憶される文字列である各行は、判別結果エリア3412に記憶される判別結果のデータである行のいずれか1つに紐付けられる。
表示データ記憶エリア344に記憶される表示画面データは、表示部4に表示される画面のデータである。工作機械指令コード一覧342は、工作機械70への指令に使用されるコードの一覧である。ロボット指令コード一覧343は、ロボット60への指令に使用されるコードの一覧である。
入力制御部32は、入力操作部3Xから入力される情報を受け付けて、受け付けた情報を、指令判別部39を介して記憶部34へ記憶させる。すなわち、入力操作部3Xが受け付けた入力情報は、入力制御部32と指令判別部39とを介して記憶部34に書き込まれる。
指令判別部39は、入力操作により入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する。
画面処理部31は、表示データ記憶エリア344に格納された画面表示データを表示部4に表示させる制御を行う。画面処理部31は、指令判別部39による判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う。
制御信号処理部35Xは、PLC36に接続されている。PLC36は、工作機械70を動作させるリレーなどの信号情報を制御信号処理部35Xへ出力する。制御信号処理部35Xは、PLC36からの信号情報を受け付け、受け付けた信号情報を共有エリア345に書き込む。補間処理部38は、加工運転時にかかる信号情報を参照する。また、制御信号処理部35Xは、解析処理部37によって共有エリア345に補助指令が出力されると、この補助指令を制御信号処理部35Xが共有エリア345から読み出してPLC36に送る。補助指令は、数値制御軸である駆動軸を動作させる指令以外の指令である。補助指令の例は、MコードまたはTコードである。
制御演算部2Xでは、制御信号処理部35Xと、解析処理部37と、補間処理部38と、指令判別部39と、ロボット制御部41Xとが記憶部34を介して接続されており、記憶部34を介して情報の書き込み、および読み出しを行う。以下、制御信号処理部35Xと、解析処理部37と、補間処理部38と、指令判別部39と、ロボット制御部41Xとの間の情報の書き込み、および読み出しについて説明する際に、記憶部34を介することについての記載を省略する場合がある。
解析処理部37は、NCプログラムをプログラム記憶エリア341内から読み出して、NCプログラムの各ブロック、すなわちNCプログラムの各行についての解析処理を行う。解析処理部37は、解析した行に工作機械70へのGコードが含まれている場合には、共有エリア345を介して補間処理部38へ解析結果を送る。具体的には、解析処理部37は、Gコードに対応する移動条件を生成して補間処理部38へ送る。また、解析処理部37は、Sコードで指定された主軸回転数を補間処理部38へ送る。主軸回転数は、単位時間あたりの主軸の回転の回数である。
解析処理部37は、ロボット指令解析部371を有する。ロボット指令解析部371は、接続されたロボット60の動作を解析する手段である。ロボット指令解析部371は、NCプログラムに含まれるロボット指令を解析し、解析結果をロボット制御部41Xへ送る。
補間処理部38は、解析処理部37による解析結果のうち工作機械70への指令を用いて、工作機械70を制御するためのデータを生成する。補間処理部38は、第1の待ち合わせ部であるロボット指令待ち合わせ部381を備える。ロボット指令待ち合わせ部381は、ロボット60と工作機械70との間で待ち合わせの処理を実行する場合に、特定のタイミングとなるまで、工作機械70への指令である動作指令等を待機させる。ロボット60と工作機械70との間における待ち合わせ処理については、後述する。
ロボット制御部41Xは、第2の待ち合わせ部であるNC指令待ち合わせ部413と、プログラム変換部414と、ロボットプログラムバッファ415とを有する。NC指令待ち合わせ部413は、ロボット60と工作機械70との間で待ち合わせの処理を実行する場合に、特定のタイミングとなるまでロボット60への指令を待機させる。
変換部であるプログラム変換部414は、工作機械70の座標系で規定された第2の指令をロボット60の座標系で規定された第3の指令に変換することによって、ロボット60を制御する際に用いられるロボットプログラムを生成する。ロボットプログラムバッファ415は、ロボット60への指令を一時的に記憶する。
次に、指令判別部39による処理の詳細について説明する。数値制御装置1Xでは、一般的に、加工が開始される前に、入力操作部3XにおいてNCプログラム、またはパラメータなどを受け付ける。制御システム100Aのユーザは、入力操作部3Xの操作により、工作機械70への指令である文字列とロボット60への指令である文字列とを制御演算部2Xへ入力する。指令判別部39は、ユーザの入力操作により入力された文字列を、入力制御部32を介して取得する。指令判別部39は、入力操作により入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別する。
指令判別部39は、工作機械指令コード一覧342とロボット指令コード一覧343とを参照することによって、入力された文字列を含む指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。指令判別部39は、入力された文字列の中に、工作機械指令コード一覧342にあるコードが含まれている場合、入力された文字列を含む指令は工作機械70への指令と判定する。指令判別部39は、入力された文字列の中に、ロボット指令コード一覧343にあるコードが含まれている場合、入力された文字列を含む指令はロボット60への指令と判定する。
指令判別部39は、入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別した結果である判別結果を、入力された文字列に紐付ける。指令判別部39は、判別結果が紐付けられた文字列を指令文字列エリア3411に格納する。指令判別部39は、文字列に紐付けられた判別結果を、判別結果エリア3412に格納する。
画面処理部31は、指令判別部39による判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う。ここで、画面処理部31による処理の詳細について説明する。
画面処理部31は、画面にNCプログラムを表示する際、指令文字列エリア3411の情報と判別結果エリア3412の情報とを参照することによって、NCプログラムに含まれる工作機械70への指令と、NCプログラムに含まれるロボット60への指令とを識別する。画面処理部31は、工作機械70への指令とロボット60への指令とを区別して描画する。
画面処理部31は、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とを分けることによって、工作機械70への指令とロボット60への指令とを区別して表示する。実施の形態1において、画面処理部31は、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを画面の縦方向へ並べることによって、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを互いに分けて表示する。
画面処理部31は、例えば、NCプログラムが表示される領域のうち下部に工作機械70への指令を表示し、NCプログラムが表示される領域のうち上部にロボット60への指令を表示する。工作機械70への指令を表示する領域とロボット60への指令を表示する領域とが分けられることによって、ユーザは、画面上で加工プログラムを作成または編集等する際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
さらに、画面処理部31は、工作機械70への指令である文字列の表示色と、ロボット60への指令である文字列の表示色とを互いに異ならせることによって、工作機械70への指令とロボット60への指令とを区別して表示する。例えば、工作機械70への指令である文字列の各文字は、工作機械70への指令の表示に専用の第1の表示色で表示される。ロボット60への指令である文字列の各文字は、ロボット60への指令の表示に専用の第2の表示色で表示される。工作機械70への指令の表示色とロボット60への指令の表示色とが互いに異なることによって、ユーザは、画面を見る際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
上記説明では、文字列の表示色は文字の色としたが、文字列の表示色は、文字の背景の色でも良い。すなわち、画面処理部31は、工作機械70への指令とロボット60への指令とにおいて、文字の色を異ならせる以外に、文字の背景色を異ならせても良い。この場合も、ユーザは、画面を見る際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
図3は、実施の形態1にかかる数値制御装置1Xによって表示される画面の例を示す第1の図である。図3には、NCプログラムの編集が行われている際における画面の例を示す。図3に示す画面において、ロボット60への指令が表示される表示領域300は、NCプログラムが表示される領域のうち上部に配置される。図3に示す画面において、工作機械70への指令が表示される表示領域310は、NCプログラムが表示される領域のうち下部に配置される。このように、表示領域300と表示領域310とは、画面の縦方向に並べられる。
また、図3に示す例では、ロボット60への指令である文字列の各文字は、第2の表示色である緑色で表示される。工作機械70への指令である文字列の各文字は、第1の表示色である青色で表示される。表示領域300における各行の文字列は緑色で表示され、表示領域310における各行の文字列は青色で表示される。
図3には、「G1001」を含む指令である行301が入力され、かつ、行301の入力が確定される直前の状態を示す。行301は、今回の入力操作によって入力された行とする。また、今回の入力操作の1つ前に行われた入力操作を、前回の入力操作と称する。前回の入力操作では、表示領域310の最後の一行、すなわち工作機械70への指令である行が入力され、かつ当該行の入力が確定されたとする。なお、入力操作部3Xにおいて入力確定キーが押下されることによって、指令である行の入力が確定される。
今回の入力操作が行われる行の位置は、前回の入力操作における判別結果を踏襲した位置とされる。図3に示す例では、前回の入力操作により入力された指令は工作機械70への指令と判定されているため、行301が入力される際における行301の位置は、表示領域310の最後の一行の下の位置とされる。また、行301の入力が確定される前には、行301の各文字は、第1の表示色および第2の表示色以外の色で表示される。入力が確定される前の各文字は、例えば黒色で表示されるものとする。
図4は、実施の形態1にかかる数値制御装置1Xによって表示される画面の例を示す第2の図である。図4には、図3に示す状態から入力確定キーが押下されたときにおける画面を示す。
指令判別部39は、行301の入力後、入力確定キーが押下されたときに、行301である指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。ここで、「G1001」は、ロボット60への指令に使用されるコードとする。指令判別部39は、「G1001」がロボット指令コード一覧343にあるコードであることから、行301である指令はロボット60への指令であるものと判定する。
指令判別部39は、ロボット60への指令であることを示す判別結果を、行301である指令に紐付ける。指令判別部39は、行301である指令を指令文字列エリア3411に格納する。指令判別部39は、行301である指令に紐付けられた判別結果を、判別結果エリア3412に格納する。このように、指令判別部39は、文字列の入力が確定されたときに、入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する。
画面処理部31は、行301についての判別結果を基に、行301を表示領域300に再配置する。すなわち、画面処理部31は、表示領域300の最後の一行の下に行301を移動させる。また、画面処理部31は、行301の文字の色を、黒色から緑色へ変化させる。これにより、画面は、図3に示す状態から図4に示す状態へ遷移する。
今回の入力操作により入力された行301が、例えば「G28」を含む指令であったとする。「G28」は、工作機械70への指令に使用されるコードとする。指令判別部39は、「G28」が工作機械指令コード一覧342にあるコードであることから、行301である指令は工作機械70への指令であるものと判定する。画面処理部31は、行301についての判別結果を基に、行301を表示領域310に再配置する。図3に示す例では、表示領域310の最後の一行の下に行301が入力されているため、入力確定キーが押下されても行301の位置は変化しない。また、画面処理部31は、行301の文字の色を、黒色から青色へ変化させる。
今回の入力操作により入力された行301が、例えば「X10. Y20」などのように位置情報のみの行である場合、入力された行301である指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別できない。この場合、指令判別部39は、前回の入力操作の際における判別結果を、行301の判別に踏襲させる。なお、指令判別部39により出力される判別結果は、ユーザによる入力操作部3Xへの手動入力により変更可能であるものとする。判別結果は、自動的に判別が行われた後の状態においても、手動で変更することができる。
なお、図3および図4に示す例では、画面において、ロボット60への指令が表示される表示領域300が上部に配置され、工作機械70への指令が表示される表示領域310が下部に配置されることとしたが、表示領域300,310の配置はこれに限られない。工作機械70への指令が表示される表示領域310が上部に配置され、ロボット60への指令が表示される表示領域300が下部に配置されても良い。
上記説明における、指令の自動的な判別と判別結果に基づいた自動的な表示処理とは、NCプログラムのうち特殊コードによって指定された特定の区間で有効となる。特殊コードは、例えば、「G197」および「G199」といったGコードである。この場合における特定の区間は、「G197」から「G199」までの区間である。なお、特殊コードはGコードに限られない。特定の区間は、特殊コードによって指定されるものに限られず、エリア選択手段といった手段により指定されても良い。
特定の区間には、工作機械70とロボット60とを並列動作させる指令のまとまりが1つ以上含まれる。すなわち、特定の区間において、並列動作にかかる指令のまとまりは、1つでも複数でも良い。並列動作にかかる指令のまとまりの内部では、自動的に、まとまりのうち前半の部分がロボット60への指令、かつ、まとまりのうち後半の部分が工作機械70への指令となるように、ロボット60への指令と工作機械70への指令とが記憶部34へ出力される。
次に、NCプログラムを実行する場合における数値制御装置1Xの動作について説明する。解析処理部37は、工作機械70の運転が開始されると、記憶部34のプログラム記憶エリア341からNCプログラムを一行ずつ取得する。
解析処理部37は、NCプログラムのうち取得された一行がロボット60への指令である場合、ロボットプログラムバッファ415へ指令を転送する。一方、解析処理部37は、NCプログラムのうち取得された一行が工作機械70への指令である場合、終点情報といった情報を補間処理部38へ通知する。
解析処理部37は、例えば、判別結果エリア3412の情報を参照することによって、ロボット60への指令と工作機械70への指令とを判別する。または、解析処理部37は、NCプログラムの編集の際と同様に、工作機械指令コード一覧342とロボット指令コード一覧343とを参照することによって、ロボット60への指令と工作機械70への指令とを判別しても良い。
次に、工作機械70とロボット60との待ち合わせについて説明する。解析処理部37は、工作機械70とロボット60との並列動作にかかる指令のまとまりの終端において、工作機械70とロボット60との間における待ち合わせ処理を自動的に行う。解析処理部37は、NCプログラムのうち記憶部34から取得された一行が工作機械70への指令である場合、工作機械70の移動完了まで待った後、次の行を取得する。
一方、解析処理部37は、NCプログラムのうち記憶部34から取得された一行がロボット60への指令である場合、ロボット60の移動完了を待たずに、次の行を取得する。ただし、解析処理部37は、工作機械70への指令の後、ロボット60への指令を最初に取得した場合、処理を一時中断する。さらに、解析処理部37は、ロボット60の移動が完了し、かつロボットプログラムバッファ415が空となるまで、新規の指令の転送を待機する。ロボット制御部41Xは、ロボット60への指令を、ロボットコントローラ50Xへ送信する。送信が完了した指令は、ロボットプログラムバッファ415から消去される。
次に、上述する機能を実現するための指令判別部39の動作手順について説明する。図5は、実施の形態1にかかる数値制御装置1Xの指令判別部39による動作の手順を示すフローチャートである。図5には、指令である1つの行が入力された後に入力確定キーが押下されたときの動作手順を示す。
ステップS1において、指令判別部39は、判別結果を初期化する。指令判別部39は、今回の判別結果へ前回の判別結果を代入することにより、初期化を行う。なお、数値制御装置1Xが起動した際には、前回の判別結果は、工作機械70への指令であることを示す判別結果であるものとして初期化が行われる。
ステップS2において、指令判別部39は、ユーザにより数値制御装置1Xへ入力された文字列を取得する。指令判別部39は、指令である1つの行の文字列を取得する。
ステップS3において、指令判別部39は、ステップS2において取得された文字列が工作機械70への指令であるか否かを判定する。指令判別部39は、文字列に含まれるコードを工作機械指令コード一覧342の各コードと照合し、文字列に含まれるコードに一致するコードを工作機械指令コード一覧342において検索する。文字列に含まれるコードが、工作機械指令コード一覧342に含まれるコードに一致する場合、指令判別部39は、文字列が工作機械70への指令であると判定する。
文字列が工作機械70への指令である場合(ステップS3,Yes)、ステップS4において、指令判別部39は、工作機械70への指令であることを示す判別結果を保持する。すなわち、指令判別部39は、工作機械70への指令であることを示す判別結果を一時的に記憶する。ステップS4を終えると、指令判別部39は、ステップS7へ手順を進める。
一方、文字列が工作機械70への指令ではない場合(ステップS3,No)、ステップS5において、指令判別部39は、ステップS2において取得された文字列がロボット60への指令であるか否かを判定する。指令判別部39は、文字列に含まれるコードをロボット指令コード一覧343の各コードと照合し、文字列に含まれるコードに一致するコードをロボット指令コード一覧343において検索する。文字列に含まれるコードが、ロボット指令コード一覧343に含まれるコードに一致する場合、指令判別部39は、文字列がロボット60への指令であると判定する。
文字列がロボット60への指令である場合(ステップS5,Yes)、ステップS6において、指令判別部39は、ロボット60への指令であることを示す判別結果を保持する。すなわち、指令判別部39は、ロボット60への指令であることを示す判別結果を一時的に記憶する。ステップS6を終えると、指令判別部39は、ステップS7へ手順を進める。
一方、文字列がロボット60への指令ではない場合(ステップS5,No)、指令判別部39は、ステップS2において取得された文字列について、前回の入力操作の際における判別結果を踏襲させる。指令判別部39は、ステップS7へ手順を進める。
ステップS7において、指令判別部39は、指令文字列エリア3411に文字列を格納する。ステップS8において、指令判別部39は、文字列に判別結果を紐付けて、判別結果エリア3412に判別結果を格納する。指令判別部39は、ステップS4において一時的に記憶された判別結果、または、ステップS6において一時的に記憶された判別結果を文字列に紐付ける。指令判別部39は、ステップS4において一時的に記憶された判別結果、または、ステップS6において一時的に記憶された判別結果を判別結果エリア3412に格納する。これにより、指令判別部39は、今回の判別結果を保存する。以上により、指令判別部39は、図5に示す手順による動作を終了する。
次に、上述する機能を実現するための画面処理部31の動作手順について説明する。図6は、実施の形態1にかかる数値制御装置1Xの画面処理部31による動作の手順を示すフローチャートである。図6には、指令である1つの行が入力された後に入力確定キーが押下されたときの動作手順を示す。
ステップS11において、画面処理部31は、指令文字列エリア3411から一行の文字列を取得する。ステップS12において、画面処理部31は、ステップS11において取得された文字列に紐付けられている判別結果を、判別結果エリア3412から取得する。
ステップS13において、画面処理部31は、ステップS11において取得された文字列が、工作機械70への指令であるか否かを判定する。画面処理部31は、ステップS12において取得された判別結果に基づいて、文字列が工作機械70への指令であるか否かを判定する。
文字列が工作機械70への指令である場合(ステップS13,Yes)、ステップS14において、画面処理部31は、文字列の表示色を、工作機械70の専用色である第2の表示色へ変更する。また、ステップS15において、画面処理部31は、工作機械70のプログラムの表示領域310に文字列を再配置する。表示領域310の位置は、NCプログラムが表示される領域のうち下部に設定される。ステップS15を終えると、画面処理部31は、ステップS18へ手順を進める。
一方、文字列が工作機械70への指令ではない場合(ステップS13,No)、ステップS16において、画面処理部31は、文字列の表示色を、ロボット60の専用色である第1の表示色へ変更する。また、ステップS17において、画面処理部31は、ロボット60のプログラムの表示領域300に文字列を再配置する。表示領域300の位置は、NCプログラムが表示される領域のうち上部に設定される。ステップS17を終えると、画面処理部31は、ステップS18へ手順を進める。
ステップS18において、画面処理部31は、表示部4に表示される画面を更新する。ステップS19において、画面処理部31は、プログラム記憶エリア341に格納されているNCプログラムのうち最終行の処理が終了したか否かを判定する。最終行の処理が終了していない場合(ステップS19,No)、画面処理部31は、手順をステップS11へ戻し、次の一行の文字列を取得する。画面処理部31は、ステップS11からステップS19までの手順を繰り返す。一方、最終行の処理が終了した場合(ステップS19,Yes)、画面処理部31は、図6に示す手順による動作を終了する。
なお、実施の形態1では、数値制御装置1Xに加工プログラム作成装置の機能が備えられる例について説明した。すなわち、実施の形態1では、数値制御装置1Xが加工プログラム作成装置として機能する。加工プログラム作成装置は、数値制御装置1Xにより実現されるものに限られず、数値制御装置1Xとは別の装置によって実現されても良い。この場合、加工プログラム作成装置によって作成されたNCプログラムが数値制御装置1Xへ入力される。数値制御装置1Xは、入力されたNCプログラムに基づいて工作機械70とロボット60とを制御する。
実施の形態1によると、加工プログラム作成装置は、工作機械70への指令とロボット60への指令とを判別し、判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する。以上により、加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械70への指令とロボット60への指令とをユーザが容易に確認できるという効果を奏する。
実施の形態1によると、工作機械70への指令とロボット60への指令とを区別して認識し易いため、例えば、工作機械70とロボット60とが並列に動作する場合であって、工作機械70とロボット60とに特定のタイミングで待ち合わせの処理を実行させたい場合に、工作機械70およびロボット60の各々における並列動作の終端を容易に探すことができる。
なお、実施の形態1では、表示領域300または表示領域310に各指令を再配置するとしたが、加工プログラム作成装置は、再配置させた状態から時系列の状態に各指令を戻せるように構成されても良い。その場合、工作機械70への指令とロボット60への指令とを区別させるだけの場合に比べ、加工プログラムを作成または編集等する際のユーザの利便性がさらに向上する。
実施の形態2.
実施の形態2では、ユーザがNCプログラムの一行を入力している途中において、入力される指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別する例について説明する。実施の形態2にかかる加工プログラム作成装置は、実施の形態1にかかる加工プログラム作成装置と同様に、図2に示す数値制御装置1Xにより実現されるものとする。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる動作について主に説明する。
指令判別部39は、文字列が入力される途中において、文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを、入力された文字に基づいて判別する。例えば、指令判別部39は、図3に示す行301が入力される際に、「G1001」の文字列のうち最後の「1」が入力されたタイミングで、入力されている指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。指令判別部39は、「G1001」がロボット指令コード一覧343にあるコードであることから、行301である指令はロボット60への指令であるものと判定する。
画面処理部31は、行301についての判別結果を基に、入力の途中である行301を表示領域300に再配置する。これにより、ユーザは、指令の入力が確定される前に、入力の途中である行301が工作機械70への指令とロボット60への指令とのいずれであるかを容易に確認することができる。
次に、上述する機能を実現するための指令判別部39の動作手順について説明する。図7は、実施の形態2にかかる数値制御装置1Xの指令判別部39による動作の手順を示すフローチャートである。図7には、指令である1つの行の文字列が入力されるときにおける動作手順を示す。
1つの行の入力が開始されるときに、ステップS21において、指令判別部39は、判別結果を初期化する。指令判別部39は、今回の判別結果へ前回の判別結果を代入することにより、初期化を行う。なお、数値制御装置1Xが起動した際には、前回の判別結果は、工作機械70への指令であることを示す判別結果であるものとして初期化が行われる。
ステップS22において、指令判別部39は、ユーザにより数値制御装置1Xへ入力されている文字列の文字を取得する。ステップS23において、指令判別部39は、ステップS22において取得された文字を、指令判別部39の内部のバッファに追加する。指令判別部39は、例えば、コードの文字列のうち最後の1文字が取得されるまで、文字の取得とバッファへの文字の追加とを繰り返す。指令判別部39は、コードの文字列のうち最後の1文字をバッファへ追加すると、手順をステップS24へ進める。
ステップS24において、指令判別部39は、バッファ内の文字列が、工作機械70への指令であるか否かを判定する。指令判別部39は、図5に示すステップS3の場合と同様に、文字列が、工作機械70への指令であるか否かを判定する。文字列が工作機械70への指令である場合(ステップS24,Yes)、ステップS25において、指令判別部39は、工作機械70への指令であることを示す判別結果を保持する。ステップS25を終えると、指令判別部39は、ステップS28へ手順を進める。
一方、文字列が工作機械70への指令ではない場合(ステップS24,No)、ステップS26において、指令判別部39は、バッファ内の文字列が、ロボット60への指令であるか否かを判定する。指令判別部39は、図5に示すステップS5の場合と同様に、文字列が、ロボット60への指令であるか否かを判定する。文字列がロボット60への指令である場合(ステップS26,Yes)、ステップS27において、指令判別部39は、ロボット60への指令であることを示す判別結果を保持する。ステップS27を終えると、指令判別部39は、ステップS28へ手順を進める。
一方、文字列がロボット60への指令ではない場合(ステップS26,No)、指令判別部39は、バッファ内の文字列について、前回の入力操作の際における判別結果を踏襲させる。指令判別部39は、ステップS28へ手順を進める。ステップS28およびステップS29は、図5に示すステップS7およびステップS8と同様である。ステップS29を終えると、指令判別部39は、図7に示す手順による動作を終了する。なお、実施の形態2において、画面処理部31の動作手順は、図6に示す動作手順と同様であるものとする。
なお、上記説明では、指令判別部39は、コードの文字列のうち最後の1文字が取得されたときに、バッファ内の文字列が工作機械70への指令とロボット60への指令とのいずれであるかを判別することとした。指令判別部39は、コードの文字列のうち最後の1文字が取得されるよりも前にバッファ内の文字列が工作機械70への指令とロボット60への指令とのいずれであるかを判別可能である場合は、当該最後の1文字が取得されるよりも前に、バッファ内の文字列が工作機械70への指令とロボット60への指令とのいずれであるかを判別しても良い。
実施の形態2では、数値制御装置1Xが加工プログラム作成装置として機能するものとしたが、加工プログラム作成装置は、数値制御装置1Xにより実現されるものに限られない。加工プログラム作成装置は、数値制御装置1Xとは別の装置によって実現されても良い。
実施の形態2によると、加工プログラム作成装置は、入力される指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別する。加工プログラム作成装置は、判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する。以上により、加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械70への指令とロボット60への指令とをユーザが容易に確認できるという効果を奏する。なお、加工プログラム作成装置は、表示領域300または表示領域310に各指令を再配置させた状態から時系列の状態に各指令を戻せるように構成されても良い。
実施の形態3.
実施の形態1では、図3および図4に示すように、ロボット60への指令を表示する領域と工作機械70への指令を表示する領域とを画面の縦方向に並べることによって、ロボット60への指令と工作機械70への指令とを分けて表示した。実施の形態3では、ロボット60への指令を表示する領域と工作機械70への指令を表示する領域とを画面の横方向に並べることによって、ロボット60への指令と工作機械70への指令とを分けて表示する例について説明する。
実施の形態3にかかる加工プログラム作成装置は、実施の形態1にかかる加工プログラム作成装置と同様に、図2に示す数値制御装置1Xにより実現されるものとする。実施の形態3では、上記の実施の形態1または2と同一の構成要素には同一の符号を付し、実施の形態1または2とは異なる動作について主に説明する。
図8は、実施の形態3にかかる数値制御装置1Xによって表示される画面の例を示す第1の図である。図8には、NCプログラムの編集が行われている際における画面の例を示す。実施の形態3において、画面処理部31は、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを画面の横方向へ並べることによって、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを互いに分けて表示する。
図8に示す画面において、ロボット60への指令が表示される表示領域320は、NCプログラムが表示される領域のうち右部に配置される。図8に示す画面において、工作機械70への指令が表示される表示領域330は、NCプログラムが表示される領域のうち左部に配置される。このように、表示領域320と表示領域330とは、画面の横方向に並べられる。
また、図8に示す例では、実施の形態1の場合と同様に、ロボット60への指令である文字列の各文字は、第2の表示色である緑色で表示される。工作機械70への指令である文字列の各文字は、第1の表示色である青色で表示される。表示領域320における各行の文字列は緑色で表示され、表示領域330における各行の文字列は青色で表示される。
図8に示す行331は、今回の入力操作によって入力された行とする。行331は、「G91」と「G28」とを含む指令である。図8には、行331が入力され、かつ、行331の入力が確定される直前の状態を示す。前回の入力操作では、表示領域320の最後の一行、すなわちロボット60への指令である行が入力され、かつ当該行の入力が確定されたとする。
今回の入力操作が行われる行の位置は、前回の入力操作における判別結果を踏襲した位置とされる。図8に示す例では、前回の入力操作により入力された指令はロボット60への指令と判定されているため、行331が入力される際における行331の位置は、表示領域320の最後の一行の下の位置とされる。また、行331の入力が確定される前には、行331の各文字は、第1の表示色および第2の表示色以外の色で表示される。実施の形態1の場合と同様に、入力が確定される前の各文字は、例えば黒色で表示されるものとする。
図9は、実施の形態3にかかる数値制御装置1Xによって表示される画面の例を示す第2の図である。図9には、図8に示す状態から入力確定キーが押下されたときにおける画面を示す。
指令判別部39は、行331の入力後、入力確定キーが押下されたときに、行331である指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。ここで、「G28」は、工作機械70への指令に使用されるコードとする。指令判別部39は、「G28」が工作機械指令コード一覧342にあるコードであることから、行331である指令は工作機械70への指令であるものと判定する。
指令判別部39は、工作機械70への指令であることを示す判別結果を、行331である指令に紐付ける。指令判別部39は、行331である指令を指令文字列エリア3411に格納する。指令判別部39は、行331である指令に紐付けられた判別結果を、判別結果エリア3412に格納する。
画面処理部31は、行331についての判別結果を基に、行331を表示領域330に再配置する。すなわち、画面処理部31は、表示領域330の最後の一行の下に行331を移動させる。また、画面処理部31は、行331の文字の色を、黒色から青色へ変化させる。これにより、画面は、図8に示す状態から図9に示す状態へ遷移する。
画面処理部31は、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とを分けることによって、工作機械70への指令とロボット60への指令とを区別して表示する。工作機械70への指令を表示する領域とロボット60への指令を表示する領域とが分けられることによって、ユーザは、画面上で加工プログラムを作成または編集等する際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。また、工作機械70への指令の表示色とロボット60への指令の表示色とが互いに異なることによって、ユーザは、画面を見る際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
さらに、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とが横方向へ並べられることによって、ユーザは、工作機械70とロボット60の時間的な同期関係を容易に理解することが可能となる。
なお、実施の形態3において、上述する機能を実現するための指令判別部39の動作手順は、図5に示す動作手順と同様であるものとする。上述する機能を実現するための画面処理部31の動作手順は、NCプログラムが表示される領域のうち右部に表示領域320の位置が設定され、かつ、NCプログラムが表示される領域のうち左部に表示領域330の位置が設定される点を除いて、図6に示す動作手順と同様であるものとする。
図8および図9に示す例では、画面において、ロボット60への指令が表示される表示領域320が右部に配置され、工作機械70への指令が表示される表示領域330が左部に配置されることとしたが、表示領域320,330の配置はこれに限られない。工作機械70への指令が表示される表示領域330が右部に配置され、ロボット60への指令が表示される表示領域320が左部に配置されても良い。
実施の形態3では、指令判別部39は、実施の形態1の場合と同様に、一行の文字列が入力され、かつ入力が確定されたときに、入力された指令の判別を行うこととした。実施の形態3において、指令判別部39は、実施の形態2の場合と同様に、一行の文字列が入力されている途中において、入力されている指令の判別を行うこととしても良い。
実施の形態3では、数値制御装置1Xが加工プログラム作成装置として機能するものとしたが、加工プログラム作成装置は、数値制御装置1Xにより実現されるものに限られない。加工プログラム作成装置は、数値制御装置1Xとは別の装置によって実現されても良い。
実施の形態3によると、加工プログラム作成装置は、工作機械70への指令とロボット60への指令とを判別し、判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する。加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械70への指令とロボット60への指令とをユーザが容易に確認できる。また、実施の形態3によると、加工プログラム作成装置は、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とが横方向へ並べられることによって、ユーザは、工作機械70とロボット60の時間的な同期関係を容易に確認することが可能となる。なお、加工プログラム作成装置は、表示領域320または表示領域330に各指令を再配置させた状態から時系列の状態に各指令を戻せるように構成されても良い。
次に、実施の形態1から3にかかる制御演算部2Xを実現するハードウェアについて説明する。制御演算部2Xは、加工プログラム作成装置が備える処理部である。制御演算部2Xは、処理回路により実現される。処理回路は、プロセッサがソフトウェアを実行する回路であっても良いし、専用の回路であっても良い。
処理回路がソフトウェアにより実現される場合、処理回路は、例えば、図10に示す制御回路である。図10は、実施の形態1から3にかかる制御回路200の構成例を示す図である。制御回路200は、入力部201、プロセッサ202、メモリ203および出力部204を備える。入力部201は、制御回路200の外部から入力されたデータを受信してプロセッサ202に与えるインターフェース回路である。出力部204は、プロセッサ202またはメモリ203からのデータを制御回路200の外部に送るインターフェース回路である。
処理回路が図10に示す制御回路200である場合、制御演算部2Xは、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ203に格納される。処理回路では、メモリ203に記憶されたプログラムをプロセッサ202が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、加工プログラム作成装置の処理が結果的に実行されることになるプログラムを格納するためのメモリ203を備える。また、これらのプログラムは、加工プログラム作成装置の手順および方法をコンピュータに実行させるものであるともいえる。
プロセッサ202は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはDSP(Digital Signal Processor)ともいう)である。メモリ203は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disc)等が該当する。
図10は、汎用のプロセッサ202およびメモリ203により各構成要素を実現する場合のハードウェアの例であるが、各構成要素は、専用のハードウェア回路により実現されても良い。図11は、実施の形態1から3にかかる専用のハードウェア回路205の構成例を示す図である。
専用のハードウェア回路205は、入力部201、出力部204および処理回路206を備える。処理回路206は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路である。制御演算部2Xの各機能を機能別に処理回路206で実現しても良いし、各機能をまとめて処理回路206で実現しても良い。なお、各構成要素は、制御回路200とハードウェア回路205とが組み合わされて実現されても良い。
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
1X 数値制御装置、2X 制御演算部、3X 入力操作部、4 表示部、5 PLC操作部、6 CNCユニット、31 画面処理部、32 入力制御部、34 記憶部、35X 制御信号処理部、36 PLC、37 解析処理部、38 補間処理部、39 指令判別部、41X ロボット制御部、50X ロボットコントローラ、60 ロボット、61 ロボットハンド、70 工作機械、90 駆動部、91 X軸サーボ制御部、92 Z軸サーボ制御部、93 主軸サーボ制御部、97,98,99 検出器、100A 制御システム、200 制御回路、201 入力部、202 プロセッサ、203 メモリ、204 出力部、205 ハードウェア回路、206 処理回路、300,310,320,330 表示領域、301,331 行、341 プログラム記憶エリア、342 工作機械指令コード一覧、343 ロボット指令コード一覧、344 表示データ記憶エリア、345 共有エリア、371 ロボット指令解析部、381 ロボット指令待ち合わせ部、413 NC指令待ち合わせ部、414 プログラム変換部、415 ロボットプログラムバッファ、901,902 サーボモータ、911 主軸モータ、3411 指令文字列エリア、3412 判別結果エリア。

Claims (9)

  1. 工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成装置であって、
    入力操作により入力された文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを判別し、判別結果が紐付けられた前記文字列を格納する指令判別部と、
    前記判別結果に基づいて、前記工作機械への指令と前記ロボットへの指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う画面処理部と、
    を備えることを特徴とする加工プログラム作成装置。
  2. 前記指令判別部は、前記文字列の入力が確定されたときに、入力された前記文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを判別することを特徴とする請求項1に記載の加工プログラム作成装置。
  3. 前記指令判別部は、前記文字列が入力される途中において、前記文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを、入力された文字に基づいて判別することを特徴とする請求項1に記載の加工プログラム作成装置。
  4. 前記画面処理部は、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを前記画面の縦方向へ並べることによって、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを互いに分けて表示することを特徴とする請求項1から3のいずれか1つに記載の加工プログラム作成装置。
  5. 前記画面処理部は、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを前記画面の横方向へ並べることによって、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを互いに分けて表示することを特徴とする請求項1から3のいずれか1つに記載の加工プログラム作成装置。
  6. 前記画面処理部は、前記工作機械への指令である文字列の表示色と、前記ロボットへの指令である文字列の表示色とを互いに異ならせることを特徴とする請求項1からのいずれか1つに記載の加工プログラム作成装置。
  7. 前記画面処理部は、前記工作機械への指令である文字列の表示色と、前記ロボットへの指令である文字列の表示色とを互いに異ならせることを特徴とする請求項4に記載の加工プログラム作成装置。
  8. 前記画面処理部は、前記工作機械への指令である文字列の表示色と、前記ロボットへの指令である文字列の表示色とを互いに異ならせることを特徴とする請求項5に記載の加工プログラム作成装置。
  9. 工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成方法であって、
    入力操作により入力された文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを判別し、判別結果が紐付けられた前記文字列を格納するステップと、
    前記判別結果に基づいて、前記工作機械への指令と前記ロボットへの指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行うステップと、
    を含むことを特徴とする加工プログラム作成方法。
JP2022557794A 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法 Active JP7183488B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023357 WO2023238346A1 (ja) 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法

Publications (3)

Publication Number Publication Date
JP7183488B1 true JP7183488B1 (ja) 2022-12-05
JPWO2023238346A1 JPWO2023238346A1 (ja) 2023-12-14
JPWO2023238346A5 JPWO2023238346A5 (ja) 2024-05-20

Family

ID=84321875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022557794A Active JP7183488B1 (ja) 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法

Country Status (4)

Country Link
JP (1) JP7183488B1 (ja)
CN (1) CN118159920A (ja)
DE (1) DE112022005085T5 (ja)
WO (1) WO2023238346A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5822412A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
JPH02277127A (ja) * 1989-04-12 1990-11-13 Hitachi Ltd 画面編集方法とそれを用いるビジュアルプログラミング方法
JPH0651821A (ja) * 1992-01-10 1994-02-25 Nec Corp Nc加工機の加工時間予測方法および装置
JPH11345005A (ja) * 1998-05-29 1999-12-14 Toyoda Mach Works Ltd 工作機械制御システム
JP2014241018A (ja) * 2013-06-11 2014-12-25 ファナック株式会社 工作機械とロボットを制御する制御装置
JP5822412B1 (ja) 2014-10-17 2015-11-24 株式会社山本弘商店 帯状物を表組織の緯糸に用いた織物
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
WO2022097719A1 (ja) * 2020-11-09 2022-05-12 ファナック株式会社 数値制御システム及び産業機械の制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5822412A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
JPH02277127A (ja) * 1989-04-12 1990-11-13 Hitachi Ltd 画面編集方法とそれを用いるビジュアルプログラミング方法
JPH0651821A (ja) * 1992-01-10 1994-02-25 Nec Corp Nc加工機の加工時間予測方法および装置
JPH11345005A (ja) * 1998-05-29 1999-12-14 Toyoda Mach Works Ltd 工作機械制御システム
JP2014241018A (ja) * 2013-06-11 2014-12-25 ファナック株式会社 工作機械とロボットを制御する制御装置
JP5822412B1 (ja) 2014-10-17 2015-11-24 株式会社山本弘商店 帯状物を表組織の緯糸に用いた織物
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
WO2022097719A1 (ja) * 2020-11-09 2022-05-12 ファナック株式会社 数値制御システム及び産業機械の制御方法

Also Published As

Publication number Publication date
WO2023238346A1 (ja) 2023-12-14
DE112022005085T5 (de) 2024-08-08
JPWO2023238346A1 (ja) 2023-12-14
CN118159920A (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
JP6647472B1 (ja) 数値制御装置および数値制御方法
US9483043B2 (en) Method and system for programmable numerical control
JP4680176B2 (ja) 工作機械の制御方法、および、それに対する装置
US10379523B2 (en) Machining program editing assist apparatus
JP5817256B2 (ja) 機械制御プログラム作成装置
JPWO2003067345A1 (ja) 数値制御方法及び数値制御システム
JP2007219830A (ja) 数値制御装置
WO2016157395A1 (ja) 数値制御装置
WO2004083975A1 (ja) 数値制御システム
JPS59172013A (ja) 数値制御装置の刃物台同期方式
JP5456208B1 (ja) 数値制御装置
JP7183488B1 (ja) 加工プログラム作成装置および加工プログラム作成方法
JP5862236B2 (ja) 制御プログラム編集装置及び制御プログラムの作成支援プログラム
JP4112433B2 (ja) 工作機械の数値制御装置と工作機械の数値制御方法
JPH0498301A (ja) 数値制御工作機械および数値制御装置
JP7412664B1 (ja) 数値制御装置および数値制御方法
JP7135225B1 (ja) 工作機械、制御方法、および制御プログラム
JPH04237307A (ja) 工作機械における座標軸自動変換方法
JP2024134563A (ja) 工作機械
KR19980083294A (ko) 수치제어기의 그래픽 지-코드 편집방법
JPS62204310A (ja) 加工プログラムの編集方式
CN118525254A (zh) 信息生成装置和计算机可读取的存储介质
JP3641285B2 (ja) 対話型生爪成形装置
JP2001159906A (ja) Nc加工装置
JPH0611948U (ja) 数値制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220922

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221122

R150 Certificate of patent or registration of utility model

Ref document number: 7183488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150