Machine control program creating device

INCORPORATION BY REFERENCE/RELATED APPLICATION

This application claims priority to Japanese Patent Application No. 2011-144524 filed on Jun. 29, 2011 the disclosure of which, including the specification, drawings and abstract, is incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a device that creates a machining program for controlling a machine tool, a machining robot, or the like.

2. Discussion of Background

A machining program for controlling a machine tool, a machining robot, or the like, includes, for example, not only special codes, such as G codes and M codes, but also a large number of numeric values that are, for example, operation values such as command coordinate values and a spindle rotational speed. In order to create a machining program, it is necessary to accurately understand the meanings of special codes and numeric values. Therefore, conventionally, only an expert is able to create a machining program. Then, researches have been conducted to make it possible to easily create a machining program. For example, Japanese Patent Application Publication No. 2003-186511 (JP 2003-186511 A) describes that guidance is displayed as a support for creation of a NC program to thereby facilitate creation of the NC program.

After a machining program is once created, the numeric values in the machining program may be edited due to a design change, or the like. In such a case, all the corresponding numeric values in the machining program need to be edited. However, when there are multiple portions to be edited, an edit error may occur unless the contents of the machining program are understood.

SUMMARY OF THE INVENTION

The invention provides a machine control program creating device that is able to easily create or edit a machine control program.

According to a feature of an example of the invention, contents of a dialog box display screen correspond to a parameter numeric value and a parameter name that are described in a machine control program. That is, by describing the parameter code and the parameter name in the machine control program, the parameter name is set as an item of the dialog box display screen. Thus, the numeric value described in the machine control program is freely parameterized. Furthermore, parameterizing means just simply needs to describe a parameter numeric value, a parameter code and a parameter name in the machine control program. Thus, parameterization is significantly easy. Because the numeric value is freely parameterized in this way, a numeric value that needs to be described multiple times in the machine control program is easily parameterized, so work for editing a parameter numeric value is also easy. As a result, it is possible to reduce erroneous input or erroneous setting of a numeric value in the machine control program. Particularly, for example, when some of numeric values are changed due to a design change, a period of time required to change the machine control program is reduced. Furthermore, when a machine control program is once created, the machine control program is edited without understanding of a special G code, or the like.

According to another feature of an example of the invention, the parameter name is editable on the dialog box display screen.

According to a further feature of an example of the invention, by creating a machine control program from a template, the machine control program is standardized.

DETAILED DESCRIPTION OF EMBODIMENTS

Hereinafter, embodiments of the invention will be described with reference to the accompanying drawings. Here, a NC program used for a machine tool or a machining robot is taken as an example of a machine control program to be created. Particularly, in the following description, a horizontal machining center is taken as an example from among various machine tools. However, of course, not only machine tools other than machining centers but also serial-link or parallel-link machining robots and positioning robots, such as measuring devices, are applicable.

First, the configuration of a target machine will be described. A horizontal machining center that is a machine tool which is a target to be controlled by a NC program will be described with reference toFIG. 1. As shown inFIG. 1, the machine tool includes a bed1, a column2, a saddle3, a rotary spindle4and a table6. The column2is movable in an X-axis direction on the bed1. The saddle3is movable in a Y-axis direction on the front face (left face inFIG. 1) of the column2. The rotary spindle4that holds a tool5rotatably is supported by the saddle3. The table6is movable in a Z-axis direction on the bed1, and a workpiece W is placed on the table6. Although not shown in the drawing, the machine tool includes a motor, a coolant nozzle, a coolant pump, and the like. The motor is used to move the column2, the saddle3and the table6. The coolant nozzle and the coolant pump are used to supply coolant.

Next, the schematic configuration of a program creating device will be described. The program creating device that creates a NC program for controlling the above-described machine tool will be described with reference to the functional block diagram inFIG. 2.FIG. 2shows the schematic configuration of the program creating device. In addition,FIG. 3shows a SFC (sequential function chart) display screen10that constitutes the program creating device,FIG. 4andFIG. 5respectively show dialog box display screens31and32, andFIG. 6shows a program display screen50. In addition,FIG. 7that shows a template is also referenced.

As shown inFIG. 2, the program creating device includes the SFC display screen10, a SFC processing unit20, the dialog box display screens31and32, a dialog box processing unit40, the program display screen50and a program processing unit60.

