Unfortunately I have no further information from domestic NI anymore. Our team adopted another SBIG compatible CCD which works well with LabVIEW. Anyway, I attached some files about my work and hope it may helpful to somebody who still interested in this.
Sorry not to arrive earlier but taking all the information of this topic I tried to communicate with an ATIK 4000 camera and ArtemisHSC.dll.
The same problem of "invalid handle" is quickly arrived but after a few tries I connected the return value of the "Artemis_Connect" function to the requested input "Arthemishandle hcam" and it worked.
Another change I made is in the properties of the Labview function "Call Library": I changed calling convention to stdcall (WINAPI).
The Artemis SDK gives 2 dll. ArtemisCCD.dll et ArtemisHSC.dll. The communication test only works with ArtemisHSC.dll.
I attache an example (in LabVIEW 11 and in LabVIEW 7.0) of my work in case if someone would try the vi's with other Atik cameras.
To finish I suggest you to use the cooller dll's functions independently from the other functions. When I call for example the functions "Artemis_TemperatureSensorInfo" (cooler function) and "GetBin" (non cooler function) it takes a huge time, I don't know why...
I am working with an Atik 460EX camera for a project in our Physics department. I came across your example programs and VI's that you have written and I believe that these will work very well for what we are looking to do. Do you mind if I use your VI's as starting point for our development process? I wanted to check before using them.
I think that you can try to use vi's for the Atik 460EX because:
-The SDK is indicated for all ATIK Cameras.
-in the Atik 460EX Quick Starter Guide, Artemis Capture is used to test the Camera. The vi's use exactly the same dll as this software to communicate with the camera.
I already saw ways of improvement for these vi's, but you can use it as starting point.
Other ways to communicate with camera are described on the artemisccd site, which is the scientific branch of atik.
I have everything working with the temperature control and data pull - however, I can only do exposures as fast as 1 Second. According to a support e-mail with Atik today, we should be able to achieve exposure rates as fast as 1 mSec (which is what we need to do, and can do from the Artemis Capture software).
I'm reattaching the .zip file that you previously posted - to make things simple, I'm working with the "Artemis_Test_simple.vi" file. In this, the exposure time is a Int32 control - where we really need a Double (or something non-integer). If I try to change the representation type, it will not work. Any ideas?
Any help would be greatly appreciated.
I saw this bug after i sent the vi's.
I solved this by changing the data type of Seconds parameter in SGL in the "Call library function".
I posted 2 screen captures to explain the change to make.
Hoping it will help you.
Thanks for sending this information along - no problem at all about missing that, I don't think that this was the easiest thing to figure out (at least for me <G>).
I ended up creating a LabVIEW library (attached) which will allow for the mSec (floating point) specification for the exposure timing. I'm attaching that library here, along with the .dll and .h files, in case anyone would need them for future development, etc.
Note: If you were to use the import wizard in LabVIEW, you have to change the calls to WINAPI, not C - for whatever reason they don't work correctly if the call is C.
Thanks again for your help!
Would you mind posting the vi's for an older version (LV9, LV11)? Dont have a machine running the latest (and greatest)....
Thanks for your efforts!