LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Uniblitz

Hello I am new and still learning labview. I purchased a Uniblitz VMM-D3 sutter driver because it had a labview program only to learn that the program is only setup for one channel control. Can someone help my add multiple channels to this file VI.

0 Kudos
Message 1 of 9
(3,763 Views)

@shike1988 wrote:

Hello I am new and still learning labview. I purchased a Uniblitz VMM-D3 sutter driver because it had a labview program only to learn that the program is only setup for one channel control. Can someone help my add multiple channels to this file VI.


What do you mean by "one channel control" and "multiple channels"?  The program appears to control a device connected to a serial port.  Do you have multiple such devices connected to multiple serial ports?  Or are you trying to connect a single device, but want to use a different port than COM1?

 

The Top Level routine, Uniblitz_controller_new, can be turned into a subVI by adding a connector pane and wiring appropriate Controls to the connector.  If you did that, there would be nothing to stop you from writing your own Top Level VI, putting two copies of the re-worked Controller on it, connecting one to COM1 (say) and one to COM2, then by sending commands to the appropriate subVI, you could independently control each shutter.

0 Kudos
Message 2 of 9
(3,731 Views)

Hi Bob_Schor,

The uniblitz VMM-D3 is a three channel shutter driver that is built of one com port. The software is only setup to control the 1st channel of the driver. The way i think this software should be modified is that we should have a selector that controls the shutter channel in the front pannel. My only problem is that i have little expereance progaming.

 

I have attached the user manule and also copied the webpage for this shutter driver to this post.

http://www.uniblitz.com/product/VMM-D3-three-channel-shutter-driver/


Also i would like to thank you for your help.

Max

0 Kudos
Message 3 of 9
(3,722 Views)
From a quick look at the manual and existing driver, you'll be sending hex data where the only difference is the address of the shutter. It would be beneficial to perhaps do most of the debug with a terminal emulation program that supports hex. If the vendor has a program, you can capture the commands with a program such as portmon from Microsoft.
0 Kudos
Message 4 of 9
(3,701 Views)

If possible i would like to insert the selection box into the labview so that i can run the shutter with my data analysis program at the same time.

0 Kudos
Message 5 of 9
(3,648 Views)

What selection box are you talking about?

 

LabVIEW inherently supports parallel operations so when you write your code, you should be able to implement this.

0 Kudos
Message 6 of 9
(3,639 Views)

In the Uniblitz1b.llb pack, i need to add a selection box so that i can control multiple shutter channels at the same time in labview. Unfortunatly i am not skilled enouph to do this so i am asking for help on how to do this.

0 Kudos
Message 7 of 9
(3,622 Views)

In the Uniblitz_Input.vi, it is using 0x80 plus a 0 or 1. The 0x80 is for an address 0 switch setting (page 21) and then either a 0 (close) or one (open) is added to provide the output defined on that page 21 table. If you wanted to stick with just a single address and 3 shutters, a simple mod would be to add a channel control to this VI and a case statement around the open/close shutter action case statement. If you make the channel control an enum with values of "Ch 1", "Ch 2", and "Ch 3", each of these cases would have an Open/Close case with different values - Ch 1/Close = 0, Ch 1/Open = 1, Ch 2/Close = 2, Ch 2/Open = 3, etc.

 

A little more effort and you could handle multiple channels and multiple addresses.

 

You need a little basic understanding of LabVIEW to implement this. Take some of the tutorials. If you understand enum controls and case statements, you've got most of the problem solved.

Message 8 of 9
(3,609 Views)

The manual makes it clear that turning a particular shutter on or off, or turning all of them simultaneously on or off, is pretty simple -- you just choose which character to send.  For example, if you send "@", Shutter 1 opens, while if you send "G", all the shutters close.

 

Before getting too wrapped up in how to turn the individual shutters on and off, you might think about what you want to do.  I find that writing a Word document to spell out all of the details first really helps to clarify my thinking, and can show potential problems.

 

For example, are you planning on programming a shutter so when you "push a button", the shutter opens for a period of time and then automatically closes (such as the way the shutter on a camera works)?  Or do you want to "push a button once to open the shutter, a second time to close it" (the camera's "Time Exposure" setting)?  Are the three shutters independent, or is there some dependency among them (i.e. "Open Shutter 2 when Shutter 1 closes")?

 

If you are planning on having LabVIEW time the exposures, you need to think about clocks and timing.  In principle, LabVIEW (running on Windows) can handle events with a millisecond clock, but the accuracy is less than this due to unknown (and unpredictable) operations that Windows does in the background.  [This wouldn't be a problem at all if your timing was in seconds instead of milliseconds).

 

Try to design a simple, intuitive User Interface -- don't put every possible Switch and Control on the Front Panel "just because you can".

 

I notice that the example Driver from Uniblitz used direct calls to the Serial port.  I would recommend that you use NI VISA, which is pretty easy to program.  Do you know about NI MAX (Measurement and Automation Explorer)?  If you open MAX and plug in your shutter, you should be able to open the COM port (it should show up under Devices and Interfaces) and send characters to the output port, which will let you test that you can open and close individual shutters independently.  If you can do it "manually" in MAX, it is very easy to do the same thing in LabVIEW.  Look for the Instrument I/O Palette, choose VISA, put down a VISA Open (on the "Advanced" Palette), right-click the upper left corner and say Create Constant, click the little down arrow and choose your COM port (it should list all the Ports it sees -- you need to have the Shutter plugged in, of course).  Now drop down a VISA Write, put the character you want to send on its Write Buffer input, and let it run.

 

Hope this gets you started.  If you do the step of Writing the Documentation First, you'll be in a position to develop a much better (and simpler!) routine to control your Shutter than the example code that shipped with the device!

 

Bob Schor

0 Kudos
Message 9 of 9
(3,597 Views)