US11782415B2 - Numerical controller having scalable performance - Google Patents

Numerical controller having scalable performance Download PDF

Info

Publication number
US11782415B2
US11782415B2 US16/982,424 US201916982424A US11782415B2 US 11782415 B2 US11782415 B2 US 11782415B2 US 201916982424 A US201916982424 A US 201916982424A US 11782415 B2 US11782415 B2 US 11782415B2
Authority
US
United States
Prior art keywords
numerical controller
enabled
processor
resources
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US16/982,424
Other versions
US20210365001A1 (en
Inventor
Jochen Bretschneider
Ralf Spielmann
Philippe Stellwag
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Assigned to SIEMENS AKTIENGESELLSCHAFT reassignment SIEMENS AKTIENGESELLSCHAFT ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SPIELMANN, RALF, Stellwag, Philippe, BRETSCHNEIDER, JOCHEN
Publication of US20210365001A1 publication Critical patent/US20210365001A1/en
Application granted granted Critical
Publication of US11782415B2 publication Critical patent/US11782415B2/en
Active legal-status Critical Current
Adjusted 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/4063Monitoring general control system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23013Build up program by selecting function modules as function of amount paid for it, charging, payment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31418NC program management, support, storage, distribution, version, update
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31419Select file from a list, directory

Definitions

  • the present invention is based on an operating method for a numerical controller
  • the present invention is furthermore based on a system program for a numerical controller, wherein the system program comprises machine code, which can be processed by the numerical controller, wherein the processing of the machine code by the numerical controller causes the numerical controller to execute such an operating method.
  • the present invention is furthermore based on a numerical controller, wherein the numerical controller is programmed with such a system program so that it executes such an operating method.
  • a production system which includes a production machine and a facility designated a control device is known from EP 3 045 993 A1.
  • the production machine includes an internal CNC controller.
  • the facility designated a control device is not incorporated in the real-time control of the production machine. Instead, its function is to use CAD data to determine a control program which will be later processed by the internal production machine controller.
  • a plurality of functionalities are provided inside the facility designated as a control device, which, although they supply similar results these results are of varying quality. Higher grade functionalities can only be activated and used by means of a corresponding unlock code.
  • a control facility for a welding device is known from US 2018/0 059 650 A1.
  • Various algorithms can be held in the control facility to control the welding device. If this is the case, the possible algorithms will be displayed to an operator to enable the operator to select one of the algorithms.
  • the establishment of which of the resources—optionally within which scope are enabled and which are disabled can be identified by numerical controller manufacturers according to the requirements. If production machine manufacturers pay a relatively low price, only a few resources are enabled or the enabled resources are limited. At higher prices, more resources are enabled or limitations removed. Here, as a rule, the more resources that are enabled and limitations removed, the higher the price paid by production machine manufacturers.
  • the numerical controller receives a first unlock code from an operator or from a computer-controlled facility and identifies which of the resources are enabled within which scope and which of the resources are disabled in dependence on the received first unlock code. This also enables resources to be unlocked subsequently as required.
  • the numerical controller receives a second unlock code from an operator or from a computer-controlled facility and to identify the minimum execution times in dependence on the received second unlock code. This also enables the performance of the numerical controller to be scaled subsequently with respect to the actions within the controller.
  • a first upper limit for the at least one first clock rate (frequency) to be recorded in the numerical controller and for, in the course of the execution of the useful program, the numerical controller to limit the first clock rate to the first upper limit.
  • the numerical controller in the course of the execution of the system program, but before the execution of the useful program, the numerical controller to receive a third unlock code from an operator or from a computer-controlled facility and to identify the first upper limit in dependence on the received third unlock code. This also enables the performance of the numerical controller to be scaled subsequently with respect to the first clock rate.
  • the numerical controller may communicate with an external facility with a second clock rate and/or with a communication bandwidth and for a second upper limit for the second clock rate and/or a third upper limit for the communication bandwidth to be recorded in the numerical controller.
  • the numerical controller to receive a fourth unlock code from an operator or from a computer-controlled facility and to identify the second upper limit and/or the third upper limit in dependence on the received fourth unlock code.
  • the corresponding scaling is also still possible subsequently.
  • the processor In a similar manner it is possible for the processor to work with a processor clock rate, for a fourth upper limit for the processor clock rate to be recorded in the numerical controller and for, in the course of the execution of the useful program, the numerical controller to limit the processor clock rate to the fourth upper limit.
  • the numerical controller to receive a fifth unlock code from an operator or from a computer-controlled facility and to identify the fourth upper limit in dependence on the received fifth unlock code.
  • the corresponding scaling is also still possible subsequently.
  • the object is furthermore achieved by a system program for a numerical controller, wherein the system program comprises machine code, which can be processed by the numerical controller, wherein the processing of the machine code by the numerical controller causes the numerical controller to execute an method set forth above.
  • the processing of the machine codes by the numerical controller causes the numerical controller to execute an operating method according to the invention.
  • the object is furthermore achieved by a numerical controller which is programmed with a system program according to the invention so that the numerical controller executes an operating method according to the invention.
  • FIG. 1 a production machine
  • FIG. 2 a flowchart
  • FIG. 3 a further flowchart.
  • a production machine 1 is to manipulate, for example machine, a workpiece 2 .
  • the production machine has a number of position-controlled axes 3 by means of which, for example, a tool 4 can positioned in a position-controlled manner relative to the workpiece 2 .
  • the positioning can be translatory and/or rotatory.
  • There can be as many position-controlled axes 3 as required. Often, there are at least three position-controlled axes 3 . However, embodiments with more or fewer than three position-controlled axes are also possible.
  • a numerical controller 5 is provided to control production machine 1 .
  • the numerical controller 5 is programmed with a system program 6 .
  • the system program 6 comprises machine code 7 , which can be processed by the numerical controller 5 .
  • the processing of the machine code 7 by the numerical controller 5 causes the numerical controller 5 to execute an operating method which is explained in more detail below in conjunction with FIG. 2 .
  • the numerical controller 5 only executes the system program 6 . This state can, for example, occur on start-up or after a reset of the numerical controller 5 .
  • the numerical controller 5 reads out various parameters from a configuration memory 8 .
  • the numerical controller 5 is configured in accordance with the parameters that are read out. The configurations made will be discussed in more detail later.
  • the numerical controller 5 After configuration, in a step S 3 , the numerical controller 5 starts to execute a useful program 9 .
  • the useful program 9 can, for example, be a conventional parts program comprising corresponding sequences or target position values for the individual position-controlled axes 3 .
  • the numerical controller 5 executes the useful program 9 while being monitored by the system program 6 .
  • the numerical controller 5 determines, by means of at least one processor 10 having at least one first clock rate, target values for the position-controlled axes 3 . It furthermore actuates the position-controlled axes 3 in accordance with the respectively determined target values.
  • the first clock rate can, for example, be an IPO clock rate interpolation clock rate), a position-control clock rate, a speed-control dock rate or current-control clock rate. Other technology-related clock rates are possible.
  • Technology-related clock rates are clock rates, which are related to the processing of the target values determined using the useful program 9 .
  • the opposite are control-related clock rates, which only relate to the internal functioning of the numerical controller 5 .
  • the unit of the first dock rate is hertz. The higher the first dock rate, the more quickly—with otherwise unchanged conditions—the useful program 9 can be processed.
  • the parameters recorded in the numerical controller can, for example, establish which resources of the numerical controller 5 are enabled and which are disabled. If intermediate stages between complete saving and complete enabling are possible, the recorded parameters can also establish the scope within which the resources are enabled. If the processor 10 is embodied as a multi-core processor, the cores of the processor 10 are an example of such resources. The parameters can, for example, establish whether, in the case of a quad-core processor, only one single processor core thereof, two processor cores thereof or all four processor cores thereof are used. Similar statements obviously also apply to processors 10 with a different number of processor cores, for example 2, 8 or 16 processor cores. Another example in this case are the individual processor threads 10 .
  • the parameters can, for example, establish whether, in the case of a maximum of eight possible threads, only one single thread is used or whether two, four or eight threads are used. Similar statements obviously also apply to processors 10 with a different number of threads, for example 4 or 16 threads.
  • a further example consists in establishing whether, when a 4 MB cache is physically present, nothing, 1 MB, 2 MB or all 4 MB are used.
  • a further example consists in establishing whether, in the case of two cache levels being present, one cache level is used or whether two cache levels are used.
  • a further example consists in establishing whether, when a 4 GB main memory is physically present, 1 GB, 2 GB or all 4 GB are used.
  • Other functional units for example a DSP (digital signal processor) or fixed-programmed modules (for example ASICs or FPGAs), can be unlocked or disabled as required.
  • the parameters can furthermore establish the minimum execution time with which repeatedly executed actions within the controller relating to the useful program 9 are executed, i.e. the minimum time elapsing between two such actions that follow in direct succession.
  • An example of such an execution time is the block change-over time, i.e. the time between the loading of two successive data blocks of the useful program 9 .
  • the parameters may not limit a minimum possible block change-over time of 1 ms due to the performance of the numerical controller 5 , limit it to 2 ms or limit it to 4 ms.
  • the parameters can furthermore establish a first upper limit for the at least one first clock rate.
  • the parameters may not limit a maximum possible position-control clock rate of 4 kHz due to the performance of the numerical controller 5 , limit it to 2 kHz or limit it to 1 kHz.
  • communication with the stored program control 11 generally takes place at a second dock rate.
  • communication with the man-machine interface 12 takes place with a communication bandwidth.
  • the parameters can, for example, establish a second upper limit for the second clock rate.
  • the parameters may not limit a possible maximum second clock rate of 200 Hz due to the performance of the numerical controller 5 , limit it to 100 Hz or limit it to 50 Hz.
  • the parameters can, for example, establish a third upper limit for the communication bandwidth.
  • the parameters may not limit a possible maximum communication bandwidth of 1 Mbit/s due to the performance of the numerical controller 5 , omit it to 500 kbit/s or limit it to 250 kbit/s.
  • the processor 10 works with a processor clock rate.
  • the processor clock rate can be constant, for example 3.0 GHz. Alternatively, it can be variable, for example it can vary between 2.5 GHz and 3.0 GHz. Regardless of whether the processor dock rate is constant or variable, however, the parameters can establish a fourth upper limit for the processor dock rate, for example not limit the processor clock rate, limit it to 2.5 GHz or limit it to 2.0 GHz.
  • the numerical controller 5 observes all the restrictions and limitations established by the parameters.
  • the numerical controller 5 determines the target values for the position-controlled axes 3 using only the enabled resources.
  • it executes the actions within the controller with at least the respective minimum execution time. Therefore, although the execution time can be longer than the minimum execution time specified by the parameters it cannot be shorter than this.
  • it limits the first clock rate to the first upper limit, the second clock rate to the second upper limit and the communication bandwidth to the third upper limit.
  • FIG. 3 additionally includes steps S 11 to S 21 .
  • the numerical controller 5 checks whether it is specified an overall code by an operator 13 or a computer-controlled facility. Optionally, it receives the overall code. If the overall code is not specified to it, the numerical controller 5 goes to step S 1 .
  • step S 12 the numerical controller 5 extracts a first unlock code from the overall code.
  • step S 13 the numerical controller 5 identifies which of the resources—optionally within which scope are enabled and which of the resources are disabled in dependence on the received first unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
  • step 314 the numerical controller 5 extracts a second unlock code from the overall code.
  • step S 15 the numerical controller 5 identifies the minimum execution times in dependence on the received second unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
  • step S 16 the numerical controller 5 extracts a third unlock code from the overall code.
  • step S 17 the numerical controller 5 identifies the first upper limit in dependence on the received third unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
  • step S 18 the numerical controller 5 extracts a fourth unlock code from the overall code.
  • step S 19 the numerical controller 5 identifies the second upper limit and/or the third upper limit in dependence on the received fourth unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
  • step 320 the numerical controller 5 extracts a fifth unlock code from the overall code.
  • step S 21 the numerical controller 5 identifies the fourth upper limit in dependence on the received fifth unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
  • steps S 12 to S 21 are all present. However, it is possible for individual pairs of steps S 12 to S 21 to be omitted.
  • step S 3 is preferably supplemented by a step S 26 .
  • the numerical controller 5 determines whether, and optionally within which scope, the processing of the useful program 9 could be accelerated if blocked resources or resources that are only usable to a limited extent are enabled, the minimum execution times are reduced, the at least one first clock rate is increased, the second clock rate is increased and/or the communication bandwidth is increased. Based on these determinations, the numerical controller 5 checks in a step S 27 whether a corresponding message to the operator 13 or to a computer-controlled facility is advisable.
  • step S 28 it sends the corresponding message to the operator 13 or the computer-controlled facility. This enables the corresponding unlock codes to be acquired and specified to the numerical controller 5 . If the numerical controller 5 reaches the conclusion that such a message is not advisable, the corresponding message is not sent.
  • the computer-controlled facility to which the message in step S 27 is sent can be the same as or different from the computer-controlled facility, which specifies the overall code, according to requirements.
  • the procedure according to the invention enables, for example, a faster IPO clock rate to be implemented if, and only if, non-rotationally symmetrical machining is to be performed during a turning operation. This is because such a case requires a very short IPO clock rate to enable the out-of-roundness to be interpolated with sufficient precision even at a relatively high spindle speed.
  • simultaneous parallel machining on a plurality of processor cores of the processor 10 may be necessary. In this case, it is, for example, possible for all four processor cores of a quadcore processor to be unlocked on the basis of a corresponding first unlock code.
  • part of a so-called block preparation can be outsourced to an additional processor core in order to enable this to be calculated and processed more quickly, more precisely or in another improved manner.
  • two of the four processor cores of a quadcore processor it is, for example, possible for two of the four processor cores of a quadcore processor to be unlocked on the basis of a corresponding first unlock code.
  • the present invention relates to the following:
  • a numerical controller 6 executes a useful program 9 while being monitored by a system program 6 .
  • the numerical controller 5 determines, by means of at least one processor 10 having at least one first clock rate, target values for position-controlled axes 3 of a machine 1 controlled by the numerical controller 5 and actuates the position-controlled axes 3 in accordance with the respectively determined target values.
  • resources of the numerical controller 5 it is in each case recorded in the numerical controller 5 whether, and optionally within which scope, said resources are enabled or whether said resources are disabled.
  • Enabling or disabling the resources establishes how many of a plurality of processor cores 10 are enabled for use and/or how many of a plurality of processor 10 threads are enabled for use and/or to what extent a processor 10 cache and/or a main memory assigned to the processor 10 are enabled for use and/or which hardware components of the numerical controller 5 are enabled for use and/or to what extent the use of external computing power is permitted.
  • the numerical controller 5 determines the target values for the position-controlled axes 3 using only the enabled resources.
  • the present invention has many advantages. In particular, it is easily possible to scale the performance of a numerical controller 5 as required.
  • An advantage for production machine manufacturers is that is only necessary to replace the numerical controller 5 in exceptional cases.
  • the advantage for numerical controller 5 manufacturers is that the outlay for the hardware development of numerical controllers 5 can be reduced since fewer different numerical controllers 5 have to be developed.
  • production machine 1 manufacturers only have to pay for the performance features that they, actually use, while the numerical controllers 5 still have considerable potential for expansion.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Numerical Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

