Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Does Measurement Studio offer much for someone writing a basic control system?

I'm trying to weigh whether the added cost (and bulk) of Measurement Studio would be worth it for me vs simply using the free DAQmx libraries. My application wouldn't have any need for the custom controls offered by MS nor the advanced libraries. All the application is doing is monitoring a handful of digital and analog inputs, reacting to them, and setting a handful of digital inputs. No high speed measurements, waveforms, etc. Probably the highest priority I/O may get updated every 50-100 ms. I'm mainly wondering if MS offers anything over the DAQmx libraries when it comes to working with I/O asynchronously (which seems like the proper way to approach a responsive machine control application).
0 Kudos
Message 1 of 5
(5,602 Views)

Hello,

 

Here are the main advantages of Measurement Studio:

http://zone.ni.com/reference/en-XX/help/372636F-01/mstudiowebhelp/html/mstudiowhatsnew2012/

0 Kudos
Message 2 of 5
(5,580 Views)

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?

0 Kudos
Message 3 of 5
(5,577 Views)

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!

 

Grant M. Johnson
Project Engineer
LECO Corporation
0 Kudos
Message 4 of 5
(5,565 Views)

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.

0 Kudos
Message 5 of 5
(5,558 Views)