Hello,
I am using PLECS Coder to generate embedded C code for a digital power converter controller (typical chain: ADC acquisition → Clarke/Park transforms → current controllers with decoupling/feedforward → inverse transform → duty cycle and PWM update). I want to understand how PLECS determines the execution order of blocks in the generated code inside a single control task.
In my schematic, there are multiple parallel paths (for example d axis and q axis control, feedforward paths, limiters, software protection and a final modulator).
My questions:
Is block execution order determined by the schematic layout (top block first, then bottom), or is it determined by signal dependency (directed acyclic graph scheduling based on upstream inputs)?
- If it is dependency based, what happens when there are:
- Multiple signals converging at a summation or selector, where different branches have different intermediate computations?
- How does the scheduler treat hierarchy?
- Does subsystem order matter?
- When multiple blocks are independent (no dependency), does PLECS apply a deterministic tie break rule (for example by block ID, creation order, or layout)?
- What is the recommended way to enforce a required computation sequence if needed?
I am asking because I want to guarantee a specific computation chain.
Thank you.


