MATLAB Answers


Problem when two Simulink models are combined.

Asked by kamal kiki on 18 Jul 2019
Latest activity Commented on by kamal kiki on 23 Jul 2019
Hi everyone,
I developped in MATLAB 2019a version, separately, two Simulink models.
They work perfectly when they are run separately.
The simulation using one of the models is very fast and the simulation using the other model is very slow but both simulations run perfectely during the simulation time which is the same for the two models.
Both of the models are configured to run with an Automatic solver selection of a solver of the Fixed-step type and a fixed step size set to Auto.
The problems start when I copy one of the models into the other model and try to run the obtained combined model: Even without connecting the inputs and the outputs of the two models the simulation is failing: it runs for a fraction of a second and then stops with the error:
An error occurred while running the simulation and the simulation was terminated
Caused by:
During one of the attempts to solve the problem I have used the Rate transition block to connects the inputs and the outputs of the two models but it did not solve the problem.
Please, can anyone help with this problem???
Every little hint is welcome.
Thank you very much in advance.


Sign in to comment.

1 Answer

Answer by Fangjun Jiang
on 18 Jul 2019

In the two separate models, can you run simulation and log the time? Take a look at the resulting fixed-step size. Do the same for the combined model. That might give a clue.
Some times a bigger-than-appropriate step size could cause the simulation unstable (causing nan). Knowing the step size for all above three scenerio, you could duplicate the error in one of the separate modles by specifying the step size. Then you can take a look at the response and figure out a way.


Hi Fangjun Jiang,
Thank you a lot for your reply.
The sample times 0.001s and 21s are just the sample times used automatically by Simulink when each model is run separately.
I knew these 2 values of the sample times of each model only by logging some of the signals in each model.
But in terms of the blocks used inside each model, I have too many many blocks and their sample times are set to different values: For example in the slow model, some blocks have the sample time -1 (inherited), some blocks have the sample time 0.001s.
The point is that now the two subsystems are triggered by functioncall generators (one at 0.001s and the other at 21s), then there shouldn't be any other sample times inside the two subsystems (other than inf or -1).
Hi Fangjun Jiang,
Okay, I will try to check all the blocks of the models.
If each model can work separately with the new setting of the sample times of all its blocks, then I will try again your plan with the function-call triggered subsystems.
I will let you know about the outcome, I just need time to check all the sample times of all the blocks in the 2 models.
Many thanks for your continuous support.

Sign in to comment.