Timer to send a new message?

Hi all
I have a system with receiver and a triggered sender. When the receiver receives a new message it will trig the sender to send the next message.So if the message lost in their way to the receiver the system will hang forever.
I need a timer that wait the message for a specific period ( 1 sec ) , if no new message received the sender will triggered to send next message. of course this timer reset when receiver has a new message.
My receiver has a trigger out port that switches between 1 and -1

2 Comments

Oh! You should have mentioned simulink in your question.
I've no idea about simulink, I just know you can write a code and create a block from it.
Do your self a favor, add more details to your question and I'll remove my answer so that someone else find your question in unaswered section.
Good Luck!
ok sorry for not mention that i'm using simulink, thanks a lot

Sign in to comment.

 Accepted Answer

C.J. Harris
C.J. Harris on 5 Sep 2014
I would probably use a resettable integrator for this task. Feed the integrator a constant value of '1', that way it will act as a timer. If the timer reaches a defined value (1 sec) send a message (then reset the integrator). If you receive a message, send a new one, and just reset the integrator to zero and it will begin counting up again.
Of course - there is always the option of using Stateflow for such a task.

3 Comments

Can u please explain the part : " If the timer reaches a defined value (1 sec) ...." ?
does this mean i should use IF function block , because i use a Relational Operator block with '==' operator to compare the integrator output with a constant value (1 sec) but the output of the Relational Operator block is always false even if a message loss occur
You cannot compare a floating point number using the '==' operator, even if 1 is divisible by your time-step, it is still unlikely to trigger. Instead you should just check if the output from the integrator is equal or greater than '=>' 1.
Thank you C.J. Harris, it's work now

Sign in to comment.

More Answers (0)

Categories

Asked:

on 5 Sep 2014

Commented:

on 6 Sep 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!