As shown inFIG. 3, the SFC display screen10displays the NC program as a sequential function chart (SFC). The SFC processing unit20executes a process of recognizing the NC program as a SFC and then displaying the SFC on the SFC display screen10. Here, a SFC is generally used in a programmable logic controller (PLC), or the like. However, the SFC in the present embodiment differs from a SFC used in a PLC, or the like, and is used for the NC program. Here, the NC program is configured to sequentially execute a plurality of operations. For example, when facing is performed, subsequently tool replacement is performed, boring is performed and then boring is performed at another portion, the NC program is created in accordance with this sequence. Then, operations that may be combined together are associated as a step ST of the SFC to recognize the NC program as the SFC. That is, when the NC program is divided into a plurality of operation cycles (including machining cycles and non-machining cycles), the SFC processing unit20stores steps ST corresponding to the respective operation cycles and causes the SFC display screen10to display the NC program as the SFC.

Furthermore, when the dialog box processing unit40creates new dialog box information corresponding to a step ST of the SFC, the dialog box processing unit40is able to select an intended template from among templates created in advance respectively for the types of operation cycles, and creates dialog box information on the basis of the selected template.FIG. 5shows the second dialog box display screen32at the time when a template is selected. In addition,FIG. 7shows a template. Here, as shown inFIG. 7, because parameter numeric values included in the template are set at initial values, the parameter numeric values included in the dialog box information obtained from the template are also initial values. Therefore, the worker is required to edit the parameter numeric values on the first dialog box display screen31.

FIG. 6shows the program display screen50. The program processing unit60executes display processing for the program display screen50. The program processing unit60creates the NC program on the basis of the SFC created by the SFC processing unit20and the pieces of dialog box information created by the dialog box processing unit40. Furthermore, the program processing unit60executes a process of displaying the created NC program on the program display screen50. InFIG. 6, there is, for example, a portion described as “154(*$C110*Hole X*)” (arrow A). In this description, “154” indicates the parameter numeric value, “C110” indicates the parameter code, and “Hole X” indicates the parameter name. Here, in the right box section shown inFIG. 4, the portion described as “Hole X 154” corresponds to the above portion of the NC program (arrow B). In this way, the NC program is described by associating the parameter numeric values, the parameter names and the parameter codes with one another. Then, the parameter numeric values and parameter names in the NC program are associated with corresponding pieces of dialog box information.

In addition, on the program display screen50shown inFIG. 6, the worker is allowed to directly edit the NC program. In this case, on the basis of the edited NC program, the SFC information stored in the SFC processing unit20is changed, and the dialog box information stored in the dialog box processing unit40is changed.

In this way, the program creating device enables the NC program to be displayed as the SFC, and displays the corresponding piece of dialog box information associated with each step ST of the SFC on the dialog box display screen. Then, on the dialog box display screen, the parameter numeric values included in the NC program may be edited. Furthermore, on the dialog box display screen, the parameter names are displayed in association with the NC program, and the parameter names are also editable. Conversely, when the parameter names in the NC program are edited, the parameter names of the dialog box display screen are changed. Then, the templates of the NC program described such that parameters are recognizable are prepared in advance. Particularly, the prepared templates should be associated with the respective steps ST of the SFC. In this way, the program creating device forms the NC program into the SFC and makes it possible to easily create or edit the contents of steps ST of the SFC. Furthermore, the program creating device makes it possible to freely parameterize the numeric values in the NC program.

Next, the detailed configuration of the program creating device will be described with reference to the functional block diagram ofFIG. 8. In addition, the operations of the processing units that constitute the program creating device will be described with reference to the flowcharts shown inFIG. 9andFIG. 11toFIG. 13. In addition,FIG. 10is referenced for a process chart input through a process chart input unit21that constitutes the SFC processing unit20. Furthermore,FIG. 2toFIG. 6are respectively referenced as needed for the display screens10,31,32and50that constitute the program creating device, andFIG. 7that shows a template is also referenced.

As described above with reference toFIG. 2, the program creating device includes the SFC display screen10, the SFC processing unit20, the dialog box display screens31and32, the dialog box processing unit40, the program display screen50, the program processing unit60and an external input unit70. Here,FIG. 8shows functional blocks into which the SFC processing unit20, the dialog box processing unit40and the program processing unit60are segmented in more details.

