JP6971416B1 - Program editing equipment and programs - Google Patents

Program editing equipment and programs Download PDF

Info

Publication number
JP6971416B1
JP6971416B1 JP2021031338A JP2021031338A JP6971416B1 JP 6971416 B1 JP6971416 B1 JP 6971416B1 JP 2021031338 A JP2021031338 A JP 2021031338A JP 2021031338 A JP2021031338 A JP 2021031338A JP 6971416 B1 JP6971416 B1 JP 6971416B1
Authority
JP
Japan
Prior art keywords
line
program
code
row
unit
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
JP2021031338A
Other languages
Japanese (ja)
Other versions
JP2022132726A (en
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.)
DMG Mori Co Ltd
Original Assignee
DMG Mori Co Ltd
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 DMG Mori Co Ltd filed Critical DMG Mori Co Ltd
Priority to JP2021031338A priority Critical patent/JP6971416B1/en
Application granted granted Critical
Publication of JP6971416B1 publication Critical patent/JP6971416B1/en
Priority to PCT/JP2022/000497 priority patent/WO2022185712A1/en
Publication of JP2022132726A publication Critical patent/JP2022132726A/en
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/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/4069Simulating machining process on screen
    • 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

Landscapes

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

Abstract

【課題】数値制御プログラムの編集において人的なミスを防止できるように補助する。【解決手段】本発明のある態様におけるプログラム編集装置は、工作機械用の数値制御プログラムを受け付ける受付部と、数値制御プログラムの各行におけるコード列を表示するプログラム表示部と、(i)数値制御プログラムの中に新たな行のコード列を受け付けたときに、新たな行のコード列による工作の挙動を示すシミュレーション画像、または、(ii)数値制御プログラムの中に1つの行のコード列の変更を受け付けたときに、変更された行のコード列による工作の挙動を示すシミュレーション画像、を表示する画像表示部とを有する。【選択図】図6PROBLEM TO BE SOLVED: To prevent human error in editing a numerical control program. A program editing device according to an embodiment of the present invention includes a reception unit that accepts a numerical control program for a machine tool, a program display unit that displays a code column in each line of the numerical control program, and (i) a numerical control program. When a code column of a new line is accepted in, a simulation image showing the behavior of the machine tool by the code column of the new line, or (ii) change the code column of one line in the numerical control program. It has an image display unit that displays a simulation image showing the behavior of the machine tool according to the code column of the changed line when it is received. [Selection diagram] FIG. 6

Description

本発明は、工作機械用の数値制御プログラムを編集する技術に関する。 The present invention relates to a technique for editing a numerical control program for a machine tool.

ターニングセンタやマシニングセンタのように数値制御(NC:Numerical Control)によって、自動的に加工を行う工作機械が広く利用されている。このような工作機械を使用するためには、数値制御による加工を指示するための数値制御プログラム(以下、NCプログラムという)を準備する。 Machine tools that automatically perform machining by numerical control (NC), such as turning centers and machining centers, are widely used. In order to use such a machine tool, a numerical control program (hereinafter referred to as NC program) for instructing machining by numerical control is prepared.

CAD(Computer-Aided Design)やCAM(Computer Aided Manufacturing)を利用してNCプログラムを生成する方法の他、従来通りユーザがコーディングすることもある。ただし、コーディングにおいて人的なミスがあると、NCプログラムによって正しく加工されないことになる。したがって、NCプログラムを作成する際には人的ミスを少なくすることが望まれる。 In addition to the method of generating an NC program using CAD (Computer-Aided Design) or CAM (Computer Aided Manufacturing), the user may code as before. However, if there is a human error in coding, it will not be processed correctly by the NC program. Therefore, it is desirable to reduce human error when creating an NC program.

特開2013−200766号公報Japanese Unexamined Patent Application Publication No. 2013-2000766 特開平2−151908号公報Japanese Unexamined Patent Publication No. 2-151908 特開2016−018539号公報Japanese Unexamined Patent Publication No. 2016-018539

NCプログラムを検証する方法として、ワークを設置しない工作機械を空運転させることがある。ただし、空運転における工作の挙動を観察する労力は大きく、NCプログラムの不備を見逃すこともある。また、大がかりな作業であり、工作機械を占有することになるため、頻繁に検証することはできない。 As a method of verifying the NC program, a machine tool on which no work is installed may be operated idle. However, the effort to observe the behavior of the work in idle operation is great, and the deficiency of the NC program may be overlooked. In addition, it is a large-scale work and occupies the machine tool, so it cannot be verified frequently.

本発明は、特許請求の範囲に記載のプログラム編集装置等を提供するものである。 The present invention provides the program editing apparatus and the like described in the claims.

本発明によれば、NCプログラムの編集において人的なミスを低減できる。 According to the present invention, human error in editing an NC program can be reduced.

ワークの斜視図である。It is a perspective view of a work. 26行目まで記述された編集画面とシミュレーション画面の画面図である。It is a screen view of the edit screen and the simulation screen described up to the 26th line. 27行目まで記述された編集画面とシミュレーション画面の画面図である。It is a screen view of the edit screen and the simulation screen described up to the 27th line. 28行目まで記述された編集画面とシミュレーション画面の画面図である。It is a screen view of the edit screen and the simulation screen described up to the 28th line. 29行目まで記述された編集画面とシミュレーション画面の画面図である。It is a screen view of the edit screen and the simulation screen described up to the 29th line. 30行目まで記述された編集画面とシミュレーション画面の画面図である。It is a screen view of the edit screen and the simulation screen described up to the 30th line. 30行目で誤った記述がされた編集画面とシミュレーション画面の画面図である。It is a screen diagram of an edit screen and a simulation screen in which an erroneous description is made in the 30th line. 29行目までカーソルを戻した編集画面とシミュレーション画面の画面図である。It is a screen view of an edit screen and a simulation screen in which the cursor is returned to the 29th line. 28行目までカーソルを戻した編集画面とシミュレーション画面の画面図である。It is a screen view of an edit screen and a simulation screen in which the cursor is returned to the 28th line. プログラム編集装置の機能ブロック図である。It is a functional block diagram of a program editing apparatus. 図2に対応するカーソル位置とNCプログラムコード表のデータ構造図である。It is a data structure diagram of the cursor position and NC program code table corresponding to FIG. 図6に対応するカーソル位置とNCプログラムコード表のデータ構造図である。It is a data structure diagram of the cursor position and NC program code table corresponding to FIG. 図8に対応するカーソル位置とNCプログラムコード表のデータ構造図である。It is a data structure diagram of the cursor position and NC program code table corresponding to FIG. 図12と図13に対応するNCプログラムファイルのデータ構造図である。It is a data structure diagram of the NC program file corresponding to FIGS. 12 and 13. プログラム編集装置におけるメイン処理過程を示すフローチャートである。It is a flowchart which shows the main processing process in a program editing apparatus. プログラム編集装置におけるメイン処理過程を示すフローチャートである。It is a flowchart which shows the main processing process in a program editing apparatus. シミュレーション処理過程を示すフローチャートである。It is a flowchart which shows the simulation processing process. Gコード入力ガイダンス画面の画面図である。It is a screen view of the G code input guidance screen. 編集−シミュレーションの画面におけるガイダンスメッセージの例を示す図である。It is a figure which shows the example of the guidance message in the screen of edit-simulation. バックグラウンド編集の画面図である。It is a screen diagram of background editing. バックグラウンド編集の画面におけるガイダンスメッセージの例を示す図である。It is a figure which shows the example of the guidance message in the screen of background editing. バックグラウンド編集画面で工程が選択された状態を示す図である。It is a figure which shows the state which a process is selected in the background edit screen. バックグラウンド編集の画面におけるガイダンスメッセージの例を示す図である。It is a figure which shows the example of the guidance message in the screen of background editing. 工作機械と操作盤の外観図である。It is an external view of a machine tool and an operation panel.

本実施形態におけるプログラム編集装置は、編集画面とともにシミュレーション画面を表示する。編集画面では、編集操作に応じてNCプログラムを表示し、シミュレーション画面では、編集画面に表示されたNCプログラムによるシミュレーション結果を表示する。 The program editing device in this embodiment displays a simulation screen together with an editing screen. On the edit screen, the NC program is displayed according to the edit operation, and on the simulation screen, the simulation result by the NC program displayed on the edit screen is displayed.

図24は、工作機械700と操作盤702の外観図である。
このプログラム編集装置は、工作機械700の中に組み込まれていて、編集画面やシミュレーション画面を操作盤702の画面上に表示する形態でもよいし、工作機械700とは別体のコンピュータ(例えば、パーソナルコンピュータ)の画面上に編集画面やシミュレーション画面を表示する形態でもよい。好ましい形態は、工作機械700がプログラム編集装置を備え、操作盤702の操作画面704にプログラム編集装置の編集画面やシミュレーション画面を表示する形態である。
FIG. 24 is an external view of the machine tool 700 and the operation panel 702.
This program editing device may be incorporated in the machine tool 700 and may display an editing screen or a simulation screen on the screen of the operation panel 702, or may be a computer separate from the machine tool 700 (for example, a personal computer). It may be in the form of displaying an edit screen or a simulation screen on the screen of a computer). A preferred mode is that the machine tool 700 is provided with a program editing device, and an editing screen or a simulation screen of the program editing device is displayed on the operation screen 704 of the operation panel 702.

ユーザは、たとえばNCプログラムの入力作業において、加工順に指令を書き込む。本実施形態では、新たな指令が書き込まれる都度、その段階までの加工がシミュレートされ、新たな指令によるシミュレーション結果が強調表示される。 The user writes commands in the order of machining, for example, in the input work of an NC program. In this embodiment, each time a new command is written, the machining up to that stage is simulated, and the simulation result by the new command is highlighted.

また、ユーザは、NCプログラムの見直し作業において、指令の内容を確認したい箇所にカーソルを移動させると、カーソル行に対応するシミュレーション結果が強調表示される。 Further, when the user moves the cursor to the place where he / she wants to confirm the content of the command in the review work of the NC program, the simulation result corresponding to the cursor line is highlighted.

図1は、ワーク100の斜視図である。
この例で想定するワーク100は板部材であって、厚み方向に6つの穴102、穴104、穴106、穴108、穴110、穴112が空けられる。穴102は、板部材の中央に形成される。穴104は板部材の左下に形成され、穴106は同じく右下に形成され、穴108は同じく右側中央に形成され、穴110は同じく右上に形成され、さらに穴112は同じく左上に形成される。穴104、穴106、穴108、穴110、穴112の内径は、穴102の内径よりも小さい。
FIG. 1 is a perspective view of the work 100.
The work 100 assumed in this example is a plate member, and six holes 102, holes 104, holes 106, holes 108, holes 110, and holes 112 are formed in the thickness direction. The hole 102 is formed in the center of the plate member. The hole 104 is formed in the lower left of the plate member, the hole 106 is also formed in the lower right, the hole 108 is also formed in the center of the right side, the hole 110 is also formed in the upper right, and the hole 112 is also formed in the upper left. .. The inner diameters of the holes 104, 106, 108, 110, and 112 are smaller than the inner diameter of the hole 102.

ワーク100に対する穴あけを、工作機械700の一例であるマシニングセンタで行う。穴102の切削には、大きな径のドリルが使用され、穴104、穴106、穴108、穴110、穴112の切削には、穴102の切削に用いたドリルの径よりも小さな径のドリルが使用される。 Drilling holes in the work 100 is performed at a machining center, which is an example of a machine tool 700. A large diameter drill is used to cut the hole 102, and a drill with a diameter smaller than the diameter of the drill used to cut the hole 102 is used to cut the hole 104, the hole 106, the hole 108, the hole 110, and the hole 112. Is used.

以下では、ワーク100の表面における中心を加工原点とする。また、正面方向から見た場合の右側がX軸の正方向であり、同じく上側がY軸の正方向であり、さらに手前がZ軸の正方向であるものとする。 In the following, the center on the surface of the work 100 will be the machining origin. Further, it is assumed that the right side when viewed from the front direction is the positive direction of the X axis, the upper side is the positive direction of the Y axis, and the front side is the positive direction of the Z axis.

ユーザが、穴102、穴104、穴106、穴108、穴110および穴112の順に穴あけ加工を行うNCプログラムのコーディングをするものとする。 It is assumed that the user codes an NC program for drilling holes 102, 104, 106, 108, 110, and 112 in this order.

図2は、26行目まで記述された編集画面202とシミュレーション画面204の画面図である。編集画面202とシミュレーション画面204は、操作盤702の操作画面704に表示される。
編集画面202とシミュレーション画面204は、編集−シミュレーション画面に含まれる。編集−シミュレーション画面には、アイコンボタン600a〜jとガイダンスボタン602が含まれる。アイコンボタン600a〜jについては、変形例2に関連して後述する。ガイダンスボタン602については、変形例1に関連して後述する。
FIG. 2 is a screen view of the edit screen 202 and the simulation screen 204 described up to the 26th line. The edit screen 202 and the simulation screen 204 are displayed on the operation screen 704 of the operation panel 702.
The edit screen 202 and the simulation screen 204 are included in the edit-simulation screen. The edit-simulation screen includes icon buttons 600a-j and guidance buttons 602. The icon buttons 600a to j will be described later in relation to the modification 2. The guidance button 602 will be described later in relation to the modification 1.

26行目における「G98G83Z−33.554R3.Q7.F240.」の入力に続いて、「;」キーが押下された後の状態を示している。「;」キーが押下されると、「;」が入力され、自動的に改行する。以下、同様である。シミュレーション画面204には、26行目まで制御動作を実行した場合の刃先経路(以下、単に「経路」ということがある)が表示される。 Following the input of "G98G83Z-33.554R3.Q7.F240." On the 26th line, the state after the ";" key is pressed is shown. When the ";" key is pressed, ";" is input and a line feed is automatically performed. The same applies hereinafter. On the simulation screen 204, the cutting edge path (hereinafter, may be simply referred to as “path”) when the control operation is executed up to the 26th line is displayed.

