Event-based pid control function block

By converting the execution mode of the PID control function block to event-based execution, and combining it with an event delay generator and adaptive threshold adjustment, the problems of high execution load and large space occupation of the PID control function block in industrial control systems are solved, achieving more efficient and precise control.

CN122260770APending Publication Date: 2026-06-23SCHNEIDER ELECTRIC SYSTEMS USA INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SCHNEIDER ELECTRIC SYSTEMS USA INC
Filing Date
2025-12-22
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Existing PID control function blocks require the execution of the PID algorithm in each cycle in industrial control systems, resulting in high execution load and large space occupation, making it difficult to adapt to the event-driven execution model that is compatible with the IEC 61499 standard.

Method used

The execution mode of the PID control function block is changed from loop to event-based execution. An event delay generator is used to generate event requests, reducing the execution load and achieving adaptive threshold adjustment until the process value converges within the error range.

Benefits of technology

It achieves more efficient PID control under the IEC 61499 standard, reduces execution load and space occupation, and improves control accuracy and reduces overshoot.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122260770A_ABST
    Figure CN122260770A_ABST
Patent Text Reader

Abstract

Event-based execution of a proportional-integral-derivative (PID) control function block. An event delay generator associated with the PID control function block receives an output event from the PID control function block and generates an event request in response to receiving the output event. The event delay generator provides the event request to the PID control function block, and the PID control function block is configured to execute a PID control loop feedback process in response to the event request. The PID control function block drives a process value to a setpoint using an adaptive threshold that is a function of a moving average of an error between two values.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 737,976, filed December 23, 2024, the entire disclosure of which is incorporated herein by reference. Background Technology

[0003] Industrial control systems, used within industrial plants to automate plant processes, typically include control devices such as programmable logic controllers (PLCs). These control devices operate based on control programs developed for the equipment. These programs consist of function blocks that are assembled to implement an overall control strategy and drive the plant processes to achieve desired outputs. Some examples of function block types include timers, counters, analog inputs, analog outputs, and proportional-integral-derivative (PID) control. PID control function blocks play a crucial role in industrial control systems and are fundamental function blocks used in many control applications. For example, they are widely used by process control engineers to drive process values ​​to the desired setpoint.

[0004] The conventional approach to PID control function blocks requires executing the PID algorithm every cycle (e.g., every 1 second). Cyclic execution is necessary because the integral function of the PID represents the sum of errors over time. Summary of the Invention

[0005] This disclosure converts the execution mode of function blocks from cyclic execution to event-based execution, particularly allowing event-based execution of PID control function blocks, such as those compliant with the IEC 61499 standard. Unlike other function blocks, which require cyclic execution due to the integral component in PID control calculations, this disclosure advantageously converts PID control function blocks from cyclic execution to event-based execution.

[0006] In one aspect, the controller is configured to perform a PID control application that executes control operations. The controller includes a PID control function block configured to execute a PID control loop feedback process in response to one or more input events, and to generate an output event based on the PID control loop feedback process. An event delay generator associated with the PID control function block receives the output event from the PID control function block and generates an event request in response to receiving the output event. The event delay generator provides the event request to the PID control function block, and the PID control function block is also configured to execute the PID control loop feedback process in response to the event request.

[0007] On the other hand, an event-based method for controlling PID control applications. This method includes configuring a PID control function block of the PID control application to execute a PID control loop feedback process in response to one or more input events. The method also includes generating an output event by the PID control function block based on the PID control loop feedback process. An event delay generator associated with the PID control function block receives the output event from the PID control function block and is configured to generate an event request in response to receiving the output event. The method further includes receiving an event request from the event delay generator by the PID control function block and configuring the PID control function block to execute the PID control loop feedback process in response to the event request.

[0008] In another aspect, an event-based execution method for PID control applications controls the operation. This method includes configuring a PID control function block of the PID control application to execute a PID control loop feedback process in response to a setpoint. The method also includes generating one or more outputs by the PID control function block based on the PID control loop feedback process, defining an adaptive threshold as a range between an upper threshold and a lower threshold, and modifying the upper and lower thresholds as a function of the error between the process value and the setpoint. The method further includes using the adaptive threshold to drive the process value toward the setpoint via the output of the PID control loop feedback process, and configuring the PID control function block to repeat execution until the process value is within the adaptive threshold.

[0009] Other objects and features of the invention will be apparent in part, and are also indicated herein. Attached Figure Description

[0010] Figure 1 This is a schematic diagram illustrating an example of assembling a PID function block in IEC 61499 for execution according to existing technology.