The SFC will be described below. As shown inFIG. 3, the SFC display screen10has a symbol number field11, a symbol display field12and a step name field13. The symbol number field11shows a line number. The symbol display field12shows a symbol of the SFC for each symbol number. The symbols of the SFC include a step ST indicated by a rectangular frame shape, a transition Tr, a jump, or the like. InFIG. 3, steps ST0001to ST0004are respectively shown at the first line, the third line, the fifth line and the seventh line, and transitions Tr0001to Tr0003are respectively shown at the second line, the fourth line and the sixth line. The step name field13shows a step name for each step ST when the symbol of the symbol display field12is a step ST. InFIG. 3, the step name of step ST0001is shown as “mounting face rough cutting (ϕ●●)”. The step name is, for example, a string that illustrates what is done in a step ST of the SFC (operation cycle) by describing a work portion in the step ST, a work type, such as boring, facing, rough machining and finishing, a tool diameter, and the like. In addition, the SFC display screen10displays an up-down scroll bar14at the right end, and allows up-down scroll.

As shown inFIG. 8, the SFC processing unit20includes the process chart input unit21, a SFC creation processing unit22, a SFC storage unit23and a SFC display processing unit24. The process chart input unit21receives (acquires) a process chart that shows the control steps for the machine tool. The worker operates the external input unit70, such as a keyboard and a pointing device, to input the data of the process chart in the process chart input unit21. The process chart shows the sequence of a plurality of processes, and is, for example, tabular data shown inFIG. 10. The process chart shown inFIG. 10includes a process sequence, a process name and process information. The process name is a name used as a step name of the above-described SFC. For example, mounting face rough cutting (ϕ●●), and the like, are shown. In addition, the process information includes, for example, tool information, such as a type of tool used, a tool diameter and a tool length, and machining conditions, such as a spindle rotational speed, a machining feed speed and an infeed.

When the NC program is divided into a plurality of operation cycles, the SFC creation processing unit22creates the respective operation cycles as steps ST of the SFC. Furthermore, the SFC creation processing unit22is able to create a SFC in which transitions Tr are interposed between the steps ST or is able to create a SFC in which steps ST are directly connected to each other without interposing transitions Tr between the steps ST. The SFC display screen ofFIG. 3shows the case where transitions Tr are interposed between all the steps ST.

Furthermore, the SFC is associated with the NC program stored in a program storage unit62(described later). For example, in the NC program shown inFIG. 6, a portion from a step start code “(*$CYC0001*Normal*)” (second line from the above) to a step end code “(*$CYCEND*)” (bottom line) is one step ST of the SFC. That is, the SFC creation processing unit22creates steps ST of the SFC on the basis of the step start codes and step end codes of the NC program.

In addition, the SFC creation processing unit22is able to create a SFC as the worker directly inputs a symbol of a new step ST with the use of the external input unit70. Other than the above, the SFC creation processing unit22automatically acquires a process chart (shown inFIG. 10) input through the process chart input unit21to create a SFC. In this case, the SFC creation processing unit22recognizes the process names that indicate the control steps in the process chart shown inFIG. 10as operation cycles and creates a step ST of the SFC for each process. For example, when the SFC creation processing unit22automatically acquires the process chart shown inFIG. 10, the SFC is as shown inFIG. 3. In this case, the SFC creation processing unit22recognizes the process names in the process chart shown inFIG. 10as the step names inFIG. 3.

The SFC storage unit23stores the SFC created by the SFC creation processing unit22. The SFC stored in the SFC storage unit23is such information shown inFIG. 3. That is, the SFC storage unit23stores a symbol type and symbol code corresponding to a symbol number, that is, the sequence of symbols, and a step name corresponding to each step ST.

The SFC display processing unit24executes a process of displaying the SFC and step names stored in the SFC storage unit23on the SFC display screen10. Thus, when the SFC stored in the SFC storage unit23is changed, the contents displayed on the SFC display screen10are also changed accordingly.

Here, the process executed by the above-described SFC creation processing unit22will be described with reference toFIG. 9. As shown inFIG. 9, the SFC creation processing unit22determines whether a process chart is input by the worker (S1). When a process chart is input, the SFC creation processing unit22creates a SFC based on the process chart, and stores the SFC in the SFC storage unit23(S2). When a process chart is not input, subsequently it is determined whether a new symbol is input by the worker (S3). When a new symbol is input, a SFC is created on the basis of the input symbol (S4).

