This application claims priority under 35 U.S.C. § 119 and/or § 365 to Japanese Application No. 2015-084059 filed Apr. 16, 2015, the entire contents is incorporated herein by reference.
1. Field of the Invention
The present invention relates to numerical controllers, and more particularly relates to a numerical controller capable of automatically classifying programs used at high frequency.
2. Description of the Related Art
To facilitate reuse of executed programs, there has been a function of recording a plurality of programs as history (see, for example, Japanese Patent Application Laid-Open No. 2013-041392). While such a function is utilized in general machining programs, the function is also often utilized in programs (hereinafter referred to as MDI programs), which are ad hoc for use in manual data input (MDI) operation executed for such minor actions as set-up of machine tools and tool replacement.
As illustrated in
In the case where programs are recorded as history and reused by using the above-stated function, workloads of a user, who searches for a target program from among a plurality of recorded programs, for reuse of the target program disadvantageously increases as the number of the programs recorded as a history becomes larger.
A technology of changing the storage location of a program in accordance with usage frequency from a viewpoint of utilization efficiency of the program is disclosed in Japanese Patent Application Laid-Open No. 04-191934 and other documents. However, even if such a technology should be applied to management of the machining program history, it cannot be said that the technology is sufficient enough to enhance user's program search efficiency when the volume of recorded program history increases.
Accordingly, an object of the present invention is to provide a numerical controller capable of reducing the time and effort for searching for a desired program from a program history.
The numerical controller according to the present invention controls a machine based on a program, the apparatus including: a program execution unit configured to execute control processing of the machine based on the program; an execution history storage area configured to store execution history information on the program executed by the program execution unit; an execution history recording unit configured to generate execution history information based on information relating to the program executed by the program execution unit and to record the execution history information in the execution history storage area; a favorite program storage area configured to store, among the programs, a program applicable to a preset favorite condition; a favorite program registration unit configured to register the program applicable to the favorite condition in the favorite program storage area, based on the execution history information stored in the execution history storage area; a favorite program classification unit configured to classify the program stored in the favorite program storage area based on contents of the program; and a favorite program display unit configured to display the program stored in the favorite program storage area based on a result of classification by the favorite program classification unit.
The favorite condition may be that number of executions of the program applicable to the favorite condition exceeds a predetermined specified number of times, and the favorite program registration unit may add up the number of executions of each of the programs based on the execution history information stored in the execution history storage area, and may register the program having the number of executions exceeding the preset specified number in the favorite program storage area.
The favorite condition may be that an executing frequency of the program applicable to the favorite condition exceeds a predetermined specified value in a predetermined latest period, and the favorite program registration unit may add up the executing frequency of each of the programs in the latest period based on the execution history information stored in the execution history storage area, and may register the program having the execution frequency exceeding the preset specified value in the favorite program storage area.
The numerical controller may further include a classification table configured to store classifications of the programs in association with codes used for the programs belonging to the classifications. The favorite program classification unit may classify the program stored in the favorite program storage area based on the classification table, based on the contents of the program.
According to the present invention, since a user can easily find a frequently-used program simply by referring to a list of the classifications corresponding to the program to be re-executed, it becomes possible to drastically reduce the time and effort for searching for a target program.
These and other objects and features of the present invention will become apparent from the following description taken in conjunction with an embodiment with reference to the accompanying drawings, in which:
The numerical controller includes an automatic registration function (
The numerical controller according to the present invention includes the function of recording a plurality of programs as a history in order to facilitate reuse of the programs executed in the past. In the following description, the programs to be reused are assumed to be MDI programs.
A numerical controller 1 includes a program execution unit 10, an execution history recording unit 11, a favorite program registration unit 12, a favorite program classification unit 13, a favorite program display unit 14, an execution history storage area 20, a favorite program storage area 21, and a classification table 22.
The program execution unit 10 executes a MDI program input by a user through an indicator/MDI unit (not illustrated), or an MDI program selected by the user with a later-described favorite program display unit 14. As a result, control processing of a machine as a control target is executed based on the MDI program.
When information relating to an executed MDI program is acquired from the program execution unit 10, the execution history recording unit 11 creates execution history information based on the acquired information relating to the MDI program, and records the information in the execution history storage area 20.
The execution history storage area 20 stores a plurality of pieces of execution history information. The execution history information includes at least identification information on the MDI program, and a MDI program body. The execution history information may further include, as information for managing the execution history information, information such as date and time when the MDI program was executed. In the execution history storage area 20, the execution history information including the same MDI program can redundantly be registered. The identification information on the MDI program is provided to uniquely identify the MDI program included in the execution history information stored in the execution history storage area 20. The same identification information is imparted to the same MDI programs.
When the program execution unit 10 detects execution of the MDI program input by the user, the execution history recording unit 11 acquires the executed MDI program from the program execution unit 10, and checks whether or not the execution history information, which includes the MDI program same as the body of the acquired MDI program, is already stored in the execution history storage area 20. When the execution history information including the same MDI program is present, the execution history recording unit 11 acquires the identification information on the MDI program from the execution history information, creates new execution history information which includes the acquired identification information, the MDI program body, and other management information, and records the new information in the execution history storage area 20. When the execution history information including the same MDI program is not present, the execution history recording unit 11 creates new identification information on the MDI program, creates new execution history information which includes the created identification information, the MDI program body, and other management information, and records the created execution history information in the execution history storage area 20.
When the program execution unit 10 detects execution of the MDI program selected by the user through the favorite program display unit 14, the execution history recording unit 11 acquires the identification information on the executed MDI program from the program execution unit 10, creates new execution history information which includes the acquired identification information, the MDI program body, and other management information, and records the created execution history information in the execution history storage area 20.
The favorite program registration unit 12 refers to the execution history storage area 20, adds up the number of executions of each MDI program based on the identification information on the MDI programs included in the execution history information, and executes automatic registration processing that registers, in the favorite program storage area 21, the MDI program having the number of executions exceeding a preset specified number as “favorite” MDI program information. The automatic registration processing may be executed for the entire execution history information stored in the execution history storage area 20 at specified timing (at the startup of the numerical controller, every hour, or the like). Or the automatic registration processing may also be executed for the execution history information registered when the execution history recording unit 11 records the execution history information.
A plurality of pieces of favorite information are stored in the favorite program storage area 21. The favorite information includes at least MDI program identification information, an MDI program body, and classification information. The favorite information may further include information, such as date and time when the favorite information is registered, as the information for managing the favorite information. The classification information is imparted to the favorite information by the favorite program classification unit 13 through automatic classification processing. Two or more pieces of classification information may be imparted to one piece of favorite information.
The favorite program classification unit 13 executes automatic classification processing to determine a classification to be imparted to an MDI program based on the contents of the MDI program body included in the favorite information registered in the favorite program storage area 21 and on the classification table 22 and to impart to the favorite information the determined classification as classification information.
The classification table 22 is a table for determining, based on a code used for an MDI program, classifications of the MDI program which uses the code. For example, the classification table 22 is constituted as a table in which classification contents are associated with classification codes as illustrated in
In
The favorite program display unit 14 acquires the favorite information stored in the favorite program storage area 21 based on a command from the user, and displays the information on the indicator/MDI unit (not illustrated) of the numerical controller 1. The favorite program display unit 14 also outputs an MDI program, among the displayed MDI programs, whose execution is commanded by the user, to the program execution unit 10. When displaying the favorite information stored in the favorite program storage area 21, the favorite program display unit 14 displays information relating to the MDI program per classification selected by the user.
In the past, the MDI programs recorded as an execution history were simply displayed as a list as illustrated in
Although the embodiment of the present invention has been described in the foregoing, the present invention can be implemented in various modes by adding appropriate modifications without being limited to the example of the above-stated embodiment.
For example, although an example of applying the present invention to the execution history of the MDI programs has been described in the above-stated embodiment, the present invention is also applicable to an execution history of normal machining programs. In that case, program names may be used as identification information on the machining programs. Although it is difficult to classify the machining programs based on simple codes as compared with the MDI programs, the difficulty can be overcome by constituting the controller to allow more detailed classification by using regular expressions and/or logical expressions matched with character strings and/or a series of continuous block expressions input in a comment as classification codes which are associated with classifications in the classification table.
Although the respective function units described in the above-stated embodiment have been described as function units different from each other, these function units may appropriately be integrated or be divided. For example, the functions necessary for the present invention are not compromised even when the program execution unit 10 and the execution history recording unit 11, the favorite program registration unit 12 and the favorite program classification unit 13, and other combinations are integrated as one function unit, respectively.
The data structure of the execution history information recorded in the execution history storage area 20 and the favorite information stored in the favorite program storage area 21 is variable in design. For example, the execution history storage area 20 may be configured to include an area separately provided for storing the identification information on the programs in association with the program bodies, so that the program bodies are excluded from the execution history information itself, and the separately-provided area is referred to based on the identification information on the programs. In this way, the execution history information can efficiently be stored. Furthermore, the number and/or period of the execution history information to be stored in the execution history storage area 20 may be limited.
In the example of the above-stated embodiment, the condition of registering the programs as favorite in the favorite program storage area is based on the number of executions. However, the condition of registering in the favorite program storage area is not limited thereto. For example, the program to be registered as favorite may be determined based on an execution frequency in a specified period (for example, based on the number of executions in latest one week, and the like) instead of the simple number of execution.
The classification method is also not limited to the form of imparting classification information as in the above-stated embodiment. Classification may be implemented by such a technique as providing an area of storing classification information and storing the identification information on each program in the area.
In the example of the above embodiment, the favorite program classification unit 13 classifies the programs using the classification table 22. However, the method for classifying the program is not limited thereto, but other various text analysis techniques may also be adopted.
Furthermore, various display techniques may be adopted for displaying the favorite display screen with the favorite program display unit 14, such as a technique of enabling the conventional execution history display screen and the favorite display screen to be switched and displayed, without hindering the effect of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2015-084059 | Apr 2015 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5315503 | Kato | May 1994 | A |
5793635 | Niwa | Aug 1998 | A |
6006141 | Yoneda | Dec 1999 | A |
6466241 | Schindler | Oct 2002 | B1 |
6999841 | Rutkowski | Feb 2006 | B1 |
20010026137 | Iwashita | Oct 2001 | A1 |
20040236462 | Takeshita | Nov 2004 | A1 |
20070198125 | Hosokawa et al. | Aug 2007 | A1 |
20080086724 | Ogata et al. | Apr 2008 | A1 |
20100217762 | Kajio et al. | Aug 2010 | A1 |
20110190915 | Fujishima | Aug 2011 | A1 |
20120179284 | Nakamura | Jul 2012 | A1 |
20140053202 | Selim | Feb 2014 | A1 |
20140140213 | Raleigh | May 2014 | A1 |
20150339134 | Lin | Nov 2015 | A1 |
20150378344 | Yamashita | Dec 2015 | A1 |
20170285614 | Kawai | Oct 2017 | A1 |
Number | Date | Country |
---|---|---|
101025622 | Aug 2007 | CN |
101836183 | Sep 2010 | CN |
H04-191934 | Jul 1992 | JP |
H04-333102 | Nov 1992 | JP |
H05-46227 | Feb 1993 | JP |
H07-302107 | Nov 1995 | JP |
H10-320025 | Dec 1998 | JP |
2000-66711 | Mar 2000 | JP |
2008-97103 | Apr 2008 | JP |
2013-041392 | Feb 2013 | JP |
Entry |
---|
Decision to Grant a Patent dated May 2, 2017 in Japanese Patent Application No. 2015-084059 (3 pages) with an English translation (3 pages). |
The Notification of the First Office Action dated May 9, 2018 in Chinese Patent Application No. 2016102392849 (7 pages) with an English translation (9 pages). |
Number | Date | Country | |
---|---|---|---|
20160306344 A1 | Oct 2016 | US |