[0011] Figure 2 This is a schematic diagram illustrating an example execution architecture of a controller according to an embodiment.

[0012] Figure 3 An example of a measurement criterion suitable for event-based execution of a PID control function block, according to an embodiment, is shown.

[0013] Figure 4A and Figure 4B An example of process control behavior resulting from an adaptive threshold according to an embodiment is shown.

[0014] Figure 5A and Figure 5B An example process control behavior resulting from an adaptive threshold according to an embodiment is further illustrated.

[0015] Figure 6A comparison is shown between executing a PID control function block on a loop-based basis and executing a PID control function block on an event-based basis, according to an embodiment.

[0016] Figure 7 An example process for event-based execution of a PID control application according to an embodiment is shown.

[0017] Throughout the accompanying drawings, corresponding reference numerals indicate the relevant parts. Detailed Implementation

[0018] The features and other details of the concepts, systems, and techniques sought to be protected herein will now be described in more detail. It should be understood that any particular embodiment described herein is shown by way of illustration and not intended to limit the scope of this disclosure and the concepts described herein. Features of the subject matter described herein may be employed in various embodiments without departing from the scope of the sought-protected concepts.

[0019] The need for distributed control topologies has led to the development of programming language standards such as IEC 61499, an international standard published by the International Electrotechnical Commission (IEC) specifically for distributed (event-based) industrial applications. Typically, IEC 61499 defines a general architecture that enables application-centric design, where one or more applications are defined by a network of interconnected function blocks for the entire system, and then distributed to available devices. A function block is a convenient programming mechanism that combines a set of programming instructions to perform specific and standardized actions, such as speed control, interval control, or counting. Function blocks can include configuration data, a set of internal or external operating parameters, and typically one or more data inputs and outputs. All devices within the system are described within a device model, and the system topology is reflected by the system model. IEC 61499 addresses the topic of function block-based distributed control applications for industrial process measurement and control systems.

[0020] In the IEC 61499 architecture model, distributed applications are constructed by interconnecting instances of reusable function block types with appropriate event and data connections in the same way that designing a circuit board with integrated circuits. Using IEC 61499-compliant software tools, these function blocks can be distributed and then deployed over a network to runtime components of IEC 61499-compliant physical devices (controllers). In this way, distributed control and automation systems can be configured from a library of reusable IEC 61499-compliant components.

[0021] According to this standard, the execution of control applications is event-driven, where events represent changes in system state or conditions, unlike classic scan-based distributed control systems. The IEC 61499 standard also specifies the set of software components and applications that implementers of this standard must implement or develop.

[0022] As mentioned above, PID control is a control loop feedback mechanism that plays a crucial role in process control. Process control engineers widely use it to drive process values ​​to the desired setpoint. In PID control, the setpoint is the target value set by the user. The main purpose of PID control is to ensure that the process value reaches the setpoint. Figure 1 This is a simplified schematic diagram illustrating an example execution architecture of controller 102 according to the prior art. In this case, even though the IEC 61499 standard defines an event-driven execution model, controller 102 executes PID control function block 104 on a cyclic basis. The event-driven execution model allows for explicit specification of the execution order of function blocks. If needed, periodically executed applications, such as PID control function block 104, can be implemented using a cyclic event generator 106 for generating periodic events. The process may require the cyclic execution of certain procedures, and because IEC 61499 function blocks require event inputs to begin execution of the application, a cyclic event generator 106 implemented as a timer function block (e.g., E_CYCLE function block) is necessary. The function of the E_CYCLE function block is to generate event requests defined cyclically by a user-specified time constant. The data input DT is the time constant.

[0023] PID control function blocks are fundamental function blocks used in many control applications. For example, they are widely used by process control engineers to drive process values ​​to a desired setpoint. The IEC 61499 standard fundamentally changed the execution method of function blocks from cyclic execution to event-based execution. However, PID function blocks that must perform integral functions in PID control calculations must, in contrast to event-based execution, execute cyclically. Advantageously, aspects of this disclosure allow for event-based execution of PID control function blocks, such as those compatible with the IEC 61499 standard. It should be understood that aspects of this disclosure are applicable to other PID control function blocks, and function blocks compatible with the IEC 61499 standard are merely one example type of function block that can utilize and benefit from the disclosed techniques. For example, aspects of this disclosure can be applied to any event-based system or any cyclic-based system with a mechanism for introducing events.