Subsequently, when a new symbol is not input, it is determined whether the created symbols are moved by the worker (S5). When the symbols are moved, a process of moving the symbols, that is, a SFC based on the sequence of the moved symbols is stored in the SFC storage unit23(S6). Subsequently, when the process of moving the symbols is not executed, it is determined whether some of the created symbols are deleted by the worker (S7). When some of the symbols are deleted, a SFC in which the some of the symbols are deleted and the sequence of the remaining symbols is changed is stored in the SFC storage unit23(S8).

Subsequently, when no symbol is deleted, it is determined whether one of the created steps ST is selected by the worker (S9), and, when one of the created steps ST is selected, a dialog box display processing unit45(described later) is instructed to display the dialog box information associated with the selected step ST on the first dialog box display screen31(S10). Then, after the process of S2, S4, S6, S8or S10or in the case of negative determination in S9, the process is returned.

The dialog box will be described below. The first dialog box display screen31is an input screen on which parameter numeric values and parameter names in the NC program can be set and edited. As shown inFIG. 4, the first dialog box display screen31has a display area31afor a step number of the SFC, a display area31bfor a step name, a display area31cfor an operation cycle name, a display area31dfor an operation cycle selection button, a display area31efor parameters, a display area31ffor a drawing and a NC program display button31g. The first dialog box display screen31shows dialog box information included in the step ST selected by the SFC creation processing unit22.

Here, the dialog box information includes information regarding the above-described areas. Information displayed in the display area for parameters includes parameter names and parameter numeric values. However, the dialog box information includes parameter codes in addition to the parameter numeric values and the parameter names. Note that no parameter code is displayed in the display area for parameters on the first dialog box display screen31but parameter codes may be displayed instead.

FIG. 4shows an example in which the dialog box information of step ST0001of the SFC ofFIG. 3is displayed. InFIG. 4, the step number in the display area31aand the step name in the display area31brespectively correspond to the step ST selected by the SFC creation processing unit22and the step name of the selected step ST. The operation cycle name displayed in the display area31cis the name recorded in a plurality of templates (described later).

The operation cycle selection button in the display area31dis in synchronization with a template selection processing unit42(described later), and is used to select the template (shown inFIG. 7) of the type of the operation cycle in that step ST. That is, when the operation cycle selection button is selected, the template selection processing unit42executes a process of displaying the second dialog box display screen32.

The second dialog box display screen32is used to select the template of an operation cycle when the worker operates the external input unit70to select the operation cycle selection button in the display area31don the first dialog box display screen31. As shown inFIG. 5, the second dialog box display screen32has a group area32aand an operation cycle area32b. The group area32adisplays group names of a plurality of groups into which work types (operation types) are roughly classified. The operation cycle area32bdisplays operation cycles included in each group. For example, inFIG. 5, the group area32adisplays common, boring, facing, and the like, and the operation cycle area32bdisplays the common group and displays start process, complete process, return to origin, ATC (automatic tool change), and the like. That is, when an operation cycle is selected, one group is selected from the group area32aon the second dialog box display screen32and then one operation cycle is selected from the operation cycle area32b.

As shown inFIG. 8, the dialog box processing unit40includes the template storage unit41, the template selection processing unit42, a dialog box information creation processing unit43, a dialog box information storage unit44and a dialog box display processing unit45.

The template storage unit41stores the templates of the NC program, which respectively correspond to a plurality of operation types. For example,FIG. 7shows the template of boring at one portion. Note that the “Normal” means machining one point, and is a term for distinguishing machining one point from machining multiple points. Then, in the template shown inFIG. 7, the portion described as “Numeric Value (*$Parameter Code*Parameter Name*)” is a description method by which the dialog box information creation processing unit43(described later) recognizes the numeric value as a parameter numeric value.

For example, the portion described as “6000(*$C003*Spindle Rotational Speed*)” is a description for parameterizing the spindle rotational speed, and the spindle rotational speed is set to 6000 revolutions per minute in the template. In addition, the portion described as “1200(*$C004*Feed Speed*)” is a description for parameterizing the feed speed, and the feed speed is set to 1200 meters per minute. Here, the spindle rotational speed and the feed speed are set to standard values in the template. However, the spindle rotational speed and the feed speed are parameterized, so these are editable on the first dialog box display screen31. In addition, “Hole X”, “Hole Depth (Coordinate) Z”, and the like, are set to “0” in the template. However, “Hole X”, “Hole Depth (Coordinate) Z”, and the like, are parameterized, so these are editable on the first dialog box display screen31.

