Method for controlling an automation system with control redundancy and automation system

By employing a dual-control unit architecture and time-delayed storage, the problem of control interruption in automated systems under fault conditions is solved, achieving redundant control and high security of the automated system, and ensuring the continuity and stability of the production process.

CN116490829BActive Publication Date: 2026-04-28BECKHOFF AUTOMATION GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BECKHOFF AUTOMATION GMBH
Filing Date
2021-10-11
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing automation systems struggle to ensure safe control and seamless compensation of the production process in case of failure, especially when transmission paths are interrupted or equipment malfunctions, which can lead to interruptions in the automation process.

Method used

A dual control unit architecture is adopted, in which the first control unit periodically controls the automation process, and seamlessly takes over control through the second control unit after a fault is detected. Output data is stored using a time delay to ensure redundant control. When a fault is detected, the second control unit immediately sends pre-generated output data to continue control.

Benefits of technology

It enables seamless transition and high-safety control of the automated system in the event of control unit failure, ensuring the continuity and stability of the production process and avoiding interruptions and delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116490829B_ABST
    Figure CN116490829B_ABST
Patent Text Reader

Abstract

The invention relates to a method (100) for controlling an automation system (200) with control redundancy, wherein the automation system (200) comprises at least one first control unit (201), a second control unit (203) and a plurality of field devices (205) connected to the first control unit (201) and the second control unit (203) via a data bus (207), wherein the first control unit (201) and the second control unit (203) are configured to periodically control an automation process of the automation system (200), wherein the method (100) comprises the following steps: periodically controlling the automation process of the automation system (200) by the first control unit (201) in a first control step (101), detecting a failure of the first control unit (201) during an (n+x)th control cycle in a failure detection step (113), wherein the (n+x)th control cycle is executed x control cycles later in time than an nth control cycle; and sending an nth set of output data (On) to the plurality of field devices by a second input-output-unit (217) of the second control unit (203) in the (n+x)th control cycle to control the automation process in a further output sending step (115). The invention also relates to an automation system (200) configured to execute the method (100) according to the invention.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for controlling an automated system with control redundancy. The invention also relates to an automated system configured to perform a method for controlling an automated system with control redundancy. Background Technology

[0002] In manufacturing and automation technologies, serial network systems are frequently used, in which peripheral devices (such as I / O modules, measurement converters, actuators, valves, and operator terminals) communicate with automation, engineering, or visualization systems. All participating devices are networked together via a serial data bus, preferably a fieldbus, where data exchange via the data bus is typically based on a master-slave principle and implemented in the form of data packets (also known as telegrams).

[0003] The master unit (usually a control unit) on the data bus has bus access permissions and determines the data transmission on the data bus. The slave units (usually machine peripherals) on the data bus do not have bus access permissions; that is, they can only acknowledge received telegrams or send telegrams to the master unit at its request.

[0004] A telegram, also known as a frame, consists of control data and valid data. The Ethernet standard is commonly used as the protocol for data exchange on the control data bus, allowing telegrams up to 1500 bytes in length to be transmitted at high speeds of up to 10 Gbit / s.

[0005] The data bus in a master-slave automation system typically has a loop structure, where the slave units along the transmission path are connected in a loop. Each participating device is connected to two adjacent participating devices, and the first and last participating devices in the loop are connected to the master unit. Here, the transmission of a telegram starts from the master unit, passes through its sending unit to the first connected slave unit, and from there passes to the next, until the last slave unit in the transmission direction of the loop, and then returns from this last slave unit to the receiving unit of the master unit.

[0006] Especially when used in production and process automation, automated systems are required to have high fault tolerance, meaning the system must still ensure the required functions (e.g., production of workpieces) even in the event of errors. Errors that must be overcome in automated systems without causing damage include not only errors in the telegraph itself, but also malfunctions of participating equipment in the transmission path or interruptions in the transmission path, such as due to a physical disconnection of the transmission medium. Summary of the Invention

[0007] The purpose of this invention is to provide a method for controlling an automated system with control redundancy, which ensures safe control of the automation process of the automated system and enables compensation for faults occurring within the automated system.

[0008] This task is solved by a method and an automation system with control redundancy according to the present invention. Preferred extensions are provided in the embodiments.

[0009] According to one aspect of the present invention, a method for controlling an automated system with control redundancy is provided, wherein the automated system includes at least a first control unit, a second control unit, and a plurality of field devices connected to the first control unit and the second control unit via a data bus, wherein the first control unit and the second control unit are configured to periodically control the automation process of the automated system.

[0010] The first control unit includes:

[0011] The first input-output unit is used to receive input data from field devices and send output data to field devices.

[0012] A first processing unit is configured to perform at least one control task, analyze received input data, and generate output data based on the control task; and

[0013] The first output storage unit is used to store the generated output data.

[0014] The second control unit includes:

[0015] The second input-output unit is used to receive input data from field devices and send output data to field devices.

[0016] The second processing unit is used to perform at least one control task, analyze the received input data, and generate output data according to the control task.

[0017] The second output storage unit is used to store the generated output data.

[0018] The method includes the following steps:

[0019] In the first control step, the first control unit periodically controls the automation process of the automation system. The first control step is executed in the nth control cycle, which is executed after the (n-1)th control cycle, where n is a natural number ≥ 2. The first control step includes:

[0020] In the first input receiving step, the first input-output unit of the first control unit receives the nth set of input data; and

[0021] In the first output transmission step, the first input-output unit of the first control unit sends the (nx)th set of output data to the field device, where x is a natural number ≥ 1. The (nx)th set of output data is generated based on the (nx)th set of input data received in the (nx)th control cycle according to the control task. The (nx)th control cycle is executed x control cycles earlier than the nth control cycle.

[0022] In the first data transmission step, the nth set of input data is transmitted from the first control unit to the second control unit;

[0023] In the first processing step, the second processing unit of the second control unit processes the nth set of input data and generates the nth set of output data;

[0024] In the first output storage step, the nth set of output data is stored in the second output storage unit of the second control unit;

[0025] In the fault detection step, a fault in the first control unit is detected during the (n+x)th control cycle, wherein the (n+x)th control cycle is executed x control cycles later than the nth control cycle; and

[0026] In the further output transmission step, during the (n+x)th control cycle, the nth set of output data is sent to multiple field devices through the second input-output unit of the second control unit, and the automation process is controlled based on the nth set of output data.

[0027] This provides the following technical advantages: an effective method for controlling an automated system with control redundancy can be provided. The automated system includes a first control unit and a second control unit, each configured to periodically control the automated processes of the system. The automated system also includes multiple field devices connected to the first and second control units via a data bus. These field devices can be sensors or actuators of the automated system, through which the automated processes requiring control are executed.

[0028] In the first control step, the first control unit periodically manipulates the automation process by evaluating input data from field devices in successive control cycles using control tasks suitable for controlling the automation process, and generating corresponding output data. Based on this output data, the field devices can be manipulated to execute the automation process.

[0029] In the context of this patent application, a control cycle refers to an input-output cycle, which describes the time period from the moment the first control unit or the second control unit receives input data until the corresponding control unit sends the corresponding output data.

[0030] Input data, in the context of this patent application, specifically refers to sensor data from sensors in an automation system, and can be incorporated into, for example, a flowchart at the input end, as is common in the operation of a programmable logic controller (PLC). This input data is also part of the control data based on which control of the automation process can be performed. Output data, in the context of this invention, refers to corresponding control data for actuators in the automation system, and can also be incorporated into a flowchart at the output end, as is common in PLCs.

[0031] In the context of this patent application, a control task is a control program for controlling an automated process. Alternatively, a control task may consist of only a subroutine of the control program, thereby executing the entire control program by executing multiple control tasks. A control task may include a PLC task, where a PLC task is a control program or subroutine of a programmable logic controller (PLC). Alternatively or as a supplement, a control task may also include an NC task, where an NC task is a control program or subroutine of a numerical control (NC) system.

[0032] In order to perform control tasks, each control unit includes a processing unit through which it can perform the control task or multiple control tasks.

[0033] In order to control the automation process in a cyclical manner, the first control unit therefore executes multiple successive control cycles, in which it receives a set of input data, such as a flowchart at the input end, and sends a set of output data, such as a flowchart at the output end, to the field equipment of the automation system.

[0034] The method is designed as follows: within a control cycle, the corresponding control unit records the current input data, reflecting the current state of the automated process to be controlled. Within the same control cycle, after receiving the current input data, the corresponding control unit sends output data to the field devices. This output data was generated in the previous executed control cycle based on the previously recorded input data according to the control task. Therefore, in any given control cycle, output data is sent to the field devices, generated based on input data received by the corresponding control unit in the previous executed control cycle.

[0035] Therefore, the output data is sent to the field device by the corresponding control unit with a certain time delay relative to the reception of the corresponding input data. This time delay can include any number of control cycles, x. Thus, for example, output data can be sent in the (n+x)th control cycle, generated based on the input data received in any nth control cycle, wherein the (n+x)th control cycle is executed x control cycles later than the nth control cycle.

[0036] By sending output data with a certain time delay relative to the received input data, a period of stagnation can be created, which can be used to react to a fault in one of the control units of the automation system.

[0037] Therefore, in any nth control cycle, the input data received by the first control unit is sent to the second control unit. Then, by executing a control task, the second control unit analyzes the input data sent to it, and the second controller generates corresponding output data. The execution of the control task and the generation of the corresponding output data by the second control unit, particularly its processing unit, can be performed in the nth control cycle or in a later control cycle. The generated output data can then be stored in the output storage unit of the second control unit.

[0038] This enables the second control unit to have output data based on the input data received by the first control unit in the nth control cycle. According to a preset pause time describing the time difference between receiving the input data and sending the output data based on that input data, the output data generated by the second processing unit of the second control unit based on the input data received by the first control unit in the nth control cycle is sent to the field devices of the automation system. The (n+x)th control cycle is executed x control cycles later than the nth control cycle after the preset pause time.

[0039] Therefore, in a control cycle executed between the nth and (n+x)th control cycles, the first control unit analyzes the input data recorded in the nth control cycle and generates corresponding output data.

[0040] After further periodic control of the automation process by the first control unit, a fault in the first control unit is detected in the (n+x)th control cycle, wherein further input data is recorded in each control cycle and output data generated based on the input data recorded in the previously executed control cycle is sent.

[0041] After detecting a fault in the first control unit, in the (n+x)th control cycle, the second control unit sends output data generated based on the input data recorded by the first control unit in the nth control cycle to the field devices of the automation process. This allows for seamless continuation of control over the automation process even though the first control unit has failed (it has been periodically controlling the automation process until the failure occurred).

[0042] In the context of this patent application, a control unit malfunction refers to a situation where the operation of the control unit does not meet its operational requirements. This can manifest as the corresponding control unit outputting incorrect output data. Alternatively, the malfunction may also include the control unit incorrectly receiving input data or exhibiting various types of technical errors, such as those accompanied by corresponding error reports. A control unit malfunction can also include a complete shutdown of the control unit. This shutdown may be caused by a technical error in the control unit. Alternatively, the shutdown may be intentional, such as the control unit being shut down or removed from the automation system for maintenance purposes, or to be replaced by another control unit.

[0043] By sending output data generated from the input data recorded in the nth control cycle during the (n+x)th control cycle when a fault is detected in the first control unit, the corresponding output data is still sent at a preset time point to control the automation process, even though the first control unit has failed. This avoids interruptions to the automation process due to a fault in the first control unit.

[0044] Furthermore, by ensuring a predetermined delay between the output data and the corresponding input data, and by allowing a pre-set pause time, the second control unit can directly take over control of the automation process should a failure be detected in one control unit of the automation system. This is because, in any given control cycle, the second control unit already has multiple different sets of output data, which are sent either within the current control cycle or in a later control cycle to control the automation process. With these pre-stored sets of output data, the second control unit can therefore take over control of the automation process at any point in time based on the currently relevant output data.

[0045] This control redundancy ensures safe control of the automated system. If a fault is detected in the first control unit, the second control unit can continue the automation process without delay, thus meeting the safety requirements of the corresponding automated system—that is, the automated process to be controlled must proceed without interference. This achieves a higher safety coefficient for the automated system.