なお、23行目より上で、穴102の切削に関するプログラムが記述されているものとする。したがって、シミュレーション画面204で穴102の切削動作に関する経路302が表示される。23行目以下では、穴102、穴104、穴106、穴108、穴110、穴112の切削に関するプログラムをコーディングするものとする。 It is assumed that the program related to the cutting of the hole 102 is described above the 23rd line. Therefore, the path 302 related to the cutting operation of the hole 102 is displayed on the simulation screen 204. In the 23rd line and below, it is assumed that a program related to cutting of the hole 102, the hole 104, the hole 106, the hole 108, the hole 110, and the hole 112 is coded.

23行目「G90G54G17G0X−100.Y−50.;」について説明する。「G90」は、絶対値指令である。絶対値指令は、加工原点からの距離と向きで指令するという宣言である。「G54」は、ワーク座標系指令である。ワーク座標系指令は、加工原点位置の指定(ワークオフセット)である。「G17」は、XY平面指令である。XY平面指令は、XY平面に対して加工を行うという宣言である。「G0X−100.Y−50.」は、位置決めである。この位置決めで、X座標:−100mm、Y座標:−50mmの位置へ早送りで工具(この例では、ドリル)の刃先を移動させる。 The 23rd line "G90G54G17G0X-100.Y-50 .;" will be described. "G90" is an absolute value command. The absolute value command is a declaration that the command is based on the distance and direction from the machining origin. "G54" is a work coordinate system command. The work coordinate system command is the designation of the machining origin position (work offset). "G17" is an XY plane command. The XY plane command is a declaration that machining is performed on the XY plane. "G0X-100.Y-50." Is positioning. In this positioning, the cutting edge of the tool (drill in this example) is moved by fast-forwarding to the positions of X coordinate: -100 mm and Y coordinate: -50 mm.

24行目「G43Z50.H45S1010M3;」について説明する。「G43」は、工具長補正指令である。「H45」は、45番の工具長補正値を適用することを意味する。「Z50.」は、「G0 Z50.」と同義である。この位置決めで、Z座標50mmまで早送りで工具の刃先を移動させる。「S1010」は、主軸回転数指令である。具体的には、工具の回転数を1010回/分に指定する。「M3」は、工具を回転させる主軸正転を指令する。 The 24th line "G43Z50.H45S1010M3;" will be described. "G43" is a tool length correction command. “H45” means that the tool length correction value of No. 45 is applied. "Z50." Is synonymous with "G0 Z50.". With this positioning, the cutting edge of the tool is moved by fast forward to the Z coordinate of 50 mm. "S1010" is a spindle speed command. Specifically, the rotation speed of the tool is specified to 1010 times / minute. "M3" commands the spindle forward rotation to rotate the tool.

25行目「Z50.M8;」について説明する。「Z50.」は、「G0 Z50.」と同義である。この位置決めで、Z座標:50mmまで早送りで工具の刃先を移動させる。「M8」は、クーラント吐出の指令である。ここまでの指令によって、工具の刃先は、経路304を経て、穴104に対する位置305に達している。位置305は、X座標:−100mm、Y座標:−50mm、Z座標:50mmである。 The 25th line “Z50.M8;” will be described. "Z50." Is synonymous with "G0 Z50.". With this positioning, the cutting edge of the tool is moved by fast-forwarding to the Z coordinate: 50 mm. "M8" is a command for discharging coolant. By the commands so far, the cutting edge of the tool has reached the position 305 with respect to the hole 104 via the path 304. The position 305 has an X coordinate: −100 mm, a Y coordinate: −50 mm, and a Z coordinate: 50 mm.

26行目「G98G83Z−33.554R3.Q7.F240.」について説明する。「G98」は、イニシャル点レベル復帰の指令である。この指令は、イニシャル点まで戻ってから次の穴あけ位置に移動する宣言である。「G83」は、深穴ドリリング固定サイクルの指令である。この指令によって、穴104に対応する位置305をイニシャル点とする切削加工を行い、その後も別の位置をイニシャル点とする切削加工が繰り返される。「Z−33.554」は、穴底の位置を指令する。この指令によって、Z座標:−33.554mmの深さまで切削が行われる。「R3.」は、切削送りの開始位置を指令する。この指令による切削送りの開始位置は、Z座標:+3mmである。つまり、正面の3mm手前から、切削送りが始まる。「Q7.」は、1回あたりの切り込み量である。具体的には、7ミリの穴あけ動作と1ミリの逃げ動作とを繰り返すことを意味する。「F240.」は、送り速度指令である。具体的には、240mm/minで工具の刃先を移動させる。 The 26th line “G98G83Z-33.554R3.Q7.F240.” Will be described. "G98" is a command to return to the initial point level. This command is a declaration to move to the next drilling position after returning to the initial point. "G83" is a command for a deep hole drilling fixed cycle. By this command, the cutting process with the position 305 corresponding to the hole 104 as the initial point is performed, and then the cutting process with another position as the initial point is repeated. "Z-33.554" commands the position of the hole bottom. By this command, cutting is performed to a depth of Z coordinate: -33.554 mm. "R3." Command the start position of the cutting feed. The starting position of the cutting feed according to this command is the Z coordinate: +3 mm. That is, the cutting feed starts from 3 mm before the front surface. "Q7." Is the amount of cut per cut. Specifically, it means repeating a 7 mm drilling operation and a 1 mm escape operation. "F240." Is a feed rate command. Specifically, the cutting edge of the tool is moved at 240 mm / min.

ユーザが26行目における指令の入力を終えると、「;」キーを押下する。この段階で、26行目の指令による穴104(中心軸X座標:−100mm、中心軸Y座標:−50mm)の切削に関連する経路が特定される。具体的には、イニシャル点の位置305からの接近、穴104の切削およびワーク100から位置305までの復帰が特定され、経路306として新たに表示される。26行目の指令によって追加された経路306は、太線によって強調表示される。この例では、新たな行のコード列による工作の挙動を示す部位を太線で示す。太線は、新たな行のコード列による工作の挙動を示す部位を表示する第1区別態様の例である。第1区別態様は、太線以外の表示であってもよい。 When the user finishes inputting the command on the 26th line, the user presses the ";" key. At this stage, a path related to cutting of the hole 104 (center axis X coordinate: -100 mm, center axis Y coordinate: -50 mm) according to the command on the 26th line is specified. Specifically, the approach of the initial point from the position 305, the cutting of the hole 104, and the return from the work 100 to the position 305 are specified, and are newly displayed as the path 306. The path 306 added by the command on line 26 is highlighted by a thick line. In this example, the part showing the behavior of the work by the code column of the new line is shown by the thick line. The thick line is an example of the first distinction mode in which the part showing the behavior of the work by the code column of the new line is displayed. The first distinction mode may be a display other than the thick line.

図3は、27行目まで記述された編集画面202とシミュレーション画面204の画面図である。
この例は、27行目における「X100.」の入力に続いて、「;」キーが押下された後の状態を示している。シミュレーション画面204には、27行目まで制御動作を実行した場合の経路が表示される。
FIG. 3 is a screen view of the edit screen 202 and the simulation screen 204 described up to the 27th line.
This example shows the state after the ";" key is pressed following the input of "X100." On the 27th line. On the simulation screen 204, the route when the control operation is executed up to the 27th line is displayed.

「X100.」は、穴下降位置の指令である。27行目の指令によって、穴106(中心軸X座標:100mm、中心軸Y座標:−50mm)の切削に関連する経路が追加される。具体的には、まず位置305から次のイニシャル点の位置309までスライドする経路308が特定される。さらに、位置309からの接近、穴106の切削および位置309までの復帰に相当する経路310が特定される。27行目の指令によって追加された経路308および経路310は、太線によって強調表示される。 "X100." Is a command for the hole descending position. The command on line 27 adds a path related to cutting the hole 106 (center axis X coordinate: 100 mm, center axis Y coordinate: -50 mm). Specifically, first, the path 308 that slides from the position 305 to the position 309 of the next initial point is specified. Further, the path 310 corresponding to the approach from position 309, the cutting of the hole 106 and the return to position 309 is identified. Routes 308 and 310 added by the command on line 27 are highlighted by thick lines.

図4は、28行目まで記述された編集画面202とシミュレーション画面204の画面図である。
この例は、28行目における「Y0」の入力に続いて、「;」キーが押下された後の状態を示している。シミュレーション画面204には、28行目まで制御動作を実行した場合の経路が表示される。
FIG. 4 is a screen view of the edit screen 202 and the simulation screen 204 described up to the 28th line.
This example shows the state after the ";" key is pressed following the input of "Y0" on the 28th line. On the simulation screen 204, the route when the control operation is executed up to the 28th line is displayed.

「Y0」は、穴下降位置の指令である。28行目の指令によって、穴108(中心軸X座標:100mm、中心軸Y座標:0mm)の切削に関連する経路が追加される。具体的には、まず位置309から次のイニシャル点の位置313までスライドする経路312が特定される。さらに、位置313からの接近、穴108の切削および位置313までの復帰に相当する経路314が特定される。28行目の指令によって追加された経路312および経路314は、太線によって強調表示される。 "Y0" is a command for the hole descending position. The command on the 28th line adds a path related to cutting the hole 108 (center axis X coordinate: 100 mm, center axis Y coordinate: 0 mm). Specifically, first, the path 312 that slides from the position 309 to the position 313 of the next initial point is specified. Further, a path 314 corresponding to the approach from position 313, the cutting of the hole 108 and the return to position 313 is identified. Routes 312 and 314 added by the command on line 28 are highlighted by thick lines.

図5は、29行目まで記述された編集画面202とシミュレーション画面204の画面図である。
この例は、29行目における「Y50.」の入力に続いて、「;」キーが押下された後の状態を示している。シミュレーション画面204には、29行目まで制御動作を実行した場合の経路が表示される。
FIG. 5 is a screen view of the edit screen 202 and the simulation screen 204 described up to the 29th line.
This example shows the state after the ";" key is pressed following the input of "Y50." On the 29th line. On the simulation screen 204, the route when the control operation is executed up to the 29th line is displayed.

「Y50.」は、穴下降位置の指令である。29行目の指令によって、穴110(中心軸X座標:100mm、中心軸Y座標:50mm)の切削に関連する経路が追加される。具体的には、まず位置313から次のイニシャル点の位置317までスライドする経路316が特定される。さらに、位置317からの接近、穴110の切削および位置317までの復帰に相当する経路318が特定される。29行目の指令によって追加された経路316および経路318は、太線によって強調表示される。 "Y50." Is a command for the hole descending position. The command on the 29th line adds a path related to cutting the hole 110 (center axis X coordinate: 100 mm, center axis Y coordinate: 50 mm). Specifically, first, the path 316 that slides from the position 313 to the position 317 of the next initial point is specified. Further, a path 318 corresponding to the approach from position 317, the cutting of the hole 110 and the return to position 317 is identified. Routes 316 and 318 added by the command on line 29 are highlighted by thick lines.

図6は、30行目まで記述された編集画面202とシミュレーション画面204の画面図である。
この例は、30行目における「X−100.」の入力に続いて、「;」キーが押下された後の状態を示している。シミュレーション画面204には、30行目まで制御動作を実行した場合の経路が表示される。
FIG. 6 is a screen view of the edit screen 202 and the simulation screen 204 described up to the 30th line.
This example shows the state after the ";" key is pressed after the input of "X-100." On the 30th line. On the simulation screen 204, the route when the control operation is executed up to the 30th line is displayed.

「X−100.;」は、穴下降位置の指令である。30行目の指令によって、穴112(中心軸X座標:−100mm、中心軸Y座標:50mm)の切削に関連する経路が追加される。具体的には、まず位置317から次のイニシャル点の位置321までスライドする経路320が特定される。さらに、位置321からの接近、穴112の切削および位置321までの復帰に相当する経路322が特定される。30行目の指令によって追加された経路320および経路322は、太線によって強調表示される。 "X-100 .;" is a command for the hole descending position. The command on line 30 adds a path related to cutting the hole 112 (center axis X coordinate: -100 mm, center axis Y coordinate: 50 mm). Specifically, first, the path 320 that slides from the position 317 to the position 321 of the next initial point is specified. Further, a path 322 corresponding to the approach from position 321 and the cutting of the hole 112 and the return to position 321 is identified. Routes 320 and 322 added by the command on line 30 are highlighted by thick lines.

図2〜図6に示したように、各行の入力の都度正しく指令を記述したかを確かめることができる。次に、誤った指令を記述した場合の例を示す。 As shown in FIGS. 2 to 6, it is possible to confirm whether the command is correctly described each time each line is input. The following is an example of writing an erroneous command.

図7は、30行目で誤った記述がされた編集画面202とシミュレーション画面204の画面図である。
この例は、30行目における「X−100」の入力に続いて、「;」キーが押下された後の状態を示している。シミュレーション画面204には、30行目まで制御動作を実行した場合の経路が表示される。
FIG. 7 is a screen view of the edit screen 202 and the simulation screen 204 in which the description is erroneously described on the 30th line.
This example shows the state after the ";" key is pressed following the input of "X-100" on the 30th line. On the simulation screen 204, the route when the control operation is executed up to the 30th line is displayed.

