Flexible tools for Interactive Model-Based Control Design and Simulation Roma 29-03-2007 Massimiliano Banfi National Instruments - System Engineer Graphical System Design Design Interactive Algorithm Design • Control design • Dynamic system simulation • Digital filter design • Advanced mathematics Prototype Tight I/O Integration • I/O modules and drivers • COTS FPGA hardware • VHDL and C code integration • Design validation tools Deploy Deployable Targets • Rugged deployment platforms • Distributed networking • Human-machine interfaces • Custom designs Control Design Process Modeling and Design System Testing Hardware-inthe-Loop Testing Rapid Prototyping Targeting Modeling and Design Setpoint Error Kc Controller Control Output Kp Feedback Plant Modeling and design produce controller and plant models Rapid Control Prototyping (RCP) Setpoint Error Kc Controller Control Output Kp Plant Creating a functional prototype of the controller Feedback Targeting Production Controller Setpoint Error Kc Controller Control Output Kp Feedback Plant Download control algorithm to production embedded target Hardware-in-the-Loop (HIL) Simulation Setpoint Error Kc Controller Control Output Kp Feedback Plant Testing production controller with simulated plant System Testing Setpoint Error Kc Controller Control Output Kp Plant Feedback Today’s Challenges • Modeling and design – – – – Iterative process Models and design space are complex Prototypes not readily available at start of process Model tuning required based on empirical data • Rapid control prototyping and HIL – Hardware platforms are typically high cost and inflexible – Significant development required to move from offline simulation to real-time implementation NI Platform for Control LabVIEW Development Environment Control Design Toolkit System ID Toolkit Simulation Module State Diagram Toolkit Simulation Interface Toolkit PID & Fuzzy Logic Toolkit NI Motion Control LabVIEW FPGA Targets LabVIEW Embedded LabVIEW Real-Time PXI cRIO, cFP RIO/DAQ Devices 32-Bit mp PXI Platform for Real-Time • I/O connectivity – – – – – – – – Data acquisition Signal conditioning Dynamic signal acquisition Motion control Image acquisition FPGA Reconfigurable I/O Switching Modular instruments • Communication protocols – – – – Ethernet Serial GPIB CAN • Chassis expansion through MXI • 3rd party module support with NI-VISA – Reflective memory, Mil Std 1553 Bus Interface, IRIG B/Telemetry Board, Syncro/Resolvers, Serial Sync Board • 3rd party local displays with serial drivers – NI Touch Panel Computer, QSI, Viewpoint NI CompactRIO Reconfigurable Embedded System Reconfigurable Chassis Real-Time Controller I/O I/O I/O I/O I/O Real-Time Controller I/O I/O I/O Modules • DC power with redundant supply inputs • 50 G shock • -40 to 70 °C temperature Connectivity Signal Conditioning I/O ADC Field Programmable Gate Array (FPGA) • What it is – A silicon chip with unconnected logic blocks – User can define and redefine functionality • How it works – Define behavior in software – Compile and download to the hardware • When it is used – Low volume applications that cannot afford ASIC fabrication – Designs that require frequent changes or upgrades Field Programmable Gate Array (FPGA) PROGRAMMABLE INTERCONNECT I/O BLOCK Source: Xilinx CONFIGURABLE LOGIC BLOCK (CLB) Field Programmable Gate Array (FPGA) devices feature a reconfigurable digital circuit architecture with a matrix of Configurable Logic Blocks (CLBs) surrounded by a periphery of I/O Blocks. Signals can be routed within the FPGA matrix in any arbitrary manner by Programmable Interconnect switches and wire routes. CompactRIO MicroMo Motor Demo Systems • Direct connection to NI 9505 motor drive module • Built-in Quadrature encoder (512 CPR) MicroMo 3242 Brushed DC Motor NI 9505 Motor Drive Module Step 1. Plant Modeling and Analysis Speed Setpoint Error Kc Controller Motor Voltage Kp Plant • Option A. Existing Model • Option B. Mathematical Modeling • Option C. System Identification Actual Speed DC Motor Model 1 2 d (t ) Ri (t ) V (t ) K dt 1 K i (t ) V (t ) (t ) R R 5 6 Note: Assume L (inductance) and b (rotational friction) are very small d 2 (t ) T (t ) J dt 2 d (t ) J Ki(t ) dt d (t ) K K2 J V (t ) (t ) dt R R Laplace transform: JRs ( s) KV ( s) K 2 ( s) 3 4 DC Motor Model Cont. Laplace transform: JRs ( s) KV ( s) K ( s) 6 Reorganizing Terms JRs ( s) K 2 ( s) KV ( s) 7 Resultant Transfer Function 2 Angular Speed Input Voltage ( s) K 2 V ( s ) JRs K 8 Analyzing the Plant Model • Time Response (Step Response) • Frequency Response (Bode Plot) • Pole-Zero Map Property Symbol Units Datasheet Value Measured Value Resistance R Ohms 7.38 7.96 Inductance L H 4.64e-3 6.11e-3 Rotor Inertia J kg-m2 1.9e-6 16e-6 Friction Torque Constant B N-m-s 1.8e-6 Back-EMF Constant Ke V/rad/s 3.11e-2 3.12e-2 Torque Constant Kt N-m/A 3.11e-2 3.11e-2 Diode Threshold Voltage Vth V 0.7 0.8 ( s) K 2 V ( s) JRs K Demonstration: Mathematical Modeling • Modeling in Simulink • Modeling in NI Express Workbench – Transfer Function (State Space, Zero-Pole-Gain) • Modeling in LabVIEW – Transfer Function (State Space, Zero-Pole-Gain) – Time Domain Differential Equation Demo Step 1. Plant Modeling and Analysis Speed Setpoint Error Kc Controller Motor Voltage Kp Plant • Option A. Existing Model • Option B. Mathematical Modeling • Option C. System Identification Actual Speed LabVIEW System Identification Toolkit • • • • • • • • • Identify and validate linear models of systems from empirical data Seamless integration with NI I/O Parametric model estimation (both SISO and MIMO) Nonparametric model estimation Recursive model estimation Data preprocessing Model conversion, validation, and presentation Closed-loop system identification with feedback detection Partially known “grey box” system identification Demonstration: System Identification • System Identification Toolkit – Stimulate and measure response – Identify plant model coefficients LabVIEW System ID Toolkit LabVIEW System ID Toolkit Stimulus Signals AO0 Response QE System ID Algorithms DC Motor Model Mot Cmd Tach Demo Step 2. Control Design Speed Setpoint Error Kc Motor Voltage Controller K JRs K 2 Plant • Many Control Design Options – Focus on Root Locus Method – PID Synthesis Actual Speed LabVIEW Control Design Toolkit • Easily create interactive control design and analysis VIs • Model construction, conversion, and reduction • Time and frequency response • Dynamic characteristics • Classical control design - root locus, PID, lead/lag ... • State-space control and estimation - LQR, LQG, pole placement, Kalman filter ... Demonstration: LabVIEW Control Design LabVIEW Dev Sys LabVIEW System ID Toolkit LabVIEW Control Design Toolkit LabVIEW Control Design Toolkit DC Motor Model Controller Model Analyze Design Analyze Closed-Loop System Plant Controller Demo Step 3. Simulation Speed Setpoint Error s 1 Ti Kc s Controller Motor Voltage K 2 JRs K Actual Speed Plant • Simulate response to arbitrary inputs (vs. step response, etc.) • Simulate controller with non-linear and/or higher-order plant models LabVIEW Simulation Module • Simulate dynamic systems including controllers and plants • Real-time implementation for rapid control prototyping or hardware-in-the-loop simulation LabVIEW Simulation Module Features • Linear systems – continuous and discrete time • Nonlinear system blocks and lookup tables • Fixed-step, variable step, and stiff solvers • Trimming and linearization • Model hierarchy • Integration with Formula node and MathScript node (through subVI) • Integration with 3D picture control for system visualization 3D Picture Control w/ LabVIEW Simulation • • • • • Intern project, 2006 Charles Beaman, UT ME undergrad Transition into courses taught by Prof. Beaman at UT Current effort to put on Connexions (Erik Luther) Can be applied to courses in: – – – – Physics Intro to Engineering Dynamic Systems Controls, … Demontration: LabVIEW Simulation Module Demo LabVIEW Dev Sys LabVIEW System ID Toolkit LabVIEW Control Design Toolkit LabVIEW Simulation Module LabVIEW Simulation Module Speed Setpoint Controller Model DC Motor Model Actual Speed Demo Step 4. Control Prototyping Speed Setpoint Error s 1 Ti Kc s RT PXI System/cRIO Controller Motor Voltage Electric Motor Plant • Prototype controller with real-time hardware – Download control algorithm to RT PXI – Connect to actual plant system (electric motor) Actual Speed Demontration: Real-Time Prototyping • Simulation Module and LabVIEW Real-Time – Implement controller on real-time hardware LabVIEW Dev Sys LabVIEW Simulation Module LabVIEW RT Speed Setpoint LabVIEW Simulation Module Controller Model Actual Speed DC Motor AO Model Update AI Scan Demo Step 5. Targeting Production Controller Error PRODUCTION Motor s 1 Ti Kc EMBEDDED s Voltage CONTROLLER • Production controller with real-world I/O – Download control algorithm to production embedded target – Not connected to real-world plant Demo NI LabVIEW Embedded Development Module • Deploy on any 32-bit processor • Use the same LabVIEW graphical programming to deploy to custom devices • More than 400 built-in numerical analysis and signal processing libraries • Interactive front panel and block diagram debugging • C code generator for breadth of toolchain and target support LabVIEW Embedded Development Module Third party toolchain Third party OS Step 6. Hardware-in-the-Loop Speed Setpoint Error Production Motor Voltage Controller Controller K 2 JRs K RT PXI System Plant Model • Prototype plant with real-time hardware – Download plant model to RT PXI – Connect to production controller Actual Speed 7. Final Test and Verification Speed Setpoint Error NI Core!!! Motor Voltage Actual Speed LabVIEW for Design, Prototype, and Deploy LabVIEW conditional compiling technology provides for: – Model reuse – Test reuse RCP Target Embedded Target HIL Target Benefits of LabVIEW Graphical System Design Simulation Configurable Graphical Dataflow State Diagram Math Script New LabVIEW MathScript • Powerful textual programming for signal processing, analysis, and math – More than 650 built-in functions – Reuse many of your m-file scripts created with The MathWorks, Inc. MATLAB® software and others – Partially based on original math from NI MATRIXx • A native LabVIEW solution – Interactive and programmatic interfaces – Does not require third-party software MATLAB® is a registered trademark of The MathWorks, Inc. All other trademarks are the property of their respective owners. Little or No Learning Curve for Customers Familiar with The MathWorks Inc. MATLAB® Language Syntax LabVIEW MathScript Syntax MATLAB ® syntax Little or No Learning Curve for The MathWorks, Inc. Simulink® Software Users • LabVIEW Simulation Module • The Simulink Software Environment Simulink® is a registered trademark of The MathWorks, Inc. All other trademarks are the property of their respective owners. LabVIEW is the original … Little or No Learning Curve for The MathWorks, Inc. Simulink® Software Users LabVIEW Simulation Module The Simulink Software Environment Simulation Model Conversion – Convert your plant and controller models developed in The MathWorks, Inc. Simulink® environment into LabVIEW Simulation Module code NI LabVIEW Simulation Interface Toolkit (SIT) • Use the LabVIEW Simulation Interface Toolkit to: – Build powerful user interfaces for models developed in the Simulink environment – Interact with, view, and control models from LabVIEW – Deploy models to real-time hardware with LabVIEW Real-Time* *Requires The MathWorks, Inc. Real-Time Workshop® . Real-Time Workshop® is a registered trademark of The MathWorks, Inc. All other trademarks are the property of their respective owners. LabVIEW Simulation Interface Toolkit (SIT) LabVIEW Front Panel Simulation Model SIT Connection Manager LabVIEW Controls and Indicators Model Parameters and Signals Control Design Development Paths Design and Analysis MATRIXx Xmath Math Inter. TK LV Script Node LabVIEW LabVIEW System Build Prototyping and HIL Testing AutoCode Simulation Interface Toolkit (Future) Simulation Interface TK (Future) LabVIEW RT, LabVIEW Windows Math Inter. TK LV Script Node The MathWorks Simulation Code Generation MATLAB® Simulation Interface Toolkit Simulink® Simulation Interface Toolkit RTW References: MicroNova Simulator Windows PC (e.g. user interface) PXI RT HIL Simulator Engine Control Unit (ECU) MicroNova System Display elements and connection panel for ECU Signal conditioning Realtime computer CAN-card Analog Output MicroNova Motor-HIL-card based on NI FPGA card Power supply MicroNova CAN (FPGA to cRIO Expansion Chassis) Lockheed Martin Simulator (PXI, LabVIEW Real-Time, SIT, VISA) • Application – Prototype integrated avionics unit in XSS-11 – Create hardware-in-the-loop/HIL simulator to test LIDAR (light detection and ranging system) controller • Key points – LabVIEW and NI hardware provide future flexibility – NI helped create an interface to a third-party synchronous serial interface using NI-VISA Siemens Power HIL (Hardware-in-the-Loop) Simulation Host and Server Monitor PXI RT System I/O Signals Steam Turbine Simulator Actual Turbine Controller White Goods LabVIEW Real-Time, DAQ, and Simulink models through the Simulation Interface Toolkit (SIT) are used in the design and test of appliances. NI Benefits • Software – One graphical programming approach for Windows, Real-Time, FPGA, Prototypes, Embedded, Distributed & Control Design • I/O – Breadth: plug-in and distributed – Price and Value • Openness – Software (e.g. DLL, SIT, ActiveX/COM, .NET, IVI, OPC, LabVIEW Tools Network) – Hardware (e.g. CompactRIO Modules, PXI based on CompactPCI, PCIExpress) – Virtual Instrumentation means to be able to do full systems in some cases and integrate with others in other cases (e.g. when other products are already in use) Visit the web site: www.ni.com\design • Discuss products and configure your application • Obtain estimated costs or a quote to take with you • Request a free consultation – an NI engineer will come to your office to: – Discuss your application and specialized topics – Demonstrate customized applications, examples, and products • Schedule an onsite seminar at your location