Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Changing setpoint at user input times: MKS Multi Gas Controller 647C

Please bare with me as I am extremely new to LabVIEW. 

 

I am controlling an MKS Multi Gas Controller 647C and have successfully communicated with the machine and I am able to control the setpoints manually.  What I am trying to achieve is a type of user input ramp, where at a user input time the channel setpoint changes to the user input value.  I am picturing a type of table on the Front Panel with the user input time values in the first column (in minutes) and channels 1 - 8 for a total of 9 columns.  The number of rows would vary depending on the number of intervals the user desires, the maximum needed would probably be about 10.  

 

Once the user has input these values I know some sort of loop is required that would change the values of the various channels at the according times.  I am at a loss in regards to how to write this loop, and I am currently trying to figure out how LabVIEW goes about timing runs and how to go about calling out the values that the user inputs.

 

The depth of my understanding of LabVIEW is limited to a few tutorials and introduction books.  If there are any recommended tutorials that could help me resolve this problem I would gladly hear about them!  The VI I wrote (with help) to accomplish communication with the machine is attached, although I used files from a driver found online so I believe you need to have both in order to run it.  Mine is the "647 Flow Set" VI, theirs is the "647 Multi Gas Controller.llb"

 

Any help would be much appreciated!!

 

 

Download All
0 Kudos
Message 1 of 12
(6,102 Views)

Hi ashadzw,

 

Take a look at this timing tutorial:

http://zone.ni.com/devzone/cda/tut/p/id/4120

 

And here is some info on some arrays:

http://zone.ni.com/devzone/cda/tut/p/id/7571

http://zone.ni.com/devzone/cda/tut/p/id/7508

 

Hope this helps.

 

Flash

National Instruments
Applications Engineer
0 Kudos
Message 2 of 12
(6,090 Views)

Ok, so here is my current problem: 

 

How do I read/call out each individual element in an array (1-D vector) one by one, in top to bottom order?

 

Let's say the user inputs various times that they need the gas flow setpoint to change into some sort of array/cluster on the front panel.  I'm going to need to set up a while loop that will change the setpoint once the counter reaches the user input time.  This is where I will need to read the first user input time, then the second, and so on, as well as associate these times with the appropriate user input setpoint for these times. 

 

For example if the time column on the front panel is a vector array from t0 - t10, there will also be a corresponding sepoint column with s0-s10.  So when the counter reaches t0, t=t0, & the machine should change the setpoint to s0 and so on.  I'm just not sure what to use in the front panel (array? cluster?) in order to call out the user input times in the correct order.

 

I hope that makes sense.  Is there some sort of loop I can set up to read out each individual element in an array?  Or is there an easier way to do it? 

0 Kudos
Message 3 of 12
(6,078 Views)

Hi ashadzw,

 

Take a look at this example. Is this what you want to do?

 

http://decibel.ni.com/content/docs/DOC-4512

 

Flash

National Instruments
Applications Engineer
0 Kudos
Message 4 of 12
(6,067 Views)

Hi ashadzw,

 

I too am trying to communicate with a 647C MKS controller.  By the looks of it, I acuired the same driver set you did but cannot communicate with the device!  Did you "tweak" those drivers at all in order to communicate?  The drivers I have came from here.

 

Thanks,

-Mike

0 Kudos
Message 5 of 12
(5,686 Views)

Hi brendel2,

 

Are you running into any specific error when you attempt to communicate with this device?

 

Are you able to communicate with this device using simple serial commands from Measurement and Automation Explorer?

 

What version of LabVIEW are you developing in?

 

The drivers on this site doesn't appear to be maintained as a number of the other links seem to be broken. They also appear to be written for LabVIEW 6.0.2 which is no longer an actively supported version of LabVIEW.  I would suggest trying to establish direct communication with the device from MAX and if that works, then attempt communication using the drivers.

 

 

 

 

Raj
National Instruments
Applications Engineer
0 Kudos
Message 6 of 12
(5,661 Views)

Raj,

 

Thanks for the reply and for the suggestions.  I have not been able to communicate with the device at all, be it from Labview (v. 2009) or using serial commands from Measurement and Automation Explorer. 

 

When I have been trying to communicate  with Measurement and Automation Explorer, I have been inputting the commands listed in the back of the user manual (pg. 40 of the attached .pdf) into the MAX "write" box.

 

As MAX hasn't been working, I've double and triple  checked the baud rate, parity, # bits,  # stopbits, etc., and they appear to match up with the unit's settings.  I can change these settings on the unit, but I do not know witch settings are appropriate. I have tried lots of different combinations of these settings with no luck.

 

 I've done a simple "loop-back" testto confirm my RS232 port is working, which it appears to be.  (I shorted pins 2 and 3, which allowed me to "read" what I "wrote" in MAX)

 

Thanks again for the help,

-Mike

0 Kudos
Message 7 of 12
(5,656 Views)

Hi Mike,

 

Have you been able to communicate with the device through any means at all from your computer? Possibly through HyperTerminal or any software that the manufacturer provided you with just so that we can confirm that the setup between the device and the computer is correct.

Raj
National Instruments
Applications Engineer
0 Kudos
Message 8 of 12
(5,626 Views)

No Sir,  I have had no indication that the device is receiving commands at all.

 

HyperTerminal was my go-to after neither the MAX or LabView worked out, but this too showed no effect on the instrument.  I've done a loop-back test on the COM port, which works in both MAX and HyperTerminal.  Any suggestions on how to confirm a proper setup between the device and the computer? 

 

MKS's phones have remained unanswered for 3 days, which is getting a little old.

 

I have tried to establish communication with two different computers.

 

Thanks for the help Raj,

-Mike

 

 

0 Kudos
Message 9 of 12
(5,623 Views)

Hi Mike,

 

If you are unable to communicate with the device using basic commands through HyperTerminal, and we have verified that the serial ports themselves work fine through a loopback test. This leads us only to the possibility that the instrument itself is not functional. I would get in touch with the manufacturer to see if you can establish communication between this instrument and any computer. At that point, we can attempt to troubleshoot this further to see how we can make it work with MAX and LabVIEW.

Raj
National Instruments
Applications Engineer
0 Kudos
Message 10 of 12
(5,608 Views)