How to execute multiple Vision template timers in a fixed sequence order?

Details

I'm developing a dynamic process in Ignition Vision. My process consists of several reusable templates connected together, for example:


Source
   ↓
Pipe
   ↓
Valve
   ↓
Pipe
   ↓
Distillation Column
   ↓
Distillate Pipe
   ↓
Valve
   ↓
Final Distillate Pipe

Bottom Pipe
   ↓
Valve
   ↓
Final Bottom Pipe

Each template (Source, Pipe, Valve, Column, etc.) has its own Timer component that performs calculations and updates outputs.

The issue is that each timer runs independently, so there is no guaranteed execution order. Sometimes downstream components (such as valves or pipes) execute before upstream components have updated their outputs, resulting in components using stale data.

I experimented with different Initial Delay values (for example Source = 0 ms, Pipe = 10 ms, Valve = 20 ms, etc.), but since Pipes and Valves are reused multiple times throughout the process, using the same template causes all instances to have the same timer settings unless I manually override every instance.

My questions are:

  1. Is there a recommended way in Ignition Vision to execute multiple template calculations in a deterministic sequence?
  2. Is using multiple Timer components considered good practice for process simulation?
  3. Would a single master timer that updates all templates sequentially be a better architecture?
  4. Has anyone implemented a scheduler or execution manager for Vision templates?

My goal is to have calculations execute in a fixed order, such as:


Source
→ Feed Pipe
→ Feed Valve
→ Column
→ Distillate Pipe
→ Distillate Valve
→ Final Distillate Pipe
→ Bottom Pipe
→ Bottom Valve
→ Final Bottom Pipe

so that each component always receives the latest values from the previous component.

Any recommendations or examples would be greatly appreciated.

No, sorry. And such process-specific tasks belong in the gateway, not in a Vision client.

What Phil said. Think too about what if someone opened up a second vision client, now you're in a world of hurt with these timers fighting each other from across clients.

Have your gateway run the sequence and write results to the tags that your template will read from and display, it can be that simple if no user input is required mid way through.

Running a series of steps in order is also literally the entire raison d'etre of the SFC module: