(ongoing...)
Two modules may compute the same signal.
For example, suppose that both modules ana_signal4_vU0 and ana_signal4_redundant_vU0 compute ana_signal4 :
These modules are part of the assembly abl_training_vU11. If you request an auto assembly by pressing the AUTO button, result is :
As Simulink refuses two gotos with the same GotoTag, signal ana_signal4 can not be delivered.
As a result, signal ana_signal4 is missing for the module ana_signal3_vU0.
Then, as this signal can not be provided, a nul constant is connected instead.
To avoid this redundancy, remove (for example) module ana_signal4_redundant_vU0 from the assembly abl_training_vU11 and ask for a new auto assemble :
Indeed, there is no more redundant signal. But now, it appears an "invalid function-call connection". If the assembly is updated by Ctrl+D, the following Simulink error happens :
To avoid this problem, there two solutions :
either control the diagnostic in this case ("Model Configuration Parameters" Ctrl+E) by changing error to warning or none
or insert a unit delay to break the loop (see MathWorks documentation on "Diagnose on Simulation Errors")
The option insertUD (standing for "insert Unit Delay") aims to automatically handle this situations.
This is explained next step 2c.