The template selection processing unit42selects the template corresponding to the operation cycle of the currently creating step ST from among the plurality of templates stored in the template storage unit41. The template selection processing unit42is selected on the second dialog box display screen32shown inFIG. 5as the worker operates the external input unit70. The process executed by the template selection processing unit42will be described with reference toFIG. 11.

As shown inFIG. 11, the template selection processing unit42determines whether the worker operates the external input unit70to press the operation cycle selection button in the display area31don the first dialog box display screen31(S11). When the button is pressed, the dialog box display processing unit45(described later) is instructed to display the second dialog box display screen32(S12). Thus, the second dialog box display screen32shown inFIG. 5is displayed.

Subsequently, it is determined whether the worker operates the external input unit70to complete selecting the operation cycle on the second dialog box display screen32(S13). This determination is repeatedly executed until the worker completes selection of the operation cycle. When the worker completes selection of the operation cycle on the second dialog box display screen32, the template associated with the operation cycle is acquired from among the plurality of templates stored in the template storage unit41(S14). Then, the process is returned. Note that the dialog box information creation processing unit43creates new dialog box information on the basis of the acquired template.

The dialog box information creation processing unit43creates dialog box information on the basis of the template selected by the template selection processing unit42. That is, the dialog box information creation processing unit43stores information regarding parameters included in the template acquired in S14ofFIG. 11, the template drawing associated with the template, and the like, in the dialog box information storage unit44(described later) as the dialog box information.

In addition, the dialog box information creation processing unit43creates dialog box information associated with the step ST of the SFC stored in the SFC storage unit23. Here, the template selected by the template selection processing unit42is the template regarding the step ST of the SFC, displayed on the first dialog box display screen31. For example, the dialog box information created on the basis of the template shown inFIG. 7includes “ST0001” as step number.

In addition, for example, when the program storage unit62(described later) already stores a NC program or when a NC program is directly created, the dialog box information creation processing unit43creates dialog box information on the basis of the NC program. That is, the dialog box information creation processing unit43recognizes descriptions “Numeric Value (*$Parameter Code*Parameter Name*)” included in the NC program as parameter items, and creates dialog box information from the recognized parameter codes and parameter names and the parameter numeric values associated with the recognized parameter codes and parameter names.

The process executed by the dialog box information creation processing unit43will be described with reference toFIG. 12. As shown inFIG. 12, the dialog box information creation processing unit43determines whether template selecting process is being executed on the second dialog box display screen32shown inFIG. 5(S21). When selecting process is being executed, new dialog box information is created from information regarding parameters included in the template acquired in the template selecting process (S14inFIG. 11), the template drawing associated with the template, and the like. Then, this information is stored in the dialog box information storage unit44(S22).

When it is determined in S21that selecting process is not being executed, it is determined whether the worker operates the external input unit70to edit the parameter numeric values or parameter names in the display area31efor the parameters on the first dialog box display screen31shown inFIG. 4(S23). When the parameters are edited, the dialog box information stored in the dialog box information storage unit44is changed accordingly (S24).

When it is determined in S23that the parameters are not edited, it is determined whether the worker operates the external input unit70to edit the step name in the display area31bon the first dialog box display screen31shown inFIG. 4(S25). When the step name is edited, the dialog box information stored in the dialog box information storage unit44is changed accordingly (S26).

When it is determined in S25that the step name is not edited, it is determined whether the NC program stored in the program storage unit62is changed (S27). When the NC program is changed, the dialog box information stored in the dialog box information storage unit44is changed accordingly (S28). For example, when the parameter numeric values, parameter names, parameter codes, or the like, in the NC program shown inFIG. 6are changed, when a non-parameterized portion is parameterized, or when a parameterized portion is non-parameterized reversely, the dialog box information regarding the corresponding parameter numeric values, parameter names and parameter codes is changed.

When it is determined in S27that the NC program is not changed, it is determined whether the SFC stored in the SFC storage unit23is changed (S29). When the SFC is changed, the dialog box information stored in the dialog box information storage unit44is changed accordingly (S30). For example, when a step ST of the SFC shown inFIG. 3is added, moved or deleted, the dialog box information regarding the corresponding step ST is changed. Then, after the process of S22, S24, S26, S28or S30or in the case of negative determination in S29, the process is returned.