穴下降位置の指令として本来「X−100.;」(−100mm)と記述すべきところ、小数点の入力を忘れて「X−100;」となっている。この場合、工作機械700の制御装置は、「X−100;」を−0.1mmと解釈してしまう。したがって、プログラム編集装置においても、30行目の指令によって、穴114(中心軸X座標:−0.1mm、中心軸Y座標:50mm)の切削に関連する経路が追加される。具体的には、まず位置317から次のイニシャル点である位置325までスライドする経路324が特定される。さらに、位置325からの接近、穴114の切削および位置325までの復帰に相当する経路326が特定される。30行目の指令によって追加された経路324および経路326は、太線によって強調表示される。 Originally, "X-100 .;" (-100 mm) should be described as a command for the hole descending position, but the input of the decimal point is forgotten and it becomes "X-100;". In this case, the control device of the machine tool 700 interprets "X-100;" as -0.1 mm. Therefore, also in the program editing device, the path related to the cutting of the hole 114 (center axis X coordinate: −0.1 mm, center axis Y coordinate: 50 mm) is added by the command on the 30th line. Specifically, first, a path 324 that slides from the position 317 to the next initial point, the position 325, is specified. Further, path 326 corresponding to approach from position 325, cutting of hole 114 and return to position 325 is identified. Routes 324 and 326 added by the command on line 30 are highlighted by thick lines.

編集画面202において小数点の欠落は、あまり目立たないが、シミュレーション画面204における経路の相違は明白である。このように、経路の外観によって、ユーザがコーディングミスを認識しやすくできる。小数点の欠落の他にも、正負の間違い(たとえば、30行目の「X100.;」)、パラメータの間違い(たとえば、30行目の「Y−100.;」)あるいはGコードの間違い(たとえば、回転方向が違う指令の取り違い)などについても気づきやすくなる。 The omission of the decimal point on the edit screen 202 is not so noticeable, but the difference in the path on the simulation screen 204 is obvious. In this way, the appearance of the route makes it easier for the user to recognize coding mistakes. In addition to the missing decimal point, a positive / negative error (for example, "X100 .;" on the 30th line), a parameter error (for example, "Y-100 .;" on the 30th line), or a G code error (for example). , Mistake of commands in different directions of rotation), etc. can be easily noticed.

また、以上のようにNCプログラムの入力作業におけるシミュレーション結果を強調表示するだけでなく、NCプログラムの見直し作業においてシミュレーション結果を強調表示してもよい。具体的には、NCプログラムを見直すために、ユーザがカーソル206を移動させると、カーソル206がある行に対応する経路が強調表示される。 Further, as described above, not only the simulation result in the input work of the NC program may be highlighted, but also the simulation result may be highlighted in the review work of the NC program. Specifically, when the user moves the cursor 206 to review the NC program, the route corresponding to the line where the cursor 206 is located is highlighted.

図8は、29行目までカーソル206を戻した編集画面202とシミュレーション画面204の画面図である。
この例は、図6で上矢印キーを2回押下してカーソル206を、29行目へ移動させた状態を示している。シミュレーション画面204には、図6と同様に30行目まで制御動作を実行した場合の経路が表示される。ただし、30行目の指令によって追加された経路320および経路322は、強調表示されていない。その代わり、カーソル206がある29行目の指令によって追加された経路316および経路318が、白抜き線によって強調表示されている。この例では、移動したカーソルが指す行のコード列による工作の挙動を示す部位を白抜き線で示す。白抜き線は、移動したカーソルが指す行のコード列による工作の挙動を示す部位を表示する第2区別態様の例である。第2区別態様は、白抜き線以外の表示であってもよい。また、第2区別態様を第1区別態様と同じ表示にしてもよい。
FIG. 8 is a screen view of the edit screen 202 and the simulation screen 204 in which the cursor 206 is returned to the 29th line.
This example shows a state in which the up arrow key is pressed twice in FIG. 6 to move the cursor 206 to the 29th line. On the simulation screen 204, the route when the control operation is executed up to the 30th line is displayed as in FIG. However, the route 320 and the route 322 added by the command on the 30th line are not highlighted. Instead, the paths 316 and 318 added by the command on line 29 where the cursor 206 is located are highlighted by white lines. In this example, the part showing the behavior of the work by the code column of the line pointed to by the moved cursor is shown by the white line. The white line is an example of the second distinction mode in which the part showing the behavior of the work by the code column of the line pointed to by the moved cursor is displayed. The second distinction mode may be a display other than the white line. Further, the second distinction mode may be displayed in the same manner as the first distinction mode.

図9は、28行目までカーソル206を戻した編集画面202とシミュレーション画面204の画面図である。
この例は、図8で上矢印キーを1回押下してカーソル206を、28行目へ移動させた状態を示している。シミュレーション画面204には、図6と同様に30行目まで制御動作を実行した場合の経路が表示される。ただし、カーソル206がある28行目の指令によって追加された経路312および経路314が、白抜き線によって強調表示されている。
FIG. 9 is a screen view of the edit screen 202 and the simulation screen 204 in which the cursor 206 is returned to the 28th line.
This example shows a state in which the up arrow key is pressed once in FIG. 8 to move the cursor 206 to the 28th line. On the simulation screen 204, the route when the control operation is executed up to the 30th line is displayed as in FIG. However, the route 312 and the route 314 added by the command on the 28th line where the cursor 206 is located are highlighted by white lines.

このように、入力済みの行へカーソル206を移動させると、カーソル206がある行に対応する経路が白抜き線によって強調表示される。したがって、どの行がどの経路に対応するかを一目で理解することができる。たとえば、ユーザがある経路を修正したいと思ったときに、その経路に相当する指令がどの行に記述されているかを編集画面202で見つけるのは、面倒であり、勘違いが起きやすい。本実施形態の場合には、シミュレーション画面204においてユーザが着目する経路が強調表示されるまで、カーソル206を上下に移動させれば該当行を特定することができるので、ユーザの労力が少なく、勘違いを防止できる。 In this way, when the cursor 206 is moved to the line that has already been input, the path corresponding to the line where the cursor 206 is located is highlighted by a white line. Therefore, it is possible to understand at a glance which line corresponds to which route. For example, when a user wants to modify a certain route, it is troublesome and easy to misunderstand on the edit screen 202 to find out on which line the command corresponding to the route is described. In the case of the present embodiment, the corresponding line can be specified by moving the cursor 206 up and down until the route of interest by the user is highlighted on the simulation screen 204, so that the user's labor is small and a misunderstanding is made. Can be prevented.

図10は、プログラム編集装置400の機能ブロック図である。
プログラム編集装置400の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサ(coprocessor)などの演算器、メモリやストレージといった記憶装置、それらを連結する通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
FIG. 10 is a functional block diagram of the program editing device 400.
Each component of the program editing device 400 includes a CPU (Central Processing Unit), a computing unit such as various coprocessors, a storage device such as a memory and a storage device, hardware including a communication line connecting them, and a storage device. It is realized by software that is stored and supplies processing instructions to the processor. The computer program may be composed of a device driver, an operating system, various application programs located on the upper layer thereof, and a library that provides common functions to these programs. Each block described below shows a block for each function, not a configuration for each hardware.

プログラム編集装置400は、インターフェース処理部410、データ処理部440およびデータ格納部450を含む。
インターフェース処理部410は、キーボード、マウスやタッチパネルなどを介してユーザからの操作を受け付けるほか、画像表示や音声出力など、ユーザインターフェースに関する処理を担当する。インターフェース処理部410は、ネットワークを介する通信に関するインターフェース処理を担当してもよい。データ処理部440は、インターフェース処理部410により取得されたデータ、データ格納部450に格納されているデータに基づいて各種処理を実行する。データ処理部440は、インターフェース処理部410およびデータ格納部450のインターフェースとしても機能する。データ格納部450は各種データを格納する。
The program editing device 400 includes an interface processing unit 410, a data processing unit 440, and a data storage unit 450.
The interface processing unit 410 accepts operations from the user via a keyboard, mouse, touch panel, etc., and is in charge of processing related to the user interface such as image display and audio output. The interface processing unit 410 may be in charge of interface processing related to communication via the network. The data processing unit 440 executes various processes based on the data acquired by the interface processing unit 410 and the data stored in the data storage unit 450. The data processing unit 440 also functions as an interface between the interface processing unit 410 and the data storage unit 450. The data storage unit 450 stores various data.

インターフェース処理部410は、データ入力を受け付ける入力部420と、画像や音声等の各種情報を出力する出力部430を含む。
入力部420は、キーの押下によって文字コード、数字コード、記号コードおよび各種制御コードなどを受け付ける受付部422を含む。
The interface processing unit 410 includes an input unit 420 that accepts data input and an output unit 430 that outputs various information such as images and sounds.
The input unit 420 includes a reception unit 422 that receives a character code, a number code, a symbol code, various control codes, and the like by pressing a key.

出力部430は、プログラム表示部432、画像表示部434および画面表示部436を含む。
プログラム表示部432は、編集画面202を生成して、表示する。画像表示部434は、シミュレーション画面204を生成して、表示する。画面表示部436は、Gコード入力ガイダンス画面を生成して、表示する。Gコード入力ガイダンス画面については、図18に関連して後述する。プログラム表示部432と画像表示部434は、編集画面202とシミュレーション画面204を同時に表示させる。
The output unit 430 includes a program display unit 432, an image display unit 434, and a screen display unit 436.
The program display unit 432 generates and displays the edit screen 202. The image display unit 434 generates and displays the simulation screen 204. The screen display unit 436 generates and displays a G-code input guidance screen. The G-code input guidance screen will be described later in relation to FIG. The program display unit 432 and the image display unit 434 display the edit screen 202 and the simulation screen 204 at the same time.

データ処理部440は、編集部442およびシミュレーション部444を含む。
編集部442は、NCプログラムの編集処理を実行する。シミュレーション部444は、NCプログラムによる工作の挙動をシミュレートする。
The data processing unit 440 includes an editing unit 442 and a simulation unit 444.
The editorial unit 442 executes the editing process of the NC program. The simulation unit 444 simulates the behavior of the work by the NC program.

データ格納部450は、保存記憶領域460および一時記憶領域470を含む。保存記憶領域460には、ハードディスクドライブ装置やフラッシュメモリのような不揮発性メモリが使用される。一時記憶領域470には、RAM(Random access memory)のような揮発性メモリが使用される。 The data storage unit 450 includes a storage storage area 460 and a temporary storage area 470. A non-volatile memory such as a hard disk drive device or a flash memory is used for the storage storage area 460. A volatile memory such as a RAM (Random access memory) is used for the temporary storage area 470.

保存記憶領域460には、NCプログラムファイル462およびワーク定義ファイル464などが記憶される。
NCプログラムファイル462については、図14に関連して後述する。ワーク定義ファイル464は、加工前のワークの形状に関するデータおよび加工後のワークの形状に関するデータが含まれる。
The NC program file 462, the work definition file 464, and the like are stored in the storage storage area 460.
The NC program file 462 will be described later in relation to FIG. The work definition file 464 includes data regarding the shape of the work before machining and data regarding the shape of the work after machining.

一時記憶領域470には、NCプログラムコード表472、カーソル位置474、ワーク3Dモデル476および経路テーブル478などが記憶される。
NCプログラムコード表472およびカーソル位置474については、図11〜図13に関連して後述する。ワーク3Dモデル476は、工作機械700内において加工されるワークの三次元モデルである。各加工段階におけるワーク3Dモデル476が、その加工に関する指令が記述されているNCプログラムの行の番号に対応づけられる。経路テーブル478には、3次元空間において工具の刃先が移動する各経路が格納される。各経路には、その移動に関する指令が記述されているNCプログラムの行の番号が対応づけられる。
The NC program code table 472, the cursor position 474, the work 3D model 476, the route table 478, and the like are stored in the temporary storage area 470.
The NC program code table 472 and the cursor position 474 will be described later in relation to FIGS. 11 to 13. The work 3D model 476 is a three-dimensional model of the work machined in the machine tool 700. The work 3D model 476 at each machining stage is associated with the line number of the NC program in which the instruction regarding the machining is described. The route table 478 stores each route in which the cutting edge of the tool moves in the three-dimensional space. Each route is associated with the line number of the NC program in which the instruction regarding the movement is described.

図11は、図2に対応するカーソル位置474とNCプログラムコード表472のデータ構造図である。
NCプログラムコード表472は、行毎の行レコードを有し、各行レコードには、行番号とその行のコード列が設定される。NCプログラムコード表472に基づいて、NCプログラムが編集され、編集画面202が表示される。カーソル位置474は、編集画面202に表示されるカーソル206の行番号と、その行のコード列のインデックスとを示す。インデックスは、配列における要素を識別する変数であって、先頭番号を0とし、配列中の要素順位を示す。この例でN個のコードを含むコード列について、各コードはインデックスの0,1,・・・N−1で特定される。図2でカーソル206が27行目の1文字目を指しているので、カーソル位置474は、「27:0」である。なお、27行目のコード列は、空である。
FIG. 11 is a data structure diagram of the cursor position 474 and the NC program code table 472 corresponding to FIG. 2.
The NC program code table 472 has a row record for each row, and a row number and a code column of the row are set in each row record. The NC program is edited based on the NC program code table 472, and the edit screen 202 is displayed. The cursor position 474 indicates the line number of the cursor 206 displayed on the edit screen 202 and the index of the code column of the line. The index is a variable that identifies an element in the array, has a start number of 0, and indicates the order of the elements in the array. In this example, for a code string containing N codes, each code is specified by an index of 0, 1, ... N-1. Since the cursor 206 points to the first character on the 27th line in FIG. 2, the cursor position 474 is "27: 0". The code column on the 27th line is empty.

図12は、図6に対応するカーソル位置474とNCプログラムコード表472のデータ構造図である。
NCプログラムコード表472は、図11と比較して、27行目のコード列に「X100.;」が設定され、さらに28行目から31行目までの行レコードが追加されている。図6でカーソル206が31行目の1文字目を指しているので、カーソル位置474は、「31:0」である。また、31行目のコード列は、空である。
FIG. 12 is a data structure diagram of the cursor position 474 and the NC program code table 472 corresponding to FIG.
In the NC program code table 472, "X100 .;" is set in the code column of the 27th line as compared with FIG. 11, and the line records from the 28th line to the 31st line are added. Since the cursor 206 points to the first character on the 31st line in FIG. 6, the cursor position 474 is "31: 0". The code column on the 31st line is empty.

