Announcement

REXYGEN forum has been moved. This one is closed.
Head over to the new REXYGEN Community Forum at https://forum.rexygen.com.

Looking forward to meeting you there!
 

#1 2016-05-25 13:34:26

ad_t
Member
Registered: 2016-05-09
Posts: 52

BIS

I am struggling to understand how to configure the BIS block. I have read through the documentation for the block and have tried to configure it based on my understanding of the documentation, but cannot get the output I am looking for. I would like to generate a 1s pulse every 10s, and separately a 2s pulse every 7s.

Am I trying to do something that this block is not designed for?

Is there any other documentation that I can look at to try and understand how it works; for example is the block based on something from somewhere else?

Is anyone able to explain how I can configure it to get the outputs I am looking for?

Thanks,

Adam

Offline

#2 2016-05-25 16:16:03

ad_t
Member
Registered: 2016-05-09
Posts: 52

Re: BIS

So I worked out how to do what I needed to do by using the IMOD block instead. Some more information and detail on how to use the BIS block would still certainly be appreciated though.

Cheers,

Adam

Last edited by ad_t (2016-05-25 17:05:00)

Offline

#3 2016-05-25 19:27:54

jaroslav_sobota
Administrator
Registered: 2015-10-27
Posts: 535

Re: BIS

Dear Adam,
thanks for the question.
For 1 second pulse every 10 seconds use BIS with the following parameters: Y0=on, t1=1, t2=10, t3=0, RPT=on
For 2 second pulse every 7 seconds use BIS with the following parameters: Y0=on, t1=2, t2=7, t3=0, RPT=on
For combining the two, use the OR function block:
mini_bis_pulses.png

This is what you should obtain:
mini_bis_pulses_trnd.png

Hope I got your question right.

Jaroslav

Offline

#4 2016-05-26 11:44:14

ad_t
Member
Registered: 2016-05-09
Posts: 52

Re: BIS

Hi Jaroslav,

Thank you once again, I now think I understand but just to make it totally clear in my head and possibly others:

t1,t2,t3 etc are each switching points (either on or off, alternating for each one). The parameter is the length of time for that switching period. The sequence either repeats or ends (based on the repeat parameter) when the following switching period parameter is less that the previous. Does this sound correct?

A few related questions and points I have are:

I am presuming parameters t4-t8 are all 0 in your example?

I am also presuming the parameter does not relates to the tick of that task, or does it; i.e. if the t1 parameter is 2, and the tick of the task is 1 execution per second, the t1 switching period lasts 2 seconds?

I think the explanation in the documentation for the BIS block could do with a little bit of improvement, maybe a bit more clarification and the example you have put in your post above.

I also don't think the example in the blink tutorial really explains how the BIS block works very clearly. Assuming my understanding above is correct, to give a blink at 5hz (which I would understand as 5 blinks per second, with 5 equal length none blinks in-between), assuming the BIS timing is independent of the task tick, y0 =on t1=0.1 t2=0.1 t3-t8=0 would give a 5hz blink, and would be clearer to me what is happening.

Thanks again for your help,

Adam

Offline

#5 2016-05-27 16:30:02

jaroslav_sobota
Administrator
Registered: 2015-10-27
Posts: 535

Re: BIS

ad_t wrote:

t1,t2,t3 etc are each switching points (either on or off, alternating for each one). The parameter is the length of time for that switching period. The sequence either repeats or ends (based on the repeat parameter) when the following switching period parameter is less that the previous. Does this sound correct?

Assuming my understanding above is correct, to give a blink at 5hz (which I would understand as 5 blinks per second, with 5 equal length none blinks in-between), assuming the BIS timing is independent of the task tick, y0 =on t1=0.1 t2=0.1 t3-t8=0 would give a 5hz blink, and would be clearer to me what is happening.

Not exactly. All the parameters are in seconds and they are relative to the start (let's say t0) when Y0 is applied. Now when the elapsed time since t0 is equal to t1, the output is switched. When it is equal to t2, it is switched again, etc. So for a 5 Hz blink you should set Y0=on, t1=0.1, t2=0.2, t3=0, RPT=on. Because t3<t2, the sequence ends at t2. The remaining parameters t4..t8 are ignored. And because RPT=on, at t2 a new t0 is set, Y0 is applied and the sequence is generated again.

I think the explanation in the documentation for the BIS block could do with a little bit of improvement, maybe a bit more clarification and the example you have put in your post above.

You are absolutely right. I'll improve that.

Hope it's more clear now. If not, I'll be happy to help.

Jaroslav

Offline

#6 2016-06-02 15:46:13

ad_t
Member
Registered: 2016-05-09
Posts: 52

Re: BIS

Thank you Jaroslav, very clear now.

Cheers,

Adam

Offline

#7 2016-06-02 17:51:11

jaroslav_sobota
Administrator
Registered: 2015-10-27
Posts: 535

Re: BIS

Glad I could help!

Jaroslav

Offline

Board footer

Powered by FluxBB