LabView for Newport / Oriel Cornerstone Monochromator
For those who have worked with any monochromator in the Newport / Oriel Cornerstone family, you may be aware that Newport does provide LabView-based programs and functions for communicating with your system. However, in my finding, these functions worked well on their own, but it was rather difficult to try and integrate them into a larger test software package I was working on. So, I just decided to create my own LabView sub-VIs to give me access to all the main commands I needed to control the Cornerstone monochromator. Since I think these VIs may be very useful for others using this instrument, and because I’m a nice guy, I am providing them for free to anyone!
Feel free to use these VIs in developing your own code. I only ask that if you use them in a program that makes you big $$$, you at least send me a Starbucks gift card or something. And, be sure to pay it forward by providing some of your own work for free to others, just like I’m doing.
Side note: I’m not a professional, certified, grade-A LabView Code Developer dude. I just write code that works and fills a need in my lab. So, I apologize in advance if I did not follow some standard, systematic method in writing these VIs. The fact is, they work…’nuff said.
These VIs were made in LabView 8.6, so they should work with versions 8.6 and newer (I also have saved these for version 8.0…see last link below). I have tested these with both the Cornerstone 130 and Cornerstone 260 monochromators.
The LabView files here are all just .vi files. They are not compiled into an actual instrument driver. You could do this, but it’s not really necessary. Just use these as sub-VIs in your own code.
This initialization VI basically just queries the status byte and returns error codes (if any). I use it as a check to be sure I have the right GPIB address and that everything is communicating as it should.
The “Get” VI sends a command to query the monochromater for the current position of the grating (which grating and wavelength) and filter wheel.
The “Set” VI sends a command to the monochomator for changing a given parameter, such as wavelength, filter wheel, or which grating to use.
The “Write” VI is a lower level function just for sending commands to the monochromator.
The “Query” VI sends a query, meaning it sends a command and then waits for a response.
The “Get WL-Filter-Grating” VI sends a query to the monochromator to return the current wavelegnth, filter wheel position, and grating position.
The “Set All by WL” VI adjusts all parameters (which grating and filter to use, and wavelength) based on a single wavelength input. You will need to customize this function based on which filters and gratings are in your system. The specs for my system (for reference) are on the block diagram.
If you have an earlier version of LabVIEW, down to 8.0, you can use these versions (this is the furthest back I could save it to, using v.8.6).