Batch Execution Engine with Just-in-Time Recipe Instantiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex batch processing systems face inefficiencies due to the loading of all procedural elements at creation time, leading to high resource usage and potential inconsistencies between higher-level and lower-level controllers, which can result in lost production time and product loss.

Innovation Solution

Implementing a 'just-in-time' loading and execution of procedural elements using instantiation objects, where elements are loaded only when needed during runtime and deconstructed after use, and providing options to manage inconsistencies between higher-level and lower-level controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all procedural elements are loaded at creation time, then the system has all necessary elements available for execution, but memory usage and processor usage increase significantly

Engineering Contradiction:
Improveavailability of procedural elementsVSAvoidprocessor usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-compiling and validating the control recipe structure at creation time, but delays the instantiation and loading of actual procedural elements until they are needed during execution. This allows the system to prepare the execution plan in advance while avoiding the resource cost of loading all elements simultaneously.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically loads procedural elements based on runtime conditions and execution needs rather than statically loading all elements at creation time. The batch execution engine selectively instantiates procedural elements as they become necessary, allowing the system to adapt its resource usage to actual execution requirements.

Inventive Principle:
Principle #15Dynamics

2Speed

If all procedural elements are loaded at creation time, then execution can proceed without loading delays, but memory usage increases

Engineering Contradiction:
Improveexecution speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system performs preliminary compilation and validation of the control recipe structure to enable fast execution, but delays the actual loading of procedural elements until needed. This preliminary preparation ensures that when elements are loaded, they can be executed immediately without interpretation overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the loading process into distinct phases: structure compilation at creation time, and selective element instantiation during execution. This segmentation allows the system to separate the overhead of preparation from the resource-intensive act of loading, improving both speed and memory efficiency.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If multiple controllers are used in batch processing, then complex processes can be managed, but inconsistencies between higher-level and lower-level controllers can occur

Engineering Contradiction:
Improveability to manage complex processesVSAvoidconsistency between controllers
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the batch execution engine continuously monitors and coordinates between higher-level and lower-level controllers. When inconsistencies are detected, the system can pause execution, notify operators, and resolve conflicts before they affect product quality or process integrity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The batch execution engine serves as an intermediary layer between higher-level batch management and lower-level process controllers. It translates and coordinates commands between levels, ensuring consistency and providing a buffer that prevents direct conflicts between controllers with different perspectives on process state.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If inconsistencies are detected during batch execution, then process safety can be maintained, but production time is lost due to pausing

Engineering Contradiction:
Improveprocess safetyVSAvoidproduction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial validation and monitoring actions at different stages, pausing only when necessary to resolve critical inconsistencies. Not all inconsistencies require immediate intervention - the system selectively pauses based on the severity and type of inconsistency detected, minimizing production interruptions while maintaining safety.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary consistency checks and validations during recipe compilation and before batch start-up. By detecting and resolving potential inconsistencies before execution begins, the system prevents many issues from occurring during production, thereby avoiding pauses and maintaining continuous operation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP3809219B1Methods and systems for batch processing and execution in a process system
Publication Date: 2022.04.20 FISHER ROSEMOUNT SYST INC
  • EP3809219B1 patent drawingFigure 1
  • EP3809219B1 patent drawingFigure 2
  • EP3809219B1 patent drawingFigure 3

AI summary

The present invention discloses a system for implementing a control recipe for a batch process in a process control system, wherein the control recipe comprises a control recipe structure and execution of the control recipe comprises execution of a plurality of procedural elements, the system comprising: a process controller having a first model of an entity of the process control system; a plurality of instantiation objects, wherein each procedural element of the control recipe is associated with one of the instantiation objects; and a batch process execution engine having a second model of the entity of the process control system, wherein the batch process execution engine is adapted to provide a control instruction to the process controller based on the second model of the entity, and wherein the process controller is adapted to execute the control instruction based on the first model of the entity; a batch process execution object that loads the control process structure into the batch process execution engine, loads each of the plurality of instantiation objects into the batch process execution engine when the control process is instantiated, uses each instantiation object to instantiate a procedural element associated with the instantiation object as the control recipe structure calls for the procedural element during execution of the control recipe, executes the instantiated procedural element as part of the control recipe, that detects a difference between the first and second models of the entity during execution of the instantiated procedural element in the control recipe and generates a prompt in response detection of the difference, receives an operation instruction regarding continued operation of the batch process, wherein the operation instruction comprises one of continuing execution of the batch process or aborting execution of the control process, uses the instantiation object to deconstruct the instantiated procedural element as execution of the procedural element is completed during execution of the control recipe if the operation instruction comprises a continue execution instruction, and aborts execution of the batch process if the operation instruction comprises an abort execution instruction.