Home

Dymola - Dynamic Modeling Laboratory

image

Contents

1. Apply e Models containing user defined S functions are supported assuming that the C sources are available and located in the same directory as the Simulink model The S function C sources are then automatically compiled and linked to the FMU and no configuration is needed in the Simulink model e Start the Real time Workshop build process by pressing Ctrl B The build process will compile the generated model code using the FMI Simulink wrapper and link with the required MATLAB and system libraries to create the FMU binaries The build process will also create the FMI XML model description modelDescription xml and construct the FMI archive lt modelname gt _sf fmu in the current working directory The FMI binary is built using the same compiler as used when building the S function MEX file This is changed in MATLAB using the command gt gt mex setup Limitations and Trouble Shooting The following relates to version 2 0 of the package included with Dymola 2016 The package supports 32 and 64 bit MATLAB releases from R2010a to R2014b The package supports Visual Studio 2008 9 0 and later compilers as supported with the respective MATLAB releases 30 The model description uses the Simulink Coder C code identifiers as model variable names In some cases these identifiers will not be traceable back to original model components The variable names for continuous time states paramet
2. importing models using FMI 17 black box models 17 Simulink models 25 33 model description XML model description for FMI 6 model exchange using FMI 5 MODELISAR 5 R Real time Workshop for FMI Simulink 28 S Simulink configuring compiler for FMI 30 exporting FMU s from Simulink 28 importing models to Dymola using FMI 25 Real time Workshop options for FMI 28 setting up environment for FMI import to Dymola 27 System Target File for FMI 28 specification FMI for Co simulation 6 FMI for model exchange 6 SUNDIALS suite of numerical solvers 14 System Target File for FMI Simulink 28 X XML model description for FMI 6 34
3. model identifier e g dots will be exchanged with underscores The name must only contain letters digits and underscores It must not begin with a digit The input string fmiVersion controls the FMI version 1 or 2 of the FMU The default is 1 The input string miType defines whether the model should be exported as e Model exchange fmiType me e Co simulation using Cvode fmiType cs e Both model exchange and Co simulation using Cvode fmiType al1 e Co simulation using Dymola solvers fmiType csSolver The default setting is fmiType all This parameter primarely affects modelDescription xml For the three first choices binary and source code always contains both model exchange and Co simulation Note Co simulation using Dymola solvers is currently only available on Windows and the Binary Model Export license is required For this choice the binary code only contains Co simulation the solver and tolerance that is selected in Dymola is also used by the exported FMU Please see also Notes on Co Simulation on page 14 concerning Co simulation The Boolean input includeSource is used to specify if source code should be included in the FMU The default setting is that it is not included includeSource false Simultaneous use of result storing see above and source code inclusion is not supported Note that source code generation is not supported for Co simulations using Dymola solvers Note also that general sou
4. 0 It is available in Modelica Library under the Dymola installation 24 Note that the ModelManagement license is needed to use this feature Below call validates CoupledClutches as a co simulation FMU for FMI 1 0 validateModelAsFMU Modelica Mechanics Rotational Examples CoupledClutches An excerpt from the log file is given below Variable Jl w has scalar criteria 0 00248651 larger than tolerance 0 001 Signal outside validity range Reference Simulated 10 8 w ria Z 6 4 2 0 0 0 4 0 8 12 1 6 In this case we may argue that the comparison tolerance should be increased to avoid the report of this trajectory 1 1 5 FMU Export from Simulink Introduction Dymola 2013 and later distributions include a package to support export of FMUs from MATLAB Simulink This package contains implementations of the FMI standards on top of model code generated by Simulink Coder formerly Real Time Workshop The MATLAB Target Language Compiler TLC is used to construct the XML model description for the FMU The package for FMU export from Simulink together with the Dymola support for FMU import facilitates simulation of Simulink models in Dymola The utility builds on the Simulink Coder S function Target configuration that is available in MATLAB In fact the same model C code is generated by the S function target with FMI as for the Simulink Coder S function target In addition the FMI target performs th
5. Modelica Standard Library 3 2 or older is not supported If you have user models with such old table handling those must be updated to use this feature Notes on Co Simulation Note that all Dymola solvers are supported on Windows for FMU Co simulation export if the Binary Model Export license is available however the CVODE solver can be selected as a particular solver The support for features is currently larger when selecting CVODE as a particular solver than for Dymola solvers e Including source code is currently only supported for the CVODE solver e String parameters are currently only supported for the CVODE solver e For Linux only the CVODE solver is currently supported for FMU Co simulation e Multiple instances are currently not supported for Co simulation with Dymola solvers CVODE solver The SUNDIALS suite of numerical solvers version 2 4 0 can be used in the co simulation FMUs The SUNDIALS CVODE solver with Backward Differentiation Formula BDF and Newton iteration can be used as solver in the exported co simulation FMUs For further details visit https computation llnl gov casc sundials main html Fixed step embedded inline solvers for FMU Co Simulation export The Dymola inline integration solvers are supported also for FMU Co Simulation export Note that the fixed step size used for the inline integration should also be used as step size when calling the fmiDoStep routine of the generated FMU For
6. license to execute e generationDateAndTime 2015 04 13708 31 12Z Model Exchange Attributes needsExecutionTool false completedIntegratorStepNotNeeded false canBelnstantiatedOnlyOncePerProcess false e canNotUseMemoryManagementFunctions false canGetAndSetFMUstate true e canSerializeFMUstate false providesDirectionalDerivative true Co Simulation Attributes needsExecutionTool false e canHandleVariableCommunicationStepSize true e canInterpolateInputs true maxOutputDerivativeOrder 1 canRunAsynchronuously false e canBelnstantiatedOnlyOncePerProcess false e canNotUseMemoryManagementFunctions false canGetAndSetFMUstate true e canSerializeFMUstate false providesDirectionalDerivative true a e e nduine e i ooe Sercon O wO O O a o A A cent e ie iret eee Seer Modeling V Simulation FMU import on Linux The FMU import on Linux requires the Linux utility unzip If not already installed please install using your packaging manager e g apt get or see e g http www info zip org 22 Limitations e For FMI version 1 0 the attribute nominal for scalar variables is not supported when importing FMUs with Model Exchange For FMI version 2 0 this is supported 1 1 4 Validating FMUs from Dymola Once the dynamic behavior of a model is verified and it is ready to be exported as FMU one would like to verify that this behavior can be repeated on
7. rtwsfenfmi bin Pre compiled 32 bit Visual Studio binaries of the FMI implementation for the supported MATLAB releases rtwsfcnfmi bin64 Pre compiled 64 bit Visual Studio binaries of the FMI implementation for the supported MATLAB releases rtwsfenfmi c This directory holds C source files to include and compile the Simulink Coder generated model code The standard FMI header files are located in the sub directory rtwsfcnfmi c fmi rtwsfcnfmi m This directory contains MATLAB help files called from the TLC scripts These are used to construct the date GUID and value reference attributes used in the XML model description rtwsfcnfmi spec This folder contains the official specification documents for FMI 1 0 and 2 0 as a reference rtwsfcenfmi tle The TLC scripts used for code generation and for constructing FMI specific files are included in this directory The template makefiles and compiler dependent settings can also be found here Installation Follow these steps to set up the environment for the tool e Define the environment variable SFCN_FMI_ROOT as the directory where you have extracted the files for example SFCN_FMI_ROOT C Program Files rtwsfcnfmi using Control Panel System Advanced Environment Variables e In MATLAB change working directory to the rtwsfcnfmi folder and execute the script ds_fmi_setup m e Optionally you may add the following to your MATLAB startup script to automatically perform the setup f
8. simulation features Co Co Co simulation simulation simulation using with inline using Cvode integration Dymola solvers canHandle VariableCommunicationStepSize canHandleEvents canRejectSteps canInterpolateInputs maxOutputDerivativeOrder canRunAsynchronuously canSignalEvents canBelnstantiatedOnlyOncePerProcess canNotUseMemoryManagementFunctions 16 FMU export on Linux The FMU export on Linux requires the Linux utility zip If not already installed please install using your packaging manager e g apt get or see e g http www info zip org Export of 32 bit and 64 bit FMUs is supported on Linux Using Dymola compilers for FMI Co simulation export is not supported on Linux Limitations e The value meUndefinedValueReference is never returned when value references are requested As a consequence some value references returned may not be present in the model description file e The result file generation is currently only fully supported for the traditional solvers Lsodar Dass Euler Rkfix2 Rkfix3 and Rkfix4 when importing the FMU in Dymola For the other solvers the number of result points stored will typically be too low However the values are accurate for the time points at which they are computed e String variables cannot be used in models which are exported as FMUs String parameters are however supported except for FMUs exported wi
9. the targeted simulation environment For model exchange which is dependent on the solver of the target this is naturally less straight forward than for co simulation where the solver is built into the FMU We focus this discussion on the co simulation case although all is possible for model exchange as well Normally the FMU contains inputs that need to be connected to signal generators sources before this validation can be commenced Since this is model and test dependent and hard to automate we will assume the model inputs have been connected to necessary sources beforehand The result is a test model with no disconnected inputs After the validation these sources are of course removed before the final FMU is created Since Dymola supports FMU import it becomes natural to re import the FMU in Dymola and compare its simulation with the original model We demonstrate this for the demo model CoupledClutches For brevity we use a scripting perspective First export as FMU with say both model exchange and co simulation support translateModelFMU Modelica Mechanics Rotational Examples CoupledClutches false be pai all Re import in a non interactive mode the FMU for co simulation importFMU Modelica_Mechanics_Rotational_Examples_CoupledClutches fmu true false false Simulate the model being the result of the import simulateModeli Modelica_Mechanics_Rotational_Examples_CoupledClutches_fmu stopTim
10. Dymola Dynamic Modeling Laboratory FMI Support in Dymola Contents Section FMI Support in Dymola from Chapter 6 Other Simulation Environments from the manual Dymola User Manual Volume 2 March 2015 Dymola 2016 The information in this document is subject to change without notice Copyright 1992 2015 by Dassault Systemes AB All rights reserved Dymola is a registered trademark of Dassault Systemes AB Modelica is a registered trademark of the Modelica Association Other product or brand names are trademarks or registered trademarks of their respective holders Dassault Systemes AB Ideon Gateway Scheelev gen 27 Floor 9 SE 223 63 Lund Sweden E mail http www 3ds com support URL http www Dymola com Phone 46 46 270 67 00 Contents 1 FMI Support in Dy mio ais cicsesccistaccpsivecscisastessecadescecsust oe ceodseguecocveedscsatanseaoace swegeuvepentouvenscennccserse EIL FMESupport in Dymolas s 2 esses eee aa iir eRe des Reco vente RE VEE E EEEE PT EEE nag aeons 5 1 1 1 1 1 2 1 1 3 1 1 4 1 1 5 frod NO heen Aas eh ek ois Se eee ee te eg I a 5 Exporting FMUs from Dymola sses iser eee eeror rea sp Erer Ea EE e EEEE AKEE ERE E rE S 7 Importing FMUs in Dymola seieren erene rrea e EE rR E T ERE a EEE EEE S 17 Validating FMUs from Dymola essseeesseesesssesereresreerssrsrrsertenrestertssretensertentestentsseeteserrreesteneseretsse 23 PMU Export from Simulink sssi cites ccces
11. This setting corresponds to the parameter integrate in importFMU see above for description Four options are available FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 19 e Include all variables corresponds to the function parameter incudeAllVariables see above e Prompt before replacing an existing Modelica model corresponds to the function parameter promptReplacement see above e Translate value reference to variable name this option is not present in import FMU If ticked the imported FMU will contain a translation from value references to variable names This is useful for debugging however will decrease the performance e Structured declaration of variables this option is not present in importFMu If ticked the variables of the imported FMU will be presented in a hierarchical structure that is as records This is useful when e g wanting to change variable values To be able to use this option the attribute variableNamingConvention in the model description file of the FMU to be imported must be set to variableNamingConvention structured Settings of the imported FMU The parameter dialog of the imported and instantiated FMU contains an FMI tab motorDriveTest_fmu in Unnamed a General FMI Add modifiers _ Instance name fmi_instanceName Enable logging fmi_loggingOn Inputs for initialization fmi_pullInputsFor Initialization Step time fmi_St
12. Threshold The default value of the flag is 10 so for creating the figure above the value was set to 4 Dragging a connection from to a stacked connector displays a dialog to conveniently select what connectors to connect See previous chapter for details Import of FMUs of FMI version 1 0 and version 2 0 to the same model Import of both FMUs of FMI version 1 0 and version 2 0 to the same model is supported Display of information for an imported FMU Information from the modelDescription xml file of an imported FMU is displayed in the information layer of the imported FMU FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 21 f File Edit Simulation Plot Animation Commands Window Help Linear analysis Dr a ASYM KYOOCABY S FIRS 0 2 gt BERG Z oo G S Modelica_Electrical_Analog_Examples_CauerLowPassAnalog_fmu Modelica_Electrical_Analog_Examples_CauerLowPassAnalog_fmu Docume U iE es Gx Packages Hl Modelica Reference C Modelica_Electrical_Analog_Examples_CauerLowPassAnalog_fmu E katie gt ew Component x Modelica_Electrical Analog Examples lt gt amp lt gt info info rev rew Caver low pass filter with analog components i ModelDescription Attributes e fmiVersion 2 0 modelName Modelica Electrical Analog Examples CauerLowPassAnalog e generationTool Dymola Version 2016 Final Beta 64 bit 2015 04 08 requires
13. ableName Table name on file or in function usertab see docu _u1_start _u2_start The includeFilelnFMU parameter is not displayed it is evaluated and the corresponding file has been copied to the Resources directory of the FMU Handling multiple FMUs An extra source code file a11 c is provided it includes all other C files This file is needed to compile all FMUs source code as one unit which in turn is required because the demand that all internal functions and symbols needs to be static to be able to combine several source code FMUs The only disadvantage compiling this file instead of the separate C files is that any modification in any source code file requires re compilation of everything Multiple instantiation of the same FMU FMUs generated by Dymola 2016 and later support multiple instantiation This means that the same FMU can be used several times in the same model The generated XML file indicates that the model can be instantiated multiple times FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 13 Restrictions e Multiple instances are currently not supported for Co simulation with Dymola solvers e The support for multiple instances has a run time cost you can for this reason disable the support for multiple instances by setting the flag Advanced AllowMultipleInstances false The flag is by default true e The old table handling corresponding to tables in previous versions for
14. above commands is specified in the export part of the FMI tab of the simulation setup reached by the command Simulate gt Setup the FMI tab z Simulation Setup General Translation Output Debug Compiler Realtime Import Preferred type Model exchange Co simulation Options V Indude all variables E Prompt before replacing an existing Modelica model E Translate value reference to variable name Structured declaration of variables Export Type D Model exchange Co simulation using Cvode Model exchange and Co simulation using Cvode Co simulation using Dymola solvers Version 10 2 0 Options Indude source code Store result in mat file Copy resources to FMU E ies 64 bit binaries 32 bit binaries SS 3 FMI type can be selected as Model exchange Co simulation using Cvode Model exchange and Co simulation using Cvode or Co simulation using Dymola solvers this setting corresponds to the parameter fmiType in translateModelFMU see description above of this setting for more information Cx Goes The FMI version can be selected as 1 or 2 the default being 1 FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA Three general options are available see the description above of the corresponding parameters for more information concerning the first two Note that the two first ones cannot be ticked
15. alog of the imported FMU See also section Settings of the imported FMU on page 20 FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 17 The parameter promptReplacement can be set to true to generate prompting before replacement of any existing Modelica model being the result of a previous import Having no prompting is useful when repeatedly importing FMUs using scripting By default this parameter is false The string parameter packageName can be set to the package to where the FMU should be imported The package must be open in Dymola when importing The function outputs true if successful false otherwise The generated Modelica file will get the name model_fmu mo_ or model_fmu_black_box mo depending on the value of includeAllVariables ASCII characters of values larger than 32 are supported in the xml file of the imported FMU Also UTF characters are supported but not recommended Note The binary library files from any previous import are replaced when calling importFMU and thus translations of previously imported models are not guaranteed to work any longer in the unlikely event of a name clash Commands in Dymola for FMU import An alternative to executing the import FMU function from the command line is to use the command File gt Import gt FMU j 5 MotorDriveTestc MotorDriveTestc Diagram i File Edit Simulation Plot Animation Commi New DOAN Pa Ga Open Ctrl O G Load Ct
16. artTime fmi_StopTime fmi_NumberOfSteps fmi_CommunicationStepSize fmi_forceShutDownAtStopTime fmi_rTol Instantiation fmi_resourceLocation vj Set to false when using the FMU in feedback connections relative tolerance for the internal solver of the fmu The available settings depend on the FMU type 20 fmi_resourceLocation might be needed when importing FMUs from other vendors to specify the location of external resources For FMI version 1 0 Co simulation the name is fmi_fmuLocation By default the parameter displays the location where the FMU is unpacked which is usually the location of external resources dlls tables etc as well Handling of start values for initialization Start values can be set for FMI Model Exchange to set input start values before initialization This can be useful when wanting to avoid e g division by zero when initializing Importing FMUs with many inputs outputs When importing FMUs with many inputs outputs the input and output connectors of the imported FMU are automatically stacked at the same location one location for each type Integer Real and Boolean of input and output connectors the image to the right below H i testManylO_fmu testManylO_fmu H i FMI 2 0 ME Import lr FMI 2 0 ME Import The limit of the number of connectors when stacking should be applied is defined by the flag Advanced FMI OverlappinglIO
17. cereeebueteu sch ents ieies ee e k e T e a r a 25 PE ANGER EE E E EAA EEE E A E E E E OO 1 FMI Support in Dymola This document is an extract from the FMI section in Dymola User Manual Volume 2 Chapter 6 Other Simulation Environments That chapter describes how to interface models created in Dymola to other simulation environments Here only the following extract is covered e Support for the Functional Mockup Interface FMI e Import and export of FMI models in Dymola e Validating FMUs from Dymola e Export of FMI models from Matlab Simulink 1 1 FMI Support in Dymola 1 1 1 Introduction FMI The FMI Functional Mock up Interface standard allows any modeling tool to generate C code or binaries representing a dynamic system model which may then be seamlessly integrated in another modeling and simulation environment FMI started as a key development effort within the MODELISAR project see FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 5 https itea3 org project modelisar html The FMI standard is today maintained and developed as a long term project within the Modelica Association Three official FMI specifications have been released The FMI for Model Exchange specification version 1 0 was released on January 28 2010 and the FMI for Co Simulation specification version 1 0 was released on October 12 2010 FMI 2 0 which merges the model exchange and co simulation specifications into
18. e following FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 25 Constructs the model description interface modelDescription xml from the lt modelname gt rtw model description Compiles the generated model code and the S function FMI wrapper and links with required libraries Constructs the FMI zip archive fmu according to the FMI distribution structure Support and Usage The package can be used for free without any associated license Support and maintenance is offered to Dymola customers through the regular support channel at www 3ds com support Release History Files Version 1 0 February 10 2010 o First version Version 1 1 August 20 2010 o Supporting MATLAB R2010a o Support for S function blocks written in C Version 1 2 June 1 2012 o MATLAB support up to R2011b o Support for Visual Studio 2010 o 64 bit support Version 1 2 1 March 4 2013 o Compliant to FMU Checker ver 1 0 2 Version 2 0 March 31 2015 included with Dymola 2016 o FMI 1 0 and 2 0 support o Model Exchange and Co Simulation o Support for all Simulink built in data types o MATLAB support for R2010a R2014b 32 and 64 bit o Support for Visual Studio 2008 and later compilers The package rtwsfcnfmi zip is located in the DYMOLA mfiles directory but since it is independent of Dymola it may be extracted to any location The archive consists of six sub directories and the included files are described briefly below 26
19. e 1 5 method dassl1 Finally the resulting trajectories can be plotted and compared visually with the original non FMU simulation Note that since the imported model is flattened the trajectory names are somewhat different e g J1 w becomes J1_w FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 23 Iradis iw iw The blue trajectory is from the reference simulation and the red is from the co simulation Note that the latter is rendered as constant between the sample points While this validation is ok for sample testing of a single model this clearly becomes infeasible for systematic validation of several trajectories The remedy is a new function validateModelAsFMU which automates the following steps Generation of reference trajectories Exporting of the FMU Importing of the FMU Mapping of trajectories names to those of the original model Numeric comparison of trajectories Graphical HTML presentation of deviating trajectories in fashion similar to the plot above Main features include Using a default set of trajectories to compare or specifying it explicitly The default it the set of all state candidates Choosing tolerance for the comparison Optional generation of reference trajectories which is typically only needed once Optional FMU export which might not be needed each time Test of co simulation or model exchange Test of FMI version 1 0 or 2
20. elected no such binaries are created unless 64 bit compilation is enabled In a 32 bit version of Dymola this can be enabled by setting the flag Advanced CompileWith64 2 FMU black box export It is possible to export FMUs as black box models where only top level inputs and outputs are included in the XML model description This can be used to export sensitive models without exposing the names of parameters and internal variables This export is activated by setting the flag Advanced FMI BlackBoxModelDescription true Including settings in the exported FMU Note the possibility to include settings in the exported FMU by ticking Settings included in translated model reachable by the command Simulation gt Setup the Debug tab If such settings are included in a Dymola generated FMU they can be logged by activating fmi_loggingOn in the FMI tab of the parameter dialog of the imported and instantiated FMU String parameter support String parameters are supported in FMUs except for FMI 1 0 FMUs exported with Dymola solvers For the FMU export to support string parameters the following flag must be set 10 Advanced AllowStringParameters true The flag is by default false String variables are however presently not supported Example String parameter support can be illustrated by a simple example of changing tables for an FMU consider creating a simple model for linearization Create a model drag an instance of M
21. ers and local model variables are appended with _xc _p and _w respectively This is to ensure unique variable names in the FMU XML file Unsupported Simulink Blocks e The blocks Discontinuities Backlash and Discontinuities Rate Limiter currently only work correctly if used with a discrete sample time e Simulink models with MATLAB Fcn blocks are not supported e Code generation from Subsystems is not supported FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 31 32 2 Index black box import using FMI 17 C Co simulation FMI for Co simulation 14 E exporting models using FMI 7 exporting models with built in numerical solvers 14 F FMI 5 configuring Simulink compiler 30 exporting models 7 for Co simulation 14 importing black box models 17 importing models 17 importing Simulink models 25 model exchange 5 specification for Co simulation 6 specification for model exchange 6 validating FMUs 23 XML model description 6 FMU 6 black box export 10 exporting FMU s with settings 10 exporting FMU s 7 exporting FMU s from Simulink 28 generate Dymola result file dsres mat Z importing FMU s 17 importing FMUs with many inputs outputs 21 importing Simulink FMU s 25 multiple FMU s 13 multiple instantiation of the same FMU 13 online tunable parameters 6 string parameters 10 validating FMUs 23 Functional Mock up Unit See FMU
22. h for FMI version 1 0 and version 2 0 Note that the FMI 2 0 Beta 4 and FMI 2 0 RCIspecifications are no longer supported For the latest information about limitations and supported features of FMI please visit www Dymola com FMI Online tunable parameters Online tunable parameters are supported in FMI version 2 0 tunable parameters were not allowed in FMI version 1 0 1 1 2 Exporting FMUs from Dymola FMU export by the built in function translateModelFMU Exporting FMU models from Dymola is achieved by the function translateModelFMU modelToOpen storeResult modelName fmiVersion fmiType includeSource The input string model ToOpen defines the model to open in the same way as the traditional translateModel command in Dymola The Boolean input storeResult is used to specify if the FMU should generate a result file dsres mat If storeResult is true the result is saved in lt model id gt mat when the FMU is imported and simulated where lt model id gt is given at FMU initialization If empty dsres is used instead This is useful when importing FMUs with parameter allVariables false since it provides a way to still obtain the result for all variables Simultaneous use of result storing and source code inclusion see below is not supported The input string modelName is used to select the FMU model identifier If the string is empty the model identifier will be the name of the model adapted to the syntax of the
23. odelica Blocks Tables CombiTable2D into the model Connect the two inputs and the output and create the corresponding connectors The result is u1 combiTable2D o ELed TE gt Oo o y1 gt In the parameter dialog of combiTable2D select tableOnFile to true and propagate tableName and fileName Give relevant default values for them As an example looking at the resulting Modelica code when having specified a table name and file name as default value we find model MyTestModel parameter String tableName MyTableName Table name on file or in function usertab see docu parameter String fileName MyExperiment MyTestTable mat File where matrix is stored equation a end MyTestModel Saving the model and then generating an FMU from it do not forget to set the flag above we can import this FMU and look at the resulting parameter dialog of an instance of that FMU FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 11 la myTestModel_fmu in Unnamed Parameters combiTable2D_verboseRead true if info message that file is loading is to be printed combiTable2D_tableID_id combiTable2D_tableOnFileRead 1 if table was successfully read from file Table name on file or in function usertab see docu File where matrix is stored This FMU supports changing the table name and file name as string parameters Extended example re
24. one document was published on July 25 2014 The model exchange specifications focus on the model ODE interface whereas the co simulation specifications deal with models with built in solvers and coupling of simulation tools All specification documents can be downloaded here http www fmi standard org The specification documents are also available in Dymola using the command Help gt Documentation The specifications are separated into an execution part C header files and a model description part XML schema A separate model description is used in order to keep the executable footprint small Both FMI 1 0 specifications use essentially the same XML schema a couple of capability flags are introduced for FMI for Co Simulation In summary an FMU Functional Mock up Unit implementing an FMI specification consists of e The XML model description e Implementation of the C function interface in binary and or source code format e Resources such as input data e Image and documentation of the model FMI support in Dymola The Dymola FMI support consists of the two built in functions described below for FMU export and import respectively Commands are also available in the Dymola user interface to execute these functions The first three items in the list above are currently supported by Dymola FMI both Model Exchange and Co Simulation is supported for Windows and Linux Unless otherwise stated features are available bot
25. or each new session start_dir pwd cd C Program Files rtwsfcnfmi ds_fmi_setup FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 27 cd start_dir the cd command on the second line should be changed to match your system Exporting a Simulink FMU This section describes the procedure to export an FMU from Simulink and the associated settings configurations e If the Simulink model to be exported as an FMU should be integrated connected with other components you need to add external input and or output ports to your model These can be found in the Sinks and Sources categories of the Simulink browser e Jn the Simulink Configuration Parameters dialog choose the Code Generation tab and click Browse to select a different System Target File Select rtwsfcnfmi tic in the list System Target File Browser sf_car eee for Embedded Coder for Simulink Coder Mockup Interface FMI System Target File Description asap2 tic ASAM ASAP2 Data Definition Target ert tle Embedded Coder jert tle Create Visual C C Solution File grt tle Generic Real Time Target grt tle Create Visual C C Solution File idelink_ert tle IDE Link ERT idelink_grt tle IDE Link GRT jj realtime tic Run on Target Hardware rsim tle Rapid Simulation Target etwin tle Real Time Windows Target rtwinert tle Real Time Windows Target ERT I ctwsfen tle Function Target rtwsfentmi tic Function Target with Functional
26. rce code documentation is available in the Documentation folder inside the generated FMU folder FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 7 The function outputs a string FMUName containing the FMU model identifier on success otherwise an empty string As an example translating the Modelica CoupledClutches demo model to an FMU with result file generation is accomplished by the function call translateModelFMU Modelica Mechanics Rotational Examples CoupledClutches true After successful translation the generated FMU with file extension fmu will be located in the current directory The user can select if 32 bit and or 64 bit FMU binaries should be generated see the FMI tab description below The generated FMU contains information about if it has been generated without export options In the corresponding XML file of such an FMU the following is seen generationTool Dymola Version 2015 64 bit 2014 02 21 requires license to execute FMUs exported from Dymola support intermediate results for event update fmiEventUpdate for Model Exchange for FMI version 1 0 Commands in Dymola for FMU export An alternative to executing the translateModelFMU function from the command line is to use the FMU option of the Translate button as illustrated below SMr eoi Normal Export The above is also available as the command Simulate gt Translate gt FMU What settings will be used when using any of the
27. rl Shift O Libraries gt Demos gt W Save Ctri S i Save As i Save All Save Total Version gt Clear All Q Search Change Directory Co amp Print Ctrl P l Impor gt pe T es 7 es Note that this command also will be automatically applied on an fmu file by dragging it into the Dymola main window 18 What settings will be used when using any of the above commands is specified in the import part of the FMI tab of the simulation setup reached by the command Simulate gt Setup the FMI tab e Simulation Setup General Translation Output Debug Compiler Realtime FMI Import Preferred type Model exchange 5 Co simulation Options V Include all variables Prompt before replacing an existing Modelica model Translate value reference to variable name Structured declaration of variables Export D Model exchange 5 Co simulation using Cvode Model exchange and Co simulation using Cvode Co simulation using Dymola solvers Version 1 0 5 2 0 Options Indude source code Store result in mat file Copy resources to FMU lt ies 64 bit binaries 32 bit binaries SS E ES Ga Preferred type can be selected as Model exchange or Co simulation This setting is only relevant if the FMU to import supports both types Otherwise this setting is silently ignored
28. screte states and modes should be included o Export image png of Simulink model to FMU resources Used to select if an image of the top level Simulink model should be exported with the FMU o Copy Simulink model to FMU resources Used to select if the whole Simulink model should be copied to the FMU e Settings for Simulink Configuration Parameters gt Solver FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 29 o Model Exchange Both Variable step and Fixed step solvers supported recommended to use Variable step when possible to support accurate event detection using non sampled zero crossings o Co Simulation Requires a Fixed step solver o Itis also recommended to set the Tasking mode to SingleTasking Configuration Parameters sf_car Configuration Active Aro Select Simulation time A Start time 0 0 Stop time 30 Data Import Export Pelli poe Optimization Diagnostics Solver options Hard Impl tatii F Mae Retrerichs sa Type Fived step 7 Solver ode4 Runge Kutta gt Simulation Target P ends ponte Fixed step size fundamental sample time 0 01 Report adhe hid Tasking and sample time options Custom Code Periodic sample time constraint Unconstrained X Debug Real Time Workshop Tasking mode for periodic sample times SingleTasking xj FMI options Automatically handle rate transition for data transfer Higher priority value indicates higher task priority 7 oK Cancel Help
29. simultaneously e Include source code corresponds to the parameter includeSource in translateModelFMu If ticked includeSource true source code is included if unticked the source code is not included Note that for Co simulation source code export is currently only supported for the CVODE solver Note also that general source code documentation is available in the Documentation folder inside the generated FMU folder e Store result in mat file corresponds to the parameter storeResult in translateModelFMu If ticked storeResult true a result file is generated and stored as a mat file lt model id gt mat if unticked no result file is generated e Copy resources to FMU external resources using the functions ModelicaServices ExternalReferences loadResource or Modelica Utilities Files loadResource are by default copied to the FMU The resulting FMU will be larger due to this If this is not wanted de selecting the setting will not copy the resources to FMU but the resource paths using Windows shares will be changed to UNC paths when possible This makes the FMU usable within a company without increasing its size An example of using the resource copying is given below the extended example in the String parameter support section Finally the user can select whether 32 and or 64 bit FMU binaries should be generated This option is not available in translateModelFMU Note that even if the option 64 bit binaries is s
30. sirt tle Simulink Real Time slrtert tle Simulink Real Time ERT Full Name C Program Files rtwsfcnfmi tic rtwsfenfmi te Lok cancel Help Apply e FMI options then become available in the Code Generation tab 28 Configuration Parameters sf_car Configuration Active rex Select FMI version 2 0 z Solver Data Import Export 7 FMI type CoSimulation Z Optimization 4p Diagnostics Hardware Implementation Zip utility C Program Files Zip 7z exe Model Referencing Simulation Target 4 Code Generation n Zip options a r tzip Model author Unknown Report Comments 7 Include global block outputs Symbols ms Custom Code v Include discrete states DWork Debug V Export image png of Simulink model to FMU resources Real Time Workshop etches L Copy Simulink model to FMU resources 9 ok cancel Help Apply o FMI version Used to select FMI version for the export 1 0 or 2 0 o FMI type Used to specify FMI type ModelExchange or CoSimulation o Zip utility Path to Zip utility used to build the FMU archive default 7 zip o Zip options Command line options passed to the Zip utility o Model author Used to specify the model author for the XML file o Include global block outputs Used to select if block outputs should be included o Include discrete states DWork Used to select if di
31. source code export it is also required to set the flag define ONLY_INCLUDE_INLINE_INTEGRATION in the header file conf h Support for optional FMI Export options Support for optional FMI Export options in FMI 2 0 The following tables list Dymola support for optional export options in FMI 2 0 Since both True and False can be a limitation the cells are color coded green means underlying 14 feature supported in Dymola yellow means underlying feature not supported in Dymola Furthermore capital letters are used for underlying feature supported The order of the features is the order they appear in the specification See next page the tables are on the same page for comparison reasons FUNCTIONAL MOCK UP INTERFACE FMI SUPPORT IN DYMOLA 15 Optional FMI 2 0 features Model Model Co Co Co Exchange Exchange simulation simulaton simulation with inline using with inline using integration integration Dymola solvers needsExecutionTool completedIntegratorStepNotNeeded canBelnstantiatedOnlyOncePerProcess canNotUseMemoryManagementFunctions canGetAndSetFMUState canSerializeFMUState providesDirectionalDerivative canHandle VariableCommunicationStepSize canInterpolateInputs maxOutputDerivativeOrder canRunAsynchronuously Support for optional FMI Export options in FMI 1 0 Optional FMI 1 0 Co
32. source handling If the FMU should contain the table as a resource the following can be done Rename the parameter fileName to includeFileInFMU really not needed but for clarity Use in the variable definition dialog of includeFilelnFMU in the default value input field the context command Insert Function Call to access Modelica Utilities Files loadResources and specify the file name The resulting code is given a new model MyTestModel is created model MyTestModel2 gt S parameter String tableName MyTableName Table name on file or in function usertab see docu parameter String includeFileInFMU Modelica Utilities Files loadResource E MyExperiment MyTestTable mat File where matrix is stored equation D D a end MyTestModel2 Save the model Before generating the FMU check 12 e that Advanced AllowStringParameters true e that Copy resources to FMU is ticked in the FMI tab of the simulation setup We can import the generated FMU and look at the resulting parameter dialog of an instance of that FMU z myTestModel2_fmu in Unnamed General Fmi Add modifiers Component Icon Name myTestModel2_fmu Comes er gt Model Path MyTestModel2_fmu Comment Parameters combiTable2D_verboseRead ve true if info message that file is loading is to be printed combiTable2D_tableID_id combiTable2D_tableOnFileRead 1 if table was successfully read from file t
33. th Dymola solvers e For Linux only the CVODE solver is currently supported for FMU Co simulation 1 1 3 Importing FMUs in Dymola The Dymola FMU import consists of 1 unzipping the fmu archive 2 transforming the XML model description into Modelica and 3 opening the resulting Modelica model in Dymola Importing FMU models to Dymola is achieved by the function importFMU fileName includeAllVariables integrate promptReplacement packageName The input string fileName is the FMU file with the fmu extension By setting the variable includeAllVariables to false only inputs outputs and parameters from the model description are included when generating the Modelica model Such black box import can be used as separate compilation of models to substantially reduce translation times For large model this is recommended since the generated mo file otherwise becomes huge and will take long time for Dymola to parse and instantiate The parameter integrate controls if integration is done centralized or in the FMU i e integrate true means import the Model Exchange part of the FMU and integrate false means use the Co Simulation part of the FMU By default this parameter is true This setting is only relevant if the FMU to import supports both types Otherwise this setting is silently ignored If the Co Simulation part is used the macro step size can be set as the parameter fmi_CommunicationStepSize in the FMI tab of the parameter di

Download Pdf Manuals

image

Related Search

Related Contents

télécharger le pdf  HOME THEATER SYSTEM COM REPRODUTOR DE DVD  Caméras thermiques pour la sécurité et la surveillance  BOLT-LMM v2.0 User Manual  Anleitung - LR-Cal  Manfrotto Pro Air XXL  1 2 4 3 9 11 8 5 B A 7 10 A B C A B 6  取扱説明書 - M  Ashly LX-308B User's Manual  Hantek®  

Copyright © All rights reserved.
Failed to retrieve file