The present invention relates to an operating method for an automation engineering component. The present invention also relates to such a component itself.
Drive engineering components are generally known. Examples of such components are the control devices of control systems, for example the central processors of programmable logic controllers (PLCs), the control devices of computer numerical controllers (CNCs) and of motion control units (MCUs), sensor modules, distribution nodes of modular control systems, etc.
The example of a CPU of a PLC is used below to explain in more detail the typical design and typical mode of operation of a drive engineering component. It should be mentioned here for the sake of clarity that the abbreviation “CPU” is always used below for the central control device of a modular control system, i.e. for the physical component. The term “central processor” is always used for the element of the automation engineering component that executes the various programs required for the proper operation of the component. If the automation engineering component comprises both CPU functionality and input/output devices, it is referred to as a compact device.
In the prior art, the CPU comprises a system memory. The system memory is designed as a non-volatile memory. A system program is stored in the system memory. As a result of executing the system program, the central processor communicates during operation of the CPU with (at least) one input/output device, which is connected to the central processor.
The (at least one) input/output device is actively connected to a technical process. For example, the system program can cause the central processor to detect initially the control system configuration level i.e. how many input/output devices are connected to the central processor. As the next step, the central processor can detect, for example, what these input/output devices are. During continued operation of the component, the system program causes the central processor cyclically to receive from the at least one input/output device at least one status signal of the industrial technical process, and to transmit to the at least one input/output device at least one control signal intended for the industrial technical process. On the other hand, the system program (at least normally) brings about neither processing of the received status signal nor determination of the control signals to be transmitted. This processing and determination is normally performed in the prior art by the central processor executing a user program that defines the processing and determination. As the name already implies, the user program can be written by a user. It can be input to the CPU by the user. It can also be deleted or modified. The system program, on the other hand, cannot normally be changed by the user.
There are CPUs for which the contents of the system memory, i.e. the system program, cannot be modified at all. If the system program is meant to be, or must be, changed for such a CPU, it is necessary to replace the system memory. CPUs are also already known, however, for which the contents of the system memory can be modified. To modify the contents of the system memory, however, it is necessary to follow a complicated procedure that can normally only be perforated by specially trained personnel. Irrespective of whether or not the system program can be modified, the system program must still provide complete system functionality. This means that it must be designed so that it provides all the functions that could possibly be needed according to the application and configuration, irrespective of whether all the functions are even needed in a specific application or in a specific configuration.
The explanation above applies not only to CPUs of modular control systems. It is also the case for other automation engineering components that not only is it either impossible to modify the system program or only possible in an extremely involved manner, but the system program must always provide a complete set of functions.
An object of the present invention is to create possible options by means of which the system program can be modified flexibly, in particular can be adapted easily to suit the application and/or configuration or other criteria.
The object is achieved by an operating method and a component as claimed in the claims.
According to the invention, on the occurrence of a start condition, a central processor of the component executes a boot program stored in a boot memory of the component. As a result of executing the boot program, the central processor is able to communicate with a server, to receive a system program from the server, and to save the received system program, if applicable overwriting a system program already stored in a system memory of the component, in the system memory. The central processor then executes the system program. As a result of executing the system program, the central processor communicates at least once with at least one input/output device connected to the central processor, this input/output device being actively connected to an industrial technical process. Hence the boot program is designed so that it is not possible for the central processor to communicate with the at least one input/output device as a result of executing solely the boot program.
Various circumstances can be necessary or sufficient for the occurrence of the start condition. For example, the start condition can occur when a start command is specified for the central processor by the server or by a user via a man-machine interface of the component. Alternatively or additionally, the start condition can occur when the central processor has communicated with the at least one input/output device a preset number of times or during a preset time period. It is also possible that the central processor executes a user program quasi-simultaneously with the system program, and the start condition occurs when a new user program is input to the component.
A common application of the present invention consists in the central processor, as a result of executing the system program, receiving from the at least one input/output device at least one status signal of the industrial technical process, and transmitting to the at least one input/output device at least one control signal intended for the industrial technical process. In this case, as a result of executing the user program, the central processor determines the at least one control signal from at least the at least one status signal.
As already mentioned, the component can take the form of a central control device of a modular control system. In this case, the component comprises a control bus interface, via which the at least one input/output device can be connected to the central processor.
In an alternative embodiment of the component, the component takes the form of a distribution node of a modular control system. In this case, the central processor, as a result of executing the system program, receives from the at least one input/output device at least one status signal of the industrial technical process, and transfers it to a higher-level control device. In addition in this embodiment, the central processor receives from the higher-level control device at least one control signal intended for the industrial technical process, and transfers it to the at least one input/output device.
Further advantages and details follow from the description below of exemplary embodiments with reference to the drawings, in which using schematic diagrams,
As shown in
As shown in
In the specific embodiment of the component 1 as a central control device of a modular control system, there is also a user memory 9 present, in which a user program 10 can be stored. Alternatively, the user memory 9 can be empty or contain other information.
Irrespective of the specific embodiment of the automation engineering component 1, the component 1 performs an operating method, which is described in greater detail below with reference to
As shown in
In a step S2, the central processor 2 executes the boot program 5. As a result of executing the boot program 5, the central processor 2 in particular is able to communicate with the server 8. Under what circumstances and in what form the central processor 2 communicates with the server 8 are discussed in greater detail below.
When the central processor 2 is communicating with the server 8, the central processor 2, as a result of executing the boot program 5, is also able to receive from the server numeral 8 a (new) system program 6, and to store the newly received system program 6 in the system memory 4. Where necessary, a system program 6 previously already stored in the system memory 4 can be overwritten in this process. Under what conditions the central processor 2 receives the system program 6 from the server 8 and stores it in the system memory 4 are also discussed further below.
Then the central processor 2 in a step S3 executes the system program 6, which is stored in the system memory 4. As a result of executing the system program 6, the central processor 2 communicates at least once with at least one input/output device 11, which is connected to the central processor 2, in the case shown in
The input/output devices 11 are actively connected to an industrial technical process 13. The input/output devices 11 are hence able to detect at least one status signal E of the industrial technical process 13 and transfer it to the automation engineering component 1. Alternatively or additionally, the input/output devices 11 are able to output at least one control signal A to the industrial technical process 13 and thereby influence the industrial technical process 13.
The above operating method according to the invention, explained with reference to
As shown in
As shown in
The procedure of
If the input/output units 11 are already integrated in the control device, it is even possible that additional input/output devices 11 are added to the respective compact device (see above for definition). For example, the SIMATIC S5-95 component from Siemens AG already has input/output devices 11 on board the compact device. In addition, however, input/output devices 11 of the modular control system SIMATIC S5-100 can also be connected to this compact device.
If the central processor 2 executes the user program 10 quasi in parallel with the system program 6, whether in the manner described so far with reference to
As shown in
This is because according to
On the other hand, if the component 1 is supplied with a new user program 10, the central processor 2 executes steps S15 and S16. In step S15, the central processor 2 accepts the new user program 10. Step S15 may involve, in particular, storing the new user program 10 in the user memory 9. In step S16, the central processor 2 sets the start condition to “satisfied”. After executing step S16, the central processor 2 moves onto step S1.
The contents of step S2 of
In step S18, the central processor 2 checks whether the current system program 6 is optimum for the newly supplied user program 10. If this is the case, execution moves directly to a step S22. Otherwise steps S19 to S21 are executed. Step S18 is only optional. If it is not included, steps S19 to S21 are always executed.
In step S19, the central processor 2 makes contact with the server 8. In this process, it transmits to the server 8 at least one identifier indicating the type of the component 1. It also transmits, at least usually, an item of information that the server 8 can use to determine the optimum system program 6. For example, the central processor 2 can transmit to the server 8 the user program 10, a type declaration of the user program 10, or an identifier for the optimum system program 6 (“I need system program no. 7”).
Within step S19, the central processor 2 can also transmit additional information to the server 8. For example, it can also transmit an identifier by means of which the component 1 can be distinguished uniquely from other components, i.e. in particular also from components 1 of identical design. Other information can also be transmitted, for example an update status of the system program 6 currently stored in the system memory 6.
In step S20, the central processor 2 receives the new, optimum system program 6 from the server 8. In step S21, the central processor 2 stores the received system program 6 in the system memory 4.
In step S22, the central processor 2 checks whether the user program 10 is to be executed. If the user program 10 is to be executed, the central processor 2 moves onto step S11. Otherwise, the central processor 2 moves onto step S14. Step S22 is only optional. Step 22 can be used, however, to limit how often the user program 10 is executed. This is because, depending on the situation of the individual case, it can be practical to execute the user program alternatively once, multiple times or continuously (i.e. until an abort condition occurs e.g. a user 14 specifying a stop command).
Further options that can be used to check whether the start condition is satisfied are explained below with reference to
As shown in
If one of the checks of steps S31 to S34 is satisfied, the central processor 2 moves onto a step S35, in which it sets the start condition to “satisfied”. Step S35 of
The present invention has been explained above with reference to a control device of a control system. The control system could be modular or non-modular in this case. The present invention is not limited to control devices, however. It can also be applied to other automation engineering components 1 for example, in particular where it relates to the embodiments shown in
As shown in
As shown in
In step S41, the central processor 2 receives from the input/output devices 11 status signals E of the industrial technical process 13. In step S42, the central processor 2 transfers the status signals E to the higher-level control device 18. In step S43, the central processor 2 receives from the higher-level control device 18 the control signals A for the industrial technical process 13. In step S44, the central processor 2 transfers the control signals A to the input/output devices 11.
A further possible embodiment of the present invention is described below with reference to
As shown in
The sensor device 11 of
As shown in
In a step S51, the central processor 2 checks whether the variable to be detected is to be changed. Changing the variable to be detected corresponds to the occurrence of the start condition.
In a step S52 (which corresponds to step S1 of
If the start condition is satisfied, the central processor 2 establishes contact with the server 8 in a step S53. Within step S53, it transmits at least one type identifier. Usually it also transmits an identifier for the required system program 6 or for the variable to be detected. Step S53 of
In a step S54, the central processor 2 receives from the server 8 the required system program 6. In a step S55, the central processor 2 stores the received system program 6 in the system memory 4. Steps S54 and S55 of
In a step S56, the central processor 2 detects the variable to be detected. If applicable, it performs further actions. Further actions may, for example, comprise saving or pre-evaluating the detected variable. Alternatively or additionally, it is possible that the detected variable, at least from time to time, is transmitted to the evaluation device 21. Step S56 corresponds to implementing step S3 of
Numerous embodiments are possible based on the principles described above.
For example, it is possible to retain information centrally in the server 8 that indicates when a certain system program 6 is intended for a particular component 1. In this case it is not necessary that the respective component 1 notifies the server 8 which system program 6 it requires. Furthermore, in this case it is possible that the server 8 automatically addresses the respective component 1 and then transmits the system program 6.
It is also possible that the automation engineering component 1 interrogates the server periodically, e.g. once per day, once per week or once per month, as to whether an update of the system program 6 is available.
It is also possible at start-up of the component 1 to execute initially a first, system program 6, which is used to perform the checks and initialization procedures of the component 1, and then to load subsequently a second system program 6 and, if applicable, also further system programs 6 that are required sequentially while the component 1 is running.
It is also possible to optimize the system program 6 with regard to the requirements of the user program 10. If, for example, the component 1 is a control unit of a CNC or an MCU, a user program 10 in which just two or three axes need to be actuated, can be executed more quickly than a user program 10 in which, for example, five or six or even more axes need to be actuated.
Usually the system memory 4 is a non-volatile memory, i.e. the contents of the system memory 4 are retained even when the power supply of the system memory 4 is switched off. An example of such a non-volatile memory is a flash EPROM. Alternatively, however, it is also possible that the system memory 5 is a volatile memory e.g. a simple RAM.
Usually the system memory 4 contains either no system program 6 or just one single system program 6. Alternatively, however, it is also possible to scale and operate the system memory 4 such that two system programs 6 are stored simultaneously in the system memory 4. In this case, it is possible, for example, while the component 1 is running (i.e. while one of the system programs 6 stored in the system memory 4 is being executed) to load gradually a new system program 6 additionally into the system memory 4, and on completion of the loading process to switch over to the system program 6 just loaded. This procedure not only has the advantage that it can be executed even while the component 1 is running, but it also means that in the event that subsequent loading of the new system program 6 has failed (no matter for what reason), there is an executable system program 6 available in the system memory 4.
In addition, the system program 6 usually does not process any status signals E of the process 13 and nor does it determine any control signals A of the process 13. This is possible in individual cases, however.
The boot memory 3 is always a non-volatile memory. It may not be possible to modify the boot program 5 stored in the non-volatile memory 3. Alternatively, it is possible that also the boot program 5 can be updated. Similar to the option of storing two system programs 6 simultaneously in the system memory 4, where, however, just one of the system programs 6 is activated, such a procedure is also possible with regard to the boot memory 3 and the boot program 5.
Any manner of connection can theoretically be used between the component 1 and the server 8. It can be direct or indirect. It can be a network connection or a point-to-point connection. Preferably communication between the component 1 and the server 8 is via the Internet.
In particular, the system program 6 can be updated in a straightforward manner by means of the present invention. In addition, the system program 6 can be adapted easily to suit specific circumstances (e.g. to suit a user program 10 to be executed). No complicated interaction with the user 14 is needed.
The description above serves solely to explain the present invention. The scope of protection of the present invention, however, shall be defined solely by the enclosed claims.
This application is the US National Stage of International Application No. PCT/DE2007/000463 filed Mar. 14, 2007, claims the benefit thereof and is incorporated by reference herein in its entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/DE07/00463 | 3/14/2007 | WO | 00 | 2/11/2010 |