A system program monitors a numerical controller executing a useful program controlling a machine. The numerical controller determines target values for position-controlled axes and controls the position-controlled axes in accordance with the target values. The numerical controller stores resources and determines whether, and optionally to which extent, the resources are enabled or disabled. Enabling or disabling the resources specifies how many processor cores are enabled for use, or how many processor threads are enabled for use, or to what extent a processor cache or a processor main memory are enabled for use, or which hardware components of the numerical controller are enabled for use, or to what extent use of external computing power is permitted. The numerical controller determines the target values for the position-controlled axes using only the enabled resources.

Description

CROSS-REFERENCES TO RELATED APPLICATIONS
This application is the U.S. National Stage of International Application No. PCT/EP2019/054348, filed Feb. 21, 2019, which designated the United States and has been published as International Publication No. WO 2019/179716 A1 and which claims the priority of European Patent Application, Serial No. 18162878.5, filed Mar. 20, 2018, pursuant to 35 U.S.C. 119(a)-(d).
BACKGROUND OF THE INVENTION
The present invention is based on an operating method for a numerical controller,
    • wherein the numerical controller executes a useful program while being monitored by a system program,
    • wherein, in the course of the execution of the useful program, the numerical controller determines, by means of at least one processor having at least one first dock rate, target values for position-controlled axes of a machine controlled by the numerical controller and actuates the position-controlled axes in accordance with the respectively determined target values.
