LabVIEW 8.5 Control Design and Simulation Module Readme

August 2007


The LabVIEW 8.5 Control Design and Simulation Module consists of the LabVIEW Control Design Toolkit and the LabVIEW Simulation Module. This file contains the following information about these products.


System Requirements
What's New in 8.5
Installation/Upgrading Instructions
Accessing the Help and Examples
Known Issues
Bug Fixes
Documentation Updates


System Requirements

  • LabVIEW 8.5 Full or Professional Development System for Windows
  • Control Design support requires 92 MB additional disk space
  • Simulation support requires 136 MB additional disk space

What's New in 8.5

The LabVIEW 8.5 Control Design and Simulation Module incorporates the following new features:


  • Linear Model Predictive Control (MPC)—This industry-pioneered MPC technique features both constrained and unconstrained algorithms for real-time implementation.
  • Analytical PID Design—This new technique returns the entire set of stabilizing PID gains for a given linear system model or family of models. You also can provide performance specifications, such as gain and phase margins, to refine the system performance within the set of stabilizing gains. You then can implement the designed PID controller with the National Instruments LabVIEW PID Control Toolkit for real-time execution.
  • New MathScript Functions—This release contains 18 new control-specific functions for use with LabVIEW MathScript.
  • New Model Interconnection VIs—This release contains eight new Model Interconnection VIs that enable you to combine system models in different ways.
  • New Solvers VIs—This release contains five new Solvers VIs that enable you to solve the following equations:
    • Continuous Algebraic Riccati Equation
    • Discrete Algebraic Riccati Equation
    • Continuous Lyapunov Equation
    • Discrete Lyapunov Equation
    • Van Loan Integrals
  • Quick-Start Front Panel Controls—This release contains nine front panel controls that help you define and analyze system models quickly. Access these controls by displaying the front panel window of a VI, viewing the Controls palette, and navigating to the Control Design and Simulation»Control Design palette.
  • Case Structures on the Simulation Diagram—You now can place a Case structure directly on the simulation diagram.

Deprecated Support

The LabVIEW 8.5 Control Design and Simulation Module deprecates support for the Control Design Assistant.


Installation/Upgrading Instructions

Refer to the KnowledgeBase for information about maintaining existing installations of the LabVIEW Control Design Toolkit 2.1.2 or earlier, Simulation Module 8.2 or earlier, and/or System Identification Toolkit 3.0.1 or earlier.


Complete the following steps to install the LabVIEW 8.5 Control Design and Simulation Module.


  1. Install LabVIEW 8.5 Full or Professional Development System.
  2. Activate your copy of LabVIEW.
  3. Launch LabVIEW at least once, then close the application.
  4. Insert the LabVIEW 8.5 Control Design and Simulation Module installation CD.
  5. Run the setup.exe program.
  6. Follow the instructions that appear on the screen.

Note: When loading simulation VIs saved in previous versions of LabVIEW, LabVIEW might search for .xnode files. Let the search run, and LabVIEW will find the files. After you save the VI in LabVIEW 8.5, this issue no longer occurs. You also can select Tools»Advanced»Mass Compile to update an entire directory of VIs to LabVIEW 8.5.


Accessing the Help and Examples

Control Design Support

The LabVIEW Control Design Toolkit User Manual contains conceptual information about using the LabVIEW Control Design Toolkit. Open this manual by selecting Start»Programs»National Instruments»LabVIEW 8.5»LabVIEW Manuals and opening CD_User_Manual.pdf or by navigating to the labview\manuals\ directory and opening CD_User_Manual.pdf.


The LabVIEW Control Design Toolkit VI & Function Help contains reference information about Control Design VIs and functions. Complete the following steps to access the LabVIEW Control Design Toolkit VI and Function Help.


  1. Launch LabVIEW.
  2. Select Help»Search the LabVIEW Help from the pull-down menu to launch the LabVIEW Help.
  3. Click the Contents tab.
  4. Navigate to Toolkits»Control Design VIs and Functions.

