A method for controlling a technical apparatus with a distributed real-time computer system, wherein the real-time computer system comprises:
- subsystems, wherein the subsystems are arranged hierarchically, wherein the subsystems are synchronized via a global time by using a time server (210), which is positioned outside the hierarchy of the subsystems, wherein the time server (210) periodically sends synchronization messages (211) to the clocks of each subsystem for synchronizing the subsystems or the clocks of the subsystems to establish the global time,
- wherein using this global time, the timeline is divided into a sequence of synchronized time slices,
- wherein each subsystem (100, 110, 120, 130) and, if present, the time server (210), forms its own Fault-Containment Unit,
- wherein one of the subsystems is a decision subsystem, the so-called Fault-Tolerant Decision Subsystem, FTDSS, (100), which is positioned at the highest level of the hierarchy, wherein the FTDSS (100) can transfer setpoints to actuators (150) in each time slice by means of messages (101), wherein the Fault-Tolerant Decision Subsystem, FTDSS, (100) is a secure subsystem comprising simple software executed on fault-tolerant hardware,
- wherein at least or exactly three Data Processing Subsystems, a Normal Processing Subsystem, NPSS, (110), a Monitor Subsystem, MSS, (120), and a Critical Event Handling Subsystem, CEHSS, (130), are provided, all of which are positioned at the next lower hierarchical level, wherein these at least or exactly three data processing subsystems by means of sensors (160) capture sensor data from an environment observed by the sensors (160) and evaluate these sensor data independently of each other,
- wherein the environment is observed by the data processing subsystems (110, 120, 130) at the beginning of each time slice and calculations are carried out during this time slice with the sensor data obtained from the observations of the environment carried out at the beginning of said time slice, and wherein:
- i. the Normal Processing Subsystem, NPSS, (110) sends a set of setpoints for a normal operation to the Fault-Tolerant Decision Subsystem, FTDSS, (100) in a message (111) and to the Monitor Subsystem, MSS, (120) in a message (112) during each time slice at the end of the time slice,
- ii. the Critical Event Handling Subsystem, CEHSS, (130) sends a set of setpoints for an abnormal operation to the Fault-Tolerant Decision Subsystem, FTDSS, (100) in a message (131) during each time slice at the end of said time slice, and wherein the CEHSS (130) also communicates to the FTDSS (100) in said message (131) whether the technical apparatus is in a safe state,
- iii. the Fault-Tolerant Decision Subsystem, FTDSS, (100) sends the received set of setpoints for normal operation to the Monitor Subsystem, MSS, (120) in a message (102) during each time slice at the end of said time slice, and wherein the Fault-Tolerant Decision Subsystem, FTDSS, (100) furthermore sends the received set of setpoints for abnormal operation to the Monitor Subsystem, MSS, (120) in a message (102) during each time slice at the end of said time slice, and
- iv. the Monitor Subsystem, MSS, (120) carries out a review during each time slice whether the set of setpoints for normal operation, which it received from the Normal Processing Subsystem, NPSS, (110) in the message (112), is compatible with an environmental model calculated by the MSS (120) on the basis of the sensor data (160) from the MSS (120) and ensures safe control of the technical apparatus under normal conditions, and furthermore the Monitor Subsystem, MSS, (120) carries out a review during each time slice whether the set of setpoints for normal operation, which it received from the Normal Processing Subsystem, NPSS, (110) in said message (112), is identical to the corresponding set of setpoints sent by the Normal Processing Subsystem, NPSS, (110) via the Fault-Tolerant Decision Subsystem, FTDSS, (100) to the Monitor Subsystem, MSS, (120), and
- wherein if both reviews are positive, sets a correctness indicator, correctness indicator-1, to the value TRUE and, if one of the two checks is negative or both checks are negative, sets the correctness indicator-1 to the value FALSE and sends the correctness indicator-1, or the value of the correctness indicator-1, to the Fault-Tolerant Decision Subsystem, FTDSS, (100) in a message (121) during each time slice, and
- wherein the Fault-Tolerant Decision Subsystem, FTDSS, (100) makes a decision as follows during each time slice:
- in the event that the correctness indicator-1 is TRUE, the set of setpoints for normal operation is transferred to the actuators (150) in messages (101);
- in the event that the correctness indicator-1 has a value of FALSE or if a message (121) with the correctness indicator-1 expected by the FTDSS (100) is missing, the set of setpoints for abnormal operation is forwarded to the actuators (150) in messages (101), wherein, in this case, the setpoints for abnormal operation are forwarded to the actuators (150) during the time slices following that point in time, until the technical apparatus has reached a safe state, which is communicated to the FTDSS (100) by the CEHSS in the message (131),
- wherein the Fault-Tolerant Decision Subsystem, FTDSS, (100) sends the setpoints forwarded to the actuators (150) to the NPSS (110) and to the MSS (120) in messages (401, 402) during each time slice,
- wherein in the event that the NPSS (110) and/or the MSS (120), on the basis of reviewing the setpoints contained in the messages (401, 402), determine that the FTDSS (100) has forwarded the setpoints for abnormal operation to the actuators (150), a restart of the MSS (120) and the NPSS (110) is triggered, wherein both the NPSS (110) and the MSS (120) are set up to trigger their own restart,
- wherein the restart is completed as soon as:
- the FTDSS (100), based on the content of the message (131) from the CEHSS (130), in which the CEHSS (130) communicates whether the technical apparatus is in a safe state, determines that the system is in a safe state, and
- the FTDSS (100), receives a set of setpoints for normal operation from the NPSS (110) during a time slice in a message (111), and
- the FTDSS (100) receives the correctness indicator-1 with a value of TRUE from the MSS (120) with a message (121), during said time slice,
- wherein, after completion of the restart, the FTDSS (100) again transfers the setpoints for normal operation received from the NPSS (110) to the actuators, such that steps i.-iv. can be carried out again or are carried out, and
- wherein restarting the two data processing subsystems, namely the NPSS (110) and the MSS (120), each comprises the following steps:
- a) resetting the hardware of the data processing subsystem,
- b) executing a test software for determining the integrity of the data processing subsystem,
- c) reinitializing and restarting the software of the data processing subsystem,
- d) performing calculations with the sensor data obtained from observations of the environment made at the beginning of a time slice.