図13は、図8に対応するカーソル位置474とNCプログラムコード表472のデータ構造図である。
NCプログラムコード表472は、図12と同様である。図8でカーソル206が29行目の6文字目を指しているので、カーソル位置474は、「29:5」である。
FIG. 13 is a data structure diagram of the cursor position 474 and the NC program code table 472 corresponding to FIG.
NC program code table 472 is the same as FIG. Since the cursor 206 points to the sixth character on the 29th line in FIG. 8, the cursor position 474 is “29: 5”.

図14は、図12と図13に対応するNCプログラムファイル462のデータ構造図である。
このNCプログラムファイル462は、図12と図13に示したNCプログラムコード表472から変換されたものであって、NCプログラムの内容自体は同じである。NCプログラムファイル462は、テーブル形式ではなく、テキスト形式である。テキスト形式では、テーブル形式における各行のコード列の間に、図中「↓」で示した改行コードが挿入される。また、NCプログラムファイル462において改行コードで区切られる各コード列について行レコードを設けることによって、NCプログラムコード表472へ変換することも可能である。
FIG. 14 is a data structure diagram of the NC program file 462 corresponding to FIGS. 12 and 13.
This NC program file 462 is converted from the NC program code table 472 shown in FIGS. 12 and 13, and the contents of the NC program itself are the same. The NC program file 462 is in text format, not in table format. In the text format, the line feed code indicated by "↓" in the figure is inserted between the code columns of each row in the table format. Further, it is also possible to convert to the NC program code table 472 by providing a line record for each code column separated by the line feed code in the NC program file 462.

図15と図16は、プログラム編集装置400におけるメイン処理過程を示すフローチャートである。
ユーザによってNCプログラムファイル462の読み込みが指示された場合には、読み込み処理を実行する(S12)。
15 and 16 are flowcharts showing the main processing process in the program editing apparatus 400.
When the user is instructed to read the NC program file 462, the reading process is executed (S12).

読み込み処理において、編集部442は、NCプログラムファイル462をNCプログラムコード表472に変換する。具体的には、編集部442は、改行コードで区切られているコード列を、順に行レコードに格納する。つまり、NCプログラムファイル462にN個の改行コードが含まれる場合には、NCプログラムコード表472にN+1個の行レコードが設けられる。カーソル位置474の行番号は、最終行の番号とする。カーソル位置474のインデックスは、最終行のコード列に含まれるコード数と同じにする。これによって、最後尾にカーソル206が設定される。 In the reading process, the editorial unit 442 converts the NC program file 462 into the NC program code table 472. Specifically, the editorial unit 442 stores the code columns separated by the line feed code in the row record in order. That is, when the NC program file 462 contains N line feed codes, N + 1 line records are provided in the NC program code table 472. The line number at the cursor position 474 is the number of the last line. The index at the cursor position 474 should be the same as the number of codes contained in the code column of the last row. As a result, the cursor 206 is set at the end.

NCプログラムファイル462の読み込みが指示されない場合には、コード列が空である行レコードを1個生成する。カーソル位置474の行番号は1とし、インデックスは0とする。 If the reading of the NC program file 462 is not instructed, one row record with an empty code column is generated. The line number of the cursor position 474 is 1, and the index is 0.

文字キーが押下された場合には(S14のY)、受付部422が文字コードを受け付けて、編集部442は文字挿入処理を実行する(S16)。文字挿入処理において、編集部442は、カーソル位置474の行番号で特定されるコード列のうち、カーソル位置474のインデックスで特定される箇所に、文字キーに対応する文字を挿入し、インデックスの値を1増加させる。プログラム表示部432は、文字を挿入した行を表示し直し、右へ移動したカーソル206を表示する。そして、S14の処理へ戻る。 When the character key is pressed (Y in S14), the reception unit 422 accepts the character code, and the editing unit 442 executes the character insertion process (S16). In the character insertion process, the editorial unit 442 inserts the character corresponding to the character key into the part specified by the index at the cursor position 474 in the code column specified by the line number at the cursor position 474, and the index value. Is increased by 1. The program display unit 432 redisplays the line in which the character is inserted, and displays the cursor 206 moved to the right. Then, the process returns to S14.

数字キーが押下された場合には(S18のY)、受付部422が数字コードを受け付けて、編集部442は数字挿入処理を実行する(S20)。数字挿入処理において、編集部442は、カーソル位置474の行番号で特定されるコード列のうち、カーソル位置474のインデックスで特定される箇所に、数字キーに対応する数字を挿入し、インデックスの値を1増加させる。プログラム表示部432は、数字を挿入した行を表示し直し、右へ移動したカーソル206を表示する。そして、S14の処理へ戻る。 When the number key is pressed (Y in S18), the reception unit 422 accepts the number code, and the editorial unit 442 executes the number insertion process (S20). In the number insertion process, the editorial unit 442 inserts a number corresponding to the number key in the code column specified by the line number at the cursor position 474 at the position specified by the index at the cursor position 474, and the index value. Is increased by 1. The program display unit 432 redisplays the line in which the number is inserted, and displays the cursor 206 moved to the right. Then, the process returns to S14.

記号キーが押下された場合には(S22のY)、受付部422が記号コードを受け付けて、編集部442は記号挿入処理を実行する(S24)。記号挿入処理において、編集部442は、カーソル位置474の行番号で特定されるコード列のうち、カーソル位置474のインデックスで特定される箇所に、記号キーに対応する記号を挿入し、インデックスの値を1増加させる。プログラム表示部432は、記号を挿入した行を表示し直し、右へ移動したカーソル206を表示する。そして、S14の処理へ戻る。 When the symbol key is pressed (Y in S22), the reception unit 422 accepts the symbol code, and the editorial unit 442 executes the symbol insertion process (S24). In the symbol insertion process, the editorial unit 442 inserts a symbol corresponding to the symbol key in the code column specified by the line number at the cursor position 474 at the position specified by the index at the cursor position 474, and the index value. Is increased by 1. The program display unit 432 redisplays the line in which the symbol is inserted and displays the cursor 206 moved to the right. Then, the process returns to S14.

右矢印キーが押下された場合には(S26のY)、受付部422が右矢印コードを受け付けて、編集部442は右矢印移動処理を実行する(S28)。右矢印移動処理において、編集部442は、カーソル206が行末にあるか否かを判定する。具体的には、編集部442は、カーソル位置474のインデックスの値がその行のコード列のコード数と一致するか否かを判定する。カーソル206が行末より前にあれば、編集部442は、インデックスの値を1増加させ、プログラム表示部432は、右へ移動したカーソル206を表示する。 When the right arrow key is pressed (Y in S26), the reception unit 422 receives the right arrow code, and the editorial unit 442 executes the right arrow movement process (S28). In the right arrow movement process, the editorial unit 442 determines whether or not the cursor 206 is at the end of the line. Specifically, the editorial unit 442 determines whether or not the index value at the cursor position 474 matches the number of codes in the code column of the row. If the cursor 206 is before the end of the line, the editorial unit 442 increments the index value by 1, and the program display unit 432 displays the cursor 206 moved to the right.

カーソル206が行末にあれば、編集部442は、さらにカーソル206が最終行にあるか否かを判定する。具体的には、編集部442は、カーソル位置474の行番号が最終行の番号であるか否かを判定する。カーソル206が最終行にある場合には、プログラム表示部432は、そのままの表示とする。 If the cursor 206 is at the end of a line, the editorial unit 442 further determines whether or not the cursor 206 is at the last line. Specifically, the editorial unit 442 determines whether or not the line number at the cursor position 474 is the number of the last line. When the cursor 206 is on the last line, the program display unit 432 displays as it is.

カーソル206が最終行以外の行末にある場合には、編集部442は、カーソル位置474の行番号の値を1増加させ、同じくインデックスの値を0とする。そして、プログラム表示部432は、1つ下の行の先頭にカーソル206を表示する。右矢印キーの操作でカーソル206が下の行へ移った場合には、シミュレーション処理を実行する(S29)。シミュレーション処理によって、白抜き線の強調表示が新たなカーソル行による挙動の部位に切り替わる。また、元のカーソル行のコード列が変更されている場合には、元のカーソル行において変更されたコード列による挙動を示すシミュレーション画像が表示される。そして、S14の処理へ戻る。シミュレーション処理については、図17に関連して詳述する。 When the cursor 206 is at the end of a line other than the last line, the editorial unit 442 increments the value of the line number at the cursor position 474 by 1 and sets the index value to 0. Then, the program display unit 432 displays the cursor 206 at the beginning of the line one line below. When the cursor 206 moves to the lower line by the operation of the right arrow key, the simulation process is executed (S29). By the simulation process, the highlighting of the white line is switched to the part of the behavior by the new cursor line. If the code column of the original cursor line has been changed, a simulation image showing the behavior of the changed code column in the original cursor line is displayed. Then, the process returns to S14. The simulation process will be described in detail in relation to FIG.

左矢印キーが押下された場合には(S30のY)、受付部422が左矢印コードを受け付けて、編集部442は左矢印移動処理を実行する(S32)。左矢印移動処理において、編集部442は、カーソル206が行頭にあるか否かを判定する。具体的には、編集部442は、カーソル位置474のインデックスが0であるか否かを判定する。カーソル206が行頭より後にあれば、編集部442は、カーソル位置474のインデックスの値を1減少させ、プログラム表示部432は、左へ移動したカーソル206を表示する。 When the left arrow key is pressed (Y in S30), the reception unit 422 receives the left arrow code, and the editorial unit 442 executes the left arrow movement process (S32). In the left arrow movement process, the editorial unit 442 determines whether or not the cursor 206 is at the beginning of the line. Specifically, the editorial unit 442 determines whether or not the index at the cursor position 474 is 0. If the cursor 206 is after the beginning of the line, the editorial unit 442 decrements the index value at the cursor position 474 by 1, and the program display unit 432 displays the cursor 206 moved to the left.

カーソル206が行頭にあれば、編集部442は、さらにカーソル206が1行目にあるか否かを判定する。具体的には、編集部442は、カーソル位置474の行番号が1であるか否かを判定する。カーソル206が1行目の行頭にある場合には、プログラム表示部432は、そのままの表示とする。 If the cursor 206 is at the beginning of a line, the editorial unit 442 further determines whether or not the cursor 206 is on the first line. Specifically, the editorial unit 442 determines whether or not the line number of the cursor position 474 is 1. When the cursor 206 is at the beginning of the first line, the program display unit 432 displays as it is.

カーソル206が2行目以降の行頭にある場合には、編集部442は、カーソル位置474の行番号の値を1減少させ、同じくインデックスの値を上の行のコード数と同じにする。そして、プログラム表示部432は、1つ上の行の末尾にカーソル206を表示する。左矢印キーの操作でカーソル206が上の行へ移った場合には、シミュレーション処理を実行する(S33)。シミュレーション処理によって、白抜き線の強調表示が新たなカーソル行による挙動の部位に切り替わる。また、元のカーソル行のコード列が変更されている場合には、元のカーソル行において変更されたコード列による挙動を示すシミュレーション画像が表示される。そして、S14の処理へ戻る。 When the cursor 206 is at the beginning of the second and subsequent lines, the editorial unit 442 decrements the value of the line number at the cursor position 474 by 1 and makes the index value the same as the number of codes in the upper line. Then, the program display unit 432 displays the cursor 206 at the end of the line one line above. When the cursor 206 moves to the upper line by the operation of the left arrow key, the simulation process is executed (S33). By the simulation process, the highlighting of the white line is switched to the part of the behavior by the new cursor line. If the code column of the original cursor line has been changed, a simulation image showing the behavior of the changed code column in the original cursor line is displayed. Then, the process returns to S14.

左矢印キーが押下されていないと判定した場合(S30のN)、図16に示したS34の処理へ移る。 When it is determined that the left arrow key is not pressed (N in S30), the process proceeds to the process of S34 shown in FIG.

上矢印キーが押下された場合には(S34のY)、受付部422が上矢印コードを受け付けて、編集部442は上矢印移動処理を実行する(S36)。上矢印移動処理において、編集部442は、カーソル206が1行目にあるか否かを判定する。具体的には、編集部442は、カーソル位置474の行番号が1であるか否かを判定する。カーソル206が1行目にある場合には、プログラム表示部432は、そのままの表示とする。 When the up arrow key is pressed (Y in S34), the reception unit 422 receives the up arrow code, and the editorial unit 442 executes the up arrow movement process (S36). In the up arrow movement process, the editorial unit 442 determines whether or not the cursor 206 is on the first line. Specifically, the editorial unit 442 determines whether or not the line number of the cursor position 474 is 1. When the cursor 206 is on the first line, the program display unit 432 displays as it is.

カーソル206が2行目以降にある場合には、編集部442は、カーソル位置474の行番号の値を1減少させる。また、カーソル位置474のインデックスの値が上の行のコード数を超える場合には、編集部442は、インデックスの値をコード数と同じにする。そして、プログラム表示部432は、上の行にカーソル206を表示する。上矢印キーの操作でカーソル206が上の行へ移った場合には、シミュレーション処理を実行する(S37)。シミュレーション処理によって、白抜き線の強調表示が新たなカーソル行による挙動の部位に切り替わる。また、元のカーソル行のコード列が変更されている場合には、元のカーソル行において変更されたコード列による挙動を示すシミュレーション画像が表示される。そして、S14の処理へ戻る。 When the cursor 206 is on the second and subsequent lines, the editorial unit 442 decrements the value of the line number at the cursor position 474 by 1. If the index value at the cursor position 474 exceeds the number of codes in the upper line, the editorial unit 442 sets the index value to be the same as the number of codes. Then, the program display unit 432 displays the cursor 206 on the upper line. When the cursor 206 moves to the upper line by the operation of the up arrow key, the simulation process is executed (S37). By the simulation process, the highlighting of the white line is switched to the part of the behavior by the new cursor line. If the code column of the original cursor line has been changed, a simulation image showing the behavior of the changed code column in the original cursor line is displayed. Then, the process returns to S14.

