The invention pertains to a universal motion controller, with engineering and run time systems, that functionally combines the classic tasks of a programmable logic controller and a numerical controller.
It is customary today to model different hierarchical run levels both for the PLC and for the motion controller, and to allocate to those run level software tasks for controlling a given technical process. While these tasks can fulfill system requirements, they can also be programmed by the user.
It is known that for a programmable logic controller “PLC,” and thus for a motion controller “NC” as well, user programs or tasks created by the user can be loaded into the memory of a particular controller and executed there.
From DE 197 40 550 A1, it is known that process control functionalities of programmable logic controllers “PLC” and motion functionalities of an NC controller can be integrated into a uniform configurable controller system.
This PLC/NC integration takes place by interconnecting the PLC and NC controller assemblies. When integration is achieved in this way, however, an optimal and efficient task structure for the entirety of the controller tasks is not obtained. In addition, expanded functionality with respect to the process controller, and thus with respect to the motion controller, can be loaded and executed only in the form of user programs.
It is customary today to provide controllers with parameterization information. In this context, parameterization information includes
Typically, however, this parameterization information, which is needed at different locations within the controller, is implemented separately at each of those locations in the controller. It requires a very great effort to ensure the consistency of this parameterization information implemented at different locations.
The objective of the invention is the creation, in a simple manner, of optimal configurations for the combined PLC/NC controllers in respect to both their controller structure and their functionality for different controller tasks and the different constraints or requirements of the underlying technical process, thus ensuring that the parameterization information implemented in the controller is always internally consistent.
The invention attains this objective with a uniform run level model designed to have several run levels of different types with different priorities, where various user and system-levels ranging from highest to lowest priorities are provided, so that technology packets can be loaded by the user into the engineering and/or run time systems and so that a data source makes commands and/or system variables available to the engineering system via a converter for descriptive information for system variables and, as needed, alarms and/or commands, so that the system variables with current technical process data are available from the run time system and additional input can be made by the user via a user interface for the engineering system.
A significant advantage of this invention is that the parameterization information for the controller, which is needed both in the engineering system and in the run time system, as well as for documentation and the possibility of test automation, is always consistent. The converter, which prepares and distributes the parameterization information from a central location for documentation, the engineering system, and the run time system, can perform semantics checks without great effort. OEM (original equipment manufacturer) customers can also create additional parameterization information in this data source for descriptive information, that is, at a defined location, without great effort and incorporate it into the documentation.
An additional advantage of the invention is that the controller tasks can be arranged within the run levels so as to reduce the effort required for communication within the controller.
An additional advantage is that, as a result of the loading of technology packets into the engineering and/or run time systems of the controller, the user can obtain user-specific scaling of the controller's run time system with respect to its functionality.
An initial advantageous configuration of the invention is that relevant documentation information from the data source can be forwarded by the converter to an output medium. This ensures that all documentation information originates from a common data source and is thus always internally consistent, regardless of the output medium (for example, printer or online help) on which the documentation information is output.
An additional advantageous configuration of the invention is that the following run levels are provided:
A significant advantage of this arrangement in levels is that communication between the process controller tasks and those of the motion controller is minimized. As a result, the controller tasks for the process controller and for the motion controller can be programmed in a uniform programming language with a uniform generation interface.
An additional advantageous configuration of this invention is that the technology packets contain:
Given that the information in the configuration part of a technology packet can be transferred via the data source and converter into the run time system and the engineering system, parameterization and configuration information can be imported into the controller in a uniform fashion, and a user can make changes to the parameterization and configuration data from a central location. This parameterization information corresponds to data descriptions for the usual general aspects of the controller, namely, system variables, alarms, and commands. Configuration information, on the other hand, refers to the technology packets and thus to the possibility of technological scaling for a controller.
Given that each technology packet contains an adjusted number of technology object types for the run time system, it is possible to load even complex and sophisticated controller functionalities into the run time system in a clear and comprehensible form.
An additional advantageous configuration of the invention is that user interface information, especially control parameters, and/or programming language features and/or declaration parts can be allocated to the code parts. This results in the following advantages: In order to be able to use a technology object type as more than just a constant that can no longer be changed, the technology object type must inform the generating system of the possibilities of parameterization for its instantiated technology objects and particularly the available operating parameters. Thus, a user has the possibility of flexibly parameterizing a technology object in the generating system's interface.
Given that programming language features can also be loaded,it is possible that the available command library of the run time system can be dynamically expanded. In a user program, the user can use a command loaded in this way as if it were a command from the base functionality of the base system. When a user program is processed with a command loaded in this way within a user-level of the run level model, the associated code sequence of the operating system is processed on one of the system-levels of the run level model when this loaded command is called up. This takes place without any action on the part of the user. The user's flexibility is further increased by the allocation of the declaration and description parts to the code parts of the technology packet.
A sample configuration of the invention is presented in shown in the figures, as explained in below.
The presentation in
The diagram in
The “user-level, clocked” is followed by a “user-level events.” Reactions to external or internal events take place within this “user-level events.” A typical example of such an event is when a limit value is exceeded. Operating system tasks which ensure the operating procedure of the PLC are located in a “system-level, high priority.”
The diagram in
A “user-level, clocked” is also constructed on the level of lowest priority. Cyclical tasks run here, for example, regulator functionalities.
A subsequent “user-level, events” includes such tasks as react to external or internal events. Such events might be alarms, for example.
The diagram in
The diagram in
In the “user-level, event,” for example, tasks are arranged that react to inputs from peripheral devices. In the “user-level, alarm,” for example, tasks are arranged that react when limit values are exceeded. The “user-level, clocked” contains cyclical tasks that can be programmed by the user. Programs that can be loaded from external sources can be integrated into the “system-level, parameterized.” This makes it possible to expand the universal motion controller dynamically to include additional technological functionalities. Typically, tasks for slow control or monitoring responsibilities (for example, tasks with cycle times in the range of 100 ms) are loaded into this “system-level parameterized.”
The level of next highest priority in the run level model for the universal motion controller is a “user-level for asynchronous errors.” In this level, the user can program out the handling of error statuses, similar to with a PLC. For example, this “user-level for asynchronous errors” is where tasks reside that react to technological alarms. Within this “user-level for asynchronous errors,” the user can also parameterize a specific number of levels for a product configuration. For the sake of clarity, the diagram does not include details about this. Thus, the user can allocate a defined priority to certain error events as needed.
Next is the “event system-level.” The tasks in this “event system-level” react to critical internal or external events, for example, emergency shutdown.
The next level is an “interpolator level.” It contains a “clocked system-level” and a “user-level.”
The highest-priority level is the “position control level.” It also contains a “clocked system-level” and a “user-level.” The user-levels of the position control level and interpolator level contain tasks that are called up in the cycle of the position controller or interpolator. The run time of these tasks is monitored; if a time established by the system is exceeded, the level is canceled and an asynchronous error is initiated in the “user-level for asynchronous errors.”
The position controller has a higher priority than the interpolator; in other words, the position controller cannot be interrupted by the interpolator, but the position controller can interrupt the interpolator.
Within the individual run levels in the run level model for the universal motion controller, additional prioritizing layers can be provided in addition to those already mentioned.
The diagram in
Code parts 1 to n (for example, C functions) are used for control guidance or position control or for another technology, for example. The code parts can contain, among other things, commands for temperature guidance, temperature control, or special technologies such as presses or plastic processing. The firmware configuration FWK determines how these code parts are mounted into the system-levels in the run level model of the controller and in what sequence they are processed, that is, executed. The FWK also includes the information about the system-level into which a code part is to be integrated, and, if several code parts are integrated in one system-level, in what sequence these code parts should be processed.
The parameters part PAR contains interface and control parameters for the engineering system (ES;
Using the programming language features SPR 1 to n of a technology packet TP, the library of available programming language features of the engineering system (ES;
To return to FIG. 6: The ACC component of a technology packet TP contains the description of all programming language elements contained in the technology packet TP, the description of all system variables, and the description of all types used in the technology packet TP. The ACC component thus corresponds to a declaration and description part for the technology packet TP. This ACC component is loaded principally into the run time system of the controller (RTS;
The following table shows where the elements in the technology packet TP are loaded within the controller: either into the engineering system (ES;
The diagram in
The diagram in
The converter U is always called up when it receives new parameterization information from the data source D via the information path I4. In such a case, the converter U generates new sources for documentation, for the run time system RTS4, and for the engineering system ES4.
During controller operation, the system variables loaded into the engineering system are supplied with current data for the technical process by the run time system RTS4 via the information path I8. The user can perform additional inputs on the engineering system ES4 in accordance with the current status of the technical process (TP1 TP2;
The run time system RTS4 can supply information (for example, alarms) to a device for close machine monitoring and control (represented in
The converter U does not appear during controller operation. The information paths I4, I5, I6, and I7 are used during generation of the controller software, but not during controller operation. Information paths I8 and I9 are used during controller operation.
Number | Date | Country | Kind |
---|---|---|---|
100 00 626 | Jan 2000 | DE | national |
This application is a continuation of application Ser. No. 09/591,420, filed Jun. 10, 2000, now U.S. Pat. No. 6,594,541, and application Ser. No. 09/591,421, filed Jun. 10, 2000, now U.S. Pat. No. 6,539,268.
Number | Name | Date | Kind |
---|---|---|---|
4495572 | Bosen | Jan 1985 | A |
4720784 | Radhakrishnan et al. | Jan 1988 | A |
4821170 | Bernick et al. | Apr 1989 | A |
5291391 | Mead et al. | Mar 1994 | A |
5659480 | Anderson et al. | Aug 1997 | A |
5768119 | Havekost et al. | Jun 1998 | A |
5862375 | Gephardt | Jan 1999 | A |
5877959 | Kamiyama et al. | Mar 1999 | A |
5925109 | Bartz | Jul 1999 | A |
5930141 | Kamiyama et al. | Jul 1999 | A |
5933638 | Cencik | Aug 1999 | A |
5999990 | Sharrit et al. | Dec 1999 | A |
6209037 | Brown et al. | Mar 2001 | B1 |
6263487 | Stripf et al. | Jul 2001 | B1 |
6438444 | Mizuno et al. | Aug 2002 | B1 |
6470225 | Yutkowitz | Oct 2002 | B1 |
6539268 | Wucherer et al. | Mar 2003 | B1 |
6594541 | Wucherer et al. | Jul 2003 | B1 |
Number | Date | Country |
---|---|---|
296 00 609 | Mar 1997 | DE |
197 40 550 | Apr 1998 | DE |
Number | Date | Country | |
---|---|---|---|
20020147523 A1 | Oct 2002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09591420 | Jun 2000 | US |
Child | 09757146 | US | |
Parent | 09591421 | Jun 2000 | US |
Child | 09591420 | US |