el 05-11-2011 02:00 AM
I am using a PCI 1426
Using trigger functions of the com COMPONENTS CWIMAQ and introducing a signal through the secondary port of this card EXT mode on channel 0, on occasions when doing this procedure, the card does not get all pulses
in visual basic
My question is there any function or any way to count how many pulses were received by the card?
el 05-11-2011 08:25 AM
Hi Arcangel,
I have been looking trough the specs of your PCI card, but this PCI does not have a counter.
We can count the amount of pulses via Hardware with a counter, this makes extremly fast the counting and then you just need to refresh that number in the computer.
However, because your board does not have a counter the only way to do it is to programatically develop a counter, yet it is not too reliable because it has software limitations.
Also, what can be happening is that your trigger rate is faster than the PCI can support or the width to short.
Another common issue is when you are working with your images in the same loop that the acquisition, this makes you loose some data. If you are incurring in this issue, you might be able to use the Producer Consumer architecture.
So, as a reminder, there is no way to count those pulses in hardware, but we need to find out why are you loosing those.
Timing | |
Number of Trigger Inputs | 4 |
Minimum Detectable Pulse Width | 10 us |
Maximum Trigger Rate | 100 kHz |
el 05-12-2011 08:44 AM
thank you very much for answering Luis Elias
ok then there is no way on occasion, the pulse is in this range and not detected
I have one more question that has to do with the previous question
Problems using CWIMAQ1.AcquireImage function ()
When I Use the following code, capture 5 images, use the Msgbox function (CWIMAQ1.FrameCount)
But The function displays only me Capture 4
it is this?
CWIMAQ1.AcquisitionType = NationalInstruments.CWIMAQControls.CWIMAQAcquisitionTypes.cwimaqAcquisitionOneShot
CWIMAQ1.Images.RemoveAll ()
CWIMAQ1.Images.Add (5)
CWIMAQ1.Signals.Item
(TriggerLine1 "). Initialize (LineType.SelectedIndex,
NationalInstruments.CWIMAQControls.CWIMAQSignalActions.cwimaqGeneratePulse,
NationalInstruments.CWIMAQControls.CWIMAQSignalPolarities.cwimaqActiveHigh,
LineNumber.SelectedIndex)
ImageNumber = 1
CWIMAQViewer1.Attach (CWIMAQ1.Images.Item (ImageNumber))
CurrentImage.Text = CStr (ImageNumber)
CWIMAQ1.FrameTimeout = tiempomax.Text
CWIMAQ1.AcquireImage ()
Msgbox (CWIMAQ1.FrameCount)
why am I asking these questions?
the setting of the reception of a pulse, to acquire an image sequence
through an external circuit as a comment before the secondary port aduisicion card PCI-426 and the pin 0 TTL
the problem we have is that
the
card receives the pulse to begin the acquisition, and look begins a
sequence of pulses from a laser, this sequence is set to the external
circuit,
but to get the pulse
there
is the problem that the first image is only half the frequency, the
frequency is 33micro seconds, but only get 15micro seconds in the first
box
this to that is?
And is there a way to keep the camera steady rate through the acquisition card
The camera model is CV-M2CL