The dialog box information storage unit44stores the dialog box information created by the dialog box information creation processing unit43. That is, the dialog box information storage unit44includes parameter codes included in the NC program in addition to information regarding the areas shown inFIG. 4.

The dialog box display processing unit45executes a process of displaying part of the dialog box information (shown inFIG. 4), stored in the dialog box information storage unit44, on the first dialog box display screen31. The process executed by the dialog box display processing unit45will be described with reference toFIG. 13.

In addition, when the first dialog box display screen31is being displayed in S31, it is determined whether the dialog box information is changed (S34). When the dialog box information is changed, the change is reflected on the first dialog box display screen31(S35). For example, when the dialog box information is changed through a change of the dialog box information as a result of completion of selection of a template, a change of the SFC in the SFC storage unit23by the SFC creation processing unit22, a change of the parameter numeric values, codes or names of the NC program, or the like, the above process is executed. On the other hand, when the dialog box information is not changed in S34, the process of S35is not executed.

Subsequently, it is determined whether a command to display the second dialog box display screen32is issued through template selecting process (S36). That is, it is determined whether the worker operates the external input unit70to press the operation cycle selection button in the display area31don the first dialog box display screen31. When the display command is issued, the process of displaying the second dialog box display screen32is executed (S37). On the other hand, when the display command is not issued in S36or when a step ST is not selected in S32, the process is returned.

The NC program will be described below. As shown inFIG. 6, the program display screen50is a screen for displaying the NC program. The entire NC program may be displayed on the program display screen50or each operation cycle of the NC program may be displayed on the program display screen50. As shown in FIG.6, the NC program includes the step start code “(*$CYC0001*Normal*)”, the step end code “(*$CYCEND*)” and the parameterized statements “Numeric Value (*$Parameter Code*Parameter Name*)”. There are 12 types of parameterized statements (12 items shown in the display area31eofFIG. 4). In addition, the parameter code that has been once parameterized is described as “Numeric Value (*$Parameter Code*)”, and the parameter name may be omitted. For example, “250(*$C112*)” at the fifth line from the bottom corresponds to this case.

As shown inFIG. 8, the program processing unit60includes a program creation processing unit61, the program storage unit62and a program display processing unit63. The program creation processing unit61automatically creates a NC program on the basis of the SFC stored in the SFC storage unit23and the pieces of dialog box information, stored in the dialog box information storage unit44. That is, a newly created NC program is formed by combining the templates of the operation cycles respectively associated with the steps ST of the SFC together in the sequence of the steps ST.

The program storage unit62stores the NC program created by the program creation processing unit61. The program display processing unit63executes a process of displaying the NC program stored in the program storage unit62on the program display screen50. Therefore, when the NC program stored in the program storage unit62is changed, the contents displayed on the program display screen50are also changed accordingly.

The process of creating a new NC program will be described with reference to the above-described program creating device. Hereinafter, two types of creating processes will be described. The first creating process will be described with reference toFIG. 14. The process shown inFIG. 14is executed as the worker operates the external input unit70.

Initially, the worker creates a new step ST on the SFC display screen10(S41). This process is executed by the SFC creation processing unit22. Subsequently, the worker selects the newly created step ST on the SFC display screen10(S42). Then, through S9and S10ofFIG. 9and S32and S33ofFIG. 13, the first dialog box display screen31shown inFIG. 4is displayed.

Subsequently, the worker presses the operation cycle selection button in the display area31don the first dialog box display screen31(S43). Then, through S11and S12ofFIG. 11and S36and S37ofFIG. 13, the second dialog box display screen32shown inFIG. 5is displayed. Subsequently, the worker selects an operation cycle on the second dialog box display screen32(S44). Then, the dialog box information is created through S21and S22ofFIG. 12, and is reflected on the first dialog box display screen31through S34and S35ofFIG. 13. The parameter numeric values displayed on the first dialog box display screen31at this time are initial values described in the template. Furthermore, a NC program that uses the templates directly is created by the program creation processing unit61.

Subsequently, the worker edits the parameter numeric values on the first dialog box display screen31(S45). Then, the dialog box information is changed through S23and S24ofFIG. 12, and is reflected on the display of the first dialog box display screen31through S34and S35ofFIG. 13. Furthermore, the parameter numeric values of the NC program are changed to the edited parameter numeric values by the program creation processing unit61. That is, the NC program in which the edited parameter numeric values are described is created as shown inFIG. 6. Subsequently, when a new step ST is added on the SFC display screen10, the process returns to S41again and is repeated (S46). On the other hand, when no new step ST is added, the process of creating the NC program ends.

