This document provides instructions for setting up and using an xPC target system for real-time control applications. It describes connecting the xPC target computer and student laptops to control hardware. It then explains how to use Simulink to design a controller, compile it to run on the xPC target, execute and monitor the real-time application, tune parameters, and log data.
This document provides instructions for setting up and using an xPC target system for real-time control applications. It describes connecting the xPC target computer and student laptops to control hardware. It then explains how to use Simulink to design a controller, compile it to run on the xPC target, execute and monitor the real-time application, tune parameters, and log data.
This document provides instructions for setting up and using an xPC target system for real-time control applications. It describes connecting the xPC target computer and student laptops to control hardware. It then explains how to use Simulink to design a controller, compile it to run on the xPC target, execute and monitor the real-time application, tune parameters, and log data.
This document provides instructions for setting up and using an xPC target system for real-time control applications. It describes connecting the xPC target computer and student laptops to control hardware. It then explains how to use Simulink to design a controller, compile it to run on the xPC target, execute and monitor the real-time application, tune parameters, and log data.
Feb. 3, 2004 For more detailed information, see the xPC target manual at: www.mathworks.com Control Hardware xPC target xPC target xPC target IP: 128.113.224.??? IP: 128.113.224.104 Student laptops IP: 128.113.224.??? Connect to your experiment through the network. Software Architecture for Host Computer (laptop) MATLAB command line or script 1. Generate real time code and download to computer 2. Execute code and interact with real time process Simulink MATLAB GUI xpcrctool.m Simulink Visual C++ Setting up xPC Target This GUI configures your computer to communicate with the xPC target computer. 1. At the MATLAB prompt type: xpcsetup <enter> 2. Enter appropriate data 3. Click on Update 4. Click on Close See zoom on next page. Xpcsetup Zoom Path to VC++ on your computer IP address of target computer Change all settings to match the values shown below, except for the CompilerPath and TcpIpTargetAddress. The compiler path should contain the path to visual C++ on your computer. Use the TcpIpTargetAddress assigned to the box controlling your hardware. Test your xpc setup Test your setup with a MATLAB xpc target test suite. At the MATLAB prompt, enter: xpctest(noreboot) <enter> It is important to include the noreboot option or the computer will lock up. All is good if there are no errors reported. Create Simulink Model Encoder D/A converter Controller Data logging Encoder Details Channel number: there are four encoder channels available. Set direction of encoder to match your coordinate system. position in radians = 2*pi*Turns + Angle Number of encoder counts xPC Target\Incremental Encoder\Computer Boards\PCI-QUAD04 Use quadrature Find Simulink block: Controller Details Proportional Gain Derivative Gain Finite Difference Velocity Estimate D/A Details xPC Target\D/A\Computer Boards\PCIM-DAS1602 16 Find Simulink block: Channel number: there are 2 D/A channels available. Channels 1 and 2 are connected to motor amplifiers. Desired voltage signal feeds in here Set the range: 10 to +10 volts Reset to initial value after termination Initial value of D/A Configure for Compile (1-runtime) On your Simulink window select: SimulationSimulation ParametersSolver Program will halt after this time Choose fixed step Your real time interrupt rate Configure for Compile (2-compile) 1. Click on Browse. 2. Select xPC Target from the pop up menu. 3. Screen should now look like this. On your Simulink window select: SimulationSimulation ParametersReal-Time Workshop Configure for Compile (3-data log) On your Simulink window select: SimulationSimulation ParametersReal-Time Workshop 1. Select xPC Target code generation options 2. Enter size of data logging buffer. Compile and Download Method 1 Click on the Build button. Using either method 1 or method 2 will cause MATLAB to compile your Simulink Model and download the real time code to the target PC. Method 2 select: ToolsReal-Time WorkshopBuild Model Execute via GUI At the MATLAB prompt, type: xpcrctool <enter> Click play button to start real time code execution. Log data to plot after execution. Monitor signals during run time. Not Real Time! Monitor Signals via GUI 1. Select Host scope 2. Click Add Scope 5. Click Add Signals 3. Select Host Your Simulink diagram will pop up. You can select any signal to monitor by right clicking on the signal trace. 4. Select from pull down menu: ToolsHost Scope Manager Data Logging via GUI After the program has finished, check the outputs box. Click on Plot Logged Data. The outputs correspond to the outport blocks in your Simulink Diagram Data Logging via Command Line Regardless of how you execute the real time code, the logged data will be available from the MATLAB command line after the code has finished. The variable tg.timelog is a time vector tg.outputlog is a matrix of logged data tg.outputlog(:,1) tg.outputlog(:,2) tg.outputlog(:,3) time = tg.timelog; outputlog = tg.outputlog; response =outputlog(:,3); plot(time,response); At the MATLAB prompt: Parameter tuning You can change the parameters during run time by clicking on Simulink blocks. 3. Start execution of your real time code with xpcrctool (or any other method). 1. Select SimulationExternal 2. Select SimulationConnect to Target 4. Click on blocks to change parameter values during real time. 5. After execution finishes, Click on SimulationDisconnect from Target. MATLAB Scripting (1-Application Control) 1. Compile and download code using Simulink start(tg): start execution of real time code stop(tg): stop execution of real time code If you already have a compiled application, you can load it with: load(XPCOBJ, APPNAME) MATLAB Scripting 2 Parameter Tuning set(tg,'ShowParameters','on') ; <enter> tg <enter> Each parameter will have a parameter name (e.g. P1 P14, etc.) To see the list of parameters and associated Simulink variables: Parameters = PROP. VALUE PARAMETER NAME BLOCK NAME P0 -1.000000 Scalar P1 PCI-QUAD04 P1 1024.000000 Scalar P2 PCI-QUAD04 P2 3.000000 Scalar P3 PCI-QUAD04 P3 1.000000 Scalar P4 PCI-QUAD04 P4 3.000000 Scalar P5 PCI-QUAD04 P5 1.000000 Scalar P6 PCI-QUAD04 P6 0.001000 Scalar P7 PCI-QUAD04 P7 3.000000 Scalar P8 PCI-QUAD04 MATLAB Scripting Demo csddemoxpc.m 1. Starts real time code. 2. Tunes the gains during runtime. 3. Stops real time code.