[0024] In conventional control systems, such as those used in cyclic control applications, the PID function block executes over a predefined time period, and the error is summed over time. With the introduction of event-based systems, events are introduced to mimic the behavior of conventional control systems that execute the PID function block over a predefined time period. This is to overcome the limitations of the PID's overall execution. While this "workaround" is available, it does not actually shift the PID to event-based execution. As described herein, aspects of this disclosure address the shortcomings of conventional control systems by implementing the PID in real-world event-based execution.

[0025] As described herein with respect to this disclosure, “event-based” refers to native or genuine event-based standards as well as “pseudo” event-based standards (e.g., loop-based standards that mimic or otherwise attempt to mimic event-based standards). Figure 2 This is a simplified schematic diagram illustrating an example execution architecture of a controller 202 according to aspects of this disclosure. In this configuration, the controller 202 executes the PID control function block 204 according to an event-driven execution model compatible with the IEC 61499 standard, other native event-based standards, or pseudo-event-based standards for control operations. In other words, the controller 202 executes the PID control function block 204 non-cyclically in the absence of events. Instead, the PID function block 204 responds to new events, such as changes in the setpoint or new input values. The event-driven execution model allows for explicit specification of the execution order of the function blocks. An event delay generator 206, implemented as a timer function block (e.g., the E_DELAY function block), generates event requests. The E_DELAY function block is defined in the IEC 61499 standard and allows for delayed propagation of events. An event at EO is generated at a time interval DT following the occurrence of an event at the start input. The event delay is canceled by an event occurring at the stop input. If multiple events occur at the start input before the event at EO, then at EO, only a single event occurs at time DT after the first event at the start input. If an event with a DT value not greater than t#0 s occurs at the start input, the event delay is not initiated.

[0026] Instead of generating event requests defined by a time constant loop, event delay generator 206 performs event requests. In an embodiment, upon receiving a new event, controller 202 performs checks, and PID control 204 only sends a request to E_DELAY block 206 if these checks are met, waiting for a predetermined time delay DT before receiving a new execution request. In this way, PID control 204 has the ability to execute based on events rather than looping, enabling aspects of this disclosure to implement event-based IEC 61499 PID function blocks.

[0027] By converting the PID control function block into event-based execution, aspects of this disclosure (a) reduce the execution load on the controller 202 executing the PID control function block 204 because it executes on event-based execution rather than loop execution, and (b) reduce the control footprint, taking into account the fact that the controller 202 is able to accommodate more function blocks due to the reduced execution load.

[0028] As described above, aspects of this disclosure are particularly advantageous in transforming the execution of function blocks from loop-based execution to event-based execution. Loop-based PID algorithms (e.g., based on the IEC 61131 standard) can be transformed into event-based PID algorithms by triggering events based on specified time increments to mimic their loop-based behavior.

[0029] Figure 3 An example of a measurement metric for event-based execution applicable to PID function block 204 is shown. Figure 3 In the exemplary graph, the setpoint is centered between the high and low thresholds. Graph 302 indicates that the process value converges within the high and low thresholds of the setpoint.

[0030] In an embodiment, PID function block 204 operates based on adaptive thresholds for driving the process value to a specific setpoint. The adaptive thresholds represent an upper threshold (high thresh) and a lower threshold (low thresh) that change as a function of the error between the process value and the setpoint. For example, the upper and lower thresholds are modified as a function of a moving average of the error between the process value and the setpoint. PID function block 204 continues to execute (e.g., repeats execution) until the process value is within the adaptive upper and lower thresholds based on the moving average of the error. In other words, the moving average of the error decreases as the process value approaches the setpoint, causing threshold convergence, and PID function block 204 executes until the process value is within the thresholds. In an embodiment, the moving average is based on a configurable number of error values ​​between the process value and the setpoint.

[0031] Table 1 is an example of adaptive thresholding based on moving averages. In this example, the moving average is subtracted from the setpoint to define the lower threshold, and the moving average is added to the setpoint to define the upper threshold. If displayed with the data, the moving average will appear as either lagging or following the data. In the example in Table 1, the setpoint = 10, and the moving average is based on 10 values. The number of values ​​for the moving average (10 in this example) is configurable. After the initial period, the lower threshold increases and the upper threshold decreases to converge closer to the setpoint.

[0032] Table 1

[0033]