下矢印キーが押下された場合には(S38のY)、受付部422が下矢印コードを受け付けて、編集部442は下矢印移動処理を実行する(S40)。下矢印移動処理において、編集部442は、カーソル206が最終行にあるか否かを判定する。具体的には、編集部442は、カーソル位置474の行番号が最終行の番号であるか否かを判定する。カーソル206が最終行にある場合には、そのままの表示とする。 When the down arrow key is pressed (Y in S38), the reception unit 422 accepts the down arrow code, and the editorial unit 442 executes the down arrow movement process (S40). In the down arrow movement process, the editorial unit 442 determines whether or not the cursor 206 is on the last line. Specifically, the editorial unit 442 determines whether or not the line number at the cursor position 474 is the number of the last line. If the cursor 206 is on the last line, it is displayed as it is.

カーソル206が最終行以外にある場合には、編集部442は、カーソル位置474の行番号の値を1増加させる。また、カーソル位置474のインデックスの値が下の行のコード数を超える場合には、編集部442は、インデックスの値をコード数と同じにする。そして、プログラム表示部432は、下の行にカーソル206を表示する。下矢印キーの操作でカーソル206が下の行へ移った場合には、シミュレーション処理を実行する(S41)。シミュレーション処理によって、白抜き線の強調表示が新たなカーソル行による挙動の部位に切り替わる。また、元のカーソル行のコード列が変更されている場合には、元のカーソル行において変更されたコード列による挙動を示すシミュレーション画像が表示される。そして、S14の処理へ戻る。 When the cursor 206 is on a line other than the last line, the editorial unit 442 increments the value of the line number at the cursor position 474 by 1. If the index value at the cursor position 474 exceeds the number of codes in the lower line, the editorial unit 442 sets the index value to be the same as the number of codes. Then, the program display unit 432 displays the cursor 206 on the lower line. When the cursor 206 moves to the lower line by the operation of the down arrow key, the simulation process is executed (S41). By the simulation process, the highlighting of the white line is switched to the part of the behavior by the new cursor line. If the code column of the original cursor line has been changed, a simulation image showing the behavior of the changed code column in the original cursor line is displayed. Then, the process returns to S14.

「;」キーが押下された場合には(S42のY)、受付部422が「;」コードを入力して、編集部442は改行処理を実行する(S44)。改行処理において、編集部442は、カーソル206がある行の後に新しい行を挿入する。挿入箇所以降の各行の行番号は、1つ繰り下げる。また、編集部442は、カーソル206がある行のコード列のうち、カーソル206以降の部分を新しい行のコード列へ移す。つまり、カーソル206の位置でコード列を切り分ける。編集部442は、カーソル位置474の行番号の値を1増加させ、同じくインデックスの値を0とする。プログラム表示部432は、下の行の先頭へ移ったカーソル206を表示する。そして、シミュレーション部444は、シミュレーション処理を実行する(S45)。 When the ";" key is pressed (Y in S42), the reception unit 422 inputs the ";" code, and the editorial unit 442 executes line feed processing (S44). In the line feed process, the editorial unit 442 inserts a new line after the line where the cursor 206 is located. The line number of each line after the insertion point is decremented by one. Further, the editorial unit 442 moves the part after the cursor 206 to the code column of the new line in the code column of the line where the cursor 206 is located. That is, the code string is separated at the position of the cursor 206. The editorial unit 442 increments the value of the line number at the cursor position 474 by 1, and also sets the index value to 0. The program display unit 432 displays the cursor 206 moved to the beginning of the lower line. Then, the simulation unit 444 executes the simulation process (S45).

削除キーが押下された場合には(S46のY)、受付部422が削除コードを受け付けて、編集部442は削除処理を実行する(S48)。削除処理において、編集部442は、カーソル206が行末にあるか否かを判定する。具体的には、編集部442は、インデックスの値がその行のコード数と一致するか否かを判定する。カーソル206の位置が行末でなければ、編集部442は、その行のコード列のうちインデックスが指すコードを削除し、プログラム表示部432は、その行を表示し直す。カーソル206が行末にあれば、編集部442は、次の行のコード列を上の行のコード列に加える。次の行は無くなり、その下以降の行が繰り上げられる。プログラム表示部432は、カーソル206がある行以降を表示し直す。そして、シミュレーション部444は、シミュレーション処理を実行する(S49)。 When the delete key is pressed (Y in S46), the reception unit 422 accepts the deletion code, and the editorial unit 442 executes the deletion process (S48). In the deletion process, the editorial unit 442 determines whether or not the cursor 206 is at the end of the line. Specifically, the editorial unit 442 determines whether or not the index value matches the number of codes in the line. If the position of the cursor 206 is not the end of a line, the editorial unit 442 deletes the code pointed to by the index in the code column of the line, and the program display unit 432 redisplays the line. If the cursor 206 is at the end of a line, the editorial unit 442 adds the code column of the next line to the code column of the upper line. The next line disappears, and the lines below it are moved up. The program display unit 432 redisplays the line after the line where the cursor 206 is located. Then, the simulation unit 444 executes the simulation process (S49).

終了指示を受け付けた場合には(S50のY)、書き込み処理を実行する(S52)。書き込み処理において、編集部442は、NCプログラムコード表472をNCプログラムファイル462に変換し、保存する。そして、メイン処理を終了する。 When the end instruction is received (Y in S50), the writing process is executed (S52). In the writing process, the editorial unit 442 converts the NC program code table 472 into the NC program file 462 and saves it. Then, the main process is terminated.

図17は、シミュレーション処理過程を示すフローチャートである。
シミュレーション部444は、NCプログラムコード表472における行レコードを順次特定する(S60)。シミュレーション部444は、その行レコードのコード列の指令による経路を算定する(S62)。Gコードなどの指令による経路の算定方法は、従来技術と同様でもよい。算定された経路は、その行レコードの行番号を対応づけて経路テーブル478に記憶される。シミュレーション部444は、その行レコードのコード列の指令による加工内容に応じてワーク3Dモデル476を変形させる(S64)。Gコードなどの指令によるワーク3Dモデル476の変形方法は、従来技術と同様でもよい。変形されたワーク3Dモデル476は、その行レコードの行番号を対応づけて一時記憶領域470に記憶される。シミュレーション部444は、最終行の1つ前に至るまで(S66のN)、S60へ戻ってS62とS64の処理を繰り返す。
FIG. 17 is a flowchart showing the simulation processing process.
The simulation unit 444 sequentially specifies the row records in the NC program code table 472 (S60). The simulation unit 444 calculates the route according to the command of the code column of the row record (S62). The method of calculating the route by a command such as a G code may be the same as that of the prior art. The calculated route is stored in the route table 478 in association with the row number of the row record. The simulation unit 444 deforms the work 3D model 476 according to the processing content according to the command of the code column of the row record (S64). The method of transforming the work 3D model 476 by a command such as a G code may be the same as that of the prior art. The modified work 3D model 476 is stored in the temporary storage area 470 in association with the line number of the line record. The simulation unit 444 returns to S60 and repeats the processes of S62 and S64 until just before the last line (N of S66).

最終行の1つ前まで処理すると(S66のY)、画像表示部434は、シミュレーション画面204に最新のワーク3Dモデル476を描画する(S68)。 When processing up to one line before the last line (Y in S66), the image display unit 434 draws the latest work 3D model 476 on the simulation screen 204 (S68).

カーソル206が最終行にあれば(S70のY)、画像表示部434は、最終行の1つ前の行の指令によって得られた経路を示す線に太線属性を設定する(S72)。つまり、カーソル位置474の行番号が最終行の行番号と一致する場合には、最終行の行番号−1に対応する経路が太線で強調される。 If the cursor 206 is on the last line (Y in S70), the image display unit 434 sets a thick line attribute on the line indicating the route obtained by the command of the line immediately before the last line (S72). That is, when the line number of the cursor position 474 matches the line number of the last line, the route corresponding to the line number -1 of the last line is highlighted by a thick line.

一方、カーソル206が最終行より上にあれば(S70のN)、画像表示部434は、カーソル行の指令によって得られた経路を示す線に白抜き属性を設定する(S74)。つまり、カーソル位置474の行番号が最終行の行番号と一致しない場合には、カーソル位置474の行番号に対応する経路が白抜き線で強調される。 On the other hand, if the cursor 206 is above the last line (N in S70), the image display unit 434 sets a white attribute on the line indicating the route obtained by the command of the cursor line (S74). That is, when the line number of the cursor position 474 does not match the line number of the last line, the path corresponding to the line number of the cursor position 474 is highlighted by a white line.

画像表示部434は、上述の各経路の線をシミュレーション画面204に描画する(S76)。そして、S14の処理へ戻る。 The image display unit 434 draws a line of each of the above-mentioned paths on the simulation screen 204 (S76). Then, the process returns to S14.

これにより、図2〜図7に関連して説明したとおり、NCプログラムの入力作業において「;」キーを押下すると、空の行が追加されその行にカーソル206が移り、元の行で入力した指令に応じた太線の経路が現れる。したがって、ユーザは、想定どおりにコーディングできたかをすぐに確認できる。また、どの段階までコーディングしたかを常に意識しているので、勘違いによる記述の重複や欠落を防ぎやすい。 As a result, as described in relation to FIGS. 2 to 7, when the ";" key is pressed in the input work of the NC program, an empty line is added, the cursor 206 moves to that line, and the original line is input. A thick line route appears according to the command. Therefore, the user can immediately confirm that the coding was performed as expected. In addition, since we are always aware of the stage of coding, it is easy to prevent duplication and omission of descriptions due to misunderstanding.

また、図8と図9に関連して説明したとおり、NCプログラムの見直し作業においてカーソル206を移動させると、カーソル206がある行の指令による経路が白抜き線に変る。したがって、ユーザは、プログラムの記述と工作の挙動との関係を把握しやすい。 Further, as described in relation to FIGS. 8 and 9, when the cursor 206 is moved in the NC program review work, the route according to the command of the line where the cursor 206 is located changes to a white line. Therefore, the user can easily understand the relationship between the description of the program and the behavior of the work.

[変形例1]
コーディングを補助するために、指令入力のガイダンス画面を表示するようにしてもよい。ここでは、Gコード入力のガイダンス画面の例を示す。
[Modification 1]
A guidance screen for command input may be displayed to assist coding. Here, an example of a guidance screen for inputting a G code is shown.

図18は、Gコード入力ガイダンス画面の画面図である。
Gコード入力ガイダンス画面500は、編集画面202におけるGコードの記述をガイドする。ユーザによって編集画面202内のガイダンスボタン602(図2)がタッチされると、画面表示部436はガイダンス画面500(図18)を表示する。ユーザがGの入力領域502にGコードの番号を入力すると、Gコードの種類(たとえば、「ヘリカル穴あけサイクル」)および引数の構成(たとえば、「G439(X_Y_Z_R_H_I_J_K_U_V_W)」)が表示され、各引数に対応する入力領域504a〜hが表示される。ユーザがいずれかの引数の入力領域504を選択すると、入力領域504にその引数の値を入力することが可能となる。この例では、ユーザによって選択された引数Xの入力領域504aにカーソル206が表示され、引数Xの値を受け付ける状態を表している。また、選択された引数Xに関する概念図506と説明文508が表示される。引数Xに関する概念図506と説明文508を参照することによって、ユーザは引数Xの変数としての意味を理解できる。入力された引数の値は、引数領域514に表示される。他の引数についても同様である。図中の「*」は、値入力が必須であることを示している。ユーザが挿入ボタン510にタッチすると、Gコードと各引数の値が、所定の書式に従って、編集画面202のカーソル位置474に挿入される。ユーザが戻るボタン512にタッチした場合には、何も挿入されない。このようにすれば、ユーザはGコード毎の書式を調べる必要がなく、Gコードに関する記述の入力が簡単になる。ユーザが入力領域502へGコードの番号を直接入力せずに、Gコード入力ガイダンス画面の前に表示されるリストからGコードを選択できるようにしてもよい。
FIG. 18 is a screen view of the G code input guidance screen.
The G code input guidance screen 500 guides the description of the G code on the edit screen 202. When the user touches the guidance button 602 (FIG. 2) in the edit screen 202, the screen display unit 436 displays the guidance screen 500 (FIG. 18). When the user inputs a G code number in the G input area 502, the G code type (eg, "helical drilling cycle") and the argument configuration (eg, "G439 (X_Y_Z_R_H_I_J_K_U_V_W)") are displayed in each argument. The corresponding input areas 504a-h are displayed. When the user selects the input area 504 of any of the arguments, the value of the argument can be input to the input area 504. In this example, the cursor 206 is displayed in the input area 504a of the argument X selected by the user, and represents a state in which the value of the argument X is accepted. Further, the conceptual diagram 506 and the explanatory text 508 regarding the selected argument X are displayed. By referring to the conceptual diagram 506 and the description 508 regarding the argument X, the user can understand the meaning of the argument X as a variable. The value of the input argument is displayed in the argument area 514. The same applies to other arguments. "*" In the figure indicates that the value input is indispensable. When the user touches the insert button 510, the G code and the value of each argument are inserted into the cursor position 474 of the edit screen 202 according to a predetermined format. If the user touches the back button 512, nothing is inserted. By doing so, the user does not need to check the format for each G code, and it becomes easy to input the description related to the G code. The user may be able to select the G code from the list displayed in front of the G code input guidance screen without directly inputting the G code number into the input area 502.

[変形例2]
変形例2は、アイコンボタンのタッチ操作によるガイダンスメッセージ表示に関する。プログラム編集装置は、タッチパネルを用いるものとする。
[Modification 2]
Modification 2 relates to displaying a guidance message by touching an icon button. The program editing device shall use a touch panel.

