trigger block in simulink

16 views (last 30 days)
Rahul kumar
Rahul kumar on 4 Sep 2012
I need to have a trigger block, which should trigger only one block at a time.
For example
I have 2 blocks A , B connected to the trigger block T, this triggering block T should trigger one of these A, B blocks at different instances. i.e trigger A at instant 0, A at instant 1, B at instant 2, A at instant 2 and so on.
which triggering block should i use?
And should i use any code to have this timed triggering
waiting fr ur valuable response
Thank you
  3 Comments
Rahul kumar
Rahul kumar on 5 Sep 2012
it should fire contiously.. as i am trying to convert a synchronous data flow graph into a synchronous block diagram..!
when A block is triggered should produce some tokens ( 2 for my model) when B block is triggered should consume some tokens ( 3 for my model)
Rahul kumar
Rahul kumar on 5 Sep 2012
Edited: Rahul kumar on 5 Sep 2012
So like this i need to form a producer-consumer model!! the trigger can be in any order.!
But preferably A,A,B,A,B because when A is fired twice (2+2 tokens produced), it is sufficient for B to get 3 tokens from double firing of A, then so on.

Sign in to comment.

Accepted Answer

TAB
TAB on 5 Sep 2012
Edited: TAB on 5 Sep 2012
[Edited]
Please see the model snapshot below:
  4 Comments
Rahul kumar
Rahul kumar on 5 Sep 2012
Yes the trigger sequence is as expected!! thank you,
And which block did you use for A, B is it triggered subsystem block?
TAB
TAB on 5 Sep 2012
Edited: TAB on 5 Sep 2012
Yes it is triggered subsystem with rising edge trigger type.
Initially at t=0, output of unit delay block will be 1 (Initial condition:1). So switch block will send the input-1 to the output which is equal to 1.
Afterward, output of switch block will come from input-3 connected to repeating sequence stair.
Repeating sequence stair will generate the sequence of 0 & 1 continuously.
So
Sample Time : 0 1 2 3 4 5 6 ....
Switch Blk Intput-1: 1 1 1 1 1 1 1 ....
Switch Blk Intput-2: 0 1 0 1 0 1 0 ....
Switch Blk output : 1 1 0 1 0 1 0 ....
NOT Blk output : 0 0 1 0 1 0 1 ....
Hope now it is clear.

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 4 Sep 2012
Edited: Azzi Abdelmalek on 4 Sep 2012
try this
  1. set all sample time block to ts
  2. set initial value of unit delay block to 1
  35 Comments
Rahul kumar
Rahul kumar on 10 Sep 2012
Any ideas azzi abdelmalek?

Sign in to comment.

Categories

Find more on Schedule Model Components in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!