# US 2008/0189526 A1 · Dynamic modifier function blocks for use in a process control system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2008/0189526 A1
- Document ID: US20080189526A1
- Status: Published application
- Kind: A1
- Application number: 11/537,839
- Filed: 2006-10-02
- Published: 2008-08-07
- Earliest claimed: 2006-10-02
- Assignees: Fisher-Rosemount Systems, Inc.
- Inventors: Marina Sokolova; Marty James Lewis; Larry Oscar Jundt
- Web page: https://patentgrep.com/patent/US20080189526A1

## CPC

- G05B 19/056: {Programming the PLC}
- G05B 2219/13004: Programming the plc
- G05B 2219/13101: Function block instance, only one function block exists, several instances
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

Dynamic modifier function blocks for use in a process control system are disclosed. In accordance with one aspect, an example function block is stored on a machine readable medium for use in a process control system. The example function block includes a base function block that causes a machine to perform an algorithm associated with the process control system and at least one attribute located within the base function block that causes the machine to delete or instantiate at least one dynamic modifier function block.

## Claims

### Claim 1

A method of modifying an operation of a function block including a base function block adapted to instantiate or delete a dynamic modifier function block, the method comprising:
storing the function block in a memory of a machine; and
storing at least one modifiable attribute associated with the base function block in the memory, wherein the modifiable attribute can be set to a first value to cause the machine to instantiate a dynamic modifier function block in the memory or a second value to cause the machine to delete a dynamic modifier function block from the memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the function block function block is associated with a process control system that performs a process control routine using a multiplicity of communicatively coupled function blocks.

### Claim 3 (depends on 2)

The method of claim 2, wherein each of the multiplicity of communicatively coupled function blocks provides at least one output signal to one or more other ones of the multiplicity of communicatively coupled function blocks, and receives at least one input signal from one or more other ones of the multiplicity of communicatively coupled function blocks

### Claim 4 (depends on 1)

The method of claim 1, wherein the dynamic modifier function block comprises a series of machine readable instructions stored on a machine readable medium that, when executed, cause the machine to perform an algorithm associated with a process control system.

### Claim 5 (depends on 4)

The method of claim 4, wherein the algorithm is at least one of a control function, an auto-tuning function, or an interface function.

### Claim 6 (depends on 1)

The method of claim 1, wherein instantiating the dynamic modifier function block comprises scheduling the machine to execute a set of machine readable instructions associated with the dynamic modifier block before or after executing a set of machine readable instructions associated with the base function block.

### Claim 7 (depends on 1)

The method of claim 1, wherein the modifiable attribute can be set to a third value to cause the machine to perform an algorithm associated with the base function block.

### Claim 8 (depends on 1)

The method of claim 1, wherein the machine comprises a processor located in a field device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the machine is to perform a write check function to identify the value of the modifiable attribute.

### Claim 10 (depends on 1)

The method of claim 1, wherein the modifiable attribute can be set to the first value or the second value after the base function block has been compiled and stored in the memory.

### Claim 11 (depends on 1)

The method of claim 1 further comprising setting the modifiable attribute to a third value by the machine after the machine deletes the dynamic modifier function block from memory or instantiates the dynamic modifier function block in the memory, wherein the third value causes the machine to perform an algorithm associated with a process control system.

### Claim 12 (depends on 1)

The method of claim 1 further comprising changing the modifiable attribute from the first value to the second value when the base function block is operating within a process control routine to alter the process control routine.

### Claim 13 (depends on 1)

The method of claim 1, wherein storing the function block in the memory comprises instantiating a dynamic modifier function block.

### Claim 14 (depends on 13)

The method of claim 13, wherein instantiating the dynamic modifier function block comprises scheduling the machine to execute a series of machine readable instructions associated with the dynamic modifier block before or after a series of machine readable instructions associated with the base function block.

### Claim 15

A function block stored on a machine readable medium for use in a process control system comprising:
a base function block having a first series of machine readable instructions stored on the machine readable medium that, when executed, cause a machine to perform an algorithm associated with the process control system; and
at least one attribute located within the first series of machine readable instructions, wherein the attribute causes the machine to perform at least one of deleting or instantiating at least one dynamic modifier function block.