Refer to the Control Design Toolkit Algorithm References for information about algorithms implemented in the Control Design Toolkit and their corresponding references. The Control Design Toolkit Algorithm References (CDreference.pdf) is located in the labview\manuals\ directory.


Simulation Support

The LabVIEW Simulation Module Help contains conceptual, how-to, and reference information about the Simulation Module. Complete the following steps to access this help file.


  1. Launch LabVIEW.
  2. Select Help»Search the LabVIEW Help to launch the LabVIEW Help.
  3. Click the Contents tab.
  4. Navigate to the Simulation Module top-level topic.

Finding Examples

The LabVIEW Control Design examples are located in the labview\examples\Control Design\ directory. The LabVIEW Simulation examples are located in the labview\examples\Simulation\ directory.


You also can access these examples by launching LabVIEW and selecting Help»Find Examples. You can modify an example VI to fit an application, or you can copy and paste from one or more examples into a VI that you create.


Known Issues

The following items are known issues in the LabVIEW 8.5 Control Design and Simulation Module.


IDKnown Issue
Control Design VIs and Functions
49NDEF7W Missing XControls
The Stable Set Boundary and Stable Set Interior Points outputs of the CD Design PID for Discrete Systems VI are XControls. These XControls might disappear when you save or load the VI that contains these XControls.

Workaround—Resize or recreate the XControl.
4ADDN67W Canonical form VI does not support MIMO system models
The CD Canonical State-Space Realization VI works only with single-input single-output (SISO) system models. Therefore, if you wire a multiple-input multiple-output (MIMO) system model to this VI, the VI recognizes only the first (0th) element of this system model.

Workaround—Use the Array Functions to index a MIMO system manually and send each element to this VI.
4ACCJK7G No help topics for Solvers VIs
The Solvers VIs do not have topics in the LabVIEW Help.

Workaround—Move the cursor over these VIs to display context help. If you do not see the Context Help window, press the <Ctrl-H> keys to display this window.
4B28C6U9 Some VIs appear broken after mass compilation
If you mass compile the labview\vi.lib\addons\Control Design directory, the following VIs appear broken:

CD Discrete State-Space, CD Discrete Stochastic State-Space (External), CD Discrete Stochastic State-Space (Internal), CD Discrete Transfer Function, CD Discrete Zero-Pole-Gain, CD Predictive Observer, cd_Design PID for Discrete Systems (ZPK), CD Design PID for Discrete Systems, cd_Design PID for Discrete Systems (SS), CD Discrete State-space, CD Bode Graph, CD Nichols Graph, CD Nyquist Graph, CD Pole-Zero Map Graph, CD Root Locus Graph, CD Time Domain Simulation, CD SxZExternInnards.

These VIs are not actually broken.
Simulation VIs and Functions
4ACDRQDL Automatic error handling does not work on simulation subsystems
A VI or function with an unwired error out output does not display any errors from the output.

Workaround—Wire the error out output to the Report Simulation Error function to view errors in simulation subsystems.
4B2DE2R6 Nearly all Sim Configuration pages do not look right on 120 DPI Vista
If you install Simulation support on Microsoft Windows Vista and use a 120 DPI font setting, the configuration dialog boxes of the Simulation functions look incorrect. The front panels of some example VIs also look incorrect.

Workaround—These functions and VIs are not broken. However, you can use a different DPI setting to adjust the appearance.

The following items are known issues from previous versions of the LabVIEW Control Design Toolkit and the LabVIEW Simulation Module.


Control Design VIs and Functions

  • When using the CD Pole Placement VI, if the desired poles are sufficiently close to the open-loop poles, the gain does not place the poles in the desired locations.
  • The CD Parametric Time Response VI calculates rise time by performing a step response and measuring the time it takes to go from 10% to 90% (default values) of the final steady-state value. If a system has a step response where the initial overshoot is in a direction opposite to that of the final steady-state value, that portion of the step response does not affect the calculation of the rise time.
  • When calculating the Input-State DC Gain value of the CD DC Gain VI for a state-space model that has a pure integrator, the VI returns Inf.

