Which call order is correct ?
1. fmi2SetReal/Integer/Boolean/String
fmi2SetupExperiment
fmi2EnterInitializationMode
or
2. fmi2SetupExperiment
fmi2SetReal/Integer/Boolean/String
fmi2EnterInitializationMode
As per the standard:
"Before calling fmi2EnterInitializationMode function, all variables with attribute can be set with the “fmi2SetXXX” functions.fmi2SetupExperiment must be called at least once before calling fmi2EnterInitializationMode, in order that startTime is defined."
But the order is not specified.
Pseudo code in FMI standard has fmi2SetXXX followed by fmi2SetupExperiment
//communication step size
h = 0.01;
// set all variable start values (of "ScalarVariable / / start")
s1_fmi2SetReal/Integer/Boolean/String(s1, ...);
s2_fmi2SetReal/Integer/Boolean/String(s2, ...);
//Initialize slaves
s1_fmi2SetupExperiment(s1, fmi2False, 0.0, startTime, fmi2True, stopTime);
s2_fmi2SetupExperiment(s1, fmi2False, 0.0, startTime, fmi2True, stopTime);
s1_fmi2EnterInitializationMode(s1);
Which call order is correct and why ?
Thanks in advance.