### Claim 16 (depends on 15)

The function block of claim 15, wherein the dynamic modifier function block comprises a second series of machine readable instructions stored on the machine readable medium that, when executed, cause the machine to perform a second algorithm associated with the process control system.

### Claim 17 (depends on 16)

The function block of claim 16, wherein the second algorithm is at least one of a control function, an auto-tuning function, or an interface function.

### Claim 18 (depends on 15)

The function block of claim 15, wherein the process control system performs a process control routine using a multiplicity of communicatively interconnected function blocks.

### Claim 19 (depends on 18)

The function block of claim 18, wherein each of the multiplicity of communicatively interconnected function blocks provides at least one output signal to one or more other ones of the multiplicity of communicatively interconnected function blocks, and receives at least one input signal from one or more other ones of the multiplicity of communicatively interconnected function blocks

### Claim 20 (depends on 15)

The function block of claim 15 further comprising an interface to pass data between the base function block and the at least one dynamic modifier function block.

### Claim 21 (depends on 20)

The function block of claim 20, wherein the interface comprises a registered callback function to write data values to the base function block.

### Claim 22 (depends on 20)

The function block of claim 20, wherein the interface comprises data values to be read by the at least one dynamic modifier function block.

### Claim 23 (depends on 20)

The function block of claim 20, wherein the interface includes memory address values associated with data values to be read by the at least one dynamic modifier function block.

### Claim 24 (depends on 15)

The function block of claim 15, wherein the attribute further causes the machine to perform the algorithm associated with the process control system without instantiating or deleting the dynamic modifier function block.

### Claim 25 (depends on 15)

The function block of claim 15, wherein the at least one attribute is modifiable after the base function block has been compiled and stored in a machine readable memory associated with the machine.

### Claim 26 (depends on 15)

The function block of claim 15, wherein the machine comprises a processor located in a field device having memory to store the machine readable instructions.

### Claim 27 (depends on 15)

The function block of claim 15, wherein the function block includes machine readable instruction that, when executed, cause the machine to perform a write check function to identify the value of the at least one attribute.

### Claim 28 (depends on 15)

The function block of claim 15, wherein the function block includes machine readable instruction that, when executed, cause the machine to modify keys associated with respective attributes of the at least one dynamic modifier function block after deleting or instantiating the at least one dynamic modifier function block.

### Claim 29 (depends on 28)

The function block of claim 28, wherein the respective ones of the keys comprise at least a portion of at least one of an index value or a memory address.

### Claim 30 (depends on 28)

The function block of claim 28, wherein the keys comprise respective values to be checked by a client associated with the process control system before reading the respective attributes of the dynamic modifier function block.

### Claim 31

A dynamic modifier function block of a function block adapted to perform a set machine readable instructions that, when executed, cause a machine to modify a base function block of the function block within a process control routine, wherein the dynamic modifier function block is to be instantiated or deleted based on at least one attribute of the base function block.

### Claim 32 (depends on 31)

The dynamic modifier function block of claim 31, wherein the set of machine readable instructions comprises at least one of a control function, an auto-tuning function, or an interface function.

### Claim 33 (depends on 31)

The dynamic modifier function block of claim 31, wherein the function block further comprises an interface to pass data between the base function block and the dynamic modifier function block.

### Claim 34 (depends on 33)

The dynamic modifier function block of claim 33, wherein the interface comprises a registered callback function to write data values to the base function block.

### Claim 35 (depends on 33)

The dynamic modifier function block of claim 33, wherein the interface comprises data values to be read by the dynamic modifier function block.

### Claim 36 (depends on 33)

The dynamic modifier function block of claim 33, wherein the interface includes memory address values associated with data values to be read by the dynamic modifier function block.

### Claim 37 (depends on 31)

The dynamic modifier function block of claim 31, wherein the attribute is modifiable after the base function block has been compiled and stored in a machine readable memory associated with the machine.

### Claim 38 (depends on 31)

The dynamic modifier function block of claim 31, wherein the machine comprises a processor located in a field device having memory to store the machine readable instructions.
