Hello Jesus,
It's hard to know the exact problem without looking the model. But is seems that the result file is corrupted when simulating.
I have attached a few examples of how to use the delay operator. I also included an example on how to delay discrete variables and get more accurate timing. This method is much better when delaying for example triggering signals for thyristors.
model DelayExamples
Real x(start = 10);
Real fixedDelay,variableDelay;
Real y;
discrete Real z;
discrete Real discreteDelay,discreteDelay_future,discreteDelay_time;
parameter Real delay_z = 1;
equation
der(x) = -x;
y = if time < 3 then 0.5 else 1;
/*---Delaying continuous variables----*/
/* Fixed delay:
delay(exp,delayTime)
*/
fixedDelay = delay(x, 1);
/* Variable delay:
delay(exp,delayTime,maxDelay)
NOTE: variable delays require ti specify the maximum delay
*/
variableDelay = delay(x, y, 1);
/*---Delaying discrete variables---*/
/* This is equivalent to:
discreteDelay=delay(z,delay_z)
but it's more precise and do not miss the event
*/
when x < 0.5 then // at time 0.5 z changes
z = 1;
discreteDelay_future = 1; // sets the future value for the delayed variable
discreteDelay_time = time + delay_z; // sets the time at which the delayed variable has to change
end when;
when time > discreteDelay_time then
discreteDelay = discreteDelay_future; // when time reaches the time of change set the value
end when;
end DelayExamples;
Leonardo