3
votes

I want to control from matlab a modelica model implemented in Dymola. At each x-seconds, matlab reads the states values and it calculates the new parameters values of the model and calls dymola to simulate the model with these new parameters values.

I try to initialize the states using the final values of the previous simulation using importInitial(dsName="dsfinal"); and then simulating.

This works if I give the command straight in the simulation log but it doesn't work when I call it from matlab, eventhought exactly the same command appear in the dymola simulation log.

Could any one help?

Thx!

1

1 Answers

3
votes

The problem was due to the change of the parameters values. Using following code solved it:

1) use simulateModel() with all simulation parameters you want for the first simulation

2) use importInitial('dsfinal.txt') to import the final state values

3) use modelName.parameterName = newValue to change parameter value

4) use simulate() to simulate further with the same settings as first simulation.

See also: http://www.claytex.com/how-to-restart-a-simulation/