06-22-2009 04:14 PM
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!!
06-23-2009 04:07 PM
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
06-24-2009 03:55 PM
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?
06-25-2009 11:48 AM
Hi ashadzw,
Take a look at this example. Is this what you want to do?
http://decibel.ni.com/content/docs/DOC-4512
Flash
04-21-2010 04:51 PM
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
04-22-2010 05:04 PM
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.
04-22-2010 05:57 PM
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
04-25-2010 09:48 PM
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.
04-25-2010 09:58 PM
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
04-26-2010 04:05 PM
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.