[0046] According to one embodiment, the method further includes the following steps:

[0047] In the second control step, the second control unit periodically controls the automation process of the automation system; wherein the second control step is executed in the (n+m+x)th control cycle, where m is a natural number ≥ 1, wherein the (n+m+x)th control cycle is executed m control cycles later than the (n+x)th control cycle, and wherein the second control step includes:

[0048] In the second input receiving step, the second input-output unit of the second control unit receives the (n+m+x)th set of input data; and

[0049] In the second output transmission step, the second input-output unit of the second control unit sends the (n+m)th set of output data to the field device, wherein the (n+m)th set of output data is generated based on the (n+m)th set of input data received in the (n+m)th control cycle according to the control task, and wherein the (n+m)th control cycle is executed x control cycles earlier than the (n+m+x)th control cycle.

[0050] Therefore, the achievable technical advantage is that, in the event of a failure in one control unit, another corresponding control unit can smoothly and without delay take over the control of the automation process of the automation system. This ensures the smooth operation of the automation process. To this end, after a failure of the first control unit is detected in the (n+x)th control cycle and the second control unit sends the corresponding nth set of output data in the (n+x)th control cycle, the automation process is periodically controlled by the second control unit in subsequent control cycles.

[0051] To this end, the second control unit records the corresponding set of input data in each control cycle and sends a set of output data to the field device. A fixed, predetermined pause time is still considered, ensuring that the second control unit sends output data in any control cycle, which is generated in time in the previously executed control cycle based on the input data received previously.

[0052] According to one embodiment, the first control unit further includes a first output storage unit for storing output data, wherein in the nth control cycle, the (nx)th set of output data is stored in the first output storage unit, and wherein the (nx)th set of output data is generated in the (nx)th control cycle or in any control cycle between the (nx)th control cycle and the nth control cycle.

[0053] Therefore, the achievable technical advantage is that it is possible to create any predetermined pause time, which encompasses the time span of several sequentially consecutive control cycles. By storing the output data in the first output storage unit of the first control unit, it is possible to ensure that the generated output data can be sent out at any later point in time, i.e., in any later control cycle.

[0054] According to one embodiment, the method further includes the following steps:

[0055] In the second processing step, the first processing unit of the first control unit processes the nth set of input data and generates the nth set of output data;

[0056] In the second output storage step, the nth set of output data is stored in the first output storage unit of the first control unit, wherein the nth set of output data is generated by the first processing unit of the first control unit, the nth set of output data is stored in the second output storage unit by the second control unit, and the nth set of input data is transmitted from the first control unit to the second control unit in the nth control cycle or in any control cycle executed in time between the nth control cycle and the (n+x)th control cycle;

[0057] In the third processing step, the second processing unit of the second control unit processes the (n+m)th set of input data and generates the (n+m)th set of output data;

[0058] In the third output storage step, the (n+m)th set of output data is stored in the second output storage unit of the second control unit, wherein the (n+m)th set of output data is generated by the second processing unit of the second control unit, and the (n+m)th set of output data is stored in the second output storage unit of the second control unit during the (n+m)th control cycle or during any control cycle executed in time between the (n+m)th control cycle and the (n+m+x)th control cycle;

[0059] In the fourth processing step, the second processing unit of the second control unit processes the (n+m+x)th set of input data and generates the (n+m+x)th set of output data;

[0060] In the fourth output storage step, the (n+m+x)th set of output data is stored in the second output storage unit of the second control unit. The (n+m+x)th set of output data is generated by the second processing unit of the second control unit, and the (n+m+x)th set of output data is stored in the second output storage unit of the second control unit during the (n+m+x)th control cycle or during any control cycle executed between the (n+m+x)th control cycle and the (n+m+2x)th control cycle.

[0061] Therefore, the achievable technical advantage is that it allows for the most efficient division of different processes executed by the first control unit or the second control unit. This enables a highly efficient method for controlling automated systems.

[0062] Therefore, in the nth control cycle, the first processing unit of the first control unit analyzes the nth set of input data received by the first control unit during the nth control cycle and generates the corresponding nth set of output data. The nth set of output data is stored in the first output storage unit of the first control unit. Here, the nth set of output data can be generated or stored in the first output storage unit in the nth control cycle, or in any control cycle executed between the nth and (n+x)th control cycles. This allows the nth set of output data to be generated or stored at a specific point in time provided by the processor's corresponding computation time.

[0063] By shifting the generation or storage of output data to an appropriate point in time, other processes can be prevented from having to stop or be delayed due to the execution of output data generation or storage. Furthermore, this reduces the required computational power by allowing these processes to be executed not necessarily within a specific control cycle, but rather at any other point in time where the necessary computational power can be provided.

[0064] Similarly, the processing of the (n+m)th set of input data received by the second control unit in the (n+m)th control cycle, and the generation or storage of the (n+m)th set of output data, can be performed during the (n+m)th control cycle or in time during any control cycle between the (n+m)th and (n+m+x)th control cycles. This saves computational power by allowing the process to be executed at points in time when the necessary computational power is available.

[0065] The process of generating the (n+m+x)th set of output data through the second processing unit or the process of storing the generated (n+m+x)th set of output data can be performed similarly. These processes can also be executed either during the (n+m+x)th control cycle or during any control cycle between the (n+m+x)th and (n+m+2x)th control cycles.

[0066] According to one embodiment, the method further includes the following steps:

[0067] In a further input receiving step, during the nth control cycle, the second input-output unit of the second control unit receives another nth set of input data;

[0068] In the comparison step, the nth set of input data of the first control unit is compared with another nth set of output data of the second control unit;

[0069] In the deviation detection step, the deviation between the nth set of input data from the first control unit and the other nth set of output data from the second control unit is detected; and

[0070] In the transmission error detection step, errors in data transmission between the field device and the first control unit are detected.

[0071] This allows for the technical advantage of ensuring that the first and second control units operate on the same input data, thus guaranteeing defect-free control of the automation process. To this end, in the nth control cycle, the second input-output unit of the second control unit records the nth set of input data and compares it with the nth set of input data recorded by the first control unit. If a deviation is detected between the nth set of input data from the first and second control units, an error in the data transmission between the field device and the first control unit is detected. This error can be interpreted as a malfunction of the first control unit, and when an error in the data transmission between the field device and the first control unit is determined, the second control unit takes over control of the automation process. This enables the first and second controls to operate based on the same input data, or in other words, a malfunction is determined by the deviation between the input data received by one control unit and the input data received by the other control unit.

[0072] According to one embodiment, during the nth control cycle, multiple sets of output data are stored in the first output storage unit of the first control unit and / or the second output storage unit of the second control unit, wherein the stored output data sets are generated based on the input data sets received in a control cycle according to the control task, and wherein the corresponding control cycle is executed in time between the (nx)th control cycle and the nth control cycle, and wherein the corresponding output data sets are sent to the field device by the first input-output unit of the first control unit in time between the nth control cycle and the (n+x)th control cycle.

[0073] The resulting technical advantage is that, in the event of a control unit failure, another control unit in the automation system can take over control of the automation process without delay. This avoids interruptions to the automation process. By storing multiple sets of output data, generated based on input data received in a previous control cycle and emitted in a later control cycle according to a fixed-defined pause time, in the first output storage unit of the first control unit and / or the second output storage unit of the second control unit in an arbitrary control cycle, when a failure of one control unit is detected, the corresponding other control unit can immediately send a set of corresponding output data to the field device to control the automation process.

[0074] Therefore, this avoids the situation where, when a fault is detected in one control unit, the corresponding control unit must first generate the corresponding output data in order to continue the automation process, which could potentially delay or interrupt the automation process. By ensuring that the required output data sets are stored in the output memory units of these control units at any given time, each control unit can access the corresponding required output data in any control cycle and send it out to control the automation process.

[0075] According to one embodiment, during the (n+m+x)th control cycle, multiple sets of output data are stored in the second output storage unit of the second control unit, wherein the stored output data sets are generated based on the input data sets received in a control cycle according to the control task, and wherein the corresponding control cycle is executed in time between the (n+m)th control cycle and the (n+m+x)th control cycle, and wherein the corresponding output data sets are sent to the field device by the second input-output unit of the second control unit in the corresponding control cycle executed in time between the (n+m+x)th control cycle and the (n+m+2x)th control cycle.

[0076] The resulting technical advantage is that, for any control cycle, after a fault is detected in the first control unit, the second control unit can maintain the pause between receiving input data and sending corresponding output data. To this end, within any control cycle following the detection of a fault in the first control unit, multiple sets of output data are stored in the second output storage unit of the second control unit. These corresponding output data are generated based on input data received in previous control cycles. By storing multiple sets of output data in the output storage unit, the corresponding output data sets can be sent to the corresponding field devices within any control cycle, allowing the second control unit to continue controlling the automation process. This ensures the fault-free operation of the automation system.

[0077] According to one embodiment, the first control unit includes a first input storage unit for storing input data, wherein the second control unit includes a second input storage unit for storing input data, and wherein the method further includes the following steps: in a first input storage step, storing an nth set of input data in the first input storage unit of the first control unit during an nth control cycle; and / or in a second input storage step, storing an nth set of input data transferred from the first control unit to the second control unit in the second input storage unit of the second control unit during an nth control cycle.

[0078] The resulting technical advantage is that output data can be generated at any point in time by executing control tasks based on corresponding input data. To this end, the first control unit includes a first input storage unit, and the second control unit includes a second input storage unit, each capable of storing input data. Therefore, when input data is received in any nth control cycle, the received input data can be stored in the corresponding input storage unit. This allows the analysis of the input data and the generation of the corresponding output data through executing the corresponding control task to be postponed to any point in time, eliminating the need to perform the analysis of the received input data specifically during the nth control cycle.

[0079] This saves computational resources by allowing the process to be performed at a more opportune time when the necessary computational power is available. Therefore, if multiple processes must be executed within a single control cycle, the generation of output data can be postponed to a later control cycle. Alternatively, the received input data can be analyzed and the corresponding output data generated between different control cycles or within a period encompassing multiple control cycles. This makes this method for controlling automated systems more flexible and efficient.

[0080] According to one embodiment, a first control unit has a first storage area for storing first control data of the first control unit, wherein a second control unit has a second storage area for storing second control data of the second control unit, wherein the first storage area includes a first input storage unit and a first output storage unit, and wherein the second storage area includes a second input storage unit and a second output storage unit, further comprising: generating a storage copy in a storage copy step, wherein the storage copy is a backup of the first storage area of ​​the first control unit, and includes a set of input data stored in the first input storage unit and a set of output data stored in the first output storage unit, wherein the storage copy is stored and copied in time within any control cycle before the nth control cycle, and includes at least one set of input data stored in the first input storage unit at a time point of the corresponding control cycle and / or at least one set of output data stored in the first output storage unit at a time point of the corresponding control cycle;

[0081] In the copy transmission step, the stored copy is transmitted to the second control unit;

[0082] In the first copy storage step, at least one set of input data of the stored copy is stored in the second input storage unit of the second control unit; and / or

[0083] In the second copy storage step, at least one set of output data of the stored copy is stored in the second output storage unit of the second control unit;

[0084] In the fifth processing step, the second processing unit of the second control unit processes the stored copy of the at least one set of input data and generates a corresponding set of output data; and

[0085] In the fifth output storage step, the generated output data set is stored in the second output storage unit of the second control unit.

[0086] The resulting technical advantage is that it ensures the first and second control units operate based on the same input and output data. Specifically, when starting or initiating an automation process, this can be achieved by creating a stored copy containing the control data of the first control unit and sending this stored copy to the second control unit, enabling the second control unit to operate based on the control data of the first control unit. The control data stored in the stored copy can include the input and output data of the first control unit, which were recorded or generated in time during previously executed control cycles.

[0087] The first control unit and the second control unit can be configured as independent modules, each including separate and independent storage areas. For example, the first control unit and the second control unit can be configured as separate controllers.