アイコンボタンは見た目で何をするためのボタンなのかがわかりにくいという課題がある。ガイダンスメッセージでボタンの説明を表示したいが、固定のメッセージ領域を確保できない。パーソナルコンピュータでは、マウスオーバーによりガイダンスメッセージを表示できるが、タッチパネルではマウスオーバーのような操作ができない。 There is a problem that it is difficult to understand what the icon button is for by looking at it. I want to display a button description in a guidance message, but I cannot secure a fixed message area. On a personal computer, a guidance message can be displayed by mouse over, but an operation like mouse over cannot be performed on the touch panel.

図19は、編集−シミュレーションの画面におけるガイダンスメッセージ604bの例を示す図である。画面表示部436は、シミュレーション画像を表示することを実行するためのボタン600aなどのボタン600を表示するボタン表示部を有する。さらに、インターフェース処理部410の入力部420は、タッチパネルにおけるタッチ操作を検出するタッチ検出部を有する。タッチ検出部が、アイコンボタン600aの長いタッチを検出すると、ボタン表示部は、アイコンボタン600aに対応する機能「シミュレーション開始」を示すガイダンスメッセージ604bを、アイコンボタン600aの近接位置に表示する。他のアイコンボタン600についても同様に、イベント検出部が、アイコンボタン600の長いタッチを検出すると、ボタン表示部は、そのアイコンボタン600に対応する機能内容を示すガイダンスメッセージ604bを、そのアイコンボタン600の近接位置に表示する。また、メッセージ表示部は、「NCプログラムの実行順に強調表示されます。」という機能メッセージ606を表示する。ガイダンスメッセージ表示中にタッチしている指を放しても「シミュレーション開始」の機能は実行されない。ただし、短くタッチした場合には、シミュレーション開始の機能を実行する。なお、イベント検出部は、アイコンボタン600に対するタッチが継続している時間が基準値を超えた場合に、アイコンボタン600の長いタッチが行われたと判定する。アイコンボタン600に対するタッチが継続している時間が基準値を下回る場合には、イベント検出部は、アイコンボタン600の短いタッチが行われたと判定する。また、データ格納部450は、保存記憶領域460に、アイコンボタン600毎に、そのアイコンボタン600に対応する機能内容を示すガイダンスメッセージ604を記憶するガイダンスメッセージ記憶部を有するものとする。 FIG. 19 is a diagram showing an example of the guidance message 604b on the edit-simulation screen. The screen display unit 436 has a button display unit that displays a button 600 such as a button 600a for executing displaying a simulation image. Further, the input unit 420 of the interface processing unit 410 has a touch detection unit that detects a touch operation on the touch panel. When the touch detection unit detects a long touch of the icon button 600a, the button display unit displays a guidance message 604b indicating the function "simulation start" corresponding to the icon button 600a at a position close to the icon button 600a. Similarly for the other icon buttons 600, when the event detection unit detects a long touch of the icon button 600, the button display unit issues a guidance message 604b indicating the function content corresponding to the icon button 600 to the icon button 600. Display in close proximity to. In addition, the message display unit displays the function message 606 "Highlighted in the order of execution of NC programs." The "Start Simulation" function is not executed even if the touched finger is released while the guidance message is displayed. However, if you touch it briefly, the simulation start function is executed. The event detection unit determines that the long touch of the icon button 600 has been performed when the time during which the touch to the icon button 600 continues exceeds the reference value. If the time during which the touch to the icon button 600 continues is less than the reference value, the event detection unit determines that the short touch of the icon button 600 has been performed. Further, the data storage unit 450 shall have a guidance message storage unit in the storage storage area 460 for storing a guidance message 604 indicating the function content corresponding to the icon button 600 for each icon button 600.

図19に示したアイコンボタン600について説明する。
タッチ検出部が、ファイル一覧ボタン600gの長いタッチ(長押し)を検出すると、画面表示部436は、ファイル一覧画面に遷移する。タッチ検出部が、編集ボタン600hの長いタッチ(長押し)を検出すると、画面表示部436は、ファイル一覧画面でユーザに選択されたファイルの編集画面に遷移する。タッチ検出部が、シミュレーションボタン600iの長いタッチ(長押し)を検出すると、画面表示部436は、編集しているファイルに設定されたNCプログラムをシミュレーションする画面に遷移する。タッチ検出部が、フォアグラウンド/バックグラウンド切替ボタン600jの長いタッチ(長押し)を検出すると、画面表示部436は、フォアグラウンド画面とバックグラウンド画面を切り替える。例えばバックグラウンド画面で編集したNCプログラムを運転する場合は、フォアグラウンド画面でプログラムを実行する必要があるので、当該ボタンでフォアグラウンド画面に切り替える。
The icon button 600 shown in FIG. 19 will be described.
When the touch detection unit detects a long touch (long press) of the file list button 600g, the screen display unit 436 transitions to the file list screen. When the touch detection unit detects a long touch (long press) of the edit button 600h, the screen display unit 436 transitions to the file editing screen selected by the user on the file list screen. When the touch detection unit detects a long touch (long press) of the simulation button 600i, the screen display unit 436 transitions to a screen for simulating the NC program set in the file being edited. When the touch detection unit detects a long touch (long press) of the foreground / background switching button 600j, the screen display unit 436 switches between the foreground screen and the background screen. For example, when driving an NC program edited on the background screen, it is necessary to execute the program on the foreground screen, so the button switches to the foreground screen.

図20は、バックグラウンド編集の画面図である。バックグラウンド編集画面は、アイコンボタン600g〜j,600r,600sを有する。図20〜図23に示すバックグラウンド編集の画面は、図2〜図9の「編集画面204とシミュレーション画面204」と同様に、操作盤702の操作画面704に表示される。また、バックグラウンド編集の画面は、「編集画面204とシミュレーション画面204」と切り替え可能である。 FIG. 20 is a screen view of background editing. The background editing screen has icon buttons 600g to j, 600r, 600s. The background editing screens shown in FIGS. 20 to 23 are displayed on the operation screen 704 of the operation panel 702, similarly to the “editing screen 204 and simulation screen 204” of FIGS. 2 to 9. Further, the background editing screen can be switched between "editing screen 204 and simulation screen 204".

図20に示したアイコンボタン600について説明する。
タッチ検出部が、追加ボタン600rの長いタッチ(長押し)を検出すると、データ作成部は、データを新規作成する。タッチ検出部が、表示情報切替ボタン600sの長いタッチ(長押し)を検出すると、ボタン表示部は、2階層目のツールバーを表示する。表示項目のチェック状態を変更することで、画面に表示する表示項目を変更できる。
The icon button 600 shown in FIG. 20 will be described.
When the touch detection unit detects a long touch (long press) of the additional button 600r, the data creation unit creates new data. When the touch detection unit detects a long touch (long press) of the display information switching button 600s, the button display unit displays the toolbar of the second layer. By changing the check status of the display items, the display items displayed on the screen can be changed.

図21は、バックグラウンド編集の画面におけるガイダンスメッセージ604cの例を示す図である。タッチ検出部が、アイコンボタン600sの長いタッチを検出すると、ボタン表示部は、アイコンボタン600sに対応する機能「表示情報変更」を示すガイダンスメッセージ604cを、アイコンボタン600sの近接位置に表示する。 FIG. 21 is a diagram showing an example of the guidance message 604c on the background editing screen. When the touch detection unit detects a long touch of the icon button 600s, the button display unit displays a guidance message 604c indicating the function "change display information" corresponding to the icon button 600s at a position close to the icon button 600s.

図22は、バックグラウンド編集画面で工程が選択された状態を示す図である。いずれかの工程が選択された状態で、ボタン表示部は、さらにアイコンボタン600t〜wを表示する。 FIG. 22 is a diagram showing a state in which a process is selected on the background editing screen. With any of the steps selected, the button display unit further displays the icon buttons 600t to w.

図22に示したアイコンボタン600について説明する。
タッチ検出部が、編集切替ボタン600tの長いタッチ(長押し)を検出すると、編集部442は、加工工程の編集モードを切り替える。編集モードを切り替えることで、対話形式で設定した加工工程のNCプログラムを手編集できる。タッチ検出部が、加工ON/OFFボタン600uの長いタッチ(長押し)を検出すると、切り替え部は、加工工程の実行/非実行を切り替える。加工OFFに設定することで当該加工工程はNCプログラムに出力されなくなる。タッチ検出部が、削除ボタン600vの長いタッチ(長押し)を検出すると、データ削除部は、ユーザが選択したデータを削除する。タッチ検出部が、複製ボタン600wの長いタッチ(長押し)を検出すると、データ複製部は、ユーザが選択したデータを複製する。
The icon button 600 shown in FIG. 22 will be described.
When the touch detection unit detects a long touch (long press) of the edit switching button 600t, the editorial unit 442 switches the edit mode of the machining process. By switching the edit mode, the NC program of the machining process set interactively can be edited manually. When the touch detection unit detects a long touch (long press) of the machining ON / OFF button 600u, the switching section switches between execution / non-execution of the machining process. By setting the machining to OFF, the machining process is not output to the NC program. When the touch detection unit detects a long touch (long press) of the delete button 600v, the data deletion unit deletes the data selected by the user. When the touch detection unit detects a long touch (long press) of the duplication button 600w, the data duplication unit duplicates the data selected by the user.

図23は、バックグラウンド編集の画面におけるガイダンスメッセージ604dの例を示す図である。タッチ検出部が、アイコンボタン600uに対する長いタッチを検出すると、ボタン表示部は、アイコンボタン600uに対応する機能「加工OFF」を示すガイダンスメッセージ604dを、そのアイコンボタン600uの近接位置に表示する。なお、加工OFFは、その加工工程を無効にする機能である。加工OFFに設定された工程は、実行されない。 FIG. 23 is a diagram showing an example of the guidance message 604d on the background editing screen. When the touch detection unit detects a long touch on the icon button 600u, the button display unit displays a guidance message 604d indicating the function "machining OFF" corresponding to the icon button 600u at a position close to the icon button 600u. Processing OFF is a function of invalidating the processing process. The process set to machining OFF is not executed.

[その他の変形例]
また、シミュレーション画面204における強調表示の態様は、太線や白抜き線以外でもよい。強調する経路に特定の色や輝度を施してもよい。あるいは、強調する経路をアニメーションで表示してもよい。上述の強調表示は、特定の態様による表示の例である。例示した強調表示に相当する経路が、その他の通常表示による経路と区別できる程度の態様で表示されてもよい。
[Other variants]
Further, the highlighting mode on the simulation screen 204 may be other than a thick line or a white line. A specific color or brightness may be applied to the path to be emphasized. Alternatively, the route to be emphasized may be displayed by animation. The highlighting described above is an example of display in a particular embodiment. The route corresponding to the illustrated highlighting may be displayed in a manner that can be distinguished from other routes by normal display.

また、太線で例示した経路と白抜き線で例示した経路について、表示態様を共通にしてもよい。両方とも同じ太さの線で表示してもよいし、両方とも同じ線種の線で表示してもよい。両方とも同じ色の線で表示してもよいし、両方とも同じ輝度の線で表示してもよい。また、両方とも同じアニメーションで表示してもよい。 Further, the display mode may be the same for the route illustrated by the thick line and the route illustrated by the white line. Both may be displayed with lines of the same thickness, or both may be displayed with lines of the same line type. Both may be displayed with lines of the same color, or both may be displayed with lines of the same brightness. Also, both may be displayed with the same animation.

また、シミュレーション画面204において、カーソルがある行より下の行の番号に対応する経路を表示せず、カーソルがある行までに対応する経路だけを表示するようにしてもよい。つまり、たとえば図8で、経路320と経路322を表示しなくてもよい。また、図9で経路316、経路318、経路320及び経路322を表示しなくてもよい。具体的な処理としては、図17のS66において、シミュレーション部444がカーソル行まで処理を終えたか否かを判定する。カーソル行まで処理していなければ(S66のN)、S60へ戻ってS62とS64の処理を繰り返す。カーソル行まで処理していれば(S66のY)、画像表示部434は、シミュレーション画面204にワーク3Dモデル476を描画する(S68)。 Further, on the simulation screen 204, the route corresponding to the number of the line below the line where the cursor is located may not be displayed, and only the route corresponding to the line where the cursor is located may be displayed. That is, for example, in FIG. 8, it is not necessary to display the route 320 and the route 322. Further, it is not necessary to display the route 316, the route 318, the route 320, and the route 322 in FIG. As a specific process, in S66 of FIG. 17, it is determined whether or not the simulation unit 444 has completed the process up to the cursor line. If the cursor line has not been processed (N in S66), the process returns to S60 and the processing of S62 and S64 is repeated. If the cursor line is processed (Y in S66), the image display unit 434 draws the work 3D model 476 on the simulation screen 204 (S68).

また、シミュレーション画面204において、経路のみを表示して、ワーク100を表示しないようにしてもよい。具体的な処理としては、S64の処理およびS68の処理を省いてもよい。 Further, on the simulation screen 204, only the route may be displayed and the work 100 may not be displayed. As specific processing, the processing of S64 and the processing of S68 may be omitted.

また、シミュレーション画面204において、ワーク100のみを表示して、経路を表示しないようにしてもよい。具体的な処理としては、S72の処理、S74の処理およびS76の処理を省いてもよい。 Further, on the simulation screen 204, only the work 100 may be displayed and the route may not be displayed. As specific processing, the processing of S72, the processing of S74, and the processing of S76 may be omitted.

また、メイン処理において、文字挿入処理、数字挿入処理および記号挿入処理の後に、シミュレーション処理を実行してもよい。このようにすれば、コードの挿入によって指令を修正した時点で、修正された内容によるシミュレーションが表示される。 Further, in the main process, the simulation process may be executed after the character insertion process, the number insertion process, and the symbol insertion process. By doing so, when the command is modified by inserting the code, the simulation with the modified content is displayed.

