Timer to send a new message?
조회 수: 3 (최근 30일)
이전 댓글 표시
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
Salaheddin Hosseinzadeh
2014년 9월 5일
편집: Salaheddin Hosseinzadeh
2014년 9월 5일
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!
채택된 답변
C.J. Harris
2014년 9월 5일
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
C.J. Harris
2014년 9월 5일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Simulink Functions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!