Control Design MathScript Functions

  • The LabVIEW MathScript window might not display multiple-input multiple-output (MIMO) system label plots correctly for time and frequency responses. Also, you might not be able to add grids to a subplot.
  • You cannot make root locus plots part of subplots.
  • In the LabVIEW MathScript environment, transfer function polynomial coefficients always are in descending order. However, the Control Design VIs assume these coefficients are in ascending order.

Documentation

  • Some help topics for the Control Design VIs and Functions include links to topics related to the LabVIEW Simulation Module. These links will be broken if you have not installed the Simulation Module.
  • The Detailed Help link for the CD Construct Special TF Model VI links to the help for the CD Construct Special Model VI.
  • The user manual and help refer to the CD Root Locus with Gain VI. The correct name is the CD Root Locus VI.
  • The Context Help window of the CD State Feedback Controller VI does not contain a Detailed Help link.

Simulation VIs and Functions

  • When you launch LabVIEW after installing the Simulation Module, LabVIEW prompts you to mass compile some VIs. If you do not have the LabVIEW Control Design Toolkit installed, LabVIEW displays the following error messages:
    • Search failed to find "CD Pole-Zero Cancellation.vi"
    • Bad VI: "cd_D2C Everything Else from PFE .vi"
    • Bad subVI: "cd_Convert Discrete to Continuous TF.vi"
    • Bad VI: "cd_D2C Everything Else from PFE .vi"
    • Bad subVI: "cd_Convert Discrete to Continuous ZPK.vi"
    The Simulation Module does not use these VIs, so the absence of these VIs does not impact the Simulation Module.
  • Creating a new simulation subsystem from a subsystem VI template results in a broken VI. Workaround: Edit the VI and then recompile the VI. Compiling occurs when you create, save, or load a VI, and also at other times.
  • Express VIs on the simulation diagram display execution status using the incorrect font size.
  • If you set up a VI to execute continuously with minor time steps, the VI executes an additional time after the last major time step.
  • Compiling a simulation subsystem erases the contents of the Windows clipboard.
  • Error reporting behaves differently depending on whether a function has direct or indirect feedthrough.
  • Placing a Simulation function inside a Conditional Disable structure might cause the feedthrough behavior to work improperly.
  • Deleting and then recreating a wire might cause the Run button to appear broken. Workaround: Click the Run button to run the VI.
  • The states output of the Transfer Function function returns the states used internally to realize the continuous transfer function. The internal realization is in canonical form, and the states always initially start at 0.
  • VIs that contain a discrete Simulation function and are saved in a previous version of the Simulation Module appear broken. Workaround: Click the Run button to run the VI.
  • The Indexer function might display some parameters incorrectly.
  • Build specifications fail unless all VIs are saved in the current version of LabVIEW.
  • Wires exiting the Simulation Loop might appear broken when you save or compile a VI. Workaround: Move the mouse cursor over the wire.
  • If you open the configuration dialog box of the State-Space, Transfer Function, Zero-Pole-Gain, Lookup Table 1D, or Lookup Table 2D functions and click the Cancel button, the Save and Load buttons might not work the next time you open the dialog box.
  • The sample skew parameter of the Discrete Linear Systems functions does not properly handle non-zero values. If you specify a non-zero sample skew value for a function, that function might have incorrect output for times between the initial simulation time and the time you specified for execution.
  • The RT Communication Wizard does not work with stand-alone Simulation subsystems.
  • You cannot undo or redo changes in subVI discrete rates.
  • Holding the <Shift> or <Ctrl> keys while resizing Simulation function icons does not constrain the proportions of the icon.
  • You cannot place a LabVIEW MathScript Node inside a Simulation Loop.
  • If you try and execute a hardware-timed application on an RTX target, LabVIEW displays the following two errors:
    • Simulation Loop: Code could not be generated correctly for this VI
    • Input Node: Not supported for current target
    This error means that RTX targets do not support hardware timing. Workaround: Place a checkmark in the Software Timing checkbox on the Timing Parameters page of the Configure Simulation Parameters dialog box. Access this dialog box by double-clicking the Input Node of the Simulation Loop. Refer to the Configuring the Timing of the Simulation Loop topic of the LabVIEW Help for information on using RTX targets.
  • Creating a simulation subsystem from a portion of a VI block diagram causes LabVIEW to delete all undo information. To undo creating the subsystem, you can copy the subsystem block diagram code, delete the subsystem icon from the VI block diagram, and paste the code back onto the VI block diagram.