[0088] The first storage area of ​​the first control unit may include a first input storage unit and a first output storage unit. The control data of the first control unit may include an input data set stored in the first input storage unit or an output data set stored in the first output storage unit. Therefore, by creating a storage copy and sending the storage copy to the second control unit, the input data or output data stored in the storage copy can be stored in the corresponding input or output storage unit of the second control unit. Thus, based on the output data stored in the output storage unit, the second control unit can control the automation process in the event of a failure in the first control unit. Alternatively, a corresponding output data set can be generated by executing a control task based on the input data set sent to the second control unit along with the storage copy. Based on the generated output data, the second control unit can control the automation process in the event of a failure in the first control unit. Therefore, by creating a storage copy and sending the storage copy to the second control unit, it is possible to enable the first and second control units to operate based on the same input data at any given time, thereby achieving fault-free control of the automation process either through the first control unit or through the second control unit.

[0089] The stored copy may also include the program state of the control program or automation system, which describes the current state of the controlled automation process. Any information required for the automation process to operate can be stored in the program state. This information may include current values ​​of the various components of the automation process to be controlled, such as measurements describing the operating state of the machine to be controlled. By transmitting the stored copy to the second control unit, the automation process can be controlled by the second control unit in the same state as it was previously controlled by the first control unit. Therefore, the control process implemented by the first control unit will only immediately transition to control by the second control unit, whereby the second control unit can continue to control the automation process uninterruptedly in the current state.

[0090] According to one embodiment, the first control unit includes a first communication interface for receiving and transmitting communication data, wherein the second control unit includes a second communication interface for receiving and transmitting communication data, and further includes:

[0091] In the first message receiving step, in the nth control cycle, the first communication unit of the first control unit receives the nth communication data;

[0092] In the first response generation step, the nth response data to the received nth communication data is determined;

[0093] In the first response storage step, the nth response data is stored in the first output storage unit of the first control unit, wherein the nth response data is stored together with the nth set of output data in the first output memory unit;

[0094] In the first response sending step, within the (n+x)th control cycle, the nth response data is sent via the first communication interface of the first control unit; and / or

[0095] In the second message receiving step, during the (n+m+x)th control cycle, the second communication unit of the second control unit receives the (n+m+x)th communication data.

[0096] In the second response generation step, the (n+m+x)th response data to the received (n+m+x)th communication data is determined;

[0097] In the second response storage step, the (n+m+x)th response data is stored in the second output storage unit of the second control unit, wherein the (n+m+x)th communication data is stored together with the (n+m+x)th set of output data in the second output memory unit; and

[0098] In the second response sending step, within the (n+m+2x)th control cycle, the (n+m+x)th response data is sent through the second communication interface of the second control unit.

[0099] The resulting technical advantage is that, in addition to control data, communication data can also be exchanged, enabling communication between control units or modules within an automation system. This allows for effective control of the automation system.

[0100] In the context of this patent application, communication data refers to data exchanged between components of an automation system and the control unit of the automation system. The components may include, for example, an HMI (Human Machine Interface) or another input unit that allows the user to access the control unit of the automation system.

[0101] According to a second aspect of the present invention, an automation system is provided having at least one first control unit and one second control unit, and a plurality of field devices connected to the first control unit and the second control unit via a data bus, wherein the first control unit and the second control unit are configured to periodically control the automation process of the automation system, wherein the first control unit includes:

[0102] The first input-output unit is used to receive input data from field devices and send output data to the field devices.

[0103] The first processing unit is configured to execute at least one control task, analyze the received input data, and generate output data based on the control task.

[0104] The first input storage unit is used to store the received input data, and

[0105] The first output storage unit is used to store the generated output data.

[0106] The second control unit includes:

[0107] The second input-output unit is used to receive input data from field devices and send output data to field devices.

[0108] The second processing unit is used to execute at least one control task, analyze the received input data, and generate output data according to the control task.

[0109] The second input storage unit is used to store input data, and

[0110] The second output storage unit is used to store the generated output data, and wherein the automation system is configured to perform the method according to the invention.

[0111] The resulting technical advantage is that an automated system can be provided, which is configured to execute the method according to the invention for controlling an automated system with control redundancy, having the aforementioned advantages.

[0112] According to one embodiment, a first control unit has a first storage area for storing first control data of the first control unit, wherein a second control unit has a second storage area for storing second control data of the second control unit, wherein the first storage area includes a first input storage unit and a first output storage unit, and the second storage area includes a second input storage unit and a second output storage unit.

[0113] The resulting technical advantage is that the control data of the first control unit and the second control unit can be stored separately in their first storage area and second storage area, respectively, allowing the first and second control units to operate as independent units. In particular, the first and second control units can be configured as separate controllers. This enables the first and second control units to operate independently of each other, so that if one control unit fails, the corresponding other control unit can take over the control of the automation process without being affected. This achieves redundant control of the automation system. Therefore, a failure in one control unit will not affect the functionality of the corresponding other control unit.

[0114] In one embodiment, the first control unit and the second control unit are connected to each other via a data connection and are configured to perform data exchange through data communication.

[0115] The resulting technical advantage is the ability to achieve data communication between the first and second control units. Data exchange between the two control units is possible through this data connection. This enables synchronization between the first and second control units, which is necessary for control redundancy. By synchronizing the first and second control units, it can be ensured that if one control unit fails, the corresponding control unit can continue to control the automation process without interruption. This ensures effective control of the automation system.

[0116] According to one embodiment, the automation system further includes a first connection unit and a second connection unit, wherein the first connection unit and the second connection unit are connected to field devices and to the first control unit and the second control unit via a data bus, and wherein the first connection unit and the second connection unit are configured to control the data stream of input data sent from the field devices to the first control unit and the second control unit, and / or the data stream of output data sent from the first control unit and / or the second control unit to the field devices.

[0117] Therefore, the achievable technical advantage is that it ensures that data signals exchanged between the control unit and the field devices of the automation system for controlling the automation process reach the corresponding designated receiver. Specifically, when a failure is detected in one of the control units, or when another control unit takes over control of the automation process, the data signals sent by the field devices can be transmitted to the control unit that has taken over control of the automation process via the first or second connection unit. This allows for smooth control of the automation process by both the first and second control units, by transmitting the corresponding output data to the relevant control unit or field device via the first or second connection unit.

[0118] According to one embodiment, the first control unit includes a further first processing unit for performing at least one additional control task, analyzing received input data, and generating additional output data based on the additional control task. The second control unit includes a further second processing unit for performing at least one additional control task, analyzing received input data, and generating output data based on the additional control task. The control task can be performed simultaneously by the first processing unit of the first control unit and the additional control task can be performed simultaneously by the further first processing unit, and / or the control task can be performed simultaneously by the second processing unit of the second control unit and the additional control task can be performed simultaneously by the further second processing unit.

[0119] The resulting technical advantage is the ability to achieve multi-tasking functionality in the automation system. By including a first processing unit in the first control unit and a second processing unit in the second control unit, each configured to perform additional control tasks, multiple control tasks can be executed simultaneously when necessary. This ensures effective control of the automation process, where accelerated processing of recorded input data is achieved through the simultaneous execution of multiple control tasks. This allows for accelerated operation of the control program within a single control cycle or multiple control cycles. It ensures that larger volumes of input data can be processed within a single control cycle, thereby enabling faster and, consequently, more efficient control of the automation process. Different control tasks can be executed on different processor cores, allowing for simultaneous processing of different control tasks. This reduces the processing time of the control program, thereby enabling the processing of larger volumes of data within each control cycle.

[0120] According to one embodiment, the first input storage unit and the first output storage unit of the first control unit, and the second input storage unit and the second output storage unit of the second control unit are configured as FIFO (First-In-First-Out) memories.

[0121] Therefore, the achievable technical advantage is that the input and output storage units of the first and second control units can be designed as simply as possible. By constructing the input and output storage units as FIFO memories, the storage units can be processed as simply as possible, meaning that input or output data from earlier points in time can be stored without any problems, and this data can be reprocessed in later control cycles. By controlling the order in which each group of input or output data is stored in its corresponding storage unit, each group of input and output data can be adjusted within its correct control cycle, thereby allowing processing of each group of input or output data within its preset control cycle. This ensures seamless control of the automated process. Attached Figure Description

[0122] The invention will now be described in more detail with reference to the accompanying drawings. The drawings show:

[0123] Figure 1 This is a schematic diagram of an automated system according to one implementation method;

[0124] Figure 2 It is a flowchart of a method for controlling an automated system according to one embodiment;

[0125] Figure 3 yes Figure 2 A time sequence diagram of the methods shown;

[0126] Figure 4 This is another flowchart of a method for controlling an automated system according to another embodiment;

[0127] Figure 5 This is another flowchart of a method for controlling an automated system according to another embodiment;

[0128] Figure 6 This is another flowchart of a method for controlling an automated system according to another embodiment;

[0129] Figure 7 yes Figure 6 A time sequence diagram of the method shown; and

[0130] Figure 8 This is another flowchart of a method for controlling an automated system according to another embodiment. Detailed Implementation

[0131] Figure 1 An automated system 200 according to one embodiment is illustrated in a schematic diagram.

[0132] exist Figure 1 In one embodiment, the automation system 200 includes a first control unit 201, a second control unit 203, and a plurality of field devices 205. These field devices 205 can be configured as sensors or actuators of the automation system 200. These field devices 205 are connected to the first control unit 201 and the second control unit 203 via a data bus 207. Furthermore, the automation system 200 includes a first connection unit 229 and a second connection unit 230, which are connected to the first control unit 201, the second control unit 203, and the field devices 205 via the data bus 207. Additionally, the first and second connection units 229 and 230 are interconnected via the data bus 207.

[0133] The first control unit 201 includes a first input-output unit 209, which receives input data from the field device 205 and sends output data to the field device 205. Furthermore, the first control unit 201 also includes a first processing unit 211, which performs control tasks and analyzes the received input data to generate corresponding output data. Additionally, the first control unit 201 includes a first input storage unit 213 for storing input data 231.

[0134] exist Figure 1 In the illustrated embodiment, two sets of input data 231 and two additional sets of communication data 235 are stored in the first input storage unit 213. The number of input data 231 or communication data 235 stored in the first input storage unit 213 is merely exemplary and can deviate arbitrarily. Figure 1 The number shown allows multiple input data 231 or communication data 235 to be stored in the first input storage unit 213.

[0135] Furthermore, the first control unit 201 includes a first output storage unit 215 for storing corresponding output data 233 generated by the first processing unit 211. Figure 1 In addition, response data 237 is stored in the first output storage unit 215.

[0136] In the context of this patent application, communication data 235 and response data 237 refer to data communication between modules of the automation system 200, such as between the first control unit 201 or the second control unit 203 and the HMI (Human Machine Interface). Communication data 235 here includes inquiries or requests to perform a specific task or provide corresponding information, while response data 237 includes response messages regarding the received communication data 235. Communication data 235 and response data 237 can be transmitted through corresponding communication interfaces (…). Figure 1 (Not shown) is received and / or transmitted by the first control unit 201 or the second control unit 203.

[0137] The first input-output unit 209, the first processing unit 211, the first input storage unit 213, and the first output storage unit 215 are interconnected within the first control unit 201 via an internal data interface 225. The internal data interface 225 enables data transmission between the various units within the first control unit 201.

[0138] Similarly, the second control unit 203 includes a second input-output unit 217 for receiving input data 231 from the field device 205 and sending corresponding output data 233 to the field device 205. Furthermore, the second control unit 203 also includes a second processing unit 219 for analyzing the received input data 231 and generating corresponding output data 233 by executing corresponding control tasks. Additionally, the second control unit 203 includes a second input storage unit 221 for storing input data 231 or communication data 235. Furthermore, the second control unit 203 includes a second output memory unit 223 for storing output data 233 or response data 237. Within the second control unit 203, the various units are interconnected via an internal data interface 225, which enables data transmission within the second controller 203.

[0139] Furthermore, the first control unit 201 and the second control unit 203 are connected to each other via a data connection 227, which enables data transmission between the first control unit 201 and the second controller 203.

[0140] The first control unit 201 and the second control unit 203 are respectively configured to periodically control the automation process of the automation system 200. Periodic control of the automation process by one of the control units includes receiving corresponding input data 231 from the field device 205 and sending output data 233 to the corresponding field device 205 within a control cycle. For periodic control of the automation process, multiple different control cycles are executed sequentially, so that the first control unit 201 or the second control unit 203 receives the input data 231 from the field device 205 in a cyclical order and sends the output data 233 from the first control unit 201 or the second control unit 203 to the field device 205 to control the automation process.