[0034] Now for reference Figure 4A This illustrates an example of process control behavior caused by adaptive thresholds. In this example, the setpoint is shown as 10 at 402. The lower threshold, indicated at 404, starts from 0, and the upper threshold, indicated at 406, starts from 20. In response to the event at 408, the PID control function block 204 begins driving the process value 410 toward the setpoint 402. The lower threshold 404 and the upper threshold 406 are adjusted, for example, based on a moving average of the error, and begin to converge toward the setpoint 402. Figure 4B As shown, another example of process control behavior illustrates PID control executed based on multiple events 408.

[0035] In a preferred embodiment, the moving average is clamped to a relatively small configurable value (e.g., 1%) to prevent the upper threshold 404 and lower threshold 406 from converging to equal the setpoint 402. If the upper threshold 404 and lower threshold 406 overlap with the setpoint 402, the PID control function block 204 will always execute on an event-based basis because the moving average of the error will become zero. The process value 410 cannot remain between the thresholds 404 and 406 because they will be equal to each other. Figure 4A Region 412 is shown, where the variance relative to setpoint 402 is within 1%. In this embodiment, the variance, as used herein, has been modified so that it is a moving average relative to setpoint 402 rather than relative to the error. The variance is calculated as the sum of the distances of all points relative to SP divided by the number of samples. In this embodiment, for ease of calculation, the same moving average period can be used so that there is one configurable parameter instead of two. Advantageously, the adaptive threshold reduces overshoot while still providing the reduced number of cycles required to achieve acceptable PID control.

[0036] Table 2 shows an example of an adaptive threshold based on an error-based moving average, where the variance decreases as the variance compared to the setpoint converges to within 1%. It should be understood that the 1% clamp is configurable to allow for wider or narrower frequency bands between thresholds 404 and 406.

[0037] Table 2

[0038]

[0039] Now for reference Figure 5A and Figure 5B The example process control behavior shown demonstrates the determination of whether the moving average used to determine the adaptive threshold is moving in the correct direction. When a new event 408 occurs, such as when a measurement is received, it is unknown whether the process value 410 is moving away from or towards the setpoint 402. Figure 5A Region 502 is shown, where one of the events in 408 triggers the execution of PID control; however, in this case, the error is increasing. Without correction, if the process value 410 moves away from the setpoint 402 but remains within the band defined by thresholds 404 and 406, the PID control function block 204 continues to execute. The increasing error causes the average value to shift in the wrong direction, resulting in the thresholds 404 and 406 diverging. When thresholds 404 and 406 diverge, the control drives the process value 410 away from the setpoint 402. Figure 5B As shown, typically indicated by reference numeral 504, when the error increases to clamp thresholds 404 and 406, the moving error calculation stops until the process value 410 is driven within thresholds 404 and 406. In other words, the last value of the moving average (i.e., the adaptive threshold is clamped) is used until the error begins to decrease.

[0040] Figure 6 A comparison is provided between the controller 102 executing PID control function block 104 on a cyclic basis and the controller 102 executing PID control function block 204 on an event basis, according to aspects of this disclosure. Figure 6 As shown, aspects of this disclosure achieve PID control with fewer cycles and less time, and with improved accuracy. Integral absolute error is a measure of the degree to which a PID controller can reduce error, where a smaller value indicates a more efficient PID action. Aspects of this disclosure demonstrate that, compared to conventional cyclic execution, the performance of event-based execution according to one or more embodiments is not degraded.

[0041] Figure 7An example process 700 of event-based execution for a PID control application according to an embodiment is shown. Starting at 702, controller 202 waits for a new event, and if a new event is received, as determined at 704, process 700 proceeds to 706 to calculate the absolute error between the process value and the setpoint. At 708, process 700 determines whether the calculated absolute error is within the aforementioned adaptive threshold. If so, process 700 adjusts the threshold based on the error at 710 and then returns to 704 to check for any additional new events. If it is determined at 704 that no new event exists, process 700 returns to 702 to wait for a new event.

[0042] If the calculated error is outside the adaptive threshold, as determined at 708, controller 202 adjusts the PID output at 712 and calculates a new adaptive threshold based on that error at 714. According to example process 700, controller 202 triggers event delay generator 206 at 706 to wait for a predetermined time delay DT, and then checks again for new events from event delay generator 206 at 718. Process 700 returns to 706 to calculate the absolute error between the process value and the setpoint.

