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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview DDE with Nicolet FTIR / Omnic

I need to develop a LabVIEW interface to the Nicolet FTIR software: Omnic and Quantpad. Or be able to trigger a macro within the program through DDE. Has anyone attempted this and if so any pointers?
0 Kudos
Message 1 of 20
(7,509 Views)
Shock,

The only thing I can suggest is going over the DDE examples we have on the web site (Keyword Search: labview dde).
Does it need to be the lower level DDE, or can you use ActiveX? There are tons of examples on using ActiveX on our web site, but each is application specific.

Randy Hoskin
Applications Engineer
National Instruments
http://www.ni.com/ask

Message Edited by Molly K on 02-18-2005 11:33 PM

Message Edited by Molly K on 02-18-2005 11:33 PM

0 Kudos
Message 2 of 20
(7,511 Views)
I've used DDE and NetDDE in the past and had problems with it.

Dynamic Data Exchange (DDE) is slow and unreliable. I don't recommend
it if you can use another method. Does this Nicolet software support
ActiveX or another form of server?

Douglas De Clue
ddeclue@bellsouth.net


Shock wrote in message news:<506500000008000000A4540000-1027480788000@exchange.ni.com>...
> I need to develop a LabVIEW interface to the Nicolet FTIR software:
> Omnic and Quantpad. Or be able to trigger a macro within the program
> through DDE. Has anyone attempted this and if so any pointers?
0 Kudos
Message 3 of 20
(7,509 Views)

I have my Nicolet 6700 communicating "nicely" with labview.  I can set parameters, acquire data, write data to disk etc.  This is all done by sending commands through OMNIC and not directly to the spectrometer...adding another layer of complexity of course.

 

I originally tried to do this with DDE and then ran into a lovely bug where if there wasn't mouse input after a while, the vi would never continue.  On a hunch, I tried using ActiveX with the same commands that I was sending via DDE and it worked.  If you are still interested, all these years later I would be happy to share some of my VIs.

 

Christopher

0 Kudos
Message 4 of 20
(6,575 Views)

Hello,

I am using a AVATAR 320 FTIR. Which software version of Omnic are you using to communicate via Active X

with your spectrometer?

 

Regards.

 

Labmike

0 Kudos
Message 5 of 20
(6,511 Views)

Dear Christopher,

 

I would love to get a copy of the VIs that you have that communicate with OMNIC via ActiveX. I have some legacy code that uses DDE, but I am having trouble transitioning to ActiveX. 

 

Sincerely,

tm2008 (at) columbia (dot) edu

0 Kudos
Message 6 of 20
(6,479 Views)

I am using OMNIC 8.0.342 with a Nicolet 6700.

Message 7 of 20
(6,392 Views)

Here are my VIs.  Just be warned they were written a while ago and looking at the code again, I probably would do things diffferently now.  However, they can probably be used as is or as a starting point.

 

The lab I use this software in literally only uses the OMNIC software to control the spectrometer.  We do our own calibration etc outside of the OMNIC software.  So this code has minimal functionality.  You can set bench parameters, acquisition parameters and display parameters, trigger the spectrometer to acquire data, write out the data as CSV, and then read in the data to LabView.

 

I have inlucded all the sub-vis that I wrote to do the individual tasks mentioned above, but there is a configure_spectrometer_activex.vi that opens OMNIC, sets up a temporary directory, sets the numebr of scans and resoltuion and returns a cluster with a variety of information

 

Additoinally there is another vi called collect_spectrum_activex.vi, which is the way that I use this software.  It includes a vi called create_paths.vi (which creates all the paths for all the other files that I need in my project (so not useful in this case), but I diidn't remove it).  However, all you need to do is specify a temporary path.  SInce I was running an experiment at the time I wrote this I couldn't easily change the code to just take a simple path.  All this vi does is trigger acquisition, write the file, and then read the file back in.

 

As above, unfortunately there are some shared variables that are only used for writing (and reading by my other application later), but these can be safely removed.

 

I'll try to post a cleaned up version of stuff sometime soon, but for now if you use the configure_spectrometer_activex.vi and collect_spectrum_activex.vi as guides to use the sub-vis you should be good to go.

 

Please let me know if this is not clear and as always, I would appreciate credit for my work if you decide to utilize it.

 

Christopher Edwards

Message 8 of 20
(6,386 Views)

Thanks for the help. If we use any code, we will cite your contribution. 

 

Thanks,

Tim

0 Kudos
Message 9 of 20
(6,383 Views)

Sorry for the delay in response, I have been traveling quite a bit. Hope it helps.

Message 10 of 20
(6,380 Views)