Simulation Model Converter

  • The Simulation Model Converter reverses terms from the Real-Imag to Complex block.
  • After you close the Simulation Model Converter, the MATLAB application software might display the following message: "Cannot close the model '<ModelName>' when it is being compiled or while the simulation is running". In this situation, enter the following command in the MATLAB application software: <ModelName> ([],[],[],'term'), where <ModelName> is the name of the model you translated.
  • Sum blocks with a single vector input are not translated properly.
  • If the model has a 2D array going into a Widths block, the translated model returns a vector instead of a scalar. Each element of this vector is the width of one dimension of the 2D array.
  • The Digital Clock block translates to the Get Simulation Time function, which executes continuously.
  • Signals from the S-Function block always translate as a vector data type.
  • The Simulation Model Converter incorrectly transposes 2D arrays from the Reshape block.
  • After you translate a model, you might need to convert some data types. To convert from a double to a Boolean, insert a Not Equal to Zero? block. To convert from a Boolean to a double, insert a Boolean to (0, 1) block.
  • If you place a checkmark in the Show Errors checkbox and translate a model, the Currently Translating indicator includes the time for which you keep the Errors and Warnings dialog box open. If you do not want to include this time, place a checkmark in the Log Errors checkbox instead of the Show Errors checkbox.
  • Array indexes in formula and array assignment nodes might be off by one, because LabVIEW array indexes are zero-based.
  • The Simulation Model Converter translates the MATLAB Fcn block as the MATLAB script node with only scalar double input terms.
  • The Simulation Model Converter converts Manual Switch blocks with an array of control switches.
  • Product blocks in Matrix Multiply mode do not function correctly. Try replacing the Product block with the A x B VI.
  • If the model contains a Scope block with multiple input signals, the Simulation Model Converter connects only the first input to that block.
  • The View button in the Errors and Warnings window might not highlight a corresponding node.
  • The Cancel button in the Simulation Model Converter does not work while you are translating a model. Use this button to close and exit the dialog box.
  • Multiple subsystems with identical names will be converted as a single subsystem VI.

Bug Fixes

The following items are the IDs and titles of fixed issues from the LabVIEW Control Design Toolkit 2.1 and the LabVIEW 8.2 Simulation Module.


