Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

IMAQdx application: error on AVT Prosilica Timestamp

Solved!
Go to solution

Hello,

 

I'm using IMAQdx drivers to control a camera called "AlliedVisionTechnology Prosilica GE 680 C", with LabVIEW2015 64bits. I've used many NI examples to build my application, which is mainly OK. But I still have a problem with timestamps.

 

- I've followed instructions of this link to get timestamp: http://digital.ni.com/public.nsf/allkb/D0488009D5AC87CF862579BA007B5F9B

- I get the TimeStampFrequency, which is about 80MHz (79 861 111 Hz)

- With the AVT document, I'm sure that my camera can give its own timestamp: http://www.stemmer-imaging.co.uk/media/uploads/docmanager/69115-AVT_Prosilica_Image_Timestamp.pdf

"This timestamp is assigned at the start of the exposure for the corresponding frame"

- I've set "ReceiveTimeStampMode" to None, TickCount, and SystemTime. When I set it to none, I don't have any timestamp (normal), and I can see a clear difference in data when I set to TickCount or SystemTime (so this setting "works"). It's set to TickCount.

 

Here is my problem: With an "IMAQdx sequence", I get several images of my watch for 30 seconds, 200 fps. Images are OK regarding to frameRate and total time. But when I check timestamps, there's some error. To get coherent data, I have to divide my timestamps (U64) by about 2.2Mhz (experimentally determined), instead of 80Mhz of "TimeStampFrequency".

 

I've searched on the internet and I've contacted AVT support (support is proposed by a third company). They just told me it was not possible with LabVIEW to get these Timestamps, but to be honnest I don't really trust them...

 

If someone has an idea to help me, it will be really appreciated !

 

Regards, Julien

 

0 Kudos
Message 1 of 6
(4,681 Views)

It sounds like you are querying the system timestamp in the images rather than the camera's timestamp. Both are present in the custom data associated with each image.

0 Kudos
Message 2 of 6
(4,667 Views)

I tried to select "TickCount" and "SystemTime" for the attribute "Receive TimeStamp  Mode". For the same frameRate (200fps), I had these TimeStamps (this behavior is reproductible):

 

[Tick Count]

9622743486
9622754503
9622767015
9622778310
9622790662
9622801785

...

If I calculate the difference between each image, I get a (mean) result of 11686

 

[SystemTime]

35281735721531651
35281735721581651
35281735721631651
35281735721681651
35281735721741651
35281735721781651
35281735721831651

...

If I calculate the difference between each image, I get a (mean) result of 50000

 

So I think I have access to different timestamps, but I don't really know from where they come...

 

You say that system timestamp and camera's timestamp are both associated with each image. But how do you access these 2 different timestamps ?

When I get a custom keys list (with IMAQ Get Custom Keys.vi), I get only:

- IMAQdxLostPackets

- IMAQdxReceiveTimestampHigh

- IMAQdxReceiveTimestampLow

 

0 Kudos
Message 3 of 6
(4,650 Views)
Solution
Accepted by topic author julienAu

Hi,

 

You're looking for "IMAQdxTimestampLow/High" for the actual timestamps from the camera.

 

I dug into this a bit and it looks like there was a bug introduced in the recent version of IMAQdx that broke these timestamps for GigE Vision cameras on Windows when _not_ using the high performance driver. This issue is tracked in internal CAR #552283. This should hopefully get fixed quickly.

 

For workarounds, you could try several things:

- Downgrade to a 2014 version of IMAQdx

- Use a compatible Intel network card and install the NI High Performance Driver

- If the camera supports sending the timestamps as Chunk Data, enable this feature and it will show up as meta data under a different name

 

Eric

 

Message 4 of 6
(4,632 Views)

Hi Eric,

 

thanks a lot for your help. Now it works !!

 

- I've tried to downgrade to LabVIEW2014, but it didn't change anything

- I've tried to manipulate all camera's attributes, when these attributes were about ChunkData. I didn't notice any change

 

But when I've selected the NI High Performance Driver for my network card, the problem was solved. I used this link:

http://digital.ni.com/public.nsf/allkb/2110361E0B829A7E8625762400783CA0

 

Now, when I get a list of keys from an image ("IMAQ Get Custom Keys VI"), I get 2 additionnal keys:

- IMAQdxTimestampHigh

- IMAQdxTimestampLow

 

These keys give the timestamp from the camera. When I divide it by the TimeStampFrequency, I have coherent data with FrameRate

 

Thanks again,

Julien

0 Kudos
Message 5 of 6
(4,617 Views)

Hi, 

 

I just wanted to update this thread to note that the issue with invalid metadata with the GigE universal driver has been resolved with the latest version of Vision Acquisition Software.

 

http://www.ni.com/download/ni-vision-acquisition-software-february-2016/5801/en/

 

- Katie

 

 

0 Kudos
Message 6 of 6
(4,033 Views)