また、編集画面202において改行キーが入力された場合に、新しい行の先頭に「;」を自動的に入力するようにしてもよい。 Further, when the line feed key is input on the edit screen 202, ";" may be automatically input at the beginning of the new line.

図17に関連して説明したシミュレーション処理について、通常はNCプログラムの最初から実行するが、NCプログラムの最初から実行されなくてもよい。たとえば、NCプログラムの途中からシミュレーション処理を実行してもよい。その場合には、図17のS60において、シミュレーション部444は、シミュレーションを行う途中のコード列から、NCプログラムコード表472における行レコードの特定を開始する。たとえば、受付部422において、シミュレーションを開始させるコード列の指定を受け付けて、シミュレーション部444は、指定されたコード列の行レコードからS60以降の処理を開始してもよい。受付部422は、指定されるコード列の行番号を受け付けてもよいし、指定されるコード列に対するタッチ操作やクリック操作を受け付けてもよい。そうすれば、NCプログラムの途中から工作の挙動を示すシミュレーション画像の表示が行われる。また、ユーザが追加したコード列の複数行前からシミュレーションを実行するようにしてもよい。追加したコード列から遡る行数は、たとえば100行から200行の範囲内である。遡る行数は、予め決めておいてもよいし、ユーザが指定してもよい。予め決めておく場合には、保存記憶領域460に所定の遡り行数を記憶しておく。ユーザが指定する場合には、受付部422において遡り行数を受け付ける。シミュレーション部444は、NCプログラムに追加されたコード列の行番号から遡り行数を引いて、S60において、シミュレーションを開始させる行レコードを特定する。これにより、作業者は、変更したNCプログラムの箇所の確認を容易に行うことができる。 The simulation process described in relation to FIG. 17 is usually executed from the beginning of the NC program, but it does not have to be executed from the beginning of the NC program. For example, the simulation process may be executed from the middle of the NC program. In that case, in S60 of FIG. 17, the simulation unit 444 starts specifying the row record in the NC program code table 472 from the code string in the middle of the simulation. For example, the reception unit 422 may accept the designation of the code column for starting the simulation, and the simulation unit 444 may start the processing after S60 from the row record of the designated code column. The reception unit 422 may accept the line number of the designated code column, or may accept a touch operation or a click operation for the designated code column. Then, the simulation image showing the behavior of the work is displayed from the middle of the NC program. Further, the simulation may be executed from a plurality of lines before the code column added by the user. The number of rows traced back from the added code column is, for example, in the range of 100 to 200 rows. The number of lines to be traced back may be determined in advance or may be specified by the user. If it is decided in advance, a predetermined number of retroactive lines is stored in the storage storage area 460. When specified by the user, the reception unit 422 accepts the number of retroactive lines. The simulation unit 444 subtracts the number of retroactive lines from the line number of the code column added to the NC program, and identifies the line record for starting the simulation in S60. As a result, the worker can easily confirm the location of the changed NC program.

また、NCプログラムの変更後のシミュレーションの再開について、新規にコードを追加した箇所またはコードを編集した箇所からシミュレーション動画で5秒から15秒の範囲内で前まで遡って再開するように、ユーザ操作あるいは自動的にシミュレーション部444に設定してもよい。たとえば、シミュレーションの動作において1行に割り当てられる単位動作時間(行単位の動画再生時間)を決めておいてもよい。あるいは、NCプログラムの行ごとの指令に応じて各行に割り当てられる工作の挙動を示すシミュレーション画像の動作時間(指令別の動画再生時間)を算出してもよい。シミュレーション部444において、指令の種類に対応して動画再生時間を決めておいてもよい。シミュレーション部444は、新規行または編集行から昇順に各行の動作時間(動画再生時間)を合算することによって遡って再生される動画の再生時間を算出する。そして、シミュレーション部444は、動画再生時間が5秒から15秒の範囲内に収まる動画再生開始の行を特定する。このようにして、新たな行のコード列を受け付けたとき、または、1つの行のコード列の変更を付け付けたときに、シミュレーション画像においてそのコード列から5秒から15秒の範囲の動画再生時間前まで遡ってシミュレーション画像の動画再生を行える。プログラムチェックの5秒から15秒の範囲であっても、実際の加工はもっと長く(たとえば、1時間)かかる場合もあり、実際の加工時間とシミュレーションの動作時間は異なる。プログラムチェックで5秒から15秒の範囲内で遡って確認すれば、長い時間かかる加工工程も短い時間で効率よく確認できる。 In addition, regarding the restart of the simulation after changing the NC program, the user operation is performed so that the simulation video is restarted retroactively within a range of 5 to 15 seconds from the place where the code is newly added or the place where the code is edited. Alternatively, it may be automatically set in the simulation unit 444. For example, the unit operation time (line-by-line moving image playback time) allocated to one line in the simulation operation may be determined. Alternatively, the operation time (video playback time for each command) of the simulation image showing the behavior of the work assigned to each line according to the command for each line of the NC program may be calculated. In the simulation unit 444, the moving image reproduction time may be determined according to the type of command. The simulation unit 444 calculates the reproduction time of the moving image to be reproduced retroactively by adding up the operation times (moving image reproduction time) of each line in ascending order from the new line or the editing line. Then, the simulation unit 444 identifies the line for starting the moving image reproduction within the range of the moving image reproduction time of 5 seconds to 15 seconds. In this way, when a new row of code columns is accepted, or when one row of code columns is modified, video playback in the range of 5 to 15 seconds from that code column in the simulation image is played. You can play back the simulation image as a movie by going back in time. Even in the range of 5 to 15 seconds of the program check, the actual machining may take longer (for example, 1 hour), and the actual machining time and the operation time of the simulation are different. If the program check is performed retroactively within the range of 5 to 15 seconds, the machining process that takes a long time can be efficiently confirmed in a short time.

対象とする工作機械700は、マシニングセンタ以外でもよい。たとえば、ターニングセンタや複合加工機等に、上述の実施形態や変形例を適用してもよい。 The target machine tool 700 may be other than the machining center. For example, the above-described embodiment or modification may be applied to a turning center, a multi-tasking machine, or the like.

これらの工作機械700は、いずれも、工作するための工作部と、画面を有し工作機械の操作を行うための操作盤702と、工作するために、工作部内の機能部の位置を制御する数値制御部(NC装置)とを有する。工作機械700がマシニングセンタであれば、工作部は、刃物工具、主軸、主軸を回転させるサーボモーター、パレット、ATC(Automatic Tool Changer:自動工具交換装置)および工具マガジンなどを含み、フライス削り、中ぐり、穴あけやねじ立てなどの加工を行う。工作機械700がターニングセンタであれば、工作部は、刃物工具、回転軸、回転軸を回転させるサーボモーター、タレット、ATCおよび工具マガジンなどを含み、主に旋削加工を行う。マシニングセンタの主軸やターニングセンタのタレットは、工作部内の機能部に相当する。 Each of these machine tools 700 controls the positions of a machine tool for working, an operation panel 702 having a screen for operating the machine tool, and a functional part in the machine tool for working. It has a numerical control unit (NC device). If the machine tool 700 is a machining center, the machine tool includes a cutting tool, a spindle, a servo motor that rotates the spindle, a pallet, an ATC (Automatic Tool Changer), a tool magazine, etc. , Perform processing such as drilling and threading. If the machine tool 700 is a turning center, the machine tool includes a cutting tool, a rotary shaft, a servomotor for rotating the rotary shaft, a turret, an ATC, a tool magazine, and the like, and mainly performs turning. The spindle of the machining center and the turret of the turning center correspond to the functional parts in the machining part.

数値制御部は、工作部のサーボモーターやATCなどに対して、直接あるいはPLC(Programmable Logic Controller)を介して数値制御を行って工作部内の機能部の位置や工具の選択を制御する。マシニングセンタの数値制御部は、機能部である主軸を移動させる。ターニングセンタの数値制御部は、機能部であるタレットを移動させる。これによって加工の作用箇所である刃先が移動することになる。 The numerical control unit controls the position of the functional unit and the selection of the tool in the work unit by performing numerical control on the servo motor or ATC of the work unit directly or via PLC (Programmable Logic Controller). The numerical control unit of the machining center moves the spindle, which is a functional unit. The numerical control unit of the turning center moves the turret, which is a functional unit. As a result, the cutting edge, which is the place of action of processing, moves.

工作部の機能部は、その他のレーザ照射部や粉末吐出部などであってもよい。つまり、数値制御部は、レーザ照射部や粉末吐出部などを移動させることもある。レーザ照射部であれば、レーザ光が加工の作用箇所に相当し、粉末吐出部であれば、飛散した粉末の分布域が加工の作用箇所に相当する。つまり、工作部の機能部は、加工の作用箇所を操る部位である。 The functional part of the work part may be another laser irradiation part, a powder ejection part, or the like. That is, the numerical control unit may move the laser irradiation unit, the powder ejection unit, and the like. In the case of the laser irradiation unit, the laser beam corresponds to the processing action point, and in the case of the powder ejection part, the distributed area of the scattered powder corresponds to the processing action point. That is, the functional part of the work part is a part that manipulates the action part of the processing.

上述したシミュレーション部444、画像表示部434および画面表示部434は、工作機械700用のプログラムと、工作機械700内に保存されている機能部の情報とをもとに、工作の挙動を示すシミュレーション画像を画面に表示制御する表示制御部の例である。シミュレーション部444は、加工内容に応じて仮想の3次元空間におけるワーク3Dモデル476を変形させる。工作の挙動を示すシミュレーション画像は、このワーク3Dモデル476を所定視点から観察したものとして画像表示部434が生成した2次元画像である。主に、段階的な加工によって都度変化するワークの形状が描かれる。上述の例では、切削でワークに形成された穴の形状を描いた。シミュレーション部444は、更に仮想の3次元空間における加工の作用箇所(刃先の経路、レーザ光、粉末の分布域など)を算定する。工作の挙動を示すシミュレーション画像には、この作用箇所を所定視点から観察したものとして画像表示部434が生成した加工の作用箇所を示す描画(刃先の経路の線、レーザ光の線や粉末の分布域の表示など)も含まれる。 The simulation unit 444, the image display unit 434, and the screen display unit 434 described above are simulations showing the behavior of the machine tool based on the program for the machine tool 700 and the information of the function unit stored in the machine tool 700. This is an example of a display control unit that controls the display of an image on the screen. The simulation unit 444 deforms the work 3D model 476 in the virtual three-dimensional space according to the processing content. The simulation image showing the behavior of the work is a two-dimensional image generated by the image display unit 434 assuming that the work 3D model 476 is observed from a predetermined viewpoint. Mainly, the shape of the work that changes each time by stepwise processing is drawn. In the above example, the shape of the hole formed in the work by cutting is drawn. The simulation unit 444 further calculates the processing action location (cutting edge path, laser beam, powder distribution area, etc.) in the virtual three-dimensional space. In the simulation image showing the behavior of the work, the drawing (line of the path of the cutting edge, the line of the laser beam and the distribution of the powder) showing the place of action of the processing generated by the image display unit 434 assuming that this place of action is observed from a predetermined viewpoint Area display, etc.) is also included.

工作機械700用のプログラムとは、たとえばNCプログラムを指し、シミュレーション部444は、このプログラムをもとにしてワーク3Dモデル476を変形させ、加工の作用箇所を特定する。また、シミュレーション部444は、工作機械700内の機能部情報記憶部に保存されている機能部の情報も用いる。機能部の情報には、機能部の形状、機能部の機能、機能部の工作機械700内での位置 機能部の基準点とその位置などの情報が含まれる。 The program for the machine tool 700 refers to, for example, an NC program, and the simulation unit 444 deforms the work 3D model 476 based on this program and specifies the place of action of machining. Further, the simulation unit 444 also uses the information of the functional unit stored in the functional unit information storage unit in the machine tool 700. The information on the functional unit includes information such as the shape of the functional unit, the function of the functional unit, the position of the functional unit in the machine tool 700, the reference point of the functional unit, and its position.

このように、工作機械700の加工によって変化するワークの形状が描かれた画像が、シミュレーション画像である。また、シミュレーション画像には、上述のように加工の作用箇所も描かれる場合がある。これらの工作の挙動を示すシミュレーション画像は、時系列に順次変化する複数のシミュレーション静止画またはシミュレーション動画である。 In this way, the image in which the shape of the work that changes due to the machining of the machine tool 700 is drawn is a simulation image. Further, as described above, the simulated image may also include the action points of the processing. The simulation image showing the behavior of these works is a plurality of simulation still images or simulation moving images that change sequentially in time series.

なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。 The present invention is not limited to the above-described embodiment or modification, and the components can be modified and embodied within a range that does not deviate from the gist. Various inventions may be formed by appropriately combining a plurality of components disclosed in the above-described embodiments and modifications. In addition, some components may be deleted from all the components shown in the above embodiments and modifications.

