Measurement Studio is an integrated suite of tools and class libraries that are designed for developers using .NET, ASP.NET, and MFC to develop measurement and automation applications.
Measurement Studio 8.5 includes separate, parallel sets of class libraries, integration features, and support documentation for developing with Visual Studio 2005 and Visual Studio 2008. Installing Measurement Studio support for Visual Studio 2008 does not directly impact installations of Measurement Studio Visual Studio 2005 support or projects or programs that use Measurement Studio Visual Studio 2005 support class libraries. This does not apply to underlying drivers or other software components, such as NI-DAQmx, that allow only one version to be installed on the system at a time.
Measurement Studio 8.5 includes support for Microsoft Visual Basic .NET, Microsoft Visual C#, and Microsoft Visual C++ in Visual Studio .NET 2003, Visual Studio 2005, and Visual Studio 2008. Measurement Studio 8.5 also includes support for Visual Basic 6.0 and Visual C++ in Visual Studio 6.0. Measurement Studio support for Visual Studio .NET 2003, Visual Studio 2005,and Visual Studio 2008 is on one CD. Measurement Studio support for Visual Studio 6.0 is on another CD.
This readme documents only Measurement Studio support for Visual Studio 2005. Measurement Studio support for other versions of Visual Studio includes separate readme files.
This file contains the following sections:
This section describes new features that have been introduced in Measurement Studio since version 8.1.2.
This new feature provides a mechanism for updating the Enabled and Interval properties for AutoRefresh from within the Refresh callback, allowing you to turn off AutoRefresh or change the Interval during an asynchronous HTTP request without causing a postback. Previously, the JavaScript timer on the client did not get updated during an asynchronous HTTP request, and only the controls in the AutoRefresh collection were updated.
In addition to explicitly creating network variables with the Variable Manager, now you also can explicitly create network variables
with the following classes: ServerProcess,
ServerProcessInfo, ServerVariable, and ServerVariableInfo.
You can use ServerProcess to perform a process-related operation; ServerProcessInfo and ServerVariableInfo to periodically monitor a network variable process or variable, respectively;
and ServerVariable to perform a single variable-related operation.
For more information on using these classes to explicitly create and configure network variables, refer to Explicitly Creating Network Variables in the NI Measurement Studio Help.
The network variable API includes the Browser class and the network variable configuration classes, ServerProcess,
ServerProcessInfo, ServerVariable, and ServerVariableInfo.
You can use these classes to discover network variables and processes.
You can use the Browser class for the following tasks:
You can use the ServerProcess,
ServerProcessInfo, ServerVariable, and ServerVariableInfo classes for the following browse tasks:
For more information on browsing network variables, refer to Comparing the Network Variable Browser Class and the Configuration Classes in the NI Measurement Studio Help.
Measurement Studio 8.5 gives you advanced control over when the network variable API flushes its buffers, allowing you to optimize the performance of the API for your particular application.
All NetworkVariable readers and writers maintain an internal buffer for
each connection. All writer classes maintain an internal buffer to protect against data loss. The buffer automatically flushes every 10 milliseconds or when the buffer becomes full, and you can use the FlushAllConnections method to manually flush the buffer. All network variable reader classes, NetworkVariableBufferedSubscriber<TValue>, NetworkVariableReader<TValue>, and
NetworkVariableSubscriber<TValue> must flush the buffer in order to
perform a read, since the readers must send a request to receive the value to the network variable engine.
For more information on buffer flushing behavior and how to maximize performance in context of the buffer, refer to Buffer Flushing Behavior of the Network Variable Class Libraries in the NI Measurement Studio Help.
Memory-optimized analog waveform reads are a special case of analog waveform reads in the NI-DAQmx and NI-SCOPE .NET class libraries where the AnalogWaveform<TData> class re-uses the memory utilized by an existing AnalogWaveform<TData> instead of allocating memory for a new data array on every invocation. Memory is reallocated if the number of samples requested is greater than or equal to the current size of the AnalogWaveform<TData>. This allows for much more efficient memory usage when performing multiple analog waveform reads. Memory-optimized analog waveform read methods were introduced in NI-DAQ 8.7 and NI-SCOPE .NET class libraries 1.1.
You can use PlotComplexWaveform<TData> to plot complex waveforms on the Windows Forms and Web Forms waveform graphs.
You can use the DisplayMode property to specify whether the complex waveform displays samples or increments of time, and
you can use the ScaleMode property to configure whether the data is displayed in raw form or scaled. You can also customize the scaling behavior by deriving
from ScaleMode.
You can also use the DataToPlot property to configure the waveform graph to plot the real, imaginary, magnitude, or phase data.
Measurement Studio 8.5 includes analysis code snippets in the documentation that can be copied and pasted into an application and used without modification. The following classes include new example code snippets:
Anova1WayBesselLowpassFilter
ExponentialFit For more information, refer to Using the Measurement Studio Analysis .NET Library in the NI Measurement Studio Help.
The following new features were also introduced in Measurement Studio 8.5:
AxisMode enumeration now includes AutoScaleVisibleExact
and AutoScaleVisibleLoose values. You use these values to configure an axis to autoscale according to the range of data currently being displayed on the graph instead of according to the range of all data in the graph. These modes are available on the scatter, waveform, and complex graphs. Also, the autoscale is retained during zoom and pan operations.Switch array or an Led array, so that only one can be true at a time. This feature allows you to control or display the status of instruments that require only a single Boolean value to be true at any given time.InteractionHistoryCount property returns the number of items currently in the undo stack in the graph. With this new property, you can monitor the number of items remaining in the stack that holds interactive operations and add event handlers to use this information in your application.NetworkVariableDataSource attempts to connect to a network variable and fails, the ConnectionFailed event is raised. Handle this event to determine why connections are failing;
use the ReadFailed or WriteFailed events to determine when reads or writes fail.
Measurements.HarmonicAnalyzer(Double[], Int32, Double, Double, Double[], Double[], Double)
SignalProcessing.Differentiate(Double[], Double, Double[], Double[], DifferentiationMethod)
SignalProcessing.UnwrapPhase(Double[], PhaseUnit)
Statistics.RootMeanSquared(ComplexDouble[])
The following methods have been added:
Measurements.CycleRmsAverage
Measurements.PulseMeasurements
Measurements.StateLevels
Measurements.TransitionMeasurements
The following sections list the system requirements for Measurement Studio 8.5 and instructions on how to install Measurement Studio 8.5.
Note Review the installer known issues before you install Measurement Studio 8.5.
To use Measurement Studio, your computer must have the following:
Note If you have Windows Vista installed you must also have both Visual Studio 2005 Service Pack 1 and Visual Studio Service Pack 1 Update for Windows Vista installed on your machine for Measurement Studio Visual Studio 2005 support to function properly.
Optional Installation—In order for links from Measurement Studio help topics to .NET Framework help topics to work, you must install the Microsoft .NET Framework SDK 2.0.
Note If you are going to upgrade an existing Windows 2000 or XP machine to Windows Vista, National Instruments recommends you uninstall all National Instruments software, including both application software and drivers, prior to the upgrade and re-install the software after the upgrade.
To deploy an application built with Measurement Studio .NET class libraries, the target computer must have a Windows Vista/XP/2000 operating system and .NET Framework 2.0.
To deploy an application built with Measurement Studio Visual C++ class libraries, the target computer must have a Windows Vista/XP/2000 operating system.
Complete the following steps to install Measurement Studio. These steps describe a typical installation. Please carefully review all additional licensing and warning dialog boxes.
National Instruments recommends that you exit all programs before running the Measurement Studio installer. Applications that run in the background, such as virus scanning utilities, might cause the installer to take longer than average to complete.
The option to browse for an installation location is valid only if you have not already installed any Measurement Studio features for the version of Visual Studio or the .NET Framework that you are installing. If you have any Measurement Studio features installed, then Measurement Studio installs to the same root directory to which you installed other Measurement Studio features.
Complete the following steps to install Measurement Studio:
The .NET and C++ class libraries for Visual Studio 2005 support for National Instruments hardware drivers are included in the Driver CD installer, available from ni.com.
You can have only one version of Measurement Studio installed on a system for each version of Visual Studio or the .NET Framework installed on the system. For example, you can have Measurement Studio 8.1.2 for Visual Studio 2005 installed on the same system as Measurement Studio 8.5 for Visual Studio 2008, but you cannot have Measurement Studio 8.1.2 for Visual Studio 2005 installed on the same system as Measurement Studio 8.5 for Visual Studio 2005.
If you install a newer version of Measurement Studio on a machine that has a prior version of Measurement Studio installed, the newer version installer replaces the prior version functionality, including class libraries. However, the prior version assemblies remain in the global assembly cache (GAC); therefore, applications that reference the prior version continue to use the prior version .NET assemblies.
Note This does not apply toNationalInstruments.Common.dll.NationalInstruments.Common.dlluses a publisher policy file to redirect applications to always use the newest version ofNationalInstruments.Common.dllinstalled on the system, for each version of the .NET Framework.NationalInstruments.Common.dllis backward-compatible.
For assistance in getting started with Measurement Studio 8.5, refer to the Measurement Studio Overview and the Getting Started with the Measurement Studio Class Libraries topics in the NI Measurement Studio Help or refer to the Measurement Studio User Manual and the Measurement Studio Release Notes. You can launch the NI Measurement Studio Help in the following ways:
To view the Measurement Studio User Manual and the Measurement Studio Release Notes, select Start»All Programs»National Instruments»<Measurement Studio>Measurement Studio User Manual or Start»All Programs»National Instruments»<Measurement Studio>Measurement Studio Release Notes. To view these documents, you need the free Adobe Reader. Refer to the Adobe Systems Incorporated Web site at www.adobe.com to download Adobe Reader.
To get started creating a Measurement Studio project using class library and application templates, open Visual Studio and select File»New»Project to launch the New Project dialog box. In the Project Types pane, select the folder for the language you want to create the program in, and then select Measurement Studio. In the Templates pane, you can then select which type of project you want to create.
For step-by-step guides in learning how to develop applications with Measurement Studio, refer to the Measurement Studio Walkthroughs section of the NI Measurement Studio Help.
For information about deploying applications built with Measurement Studio 8.5, refer to Deploying Measurement Studio Applications in the NI Measurement Studio Help.
Note Measurement Studio support for Visual Studio 2005 does not support deploying applications to Windows 95/98/Me/NT 4.0.
The following items are bugs fixed in Measurement Studio 8.5.
| Component | Bug ID | Fixed Issue |
|---|---|---|
| .NET Class Libraries | 31054 | Fixed an issue where the Visual Studio environment reported registry errors from Measurement Studio integration when only IVI (without the IVI Compliance Package) was installed. |
| 31067 | Fixed an issue where pressing F1 on a property of a generic datatype does not take you to the property page. | |
| 31109 | Fixed an issue where the New Item Wizard, shown by clicking Add»User Control or other Add menu items, selects the NI Instrument Driver template by default. | |
| 31112 | Fixed an issue where the DaqComponent did not handle task names with spaces correctly. | |
| 31179 | Improved performance of changing XYPointAnnotation visibility. | |
| 31273 | Fixed an issue where some of the values on the scale were cut off when a tank or a slider was dropped on the form and docked. | |
| 31278 | Fixed an issue where automatically formatting a user interface control at design-time using the "Auto Format..." option resets certain property values. | |
| 31446 | Fixed an issue where zooming in the DigitalWaveformGraph in samples mode shows fractional values in the axis labels. | |
| 31449 | Improved performance of constructing large PrecisionTimeSpan values. | |
| 31450 | Fixed an issue where the NumericEdit control does not commit a new value when entering a value and then pressing Enter quickly afterwards. | |
| 31452 | Fixed an issue where PropertyEditor displays values in incorrect format. | |
| 33604 | Fixed an issue where a .NET application freezes when zooming multiple times with a waveform graph with minor division grid lines visible. | |
| 33626 | Fixed an issue where LogosXT is slow compared to Logos when using network variables in Measurement Studio. | |
| 33645 | Fixed an issue where waveform timing information is incorrect after being transferred using network variable. | |
| 33880 | Fixed an issue where changing the label format of the x-axis two times on a DigitalWaveformGraph through the smart tag does not serialize correctly in the Designer. | |
| 100063 | Fixed an issue where changing Regional and Language settings while using an XY scatter graph in ASP.NET causes the application to crash. Similar fixes were applied to Internationalization support in the Measurement Studio .NET class libraries. | |
| C++ Class Libraries | 30443 | Fixed an issue where the CWNumEdit control does not highlight text when tabbing through the form elements for the first time. |
| 31028 | Fixed an issue where a 3D graph on a dimmed panel is visible through the panel in front of it. | |
| 31029 | Fixed an issue where using CWGraph3D on a .NET MDI form causes an AccessViolationException. | |
| 31111 | Fixed an issue where the C++ task code generation does not handle task names with spaces correctly. | |
| 31272 | Fixed an issue where the annotations in a CWGraph control were not clipped outside the bounds of the control when an image of the control was saved to a file. | |
| 31429 | Fixed an issue in the CWGraph3D control where manually scaling the axis and using a log scale does not display correctly. | |
| 31430 | Fixed an issue in the CWGraph3D control where the grid lines did not print smoothly even when the Smooth Grid Lines property was enabled. | |
| 34161 |
Fixed an issue where the FillStyle property for CWKnob and CWDial does not update when changed from Fill to Minimum to None.
|
|
| 34232 | Fixed an issue where a CWSlide control displays the z-order of overlapping fills in reverse. |
Note Refer to the What's New in Measurement Studio topic in the NI Measurement Studio Help for information about bug fixes in previous versions of Measurement Studio.
For a complete list of incompatibilities in Measurement Studio with previous versions of Measurement Studio and otherwise supported features, including a list of obsoleted members and members that have been changed to sealed override or non-virtual, refer to the Measurement Studio Incompatibilities topic in the NI Measurement Studio Help.
Note Applications that install earlier versions of the Measurement Studio user interface and 3D graph controls include ComponentWorks 2.0, Measurement Studio 1.0 and later, and LabVIEW 6i and later.
value==String.Empty message if the file has no prefix. This prefix is usually based on a company's IVI and VXI plug&play drivers. To work around this issue, modify the instrument driver file (.fp) to include a prefix.
Error HRESULT E_FAIL has returned from a call to a COM component. Restart Visual Studio to fix this issue.
ServerVariable or ServerVariableInfo class explicitly creates a network variable and configures the server-side buffer for the network variable, the value for the buffer size displayed by Variable Manager is incorrect. Use the ServerVariable.GetItemCapacity() method or ServerVariableInfo.ItemCapacity property to retrieve the correct value.
about:config into the address bar and press Enter.network.dns.disableIPv6 in the list that is displayed.DoEvents inside either the ValueChange event or the AfterValueChangeEvent and the button is pressed rapidly, the control throws an exception. This error can also occur if the event handlers take a while to return. Microsoft has confirmed that this is a problem with the NumericUpDown control in the .NET Framework.
ServerVariable.Create or ServerVariableInfo.Create methods results in a memory leak of approximately 50 bytes per variable that is created. Consider using implicitly created network variables if you are creating and deleting numerous variables over a long period of time.
For optimum performance, National Instruments recommends that all machines accessing network variables, including the machine that hosts the variable, should use LogosXT. If using LogosXT on all machines is not possible, you should disable LogosXT. You disable LogosXT by adding a DWORD value named DisablePSPXT to the registry key HKEY_LOCAL_MACHINE\SOFTWARE\National Instruments\LogosXT and setting its value to 1. If you must use a mix of Logos versions, you can reduce the performance loss by using Variable Manager. Use Variable Manager to configure a sufficiently large server-side buffer for the network variable.
NationalInstruments.UI.WindowsForms, but does not reference the assemblies it depends on, there are circumstances in which the Windows Forms Designer presents an error page stating that parts cannot be found. This occurs when the Windows Forms Designer re-parses its generated code and is unable to resolve references to types that are in the assemblies that NationalInstruments.UI.WindowsForms depends on. To fix this problem, add project references
to NationalInstruments.UI and NationalInstruments.Common.
Measurement Studio does this for you automatically, so you see this issue only if you disable Measurement Studio
integration features in Visual Studio.
OnCursorMouseMove(), OnCursorMouseUp(), and OnCursorMouseDown() methods in the CNiGraph class contains an error. The documentation states that the parameter value for CursorIndex is "The one-based index of the cursor." This parameter should read, "The zero-based index of the cursor." Additionally, the documentation for the OnAnnotationMouseMove(), OnAnnotationMouseUp(), and OnAnnotationMouseDown() methods in the CNiGraph class contains a similar error. The documentation states that the parameter value for AnnotationIndex is "The one-based index of the cursor." This parameter should also read, "The zero-based index of the cursor."
LoadLibrary function.
Under most circumstances, it is unsafe to call LoadLibrary inside
DllMain. Therefore, avoid calling any analysis functions inside
DllMain.
CDHtmlDialog
base class.
get and set methods do not show help in the Object Browser. Refer to the NI Measurement Studio Help to view the help for these properties.
.aspx pages that include Measurement Studio Web Forms controls, pressing F1 help for inherited members of the Measurement Studio ASP.NET Web Forms controls does not launch the correct help. To work around this issue, use the help Search, Index, or Table of Contents for help about Measurement Studio ASP.NET Web Forms controls.
© 2003–2008 National Instruments Corporation. All rights reserved.
Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation.
National Instruments, NI, ni.com, and LabVIEW are trademarks of National Instruments Corporation. Refer to the Terms of Use section on ni.com/legal for more information about National Instruments trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies.
For patents covering the National Instruments products, refer to the appropriate location:
Help»Patents in your software, the patents.txt file on your CD, or ni.com/patents.