Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Trigger each line speed limitation ?

Hello,
 
I am doing image acquisition with a line scan camera and a PCI-1426 acquisition board (LabView 7.1, Imaq 3.1.3 running on Windows XP Pro). The camera is a Dalsa Spyder2 with a 512 pixels array (max line rate of 65000 lines/sec)
 
I use the trigger each line mode for the camera with a fixed acquisition window height. I want each image to represents 1sec of acquisition, so, if I use a line rate of 10000 lines/sec, I will set the acquisition window height at 10000 lines.
 
It works well until around 14790 lines/sec (for a 14790 acquisition window height). Above that, it begins to take longer than one second to get one image. At worst, it take 2 seconds to get one image (for example at 50000 lines/sec for an image of 50000 lines). So, above 14790 lines/sec, it's like if some trigger pulses were skipped and at the end, 2 trigger pulses are needed to get 1 line. I use buffers to store all the images in RAM before saving them to disk, so the issue is not caused by a delay to write files on the hard disk.
 
Is there any timing limitation while using the Trigger each line mode, like a max trigger frequency, or am I missing some configurations to make my VI working well ?
 
Best regards,
 
David St-Arneault
 
 
0 Kudos
Message 1 of 6
(3,941 Views)
Hello,
 
please try the following:
- set the image high in MAX to 1000
- run your acquisition in free run mode in MAX (no trigger used)
- MAX returned acquired frames per second (right bellow corner)
How many images acquires MAX? Approximately 14 or 15 (14790 lines)?
- if so, try to reduce the shutter / exposure time and run the acquisition ones again.
 
If you could acquire all expected lines the camera gives out in free run, go back to your triggered acquisition.
 
Regards,
Steffen Hoog
Message 2 of 6
(3,926 Views)

Hi Steffen,

Thank you for your answer.

I've tried your test. The displayed frame rate was 65 (the max line rate of the camera :  65000 lines/sec).

So, I take a closer look at the triggered acquisition modes. In my case, only one seems to fit for what I want to do : Mode 5, External line rate and external pixel reset. But in MAX, the mode 5 ask to enter an integration time... that doesn't fit with the camera's documentation unless if LabView take the external pixel reset in charge. If it is the case, I was wondering if the camera file may be the cause of my problem. In the NI camera file compatibility report, it's said that the S2-1x-05H40 file was made from the S2-1x-02k40 file and I found that in the S2-1x-05H40 file, the max line rate was set to 18000 while the camera can support 65000 lines/sec (18000 stand for the S2-1x-02k40 camera). All other constants in the S2-1x-05H40 file were similar to the S2-1x-02k40 ones (including the values in the exposure mode configurations).

I assume that if the camera file control the pixel reset line the same way than if it was a S2-1x-02k40 camera, it is understandable that the timing will not be the same for 512pixels camera than for a 2048pixels one.

Also, the camera file doesn't explicitly support the PCI-1426 board (neither the camera file generator) and I was forced to modify it to use this board. Maybe there is also some differences in the board causing my problem... Since I have bought PCI-1426 boards on the NI recommendation, specifically to use this camera, I was thinking that the camera and the board were more directly supported and compatible...

Do you think I am on the good way to find a solution or am I looking to far ?

Regards,

David

 

0 Kudos
Message 3 of 6
(3,920 Views)

Hello David,

I am quite sure you are on the right way. I just take a look into the icd file and I think you are right. Use an editor to open the icd (\\National Instruments\NI-Imaq\Data) file and scroll to "Name (x)" (x = 1 - 6). Under every Name() you can find values like 18000 and 18500. 18000 means the line rate. Replace them by 65000. Replace 18500 by 65500 for example. This value is used to calculate delay and impulse width of the generated trigger signal for the camera. Working with 18500 makes the width to long for your camera. This means the camera does not get enough trigger signal to acquire 65000 triggered lines. May be you can use the camera file generator to do this, too.

Best regards,
Steffen

Message 4 of 6
(3,917 Views)

Thank you Steffen !

Effectively, those little corrections makes my VI working better and I can get all the images in the expected time until around 50000 lines/sec.

At 52500 lines/sec, the problem begin to be noticeable and at 55000lines/sec, it still takes twice the time to get an image.

If I increase the value to 78500 (instead of 65500) in the camera file, I can reach the maximum acquisition speed/image size  with my system (63500). I can't find information about the relationship between the control lines and the camera (Line (n) are for witch camera signal ?), but I'm sure that we can correlate the camera timing spec with the values needed to obtain proper line rate. If you have this information, it will be appreciated... so, I'll can tune the value to be sure to get the maximum of data depending of my line rate (exposure time VS line rate). Stop me if I'm wrong, but with the constant value 50000000 / n in the camera file, the exposure time is fixed whatever the line rate is effectively ?

Thank's again for your help,

David

 

 

0 Kudos
Message 5 of 6
(3,912 Views)
Hello David,
 
Yes, if you set the maximum line rate above the value possible for the camera, then your camera should run at it's maximum effective line rate.  From what you described, it sounds like the maximum effective line rate for your camera is 63500.  Try increasing the shutter speed on your camera.  That will also affect the maximum possible frame rate for your linescan camera.  This will ensure that each frame is completed in time.
 
Regards,
Scott R.
Applications Engineer,
National Instruments
Scott Romine
Course Development Engineer
National Instruments
0 Kudos
Message 6 of 6
(3,890 Views)