[0043] In one aspect, a method for converting a PID control function block in a PID control application to event-based execution includes configuring a selected PID control function block from a plurality of PID control function blocks to receive event data at a first corresponding input of the selected PID control function block. The method also includes configuring the selected PID control function block from the plurality of PID control function blocks to receive input data at a second corresponding input of the selected PID control function block. The selected PID control function block from the plurality of PID control function blocks is configured to execute in response to event data and to generate corresponding output event data and output data in response to the event data and input data. The output data includes an adaptive threshold or setpoint, wherein by configuring the selected PID control function block from the plurality of PID control function blocks to execute on an event-based basis rather than cyclically, the execution load on the PID controller is reduced, and the footprint is reduced, taking into account the fact that the controller can accommodate more function blocks due to the reduced execution load.

[0044] Although this disclosure relates to PID control function blocks compatible with the IEC 61499 standard, it should be understood that such function blocks are merely one example type of function blocks that can utilize and benefit from the disclosed techniques.

[0045] Embodiments of this disclosure may include a dedicated computer, which includes various computer hardware as described in more detail herein.

[0046] For illustrative purposes, programs and other executable program components may be shown as discrete boxes. However, it should be recognized that such programs and components reside in different storage components of the computing device at different times and are executed by the device's data processor.

[0047] Although described in conjunction with an example computing system environment, embodiments of various aspects of the invention may operate in conjunction with other dedicated computing system environments or configurations. The computing system environment is not intended to impose any limitation on the scope or functionality of any aspect of the invention. Furthermore, the computing system environment should not be construed as having any dependency or requirement associated with any one or combination of the components shown in the example operating environment. Examples of computing systems, environments, and / or configurations to which various aspects of the invention may be applied include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, mobile phones, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the foregoing systems or devices, etc.

[0048] Embodiments of various aspects of this disclosure can be described in the general context of data and / or processor-executable instructions (such as program modules) stored in one or more tangible, non-transitory storage media and executed by one or more processors or other devices. Typically, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform a particular task or implement a particular abstract data type. Various aspects of this disclosure can also be practiced in distributed computing environments, where tasks are performed by remote processing devices linked via a communication network. In a distributed computing environment, program modules can reside in both local and remote storage media, including memory storage devices.

[0049] In operation, processors, computers, and / or servers can execute processor-executable instructions (e.g., software, firmware, and / or hardware) as shown herein to implement aspects of the present invention.

[0050] Embodiments can be implemented using processor-executable instructions. These processor-executable instructions can be organized into one or more processor-executable components or modules on a tangible processor-readable storage medium. Furthermore, embodiments can be implemented using any number and organization of such components or modules. For example, aspects of this disclosure are not limited to the specific processor-executable instructions or specific components or modules shown in the accompanying drawings and described herein. Other embodiments may include different processor-executable instructions or components having more or fewer functions than those shown and described herein.

[0051] Unless otherwise stated, the order in which operations of the aspects of this disclosure shown and described herein are performed or carried out is not required. That is, unless otherwise stated, operations may be performed in any order, and embodiments may include more or fewer operations than those disclosed herein. For example, it is contemplated that a particular operation may be performed before, simultaneously with, or after another operation within the scope of this invention.

[0052] When describing elements of the invention or embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to indicate the presence of one or more elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that additional elements may be present in addition to those listed.

[0053] Not all of the components shown or described may be required. Additionally, some implementations and embodiments may include additional components. Variations in the arrangement and type of components may be made without departing from the spirit or scope of the claims set forth herein. Furthermore, different or fewer components may be provided, and components may be combined. Alternatively or additionally, a component may be implemented by several components.

[0054] The above description illustrates embodiments by way of example and not limitation. This description enables those skilled in the art to make and use aspects of the invention, and describes numerous embodiments, adaptations, variations, alternatives, and uses of aspects of the invention, including modes currently considered best for carrying out aspects of the invention. Furthermore, it should be understood that aspects of the invention, in their application, are not limited to the construction details and component arrangements set forth in the following description or shown in the accompanying drawings. Aspects of the invention can have other embodiments and can be practiced or performed in various ways. Moreover, it should be understood that the wording and terminology used herein are for descriptive purposes and should not be considered limiting.

[0055] It is obvious that modifications and variations are possible without departing from the scope of the invention as defined in the appended claims. Since various changes can be made to the above structures and methods without departing from the scope of the invention, all content contained in the above description and shown in the drawings is intended to be illustrative rather than restrictive.

[0056] In view of the above, it can be seen that several advantages of various aspects of the present invention have been achieved and other advantageous results have been obtained.

[0057] The abstract and summary are provided to help the reader quickly determine the nature of the disclosed technology. They are provided so that they will not be used to interpret or limit the scope or meaning of the claims. The summary is provided to introduce some concepts in a simplified form, which will be further described in the detailed embodiments. The summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to help identify the claimed subject matter.