The present invention is furthermore based on a system program for a numerical controller, wherein the system program comprises machine code, which can be processed by the numerical controller, wherein the processing of the machine code by the numerical controller causes the numerical controller to execute such an operating method.
The present invention is furthermore based on a numerical controller, wherein the numerical controller is programmed with such a system program so that it executes such an operating method.
Many performance classes of numerical controller systems are available on the market. The scaling of the performance can, for example, relate to the number of technologies provided (turning, milling, laser machining, etc.), the number of controllable axes, the type and scope of activatable controller functions and so on. Furthermore, the external performance features mentioned above by way of example are, as a rule, also accompanied by increasing requirements relating to the performance features of the controller systems such as, for example, the performance of a processor of the numerical controller or the amount of main memory available and the like. Manufacturers of production machines (for example machine tools) obtain and use numerical controllers of a specific performance class that they deem to be suitable.
In the course of later modifications, manufacturers of production machines are bound by the limitations of the numerical controllers they use. If there is subsequently a requirement for higher performance—for example higher machining accuracy, which is achieved by a shorter interpolation time according to the prior art, this can only be achieved by replacing the numerical controller with a correspondingly more powerful numerical controller or by accepting extended machining time. The use of a more powerful numerical controller entails considerable costs and considerable outlay on commissioning. Conversely, if previous numerical controllers are to remain in use, these numerical controllers can only be achieved by accepting other restrictions, for example with respect to the achievable machining time.
Although is conceivably possible always to use a “large” and correspondingly powerful numerical controller, the acquisition of such large and correspondingly powerful numerical controllers is out of the question for production machine manufacturers for reasons of cost. Instead—at least as a rule they will only use numerical controllers that are “just adequate”.
Conversely, manufacturers of numerical controllers could obviously market correspondingly “large” powerful numerical controllers at the same price as smaller, less powerful numerical controllers. However, this is unacceptable to manufacturers of numerical controllers for reasons of cost.
Therefore, in practice, manufacturers of production machines still remain bound to the limitations of the numerical controllers they are using in the course of later modifications.
A production system, which includes a production machine and a facility designated a control device is known from EP 3 045 993 A1. The production machine includes an internal CNC controller. The facility designated a control device is not incorporated in the real-time control of the production machine. Instead, its function is to use CAD data to determine a control program which will be later processed by the internal production machine controller. A plurality of functionalities are provided inside the facility designated as a control device, which, although they supply similar results these results are of varying quality. Higher grade functionalities can only be activated and used by means of a corresponding unlock code.
A control facility for a welding device is known from US 2018/0 059 650 A1. Various algorithms can be held in the control facility to control the welding device. If this is the case, the possible algorithms will be displayed to an operator to enable the operator to select one of the algorithms.
It is the object of the present invention to provide possibilities by means of which the performance of the numerical controller can be scaled, wherein both the interests of production machine manufacturers and the interests of numerical controller manufacturers are observed.
SUMMARY OF THE INVENTION
The object is achieved by an operating method as set forth hereinafter. Advantageous embodiments of the operating method are the subject matter of dependent claims.
According to the invention, an operating method of the type cited in the introduction is embodied in that,
    • with regard to resources of the numerical controller, it is in each case recorded whether, and optionally within which scope, said resources are enabled or whether said resources are disabled,
    • wherein enabling or disabling the resources establishes
      • how many of a plurality of processor cores are enabled for use and/or
      • how many of a plurality of processor threads are enabled for use and/or
      • to what extent a processor cache and/or a main memory assigned to the processor are enabled for use and/or
      • which hardware components of the numerical controller are enabled for use and/or
      • to what extent the use of external computing power is permitted,
    • that the numerical controller determines the target values for the position-controlled axes using only the enabled resources.