100 ワーク、102 穴、104 穴、106 穴、108 穴、110 穴、112 穴、114 穴、202 編集画面、204 シミュレーション画面、206 カーソル、302 経路、304 経路、305 位置、306 経路、308 経路、309 位置、310 経路、312 経路、313 位置、314 経路、316 経路、317 位置、318 経路、320 経路、321 位置、322 経路、324 経路、325 位置、326 経路、400 プログラム編集装置、410 インターフェース処理部、420 入力部、422 受付部、430 出力部、432 プログラム表示部、434 画像表示部、436 画面表示部、440 データ処理部、442 編集部、444 シミュレーション部、450 データ格納部、460 保存記憶領域、462 NCプログラムファイル、464 ワーク定義ファイル、470 一時記憶領域、472 NCプログラムコード表、474 カーソル位置、476 ワーク3Dモデル、478 経路テーブル、500 ガイダンス画面、502 入力領域、504 入力領域、506 概念図、508 説明文、510 挿入ボタン、512 戻るボタン、514 引数領域、600 アイコンボタン、602 ガイダンスボタン、604 ガイダンスメッセージ、606 機能メッセージ、700 工作機械、702 操作盤、704 操作画面 100 work, 102 hole, 104 hole, 106 hole, 108 hole, 110 hole, 112 hole, 114 hole, 202 edit screen, 204 simulation screen, 206 cursor, 302 route, 304 route, 305 position, 306 route, 308 route, 309 position, 310 route, 312 route, 313 position, 314 route, 316 route, 317 position, 318 route, 320 route, 321 position, 322 route, 324 route, 325 position, 326 route, 400 program editing device, 410 interface processing. Unit, 420 input unit, 422 reception unit, 430 output unit, 432 program display unit, 434 image display unit, 436 screen display unit, 440 data processing unit, 442 editorial unit, 444 simulation unit, 450 data storage unit, 460 storage and storage unit. Area, 462 NC program file, 464 work definition file, 470 temporary storage area, 472 NC program code table, 474 cursor position, 476 work 3D model, 478 route table, 500 guidance screen, 502 input area, 504 input area, 506 concepts. Figure, 508 description, 510 insert button, 512 back button, 514 argument area, 600 icon button, 602 guidance button, 604 guidance message, 606 function message, 700 machine tool, 702 operation panel, 704 operation screen.

Claims (8)

工作機械で複数の行を有するNCプログラムを実行しながら加工を行うためのNCプログラムファイルを受け付ける受付部と、
前記NCプログラムファイルのNCプログラムの各行におけるコード列を実行順に並べて複数の行を表示するプログラム表示部と、
(i)前記NCプログラムの中に新たな行のコード列を受け付けたときに、前記新たな行のコード列による工作の挙動を示すシミュレーション画像、または、(ii)前記NCプログラムの中に1つの行のコード列の変更を受け付けたときに、前記変更された行のコード列による前記工作の挙動を示すシミュレーション画像、を表示する画像表示部とを有し、
前記新たな行のコード列を受け付けたとき、または、前記1つの行のコード列の変更を受け付けたときに、前記NCプログラムの前記コード列のうち、前記新たな行または前記変更された行より前の途中の行から前記シミュレーション画像の再生を行う、プログラム編集装置。
A reception unit that accepts NC program files for machining while executing NC programs with multiple lines on a machine tool,
A program display unit that displays a plurality of lines by arranging code columns in each line of the NC program of the NC program file in the order of execution.
(i) upon receiving a code sequence of a new row in the NC program, the simulation image showing the behavior of by that engineering work on code string of the new line, or, (ii) in said NC program possess upon receiving a change in the code sequence of one row, an image display unit for displaying the simulation image, which shows the behavior of the machine tool according to the code sequence of the modified rows, to,
From the new row or the changed row of the code columns of the NC program when the code column of the new row is accepted or the code column of the one row is changed. A program editing device that reproduces the simulation image from a line in the middle of the previous step.
シミュレーション画像において前記新たな行のコード列または前記変更された行のコード列から5秒から15秒の範囲の動画再生時間前まで遡って、前記シミュレーション画像の前記再生を行う、請求項1に記載のプログラム編集装置。 The first aspect of the simulation image, wherein the reproduction of the simulation image is performed retroactively from the code column of the new row or the code column of the changed row to the time before the moving image reproduction time in the range of 5 seconds to 15 seconds. Program editing device. 前記新たな行または前記変更された行から予め記憶している遡り行数またはユーザが指定した遡り行数だけ遡った行のコード列から前記シミュレーション画像の前記再生を行う、請求項1または2に記載のプログラム編集装置。 The reproduction of the simulation image is performed from the code column of the row retroactive by the number of retrograde rows stored in advance from the new row or the modified row or the number of retrograde rows specified by the user, according to claim 1 or 2. Described program editing device. コード列に含める指令の種類に応じて、前記指令で使用されるパラメータごとの入力領域を有する入力ガイダンス画面を表示する画面表示部を、さらに有し、
前記受付部は、前記入力ガイダンス画面の前記入力領域に入力された値を、前記指令のパラメータとして前記コード列に加える請求項1から3のいずれか1項に記載のプログラム編集装置。
Further, it has a screen display unit for displaying an input guidance screen having an input area for each parameter used in the command according to the type of the command to be included in the code string.
The receiving unit the value entered in the input area of the input guidance screen, added to the code sequence as a parameter of the instruction, the program editing apparatus according to any one of claims 1 to 3.
前記シミュレーション画像を表示することを実行するためのボタンを表示するボタン表示部、を有し、
前記ボタンを長押しすると、前記ボタンを押した際に実行させる機能のガイダンスを前記ボタンの近くに表示する、請求項1から4のいずれか1項に記載のプログラム編集装置。
It has a button display unit, which displays a button for executing displaying the simulation image, and has a button display unit.
The program editing device according to any one of claims 1 to 4, wherein when the button is pressed and held for a long time, guidance of a function to be executed when the button is pressed is displayed near the button.
画面を有し工作機械の操作を行うための操作盤と、
工作するための工作部と、
工作するために、前記工作部内の機能部の位置を制御する数値制御部と、
前記工作機械の固有機械情報を含む工作機械用のプログラムと、前記工作機械内に保存されている前記機能部の情報と、をもとに、工作の挙動を示すシミュレーション画像を前記画面に表示制御する表示制御部と、を備え、
前記表示制御部は、(i)前記プログラムの中に新たな行のコード列を受け付けたときに、前記新たな行のコード列による前記工作の挙動を示すシミュレーション画像、または、(ii)前記プログラムの中に1つの行のコード列の変更を受け付けたときに、前記変更された行のコード列による前記工作の挙動を示すシミュレーション画像、を表示制御し、
前記新たな行のコード列を受け付けたとき、または、前記1つの行のコード列の変更を受け付けたときに、前記プログラムの前記コード列のうち、前記新たな行または前記変更された行より前の途中の行から前記シミュレーション画像の再生を行う、工作機械。
An operation panel that has a screen and is used to operate machine tools,
The work department for work and
A numerical control unit that controls the position of the functional unit in the work unit for work,
Based on the program for the machine tool including the unique machine information of the machine tool and the information of the functional unit stored in the machine tool, a simulation image showing the behavior of the machine tool is displayed and controlled on the screen. With a display control unit,
When the display control unit (i) receives a code column of a new line in the program, the display control unit is (i) a simulation image showing the behavior of the work by the code column of the new line, or (ii) the program. When a change in the code column of one row is accepted, a simulation image showing the behavior of the work by the code column of the changed row is displayed and controlled .
When the code column of the new row is accepted, or when the code column of the one row is changed, the code column of the program is before the new row or the changed row. A machine tool that reproduces the simulation image from a line in the middle of.
前記シミュレーション画像を表示することを実行するためのボタンが表示された前記画面上において、前記ボタンを長押しすると、前記ボタンを押した際に実行される機能のガイダンスが前記ボタンの近くに表示される請求項6に記載の工作機械。 On the screen on which the button for executing the simulation image display is displayed, when the button is pressed and held, the guidance of the function to be executed when the button is pressed is displayed near the button. that machine tool according to claim 6. 工作機械で複数の行を有するNCプログラムを実行しながら加工を行うためのNCプログラムファイルを受け付ける機能と、
前記NCプログラムファイルのNCプログラムの各行におけるコード列を実行順に並べて複数の行を表示する機能と、
(i)前記NCプログラムの中に新たな行のコード列を受け付けたときに、前記新たな行のコード列による工作の挙動を示すシミュレーション画像、または、(ii)前記NCプログラムの中に1つの行のコード列の変更を受け付けたときに、前記変更された行のコード列による前記工作の挙動を示すシミュレーション画像、を表示する機能と、
前記新たな行のコード列を受け付けたとき、または、前記1つの行のコード列の変更を受け付けたときに、前記NCプログラムの前記コード列のうち、前記新たな行または前記変更された行より前の途中の行から前記シミュレーション画像の再生を行う機能と、をコンピュータに発揮させることを特徴とするプログラム。
A function to accept NC program files for machining while executing an NC program with multiple lines on a machine tool,
A function to display multiple lines by arranging the code columns in each line of the NC program of the NC program file in the order of execution.
(i) upon receiving a code sequence of a new row in the NC program, the simulation image showing the behavior of by that engineering work on code string of the new line, or, (ii) in said NC program When a change in the code column of one row is accepted, a function to display a simulation image showing the behavior of the work by the code column of the changed row is displayed.
From the new row or the changed row of the code columns of the NC program when the code column of the new row is accepted or the code column of the one row is changed. A program characterized by having a computer exert a function of reproducing the simulation image from a line in the middle of the previous step.
JP2021031338A 2021-03-01 2021-03-01 Program editing equipment and programs Active JP6971416B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021031338A JP6971416B1 (en) 2021-03-01 2021-03-01 Program editing equipment and programs
PCT/JP2022/000497 WO2022185712A1 (en) 2021-03-01 2022-01-11 Program editing device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021031338A JP6971416B1 (en) 2021-03-01 2021-03-01 Program editing equipment and programs

Publications (2)

Publication Number Publication Date
JP6971416B1 true JP6971416B1 (en) 2021-11-24
JP2022132726A JP2022132726A (en) 2022-09-13

Family

ID=78605600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021031338A Active JP6971416B1 (en) 2021-03-01 2021-03-01 Program editing equipment and programs

Country Status (2)

Country Link
JP (1) JP6971416B1 (en)
WO (1) WO2022185712A1 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537250A (en) * 1978-09-05 1980-03-15 Nissan Motor Co Ltd Numerical controlled lathe with display device
JPH01307805A (en) * 1988-06-07 1989-12-12 Mitsubishi Electric Corp Working data editing device
JPH0219906A (en) * 1988-07-08 1990-01-23 Fanuc Ltd Numerical control program correcting system for interactive numerical controller
JPH02151908A (en) * 1988-12-02 1990-06-11 Mitsubishi Electric Corp Numerical controller with simulation function
JPH03220604A (en) * 1990-01-26 1991-09-27 Hitachi Seiki Co Ltd Device and method for plotting tool locus in numerical controller
JPH06138933A (en) * 1992-10-26 1994-05-20 Mori Seiki Co Ltd Program check screen display device
JPH06332518A (en) * 1993-05-24 1994-12-02 Fanuc Ltd Interactive numerical controller
JP2009265943A (en) * 2008-04-25 2009-11-12 Sodick Co Ltd Machining simulation device
WO2014167736A1 (en) * 2013-04-12 2014-10-16 三菱電機株式会社 Numerical control program editing device, numerical control program editing method and program
WO2016035869A1 (en) * 2014-09-03 2016-03-10 ヤマザキマザック 株式会社 Machining program editing assistance device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537250A (en) * 1978-09-05 1980-03-15 Nissan Motor Co Ltd Numerical controlled lathe with display device
JPH01307805A (en) * 1988-06-07 1989-12-12 Mitsubishi Electric Corp Working data editing device
JPH0219906A (en) * 1988-07-08 1990-01-23 Fanuc Ltd Numerical control program correcting system for interactive numerical controller
JPH02151908A (en) * 1988-12-02 1990-06-11 Mitsubishi Electric Corp Numerical controller with simulation function
JPH03220604A (en) * 1990-01-26 1991-09-27 Hitachi Seiki Co Ltd Device and method for plotting tool locus in numerical controller
JPH06138933A (en) * 1992-10-26 1994-05-20 Mori Seiki Co Ltd Program check screen display device
JPH06332518A (en) * 1993-05-24 1994-12-02 Fanuc Ltd Interactive numerical controller
JP2009265943A (en) * 2008-04-25 2009-11-12 Sodick Co Ltd Machining simulation device
WO2014167736A1 (en) * 2013-04-12 2014-10-16 三菱電機株式会社 Numerical control program editing device, numerical control program editing method and program
WO2016035869A1 (en) * 2014-09-03 2016-03-10 ヤマザキマザック 株式会社 Machining program editing assistance device

Also Published As

Publication number Publication date
WO2022185712A1 (en) 2022-09-09
JP2022132726A (en) 2022-09-13

Similar Documents

Publication Publication Date Title
JP5612677B2 (en) Virtual machine tool that displays processing unit operations and generates process data from user input
JP5925976B1 (en) Machining program editing support device
US7369130B2 (en) Method and apparatus for editing image data, and computer program product of editing image data
US7949422B1 (en) Machine tool control system
EP0682324B1 (en) Image processing apparatus and method
US5808616A (en) Shape modeling method and apparatus utilizing ordered parts lists for designating a part to be edited in a view
EP0625783A2 (en) Graphical user interface for displaying available source material for editing
TWI446130B (en) System and method for editting a processing file of a cnc machine
JPH05265682A (en) Menu hierarchy changing system
TWI588633B (en) A CNC Machine Tool for Generating? G Code Files to Save and Process
JP2021119478A (en) Information processor
JP4276656B2 (en) CAD system, program for executing the CAD system, and recording medium recording the program
JP6971416B1 (en) Program editing equipment and programs
US11417038B2 (en) Non-transitory computer-readable medium including figure data generation program
JP2002126975A (en) Fixed cycle command preparation supporting method and nc device
JP7469854B2 (en) Screen creation device
JPH04245503A (en) Editing device for machining program
JP4786486B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2713147B2 (en) How to edit multimedia presentations
JPH0677208B2 (en) NC device machining program creation method
JPH053002B2 (en)
KR102251977B1 (en) Apparatus and method for authoring motion of an avatar
JPH0387914A (en) Method and device for using guidance of electronic computer system
KR102016224B1 (en) texture path searching mathod method using the plug-in program
JP2993288B2 (en) Machining program creation device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210301

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211101

R150 Certificate of patent or registration of utility model

Ref document number: 6971416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150