[0141] To control the automation process, the first control unit 201 is configured to receive input data 231 from the field device 205 via the first input-output unit 209. The received input data 231 can be combined here into an input flowchart, as is common for programmable logic controllers (PLCs). The received input data 231 can be forwarded to the first processing unit 211 via the internal data interface 225. The first processing unit 211 can perform a control task to analyze the received input data 231 and generate corresponding output data 233. The control task can include a control program for the automation process. Alternatively, the control task can also include a subroutine of a control program, thus requiring multiple control tasks to be executed sequentially to execute the entire control program. The generated output data 233 can then be transmitted via the internal data interface 225 to the first output storage unit 215 and stored therein. The output data 233 can be combined into an output flowchart, as is common for PLCs. At a later point in time, the output data 233 stored in the first output storage unit 215 can be transmitted to the first input-output unit 209 via the internal data interface 225, and from there transmitted via the data bus 207 to the first connection unit 229, and from there to the field device 205. Alternatively, the input data 231 received from the first input-output unit 209 can be transmitted to and stored in the first input storage unit 213 via the internal data interface 225. At a later point in time, the input data 231 stored in the first input storage unit 213 can be transmitted to the second control unit 203 via the data connection 227.

[0142] The second control unit 203 is also configured to store the input data 231 transmitted by the first control unit 201 in the second input storage unit 221. The second control unit 203 is also configured to transmit the input data 231 stored in the second input storage unit 221 to the second processing unit 219 via an internal data interface 225. The second processing unit 219 can analyze the transmitted input data 231 by performing control tasks similar to those of the first processing unit 211 and generating corresponding output data 233. This data can be transmitted to and stored in the second output storage unit 223 via the internal data interface 225. Furthermore, the second control unit 203 is designed to receive input data 231 from the field device 205 via the second input-output unit 217. This received input data 231 can also be transmitted to and stored in the second input storage unit 221 via the internal data interface 225. Alternatively, the received input data 231 can be transmitted to the second processing unit 219, where it is analyzed and corresponding output data 233 is generated. This output data can be stored in the second output storage unit 223.

[0143] The first control unit 201 and the second control unit 203 are designed such that at any point in time during the execution of the automation process, a plurality of output data 233 are stored in the first output storage unit 215 or the second output storage unit 223. To control the automation process, according to the invention, the first control unit 201 or the second control unit 203 sends the output data 233 stored in the first output storage unit 215 or the second output storage unit 223 to the field device 205 within a control cycle, wherein the output data 233 sent within a control cycle is generated based on the received input data 231 at a previous point in time.

[0144] This results in a pause time, which may include multiple sequentially consecutive control cycles and describes the delay between receiving input data 231 and sending corresponding output data 233, which is generated by performing control tasks based on the received input data 231. This is achieved by storing multiple output data 233 in output storage unit 215 or second output storage unit 223, allowing multiple output data 233 to be provided to the first control unit 201 or second control unit 203 within any control cycle. This output data is to be sent to the field device 205 in a later control cycle to control the automation process.

[0145] Therefore, if a fault is detected in one control unit, the corresponding other control unit can immediately send output data 233 within the corresponding preset control cycle, without having to first generate the output data 233 to be sent separately within the corresponding control cycle.

[0146] For example, if a fault is detected in the first control unit 201, the second control unit 203 is configured to transmit the output data 233 stored in the second output storage unit 223 to the second input-output unit 217 via the internal data interface 225, and transmit this output data 233 to the field device 205 via the data bus 207 and the second connection unit 230 to control the automation process. As long as the first control unit 201 is not faulty, the automation process is controlled by the first control unit 201. The second control unit 203 operates redundantly in parallel and remains synchronized with, or in the same state as, the first control unit 201 according to the method 100 of this invention, thus being able to take over control of the automation process at any time, replacing the first control unit 201.

[0147] According to one embodiment, the first control unit 201 and the second control unit 203 are constructed in the same way and can be arbitrarily replaced, so that not only the first control unit 201 but also the second control unit 203 can perform control of the automation system 200 with the same effect.

[0148] Similarly, the first control unit 201 and the second control unit 203 are configured to communicate via corresponding communication interfaces. Figure 1 (Not shown) The system receives communication data 235 and transmits it via internal data interface 225 to either the first input storage unit 213 or the second input storage unit 221, where it is stored. By executing this control task by the first processing unit 211 or the second processing unit 219, or, if necessary, another control task, corresponding response data 237 can be generated. This response data can be stored in either the first output storage unit 215 or the second output storage unit 223. This data can be sent to other modules of the automation system 200, such as another corresponding control unit, via data connection 227 or data bus 207 for data communication.

[0149] According to one embodiment, the first input storage unit 213, the second input storage unit 221, the first output storage unit 215, and the second output storage unit 223 constitute a FIFO memory. According to another embodiment, the first control unit 201 or the second control unit 203 respectively includes a plurality of first processing units 211 or second processing units 219, wherein multiple control tasks can be executed. For example, each control task can be executed on a different processor core, thereby enabling the simultaneous execution of multiple control tasks.

[0150] The first connection unit 229 and the second connection unit 230 can be designed to transmit data signals to a receiver at a designated address between the first control unit 201, the second control unit 203, and the field device 205, respectively. Specifically, the first connection unit 229 and the second connection unit 230 can be configured such that, in the event of a failure in one of the control units, the data signal sent from the field device 205 is transmitted to the corresponding other control unit. Therefore, data communication between the control units of the automation system 200 and the field device 205 can be regulated via the first connection unit 229 and the second connection unit 230. The first connection unit 229 and the second connection unit 230 can, for example, be configured as switches of a corresponding design.

[0151] According to one embodiment, the automation system 200 may include any number of control units. The control units of the automation system 200 may each have the same configuration, so that, according to the above embodiment, all control units can be configured to periodically control the automation process, and in the event of a failure of one control unit, the automation process can seamlessly and without delay assume control of the automation process.

[0152] According to one embodiment, the first control unit 201 and the second control unit 203 respectively include a first storage area and a second storage area. Figure 1 (Not shown in the diagram) These independent storage areas can store input data 231 received by the first control unit 201 and generated output data 233, or input data 231 received by the second control unit 203 and generated output data 233, respectively. These independent storage areas ensure the personalization of the control units, thereby enabling independent operation of each control unit.

[0153] Figure 2 A flowchart of a method 100 for controlling an automation system 200 according to one embodiment is shown.

[0154] The method 100 for controlling an automated system 200 with control redundancy according to the present invention can be used in accordance with... Figure 1 The automation system 200 shown in the embodiment is illustrated.

[0155] Reference for Figure 3 The explanation is for those who meet the requirements. Figure 2 The method 100 of the illustrated embodiment will be described.

[0156] In order to control the automation system 200, in the first control step 101, the first control unit 201 periodically controls the automation process to be controlled by the automation system 200. The periodic control of the automation process by the first control unit 201 includes receiving corresponding input data 231 and sending output data 233 in successive control cycles.

[0157] For any nth control cycle (where n is a natural number ≥ 2, and the nth control cycle therefore represents any control cycle during the periodic control of the automation process), the first control step 101 includes a first input receiving step 103 and a first output sending step 105. In the first input receiving step 103, the first input-output unit 209 of the first control unit 201 receives the nth set of input data In. The nth set of input data In includes input data 231 sent to the first control unit 201 by the field device 205. The input data 231 specifically includes sensor data from the sensors of the automation system 200.

[0158] The nth set of input data In can be designed as a flowchart of the input terminal, and describes a plurality of input data 231 received by the first input-output unit 209 of the first control unit 201 during the nth control cycle.

[0159] Furthermore, in the first output transmission step 105, the (nx)th set of output data 233 is transmitted to the field device 205 by the first input-output unit 209 of the first control unit 201. The (nx)th set of output data here describes the output data generated in the first processing unit 211 based on the (nx)th set of input data by executing the control task. The (nx)th set of input data here describes the input data 231 received by the first input-output unit 209 of the first control unit 201 in the (nx)th control cycle. The variable x here is a natural number ≥ 1 and describes the stall time, i.e., the time delay between the transmission of output data 233 and the reception of the corresponding input data 231 (the output data 233 is generated based on these input data). The stall time here can be a time period encompassing multiple control cycles. Therefore, the (nx)th set of output data sent in the first output sending step 105 is based on the (nx)th set of input data received by the first input-output unit 209 of the first control unit 201 in the (nx)th control cycle executed earlier in time.

[0160] According to the present invention, the periodic control of the automation process by the first control unit 201 is therefore designed such that, in any nth control cycle, it receives current input data in the form of the nth set of input data In, and sends output data in the form of the (nx)th set of output data to the field device 205, wherein the sent (nx)th set of output data is based on the (nx)th set of input data, which was received by the first input-output unit 209 of the first control unit 201 in the (nx)th control cycle executed earlier in time. The (nx)th control cycle is x control cycles earlier than the nth control cycle.

[0161] In the first data transmission step 107, the nth set of input data In is transmitted from the first control unit 201 to the second control unit 203. The transmission of the nth set of input data In can occur during the nth control cycle or in any control cycle between the nth and (n+x)th control cycles. The (n+x)th control cycle is executed after a pause time x compared to the nth control cycle.

[0162] In the first processing step 109, the second processing unit 219 of the second control unit 203 processes the nth set of input data In and generates the nth set of output data On. The first processing step 109 can also be executed in the nth control cycle or in any control cycle between the nth control cycle and the (n+x)th control cycle in terms of time.

[0163] In the first output storage step 111, the nth set of output data On is stored in the second output storage unit 223 of the second control unit 203. Similarly, the first output storage step 111 can be executed in the nth control cycle or in any control cycle between the nth and (n+x)th control cycles.

[0164] During the first (n+x)th control cycle, the automation process is periodically controlled by the first control unit 201 according to the above-described method steps. The second control unit 203 operates redundantly during this period and maintains synchronization with the first control unit 201 by generating corresponding output data 233. Both control units 201 and 203 have sets of output data 233 in each control cycle that will be sent to the field device 205 in the next control cycle to control the automation process.

[0165] In fault detection step 113, a fault in the first control unit 201 is detected in the (n+x)th control cycle. A fault in the first control unit 201 may include any error in the first control unit 201 that would prevent it from reliably and periodically controlling the automation process.

[0166] A fault in the first control unit 201 can be detected, for example, by the monitoring module of the automation system 200, which is configured to monitor the function of the first control unit 201 or the second control unit 203.

[0167] After a fault is detected in the first control unit 201 during the (n+x)th control cycle, in the further output transmission step 115, the nth set of output data On stored in the second output storage unit 223 of the second control unit 203 is sent to the field device 205 of the automation system 200 through the second input-output-output unit 217 of the second control unit 203. This allows the second control unit 203 to continue controlling the automation process even if the first control unit 201 fails. Since the nth set of output data On is already stored in the second output storage unit 223 of the second control unit 203 at the time the fault of the first control unit 201 is detected (in this embodiment, within the (n+x)th control cycle), it can be immediately sent by the second control unit 203 to the field device 205 to control the automation process within the (n+x)th control cycle after the fault is detected. Therefore, control of the automation process can continue seamlessly, avoiding interruptions to the automation process, such as those required to generate corresponding output data after a fault is detected.

[0168] According to one embodiment of method 100, multiple sets of output data are stored in the second output storage unit 223 at any given time. This allows the second control unit 203 to pre-store output data preset for a corresponding control cycle in the second output storage unit 223 at any given time, thereby enabling the immediate transmission of the required output data within the corresponding control cycle and thus allowing continued control of the automation process.

[0169] Figure 3 A schematic diagram is shown. Figure 2 The time flow diagram of method 100 is shown.

[0170] Figure 3 exist Figure 2 The illustrated embodiment shows a time flow chart of method 100. Therefore, Figure 3 An exemplary implementation is given, wherein the stagnation time x is equal to the time span of three consecutive control cycles. Therefore, in Figure 3 In the middle, the (n+x)th control cycle corresponds to Figure 3 The (n+3)th control cycle is shown.