This procedure on the one hand enables manufacturers of numerical controllers to supply in principle very powerful numerical controllers at a reasonable price to production machine manufacturers. At the same time, it is still ensured that production machine manufacturers are only able to use numerical controllers within the scope of the performance features enabled by numerical controller manufacturers.
The establishment of which of the resources—optionally within which scope are enabled and which are disabled can be identified by numerical controller manufacturers according to the requirements. If production machine manufacturers pay a relatively low price, only a few resources are enabled or the enabled resources are limited. At higher prices, more resources are enabled or limitations removed. Here, as a rule, the more resources that are enabled and limitations removed, the higher the price paid by production machine manufacturers.
In a preferred embodiment of the operating method, it is provided that, in the course of the execution of the system program, but before the execution of the useful program, the numerical controller receives a first unlock code from an operator or from a computer-controlled facility and identifies which of the resources are enabled within which scope and which of the resources are disabled in dependence on the received first unlock code. This also enables resources to be unlocked subsequently as required.
Similar procedures can be implemented for the use of resources with respect to other performance parameters of the numerical controller. It is in particular possible for minimum execution times for repeatedly executed actions within the controller relating to the useful program to be recorded in the numerical controller and that, in the course of the execution of the useful program, the numerical controller executes the actions within the controller with at least the respective minimum execution time.
Here, it is again possible for, in the course of the execution of the system program, but before the execution of the useful program, the numerical controller to receive a second unlock code from an operator or from a computer-controlled facility and to identify the minimum execution times in dependence on the received second unlock code. This also enables the performance of the numerical controller to be scaled subsequently with respect to the actions within the controller.
In a similar manner, it is also possible for a first upper limit for the at least one first clock rate (frequency) to be recorded in the numerical controller and for, in the course of the execution of the useful program, the numerical controller to limit the first clock rate to the first upper limit.
Here it is also again possible for, in the course of the execution of the system program, but before the execution of the useful program, the numerical controller to receive a third unlock code from an operator or from a computer-controlled facility and to identify the first upper limit in dependence on the received third unlock code. This also enables the performance of the numerical controller to be scaled subsequently with respect to the first clock rate.
It is also possible for, in the course of the execution of the useful program, the numerical controller to communicate with an external facility with a second clock rate and/or with a communication bandwidth and for a second upper limit for the second clock rate and/or a third upper limit for the communication bandwidth to be recorded in the numerical controller.
Here, it is also again possible for, in the course of the execution of the system program, but before the execution of the useful program, the numerical controller to receive a fourth unlock code from an operator or from a computer-controlled facility and to identify the second upper limit and/or the third upper limit in dependence on the received fourth unlock code. As a result, here the corresponding scaling is also still possible subsequently.
In a similar manner it is possible for the processor to work with a processor clock rate, for a fourth upper limit for the processor clock rate to be recorded in the numerical controller and for, in the course of the execution of the useful program, the numerical controller to limit the processor clock rate to the fourth upper limit.
Here, it is also again possible for, in the course of the execution of the system program, but before the execution of the useful program, the numerical controller to receive a fifth unlock code from an operator or from a computer-controlled facility and to identify the fourth upper limit in dependence on the received fifth unlock code. As a result, here the corresponding scaling is also still possible subsequently.
The object is furthermore achieved by a system program for a numerical controller, wherein the system program comprises machine code, which can be processed by the numerical controller, wherein the processing of the machine code by the numerical controller causes the numerical controller to execute an method set forth above. According to the invention, the processing of the machine codes by the numerical controller causes the numerical controller to execute an operating method according to the invention.
The object is furthermore achieved by a numerical controller which is programmed with a system program according to the invention so that the numerical controller executes an operating method according to the invention.
BRIEF DESCRIPTION OF THE DRAWING
The above-described properties, features and advantages of this invention and the manner in which they are achieved will become clearer and more plainly comprehensible in conjunction with following description of the exemplary embodiments explained in more detail in conjunction with the drawings. These show in schematic depictions:
FIG. 1 a production machine,
FIG. 2 a flowchart, and
FIG. 3 a further flowchart.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
According to FIG. 1 , a production machine 1 is to manipulate, for example machine, a workpiece 2. For this purpose, the production machine has a number of position-controlled axes 3 by means of which, for example, a tool 4 can positioned in a position-controlled manner relative to the workpiece 2. The positioning can be translatory and/or rotatory. There can be as many position-controlled axes 3 as required. Often, there are at least three position-controlled axes 3. However, embodiments with more or fewer than three position-controlled axes are also possible.
A numerical controller 5 is provided to control production machine 1. The numerical controller 5 is programmed with a system program 6. The system program 6 comprises machine code 7, which can be processed by the numerical controller 5. The processing of the machine code 7 by the numerical controller 5 causes the numerical controller 5 to execute an operating method which is explained in more detail below in conjunction with FIG. 2 .
According to FIG. 2 , initially, the numerical controller 5 only executes the system program 6. This state can, for example, occur on start-up or after a reset of the numerical controller 5. In the context of the execution of the system program 6, in a step St the numerical controller 5 reads out various parameters from a configuration memory 8. In a step S2, the numerical controller 5 is configured in accordance with the parameters that are read out. The configurations made will be discussed in more detail later.
After configuration, in a step S3, the numerical controller 5 starts to execute a useful program 9. The useful program 9 can, for example, be a conventional parts program comprising corresponding sequences or target position values for the individual position-controlled axes 3. The numerical controller 5 executes the useful program 9 while being monitored by the system program 6.
In the context of the execution of the useful program 9, the numerical controller 5 determines, by means of at least one processor 10 having at least one first clock rate, target values for the position-controlled axes 3. It furthermore actuates the position-controlled axes 3 in accordance with the respectively determined target values. The first clock rate can, for example, be an IPO clock rate interpolation clock rate), a position-control clock rate, a speed-control dock rate or current-control clock rate. Other technology-related clock rates are possible. Technology-related clock rates are clock rates, which are related to the processing of the target values determined using the useful program 9. The opposite are control-related clock rates, which only relate to the internal functioning of the numerical controller 5. The unit of the first dock rate is hertz. The higher the first dock rate, the more quickly—with otherwise unchanged conditions—the useful program 9 can be processed.
The parameters recorded in the numerical controller can, for example, establish which resources of the numerical controller 5 are enabled and which are disabled. If intermediate stages between complete saving and complete enabling are possible, the recorded parameters can also establish the scope within which the resources are enabled. If the processor 10 is embodied as a multi-core processor, the cores of the processor 10 are an example of such resources. The parameters can, for example, establish whether, in the case of a quad-core processor, only one single processor core thereof, two processor cores thereof or all four processor cores thereof are used. Similar statements obviously also apply to processors 10 with a different number of processor cores, for example 2, 8 or 16 processor cores. Another example in this case are the individual processor threads 10. The parameters can, for example, establish whether, in the case of a maximum of eight possible threads, only one single thread is used or whether two, four or eight threads are used. Similar statements obviously also apply to processors 10 with a different number of threads, for example 4 or 16 threads. A further example consists in establishing whether, when a 4 MB cache is physically present, nothing, 1 MB, 2 MB or all 4 MB are used. A further example consists in establishing whether, in the case of two cache levels being present, one cache level is used or whether two cache levels are used. A further example consists in establishing whether, when a 4 GB main memory is physically present, 1 GB, 2 GB or all 4 GB are used. A further example consists in establishing whether a GPU (=graphical processing unit) that is present is used or not. Other functional units, for example a DSP (digital signal processor) or fixed-programmed modules (for example ASICs or FPGAs), can be unlocked or disabled as required.
The above statements are obviously by way of example only. Furthermore, it is not only possible to enable or block internal resources of the numerical controller 5 (completely or partially). Similar procedures are also possible for external resources of the numerical controller 6. For example, the parameters can power can be used—for example by another numerical controller or via a cloud.
The parameters can furthermore establish the minimum execution time with which repeatedly executed actions within the controller relating to the useful program 9 are executed, i.e. the minimum time elapsing between two such actions that follow in direct succession. An example of such an execution time is the block change-over time, i.e. the time between the loading of two successive data blocks of the useful program 9. For example, the parameters may not limit a minimum possible block change-over time of 1 ms due to the performance of the numerical controller 5, limit it to 2 ms or limit it to 4 ms.
The parameters can furthermore establish a first upper limit for the at least one first clock rate. For example, the parameters may not limit a maximum possible position-control clock rate of 4 kHz due to the performance of the numerical controller 5, limit it to 2 kHz or limit it to 1 kHz.
Furthermore, in the context of execution of the useful program 9, the numerical controller 5 often communicates with other facilities, for example with a stored program control 11 (often called PLC=progmmmable logic control) or other facilities, such as, for example a man-machine-interface 12. Communication with a further numerical controller via a corresponding machine-machine-interface is also possible. As a rule, such communication via the machine-machine-interface usually takes place with a very high or wide communication bandwidth.
As a rule, communication with the stored program control 11 generally takes place at a second dock rate. As a rule, communication with the man-machine interface 12 takes place with a communication bandwidth. The parameters can, for example, establish a second upper limit for the second clock rate. For example, the parameters may not limit a possible maximum second clock rate of 200 Hz due to the performance of the numerical controller 5, limit it to 100 Hz or limit it to 50 Hz. Alternatively or additionally, the parameters can, for example, establish a third upper limit for the communication bandwidth. For example, the parameters may not limit a possible maximum communication bandwidth of 1 Mbit/s due to the performance of the numerical controller 5, omit it to 500 kbit/s or limit it to 250 kbit/s.
The processor 10 works with a processor clock rate. The processor clock rate can be constant, for example 3.0 GHz. Alternatively, it can be variable, for example it can vary between 2.5 GHz and 3.0 GHz. Regardless of whether the processor dock rate is constant or variable, however, the parameters can establish a fourth upper limit for the processor dock rate, for example not limit the processor clock rate, limit it to 2.5 GHz or limit it to 2.0 GHz.
In the course of the execution of step S3, the numerical controller 5 observes all the restrictions and limitations established by the parameters. In particular, the numerical controller 5 determines the target values for the position-controlled axes 3 using only the enabled resources. Furthermore, it executes the actions within the controller with at least the respective minimum execution time. Therefore, although the execution time can be longer than the minimum execution time specified by the parameters it cannot be shorter than this. Furthermore, it limits the first clock rate to the first upper limit, the second clock rate to the second upper limit and the communication bandwidth to the third upper limit. Finally, it limits the processor clock rate to the fourth upper limit.
The procedure explained above in conjunction with FIG. 2 is preferably embodied in accordance with FIG. 3 .
FIG. 3 additionally includes steps S11 to S21. In step 311, the numerical controller 5 checks whether it is specified an overall code by an operator 13 or a computer-controlled facility. Optionally, it receives the overall code. If the overall code is not specified to it, the numerical controller 5 goes to step S1.
Otherwise, in step S12 the numerical controller 5 extracts a first unlock code from the overall code. In step S13, the numerical controller 5 identifies which of the resources—optionally within which scope are enabled and which of the resources are disabled in dependence on the received first unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
In a similar manner, in step 314, the numerical controller 5 extracts a second unlock code from the overall code. In step S15, the numerical controller 5 identifies the minimum execution times in dependence on the received second unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
In a similar manner, in step S16, the numerical controller 5 extracts a third unlock code from the overall code. In step S17, the numerical controller 5 identifies the first upper limit in dependence on the received third unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
In a similar manner, in step S18, the numerical controller 5 extracts a fourth unlock code from the overall code. In step S19 the numerical controller 5 identifies the second upper limit and/or the third upper limit in dependence on the received fourth unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
In a similar manner, in step 320, the numerical controller 5 extracts a fifth unlock code from the overall code. In step S21, the numerical controller 5 identifies the fourth upper limit in dependence on the received fifth unlock code. In particular, it changes the content of the configuration memory 8 accordingly.
As far as they are explained, steps S12 to S21 are all present. However, it is possible for individual pairs of steps S12 to S21 to be omitted.
Furthermore, in accordance with the depiction in FIG. 3 , step S3 is preferably supplemented by a step S26. In step S26, the numerical controller 5, determines whether, and optionally within which scope, the processing of the useful program 9 could be accelerated if blocked resources or resources that are only usable to a limited extent are enabled, the minimum execution times are reduced, the at least one first clock rate is increased, the second clock rate is increased and/or the communication bandwidth is increased. Based on these determinations, the numerical controller 5 checks in a step S27 whether a corresponding message to the operator 13 or to a computer-controlled facility is advisable. If the numerical controller 5 reaches this conclusion, in a step S28, it sends the corresponding message to the operator 13 or the computer-controlled facility. This enables the corresponding unlock codes to be acquired and specified to the numerical controller 5. If the numerical controller 5 reaches the conclusion that such a message is not advisable, the corresponding message is not sent. The computer-controlled facility to which the message in step S27 is sent can be the same as or different from the computer-controlled facility, which specifies the overall code, according to requirements.
The procedure according to the invention enables, for example, a faster IPO clock rate to be implemented if, and only if, non-rotationally symmetrical machining is to be performed during a turning operation. This is because such a case requires a very short IPO clock rate to enable the out-of-roundness to be interpolated with sufficient precision even at a relatively high spindle speed. For example, in order to enable a sufficiently fast IPO clock rate to be achieved, simultaneous parallel machining on a plurality of processor cores of the processor 10 may be necessary. In this case, it is, for example, possible for all four processor cores of a quadcore processor to be unlocked on the basis of a corresponding first unlock code.
Similarly, by means of a corresponding enablement, part of a so-called block preparation can be outsourced to an additional processor core in order to enable this to be calculated and processed more quickly, more precisely or in another improved manner. In this case, it is, for example, possible for two of the four processor cores of a quadcore processor to be unlocked on the basis of a corresponding first unlock code.
Thus, in summary the present invention relates to the following:
A numerical controller 6 executes a useful program 9 while being monitored by a system program 6. In the course of the execution of the useful program 9, the numerical controller 5 determines, by means of at least one processor 10 having at least one first clock rate, target values for position-controlled axes 3 of a machine 1 controlled by the numerical controller 5 and actuates the position-controlled axes 3 in accordance with the respectively determined target values. With regard to resources of the numerical controller 5, it is in each case recorded in the numerical controller 5 whether, and optionally within which scope, said resources are enabled or whether said resources are disabled. Enabling or disabling the resources establishes how many of a plurality of processor cores 10 are enabled for use and/or how many of a plurality of processor 10 threads are enabled for use and/or to what extent a processor 10 cache and/or a main memory assigned to the processor 10 are enabled for use and/or which hardware components of the numerical controller 5 are enabled for use and/or to what extent the use of external computing power is permitted. The numerical controller 5 determines the target values for the position-controlled axes 3 using only the enabled resources.
The present invention has many advantages. In particular, it is easily possible to scale the performance of a numerical controller 5 as required. An advantage for production machine manufacturers is that is only necessary to replace the numerical controller 5 in exceptional cases. The advantage for numerical controller 5 manufacturers is that the outlay for the hardware development of numerical controllers 5 can be reduced since fewer different numerical controllers 5 have to be developed. On the one hand, production machine 1 manufacturers only have to pay for the performance features that they, actually use, while the numerical controllers 5 still have considerable potential for expansion.
Although the invention has been illustrated and described in greater detail by the preferred exemplary embodiment, the invention is not restricted by the disclosed examples and other variations can be derived herefrom by the person skilled in the art without departing from the scope of protection of the invention.

