LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Ocean Optics Omnidrivers package

Hi,

I am developing an application using an Ocean Optics (OO) spectrometer under LabVIEW V8.5. My spectrometer is the USB2000 and I have SpectraSuite and the OmniDriver package (OMNI+SPAM Beta release). The OmniDriver package consists in 2 modules (OmniDriver and SPAM). The java-based functions of those modules are both wrapped into the OmniDriverSPAM32.dll (on a windows platform). The OmniDriver package also comes with 2 LabVIEW libraries corresponding to OmniDriver and SPAM modules. Basically the subvis from these libraries are calling functions from the OmniDriverSPAM32.dll with Call Library Function Nodes.

 

Is there someone who is using that library under LabVIEW?

 

Do you guys have a kind of conflict with LabVIEW 8.5 and the OmniDriverSPAM32.dll? Does your application crashes systematically when you REopen your application WITHOUT closing LabVIEW? (I can send you the description to bring about the bug)

 

I'm trying to get the wavelength calibration of the spectrometer (It comes with the spectrometer) but I'm stuck. I need it to compute the absolute irradiance then the optical power in Lumens. So far I can acquire the spectrum from the spectrometer but only in counts (photons)

Did someone do it before?

 

Charly

It's always sunny in California! Certified LabVIEW Associate Developer!
0 Kudos
Message 1 of 79
(18,344 Views)

Hi Charly,

I see that you are using a couple of different drivers/applications with LabVIEW.  I have looked a bit into SpectraSuite and OmniDriver to see if there are any resources internally that would be beneficial in this situation.  Unfortunately, I can't find anything at all to reference specifically.  I would suggest to try and using the provided resources in LabVIEW to try and access the USB ports, but other than that I would recommend trying to investigate the drivers.  If these include subVIs in LabVIEW then they probably have a better route to find more information. 

Otherwise, it would be best for another customer to respond if they have referenced these specific packages.

Jason W.

National Instruments
Applications Engineer
0 Kudos
Message 2 of 79
(18,305 Views)
Hi Jason,
Thanks for your interest.  Spectra Suite is a spectroscopy software based on the OmnidriverSPAM32.dll That library also comes within the omnidriver package. I want to develop my own spectroscopy software with LabVIEW and that library. I don't want to use Spectra Suite.
There are some documents describing the functions of the OmnidriverSPAM32.dll (function prototype, inputs, outputs, what the function does) but not much for the LabVIEW functions.
 
I have 2 concerns:
 
1_Conflict with LabVIEW 8.5 and the omnidriver package
Here are the steps to reproduce the bug
 

Open LabVIEW 8.5

 

Open sample.vi (from Ocean Optics) ->OK

Run sample.vi ->OK

Stop from the front panel or abort execution ->OK

 

Run sample.vi again ->OK

Stop from the front panel or abort execution ->OK

Close sample.vi ->OK

 

Reopen sample.vi ->OK

Run sample.vi -> error 1097 An exception occurred within the external code called by a Call Library Function Node. The exception may have corrupted LabVIEW's memory. Save any work to a new location and restart LabVIEW.

 

To run the sample application again I must close LabVIEW then reopen the sample application.

 

Do you see the same bug?

 
2_The acquisition of the spectrum from the via the USB works well. I am just STUCK with the processing of the spectrum and I wondered if someone else who is currently using that library overcame that step. 
I should get in touch with a developer from Ocean Optics. I've investigated the labVIEW sample applications Ocean Optics provided.
 
By the way the omnidriver package replaces the OOILVD LabVIEW package from Ocean Optics (though still downloadable from NI website)
 
Thanks,
Charly 
It's always sunny in California! Certified LabVIEW Associate Developer!
0 Kudos
Message 3 of 79
(18,295 Views)

Charly,

In searching for the Ocean Optics VIs that you speak of, I see that the package is located on our instrument driver network.  Our customers are able to post drivers and software applications here that others can download for use.  As you can see from the pages in which these can be downloaded, it has not been looked over by our R&D department and NI Certified.  Thus if you are having specific problems it might be best to contact a developer specifically.  However, if you have the ability to open and edit these VIs and can pinpoint a location of the error there might be more we can look into.  Keep us updated if this can be broken down any further, and more specifics found.  Thanks and good luck!

