Problem when two Simulink models are combined.
显示 更早的评论
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:
- Error in 'Final_container_ships_towing/FT_y/Interpreted MATLAB Function1'. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix outputs are supported
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.
回答(1 个)
Fangjun Jiang
2019-7-18
0 个投票
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.
8 个评论
kamal kiki
2019-7-19
Fangjun Jiang
2019-7-19
Use function-call triggered subsystem to wrap these two subsystems and put them together. Use function-call generator to specify the rate as 0.001 and 20 second.
kamal kiki
2019-7-23
Fangjun Jiang
2019-7-23
That means that you need to make some changes inside the function-call triggered subsystems. You can't specify any sample time other than inf (for constant) and -1 (for inherited).
Sample time of 0 means continuous. I thought your original model runs at a fixed step size. You need to discretize that "Derivative" (with sample time as 0) block.
kamal kiki
2019-7-23
Fangjun Jiang
2019-7-23
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).
kamal kiki
2019-7-23
mayaka moses
2020-7-17
Hi, did you get hepl on this? I need your assistance.
类别
在 帮助中心 和 File Exchange 中查找有关 Modeling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