Claims (9)

The invention claimed is:
1. A method for operating a numerical controller which executes a useful program controlling a machine, the method comprising:
executing a system program which monitors the numerical controller;
the numerical controller determining, with a processor having a first clock rate and by executing the useful program, target values for position-controlled axes of the machine and actuating the position-controlled axes in accordance with the determined target values;
storing in the numerical controller criteria for deciding which and to which extent resources of the numerical controller are enabled or disabled, wherein enabling or disabling the resources specifies
a number of processor cores of the at least one processor to be enabled for use, or
a number of processor threads of the at least one processor to be enabled for use, or
an extent of a processor cache or of a main memory of the at least one processor to be enabled for use, or
hardware components of the numerical controller to be enabled for use, or
an extent of external computing power to be permitted; and
the numerical controller determining the target values for the position-controlled axes using only the enabled resources based on unlock codes received, during execution of the system program, but before execution of the useful program, from an operator or from a computer-controlled facility,
with a first of the unlock codes determining which of the resources are enabled and disabled, and to which extent the resources are enabled, with a second of the unlock codes determining a minimum execution time, and with a third of the unlock codes determining a first upper limit for the first clock rate for execution of the useful program.
2. The method of claim 1, further comprising the numerical controller storing the minimum execution time for repeatedly executed controller-internal actions of the useful program during execution of the useful program, and during execution of the useful program, executing the controller-internal actions at least with the minimum execution time.
3. The method of claim 1, further comprising the numerical controller storing the first upper limit for the first clock rate and limiting during execution of the useful program the first clock rate to the first upper limit.
4. The method of claim 1, further comprising the numerical controller communicating during execution of the useful program with an external facility with a second clock rate or with a communication bandwidth, and storing a second upper limit for the second clock rate or a third upper limit for the communication bandwidth.
5. The method of claim 4, further comprising the numerical controller receiving, during execution of the system program, but before execution of the useful program, a fourth unlock code from an operator or from a computer-controlled facility, and determining the second upper limit or the third upper limit in dependence on the received fourth unlock code.
6. The method of claim 1, further comprising the numerical controller storing a fourth upper limit for a processor clock rate of the processor, and limiting during execution of the useful program the processor clock rate to the fourth upper limit.
7. The method of claim 6, further comprising the numerical controller receiving, during execution of the system program, but before execution of the useful program, a fifth unlock code from an operator or from a computer-controlled facility, and determining the fourth upper limit based on the received fifth unlock code.
8. A system program for a numerical controller controlling a machine, wherein the system program comprises machine code embodied on a non-transitory storage medium, which when loaded into a memory of the numerical controller and executed by a processor of the numerical controller, causes the numerical controller to
determine, with the processor having a first clock rate and by executing the useful program, target values for position-controlled axes of the machine and actuating the position-controlled axes in accordance with the determined target values,
store criteria for deciding which and to which extent resources of the numerical controller are enabled or disabled, wherein enabling or disabling the resources specifies
a number of processor cores of the at least one processor to be enabled for use, or
a number of processor threads of the at least one processor to be enabled for use, or
an extent of a processor cache or of a main memory of the at least one processor to be enabled for use, or
hardware components of the numerical controller to be enabled for use, or
an extent of external computing power to be permitted, and
determine the target values for the position-controlled axes using only the enabled resources based on unlock codes received, during execution of the system program, but before execution of the useful program, from an operator or from a computer-controlled facility,
with a first of the unlock codes determining which of the resources are enabled and disabled, and to which extent the resources are enabled, with a second of the unlock codes determining a minimum execution time, and with a third of the unlock codes determining a first upper limit for the first clock rate for execution of the useful program.
9. A numerical controller controlling a machine, wherein the numerical controller is programmed with a system program comprising machine code embodied on a non-transitory storage medium, which when loaded into a memory of the numerical controller and executed by a processor of the numerical controller, causes the numerical controller to
determine, with the processor having a first clock rate and by executing the useful program, target values for position-controlled axes of the machine and actuating the position-controlled axes in accordance with the determined target values,
store criteria for deciding which and to which extent resources of the numerical controller are enabled or disabled, wherein enabling or disabling the resources specifies
a number of processor cores of the at least one processor to be enabled for use, or
a number of processor threads of the at least one processor to be enabled for use, or
an extent of a processor cache or of a main memory of the at least one processor to be enabled for use, or
hardware components of the numerical controller to be enabled for use, or
an extent of external computing power to be permitted, and
determine the target values for the position-controlled axes using only the enabled resources based on unlock codes received, during execution of the system program, but before execution of the useful program, from an operator or from a computer-controlled facility,
with a first of the unlock codes determining which of the resources are enabled and disabled, and to which extent the resources are enabled, with a second of the unlock codes determining a minimum execution time, and with a third of the unlock codes determining a first upper limit for the first clock rate for execution of the useful program.
US16/982,424 2018-03-20 2019-02-21 Numerical controller having scalable performance Active 2040-09-26 US11782415B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP18162878 2018-03-20
EP18162878.5A EP3543811A1 (en) 2018-03-20 2018-03-20 Numerical controller with scalable performance
EP18162878.5 2018-03-20
PCT/EP2019/054348 WO2019179716A1 (en) 2018-03-20 2019-02-21 Numerical controller having scalable performance