Regards,

Jason W.

 

Message Edited by jason_w on 10-03-2007 04:09 PM

National Instruments
Applications Engineer
0 Kudos
Message 4 of 79
(18,277 Views)

Hi,
I'm trying to do exactly the same thing with you (absolute irradiance measurements), using the usb2000.
The difference is that I'm trying to do it with the oolvd drivers (although I believe it’s easier with SPAM).

  1. I read about the problem you have and I checked it in the oolvd for a while. The error you report happens with the oolvd drivers too, even whith earlier versions of LabVIEW. It doesn’t seem to be a conflict, but let me check it in the lab where the USB2000 is connected to the PC.

  2. You can aquire “raw” spectrums to your pc, but you want them to be calibrated for absolute irradiance measurements. That means that you have to create a calibration file using a calibration lamp (for example LS-1). Have you created this "calibration spectrum"?  (I'm trying to understand the step you are on).

  3. What is your light sampling set up? (Bare fiber, cc-3, int. sphere)?
If I had some of the OMNI+SPAM documentation could help me.

Nasos
 
0 Kudos
Message 5 of 79
(18,215 Views)

Hi Nasos,

I started to develop my application with the oolvd drivers. OMNI+SPAM drivers are a bit more complicated (for example you have to handle the creation and the destruction of java objects) but more powerful than the oolvd drivers.

1_As for the 'conflict' between LabVIEW and the ocean optics dll I got in touch with ocean optics developers and they are investigating.

2_As for the absolute irradiance I understand that I need a calibration file. However as I don't have an ocean optics calibration lamp I thought I could skip to make an formal calibration by READING the calibration programmed onto my spectrometer's memory chip.

3_In my lab I have a Labsphere integrating sphere LMS-200 and its corresponding calibration lamp. I don't have an irradiance probe yet. My spectrometer is the usb2000 and I have a P400-2-VIS/NIR optical fiber.

Can you let me know about your calibration lamp data file and send me a sample. I think I can load it.

Please can you rephrase that sentence I don't get itSmiley Wink  If I had some of the OMNI+SPAM documentation could help me

Thanks,

Charly

It's always sunny in California! Certified LabVIEW Associate Developer!
0 Kudos
Message 6 of 79
(18,194 Views)
Hi all,


I am a new graduate student at Tufts and I am looking to control my Ocean Optics USB2000 spectrometer with labview (8.2).  I'm hoping that someone might be able to point me in the right direction on how to get started?  I am in the process of trying to get communication between the two, any info, drivers, or code will help.  Thanks so much,

Robb
0 Kudos
Message 7 of 79
(18,105 Views)
Hi Robb,
You have to use the LabVIEW drivers made by Ocean Optics. There are two different versions available : OOILVD LabVIEW package or OmniDriver package. They both call dedicated libraries. For OOILVD it's a C library and for OmniDriver it's a JAVA library. Omnidriver is more recent than OOILVD
 
Both packages come with sample applications to get you up anyway the weak spot of these packages is the calibration. Without calibration you'll make false measurements.
 
You may be charged by Ocean Optics to get one of these packages.
 
Hope this helps.
Charly
It's always sunny in California! Certified LabVIEW Associate Developer!
0 Kudos
Message 8 of 79
(18,090 Views)
Hi,
 
I am trying to use the HR4000sample.vi from OOILVD32.llb for aquiring spectra from our Ocean Optics HR 4000 spectrometer via the USB. However, I get the same error message posted here " An exception occured within the external code called by a Call library function node. This might have corrupted labview's memory. Save any work to a new location and restart Labview. This error occured, as in the case of the previous posts in the Spectral aquisition.vi . I am using Labview 8.2
 
I was wondering if there is a solution to this problem.
 Thank you,
 Andrea
0 Kudos
Message 9 of 79
(17,548 Views)

Hi Andrea,

I used the OmnidriverSPAM library not the OOILVD32 library. They both call dlls.

I solved the problem you described by double-clicking on a .bat file which was provided in the installation package. It registered the DLLs onto the windows registers.

Hope it helps

Charly

Labview 8.5

 

It's always sunny in California! Certified LabVIEW Associate Developer!
0 Kudos
Message 10 of 79
(17,543 Views)