05-05-2015 11:34 AM
05-06-2015 01:39 PM
Hello,
Here are the main advantages of Measurement Studio:
http://zone.ni.com/reference/en-XX/help/372636F-01/mstudiowebhelp/html/mstudiowhatsnew2012/
05-06-2015 03:30 PM
That's a list of new features in MS 2012. I'm already aware that MS offers fancy controls and specialty libraries that aren't included with the DAQmx libraries. I'm mainly interested in knowing whether basic I/O interaction is different/improved in any way.
For example, if I choose to use just the free DAQmx libraries I will need to develop some sort of multithreaded asynchronous I/O engine. Does MS include components that simplify that or would I wind up doing the same amount of work at that level?
05-07-2015 07:58 AM
This an interesting question and I don't have a great answer. I hope someone comes along and explains the issue clearly.
I like having all of Measurement Studio because I depend on Visa for the instrument libraries (scopes, meters, power supplies etc.). I don't want to write an entire communication library from scratch.
For just basic IO though I'm not sure what Measurement Studio actually brings to the table. Since I've always had the entire package (Measurement Studio Enterprise Edition I believe) I don't know which features are available outside of Measurement Studio.
Did you mention that you are working with NI hardware? If not, then maybe Measurement Studio buys you even less. When working with NI hardware NI MAX (Measurement and Automation eXplorer) makes it so simple. Just plug in a USB device and give it an alias in MAX like TS_Light and you can talk to it with :
using (var t = new Task())
{
Thread.Sleep(10);
// Create full device name based on fixture platform passed into constructor
const string strDevice = "TS_Light/port0";
// Setup Task
t.DOChannels.CreateChannel(
strDevice,
"",
ChannelLineGrouping.OneChannelForAllLines);
// Create a write stream and send out the desired Value
var writer = new DigitalSingleChannelWriter(t.Stream);
// Convert port value to bool array
var boolArray = new bool[8];
for (int i = 0; i < 8; i++)
{
boolArray[i] = Convert.ToBoolean((portValue >> i) & 0x01);
}
t.Start();
writer.WriteSingleSampleMultiLine(false, boolArray);
}
It looks a little complicated but it is the same flow for all NiDaqMx Tasks.
Again, I realize that I'm not answering your direct question of what does MS really bring to you when you are doing such a simple IO project. I wonder however if you will ever be doing a similar project again soon? And then maybe you will want to add some support for instrument automation and data collection? When you look at doing multiple projects, even simple ones, the cost of Measurement Studio starts to look like a better investment in my opinion.
Good luck with your project!
05-07-2015 09:20 AM
Yes, the project will use NI hardware (cDAQ). And I'm pretty sure the DAQmx libraries include MAX and allows you to program against NI hardware in exactly the same manner as your example.
Based on a bit of reading since I posted this question I'm gaining confidence that I probably wouldn't benefit from MS. In either case I'll have to write my own I/O engine from scratch.