[0171] exist Figure 3The diagram shows a first control unit 201 and a second control unit 203, particularly a first input-output unit 209, a first input storage unit 213, a first output storage unit 215 and a first processing unit 211, as well as a second input storage unit 221, a second processing unit 219, a second output storage unit 223 and a second input-output unit 217.

[0172] In addition, six consecutive control cycles are shown, arranged sequentially along the time axis t. The actions shown by the first control unit 201 or the second control unit 203 within a control cycle are performed simultaneously, or occur within the corresponding control cycle, while the actions shown sequentially along the time axis t occur in chronological order.

[0173] In any nth control cycle, the first control unit 201 receives the nth set of input data In through the first input-output unit 209 and sends the (n-3)th set of output data On-3 to the field device 205 of the automation system 200. The (n-3)th set of output data On-3 is based on the previous time point in the (n-3)th control cycle (in Figure 3 This is generated from the (n-3)th set of input data received (not shown in the image). Figure 3 In the illustrated embodiment, the received nth set of input data In is stored in the first input storage unit 213 and forwarded to the first processing unit 211. The first processing unit 211 executes the control task P and generates the nth set of output data On stored in the first output storage unit 215.

[0174] Alternatively, the nth set of output data On can be generated in a later control cycle, such as the (n+1)th or (n+2)th control cycle. In the nth control cycle, the first output storage unit 215 includes, in addition to the nth set of output data On, the (n-1)th set of output data On-1 and the (n-2)th set of output data On-2, which are generated based on the (n-1)th set of input data and the (n-2)th set of input data, respectively, or by performing control task P based on the corresponding input data set 231, which are received by the first input-output unit 209 in the (n-1)th or (n-2)th control cycle.

[0175] exist Figure 3In the illustrated embodiment, the second input storage unit 221 of the second control unit 203 also stores the (n-1)th set of input data In-1. This set of input data is transmitted to the second processing unit 219 in the nth control cycle. The second processing unit generates the corresponding (n-1)th set of output data On-1 stored in the second output storage unit 223 based on the control task P. In the nth control cycle, the second output storage unit 223 also contains the (n-2)th set of output data On-2. The (n-2)th set of input data is generated by the second processing unit 219 based on the (n-2)th set of input data In-2 by executing the control task P. The (n-2)th set of input data is received by the first input-output unit 209 and transmitted to the second control unit 203 in the (n-2)th control cycle. Furthermore, the second control unit 203 also receives the nth set of input data In through the second input-output unit 217; however, the nth set of input data is not processed thereafter. Similarly, the second control unit 203 receives the nth set of communication data Kn via the communication interface of the second control unit 203, but the nth set of communication data is not further processed in the following steps.

[0176] Furthermore, in the nth control cycle, the first control unit 201 sends the nth set of input data In stored in the first input storage unit 213 to the second control unit 203. Figure 3 In the illustrated embodiment, the second control unit 203 receives the transmitted nth set of input data In during the (n+1)th control cycle. The delay between sending and receiving the nth set of input data In is based on the transmission time of the data signal between the first control unit 201 and the second control unit 203. This time may vary. Figure 3 The examples shown are merely illustrative.

[0177] In addition to the nth set of input data In, the first control unit 201 receives the nth set of communication data Kn in the nth control cycle through a corresponding communication interface. The nth set of communication data is stored together with the nth set of input data In in the first input storage unit 213. Through processing in the first processing unit 211, the corresponding nth set of response data An is generated, which is stored together with the nth set of output data On in the first output storage unit 215. Similarly, the first output storage unit 215 also includes the (n-1)th set of response data An-1 and the (n-2)th set of response signals An-2. Similarly, in the nth control cycle, the second input storage unit 221 includes the (n-1)th set of communication data Kn-1, which is stored together with the (n-1)th set of input data In-1. Through the execution of the second processing unit 219, the (n-1)th set of response data An-1 is generated, which is stored together with the (n-1)th set of output data On-1 in the second output storage unit 223. Similarly, the (n-2)th set of response data An-2 is stored together with the (n-2)th set of output data On-2 in the second output storage unit 223. In the nth control cycle, the (n-3)th set of response data can also be sent out via the communication interface through the first control unit 201 (not shown).

[0178] In the next (n+1)th control cycle, the first control unit 201 receives the corresponding (n+1)th set of input data In+1 through the first input-output unit 209. This set of input data... Figure 3 In the illustrated embodiment, the data is stored in the first input storage unit 213, processed by the first processing unit 211 through the execution of control task P, and a corresponding (n+1)th set of output data On+1 is generated and stored in the first output storage unit 215. Similarly, the (n+1)th set of communication data Kn+1 is received through the communication interface, the (n+1)th set of communication data is stored in the first input storage unit 213, processed by the first processing unit 211, and a corresponding (n+1)th set of response data An+1 is generated and stored in the first output storage unit 215.

[0179] Furthermore, the (n-2)th set of output data On-2 stored in the first output storage unit 215 is sent out by the first input-output unit 209 in the (n+1)th control cycle. Similarly, the (n-2)th set of response data An-2 is sent out via the communication interface. Additionally, the second control unit 203 receives the nth set of input data In transmitted by the first control unit 201 in the nth control cycle and stores it in the second input memory unit 221. Furthermore, the second processing unit 219 generates the nth set of output data On based on the nth set of input data In by executing the control task P, and the nth set of output data is stored in the second output storage unit 223. Similarly, the nth set of communication data Kn is received and the nth set of response data An is generated and stored in the second output storage unit 223. Furthermore, the second control unit 203 receives the (n+1)th set of input data In+1 via the second input-output unit 217; however, the (n+1)th set of input data is not further processed in the illustrated embodiment. Similarly, the second control unit 203 receives the (n+1)th group of communication data Kn+1 via its communication interface, but the (n+1)th group of communication data is not processed further thereafter.

[0180] In the next (n+2)th control cycle, the first control unit 201 receives the (n+2)th set of input data In+2, stores it in the first input storage unit 213, and generates the corresponding (n+2)th set of output data On+2 stored in the first output storage unit 215 based on the (n+2)th set of input data In+2. Similarly, it receives the (n+2)th set of communication data Kn+2 and generates and stores the (n+2)th set of response data An+2. In the (n+2)th control cycle, the second control unit 203 receives the (n+1)th set of input data In+1 transmitted by the first control unit 201 in the (n+1)th control cycle and stores it in the second input storage unit 221. Similarly, it generates and stores the (n+1)th set of output data On+1 from the (n+1)th set of input data In+1 by executing the control task P. Similarly, the (n+1)th group of communication data Kn+1 is received, a corresponding (n+1)th group of response data An+1 is generated, and stored in the second output storage unit 223. Furthermore, the second control unit 203 also receives the (n+2)th group of input data In+2 via the second input-output unit 217; however, the (n+2)th group of data is not further processed in the illustrated embodiment. Similarly, the second control unit 203 receives the (n+2)th group of communication data Kn+2 via its communication interface; however, the (n+2)th group of communication data is not subsequently processed.

[0181] In the (n+2)th control cycle, the (n-1)th set of output data On-1, stored in the first output storage unit 215 by the first control unit 201, is also sent via the first input-output unit 209. Similarly, the (n-1)th set of response data An-1 is sent out via the communication interface.

[0182] In the next (n+3)th control cycle, a fault is detected in the first control unit 201, which prevents the periodic control of the automation process from being performed by the first control unit 201. Then, the second control unit 203 sends the nth set of output data On, stored in the second output storage unit 223 during the (n+3)th control cycle, to the field device 205 of the automation system 200 via the second input-output unit 217 to control the automation process. Thus, the second control unit 203 ensures that, in the (n+3)th control cycle where the first control unit 201 can no longer continue control, the nth set of output data On, preset for that control cycle, can be sent to the field device 205 of the automation system 200. Therefore, in the event of a fault in the first control unit 201, the second control unit 203 can immediately control the automation process.

[0183] Furthermore, in the (n+3)th control cycle, the second control unit 203 receives the (n+2)th set of input data In+2 and the (n+2)th set of communication data Kn+2 transmitted by the first control unit 201 in the (n+2)th control cycle, stores them in the second input storage unit 221, and generates the corresponding (n+2)th set of output data On+2 and the (n+2)th set of response data An+2 by executing the control task P. However, in Figure 3 In the illustrated embodiment, the (n+2)th set of output data On+2 and the (n+2)th set of response data An+2 are stored in the second output storage unit 223 during the next (n+4)th control cycle. According to one embodiment, processing of the input data set stored in the second input storage unit 221 can be performed at any point in time.

[0184] Furthermore, in the (n+3)th control cycle, the second control unit 203 receives the (n+3)th set of input data In+3 via the second input-output unit 217, and receives the (n+3)th set of communication data Kn+3 via the communication interface. The second control unit 203 stores the (n+3)th set of communication data in the second input storage unit 221 during the (n+3)th control cycle.

[0185] After detecting a fault in the first control unit 201 in the (n+3)th control cycle, the second control unit 203 takes over the periodic control of the automation process for the next control cycle. In the following (n+4)th control cycle, the second control unit 203 receives the corresponding (n+4)th set of input data In+4 via the second input-output unit 217 and receives the (n+4)th set of communication data Kn+4 via the communication interface, storing them in the second input storage unit 221. Furthermore, to control the automation process in the (n+4)th control cycle, the second control unit 203 sends out the (n+1)th set of output data On+1 stored in the second output storage unit 223. The (n+1)th set of output data is based on the input data In+1 received in the (n+1)th control cycle. For communication, the (n+1)th set of response data An+1 is sent out via the communication interface. Additionally, in Figure 3 In the embodiment shown, in the (n+4)th control cycle, the (n+3)th set of input data In+3 and the (n+3)th set of communication data Kn+3 stored in the second input memory cell 221 are also used to generate the (n+3)th set of output data On+3 and the (n+3)th set of response data An+3, and store them in the third output memory cell 223.

[0186] Similarly, in the next (n+5)th control cycle, the operation continues in this manner, wherein the (n+5)th set of input data In+5 is received by the second control unit 203 via the second input-output unit 217, and the (n+5)th set of communication data Kn+5 is received via the communication interface and stored in the second input storage unit 221. Furthermore, in the (n+5)th control cycle, the (n+2)th set of output data On+2 stored in the second output memory unit 223 is sent to the field device 205 to control the automation process. Additionally, the (n+2)th set of communication data Kn+2 is sent via the communication interface. Furthermore, similar to the (n+4)th control cycle, in the (n+5)th control cycle, the (n+4)th set of input data In+4 and the (n+4)th set of communication data Kn+4 stored in the second input storage unit 221 are processed, and corresponding (n+4)th set of output data On+4 and (n+4)th set of response data An+4 are generated and stored in the second output storage unit 223.

[0187] exist Figure 3 The embodiments shown, especially the figures illustrated in the figures, are merely examples of one possible implementation of method 100 and should not be construed as limiting the method. Especially... Figure 3In the illustrated embodiment, the pause time x, which corresponds to three consecutive control cycles, can be extended to any time period. Furthermore, multiple different control tasks P can be executed within a single control cycle, thus generating multiple sets of different output data 233 within that cycle. Additionally, within each control cycle that receives the corresponding set of input data 231, the processing unit can perform processing on the received input data set, or store the generated output data in the output storage unit. Alternatively, the operation can be performed in a later control cycle. Alternatively, within a time period comprising multiple consecutive control cycles, the processing unit can perform processing on the received input data and store the generated output data set in the corresponding output storage unit.

[0188] The input data groups In, In+1, In+2 recorded by the first input-output unit 209 of the first control unit 201 or the second input-output unit 217 of the second control unit 203 can be compared with each other. This is not in the Figure 3 This is shown in the diagram. It can be used to check whether the two control units operate based on the same input data. Similarly, the nth to (n+2th)th sets of output data On, On+1, On+2 generated by the first processing unit 211 of the first control unit 201 or the second processing unit 219 of the second control unit 203 in the nth to (n+2th)th control cycles can be compared with each other. This can detect errors in the processing of input data by the first control unit 201 or the second control unit 203. The comparison of the input or output data can be performed by an external monitoring unit (in... Figure 3 (Not shown in the text) Execute.

[0189] Figure 4 Another flowchart of a method 100 for controlling an automation system 200 according to another embodiment is shown.

[0190] Figure 4 The implementation shown is based on Figure 2 The illustrated embodiments include all the method steps described therein. As long as these are within... Figure 4 Since the implementation methods shown remain unchanged, repeated detailed descriptions can be omitted.

[0191] and Figure 2 The embodiments shown are different and conform to Figure 4 The method 100 of the embodiment shown includes a second control step 117, wherein the automation process is periodically controlled by a second control unit 203, in conjunction with... Figure 3 The (n+4)th or (n+5)th control cycle shown is similar.

[0192] For any (n+m+x)th control cycle (where m is a natural number ≥ 1, and the (n+m+x)th control cycle is m control cycles later than the (n+x)th control cycle in time), the second control step 117 includes a second input receiving step 119 and a second output sending step 121.

[0193] In the second input receiving step 119, the second control unit 203 receives the (n+m+x)th set of input data via the second input-output unit 217.

[0194] In the second output transmission step 121, the second control unit 203 transmits the (n+m)th set of output data to the field device 205 of the automation system 200 via the second input-output unit 217. The (n+m)th set of output data is based on the (n+m)th set of input data received in the (n+m)th control cycle.

[0195] according to Figure 3 The numerical examples shown indicate that any control cycle of the (n+m+x)th time, for example, when m=2 and x=3, is equivalent to the (n+5)th control cycle. The (n+m)th set of output data is equivalent to the (n+2)th set of output data On+2, where the (n+m+x)th set of input data is equivalent to the (n+5)th set of input data In+5.

[0196] The numerical values ​​given above are merely illustrative and do not constitute a limitation of the present invention.

[0197] Therefore, through the second control step 117, the second control unit 203 can periodically control the automation process if a fault is detected in the first control unit 201.

[0198] Figure 5 Another flowchart of a method 100 for controlling an automation system 200 according to another embodiment is shown.

[0199] Figure 5 The implementation shown is based on Figure 4 The embodiments shown include all the method steps described herein. If these are in... Figure 5 Since the implementation methods shown remain unchanged, repeated detailed descriptions will be omitted.

[0200] and Figure 4 The implementation methods shown are different. Figure 5The method 100 in the illustrated embodiment includes a second processing step 123 and a second output storage step 125. In the second processing step 123, the first processing unit 211 of the first control unit 201 processes the nth group of input data In and generates the corresponding nth group of output data On. In the second output storage step 125, the generated nth group of output data On is stored in the first output storage unit 215 of the first control unit 201. Figure 3 In the embodiment shown, the second processing step 123 and the second output storage step 125 can be executed in the nth control cycle. Alternatively, the second processing step 123 and the second output storage step 125 can also be executed in any control cycle between the nth control cycle and the (n+x)th control cycle.

[0201] In addition, Figure 5 In the illustrated embodiment, method 100 includes a third processing step 127 and a third output storage step 129. In the third processing step 127, the second processing unit 219 of the second control unit 203 processes the (n+m)th set of input data and generates the corresponding (n+m)th set of output data. In the third output storage step 129, the generated (n+m)th set of output data is stored in the second output storage unit 223 of the second control unit 203. According to... Figure 3 In the embodiment shown, the third processing step 127 and the third output storage step 129 can be executed in the (n+m)th control cycle. Alternatively, the third processing step 127 and the third output storage step 129 can also be executed in any control cycle between the (n+m)th control cycle and the (n+m+x)th control cycle.

[0202] The third processing step 127 and the third output memory step 129 can be executed in the (n+m)th control cycle. Alternatively, the third processing step 127 and the third output memory step 129 can be similar to... Figure 3 The implementation shown is executed in any control cycle, which is time-sequentially scheduled between the (n+m)th control cycle and the (n+m+x)th control cycle. For Figure 3 In the illustrated embodiment, using the example of m=1 and x=3, the third processing step 127 and the third output storage step 129 are executed in the (n+3)th control cycle. That is, the (n+2)th group of input data In+2 is processed and the corresponding (n+2)th group of output data On+2 is generated. Conversely, in the (n+4)th control cycle, the (n+2)th group of output data On+2 is stored in the second output storage unit 223.

[0203] In addition, according to Figure 5The method 100 of the illustrated embodiment further includes a fourth processing step 131 and a fourth output storage step 133. In the fourth processing step 131, the second processing unit 219 of the second control unit 203 processes the (n+m+x)th set of input data and generates the corresponding (n+m+x)th set of output data. In the fourth output storage step 133, the generated (n+m+x)th set of output data is stored in the second output storage unit 223 of the second control unit 203. The fourth processing step 131 and the fourth output storage step 133 can be executed, for example, in the (n+m+x)th control cycle. Similarly, the fourth processing step 131 and the fourth output storage step 133 can also be executed in time during any control cycle between the (n+m+x)th control cycle and the (n+m+2x)th control cycle.

[0204] also, Figure 5 The embodiment shown includes a third input receiving step 135, wherein the second input-output unit 217 of the second control unit 203 receives the nth set of input data In in the nth control cycle.

[0205] In comparison step 137, the nth set of input data In in the first control unit 201 is compared with another nth set of data In in the second control unit 203.

[0206] In deviation detection step 139, the deviation between the nth set of input data In of the first control unit 201 and the other nth set of data In of the second control unit 203 is determined.

[0207] Based on the deviation between the two sets of nth input data from the first control unit 201 and the second control unit 203, an error in the data transmission between the field device 205 and the first control unit 203 is determined in the transmission error detection step 141. This indicates that the first control unit 201 has malfunctioned. Therefore, after determining that there is an error in the data transmission, the second control unit 203 takes over the control of the automation process in another output transmission step 115.

[0208] exist Figure 3 The comparison step 137 is not explicitly shown in the illustrated embodiment. For example... Figure 3 As shown, the two control units 201 and 203 record the corresponding input data sets in each control cycle. Therefore, a comparison can be performed on the input data sets recorded by the first control unit 201 or the second control unit 203 respectively in each control cycle, thereby enabling data transmission between the field device 205 and the first control unit 201 or the second control unit 203 in each control cycle.

[0209] Figure 6Another flowchart of a method 100 for controlling an automation system 200 according to another embodiment is shown.

[0210] Figure 6 The implementation of method 100 shown is based on Figure 5 The embodiment of method 100 shown includes all the method steps described therein. If these are in Figure 6 Since the implementation methods shown remain unchanged, repeated detailed descriptions will be omitted.

[0211] and Figure 5 The implementation methods shown are different, according to Figure 6 The method 100 of the illustrated embodiment includes a storage copying step 147. In storage copying step 147, a storage copy is performed on a first memory region of the first control unit 201. This storage copy includes input data groups or output data groups stored in the first memory region of the first control unit 201, which are stored in the first input memory unit 213 or the first output memory unit 215 at a time prior to any nth control cycle.

[0212] In the copy transfer step 149, the stored copy is transferred to the second control unit 203.

[0213] In the first copy storage step 151, a storage copy of the input data group is stored in the second input storage unit 221 of the second control unit 203.

[0214] In the second copy storage step 153, a storage copy of the output data group is stored in the second input storage unit 223 of the second control unit 203.

[0215] In the fifth processing step 155, the second processing unit 219 processes the stored copy of the input data group based on the control task P and generates the corresponding output data group.

[0216] In the fifth output storage step 157, the generated output data set is stored in the second output storage unit 223 of the second control unit 203.

[0217] This enables the second control unit 203 to synchronize its process state with that of the first control unit 201, particularly during system startup. After storing copies of the corresponding input and output data sets, the first and second control units 201 can operate based on the same input and output data sets. Furthermore, the first and second control units 201 and 203 can be switched at any point during the periodic control of the automation process, and the control task of one control unit can be immediately taken over by the other.

[0218] In addition to the input and output data sets, the stored copy may also include all information about the program state of the control program of the automation system. This program state can store all the information needed to control the automation process. Specifically, it can store all variables and program objects of the control program with corresponding values. Therefore, the program state describes the state of the automation system at the time the program state is stored.

[0219] The transmission of the stored data to the second control unit 203, the storage of input data sets contained in the stored data to the second input storage unit 221, and the storage of output data sets contained in the stored data to the second output storage unit 223, along with the processing of these input data sets by the second processing unit 219 of the second control unit 203 to generate corresponding output data sets, can be performed within a single control cycle. Alternatively, particularly depending on the data range of the stored data, the following operations can be performed within a time period comprising multiple sequentially consecutive control cycles: transmitting input data sets and storing them in the second input storage unit 221 or storing them in the second output storage unit 223, processing these input data sets by the second processing unit 219 to generate corresponding output data sets, and storing the generated output data sets accordingly in the second output storage unit 223. Especially if the stored data includes the program state of the control program, the stored data can have a significant data range depending on the complexity of the respective automated processes or automated systems to be controlled.

[0220] In this scenario, the process of the second control unit 203 transmitting and storing the data contained in the storage copy may require a time period comprising multiple sequential control cycles. After the transmission and storage of the storage copy is completed in the storage area of ​​the second control unit 203 and the second control unit 203 has finished reading the data from the storage copy, the second storage unit 203 (as described above) can generate an output data set via the second processing unit 219 and store it in the second output storage unit 223. Therefore, the second control unit 203 can continue operating until it synchronizes with the first control unit 203, that is, the second control unit 203 generates a set of output data and stores it in the second output storage unit 223. This set of output data may be sent out in the next control cycle according to a preset pause time.

[0221] In the illustrated embodiment, method 100 further includes an input storage step 143 and a second input storage step 145. In the first input storage step 143, the first control unit 201 stores the nth set of input data In received in the nth control cycle in the first input storage unit 213. In the second input storage step 145, the second control unit 203 stores the nth set of input data In transmitted from the first control unit 201 to the second control unit 203 in the second input storage unit 221 of the second control unit 203. By storing the nth set of input data In in the first input storage unit 213, the input data 231 received in the form of the nth set of input data In does not need to be processed directly by the processing unit through the execution of control task P within the same control cycle in which these input data 231 are received. Instead, it can be processed at any later time, for example, when computing power is available and the processing of the input data 231 will not delay the time of other applications. This also applies to the case where the second control unit 203 stores the input data in the second input storage unit 221. This causes the second control unit 203 to process input data in a manner that is not related to the corresponding control cycle in which the input data 231 sent from the first control unit 201 to the second control unit 203 is received by the second control unit 203.

[0222] Figure 7 A schematic diagram is shown. Figure 6 The time sequence of method 100 shown.

[0223] Figure 7 The time sequence of method 100 shown is similar to Figure 3 As shown. Figure 7 The focus shown is on the storage of the storage copy SK and the application of information from the storage copy SK by the second control unit 203.

[0224] Figure 7 The following scenario illustrates an automation process controlled only periodically by a first control unit 201. To this end, the first control unit receives a corresponding set of input data in each control cycle and sends a set of output data to the field devices. The process of the first control unit 201 for controlling the automation process is similar to... Figure 3 The mechanism shown will not be described again below.

[0225] In any nth control cycle, the second control unit 203 receives a stored copy SK of the program state of the automation system 200, which includes comprehensive information required to control the automation process, including the state of each component (i.e. device) of the automation system 200 participating in the automation process, and stores the stored copy SK in the storage area of ​​the second control unit 203.

[0226] and Figure 7 As shown in the diagram, the second control unit 203 receiving and storing the storage copy SK may include multiple sequential control cycles.

[0227] exist Figure 7 In the illustrated embodiment, the second control unit 203 stores the (n-3)th group of input data In-3 and communication data Kn-3, the (n-2)th group of input data In-2 and communication data Kn-2, and the (n-1)th group of input data In-1 and communication data Kn-1 from the storage copy SK in the second input memory unit 221 during the nth control cycle. Furthermore, the second control unit 203 stores the (n-3)th group of output data On-3 and response data An-3, and the (n-2)th group of output data On-2 and response data An-2 from the storage copy SK in the second output memory unit 223. The number of input data groups and output data groups stored from the storage copy SK into each memory unit shown in the figure is merely exemplary and can be arbitrarily changed.

[0228] In the subsequent (n+1)th control cycle, the second control unit 203 receives the nth set of input data In and communication data Kn received by the first control unit 201 in the nth control cycle and stores them in the second input storage unit 221. However, not in the (n+1)th control cycle, but in a later control cycle, specifically the (n+2)th control cycle in the illustrated embodiment, the nth set of input data In and communication data Kn are processed by executing control task P. The processing delay shown is exemplary and is intended only to illustrate that the reception and processing of input data 231 and communication data can be performed at different times and in different control cycles. Furthermore, in the nth control cycle, the (n-1)th set of input data In-1 is processed by the second processing unit 219, generating the corresponding (n-1)th set of output data On-1 and storing it in the second output storage unit 223. Similarly, the (n-1)th group of communication data Kn-1 is processed by executing the control task P, and the corresponding (n-1)th group of response data An-1 is generated and stored in the output storage unit 223.

[0229] In the (n+2)th control cycle, the (n+1)th set of input data In+1 and communication data Kn+1 sent by the first control unit 201 are received and stored in the second input storage unit 221. Furthermore, the nth set of input data In and the (n+1)th set of input data In+1, along with the corresponding communication data, are processed by the second processing unit 219, and correspondingly, the nth set of output data On, the nth set of response data An, the (n+1)th set of output data On+1, and the (n+1)th set of response data An+1 are generated and stored in the second output storage unit 223. As described above, the first processing unit 213 or the second processing unit 219 can execute the control task P at any time based on the corresponding input data, allowing multiple sets of input data to be processed within one control cycle if necessary.

[0230] exist Figure 7 In the illustrated embodiment, during the (n+2)th control cycle, particularly after the completion of the (n+1)th control cycle, the second control unit 203 records the information of the stored copy SK. Starting from the (n+2)th control cycle, the second control unit 203 processes only the input data received by the first control unit 201 in the immediately preceding control cycle. The second output storage unit 223 also stores the current output data set, i.e., the output data set On to be sent in the next control cycle according to a preset pause time x. Thus, after completing the storage of the stored copy SK, the second control unit 203 synchronizes with the first control unit 201 at the beginning of the (n+2)th control cycle, including the output data set and response data set to be sent in the next control cycle or subsequent control cycles, and therefore allows the first control unit 201 to seamlessly take over and continue control of the automation process.

[0231] During the nth to (n+2th)th control cycle, the second control unit 203 also receives the nth to (n+2th)th sets of communication data Kn, Kn+1, Kn+2. However, as long as the control and data communication of the automation process are still controlled by the first control unit 201, these data are not considered further during the control cycle.

[0232] exist Figure 3 and Figure 7 In this process, the input data sent by the first control unit 201 in one control cycle is received by the second control unit 203 in the immediately following control cycle. Since data transmission takes time, which may actually be a longer period, the reception by the second control unit 203 can be completed in a later control cycle.

[0233] exist Figure 3 and Figure 7The control task P executed in different control cycles to generate output data can be the same control task P that is repeatedly executed in successive control cycles during a periodic control automation process. For example, control task P can be the complete control program of the automation process. Alternatively, control task P can also be different parts of the control program executed in different control cycles. This is in... Figure 3 and Figure 7 It is not explicitly shown in the document.

[0234] Figure 3 and Figure 7 The output data generated by the second control unit 203 and sent by the first control unit 201 instead of the second control unit 203 in the preset control cycle is removed from the second input / output unit 217 of the second control unit 203 in subsequent control cycles, since there is no fault in the first control unit 201. Only when the first control unit fails and the second control unit 203 takes over the control of the automation process will the output data and communication data be sent by the second control unit 203, specifically by the second input / output unit 217.

[0235] Figure 8 Another flowchart of a method 100 for controlling an automation system 200 according to another embodiment is shown.

[0236] Figure 8 The implementation of method 100 shown is based on Figure 6 The embodiment of method 100 shown includes all the method steps described therein. If these are in Figure 8 Since the implementation methods shown remain unchanged, repeated detailed descriptions will be omitted.

[0237] and Figure 6 The implementation methods shown are different. Figure 8 The method 100 shown includes a first message receiving step 159, wherein the first communication unit of the first control unit 201 receives the nth group of communication data Kn in the nth control cycle.

[0238] Then, in the first response generation step 161, the nth set of response data An is determined based on the received nth set of communication data Kn.

[0239] In the first response storage step 163, the nth set of response data An is stored in the first output storage unit 215 of the control unit 201.

[0240] In the first response sending step 165, the nth set of response data An stored in the first output storage unit 215 is sent out via the first communication interface of the first control unit 201 in the (n+x)th control cycle.

[0241] according to Figure 3 In the illustrated implementation, the received nth group of communication data Kn is stored together with the nth group of input data In in the first input storage unit 213 of the first control unit 201. Similarly, the nth group of response data An is stored together with the nth group of output data On in the first output storage unit 215. Figure 3 The implementation shown is similar, and the response data set can be transmitted from the first control unit 201 to the second control unit 203 together with the output data set for data communication.

[0242] Furthermore, in the second message receiving step 167, the (n+m+x)th group of communication data is received by the second communication unit of the second control unit 203 in the (n+m+x)th control cycle.

[0243] In the second response generation step 169, the (n+m+x)th response data is generated based on the received (n+m+x)th communication data.

[0244] In the second response storage step 171, the (n+m+x)th response data is stored in the second output storage unit 223 of the second control unit 203.

[0245] In the second response sending step 173, the (n+m+x)th response data is sent out through the second communication interface of the second control unit 203 in the (n+m+2x)th control cycle. Through the transmission of communication data or response data, data communication between modules of the automation system 200, especially between the first control unit 201 and the second control unit 203, is enabled.

[0246] List of reference numerals

[0247] 100 methods

[0248] 101 First Control Step

[0249] 103 First Input Reception Step

[0250] 105 First Output Sending Step

[0251] 107 First data transmission step

[0252] 109 First Processing Step

[0253] 111 First Output Storage Step

[0254] 113 Fault Detection Steps

[0255] 115 Another output sending step

[0256] 117 Second Control Step

[0257] 119 Second Input Receiving Step

[0258] 121 Second Output Sending Step

[0259] 123 Second processing step

[0260] 125 Second Output Storage Step

[0261] 127 Third processing step

[0262] 129 Third Output Storage Step

[0263] 131 Fourth Processing Step

[0264] 133 Fourth Output Storage Step

[0265] 135 Third Input Receiving Step

[0266] 137 Comparison Steps

[0267] 139 Deviation Detection Procedure

[0268] 141 Transmission Error Detection Steps

[0269] 143 First Input Storage Step

[0270] 145 Second Input Storage Step

[0271] 147 Storage and Copying Steps

[0272] 149. Copy Transfer Steps

[0273] 151 First Copy Storage Steps

[0274] 153 Second Copy Storage Steps

[0275] 155 Fifth Processing Step

[0276] 157 Fifth Output Storage Step

[0277] 159 First Message Receiving Steps

[0278] 161 First Response Generation Steps

[0279] 163 First Response Storage Steps

[0280] 165 First Response Sending Steps

[0281] 167 Second Message Receiving Steps

[0282] 169 Second Response Generation Steps

[0283] 171 Second Response Storage Step

[0284] 173 Second Response Sending Steps

[0285] 200 Automated Systems

[0286] 201 First Control Unit

[0287] 203 Second Control Unit

[0288] 205 Field Equipment

[0289] 207 Data Bus

[0290] 209 First Input-Output Unit

[0291] 211 First Processing Unit

[0292] 213 First Input Storage Unit

[0293] 215 First Output Storage Unit

[0294] 217 Second Input-Output Unit

[0295] 219 Second Processing Unit

[0296] 221 Second Input Storage Unit

[0297] 223 Second Output Storage Unit

[0298] 225 Internal Data Interface

[0299] 227 Data Connection

[0300] 229 First Connection Unit

[0301] 230 Second Connection Unit

[0302] 231 Input Data Set

[0303] 233 Output Data Set

[0304] 235 Communication Data

[0305] 237 Response Data

[0306] P control task

[0307] In the nth set of input data

[0308] In+1 is the (n+1)th set of input data.

[0309] In+2 is the (n+2)th set of input data.

[0310] In+3 is the (n+3)th set of input data.

[0311] In+4 is the (n+4)th set of input data.

[0312] In+5 is the (n+5)th set of input data.

[0313] In-1 The (n-1)th set of input data

[0314] In-2 The (n-2)th set of input data

[0315] In-3 The (n-3)th set of input data

[0316] On the nth set of output data

[0317] On+1, the output data of the (n+1)th group.

[0318] On+2 is the output data for the (n+2)th group.

[0319] On+3, the output data of the (n+3)th group.

[0320] On+4 is the output data of the (n+4)th group.

[0321] On-1 Output data of the (n-1)th group

[0322] On-2, the output data of the (n-2)th group.

[0323] On-3 Output data of group (n-3)

[0324] Kn nth communication data

[0325] Kn+1 Communication data of the (n+1)th generation

[0326] Kn+2 The (n+2)th communication data

[0327] Kn+3 Communication data of the (n+3)th generation

[0328] Kn+4 The (n+4)th communication data

[0329] Kn+5 Communication data of the (n+5th)th generation

[0330] Kn-1 Communication data of the (n-1)th generation

[0331] Kn-2 Communication data of the (n-2)th generation

[0332] Kn-3 Communication data of the (n-3)th generation

[0333] An nth response data

[0334] An+1 Response Data (n+1)

[0335] An+2 Response Data (n+2th)

[0336] An+3 Response Data (n+3)

[0337] An+4 Response Data (n+4th)

[0338] An-1 Response Data (n-1)

[0339] An-2 Response Data of the (n-2)th Time

[0340] An-3 Response Data (n-3)

Claims

1. A method (100) for controlling an automated system (200) with control redundancy, wherein, The automation system (200) includes at least one first control unit (201), a second control unit (203), and a plurality of field devices (205) connected to the first control unit (201) and the second control unit (203) via a data bus (207), wherein the first control unit (201) and the second control unit (203) are configured to periodically control the automation process of the automation system (200). The first control unit (201) includes: A first input-output unit (209) is configured to receive input data (231) from a field device (205) and send output data (233) to the field device (205), wherein the input data (231) is combined to form a flowchart of the input end of an automation process, and wherein the output data (233) is combined to form a flowchart of the output end of an automation process. A first processing unit (211) is configured to perform at least one control task (P), analyze received input data (231), and generate output data (233) according to the control task (P); and The first output storage unit (215) is used to store the generated output data (233). The second control unit (203) includes: The second input-output unit (217) is used to receive input data (231) from the field device (205) and send output data (233) to the field device (205); A second processing unit (219) is configured to perform at least one control task (P), analyze received input data (231), and generate output data (233) according to the control task (P). The second output storage unit (223) is used to store the generated output data (233). The method (100) includes the following steps: In the first control step (101), the first control unit (201) periodically controls the automation process of the automation system (200), wherein the first control step (101) is executed in the nth control cycle, wherein the nth control cycle is executed after the (n-1)th control cycle, and wherein n is a natural number ≥ 2, wherein the control cycle describes the time period between receiving input data (231) through the first control unit (201) or the second control unit (203) and sending output data (233) through the corresponding control units (201, 203), and wherein the first control step (101) includes: In the first input receiving step (103), the first input-output unit (209) of the first control unit (201) receives the nth set of input data (In); and In the first output sending step (105), the first input-output unit (209) of the first control unit (201) sends the (nx)th set of output data to the field device (205), where x is a natural number ≥ 1, wherein the (nx)th set of output data is generated based on the (nx)th set of input data received in the (nx)th control cycle according to the control task (P), and wherein the (nx)th control cycle is executed x control cycles earlier than the nth control cycle; In the first data transmission step (107), the nth set of input data (In) is transmitted from the first control unit (201) to the second control unit (203); In the first processing step (109), the second processing unit (219) of the second control unit (203) processes the nth set of input data (In) and generates the nth set of output data (On); In the first output storage step (111), the nth set of output data (On) is stored in the second output storage unit (223) of the second control unit (203); In the fault detection step (113), a fault in the first control unit (201) is detected during the (n+x)th control cycle, wherein the (n+x)th control cycle is executed x control cycles later than the nth control cycle; and In a further output sending step (115), in the (n+x)th control cycle, the nth set of output data (On) is sent to multiple field devices (205) through the second input-output unit (217) of the second control unit (203) to control the automation process.

2. The method (100) according to claim 1, further comprising the following steps: In the second control step (117), the second control unit (203) periodically controls the automation process of the automation system (200); wherein the second control step (117) is executed in the (n+m+x)th control cycle, where m is a natural number ≥ 1, wherein the (n+m+x)th control cycle is executed m control cycles later than the (n+x)th control cycle, and wherein the second control step (117) includes: In the second input receiving step (119), the second input-output unit (217) of the second control unit (203) receives the (n+m+x)th set of input data; and In the second output sending step (121), the second input-output unit (217) of the second control unit (203) sends the (n+m)th set of output data to the field device (205), wherein the (n+m)th set of output data is generated based on the (n+m)th set of input data received in the (n+m)th control cycle according to the control task (P), and wherein the (n+m)th control cycle is executed x control cycles earlier than the (n+m+x)th control cycle.

3. The method (100) according to claim 1, wherein, The first control unit (201) further includes a first output storage unit (215) for storing output data (233), wherein, in the nth control cycle, the nxth set of output data is stored in the first output storage unit (215), and wherein the (nx)th set of output data is generated within the (nx)th control cycle or in time within any control cycle between the (nx)th control cycle and the nth control cycle.

4. The method (100) according to claim 1, further comprising the following steps: In the second processing step (123), the first processing unit (211) of the first control unit (201) processes the nth set of input data (In) and generates the nth set of output data (On); In the second output storage step (125), the nth set of output data (On) is stored in the first output storage unit (215) of the first control unit (201), wherein the nth set of output data (On) is generated by the first processing unit (211) of the first control unit (201), the nth set of output data (On) is stored in the second output storage unit (223) by the second control unit (203), and the nth set of input data (In) is transmitted from the first control unit (201) to the second control unit (203) in the nth control cycle or in any control cycle between the nth control cycle and the (n+x)th control cycle in time; In the third processing step (127), the second processing unit (219) of the second control unit (203) processes the (n+m)th set of input data (231) and generates the (n+m)th set of output data (233); In the third output storage step (129), the (n+m)th set of output data (233) is stored in the second output storage unit (223) of the second control unit (203), wherein the (n+m)th set of output data (233) is generated by the second processing unit (219) of the second control unit (203), and the (n+m)th set of output data (233) is stored in the second output storage unit (223) of the second control unit (203) in the (n+m)th control cycle or in any control cycle between the (n+m)th control cycle and the (n+m+x)th control cycle in time; In the fourth processing step (131), the second processing unit (219) of the second control unit (203) processes the (n+m+x)th set of input data (231) and generates the (n+m+x)th set of output data (233); and In the fourth output storage step (133), the (n+m+x)th set of output data (233) is stored in the second output storage unit (223) of the second control unit (203), wherein the (n+m+x)th set of output data (233) is generated by the second processing unit (219) of the second control unit (203), and the (n+m+x)th set of output data (233) is stored in the second output storage unit (223) of the second control unit (203) in the (n+m+x)th control cycle or in any control cycle between the (n+m+x)th control cycle and the (n+m+2x)th control cycle in time.

5. The method (100) according to claim 1, further comprising the following steps: In the third input receiving step (135), during the nth control cycle, the second input-output unit (217) of the second control unit (203) receives another nth set of input data (In); In the comparison step (137), the nth set of input data (In) of the first control unit (201) is compared with the nth set of input data (In) of another set of the second control unit (203); In the deviation detection step (139), the deviation between the nth set of input data of the first control unit (201) and another nth set of input data (In) of the second control unit (203) is detected; and In the transmission error detection step (141), errors in the data transmission between the field device and the first control unit (201) are detected.

6. The method (100) according to claim 1, wherein, During the nth control cycle, multiple sets of output data (233) are stored in the first output storage unit (215) of the first control unit (201) and / or the second output storage unit (223) of the second control unit (203), wherein the sets of stored output data (233) are generated according to the control task (P) based on the sets of input data (231) received in a control cycle, and wherein the corresponding control cycle is executed in time between the (nx)th control cycle and the nth control cycle, and wherein the corresponding sets of output data (233) are sent to the field device (205) by the first input-output unit (209) of the first control unit (201) in time within the corresponding control cycle between the nth control cycle and the (n+x)th control cycle.

7. The method (100) according to claim 2, wherein, During the (n+m+x)th control cycle, multiple sets of output data (233) are stored in the second output storage unit (223) of the second control unit (203), wherein the sets of stored output data (233) are generated according to the control task (P) based on the sets of input data (231) received in a control cycle, and wherein each control cycle is performed in time between the (n+m)th control cycle and the (n+m+x)th control cycle, and wherein the corresponding sets of output data (233) are sent to the field device (205) by the second input-output unit (217) of the second control unit (203) in time during the corresponding control cycle between the (n+m+x)th control cycle and the (n+m+2x)th control cycle.

8. The method (100) according to claim 1, wherein, The first control unit (201) includes a first input storage unit (213) for storing input data (231), wherein the second control unit (203) includes a second input storage unit (221) for storing input data (231), and wherein the method (100) further includes the following steps: In the first input storage step (143), the nth set of input data (In) is stored in the first input storage unit (213) of the first control unit (201) in the nth control cycle; and / or In the second input storage step (145), the nth set of input data (In) sent from the first control unit (201) to the second control unit (203) in the nth control cycle is saved to the second input storage unit (221) of the second control unit (203).

9. The method (100) according to claim 8, wherein, The first control unit (201) has a first storage area for storing first control data of the first control unit (201), wherein the second control unit (203) has a second storage area for storing second control data of the second control unit (203), wherein the first storage area includes a first input storage unit (213) and a first output storage unit, and wherein the second storage area includes a second input storage unit (221) and a second output storage unit (223), and further includes: In the storage copying step (147), a storage copy (SK) is generated, wherein the storage copy (SK) is a backup of the first storage area of ​​the first control unit (201) and includes a group of input data (231) stored in the first input storage unit (213) and a group of output data (233) stored in the first output storage unit (215), wherein the storage copy (SK) is copied in any control cycle before the nth control cycle and includes at least one group of input data (231) stored in the first input storage unit (213) at the time point of the corresponding control cycle and / or at least one group of output data (233) stored in the first output storage unit (215) at the time point of the corresponding control cycle; In the copy transmission step (149), the stored copy (SK) is transmitted to the second control unit (203); In the first copy storage step (151), at least one set of input data (231) of the storage copy (SK) is stored in the second input storage unit (221) of the second control unit (203); and / or In the second copy storage step (153), at least one set of output data (233) of the storage copy (SK) is stored in the second output storage unit (223) of the second control unit (203); In the fifth processing step (155), the second processing unit (219) of the second control unit (203) processes the stored copy (SK) of the at least one set of input data (231) and generates a corresponding set of output data (233); and In the fifth output storage step (157), the generated output data (233) is stored in the second output storage unit (223) of the second control unit (203).

10. The method (100) according to claim 1, wherein, The first control unit (201) includes a first communication interface for receiving and sending communication data, and the second control unit (203) includes a second communication interface for receiving and sending communication data, and further includes: In the first message receiving step (159), in the nth control cycle, the first communication unit of the first control unit (201) receives the nth communication data (Kn); In the first response generation step (161), the nth response data (An) to the received nth communication data (Kn) is determined; In the first response storage step (163), the nth response data (An) is stored in the first output storage unit of the first control unit (201), wherein the nth response data (An) is stored together with the nth set of output data (On) in the first output storage unit; In the first response sending step (165), within the (n+x)th control cycle, the nth response data (An) is sent via the first communication interface of the first control unit (201); and / or In the second message receiving step (167), during the (n+m+x)th control cycle, the second communication unit of the second control unit (203) receives the (n+m+x)th communication data; In the second response generation step (169), the (n+m+x)th response data to the (n+m+x)th communication data received is determined; In the second response storage step (171), the (n+m+x)th response data is stored in the second output storage unit of the second control unit (203), wherein the (n+m+x)th communication data is stored together with the (n+m+x)th set of output data in the second output memory unit; and In the second response sending step (173), during the (n+m+2x)th control cycle, the (n+m+x)th response data is sent through the second communication interface of the second control unit (203).

11. The method (100) according to claim 1, wherein, The first control unit (201) includes a further first processing unit for performing at least one additional control task (P) and for analyzing received input data (231), and for generating additional output data according to the additional control task (P). The second control unit (203) includes a further second processing unit (219) for performing at least one additional control task (P), and for analyzing received input data (231), and for generating additional output data (233) according to the additional control task (P). The control task (P) can be performed simultaneously by the first processing unit (211) of the first control unit (201) and the additional control task (P) can be performed simultaneously by the further first processing unit. And / or the control task (P) can be performed simultaneously by the second processing unit (219) of the second control unit (203) and the additional control task (P) can be performed simultaneously by the further second processing unit.

12. The method (100) according to claim 1, wherein, The first input storage unit (213) and the first output storage unit (215) of the first control unit (201) and the second input storage unit (221) and the second output storage unit (223) of the second control unit (203) are configured as FIFO memories.

13. An automation system (200) having at least one first control unit (201) and a second control unit (203) and a plurality of field devices (205), the field devices being connected to the first control unit (201) and the second control unit (203) via a data bus (207), wherein, The first control unit (201) and the second control unit (203) are configured to periodically control the automation process of the automation system (200), wherein the first control unit (201) includes: A first input-output unit (209) is configured to receive input data (231) from a field device (205) and send output data (233) to the field device (205), wherein the input data (231) is combined to form a flowchart of the input end of an automation process, and wherein the output data (233) is combined to form a flowchart of the output end of an automation process. A first processing unit (211) is configured to execute at least one control task (P), and to analyze received input data (231) and generate output data (233) according to the control task (P). The first input storage unit (213) is used to store the received input data (231), and The first output storage unit (215) is used to store the generated output data (233). The second control unit (203) includes: The second input-output unit (217) is used to receive input data (231) from the field device (205) and to send output data (233) to the field device (205). The second processing unit (219) is used to execute at least one control task (P), and to analyze the received input data (231) and generate output data (233) according to the control task (P). The second input storage unit (221) is used to store input data (231), and A second output storage unit (223) is used to store the generated output data (233), wherein the automation system (200) is configured to perform the method (100) according to any one of claims 1 to 12.

14. The automation system (200) according to claim 13, wherein, The first control unit (201) has a first storage area for storing first control data of the first control unit (201), wherein the second control unit (203) has a second storage area for storing second control data of the second control unit (203), wherein the first storage area includes a first input storage unit (213) and a first output storage unit, and wherein the second storage area includes a second input storage unit (221) and a second output storage unit.

15. The automation system (200) according to claim 13, wherein, The first control unit (201) and the second control unit (203) are connected to each other via a data connection (227) and are configured to exchange data via data communication.

16. The automation system (200) according to claim 13, further comprising a first connection unit (229) and a second connection unit (230), the first connection unit (229) and the second connection unit (230) being connected to the field device (205) and the first control unit (201) and the second control unit (203) via the data bus (207), wherein, The first connection unit (229) and the second connection unit (230) are configured to control the data flow of input data from the field device (205) to the first control unit (201) and the second control unit (203), and / or the data flow of input data from the first control unit (201) and / or the second control unit (203) to the field device (205).

17. The automation system (200) according to claim 13, wherein, The first control unit (201) includes an additional processing unit for performing at least one additional control task (P), analyzing received input data (231), and generating additional output data (233) based on the additional control task (P). The second control unit (203) includes an additional second processing unit for performing at least one additional control task (P), analyzing received input data (231), and generating output data (233) based on the additional control task (P). The control task (P) can be performed simultaneously by the first processing unit (211) of the first control unit (201) and by the additional first processing unit, and / or the control task (P) can be performed simultaneously by the second processing unit (219) of the second control unit (203) and by the additional second processing unit.

Citation Information

Patent Citations

  • Method for Operating a Redundant Automation System

    US20130318041A1

  • System with a monitoring device that monitors the proper functioning of the system, and method of operating such a system

    US7159152B2