【解決手段】工作機械1は、ワークWを搬送するローダ装置10と、ワークWを加工する加工装置20とがプログラム32a,32bに基づいて動作する。工作機械1の一部に備えたプログラム編集装置40は、プログラム32a,32bを表示領域110に表示する表示部41と、表示領域110近傍のボタン191〜193の選択操作に応じて、表示領域110に表示されたプログラム32a,32b内の範囲を指定する指定部42aと、表示領域110近傍の編集ボタン187の選択操作に応じて、指定部42aで指定された範囲内の制御コードを非制御コード化し、または範囲内の非制御コードを制御コード化する編集部42bと、を含んでいる。
前記編集部は、前記範囲内の制御コードまたは非制御コードが複数のワードで構成されている場合、前記制御コードを非制御コード化する際に前記複数のワード間のスペースを削除し、または前記非制御コードを制御コード化する際に前記複数のワード間にスペースを挿入することを特徴とする請求項1に記載の工作機械。
前記指定部は、前記作業者の操作に応じてカーソルを開始位置から終了位置まで移動させることで前記範囲を指定することを特徴とする請求項1または請求項2に記載の工作機械。
前記指定部は、非制御コードの規約に基づいて非制御コードの開始位置及び終了位置を自動的に認識し、認識した前記開始位置及び前記終了位置に基づいて前記範囲を指定することを特徴とする請求項1〜請求項3のうちいずれか1項に記載の工作機械。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について図面を参照しながら説明する。ただし、本発明はこれに限定されるものではない。また、図面においては実施形態を説明するため、一部分を大きくまたは強調して記載するなど適宜縮尺を変更して表現している。以下の各図において、XYZ座標系を用いて図中の方向を説明する。このXYZ座標系においては、水平面に平行な平面をXZ平面とする。このXZ平面に平行な主軸(後述する主軸21,22)の方向をZ方向と表記し、Z方向に直交する方向(ワークWに対する切削量を規定する方向)をX方向と表記する。また、XZ平面に垂直な方向はY方向と表記する。X方向、Y方向及びZ方向のそれぞれは、図中の矢印の方向が+方向であり、矢印の方向とは反対の方向が−方向であるものとして説明する。
【0017】
図1(a)及び(b)は、実施形態に係る工作機械1の一例を示す図である。
図1(a)は、工作機械1を+Z側から見たときの例を示している。
図1(b)は、工作機械1を+Y側から見たときの例を示している。この工作機械1は、例えば平行2軸旋盤である。
図1において、工作機械1の+Z側が正面であり、−Z側が背面である。また、工作機械1の±X側は側面であり、X方向は工作機械1の左右方向である。
図1(a)及び(b)に示すように、工作機械1は、ローダ装置10と、加工装置20、制御装置30と、コントローラ(プログラム編集装置)40と、を備えている。
【0018】
ローダ装置10は、ワーク保持部11と、ローダ駆動部13とを備えている。ローダ装置10は、例えば、後述する主軸21,22とワーク搬入部25との間の搬送経路TにおいてワークWを搬送する。ワーク保持部11は、ワークWを複数の把持爪によって把持するローダチャック12を有している。ローダチャック12は、例えば、ワークWを把持して−Y方向に向けた姿勢と、−Z方向に向けた姿勢(後述する主軸21,22にワークWを向けた姿勢)とに移動可能に形成される。なお、ローダ装置10は、複数のローダチャック12が形成されてもよい。
【0019】
ローダ駆動部13は、X駆動部14と、Z駆動部15と、Y駆動部16とを有している。X駆動部14は、不図示の駆動源により、X移動体14aをガイドレール14bに沿ってX方向に移動可能に構成している。Z駆動部15は、X移動体14aに形成され、不図示の駆動源により、Z移動体15aを不図示のガイド部に沿ってZ方向に移動可能に構成している。Y駆動部16は、Z移動体15aに形成され、不図示の駆動源により、Y移動体16aをガイド部16bに沿ってY方向に移動可能に構成している。
【0020】
ワーク保持部11は、Y移動体16aの下部に形成される。ワーク保持部11のローダチャック12により把持したワークWは、X駆動部14、Z駆動部15、及びY駆動部16がそれぞれ駆動することにより、X〜Z方向またはこれらを合成した方向に搬送される。以上のように構成されるローダ装置10の駆動は、後述する制御装置30によって制御される。
【0021】
加工装置20は、主軸21,22と、タレット23,24と、ワーク搬入部25とを有している。主軸21,22は、X方向に並んで配置され、それぞれ不図示の駆動装置によって中心軸AX1,AX2まわりに回転する。主軸21,22の+Z側の端部には、それぞれワークWを把持可能な複数の把握爪21a,22aが設けられている。タレット23は、主軸21の−X側に配置されている。タレット24は、主軸22の+X側に配置されている。
【0022】
タレット23,24は、それぞれ不図示の駆動装置によって、Z方向に平行な軸まわりに回転する。また、タレット23,24の周面には、不図示の複数の切削工具が保持されており、タレット23,24を回転させることにより、所望の切削工具が選択される。切削工具としては、ワークWに対して切削加工を施すバイト等の他、ドリルやエンドミル等の回転工具が用いられてもよい。また、タレット23,24は、不図示の駆動装置により、ワークWに対して例えばX方向、Y方向、及びZ方向、またはこれらを合成した方向に移動可能となっている。ただし、主軸21,22やタレット23,24は2つであることに限定されず、例えば主軸及びタレットのいずれか一方または双方が1つあってもよい。
【0023】
ワーク搬入部25には、加工対象であるワークWが載置される。ワーク搬入部25としては、例えば固定台が用いられるが、これに限定されるものではなく、コンベアやロータリー式の載置台などが用いられてもよい。なお、ワーク搬入部25は、ワークWの搬出部を兼ねてもよく、この搬出部をワーク搬入部25と異なる部分に配置してもよい。以上のように構成される加工装置20の駆動は、後述する制御装置30によって制御される。
【0024】
制御装置30は、所定のプログラムに基づいてローダ装置10や加工装置20の動作を統括的に制御する。なお、制御装置30は、有線または無線を介して上位制御装置50に接続されてもよい。制御装置30は、上位制御装置50の記憶部に記憶されたプログラムに基づいてローダ装置10や加工装置20の動作を制御してもよい。
【0025】
コントローラ40は、作業者(オペレータ)により操作される工作機械1の操作装置である。コントローラ40は、制御装置30に有線または無線を介して接続されている。コントローラ40は、ローダ装置10や加工装置20を囲むように配置されたパネルPLに保持される。コントローラ40は、各種スイッチを備えるとともに、液晶ディスプレイのような表示部(
図2参照)を備えている。コントローラ40は、例えば作業者によるプログラムの切り替えや制御装置30の各種設定などの操作(入力)に用いられる。また、コントローラ40は、作業者によるプログラムの編集の操作(入力)にも用いられる。
【0026】
図2は、
図1に示す制御装置30及びコントローラ40の構成を示すブロック図である。
図2に示すように、制御装置30は、CPU(Central Processing Unit )などの演算装置31及び第1記憶部32を有している。演算装置31は、第1記憶部32に記憶されている第1プログラム32a(ローダプログラム)に基づいてローダ装置10の動作を制御するとともに、第1記憶部32に記憶されている第2プログラム32b(NCプログラム;Numerical Controlプログラム)に基づいて加工装置20の動作を制御する。第1記憶部32は、第1プログラム32a及び第2プログラム32bを記憶するほかに、ローダ装置10や加工装置20の制御に必要な各種情報を記憶する。なお、ローダ装置10の動作を制御する第1プログラム32aと加工装置20の動作を制御する第2プログラム32bは異なるプログラム言語で作成されている。以下の説明においては、第1プログラム32aと第2プログラム32bとを総称する場合は単にプログラムという。
【0027】
コントローラ40は、表示部41、制御部42、及び第2記憶部43を備えている。表示部41は、液晶表示パネルなどで構成された表示画面41aと、この表示画面41a上に形成されたタッチパネル41bとを備えている。表示画面41aは、プログラムを表示するとともに、作業者によって選択(押下)されるボタンやキーの画像を表示する。タッチパネル41bは、作業者がプログラムの編集などを行う際に、作業者が触れた位置を示す信号を制御部42に出力する。
【0028】
制御部42は、コントローラ40の制御全般を司る処理部である。
図2に示すように、制御部42は、指定部42a及び編集部42bを有している。指定部42aは、作業者によるボタンやキーの画像の選択操作に応じて、表示画面41aに表示されたプログラムの範囲を指定する処理を行う。編集部42bは、作業者によるボタンの画像の選択操作に応じて、指定部42aで指定された範囲内の制御コードを非制御コード化し、または指定部42aで指定された範囲内の非制御コードを制御コード化する処理を行う。なお、制御部42(指定部42a及び編集部42b)は、タッチパネル41bからの信号に基づいて作業者が選択(押下)した画像の位置を認識することにより、作業者が選択したボタンを認識する。
【0029】
ここで、非制御コードは、プログラム内においてローダ装置10や加工装置20の制御とは無関係な文字(キャラクタ)または文字列のことをいう。すなわち、非制御コードは、制御装置30の演算装置31に読み込まれない文字または文字列である。また、制御コードは、プログラム内において非制御コード以外の文字または文字列のことをいう。すなわち、制御コードは、制御装置30の演算装置31に読み込まれる文字または文字列である。
【0030】
制御コードとしては、プログラム名、変数、シーケンス番号、命令コードなどが含まれる。命令コードは、ローダ装置10や加工装置20に対して動作を実行させるための文字または文字列である。例えば第2プログラム32b(NCプログラム)の場合、命令コードはM,S,Gなどのアルファベットと数字との組合せで構成される。具体的には、「M03」は主軸を時計回りに回転させる制御を指示する命令コードである。また、「M05」は主軸を停止させる制御を指示する命令コードである。
【0031】
非制御コードのことをコメント(注釈)という。作業者はプログラムの中に非制御コードとしてのコメントを入れることができる。例えば、作業者はプログラムの説明や、プログラム内の処理の説明などをコメントとして書き込む。このコメントは、制御コードと区別するために、制御装置30固有の規約に基づいて書き込まれる。本実施形態においては、コメントは丸括弧‘()’で括られる。
【0032】
また、作業者は制御コードをテスト的に消去し、消去した制御コードを履歴として残したい場合に、既存の制御コードをコメントに変換する。また、作業者は現在使用しない制御コードを無効化する場合にも、既存の制御コードをコメントに変換する。制御コードを非制御コードに変換することを非制御コード化という。本実施形態においては、非制御コード化のことをコメント化と表現する。また、作業者は非制御コードを制御コードに変換することも可能である。非制御コードを制御コードに変換することを制御コード化という。本実施形態においては、制御コード化のことをコメント解除(または非コメント化、コメント復元ともいう。)と表現する。
【0033】
図2の説明に戻り、第2記憶部43は、制御部42に処理または制御を実行させるための制御プログラム43aや各種情報を記憶する。なお、制御部42はCPUなどの演算装置を有し、制御部42の演算装置が制御プログラム43aに基づいて実行する処理または制御が制御部42の各部の構成(指定部42a及び編集部42b)に相当する。
【0034】
図3は、
図2に示す表示部41の表示画面41aの表示例を示す図である。
図3に示すように、表示画面41aの左側には、プログラム(第1プログラム32a、第2プログラム32b)を表示するプログラム表示領域(表示領域)110が設けられている。
図3に示す例では、プログラム表示領域110には第1プログラム32a(ローダプログラム)の具体例が表示されている。ここで、丸括弧で括られた文字列がコメント(非制御コード)である。例えば、(♯9 ESCAPE)は、♯9にエスケープするという覚え書きのためのコメントである。また、プログラム内の行の先頭からセミコロン‘;’までをブロックという。つまり、ブロックは1行分のプログラムである。また、アルファベットと数字との組合せからなる1つの命令コードをワードという。このワードがプログラムの最小単位となる。なお、プログラム表示領域110内にはカーソル200が表示される。
【0035】
また、表示画面41aの右側の上部には、作業者がプログラム表示領域110に書き込む文字(アルファベット、数字、記号など)を入力するための入力欄であるキーインバッファ部120が設けられている。また、キーインバッファ部120の下には、プログラム表示領域110の表示範囲(ページ)を上下にスクロール(移動)させるページキー131と、プログラム表示領域110上に表示されるカーソル200を上下及び左右に移動させるカーソルキー132と、プログラム表示領域110やカーソル200を元の位置に戻すリセットキー133とが設けられている。
【0036】
また、ページキー131、カーソルキー132、及びリセットキー133の下には、アルファベット(ローマ字)を入力するためのアルファベットキー141と、数字や演算記号(丸括弧、ドット、スラッシュなど)などを入力するためのテンキー151とが設けられている。また、アルファベットキー141及びテンキー151の下には、シフトキー161(SHIFTと表記しているキー)、キャンセルキー162(CANCELと表記しているキー)、インプットキー163(INPUTと表記しているキー)、オルトキー164(ALTERと表記しているキー)、インサートキー165(INSERTと表記しているキー)、及びデリートキー166(DELETEと表記しているキー)が設けられている。なお、シフトキー161、キャンセルキー162、インプットキー163、オルトキー164、インサートキー165、及びデリートキー166を総称して特殊キーという。
【0037】
また、表示画面41aの下部には、第1操作メニューボタン170mが設けられている。第1操作メニューボタン170mは、プログラム入力ボタン171及びプログラム編集開始ボタン172を含んでいる。プログラム入力ボタン171は、作業者がアルファベットキー141、テンキー151、及び特殊キー161〜166などを選択操作して、直接、命令コードなどの文字をプログラム内に入力する際に選択されるボタンである。プログラム編集開始ボタン172は、作業者の簡易な操作でプログラムの編集を実行させる処理を開始させるボタンである。
図3に示すように、作業者によってプログラム編集開始ボタン172が選択されると、第1操作メニューボタン170mに代えて第2操作メニューボタン180mが表示される。
【0038】
第2操作メニューボタン180mは、戻るボタン181、頭出しボタン182、行頭出しボタン183、範囲指定ボタン184、取消ボタン185、複製ボタン186、及びコメントON/OFFボタン(編集ボタン)187を含んでいる。戻るボタン181は、1つ前の表示状態すなわち第1操作メニューボタン170mに戻すためのボタンである。また、頭出しボタン182は、カーソル200の位置をプログラム表示領域110の表示範囲の先頭に移動させるボタンである。また、行頭出しボタン183は、カーソル200の位置をプログラム表示領域110のプログラムの行の先頭に移動させるボタンである。また、範囲指定ボタン184は、プログラム内の範囲をカーソル200で指定する処理を開始させるボタンである。
図3に示すように、作業者によって範囲指定ボタン184が選択されると、第2操作メニューボタン180mに代えて第3操作メニューボタン190mが表示される。
【0039】
取消ボタン185は、頭出しボタン182、行頭出しボタン183、範囲指定ボタン184、及び複製ボタン186の選択操作を取り消すためのボタンである。複製ボタン186は、カーソル200で指定された範囲の文字を複製(コピー)するためのボタンである。コメントON/OFFボタン187は、カーソル200で指定された範囲の制御コードをコメント化し、またカーソル200で指定された範囲の非制御コードをコメント解除するためのボタンである。
【0040】
第3操作メニューボタン190mは、戻るボタン181、開始ボタン191、終了ボタン192、取消ボタン193、及びコメントON/OFFボタン187を含んでいる。なお、戻るボタン181及びコメントON/OFFボタン187は、第2操作メニューボタン180mにおける戻るボタン181及びコメントON/OFFボタン187と同様の機能のボタンであるため、同一符号を付している。開始ボタン191は、カーソル200による範囲指定を開始させるためのボタンである。終了ボタン192は、カーソル200による範囲指定を終了させるためのボタンである。取消ボタン193は、カーソル200による範囲指定を取り消すためのボタンである。
【0041】
次に、上記の制御部42が実行する処理について説明する。
【0042】
図4及び
図5は、実施形態に係るプログラム編集処理を説明するためのフォローチャートである。また、
図6及び
図7は、作業者によるプログラム編集の作業手順を説明するための表示画面41aの表示例を示す図である。
図4及び
図5に示す処理において、制御部42は、表示部41の表示画面41aに
図3に示したキーやボタンの画像を表示するとともに、作業者による所定のボタンの操作に応じて編集対象のプログラムをプログラム表示領域110に表示する(ステップS1)。次に、制御部42は、作業者によりプログラム編集開始ボタン172が選択されたか否かを判定する(ステップS2)。制御部42は、作業者によりプログラム編集開始ボタン172が選択されたと判定した場合は(ステップS2のYES)、作業者の簡易な操作でプログラムの編集を実行させる処理(ステップS3〜S19)を実行する。
【0043】
なお、制御部42は、作業者によりプログラム入力ボタン171が選択されたと判定した場合は、作業者がキーインバッファ部120に入力した命令コードなどの文字をプログラム表示領域110のプログラム内に直接入力する処理を開始する。例えば、作業者は、「H90」というワードをコメント化したい場合は、アルファベットキー141やテンキー151などを操作してキーインバッファ部120に「(H90)」を入力する。そして、作業者がオルトキー164を選択操作すると、制御部42によってカーソル200の位置の「H90」が「(H90)」に上書きされる。
【0044】
指定部42aは、プログラム編集開始ボタン172が選択された場合(ステップS2のYES)、第1操作メニューボタン170mを第2操作メニューボタン180mに切り替えて表示する(ステップS3)。指定部42aは、作業者により範囲指定ボタン184が選択されたか否かを判定する(ステップS4)。指定部42aは、範囲指定ボタン184が選択されていないと判定した場合は(ステップS4のNO)、ステップS11の処理に移行する。一方、指定部42aは、範囲指定ボタン184が選択されたと判定した場合は(ステップS4のYES)、第2操作メニューボタン180mに切り替えて第3操作メニューボタン190mを表示する(ステップS5)。
【0045】
次に、指定部42aは、プログラム表示領域110内のカーソル200の位置がコメント(非制御コード)の開始位置つまり丸括弧‘(’、またはコメント(非制御コード)の終了位置つまり丸括弧‘)’であるか否かを判定する(ステップS6)。指定部42aは、カーソル200の位置がコメントの開始位置または終了位置であると判定した場合は(ステップS6のYES)、コメントの開始位置または終了位置に対応するコメントの終了位置または開始位置を認識する(ステップS7)。そして、指定部42aは、ステップS6,S7で認識したコメントの開始位置及び終了位置に基づいて自動的に範囲を指定する(ステップS8)。
【0046】
例えば、指定部42aは、カーソル200の位置がコメント(♯9 ESCAPE)の開始位置‘(’であると判定した場合は、開始位置‘(’に対応する終了位置‘)’を認識する。そして、指定部42aは、カーソル200の範囲を、開始位置‘(’から終了位置‘)’までの範囲に拡大し、カーソル200の範囲を指定範囲と設定する。このような構成によれば、指定部42aは、自動的に非制御コードの範囲を指定することができ、作業者の手間を軽減させることができる。
【0047】
また、指定部42aは、第3操作メニューボタン190mまたはカーソルキー132が選択されたか否かを判定する(ステップS9)。指定部42aは、第3操作メニューボタン190mまたはカーソルキー132が選択されたと判定した場合は(ステップS9のYES)、その選択された第3操作メニューボタン190mまたはカーソルキー132の操作に応じて範囲を指定する(ステップS10)。
【0048】
例えば、作業者は、カーソルキー132を操作してカーソル200の位置を所定の位置に移動させる。そして、作業者は、開始ボタン191を選択して範囲指定を開始させる。
図6に示す例では、作業者はカーソル200の位置を「H90」の位置に移動させ、開始ボタン191を選択している。また、作業者は、カーソルキー132を操作してカーソル200の位置を移動させる。そして、作業者は、終了ボタン192を選択して範囲指定を終了させる。
図6に示す例では、作業者はカーソル200の位置を「R♯1」の位置に移動させ、終了ボタン192を選択している。このような作業者の操作により、カーソル200の範囲が開始ボタン191が選択されたときのカーソル200の位置から終了ボタン192が選択されたときのカーソル200の位置まで拡大し、指定部42aによりカーソル200の範囲が指定範囲として設定される。
【0049】
次に、編集部42bは、作業者によりコメントON/OFFボタン187が選択されたか否かを判定する(ステップS11)。編集部42bは、コメントON/OFFボタン187が選択されていないと判定した場合は(ステップS11のNO)、処理を終了する。一方、編集部42bは、コメントON/OFFボタン187が選択されたと判定した場合は(ステップS11のYES)、指定部42aによりステップS8またはステップS10で指定された指定範囲内の制御コードをコメント化(非制御コード化)し、また指定範囲内の非制御コードをコメント解除(制御コード化)する(ステップS12)。
図7に示す例では、作業者がコメントON/OFFボタン187を選択したことにより、編集部42bは指定範囲の制御コード「H90 P♯3 Q♯2 R♯1」をコメント「(H90P♯3Q♯2R♯1)」に変換している。このように、作業者によるコメントON/OFFボタン187の選択操作だけで、指定範囲のコメント化やコメント解除を実現することができる。
【0050】
また、編集部42bは、コメント解除した制御コードまたはコメント化した非制御コードに含まれるワードを認識する(ステップS13)。そして、編集部42bは、コメント解除した制御コードまたはコメント化した非制御コードが複数のワードで構成されているか否かを判定する(ステップS14)。編集部42bは、複数のワードで構成されていると判定した場合において(ステップS14のYES)、ステップS12で複数のワードで構成された制御コードをコメント化しているときは、複数のワード間のスペースを削除する(ステップS15)。また、編集部42bは、複数のワードで構成されていると判定した場合において(ステップS14のYES)、ステップS12で複数のワードで構成された非制御コードをコメント解除しているときは、複数のワード間にスペースを挿入する(ステップS16)。なお、編集部42bは、複数のワードで構成されていないと判定した場合は(ステップS14のNO)、ステップS17の処理に移行する。
【0051】
例えば、編集部42bは、複数のワードで構成された「H90 P♯4」をコメント化する場合、ステップS12で「H90 P♯4」に丸括弧を付すとともに、ステップS15で「H90」と「P♯4」の間のスペースを削除して、「(H90P♯4)」に変換する。また、編集部42bは、複数のワードで構成された「(H90P♯4)」をコメント解除する場合、ステップS12で「(H90P♯4)」の丸括弧を削除するとともに、「H90」と「P♯4」の間のスペースを挿入して、「H90 P♯4」に変換する。このように、制御コードのワード間にスペースを挿入することにより、各ワードを作業者に認識させやすくすることができる。また、非制御コードのワード間のスペースを削除することにより、一まとまりのコメントを作業者に認識させやすくすることができる。
【0052】
次に、編集部42bは、制御コードと非制御コード(コメント)との色分けを実行する(ステップS17)。例えば、編集部42bは、コメント解除した制御コードの文字の色を自動的に黒色とし、コメント化した非制御コードの文字の色を自動的に緑色とする。なお、第1プログラム32aにおいて、プログラムの行の先頭に挿入されるブロックデリート(
図3に示す例では「/6」)は、黒色とされる命令コードなどとは異なる色(例えば赤色)とされる。このブロックデリートは、ある特定条件下においてはブロック内の制御が実行されるが、特定条件以外の条件下においてはブロック内の制御が実行されないことを示す。なお、制御部42がブロックデリートの色の濃さを特定条件にあるか否かに応じて変化させることにより、作業者に工作機械の状況を認識させてもよい。
【0053】
その後、制御部42は、戻るボタン181が選択されたと判定した場合は(ステップS18のYES)、第2操作メニューボタン180mや第1操作メニューボタン170mの表示に戻し(ステップS19)、また、終了ボタン192が選択されたと判定した場合は(ステップS18のYES)、第2操作メニューボタン180mの表示に戻す(ステップS19)。
【0054】
第2プログラム32b(NCプログラム)におけるコメント化及びコメント解除の具体例について説明する。なお、以下の説明において下線がカーソル200で指定された範囲とする。
(1)編集部42bが
G50S1500をコメント化した場合は、(G50)S1500となる。
(2)編集部42bが
G50S1500をコメント化した場合は、(G50S1500)となる。
(3)編集部42bが(G50)S1500(ABC)をコメント化した場合は、((G50)S1500(ABC))となる。このように非制御コードと制御コードとを含む複数のワードをまとめてコメント化することもできる。
(4)編集部42bが
(G50)S1500をコメント解除した場合は、G50S1500となる。
(5)編集部42bが
((G50)S1500(ABC))をコメント解除した場合は、(G50)S1500(ABC)となる。このように非制御コードと制御コードとを含む複数のワードをまとめてコメント化したものをコメント解除することもできる。
【0055】
以上に説明したように、本実施形態では、工作機械1の一部にプログラム32a,32bを編集可能なプログラム編集装置40を備え、プログラム編集装置40は、プログラム32a,32bを表示領域110に表示する表示部41と、表示領域110近傍のボタン191〜193の選択操作に応じて、表示領域110に表示されたプログラム32a,32b内の範囲を指定する指定部42aと、表示領域110近傍の編集ボタン187の選択操作に応じて、指定部42aで指定された範囲内の制御コードを非制御コード化し、または範囲内の非制御コードを制御コード化する編集部42bと、を含む。このような構成によれば、工作機械1のプログラム編集における作業者の手間を軽減し、作業者の手入力による非制御コードなどの入力操作が不要となり入力ミスを防止することができる。また、作業者が工作機械1の作業環境に応じたインタフェイスでプログラム編集を実行することができる。
【0056】
また、本実施形態では、編集部42bは、範囲内の制御コードまたは非制御コードが複数のワードで構成されている場合、制御コードを非制御コード化する際に複数のワード間のスペースを削除し、または非制御コードを制御コード化する際に複数のワード間にスペースを挿入する。このような構成によれば、制御コードの各ワードを作業者に認識させやすくすることができる。また、一まとまりのコメントを作業者に認識させやすくすることができる。
【0057】
また、本実施形態では、指定部42aは、作業者の操作に応じてカーソル200を開始位置から終了位置まで移動させることで範囲を指定する。このような構成によれば、作業者はマウスなどを用いることなくプログラム内の範囲を指定することができる。また、指定部42aは、非制御コードの規約に基づいて非制御コードの開始位置及び終了位置を自動的に認識し、認識した開始位置及び終了位置に基づいて範囲を指定する。このような構成によれば、指定部42aは自動的に非制御コードの範囲を指定することができ、作業者の手間をより一層軽減させることができる。また、編集部42bは、制御コードと非制御コードとで表示態様(色)を自動的に変更する。このような構成によれば、作業者に非制御コードの位置を認識させやすくすることができる。
【0058】
以上の実施形態について説明したが、本発明は図示の構成等に限定されるものではなく、各構成の機能や用途などを逸脱しない範囲で変更は可能である。
【0059】
例えば、上記した実施形態において、
図1に示したローダ装置10及び加工装置20の構成は一例であって、このような構成以外のローダ装置及び加工装置に対してもプログラム編集装置を適用することができる。また、上記した実施形態では、制御装置30とコントローラ40とが別構成とされていたが、制御装置30とコントローラ40とは一体構成とされてもよい。
【0060】
また、ローダ装置10と加工装置20とは別々の第1プログラム32aと第2プログラム32bとで制御されていたが、同じプログラムで制御されてもよい。また、第1プログラム32aと第2プログラム32bは異なるプログラム言語で作成されていたが、同一のプログラム言語で作成されてもよい。また、上記した実施形態では、編集部42bは制御コードと非制御コードとで色を変えていたが、編集部42bは制御コードと非制御コードとで文字の書体などの表示態様を変更してもよい。
【0061】
また、上記した実施形態におけるキーやボタンの配置は、
図3に示した配置に限定されず、適宜変更可能である。また、操作メニューボタン170m,180m,190mもプログラム表示領域110の近傍に設けられていればよく、作業環境などに合わせて適宜配置される。また、操作メニューボタン170m,180m,190mは、作業者によるタッチパネル41bのタッチ操作によって選択されていたが、これらのボタンを機械的なボタンとし、作業者による押下操作で選択されてもよい。また、カーソル200も指定位置を指し示すものであれば、どのようなポインディングデバイスであってもよい。
【0062】
また、指定部42aは、カーソルキー132や範囲指定を行うためのボタン(開始ボタン191、終了ボタン192、取消ボタン193)の選択操作に応じた範囲指定を行う構成に限定されず、作業者が指でなぞった範囲をタッチパネル41bからの信号に基づいて認識し、認識した範囲を指定範囲としてもよい。また、作業者が制御コードのコメント化や非制御コードのコメント解除を行う手順も
図4〜
図7に示した手順に限定されない。例えば、作業者はコメントON/OFF187を選択した後に範囲指定が行われてもよい。