Control Design VIs and Functions
Bug IDFixed Issue
3UN8I3CI Improve Pole-Zero Cancellation for Core Function
3XBAEAU9"Use of Nyquist in mathscript- nyquist(sys,'atributes') should work."
3UGD5JCIBode fail for Large Model State-Space Model
3YDFM1IJConvert TF to SS Gives Wrong result
3G5CJBCIImprove Model Reduction Algorithm
3MJBD4CIImprove Performance in CD Step Response.vi
3ON9H3IJ Continuous to Discrete VI needs to be revisited
3QJG75U9 conv Conversion from SS to TF of a decouple system - becomes couple -
3QRDDPIJ f1 Covariance response with feedthrough for continuous-time systems
3UN6TQCISysID Pole-zero cancellation failure for sufficiently close complex and real
3VFD1CLQSysID CD Minimal Realization VI does not generate the expected result.
3WBE81IJZOH Discrete to Continuous.vi Does NOT catch the case when A has negative real eigenvalues
3XBGMNIJNeed to create test cases for C2D ZOH with transport fractional delays
3XL9KA00SysID The zero-order-hold method (z->s) does not convert the systems with negative real poles correctly.
3XU8G0U9Inf Norm give different frequency results for same system.
3Z9DHA00SysID The z->s conversion (ZOH method) will fail when there are poles on unit circle.
3Z9DIA00"CDT Shared Part Bug fixes for ""cd_Convert Discrete to Continuous TF.vi"""
42PI9RIJCode optimization for the C2D
44B8DVE9MathScript: lsim func output not behaving as expected
45PFPLIJNeed todetect the case of poles at z=0 in discrete to continuous conversion with ZOH and produce appropriate error message
466CLH00"Need to create code to catch the case of poles at z=0 in discrete to continuous conversion with ""Backward"" and ""Z-Transform"" methods and produce appropriate error message"
466DBB00"Need to create an FTest to verify that we produce error code to catch the case of poles at z=0 in discrete to continuous conversion with ""Backward"" and ""Z-Transform"" methods"
499HI5IJ"Need to add code to ensure symmetry of Riccati soln in ""CARE"" and ""DARE"""
4AC9SOU9Minimal Realization takes too long to execute (80 secs)
4199MSCIFrequency Vector is repeating the first and last point
45BETROUMathScript: c2d function does not accept expected inputs.
47BBQDOUMathScript: 'subplot' does not work with commands that produce their own graphs
499HGIIJCD Similarity Transformation has an unwired output
3V17HQCIDiscrete to Continuous or Continuous to Discrete Could Have Incorrect Result
3Y5DPNCICD Create PID Series Model.vi Gives EmptyModel for Kp
425DMGU9The plot line type does not work for CD plot functions in mathscript.
460B7MLNMathScript - minus/mplus also. conflict with Control Design
46IEAQ00Need to update all the read and write VIs under plug in\Control Design\read or write to make them compatible with new MathScript Gencode
4868SSU9mathscript 'place' function gives an error when poles are not complex
3009HNU9Resolve issue of Transport Delay Residue when plotting MIMO systems in Linear Simulation
3BP8QR7WImplement an example of the rlocfind functionality
3D2FBC Canonical form of linear system
3OND7CIJC2D with Fractional Transport Delays
3VJ8UOIJNeed to revisit the way we distribute input/output/transport delays
3XBEHMIJLinear Simulation with Fractional Delays
400E6MIJAvoid singularity in D2C algorithm for SS whenever the dicrete model has eignevalues at 1
49N955U9"rss, rzpk do not run without arguments"
3LMB3HX7"Basic Operations (+,-,*,/) for Transfer Function and MTF"
3XBEBSIJ"Need to give a warning if ""Distribute Delay VI"" fails to distribute all the transport delays"
48IB6ROUMathScript: function dlsim not supported
46IEAQ00Need to update all the read and write VIs under plug in\Control Design\read or write to make them compatible with new MathScript Gencode
Simulation VIs and Functions
49SG1ACIDiagram Disable with FP Terminal Don't Work as Expected
40FG0BDLDiagram-enabled Sim XNodes have some discrete subVI functionality
3YCGTQALTrim on embedded target reports incorrect error
3ZKCST7GInputs to Switch function are confusing
40UFKML5External Model Interface Examples have their default paths set to local dev machine...They should point to the correct location in the examples folder
41BAI0L5Transport Delay does not correctly report an error when the delay is greater than the max delay when using a variable step size solver. Instead it gives bogus outputs.
4A0AA6DLNeed to remove mass compile CD dialog that prompts after install
49SG1ACIDiagram Disable with FP Terminal Don't Work as Expected
47UASTDLSimulation menu doesn't show up in embedded context
40TD56DLSlider Gain does not set limits and value correctly
41AD8BDLNeed more robust support for end-of-line characters in mdl files
41LFEPDLMutated Subsystems search for instance VIs

Documentation Updates

The following item is an update to the Simulation documentation.


  • You can implement simulation diagrams only on real-time targets with at least 32 MB of RAM.
  • The LabVIEW Help and the LabVIEW Control Design Toolkit User Manual contain references to the MPC Optimization Parameters input of the CD Create MPC Controller VI. This input is not present in the actual VI. This release of the Control Design and Simulation Module does not support constrained the MPC algorithm.

Copyright


© 2004–2007 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.


Trademarks


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.


MATLAB® is a registered trademark of The MathWorks, Inc.


Other product and company names mentioned herein are trademarks or trade names of their respective companies.


Patents


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.