Next, the second process of creating a new NC program will be described with reference toFIG. 15. The process shown inFIG. 15is executed as the worker operates the external input unit70. Here, inFIG. 15, the same reference signs as those ofFIG. 14indicate the same steps, and the detailed description thereof is omitted.

Initially, as shown inFIG. 15, the worker inputs a process chart on the SFC display screen10(S51). This process is executed by the process chart input unit21shown inFIG. 8. Then, a SFC based on the process chart is automatically created through S1and S2ofFIG. 9. Subsequently, the process of S42, S43, S44, S45and S46are executed sequentially. Then, when a new step ST is added on the SFC display screen10in S46, the process is returned to S51again and is repeated (S46).

Advantageous effects will be described below. The contents of the first dialog box display screen31correspond to the parameter numeric values and parameter names described in the NC program. That is, by describing the parameter codes and the parameter names in the NC program, the parameter names are set as editable items on the first dialog box display screen31. Thus, the numeric values described in the NC program may be freely parameterized.

Furthermore, parameterizing means just simply needs to describe “Numeric Value (*$Parameter Code*Parameter Name*)” in the NC program. Thus, parameterization is significantly easy. Because the numeric values are freely parameterized in this way, numeric values that need to be described multiple times in the NC program are easily parameterized, so work for editing parameter numeric values is also easy. As a result, it is possible to reduce erroneous input or erroneous setting of numeric values in the NC program. Particularly, for example, when some of numeric values are changed due to a design change, a period of time required to change the NC program is reduced. Furthermore, when a NC program is once created, the NC program is edited without understanding of a special G code, or the like.

In addition, a NC program is created from the templates stored in the template storage unit41in advance. Thus, it is possible to standardize the NC program. For example, a NC program is created from one template or a combination of a plurality of templates, and parameter numeric values included in the NC program are input on the first dialog box display screen31as described above. Here, the templates themselves are in a high degree of completion with less number of errors, or the like, in advance. Therefore, it is possible to reduce a debug time for a NC program created using the templates. Furthermore, because a NC program is created from templates, even when a special G code, or the like, included in the NC program is not understood, the NC program is created.

Furthermore, a NC program is recognized as a SFC. Thus, the NC program is displayed as the SFC, and the NC program is created from the SFC. Generally, a NC program is created using significantly difficult codes, so only an expert is able to easily understand the NC program at sight. However, because a NC program is displayed as a SFC, the steps of the NC program are visually understood. Furthermore, a NC program is created on the basis of a SFC, and the SFC is created on the basis of the step start codes “(*$CYC0001*Normal*)” and step end codes “(*SCYCEND*)” of the NC program. That is, the SFC is associated with the NC program. Thus, the NC program is visually created and edited.

Furthermore, the pieces of dialog box information, stored in the dialog box information storage unit44, are associated with the steps ST of the SFC. Thus, a SFC is created, and then parameter numeric values are input on the first dialog box display screen31. Thus, it is possible to create a NC program. That is, even when special G codes included in the NC program are not understood, the NC program formed of a plurality of operation cycles is easily created.

In addition, when a process chart is created in advance, a SFC is created from the process chart. Thus, creating a NC program becomes easier. Furthermore, the step names of the SFC are displayed on the SFC display screen10to thereby make it possible to easily understand the processes executed in the steps ST of the SFC. As a result, it becomes easy to create a NC program with the use of a SFC.

In addition, because the drawing (for example, a template drawing, the drawing of a workpiece, or the like) that shows an operation type is displayed on the first dialog box display screen31, it is possible to visually understand what is editable on the currently displayed first dialog box display screen31. Thus, it is possible to easily create a NC program. Then, the drawing displayed on the first dialog box display screen31is set as a template drawing. Thus, a drawing does not need to be input individually and the drawing is associated with a template, so it is possible to prevent an erroneously set drawing from being displayed.

In addition, in the above embodiment, creating a NC program for a machine tool is illustrated as an example. Other than this, the invention may be applied to a program that controls a positioning device for mobile units, such as another machining robot and another measuring device. Particularly, a NC program for a machine tool and a program for a machining robot especially require the knowledge of an expert. Therefore, application of the program creating device according to the invention to the NC program for a machine tool and the program for a machining robot is significantly useful.