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 个评论

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

请先登录,再进行评论。

 采纳的回答

C.J. Harris
C.J. Harris 2014-9-5

1 个投票

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 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Interactive Model Editing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by