Function block execution framework
First Claim
1. A function block execution framework comprising:
- a processor having a memory, the processor including;
a function block engine;
a function block library having function blocks, the function blocks configured to be selected by the function block engine and interconnected to form a control logic, the function blocks each having a minimum required time between successive periodic executions to maintain an active functionality of the respective function block; and
a schedule mechanism connected to the function block engine; and
whereinthe function blocks are categorized into one or more subsections according to their respective minimum required time between successive periodic executions;
wherein the schedule mechanism comprises a list of the function blocks and a maximum amount of time under which each function block can continually operate between two adjacent sequential execution of a respective function block and provides to each function block in the control logic an execution time that is a periodic execution at the maximum time between successive executions of the respective function block that is less than the minimum time required to maintain an active functionality of the respective function block such that each subsection of a period may be called once every period multiple times based on a period table ordering;
wherein the execution times of the function blocks are indicated by a plurality of time slots from the schedule mechanism;
wherein each time slot comprises a base time that is a smallest execution time of the execution times of the function blocks; and
wherein the plurality of time slots are in series in that a first slot has a duration equal to a base time, a second slot has a duration equal to the base time, which begins at an end of the duration of the first slot, a third slot has a duration equal to the base time, which starts at an end of the duration of the second slot, and an nth slot has a duration equal to the base time, which starts at an end of a duration of an (n−
1)th slot;
N represents a total number of slots; and
n represents a number of a slot from 1 to N.
1 Assignment
0 Petitions
Accused Products
Abstract
A system having a function block execution framework. Function blocks may be for use in a control system design. These blocks may be selected from a library of a function block engine. Selected function blocks may be executed for operational purposes. They may be continuously executed by a processor to maintain operational status. However, since a function block engine and a resulting system of function blocks may be operated with battery power, executions of function blocks may be reduced by scheduling the executions of function blocks to times only when they are needed. That means that the processor would not necessarily have to operate continuously to maintain continual execution of the function blocks and thus could significantly reduce consumption of battery power.
45 Citations
14 Claims
-
1. A function block execution framework comprising:
-
a processor having a memory, the processor including; a function block engine; a function block library having function blocks, the function blocks configured to be selected by the function block engine and interconnected to form a control logic, the function blocks each having a minimum required time between successive periodic executions to maintain an active functionality of the respective function block; and a schedule mechanism connected to the function block engine; and wherein the function blocks are categorized into one or more subsections according to their respective minimum required time between successive periodic executions; wherein the schedule mechanism comprises a list of the function blocks and a maximum amount of time under which each function block can continually operate between two adjacent sequential execution of a respective function block and provides to each function block in the control logic an execution time that is a periodic execution at the maximum time between successive executions of the respective function block that is less than the minimum time required to maintain an active functionality of the respective function block such that each subsection of a period may be called once every period multiple times based on a period table ordering; wherein the execution times of the function blocks are indicated by a plurality of time slots from the schedule mechanism; wherein each time slot comprises a base time that is a smallest execution time of the execution times of the function blocks; and wherein the plurality of time slots are in series in that a first slot has a duration equal to a base time, a second slot has a duration equal to the base time, which begins at an end of the duration of the first slot, a third slot has a duration equal to the base time, which starts at an end of the duration of the second slot, and an nth slot has a duration equal to the base time, which starts at an end of a duration of an (n−
1)th slot;N represents a total number of slots; and n represents a number of a slot from 1 to N. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for executing function blocks, comprising:
providing a processor having a memory, the processor capable of; receiving a baseline from an operating system including a base rate and a multiplier; executing the baseline with a function block engine; selecting a set of function blocks needed by the function block engine from a library, the function blocks each having a minimum required time between successive periodic executions to maintain an active functionality of the respective function block; determining subsets of function blocks from the set of function blocks according to the execution times corresponding to the minimum time between successive periodic executions of the respective function block and a multiplier; executing the subsets of function blocks in a repeating sequential order; and waiting for another baseline if the function block engine is not executing a baseline; and wherein; an execution time is a maximum duration that a function block can sustain an active status before needing another execution; a subset comprises function blocks that have execution times within a range of maximum durations of time; the subset of function blocks has executions periodically repeated of the function blocks within the range of maximum durations of time of the subset so the function blocks of that subset can sustain an active status; each subset of function blocks to be executed is determined by a subset schedule connected to the set of function blocks; the subset schedule comprises N time slots corresponding to N subsets; n is a time slot from a 1st time slot through an Nth time slot; the baseline is a duration of A; a first time slot comprises a duration of A; an nth time slot comprises a duration of nA; and the subset of function blocks have executions periodically repeated within the range of the maximum durations of time of the subset so that the function blocks sustain an active status as needed. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
13. A function block periodic execution framework comprising:
a processor having a memory, the processor including; a function block engine; a table of function blocks connected to the function block engine; a sub-loop table including a base rate multiplier, a subsection number, a beginning block number, and an end block number; and a schedule menu mechanism connected to the table of function blocks; and wherein; the function blocks in the table are selected by the function block engine from a library of function blocks and interconnected to form a control logic; and the schedule menu mechanism comprises a list of the function blocks from the table of function blocks and a maximum amount of time under which that each function block can continually operate between two adjacent sequential executions of a respective function block; and wherein schedule menu mechanism categorizes the list of function blocks into subsections of function blocks according to ranges of the maximum amount of time that each function block can continually operate between two adjacent sequential executions and the schedule mechanism schedules the execution of the subsections of function blocks such that a periodic execution is achieved to maintain active functionality of the function blocks; and wherein the processor is configured to access the sub-loop table to determine which function blocks need to be executed based on a time counter. - View Dependent Claims (14)
Specification