Publications (2)

Publication Number Publication Date
US20210365001A1 US20210365001A1 (en) 2021-11-25
US11782415B2 true US11782415B2 (en) 2023-10-10

Family

ID=61800305

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/982,424 Active 2040-09-26 US11782415B2 (en) 2018-03-20 2019-02-21 Numerical controller having scalable performance

Country Status (4)

Country Link
US (1) US11782415B2 (en)
EP (2) EP3543811A1 (en)
CN (1) CN111886551B (en)
WO (1) WO2019179716A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3798755A1 (en) 2019-09-27 2021-03-31 Siemens Aktiengesellschaft Numerical controller which can be adjusted by the machine manufacturer

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049512A1 (en) 1996-05-10 2002-04-25 Toru Mizuno A numerical control system and an input setting method for control software for numerical control devices
US20040236852A1 (en) * 2003-04-03 2004-11-25 International Business Machines Corporation Method to provide on-demand resource access
US20050283269A1 (en) 2004-06-18 2005-12-22 Fanuc Ltd Numerical controller
US20060174007A1 (en) * 2005-01-31 2006-08-03 International Business Machines Corporation Permanently activating resources based on previous temporary resource usage
US20080256363A1 (en) * 2007-04-13 2008-10-16 Boris Balacheff Trusted component update system and method
US7814366B2 (en) * 2005-11-15 2010-10-12 Intel Corporation On-demand CPU licensing activation
US20110154348A1 (en) * 2009-12-17 2011-06-23 International Business Machines Corporation Method of exploiting spare processors to reduce energy consumption
CN102134940A (en) 2010-01-25 2011-07-27 咏升科技有限公司 Computer numerical control (CNC) periodic code locking device
US20130041510A1 (en) * 2011-08-10 2013-02-14 Fanuc Corporation Numerical control system having multi-core processor
US20130131840A1 (en) * 2011-11-11 2013-05-23 Rockwell Automation Technologies, Inc. Scalable automation system
US20130268942A1 (en) * 2012-04-09 2013-10-10 Jerome F. Duluk, Jr. Methods and apparatus for auto-throttling encapsulated compute tasks
US8775787B2 (en) * 2008-01-23 2014-07-08 International Business Machines Corporation Method and device for configuring functional capabilities in a data processing system
EP2779009A2 (en) 2013-03-13 2014-09-17 Rockwell Automation Technologies, Inc. Code-enabled remote activation of software for industrial automation systems
US20150094846A1 (en) 2013-09-27 2015-04-02 Siemens Aktiengesellschaft Control device with integrated optimizer
US9027029B2 (en) * 2013-03-28 2015-05-05 International Business Machines Corporation Method for activating processor cores within a computer system
US20150378341A1 (en) * 2014-06-27 2015-12-31 Fanuc Corporation Numerical controller with multi-core processor
US20160062348A1 (en) * 2014-08-29 2016-03-03 Fanuc Corporation Numerical controller capable of performing axis control routine of a plurality of axes in distributed manner
EP3045993A1 (en) 2015-01-15 2016-07-20 Siemens Aktiengesellschaft Manufacturing system with added functionality and method of operation
US20170139403A1 (en) * 2015-11-18 2017-05-18 Fanuc Corporation Numerical control system coordinating with tool catalog database
US20170199770A1 (en) * 2014-06-23 2017-07-13 Getclouder Ltd. Cloud hosting systems featuring scaling and load balancing with containers
US9779058B2 (en) * 2015-07-13 2017-10-03 Google Inc. Modulating processsor core operations
US20180059650A1 (en) 2016-08-31 2018-03-01 Esab Ab Techniques for multiple application banks in a welding or cutting system
US20190121324A1 (en) * 2017-10-25 2019-04-25 Fanuc Corporation Numerical controller

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049512A1 (en) 1996-05-10 2002-04-25 Toru Mizuno A numerical control system and an input setting method for control software for numerical control devices
US20040236852A1 (en) * 2003-04-03 2004-11-25 International Business Machines Corporation Method to provide on-demand resource access
US20050283269A1 (en) 2004-06-18 2005-12-22 Fanuc Ltd Numerical controller
CN1722034A (en) 2004-06-18 2006-01-18 发那科株式会社 Numerical controller
US20060174007A1 (en) * 2005-01-31 2006-08-03 International Business Machines Corporation Permanently activating resources based on previous temporary resource usage
US7814366B2 (en) * 2005-11-15 2010-10-12 Intel Corporation On-demand CPU licensing activation
US20080256363A1 (en) * 2007-04-13 2008-10-16 Boris Balacheff Trusted component update system and method
US8775787B2 (en) * 2008-01-23 2014-07-08 International Business Machines Corporation Method and device for configuring functional capabilities in a data processing system
US20110154348A1 (en) * 2009-12-17 2011-06-23 International Business Machines Corporation Method of exploiting spare processors to reduce energy consumption
CN102134940A (en) 2010-01-25 2011-07-27 咏升科技有限公司 Computer numerical control (CNC) periodic code locking device
US20130041510A1 (en) * 2011-08-10 2013-02-14 Fanuc Corporation Numerical control system having multi-core processor
US20130131840A1 (en) * 2011-11-11 2013-05-23 Rockwell Automation Technologies, Inc. Scalable automation system
US20130268942A1 (en) * 2012-04-09 2013-10-10 Jerome F. Duluk, Jr. Methods and apparatus for auto-throttling encapsulated compute tasks
EP2779009A2 (en) 2013-03-13 2014-09-17 Rockwell Automation Technologies, Inc. Code-enabled remote activation of software for industrial automation systems
US9027029B2 (en) * 2013-03-28 2015-05-05 International Business Machines Corporation Method for activating processor cores within a computer system
CN104516309A (en) 2013-09-27 2015-04-15 西门子公司 Control device with integrated optimizer
US20150094846A1 (en) 2013-09-27 2015-04-02 Siemens Aktiengesellschaft Control device with integrated optimizer
US20170199770A1 (en) * 2014-06-23 2017-07-13 Getclouder Ltd. Cloud hosting systems featuring scaling and load balancing with containers
US20150378341A1 (en) * 2014-06-27 2015-12-31 Fanuc Corporation Numerical controller with multi-core processor
US20160062348A1 (en) * 2014-08-29 2016-03-03 Fanuc Corporation Numerical controller capable of performing axis control routine of a plurality of axes in distributed manner
EP3045993A1 (en) 2015-01-15 2016-07-20 Siemens Aktiengesellschaft Manufacturing system with added functionality and method of operation
US20180004191A1 (en) 2015-01-15 2018-01-04 Siemens Aktiengesellschaft Production system having additional functionality, and operating method
US9779058B2 (en) * 2015-07-13 2017-10-03 Google Inc. Modulating processsor core operations
US20170139403A1 (en) * 2015-11-18 2017-05-18 Fanuc Corporation Numerical control system coordinating with tool catalog database
US20180059650A1 (en) 2016-08-31 2018-03-01 Esab Ab Techniques for multiple application banks in a welding or cutting system
US20190121324A1 (en) * 2017-10-25 2019-04-25 Fanuc Corporation Numerical controller

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Chen et al.; "System-on-Chip (SOC) Design forCNC System"; IEEE International Symposium on Industrial Electronics (ISIE 2009); (Chen_2009.pdf; pp. 690-693) (Year: 2009). *
Ekkachai et al.; "Design and Development of an Open Architecture CNC Controller for Milling Machine Retrofitting"; International Joint Conference 2009, Japan; (Eddachai_2009.pdf; pp. 5629-5632) (Year: 2009). *
Keinert et al.; "Concept of a Computerized Numerical Control Kernel for Execution on Multi-core Processors"; IEEE Advanced Motion Control Apr. 22-24, 2016 Auckland New Zealand; (Keinert_2016.pdf; pp. 1-6) (Year: 2016). *
Landers et al: "Reconfigurable Machine Tools", CIRP Annals, Elsevier BV, BL, CH, FR, vol. 50, No. 1, Seiten 269-274, XP022137388, ISSN: 0007-8506, DOI:10.1016/S0007-8506(07)62120-9; pp. 3; 2001.
PCT International Search Report and Written Opinion of International Searching Authority dated Jul. 19, 2019 corresponding to PCT International Application No. PCT/EP2019/054348 filed Feb. 21, 2019.
Petko et al.; "CNC system of the 5-axis hybrid robot for milling"; http://dx.doi.org/10.1016/j.mechatronics.2016.03.001; 2016 Elsevier Ltd.; (Petko_2016.pdf; pp. 89-99) (Year: 2016). *

