I'm trying to export a Co-simulation FMU (2.0) of a model with a block class with discrete variables and an algorithm section but it gives errors when compiling. I can't post the whole code of the block here because I'm not authorized by the company. But the block code is something like:
block model_name
Real real_var1;
Modelica.Blocks.Interfaces.RealInput array_input_var1[10];
Modelica.Blocks.Interfaces.RealOutput output_var1;
parameter Integer int_limit;
Boolean bool_var1;
Integer int_var1;
equation
real_var1 = array_input_var1[0];
algorithm
if array_input_var1[0] > 8.0 and int_var1 < int_limit then
int_var1:=int_var1+1;
elseif array_input_var1[0] <8.0 and int_var1 > 1 then
int_var1:=int_var1-1;
else
int_var1:=0;
end if;
if real_var1 > 5.0 and int_var1 >1 then
bool_var1 := true;
else
bool_var1 := false;
end if;
output_var1 := array_input_var1[1] + real_var1;
end model_name
The code above may not make too much sense but it is just to give an idea. The main problem is with the discrete variables. Also the block inputs and outputs are connected with other blocks. Its is part of a bigger model.
When I try to export I receive the following error:
[Absyn::0:0-0:0] Internal error: ClassifyEquations.buildContinuousSystem: Expected non-discrete-valued variables to be continuous-valued: bool_var1 (DAELowTypes.DISCRETE_TIME{ state = false; }))
Variable name changed to match the code example. and If I comment the boolean variable i have an error with the integer variable:
[Absyn::0:0-0:0] Internal error: SimCodegen.generateNonlinearSystemSingleAlgorithmResidual: Discrete-valued algorithm outputs not matched to algorithm: int_var1
Again variable name changed to match the code example. I also tried to put the discrete keyword before the boolean and integer variables, but it didn't help. Any ideas of what is causing this problem ?
System information:
Product version: 12.1.0.8
Client: Model Center
Client version: 12.1.0.30
Client creation date: 2020-03-02T13:38:32.855263
Client build revisions: S:2b715d78e, J:6a53ed2a2, L:41ddb1b72
Client build type: 64 bit
Kernel version: 12.1.0.34
Kernel creation date: 2020-03-02T13:39:13.038056
Kernel build revisions: S:2b715d78e, J:6a53ed2a2, L:41ddb1b72
Platform: Ubuntu 14.04.6 LTS