|
|
|
|
// CP: 65001
|
|
|
|
|
// SimulationX Version: 3.8.2.45319 x64
|
|
|
|
|
within AIDAModelica;
|
|
|
|
|
model Cosim_Sim_m
|
|
|
|
|
parameter Modelica.SIunits.Time Cosim_step(start=0.02);
|
|
|
|
|
parameter Boolean Cosim_activ=false;
|
|
|
|
|
parameter Integer N=1;
|
|
|
|
|
Modelica.Blocks.Discrete.ZeroOrderHold zeroOrderHold1[N](samplePeriod=Cosim_step) annotation(Placement(transformation(extent={{-10,-10},{10,10}})));
|
|
|
|
|
Modelica.Blocks.Logical.Switch logicalSwitch1[N] annotation(Placement(transformation(extent={{-10,-10},{10,10}})));
|
|
|
|
|
Modelica.Blocks.Interfaces.RealInput u[N] annotation(Placement(
|
|
|
|
|
transformation(
|
|
|
|
|
origin={-74,8},
|
|
|
|
|
extent={{-20,-20},{20,20}}),
|
|
|
|
|
iconTransformation(
|
|
|
|
|
origin={-74,8},
|
|
|
|
|
extent={{-20,-20},{20,20}})));
|
|
|
|
|
Modelica.Blocks.Interfaces.RealOutput[N] y annotation(Placement(
|
|
|
|
|
transformation(
|
|
|
|
|
origin={78,6},
|
|
|
|
|
extent={{-10,-10},{10,10}}),
|
|
|
|
|
iconTransformation(
|
|
|
|
|
origin={85,13},
|
|
|
|
|
extent={{-17,-17},{17,17}})));
|
|
|
|
|
equation
|
|
|
|
|
for i in 1:N loop
|
|
|
|
|
connect(u[i], zeroOrderHold1[i].u) ;
|
|
|
|
|
logicalSwitch1[i].u2 = Cosim_activ;
|
|
|
|
|
connect(zeroOrderHold1[i].y, logicalSwitch1[i].u1) ;
|
|
|
|
|
connect(u[i], logicalSwitch1[i].u3) ;
|
|
|
|
|
connect(logicalSwitch1[i].y, y[i]) ;
|
|
|
|
|
end for;
|
|
|
|
|
annotation(
|
|
|
|
|
Icon(graphics={
|
|
|
|
|
Text(
|
|
|
|
|
textString="Discretisation par zero hold",
|
|
|
|
|
fillPattern=FillPattern.None,
|
|
|
|
|
extent={{-30,10},{90,-30}},
|
|
|
|
|
origin={-32,44}),
|
|
|
|
|
Line(
|
|
|
|
|
points={{-72,-28},{-54,-28},{-54,-6},{-34,-6},{-34,16},{-12,
|
|
|
|
|
16},{-12,-6},{12,-6},{12,-16},{32,-16},{32,28},{52,
|
|
|
|
|
28},{52,16},{72,16},{72,-2}},
|
|
|
|
|
origin={-2,-30}),
|
|
|
|
|
Text(
|
|
|
|
|
textString="Cosim port model",
|
|
|
|
|
fillPattern=FillPattern.None,
|
|
|
|
|
extent={{-23,8},{87,-28}},
|
|
|
|
|
origin={-35,80})}),
|
|
|
|
|
experiment(
|
|
|
|
|
StopTime=1,
|
|
|
|
|
StartTime=0,
|
|
|
|
|
Interval=0.002,
|
|
|
|
|
MaxInterval="0.001"));
|
|
|
|
|
end Cosim_Sim_m;
|