Home
Simscape User's Guide
Contents
1. 0 0 0 0 ce eee eens 1 16 Using the Physical Signal Ports 005 1 16 Creating and Simulating a Simple Model 1 18 Building a Simscape Diagram 000005 1 18 Modifying Initial Settings 0 0 0 0 eee eee 1 26 Running the Simulation 0 0 0 0 cece eee 1 28 Adjusting the Parameters 0 0 00 eee e neces 1 30 Modeling Best Practices 0 0 00 cece eee 1 36 Grounding Rules 0 0 0 eee 1 36 Avoiding Numerical Simulation Issues 1 40 Domain Specific Line Styles 0 0 000 0 1 43 vi Contents 2 Modeling Pneumatic Systems 0000006 1 46 Intended Applications 0 0 cee ee ees 1 46 Assumptions and Limitations 0 00000 e eee 1 46 Fundamental Equations 0 000 e eee eens 1 47 Network Variables 0 1 48 Connection Constraints 0 0 0 eens 1 48 References oseere tir ee ek LEAs bi ee he ba PE ee 1 49 Thermal Liquid Models Modeling Thermal Liquid Systems 2 2 When to Use Thermal Liquid Blocks 2 2 Modeling Workflow 0 000 2 3 Establish Model Requirements 0 0000005 2 3 Model Physical Components 0 000 cee eeee 2 4 Prepare Model for Analysis 0 00 cee eneeee 2 5 Run Simtilation oy a3 cos a ie oa lear fa ee we Ee ee BS 2 5 Thermal Liquid Library 0 00 0
2. Ss a Initialize Variables for a Mass Spring Damper System T Variable Viewer t a Options View STS AE Type here to filter variables by name Name Status Priority Target Start Unit B Ideal_Translational_Motion_Sensor Q ac Q v Q 0 0 m s P Q 01 m BR Q v Q 19 901 m s v Q 19 901 m s f Q 0 0 N v Q 19 901 m s x Q High 01 01 m Mass a BM Q v Q 19 901 m s f Q 299 01 N v High 10 0 19 9009900990099 m s B Mechanical_Translational_Reference Qo BV Q v Q 0 0 m s f Q 299 01 N amp Translational_Damper a Q v Q 0 0 m s GR Q v Q 19 901 m s f a High 200 0 199 009900990099 N v Q 19 901 m s Translational_Spring Q ac Q v Q 0 0 m s BR Q v Q 19 901 m s f Q 100 0 N v Q 19 901 m s x High 01 01 m Unable to satisfy all high priority targets Variables at start Y The overall status at the bottom of the Variable Viewer window now displays a red square and says that the solver is unable to satisfy all the high priority variable targets There are red squares in the Status column for the two high priority variables with targets not satisfied as well as for their parent blocks Notice that the solver has been able to find a solution for model initialization If you rerun the simulation it runs without errors and you can see the new simulation results 5 15 5 Variable Initialization and State Viewer 5 16 B Velocity P
3. Time s 4 Zoom for a closer look at the inflection point at time t 5 seconds Reduce Numerical Stiffness Speed rpms h3 xStart 0 xEnd 10 yStart 4000 yEnd 4000 xZoomStarti 4 8 xZoomEnd1 5 2 yZoomStart1 400 yZoomEnd1 150 axis xZoomStart1 xZoomEnd1 yZoomStart1 yZoomEnd1 Speed 150 Reference 100 Modified 50 th n ai no Q ae 48 4 85 49 4 95 5 5 05 5 1 5 15 5 2 Time s At this zoom level you can see a small difference in the results but the simulation results for the modified model are accurate enough to meet expectations based on empirical and theoretical data The Friction Load is now less numerically stiff The figure of step size during simulation shows that other elements in the model are also responsible for slow recovery times 7 39 7 Real Time Simulation Reduce more slow recovery steps by examining and modifying the other elements that cause stiffness You can also increase speed by modifying the model using methods in Reduce Computation Costs on page 7 25 and Reduce Zero Crossings on page 7 41 If you can eliminate all small steps that might generate an overrun you can attempt to runa fixed step simulation using the methods in Choose Step Size and Number of Iterations on page 7 79 See Also Rotational Friction Related Examples Determine Step Size on page 7 15 Estimate Computation Costs o
4. Related Examples Log Navigate and Plot Simulation Data on page 9 21 Log and View Simulation Data for Selected Blocks on page 9 17 More About About Simulation Data Logging on page 9 2 About the Simscape Results Explorer on page 9 26 9 37 Model Statistics Simscape Model Statistics on page 10 2 1 D Physical System Statistics on page 10 4 3 D Multibody System Statistics on page 10 7 1 D 3 D Interface Statistics on page 10 10 e View Model Statistics on page 10 11 e Access Block Variables Using Statistics Viewer on page 10 16 10 Model Statistics Simscape Model Statistics 10 2 Viewing Simscape model statistics is a good way to evaluate the model prior to simulation Model statistics provide feedback on the model complexity so that you can make informed choices about whether you want to simulate the model in its current configuration or make changes to it This approach helps you achieve the desired simulation performance and goals Unlike other derived data such as data logging or simulation statistics which is generated during simulation model statistics is compile time data that is generated before the model is simulated When you generate model statistics the model must be in a compilable state that is it must satisfy the requirements described in Model Validation on page 4 7 Use model statistics as part of the iterati
5. Print the zero crossing data sscprintzcs simlog ssc_pneumatic_rts_ stiffness redux 155 signals 65 crossings Directional_5 way_valve 144 signals 28 crossings Area_A_R 12 signals crossings Area_B S 12 signals crossings Area_PA Area_P_B 12 signals crossings 2 2 12 signals 2 crossings 2 Variable Area_Orifice_1 _1 24 signals 4 crossings Variable_Area_Orifice_2 24 signals 6 crossings Variable_Area_Orifice_3 24 signals 6 crossings Variable_Area_Orifice_4 24 signals 4 crossings Friction_Load 2 signals 4 crossings Pipe_1 2 signals 0O crossings Constant_Chamber 2 signals O crossings Pipe 2 2 signals 0 crossings Constant_Chamber 2 signals O crossings Pneumatic_Motor 5 signals 33 crossings The overall number of zero crossings has decreased from 101 to 65 The number of zero crossings in the motor has decreased from 50 to 33 Reduce Zero Crossings 3 To compare the results use the simscape logging plot function to plot the W rad s reference results and the results from the modified model to a single plot simscape logging plot simlogRef Measurements Ideal_Rotational_Motion_Sensor W simlog Measurements Ideal_Rotational_Motion_Sensor W names Reference Modified Ww Reference Modified The results look the same Zoom control for a closer look at the inflection point at t 5 seconds
6. Rotational Electromechanical File Edit View Inset Tools Desktop Window Help NEMS h 8Q8O984 a 08 e0 AAGIZA ssc_dcmotor B DC_Motor gt G Friction BG Inertia __ G2 G Rotational_Electromechanical_Converter e e o be oHe Mi lt to 3o 32 eal Rotor_Inductance Rotor_Resistance a DC_Voltage ERef a Load_Torque H MRRef_Motor H MRRef_Torque G Sensing Statistics for selected node id w 5 1 1 4 i Number of time steps 115 01 012 014 016 0 18 Number of logged variables 1 Time s Number of logged zero crossing signals 0 Source Rotational Electromechanical Converter Tips 9 36 View Sparkline Plots of Simulation Data Ifyou select a block for which simulation data is not being logged it displays No variables instead of the sparkline plots Right click the block select Simscape gt Log simulation data and rerun the simulation Toclear all plots and start again with a clean canvas select Display gt Simscape gt Remove All Sparklines Then you can select more blocks and variables to display their sparkline plots Repeatedly selecting the Toggle Sparklines When Clicked menu option toggles the ability to view the sparkline plots for the model on or off as indicated by the check mark When the check mark is on repeatedly selecting a block toggles the display of its sparkline plots on and off
7. Log Navigate and Plot Simulation Data on page 9 21 More About About Simulation Data Logging on page 9 2 About the Simscape Results Explorer on page 9 26 9 20 Log Navigate and Plot Simulation Data Log Navigate and Plot Simulation Data This example shows the basic workflow for logging simulation data for the whole model and then navigating and plotting the logged data using Simscape Results Explorer 1 Open the Permanent Magnet DC Motor example model by typing ssc_dcmotor in the MATLAB Command Window iy ssc_demotor Simulink ajea File Edit View Display Diagram Simulation Analysis Code Tools Help ty A B oOp I QO fa ssc_dcmotor T a Load Torque EJ De Step Input E Voltage Configuration Permanent Magnet DC Motor c 1 Plot current and load torque see code LHI 2 Explore simulation results using sscexplore 3 Learn more about this example Ready 100 odel5s 2 Open the Configuration Parameters dialog box and then in the left pane select Simscape You can see that this example model already has data logging for the whole model enabled as well as simulation statistics and that the workspace variable name is simlog_ssc_dcmotor Select the Open viewer after simulation check box and click OK 9 21 9 Data Logging 9 22 G El Category List Select Solver Data Import Export gt Optimization gt D
8. Not all the states of the LTI model derived in this example are independent Confirm this by calculating the determinant of the a matrix det a The determinant vanishes Linearize an Electronic Circuit which implies one or more zero eigenvalues To analyze the LTI model reduce the LTI matrices to a minimal realization Obtain a minimal realization using the minreal function a0 b0 c0 d0 minreal a b c d 13 states removed Extracting the minimal realization eliminates 13 dependent states from the LTI model leaving four independent states Analyze the control characteristics of the reduced a0 bO c0 dO LTI model using a Bode plot bode a0 b0 c0 d0 Creates first Bode plot The circuit with R1 changed from 47 to 15 kOhm has a different steady state and response Double click the R1 block change the Resistance value to 15 kOhm and click OK Open the Load Voltage scope and simulate the model The collector voltage is now no longer amplified relative to the 10 mV AC source but attenuated G Load Voltage o a a File Tools View Simulation Help 40nr 0 2 Q 0 Fa Ready T 0 010 6 21 6 Linearization and Trimming 6 22 Produce the LTI model at the second steady state reduce it to a minimal realization and superpose the second Bode plot on the first one a_R1 b_R1 c_R1 d_R1 linmod ssc_bipolar_nonlinear aO_R1 b0_R1 cO_R1 d0_R1 minreal a_R1 b_R1 c_R1 d_R1 13 states r
9. What Is Hardware in the Loop Simulation on page 7 96 Solvers for Real Time Simulation Solvers for Real Time Simulation In this section Choosing Between Discrete and Continuous Solvers on page 7 64 Computational Cost for Continuous Solvers on page 7 64 How Numerical Stiffness Affects Solver Choice on page 7 65 Using Simscape Local Fixed Step Solvers on page 7 66 To run your model on a real time target configure your model for fixed step fixed cost simulation The type of fixed step solver step size and number of iterations that you specify affect the speed and accuracy of your real time simulation Each distinct Simscape physical network in your model has its own Simscape Solver Configuration block You can set the solver choice differently for each physical network If you do not check the local solver option for a physical network then that network will use the Simulink global solver that you specify When choosing a fixed step solver type the main factors to consider for each network in your model are Whether the network is discrete or continuous The computational cost of the solver The numerical stiffness of the network The following table summarizes the types of fixed step solvers in the Simulink and Simscape libraries Realm Type Numerical Method Solver Simulink Continuous Explicit odel Euler s method global solver ode2 Huen s method
10. c c d d npts 100 f logspace 2 10 npts G zeros 1 npts for i 1 npts G i c 2 pi 1i f i eye size a a 1 b d end subplot 211 semilogx f 20 10g10 abs G grid ylabel Magnitude dB subplot 212 semilogx f 180 pi unwrap angle G ylabel Phase degrees xlabel Frequency Hz grid Linearize an Electronic Circuit Qn Figure 1 Ss File Edit View Inset Tools Desktop Window Help x DSES F ARC9084 2 08 an 50 T T T T T 0 50 100 Magnitude dB 150 1 1 1 1 1 102 10 10 104 108 108 ma 200 100 Phase degrees 200 nia me J 10 10 102 104 108 108 1010 Frequency Hz Linearize with Simulink Control Design Software Note To work through this section you must have a Simulink Control Design license Simulink Control Design software has tools that help you find operating points and returns a state space model object that defines state names This is the recommended way to linearize Simscape models 1 In the top menu bar of the Nonlinear Bipolar Transistor model select Analysis gt Control Design gt Linear Analysis 2 Inthe Linear Analysis Toolstrip click the Bode plot button 6 19 6 Linearization and Trimming 6 20 SSS A Linear Analysis Tool ssc_bipolar_nonlinear Bode Plot 1 eA LINEAR ANALYSIS ESTIMATION P
11. 2 10 In this section How Blocks Represent Components on page 2 10 How Ports Represent Interfaces on page 2 11 Full Flux Scheme on page 2 12 How Blocks Represent Components Thermal Liquid models are based on the finite volume method This method discretizes a thermal liquid system into multiple control volumes that interact via shared interfaces An oil pipeline system is one example you can model this system as a set of pipeline segments that connect serially along the pipeline length H Liquid System _ c YS eee Finite Volume Volume Interface Discretization of Pipeline System A control volume can represent a thermal liquid component such as an oil pipeline or a part of a component such as a pipeline segment You can discretize a thermal liquid system and its components as finely as you need for example to increase simulation accuracy However the finer the discretization the greater the model complexity and the slower the simulation Thermal Liquid blocks represent the control volume of a component using an internal node This node provides the liquid pressure and temperature inside the component The node is not visible but you can access its parameters and variables using Simscape data logging For more information see About Simulation Data Logging on page 9 2 Thermal Liquid Modeling Framework sl s gt 0 A B Thermal
12. DC Voltage 10V C1 1e 06 F 1e 06 F Nonlinear NPN Transistor RL 100 kOhm R4 600 Ohm Load Voltage 11 kOhm Solver E s k Configuration Nonlinear Bipolar Transistor E 1 Plotvoltages at transistor terminals see code 2 Linearize circuit to view frequency response See code 3 Explore simulation results using sscexplore 4 Learn more about this example 6 13 6 Linearization and Trimming 6 14 The model represents a single transistor audio amplifier The transistor is an NPN bipolar device and as such has a nonlinear set of current voltage characteristics Therefore the overall behavior of the amplifier is dependent on the operating point of the transistor The transistor itself is represented by and Ebers Moll equivalent circuit implemented using a masked subsystem The circuit has a sinusoidal input test signal with amplitude 10 mV and frequency 1 kHz The Load Voltage scope displays the resulting collector output voltage after the DC is filtered out by the output decoupling capacitor R1 and R2 set the nominal operating point and the small signal gain is approximately set by the ratio R3 R4 The decoupling capacitors C1 and C2 have a capacitance of 1uF to present negligible impedance at 1 kHz The model is configured for linearization You can quickly generate and view the small signal frequency response by clicking the Linearize circuit hyperlink in model annotation
13. Oo N oO on Reference Local Ts 0 01s N 3 Global Ts 0 01s Time 1 7 Local Ts 0 01s N 10 Global Ts 0 01s Time 1 56 The simulation is fast enough for real time simulation because it took less time to run than the four second simulation execution budget 5 Zoom to evaluate accuracy figure h2 axis xZoomStart xZoomEnd yZoomStart yZoomEnd 7 90 Choose Step Size and Number of Iterations Pressure Pa 408 Cylinder Pressure 3 4 3 2 3 2 8 2 6 0 25 0 3 0 35 0 4 0 45 0 5 0 55 0 6 Time s Reference Local Ts 0 01s N 3 Global Ts 0 01s Time 0 95197 Local Ts 0 01s N 10 Global Ts 0 01s Time 1 0699 Overall the results are not much more accurate than the results from the simulation with fewer iterations Try to improve accuracy by decreasing the step size to 1e 3 seconds for the local and global solvers Specify 3 for the number of iterations N ts 1e 3 tsG 1e 3 N 3 Run a timed simulation tic sim ssc_hydraulic_actuator_HIL tSim3 toc time3 max tSims3 7 91 7 Real Time Simulation 7 92 Extract the pressure and simulation time data simlog3 simlog_ssc_hydraulic_actuator_HIL pNodeSim3 simlog3 Hydraulic_Actuator Hydraulic_Cylinder Chamber_A A p pSim3 pNodeSim3 series values Pa tSim3 pNodeSim3 series time Plot the results figure h2 hold on plot tSim3 pSim3 k delete
14. Real Time Simulation Workflow on page 7 57 7 9 7 Real Time Simulation Improving Speed and Accuracy 7 10 In this section Why Speed and Accuracy Matter for Real Time Simulation on page 7 10 Balancing Speed and Accuracy on page 7 11 Eliminating Effects That Require Intensive Computation on page 7 12 Optimizing Local and Global Solver Configurations on page 7 13 Upgrading Target Hardware on page 7 13 Simulating Parts of the System in Parallel on page 7 13 Why Speed and Accuracy Matter for Real Time Simulation Speed and accuracy are the determining factors for making your model real time capable Your model is real time capable if it satisfies both of these conditions when you simulate it on your particular target hardware There are no overruns The simulation results meet your criteria for accuracy Speed is objective The real time clock determines Tether or not your model is fast enough for real time simulation For each step that your solver takes your real time hardware system tracks the time that it takes to complete these processing tasks Execute the simulation e Process input and output Perform general computer tasks An overrun occurs when for any time step the time that it takes your system to complete the processing tasks exceeds the real time limit for the tasks If your target machine reports any overruns when you use it to simulate you
15. The model could be considerably more complex for example it could account for friction fluid compressibility inertia of the moving parts and so on For all these different mathematical models however the element configuration that is the number and type of ports and the associated Through and Across variables would remain the same meaning that the Physical Network approach lets you substitute models of different levels of complexity without introducing any changes to the schematic For example you can start developing your system by using the Resistive Tube block from the Foundation library which accounts only for friction losses At a later stage in development you may want to account for fluid compressibility You can then replace it with a Hydraulic Pipeline block available with SimHydraulics block libraries or depending on your application even with a Segmented Pipeline block if you also need to account for fluid inertia This modeling principle is called incremental modeling Direction of Variables Each variable is characterized by its magnitude and sign The sign is the result of measurement orientation The same variable can be positive or negative depending on the polarity of a measurement gauge Elements with only two ports are characterized with one pair of variables a Through variable and an Across variable Since these variables are closely related their orientation is defined with one direction For example if
16. The new plot shows an oil temperature at the pipe outlet top curve that significantly exceeds that at the pipe inlet bottom line Viscous dissipation now dominates the thermal energy balance in the pipeline segment The new insulation thickness poses a design problem in a long pipeline a 1 1 K km heating rate can raise the oil temperature substantially at the receiving end of the pipeline Plotting the kinematic viscosity as a function of time shows that its variability is now quite significant also At the MATLAB command line enter the logging command simscape logging plot simlog Pipe_TL pipe_model nu Heat Transfer in Insulated Oil Pipeline nu mm 2 s 0 1000 2000 3000 4000 5000 6000 7000 8000 Time s Try increasing the inner diameter of the insulation layer D1 to 0 55 By increasing this value you decrease the insulation thickness accelerating heat loss through the pipe wall via thermal conduction Then run the simulation Open the Comparison scope and autoscale to view the full plot 2 23 2 Thermal Liquid Models 2 24 333 1 Upstream 333 05 Downstream 333 99295 Le s J ivacanerig LER EEEN ee Sagtindassd spausaaadied Paasa 33294 N E ars saarin ouea dassi Poisson e E 332 85 be Geeeeeeeees TE TE Sk annosa itaatin aeni 332g eanas e Fa6 TEE EE Berreeereni ETEA hapnin Dioras 999 7G ORAE T i Oe aeei SOSE TERESIE T TE 0 1000 2000 3000 4000 5000 6000 7000 8000 The result
17. i i i i 4 i i i i 4 i i i 0 O02 04 m06 08 1 eee et N E 2 Angular velocity rpm x 10 For more information on plotting logged simulation data see the simscape logging plot and simscape logging plotxy reference pages 9 12 Log Simulation Statistics Log Simulation Statistics This example shows how you can access and analyze information on zero crossings during simulation By default the zero crossing data is not logged If you select the Log simulation statistics check box the simulation log variable contains an additional SimulationStatistics node for each block that can produce zero crossings at the price of slower simulation speed and heavier memory consumption The model shown represents a permanent magnet DC motor Motor Inertia J Load ire lt j PSS Apply stall torque st Rotational t 0 1s Electromechsnical Converter Friction Mr Solver Configuration This model is the same as the one used in the Log and Plot Simulation Data on page 9 8 example Build the model as shown in the preceding illustration 2 To enable data logging open the Configuration Parameters dialog box in the left pane select Simscape then set the Log simulation data parameter to A11 select the Log simulation statistics check box and click OK 9 13 9 Data Logging 9 14 ac guration Paramet
18. xStart 0 xEnd 10 yStart 400 yEnd 400 xZoomStart1 9 xZoomEnd1 1 6 7 51 7 Real Time Simulation 7 52 W rad s yZoomStart1 20 yZoomEnd1 220 axis xZoomStart1 xZoomEnd1 yZoomStart1 yZoomEnd1 Ww 200 Reference Modified 150 0 9 1 1a 12 13 1 4 15 16 Time s At this zoom level you can see a small difference in the results for the modified model However the simulation is accurate enough that the results meet expectations based on empirical and theoretical data Examine the step size for the simulation with the modified model h1 axis xStart xEnd yStart yEnd h1 hold on semilogy tout 1 end 1 diff tout x Color r Reduce Zero Crossings Step Size s LineWidth 1 MarkerSize 5 title Solver Step Size Xlabel Time s ylabel Step Size s hiLeg2 legend Reference Modified 300 65 0 3 0 7 Solver Step Size Time s You have reduced the number of zero crossings by eliminating most of the chatter at the beginning of the simulation Events still slow the simulation at t 1 4 5 8 and 9 seconds To improve simulation speed further before performing the real time simulation workflow with this model try Repeating the method shown in this example to identify and adjust other elements that cause zero crossings that are responsible for the small steps 7 53 7 Real Time Simulation 7 54 Reducing any numeri
19. 1992 1 49 Thermal Liquid Models Modeling Thermal Liquid Systems on page 2 2 Thermal Liquid Library on page 2 6 Thermal Liquid Modeling Framework on page 2 10 Heat Transfer in Insulated Oil Pipeline on page 2 14 2 Thermal Liquid Models Modeling Thermal Liquid Systems 2 2 In this section When to Use Thermal Liquid Blocks on page 2 2 Modeling Workflow on page 2 3 Establish Model Requirements on page 2 3 Model Physical Components on page 2 4 Prepare Model for Analysis on page 2 5 Run Simulation on page 2 5 When to Use Thermal Liquid Blocks The Thermal Liquid library expands the fluid modeling capability of Simscape With this library you can account for thermal effects in a fluid system For example you can model the warming effect of viscous dissipation in a pipe You can also account for the temperature dependence of fluid properties e g density and viscosity To decide whether Thermal Liquid blocks fit your modeling needs consider the fluid system you are trying to represent Other Simscape blocks e g Hydraulic or Pneumatic may better suit your application Assess the following Number of phases Is the fluid medium single phase or multiphase Relevant phases Is the fluid medium a gas a liquid or a multiphase mixture Thermal effects Does temperature change significantly in the time scale of th
20. Controller preconfigured with code from your controller model Peripheral for transferring code to the real time target Wiring harness to connect the real time target to the controller Note You might also need a real time operating system depending on the requirements of your real time target Software Requirements The minimum software requirements for HIL simulation with a custom application are Embedded Coder and the Embedded Coder Software Requirements including Simulink Coder and the Simulink Coder Software Requirements C compiler For more about the Embedded Coder C compiler requirements see Embedded Coder C Compiler Requirements Cross compiler 7 111 7 Real Time Simulation 7 112 Template example main function that you can manually or automatically combine with generated code TO driver Options are Ccode I O driver for the code generation build e Precompiled static or dynamic library with the necessary documentation More About About Code Generation from Simscape Models on page 8 2 How Simscape Code Generation Differs from Simulink on page 8 5 Hardware in the Loop Simulation Workflow on page 7 100 Limitations on page 9 3 What Is Hardware in the Loop Simulation on page 7 96 Code Generation About Code Generation from Simscape Models on page 8 2 Reasons for Generating Code on page 8 3 Using Code Related Products
21. Simscape log data will be part of the single output object instead of being stored as a separate workspace variable For more information see Save simulation output as single object Limitations Simulation data logging is not supported for Model reference Generated code e Accelerator mode Rapid Accelerator mode Related Examples Log Navigate and Plot Simulation Data on page 9 21 Log and View Simulation Data for Selected Blocks on page 9 17 Log and Plot Simulation Data on page 9 8 Log Simulation Statistics on page 9 13 More About Data Logging Options on page 9 6 9 3 9 Data Logging Enable Data Logging for the Whole Model 9 4 Using data logging is a best practice for Simscape models because it provides access to important simulation and analysis tools Therefore when you create a model by using the ssc_new function or any of the Simscape model templates data logging for the whole model is turned on automatically However for models created using other methods simulation data is not logged by default To turn on the data logging for a model use the Log simulation data configuration parameter 1 In the model window from the top menu bar select Simulation gt Model Configuration Parameters The Configuration Parameters dialog box opens 2 Inthe Configuration Parameters dialog box in the left pane select Simscape The right pane displays the Log simulati
22. Two phase fluid building blocks that model fundamental thermodynamic effects in systems where the working agent is part liquid and part vapor T Model Construction 1 12 Physical Signals block library that lets you perform math operations on physical signals and graphically enter equations inside the physical network Using the elements contained in these Foundation libraries you can create more complex components that span different physical domains You can then group this assembly of blocks into a subsystem and parameterize it to reuse and share these components In addition to Foundation libraries there is also a Simscape Utilities library which contains utility blocks such as Solver Configuration block which contains parameters relevant to numerical algorithms for Simscape simulations Each Simscape diagram or each topologically distinct physical network in a diagram must contain a Solver Configuration block Simulink PS Converter block and PS Simulink Converter block to connect Simscape and Simulink blocks Use the Simulink PS Converter block to connect Simulink outports to Physical Signal inports Use the PS Simulink Converter block to connect Physical Signal outports to Simulink inports For examples of using these blocks in a Simscape model see the tutorial Creating and Simulating a Simple Model on page 1 18 You can combine all these blocks in your Simscape diagrams to model physical systems You can al
23. Visual Studio for 32 bit Windows and Microsoft Visual Studio for 64 bit Windows For all other compilers the static runtime libraries needed by code generated from Simscape models are compiled once per model during the code generation build process Simscape Code Reuse Not Supported Reusable subsystems in Simulink reuse code that is generated once from the subsystem You cannot generate reusable code from subsystems containing Simscape blocks Tunable Parameters Not Supported A tunable parameter is a Simulink run time parameter that you can change while the simulation is running Simscape blocks do not support tunable parameters in either simulations or generated code Simscape Run Time Parameter Inlining Override of Global Exceptions If you choose to enable parameter inlining for code generated from a Simscape model the software inlines all its run time parameters If you choose to make some of the global Simscape block parameters exceptions to inlining the exceptions are ignored You can change global tunable parameters only by regenerating code from the model Data Logging e About Simulation Data Logging on page 9 2 Enable Data Logging for the Whole Model on page 9 4 e Log Data for Selected Blocks Only on page 9 5 Data Logging Options on page 9 6 Log and Plot Simulation Data on page 9 8 Log Simulation Statistics on page 9 13 Log and View Simulation Data for Selec
24. W Cv p IW R v Wi jo p v J Ready oo odelds 7 Clear all the check marks and select the last variable w instead Then click anywhere on the model canvas to close the variable selection box As you hover over the field with the variable name on the canvas it expands into a sparkline plot of logged simulation data for that variable 9 34 View Sparkline Plots of Simulation Data File Edit View Display Diagram Simulation Analysis Code Tools Help H A e gt tme R gO Hw Nog ocmotor P ssc_demotor gt Pajoc Motor v Q a Inertia Bal a Rotational Electromechanical Converter Ready 100 odel5s The plot display includes the minimum and maximum values as well as time and value for the current cursor position As you move your cursor past the right edge of the plot the current value is replaced with the last value of the variable Clicking or hovering over the arrow to the right of the sparkline plot opens an additional field underneath which contains a link to the Simscape Results Explorer When you click the icon the Simscape Results Explorer window opens displaying the corresponding plot in the right pane with the appropriate node selected in the left pane 9 35 9 Data Logging e oe lay w HB e gt fl O R AWA I wA DC motor ssc_demotor Pa DC Motor CENE S
25. an electrical model both have a few steps that are le 15 seconds It is possible for model M1 to simulate with sufficiently accurate results on real time processor RT1 but to incur an overrun or simulate with insufficiently accurate results on real time processor RT2 It is also possible that model M1 runs to completion with accurate results on RT1 and RT2 whereas model M2 generates an overrun on both processors These scenarios are possible because the distinct model topologies yield different dynamics and because nominal processing speed is not the only determinant for simulation execution time Other factors such as the operating system and I O configuration also affect how simulation execution proceeds on a real time processor Familiarity with system dynamics and the processing power of your real time equipment can guide your decision making when you assess the impact of small step sizes on the real time viability of a model Adjust Model Fidelity or Scope Modify the model to increase speed or accuracy if your analysis indicates that real time simulation with the model is likely to have an overrun or yield insufficiently accurate results When you evaluate overrun risk if you find that the simulation uses too many small steps use these approaches to improve simulation speed Reduce numerical stiffness Reduce zero crossings e Reduce computation costs e Partition the model for parallel processing When you evaluate model acc
26. and then make other adjustments The real time model preparation and the real time simulation workflows separate the configuration changes into two different step wise processes For the real time model preparation workflow you adjust only the size or fidelity of your model and use variable step simulation to analyze the effects of your changes For the real time simulation workflow you adjust only the solver parameters and you use fixed step fixed cost simulation to analyze how the changes affect the speed and accuracy of your model Related Examples Determine Step Size on page 7 15 Reduce Computation Costs on page 7 25 Reduce Numerical Stiffness on page 7 31 Reduce Zero Crossings on page 7 41 7 4 7 Real Time Simulation More About Fixed Cost Simulation for Real Time Viability on page 7 55 Improving Speed and Accuracy on page 7 10 Real Time Model Preparation Workflow on page 7 5 Real Time Simulation Workflow on page 7 57 Real Time Model Preparation Workflow Real Time Model Preparation Workflow The figure shows the real time model preparation workflow Real Time Model Preparation Adjust Model Fidelity or Scope Perform Variable Step Simulation Is Model Accuracy Acceptable Retum to the Real Time Model Preparation Workflow Are Small Steps Likely to Cause an Overrun Obtain Reference Results Perform the Real Time Simul
27. defines Fahrenheit in terms of Celsius pm_addunit R 5 9 0 K defines rankine in terms of kelvin When to Apply Affine Conversion In dealing with affine units sometimes you need to convert them using just the linear term Usually this happens when the value you convert represents relative rather than absolute temperature AT T To AT new L x AT ota In this case adding the affine offset would yield incorrect conversion results 11 11 11 Physical Units 11 12 For example the outdoor temperature rose by 18 degrees Fahrenheit and you need to input this value into your model When converting this value into kelvin use linear conversion AT kelvin 5 9 a AT Fahr and you get 10 K that is the outdoor temperature changed by 10 kelvin If you apply affine conversion you will get a temperature change of approximately 265 kelvin which is incorrect This is even better illustrated if you use degrees Celsius for the input units because the linear term for conversion between Celsius and kelvin is 1 Ifthe outdoor temperature changed by 10 degrees Celsius relative temperature value then it changed by 10 kelvin do not apply affine conversion Ifthe outdoor temperature is 10 degrees Celsius absolute temperature value then it is 283 kelvin apply affine conversion How to Apply Affine Conversion When you specify affine units for an input temperature signal it is important to consider whether y
28. otherwise you get an error message 5 31 5 Variable Initialization and State Viewer 5 32 If the scopes are open they turn blank every time you open or refresh the viewer Rerun the simulation to see the new results If you rerun the simulation while the Variable Viewer is open the results in the viewer are automatically refreshed when the simulation starts running If you change variable priorities and targets or adjust the block parameters while the Variable Viewer is open the results in the viewer are not updated automatically Refresh the viewer by clicking G in the Variable Viewer toolbar to compute the new actual values of the variables and update the status If you update block diagram by selecting Simulation gt Update Diagram in the top menu bar of the model window while the Variable Viewer is open the previously computed actual values become unavailable and the Status column displays gray rectangles The overall status at the bottom of the Variable Viewer window is also not available Refresh the viewer to compute the new actual values of the variables and update the status Related Examples Initialize Variables for a Mass Spring Damper System on page 5 7 More About About Variable Initialization on page 5 2 Linearization and Trimming Finding an Operating Point on page 6 2 Tinearizing at an Operating Point on page 6 7 Linearize an Electronic Circuit on page 6
29. rerun the simulation or a new window is opened after the next simulation run by linking and unlinking the window When you first open the Simscape Results Explorer window it is linked to the current MATLAB session This means that when you run a new simulation the results in the window will be overwritten To retain the current results and open a new window after 2 the next simulation click the button located in the toolbar above the left pane The button appearance changes to 2 and when the new window opens after simulation that window will be linked to the session Only one window can be linked to the session E7 ra button so if you have multiple windows open linking one of them by clicking on its unlinks the previous one Related Examples Log Navigate and Plot Simulation Data on page 9 21 Log and View Simulation Data for Selected Blocks on page 9 17 Use Custom Units to Plot Simulation Data on page 9 27 Use Custom Units to Plot Simulation Data Use Custom Units to Plot Simulation Data Simscape Results Explorer has a set of default units for plotting the logged data This example shows how you can change to a custom unit for example to plot rotations in degrees rather than radians 1 Create a file named ssc_customlogunits m and save it anywhere on the MATLAB path The file should contain a function called ssc_customlogunits which returns a cell array of the units to be used f
30. the context menu select Simscape gt Log simulation data A check mark appears in front of the Log simulation data option 3 Simulate the model When the simulation is done the simulation data log contains only the data from the selected blocks To stop logging data for a previously selected block right click on it and select Simscape gt Log simulation data again to remove the check mark If you set the Log simulation data parameter to A11 the simulation log will contain data from the whole model regardless of the block selections Setting the Log simulation data parameter to None disables data logging for the whole model Related Examples Log and View Simulation Data for Selected Blocks on page 9 17 More About Data Logging Options on page 9 6 9 5 9 Data Logging Data Logging Options When you set the Log simulation data configuration parameter to All or Use local settings other options in the Data Logging group box become available Log simulation statistics Select this check box if you want to access and analyze information on zero crossings during simulation By default this check box is not selected and the zero crossing data is not logged For more information on using this check box see Log Simulation Statistics on page 9 13 Open viewer after simulation Select this check box if you want to open Simscape Results Explorer which is an interactive tool that lets you navigate and plot
31. 00 rad s t Q 1 03132E 12 Ntm w Q High 00 00 rad s N Rotational_Electromechanical_Converter Q ac Q Al targets satisfied Variables at start The Variable Viewer is a table its rows listing all the blocks in the model and all the public variables under each block and the columns providing the initialization status priority target and actual start values and other information for each variable 5 23 5 Variable Initialization and State Viewer By default the Variable Viewer opens in basic configuration which has the following columns Name Description Status Initialization status of each variable can be one of Green circle Displayed for variables with initialization targets satisfied and also for all variables with no initialization priority Yellow triangle Displayed for low priority variables if the target is not satisfied Red square Displayed for high priority variables if the target is not satisfied Red cross If initial condition solve fails displayed for variables that could not be initialized Gray rectangle Displayed when status is not available This can happen for example if model initialization failed or if the viewer was left open during diagram update For more information see Interaction with Model Updates and Simulation on page 5 31 Priority Variable initialization priority as specified in the block dialog box or in the underlying compon
32. 25 12 Add On Product License Management 12 26 File Edit View Display Diagram Simulation Analysis Code Tools Help A A e gt B GdOd A wo aa gt model_test_edit_mode Sensor X gt Pa Sensor v R LP D Ideal Translational a P Motion Sensor c Ready 100 odel 5s Delete the connection line between port P of the Ideal Translational Motion Sensor block and the PS Simulink Converter block Instead connect port V of the Ideal Translational Motion Sensor block to the input port of the PS Simulink Converter block to measure the velocity on node C of the lever Work with a Model in Restricted Mode File Edit View Display Diagram Simulation Analysis Code Tools Help BA e gt BO S dOds B wm TELE model_test_edit_mode Sensor X Pia model_test_edit_mode b Pa Sensor v R Pp oes s Ideal Translational a P Motion Sensor Paw oe v it e Ready 100 odel5s 4 Try to simulate the model An error message appears saying that the model cannot be compiled because its topology has been changed while in Restricted mode You can either undo the changes or switch to Full mode as described in Switch from Restricted to Full Mode on page 12 28 Related Examples Set the Model Loading Preference on page 12 9 Save a Model in Restricted Mode on page 12 11 Switch from Restricted to Full
33. 4 3 D Multibody System Statistics 0 10 7 1 D 3 D Interface Statistics 0005 10 10 View Model Statistics eee 10 11 Access Block Variables Using Statistics Viewer 10 16 Physical Units 11 How to Work with Physical Units 11 2 Unit Definitions 00 00 0000 ene 11 4 How to Specify Units in Block Dialogs 11 9 xiii Xiv Contents Thermal Unit Conversions 0 0 00 cues About Affine Units 0 eei en cece es When to Apply Affine Conversion 0005 How to Apply Affine Conversion 00005 Angulat Units 2 74 een aces bie eg oka bes eR St es IRELETEN CES sperre Rak BN oan te hod BBR BRE ET Units for Angular Velocity and Frequency 11 11 11 11 11 11 11 12 11 15 11 15 11 16 Add On Product License Management 12 About the Simscape Editing Mode Suggested Workflows 000 What You Can Do in Restricted Mode What You Can Do in Full Mode Switching Between Modes 00000 c eee eens Working with Block Libraries 000005 Set the Model Loading Preference Save a Model in Restricted Mode Example of Saving a Model in Restricted Mode Work with a Model in Restricted Mode How to Simulate and Fine Tun
34. 6 9 What Is Linearization Determining the response of a system to small perturbations at an operating point is a critical step in system and controller design Once you find an operating point you can linearize the model about that operating point to explore the response and stability of the system To find an operating point in a Simscape model see Finding an Operating Point on page 6 2 What Is a Linearized Model on page 6 7 Example on page 6 8 Choosing a Good Operating Point for Linearization on page 6 8 What Is a Linearized Model Near an operating point you can express the system state x inputs u and outputs y relative to that operating point in terms of x xo U Ug and y yo For convenience shift the vectors by subtracting the operating point x xo x and so on If the system dynamics do not explicitly depend on time and the operating point is a steady state the system response to state and input perturbations near the steady state is approximately governed by a linear time invariant LTI state space model dx dt A x Bu y Cx Du The matrices A B C D have components and structures that are independent of the simulation time A system is stable to changes in state at an operating point if the eigenvalues of A are negative If the operating point is not a steady state or the system dynamics depend explicitly on time the linearized dynamics near the operating poin
35. Beginning Value Unit Velocity 0 m s X al Force 0 N X Deformation High gt 0 1 m m 0k cancel Help Apply 4 Adjust the initial position of the sensor to compensate for the spring deformation Double click the Ideal Translational Motion Sensor block and set its Initial position parameter value to 0 1 mas well This way when you simulate the model mass oscillations center around 0 5 Simulate the model 5 8 Initialize Variables for a Mass Spring Damper System ao G A Fa 4 Open the Variable Viewer In the top menu bar of the model window select Analysis gt Simscape gt Variable Viewer 5 9 5 Variable Initialization and State Viewer 5 10 E Variable Viewer msd EA Options View PERE Qr Type here to filter variables by name Name Status v Priority v Target Start Unit v Ideal_Translational_Motion_Sensor Q alc Q v Q 0 0 m s P Q 01 m GR Q v Q 0 0 m s v Q 0 0 m s f Q 0 0 N v Q 0 0 m s x Q High 01 01 m Mass Q IM Q v Q 00 m s f Q 100 0 N v Q 0 0 m s Mechanical_Translational_Reference Q av Q v Q 0 0 m s f Q 100 0 N amp Translational_Damper Q BC Q v Q 0 0 m s GR Q v Q 0 0 m s f Q 00 N v Q 0 0 m s Translational_Spring Q BC Q v Q 0 0 m s IR Q v Q 0 0 m s f Q 100 0 N v Q 00 m s x Q High 01 01 m Q Al targets satisfied Variables atstart Y The Translational Spring variable x in the bottom row has high prior
36. For more information on this approach see Variable Initialization To use the first approach enable the steady state solver 1 In each some or all of the physical networks in your Simscape model open the Solver Configuration block 2 Ihn each block dialog box select the Start simulation from steady state check box 3 Inthe model Configuration Parameters settings on the Data Import Export pane select the States check box to record the time series of x values in your workspace If you also have input signals u in the model you can capture those inputs by connecting To Workspace blocks to the input Simulink signal lines 4 Close these dialog boxes and start simulation The first vector of values x t 0 that you capture during simulation reflects the steady state xo that the Simscape solver identified Tip Finding an initial steady state is part of the nondefault Simscape simulation sequence See Initial Conditions Computation on page 4 8 You can simplify the initial steady state computation by setting the simulation time to 0 The simulation then solves for one time step only time zero and returns a single state vector x t 0 Using Simulink Control Design Techniques to Find Operating Points Note The techniques described in this section require the Simulink Control Design product Finding an Operating Point You must use the features of this product on the Simulink lines in your model not directly on
37. Physical Networks blocks drop down list select the option that you want warning Ifthe model uses an explicit solver the system issues a warning upon simulation This is the default option that alerts you to a potential problem if you use the default solver e error Ifthe model uses an explicit solver the system issues an error message upon simulation If your model is stiff and you do not want to use explicit solvers select this option to avoid future errors none Ifthe model uses an explicit solver the system issues no warning or error message upon simulation If you want to work with explicit solvers in particular for models that are not stiff select this option 2 Click OK Filtering Input Signals and Providing Time Derivatives You may need to provide time derivatives of some of the input signals especially if you use an explicit solver One way of providing the necessary input derivatives is by filtering the input through a low pass filter Input filtering makes the input signal smoother and generally improves model performance The additional benefit is that the Simscape engine computes the time derivatives of the filtered input The first order filter provides one derivative while the second order filter provides the first and second derivatives If you use input filtering it is very important to select the appropriate value for the filter time constant The filter time constant controls the filtering of the
38. References 1 Moler C B Numerical Computing with MATLAB Philadelphia Society for Industrial and Applied Mathematics 2004 chapter 7 2 Horowitz P and Hill W The Art of Electronics 2nd Ed Cambridge Cambridge University Press 1989 chapter 2 3 Brogan W L Modern Control Theory 2nd Ed Englewood Cliffs New Jersey Prentice Hall 1985 4 37 Variable Initialization and State Viewer e About Variable Initialization on page 5 2 Set Priority and Initial Target for Block Variables on page 5 5 Initialize Variables for a Mass Spring Damper System on page 5 7 e Variable Viewer on page 5 23 5 Variable Initialization and State Viewer About Variable Initialization In this section Tnitializing Block Variables for Model Simulation on page 5 2 Variable Initialization Priority on page 5 3 Suggested Workflow on page 5 4 Initializing Block Variables for Model Simulation At the beginning of simulation 0 the solver computes the initial conditions to determine the simulation starting point as described in Initial Conditions Computation on page 4 8 Finding a solution means finding initial values for all system variables You can affect the initial conditions computation by block level variable initialization that is by specifying the priority and target initial values for certain variables on the Variables tab of the respective block
39. Related Examples Enable Data Logging for the Whole Model on page 9 4 Log Data for Selected Blocks Only on page 9 5 More About About Simulation Data Logging on page 9 2 9 7 9 Data Logging Log and Plot Simulation Data This example shows how you can log and plot simulation data instead of adding sensors to your model The model shown represents a permanent magnet DC motor Apply stall torque st t 0 1s Rotational Electromechanical Converter Friction Mr Solver o Configuration This model is very similar to the Permanent Magnet DC Motor example but unlike the example model it does not include the Sensing unit w Ideal Rotational Motion Sensor and PS Simulink Converter block along with the Motor RPM scope For a detailed description of the Permanent Magnet DC Motor example see Evaluating Performance of a DC Motor 1 Build the model as shown in the preceding illustration 2 To enable data logging open the Configuration Parameters dialog box in the left pane select Simscape then set the Log simulation data parameter to All and click OK 9 8 Log and Plot Simulation Data Select Solver Data Import Export Optimization Diagnostics Hardware Implementation Model Referencing Simulation Target Code Generation Simscape SimMechanics 1G SimMechanics 2G Editing Editing Mode Full z Physical Networks Model Wide Simulation
40. Revised for Version 3 3 Release 2010a Revised for Version 3 4 Release 2010b Revised for Version 3 5 Release 2011a Revised for Version 3 6 Release 2011b Revised for Version 3 7 Release 2012a Revised for Version 3 8 Release 2012b Revised for Version 3 9 Release 2013a Revised for Version 3 10 Release 2013b Revised for Version 3 11 Release 2014a Revised for Version 3 12 Release 2014b Revised for Version 3 13 Release 2015a Revised for Version 3 14 Release 2015b Contents Model Construction 1 Basic Principles of Modeling Physical Networks 1 2 Overview of the Physical Network Approach to Modeling Physical Systems seiad e fg Saeed ia a e 1 2 Variable a EE A T E E E hg arent es 1 4 Building the Mathematical Model 1 5 Direction of Variables ssu cerg rast rere cee ees 1 6 Connector Ports and Connection Lines 1 8 Connecting Simscape Diagrams to Simulink Sources and SCOPES i e eves ae ica ene Le ae en alley aa ee Sega Lem A Nae Ma 1 9 Simscape Block Libraries 0000005 1 11 Library Structure Overview 0 0000 e eens 1 11 Using the Simulink Library Browser to Access the Block Libraries I ge cat aise rs 6 POR ier E Fie Boe OU a ae aie es 1 12 Using the Command Prompt to Access the Block Libraries 1 13 Essential Physical Modeling Techniques 1 15 Building Your Model 0 0 0 cee eee eens 1 15 Using the Conserving Ports
41. SimDriveline SimElectronics lt 5 gE D SimHydraulics F ae SimHydraulics SimMechanics SimPower Systems Utilities Simulink 3D Animation Simulink Coder Simulink Control Design Simulink Design Optimizatio Utilities Simulink Design Verifier lt ates Using the Command Prompt to Access the Block Libraries To access individual block libraries by using the command prompt To open the Simscape library type Simscape in the MATLAB Command Window To open the main Simulink library to access generic Simulink blocks type simulink in the MATLAB Command Window The Simscape library consists of two top level libraries Foundation and Utilities In addition if you have installed any of the add on products of the Physical Modeling family you will see the corresponding libraries under Simscape library as shown in the following illustration Some of these libraries contain second level and third level sublibraries You can expand each library by double clicking its icon T Model Construction Foundation SimDriveline SimElectronics SimHydraulics SimMechanics SimPower Utilities Essential Physical Modeling Techniques Essential Physical Modeling Techniques Building Your Model The rules that you must follow when building a physical model with Simscape software are described in Basic Principles of Modeling Physical Networks on page 1 2 This section briefly reviews these rules Build your
42. Simscape physical network lines or blocks Simulink Control Design offers both command line and graphical interfaces for finding and analyzing operating points Simulink Control Design methods are state based giving you full access to state names and values and allow you to impose operating specifications or use simulation snapshots MathWorks does not recommend imposing operating specifications state by state using the Simulink Control Design dialogs or f indop function but simulation snapshots work well To find operating points it is simplest to use the operspec and findop functions customizing where necessary Create an operating specification object with operspec then compute an operating point object with findop The findop function attempts to find an operating point that satisfies the operating specifications and reports on its success or failure If the search is successful find_op returns state values satisfying the operating specifications You have several choices for operating specifications for the components of the state vector Assumed Operating Operating Specification Condition Default Request that all state component derivatives be zero This is a steady state for the whole model not just a Simscape network within the model Nondefault Request any value you want independently for each state component Nondefault Request that a particular state component derivative be zero This is a steady state
43. Simulation Workflow Hardware in the Loop Simulation Model Is Real Time Viable Generate Download and Execute Code Is Model Accuracy Acceptable Return to the Return to the Does the Simulation Overrun Real Time Model Preparation Workflow Real Time Model Preparation Workflow This figure shows the real time model preparation workflow The connector is an entry point for returning to the real time model preparation workflow from other real time workflows such as the hardware in the loop simulation workflow 7 101 7 Real Time Simulation Real Time Model Preparation Adjust Model Fidelity or Scope Perform Variable Step Simulation Is Model Accuracy Acceptable Return to the Real Time Model Preparation Workflow Are Small Steps Likely to Cause an Overrun Obtain Reference Results Perform the Real Time Simulation Workflow This figure shows the real time simulation workflow The connectors are exit points for returning to the real time model preparation workflow 7 102 Hardware in the Loop Simulation Workflow Real Time Simulation Perform the Real Time Model Preparation Workflow Perform Fixed Step Fixed Cost Simulation Adjust Solver Settings Is Model Accuracy Increase Number of Iterations Acceptable and or Decrease Step Size Retum to the Real Time Model Preparation Workflow Adjust Solver Se
44. Size for Accurate Results Parameterize Global and Local Solver Settings Perform Fixed Step Fixed Cost Simulation Adjust Solver Settings to Improve Accuracy What Is Hardware in the Loop Simulation Why Perform Hardware in the Loop Simulation Hardware in the Loop Simulation Workflow Perform Hardware in the Loop Simulation Insufficient Computational Capability for Hardware in the Loop Simulation 0 00000 ee eee Code Generation Requirements Hardware Requirements 0000005 Software Requirements 0 00000 ee ues Generate Download and Execute Code Requirements for Building and Executing Simulink Real Time Applications toe ss bed be ihe SE ea es Create Build and Download a Real Time Application Execute Real Time Application 7 57 7 60 7 62 7 63 7 64 7 64 7 65 7 66 7 68 7 68 7 69 7 71 7 73 7 76 7 79 7 80 7 82 7 84 7 85 7 89 7 96 7 97 7 100 7 104 7 105 7 106 7 106 7 107 7 108 7 108 7 108 7 109 xi xii Contents Requirements for Using Alternative Platforms 7 111 Hardware Requirements 0 0 0 eee ees 7 111 Software Requirements 0 0 0 0 cc eee ees 7 111 Code Generation 8 About Code Generation from Simscape Models 8 2 Reasons for Generating Code 0 0005 8 3 Using Co
45. Statistics Viewer to access a block variable of interest to verify or change its initialization priority and target value 1 Open the Permanent Magnet DC Motor example model Py ssc_demotor Simulink e File Edit View Display Diagram Simulation Analysis Code Tools Help fy A He 7H 4O W Oey ssc_dcmotor gt v a Load Torque FE Step Input l O Configuration a Permanent Magnet DC Motor 1 Plot current and load torque see code LH 2 Explore simulation results using sscexplore gt 3 Learn more about this example Ready 100 odel5s 2 To view model statistics in the top menu bar of the model window select Analysis gt Simscape gt Statistics Viewer The Simscape Statistics window opens displaying the name of the model and an overview of the models statistics in a collapsed state 3 Expand the Number of variables node then Number of continuous variables retained and then click Number of differential variables Access Block Variables Using Statistics Viewer Q7 Type here to filter statistics Name Value 1 D Physical System y Number of variables 48 y Number of continuous variables retained 6 Number of differential variables Number of algebraic variables 3 gt Number of continuous variables eliminated 42 gt Number of discrete variables 0 gt Number of zero crossing signals 2 Number of dynamic variable constraints 0 Sources za Sou
46. Suggested Workflow 0 00 ee ees 5 4 Set Priority and Initial Target for Block Variables 5 5 Initialize Variables for a Mass Spring Damper System 5 7 Variable Viewer iii 58 fg sce Sie Bie ga bees soba ee fod Doe Nata aaa 5 23 About Variable Viewer 0 0 00 cece eee eens 5 23 Advanced Configuration 0 0 0000 eee ee eee 5 25 Switching Between Tree View and Flat View 5 27 Useful Filtering Techniques 0 00 c eee 5 29 Link to Block Diagram 0 000000 cece ene 5 30 Interaction with Model Updates and Simulation 5 31 Linearization and Trimming 6 Finding an Operating Point 000 0000 ee 6 2 What Is an Operating Point 0 0 0 0 eee 6 2 Finding Operating Points in Physical Models 6 3 Linearizing at an Operating Point 6 7 What Is Linearization 0 0 0 cee 6 7 Linearizing a Physical Model 00 000085 6 9 Linearize an Electronic Circuit 0 6 13 Explore the Model 2 0 0 eee 6 13 Linearize with Steady State Solver and linmod Function 6 17 Linearize with Simulink Control Design Software 6 19 Use Control System Toolbox Software for Bode Analysis 6 20 Linearize a Plant Model for Use in Feedback Control Desin yp eis Bed oe eee ei Bae PEA et Pa DE Be RIE EE 6 23 Explore the Model 0 0 0 0 cece eee 6 23 Trim Using the Contro
47. a branch point equals the sum of all its values flowing out Equation Construction Based on the network configuration the parameter values in the block dialog boxes and the global parameters defined by the fluid properties if applicable the Simscape solver constructs the system of equations for the model These equations contain system variables of the following types Dynamic Time derivatives of these variables appear in equations Dynamic or differential variables add dynamics to the system and require the solver to use numerical integration to compute their values Dynamic variables can produce either independent or dependent states for simulation Algebraic Time derivatives of these variables do not appear in equations These variables appear in algebraic equations but add no dynamics and this typically occurs in physical systems due to conservation laws such as conservation of mass and energy The states of algebraic variables are always dependent on dynamic variables other algebraic variables or inputs The solver then performs the analysis and eliminates variables that are not needed to solve the system of equations After variable elimination the remaining variables algebraic dynamic dependent and dynamic independent get mapped to Simulink state vector of the model For information on how to view and analyze model variables see Model Statistics Initial Conditions Computation The Simscape solv
48. an element is oriented from port A to port B it implies that the Through variable TV is positive if it flows from A to B and the Across variable is determined as AV AV AVz where AV and AV are the element node potentials or in other words the values of this Across variable at ports A and B respectively element TY direction AV 8 Va reference nodes at Basic Principles of Modeling Physical Networks This approach to the direction of variables has the following benefits e Provides a simple and consistent way to determine whether an element is active or passive Energy is one of the most important characteristics to be determined during simulation If the variables direction or sign is determined as described above their product that is the energy is positive if the element consumes energy and is negative if it provides energy to a system This rule is followed throughout the Simscape software Simplifies the model description Symbol A gt B is enough to specify variable polarity for both the Across and the Through variables e Lets you apply the oriented graph theory to network analysis and design As an example of variables direction rules let us consider the Ideal Force Source block In this block as in many other mechanical blocks port C is associated with the source reference point case and port R is associated with the rod Idesl Force Source Constant Simulink PS Converter Mechan
49. and then tries to check out a SimHydraulics license which is not available The license manager then issues an error message and opens the model in Restricted mode but the SimDriveline license stays checked out until the end of the MATLAB session Working with Block Libraries This section describes the specifics of working with block libraries while using the Editing Mode functionality These rules are applicable to any physical modeling blocks that is blocks from all Simscape libraries including the add on products In general you need to work in Full mode when you modify a library block However when you open a model that references the modified block you may work in Restricted mode under certain conditions The following summary details the Editing Mode rules for modifying and using library blocks To add physical modeling blocks to a library block you need to work in Full mode Tf this library block had not previously contained physical modeling blocks you need to work in Full mode to load a preexisting model that uses this library block or to drag this block to a model Tf this library block had previously contained physical modeling blocks you can work in Restricted mode when loading a preexisting model that uses this library block However you have to work in Full mode to drag this block from the library to a model To add external physical ports to a library block you need to work in Full mode e You can wor
50. and press Ctrl R 1 19 T Model Construction File Edit View Display Diagram Simulation Analysis Code Tools Help BB oo 9 B 4Od B m O w OBA Bf e i Mass Translational Spring Trans istional Damper Mechanical wk Translational Reference 6 Connect the Translational Spring Translational Damper and Mass blocks to one of the Mechanical Translational Reference blocks as shown in the next illustration 1 20 Creating and Simulating a Simple Model ied File Edit View Display Diagram Simulation Analysis Code Tools Help CRE 3 A Be E GOD A mm gt O ibe untitled v a Mamia aT E Mass Translational Spring Trans istional Damper Mechanical Translational Reference oi 3 Ready 100 ode45 To add the representation of the force acting on the mass open the Simscape gt Foundation Library gt Mechanical gt Mechanical Sources library and add the Ideal Force Source block to your diagram To reflect the correct direction of the force shown in the original schematic flip the block by selecting Diagram gt Rotate amp Flip gt Flip Block gt Up Down from the top menu bar of the model window Connect the block s port C for case to the second Mechanical Translational Reference block and its port R for rod to the Mass block as shown below 1 21 T Model Construction File Edit View Display Diagram
51. are mechanical translational conserving ports The block positive direction is from port R to port C This means that the force is positive if it acts in the direction from R to C Source code m Settings Parameters Variables Override Variable Priority Beginning Value Unit Velocity None Z 0 m s X Force None mjo N X Deformation None v 0 m X For details on these variables and their usage in the block equations click the Source code link in the block dialog box to view the underlying Simscape source file The Source code link is available for all the Foundation library blocks that have a Variables tab To specify the initial deformation of the spring select the Override check box next to the Deformation variable to indicate that you are overriding the default values Select the initialization priority for the variable by setting its Priority drop down to High Low or None Type a new number into the Beginning Value field and change the unit if desired The Unit drop down lists contains all the units defined in the unit registry that are commensurate with the one specified in the variable declaration In the following dialog box Deformation is specified as a high priority variable with the initial target of 20 mm 5 Variable Initialization and State Viewer Translational Spring The block represents an ideal mechanical linear spring Connections R and C are mechanical translational conserving
52. blocks such as sources or scopes and appropriate connections For other types of changes listed in the following section your model has to be in Full mode Some of these disallowed changes are impossible to make in Restricted mode for example Restricted parameters are grayed out in block dialog boxes Other changes like changing the physical topology of a model are not explicitly disallowed but if you make these changes in Restricted mode the software will issue an error message when you try to run compile or save such a model 12 3 12 Add On Product License Management What You Can Do in Full Mode You need to open a model in Full mode if you need to do any of the following Add or delete Physical Modeling blocks that is Simscape blocks or blocks from the add on product libraries Make or break Physical connections between Conserving or Physical Signal ports Change the types of signals going into actuators or out of sensors for example from velocity to torque Change configuration parameters Change block parameterization options and other restricted parameters Change physical units of parameters Protect a referenced model containing Physical Modeling blocks for more information see Protected Model Switching Between Modes The following flow chart shows what happens when you switch between modes 12 4 About the Simscape Editing Mode le Switch to Restricted Restric
53. cause numerical difficulties or slow down your simulation If you select a statistic with a nonzero value the Sources section lists all the variables that fall under this statistic For each variable The Source column contains the full path to the variable starting from the top level model with a link to the relevant block If you click the link in the Source column the corresponding block is highlighted in the block diagram The Value column contains the name of the variable as it would appear in the Variables tab of the block dialog box Related Examples View Model Statistics on page 10 11 Access Block Variables Using Statistics Viewer on page 10 16 3 D Multibody System Statistics 3 D Multibody System Statistics This node represents aggregate statistics generated from all physical networks that are associated with blocks from SimMechanics Second Generation library Each statistic is generated separately from each topologically distinct physical network of these blocks and then aggregated to appear as a single statistic The individual statistics are Number of rigidly connected components excluding ground This statistic provides the number of rigid components present in a mechanical system Rigid components are subsets of rigidly connected blocks that represent rigid bodies or rigid frame networks in a model These subsets generally include blocks from the Body Elements library as well as Rigid Transfo
54. column values selecting only the check boxes for HIGH and LOW lets you view all the targets and actual values in a compact format which can be helpful for a large model You might also find the following filtering techniques useful in troubleshooting your models Filter the Differential column on TRUE to display only the rows for differential variables Time derivatives of these variables appear in equations These variables add dynamics to the system and can produce independent states therefore these variables are more likely to require high initialization priority Filter the Determined column on TRUE to verify that these variables have no initialization priority The values of these variables are either predetermined by the equation analysis or depend on the system inputs and therefore specifying initialization priority and targets for these variables has little or no effect on model initialization Link to Block Diagram The Variable Viewer tool provides direct linking to the block diagram This link lets you highlight the appropriate block or easily go from a variable listed in the Variable Viewer to the Variables tab in the corresponding block dialog box to modify the variable priorities and targets When you right click in the Name column of any row in the Variable Viewer table a context menu opens with the following options Goto block Highlights the corresponding block in the block diagram opening the appropri
55. condition for that state component Additional Simulink Control Design Methods You can also use the graphical user interface through the model menu bar Analysis gt Control Design gt Linear Analysis This interface gives you access to state input and output names structure and initial values For more details on the use of operating point specification objects related functions and the graphical interface see the Simulink Control Design documentation 6 Linearization and Trimming Using Sources to Find Operating Points Not Recommended You can impose an operating specification on part of a Simscape model by inserting source blocks from the Simscape Foundation Library These impose specified values of system variables in parts of the model You can simulate and save the state vector However you cannot obtain an operating point for the original system without the source blocks by saving the state values from the model and then removing the source blocks In general the number order and identity of state components change after adding and removing Simscape blocks in a model Simulink trim Function Not Supported with Simscape Models The Simulink trim function is not supported for models containing Simscape components Linearizing at an Operating Point Linearizing at an Operating Point In this section What Is Linearization on page 6 7 Linearizing a Physical Model on page
56. contain dynamics that vary both quickly and slowly For more information see Stiffness of System and Determine System Stiffness on page 7 68 Explicit solvers are faster than implicit solvers but they provide less accurate solutions for numerically stiff systems because they tend to damp out oscillations Implicit solvers 7 65 7 Real Time Simulation 7 66 can better capture the oscillations that occur in stiff systems because they are more robust than explicit solvers However implicit solvers deliver better accuracy at the expense of speed If your controller model is continuous and numerically stiff use the implicit solver ode14x If ode14x does not allow your model to simulate fast enough for real time simulation at the expense of accuracy you can Improve simulation speed by increasing the step size or decreasing the number of iterations Reduce the stiffness of your model and specify an explicit solver instead of ode14x To determine the explicit solver that is the best choice for your less stiff or numerically nonstiff continuous controller model perform bounded simulation using each of the explicit continuous solvers Configure each solver to use the same step size and a similar number of solver iterations Compare the simulation results and choose the solver that provides the best combination of accuracy and speed To increase the accuracy of the results that your explicit solver provides at the
57. derivatives The first order filter provides one derivative while the second order filter provides the first and second derivatives Parameters Units Input Handling Filtering and derivatives Use input as is ox Cancel Help Apply To turn on input filtering set the Filtering and derivatives parameter to Filter input Select the first order or second order filter by using the Input filtering order parameter and set the appropriate Input filtering time constant parameter value for your model To avoid filtering the input signal set the Filtering and derivatives parameter to Provide input derivative s Then set the Input derivatives parameter value 4 15 4 Model Simulation 4 16 e Provide first derivative If you select this option an additional Simulink input port appears on the Simulink PS Converter block to let you connect the signal providing input derivatives e Provide first and second derivatives If you select this option two additional Simulink input ports appear on the Simulink PS Converter block to let you connect the signals providing input derivatives Enabling or Disabling Simulink Zero Crossing Detection By default Simulink tracks an important class of simulation events by detecting zero crossings With a global variable step solver and without a local solver Simulink attempts to locate the simulated times of zero crossings if present See Working w
58. energy of the control volume It states that the rate of energy increase or decrease within the control volume equals the difference between the rates of energy transfer in and out across the boundary The mechanisms of energy transfer are heat and work as for closed systems and the energy that accompanies the mass entering and exiting Pneumatic block models make several simplifying assumptions as described previously The ideal gas law relates pressure density and temperature p pRT where p Absolute pressure p Gas density R Specific gas constant 1 47 T Model Construction 1 48 T Absolute gas temperature Also the specific enthalpies for an ideal gas at temperature T and constant pressure and constant volume are given by dp Lim dt V where p is the density of the gas within the component For components with no internal mass of gas the equation simplifies to G m m where G is the mass flow rate through the component For specific equations used in each block see the block reference pages Network Variables The Across variables are pressure and temperature and the Through variables are mass flow rate and heat flow Note that these choices result in a pseudo bond graph because the product of pressure and mass flow rate is not power Connection Constraints Every node in a pneumatic network must have a defined temperature as well as pressure This rule places some con
59. in the loop simulation workflow If you cannot find the right combination of solver settings perform the real time model preparation workflow or increase your real time computing capability to improve simulation speed and accuracy To increase your real time computing capability upgrade your target hardware or partition your model for parallel processing Adjust Solver Settings to Improve Accuracy You can generally improve accuracy by increasing the number of iterations or by decreasing the step size 1 Try to improve accuracy by increasing the number of iterations N to 10 N 10 2 Runa timed simulation tic sim ssc_hydraulic_actuator_HIL tSim2 toc time2 max tSim2 3 Extract the pressure and simulation time data simlog2 simlog_ssc_hydraulic_actuator_HIL pNodeSim2 simlog2 Hydraulic_Actuator Hydraulic_Cylinder Chamber_A A p pSim2 pNodeSim2 series values Pa tSim2 pNodeSim2 series time 4 Plot the results figure h2 hold on plot tSim2 pSim2 r delete h2Legend2 axis xStart xEnd yStart yEnd configSim2L Local Ts num2str ts s N num2str N configSim2G Global Ts num2str tsG s timeSim2T Time num2str time2 cfgSim2 configSim2L configSim2G timeSim2T 7 89 7 Real Time Simulation h2Legend3 legend Reference num2str cfgSim1 num2str cfgSim2 Location southoutside are 10 Cylinder Pressure Pressure Pa N
60. individual add on products This flow chart presents the Simscape simulation sequence 4 Model Simulation Model Validation kd Equation Construction kd Initial Conditions kd Transient Intialzation kd Transient Solve The flow chart consists of the following major phases 1 2 3 4 5 Model Validation on page 4 7 Network Construction on page 4 7 Equation Construction on page 4 8 Tnitial Conditions Computation on page 4 8 Transient Initialization on page 4 9 How Simscape Simulation Works 6 Transient Solve on page 4 10 Model Validation The Simscape solver first validates the model configuration and checks your data entries from the block dialog boxes All Simscape blocks in a diagram must be connected into one or more physical networks Unconnected Conserving ports are not allowed Each topologically distinct physical network in a diagram requires exactly one Solver Configuration block If your model contains hydraulic elements each topologically distinct hydraulic circuit in a diagram must connect to a Custom Hydraulic Fluid block or Hydraulic Fluid block available with SimHydraulics block libraries These blocks define the fluid properties that act as global parameters for all the blocks that connect to the hydraulic circuit If no hydraulic fluid block is attached to a loop the hydraulic blocks in this loop use the default fluid However more than one hydr
61. inner diameter of the insulation layer is 0 37 m Update parameter D1 to this value Open Model Explorer In the Model Hierarchy pane click Base Workspace In the Contents pane click the value of D1 Enter 0 37 Aa OND Now run the simulation Open the Comparison scope and autoscale to view the full plot The temperature difference between the inlet and the outlet is negligible Heat Transfer in Insulated Oil Pipeline 333 0005 Downstream 332 9995 332 999 332 9985 332 998 332 9975 i i i i i i i i i 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 More About Modeling Thermal Liquid Systems on page 2 2 Thermal Liquid Library on page 2 6 Thermal Liquid Modeling Framework on page 2 10 2 27 Two Phase Fluid Models 3 Two Phase Fluid Models Manually Generate Fluid Property Tables 3 2 In this section Fluid Property Tables on page 3 2 Steps for Generating Property Tables on page 3 3 Before Generating Property Tables on page 3 3 Create Fluid Property Functions on page 3 3 Set Property Table Criteria on page 3 4 Create Pressure Normalized Internal Energy Grids on page 3 5 Map Grids Onto Pressure Specific Internal Energy Space on page 3 5 Obtain Fluid Properties at Grid Points on page 3 6 Visualize Grids on page 3 7 Fluid Property Tables Fluid property tables provide the basic inputs to t
62. input signal The filtered input follows the true input but is smoothed with a lag on the order of the time constant that Setting Up Solvers for Physical Models you choose Set the time constant to a value no larger than the smallest time interval in the system that interests you If you choose a very small time constant the filtered input signal is closer to the true input signal However this filtered input signal increases the stiffness of the system and slows the simulation Instead of using input filtering you can provide time derivatives for the input signal directly as additional physical signals You can control the way you provide time derivatives for each input signal by configuring the Simulink PS Converter block connected to that input signal 1 2 Open the Simulink PS Converter block dialog box Click the Input handling tab Ph Block Parameters Simulink PS Converter x Simulink PS Converter Converts the unitless Simulink input signal to a Physical Signal The unit expression in Input signal unit parameter is associated with the unitless Simulink input signal and determines the unit assigned to the Physical Signal Apply affine conversion check box is only relevant for units with offset such as temperature units There are three options to handle the input you can use it as is filter input or provide the input derivatives through additional signal ports Input filtering also provides time
63. nondirectional physical connections automatically resolves all the traditional issues with variables directionality and so on Basic Principles of Modeling Physical Networks The number of connection ports for each element is determined by the number of energy flows it exchanges with other elements in the system and depends on the level of idealization For example a fixed displacement hydraulic pump in its simplest form can be represented as a two port element with one energy flow associated with the inlet suction and the other with the outlet In this representation the angular velocity of the driving shaft is assumed constant making it possible to neglect the energy exchange between the pump and the shaft To account for a variable driving torque you need a third port associated with the driving shaft An energy flow is characterized by its variables Each energy flow is associated with two variables one Through and one Across see Variable Types on page 1 4 for more information Usually these are the variables whose product is the energy flow in watts They are called the basic or conjugate variables For example the basic variables for mechanical translational systems are force and velocity for mechanical rotational systems torque and angular velocity for hydraulic systems flow rate and pressure for electrical systems current and voltage The following example illustrates a Physical Network representation
64. not shown and the ES table contains just one row per variable with the Name column including the complete path to the variable from the model root If the Variable Viewer is in flat view the buttons that expand and collapse nodes are disabled Expands all nodes showing all variables under each block name This button is available only if the Variable Viewer is in tree view Collapses all variables under each block name You can then expand the block nodes individually to see the variables under this block This button is available only if the Variable Viewer is in tree view Recomputes the initial conditions for the model and refreshes the values displayed in the viewer Use this button after adjusting the block parameter values changing variable priorities and targets or updating the block diagram For more information see Interaction with Model Updates and Simulation on page 5 31 Clears all the column filtering options and displays all the rows in the table For more information see Useful Filtering Techniques on page 5 29 Shows the Variable Viewer in its default basic configuration with only the following columns displayed Status Priority Target Start and Unit Shows the Variable Viewer in advanced configuration with all the columns displayed Use this view for troubleshooting your model for example if the model initialization failed Advanced Configuration In most cases the default Variable V
65. on page 9 2 About the Simscape Results Explorer on page 9 26 9 30 View Sparkline Plots of Simulation Data View Sparkline Plots of Simulation Data This example shows the basic workflow for viewing sparkline plots of logged simulation data for selected blocks and variables directly on the model canvas Before viewing sparkline plots you must enable data logging for the whole model or at least for those blocks where you want to display the data and run the simulation 1 Open the Permanent Magnet DC Motor example model by typing ssc_dcmotor in the MATLAB Command Window This example model has data logging for the whole model enabled m P ssc_dcmotor Simulink File Edit View Display Diagram Simulation Analysis Code Tools Help nm ri Raa te gt Ee 7 4O W gt O y ssc_dcmotor v Q Load Torque DC Step Input Voltage Configuration a Permanent Magnet DC Motor Aa 1 Plot current and load torque see code bH 2 Explore simulation results using sscexplore 5 3 Learn more about this example Ready 100 odel5s 2 Double click the DC Motor subsystem to open it 3 Simulate the model To enable display of the sparkline plots on the model canvas in the model window from the top menu bar select Display gt Simscape gt Toggle Sparklines When Clicked This action adds the check mark next to the Toggle Sparklines When Clicked menu option and you can start selecti
66. perturbations might result in a discontinuous change in a state value making the current state unsuitable for linear approximation Operating points with a strongly nonlinear or discontinuous character are not suitable for linearization You should analyze such models in full simulation away from any discontinuities and perturb the system by varying its inputs parameters and initial conditions A common example is actuation systems which should be linearized away from any hard constraints or end stops Tip Check for such an unsuitable operating point by linearizing at several nearby operating points If the results differ greatly the operating point is strongly nonlinear or discontinuous Linearizing at an Operating Point Linearizing a Physical Model Use the following methods to create numerical linearized state space models from a model containing Simscape components Tip MathWorks recommends the Simulink Control Design product for linearization analysis Independent Versus Dependent States on page 6 9 Linearizing with Simulink Control Design Software on page 6 10 Linearizing with the Simulink linmod and dlinmod Functions on page 6 10 Linearizing with Simulink Linearization Blocks on page 6 12 Independent Versus Dependent States An important difference from basic Simulink models is that the states in a physical network are not independent in general because some states have de
67. physical signal no gain is applied For more information see How to Specify Units in Block Dialogs on page 11 9 Note Currently the blocks in the Physical Signals library such as PS Add PS Gain and so on ignore the physical unit of the input signal and just perform calculations on the value The output signals of the Physical Signals library blocks are unitless 11 Physical Units Unit Definitions 11 4 Simscape unit names are defined in the pm_units m file which is shipped with the product You can open this file to see how the physical units are defined in the product and also as an example when adding your own units This file is located in the directory matlabroot toolbox physmod common units mli m Default registered units and their abbreviations are listed in the following table Use the pm_getunits command to get an up to date list of units currently defined in your unit registry Use the pm_adddimension and pm_addunit commands to define additional units Physical Unit Abbreviations Defined by Default in the Simscape Unit Registry Quantity Abbreviation Unit Acceleration gee Earth gravitational acceleration 9 80665 m s 2 Amount of substance mol Mole Angle rad Radian deg Degree rev Revolution Angular velocity rpm Revolutions minute Capacitance F Farad pF Picofarad nF Nanofarad uF Microfarad Charge c Coulomb Conductance S Siemens nS Nanosiemens uS Microsiemens mS
68. simulation for one or more physical networks by selecting Use fixed cost runtime consistency iterations as well as Use local solver and fixing the number of nonlinear and mode iterations Fixed cost simulation requires a global fixed step solver Choosing Multirate Simulation With the local solver option you can perform multirate simulations with Different sample times in different physical networks through their respective Solver Configuration blocks e A sample based Simulink block in the model with a sample time different from the Solver Configuration block or blocks Setting Up Solvers for Physical Models Harmonizing Simulink and Simscape Solvers Your Simulink and Simscape solver choices must work together consistently To ensure consistency of your Simulink and Simscape solver choices for a particular model open the model Configuration Parameters dialog box From the top menu bar in the model window select Simulation gt Model Configuration Parameters Review and adjust the following settings Switching from the Default Explicit Solver to Other Simulink Solvers on page 4 14 Filtering Input Signals and Providing Time Derivatives on page 4 14 Enabling or Disabling Simulink Zero Crossing Detection on page 4 16 e Making Multirate Simulation Consistent on page 4 16 Configuration Parameters mech_simple Configuration Active io Select Editing Solver Editing M
69. simulation results to see how the solvers behave If your model is numerically stiff an explicit solver typically exhibits small oscillations around the desired solution Implicit solvers are more robust than explicit solvers however explicit solvers are faster For robust results when performing real time simulation with numerically stiff model use an implicit fixed step solver If your model is not stiff use an explicit solver to maximize simulation speed In this example you obtain reference results by simulating a pneumatic model with a variable step solver You also configure and simulate the model using an explicit and then an explicit fixed step global Simulink solver Then you compare the results from all three simulations to determine if the pneumatic model is numerically stiff Obtain Reference Results 1 To open the model at the MATLAB command prompt enter ssc_pneumatic_rts_reference 2 Save the model as stiffness model to a writable folder on the MATLAB path 3 Simulate the model 4 Assign the simulation results to new variables yRef yout tRef tout Determine System Stiffness Speed rpm 5 Plot the results of the variable step simulation hi figure plot tRef yRef hiLeg legend Reference title Speed Xlabel Time s ylabel Speed rpm Speed 4000 3000 2000 1000 2000 3000 4000 0 1 2 3 4 5 6 7 8 9 10 Time s Simulate with an Implicit Fixed St
70. size for both variable step and fixed step deployment while generating results that are accurate enough Obtain Reference Results and Plot Simulation Step Size Simulate your model to generate data that you can use to Decide which model elements to change to reduce the number of zero crossing events Assess the accuracy of your modified model 1 To open the model at the MATLAB command prompt enter ssc_pneumatic_rts_stiffness_redux 2 Simulate the model 3 Save the data to the workspace simlogRef simlog timeRef tout 4 Plot the step size against the simulation time hi figure 7 41 7 Real Time Simulation 7 42 Step Size s semilogy timeRef 1 end 1 diff timeRef x title Solver Step Size Xlabel Time s ylabel Step Size s Solver Step Size 10 29 Time s The simulation slows down repeatedly at the beginning of the simulation and at time t 4 5 8 and 9 seconds 5 Zoom to examine the data between time t 0 4 and 0 8 seconds h1 xStart 0 xEnd 10 yStart 0 yEnd 10e0 xZoomStart1 0 4 xZoomEnd1 0 8 yZoomStart1 10e 20 yZoomEnd1 10e 1 Reduce Zero Crossings Step Size s axis xZoomStart1 xZoomEnd1 yZoomStart1 yZoomEnd1 Solver Step Size Zero crossing 0 4 0 45 0 5 0 55 0 6 0 65 0 7 0 75 0 8 Time s The blue x markers in the figure indicate that the simulation has completed executing a step The circled markers indicate a v
71. solver to use numerical integration to compute their values This statistic represents the number of differential variables in the model after variable elimination Number of algebraic variables This statistic represents the number of algebraic variables associated with all 1 D physical systems in the model Algebraic variables are continuous system variables whose time derivative does not appear in any system equations These variables appear in algebraic equations but add no dynamics and this typically occurs in physical systems due to conservation laws such as conservation of mass and energy This statistic represents the number of algebraic variables in the model after variable elimination 1 D Physical System Statistics Number of continuous variables eliminated This statistic represents the number of eliminated variables associated with all 1 D physical systems in the model Eliminated variables are continuous variables that are eliminated by the software and are not used in solving the system Eliminated variables are categorized further as algebraic and differential variables Number of differential variables This statistic represents the number of eliminated differential variables associated with all 1 D physical systems in the model Differential variables are continuous variables whose time derivative appears in one or more system equations These variables add dynamics to the system and require the solver to us
72. the model The Comparison scope plots the upstream and downstream oil temperatures Open this scope The insulation thickness is near its optimal value resulting in only a small temperature change over a 1000 meter length At a rate of 0 020 K km oil temperature changes approximately 2 K over a 100 kilometer length Heat Transfer in Insulated Oil Pipeline 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 Plot Physical Properties Using Data Logging By using Simscape data logging you can plot the physical properties of the oil as a function of simulation time Such a plot clearly shows any variability in the value of a physical property One example is the kinematic viscosity of oil in the pipeline segment represented by the Pipe TL block 1 At the MATLAB command line enter simlog Pipe_TL print In the data tree the kinematic viscosity nu appears under the node pipe_model which itself appears under the node simlog Pipe_TL The logging object for the kinematic viscosity of oil in the pipe then is simlog Pipe_TL pipe model nu 2 19 2 Thermal Liquid Models gt gt simlog Pipe TL print Pipe TL A T p B T W T gt pipe model A T p B T p Phi_A Phi_B Phi_W Phi_convection_ A Phi_convection_ B T alpha beta cp F mdot_A mdot_B m tp rho rho A rho_B u u_ A u_B visc
73. the simulation data logging results By default this check box is not selected For more information see About the Simscape Results Explorer on page 9 26 Workspace variable name Specifies the name of the workspace variable that stores the simulation data Subsequent simulations overwrite the data in the simulation log variable If you want to compare data from two models or two simulation runs use different names for the respective log variables The default variable name is Simlog Decimation Use this parameter to limit the number of data points saved by outputting data points for every nth time step where n is the decimation factor The default is 1 which means that all points are logged Specifying a different value results in the first step and every nth step thereafter being logged For example specifying 2 logs data points for every other time step while specifying 10 logs data points for just one in ten steps Limit data points Use this check box in conjunction with the Data history last N steps parameter to limit the number of data points saved The check box is selected by default If you clear it the simulation log variable contains the data points for the whole simulation at the price of slower simulation speed and heavier memory consumption Data history last N steps Specify the number of simulation steps to limit the number of data points output to the workspace The simulation log variable con
74. title Solver Step Size xlabel Time s ylabel Step Size s 7 16 Determine Step Size Step Size s Ki p hej DA 4 4 A KI i Regions of interest Time s For much of the simulation the step size is greater than the value of the TS max in the plot The corresponding value 0 001 seconds is an estimated maximum step size for achieving accurate results during fixed step simulation with the model To see how to configure the step size for fixed step solvers for real time simulation see Choose Step Size and Number of Iterations on page 7 79 The x markers in the plot indicate the time that the solver took to execute a single step at that moment in the simulation The step size data is discrete The line that connects the discrete points exists only to help you see the order of the individual execution times over the course of the simulation 7 17 7 Real Time Simulation 7 18 A large decrease in step size indicates that the solver detects a zero crossing event Zero crossing detection can happen when the value of a signal changes sign or crosses a threshold The simulation reduces the step size to capture the dynamics for the zero crossing event accurately After the solver processes the dynamics for a zero crossing event the simulation step size can increase It is possible for the solver to take several small steps before returning to the step size that precedes the zero cros
75. to the system For example capacitors connected in parallel or inductors connected in series will not cause any problems Other circuit configurations with dependent dynamic states in certain cases may slow down the simulation or lead to an error when the solver fails to initialize Problems may occur when dynamic states have a nonlinear algebraic relationship An example is two inertias connected by a nonlinear gear constraint such as an elliptical gear In case of simulation failure the Simscape solver may be able to identify the 4 29 4 Model Simulation 4 30 components involved and provide an error message with links to the blocks and to the equations within each block Parameter Discontinuities Nonlinear parameters dependent on time or other variables may also lead to numerical simulation issues as a result of parameter discontinuity These issues usually manifest themselves at the transient initialization stage see Transient Simulation Issues on page 4 30 Initial Conditions Solve Failure The initial conditions solve which solves for all system variables with initial conditions specified on some system variables may fail This has several possible causes System configuration error In this case the Simulation Diagnostics window usually contains additional more specific error messages such as a missing reference node or a warning about the component equations followed by a list of components involv
76. w i eye size a a 1 b d end subplot 211 semilogx w 20 10g10 abs G grid ylabel Magnitude dB subplot 212 semilogx w 180 pi unwrap angle G ylabel Phase degrees xlabel Frequency rad s grid Figure Ee File Edit View Inset Tools Desktop Window Help x DSGHS F ARC9084 2 08 an 100 T T T T Magnitude dB 104 10 10 10 104 108 Phase degrees E S 600 800 ai 1 104 102 10 10 104 108 Frequency rad s Linearize with Simulink Control Design Software Note To work through this section you must have a Simulink Control Design license 6 27 6 Linearization and Trimming 6 28 Simulink Control Design software has tools that help you find operating points and returns a state space model object that defines state names This is the recommended way to linearize Simscape models 1 In the top menu bar of the Hydraulic Actuator with Digital Position Controller model select Analysis gt Control Design gt Linear Analysis 2 Inthe Linear Analysis Tool in the Operating Point drop down list select Linearize At Enter simulation snapshot time of 2 5 seconds and click OK 3 Click the Bode plot button LINEAR ANALYSIS ESTIMATION PLOTS AND RESULTS BODE PLOT 1 J Load Session Analysis YOs Model VOs M Result Viewer A fej Save Session Operating Point t 2 5 N Diagnostic Viewer b
77. work with Simscape software The Simulink Profiler tool does not work with Simscape models Exporting a model to a format used by an earlier version File gt Export Model to gt Previous Version is not supported for models containing Simscape blocks Physical signals and physical connection lines between conserving ports are different from Simulink signals Therefore the Signal and Scope Manager tool and the signal label functionality are not supported Simscape block names cannot contain cross locale non ASCII characters Simulink Tools Not Compatible with Simscape Blocks Some Simulink tools and features do not work with Simscape blocks Execution order tags do not appear on Simscape blocks Simscape blocks do not invoke user defined callbacks You cannot set breakpoints on Simscape blocks Reusable subsystems cannot contain Simscape blocks You cannot use the Simulink Fixed Point Tool with Simscape blocks The Report Generator reports Simscape block properties incompletely Code Generation Code generation is supported for Simscape physical modeling software and its family of add on products However there are restrictions on code generated from Simscape models 4 35 4 Model Simulation Code reuse is not supported Encapsulated C code generation is not supported Tunable parameters are not supported e Run time parameter inlining ignores global exceptions Simulation of Simscape models on fixed poin
78. 0 3 Next double click the Translational Damper block Set its Damping coefficient to 500 N m s 4 Run the simulation Because of the increase in viscosity the mass is slower both in reaching its maximum displacement and in returning to the initial position as shown in the following illustration 1 33 T Model Construction 1 34 E Position emm as an Gee Gas Fi x10 Changing the Mass Position Output Units In our model we have used the PS Simulink Converter block in its default parameter configuration which does not specify units Therefore the Position scope outputs the mass displacement in the default length units that is in meters This example shows how to change the output units for the mass displacement to millimeters 1 Double click the PS Simulink Converter1 block Type mm in the Output signal unit combo box and click OK Run the simulation In the Position scope window click E to autoscale the scope axes The mass displacement is now output in millimeters as shown in the following illustration Creating and Simulating a Simple Model More About Basic Principles of Modeling Physical Networks on page 1 2 Modeling Best Practices on page 1 36 1 35 T Model Construction Modeling Best Practices 1 36 In this section Grounding Rules on page 1 36 Avoiding Numerical Simulation Issues on page 1 40 Grounding Rules Th
79. 0 eee 2 6 Why Use Thermal Liquid Blocks 05 2 6 Representing Thermal Liquid Components 2 6 Specifying Thermal Liquid Medium 2 8 Modeling Multidomain Systems 0 00000 uee 2 8 Thermal Liquid Modeling Framework 2 10 How Blocks Represent Components 2 10 How Ports Represent Interfaces 0005 2 11 Pull Flux Scheie isc sacs eid aes Mica e ae a SE 2 12 Heat Transfer in Insulated Oil Pipeline 2 14 Oil Pipelines ie 1 nnes paa ae ee eens 2 14 Modeling Considerations 0 000 e eee eens 2 15 Simscape Model 0 0 0c cece ee eee 2 17 Run Simulation 2 cetera nt dro at ee eave ee aaa a Bd ae at 2 18 Run Optimization Script 0 0 00 cee eee 2 25 Two Phase Fluid Models 3 Manually Generate Fluid Property Tables Fluid Property Tables Steps for Generating Property Tables Before Generating Property Tables Create Fluid Property Functions 0000008 Set Property Table Criteria 0 0 0 cee eee Create Pressure Normalized Internal Energy Grids Map Grids Onto Pressure Specific Internal Energy Space Obtain Fluid Properties at Grid Points Visualize Grids o ersi nrar ede Ge oe RRT 3 2 3 2 3 3 3 3 3 4 3 5 3 5 3 6 3 7 Model Simulation 4 How Simscape Models Represent Physical Syste
80. 13 Tinearize a Plant Model for Use in Feedback Control Design on page 6 23 6 Linearization and Trimming Finding an Operating Point In this section What Is an Operating Point on page 6 2 Finding Operating Points in Physical Models on page 6 3 What Is an Operating Point An operating point of a system is a dynamic configuration that satisfies design and use requirements called operating specifications You can express such operating specifications as requirements on the system state x and inputs u It is not always possible to find a dynamic state that satisfies all operating conditions Also a system might have multiple operating points satisfying the same requirements Operating points are essential for designing and implementing system controllers You can optimize a system at an operating point for performance stability safety and reliability The most important and common type of operating point is a steady state where some or all of the system dynamic variables are constant Using Operating Points for Linearization An important motive for finding operating points is linearization which determines the system response to small disturbances at an operating point Linearization results influence the design of feedback controllers to govern dynamic behavior near the operating point A full linearization analysis requires one or more system outputs y in addition to inputs See Lineari
81. 41 T Model Construction 1 42 fi a Voltages nce n Ex File Tools View Simulation Help 300 S a F A Ready T 0 002 Now open the capacitor C block dialog and set the series resistance to zero The model now runs very slowly and issues warnings about problems with transient initialization and step size control for transient solve The cause of the problems is that the circuit effectively connects the voltage source in parallel with the capacitor This is because an ideal op amp satisfies V V where V and V are the noninverting and inverting inputs respectively This is an example where it is not possible to replace the circuit with an equivalent simpler one and a parasitic small resistance has to be introduced Domain Specific Line Styles Domain Specific Line Styles For improved readability of block diagrams each Simscape domain uses a distinct default color and line style for the connection lines Physical signal lines also have a distinct style and color Domain specific line styles apply to the block icons as well If all the block ports belong to the same domain then the whole block icon assumes the line style and color of that domain If a block has multiple port types such as the Rotational Electromechanical Converter then relevant parts of the block icon assume domain specific line styles and colors To view the line styles assigned to each domain in a model window f
82. 7 4 Model Simulation How Simscape Models Represent Physical Systems 4 2 In this section Representations of Physical Systems on page 4 2 Differential Differential Algebraic and Algebraic Systems on page 4 2 Stiffness on page 4 3 Events and Zero Crossings on page 4 3 Working with Simscape Representation on page 4 3 Representations of Physical Systems This section describes important characteristics of the mathematical representations of physical systems and how Simscape software implements such representations You might find this overview helpful if you Require details of such representations to improve your model fidelity or simulation performance Are constructing your Simscape model or its components with the Simscape language Need to troubleshoot Simscape modeling or simulation failures Mathematical representations are the foundation for physical simulation For more information about simulation see How Simscape Simulation Works on page 4 5 Differential Differential Algebraic and Algebraic Systems The mathematical representation of a physical system contains ordinary differential equations ODEs algebraic equations or both ODEs govern the rates of change of system variables and contain some or all of the time derivatives of the system variables Algebraic equations specify functional constraints among system variables but contain no time d
83. 8 9 10 E10 5 oO X z o ED 1 2 3 4 5 6 7 8 9 10 Time s The simulation takes steps smaller than 1e 10 seconds when The motor speed is near zero rpm simulation time t 1 5 and 9 seconds The step change in motor speed is initiated from a steady state speed to a new speed time 4 and 8 seconds The step change in flow rate is initiated from a steady state speed to a new flow rate time t 4 and 8 seconds The volumetric flow rate is near zero m 3 min t 1 4 and 5 seconds The results indicate that small step sizes are required to achieve accuracy when the simulation is capturing dynamics that involve friction or small compressible 7 33 7 Real Time Simulation 7 34 volumes Elements that generate zero crossings might also be responsible for the small steps and slow recovery times Assign the simulation results to new variables in the MATLAB workspace so that you can compare the data to results from a model that you modify timeRef tout simlogRef simlog Identify and Modify a Stiff Element Examine the friction load in the model to determine if it incorporates discontinuities or has a small time constant that causes numerical stiffness Modify the element if it causes any rapidly changing dynamics that require a small step size 1 Save the model asrts_stiffness_ model ina writable folder on the MATLAB path Open the Friction Load block dialog box a Rotation
84. B script that you create in this tutorial performs the following tasks Define property table criteria including dimensions and pressure specific internal energy domain Create rectangular grids in pressure normalized internal energy space Map the grids onto pressure specific internal energy space Obtain the fluid properties on the pressure specific internal energy grids Before Generating Property Tables You must obtain fluid property data in pressure specific internal energy space e g through direct calculation from a proprietary database or from a third party source In this tutorial you create four MATLAB functions to provide example property data Ina real application you must replace these functions with equivalent functions written to access real property data Create Fluid Property Functions Create the following MATLAB functions These functions provide the example property data you use in this tutorial Ensure that the function files are on the MATLAB path Use the function names and code shown e Name liquidTemperature function T liquidTemperature u p 3 Two Phase Fluid Models Returns artificial temperature data as a function of specific internal energy and pressure T 300 0 2 u 0 08 p Name vaporTemperature function T liquidTemperature u p Returns artificial temperature data as a function of specific internal energy and pressure T 300 0 2 u 0 08 p Na
85. But for physical models MathWorks recommends implicit solvers such as 4 11 4 Model Simulation 4 12 ode14x ode23t and odel5s Implicit solvers require fewer time steps than explicit solvers such as ode45 ode118 and odel See Switching from the Default Explicit Solver to Other Simulink Solvers on page 4 14 If all the Simulink and Simscape states in your model are discrete Simulink automatically switches to a discrete solver and issues a warning Otherwise a continuous solver is the default By default Simulink variable step solvers attempt to locate events in time by zero crossing detection See Enabling or Disabling Simulink Zero Crossing Detection on page 4 16 Working with Local Simscape Solvers You can switch one or more physical networks to a local implicit fixed step Simscape solver by selecting Use local solver in the network Solver Configuration block The solver and related settings you make in each Solver Configuration block are specific to the connected physical network and can differ from network to network A physical network using a local solver appears to the global Simulink solver as if it has discrete states You can still use any continuous global solver Choosing Local Solvers and Sample Times To use a local solver choose a solver type Backward Euler or Trapezoidal Rule anda sample time Backward Euler is the default Choosing Fixed Cost Simulation You can select a fixed cost
86. Controller Model i H i i i i i 1 i i i i R 8 sa sve I O Application i Low Med High i U Real Time Processor Target Hardware Controller Hardware perry i Controller Software i i i i i i i i am s am s am am e ad Why Perform Hardware in the Loop Simulation Use HIL simulation to test the design of your controller when you are performing Model Based Design MBD The figure shows where HIL simulation fits into the MBD design to realization workflow 7 97 7 Real Time Simulation 7 98 Requirements Definition Desktop Modeling and Simulation Design Realization Validation Processor in the Loop Simulation Rapid Control Prototyping Software in the Loop Simulation Code Generation Validation involves using actual plant hardware to test your controller in real life situations or in environmental proxies for example a pressure chamber In HIL simulation you do not have to use real hardware for your physical system plant You also do not have to rely on a naturalistic or environmental test setup By allowing you to use your model to represent the plant HIL simulation offers benefits in cost and practicality There are several areas in which HIL simulation offers cost savings over validation testing HIL simulation tends to be less expensive when it comes to design changes You can perform
87. Diagnostics Explicit solver used in model containing Physical Networks blocks Zero crossing control is globally disabled in Simulink Data Logging Log simulation data all Z E Log simulation statistics E Open viewer after simulation Workspace variable name simlog Decimation 2 7 Limit data points Data history last N steps 5000 OK Cancel J Help Apply Simulate the model This creates a workspace variable named Simlog as specified by the Workspace variable name parameter which contains the simulation data The simlog variable has the same hierarchy as the model To see the whole variable structure at the command prompt type simlog print This command prints the whole data tree mlog_ex_dcmotor1 Electrical_Reference2 v v 4 Friction_Mr 9 9 9 Data Logging 3 Oo rarrs 41 gt gt f f deo o Q gt 7 EON 1 4 tote tis4t tt 1 d_Torque oO fo hanical_ Rotational Reference hanical_ Rotational _Reference1 ational _Electromechanical Converter gt oO H D E oO al 3 5 3 St 6S in OFH HNHSOS HPOS E PHPHHTHHO T r E nA A 10 1 0 1O i e e E ee E E S44 SH Se oe See Sy E ee r Se SS SSS SS SS SS SS SS SS SS SS SS r_Resistance R 0 a gt gt f 1 f f o f f C rHo Qtry gt SHH c ate 1 7 1 eer 1 1 oe 1 link_PS_Converter imu N 9 10 Log and Plot Simul
88. E Preferences Parameter Variations None Q More Options Bode Plot1 Step Bode impulse Nyquist FILE GENERAL OPTIONS LINEARIZE p m Data Browser Bode Plot1 Search workspace variable Pr Bode Diagram aes From ssc ydraulic ctuator igital ontrol Sum To Hydraulic Actuator Name Value 100 ClosedLoop 1 5 linsyst den 1 0000e 0 iy num 0 5000 o simlog_ssc_hydra 1d Node a o ts 1 0000e 03 3 50 js i i 100 w Linear Analysis Workspace Name Value 150 E tinsys rd ss 200 360 m r T T r T T w Variable Preview Phase deg o 360 fl 1 1 A 10 10 10 10 10 10 10 Frequency rad s The linearization result linsysi is created in the Linear Analysis Workspace For more information on using Simulink Control Design software for trimming and linearization see the Simulink Control Design documentation Related Examples Linearize an Electronic Circuit on page 6 13 Linearize a Plant Model for Use in Feedback Control Design More About Finding Operating Points in Physical Models on page 6 3 Linearizing a Physical Model on page 6 9 6 29 Real Time Simulation e Model Preparation Objectives on page 7 2 Real Time Model Preparation Workflow on page 7 5 Improving Speed and Accuracy on page 7 10 e Determine Step Size on page 7 15 Reduce Computation Costs on page 7 25 e Re
89. For more information on how model complexity affects speed and accuracy see Eliminating Effects That Require Intensive Computation on page 7 12 For more information on how solver configurations affect speed and accuracy see Optimizing Local and Global Solver Configurations on page 7 13 It is possible that there is no combination of model complexity and solver settings that can make your model real time capable If the simulation does not run in real time on the target or if the accuracy is unacceptable consider these options for increasing speed and accuracy Upgrading Target Hardware on page 7 13 Simulating Parts of the System in Parallel on page 7 13 Eliminating Effects That Require Intensive Computation If your desktop simulation analysis indicates that your model likely is not fast enough for real time simulation eliminate effects that require intensive computation Identify elements in your model that cause costly effects such as discontinuities and rapid changes that tend to slow down simulations Elements that cause discontinuities include Hard stops or backlash e Stick slip friction Switches or clutches Elements with small time constants that cause rapid changes include Small masses attached to stiff springs with minimal damping Improving Speed and Accuracy Electrical circuits with low capacitance inductance and resistance e Hydraulic circuits with small compressible v
90. HIL simulation earlier than validation in the MBD workflow so you can identify and redesign for problems relatively early the project Finding problems early includes these benefits Your team is more likely to approve changes Design changes are less costly to implement What Is Hardware in the Loop Simulation In terms of scheduling HIL simulation is less expensive and more practical than validation because you can set it up to run on its own HIL simulation is more practical than validation for testing your controller s response to unusual events For example you can model extreme weather conditions like earthquakes or blizzards You can also test how your controller responds to stimuli that occur in inaccessible environments like deep sea or deep space Related Examples Generate Download and Execute Code on page 7 108 More About Hardware in the Loop Simulation Workflow on page 7 100 7 99 7 Real Time Simulation Hardware in the Loop Simulation Workflow 7 100 In this section Perform Hardware in the Loop Simulation on page 7 104 Insufficient Computational Capability for Hardware in the Loop Simulation on page 7 105 You must have a Simulink Real Time license to perform this workflow This figure shows the hardware in the loop simulation workflow The connectors are exit points for returning to the real time model preparation workflow Hardware in the Loop
91. LOTS AND RESULTS BODE PLOT 1 P CI Load Session Analysis YOs Model VOs v M Result Viewer EAN ie B Save Session Operating Point Model Initial Condition M Diagnostic Viewer F b J N E Preferences Parameter Variations None More Options Bode Plt 1 Step Bode impulse Nyquist FILE GENERAL OPTIONS LINEARIZE Data Browser Bode Plot1 Search workspace variables x B arch workspace varia P a Diagram Y MATLAB Workspace From ssc ipolar_onlinear u To ssc ipolar_onlinear Voltage Sensor Name Value 50 T t T t a simlog_ssc_bipola 1x1 Node linsys1 0 ao 2 3 a 50 is a w Linear Analysis Workspace A 100 F 4 Name Value linsys1 Dbd ss 150 L L 1 L 1 360 T 270 L P 2 w Variable Preview g 180 7 o rm o 90 0 L 1 L 1 L 10 10 104 10 108 10 Frequency rad s The linearization result linsys1 is created in the Linear Analysis Workspace For more information on using Simulink Control Design software for trimming and linearization see the Simulink Control Design documentation Use Control System Toolbox Software for Bode Analysis Note To work through this section you must have a Control System Toolbox license You can use the built in analysis and plotting capabilities of Control System Toolbox software to analyze and compare Bode plots of different steady states First use the Simulink 1inmod function to obtain the linear time invariant LTI model a b c d linmod ssc_bipolar_nonlinear
92. Liquid Conserving Port W Thermal Conserving Port c Internal Node Simscape Nodes in Pipe TL Block Two physical principles govern the dynamic evolution of liquid pressure and temperature at the internal node of a control volume mass conservation and energy conservation Pressure and temperature computation is carried out for the control volume surrounding the internal node This control volume is the total volume of the thermal liquid component the block represents A second set of nodes represents the interfaces through which a finite volume can interact with its neighbors These nodes are visible as Simscape conserving ports of which Thermal Liquid conserving ports are the most important By allowing the exchange of mass momentum and energy between adjacent liquid volumes Thermal Liquid conserving ports govern the dynamic evolution of the finite volume as it tends to a steady state How Ports Represent Interfaces Thermal Liquid conserving ports provide the liquid pressure and temperature at the interfaces they represent They also provide the flow rates of mass and heat which govern the interactions between thermal liquid components Pressure and temperature are the Across variables of the Thermal Liquid domain while the flow rates are the Through variables Two physical principles govern the mass and heat flow rates through a Thermal Liquid conserving port momentum conservation and energy conservation The mass flow ra
93. Millisiemens Unit Definitions Quantity Abbreviation Unit Current A Ampere pA Picoampere nA Nanoampere uA Microampere mA Milliampere kA Kiloampere Energy J Joule Btu British thermal unit eV Electronvolt Flow rate lpm Liter minute gpm Gallon minute Force N Newton dyn Dyne lbf Pound force mN Millinewton Frequency Hz Hertz kHz Kilohertz MHz Megahertz GHz Gigahertz Inductance H Henry uH Microhenry mH Millihenry 11 Physical Units 11 6 Quantity Abbreviation Unit Length m Meter cm Centimeter mm Millimeter km Kilometer um Micrometer in Inch ft Foot mi Mile yd Yard Magnetic flux Wb Weber Magnetic flux density T Tesla G Gauss Mass kg Kilogram g Gram mg Milligram lbm Pound mass oz Ounce slug Slug Pressure Pa Pascal kPa Kilopascal MPa Megapascal GPa Gigapascal Unit Definitions Quantity Abbreviation Unit bar Bar kbar Kilobar atm Atmosphere psi Pound inch 2 Power Ww Watt uW Microwatt mW Milliwatt kW Kilowatt MW Megawatt HP Horsepower Resistance Ohm Ohm kOhm Kiloohm MOhm Megaohm GOhm Gigaohm Temperature K Kelvin C Celsius Fh Fahrenheit R Rankine Time Ss Second min Minute hr Hour ms Millisecond 11 Physical Units Quantity Abbreviation Unit us Microsecond ns Nanosecond Velocity mph Miles hour fom Feet minute fps Feet second Viscosit
94. Mode on page 12 28 More About About the Simscape Editing Mode on page 12 2 i Editing Mode Information on page 12 30 12 27 12 Add On Product License Management Switch from Restricted to Full Mode If you need to perform a task that is disallowed in Restricted mode you can try to switch the model to Full mode 1 From the top menu bar in the model window select Simulation gt Model Configuration Parameters The Configuration Parameters dialog box opens 2 Inthe left pane of the Configuration Parameters dialog box select Simscape The right pane displays the Editing Mode option 3 Select Full from the drop down list as shown and click OK Configuration Parameters mech_simple Configuration Active ecoe i fea Select Editing S Solver Editing Mode Full Z Data Import Export Optimization x Physical Networks Model Wide Simulation Diagnostics Diagnostics Hardware Implementation Explicit solver used in model containing Physical Networks blocks warning im Model Referencing Simulation Target Zero crossing control is globally disabled in Simulink warning X Code Generation Simscape Data Logging SimMechanics 1G SimMechanics 2G Log simulation data None Z Log simulatio Open viewer after simulation Workspace variable name simlog Decimation 1 Limit data points Data history last N steps 5000 Q ok cancel Help Apply The licens
95. Processor Architecture Requirements on page 8 5 Precompiled Libraries Provided for Selected Compilers on page 8 5 Simscape Code Reuse Not Supported on page 8 6 Tunable Parameters Not Supported on page 8 6 Simscape Run Time Parameter Inlining Override of Global Exceptions on page 8 6 In general using the code generated from Simscape models is similar to using code generated from regular Simulink models However there are certain differences Simscape and Simulink Code Generated Separately Simulink Coder software generates code from the Simscape blocks separately from the Simulink blocks in your model The generated Simscape code does not pass through model rtw or the Target Language Compiler All the code generated from a single model resides in the same directory however Compiler and Processor Architecture Requirements To generate and execute Simscape code you must have a compiler and a processor that support 64 bit precision floating point arithmetic e 32 bit integer size For details on supported compiler versions see http www mathworks com support compilers current_release Precompiled Libraries Provided for Selected Compilers Simscape software and its add on products provide static runtime libraries precompiled for compilers supported by Simulink Coder software These are the standard UNIX 8 5 8 Code Generation 8 6 compilers for UNIX operating systems lcc and Microsoft
96. Scope blocks and connect them as shown in the following illustration ay L P Ideal Translational Motion Sensor gt gt PS Simulink Velocity Converter DPS S gt gt gt C Translations Damper PS Simulirk Postion i Converter1 Translational Spring Solver Configuration Mechanical Translational Reference Prepare the model for simulation On the top menu bar of the model window select Simulation gt Model Configuration Parameters Under Solver options set Solver to ode23t mod stiff Trapezoidal and Max step size to 0 2 Also adjust the Simulation time to be between 0 and 2 seconds by setting Stop time to 2 0 Specify the initial deformation of the spring Double click the Translational Spring block In the block dialog box click the Variables tab and then select the check box next to the Deformation variable Change its Priority to High Change the Beginning Value to 0 1 Leave the Unit unchanged as m 5 7 5 Variable Initialization and State Viewer iy Block Parameters Translational Spring fe Translational Spring The block represents an ideal mechanical linear spring Connections R and C are mechanical translational conserving ports The block positive direction is from port R to port C This means that the force is positive if it acts in the direction from R to C m Source code Settings Parameters Variables Override Variable Priority j
97. Simscape User s Guide MATLAB amp SIMULINK R201 5b How to Contact MathWorks Latest news www mathworks com Sales and services www mathworks com sales_and_ services User community www mathworks com matlabcentral Technical support www mathworks com support contact_us Phone 508 647 7000 The MathWorks Inc 3 Apple Hill Drive Natick MA 01760 2098 Simscape User s Guide COPYRIGHT 2007 2015 by The MathWorks Inc The software described in this document is furnished under a license agreement The software may be used or copied only under the terms of the license agreement No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathWorks Inc FEDERAL ACQUISITION This provision applies to all acquisitions of the Program and Documentation by for or through the federal government of the United States By accepting delivery of the Program or Documentation the government hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer software documentation as such terms are used or defined in FAR 12 212 DFARS Part 227 72 and DFARS 252 227 7014 Accordingly the terms and conditions of this Agreement and only those rights specified in this Agreement shall pertain to and govern the use modification reproduction release performance display and disclosure of the Program and Documentation by the federal govern
98. Simulation Analysis Code Tools Help BB o gt 0 H B dOd A m Q e E Bal O Translational Spring C Translational Damper 8 Add the sensor to measure speed and position of the mass Place the Ideal Translational Motion Sensor block from the Mechanical Sensors library into your diagram and connect it as shown below 1 22 Creating and Simulating a Simple Model File Edit View Display Diagram Simulation Analysis Code Tools Help oa a iii a A B B GOd A m Ois untitled v Mechanical E P z o Ideal Force Source Mass Ideal Translational Motion Sensor Translational Spring C Translational Damper Reference c Ready 100 ode45 Now you need to add the sources and scopes They are found in the regular Simulink libraries Open the Simulink gt Sources library and copy the Signal Builder block into the model Then open the Simulink gt Sinks library and copy two Scope blocks Rename one of the Scope blocks to Velocity and the other to Position 1 23 T Model Construction File Edit View Display Diagram Simulation Analysis Code Tools Help Gy A a O B QOdD Ay vw gt O e untitled v Mechanical Pa HES Iig a p Ideal Translational Velocity Motion Sensor Translational Spring C Translational Damper Reference c Ready 100 ode45 10 Every time you connect a Simulink source or scope
99. To view the MATLAB script that generates the frequency response click the next hyperlink in that annotation see code This documentation provides background information and alternative ways of linearization based on the software you have In general to obtain a nontrivial linearized input output model and generate a frequency response you must specify model level inputs and outputs The Nonlinear Bipolar Transistor model meets this requirement in two ways depending on how you linearize Simulink requires top or model level input and output ports for linearization with linmod The Nonlinear Bipolar Transistor model has such ports marked u and y Simulink Control Design software requires that you specify input and output signal lines with linearization points The specified lines must be Simulink signal lines not Simscape physical connection lines The Nonlinear Bipolar Transistor model has such linearization points specified For more information on using Simulink Control Design software for trimming and linearization see documentation for that product Open the Solver Configuration block and see that the Start simulation from steady state check box is selected Then open the Load Voltage scope and run the simulation to see the basic circuit behavior The transistor junction capacitance initial voltages are set to be consistent with the bias conditions defined by the resistors The output is a steady sinusoid with zero average its amplitu
100. W L i i L n V p V V Load_Torque C W R W S t W Mechanical_Rotational_Reference W W t Mechanical_Rotational_Reference1 W W t Motor_Inertia_J I W t Rotational_Electromechanical_Converter C W R W i n V 9 15 9 Data Logging 9 16 lt Rotor_ResistanceR lt lt T 5D rt Ect T lt 4 a lt lt x 4 4 4 D 4 4 4 lt lt 0 5 If you compare this tree to the one used in the Log and Plot Simulation Data on page 9 8 example you can see that under the Friction Mr node there is now an additional node called SimulationStatistics The rest of the tree is unchanged This means that Friction Mr is the only block in the model that can generate zero crossings during simulation You can access and analyze this data similar to other data that is logged to workspace during simulation For more information see simscape logging Node class and simscape logging Series class reference pages Log and View Simulation Data for Selected Blocks Log and View Simulation Data for Selected Blocks This example shows how you can set your model to log simulation data for selected blocks only and how to view simulation data using Simscape Results Explorer 1 Open the Permanent Magnet DC Motor example model by typing ssc_dcmotor in the MATLAB Command Window Double c
101. age 11 15 e Units for Angular Velocity and Frequency on page 11 16 11 Physical Units How to Work with Physical Units 11 2 Unlike Simulink signals which are essentially unitless physical signals can have units associated with them You specify the units along with the parameter values in the block dialogs and Simscape unit manager performs the necessary unit conversion operations when solving a physical network Simscape blocks support standard measurement systems The default block units are meter kilogram second or MKS SD Simscape software comes with a library of standard units and you can define additional units as needed see Unit Definitions on page 11 4 You can use these units in your block diagrams To specify the units of an input physical signal type a unit name or a mathematical expression with unit names in the Input signal unit field of the SimuLink PS Converter block dialog You can also select a unit from a drop down list which is prepopulated with some common input units Signal units that you specify in a Simulink PS Converter block must match the input type expected by the Simscape block connected to it For example when you provide the input signal for an Ideal Angular Velocity Source block specify angular velocity units such as rad s or rpm in the Simulink PS Converter block or leave it unitless If you leave the block unitless with the Input signal unit parameter set to 1 then the phy
102. age 12 28 More About Editing Mode Information on page 12 30 Set the Model Loading Preference Set the Model Loading Preference By default when you load an existing model the license manager checks whether it has been saved in Full or Restricted mode and tries to open it in this mode However you can set your preferences so that the models are always open in Restricted mode regardless of the way they have been saved 1 2 On the MATLAB Toolstrip click Preferences The Preferences dialog box opens In the left pane of the Preferences dialog box select Simscape The right pane displays the Editing Mode group box By default the Load models using option is set toEditing mode specified in models Select Restricted mode always from the drop down list as shown and click OK A Preferences ketei MATLAB Simulink Computer Vision System Toolbox DSP System Toolbox Database Toolbox Simscape Preferences Editing Mode Load models using Image Acquisition Toolbox Sie Image Processing Toolbox Instrument Control Toolbox LTE System Toolbox MATLAB Report Generator Parallel Computing Toolbox Simscape V Enable domain styles for all models Simulink 3D Animation Simulink Control Design System Objects SystemTest OK Cancel Apply l Help Now when you open a model the license manager does not attempt to check out add on product licenses and always opens the model in Restricted mod
103. age 7 25 More About Fixed Cost Simulation for Real Time Viability on page 7 55 Simulation Phases in Dynamic Systems 7 78 Choose Step Size and Number of Iterations Choose Step Size and Number of Iterations In this section Obtain Reference Results on page 7 80 Determine Maximum Step Size for Accurate Results on page 7 82 Parameterize Global and Local Solver Settings on page 7 84 Perform Fixed Step Fixed Cost Simulation on page 7 85 Adjust Solver Settings to Improve Accuracy on page 7 89 The step size and number of iterations that you specify for solvers in your model affect the speed and accuracy of your real time simulation If you decrease the step size or increase the number of iterations the results are more accurate but the simulation runs slower If you increase the step size or decrease the number of iterations the simulation runs faster but the results are less accurate To optimize your model for simulation on a real time target specify a combination of step size Ts and number of iterations N that provides acceptable accuracy and the speed to avoid an overrun As with solver type you can specify different combinations of Ts and N values for the Simulink global solver and for each independent Simscape network in your model This workflow helps you to select the step size and number of iterations for real time simulation Obtain reference resu
104. al Friction block The figure shows the friction torque relative velocity characteristic for the simple approximation of continuous friction that the block models Reduce Numerical Stiffness Friction Torque Velocity threshold Breakaway friction torque Angular Velocity The breakaway torque is modeled as a function of the velocity threshold When velocity is close to zero a small change in velocity yields a large change in torque When velocity is not close to zero the torque change is more gradual This block represents a stiff element To make the element less stiff specify a value for the Linear region velocity threshold that is not close to zero On the Parameters tab of the dialog box change the value of the Linear region velocity threshold from 005 to 5 rad s 7 35 7 Real Time Simulation 7 36 4 Simulate the modified model Analyze Results To see how modifying the velocity threshold for the friction block affects the stiffness of the component compare the step sizes for the two simulations The reference results meet expectations based on empirical and theoretical data You can assess the accuracy of the modified model by comparing the speed results from the modified model to those from the original version of the model 1 Plot the step size for the reference results for modified model to the figure that contains the reference data h2 figure semilogy timeRef 1 end 1 diff
105. al Tolerance parameter value in the Solver Configuration block Increase the value of the Number of consecutive min step size violations allowed parameter in the Configuration Parameters dialog box set it to a value greater than the number of consecutive step size violations given in the error message Review the model configuration and try to simplify the circuit or add small parasitic terms to your circuit to avoid dependent dynamic states For more information see Numerical Simulation Issues on page 4 29 4 31 4 Model Simulation Limitations 4 32 In this section Sample Time and Solver Restrictions on page 4 32 Algebraic Loops on page 4 32 Restricted Simulink Tools on page 4 33 Unsupported Simulink Tools and Features on page 4 35 Simulink Tools Not Compatible with Simscape Blocks on page 4 35 Code Generation on page 4 35 Sample Time and Solver Restrictions The default sample times of Simscape blocks are continuous You cannot simulate Simscape blocks with discrete solvers using the default sample times If you switch to a local solver in the Solver Configuration block the states of the associated physical network become discrete If there are no continuous Simulink or Simscape states anywhere in a model you are free to use a discrete solver to simulate the model You cannot override the sample time of a nonvirtual subsystem containing Simscape blo
106. al or theoretical data also supports the results from the simulation of the modified model Is the modified model representing the phenomena that you want it to measure Is it representing those phenomena correctly If you plan on using your model to test your controller design is the model accurate enough to produce results that you can rely on for system qualification The answers to these questions help you to decide if your real time results are accurate enough Evaluate Speed To find out if your simulation generates an overrun examine the task execution time TET report that Simulink Real Time generates for the simulation Hardware in the Loop Simulation Workflow Return to the Real Time Model Preparation Workflow Your model is not real time capable if simulation on your real time target generates an overrun or produces results that do not match your reference results closely enough To make your model real time capable return to the real time model preparation workflow Adjust the fidelity or scope of your model and then step through the other processes and decisions in the real time model preparation workflow Iterate on adjusting simulating and analyzing your model until it is fast and accurate enough for you to perform the real time simulation workflow Perform the real time simulation workflow and then attempt the hardware in the loop simulation workflow again For information see Real Time Model Preparation Workflow
107. al_ control in the MATLAB Command Window Int Out Command Signal lt P Rr 2 Ee S en s Transport Linearization Controller Delay WO points Hydraulic Actuator Load Position Hydraulic Actuator with Digital Position Controller 1 Plot pressures in hydraulic cylinder see code 2 Linearize the hydraulic plant see code 3 Explore simulation results using sscexplore 4 Learn more about this example The model represents a two way valve acting in a closed loop circuit together with a double acting cylinder Double click the Hydraulic Actuator subsystem to see the model configuration 6 23 6 Linearization and Trimming 6 24 Hydraulic M ass Cylinder L Orifice A Orifice B 25e 5m 2 1e5m 2 Custom 2 Way Valve Source Configuration The controller is represented as a continuous time transfer function plus a transport delay that allows for computational time and a zero order hold when implemented in discrete time The Linearization I O points subsystem lets you easily break and restore the feedback control loop by setting the base workspace variable ClosedLoop to 0 or 1 respectively lt gt O D u1 y1 Setto 1 for closedloop operation and setto 0 when linearizing The model is configured for linearization You can quickly generate and view the small signal frequency response by clicking the Linearize hyperlink in model annotation To view the MATLAB script tha
108. an error message and the model stays in Restricted mode See also Example with Multiple Add On Products on page 12 6 Nochecks are performed when switching from Full to Restricted mode Note If a add on product license has been checked out to open a model in Full mode it remains checked out for the remainder of the MATLAB session Switching to Restricted mode does not immediately return the license Example with Multiple Add On Products When you try to open a model in Full mode or to switch from Restricted to Full mode the license manager scans the model and attempts to check out the required add on product licenses as it encounters them in the model If a license is not available the license manager issues an error message and the model stays in Restricted mode The licenses are checked out sequentially As a result if a model uses blocks from multiple add on products some of the add on product licenses may have already been checked out by the time the license manager encounters an unavailable license In this case these add on About the Simscape Editing Mode product licenses stay checked out until you quit the MATLAB session even though the model is in Restricted mode For example consider a model that uses blocks from SimHydraulics and SimDriveline libraries but the user who tries to open it has only the SimDriveline license available It may happen that the license manager checks out a SimDriveline license first
109. and Features on page 8 4 How Simscape Code Generation Differs from Simulink on page 8 5 8 Code Generation About Code Generation from Simscape Models You can use Simulink Coder software to generate standalone C or C code from your Physical Networks models and enhance simulation speed and portability Certain features of Simulink software also make use of generated or external code This section explains code related tasks you can perform with your Simscape models Code versions of Simscape models typically require fixed step Simulink solvers which are discussed in the Simulink documentation Some features of Simscape software are restricted when you translate a model into code See How Simscape Code Generation Differs from Simulink on page 8 5 as well as Limitations on page 4 32 Note Code generated from Simscape models is intended for rapid prototyping and hardware in the loop applications It is not intended for use as production code in embedded controller applications Add on products based on the Simscape platform also support code generation with some variations and exceptions described in their respective documentation Reasons for Generating Code Reasons for Generating Code Code generation has many purposes and methods There are two essential rationales Compiled code versions of Simulink and Simscape models run faster than the original block diagram models The time savings can be drama
110. and compressible shear stress is proportional to the shear strain and mass density varies with both temperature and pressure Oil enters the pipeline segment at a fixed temperature TUpstream with a fixed mass flow rate Vdot rho0 where Vdot is the volumetric flow rate of oil through the pipe 2 15 2 Thermal Liquid Models 2 16 rho0 is the mass density of oil entering the pipeline segment Inside the pipeline segment viscous dissipation heats the flowing oil while thermal conduction through the pipe wall cools it The balance between the two processes governs the temperature of oil exiting the pipeline segment The amount of heat gained through viscous dissipation depends partly on oil viscosity and mass flow rate The greater these quantities are the greater the viscous heat gain is and the warmer the oil tends to get The amount of heat Jost via thermal conduction depends partly on the thermal resistances of the insulation pipe wall and soil layer The smaller the thermal resistances are the greater the conductive heat loss is and the cooler the oil tends to get Using an electrical circuit analogy the combined thermal resistance of three material layers arranged in series equals the sum of the individual thermal resistances Reombined Rwaii Rins Rsoil soil A A A A soil pipe ins Assuming the pipe wall is thin and its material a good thermal conductor you can safely ignore the therma
111. anical System example model ssc_simple mechanical_system gt ssc_simpl le mechanical l_system En rite E Ea File Edit View Display Diagram Simulation Analysis Code Tools Help A A He 6E 4O W wo gt 9 dr ssc_simple_mechanical_system Q Torque Source 8 q nal vl Force Input Tae D ser Gear Box A Wheel an Axle A E Gear Box B g i rA Hi Or P Wheel and 2 T Axle B Lever C Position Lever c Simple Mechanical System amp 1 Explore simulation results using sscexplore 2 Learn more about this example Ready 100 odel5s Save a Model in Restricted Mode 2 From the top menu bar in the model window select Simulation gt Model Configuration Parameters The Configuration Parameters dialog box opens 3 Inthe left pane of the Configuration Parameters dialog box select Simscape The right pane displays the Editing Mode option which is set to Full by default 4 Select Restricted from the drop down list and click OK 5 Save the model as model_test_edit_mode Related Examples Set the Model Loading Preference on page 12 9 Work with a Model in Restricted Mode on page 12 14 4 Switch from Restricted to Full Mode on page 12 28 More About About the Simscape Editing Mode on page 12 2 Editing Mode Information on page 12 30 12 13 12 Add On Product License Management Work with a Model in Restri
112. anslational mechanical rotational and so on Each type has specific Through and Across variables associated with it For more information see Variable Types on page 1 4 You can connect Conserving ports only to other Conserving ports of the same type Domain specific line styles and colors help distinguish between different domains and facilitate the connection process For more information see Domain Specific Line Styles on page 1 43 The Physical connection lines that connect Conserving ports together are nondirectional lines that carry physical variables Across and Through variables as described above rather than signals You cannot connect Physical lines to Simulink ports or to Physical Signal ports Two directly connected Conserving ports must have the same values for all their Across variables such as voltage or angular velocity You can branch Physical connection lines When you do so components directly connected with one another continue to share the same Across variables Any Through variable such as current or torque transferred along the Physical connection line is divided among the multiple components connected by the branches How the Through variable is divided is determined by the system dynamics For each Through variable the sum of all its values flowing into a branch point equals the sum of all its values flowing out Using the Physical Signal Ports The following rules apply to Physical Signal port
113. arallel voltage sources one source can be simply deleted The same applies to two series current sources the deleted one being replaced by a short circuit For some circuit topologies however it is not possible to find an equivalent simpler one that resolves the problem and the second approach is needed The second approach is to include small parasitic resistances in the component In the Simscape Foundation library the Capacitor and Inductor blocks include such parasitic terms so that you can connect capacitances in parallel with voltage sources and inductors in series with current sources If your circuit does not have any such topologies then you can change the default parasitic terms to zero Note that other blocks do not contain these parasitic terms for example the Mutual Inductor block Therefore if you wanted to connect a mutual inductor primary in series with a current source you would need to introduce your own parasitic conductance across the primary winding Example of Using a Parasitic Resistance to Avoid Numerical Simulation Issues The following diagram models a differentiator that might be used as part of a Proportional Integral Derivative PID controller You can open this model by typing ssc_opamp differentiator in the MATLAB Command Window Voltages Co Circuit Gain Cy Circuit G ain Differentiator Simulate the model and you will see that the output is minus the derivative of the input sinusoid 1
114. aration Workflow on page 7 5 The real time model preparation 7 59 7 Real Time Simulation 7 60 workflow shows you how to obtain reference results determine the maximum step size and modify your model to simulate quickly and produce accurate results Use the real time simulation workflow to increase the likelihood that your model is real time capable Your model is real time capable if it meets both of these criteria when you simulate it on your real time computer The results match your expectations based on empirical data or theoretical models The model simulates without incurring an overrun The real time simulation workflow uses bounded that is fixed step fixed cost simulation Fixed step fixed cost simulation sets an upper boundary on computational cost by limiting both the step size and the number of iterations that the solver uses Make Your Model Real Time Viable Perform Fixed Step Fixed Cost Simulation Run your model on a desktop computer using fixed step fixed cost configurations for the global solver and local solvers For more information on specifying fixed step fixed cost solver configurations for real time simulation see Choose Step Size and Number of Iterations on page 7 79 and Fixed Cost Simulation for Real Time Viability on page 7 55 Evaluate Model Accuracy Compare the results from the simulation on the target computer to your reference results Are the reference and modi
115. ariable f and one for its parent block Translational Damper Essentially the solution found in this case is the same as when you previously specified high priority target for the mass velocity and the simulation results are the same TE Variable Viewer ees Options View BEDE e kB Qr Type here to filter variables by name Name Status v Priority v Target Start Unit 5 Ideal_Translational_Motion_Sensor Q ac Q v Q 0 0 m s P Q 01 m ER Q v e 10 0 m s v Q 10 0 m s f Q 0 0 N v Q 10 0 m s x Q High 01 01 m E Mass Q EM Q v Q 10 0 m s f Q 200 0 N v Q High 10 0 10 0 m s B Mechanical_Translational_Reference le BV Q v Qo 0 0 m s f Q 200 0 N S Translational_Damper A 2 Q v ie 0 0 m s GR Q v Q 10 0 m s f A Low 200 0 100 0 N v Q 10 0 m s Translational_Spring Q BC Q v Q 0 0 m s R Q v Q 10 0 m s f Q 100 0 N v Q 10 0 m s x Q High 01 01 m A Allhigh priority targets satisfied but some low priority targets not satisfied Variables at start Y Initialize Variables for a Mass Spring Damper System EJ Position k gt a Bao lt t AERAR Another way to deal with over specification is to keep the high priority on the damper force and relax the priority on mass initial velocity Double click the Translational Damper block again go to the Variables tab and change the priority of the Force variable back to High Then double click the Mass block go to the Variables tab and change the prior
116. ase the accuracy and conversely increasing accuracy decreases speed To make your model real time capable maintain a balance between speed and accuracy Balancing Speed and Accuracy Simulation speed and accuracy correlate to your choices for Model fidelity and scope Real time hardware computing power Solver sample time step size and number of iterations To try to increase simulation speed potentially at the expense of accuracy Decrease model fidelity or scope Increase sample time Decrease the number of solver iterations To try to increase simulation accuracy potentially at the expense of speed Increase model fidelity or scope e Decrease sample time Increase the number of solver iterations 7 11 7 Real Time Simulation 7 12 To try to increase both accuracy and speed or either one without sacrificing the other increase computing power To increase computing power use a faster real time processor or compute in parallel The type of solver that you specify also affects simulation speed and accuracy For fixed step simulation Simscape local solvers are faster and as accurate as Simulink global solvers Implicit solvers are faster but less accurate than explicit solvers However the numerical stiffness of the network is also a determinant for deciding whether to use an implicit solver or an explicit solver Explicit solvers yield more accurate results for numerically stiff networks
117. ate subsystem if needed If the row represents a variable highlights the parent block for this variable Open block dialog Opens the corresponding block dialog box for a variable opens the parent block dialog box In the block dialog box click the Variables tab to view or modify the variable priorities and targets If the selected row represents a subsystem this option is not available Variable Viewer Fa Varabie Viewer ase demota Sc Options View GEHE R EE Q Type here to filter variables by name Name Status bd Priority ki Target Start Unit z amp DC_Motor Qo A SSE ee a ey Go to block Q Open block dialog 3 0 0 rad s i Q 0 0 rad s t Q 0 0 N m w Q 0 0 rad s B Inertia Q Bl Q w Q 0 0 rad s t Q 1 03132E 12 Nm w Q High 0 0 0 0 rad s B Rotational_Electromechanical_Converter Q ac Q Q Al targets satisfied Variables at start y File Edit View Display Diagram Simulation Analysis Code Tools Help H A e gt ta gaa ONH ssc_demotor DCMotor X gt Pa DC Motor X A Inertia Eg z H z R Rotational Electromechanical Friction Converter e V Cc Ready 100 odel5s Interaction with Model Updates and Simulation The Variable Viewer computes the actual initial values of the variables by running the simulation for 0 seconds Therefore The model must be in an executable state when you open or refresh the viewer
118. ated Examples Set Up and Configure Simulink Real Time Create and Run a Real Time Application More About About Code Generation from Simscape Models on page 8 2 How Simscape Code Generation Differs from Simulink on page 8 5 Limitations on page 9 3 Real Time Test Environment Simulink Real Time Setup and Configuration Simulink Real Time Explorer i What Is Hardware in the Loop Simulation on page 7 96 Hardware in the Loop Simulation Workflow on page 7 100 7 107 7 Real Time Simulation Generate Download and Execute Code 7 108 In this section Requirements for Building and Executing Simulink Real Time Applications on page 7 108 Create Build and Download a Real Time Application on page 7 108 Execute Real Time Application on page 7 109 You must have a Simulink Real Time license to perform this workflow To perform hardware in the loop simulation on target hardware use Simulink Real Time to Generate and compile code on the development computer e Download the real time application to the target computer Execute the real time application remotely from the development computer Requirements for Building and Executing Simulink Real Time Applications Before building and executing your real time application 1 Prepare and configure your model for real time simulation For information see Real Time M
119. ation Data x1_5V V X v lt T0 53F Every node that represents an Across Through or internal block variable contains series data To get to the series you have to specify the complete path to it through the tree starting with the top level variable name For example to get a handle on the series representing the angular velocity of the motor type s1 simlog Rotational_Electromechanical_Converter R w series From here you can access the values and time vectors for the series and analyze them You do not have to isolate series data to plot its values against time or against another series For example to see how the motor speed in revolutions per minute changes with time type plot simlog Rotational_Electromechanical_Converter R w units rpm w rpm i i r 1 i i s i 1 1 1 1 1 1 1 1 r 1 1 i 1 u i 1 i 1 0 0 02 004 O06 O08 O1 O12 O14 O16 O18 O02 Time 9 11 9 Data Logging 7 Compare this figure to the RPM scope display in the Permanent Magnet DC Motor example The results are exactly the same 8 To plot the motor torque against its angular velocity in rpm and add descriptive axis names type plotxy simlog Rotational_Electromechanical_Converter R w simlog Motor_Inertia_J t xunit rpm xname Angular velocity yname Torque oO Torque N m i i i i 3 i i i i 4 i i i
120. ation Workflow A real time capable model is both fast and accurate When you simulate a real time capable model on your real time target it runs to completion and generates results that match your expectations as based on theoretical models and empirical data The only 7 Real Time Simulation way to determine if your model is real time capable is to run it on your real time target You can however use desktop simulation that is simulation on your development computer to determine the likelihood that your model is real time capable before you deploy it The real time model preparation workflow is the first of two workflows that you perform on your development computer to make it more probable that your model is real time capable The workflow shows you how to adjust the size or fidelity of your model to improve speed without sacrificing and accuracy When you finish this workflow use the real time simulation workflow to find the best fixed step fixed cost solver configuration to use for simulating your model in real time Prepare Your Model for Real Time Simulation Obtain Reference Results Use empirical or theoretical data to design and build your Simscape model Use a Simulink global variable step solver to simulate your model Refine your model as needed to obtain simulation results that the underlying data supports Reference results provide a baseline to assess model accuracy against throughout all stages of the model preparatio
121. aulic fluid block in a loop generates an error Similarly if your model contains pneumatic elements default gas properties for a pneumatic network are for dry air and ambient conditions of 101325 Pa and 20 degrees Celsius If you attach a Gas Properties block to a pneumatic circuit you can change gas properties and ambient conditions for all the blocks connected to the circuit However more than one Gas Properties block in a pneumatic circuit generates an error Signal units specified in a Simulink PS Converter block must match the input type expected by the Simscape block connected to it For example when you provide the input signal for an Ideal Angular Velocity Source block specify angular velocity units such as rad s or rpm in the Simulink PS Converter block or leave it unitless Similarly units specified in a PS Simulink Converter block must match the type of physical signal provided by the Simscape block outport Network Construction After validating the model the Simscape solver constructs the physical network based on the following principles Two directly connected Conserving ports have the same values for all their Across variables such as voltage or angular velocity 4 Model Simulation Any Through variable such as current or torque transferred along the Physical connection line is divided among the multiple components connected by the branches For each Through variable the sum of all its values flowing into
122. ax gt where e TET is the task execution time Task execution time involves calculating the simulation results for the time step processing inputs from and writing outputs to the development computer and performing general computing tasks such as buffering data and accessing memory e THL is the hardware latency time Hardware latency time includes scheduling interrupt and input output I O latency TSmin is the minimum step size If the time that it takes for the target to execute the simulation and handle latency processes is less than the specified time step the processor remains idle during the remainder of the step That is Ts TET pay HLT HIT where Tsis the step size that you specify for the fixed step solver IT is the idle time This equation can be rearranged as TET Ts ALT TT The task execution hardware latency and idle times vary but you can implement a safety margin by specifying the idle time in the budget calculation as a function of the step size for the fixed step solver For example if you specify a step size of 1e 5 for the solver and you want a 20 safety margin then IT 0 2 1e 5 Therefore the amount of time available for simulation execution can be calculated as follows TET max Ts HLTax SMT Ts where 7 77 7 Real Time Simulation e SMT is the desired safety margin specified as a percent Related Examples Reduce Computation Costs on p
123. c time scales for dynamic compressibility and flow inertia are approximately L c and L v respectively where Lis the length of the pipe vis the mean flow velocity through the pipe cis the speed of sound in the liquid medium If you are unsure whether an effect is relevant to your model simulate the model with and without that effect Then compare the two simulation results If the difference is substantial leave that effect in place The result is greater model fidelity at small time scales e g during transients associated with flow reversal in a pipe Model Physical Components Start by adding a Thermal Liquid Settings TL block to the model canvas Use this block to provide the physical properties of the liquid medium This block is not strictly required but without it the liquid properties are reset to their default values given for water In the block dialog box enter the physical property lookup tables that you acquired during the planning stage Identify the appropriate blocks for representing the physical components and their interactions Components can be simple requiring a single block or custom requiring multiple blocks typically within a Subsystem block Add the blocks to the model canvas and connect them according to the Simscape connection rules The ssc_tl_ hydraulic fluid warming example shows simple and custom components The Mass Flow Rate Source TL represents an ideal power source It is a simple co
124. cal solver or a global Making Optimal Solver Choices for Physical Simulation solver like ode14x For more information see Unbounded Bounded and Fixed Cost Simulation on page 4 19 and Fixed Cost Simulation for Real Time Viability on page 7 55 To limit the iterations open the Solver Configuration block of each physical network Select Use fixed cost runtime consistency iterations and set limits for the number of nonlinear and mode iterations per time step Tip Fixed cost simulation with variable step solvers is not possible in most simulations Attempt fixed cost simulation with a fixed step solver only and avoid using fixed cost iterations with variable step solvers Troubleshooting and Improving Solver Performance Consider the basic trade off of speed versus accuracy and stability A larger time step or tolerance results in faster simulation but also less accurate and less stable simulation If a system undergoes sudden or rapid changes larger tolerance or step size can cause major errors Consider tightening the tolerance or step size if your simulation Is not accurate enough or looks unphysical e Exhibits discontinuities in state values e Reaches the minimum step size allowed without converging usually a sign that one or more events or rapid changes occur within a time step Any one or all of these steps increase accuracy but make the simulation run more slowly For Local Solvers Models with fr
125. cal stiffness that is responsible for the small steps See Also simscape logging plotxy simscape logging sli findNode sscexplore sscprintzcs Related Examples Determine Step Size on page 7 15 Estimate Computation Costs on page 7 76 Improving Speed and Accuracy on page 7 10 Log Navigate and Plot Simulation Data on page 9 21 Reduce Computation Costs on page 7 25 Reduce Numerical Stiffness on page 7 31 More About About Simulation Data Logging on page 9 2 About the Simscape Results Explorer on page 9 26 Events and Zero Crossings on page 4 3 Model Preparation Objectives on page 7 2 Improving Speed and Accuracy on page 7 10 Real Time Model Preparation Workflow on page 7 5 Using Conditional Expressions in Equations Zero Crossing Detection Fixed Cost Simulation for Real Time Viability Fixed Cost Simulation for Real Time Viability The step size and number of iterations that you specify affect the computational cost of your real time simulation As you decrease the step size or increase the number of iterations the results become more accurate but the simulation costs more so it can take longer to simulate Simulation overrun occurs if the step size is too small or if there are too many iterations for the solver to calculate a solution in a single real time computational frame Limit the computational cost by specifying the solver step s
126. ce For cyclical processes however the block equations have to contain the 2 pi conversion factor to convert the numerical value specified in Hz or s7 to angular frequency As a result frequency units based on HZ and angular velocity units based on rpm are not directly convertible and using one instead of the other may result in unexpected conversion factors applied to the numerical values by the block equations For example the AC Voltage Source block explicitly multiplies the value you specify for its Frequency parameter by 2 pi to convert it to angular frequency before calculating the sine function Drop down lists of suggested units in block dialogs reflect this distinction For example if a block has a Frequency parameter with the default unit of Hz the drop down list for this parameter contains only units directly convertible to Hz such as kHz MHz and GHz and does not contain the angular velocity units Conversely if you define a custom block where the Frequency parameter has the default unit of rpm its drop down list of suggested units will include deg s and rad s but will not contain Hz kHz MHz or GHz When you type a unit expression in the parameter units combo box instead of selecting a value from the drop down list the Simscape unit manager considers the units of frequency and angular velocity to be commensurate For example when the default parameter unit is HZ you are able to type not only 1 s but also exp
127. ce including a Simscape simulation data logging node 7 26 Reduce Computation Costs To determine the source for the Pneu_rts_RPM_DATA In the MATLAB workspace open the structure The blockName variable shows that the RPM scope logs the data In the model the outport that logs data to yout connects to the signal between the Measurements subsystem and the RPM scope block To compare the data that Pneu_rts_RPM_DATA and yout log plot both data sets to a single figure hi figure plot tout yout h1 hold on plot Pneu_rts_RPM_DATA time Pneu_rts_RPM_DATA signals values r title Speed Xlabel Time s ylabel Speed rpm hiLeg legend yout Pneu rts RPM DATA 7 27 7 Real Time Simulation 7 28 Speed rpm yout Pneu rts RPM DATA Time s The data is the same which means that you are logging the same data twice To reduce the computational cost for logging or monitoring the speed data via the Simulink model on your development computer during real time simulation If you only need to log the speed data delete the RPM scope block If you need to log and monitor the speed data delete the outport block If you only need to monitor the speed data delete the outport block and disable data logging for the RPM scope Reduce Computation Costs If you do not need to log or monitor the speed data via the Simulink model on your development computer during real tim
128. ce Input X Gear Box A Wheel and Gear Box B Translational S Friction Lever C Position Simple Mechanical System 1 Explore simulation results using sscexplore 2 Learn more about this example 5 Select Analysis gt Simscape gt Statistics Viewer to refresh the model statistics 10 13 10 Model Statistics Number of differential variables Number of algebraic variables Number of differential variables Number of algebraic variables Number of integer valued variables Number of real valued variables Zero crossing signal 1 Source cod Zero crossing signal 2 Source cod Number of dynamic variable constraints Sources Source Select a statistic above to see its sources Select a statistic above to see its detailed description The revised model contains five differential variables six algebraic variables and two zero crossing signals This happened because you replaced a linear block Translational Damper with a nonlinear one Translational Friction Therefore the linear optimization that the solver initially performed on the model no longer applies 10 14 View Model Statistics Related Examples Access Block Variables Using Statistics Viewer on page 10 16 More About 1 D Physical System Statistics on page 10 4 10 15 10 Model Statistics Access Block Variables Using Statistics Viewer 10 16 This example shows how you can use the Sources section of the
129. cks Algebraic Loops A Simscape physical network should not exist within a Simulink algebraic loop This means that you should not directly connect an output of a PS Simulink Converter block to an input of a Simulink PS Converter block of the same physical network For example the following model contains a direct feedthrough between the PS Simulink Converter block and the Simulink PS Converter block highlighted in magenta To avoid the algebraic loop you can insert a Transfer Function block anywhere along the highlighted loop Limitations Ideal Trans lstional Mation Sensor PS Simulink Converter Position Sine Wave Subtract Gain Simulink PS Converter A better way to avoid an algebraic loop without introducing additional dynamics is shown in the modified model below Valve Subsystem Ideal Trans Istional Motion Sensor Position SPSb e _ P gt gt Sine Wave SimuinPs 7 Converter PS Subtract PS Gain Restricted Simulink Tools Certain Simulink tools are restricted for use with Simscape software You can use the Simulink set_param and get_param commands to set or get Simscape block parameters if the parameters correspond to fields in the block dialog box MathWorks does not recommend that you use these commands to find or change any other block parameters 4 33 4 Model Simulation 4 34 If you make changes to block parameters at the command line run your
130. cted Mode 12 14 When you open a model in Restricted mode you can perform a variety of tasks simulate the model inspect and fine tune block parameters add and delete basic Simulink blocks and so on For a complete list of allowed operations see What You Can Do in Restricted Mode on page 12 3 When you open a block dialog box in Restricted mode some of the block parameters may be grayed out These are the so called restricted parameters that can be modified only in Full mode In general you can change numerical parameter values in Restricted mode but you cannot change the block parameterization options See the block reference pages for specifics Note also that when a restricted parameter defines the block parameterization schema nonrestricted parameters available for fine tuning in Restricted mode depend on the value of this restricted parameter For example in a Constant Volume Chamber block the Chamber specification parameter is restricted If at the time the model entered Restricted mode this parameter was set to By volume then the nonrestricted parameters available for fine tuning would be Chamber volume Specific heat ratio and Initial pressure If however it was set to By length and diameter you will have a different set of parameters available in Restricted mode You cannot change physical units in Restricted mode When you open a block dialog box in Restricted mode the drop down lists of units next to a parameter
131. ction explains how to select solvers for physical simulation Proper simulation of Simscape models requires certain changes to Simulink defaults and consideration of physical simulation trade offs For recommended choices see Making Optimal Solver Choices for Physical Simulation on page 4 21 Choosing Simulink and Simscape Solvers Simulink and Simscape solver technologies provide a range of tools to simulate physical systems including the powerful Simscape technique of local solvers You choose global or model wide solvers through Simulink After making these choices check that they are consistent see Harmonizing Simulink and Simscape Solvers on page 4 18 Working with Global Simulink Solvers on page 4 11 Working with Local Simscape Solvers on page 4 12 Working with Global Simulink Solvers In the Configuration Parameters dialog box of your model on the Solver pane the solver and related settings that you select are global choices For more information see Solvers in the Simulink documentation When you first create a model the default Simulink solver is ode45 To select a different solver follow a procedure similar to the procedure in Modifying Initial Settings on page 1 26 You can choose one from a suite of both variable step and fixed step solvers A variable step solver is the default You can also select from among explicit and implicit solvers An explicit solver is the default
132. ction lines and block icons with physical ports visible at connection points Repeatedly selecting the Domain Styles menu option toggles the domain specific line styles for this model on or off as indicated by the check mark To turn off domain specific line styles for all models on the MATLAB Toolstrip click Preferences In the left pane of the Preferences dialog box select Simscape then clear the Enable domain styles for all models check box Domain Specific Line Styles MATLAB Simulink Computer Vision System Toolbox DSP System Toolbox Database Toolbox Image Acquisition Toolbox Image Processing Toolbox Instrument Control Toolbox LTE System Toolbox MATLAB Report Generator Parallel Computing Toolbox Simscape Simulink 3D Animation Simulink Control Design System Objects SystemTest 1 45 T Model Construction Modeling Pneumatic Systems 1 46 In this section Intended Applications on page 1 46 Assumptions and Limitations on page 1 46 Fundamental Equations on page 1 47 Network Variables on page 1 48 Connection Constraints on page 1 48 References on page 1 49 Intended Applications The Foundation library contains basic pneumatic elements such as orifices chambers and pneumatic mechanical converters as well as pneumatic sensors and sources Use these blocks to model pneumatic systems for ap
133. d Function In this example you 1 Use the Simscape steady state solver to find an operating point 2 Linearize the model using the Simulink linmod function 3 Generate the Bode plot using a series of MATLAB commands Open the Solver Configuration block and make sure the Start simulation from steady state check box is selected When you simulate the model with the Simscape steady state solver enabled the circuit is initialized at the state defined by the transistor bias resistors This steady state solution is an operating point suitable for linearization 6 17 6 Linearization and Trimming 6 18 Note Also make sure that the Use local solver check box is cleared Linearizing a model with the local solver enabled is not supported To linearize the model type the following in the MATLAB Command Window a b c d linmod ssc_bipolar_nonlinear You can alternatively call the Linmod function with a single output argument in which case it generates a structure with states inputs and outputs as well as the linear time invariant LTI model The state vector of the Nonlinear Bipolar Transistor model contains 17 components The full model has one input and one output Thus the LTI state space model derived from linearization has the following matrix sizes ais 17 by 17 e bis 17 by 1 e cis 1 by 17 e dis 1 by 1 To generate a Bode plot with negative feedback convention type the following in the MATLAB Command Window
134. d Global Fixed Step Solvers 0 0 0 cee ee ene eee Simulating with Fixed Cost 0 0 0 0 cee eee Troubleshooting and Improving Solver Performance Multiple Local Solvers Example with a Mixed Stiff Nonstiff DV StCMc eet thas ohh it Oe 8 tend ke a Be os ides Troubleshooting Simulation Errors Troubleshooting Tips and Techniques System Configuration Errors 00000 c eee eee Numerical Simulation Issues 0 00000 cee eee Initial Conditions Solve Failure 0 000 Transient Simulation Issues 0 00 0 eee Weim AtiOns so sss lt a each Ses erp e aes etnias awe ke aS Se Sample Time and Solver Restrictions Algebraic Loops eiser rrei sa eree iA td baba el eld Gta Restricted Simulink Tools 0 0 00 0c ee Unsupported Simulink Tools and Features Simulink Tools Not Compatible with Simscape Blocks Code Generation esso eaer eseye wta Ena ee ees References lt lt 5 seh e a aona dE a aa e Salas E heehee 8 4 17 4 17 4 18 4 18 4 18 4 19 4 19 4 21 4 21 4 21 4 22 4 23 4 24 4 26 4 26 4 27 4 29 4 30 4 30 4 32 4 32 4 32 4 33 4 35 4 35 4 35 4 37 Variable Initialization and State Viewer 5 About Variable Initialization 0 005 Initializing Block Variables for Model Simulation Variable Initialization Priority 0 00000 00 0s viii Contents
135. d restore simulations of models you cannot make any changes to the Simscape blocks in the model between the time at which you save the SimState and the time at which you restore the simulation using the SimState This is an extension of the Simulink limitation prohibiting structural changes to the model between these two points in time see Limitations of SimState Changes to Simscape block parameters can cause equation changes and result in changes to the state representation Therefore modifying parameters of Simscape blocks between saving and restoring the SimState is not allowed Linearization with the Simulink linmod function or with equivalent Simulink Control Design functions and graphical interfaces is not supported with Simscape models if you use local solvers Model referencing is supported with some restrictions Limitations All Physical connection lines must be contained within the referenced model Such lines cannot cross the boundary of the referenced model subsystem in the referencing model The referencing model and the referenced model must use the same solver You cannot create Simulink signal objects directly on the PS Simulink Converter block outputs Insert a Signal Conversion block after the output port of a PS Simulink Converter block and specify the signal object on the output of the Signal Conversion block instead Unsupported Simulink Tools and Features Certain Simulink tools and features do not
136. d row contains the data for the actual variable v velocity at port C 5 27 5 Variable Initialization and State Viewer Options View Beoe e k BR Qr Type here to filter variables by name Name amp Ideal_Translational_Motion_Sensor v B Mechanical_Translational_Reference av v t S Translational_Damper Status Q Qo Qo Qo Qo Qo Qo Qo Q Q Q Q Q Q Q Qo Qo Q Q Q Q Q Q Q Qo Qo Qo Qo Q Q Q Q Qo To switch to the flat view click E in the Variable Viewer toolbar 5 28 Variable Viewer eco asa Options View ESLIGE Qr Type here to filter variables by name Name Status v Priority Target Start Unit v Ideal_Translational_Motion_Sensor gt C gt v Q 0 0 m s Ideal_Translational_Motion_Sensor gt P Q 01 m Ideal_Translational_Motion_Sensor gt R gt v Q 0 0 m s Ideal_Translational_Motion_Sensor gt V 00 m s Ideal_Translational_Motion_Sensor gt f Q 00 N Ideal_Translational_Motion_Sensor gt v fe 0 0 m s Ideal_Translational_Motion_Sensor gt x Q High 01 01 m Mass gt M gt v Q 0 0 m s Mass gt f Qo 100 0 N Mass gt v Q 0 0 m s Mechanical_Translational_Reference gt V gt v Q 0 0 m s Mechanical_Translational_Reference gt f Q 100 0 N Translational_Damper gt C gt v Q 0 0 m s Translational_Damper gt R gt v Q 00 m s Translational_Damper gt f Qo 0 0 N Translational_Damper gt v Qo 0 0 m s Translational_Spring gt C gt v fe 0 0 m
137. de Related Products and Features 8 4 How Simscape Code Generation Differs from Simulink 8 5 Simscape and Simulink Code Generated Separately 8 5 Compiler and Processor Architecture Requirements 8 5 Precompiled Libraries Provided for Selected Compilers 8 5 Simscape Code Reuse Not Supported 8 6 Tunable Parameters Not Supported 04 8 6 Simscape Run Time Parameter Inlining Override of Global Exceptions nienean ewe sila A oud Sheds oo toa he Sadie bh uae WAS Seas 8 6 Data Logging About Simulation Data Logging 9 2 Suggested Workflows 0 000 cece ee eens 9 2 imitations sah he wea het ash ee ad Gu Me OAM weal woo 9 3 Enable Data Logging for the Whole Model 9 4 Log Data for Selected Blocks Only 9 5 Data Logging Options 0 0 0 0 cece eee 9 6 Log and Plot Simulation Data 45 9 8 Log Simulation Statistics 0 0 00 0 cece 9 13 Log and View Simulation Data for Selected Blocks 9 17 Log Navigate and Plot Simulation Data 9 21 About the Simscape Results Explorer 9 26 Use Custom Units to Plot Simulation Data 9 27 View Sparkline Plots of Simulation Data 9 31 Model Statistics 10 Simscape Model Statistics 0 0 0 0 ce eee 10 2 1 D Physical System Statistics 0 00 00 00s 10
138. de amplified by the transistor and bias circuit Linearize an Electronic Circuit a Load Voltage File Tools View Simulation Help 9 G QOp 2 a E 4 a ele Ready T 0 010 To see the circuit relax from a nonsteady initial state in the Solver Configuration block clear the Start simulation from steady state check box and click OK With the Load Voltage scope open simulate again In this case the output voltage starts at zero because the transistor junction capacitances start with zero charge 6 15 6 Linearization and Trimming 6 16 a Load Voltage File Tools View Simulation Help 830r e Z aA C S AS E You can get a more comprehensive understanding of the circuit behavior and how it approaches the steady state by long time transient simulation Increase the simulation time to 1 s and rerun the simulation The circuit starts from its initial nonsteady state and the transistor collector voltage approaches and eventually settles into steady sinusoidal oscillation Linearize an Electronic Circuit Load Voltage t KA File Tools View Simulation Help QOpr 2 a E 4 Open the Solver Configuration block select the Start simulation from steady state check box as it was when you first opened the model and click OK Change the simulation time back to 01 s and rerun the simulation Linearize with Steady State Solver and 1inmo
139. der as you configure and test solvers and other simulation settings for your Simscape model For a summary of recommended settings see Making Optimal Solver Choices for Physical Simulation on page 4 21 For background information consult How Simscape Models Represent Physical Systems on page 4 2 and How Simscape Simulation Works on page 4 5 In this section Variable Step and Fixed Step Solvers on page 4 17 Explicit and Implicit Solvers on page 4 18 Full and Sparse Linear Algebra on page 4 18 Event Detection and Location on page 4 18 Unbounded Bounded and Fixed Cost Simulation on page 4 19 Global and Local Solvers on page 4 19 Variable Step and Fixed Step Solvers Variable step solvers are the usual choice for design prototyping and exploratory simulation and to precisely locate events during simulation They are not useful for real time simulation and can be costly if there are many events A variable step solver automatically adjusts its step size as it moves forward in time to adapt to how well it controls solution error You control the accuracy and speed of the variable step solution by adjusting the solver tolerance With many variable step solvers you can also limit the minimum and maximum time step size Fixed step solvers are recommended or required if you want to make performance comparisons across platforms and operating systems to generate a code
140. desktop simulation to real time simulation is an iterative process that can require extensive model reconfiguration During model preparation you obtain reference results from a variable step simulation of your original model These results provide a baseline against which you can judge the accuracy of your modified models Determine Step Size In terms of speed the only way to know if your model is real time capable is to test for overruns while simulating on real time hardware You can however analyze solver execution speed using desktop simulation to determine if your model is probably fast enough for real time simulation You do so by analyzing the steps of a variable step solver to find the maximum step size to use for sufficiently accurate real time simulation results If the required step size appears small enough to cause an overrun on your real time hardware you increase the step size by improving simulation speed Adjust Model Fidelity or Scope You can adjust the fidelity or scope of your model to increase speed or accuracy Adjustments include Deleting or adding blocks or modifying block parameters to eliminate or reduce the effects of elements that introduce numerical stiffness or cause discontinuities Model Preparation Objectives Simulations take small steps to calculate accurate solutions for these types of elements Modifying elements or parameters to increase simulation efficiency For example simplify graph
141. dialog boxes The values you specify during block level variable initialization are not the actual values of the respective variables but rather their target values at the beginning of simulation t 0 Depending on the results of the solve some of these targets may or may not be satisfied The solver tries to find a solution that Exactly satisfies all the model equations Exactly satisfies all the high priority targets Approximates the low priority targets as closely as possible as a result some of the low priority targets might be satisfied exactly the others are approximated If the solver cannot find a solution that exactly satisfies all the high priority targets it issues a warning and enters the second stage of the solve process where it tries to find a solution by approximating both the high priority and the low priority targets as closely as possible If you have selected the Start simulation from steady state check box in the Solver block dialog box the solver attempts to find the steady state when the system variables are no longer changing with time If the steady state solve succeeds the state found is some steady state within tolerance but not necessarily the state expected from the given initial conditions In other words if simulation starts from steady state even the high priority variable targets might no longer be satisfied at the start of simulation About Variable Initialization However if t
142. duce Numerical Stiffness on page 7 31 e Reduce Zero Crossings on page 7 41 lt Fixed Cost Simulation for Real Time Viability on page 7 55 Real Time Simulation Workflow on page 7 57 Solvers for Real Time Simulation on page 7 63 Determine System Stiffness on page 7 68 Estimate Computation Costs on page 7 76 e Choose Step Size and Number of Iterations on page 7 79 What Is Hardware in the Loop Simulation on page 7 96 e Hardware in the Loop Simulation Workflow on page 7 100 e Code Generation Requirements on page 7 106 Generate Download and Execute Code on page 7 108 Requirements for Using Alternative Platforms on page 7 111 7 Real Time Simulation Model Preparation Objectives The main goal of model preparation is to ensure that your model is real time capable Your model is real time capable if it is both e Accurate enough to generate simulation results that match your expectations as based on theoretical models and empirical data e Fast enough to run on your real time target machine without overruns During model preparation you obtain reference results and determine step size to assess the likelihood that your model is real time capable If it is unlikely that your model is real time capable you adjust the model scope or fidelity to make real time simulation with your model feasible Obtain Reference Results Moving your model from
143. e Related Examples Save a Model in Restricted Mode on page 12 11 12 9 12 Add On Product License Management Work with a Model in Restricted Mode on page 12 14 Switch from Restricted to Full Mode on page 12 28 More About About the Simscape Editing Mode on page 12 2 Editing Mode Information on page 12 30 12 10 Save a Model in Restricted Mode Save a Model in Restricted Mode Rather than setting your preferences so that all the models always open in Restricted mode you can switch an individual model to Restricted mode before saving it Such a model will then by default open in Restricted mode 1 From the top menu bar in the model window select Simulation gt Model Configuration Parameters The Configuration Parameters dialog box opens In the left pane of the Configuration Parameters dialog box select Simscape The right pane displays the Editing Mode option which is by default set to Full Select Restricted from the drop down list as shown and click OK C Configuration Parameters mech_simple Configuration Active ncm Select Editing Solver Editing Mode Restricted KA Data Import Export OP timization Physical Networks Model Wide Simulation Diagnostics Diagnostics Hardware Implementation Explicit solver used in model containing Physical Networks blocks warning gt Model Referencing lt Simulation Target Zero crossing control is globally di
144. e a Model in Restricted MWioG Ge isuk aca eo ttetathc Ban batcte Seatel Sicaees ai eetnacte he Rae How to Add and Delete Simulink Blocks in Restricted Mode Performing an Operation Disallowed in Restricted Mode Switch from Restricted to Full Mode Editing Mode Information 005 What Is the Current Mode 0 00 0000 00 cee Which Licenses Are Checked Out 0 12 2 12 2 12 3 12 4 12 4 12 7 12 11 12 12 12 14 12 14 12 19 12 24 12 28 12 30 12 30 12 30 Model Construction Basic Principles of Modeling Physical Networks on page 1 2 Simscape Block Libraries on page 1 11 e Essential Physical Modeling Techniques on page 1 15 e Creating and Simulating a Simple Model on page 1 18 Modeling Best Practices on page 1 36 Domain Specific Line Styles on page 1 43 Modeling Pneumatic Systems on page 1 46 T Model Construction Basic Principles of Modeling Physical Networks In this section Overview of the Physical Network Approach to Modeling Physical Systems on page 1 2 Variable Types on page 1 4 Building the Mathematical Model on page 1 5 Direction of Variables on page 1 6 Connector Ports and Connection Lines on page 1 8 Connecting Simscape Diagrams to Simulink Sources and Scopes on page 1 9 Overview of the Physical Network Approach to Modelin
145. e at 2 5 seconds is an operating point suitable for linearization 6 25 6 Linearization and Trimming 6 26 Trim Using the Controller and Linearize with Simulink Linmod Function 1 Set the controller parameters To specify sample time for controller discrete time implementation type the following in the MATLAB Command Window ts 0 001 To specify continuous time controller numerator and denominator type num den 0 5 1e 3 1 Find an operating point by running closed loop and selecting the state at 2 5 seconds when the custom two way valve is open To close the feedback loop type assignin base ClosedLoop 1 To simulate the model and save the operating point information in the form of a state vector X and input vector U type t x y sim ssc_hydraulic_actuator_digital_control idx find t gt 2 5 1 X x idx U y idx Linearize the model using the Simulink Linmod function To break the feedback loop type assignin base ClosedLoop 0O To linearize the model type a b c d linmod ssc_hydraulic_actuator_digital_control X U Close the feedback loop by typing assignin base ClosedLoop 1 To generate a Bode plot with negative feedback convention type the following in the MATLAB Command Window c c d d Linearize a Plant Model for Use in Feedback Control Design npts 100 w logspace 3 5 npts G zeros 1 npts for i 1 npts G i c 1i
146. e manager checks whether all the add on product licenses for this model are available If yes it checks out the add on product licenses and switches the model to Full mode If a add on product license is not available the license manager issues an error message and the model stays in Restricted mode 12 28 Switch from Restricted to Full Mode Note If the switch to Full mode fails but some of the add on product licenses have already been checked out they stay checked out until you quit the MATLAB session For more information see Example with Multiple Add On Products on page 12 6 Once the model is switched to Full mode you can perform the needed design and simulation tasks and then either save it in Full mode or switch back to Restricted mode and save it in Restricted mode Related Examples Set the Model Loading Preference on page 12 9 Save a Model in Restricted Mode on page 12 11 Work with a Model in Restricted Mode on page 12 14 More About 7 About the Simscape Editing Mode on page 12 2 Editing Mode Information on page 12 30 12 29 12 Add On Product License Management Editing Mode Information 12 30 In this section What Is the Current Mode on page 12 30 Which Licenses Are Checked Out on page 12 30 What Is the Current Mode If you are unsure whether the model is currently open in Restricted or Full mode you can check by foll
147. e maximum step size Discontinuities and rapid changes require small step sizes for accurately capturing these dynamics The maximum step size that you can use for a fixed step simulation must be small enough to ensure accurate results If your model contains such dynamics then it is possible that the required step size for accurate results TSmax is too small to allow your real time computer to finish calculating the solution for any given step in the simulation The analysis in this example helps you to estimate the maximum step size that fixed step solvers can use and still obtain accurate results You can also use the analysis to determine which elements influence the maximum possible step size for accurate results For more information on how obtaining reference results and performing a step size analysis helps you to prepare your model for real time simulation see Model Preparation Objectives on page 7 2 1 To open the reference model at the MATLAB command prompt enter ssc_pneumatic_rts_reference 7 15 7 Real Time Simulation Volumetric flow m2 min Configur stion Pressure Source Directional 5 way valve Friction Pneumatic Load Atmospheric C2 Atmospheric C Reference Reference Mechanical Rotational Reference 2 Simulate the model 3 Create a semilogarithmic plot that shows how the step size for the solver varies during the simulation hi figure semilogy tout 1 end 1 diff tout x
148. e numerical integration to compute their values This statistic represents the number of differential variables in the model that have been eliminated Number of algebraic variables This statistic represents the number of eliminated algebraic variables associated with all 1 D physical systems in the model Algebraic variables are continuous system variables whose time derivative does not appear in any system equations These variables appear in algebraic equations but add no dynamics and this typically occurs in physical systems due to conservation laws such as conservation of mass and energy This statistic represents the number of algebraic variables in the model that have been eliminated Number of discrete variables This statistic represents the number of discrete or event variables associated with all 1 D physical systems in the model Discrete variables are those variables whose values can change only at specific events Discrete variables are categorized further as integer valued and real valued discrete variables Number of integer valued variables This statistic represents the number of integer valued discrete variables associated with all 1 D physical systems in the model Integer valued discrete variables are system variables that take on integer values only and can change their values only at specific events such as sample time hits These variables are typically generated from blocks that are sampled and run at spec
149. e simulation Are thermal effects important for analysis Are the temperature dependences of the liquid properties important As a rule use Thermal Liquid blocks for fluid systems in which a single phase liquid experiences significant temperature changes For gaseous systems use Pneumatic blocks instead For isothermal liquid systems use Hydraulic blocks Modeling Thermal Liquid Systems Modeling Workflow The suggested workflow for Thermal Liquid models includes four steps 1 Establish model requirements Define the purpose and scope of the model Then identify the relevant components and interactions in the model Use this information as a guide when building the model 2 Model physical components Determine the appropriate blocks for modeling the relevant components and interactions Then add the blocks to the model canvas and connect them according to the Simscape connection rules Specify the block parameters 3 Prepare model for analysis Add sensors to the model Alternatively configure the model for Simscape data logging Check the physical units of each sensed variable 4 Run simulation Configure the solver settings Then run the simulation If necessary refine the model until you achieve the desired fidelity level Establish Model Requirements The foundation of a good model is a clear understanding of its purpose and requirements What are you trying to accomplish with the model What are the relevan
150. e simulation with target hardware delete both the RPM scope block and the outport block If you want to reduce costs by deleting the scope and outport blocks but you need to log data while you prepare your model for real time simulation configure the model to log only the data that you need with the simlog node in the MATLAB workspace For information see Log Data for Selected Blocks Only on page 9 5 Additional Methods for Reducing Computational Cost In addition to reducing the number of logged and monitored signals you can use these methods for decreasing the number and complexity of tasks that the processor performs per time step during simulation Avoid using large images and complex graphics e Disable unnecessary error and warning diagnostics Reconfigure tolerances Simplify complex subsystems or replace them with lookup tables Linearize nonlinear effects Eliminate redundant calculations for example multiplication by one Reduce the number of differential algebraic equations DAEs Related Examples Determine Step Size on page 7 15 Estimate Computation Costs on page 7 76 Reduce Numerical Stiffness on page 7 31 Reduce Zero Crossings on page 7 41 More About About Simulation Data Logging on page 9 2 Limitations on page 9 3 Improving Speed and Accuracy on page 7 10 Log Navigate and Plot Simulation Data on page 9 21 7 29 7 R
151. e solution at the next time step with an algebraic solver An implicit algorithm does more work per simulation step but can take fewer larger steps If the system contains DAEs even if it is not stiff use an implicit solver Such solvers are designed to simultaneously solve algebraic constraints and integrate differential equations Full and Sparse Linear Algebra When you simulate a system with more than one state the solver manipulates the mathematical system with matrices For a large number of states sparse linear algebra methods applied to large matrices can make the simulation more efficient Event Detection and Location Events in most cases occur between simulated time steps Fixed step solvers detect events after stepping over them but cannot adaptively locate events in time This can lead to large inaccuracies or failure to converge on a solution Variable step solvers can both detect events and estimate the instants when they occur by adapting the timing and length of the time steps Important Concepts and Choices in Physical Simulation Tip To estimate the timing of events or rapid changes in your simulation use a variable step solver If your simulation has to frequently adapt to events or rapid changes by changing its step size much or all of the advantage of implicit solvers over explicit solvers is lost Unbounded Bounded and Fixed Cost Simulation In certain cases such as real time simula
152. e the functions with equivalent expressions capable of accessing real data The functions you must replace are 5 3 Two Phase Fluid Models e saturatedLiquidInternalEnergy e saturatedVaporiInternalEnergy Map the normalized internal energy vectors onto equivalent specific internal energy vectors In your MATLAB script add this code Map pressure specific internal energy grid onto pressure normalized internal energy space fluidTables liquid u fluidTables liquid unorm 1 fluidTables liquid u_sat uMin uMin fluidTables vapor u fluidTables vapor unorm 2 uMax fluidTables vapor u_sat uMax Obtain Fluid Properties at Grid Points You can now obtain the fluid properties at each grid point The following code shows how to generate the temperature tables for the liquid and vapor phases Use a similar approach to generate the remaining fluid property tables In your MATLAB script add this code Obtain temperature tables for the liquid and vapor phases for j 1 n for i 1 mLiquid fluidTables liquid T i j liquidTemperature fluidTables liquid cea j fluidTables p j end for i 1 mVapor fluidTables vapor T i j vaporTemperature fluidTables vapor WG j fluidTables p j end end This code calls two functions written to generate example data Before using this code in a real application you must replace the functions with equivalent expressions capable of accessing real data The funct
153. e the local solver for fixed step simulation In the Hydraulic Actuator subsystem in the Solver Configurationblock dialog box select Use local solver 3 To parameterize the cost of the simulation set Nonlinear iterations to N Perform Fixed Step Fixed Cost Simulation You can determine if your solver settings are appropriate for real time simulation by simulating the model and then evaluating the accuracy of the results and the speed 7 85 7 Real Time Simulation 7 86 of the simulation To evaluate accuracy compare the results to the reference results and to the results of other fixed step fixed cost simulations To evaluate simulation speed compare the elapsed time to the specified simulation time and to the simulation execution budget If the speed or accuracy is not acceptable adjust the step size and number of iterations to make your model real time capable The simulation execution time budget for this example is four seconds For information on determining the execution time budget for your model see Estimate Computation Costs on page 7 76 1 For the first simulation specify both the global and local step size as the largest possible value of TSmax from the step plot Specify a relatively large value for the step size for both solvers and three for the number of nonlinear iterations for the local solver ts 1e 2 tsG 1e 2 N 3 Perform a timed fixed step fixed cost simulation tic sim ssc_hydra
154. e zero crossings occur between t 0 and t 1 seconds when the other signals in the block are near zero The few remaining zero crossings occur at t 5 and 10 seconds To identify the source code that triggers most of the zero crossings expand the Pneumatic Motor node and the SimulationsStatistics ZeroCrossings node Click the zc_0 43 crossings Zero Crossing button and then the PneumaticMotor PneumaticMotor link that appears in the lower left corner of the window Reduce Zero Crossings jocz pe Results Explorer ssc_pneumatic_rts_stiffness_redux joo fate File Edit View Insert Tools Desktop Window Help TODESTA YACOLL Bdgas SimulationStatistics ZeroCrossings ssc_pneumatic_rts_stiffness_redux 5 6 Directional_5_way_valve H B Friction_Load 5 6 Measure_flow A Measurements Mechanical_Rotational_Reference 5 Motor_shaft_inertia Pipet J Pipe 2 Pneumatic_Atmospheric_Referenced Pneumatic_Atmospheric_Referencel iA Pneumatic_Motor WA B EG Time s es i QB R 1 x108 al SimulationStatistics ZeroCrossings fF s zc1 9 crossings 0 5 A zc_2 9 crossings he E crossings cummulative H D o SimulationStatistics ZeroCrossings z_3 no crossings A zc_4 no crossings ft 5 Pressure_Source values o 0 5 Statistics for selected node id zc_O SIRES SS 0 1 2 3 4 5 6 7 8 9 10 Number of logged zero crossing signals 1 Number
155. eal Time Simulation Model Preparation Objectives on page 7 2 Real Time Model Preparation Workflow on page 7 5 Real Time Simulation Workflow on page 7 57 7 30 Reduce Numerical Stiffness Reduce Numerical Stiffness This example helps you to complete the steps outlined in Real Time Model Preparation Workflow on page 7 5 and to meet the goals described in Model Preparation Objectives on page 7 2 In Determine Step Size on page 7 15 you use the results of a variable step simulation of your Simscape model to identify when step size decreases to capture behavior accurately at discontinuities and for rapid dynamics in numerically stiff systems These types of events often require solvers to take steps that are too small to support real time simulation This example shows how to use the results from Determine Step Size on page 7 15 to identify a numerically stiff element in your model It also shows how to modify the element for faster simulation without sacrificing accuracy Why Reduce Stiffness Numerical stiffness can prevent your model from being real time capable A real time capable model is one that produces acceptable results without incurring overruns when you simulate it on your target processor Stiff systems contain dynamics that vary both quickly and slowly When solvers take large steps they usually capture slowly changing dynamics but they tend to miss rapid changes unless th
156. earch for an Operating Point on page 6 3 Using the Simscape Initial Condition Solver on page 6 4 e Using Simulink Control Design Techniques to Find Operating Points on page 6 4 Using Sources to Find Operating Points Not Recommended on page 6 6 e Simulink trim Function Not Supported with Simscape Models on page 6 6 Simulating in Time to Search for an Operating Point One way to identify operating points is to simulate your model and inspect its state x and output y as a time series 1 In your Simscape model set up sensor outputs for whatever block outputs you want to observe 2 Connect Scope blocks To Workspace blocks or both to your Simscape block outputs to observe and record simulation behavior 6 Linearization and Trimming 3 Inthe Data Import Export pane of your model Configuration Parameters settings select the Time States and Output check boxes to record this simulation information in your workspace Using the Simscape Initial Condition Solver Simscape software provides two workflows to initialize a physical model The first solves for steady state where all differential variables have zero derivative Using this approach you can search for multiple steady states with the steady state solver by varying the model inputs parameters and initial conditions The second approach is to directly specify initial conditions by specifying initialization priority and targets for block variables
157. econd Generation library to blocks from Simscape SimDriveline SimHydraulics SimElectronics and SimPowerSystems Simscape Components libraries All connections are listed individually as Connection 1 Connection 2 and so on If you select an individual connection the Sources section lists the source and destination ports for this connection The Source column contains the full path to the interface port starting from the top level model with a link to the relevant block If you click the link in the Source column the corresponding block is highlighted in the block diagram The Value column specifies whether the port is the source or destination If you expand a connection node the Statistics Viewer provides the filtering information whether a filter is used and if yes the filter order and time constant Q Type here to filter statistics Name Value v 41 0 3 0 Connections Filter used Filter order Time constant 3 D Multibody System ee of rigidly c components excludin 3 banilla gt R Sources Source Value Rev Rot Interface Ideal Torque Sensor T Source Revolute Joint ti Destination Description a This statistic reports all the statistics related to a single connection View Model Statistics View Model Statistics This example shows how you can use model statistics to determine the effect of a change on model complexity 1 Open the Sim
158. ed See System Configuration Errors on page 4 27 for more information Dependent dynamic state In this case the Simulation Diagnostics window also may contain additional more specific error messages such as a warning about the component equations followed by a list of components involved See Dependent Dynamic States on page 4 29 for more information e The constraint residual tolerance may be too tight to produce a consistent solution to the algebraic constraints at the beginning of simulation You can try to increase the Constraint Residual Tolerance parameter value that is relax the tolerance in the Solver Configuration block If the Simulation Diagnostics window has other more specific error messages address them first and try rerunning the simulation See also Troubleshooting Tips and Techniques on page 4 26 Transient Simulation Issues Transient Initialization Not Converging on page 4 31 Step Size Related Errors Dependent States High Stiffness on page 4 31 Transient initialization happens at the beginning of simulation after computing the initial conditions or after a subsequent event such as a discontinuity for example Troubleshooting Simulation Errors when a hard stop hits the stop It is performed by fixing all dynamic variables and solving for algebraic variables and derivatives of dynamic variables The goal of transient initialization is to provide a consistent s
159. emoved hold on Keeps first Bode plot open bode a0_R1 b0_R1 cO_R1 d0_R1 Superposes second Bode plot on first Mel rguret ce fa File Edit View Insert Tools Desktop Window Help x DOSGES F ARC0R 2 08 an Bode Diagram Magnitude dB Phase deg 10 10 1010 Frequency rad s For more information on using Control System Toolbox software for Bode analysis see the Control System Toolbox documentation Related Examples Linearize a Plant Model for Use in Feedback Control Design on page 6 23 More About Finding Operating Points in Physical Models on page 6 3 Linearizing a Physical Model on page 6 9 Linearize a Plant Model for Use in Feedback Control Design Linearize a Plant Model for Use in Feedback Control Design This example shows how you can linearize a hydraulic plant model to support control system stability analysis and design Depending on the software you have available use the appropriate sections of this example to explore various linearization and analysis techniques In this section Explore the Model on page 6 23 Trim Using the Controller and Linearize with Simulink linmod Function on page 6 26 Linearize with Simulink Control Design Software on page 6 27 Explore the Model To open the Hydraulic Actuator with Digital Position Controller example model type ssc_hydraulic_actuator_digit
160. ensor B B Measurements 6 Ideal_Rotational_Motion_Sensor i i A C WR Ew fw 4 6 Mechanical_Rotational_Reference2 H 6 Torque_Sensor Mechanical_Rotational_Reference A Motor_shaft_inertia ig Pipe1 Dd Dine Statistics for root node id ssc_pneumatic_rts_reference Number of time steps 1001 Number of logged variables 144 Number of logged zero crossing signals 155 fff f The slow recovery times occur when the simulation initializes and approximately at t 1 4 5 8 and 9 seconds These periods of small steps coincide with these times The motor speed is near zero rpm simulation time t 1 5 and 9 seconds The step change in motor speed is initiated from a steady state speed to a new speed time 4 and 8 seconds The step change in flow rate is initiated from a steady state speed to a new flow rate time t 4 and 8 seconds The volumetric flow rate is near zero m 3 min t 1 4 and 5 seconds 7 23 7 Real Time Simulation 7 24 These results indicate that the slow step size recoveries are most likely due to elements in the model that involve friction or that have small compressible volumes To see how to identify the problematic elements and modify them to increase simulation speed see Reduce Numerical Stiffness on page 7 31 and Reduce Zero Crossings on page 7 41 Related Examples Choose Step Size and Number of Iteration
161. ent file For more information see Set Priority and Initial Target for Block Variables on page 5 5 and Variable Priority for Model Initialization If the variable has no initialization priority None or priority none then this field is empty Target Initial target value for a high priority or low priority variable If the variable has no initialization priority then this field is empty Start The actual initial value of the variable computed by the solver Unit The variable base unit common for all the values Target Prestart and Start Simscape unit manager automatically converts all the values as needed For example if you specified the target Beginning Value in the block dialog box as 20 and the Unit as mm the Variable Viewer displays the Target as 0 2 and Unit as m A downward pointing arrow next to a column name indicates that you can filter the table rows based on their value in this column For more information on the filtering options see Useful Filtering Techniques on page 5 29 The Variable Viewer toolbar buttons perform the following actions 5 24 Variable Viewer fi m Displays the data in the Variable Viewer in tree view with variable nodes grouped under the parent port block and subsystem nodes This is the default view Displays the data in the Variable Viewer in flat view to minimize the number of rows in the table In flat view the rows for parent nodes are
162. ent physical connections and relate physical variables based on the Physical Network approach Physical signal ports Unidirectional ports transferring signals that use an internal Simscape engine for computations Each of these ports and connections between them are described in greater detail below Physical Conserving Ports Simscape blocks have special conserving ports E You connect conserving ports with physical connection lines distinct from normal Simulink lines Physical connection lines have no inherent directionality and represent the exchange of energy flows according to the Physical Network approach You can connect conserving ports only to other conserving ports of the same type The physical connection lines that connect conserving ports together are nondirectional lines that carry physical variables Across and Through variables as described above rather than signals You cannot connect physical lines to Simulink ports or to physical signal ports Two directly connected conserving ports must have the same values for all their Across variables such as pressure or angular velocity e You can branch physical connection lines When you do so components directly connected with one another continue to share the same Across variables Any Through variable such as flow rate or torque transferred along the physical connection line is divided among the multiple components connected by the branches How the Through
163. ep Solver 1 Configure the model for fixed step simulation with implicit solver ode14x In the configuration parameters Solver pane set 7 69 7 Real Time Simulation 7 70 Type to Fixed step Solver to ode14x extrapolation Under Additional options Fixed step size fundamental sample time to 1e 3 Number of Newton s iterations to 1 Click OK Simulate the model Assign the simulation results to new variables yOde14x yout tOde14x tout Use the stairs function to plot the results of the implicit fixed step simulation so you can see how the solver behaves when it executes each step in the simulation hi hold on stairs t0de14x yOde14x g hiLeg legend Reference Impicit Solver The results appear the same Determine System Stiffness Speed 4000 Reference 3000 Impicit Solver Time s Simulate with an Explicit Fixed Step Solver 1 Configure the model for fixed step simulation with explicit fixed step solver ode5 In the configuration parameters Solver pane set Type to Fixed step Solver to ode5 Dormand Prince Click OK 7 71 7 Real Time Simulation 7 72 Filter the input signal to provide the required input derivative for the explicit solver In the PS S Simulink Converter block dialog box on the Input Handling tab set Filtering and derivatives to Filter Input Click OK Simulate the model Assign the simulation results to
164. er computes the initial conditions only once at the beginning of simulation 0 In the Solver Configuration block dialog box the default is that the Start simulation from steady state check box is not selected If it is selected in your model see Finding an Initial Steady State on page 4 9 The solver computes the initial conditions by finding initial values for all the system variables that exactly satisfy all the model equations You can affect the initial conditions How Simscape Simulation Works computation by block level variable initialization that is by specifying the priority and target initial values on the Variables tab of the block dialog boxes The values you specify during block level variable initialization are not the actual values of the respective variables but rather their target values at the beginning of simulation t 0 Depending on the results of the solve some of these targets may or may not be satisfied The solver tries to satisfy the high priority targets first then the low priority ones At first the solver tries to find a solution where all the high priority variable targets are met exactly and the low priority targets are approximated as closely as possible If the solution is found during this stage it satisfies all the high priority targets Some of the low priority targets might also be met exactly the others are approximated Ifthe solver cannot find a solution that exactly satisf
165. erations and other functions on physical signals and allow you to graphically implement equations inside the Physical Network Physical signal lines also have a distinct style and color in block diagrams similar to physical connection lines For more information see Domain Specific Line Styles on page 1 48 Connecting Simscape Diagrams to Simulink Sources and Scopes Simscape block diagrams use physical signals instead of regular Simulink signals Therefore you need converter blocks to connect Simscape diagrams to Simulink sources and scopes Use the Simulink PS Converter block to connect Simulink sources or other Simulink blocks to the inputs of a Physical Network diagram You can also use it to specify the input signal units For more information see the Simulink PS Converter block reference page Use the PS Simulink Converter block to connect outputs of a Physical Network diagram to Simulink scopes or other Simulink blocks You can also use it to specify the desired T Model Construction output signal units For more information see the PS Simulink Converter block reference page For an example of using converter blocks to connect Simscape diagrams to Simulink sources and scopes see Creating and Simulating a Simple Model on page 1 18 1 10 Simscape Block Libraries Simscape Block Libraries In this section Library Structure Overview on page 1 11 Using the Simulink Library Browser t
166. erent solvers on different parts of the system For example you might want to use implicit solvers on stiff parts of a system and explicit solvers everywhere else Such local solvers make the simulation more efficient and reduce computational cost 4 19 4 Model Simulation Such multisolver simulations must coordinate the separate sequences of time steps of each solver and each subsystem so that the various solvers can pass simulation updates to one another on some or all of the shared time steps 4 20 Making Optimal Solver Choices for Physical Simulation Making Optimal Solver Choices for Physical Simulation For the key simulation concepts to consider before making these choices see Important Concepts and Choices in Physical Simulation on page 4 17 In this section Simulating with Variable Time Step on page 4 21 Simulating with Fixed Time Step Local and Global Fixed Step Solvers on page 4 21 Simulating with Fixed Cost on page 4 22 Troubleshooting and Improving Solver Performance on page 4 23 Multiple Local Solvers Example with a Mixed Stiff Nonstiff System on page 4 24 Simulating with Variable Time Step For a typical Simscape model MathWorks recommends the Simulink variable step solvers odel5s and ode238t Of these two global solvers e The odel5ds solver is more stable but tends to damp out oscillations The ode23t solver captures oscillations better but is l
167. erivatives of system variables Without algebraic constraints the system is differential ODEs Without ODEs the system is algebraic With ODEs and algebraic constraints the system is mixed differential algebraic DAEs How Simscape Models Represent Physical Systems A system variable is differential or algebraic depending on whether or not its time derivative appears in the system equations Stiffness A mathematical problem is stiff if the solution you are seeking varies slowly but there are other solutions within the error tolerances that vary rapidly A stiff system has several intrinsic time scales of very different magnitude 1 A stiff physical system has one or more components that behave stiffly in the ordinary sense such as a spring with a large spring constant Mathematical equivalents include quasi incompressible fluids and low electrical inductance Such systems often exhibit high frequency oscillations in some of their components or modes Events and Zero Crossings Events are discontinuous changes in system state or dynamics as the system evolves in time for example a valve opening or a hard stop A zero crossing is a specific event type represented by the value of a mathematical function changing sign Working with Simscape Representation A Simscape model is equivalent to a set of equations representing one or more physical systems as physical networks Start by assuming that your
168. ers mlog erick Conticeeakiont active a ak Select Editing Solver Editing Mode Full Data Import Export oP Himiza Physical Networks Model Wide Simulation Diagnostics Diagnostics Hardware Implementation Explicit solver used in model containing Physical Networks blocks Model Referencing Simulation Target Zero crossing control is globally disabled in Simulink Code Generation Simscape Data Logging SimMechanics 1G F SimMechanics 2G Log simulation data au a 7 Log simulation statistics E Open viewer after simulation Workspace variable name simlog Decimation 1 7 Limit data points Data history last N steps 5000 Q 0k _ cancel Help Apply _ Simulate the model This creates a workspace variable named simlog as specified by the Workspace variable name parameter which contains the simulation data Because you selected the Log simulation statistics checkbox the workspace variable contains additional nodes that represent zero crossing data The simlog variable has the same hierarchy as the model To see the whole variable structure at the command prompt type simlog print This command prints the whole data tree mlog_ex_dcmotor1 Electrical_Reference2 Lay Log Simulation Statistics CCC ooo V i Friction Mr C W R W SimulationStatistics 2 0 crossings values zc_1 crossings values ZC_2 crossings values t
169. ery small step size and represent zero crossing events The step size decreases to approximately 10e 15 seconds for each zero crossing detection To obtain the reference results for motor speed open the Measurements subsystem Select the Ideal Rotational Motion Sensor block With the block selected use the simscape logging sli findNode function to find and save the node that contains the data for W the signal for the angular velocity of the motor nRef simscape logging sli findNode simlogRef gcbh 7 43 7 Real Time Simulation nRef Node with properties id Ideal_Rotational_Motion_Sensor 1x1 simscape logging Node 1x1 simscape logging Node 1x1 simscape logging Node 1x1 simscape logging Node 1x1 simscape logging Node 1x1 simscape logging Node 1x1 simscape logging Node ph OPJP 7 Usethe simscape logging plot function to plot the reference results for W simscape logging plot nRef W 7 44 Reduce Zero Crossings W rad s 400 S 300 200 100 0 1 2 3 4 5 6 7 8 9 10 Time s Identify and Modify Elements That Cause Zero Crossings Analyze the simulation data to determine the elements responsible for the zero crossings Modify the model to reduce the number of zero crossings that those elements cause 1 Use the Simscape sscprintzcs function to print zero crossing information for logged simulation data sscprintzcs simlogRef ssc_pneumatic_rts_ stiffness redux 155 sig
170. ess stable With Simscape models these solvers solve the differential and algebraic parts of the physical model simultaneously making the simulation more accurate and efficient Simulating with Fixed Time Step Local and Global Fixed Step Solvers In a Simscape model MathWorks recommends that you implement fixed step solvers by continuing to use a global variable step solver and switching the physical networks within your model to local fixed step solvers through each network Solver Configuration block The local solver choices are Backward Euler and Trapezoidal Rule Of these two local solvers The Backward Euler tends to damp out oscillations but is more stable especially if you increase the time step The Trapezoidal Rule solver captures oscillations better but is less stable 4 21 4 Model Simulation 4 22 Regardless of which local solver you choose the Backward Euler method is always applied Right at the start of simulation Right after an instantaneous change when the corresponding block undergoes an internal discrete change Such changes include clutches locking and unlocking valve actuators opening and closing and the switching of the Asynchronous Sample amp Hold block Switching to Discrete States and Solvers If you switch a physical network to a local solver the global solver treats that network as having discrete states Tfother physical networks in your model are not using local solve
171. et of initial conditions for the next transient solve step Transient Initialization Not Converging Error messages stating that transient initialization failed to converge or that a set of consistent initial conditions could not be generated indicate transient initialization issues They can be a result of parameter discontinuity Review your model to find the possible sources of discontinuity See also Troubleshooting Tips and Techniques on page 4 26 You can also try to decrease the Constraint Residual Tolerance parameter value that is tighten the tolerance in the Solver Configuration block Step Size Related Errors Dependent States High Stiffness A typical step size related error message may state that the system is unable to reduce the step size without violating the minimum step size for a certain number of consecutive times This error message indicates numerical difficulties in solving the Differential Algebraic Equations DAEs for the model This might be caused by dependent dynamic states higher index DAEs or by the high stiffness of the system You can try the following Tighten the solver tolerance decrease the Relative Tolerance parameter value in the Configuration Parameters dialog box Specify a value other than auto for the Absolute Tolerance parameter in the Configuration Parameters dialog box Experiment with this parameter value Tighten the residual tolerance decrease the Constraint Residu
172. execute your real time application on the target computer click the Run button See Also slrtexplr Related Examples Set Up and Configure Simulink Real Time Create and Run a Real Time Application More About Hardware in the Loop Simulation Workflow on page 7 100 i What Is Hardware in the Loop Simulation on page 7 96 Hardware in the Loop Simulation Process 7 109 7 Real Time Simulation 7 110 About Code Generation from Simscape Models on page 8 2 How Simscape Code Generation Differs from Simulink on page 8 5 Code Generation Requirements on page 7 106 Configuration Parameters Real Time Application Execution Simulink Real Time Options Configuration Parameters Requirements for Using Alternative Platforms Requirements for Using Alternative Platforms In this section Hardware Requirements on page 7 111 Software Requirements on page 7 111 Performing hardware in the loop HIL simulation with a custom standalone application requires specific hardware and software Hardware Requirements The minimum hardware requirements for HIL simulation with a custom application are Development computer with a network serial or USB interface as appropriate for communicating with the real time processor Real time target that is a real time capable CPU or computer T O board that the real time target supports
173. expense of speed decrease the step size or increase the number of iterations For more information on configuring your model for fixed step fixed cost simulation and evaluating the results of bounded simulation see Choose Step Size and Number of Iterations on page 7 79 Using Simscape Local Fixed Step Solvers You can usually further minimize computational cost by using a Simscape local solver for each independent physical network in your model For similar levels of accuracy local solvers have a lower computational cost than Simulink global solvers Simscape allows you to specify a different solver configuration for each independent physical system subsystem in your model You can use an implicit fixed step solver on the stiff local networks and an explicit fixed step solver on the nonstiff local networks Optimizing solvers for each network minimizes the overall number of computations done per time step and makes it more likely that the model can run in real time without generating an overrun Choose between two Simscape fixed step solvers for real time simulation Both are implicit Backward Euler Solvers for Real Time Simulation Trapezoidal Rule The Backward Euler solver is more robust and therefore more stable than the Trapezoidal Rule solver It tends to damp oscillations The Trapezoidal Rule solver is more accurate but less stable than the Backward Euler solver It tends to capture oscillations like those
174. ey are taking small steps Small step sizes cause overruns when they do not provide enough time for a real time computer to complete calculating solutions during a single step To you reduce numerical stiffness you eliminate rapid changes If there are no rapid changes the solver can take larger steps and still obtain accurate simulation results The larger the step size the less likely it is that your model generates an overrun during real time simulation Review Reference Results 1 To open the model at the MATLAB command prompt enter ssc_pneumatic_rts_reference 7 31 7 Real Time Simulation 7 32 jpa Volumetric flow m 2 min Pipe 2 Directions 5 way Motor _ Friction Load Atmospheric C2 Atmospheric C Reference Reference Mechanical M Rotational gt U Reference Simulate the model Create a figure that contains a semilogarithmic plot of the solver step size a plot of the motor speed results and a plot of the gas flow results hi figure subplot 3 1 1 semilogy tout 1 end 1 diff tout x title Solver Step Size and Results ylabel Step Size s subplot 3 1 2 plot tout Pneu_rts_RPM_DATA signals values ylabel Speed rpms subplot 3 1 3 plot tout Pneu_rts_Vol_Flow_DATA signals values xXlabel Time s ylabel Flow Rate m 3 min Reduce Numerical Stiffness Step Size s wm a ai 0 o o a 5000 0 1 2 3 4 5 6 7
175. f the initialization process fails these values can help you determine the reason for example a prestart value of 0 for a variable used as a denominator in a model equation If a variable has an undesirable prestart value specify a better value as a low priority or no priority initialization target to make the solver start iterations from a different point Eliminated These variables are eliminated by the software prior to numerical integration and are not used in solving the system Prestart values for these variables have no effect on the system solution However you can set the initialization priority and targets on these variables in which case their targets will be represented in terms of the variables that are retained by the solver Determined The values of these variables depend on the system inputs or their values are predetermined based on the analysis of equations Therefore specifying initialization priority and targets for these variables has little or no impact on system solution Also if you specify a high priority target for a predetermined variable the solver Variable Viewer Name Description most likely will not be able to satisfy this target but will spend extra time trying to find a second stage solution Differential Time derivatives of these variables appear in equations These variables add dynamics to the system and can produce independent states Therefore these variable
176. ference page Linearizing with Specified State and Input Ensuring Consistency of States You can call Linmod and specify state and input Enter linmod modelname x0 u0 at the command line The extra arguments specify respectively the steady state x and 6 11 6 Linearization and Trimming 6 12 inputs uo for linearizing the simulation When you specify a state to Linmod ensure that it is self consistent within solver tolerance With this form of Linmod Simulink linearization does not solve for initial conditions Because not all states in the model have to be independent it is possible though erroneous to provide Linmod with an inconsistent state to linearize about If you specify a state that is not self consistent within solver tolerance the Simscape solver issues a warning at the command line when you attempt linearization The Simscape solver then attempts to make the specified xO consistent by changing some of its components possibly by large amounts Tip You most easily ensure a self consistent state by taking the state from some simulated time For example by selecting the States check box on the Data Import Export pane of the model Configuration Parameters dialog box you can capture a time series of state values in a simulation run Linearizing with Simulink Linearization Blocks You can generate linearized state space models from your Simscape model by adding a Timed Based Linearization or Trigge
177. ference point This means that the inertia force is positive if mass is accelerated in positive direction Source code Settings Parameters Variables Override Variable Priority Beginning Value Unit velocity High gt 10 m s al Force None 0 N m cancel Help Refresh the Variable Viewer by clicking G 5 11 5 Variable Initialization and State Viewer 5 12 E Variable Viewer msd tajm Options View P RALE Qy Type here to filter variables by name Name Status v Priority v Target Start Unit v Ideal_Translational_Motion_Sensor Q alc Q v Q 0 0 m s P Q 01 m GR Q v Q 10 0 m s v Q 10 0 m s f Q 00 N v Q 10 0 m s x Q High 01 01 m Mass Q 3M Q v Q 10 0 m s f Q 200 0 N v Q High 10 0 10 0 m s Mechanical_Translational_Reference Q av Q v Q 0 0 m s f Q 200 0 N amp Translational_Damper Q ac ie v Q 0 0 m s GR ie v Q 10 0 m s f Q 100 0 N v Q 10 0 m s Translational_Spring Q ac Q v Q 0 0 m s R Q v Q 10 0 m s f Q 100 0 N v Q 10 0 m s gt x High 01 01 m Q Al targets satisfied Variables at start Y You can see that the solver has found a different initial solution which satisfies your variable targets for spring deformation and mass velocity The Status column displays green circles and the overall status at the bottom of the Variable Viewer window also displays a green circle and says that all the variab
178. ff Element Afialy ze Results cscs cuts aha ple IS ees a DEE A hoes Reduce Zero Crossings 0 000 cee eee eens Why Reduce Zero Crossings 0 0 00 eee eee ee Obtain Reference Results and Plot Simulation Step Size Identify and Modify Elements That Cause Zero Crossings Analyze the Results of the Modified Model Fixed Cost Simulation for Real Time Viability 7 2 7 2 7 2 7 2 7 10 7 10 7 11 7 12 7 13 7 13 7 13 7 15 7 25 7 25 7 25 7 29 7 31 7 31 7 31 7 34 7 36 7 41 7 41 7 41 7 45 7 50 7 55 Real Time Simulation Workflow Make Your Model Real Time Viable Insufficient Computational Capability for Real Time Miability 27 46 bien Solaire eb eae eee ee a eS Solvers for Real Time Simulation Choosing Between Discrete and Continuous Solvers Computational Cost for Continuous Solvers How Numerical Stiffness Affects Solver Choice Using Simscape Local Fixed Step Solvers Determine System Stiffness Obtain Reference Results 00005 Simulate with an Implicit Fixed Step Solver Simulate with an Explicit Fixed Step Solver Analyze the Results 0 0 0 0 Estimate Computation Costs Choose Step Size and Number of Iterations Obtain Reference Results 00005 Determine Maximum Step
179. fied model results the same If not are they similar enough that the empirical or theoretical data also supports the results from the simulation of the modified model Is the modified model representing the phenomena that you want it to measure Is it representing those phenomena correctly If you plan on using your model to test your controller design is the model accurate enough to produce results that you can rely on for system qualification The answers to these questions help you to decide if your real time results are accurate enough Improve Accuracy by Adjusting Solver Settings If your fixed step fixed cost simulation results do not match your reference results try to improve accuracy by adjusting solver configurations Increasing the number of iterations or decreasing the step size can improve accuracy Real Time Simulation Workflow For an implicit global solver ode14x increase the number of Newton s iterations For a Backward Euler or Trapezoidal Rule local solver increase the number of nonlinear iterations For the global solver and for any local solvers decrease the step size Configure the step size for each local solver as an integer multiple of the step size you specify for the global solver Return to the Real Time Model Preparation Workflow If changing solver configurations does not improve or speed enough try to make your model real time capable by returning to the real time model preparation workflow Adj
180. figure shows the normalized computational cost of all global and local continuous fixed step solvers The data comes from a series of fixed step fixed cost simulations using the different solver types The model is nonlinear and contains one physical network Although the solver type varies the simulations use the same step size and a similar setting for the total number of solver iterations They do so because the step size and number of iterations also affect the computational cost of a simulation Solvers for Real Time Simulation Normalized Cost of Fixed Step Solvers HR Explicit a Implicit J implicit Simscape only w in w N in N 1 5 Normalized Cost relative to ODE1 05 ODE1 ODE2 ODE3 ODE4 ODES ODE8ODE14x BE Trap For a given accuracy explicit global solvers generally have a lower computational cost than implicit global solvers Local Simscape only solvers are less costly than global solvers How Numerical Stiffness Affects Solver Choice To determine whether to use an explicit or implicit fixed step solver for simulating your model in real time consider these two factors The numerical stiffness of the system The computational cost of the solver To determine if your system is stiff or nonstiff simulate with different fixed step solver configurations and compare results from each to the reference results If the step size is too large stiff systems can produce oscillations because they
181. found in electrical systems with AC waveforms Regardless of the local solver you choose the simulation uses the Backward Euler whenever numerical stability is at risk At the start of simulation After an instantaneous change when the corresponding block undergoes an internal discrete change See Also Solver Configuration Related Examples Determine System Stiffness on page 7 68 Reduce Numerical Stiffness on page 7 31 Choose Step Size and Number of Iterations on page 7 79 More About Choose a Fixed Step Solver Fixed Cost Simulation for Real Time Viability on page 7 55 Making Optimal Solver Choices for Physical Simulation on page 4 21 i Solver Classification Criteria Solvers 7 67 7 Real Time Simulation Determine System Stiffness 7 68 In this section Obtain Reference Results on page 7 68 Simulate with an Implicit Fixed Step Solver on page 7 69 Simulate with an Explicit Fixed Step Solver on page 7 71 Analyze the Results on page 7 73 Determining the numerical stiffness of your model helps you to decide between using an implicit or an explicit fixed step solver for real time simulation To determine numerical stiffness first use the real time model preparation workflow to optimize the speed and accuracy of your model Then simulate your model using both explicit and implicit fixed step solvers Compare the
182. g Physical Systems Simscape software is a set of block libraries and special simulation features for modeling physical systems in the Simulink environment It employs the Physical Network approach which differs from the standard Simulink modeling approach and is particularly suited to simulating systems that consist of real physical components Simulink blocks represent basic mathematical operations When you connect Simulink blocks together the resulting diagram is equivalent to the mathematical model or representation of the system under design Simscape technology lets you create a network representation of the system under design based on the Physical Network approach According to this approach each system is represented as consisting of functional elements that interact with each other by exchanging energy through their ports These connection ports are nondirectional They mimic physical connections between elements Connecting Simscape blocks together is analogous to connecting real components such as pumps valves and so on In other words Simscape diagrams mimic the physical system layout If physical components can be connected their models can be connected too You do not have to specify flow directions and information flow when connecting Simscape blocks just as you do not have to specify this information when you connect real physical components The Physical Network approach with its Through and Across variables and
183. h arguments expressed in angular units For example cosinus of 90 degrees equals the cosinus of pi 2 radians and equals the cosinus of pi 2 Expansion of forward trigonometric functions works in a similar manner Another effect of dimensionless implementation of angular units is the convenience of the work energy conversion For example torque in N m multiplied by angle in rad can be added directly to energy in J or N m If you specify other commensurate units for the components of this equation Simscape unit manager performs the necessary unit conversion operations and the result is the same References 1 The NIST Reference on Constants Units and Uncertainty http physics nist gov cuu Units units html 11 15 11 Physical Units Units for Angular Velocity and Frequency 11 16 Angular velocity units such as rad s deg s and rpm can also be used to measure frequency for cyclical processes This is consistent with frequency defined as revolutions per second in a mechanical context or cycles per second in an electrical context and lets you write frequency dependent equations without requiring the 2 pi conversion factor In the SI unit system however the unit of frequency is hertz Hz defined as 1 s Simscape software defines the unit hertz HZ as 1 s in compliance with the SI unit system This definition works well when frequency refers to a nonrotational periodic signal such as the frequency of a PWM sour
184. h2Legend3 axis xStart xEnd yStart yEnd configSim3L Local Ts num2str ts s N num2str N configSim3G Global Ts num2str tsG s timeSim3T Time num2str time3 cfgSim3 configSim3L configSim3G timeSim3T h2Legend4 legend Reference num2str cfgSim1 num2str cfgSim2 num2str cfgSim3 Location southoutside Choose Step Size and Number of Iterations x10 Cylinder Pressure Pressure Pa N oO N O on Reference Local Ts 0 01s N 3 Global Ts 0 01s Time 1 7 Local Ts 0 01s N 10 Global Ts 0 01s Time 1 56 Local Ts 0 001s N 3 Global Ts 0 001s Time 2 6391 The simulation takes longer 1 68 s but is fast enough given the four second simulation execution time budget 10 Zoom to better evaluate accuracy figure h2 axis xZoomStart xZoomEnd yZoomStart yZoomEnd 7 93 7 Real Time Simulation 7 94 108 Cylinder Pressure 3 4 3 2 oO 2 5 3 w i z 2 a 2 8 2 6 0 3 0 35 0 4 0 45 0 5 0 55 0 6 Time s Reference Local Ts 0 01s N 3 Global Ts 0 01s Time 1 7 Local Ts 0 01s N 10 Global Ts 0 01s Time 1 56 Local Ts 0 001s N 3 Global Ts 0 001s Time 2 6391 The accuracy of the results is acceptable For real time simulation with the modified model use the solver settings that provided acceptable speed and accuracy Three nonlinear
185. he Two Phase Fluid Properties 2P block If you have REFPROP software by the National Institute of Standards and Technology installed you can automatically generate these tables using the twoPhaseFluidTable function If you obtain the fluid properties from a different source such as CoolProp software you can still generate the tables using a MATLAB script This tutorial shows how to create a script to generate the fluid temperature tables The tables must provide the fluid properties at discrete pressures and normalized internal energies The pressures must correspond to the table columns and the normalized internal energies to the table rows Setting pressure and normalized internal energy as the independent variables enables you to specify the liquid and vapor phase property tables on separate rectangular grids using MATLAB matrices The figure shows two fluid property grids in pressure specific internal energy space left and pressure normalized internal energy space right If you obtain the fluid property tables on a pressure specific internal energy grid you must transform that grid into its pressure normalized internal energy equivalent In this tutorial this transformation is handled by the MATLAB script that you create Manually Generate Fluid Property Tables Phase Diagram Phase Diagram in p u Space in p U Space p p L v cL Vi U ninYsat u Uzat Unax 1 0 U 1 2 Steps for Generating Property Tables The MATLA
186. he model has more than one steady state the variable targets you specify can affect which steady state solution is selected by the solver After you initialize the block variables and prior to simulating the model you can open the Variable Viewer to see which of the variable targets have been satisfied The Variable Viewer displays the actual initial values of the variables obtained as a result of the solve along with the variable target values priority and other information about the variable For details see Variable Viewer on page 5 23 Variable Initialization Priority During block level variable initialization you specify the variable beginning value unit and the initialization priority The priority can be one of the following None Ifa variable has priority of none the initialization algorithm starts at the beginning value for this variable but does not remember this value as it finds the solution for the system of equations The solver does not try to satisfy any specific initial value for a variable with no priority Low Ifa variable has low priority the beginning value becomes a target for the algorithm and the algorithm tries to stay close to the target The solver tries to approximate the target value of this variable as closely as possible when finding a solution Depending on the results of the solve for high priority variables some of the low priority targets might be met exactly the others are approxima
187. heel and Axle A block to open its dialog box Notice that the Mechanism orientation parameter is grayed out because you cannot modify the block driving direction in Restricted mode 12 16 Work with a Model in Restricted Mode Wheel and Axle _ The block represents the wheel and axle mechanism as an ideal converter between mechanical rotational and mechanical translational motions The mechanism has two connections port A corresponds to the axle and is a mechanical rotational conserving port port P corresponds to the wheel periphery and is a mechanical translational conserving port The block can be used in simulation of rack pinions steering wheels hoisting devices windlasses etc The block positive directions are from A to the reference point and from reference point to P The axle positive rotation causes the wheel periphery to move in positive or negative direction depending on the Mechanism orientation parameter setting Source code _ Settings Parameters Variables Wheel radius 0 05 m x Mechanism orientation Drives in positive direction Cancel Help Apply 4 Change the Wheel radius parameter value to 0 1 5 Simulate the model again Notice that the motion amplitude of node C became smaller as a result of the wheel radius change 12 17 12 Add On Product License Management 12 18 5 4 Lever C Position Eaa Ea File T
188. hydraulic circuit in a diagram requires a Custom Hydraulic Fluid block or Hydraulic Fluid block available with SimHydraulics block libraries to be connected to it These blocks define the fluid properties that act as global parameters for all the blocks connected to the hydraulic circuit If no hydraulic fluid block is attached to a loop the hydraulic blocks in this loop use the default fluid However more than one hydraulic fluid block in a loop generates an error Similarly more than one Gas Properties block in a pneumatic circuit generates an error If you get an error message about too many domain specific global parameter blocks attached to the network look for an extra Hydraulic Fluid block Custom Hydraulic Fluid block or Gas Properties block and remove it 4 27 4 Model Simulation 4 28 Missing Reference Block Simscape libraries contain domain specific reference blocks which represent reference points for the conserving ports of the appropriate type For example each topologically distinct electrical circuit must contain at least one Electrical Reference block which represents connection to ground Similarly hydraulic conserving ports of all the blocks that are referenced to atmosphere for example suction ports of hydraulic pumps or return ports of valves cylinders pipelines if they are considered directly connected to atmosphere must be connected to a Hydraulic Reference block which represents connection to at
189. iagnostics Model Referencing gt Simulation Target gt Code Generation Simscape SimMechanics 1G gt SimMechanics 2G Hardware Implementation Editing Editing Mode Full Physical Networks Model Wide Simulation Diagnostics Explicit solver used in model containing Physical Networks blocks warning Zero crossing control is globally disabled in Simulink warning 7 Data Logging Log simulation data all Z V Log simulation statistics V Open viewer after simulation Workspace variable name simlog_ssc_dcmotor Decimation 1 F Limit data points Data history last N steps 10000 OK cancel _ Help Apply 3 Simulate the model When the simulation is done the Simscape Results Explorer window opens In the left pane it contains the simulation log tree hierarchy which corresponds to the model hierarchy Log Navigate and Plot Simulation Data 4 Simscap sE I sc_dcmotor File Edit View Insert Tools Desktop Window Help CONEA FFAEL awed q notor lg DC_Motor H DC_Voltage H O ERef D Load_Torque H MRRef_Motor H MRRef_Torque Sensing Statistics for root node id ssc_dcmotor Number of time steps 115 Number of logged variables 48 Number of logged zero crossing signals 2 Source ssc dcmotor When you click on a node in the left pane the corresponding pl
190. ibution can be dominant Examples include instances of low mass flow rates and flow reversal during which the convective flux becomes negligible or vanishes altogether Related Examples Heat Transfer in Insulated Oil Pipeline on page 2 14 Thermal Liquid Modeling Framework More About Modeling Thermal Liquid Systems on page 2 2 Thermal Liquid Library on page 2 6 2 13 2 Thermal Liquid Models Heat Transfer in Insulated Oil Pipeline 2 14 In this section Oil Pipelines on page 2 14 Modeling Considerations on page 2 15 Simscape Model on page 2 17 Run Simulation on page 2 18 Run Optimization Script on page 2 25 Oil Pipelines Temperature plays an important role in oil pipeline design Below the so called cloud point paraffin waxes precipitate from crude oil and start to accumulate along the pipe wall interior The waxy deposits restrict oil flow increasing the power requirements of the pipeline At still lower temperatures below the pour point of oil these crystals become so numerous that if allowed to quiesce oil becomes semisolid Moo N In cold climates conductive heat losses through the pipe wall can be significant To keep oil in its favorable temperature range pipelines include some temperature control measures Heating stations placed at intervals along the pipeline help to warm the oil An insulant liner covering the pipe wa
191. ical Trans lstional Reference The block positive direction is from port C to port R This means that the force is positive if it acts in the direction from C to R and causes bodies connected to port R to accelerate in the positive direction The relative velocity is determined as V V Vp where Vp Ve are the absolute velocities at ports R and C respectively and it is negative if velocity at port R is greater than that at port C The power generated by the source is computed as the product of force and velocity and is negative if the source provides energy to the system Definition of positive direction is different for different blocks Check the block source or the block reference page if in doubt about the block orientation and direction of variables All the elements in a network are divided into active and passive elements depending on whether they deliver energy to the system or dissipate or store it Active elements T Model Construction force and velocity sources flow rate and pressure sources etc must be oriented strictly in accordance with the line of action or function that they are expected to perform in the system while passive elements dampers resistors springs pipelines etc can be oriented either way Connector Ports and Connection Lines Simscape blocks may have the following types of ports Physical conserving ports Nondirectional ports for example hydraulic or mechanical that repres
192. ics that require excessive processing power or including lookup tables instead of utilizing processing power to calculate known values Partitioning independent networks of the model to enable parallel processing You can also adjust solver settings to help to make your model real time capable For real time simulation on target hardware you use a fixed step fixed cost solver that bounds the computation cost that is the time the solver takes to execute each time step You configure the solver parameters before deploying it to a real time target The fixed step solver settings that you adjust to improve the real time viability of your model include step size solver type and number of iterations Due to the number of options it is challenging to find the right combination of model size model fidelity and solver parameters to achieve real time simulation The relationship between speed and accuracy also makes it hard to find both system and solver configurations that help to make your model real time capable If you increase speed you are likely to decrease accuracy Conversely increasing accuracy tends to decrease speed It is especially difficult to achieve acceptable speed and accuracy if you try to adjust model fidelity and scope while you are changing fixed step solver settings A better approach to find the optimal configuration is to change only one or two related settings analyze how those changes affect simulation speed and accuracy
193. iction or hard stops are particularly difficult for local solvers and may not work or may require a very small time step With the Trapezoidal Rule solver oscillatory ringing can become more of a problem as the time step is increased For a larger time step in a local solver consider switching to Backward Euler For ODE Systems In certain cases your model reduces to an ODE system with no dependent algebraic variables See How Simscape Models Represent Physical Systems on page 4 2 If so 4 23 4 Model Simulation 4 24 you can use any global Simulink solver with no special physical modeling considerations An explicit solver is often the best choice in such situations Through careful analysis you can sometimes determine if your model is represented by an ODE system If you create a Simscape model from a mathematical representation using the Simscape language you can determine directly if the resulting system is ODE For Large Systems Depending on the number of system states you can simulate more efficiently if you switch the value of the Linear Algebra setting in the Solver Configuration block For smaller systems Full provides faster results For larger systems Sparse is typically faster Multiple Local Solvers Example with a Mixed Stiff Nonstiff System In this example a Simscape model contains three physical networks Two networks numbers 1 and 3 use local solvers making these two networks a
194. ies all the high priority targets it issues a warning and enters the second stage where High priority is relaxed to Low That is the solver tries to find a solution by approximating both the high priority and the low priority targets as closely as possible After you initialize the block variables and prior to simulating the model you can open the Variable Viewer to see which of the variable targets have been satisfied For more information on block level variable initialization see Variable Initialization Finding an Initial Steady State When you select the Start simulation from steady state check box the solver attempts to find the steady state that would result if the inputs to the system were held constant for a long enough time starting from the initial state obtained from the initial conditions computation just described If the steady state solve succeeds the state found is some steady state within tolerance but not necessarily the state expected from the given initial conditions Steady state means that the system variables are no longer changing with time Simulation then starts from this steady state A model can have more than one steady state In this case the solver selects the steady state solution that is consistent with the variable targets specified during block level variable initialization For more information see Variable Initialization Transient Initialization After computing the initial conditio
195. iewer configuration contains sufficient data for viewing the variable targets and verifying the model initialization results However if the solver is unable to satisfy all the high priority variable targets or if the model initialization fails the advanced Variable Viewer configuration might provide additional data that can help you troubleshoot your model To switch to the advanced configuration click Ee in the Variable Viewer toolbar 5 25 5 Variable Initialization and State Viewer 5 26 GE Variable Viewer ssc_dcmotor Options View EER ETSRMET Qr Type here to filter Name DC_Motor Friction Bc w BR w t w Inertia w Q Al targets satisfied Rotational_Electromechanical_Converter kete S ariables by name Status v Priority v Target Prestart Start Unit Eliminated v Determined v Differential v Q ie z Q amp Q 00 0 0 rad s A A Q Q 00 0 0 rad s v4 Q 00 0 0 N m Q 00 0 0 rad s A Q Q Q 00 0 0 rad s CA Q 00 1 03132E 12 Ntm A Q High 0 0 0 0 0 0 rad s A Q Variables at start In advanced configuration the Variable Viewer displays the following additional columns Name Description Prestart The value of the variable that the solver uses at the beginning of the initial conditions solve process For variables with no override of initialization priority and targets the prestart values come from the variable declaration in the underlying component file I
196. ified sample times Number of real valued variables This statistic represents the number of real valued discrete variables associated with all 1 D physical systems in the model Real valued discrete variables are system variables that take on real values and can change their values only at specific events 10 5 10 Model Statistics 10 6 If you select a local solver in the Solver Configuration block then all continuous variables associated with that system are discretized and represented as real valued discrete variables Number of zero crossing signals This statistic represents the number of scalar signals that are monitored by the Simulink zero crossing detection algorithm Zero crossing signals are scalar functions of states inputs and time whose crossing zero indicates discontinuity in the system These signals are typically generated from operators and functions that contain discontinuities such as comparison operators abs sqrt functions and so on Times when these signals cross zero are reported as zero crossing events During simulation it is possible for none of these signals to produce a zero crossing event or for one or more of these signals to have multiple zero crossing events Number of dynamic variable constraints This statistic represents the number of constraints involving only dynamic variables and inputs Such constraints result in high index differential algebraic equations DAEs and therefore can
197. imElectronics and SimPowerSystems Simscape Components libraries Each statistic is generated separately from each topologically distinct physical network of these blocks and then aggregated to appear as a single statistic The individual statistics are Number of variables This statistic represents the number of variables associated with all 1 D physical systems in the model Variables are categorized further as continuous eliminated and discrete variables Number of continuous variables retained This statistic represents the number of continuous variables associated with all 1 D physical systems in the model Continuous variables are those variables whose values vary continuously with time although some continuous variables can change values discontinuously after events Continuous variables are categorized further as algebraic and differential variables This statistic represents the number of continuous variables in the system after variable elimination If a system is truly input output with no dynamics it is possible to completely eliminate all variables and in that case the number of variables is zero Number of differential variables This statistic represents the number of differential variables associated with all 1 D physical systems in the model Differential variables are continuous variables whose time derivative appears in one or more system equations These variables add dynamics to the system and require the
198. imscape Results Explorer 7 21 7 Real Time Simulation sscexplore simlog 7 Inthe Simscape Results Explorer window in the simulation log tree hierarchy expand the Measurements node and the Ideal _Rotational_Motion Sensor node Select the w Plot EM to see the plot for angular speed awed ssc_pneumatic_rts_reference 6 6 Directional_5_way_valve H 6 Friction_Load H 6 Measure_flow gl Measurements i Ideal_Rotational_Motion_Sensor fh A wc D H H 6 Mechanical_Rotational_Reference2 W B Torque_Sensor Mechanical_Rotational_Reference 5 Motor_shaft_inertia ig Pipe1 ig Pipe_2 iJ Pneumatic_Atmospheric_Reference0 i Pneumatic_Atmospheric_Referencel BA Pneumatic_Motor B9 Pressure_Source Feb eb Bb Eh Ep w rad s Statistics for selected node id w Number of time steps 1001 Number of logged variables 1 Number of logged zero crossing signals 0 Source Ideal Rotational Motion Sensor 8 To add the gas flow results to the Simscape Results Explorer window expand the Measure Flow node and the Pneumatic Mass Heat Flow Sensor node Use Ctrl click to select both the G_ps Plot Eh and the w Plot Eh 7 22 Determine Step Size awed ssc_pneumatic_rts_reference 6 6 Directional_5_way_valve H 6 Friction_Load i Measure_flow H 8 Pneumatic_Absolute_Reference G if Pneumatic_Mass_Heat_Flow_Sensor amp i A gt i i heat_flow H i Pneumatic_Pressure_Temperature_S
199. ing computational costs while logging and monitoring data are Use an outport block only if you need to log data for your analysis via the Simulink model on your development computer Use a scope block only if you need to monitor data during real time simulation via the Simulink model on your development computer Ifyou need to log data or monitor a variable limit the number or the decimation of data points that you collect whenever your analysis requirements permit you to do so Log data only once Ifyou use Simscape data logging use local settings to log only the blocks that contain variables that you need for your analysis Note Simscape simulation data logging is not supported for generated code Improve Data Logging and Monitoring Efficiency Examine the configuration of the model and the simulation results to determine if the model is logging and monitoring data efficiently 7 25 7 Real Time Simulation 1 To open the model at the MATLAB command prompt enter ssc_pneumatic_rts_zc_redux Volumetric flow m3 min Atmospheric CD Atmospheric CD Reference Reference Mechsnicsl i Rotational Reference The model contains three scope blocks and one outport block The Power kW scope RPM scope and outport block receive data from the Measurements subsystem 2 Simulate the model yout simlog Pneu_rts_RPM_DATA Pneu_rts_Vol_Flow_DATA The model logs five variables to the workspa
200. ing plot shows that the oil temperature at the pipe outlet is now significantly lower than that at the pipe inlet Thermal conduction clearly dominates the thermal energy balance in the pipeline segment This insulation thickness also poses a design issue at a rate of 0 25K km oil flowing through a long pipeline will cool down substantially Plot the kinematic viscosity as a function of time using Simscape logging Because the temperature change is now more modest changes in viscosity are less significant Heat Transfer in Insulated Oil Pipeline nu mm 2 s 0 1000 2000 3000 4000 5000 6000 7000 8000 Time s Run Optimization Script The model provides an optimization script that you can run to determine the optimal inner diameter of the pipe insulation D1 The script iterates the model simulation at different D1 values plotting the rates of viscous warming and conductive cooling against each other The intersection point between the two curves identifies the optimal insulation thickness for the model 1 Inthe model window double click Run optimization script 2 25 2 Thermal Liquid Models 2 26 P econ Wim P heat transfer W m Competition between viscous losses and thermal conduction 0 0 25 0 3 0 35 0 4 0 45 0 5 0 55 0 6 Internal diameter of insulant lining m 2 Inthe plot that opens visually determine the horizontal axis value for the intersection point between the two curves The optimal
201. input or provide the input derivatives through additional signal ports Input filtering also provides time derivatives The first order filter provides one derivative while the second order filter provides the first and second derivatives Parameters Units Input Handling Input signal unit C X v Apply affine conversion Cancel Help Apply 11 13 11 Physical Units As a result the Simulink PS Converter block outputs a value varying between 277 K and 293 K 11 14 Angular Units Angular Units Simscape implementation of angular units relies on the concept of angular units specifically radians being a unit but dimensionless The notion of angular units being dimensionless is widely held in the metrology community The fundamental angular unit radian is defined in the Simscape unit registry as pm_addunit rad 1 m m which corresponds to the SI and NIST definition 1 In other words Simscape unit manager does not introduce a separate dimension angle with a fundamental unit of rad similar to dimensions for length or mass but rather defines the fundamental angular unit in terms of meter over meter or in effect 1 The additional angular units degree and revolution are defined respectively as pm_addunit deg pi 180 rad pm_addunit rev 2 pi rad As a result forward trigonometric functions such as sin Cos and tan work directly wit
202. ion with one or more error messages This section discusses generic error types and error fixing strategies You might find the previous section How Simscape Simulation Works on page 4 5 useful for identifying and tracing errors If a simulation failed Review the model configuration If your error message contains a list of blocks look at these blocks first Also look for Wrong connections Verify that the model makes sense as a physical system For example look for actuators connected against each other so that they try to move in opposite directions or incorrect connections to reference nodes that prevent movement In electrical circuits verify polarity and connections to ground Wrong units Simscape unit manager offers great flexibility in using physical units However you must exercise care in specifying the correct units especially in the Simulink PS Converter and PS Simulink Converter blocks Start analyzing the circuit by opening all the converter blocks and checking the correctness of specified units Try to simplify the circuit Unnecessary circuit complexity is the most common cause of simulation errors e Break the system into subsystems and test every unit until you are positive that the unit behaves as expected e Build the system by gradually increasing its complexity MathWorks recommends that you build simulate and test your model incrementally Start with an idealized simplified model of yo
203. ional Electromechanical Converter OBEY E o 5 Double click the highlighted block 6 Inthe block dialog box click the Variables tab Inertia The block represents an ideal mechanical rotational inertia The block has one mechanical rotational conserving port The block positive direction is from its port to the reference point This means that the inertia torque is positive if the inertia is accelerated in the positive direction Source code Settings Beginning Value Apply 10 18 Access Block Variables Using Statistics Viewer According to the Value column in the Statistics Viewer the name of the variable in the block dialog box is Rotational velocity The dialog box shows that this variable has high initialization priority and a target value of 0 rad s You can modify the priority and value if needed and then open the Variable Viewer to see the model initialization results Related Examples Set Priority and Initial Target for Block Variables on page 5 5 More About 1 D Physical System Statistics on page 10 4 About Variable Initialization on page 5 2 Variable Viewer on page 5 23 10 19 Physical Units How to Work with Physical Units on page 11 2 Unit Definitions on page 11 4 How to Specify Units in Block Dialogs on page 11 9 Thermal Unit Conversions on page 11 11 e Angular Units on p
204. ions you must replace are e liquidTemperature e vaporTemperature To view the temperature tables generated first run the script Then at the MATLAB command prompt enter fluidTables MATLAB lists the contents of the fluidTables structure array Manually Generate Fluid Property Tables fluidTables uMin 30 uMax 4000 pMin 0 0100 pMax 15 p 1x20 double liquid 1x1 struct vapor 1x1 struct To list the property tables stored in the 1iquidsubstructure at the MATLAB command prompt enter fluidTables liquid 305 9992 305 9988 305 9983 305 9975 309 5548 309 7430 309 9711 310 2475 313 1103 313 4872 313 9440 314 4976 316 6659 317 2314 317 9169 318 747 Visualize Grids To visualize the original grid in pressure normalized internal energy space at the MATLAB command prompt enter this code Define p and unorm matrices with the grid point coordinates pLiquid repmat fluidTables p mLiquid 1 pVapor repmat fluidTables p mVapor 1 unormLiquid repmat fluidTables liquid unorm 1 n unormVapor repmat fluidTables vapor unorm 1 n Plot grid figure hold on plot unormLiquid pLiquid b plot unormVapor pVapor b plot zeros 1 n fluidTables p k plot ones 1 n fluidTables p k hold off set gca yscale log 3 Two Phase Fluid Models xlabel Normalized Internal Energy ylabel Pressure title Grid in Normalized Internal Energy A figure ope
205. is Code Tools Help te Configuration 4 Inside the subsystem delete the Signal Builder block named Force Input Replace it with a Sine Wave block from the Simulink Sources library as shown below 12 22 Work with a Model in Restricted Mode File Edit View Display Diagram Simulation Analysis Code Tools Help nt B GO A w O P model_test_edit_mode gt Pal Force Input id Configuration OBA Bs 5 Simulate the model again The model successfully compiles and simulates in Restricted mode 12 23 12 Add On Product License Management 12 24 5 4 Lever C Position Eaka Ea File Tools View Simulation Help Op 2 a E Ready T 10 000 Performing an Operation Disallowed in Restricted Mode This example shows what happens when you perform an operation that is disallowed in Restricted mode 1 Open the model_test_edit_mode model which you saved in Restricted mode in Example of Saving a Model in Restricted Mode on page 12 12 The model opens in Restricted mode Work with a Model in Restricted Mode File Edit View Display Diagram Simulation Analysis Code Tools Help Torque Source Force Input Gear BoxA Gear Box B 3 a O Simple Mechanical System 1 Explore simulation results using sscexplore 2 Learn more about this example 2 Double click the P subsystem to open it 12
206. is section contains guidelines for using domain specific reference blocks such as Electrical Reference Mechanical Translational Reference and so on in Simscape diagrams along with examples of correct and incorrect configurations Add reference blocks to your models according to the following rules Each Domain Requires at Least One Reference Block on page 1 36 e Each Circuit Requires at Least One Reference Block on page 1 37 Multiple Connections to the Domain Reference Are Allowed Within a Circuit on page 1 39 Each Domain Requires at Least One Reference Block Within a physical network each domain must contain at least one reference block of the appropriate type For example the electromechanical model shown in the following diagram has both Electrical Reference and Rotational Reference blocks attached to the appropriate circuits Modeling Best Practices Rotor Resistance R Idea R otstionsl Motion Sensor Each Circuit Requires at Least One Reference Block Each topologically distinct circuit within a domain must contain at least one reference block Some blocks such as an Ideal Transformer interface two parts of the network but do not convey information about signal levels relative to the reference block In the following diagram there are two separate electrical circuits and the Electrical Reference blocks are required on both sides of the Ideal Transformer block 1 37 T Model C
207. is section require the Simulink Control Design product You must use the features of this product on the Simulink lines in your model not directly on Simscape physical network lines or blocks This approach requires that you start with an operating point object saved from trimming the model to an operating specification To linearize a model with an operating point object use the linearize function customizing where necessary The resulting state space object contains the matrices A B C D Additional Simulink Control Design Methods You can also use the graphical user interface through the model menu bar Analysis gt Control Design gt Linear Analysis For more details on linearization operating points and state space objects related functions and the graphical interface see the Simulink Control Design documentation Linearizing with the Simulink Linmod and dlinmod Functions You have several ways that you can use the Simulink functions Linmod and dlinmod and the linearization results can differ depending on the method chosen To use these functions you do not have to open the model just have the model file on your MATLAB path For more information about Simulink linearization see Linearizing Models in the Simulink documentation Linearizing at an Operating Point Tip If your model has continuous states use linmod Continuous states are the Simscape default If your model has mixed continuous and disc
208. iterations Global and local step sizes of 1e 3 seconds If you can achieve accurate enough results but the simulation runs too slowly for your execution time budget improve speed by increasing the step size or decreasing the number of iterations When you find a combination of solver settings that provides accurate enough results and a simulation speed that is less than your execution time budget you can run your model Choose Step Size and Number of Iterations on a real time target To run your model on a real time target perform the hardware in the loop simulation workflow If you cannot find the right combination of solver settings for real time simulation improve simulation speed and accuracy by modifying the scope or fidelity of your model For more information see Real Time Model Preparation Workflow on page 7 5 If you cannot make your model real time capable by changing the scope or fidelity of your model increase your real time computing capability For more information see Upgrading Target Hardware on page 7 13 and Simulating Parts of the System in Parallel on page 7 13 Related Examples Determine Step Size on page 7 15 Determine System Stiffness on page 7 68 Estimate Computation Costs on page 7 76 More About Filtering Input Signals and Providing Time Derivatives on page 4 14 Fixed Cost Simulation for Real Time Viability on page 7 55 Hardware i
209. ith Simscape Representation on page 4 3 Diagnostic Messages About Globally Disabling Zero Crossing Detection You can globally disable zero crossing detection in the Solver pane of the Configuration Parameters dialog box under Zero crossing options If you do and if you are using a global variable step solver without a local solver the system issues a warning or error when you simulate with Simscape blocks You can choose between warning and error messages in the Simscape pane of the Configuration Parameters dialog box 1 From the Zero crossing control is globally disabled in Simulink drop down list select the option that you want if you globally disable zero crossing detection e warning The system issues a warning message upon simulation This option is the default error The system issues an error message upon simulation which stops 2 Click OK Making Multirate Simulation Consistent The sample time or step size of the global Simulink solver must be the smallest time step of all the solvers in a multirate Simscape simulation To avoid simulation errors in sample time propagation go to the Solver pane in the Configuration Parameters dialog box and select the Automatically handle rate transition for data transfer check box Important Concepts and Choices in Physical Simulation Important Concepts and Choices in Physical Simulation This section describes advanced concepts and trade offs you might want to consi
210. ity and the target value of 0 1 m This is the Deformation variable that you have just set up in the block dialog box Its actual start value matches its target value and therefore its Status column displays a green circle The other high priority variable in this model is the position x of the Ideal Translational Motion Sensor block which is set inside the component file because it is necessary for the correct operation of the sensor Its actual start value also matches its target value and its Status column also displays a green circle The rest of the variables in the model do not have initialization priority specified therefore their Status column also displays green circles The overall status at the bottom of the Variable Viewer window displays a green circle as well and says that all the variable targets are satisfied Initialize Variables for a Mass Spring Damper System Change Initialization Targets You can now see how specifying different variable targets affects system initialization and simulation results 1 Specify the initial velocity of the mass Double click the Mass block go to the Variables tab select the check box next to the Velocity variable change its Priority to High and enter a beginning value of 10 Keep the unit m s Mass The block represents an ideal mechanical translational mass The block has one mechanical translational conserving port The block positive direction is from its port to the re
211. ity of the Velocity variable to Low 5 Variable Initialization and State Viewer Mass The block represents an ideal mechanical translational mass The block has one mechanical translational conserving port The block positive direction is from its port to the reference point This means that the inertia force is positive if mass is accelerated in positive direction Priority Beginning Value 6 Refresh the Variable Viewer Options View S bik K amp Be Qr Type here to filter variables by name Name B Ideal_Translational_Motion_Sensor Mechanical_Translational_Reference IBV v Pee E Translational_Damper HEKS v IBR ii bv f bv B Translational_Spring ac Status Q Q Q Q Q Q Q Q fe Qo a Q Q Aa Q Qo Qo fe Qo Q Q Q Q Q Q Q Q Q Q Q Q Q High Allhigh priority targets satisfied but some low priority targets not satisfied 5 20 Initialize Variables for a Mass Spring Damper System Again the Variable Viewer status says that all the high priority targets have been satisfied and that some of the low priority targets are not satisfied However because you changed the variable priorities the solver now tried to satisfy the initial force on the damper rather than the mass velocity and the solution is different in this case as are the simulation results B Velocity kaba OLES kE a a amp x 5 21 5 Variable Initializa
212. ize and for implicit solvers the number of iterations for the Simulink global solver and for each Simscape local solver in your model For best results when specifying the step size of a fixed step solver for real time simulation Specify a sample time that results in time steps that are no greater than the maximum step size Specify the sample time for each local solver independently and as an integer multiple of the sample time that you specify for the global solver Choose a step size that is larger than the minimum step size for required speed and smaller than the maximum step size for required accuracy To configure the number of iterations for real time simulation with a fixed step solver For local solvers specify the number of nonlinear iterations for each independently configured Solver Configuration block For global solver ode14x specify the number of Newton s iterations To obtain accurate results for both local and global solvers start with two or three iterations and increase as required Related Examples Choose Step Size and Number of Iterations on page 7 79 More About Simulating with Fixed Cost on page 4 22 Simulating with Fixed Time Step Local and Global Fixed Step Solvers on page 4 21 7 55 7 Real Time Simulation Solvers for Real Time Simulation on page 7 63 7 56 Real Time Simulation Workflow Real Time Simulation Workflow The figure sh
213. k in Restricted mode when loading a preexisting model that uses this library block e However to connect these additional ports you need to work in Full mode because you are changing the model topology To delete external physical ports from a library block you need to work in Full mode If these ports were connected in a model saved in Restricted mode loading the model causes the topology to change so you need to switch to Full mode to save or compile the model 12 7 12 Add On Product License Management 12 8 Resolving Block Library Links All Simscape blocks in your models including the add on products blocks must have resolved block library links You can neither disable nor break these library links This is a global requirement of Simscape platform which is necessary to enforce the Editing Mode rules for modifying and using library blocks listed above A model with broken library links will neither compile nor save You must restore all the broken block library links for your model to be valid If you want to customize certain blocks and use them in your models you must add these modified blocks to your own custom library then copy the block instances that you need to your model Related Examples Set the Model Loading Preference on page 12 9 gt Save a Model in Restricted Mode on page 12 11 Work with a Model in Restricted Mode on page 12 14 Switch from Restricted to Full Mode on p
214. ks as shown in the following example Example The model shown in the following illustration contains two Ideal Translational Velocity Sources connected in parallel This produces a loop of independent velocity sources and the solver cannot construct a consistent system of equations for the circuit Troubleshooting Simulation Errors Ideal Translational p Velocity Source1 Ideal Translational Motion Sensor ks pop v A SPS DPs s Sine Wave Simulink PS p Converter PS Simulirk Scope Constant Simulink PS Converter1 Configuration Reference When you try to simulate the model the solver issues an error message with links to the Ideal Translational Velocity Source and Ideal Translational Velocity Sourcel blocks To fix the circuit you can either replace the two velocity sources by a single Ideal Translational Velocity Source block or add a Translational Damper block between them Numerical Simulation Issues Dependent Dynamic States on page 4 29 e Parameter Discontinuities on page 4 30 Numerical simulation issues can be either a result of certain circuit configurations or of parameter discontinuities Dependent Dynamic States Certain circuit configurations can result in dependent dynamic states or the so called higher index differential algebraic equations DAEs Simscape solver can handle dependencies among dynamic states that are linear in the states and independent of time and inputs
215. l energy vectors for the grid These vectors provide the discrete pressure and normalized internal energy values associated with each grid point The pressure vector is logarithmically spaced due to the wide pressure range considered in this example However you can use any type of spacing that suits your data In your MATLAB script add this code Pressure vector logarithmically spaced fluidTables p logspace 1logi0 pMin logi0 pMax n Normalized internal energy vectors linearly spaced fluidTables liquid unorm linspace 1 0 mLiquid fluidTables vapor unorm linspace 1 2 mVapor Map Grids Onto Pressure Specific Internal Energy Space Obtain the saturated liquid and vapor specific internal energies as functions of pressure The saturation internal energies enable you to map the normalized internal energy vectors into equivalent vectors in specific internal energy space In your MATLAB script add this code Initialize the saturation internal energies of the liquid and vapor phases fluidTables liquid u_sat zeros 1 n fluidTables vapor u_sat zeros 1 n Obtain the saturation internal energies at the pressure vector values for j 1i in fluidTables liquid u_sat j saturatedLiquidInternalEnergy fluidTables p j fluidTables vapor u_sat j saturatedVaporInternalEnergy fluidTables p j end This code calls two functions written to generate example data Before using this code in a real application you must replac
216. l resistance of the pipe wall The combined thermal resistance is then simply the sum of the insulation and soil contributions Rins and Roil The thermal resistance of the insulation layer is directly proportional to its thickness D2 D1 2 and inversely proportional to its thermal conductivity kInsulant Likewise the thermal resistance of the soil layer is directly proportional to its thickness z and inversely proportional to its thermal conductivity kSoil The figure shows the relevant dimensions of the pipeline segment Variable names match those specified in the model The inner insulation diameter D1 is also the hydraulic diameter of the pipeline segment Heat Transfer in Insulated Oil Pipeline length z Soil layer thickness D1 Inner insulation diameter length Pipeline segment length D2 Outer insulation diameter Simscape Model The Simscape model ssc_t1l_oil_ pipeline represents an insulated oil pipeline segment buried underground To open this model at the MATLAB command prompt enter ssc_tl_oil_ pipeline The figure shows the model From Mass Flow Rate Source TL To downstream j i Soker Configuration Sail Conduction Conduction through soil through insulant Thermal Liquid Settings TL Downstream temperature sensor 2 17 2 Thermal Liquid Models 2 18 The Pipe TL block represents the physical system in this example i e the oil pipeline segment Port A represent
217. le targets are satisfied Notice that when you refreshed the Variable Viewer the scopes turned blank This happens because solver runs the simulation for 0 seconds to find the initial solution and display it in the Variable Viewer Rerun the simulation and examine the Velocity and Position scope windows to see the effect of the new initial value for mass velocity on the simulation results Initialize Variables for a Mass Spring Damper System B Velocity EJ Position k gt a Bao lt t AERAR Deal with Over Specification As you specify additional variable targets sometimes it is possible to over specify the constraints 5 13 5 Variable Initialization and State Viewer 5 14 1 Double click the Translational Damper block go to the Variables tab select the check box next to the Force variable change its Priority to High and enter a beginning value of 200 Keep the unit N Translational Damper The block represents an ideal mechanical translational viscous damper Connections R and C are mechanical translational conserving ports with R representing the damper rod while C is associated with the damper case The block positive direction is from port R to port C Source code Settings Parameters Variables Override Variable Priority Beginning Value Unit Velocity Force 200 N ka U 4 j gt Cok Licance hunein Appi 2 Refresh the Variable Viewer
218. lick the DC Motor subsystem to open it Inertia H R Rotational Electromechanical Converter Friction V C 2 Open the Configuration Parameters dialog box and then in the left pane select Simscape This example model has data logging for the whole model enabled To enable data logging on a block by block basis set the Log simulation data parameter to Use local settings and click OK 9 17 9 Data Logging 9 18 Category List Select Solver Data Import Export gt Optimization gt Diagnostics Hardware Implementation Model Referencing gt Simulation Target gt Code Generation Simscape SimMechanics 1G gt SimMechanics 2G Editing Editing Mode Physical Networks Model Wide Simulation Diagnostics Explicit solver used in model containing Physical Networks blocks Zero crossing control is globally disabled in Simulink Data Logging Log simulation data Decimation F Limit data points Full V Log simulation statistics Open viewer after simulation Use local settings Workspace variable name simlog_ssc_dcmotor a Data history last N steps 10000 3 Select the blocks for data logging Right click the Rotational Electromechanical Converter block From the context menu select Simscape gt Log simulation data Rotational Electromechanical Converter gt L
219. ll interior helps to retard the cooling rate of the oil Viscous dissipation provides an additional heat source As adjacent parcels of oil flow against each other they experience energy losses that appear in the form of heat The warming effect is small but sufficient to at least partially offset the conductive heat losses that occur through the insulant liner Heat Transfer in Insulated Oil Pipeline At a certain insulation thickness viscous dissipation exactly balances the conductive heat loss Oil stays at its ideal temperature throughout the pipeline length and the need for heating stations is reduced From a design standpoint this insulation thickness is optimal In this example you simulate an insulated oil pipeline segment You then run an optimization script to determine the optimal insulation thickness This example is based on Simscape model ssc_tl_oil pipeline Modeling Considerations The physical system in this example is an oil pipeline segment Insulation lines the pipe wall interior while soil covers the pipe wall exterior retarding conductive heat loss The simplifying assumption is made that the physical system is symmetric about the pipe center line o o A Oil B Insulation C Pipe D Soil Flow through the pipeline segment is assumed fully developed the velocity profile of the flowing oil remains constant along the pipeline length In addition oil is assumed Newtonian
220. ller and Linearize with Simulink linmod PUn O 55 ee ates BN eth SA Se Nie ey Ol a he 6 26 Linearize with Simulink Control Design Software 6 27 ix x Contents Real Time Simulation 7 Model Preparation Objectives 0000 005 Obtain Reference Results 0 0 0 eee eee Determine Step Size 2 ees Adjust Model Fidelity or Scope 0 0 0 2 Real Time Model Preparation Workflow Prepare Your Model for Real Time Simulation Insufficient Computational Capability for Workflow Completion r isk Pa Bio ies ep bea a he boats wcll ee hse aE Be Improving Speed and Accuracy 0 006 Why Speed and Accuracy Matter for Real Time Simulation Balancing Speed and Accuracy 0 000 c eee eee Eliminating Effects That Require Intensive Computation Optimizing Local and Global Solver Configurations Upgrading Target Hardware 0 0000 ee eeee Simulating Parts of the System in Parallel Determine Step Size 0 0 00 cc ees Reduce Computation Costs 0 0 0 0 cee Data Logging and Monitoring Guidelines Improve Data Logging and Monitoring Efficiency Additional Methods for Reducing Computational Cost Reduce Numerical Stiffness 0 00005 Why Reduce Stiffness 0 2 0 000 000 eee eee Review Reference Results 0 0000 Identify and Modify a Sti
221. lts by performing variable step simulation on a model of a hydraulic actuator Use a modified version of the model to determine the maximum step size to use to achieve accurate enough results from a fixed step fixed cost simulation Fixed step fixed cost simulation is required for real time simulation Specify global and local fixed step fixed cost solver settings for the modified version of the model Perform a timed simulation with the modified model and evaluate the accuracy of the results Adjust the step size and number of iterations to find solver settings that provide the required speed and accuracy for real time simulation 7 79 7 Real Time Simulation Obtain Reference Results To obtain reference results simulate the original version of the hydraulic actuator model 1 To open the hydraulic actuator model at the MATLAB command prompt enter ssc_hydraulic_actuator_digital_control Command Signal den s ati Controller Transport Linearization ao Delay VO points Hydraulic E Aduator Position 2 Simulate the model 3 Extract the data for pressure and simulation step time from the logged Simscape node simlogRef simlog_ssc_hydraulic_actuator_digital_control pRefNode simlogRef Hydraulic_Actuator Hydraulic_Cylinder Chamber_A A p pRef pRefNode series values Pa tRef pRefNode series time 4 Plot the step size hi figure semilogy tRef 1 end 1 diff tRef x title Sol
222. m two simulation runs you can use different variable names such as simlog1 and simlog2 Open a Simscape Results Explorer window with simlog1 results then unlink it from the session and open another window with simlog2 results For more information see About the Simscape Results Explorer on page 9 26 9 19 9 Data Logging The Simscape Results Explorer window opens with the Rotational Electromechanical Converter node already selected in the left pane and all the node plots for this block displayed in the right pane You can see that it contains simulation data only for the two selected blocks Rotational Electromechanical Converter and Motor Inertia File Edit View Insert Tools Desktop Window Help QO6Gas k AAV9RZ 2 0H ao aed ssc_dcmotor i D BE Mior 0 4 T T r r r r 6 Inertia a oR E Garrett Lo2 Gar B Rotational _Electromechanical_Converter a i l 1 0 0 02 0 04 0 06 0 08 0 1 0 12 0 14 Time s x104 t 0 a f gt 2 ae 4 L 4 L 0 0 02 0 04 0 06 008 01 012 0 14 Time s v w 4000 T c 3 2000F 4 a z YT KE Statistics for selected node 0 1 L 1 L 1 id Rotational_Electromechanical_Converter 0 0 02 0 04 0 06 0 08 01 012 0 14 i i Number of time steps 115 Number of logged variables 8 Time 3 Number of logged zero crossing signals 0 Source Rotational Electromechanical Converter Related Examples
223. me saturatedLiquidInternalEnergy function u saturatedLiquidInternalEnergy p Returns artificial data for saturated liquid specific internal energy as a function of pressure u sqrt p 400 150 Name saturatedVaporInternalEnergy function u saturatedVaporInternalEnergy p Returns artificial data for saturated vapor specific internal energy as a function of pressure u 3 p 2 40 p 2500 Set Property Table Criteria Start a new MATLAB script Save the script in the same folder as the MATLAB functions you created to generate the example fluid property data In the script define the criteria for the property tables Do this by entering the following code for the table dimensions and pressure specific internal energy valid ranges Number of rows in the liquid property tables mLiquid 25 Number of rows in the vapor property tables mVapor 25 Number of columns in the liquid and vapor property tables n 60 Minimum specific internal energy kJ kg uMin 30 Maximum specific internal energy kJ kg uMax 4000 Minimum pressure MPa pMin 0 01 Maximum pressure MPa Manually Generate Fluid Property Tables pMax 15 Store minimum and maximum values in structure fluidTables fluidTables uMin uMin fluidTables uMax uMax fluidTables pMin pMin fluidTables pMax pMax Create Pressure Normalized Internal Energy Grids Define the pressure and normalized interna
224. ment or other entity acquiring for or through the federal government and shall supersede any conflicting contractual terms or conditions If this License fails to meet the government s needs or is inconsistent in any respect with federal procurement law the government agrees to return the Program and Documentation unused to The MathWorks Inc Trademarks MATLAB and Simulink are registered trademarks of The MathWorks Inc See www mathworks com trademarks for a list of additional trademarks Other product or brand names may be trademarks or registered trademarks of their respective holders Patents MathWorks products are protected by one or more U S patents Please see www mathworks com patents for more information Revision History March 2007 September 2007 March 2008 October 2008 March 2009 September 2009 March 2010 September 2010 April 2011 September 2011 March 2012 September 2012 March 2013 September 2013 March 2014 October 2014 March 2015 September 2015 Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only Online only New for Version 1 0 Release 2007a Revised for Version 2 0 Release 2007b Revised for Version 2 1 Release 2008a Revised for Version 3 0 Release 2008b Revised for Version 3 1 Release 2009a Revised for Version 3 2 Release 2009b
225. mers who perform physical modeling and simulation using Simscape platform and its add on products SimDriveline SimElectronics SimHydraulics SimMechanics and SimPowerSystems It allows you to open simulate and save models that contain blocks from add on products in Restricted mode without checking out add on product licenses as long as the products are installed on your machine It is intended to provide an economical way to distribute simulation models throughout a team or organization Note Unless your organization uses concurrent licenses see the Simscape product page on the MathWorks Web site for specific information on how to install add on products on your machine to be able to work in Restricted mode The Editing Mode functionality supports widespread use of Physical Modeling products throughout an engineering organization by making it economical for one user to develop a model and provide it to many other users Specifically this feature allows a user model developer to build a model that uses Simscape platform and one or more add on products and share that model with other users model users When building the model in Full mode the model developer must have a Simscape license and the add on product licenses for all the blocks in the model For example if a model combines Simscape SimHydraulics and SimDriveline blocks the model developer needs to check out licenses for all three products to work with it in Full mode O
226. meters After running the initial simulation you can experiment with adjusting various inputs and block parameters Try the following adjustments 1 Change the force profile 2 Change the model parameters 3 Change the mass position output units Changing the Force Profile This example shows how a change in the input signal affects the force profile and therefore the mass displacement 1 Double click the Signal Builder block to open it 2 Click the first vertical segment of the signal profile and drag it from 4 to 2 seconds as shown below Close the block dialog Creating and Simulating a Simple Model sH leelo oj ran FQiae gt u pl Left Point Right Point 3 Run the simulation The simulation results are shown in the following illustration 1 31 T Model Construction 1 32 EE EJ Poston BS 22 Aora x 4 x10 Changing the Model Parameters In our model the force acts on a mass against a translational spring and damper connected in parallel This example shows how changes in the spring stiffness and damper viscosity affect the mass displacement 1 Double click the Translational Spring block Set its Spring rate to 2000 N m Creating and Simulating a Simple Model 2 Run the simulation The increase in spring stiffness results in smaller amplitude of mass displacement as shown in the following illustration El Position Bnm as Q22 OSA Fae gt 4 x1
227. model first before saving it Otherwise you might save invalid block parameters Any block parameter changes that you make with set_param are not validated unless you run the model Simscape blocks accept Simulink Parameter objects as parameter values in get_param and set_param within the restrictions specified here Enabled subsystems can contain Simscape blocks Always set the States when enabling parameter in the Enable dialog to held for the subsystem s Enable port Setting States when enabling to reset is not supported and can lead to fatal simulation errors You can place Simscape blocks within nonvirtual subsystems that support continuous states Nonvirtual subsystems that support continuous states include Enabled subsystems and Atomic subsystems However physical connections and physical signals must not cross nonvirtual boundaries When placing Simscape blocks in a nonvirtual subsystem make sure to place all blocks belonging to a given Physical Network in the same nonvirtual subsystem Nonvirtual subsystems that do not support continuous sample time blocks such as If Action For Iterator Function Call Triggered While Iterator and so on cannot contain Simscape blocks An atomic subsystem with a user specified noninherited sample time cannot contain Simscape blocks Simulink configurable subsystems work with Simscape blocks only if all of the block choices have consistent port signatures When using SimState to save an
228. mospheric pressure Mechanical translational ports that are rigidly clamped to the frame ground must be connected to a Mechanical Translational Reference block and so on If you get an error message about a missing reference block or node check your system configuration and add the appropriate reference block based on the rules described above The missing reference node diagnostic messages include information about the particular block and variable that needs a reference node This is especially helpful when multiple domains are involved in the model For more information and examples of best modeling practices see Grounding Rules on page 1 36 Basic Errors in Physical System Representation Physical systems are represented in the Simscape modeling environment as Physical Networks according to the Kirchhoff s generalized circuit laws Certain model configurations violate these laws and are therefore illegal There are two broad violations Sources of domain specific Across variable connected in parallel for example voltage sources hydraulic pressure sources or velocity sources Sources of domain specific Through variable connected in series for example electric current sources hydraulic flow rate sources force or torque sources These configurations are impossible in the real world and illegal theoretically If your model contains such a configuration upon simulation the solver issues an error followed by a list of bloc
229. mponent The Double acting cylinder subsystem block represents the mechanical part of a hydraulic actuator It contains two Translational Mechanical Converter TL blocks and is a custom component Once you have connected the blocks specify the relevant parameters These include dimensions physical states empirical correlation coefficients and initial conditions In Pipe TL Rotational Mechanical Converter TL and Translational Mechanical Converter TL blocks select the appropriate setting for effects such as dynamic compressibility and flow inertia Note For accurate simulation results always replace the default parameter values with data appropriate for your model Modeling Thermal Liquid Systems Prepare Model for Analysis To analyze a model you must set up that model for data collection The simplest approach is to add sensor blocks to the model The Thermal Liquid library provides two sensor block types one for Through variables mass flow rate and heat flux the other for Across variables pressure and temperature By using the PS Simulink Converter block you can specify the physical units of the sensed variable An alternative approach is to use Simscape data logging This approach which uses MATLAB commands instead of blocks provides access to a broader range of model variables and parameters One example is the kinematic viscosity of the liquid medium inside a pipeline segment You can analyze this parameter
230. ms Representations of Physical Systems 5 Differential Differential Algebraic and Algebraic Systems SEMIMESS eee e arke FS ese gh een a de Be ee Events and Zero Crossings Working with Simscape Representation How Simscape Simulation Works Simscape Simulation Phases 0 0 0 0 eeeeee Model Validation eag e cc cee ee eee eee Network Construction 0 000000 ee eee eee Equation Construction 4 Initial Conditions Computation 0 00 00 eee Transient Initialization 0 0 0 0 0c ee eee eee Transient Solve 0 0000 cece eee Setting Up Solvers for Physical Models About Simulink and Simscape Solvers Choosing Simulink and Simscape Solvers Harmonizing Simulink and Simscape Solvers 4 2 4 2 4 3 4 3 4 3 4 5 4 7 4 8 4 8 4 10 4 11 4 11 4 11 4 13 vii Important Concepts and Choices in Physical Simulation Variable Step and Fixed Step Solvers 04 Explicit and Implicit Solvers 00 0 0 0 0 cee eee Full and Sparse Linear Algebra 00000005 Event Detection and Location 0000 000 Unbounded Bounded and Fixed Cost Simulation Global and Local Solvers 0 0 0 00 ene Making Optimal Solver Choices for Physical Simulation Simulating with Variable Time Step Simulating with Fixed Time Step Local an
231. n and real time simulation workflows Evaluate Overrun Risk An overrun occurs when the step size is too small to allow the real time computer to complete all the processing required for any one step If your model requires a step size that is so small that it is likely to cause an overrun then your model is not fast enough for real time simulation To determine if small steps are likely to cause an overrun create a plot of the size of the steps that the variable step step solver uses to execute the simulation of your model The step size plot tells you the number and size of the small steps that the solver uses during the simulation There are no hard metrics for the size or number of small steps that are likely to cause a real time simulation overrun Moving your model from desktop simulation to real time simulation is an iterative process The process which involves modifying simulating and analyzing your model helps you to determine if the small steps in your model are time limiting or numerous enough to force an overrun Experience that you gain by simulating different models on your real time machine can also help you decide if the small steps in your model are likely to force an overrun For example consider a case with two models M1 and M2 and two different real time Real Time Model Preparation Workflow processors RT1 and RT2 Processors RT1 and RT2 have the same nominal processing speed Models M1 a mechanical model and M2
232. n integer multiple of the step size you specify for the global solver 7 61 7 Real Time Simulation 7 62 Model Is Real Time Viable When fixed step fixed cost simulation results indicate that your model is likely real time capable you can attempt real time simulation on the target hardware For information on how you can use real time simulation to test your controller hardware see What Is Hardware in the Loop Simulation on page 7 96 Insufficient Computational Capability for Real Time Viability It is possible that your real time target lacks the computational capability for running your model in real time If after multiple iterations of the workflow it appears that there is no combination of model complexity and solver settings that can make your model real time viable consider these options for increasing processing power Upgrading Target Hardware on page 7 13 Simulating Parts of the System in Parallel on page 7 13 Related Examples Choose Step Size and Number of Iterations on page 7 79 Determine System Stiffness on page 7 68 Estimate Computation Costs on page 7 76 More About Fixed Cost Simulation for Real Time Viability on page 7 55 Hardware in the Loop Simulation Workflow on page 7 100 Improving Speed and Accuracy on page 7 10 Real Time Model Preparation Workflow on page 7 5 Solvers for Real Time Simulation on page 7 63
233. n page 7 76 Reduce Computation Costs on page 7 25 Reduce Zero Crossings on page 7 41 More About About Simulation Data Logging on page 9 2 Events and Zero Crossings on page 4 3 Log and Plot Simulation Data on page 9 8 Model Preparation Objectives on page 7 2 Real Time Model Preparation Workflow on page 7 5 Stiffness on page 4 3 7 40 Reduce Zero Crossings Reduce Zero Crossings In this section Why Reduce Zero Crossings on page 7 41 Obtain Reference Results and Plot Simulation Step Size on page 7 41 Identify and Modify Elements That Cause Zero Crossings on page 7 45 Analyze the Results of the Modified Model on page 7 50 Why Reduce Zero Crossings Real time deployment requires using a fixed step solver You might want to run the same model using a variable step solver for desktop simulation Variable step solvers take smaller steps when they detect a zero crossing event Smaller steps help to capture the dynamics that cause the zero crossing accurately Fixed step solvers do not vary the size of the steps that they take If your model relies heavily on detecting zero crossings you might need to specify a very small fixed step size to capture the dynamics accurately A small step size can lead to overruns during real time simulation By reducing the number of zero crossings you can configure your solver to use a larger step
234. n the Loop Simulation Workflow on page 7 100 Improving Speed and Accuracy on page 7 10 Log and Plot Simulation Data on page 9 8 Real Time Model Preparation Workflow on page 7 5 Solvers for Real Time Simulation on page 7 63 What Is Hardware in the Loop Simulation on page 7 96 7 95 7 Real Time Simulation What Is Hardware in the Loop Simulation 7 96 Hardware in the loop HIL simulation is a type of real time simulation You use HIL simulation to test your controller design HIL simulation shows how your controller responds in real time to realistic virtual stimuli You can also use HIL to determine if your physical system plant model is valid In HIL simulation you use a real time computer as a virtual representation of your plant model and a real version of your controller The figure shows a typical HIL simulation setup The desktop computer development hardware contains the real time capable model of the controller and plant The development hardware also contains an interface with which to control the virtual input to the plant The controller hardware contains the controller software that is generated from the controller model The real time processor target hardware contains code for the physical system that is generated from the plant model What Is Hardware in the Loop Simulation Desktop Comuputer Development Hardware Control System Model
235. nals 101 crossings Directional_5 way_valve 144 signals 36 crossings 7 45 7 Real Time Simulation 7 46 Area_A R Area B S Area_P_A Area P B 12 signals 12 signals 12 signals 12 signals _Area_Orifice_ 2 2 2 2 1 Variable_Area_Orifice_2 Variable Area_Orifice_3 Variable Area_Orifice_4 Friction_Load 2 signals Variable Pipe_1 2 signals Constant_Chamber 2 signals Pipe_2 2 signals Constant_Chamber 2 signals crossings crossings crossings crossings 24 signals 24 signals 24 signals 24 signals 4 crossings 0 crossings 0 crossings 6 crossings 8 crossings 8 crossings 6 crossings 0 crossings 0 crossings Pneumatic_Motor 5 signals 61 crossings The results show that many of the 101 detected zero crossings occur in the Directional 5 way valve block 36 crossings and the Pneumatic Motor block 61 crossings Use the sscexplore function to open the Simscape Results Explorer to interact with logged simulation data sscexplore simlogRef In the results tree select the Pneumatic_Motor node to see the results for the motor Reduce Zero Crossings Q_B J s Q_A J s G kg s all crossings cummulative 1 5 5 40 x 10 10 3 4 5 6 7 Time s SimulationStatistics ZeroCrossings 8 9 10 8 9 10 8 9 10 8 9 10 7 Real Time Simulation 7 48 Most of th
236. name and value are grayed out When you open a PS Simulink Converter or Simulink PS Converter block dialog box the Unit parameter is grayed out The following examples illustrate operations allowed and disallowed in Restricted mode In this section How to Simulate and Fine Tune a Model in Restricted Mode on page 12 14 How to Add and Delete Simulink Blocks in Restricted Mode on page 12 19 Performing an Operation Disallowed in Restricted Mode on page 12 24 How to Simulate and Fine Tune a Model in Restricted Mode This example shows how you can work with a model in Restricted mode by changing certain parameter values and observing the simulation results 1 Open the model_test_edit_mode model which you saved in Restricted mode in Example of Saving a Model in Restricted Mode on page 12 12 The model opens in Restricted mode Work with a Model in Restricted Mode File Edit View Display Diagram Simulation Analysis Code Tools Help Force Input Gear BoxA Gear Box B Simple Mechanical System 1 Explore simulation results using sscexplore 2 Learn more about this example 2 Open the Lever C Position scope and simulate the model The models runs and simulates in Restricted mode 12 15 12 Add On Product License Management 5 4 Lever C Position Eaka Ea File Tools View Simulation Help 9 0Op 2 a E A T 10 000 Double click the W
237. nce the model is built model users need only to check out a Simscape license to simulate the model and fine tune its parameters in Restricted mode As long as no About the Simscape Editing Mode structural changes are made to the model model users can work in Restricted mode and do not need to check out add on product licenses Another workflow available with concurrent licenses only lets multiple users who all have Simscape licenses share a small number of add on product licenses by working mostly in Restricted mode and temporarily switching models to Full mode only when they need to perform a specific design task that requires being in Full mode Note MathWorks recommends that you save all the models in Full mode before upgrading to a new version of Simulink or Simscape software If you have saved a model in Restricted mode and upon upgrading to a new product version open the model and it does not run switch it to Full mode and save You can then again switch to Restricted mode and work without problem What You Can Do in Restricted Mode When your model is open in Restricted mode you can Simulate the model Inspect parameters e Change certain block parameters In general you can change numerical parameter values but cannot change the block parameterization options See the block reference pages for specifics Generate code e Make data logging or visualization changes Add or delete regular Simulink
238. nct physical network of these blocks and then aggregated to appear as a single statistic in the Statistics Viewer The Sources section of the Statistics Viewer window lists variable sources for the selected statistic Ifyou select a connection under the 1 D 3 D Interface statistic category the Sources section lists the source and destination for this connection with links to relevant blocks Ifyou select a statistic with a nonzero value under the 1 D Physical System category the Sources section lists all the variables that fall under this statistic For each variable the Source column contains the full path to the variable starting from the top level model with a link to the relevant block If you click the link in the Source column the corresponding block is highlighted in the block diagram The Value column contains the name of the variable as it would appear in the Variables tab of the block dialog box Related Examples View Model Statistics on page 10 11 Access Block Variables Using Statistics Viewer on page 10 16 More About 1 D Physical System Statistics on page 10 4 3 D Multibody System Statistics on page 10 7 1 D 3 D Interface Statistics on page 10 10 10 3 10 Model Statistics 1 D Physical System Statistics 10 4 This node represents aggregate statistics generated from all physical networks that are associated with blocks from Simscape SimDriveline SimHydraulics S
239. nect regular Simulink blocks such as sources or scopes to your physical network diagram use the converter blocks as described in Using the Physical Signal Ports on page 1 16 Use the incremental modeling approach Start with a simple model run and troubleshoot it then add the desired special effects For example you can start developing your system by using the Resistive Tube block from the Foundation library which accounts only for friction losses At a later stage in development you may want to account for fluid compressibility You can then replace it with a Hydraulic Pipeline block available with SimHydraulics block libraries or depending on your application even with a Segmented Pipeline block if you also need to account for fluid inertia For all these different mathematical models the T Model Construction 1 16 element configuration that is the number and type of ports and the associated Through and Across variables would remain the same meaning that the Physical Network approach lets you substitute models of different levels of complexity without introducing any changes to the schematic Simscape blocks in general feature both Conserving ports E and Physical Signal inports and outports P Using the Conserving Ports The following rules apply to Conserving ports There are different types of Physical Conserving ports used in Simscape block diagrams such as hydraulic pneumatic electrical mechanical tr
240. new variables yOde5 tOde5 yout tout Use the stairs function to plot the results of the explicit fixed step simulation hi hold on stairs t0de5 y0de5 r hiLeg legend Reference Impicit Solver Expicit Solver Determine System Stiffness Speed rpm Speed Reference Impicit Solver Expicit Solver The results appear the same Analyze the Results 1 To see the results more closely zoom to the inflection point at time t 1 second 7 73 7 Real Time Simulation 7 74 Speed rpm Reference Impicit Solver Expicit Solver 0 97 0 98 0 99 1 1 01 1 02 1 03 1 04 1 05 Time s The implicit solver follows a path that is similar to the path that the variable step solver takes when generating the reference results The oscillations that the explicit solver exhibits indicate that the model is numerically stiff The oscillations also indicate that the explicit solver is more computationally costly than the implicit solver for simulating the stiff model Use a global or local implicit fixed step solver for real time simulation with numerically stiff models to avoid unnecessary computational cost See Also stairs Determine System Stiffness Related Examples Reduce Numerical Stiffness on page 7 31 Determine Step Size on page 7 15 More About Filtering Input Signals and Providing Time Derivatives on page 4 14 Real Time Model Prepa
241. ng blocks to display sparkline plots of logged data for their variables Repeatedly selecting a block toggles the display of its sparkline plots on and off 9 31 9 Data Logging 5 Select the Rotational Electromechanical Converter block Sparkline plots of the first three variables available for this block are displayed on the canvas and the field below the plots shows that 5 more variables are available File Edit View Display Diagram Simulation Analysis Code Tools Help Ba A e gt te gO a B O w DC Motor P ssc_demotor gt Pa DC Motor X EJ Rotational Electromechanical Converter y BE Ready 100 odel5s 6 To customize which plots are shown on the canvas click the little wrench symbol in the field below the plots 9 32 View Sparkline Plots of Simulation Data Rotational Electromechanical Converter OBA This action displays a list of all the block variables available with check marks next to the one currently plotted 9 33 9 Data Logging f Ww Pi ssc_demotor DC Motor Simulink o amp x File Edit View Display Diagram Simulation Analysis Code Tools Help gt Ph v 2 bal v gt v v DC Motor P ssc_dcmotor gt Pa DC Motor X Ci EJ c Rotational Electromechanical Converter V
242. ns This tutorial illustrates the essential steps to building a physical model and makes you familiar with using the basic Simscape blocks The following schematic represents a simple model of a car suspension It consists of a spring and damper connected to a body represented as a mass which is agitated by a force You can vary the model parameters such as the stiffness of the spring the mass of the body or the force profile and view the resulting changes to the velocity and position of the body Creating and Simulating a Simple Model To create an equivalent Simscape diagram follow these steps 1 Open the Simulink Library Browser as described in Simscape Block Libraries on page 1 11 Create a new model To do this from the top menu bar of the Library Browser select File gt New gt Model The software creates an empty model in memory and displays it in a new model editor window Note Alternately you can type ssc_new at the MATLAB Command prompt to create a new model prepopulated with certain required and commonly used blocks For more information see Creating a New Simscape Model Open the Simscape gt Foundation Library gt Mechanical gt Translational Elements library Drag the Mass Translational Spring Translational Damper and two Mechanical Translational Reference blocks into the model window Orient the blocks as shown in the following illustration To rotate a block select it
243. ns or after a subsequent event such as a discontinuity resulting for example from a valve opening or from a hard stop the 4 Model Simulation 4 10 Simscape solver performs transient initialization Transient initialization fixes all dynamic variables and solves for algebraic variables and derivatives of dynamic variables The goal of transient initialization is to provide a consistent set of initial conditions for the next phase transient solve Transient Solve Finally the Simscape solver performs transient solve of the system of equations In transient solve continuous differential equations are integrated in time to compute all the variables as a function of time The solver continues to perform the simulation according to the results of the transient solve until the solver encounters an event such as a zero crossing or discontinuity The event may be within the physical network or elsewhere in the Simulink model If the solver encounters an event the solver returns to the phase of transient initialization and then back to transient solve This cycle continues until the end of simulation Setting Up Solvers for Physical Models Setting Up Solvers for Physical Models In this section About Simulink and Simscape Solvers on page 4 11 Choosing Simulink and Simscape Solvers on page 4 11 Harmonizing Simulink and Simscape Solvers on page 4 13 About Simulink and Simscape Solvers This se
244. ns with the pressure normalized internal energy grid Grid in Normalized Internal Energy 102 10 Pressure 3S oO 10 1 0 5 0 0 5 1 15 2 Normalized Internal Energy To visualize the transformed grid in pressure specific internal energy space at the MATLAB command prompt enter this code Define horizontal and vertical axes Plot grid figure hold on plot fluidTables liquid u pLiquid b plot fluidTables vapor u pVapor b plot fluidtables liquid u_sat fluidTables p k plot fluidtables vapor u_sat fluidTables p k hold off Manually Generate Fluid Property Tables set gca yscale log xlabel Specific Internal Energy ylabel Pressure title Grid in Specific Internal Energy A figure opens with the pressure specific internal energy grid Grid in Specific Internal Energy 402 eee Pressure i ii 0 500 1000 1500 2000 2500 3000 3500 4000 Specific Internal Energy Model Simulation How Simscape Models Represent Physical Systems on page 4 2 How Simscape Simulation Works on page 4 5 Setting Up Solvers for Physical Models on page 4 11 Important Concepts and Choices in Physical Simulation on page 4 17 e Making Optimal Solver Choices for Physical Simulation on page 4 21 Troubleshooting Simulation Errors on page 4 26 Limitations on page 4 32 References on page 4 3
245. nslational Reference c Ready 100 ode45 12 Your block diagram is now complete Save it as mech_simple Modifying Initial Settings After you have put together a block diagram of your model as described in the previous section you need to select a solver and provide the correct values for configuration parameters To prepare for simulating the model follow these steps Creating and Simulating a Simple Model 1 Select a Simulink solver On the top menu bar of the model window select Simulation gt Model Configuration Parameters The Configuration Parameters dialog box opens showing the Solver node Under Solver options set Solver to ode23t mod stiff Trapezoidal Expand Additional options and set Max step size to 0 2 Also note that Simulation time is specified to be between 0 and 10 seconds You can adjust this setting later if needed Category List Select Solver Data Import Export Optimization Diagnostics Hardware Implementation Model Referencing Simulation Target Code Generation Simscape SimMechanics 1G SimMechanics 2G Simulation time Start time 0 0 Stop time 10 0 Solver options N Type Variable step x Solver ode23t mod stiff Trapezoidal x v Additional options Max step size 0 2 Relative tolerance 1e 3 Min step size auto Absolute tolerance auto Initial step size auto Shape preservation Disable All Z Solver reset method Fast x N
246. o Access the Block Libraries on page 1 12 Using the Command Prompt to Access the Block Libraries on page 1 13 Library Structure Overview Simscape block library contains two libraries that belong to the Simscape product Foundation library Contains basic hydraulic pneumatic mechanical electrical magnetic thermal thermal liquid and physical signal blocks organized into sublibraries according to technical discipline and function performed Utilities library Contains essential environment blocks for creating Physical Networks models In addition if you have installed any of the add on products of the Physical Modeling family you will see the corresponding libraries under the main Simscape library Simscape Foundation libraries contain a comprehensive set of basic elements and building blocks such as Mechanical building blocks for representing one dimensional translational and rotational motion Electrical building blocks for representing electrical components and circuits Magnetic building blocks that represent electromagnetic components Hydraulic building blocks that model fundamental hydraulic effects and can be combined to create more complex hydraulic components Pneumatic building blocks that model fundamental pneumatic effects based on the ideal gas law Thermal building blocks that model fundamental thermal effects Thermal liquid building blocks that model fundamental thermodynamic effects in liquids
247. ocks only To log data for selected blocks only you have to Set the logging configuration parameter Select the blocks in your model You can perform these two steps in any order For more information see Log Data for Selected Blocks Only on page 9 5 After running the simulation you can use the Simscape Results Explorer tool to navigate and plot the data logging results For additional information on how you can query plot and analyze data stored in the simulation log variable see the reference pages for the classes simscape logging Node simscape logging Series and their associated methods You can also configure your model to automatically record Simscape logging data along with the rest of the simulation data obtained from a model run using the Simulation About Simulation Data Logging Data Inspector Set up your model to log simulation data either for the whole model or on a block by block basis and enable data recording Simulate the model and then open the Simulation Data Inspector and view the results For detailed information on how to enable data recording and how to configure and use the Simulation Data Inspector see Inspect Signal Data with Simulation Data Inspector To make your model simulation and data logging compatible with the parfor command select the Save simulation output as single object check box on the Data Import Export pane of the Configuration Parameters dialog box In this case
248. ode Full bad Data Import Export OP ones Physical Networks Model Wide Simulation Diagnostics Diagnostics Hardware Implementation Explicit solver used in model containing Physical Networks blocks warning Model Referencing Simulation Target Zero crossing control is globally disabled in Simulink warning bd Code Generation p Data Logging SimMechanics 1G SimMechanics 2G Log simulation data None i J Log simulation statistics Open viewer after simulation Workspace variable name simlog Decimation 1 Limit data points Data history last N steps 5000 Q OK Cancel Help Apply Simscape Pane of the Configuration Parameters Dialog Box 4 13 4 Model Simulation 4 14 Switching from the Default Explicit Solver to Other Simulink Solvers If you do not modify the default explicit solver your performance may not be optimal Implicit solvers are better for most physical simulations For more information about implicit solvers and physical systems see Important Concepts and Choices in Physical Simulation on page 4 17 Diagnostic Messages About Explicit Solvers When you use an explicit solver in a model containing Simscape blocks the system issues a warning to alert you to a potential problem To turn off this default warning or to change it to an error message go to the Simscape pane of the Configuration Parameters dialog box 1 From the Explicit solver used in model containing
249. ode3 Bogacki Shampine ode4 Fourth Order Runge Kutta RK4 oded Dormand Prince RK5 ode8 Dormand Prince RK8 7 63 7 Real Time Simulation Realm Type Numerical Method Solver Implicit ode14x extrapolation Discrete Not applicable Discrete no continuous states Simscape local Continuous Implicit Backward Euler network Trapezoidal Rule 7 64 Choosing Between Discrete and Continuous Solvers To perform real time simulation on a discrete model for example for the design of a digital controller specify the Simulink global discrete solver If the network that contains the controller has any continuous states discretize the network For an example that shows how to discretize a controller see Hydraulic Actuator Configured for HIL Testing Note A physical network using a local solver appears to the global Simulink solver as if it has discrete states If your controller model does contain continuous states for example if you are modeling an analog controller use a Simulink global continuous solver Computational Cost for Continuous Solvers Computation cost is the number of calculations per time step that a processor performs Real time readiness varies inversely with computation cost The lower the computational cost of a model is the more likely it is that a real time simulation of the model proceeds without overruns and generates sufficiently accurate results The
250. odel Preparation Workflow on page 7 5 and Real Time Simulation Workflow on page 7 57 2 Set up and configure the software I O interfaces and connectivity for your development computer target computer and I O board For information see Simulink Real Time Setup and Configuration Create Build and Download a Real Time Application To generate code for the model on your development computer and transfer it to your real time computer 1 Set the Simulink Real Time code generation configuration parameters For information see Set Configuration Parameters 2 Start the target computer For information see Start Target Computer Generate Download and Execute Code 3 To compile your code link your hardware and download the real time application to iii your target in one step in the Simulink editor click the Build Model button For information see Build and Download Real Time Application Execute Real Time Application After you build and download a real time application to the target computer you can run the real time application 1 In the Simulink window on the toolbar set the simulation mode to External amp gt 10 0 External z Selecting external mode allows you to connect your development computer to your real time target 2 To connect your development and target computers and to transfer your model parameters to the target click the Connect to Target button 3 To
251. odel a pipeline segment using a single Pipe TL block To model a specialized system generally you use custom components These are components that you cannot represent by a single Thermal Liquid block The five way directional control valve in the ssc_tl_hydraulic_ fluid warming example is one such component Custom components are often industry specific and must be modeled by grouping Thermal Liquid blocks into more complex subsystems The Thermal Liquid library shares the structure of other Simscape Foundation libraries Four sublibraries supply the Thermal Liquid blocks Elements Sources Sensors and Utilities With these sublibraries you can represent the most common components of a thermal liquid system The table summarizes these components Component Type Description Thermal Liquid Blocks Liquid storage Store liquid in chambers or reservoirs Constant Volume Chamber TL Reservoir TL Controlled Reservoir TL Liquid transport Transport thermal liquid through closed conduits such as pipes Pipe TL Flow restriction Restrict thermal liquid flow e g due to valves or fittings Local Restriction TL Variable Local Restriction TL Mechanical interfaces Interface thermal liquid and mechanical systems e g to convert liquid mechanical energy into useful work Translational Mechanical Converter TL Rotational Mechanical Converter TL Power sources Provide a po
252. of a double acting hydraulic cylinder The element is represented with three energy flows two flows of hydraulic energy through the inlet and outlet of the cylinder and a flow of mechanical energy associated with the rod motion It therefore has the following three connector ports A Hydraulic conserving port associated with pressure p an Across variable and flow rate q a Through variable B Hydraulic conserving port associated with pressure pp an Across variable and flow rate q a Through variable T Model Construction e R Mechanical translational conserving port associated with rod velocity v3 an Across variable and force F3 a Through variable See Connector Ports and Connection Lines on page 1 8 for more information on connector port types Variable Types Physical Network approach supports two types of variables e Through Variables that are measured with a gauge connected in series to an element e Across Variables that are measured with a gauge connected in parallel to an element The following table lists the Through and Across variables associated with each type of physical domain in Simscape software Physical Domain Electrical Hydraulic Magnetic Mechanical rotational Mechanical translational Pneumatic Thermal Thermal liquid Two phase fluid Across Variable Voltage Pressure Magnetomotive force mmf Angular velocity Translational velocity Pressu
253. of detected zero crossings 43 Time s Location PneumaticMotor PneumaticMotor The source code for the Pneumatic Motor block opens with the cursor at this code Flow direction dir is positive if flow is from port A to port B otherwise ne dir if A p gt B p 1 else 1 end The conditional statement that is responsible for the zero crossings is related to the flow direction in the pipe blocks The Pipe 1 and Pipe 2 blocks simply model 7 49 7 Real Time Simulation pneumatic pipes with constant parameters The Directional 5 way valve block feeds the pipe blocks Look under the mask of the valve block The spool position dictates the orifice that receives the gas flow and therefore the direction of flow in the pipes that lead to the motor Open the Signal Builder block that determines the spool position Between the simulation time t of 0 and 1 second the signal puts the spool at position 0 The zero crossings reflect the chatter that occurs as the system fills Decrease the chatter and therefore the number of zero crossings by increasing the leakage area of the Directional 5 way valve Open the Directional 5 way valve block dialog box and specify 1e 2 for the Leakage area at x 0 mm 2 Analyze the Results of the Modified Model Compare the results to the reference results to ensure the accuracy of your modified model Confirm that your modified model has fewer zero crossings 1 2 7 50 Simulate the model
254. of explicit tree joints excludes joints cut from the kinematic graph to generate the kinematic tree 10 7 10 Model Statistics 10 8 For more information about kinematic graphs and trees see the statistic description for Number of joints total Number of implicit 6 DOF tree joints This statistic provides the number of 6 DOF joints in the kinematic tree of a mechanical system that do not correspond to explicit joint blocks SimMechanics adds implicit 6 DOF joints when the kinematic graph of a model is not fully connected These implicit joints connect previously disconnected portions of the graph to the ground body adding the edges required to fully connect the graph Implicit joints are always tree joints and do not create loops For more information about kinematic graphs and trees see the statistic description for Number of joints total Number of cut joints This statistic provides the number of joints that are cut from the kinematic graph of a mechanical system to generate the associated kinematic tree The number of cut joints equals the number of closed loops present in the kinematic graph For more information about kinematic graphs and trees see the statistic description for Number of joints total Number of constraints This statistic provides the total number of constraint blocks in a mechanical system Number of tree degrees of freedom This statistic provides the total number of degrees of freed
255. ogsimulation data View source code Ctrl X View simulation data Ctrl C Cede Log and View Simulation Data for Selected Blocks After you select a block for data logging a check mark appears in front of the Log simulation data option in the context menu for that block 4 Right click the Motor Inertia block and select it for data logging as described in the previous step 5 Simulate the model This creates a workspace variable named simlog_ssc_dcmotor as specified by the Workspace variable name parameter which contains the simulation data for selected blocks only 6 To open the Simscape Results Explorer right click one of the blocks previously selected for data logging for example the Rotational Electromechanical Converter block From the context menu select Simscape gt View simulation data gt simlog_ssc_demotor Inertia Rotational Electromechanical Friction Converter a Simscape Log simulation data O Explore View source code k ca CtrleX View simulation data gt simlog_ssc_dcmotor a atd G3 Copy Ctrl C f Dacte Ctri i Note If you right click a block that has not been selected for simulation data logging for example the Load Torque block the View simulation data option is not available If you change the name of the log variable between simulation runs the context menu lists the names of all the log variables associated with the block For example to compare data fro
256. olumes To eliminate or modify the elements that are responsible for the effects that slow down your simulation use these approaches e Replace nonlinear components with linearized versions Replace complex equations with lookup tables for their solution Replace complicated components with simplified models Smooth discontinuous functions step changes with filters delays and other techniques Optimizing Local and Global Solver Configurations You can also influence the speed and accuracy of your simulation by way of your solver specifications The level of accuracy that your real time target delivers does not necessarily correlate to a specific step size across all networks in a single model A real time target can give accurate results for a simple network in your model but inaccurate results for a more complex network Take advantage of the ability to specify different solver configurations for each network in your Simscape model To help make your model real time capable configure your fixed step global solver and each local solver individually For information on solver options and determining the solvers that help to make your Simscape model real time capable see Solvers for Real Time Simulation on page 7 63 Upgrading Target Hardware Different targets give varying levels of accuracy when using the same step size to simulate the same model You can speed up or increase the accuracy of the real time simulation by
257. om in the kinematic tree of a mechanical system This number equals the sum of all degrees of freedom that the tree joints provide It excludes degrees of freedom associated with cut joints For more information about kinematic graphs and trees see the statistic description for Number of joints total Number of position constraint equations total This statistic provides the number of scalar equations that impose position constraints on a mechanical system Constraint equations arise from two types of blocks Constraints and Joints Joint blocks contribute constraint equations only if the joints are cut in the kinematic tree The number of position constraint equations that a cut joint contributes equals six minus the number of degrees of freedom that joint provides For more information about kinematic graphs and trees see the statistic description for Number of joints total Number of position constraint equations non redundant This statistic provides the number of unique position constraint equations associated with a model 3 D Multibody System Statistics This number is smaller than or equal to the total number of position constraint equations The difference between the two is the number of redundant position constraint equations which are satisfied whenever the unique position constraint equations are satisfied SimMechanics attempts to remove redundant equations to improve simulation performance Number of mechani
258. on data option which is set to None by default 3 From the drop down list select All then click OK 4 Simulate the model This creates a workspace variable named simlog as specified by the Workspace variable name parameter which contains the simulation data For information on how to access and use the data stored in this variable see the related examples listed below For information on additional data logging configuration options see Data Logging Options on page 9 6 Related Examples Log Navigate and Plot Simulation Data on page 9 21 Log and Plot Simulation Data on page 9 8 Log Simulation Statistics on page 9 13 More About Data Logging Options on page 9 6 Log Data for Selected Blocks Only Log Data for Selected Blocks Only Instead of logging the simulation data for the whole model you can log data just for the selected blocks 1 Set the logging configuration parameter to enable simulation data logging on a block by block basis In the model window from the top menu bar select Simulation gt Model Configuration Parameters In the Configuration Parameters dialog box in the left pane select Simscape then set the Log simulation data parameter to Use local settings Click OK 2 Select the blocks in your model You can do this before or after setting the logging configuration parameter For each block that you want to select for data logging right click on the block From
259. on page 7 5 and Real Time Simulation Workflow on page 7 57 Insufficient Computational Capability for Hardware in the Loop Simulation Your real time target can lack the computational capability for running your model in real time If your model fails to run in real time or produces unreliable results on your target after multiple iterations of the real time workflows consider these options for increasing processing power Upgrading Target Hardware on page 7 13 Simulating Parts of the System in Parallel on page 7 13 Related Examples Generate Download and Execute Code on page 7 108 More About Real Time Model Preparation Workflow on page 7 5 What Is Hardware in the Loop Simulation on page 7 96 Real Time Simulation Workflow on page 7 57 Code Generation Requirements on page 7 106 7 105 7 Real Time Simulation Code Generation Requirements 7 106 In this section Hardware Requirements on page 7 106 Software Requirements on page 7 107 Performing hardware in the loop HIL simulation with Simulink Real Time requires specific hardware and software Hardware Requirements The minimum hardware requirements for HIL simulation with Simulink Real Time are Development computer with a network or serial interface For information on development computer specifications see Development Computer Requirements Real time target compute
260. onstruction Voltage Sensor Ds gt Vv Idea Transformer The next diagram would produce an error because it is lacking an electrical reference in the circuit of the secondary winding Ideal Transformer The following diagram however will not produce an error because the resistor defines the output voltage relative to the ground reference 1 38 Modeling Best Practices Solver Configurstion Ides Transformer Multiple Connections to the Domain Reference Are Allowed Within a Circuit More that one reference block may be used within a circuit to define multiple connections to the domain reference Electrical conserving ports of all the blocks that are directly connected to ground must be connected to an Electrical Reference block All translational ports that are rigidly clamped to the frame ground must be connected to a Mechanical Translational Reference block All rotational ports that are rigidly clamped to the frame ground must be connected to a Mechanical Rotational Reference block Hydraulic conserving ports of all the blocks that are referenced to atmosphere for example suction ports of hydraulic pumps or return ports of valves cylinders pipelines if they are considered directly connected to atmosphere must be connected to a Hydraulic Reference block For example the following diagram correctly indicates two separate connections to an electrical ground 1 39 T Model Cons
261. ools View Simulation Help 30r 0 gt a 0 5 A Ready T 10 000 Double click the Mass block and change the Mass parameter value to 24 Simulate the model Notice that doubling the mass resulted in increased vibrations Work with a Model in Restricted Mode 5 amp Lever C Position Eaka Ea File Tools View Simulation Help 9 Op 2 a E A Ready T 10 000 How to Add and Delete Simulink Blocks in Restricted Mode This example shows how you can change the model input signal in Restricted mode by adding and deleting basic Simulink blocks 1 Open the model_test_edit_mode model which you saved in Restricted mode in Example of Saving a Model in Restricted Mode on page 12 12 The model opens in Restricted mode 12 19 12 Add On Product License Management Simulation Analysis Code Tools Help T ai B 4O Wrw o O Force Input Gear BoxA Gear Box B Simple Mechanical System 1 Explore simulation results using sscexplore 2 Learn more about this example 2 Open the Lever C Position scope and simulate the model 12 20 Work with a Model in Restricted Mode 5 ry Lever C Position ba ba e File Tools 9 0Op 2 a E A View Simulation Help T 10 000 3 Double click the Force Input subsystem to open it 12 21 12 Add On Product License Management File Edit View Display Diagram Simulation Analys
262. original model but it also reduces the maximum step size for obtaining accurate real time results For the discretized model Ts is between le 2 and le 3 seconds Parameterize Global and Local Solver Settings To reduce the number of steps for finding the optimal real time simulation solver settings parameterize the solver configuration with workspace variables In the Hydraulic Actuator Discrete Model the step size for the local solver configuration 7 84 Choose Step Size and Number of Iterations is specified as the workspace variable ts For this example you also use workspace variables to parameterize the global step size tsG and the local number of nonlinear iterations N 1 For the modified model in the model configuration parameters dialog box specify these settings Pane Parameter Value Purpose Solver Type Fixed step Configure the global solver of the modified model for fixed step simulation Solver discrete no Configure the global continuous solver to match the states state of the controller Additional tsG Parameterize the options gt global step size Fixed step size fundamental sample time Simscape Limit data points Clear the check box As you decrease the solver step size the number of data points that the simulation generates increases Clear the option to ensure that you collect all the data that you need for evaluating simulation accuracy 2 Configur
263. osition oc t fet a ohet i BERR However the Variable Viewer shows that the model initialization solution does not satisfy your target values for block variables This happens because placing high priority constraints on all three elements of the mass spring damper system results in a conflict You can resolve the over specification issue by relaxing the priority of some of the conflicting variable targets Initialize Variables for a Mass Spring Damper System 3 Double click the Translational Damper block again go to the Variables tab and change the priority of the Force variable to Low Translational Damper The block represents an ideal mechanical translational viscous damper Connections R and C are mechanical translational conserving ports with R representing the damper rod while C is associated with the damper case The block positive direction is from port R to port C Source code Settings Priority Beginning Value 0 m s X 200 N X E J gt Cox Apply 4 Refresh the Variable Viewer 5 17 5 Variable Initialization and State Viewer 5 18 The overall status at the bottom of the Variable Viewer window now displays a yellow triangle and says that all the high priority targets are satisfied but some of the low priority targets are not satisfied There are now two yellow triangles in the status column one for the low priority force v
264. otor MRRef_Torque Sensing H E 8 8 8 Statistics for selected node id w Number of time steps 115 Number of logged variables 1 Number of logged zero crossing signals 0 Source Rotational Electromechanical Converter Related Examples Log and View Simulation Data for Selected Blocks on page 9 17 More About About Simulation Data Logging on page 9 2 About the Simscape Results Explorer on page 9 26 w rad s 2500 2000 1500 1000 0 2 9 25 9 Data Logging About the Simscape Results Explorer 9 26 Simscape Results Explorer is an interactive tool that lets you navigate and plot the simulation data logging results When you configure the model to log simulation data for the whole model or just the selected blocks you can make the Simscape Results Explorer window open automatically upon completing a simulation run by selecting the Open viewer after simulation check box in the Configuration Parameters dialog box For more information on this workflow see Log Navigate and Plot Simulation Data on page 9 21 Another way to open the Simscape Results Explorer window is to right click on a block and from the context menu select Simscape gt View simulation data For more information see Log and View Simulation Data for Selected Blocks on page 9 17 You can control whether the Simscape Results Explorer window is reused when you
265. ots appear in the right pane Expand the DC_Motor node and then click the Rotational Electromechanical_ Converter node to see all the node plots for this block 9 23 9 Data Logging 4 Sin q cdc File Edit View Insert Tools Desktop Window Help OSGas k AaV9ec 2 008 aa DC_Motor W Friction Inertia Seen pian 0 002 004 006 008 01 O12 014 016 018 o0 Rotor_Resistance s DC Voltage Time s ERef i x104 i t Load_Torque MRRef_Motor MRRef_Torque Sensing L 4 4 L 4 4 L 41 4 0 02 0 04 0 06 0 08 0 1 0 12 0 14 0 16 0 18 0 Time s 0 02 004 0 06 0 08 Statistics for selected node 0 bs r p an 0 02 0 04 0 06 0 08 0 1 0 12 0 14 0 16 0 18 02 jumi time steps Number of logged variables 8 Time s Number of logged zero crossing signals 0 Source Rotational Electromechanical Converter 5 Toisolate the plot of the rotor angular velocity series against time keep expanding the nodes in the left pane until you get to the series data 9 24 Log Navigate and Plot Simulation Data 4 Simscape Results Explorer ssc_dcmoto File Edit View Insert Tools Desktop Window Help OGa8 h 88ode4 a 08 e0 BEBA 9 ssc_demotor A DC_Motor gt B Friction E Inertia Rotational_Electromechanical_Converter wc a R E Rotor_Inductance 6 Rotor_Resistance DC_Voltage W ERef g Load_Torque 8 MRRef_M
266. ou need to apply affine conversion Usually this decision depends on whether the signal represents absolute or relative temperature see When to Apply Affine Conversion on page 11 11 For example you model a house heating system and you need to input the outdoor temperature In the following diagram the Constant source block represents the average outdoor temperature in degrees Celsius and the Sine source block adds the daily temperature variation The average outdoor temperature in this case is 12 degrees Celsius Daily variation with an amplitude of 8 makes the input outdoor temperature vary between 4 and 20 degrees Celsius Thermal Unit Conversions Daily Tempersture Variation This signal is an absolute temperature reading Therefore when the signal converts into kelvin for further computations you need to specify that it should use affine conversion Double click the Simulink PS Converter block type C in the Input signal unit field and select the Apply affine conversion check box Simulink PS Converter Converts the unitless Simulink input signal to a Physical Signal The unit expression in Input signal unit parameter is associated with the unitless Simulink input signal and determines the unit assigned to the Physical Signal Apply affine conversion check box is only relevant for units with offset such as temperature units There are three options to handle the input you can use it as is filter
267. ous_friction_A viscous_ friction_B 2 20 Heat Transfer in Insulated Oil Pipeline 2 At the MATLAB command line enter simscape logging plot simlog Pipe TL pipe model nu nu mm 2 s ll i l 0 1000 2000 3000 4000 5000 6000 7000 8000 Time s As expected the kinematic viscosity remains approximately constant throughout the simulation reflecting the minimal temperature changes that occur in the oil Note For more information about Simscape logging see About Simulation Data Logging on page 9 2 Simulate Effects of Changing Insulation Diameter Experiment with different values for the insulation inner diameter By varying this parameter you offset the balance between viscous dissipation which heats the oil and thermal conduction which cools the oil Open Model Explorer In the Model Hierarchy pane select Base Workspace In the Contents pane click the value of parameter D1 Enter 0 20 hon 2 21 2 Thermal Liquid Models 2 22 By reducing the inner diameter of the insulation layer to 0 20 you increase the insulation thickness slowing down heat loss through the pipe wall via thermal conduction Run the simulation Then open the Comparison scope and autoscale to view full plot 334 2 334 333 8 333 6 eer Cee aana SEAN 3 baginatued Panan faenas SERT 3 sauces 993 2 AN a eee eer eer a ones ceee ee 333 0 1000 2000 3000 4000 5000 6000 7000 8000
268. owing these steps 1 From the top menu bar in the model window select Simulation gt Model Configuration Parameters The Configuration Parameters dialog box opens 2 Inthe left pane of the Configuration Parameters dialog box select Simscape The right pane displays the Editing Mode option which is either Full or Restricted 3 At this point you can either try switching the mode by selecting a different option from the drop down list or click Cancel to stay in the current mode Which Licenses Are Checked Out Use the MATLAB license command to get a list of all the licenses currently in use In the MATLAB Command Window type license inuse This command returns a list of licenses checked out in the current MATLAB session In the list products are listed alphabetically by their license feature names Related Examples Set the Model Loading Preference on page 12 9 i Save a Model in Restricted Mode on page 12 11 Work with a Model in Restricted Mode on page 12 14 Switch from Restricted to Full Mode on page 12 28 More About About the Simscape Editing Mode on page 12 2
269. ows the real time simulation workflow The connectors are exit points for returning to the real time model preparation workflow 7 57 7 Real Time Simulation 7 58 Real Time Simulation Perform the Real Time Model Preparation Workflow Perform Fixed Step Fixed Cost Simulation Adjust Solver Settings Is Model Accuracy Increase Number of Iterations Acceptable and or Decrease Step Size Retum to the Real Time Model Preparation Workflow Adjust Solver Settings Is Long Execution Decrease Number of Iterations Time Likely to Cause and or an Overrun Increase Step Size Retum to the Real Time Model Preparation Workflow Model Is Real Time Viable Real Time Simulation Workflow The figure shows the real time model preparation workflow The connector is an entry point for returning to the real time model preparation workflow from other real time workflows for example the real time simulation workflow or the hardware in the loop simulation workflow Real Time Model Preparation Adjust Model Fidelity or Scope Perform Variable Step Simulation Is Model Accuracy Acceptable Retur to the Real Time Model Preparation Workflow Are Small Steps Likely to Cause an Overrun Obtain Reference Results Perform the Real Time Simulation Workflow Before performing this workflow prepare your model for real time simulation using the Real Time Model Prep
270. oxes specify the variable targets for initialization by setting the priority target values and units for block variables as required by your model 2 Open the Variable Viewer to see which of the initial targets have been satisfied Although the viewer does not simulate the model it runs the simulation for 0 seconds to initialize it and therefore the model must be in an executable state 3 If initialization fails or you are not satisfied with the results iterate by changing the block variable target values and priority then refreshing the viewer 4 When satisfied with initialization run the simulation to see the results Related Examples Set Priority and Initial Target for Block Variables on page 5 5 Tnitialize Variables for a Mass Spring Damper System on page 5 7 More About Variable Viewer on page 5 23 Set Priority and Initial Target for Block Variables Set Priority and Initial Target for Block Variables When you open the Variables tab of a block dialog box it lists all the public variables specified in the underlying component file along with priority beginning target value and unit For example if you add a Translational Spring block to your model double click it to open its dialog box and then click the Variables tab it looks like this y Block Parameters Translational Spring Lx Translational Spring The block represents an ideal mechanical linear spring Connections R and C
271. pendencies on other states through constraints The independent states are a subset of system variables and consist of independent unconstrained Simscape dynamic variables and other Simulink states The dependent states consist of Simscape algebraic variables and dependent constrained Simscape dynamic variables For more information on Simscape dynamic and algebraic variables see How Simscape Simulation Works on page 4 5 The complete unreduced LTI A B C D matrices have the following structure The A matrix of size n_states by n_states is all zeros except for a submatrix of size n_ind by n_ind where n_ind is the number of independent states The B matrix of size n_states by n_inputs is all zeros except for a submatrix of size n_ind by n_inputs The C matrix of size n_outputs by n_states is all zeros except for a submatrix of size n_outputs by n_ind The D matrix of size n_outputs by n_inputs can be nonzeros everywhere 6 Linearization and Trimming 6 10 Obtaining the Independent Subset of States A minimal linearized solution uses only an independent subset of system states From the matrices A B C D you can obtain a minimal input output linearized model with The minreal and sminreal functions from Control System Toolbox software e Automatically with the Simulink Control Design approach Linearizing with Simulink Control Design Software Note The techniques described in th
272. physical model by using a combination of blocks from the Simscape Foundation and Utilities libraries Simscape software lets you create a network representation of the system under design based on the Physical Network approach According to this approach each system is represented as consisting of functional elements that interact with each other by exchanging energy through their ports Each Simscape diagram or each topologically distinct physical network in a diagram must contain a Solver Configuration block from the Simscape Utilities library If you have hydraulic elements in your model the working fluid used in the hydraulic circuit defines their global parameters such as fluid density fluid kinematic viscosity fluid bulk modulus and so on To specify the working fluid attach a Custom Hydraulic Fluid block or a Hydraulic Fluid block available with SimHydraulics block libraries to each topologically distinct hydraulic circuit If no Hydraulic Fluid block or Custom Hydraulic Fluid block is attached to a circuit the hydraulic blocks use the default fluid which is equivalent to fluid defined by a Custom Hydraulic Fluid block with the default parameter values If you have pneumatic elements in your model default gas properties are for dry air and ambient conditions of 101325 Pa and 20 degrees Celsius Attach a Gas Properties block to each topologically distinct pneumatic circuit to change gas properties and ambient conditions To con
273. physical network is a DAE system Differential Differential Algebraic and Algebraic Systems on page 4 2 Remember that some physical networks are represented by ODEs only Physical networks may contain Stiffness on page 4 3 Identify discrete and continuous components that might Events and Zero Crossings on page 4 3 during a simulation Creating and Detecting Zero Crossings in Simscape Models Simulink and Simscape software have specific methods for detecting and locating zero crossing events For general information see Zero Crossing Detection in the Simulink documentation 4 Model Simulation Your model can contain zero crossing conditions arising from several sources Simscape and normal Simulink blocks copied from their respective block libraries Expressions programmed in the Simscape language You can disable zero crossing detection on individual blocks or globally across the entire model Zero crossing detection often improves simulation accuracy but can slow simulation speed Tip If the exact times of zero crossings are important in your model then keep zero crossing detection enabled Disabling it can lead to major simulation inaccuracies Enabling and Disabling Zero Crossing Conditions in Simscape Language In the Simscape language you can create or avoid Simulink zero crossing conditions in your model by switching between different implementations of discontinuous conditional exp
274. ple Mechanical System example model Torque Source Force Input eDi Mer Gear Box A Wheel and AxleA Gear Box B iH p i Wheel and P Axle B Lever C Position Lever Simple Mechanical System 1 Explore simulation results using sscexplore 2 Learn more about this example 2 To view model statistics in the top menu bar of the model window select Analysis gt Simscape gt Statistics Viewer The Simscape Statistics window opens displaying the name of the model and an overview of the models statistics in a collapsed state Click 4_ to expand all nodes 10 11 10 Model Statistics Number of differential variables Number of algebraic variables Number of differential variables Number of algebraic variables Number of integer valued variables Number of real valued variables Number of zero crossing signals Number of dynamic variable constraints Sources Source Select a statistic above to see its sources Description Select a statistic above to see its detailed description You can see that after variable elimination the model contains five continuous differential variables no algebraic variables no discrete variables and no zero crossing signals 4 Replace the Translational Damper block in the model diagram with a Translational Friction block as shown in the following figure 10 12 View Model Statistics Torque Source Ge DLJ For
275. plications such as e Factory automation basic pneumatic linear rotational actuators valves variable orifices and air supply Robotics robotic arms and haptic interfaces Gaseous transportation systems and pipelines You can also use these blocks to model dry air and low pressure flows for example for HVAC applications Assumptions and Limitations Pneumatic block models are based on the following assumptions Working fluid is an ideal gas satisfying the ideal gas law Specific heats at constant pressure and constant volume cp and c are constant Processes are adiabatic that is there is no heat transfer between components and the environment except for components with a separate thermal port Gravitational effects can be neglected that is underlying equations contain no head pressures due to gravity Modeling Pneumatic Systems Fundamental Equations The energy balance for a control volume 1 is dE up U5 Qa Zm il h ot i ae ho gt Bo o where BS Control volume total energy Qev Heat energy per second added to the gas through the boundary Wey Mechanical work per second performed by the gas hi ho Inlet and outlet enthalpies Ui Uo Gas inlet and outlet velocities g Acceleration due to gravity ZE Elevations at inlet and outlet ports m m Mass flow rates in and out of the control volume The equation is an accounting balance for the
276. ports The block positive direction is from port R to port C This means that the force is positive if it acts in the direction from R to C Source code m Settings Parameters Variables Override Variable Priority Beginning Value Unit E al Velocity 0 m s od al Force 0 N Deformation 20 mm IE 4 If you clear the Override check box next to a variable name its Priority Beginning Value and Unit fields switch back to defaults specified in the component file However if you select the check box again these fields will retain their last specified value for when they were overridden Related Examples Tnitialize Variables for a Mass Spring Damper System on page 5 7 More About x About Variable Initialization on page 5 2 5 6 Initialize Variables for a Mass Spring Damper System Initialize Variables for a Mass Spring Damper System This example shows how to use block variable initialization and how it affects the simulation results of a simple mechanical system The model is a classical unforced mass spring damper system with the oscillations of the mass caused by the initial deformation of the spring Create and Set Up the Model 1 Create a simple mass spring damper system Use the Mass Translational Spring Translational Damper Mechanical Translational Reference Ideal Translational Motion Sensor PS Simulink Converter Solver Configuration and
277. ppear to the global solver as if they had discrete states Internally these networks still have continuous states These networks are moderately and highly stiff respectively One of these networks number 1 uses the Backward Euler BE local solver The other number 8 uses the Trapezoidal Rule TR local solver The remaining network number 2 uses the global Simulink solver Its states appear to the model as continuous This network is not stiff and is pure ODE Use an explicit global solver Because at least one network appears to the model as continuous you must use a continuous solver However if you remove network 2 and if the model contains no continuous Simulink states Simulink automatically switches to a discrete global solver Making Optimal Solver Choices for Physical Simulation Eg Model wide Simulink solver Simulink blocks States appear States appear States appear as discrete as continuous as discrete Physical Network 2 Nonstiff pure ODE Global solver 4 25 4 Model Simulation Troubleshooting Simulation Errors 4 26 In this section Troubleshooting Tips and Techniques on page 4 26 System Configuration Errors on page 4 27 Numerical Simulation Issues on page 4 29 Tnitial Conditions Solve Failure on page 4 30 Transient Simulation Issues on page 4 30 Troubleshooting Tips and Techniques Simscape simulations can stop before complet
278. pressible volumes The step size recovers more quickly after it slows down to process events that occur between the simulation times where t 1 02 and 1 06 seconds The events that occur during this time are less likely to require small step sizes to achieve accurate results To see different types of slow solver recoveries zoom to the region within the red box at t 4 2 seconds ht xZoomStart2 4 16 xZoomEnd2 4 24 yZoomStart2 10e 20 yZoomEnd2 10e 1 axis xZoomStart2 xZoomEnd2 yZoomStart2 yZoomEnd2 Determine Step Size Ts 10 max Solver Step Size 105 R recovery lt B o N e a orts g 29 105 Slow recovery A 4 18 4 185 4 19 4 195 42 4 205 4 21 4 215 4 22 Time s Just as there are different types of events that cause solvers to slow down there are different types of slow solver recovery The events that occur just before t 4 19 and 4 2 seconds both involve zero crossings The solver takes a series of progressively larger steps as it reaches the step size from before the event The large number of very small steps that follow the zero crossing at Slow Recovery A indicate that the element that caused the zero crossing is also numerically stiff The quicker step size increase after the event that occurs at t 4 2 seconds indicates that the element that caused the zero crossing before Slow Recovery B is not as stiff as the event at Slow Recovery A 6 To see the results open the S
279. psed time is also less than the simulation execution time budget for this example four seconds Therefore the specified solver configuration provides an acceptable safety margin for real time simulation on the target that provided the budget data Zoom to an inflection point to evaluate the accuracy of the results 7 87 7 Real Time Simulation 7 88 Pressure Pa figure h2 xStart 0 xEnd 10 yStart 0 yEnd 3 5e6 xZoomStart 0 3 xZoomEnd 0 6 yZoomStart 2 6e6 yZoomEnd 3 4e6 axis xZoomStart xZoomEnd yZoomStart yZoomEnd 3 47 od w w N p h N N N 2 6 10 Cylinder Pressure 3 0 3 0 35 0 4 0 45 0 5 0 55 0 6 Time s Reference Local Ts 0 01s N 3 Global Ts 0 01s Time 1 7 Theoretical and empirical data support the reference results The accuracy of the simulation results is not acceptable because the solver oscillates before it converges on the solution in the reference data Choose Step Size and Number of Iterations If you can achieve acceptable result accuracy but the simulation runs too slowly for a given execution time budget increase speed by increasing the step size or decrease the number of iterations When you find a combination of solver settings that provide accurate enough results and a simulation speed that fits your execution time budget you can attempt to run your model on a real time target by performing the hardware
280. r Based Linearization block to the model and simulating These blocks combine time based simulation up to specified times or internal trigger points with state based linearization at those times or trigger points For complete details about these blocks see their respective block reference pages Note If your model contains PS Constant Delay or PS Variable Delay blocks or custom blocks utilizing the delay operator in the Simscape language MathWorks recommends that you linearize the model by using the Timed Based Linearization or Trigger Based Linearization block and simulating the model for a time period longer than the specified delay time Linearize an Electronic Circuit Linearize an Electronic Circuit This example shows how to linearize a model of a nonlinear bipolar transistor circuit and create a Bode plot for small signal frequency domain analysis Depending on the software you have available use the appropriate sections of this example to explore various linearization and analysis techniques In this section Explore the Model on page 6 13 Linearize with Steady State Solver and linmod Function on page 6 17 Linearize with Simulink Control Design Software on page 6 19 Use Control System Toolbox Software for Bode Analysis on page 6 20 Explore the Model To open the Nonlinear Bipolar Transistor example model type ssc_bipolar_nonlinear in the MATLAB Command Window
281. r model your model is not fast enough for real time simulation Your Simscape model is accurate if it produces results that agree with the empirical and theoretical data that are the basis for your model Accuracy is more subjective when the foundation and simulation data are similar but are not in absolute agreement To determine if your model is accurate enough for real time simulation when the data do not match perfectly consider these questions Improving Speed and Accuracy Is the model representing the phenomena that you want it to measure Is it representing those phenomena correctly Ifyou plan to use your model to test your controller design is the model accurate enough to produce results that you can rely on for system qualification The only way to test whether your model is real time capable is to run it on your actual real time target hardware using fixed step fixed cost solvers You can however estimate whether the model is both fast and accurate enough for real time simulation by analyzing the results from desktop simulation To estimate whether your model is real time capable see Determine Step Size on page 7 15 and Estimate Computation Costs on page 7 76 If the analysis from the desktop simulation indicates that your model likely is not real time capable increase model speed or accuracy before deploying your model to your real time target Increasing the speed of your simulation tends to decre
282. r system containing this hardware e CPU For information on real time target computer specifications see Target Computer Requirements TO board For information on supported I O boards and for writing device drivers for unsupported boards see Supported Hardware Hardware Drivers I O Boards and I O Driver Support Protocol interface Controller preconfigured with code from your controller model Connection cable for linking the development computer to the real time target For information see Links Between Development and Target Computers Peripherals that provide a way to Boot the real time target computer Transfer the Simulink Real Time operating system and executable code to the real time target computer For information see Peripherals Wiring harness to connect the real time target computer to the controller Code Generation Requirements Software Requirements For information on the minimum software requirements for HIL simulation with Simulink Real Time see Simulink Real Time Software Requirements The Simulink Real Time requirements include a C compiler For information see Simulink Real Time C Compiler Requirements and Command Line C Compiler Configuration Note If you want more configuration options for code optimization use Embedded Coder to generate code for your real time computer For information see Embedded Coder Product Description Rel
283. ration Workflow on page 7 5 Solvers for Real Time Simulation on page 7 63 Stiffness on page 4 3 7 75 7 Real Time Simulation Estimate Computation Costs Estimating computational cost helps you to determine if your model is likely to cause an overrun when you simulate it on your real time processor Computational cost is the execution time per time step during simulation To estimate the time that it takes for your model to execute on a real time hardware target estimate the simulation execution time budget for your real time target To estimate the simulation execution time first measure the execution time of desktop simulation for a particular model Then determine the average execution time per time step on the real time target for the same model Knowing how these execution times compare for one model means that you can estimate execution time on the real time target from desktop simulation execution time when you test other models Having an estimate for the execution time budget helps you to choose a feasible combination of solver settings for fixed step fixed cost simulation During each time step the real time target must perform the procedures that the figure shows TET H TI TET HLT max mM i Step Size 0 Ts Ts The equation for determining the minimum step size to specify for the fixed step solver to avoid simulation overrun is 7 76 Estimate Computation Costs TSmin TET max LT m
284. rce Value DC _ Motor Inertia w Rotational vel DC _Motor Rotor_Inductance i L Inductor current Sensing Ideal Rotational Motion Sensor phi Angle Description za This statistic represents the number of differential variables associated with all1 D Physical Systems in the model Differential variables are continuous variables S whose time derivative appears in one or more system equations These variables add dynamics to the system and require the solver to use numerical integration to compute their values You can see that after variable elimination the model contains three continuous differential variables and the Sources section of the Statistics Viewer lists these three variables For each variable The Source column contains the full path to the variable starting from the top level model with a link to the relevant block The Value column contains the name of the variable as it would appear in the Variables tab of the block dialog box Click the first link in the Source column The full path indicates that the source variable w belongs to the Inertia block in the DC Motor subsystem of the top level example model therefore the DC Motor subsystem opens and the corresponding block is highlighted in the block diagram as shown in the following figure 10 17 10 Model Statistics File Edit View Display Diagram Simulation Analysis Code Tools Help Ba Beot TT e4Ors B Rotat
285. re and temperature Temperature Pressure and temperature Pressure and specific internal energy Through Variable Current Flow rate Flux Torque Force Mass flow rate and heat flow Heat flow Mass flow rate and thermal flux Mass flow rate and heat flow rate Note Generally the product of each pair of Across and Through variables associated with a domain is power energy flow in watts The exceptions are pneumatic domain where the product of pressure and mass flow rate is not power magnetic domain where the product of mmf and flux is not power but energy and the two thermodynamic domains Basic Principles of Modeling Physical Networks thermal liquid and two phase fluid where products of both variable pairs are not power These result in a pseudo bond graph Building the Mathematical Model Through and Across variables associated with all the energy flows form the basis of the mathematical model of the block Py Pe For example the model of a double acting hydraulic cylinder shown in the previous illustration can be described with a simple set of equations Fz p Ay porAg q Ay v3 q2 Agrvs where q q2 Flow rates through ports A and B respectively Through variables P1Pe2 Gauge pressures at ports A and B respectively Across variables A Ao Piston effective areas F Rod force Through variable U3 Rod velocity Across variable 1 5 T Model Construction
286. ressions You can e Use relational operators which create zero crossing conditions For example programming the operator relation a lt b creates a zero crossing condition Use relational functions which do not create zero crossing conditions For example programming the functional relation 1t a b does not create a zero crossing condition How Simscape Simulation Works How Simscape Simulation Works In this section Simscape Simulation Phases on page 4 5 Model Validation on page 4 7 Network Construction on page 4 7 Equation Construction on page 4 8 Tnitial Conditions Computation on page 4 8 Transient Initialization on page 4 9 Transient Solve on page 4 10 Simscape Simulation Phases You might find this brief overview helpful for constructing models and understanding errors For more information see How Simscape Models Represent Physical Systems on page 4 2 Simscape software gives you multiple ways to simulate and analyze physical systems in the Simulink environment Running a physical model simulation is similar to simulating any Simulink model It entails setting various simulation options starting the simulation and viewing the simulation results This topic describes various aspects of simulation specific to Simscape models For specifics of simulating and analyzing with individual Simscape add on products refer to the documentation for those
287. ressions such as deg s and rad s This behavior is consistent with the Simscape implementation of angular units see Angular Units on page 11 15 It is your responsibility to verify that the unit expression you typed works correctly with the block equations and reflects your design intent Note Prior to Release R2013a the unit definition for Hz was rev s For information on how to update legacy models and custom Simscape libraries written in R2012b or earlier Units for Angular Velocity and Frequency see Compatibility Considerations under Unit definition of Hz now consistent with SI in the R2013a Release Notes 11 17 Add On Product License Management About the Simscape Editing Mode on page 12 2 Set the Model Loading Preference on page 12 9 Save a Model in Restricted Mode on page 12 11 e Work with a Model in Restricted Mode on page 12 14 Switch from Restricted to Full Mode on page 12 28 Editing Mode Information on page 12 30 12 Add On Product License Management About the Simscape Editing Mode 12 2 In this section Suggested Workflows on page 12 2 What You Can Do in Restricted Mode on page 12 3 What You Can Do in Full Mode on page 12 4 Switching Between Modes on page 12 4 Working with Block Libraries on page 12 7 Suggested Workflows The Simscape Editing Mode functionality is implemented for custo
288. rete states or purely discrete states use dlinmod Linearizing a model with the local solver enabled in the Solver Configuration block is not supported Linearizing with Default State and Input You can call Linmod without specifying state or input Enter linmod modelname at the command line With this form of Linmod Simulink linearization solves for consistent initial conditions in the same way it does on the first step of any simulation Any initial conditions such as initial offset from equilibrium for a spring are set as if the simulation were starting from the initial time linmod allows you to change the time of externally specified signals but not the internal system dynamics from the default For this and more details see the Linmod function reference page Linearizing with the Steady State Solver at an Initial Steady State You can linearize at an operating point found by the Simscape steady state solver 1 Open one or more Solver Configuration blocks in your model 2 Select the Start simulation from steady state check box for the physical networks that you want to linearize 3 Close the Solver Configuration dialog boxes and save the modified model 4 Enter linmod modelname at the command line linmod linearizes at the first step of simulation In this case the initial state is also an operating point a steady state For more about setting up the steady state solver see the Solver Configuration block re
289. rm blocks Rigid connections within a rigid component can include Rigid Transform blocks but not Weld Joint blocks Rigid Transform blocks provide rigid connections between blocks in the same rigid component Weld Joint blocks like all joint blocks provide connections between blocks in different rigid components This statistic excludes from the count any rigid component that rigidly connects to the World Frame block Number of joints total This statistic provides the total number of joints present in a mechanical system This number equals the sum of three types of joints explicit tree cut and implicit 6 DOF joints For more information see the statistic descriptions for these joints The kinematic graph provides a practical means to understand the topology of a model This graph is a connected undirected diagram in which each vertex corresponds to a rigid component and each edge corresponds to a joint The total number of joints equals the total number of edges present in this graph The kinematic tree is a spanning tree of the kinematic graph in which each closed loop is opened by cutting one of its edges If the kinematic graph contains no closed loops it is identical to the kinematic tree Number of explicit tree joints This statistic provides the number of joints in the kinematic tree of a mechanical system that correspond to explicit joint blocks Each tree joint corresponds to an edge in the kinematic tree The number
290. rom the top menu bar select Display gt Simscape gt Legend The Simscape Line Styles Legend window opens listing the line color assigned to each registered domain the domain name and the domain path If you click a domain path link the Simscape file for the corresponding domain opens in MATLAB Editor For more information on domain paths and files see Foundation Domains 1 43 T Model Construction 1 44 mscape Li yles Legen l Color Name Path B electrical Domain foundation electrical electrical QO Hydraulic Domain foundation hydraulic hydraulic HO Magnetic Domain foundation magnetic magnetic E Mechanical Rotational Domain _ foundation mechanical rotational rotational QE Mechanical Translational Domain foundation mechanical translational translational B Pneumatic 1 D Flow Domain foundation pneumatic pneumatic QQ Thermal Domain foundation thermal thermal IY Thermal Liquid Domain foundation thermal liquid thermal liquid B Two Phase Fluid Domain foundation two phase fluid two phase fluid ME Physical Signals E Three Phase Electrical Domain _pe electrical three_phase electrical B 3 0 Mechanical Frame B 3 0 Mechanical Geometry To turn off domain specific line styles for a particular model in the model window from the top menu bar select Display gt Simscape gt Domain Styles This action clears the check mark next to the Domain Styles menu option and the block diagram display changes to black conne
291. rs or if the non Simscape parts of your model have continuous states then you must use a continuous global solver If all physical networks in your model use local solvers and any non Simscape parts of your model have only discrete states then the global solver effectively sees only discrete states In that case MathWorks recommends a discrete fixed step global solver If you are attempting a fixed cost simulation with discrete states you must use a discrete fixed step global solver For Maximum Accuracy with Fixed Step Simulation If solution accuracy is your single overriding requirement use the global Simulink fixed step solver ode14x without local solvers This implicit solver is the best global fixed step choice for physical systems While it is more accurate than the Simscape local solvers for most models ode14x can be computationally more intensive and slower when you use it by itself than it is when you use it in combination with local solvers In this solver you must limit the number of global implicit iterations per time step Control these iterations with the Number Newton s iterations parameter in the Solver pane of the Configuration Parameters dialog box Simulating with Fixed Cost Many Simscape models need to iterate multiple times within one time step to find a solution If you want to fix the cost of simulation per time step you must limit the number of these iterations regardless of whether you are using a lo
292. rts but also thermal and mechanical conserving ports By using these ports you can interface a Thermal Liquid subsystem with thermal and mechanical subsystems For instance you can use the thermal conserving port of a Pipe TL block to model conductive heat transfer through a pipe wall Oil pipeline modeling is one application The example ssc_tl_0il_ pipeline shows this approach Similarly you can use the translational mechanical conserving ports of a Translational Mechanical Converter TL block to convert hydraulic pressure in a thermal liquid system into a mechanical actuation force Hydraulic actuator modeling is one application The example ssc_tl_hydraulic fluid warming shows this approach The table lists the Thermal Liquid blocks that have thermal or mechanical conserving ports You can use these blocks to create a multidomain model containing thermal liquid thermal and mechanical subsystems Thermal Liquid Library Thermal Liquid Block Thermal Conserving Port Mechanical Conserving Port Constant Volume Chamber J x TL Pipe TL x Rotational Mechanical Jv Jv Converter TL Translational Mechanical Jv Jv Converter TL Related Examples Heat Transfer in Insulated Oil Pipeline on page 2 14 More About Modeling Thermal Liquid Systems on page 2 2 Thermal Liquid Modeling Framework on page 2 10 2 9 2 Thermal Liquid Models Thermal Liquid Modeling Framework
293. s Essential Physical Modeling Techniques You can connect Physical Signal ports to other Physical Signal ports with regular connection lines similar to Simulink signal connections These connection lines carry physical signals between Simscape blocks You can connect Physical Signal ports to Simulink ports through special converter blocks Use the Simulink PS Converter block to connect Simulink outports to Physical Signal inports Use the PS Simulink Converter block to connect Physical Signal outports to Simulink inports Unlike Simulink signals which are essentially unitless Physical Signals can have units associated with them Simscape block dialogs let you specify the units along with the parameter values where appropriate Use the converter blocks to associate units with an input signal and to specify the desired output signal units For examples of applying these rules when creating an actual physical model see the tutorial Creating and Simulating a Simple Model on page 1 18 1 17 T Model Construction Creating and Simulating a Simple Model 1 18 In this section Building a Simscape Diagram on page 1 18 Modifying Initial Settings on page 1 26 Running the Simulation on page 1 28 Adjusting the Parameters on page 1 30 Building a Simscape Diagram In this example you are going to model a simple mechanical system and observe its behavior under various conditio
294. s on page 7 79 Reduce Numerical Stiffness on page 7 31 Reduce Zero Crossings on page 7 41 More About About Simulation Data Logging on page 9 2 Events and Zero Crossings on page 4 3 Improving Speed and Accuracy on page 7 10 Log and View Simulation Data for Selected Blocks on page 9 17 Model Preparation Objectives on page 7 2 Real Time Model Preparation Workflow on page 7 5 Real Time Simulation Workflow on page 7 57 Solvers for Real Time Simulation on page 7 63 Stiffness on page 4 3 Zero Crossing Detection Reduce Computation Costs Reduce Computation Costs In this section Data Logging and Monitoring Guidelines on page 7 25 Improve Data Logging and Monitoring Efficiency on page 7 25 Additional Methods for Reducing Computational Cost on page 7 29 Computational cost is a measure of the number and the complexity of tasks that a processor performs per time step during a simulation Lowering the computational cost of your model increases simulation execution speed and helps you to avoid overruns when you simulate in real time on target hardware Data Logging and Monitoring Guidelines Data logging and monitoring are interactive procedures that consume memory and processing power One way to reduce computational cost is to reduce the amount of interactive processing that occurs during simulation Best practices for limit
295. s Translational_Spring gt R gt v Q 00 m s Translational_Spring gt f Q 100 0 N Translational_Spring gt v Q 00 m s Translational_Spring gt x High 01 01 m Q All targets satisfied Variables atstart Y In flat view the rows for parent nodes are not shown and the table contains just one row per variable with the Name column including the complete path to the variable from the top level model For example the first row of the Variable Viewer table in flat view represents the same variable v velocity at port C of the Ideal Translational Motion Sensor block and the Name column includes the names of its parents and shows the path to the variable Flat view makes the Variable Viewer table more compact If the Variable Viewer is in flat view the buttons that expand and collapse nodes are disabled To switch back to the tree view click in the Variable Viewer toolbar Useful Filtering Techniques A downward pointing arrow next to a column name indicates that you can filter the table rows based on their value in this column To filter the rows click the arrow and then select or clear the check boxes in the drop down list to indicate which rows you want to be displayed based on their value Selecting All clears all the filters for that column To clear all filters for all columns click ke in the Variable Viewer toolbar 5 29 5 Variable Initialization and State Viewer 5 30 For example filtering on the Priority
296. s are more likely to require high initialization priority You can change the default order of columns by clicking a column heading and dragging it while holding down the mouse button to the desired location You can also hide columns by right clicking their headers and selecting Hide This Column from the context menu or clearing the check mark next to a column name Clicking EB or Ee in the Variable Viewer toolbar restores the default basic or advanced layout respectively Switching Between Tree View and Flat View You can control the number of rows in the Variable Viewer by switching between the tree view the default and the flat view By default the Variable Viewer opens in tree view with variable nodes grouped under the parent port block and subsystem nodes Therefore the Variable Viewer table contains the rows for the parent nodes ports blocks and subsystems in addition to the rows that correspond to all the public variables Only the rows that represent variables contain data such as targets and actual values All rows display a status with the status of a parent node being determined by the status of its children variables if all the children are green then the row for the parent node also displays a green circle in its Status column For example in the Variable Viewer table below the first row represents the Ideal Translational Motion Sensor block the second row port C of this block and only the thir
297. s is of interest in many engineering applications Liquids can store energy and release it back to their surroundings often doing work in the process Oil flow through an underground pipeline and hydraulic fluid flow in an aircraft actuator are two examples When temperature fluctuations are negligible liquids behave as isothermal fluids which simplifies the modeling process However when detailed thermal analysis is a goal or when temperature fluctuations are significant this assumption is no longer suitable The Thermal Liquid library provides a modeling tool that you can use to analyze the thermal behavior of thermal liquid systems Three featured examples show some applications well suited for Thermal Liquid modeling e ssc_tl_oil pipeline Model oil temperature along an insulated underground pipeline e ssc_tl_hydraulic_ fluid warming Model hydraulic fluid warming due to viscous dissipation inside a hydraulic actuator e ssc_tl_water_hammer Model the water hammer effect due to a fast turning hydraulic valve Representing Thermal Liquid Components Thermal liquid systems can range in complexity from basic to highly specialized To model a basic system simple components often suffice These are components such as chambers pipes pumps and the liquid medium itself Simple components are often Thermal Liquid Library industry independent and can be modeled using a single Thermal Liquid block For example you can m
298. s its inlet and port B its outlet Port W represents thermal conduction through the pipe wall The block accounts for viscous heating The Mass Flow Rate Source TL block provides the flow rate through the pipe The From upstream segment block acts as a temperature source for the pipe inlet while the To downstream segment block acts as a temperature sink at the pipe outlet The Conduction through insulant and Conduction through soil blocks represent thermal conduction through insulant and soil layers respectively These blocks appear in the Simscape Thermal library as Conductive Heat Transfer The Soil subsystem block provides the temperature boundary condition at the soil surface The Thermal Liquid Settings TL block provides the physical properties of the oil expressed as two sided lookup tables containing the temperature and pressure dependence of the properties The table summarizes these blocks Block Description Pipe TL Pipeline segment Conduction through insulant Insulant thermal conduction Conduction through soil Soil thermal conduction Soil Subsystem Soil temperature From upstream segment Pipe inlet temperature sink To downstream segment Pipe outlet temperature sink Mass Flow Rate Source TL Oil mass flow rate Thermal Liquid Settings TL Oil thermodynamic properties Run Simulation To analyze the performance of the oil pipeline segment simulate
299. sabled in Simulink warning zm Code Generation Simscape Data Logging SimMechanics 1G _ _ _ _ _ SimMechanics 2G Log simulation data None x z Log sim Open v ulation Workspace variable name simlog Decimation 1 Limit data points Data history last N steps 5000 4 m 9 ok Cancel Hep Apply 4 Save the model Note The Simscape entry does not appear in the left pane of the Configuration Parameters dialog box until you add at least one Physical Modeling block to your model If you create an additional configuration set for a model the Simscape entry does not appear in it until you either activate it or perform a Physical Modeling operation such as 12 11 12 Add On Product License Management 12 12 adding or deleting a Physical Modeling block or connection opening a Physical Modeling block dialog box and so on Once you have switched a model to Restricted mode working with it follows the rules described in Work with a Model in Restricted Mode on page 12 14 Note however that the add on product licenses for this model stay checked out until you quit the MATLAB session When you open a model that has been saved in Restricted mode the license manager opens it in Restricted mode and does not check out the add on product licenses Example of Saving a Model in Restricted Mode In this example you switch a model to Restricted mode and save it 1 Open the Simple Mech
300. sical signal units are inferred from the destination block Simscape block dialogs have drop down combo boxes of units next to a parameter value letting you either select a unit from the drop down list or type a unit name or a mathematical expression with unit names directly into the box These drop down lists are automatically populated by those units that are commensurate with the unit of the parameter based on the current list of unit definitions For example if a parameter is specified by default with the units of meters per second m s the drop down list of units contains commensurate units such as mm s in s fps feet per second fpm feet per minute and so on including any other linear velocity units currently defined in your unit registry To specify the units of an output physical signal type a unit name or a mathematical expression with unit names in the Output signal unit field of the PS Simulink Converter block dialog You can also select a unit from a drop down list which is prepopulated with some common output units The system compares the units you specified with the actual units of the input physical signal coming into the converter block and applies a gain equal to the conversion factor before outputting the Simulink signal The default value is 1 which means that the unit is not specified If you do not How to Work with Physical Units specify a unit or if the unit matches the actual units of the input
301. sing Statistics for selected node id w Pores oan e 02 0 04 0 06 0 08 01 012 014 016 018 02 Number of logged variables 1 Number of loggen zero crossing signale 0 Time s Source Inertia By default Simscape Results Explorer plots rotational velocity in rad s 9 28 Use Custom Units to Plot Simulation Data Es To switch to custom units click the Plot options icon and then in the Options dialog box change Units from Default to Custom and click OK The rotational velocity plot is redrawn in deg s File Edit View Inset Tools Desktop Window Help x CODLEA AEAEE Boded 4 w ssc_dcmotor 12 ndi DC Motor Friction Oy Inertia wi E 7 10 E J Rotational_Electromechanical_Converter Rotor_Inductance Rotor_Resistance i DC_Voltage 8 w ERef i Load_Torque i MRRef_Motor iA MRRef_Torque i Sensing 2 w deg s D Statistics for selected node id w Loue n iiin o 0 02 0 04 0 06 0 08 01 012 014 016 018 02 Number of logged variables 1 Number of logged zero crossing signals 0 Time s Source Inertia Tip Use the function pm_getunits to get the full list of available units 9 29 9 Data Logging Related Examples Log Navigate and Plot Simulation Data on page 9 21 Log and View Simulation Data for Selected Blocks on page 9 17 More About About Simulation Data Logging
302. sing event The areas in the red boxes contain variations in recovery time for the variable step solver To see different post zero crossing behaviors zoom to the region in the red box at time t 1 second h1 xStart 0 xEnd 10 yStart 0 yEnd 10e0 xZoomStart1 0 99 xZoomEnd1 1 06 yZoomStart1 10e 20 yZoomEnd1 10e 1 axis xZoomStart1 xZoomEnd1 yZoomStart1 yZoomEnd1 Determine Step Size Step Size s Solver Step Size Slow recovery Fast recovery 0 99 1 1 01 1 02 1 03 1 04 1 05 1 06 Time s Between 0 and 1 second the solver takes a step every 0 01 seconds The step size decreases to less than 10e 10 seconds to capture an event that occurs one second into the simulation The step size increases quickly to 10e 5 seconds and then increases slowly to the step size from before the event The slow rate of recovery indicates that the simulation is using small steps to capture the dynamics of elements in your model If the required step size limits the maximum fixed step size to a small enough value then an overrun might occur when you attempt simulation on your real time computer The types of elements that require small step size are Elements that cause discontinuities such as hard stops and stick slip friction 7 19 7 Real Time Simulation 7 20 Elements that have small time constants such as small masses with undamped stiff springs and hydraulic circuits with small com
303. sion based on any combination of the defined units of length and time such as meters second m s millimeters second mm s inches minute in min and so on Note Affine units such as Celsius or Fahrenheit are not allowed in unit expressions For more information see About Affine Units on page 11 11 The following operators are supported in the unit mathematical expressions Multiplication Division a Power Plus for exponents only Minus for exponents only Brackets to specify evaluation order Metric unit prefixes such as kilo milli or micro are not supported For example if you want to use milliliter as a unit of volume you have to add it to the unit registry pm_addunit ml 0 001 1 The drop down lists next to parameter names are automatically populated by those units that are commensurate with the unit of the parameter If you specify the units by typing it is your responsibility to enter units that are commensurate with the unit of the 11 9 11 Physical Units parameter The unit manager performs error checking when you click Apply or OK in the block dialog box and issues an error if you type an incorrect unit In the Simulink PS Converter and the PS Simulink Converter block dialog boxes the drop down lists are prepopulated with some common input and output units and it is your responsibility to select or type a unit expression commensura
304. sm degrees of freedom minimum This statistic provides a lower bound on the number of degrees of freedom in a mechanical system It equals the difference between the number of tree degrees of freedom and the number of non redundant position constraint equations The actual number of degrees of freedom can exceed this lower bound if SimMechanics fails to detect a position constraint equation Some position constraint equations become redundant only in certain configurations If an equation becomes redundant during simulation the actual number of degrees of freedom in a model can change However that number must still equal or exceed the lower bound that this statistic provides State vector size This statistic provides the number of scalar values in the state vector of a mechanical system Average kinematic loop length This statistic provides the average number of edges or equivalently vertices in the closed loops of a kinematic graph The average number is taken over all loops in the graph If the graph has no kinematic loops this number equals zero For more information about kinematic graphs and trees see the statistic description for Number of joints total 10 9 10 Model Statistics 1 D 3 D Interface Statistics 10 10 This node lists statistics related to the interface between all 1 D physical and 3 D multibody systems present in the model It appears only for models that connect blocks from SimMechanics S
305. so use the basic Simulink blocks in your diagrams such as sources or scopes See Connecting Simscape Diagrams to Simulink Sources and Scopes on page 1 9 for more information on how to do this Simscape block libraries contain a comprehensive selection of blocks that represent engineering components such as valves resistors springs and so on These prebuilt blocks however may not be sufficient to address your particular engineering needs When you need to extend the existing block libraries use the Simscape language to define customized components or even new physical domains as textual files Then convert your textual components into libraries of additional Simscape blocks that you can use in your model diagrams For more information on how to do this see Typical Simscape Language Tasks Using the Simulink Library Browser to Access the Block Libraries You can access the blocks through the Simulink Library Browser To display the Library Browser click the Simulink Library button in the toolbar of the MATLAB desktop Simscape Block Libraries Alternatively you can type Simulink in the MATLAB Command Window Then expand the Simscape entry in the contents tree ooo7c7crcVooeeoerer JE Simulink Library Browser a Enter search term A A Oo s Simscape Report Generator Robust Control Toolbox SimEvents SimRF 4 Foundation SimDriveline SimElectronics Foundation Library Library
306. straints on how you connect the pneumatic elements In effect every node should have a volume of fluid associated with it When the ideal gas law is applied this volume of fluid determines the relationship between temperature and pressure Some elements already have a volume of fluid associated with them and therefore having just one of these components connected to a node satisfies this Modeling Pneumatic Systems condition Such blocks include Constant Volume Pneumatic Chamber Pneumatic Piston Chamber Rotary Pneumatic Piston Chamber and Pneumatic Atmospheric Reference An exception to the above rule that every node must have a volume of fluid associated with it occurs when two nodes are connected by a component for which the heat equation says that the temperatures are equal In this case just one of the nodes needs to be connected to a component with associated volume of fluid Such components include the pressure and flow rate sources For models that represent an actual pneumatic network these constraints should have no impact For example connecting two orifices in series makes no physical sense because the underlying assumption of the orifice equation is that gas is discharged into a volume of fluid Therefore modeling actual physical systems should automatically satisfy these constraints References 1 Moran M J and Shapiro H N Fundamentals of Engineering Thermodynamics Second edition New York John Wiley amp Sons
307. t are more complicated The matrices A B C D are not constant and depend on the simulation time to as well as the operating point xo and uo 8 6 Linearization and Trimming Tip While you can linearize a closed system with no inputs or outputs and obtain a nonzero A matrix obtaining a nontrivial linearized input output model requires at least one input component in u and one output component in y Example A pilot is flying or simulating an aircraft in level constant velocity and constant altitude flight relative to the ground A crucial question for the aircraft pilot and designers is will the aircraft return to the steady state if perturbed from it by a disturbance such as a wind gust in other words is this steady state stable If the operating point is unstable the aircraft trajectory can diverge from the steady state requiring human or automatic intervention to maintain steady flight Choosing a Good Operating Point for Linearization Although steady state and other operating points state x and inputs uo might exist for your model that is no guarantee that such operating points are suitable for linearization The critical question is how good is the linearized approximation compared to the exact system dynamics When perturbed slightly a problematic operating point might exhibit strong asymmetries with strongly nonlinear behavior when perturbed in one direction and smoother behavior in another Small
308. t components processes and states Determine what is essential and what is not Start simple using a rough approximation of the physical system as a guide Then iteratively add detail to reach the appropriate model fidelity for your application An insulated oil pipeline buried underground provides an example As oil flows through the pipeline it experiences conductive heat losses due to the cooler pipeline surroundings Heat flows across three material layers pipe wall insulant and soil causing oil temperature to drop However only conduction across soil and insulant layers matter A typical pipe wall is thin and conductive and its effect on conductive heat loss is minimal at best Omitting this process simplifies the model and speeds up simulation You also must determine the dimensions and properties of each component During modeling you specify these parameters in the Simscape blocks for the components Obtain the physical properties of the liquid medium Manufacturer data sheets typically provide this data You can also use analytical expressions to define the physical property lookup tables When modeling pipes consider the impact that dynamic compressibility and flow inertia have on the transient system behavior If the time scale of an effect exceeds the simulation run time the impact is usually negligible During modeling turn off 2 Thermal Liquid Models negligible effects to improve simulation speed Characteristi
309. t decrease the likelihood of generating an overrun For an example that shows how to discretize the controller for the hydraulic actuator see Hydraulic Actuator Configured for HIL Testing To determine the maximum step size to use for achieving accurate real time simulation results you simulate with a global variable step solver To configure the modified model for variable step simulation using the global solver disable the local solver configuration In the Hydraulic Actuator subsystem in the Solver Configuration block dialog box clear the Use local solver check box Simulate the model Extract the data for pressure and time from the logged Simscape node simlogO simlog_ssc_hydraulic_actuator_HIL pNodeSimO simlogO Hydraulic_Actuator Hydraulic_Cylinder Chamber_A A p pSimO pNodeSimO series values Pa tSimO pNodeSimO series time Plot the step size to the figure that contains the step size data for the original model figure h1 hold on semilogy tSim0 1 end 1 diff tSimO x Color r LineWidth 1 MarkerSize 5 title Solver Step Size xlabel Time s 7 83 7 Real Time Simulation ylabel Step Size s hiLegend1 legend Reference Modified Location southoutside Solver Step Size 10 S 3 Step Size s 10 20 Time s Reference Modified The discretized controller makes the modified model less stiff than the
310. t generates the frequency response click the next hyperlink in that annotation see code This documentation provides background information and alternative ways of linearization based on the software you have In general to obtain a nontrivial linearized input output model and generate a frequency response you must specify model level inputs and outputs The Hydraulic Actuator with Digital Position Controller model meets this requirement in two ways depending on how you linearize Simulink requires top or model level input and output ports for linearization with linmod The model has such ports marked In1 and Out1 Linearize a Plant Model for Use in Feedback Control Design Simulink Control Design software requires that you specify input and output signal lines with linearization points The specified lines must be Simulink signal lines not Simscape physical connection lines The model has such linearization points specified For more information on using Simulink Control Design software for trimming and linearization see documentation for that product Open the Load Position scope and simulate the model in a normal closed loop controller configuration a 4 Load Position o a File Tools View Simulation Help 40r gt Q H Ready T 10 000 You can see that the model has a quasi linear steady state response between 2 and 3 seconds when the two way valve is open Therefore the stat
311. t processors is not supported Block diagnostics in error messages are not supported This means that if you get an error message from simulating generated code it does not contain a list of blocks involved Conversion of models or subsystems containing Simscape blocks to S functions is not supported Code Generation describes Simscape code generation features Restricted Simulink Tools on page 4 33 describes limitations on model referencing There are variations and exceptions as well in the code generation features of the add on products based on Simscape platform For details see documentation for individual add on products Code Generation and Fixed Step Solvers Most code generation options for Simscape models require the use of fixed step Simulink solvers This table summarizes the available solver choices depending on how you generate code Code Generation Option Solver Choices Accelerator mode Variable step or fixed step Rapid Accelerator mode Simulink Coder software RSim Target Variable step or fixed step Simulink Coder software Targets other than Fixed step only RSim For the RSim Target Simscape software supports only the Simulink solver module In the model Configuration Parameters dialog box see the Code Generation RSim Target Solver selection menu The default is automatic selection which might fail to choose the Simulink solver module 4 36 References
312. tains the data points corresponding to the last N steps of the simulation where N is the value that you specify for the Data history last N steps parameter You have to select the Limit data points check box to make this parameter available The default value logs simulation data for the last 5000 steps You can specify any other positive integer number If the simulation contains fewer steps than the number specified the simulation log variable contains the data points for the whole simulation Data Logging Options Saving data to the workspace can slow down the simulation and consume memory To avoid this you can use either the Decimation parameter or Limit data points in conjunction with Data history last N steps or both methods to limit the number of data points saved The two methods work independently from each other and can be used separately or together For example if you specify a decimation factor of 2 and keep the default value of 5000 for the Data history last N steps parameter your workspace variable will contain downsampled data from the last 10 000 time steps in the simulation Note The Output options parameter on the Data Import Export pane of the Configuration Parameters dialog box also affects which data points are logged For more information see Data Import Export Pane in the Simulink documentation After changing your data logging preferences rerun the simulation to generate a new data log
313. te at a port is computed from the momentum conservation principle The heat flow rate at a port is computed from the thermal energy conservation principle 2 11 2 Thermal Liquid Models 2 12 The flow rate computations are carried out for half the control volume of a thermal liquid component The half control volume is bounded on one end by the interface the port represents and on another end by a parallel surface passing through the control volume centroid The figure shows the half control volume for flow rate computations at interface A of a pipeline segment Interface A corresponds to Thermal Liquid conserving port A of a Pipe TL block Node C corresponds to the internal node of the block which is coincident with the control volume centroid gt j n D A Control Volume Interface c Control Volume Centroid Half Control Volume for Flow Rate Calculations Full Flux Scheme Blocks in the Thermal Liquid library implement a full flux scheme Using this scheme the net heat flux through a Thermal Liquid conserving port contains both convective and conductive flux contributions By including thermal conduction in the flow direction Thermal Liquid blocks provide more realistic simulation of the physical system they represent Other advantages of the full flux scheme include enhanced simulation robustness of thermal liquid models This robustness becomes relevant in models where the conductive flux contr
314. te with the expected input or output units The error checking for the converter blocks is performed at the time of simulation See Model Validation on page 4 7 for details 11 10 Thermal Unit Conversions Thermal Unit Conversions In this section About Affine Units on page 11 11 When to Apply Affine Conversion on page 11 11 How to Apply Affine Conversion on page 11 12 About Affine Units Thermal units often require an affine conversion that is a conversion that performs both multiplication and addition To convert from the old value Tya to the new value T we need a linear conversion coefficient L and an offset O Trew L Toia O For example to convert a temperature reading from degrees Celsius into degrees Fahrenheit the linear term equals 9 5 and the offset equals 32 T Fahr 9 5 T celts 82 Simscape unit manager defines kelvin K as the fundamental temperature unit This makes Celsius C and Fahrenheit Fh affine units because they are both related to kelvin with an affine conversion Rankine R is defined in terms of kelvin with a zero linear offset and therefore is not an affine unit The following are the default Simscape unit registry definitions for temperature units pm_adddimension temperature K defines kelvin as fundamental temperature unit pm_addunit C 1 273 15 K defines Celsius in terms of kelvin pm_addunit Fh 5 9 32 5 9 C
315. ted High Ifa variable has high priority the beginning value becomes a target for the algorithm and the algorithm tries to meet the target exactly The solver tries to find a solution where the actual initial values of all high priority variables exactly satisfy their target values The default initialization priority beginning value and unit for each of the block variables come from the underlying Simscape component file For each individual block in your model you can override these default settings by opening the Variables tab of the block dialog box selecting the Override check box next to a variable name and specifying your own values for that variable When you specify too many high priority targets for system variables it is possible to over specify your model In this case the solver might not be able to find a solution that exactly satisfies all the high priority targets or even fail to find a solution altogether For an example of how you can deal with over specification by using the Variable Viewer and changing the variable priority and targets see Initialize Variables for a Mass Spring Damper System on page 5 7 5 Variable Initialization and State Viewer 5 4 For detailed information on how to specify variable priority and targets in block dialog boxes see Set Priority and Initial Target for Block Variables on page 5 5 Suggested Workflow 1 Using the Variables tab of the respective block dialog b
316. ted Blocks on page 9 17 Log Navigate and Plot Simulation Data on page 9 21 About the Simscape Results Explorer on page 9 26 e Use Custom Units to Plot Simulation Data on page 9 27 e View Sparkline Plots of Simulation Data on page 9 31 9 Data Logging About Simulation Data Logging In this section Suggested Workflows on page 9 2 Limitations on page 9 3 Suggested Workflows You can log simulation data to the workspace for debugging and verification Data logging lets you analyze how internal block variables change with time during simulation For example you might want to see that the pressure in a hydraulic cylinder is above some minimum value or compare it against the pump pressure If you log simulation data to the workspace you can later query plot and analyze it without rerunning the simulation Simulation data logging can also replace connecting sensors and scopes to track simulation data These blocks increase model complexity and slow down simulation Log and Plot Simulation Data on page 9 8 shows how you can log and plot simulation data instead of adding sensors to your model It also shows how you can print the complete logging tree for a model and plot simulation results for a selected variable You can log data either for the whole model or on a block by block basis In the second case the workspace variable will contain simulation data for selected bl
317. ted Mode Mode 4 Switch to Full Mode Y All VP Licenses x a No N Available A No Yes Save Model saved in Full Mode A Load Model File New Model Full Mode Yes Save New models are always created in Full mode You can then either save the model in Full mode or switch to Restricted mode and save the model in Restricted mode 12 5 12 Add On Product License Management 12 6 When you load an existing model the license manager checks whether it has been saved in Full or Restricted mode Ifthe model has been saved in Restricted mode it opens in Restricted mode Ifthe model has been saved in Full mode the license manager checks whether all the add on product licenses for this model are available and if so opens it in Full mode If a add on product license is not available the license manager issues an error message and opens the model in Restricted mode See also Example with Multiple Add On Products on page 12 6 Note You can set a Simulink preference to specify that the models are always to open in Restricted mode regardless of the way they have been saved When a model is open you can transition it between Full and Restricted modes at any time in either direction When you try to switch from Restricted to Full mode the license manager checks whether all the add on product licenses for this model are available If a add on product license is not available the license manager issues
318. tic An equally important consideration for Simscape models is the standalone implementation of generated and compiled code Once you convert part or all of your model to code you can deploy the standalone executable program on virtually any platform independently of MATLAB Converting a model or subsystem to code also hides the original model or subsystem 8 Code Generation Using Code Related Products and Features With Simulink Simulink Coder and Simulink Real Time software using several code related technologies you can link existing code to your models and generate code versions of your models Code Related Task Component or Feature Link existing code written in C or Simulink S functions to generate customized other supported languages to Simulink blocks models Speed up Simulink simulations Accelerator mode Rapid Accelerator mode Generate standalone fixed step code Simulink Coder software from Simulink models Generate variable step code from Simulink Coder Rapid Simulation Target Simulink models well suited for batch RSim or Monte Carlo simulations Convert Simulink model to code and Simulink Coder and Simulink Real Time compile and run it on a target PC software 8 4 How Simscape Code Generation Differs from Simulink How Simscape Code Generation Differs from Simulink In this section Simscape and Simulink Code Generated Separately on page 8 5 Compiler and
319. timeRef x LineWidth 1 MarkerSize 7 hold on semilogy tout 1 end 1 diff tout x Color r LineWidth 1 MarkerSize 5 title Solver Step Size xlabel Time s ylabel Step Size s hiLeg legend Reference Modified Location best Reduce Numerical Stiffness Step Size s 10 10 10 10 10 15 10 29 10 25 Solver Step Size ETa Taaa Time s The step size recovers more quickly from events that occur at simulation time 4 5 8 and 9 seconds The simulation is less stiff at these times Extract the speed and time data from the logging nodes for the original and modified models speedRefNode simlogRef Measurements Ideal_Rotational_Motion_Sensor R w speedRef speedRefNode series values rpm timeRef speedRefNode series time speedModNode simlog Measurements Ideal_ Rotational _Motion_Sensor R w speedMod speedModNode series values rpm timeMod speedModNode series time 7 37 7 Real Time Simulation 7 38 Speed rpms z 2000 3000 Plot and compare the results for the speed data for both simulations to make sure that the modified model is accurate h3 figure plot timeRef speedRef h3 hold on plot timeMod speedMod r title Speed Xlabel Time s ylabel Speed rpms h3Leg legend Reference Modified Location best Speed Reference Modified
320. tion you need to simulate with an execution time that is not only bounded but practically fixed to a predictable value Fixing execution time can also improve performance when simulating frequent events The real time cost of a variable step simulation is potentially unlimited The solver can take an indefinite amount of real time to solve a system over a finite simulated time because the number and size of the time steps are adapted to the system You can configure a fixed step solver to take a bounded amount of real time to complete a simulation although the exact amount of real time might still be difficult to predict before simulation Even a fixed step solver can take multiple iterations to find a solution at each time step Such iterations are variable and not generally limited in number the solver iterates as much as it needs to Fixing execution time implies fixed cost simulation which both fixes the time step and limits the number of per step iterations Fixed cost simulation prevents execution overruns when the execution time is longer than the simulation sample time A bounded execution time without a known fixed cost might still cause some steps to overrun the sample time The actual amount of computational effort required by a solver is based on a number of other factors as well including model complexity and computer processor For more information see Real Time Simulation Global and Local Solvers You can use diff
321. tion and State Viewer a ohet G A a Related Examples Set Priority and Initial Target for Block Variables on page 5 5 More About About Variable Initialization on page 5 2 7 Variable Viewer on page 5 23 5 22 Variable Viewer Variable Viewer In this section About Variable Viewer on page 5 23 Advanced Configuration on page 5 25 Switching Between Tree View and Flat View on page 5 27 Useful Filtering Techniques on page 5 29 Link to Block Diagram on page 5 30 Interaction with Model Updates and Simulation on page 5 31 About Variable Viewer Prior to simulating the model you can use the Variable Viewer to check the results of the initial conditions computation for the model and to see which of the block level variable initialization targets have been satisfied The Variable Viewer displays the variable priority and target values where specified along with the actual initial values for all the variables obtained as a result of the solve To open the Variable Viewer in the top menu bar of the model window select Analysis gt Simscape gt Variable Viewer E Variable Viewer ssc_demotor 5 EoR Options View SEEK M3 Qr Type here to filter variables by name Name Status x Priority ng Target Start Unit hi DC_Motor Q Friction Q ac Q w Q 00 rad s GR Q w Q 00 rad s t Qo 0 0 Ntm w Q 0 0 rad s 3 Inertia Qo 61 Q w Q
322. to a Simscape diagram you have to use an appropriate converter block to convert Simulink signals into physical signals and vice versa Open the Simscape gt Utilities library and copy a Simulink PS Converter block and two PS Simulink Converter blocks into the model Connect the blocks as shown below 1 24 Creating and Simulating a Simple Model File Edit View Display Diagram Simulation Analysis Code Tools Help TRA e 4I o m i untitled v a Mechanical Simulink PS ice Converter Ideal Force Source Ideal Translational Motion Sensor Translational Spring C Translational Damper Reference y HB Ready 100 ode45 11 Each topologically distinct physical network in a diagram requires exactly one Solver Configuration block found in the Simscape gt Utilities library Copy this block into your model and connect it to the circuit by creating a branching point and connecting it to the only port of the Solver Configuration block Your diagram now should look like this 1 25 T Model Construction 1 26 File Edit View Display Diagram Simulation Analysis Code Tools Help A A Ae E74 A o 7y untitled v Mechanical EJ Tareletoral Reference z Simulink PS ice Converter E Ideal Force Source Ideal Translational Motion Sensor Translational Spring C Transistional Damper Solver Configuration Tra
323. truction 1 40 Solver Configuration Rotor Resistance R Avoiding Numerical Simulation Issues Certain configurations of physical modeling blocks can cause numerical difficulties or slow down your simulation When this happens Simscape solver issues a warning in the MATLAB workspace and if it fails to initialize a Simscape error In electrical circuits common examples that can cause this behavior include voltage sources connected in parallel with capacitors inductors connected in series with current sources voltage sources connected in parallel and current sources connected in series Often the cause of the numerical difficulty is immediately apparent For example two voltage sources in parallel must have identical voltage values otherwise the ports connecting them would not be physical conserving ports In practical circuits topologies such as parallel voltage sources are possible and small difference in their instantaneous voltages is possible due to parasitic series resistance Note Mathematically these topologies result in Index 2 differential algebraic equations DAEs Their solution requires two differentiations of the constraint equations and as such it is numerically better to avoid these component topologies where possible Modeling Best Practices There are two approaches to resolving these difficulties The first is to change the circuit to an equivalent simpler one In the example of two p
324. ttings Is Long Execution Decrease Number of Iterations Time Likely to Cause and or an Overrun Increase Step Size Retum to the Real Time Model Preparation Workflow Model Is Real Time Viable 7 103 7 Real Time Simulation 7 104 Before performing the hardware in the loop HIL simulation workflow 1 Prepare and configure your model for real time simulation For information see Real Time Model Preparation Workflow on page 7 5 and Real Time Simulation Workflow on page 7 57 2 Set up and configure the software I O interfaces and connectivity for your development computer target computer and I O board For information see Simulink Real Time Setup and Configuration 3 Ifyou are performing HIL simulation to test your controller Configure your controller Connect your controller to the real time computer Perform Hardware in the Loop Simulation Generate Download and Execute Code Use Simulink Real Time to Generate and compile code on the development computer e Download the real time application to the target computer Execute the real time application remotely from the development computer For information see Generate Download and Execute Code on page 7 108 Evaluate Accuracy Compare the results from the simulation on the target computer to your reference results Are the reference and modified model results the same If not are they similar enough that the empiric
325. ty and the Position scope outputs the mass displacement as a function of time Double click both scopes to open them To run the simulation click Cc in the model window toolbar The Simscape solver evaluates the model calculates the initial conditions and runs the simulation For a Creating and Simulating a Simple Model detailed description of this process see How Simscape Simulation Works on page 4 5 Completion of this step may take a few seconds The message in the bottom left corner of the model window provides the status update Once the simulation starts running the Velocity and Position scope windows display the simulation results as shown in the next illustration E velocity BS AAR ASKAK x E Position oe es BS QAR i SSsiFas x 4 x10 1 29 T Model Construction 1 30 In the beginning the mass is at rest Then at 4 seconds as the input signal changes abruptly the mass velocity spikes in the positive direction and gradually returns to zero The mass position at the same time changes more gradually on account of inertia and damping and stays at the new value as long as the force is acting upon it At 6 seconds when the input signal changes back to zero the velocity gets a mirror spike and the mass gradually returns to its initial position You can now adjust various inputs and block parameters and see their effect on the mass velocity and displacement Adjusting the Para
326. ulic_actuator_HIL tSim1 toc time1 max tSim1 Extract the data for pressure and simulation time from the logged Simscape node simlogi simlog_ssc_hydraulic_actuator_HIL pNodeSim1 simlogi Hydraulic_Actuator Hydraulic_Cylinder Chamber_A A p pSimi pNodeSim1 series values Pa tSimi pNodeSim1 series time Plot the simulation results to the figure that contains the reference results Write the elapsed time to the figure legend figure h2 hold on plot tSim1 pSim1 g delete h2Legend1 configSimiL Local Ts num2str ts s N num2str N configSimiG Global Ts num2str tsG s timeSimiT Time num2str time1 cfgSim1 configSim1L configSimiG timeSimiT h2Legend2 legend Reference num2str cfgSim1 Location southoutside Choose Step Size and Number of Iterations Pressure Pa are 40 Cylinder Pressure 2 5 1 5 0 5 10 Reference Local Ts 0 01s N 3 Global Ts 0 01s Time 1 7 The elapsed time varies because it depends on the immediate computational capacity of the computer that runs the simulation The elapsed times in the legend are from simulation on a 3 6 GHz Intel CPU with a 16 GB memory Your legend contains the elapsed time for the simulation on your computer The simulation took less time to complete than the specified simulation time 10 s so it runs faster than real time on the development computer The ela
327. umber of consecutive min steps 1 Solver Jacobian method auto Zs Zero crossing options Zero crossing control use local settings 7 Algorithm Nonadaptive 7 Time tolerance 10 128 eps Signal threshold auto Number of consecutive zero crossings 1000 Tasking and sample time options r Tasking mode for periodic sample times Auto E Automatically handle rate transition for data transfer E Higher priority value indicates higher task priority OK Cancel Help Apply Click OK to close the Configuration Parameters dialog box 2 Save the model 1 27 T Model Construction 1 28 Running the Simulation After you ve put together a block diagram and specified the initial settings for your model you can run the simulation 1 The input signal for the force is provided by the Signal Builder block The signal profile is shown in the illustration below It starts with a value of 0 then at 4 seconds there is a step change to 1 and then it changes back to 0 at 6 seconds This is the default profile Bl Signal Builder mech_simple Signal Builder Sec File Edit Group Signal Axes Help x sa st mO l_ ool Fei gt ou a A Active Group Group 1 X Q Signal 1 0 1 2 3 4 5 6 T 8 9 10 Time sec Left n Right Point a Name Signal 1 T Index 1 X Y Y Click to select Shift click to add Signal 1 1 YMin YMax The Velocity scope outputs the mass veloci
328. unction customUnits ssc_customlogunits customUnits deg s deg end Include only the units you want to customize For everything else Simscape Results Explorer will use the default units 2 Open the Permanent Magnet DC Motor example model by typing ssc_dcmotor in the MATLAB Command Window This example model has data logging enabled for the whole model with the Workspace variable name parameter set to simlog_ssc_dcmotor gt Py ssc_demotor Simulink Cea File Edit View Display Diagram Simulation Analysis Code Tools Help pe m iii a a a YO b W gt O y ssc_dcmotor r a Load Torque Step Input gt DC ep Inpu E Voltage a Configuration a Permanent Magnet DC Motor 1 Plot current and load torque see code LH 2 Explore simulation results using sscexplore Z 3 Learn more about this example Ready 100 odel5s 9 27 9 Data Logging 3 Simulate the model to log the simulation data 4 Open the Simscape Results Explorer window and plot the rotational velocity of the Inertia block sscexplore simlog_ssc_dcmotor DC Motor Inertia w File Edit View Insert Tools Desktop Window Help O4Ga8 880084 8 08 a0 BACA ssc_dcmotor amp i DC_Motor Friction E Inertia wl i am t thd Rotational_Electromechanical_Converter Rotor_Inductance Rotor_Resistance DC_Voltage ERef Load_Torque MRRef_Motor MRRef_Torque Sen
329. ur system simulate it verify that it works Troubleshooting Simulation Errors the way you expected Then incrementally make your model more realistic factoring in effects such as friction loss motor shaft compliance hard stops and the other things that describe real world phenomena Simulate and test your model at every incremental step Use subsystems to capture the model hierarchy and simulate and test your subsystems separately before testing the whole model configuration This approach helps you keep your models well organized and makes it easier to troubleshoot them System Configuration Errors e Missing Solver Configuration Block on page 4 27 Extra Fluid Block or Gas Properties Block on page 4 27 Missing Reference Block on page 4 28 e Basic Errors in Physical System Representation on page 4 28 Missing Solver Configuration Block Each topologically distinct Simscape block diagram requires exactly one Solver Configuration block to be connected to it The Solver Configuration block specifies the global environment information and provides parameters for the solver that your model needs before you can begin simulation If you get an error message about a missing Solver Configuration block open the Simscape Utilities library and add the Solver Configuration block anywhere on the circuit Extra Fluid Block or Gas Properties Block If your model contains hydraulic elements each topologically distinct
330. uracy if you find that the simulation results do not match the reference results use these approaches to improve model accuracy Simulink best practices for modeling dynamic systems Simscape essential modeling techniques Obtain Results with a Variable Step Solver Using a Simulink global variable step solver obtain results for the modified version of your model The step size plot also helps you to 7 Real Time Simulation Estimate the maximum step size to use for the fixed step solver to achieve accurate results during real time simulation Identify the exact times when discontinuities or fast dynamics slow down the simulation Evaluate Model Accuracy Compare the results from simulating on the target computer to your reference results Are the reference and modified model results the same If not are they similar enough that the empirical or theoretical data also supports the results from the simulation of the modified model Is the modified model representing the phenomena that you want it to measure Is it representing those phenomena correctly If you plan on using your model to test your controller design is the model accurate enough to produce results that you can rely on for system qualification The answers to these questions help you to decide if your real time results are accurate enough Perform Real Time Simulation Workflow When variable simulation results indicate that your model has the speed and accurac
331. using Simscape data logging but not sensor blocks For an overview of Simscape data logging see About Simulation Data Logging on page 9 2 For an example of how to plot logged data see Log and Plot Simulation Data on page 9 8 Run Simulation The final step in the modeling workflow is to simulate the model Before running simulation check that the numerical solver is appropriate for your model To do this use the Model Configuration Parameters dialog box For physical models variable step solvers such as 0de15s typically perform best Reduce step sizes and tolerances for greater simulation accuracy Increase them instead for faster simulation Run the simulation Plot simulation data from sensors and Simscape data logging or process it for further analysis If necessary refine the model For example correct simulation issues or to improve model fidelity Related Examples i Heat Transfer in Insulated Oil Pipeline on page 2 14 More About Thermal Liquid Library on page 2 6 Thermal Liquid Modeling Framework on page 2 10 2 5 2 Thermal Liquid Models Thermal Liquid Library 2 6 In this section Why Use Thermal Liquid Blocks on page 2 6 Representing Thermal Liquid Components on page 2 6 Specifying Thermal Liquid Medium on page 2 8 Modeling Multidomain Systems on page 2 8 Why Use Thermal Liquid Blocks The thermal behavior of liquid system
332. using a faster real time target computer Simulating Parts of the System in Parallel Another approach for increasing speed while maintaining accuracy is to configure your model to evaluate multiple physical networks in parallel You can partition your model if 7 13 7 Real Time Simulation the networks are not dependent upon one another Work with and experiment with your model the generated code and the real time target to use this approach Related Examples Determine Step Size on page 7 15 Estimate Computation Costs on page 7 76 Reduce Computation Costs on page 7 25 Reduce Numerical Stiffness on page 7 31 Reduce Zero Crossings on page 7 41 More About Model Preparation Objectives on page 7 2 Real Time Model Preparation Workflow on page 7 5 Solvers for Real Time Simulation on page 7 63 Determine Step Size Determine Step Size For the first step in Real Time Model Preparation Workflow on page 7 5 you obtain results from a variable step simulation of the reference version of your Simscape model The reference results provide a baseline against which you can assess the accuracy of your model as you modify it This example shows how to analyze the reference results and the step size that the variable step solver takes to Estimate the maximum step size that you can use for a fixed step simulation Identify events that have the potential to limit th
333. ust the fidelity or scope of your model and then step through the other processes and decisions in the real time model preparation workflow Iterate on adjusting simulating and analyzing your model until it is fast and accurate enough for you to attempt the real time simulation workflow again For information see Real Time Model Preparation Workflow on page 7 5 Evaluate Overrun Risk In terms of speed the only method for definitively determining that your model is real time capable is to test for overruns during simulation on your target hardware You can however use fixed step fixed cost simulation to estimate the likelihood that your solver executes quickly enough for real time simulation For information on estimating simulation time see Estimate Computation Costs on page 7 76 Improve Simulation Speed by Adjusting Solver Settings If your computational cost estimate indicates that your model executes too slowly to avoid an overrun on a real time target try to increase simulation speed by adjusting solver configurations Decreasing the number of iterations or increasing the step size can improve accuracy For an implicit global solver ode14x decrease the number of Newton s iterations For either a Backward Euler or Trapezoidal Rule local solver decrease the number of nonlinear iterations For the global solver and for any local solvers increase the step size Configure the step size for each local solver as a
334. variable is divided is determined by the system dynamics For each Through variable the sum of all its values flowing into a branch point equals the sum of all its values flowing out Basic Principles of Modeling Physical Networks Each type of physical conserving ports used in Simscape blocks uniquely represents a physical modeling domain For a list of port types along with the Through and Across variables associated with each type see the table in Variable Types on page 1 4 For improved readability of block diagrams each Simscape domain uses a distinct default color and line style for the connection lines For more information see Domain Specific Line Styles on page 1 43 Physical Signal Ports Physical signal ports P carry signals between Simscape blocks You connect them with regular connection lines similar to Simulink signal connections Physical signal ports are used in Simscape block diagrams instead of Simulink input and output ports to increase computation speed and avoid issues with algebraic loops Unlike Simulink signals which are essentially unitless physical signals can have units associated with them You specify the units along with the parameter values in the block dialogs and Simscape software performs the necessary unit conversion operations when solving a physical network Simscape Foundation library contains among other sublibraries a Physical Signals block library These blocks perform math op
335. ve model building process For example after you make a change to the model you can view model statistics to answer the following questions Did the change increase the number of variables Does the model have redundant constraints or have I resolved them How many potential zero crossing signals does the model have Is the circuit high index and therefore hard to solve Did my change have any effect on the index The Statistics Viewer analysis tool is available for models containing Simscape blocks and blocks from add on products Depending on the types of blocks in the model the analysis can produce any or all of the following statistics categories 1 D Physical System This node represents aggregate statistics generated from all physical networks that are associated with blocks from Simscape SimDriveline SimHydraulics SimElectronics and SimPowerSystems Simscape Components libraries 3 D Multibody System This node represents aggregate statistics generated from all physical networks that are associated with blocks from SimMechanics Second Generation library 1 D 3 D Interface This node lists the connections between the two types of physical networks It appears only for models that connect blocks from SimMechanics Second Generation library to Simscape blocks or blocks from other add on products Simscape Model Statistics Each statistic is generated separately from each topologically disti
336. ver Step Size Xlabel Time s ylabel Step Size s 7 80 Choose Step Size and Number of Iterations Step Size s LA on S 8 h S N on Solver Step Size Time s The maximum step size 7 s qx for obtaining accurate real time results for the original model is approximately le 2 seconds For information on determining TS mav see Determine Step Size on page 7 15 Plot the simulation results h2 figure plot tRef pRef b h2Legend1 legend Reference Location southoutside title Cylinder Pressure xXlabel Time s ylabel Pressure Pa 7 81 7 Real Time Simulation 7 82 Pressure Pa 108 Cylinder Pressure 2 5 1 5 0 5 0 1 2 3 4 5 6 7 8 9 10 Time s Determine Maximum Step Size for Accurate Results In a modified version of the hydraulic actuator model you can change the value of TS max the maximum step size for achieving accurate real time simulation results 1 Open the modified hydraulic actuator model ssc_hydraulic_actuator_HIL Choose Step Size and Number of Iterations Delay Hy draulic Controller Actuator ZOHy Position This version of the hydraulic actuator contains a discretized partitioned controller The local solver for the hydraulic actuator subsystem is enabled for fixed step fixed cost simulation The step size is parameterized ts so that you can make solver adjustments tha
337. version of your model and to bound or fix simulation cost A typical application is real time simulation For more information see Real Time Simulation With a fixed step solver you specify the time step size to control the accuracy and speed of your simulation Fixed step solvers do not adapt to improve accuracy or to locate events These limitations can lead to significant simulation inaccuracies 4 17 4 Model Simulation 4 18 Explicit and Implicit Solvers The degree of stiffness and the presence of algebraic constraints in your model influence the choice between an explicit or implicit solver Explicit and implicit solvers use different numerical methods to simulate a system If the system is a nonstiff ODE system choose an explicit solver Explicit solvers require less computational effort than implicit solvers if other simulation characteristics are fixed To find a solution for each time step an explicit solver uses a formula based on the local gradient of the ODE system If the system is stiff use an implicit solver Though an explicit solver may require less computational effort for stiff problems an implicit solver is more accurate and often essential to obtain a solution Implicit solvers require per step iterations within the simulated time steps With some implicit solvers you can limit or fix these iterations An implicit solver starts with the solution at the current step and iteratively solves for th
338. wer source to the thermal liquid system e g pressure difference or mass flow rate Mass Flow Rate Source TL Pressure Source TL Controlled Mass Flow Rate Source TL Controlled Pressure Source TL Sensors Collect measurement data for analysis of parameters Pressure amp Temperature Sensor TL Mass Flow 2 7 2 Thermal Liquid Models Component Type Description Thermal Liquid Blocks such as mass flow rate Rate amp Thermal Flux thermal flux pressure and Sensor TL temperature Thermal liquid Specify thermodynamic Thermal Liquid properties and pressure Settings TL temperature validity region of thermal liquid medium Specifying Thermal Liquid Medium The Thermal Liquid Settings TL block specifies the thermodynamic properties of the liquid medium These properties are assumed functions of both pressure and temperature This assumption boosts model fidelity especially in models in which pressure temperature or both vary widely The block accepts two way lookup tables as input These tables provide the different thermodynamic property values at discrete pressures and temperatures You can populate these tables using empirical data from product data sheets or values calculated from analytical expressions Modeling Multidomain Systems Thermal Liquid blocks can contain different types of conserving ports These ports include not only Thermal Liquid conserving po
339. y required for real time processing you can use the Real Time Simulation Workflow on page 7 57 to configure your model for fixed step fixed cost simulation Return to the Real Time Model Preparation Workflow The connector is an entry point for returning to the real time model preparation workflow from another workflow for example the real time simulation workflow or the hardware in the loop simulation workflow Insufficient Computational Capability for Workflow Completion It is possible that your real time target lacks the computational capability for running your model in real time If after multiple iterations of the workflow it appears that there is no level of model complexity that can make your model real time capable consider these options for increasing processing power Upgrading Target Hardware on page 7 13 lt Simulating Parts of the System in Parallel on page 7 13 Related Examples Determine Step Size on page 7 15 Real Time Model Preparation Workflow Estimate Computation Costs on page 7 76 Reduce Computation Costs on page 7 25 Reduce Numerical Stiffness on page 7 31 Reduce Zero Crossings on page 7 41 More About Essential Physical Modeling Techniques on page 1 15 Hardware in the Loop Simulation Workflow on page 7 100 Improving Speed and Accuracy on page 7 10 Model Preparation Objectives on page 7 2 Modeling Dynamic Systems
340. y absolute Poise Poise cP Centipoise reyn Reyn Viscosity kinematic St Stokes cSt Centistokes Newt Newt Volume 1 Liter gal US liquid gallon igal Imperial UK gallon Voltage V Volt mV Millivolt kV Kilovolt Note This table lists the unit abbreviations defined in the product For information on how to use the abbreviations above or mathematical expressions with these abbreviations to specify units for the parameter values in the block dialogs see How to Specify Units in Block Dialogs on page 11 9 11 8 How to Specify Units in Block Dialogs How to Specify Units in Block Dialogs Simscape block dialogs have drop down combo boxes for units next to a parameter value For example in the Constant Volume Chamber block dialog box the drop down list for the Chamber volume parameter contains 1 gal in 3 ft 3 mm 3 cm 3 m 3 and km 3 and the drop down list for the Initial pressure parameter contains Pa bar psi and atm You can either select a unit from the drop down list or type a commensurate unit name or a mathematical expression with unit names directly into the unit combo box of the block dialog You can use the abbreviations for the units defined in your registry or any valid mathematical expressions with these abbreviations For example you can specify torque in newton meters N m or pound feet Lbf ft To specify velocity you can use one of the defined unit abbreviations mph fpm fps or an expres
341. zing at an Operating Point on page 6 7 Example A pilot flying an aircraft wants to find for a given environment a state of the aircraft engine and control surfaces that produces level constant velocity and constant altitude flight relative to the ground The requirements of level constant velocity constant altitude and relative to the ground constitute operating specifications This operating point is a steady state of the aircraft velocity altitude and orientation in space Finding an Operating Point Finding Operating Points in Physical Models You have a number of ways to find an operating point in a Simscape model You can impose operating specifications and isolate operating points using Simscape and Simulink features Tip To find a steady state the Simscape steady state solver is the most direct method For a comprehensive suite of operating point and linearization tools MathWorks recommends Simulink Control Design software To analyze operating points you work with the full state vector of your model which contains Simulink components which can be continuous or discrete Simscape components which are continuous Whichever method that you choose to find an operating point if you want to use it for linearization you must save the operating point information in the form of an operating point object a simulation time to or a state vector x and input vector uo Simulating in Time to S
Download Pdf Manuals
Related Search
Related Contents
Grand Tarla - Tanguay, Louis Polaris A07TH50AU User's Manual Samsung Samsung Galaxy J1 Инструкция по использованию OPL Language Reference Manual HOJA DE DATOS DE SEGURIDAD DCM269/DCM270 Copyright © All rights reserved.
Failed to retrieve file