Claims

1. A controller configured to perform a proportional-integral-derivative (PID) control application for control operations, the controller comprising: The PID control function block is configured to execute a PID control loop feedback process in response to one or more input events. The PID control function block generates one or more output events based on the PID control loop feedback process. and An event delay generator associated with a PID control function block is configured to receive one or more output events from the PID control function block and generate an event request in response to receiving one or more output events. The event delay generator provides event requests to the PID control function block, and The PID control function block is also configured to execute the PID control loop feedback process in response to an event request.

2. The controller according to claim 1, wherein, The event delay generator includes the E_DELAY function block.

3. The controller according to claim 1, wherein, The event delay generator generates an event request after a predetermined delay, and the PID control function block includes processor-executable instructions that, when executed, configure the controller to perform a PID control loop feedback process.

4. The controller according to claim 1, wherein, The PID control function block operates according to an event-driven execution model compatible with IEC 61499.

5. The controller according to claim 1, wherein, The one or more input events to the PID control function block represent setpoints and process values, and the one or more output events of the PID control function block represent control actions, wherein the PID control loop feedback process includes an adaptive threshold for driving the process value toward the setpoint.

6. The controller according to claim 5, wherein, The adaptive threshold includes a range defined by an upper threshold and a lower threshold.

7. The controller according to claim 6, wherein, The upper and lower thresholds are changed as a function of the moving average of the error between the process value and the setpoint, and the moving average is clamped to prevent the upper and lower thresholds from converging to equal the setpoint.

8. The controller according to claim 7, wherein, When the PID control function block is executed repeatedly, the adaptive threshold is frozen until the error between the process value and the setpoint begins to decrease.

9. A method for event-based execution of a proportional-integral-derivative (PID) control application for controlling operations, the PID control application including at least one PID control function block, the method comprising: Configure the PID control function block to execute the PID control loop feedback process in response to one or more input events; The PID control function block generates one or more output events based on the PID control loop feedback process. The one or more output events are received from the PID control function block via an event delay generator associated with the PID control function block, wherein the event delay generator is configured to generate an event request in response to receiving the one or more output events; The PID control function block receives event requests from the event delay generator; and Configure the PID control function block to execute the PID control loop feedback process in response to event requests.

10. The method according to claim 9, wherein, The event delay generator includes the E_DELAY function block.

11. The method of claim 9, further comprising: In response to receiving one or more output events from the PID control function block at the start input of the event delay generator, the event delay generator generates an event request after a predetermined delay.

12. The method according to claim 9, wherein, The PID control function block executes the PID control loop feedback process according to an event-driven execution model compatible with IEC 61499.

13. The method according to claim 9, wherein, The one or more input events to the PID control function block represent setpoints and process values, and the one or more output events of the PID control function block represent control actions, and also include using an adaptive threshold to drive the process values ​​toward the setpoint via a PID control loop feedback process.

14. The method of claim 13, further comprising defining the adaptive threshold as a range between an upper threshold and a lower threshold.

15. The method of claim 14, further comprising modifying the upper and lower thresholds as a function of a moving average of the error between the process value and the setpoint, and clamping the moving average to prevent the upper and lower thresholds from converging to equal the setpoint.

16. The method of claim 15 further includes freezing the adaptive threshold while the PID control function block is repeatedly executed until the error between the process value and the setpoint begins to decrease.

17. The method of claim 13, further comprising configuring the PID control function block to be executed repeatedly until the process value is within an adaptive threshold.

18. A method for event-based execution of a proportional-integral-derivative (PID) control application for controlling operations, the PID control application including at least one PID control function block, the method comprising: Configure the PID control function block to execute the PID control loop feedback process in response to the setpoint; One or more outputs are generated by the PID control function block based on the PID control loop feedback process; The adaptive threshold is defined as the range between the upper and lower thresholds. The upper and lower thresholds are modified as a function of the error between the process value and the setpoint; Using an adaptive threshold, the process value is driven toward the setpoint by feeding back the process output through the PID control loop. as well as Configure the PID control function block to execute repeatedly until the process value is within the adaptive threshold.

19. The method according to claim 18, wherein, The upper and lower thresholds are modified as a function of the moving average of the error between the process value and the setpoint, and a clamping moving average is also included to prevent the upper and lower thresholds from converging to equal the setpoint.

20. The method of claim 18 further includes freezing the adaptive threshold while the PID control function block is repeatedly executed until the error between the process value and the setpoint begins to decrease.