Controller for a machine tool or production machine
A controller for a machine tool or production machine is disclosed. The controller includes system software that implements a control function for the machine tool or production machine, real-time basic application software and real-time custom-designed application software for expanding the system software, and a software interface allowing the real-time basic application to access data and functions of the system software. The controller further includes a custom-designed software interface provided by the basic application software for communication between the basic application software and the custom-designed application software. With the disclosed controller, custom-designed application software can be integrated in the system software of the controller without detailed information about the system software of the controller.
Latest Siemens Aktiengesellschaft Patents:
- THERMALLY CONDUCTIVE MOUNT
- Remotely Operated System and Use of the System Based on Edge-Cloud Infrastructure
- ENCRYPTION OF PROGRAM INSTRUCTIONS IN A NUMERICAL CONTROL DEVICE
- Method for configuring a radio connection
- Matched contour winding of coils in slot between adjacent teeth of stator core and processing method therefor
This application claims the priority of German Patent Application, Serial No. 103 50 072.3, filed Oct. 27, 2003, pursuant to 35 U.S.C. 119(a)–(d), the disclosure of which is incorporated herein by reference.
BACKGROUND OF THE INVENTIONThe present invention relates to a controller for a machine tool or a production machine, and more particularly to an interface for the controller.
Nothing in the following discussion of the state of the art is to be construed as an admission of prior art.
Controllers for machine tools or production machines typically include system software performing the control functions. The system software is often supplied by the manufacturer as a single design type and is typically reconfigured, rather than modified, to produce different variations that have better performance and require less maintenance. User-specific functions or other special functions that run efficiently on standard system software can be imported into modern software systems by having the manufacturer implement an open system in the system's real-time area. The functionality of the software can be substantially enhanced independent of the development cycle of the system software through additional so-called application software, subsequently referred to as basic application software. The basic application software can access data and functions of the system software through an open software interface.
Various groups of users take advantage of the possibility to integrate basic application software with existing system software through a general and typically high-capacity software interface, for example:
- a) the manufacturer of the controller can develop custom-designed functionality,
- b) the manufacturer of the machine can introduce proprietary know-how by developing technologically advanced and/or machine-specific features, which would distinguish the manufacturer from competitors in spite of the use of “standard software,” thereby obtaining a market lead,
- c) solution providers can introduce proprietary know-how in the controller in form of special functions by offering the end-customer additional support and services that the manufacturer of the controller cannot or will not offer,
- d) academic and other institutions intending to develop solutions in form of prototypes based on an industrial standard system.
To satisfy the aforementioned groups of users, the system software offers the possibility to integrate additional basic application software via a general open software interface, generally referred to as an open system.
However, using a general open software interface, through which the basic application software can access files and functions of the system software, is rather complex and may involve expensive training before this software interface can be successfully employed. In addition, machine builders, solution providers, universities and institutions may also lack the detailed knowledge of the system software of the machine controller, which thus may increase the likelihood of software errors.
Other problem may arise because of the difficulty to precisely define the responsibility for the system software whose functionality has been extended via a general software interface. It is therefore initially difficult to estimate to what extent the introduced basic application software uses methods and functions that significantly change the functional characteristic of the basic system and/or the execution of the software.
Consequently, only customers of controllers with considerable experience have so far used industrial products that allow introduction of basic application software, because only those customers are capable of appropriately handling documentation, startup and service of the extended products for, for example, an end user.
It would therefore be desirable and advantageous to provide to an improved process for extending the system software of a controller, in particular a controller for a machine tool or production machine, which obviates prior art shortcomings and is able to specifically bind application software to the system software of the controller without significant know-how of the system software of the controller.
SUMMARY OF THE INVENTIONAccording to one aspect of the invention, a controller for a machine tool or production machine includes system software that implements a control function for the machine tool or production machine, a real-time basic application software and a real-time custom-designed application software for expanding the system software, and a software interface allowing the real-time basic application to access data and functions of the system software. A custom-designed software interface is provided by the basic application software for communication between the basic application software and the custom-designed application software.
According to another aspect of the invention, a controller for controlling a machine tool or production machine includes system software that controls a task of the machine tool or production machine, basic application software executing in real time and interfacing with the system software for accessing data or functions, or both, of the system software, and custom-designed application software executing in real time and interfacing with the basic application software via a custom-designed software interface. The custom-designed application software defines the data or functions, or both, of the system software that are accessible to the custom-designed application software, without requiring the custom-designed application software to have information about the system software.
Such cascaded software interface makes it possible to leave the product responsibility for the individual software components with parties that have the appropriate technical know-how.
Another advantage of this approach is that the executable entire software system can be generated without explicitly requiring binding to the libraries of the system software. Instead, binding can be achieved by loading the software in and dynamically binding the software with the system software. Accordingly, a special software interface can be provided as a software option to the users of this custom-designed open system that is tailored to the particular requirements of the customer, in the same way as a loadable functional extension. In addition, the development environment, in which the applications are developed, can be essentially independent of the environment used for developing the basic system. For example, an application can be developed on a personal computer (PC), whereas the basic system is developed and tested on workstations.
According to an advantageous embodiment of the invention, the basic application software can includes a monitoring functionality for monitoring the custom-designed application software. The basic application software thereby ensures that the custom-designed application software satisfies the monitored requirements.
According to yet another advantageous embodiment of the invention, the monitoring functionality can monitor a runtime of the custom-designed application software. Frequently, an error occurs when the custom-designed application software requires excessive computing resources, preventing data to be processed in real-time. Such error can be recognized by a suitable monitoring mechanism residing in the basic application software.
According to another advantageous embodiment of the invention, the monitoring functionality can monitor a size of machine code of the custom-designed application software. Another possibility for errors is an excessive memory demand by the custom-designed application software. Such error can also be recognized by a monitoring mechanism implemented in the basic application software.
Other features and advantages of the present invention will be more readily apparent upon reading the following description of currently preferred exemplified embodiments of the invention with reference to the accompanying drawing, in which:
Throughout all the Figures, same or corresponding elements are generally indicated by same reference numerals. These depicted embodiments are to be understood as illustrative of the invention and not as limiting in any way. It should also be understood that the drawings are not necessarily to scale and that the embodiments are sometimes illustrated by graphic symbols, phantom lines, diagrammatic representations and fragmentary views. In certain instances, details which are not necessary for an understanding of the present invention or which render other details difficult to perceive may have been omitted.
Turning now to the drawing, and in particular to
The Task 1 is called and processed cyclically. The Task 1 can, for example, involve computing a travel path of a tool of the machine tool or production machine. While the Task 1 is processed, jumps to, for example, an application 20 that is part of a basic application software can be defined at various user-defined locations. Only one location 3 is depicted for sake of clarity. An exemplary jump 7 is indicated in
The basic application software 2 and/or the application 20 can access the data 5 of the system software 16 and/or the function 6 of the system software 16 through a general software interface, which is indicated in the illustrated embodiment by arrows 9 and 10, through a so-called binding library 4, which includes a number of so-called bindings (seven exemplary bindings 1 through 7 are shown), and through the software links 11 and 12. The binding library 4 provides through the bindings functions and methods that enable access to the data 5 and/or the function 6 of the system software 16. This arrangement is typically referred to as an open software interface, because the user of the basic application software 2 has access to the implementation and functionality of the various bindings of the binding library 4. As mentioned above, in practice it is difficult to correctly integrate the basic application software 2 in the system software environment, because the producer of the basic application software 2 can be provided via the binding library 4 a number of methods and functions that define access to the data 5 or the function 6 of the system software 16. Therefore, a thorough knowledge of the system software 16 is required to integrate the basic application software 2 in the system software 16.
The customer who writes the custom-designed application software 14, therefore no longer needs to have information about the system software 16, in particular the binding library 4 and the general software interface 9 and 10. The other components 1, 3, 7, 8, 11, and 12 of
Advantageously, the basic application software 2 can include monitoring mechanisms that can be used to monitor the custom-designed application software 14.
In the embodiment depicted in
Machine tools in the context of the present invention can also include, for example, uniaxial or multi-axis lathes, milling machines, as well as drilling or grinding machines. Machine tools can further include processing centers, linear and rotary transfer machines, laser machines, rolling machines and/or gear cutters. These machines have in common that the material is machined along several axes. Production machines in the context of the present invention can include textile, paper, plastic, wood, glass, ceramic or stone processing machines, as well as machines used for forming, packaging, printing, conveying, lifting, pumping, transporting. Furthermore, fans, blowers, wind turbines, lifting gear, cranes, robots, production and assembly lines are also included under the term production machines in the context of the present invention.
While the invention has been illustrated and described in connection with currently preferred embodiments shown and described in detail, it is not intended to be limited to the details shown since various modifications and structural changes may be made without departing in any way from the spirit of the present invention. The embodiments were chosen and described in order to best explain the principles of the invention and practical application to thereby enable a person skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
Claims
1. A controller for a machine tool or production machine, comprising:
- system software that implements a control function for the machine tool or production machine,
- real-time basic application software and real-time custom-designed application software for expanding the system software, and
- a software interface allowing the real-time basic application to access data and functions of the system software, and
- a custom-designed software interface provided by the basic application software for communication between the basic application software and the custom-designed application software,
- wherein the basic application software includes a monitoring functionality for monitoring a runtime and a size of machine code of the custom-designed application software.
2. A controller for controlling a machine tool or production machine, comprising:
- system software that controls a task of the machine tool or production machine;
- basic application software executing in real time and interfacing with the system software for accessing data or functions, or both, of the system software; and
- custom-designed application software executing in real time and interfacing with the basic application software via a custom-designed software interface of the custom-designed application software,
- said custom-designed application software defining the data or functions, or both, of the system software accessible to the custom-designed application software, without requiring the custom-designed application software to have information about the system software,
- wherein the basic application software includes a monitoring functionality for monitoring a size of machine code and a runtime of the custom-designed application software.
5453933 | September 26, 1995 | Wright et al. |
5889672 | March 30, 1999 | Schuler et al. |
6275741 | August 14, 2001 | Choi |
6643555 | November 4, 2003 | Eller et al. |
20030102367 | June 5, 2003 | Monette et al. |
20050137727 | June 23, 2005 | Feuerbach et al. |
198 53 205 | June 2000 | DE |
- Przywara, A., “Entwicklung und Bewertung einer deterministischen Prozessregelung unter RTLinux auf einem eingebetteten System mit Nutzung der Funktionalität von Standard Linux”, Diplomarbeit, Technische Universität Berlin, Mar. 2002, pp. 1-155.
Type: Grant
Filed: Oct 26, 2004
Date of Patent: Sep 12, 2006
Patent Publication Number: 20050149212
Assignee: Siemens Aktiengesellschaft (München)
Inventors: Klaus Geissdörfer (Erlangen), Peter Schiffer (Schönaich)
Primary Examiner: Ramesh Patel
Attorney: Henry M. Feiereisen
Application Number: 10/973,666
International Classification: G06F 19/00 (20060101); G05B 19/42 (20060101); G05B 11/01 (20060101); G06F 9/44 (20060101);