From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
08-08-2014 01:47 PM
I'm currently trying to figure out how a VI sent as a software package from a company is trying to communicate with the company's camera. We have an Andor Zyla sCMOS camera that came with a software development kit (SDK); in this kit there were controls and functions that LabView could utilize to interface with the camera. They also included a couple of examples VI's that show what the SDK can do with the camera. Well, they're examples aren't working very well, and I think it's because the VI isn't getting the right handle for the camera. There's a subVI that does this in the program, but when I go into the block diagram to see where the subVI is looking for the handle, there's really only a call function library node doing the work, and that's about it. I expected to see some sort of VISA reference or something that was communicating with the camera, but there isn't one. In fact, nowhere in the larger VI is there any VISA, GPIB, DAQ anything that i would normally expect would be utilized for interfacing hardware.
I'm wondering if it's somehow using the Library Node to communicate with the camera, but from what i read about it that's not what it does. Can someone possibly enlighten me as to what might be going on?
Also, I'm using LabView 2013 on Windows 7.
Thanks!
08-08-2014 01:55 PM
Yes, it's quite possible that the communication is handled through a DLL. Many manufacturers provide a DLL that can be used with multiple programming environments, and then add a LabVIEW VI wrapper around the DLL calls when they need to provide a LabVIEW interface. Even the NI DAQ hardware does this - take a look at DAQmx Read, for example.
08-08-2014 02:06 PM
08-08-2014 02:20 PM
I see, I was unfamiliar with exactly how things like visa and daq actually communicate with hardware. Thanks for informing me.
I've been trying to contact the vendor, but apparantly 4 emails and a couple phone calls don't do too much 😞 Being that it's their camera, their computer and their software, I'd assume they'd want to help, but oh well, I'll keep trying.
08-11-2014 09:22 AM
Hi,
I'm with the Andor support team and I'm sorry to hear that you've had difficulty getting answers to your questions. I'd be happy to help work through any issues you're running into with our SDK.
You can email me at us_productsupport@andor.com.
08-11-2014 03:29 PM
If you have their SDK you should be able to generate a whole library of calls automatically.
options --> import --> shared library (.dll)...
08-12-2014 08:32 AM
@billko wrote:
If you have their SDK you should be able to generate a whole library of calls automatically.
options --> import --> shared library (.dll)...
Camera interraces are usually not that trivial. They require at least some modifications to the LabVIEW VIs afterwards to provide the necessary data buffers for the functions that retrieve the image data and possibly other data. And more often then not they require special code to deal with asynchronous buffers between API functions. Last but not least you probably need to convert the raw data of those buffers into some image format that one can use inside LabVIEW.
08-12-2014 07:16 PM
@rolfk wrote:
@billko wrote:
If you have their SDK you should be able to generate a whole library of calls automatically.
options --> import --> shared library (.dll)...
Camera interraces are usually not that trivial. They require at least some modifications to the LabVIEW VIs afterwards to provide the necessary data buffers for the functions that retrieve the image data and possibly other data. And more often then not they require special code to deal with asynchronous buffers between API functions. Last but not least you probably need to convert the raw data of those buffers into some image format that one can use inside LabVIEW.
Thank you for the info - I never would've guessed! You are truly the guru of all things testing and instrumentation. Truly. I always pay close attention to your posts because they are really relevant to what I do. 🙂
08-13-2014 12:08 PM
Wow, thank you for all the great input! Been away for a while and I come back to to some great stuff.
rolfk, definitely starting to realize how complex camera interfaces can be. There's a VI that has been used to operate a previous camera that i've been trying to adapt to work with this camera, and it's a bit of a monster. The VI not only takes and saves images, but it also has a background subtraction function built in that uses a MATLAB command to perform the subtraction.
Anyways, thanks again.