Also Published As

Publication number Publication date
EP3543811A1 (en) 2019-09-25
EP3717977A1 (en) 2020-10-07
US20210365001A1 (en) 2021-11-25
EP3717977B1 (en) 2023-09-06
CN111886551A (en) 2020-11-03
CN111886551B (en) 2023-08-22
WO2019179716A1 (en) 2019-09-26

Similar Documents

Publication Publication Date Title
US9063533B2 (en) Multi-spindle translation control for multiple coordinate systems
US9494928B2 (en) Numerical control apparatus
WO2013061445A1 (en) Numerical control device
US8630732B2 (en) Method for avoiding an unwanted collision between a tool and a workpiece in a machine tool
US9921556B2 (en) Machine controller and power consumption control of machine tool peripherals
US11782415B2 (en) Numerical controller having scalable performance
JPS63181005A (en) Parallel processing method for numerical controller
US8239057B2 (en) Controlling a slave drive with dynamic determination of the dynamics of the master axis
US11402822B2 (en) Numerical controller
US20160209833A1 (en) Manufacturing machine and method of operation with a function self-check
US8249741B2 (en) Control of machine tools comprising a tool magazine and an intermediate storage station
US11086291B2 (en) Method for operating a numerically controlled production system, and production system for same
JP6444923B2 (en) Numerical controller
US10824136B2 (en) Setting device and computer readable medium
CN109388102B (en) Control system and upper server
US20200133241A1 (en) Numerical control system
JP5752213B2 (en) Numerical control device with a function to execute multiple commands simultaneously in table format data
JP7464386B2 (en) Control device and control method
JP7072478B2 (en) Machining equipment, processing equipment control method and processing equipment control program
JP2007213241A (en) Interruption workable numerically controlled machine tool
CN112987655A (en) Control device and control method
US11822317B2 (en) Operator-defined avoidance of chatter
WO2022196622A9 (en) Numerical control device
JP7283875B2 (en) Numerical controller
US11287797B2 (en) Numerical control device

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: SIEMENS AKTIENGESELLSCHAFT, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRETSCHNEIDER, JOCHEN;SPIELMANN, RALF;STELLWAG, PHILIPPE;SIGNING DATES FROM 20200812 TO 20200922;REEL/FRAME:054956/0286

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE