msr-consulting / exscalabar_server

Repository for the EXSCALABAR server.
http://www.msrconsults.com/ukmet-gh/exscalabar
0 stars 1 forks source link

O3 Lamp Ctr task #133

Closed JustinLangridge closed 8 years ago

JustinLangridge commented 8 years ago

Have started looking at the O3 lamp power control task in MAX. Some questions:

lo-co commented 8 years ago

Signal is coming out of PFI12 where as we were expecting PFI8 of the 6225(1) card. Since you want the counter output I guess this can not be changed to PFI8?

Isn't this a PWM signal? If so, it needs to be a counter or we will have issues generating this signal.

The task is set up to fire out a single pulse. Where is the pulse firing and setup controlled from in the labview code?

Pulse? I am not following.

JustinLangridge commented 8 years ago

This output doesn't need to be PWM. I'll detail below exactly what we need to fire out to the ozone lamp - if you can make this come out of PFI8 (be it as a counter output or bog standard DO) that would be excellent.

Basically the ozone lamp drive electronics are configured to accept pulses. All that matters is the frequency of the pulses - the pulse width is irrelevant. Thus if we fire out 5 pulses a second, we'll fire the lamp 5 times a second, if we run at a 1kHz we'll fire the lamp 1000 times a second. All the electronics look for are the number of rising edges per second.

Could we do the following:

lo-co commented 8 years ago

A few kHz is tight for this. If you run on a non-counter output, the problem is that you rely on the system to keep up at whatever rate for your bit flipping. With a counter output, we can setup pulse trains that don't rely on the CPU. We can also do this with the FPGA.

JustinLangridge commented 8 years ago

Think we are going to be stuck with using output on PFI12 Matt as the hardware switch of the channels is not going to be possible. We can test the setup once code is in there

lo-co commented 8 years ago

We will do the best we can. I can't guarantee we can reach frequencies above 1k reliably. We shall see.

lo-co commented 8 years ago

Added new entry in CVT for calibrations: calibration.active has a boolean value. This is set to FALSE at startup.

lo-co commented 8 years ago

So, not quite sure the best way to implement this. We can do this software timed in a Timed Loop, but it is unclear to me whether this is the best way. I think that I am going to get in touch with someone at NI about this.

I added an Actor to the Calibration library called O3 Frequency Train Actor. This may not be necessary if we can just specify a waveform that is generated at a particular frequency.

lo-co commented 8 years ago

So, we are able to adjust the output on the O3 lamp counter DO. Did some testing with Justin yesterday and found that it may not be possible to achieve the rates necessary for adjusting the O3 output without a counter. Need to add the UI elements. The web service VIs for this are under Calibration:

JustinLangridge commented 8 years ago

Dave has played with the timed loop part of the code today - we can now get up to around 5kHz reliably. Thus the digital output for driving the lamp part of this issue is now looking good.

lo-co commented 8 years ago

OK...it looks like what he did was simply remove one of the notifiers (frequency notifier) and has a separate loop to pump the variable into a FP indicator. The main loop then tags the local variable. Amazing difference in the rates that loops can run at...

IF you are ok with this, I wan to close this issue and add the UI controls for this now.

JustinLangridge commented 8 years ago

Yes we can close this issue now. Will do that now.