I want to connect Adams/Car with a Matlab Simulink model. This does work for me when I set the necessary model/block parameters in Simulink and then build it as C-Code into a *dll which I can import via the plant export feature.
Now I'd like to simplify changing the model parameters by feeding them from Adams instead of having to rebuild the dll everytime. The model has 96 parameters so having a state variable for each of them isn't really an option (especially since there can be several instances of them in a template).
I'd like to feed a matrix from file which is then applied to a variable and "plant exported". It seams however that state variables aren't allowed to have more than one "channel".
Does anybody have some hints on how to achieve my goal?
A "dirty" method might be to get a string over to the >Simulinkpart and split it apart there though I'd prefer a cleaner version.
Are you importing the Simulink model into Adams as a esl/control system/FMU, or are you running a co-simulation ?
if you are doing an import then you might want to look into paramterized FMUs (available since Adams ~2017.2). If you create a such the parameters you expose appear under the created GSE as design variables.
I am not quite sure since I am not familiar with english abbreviations but I think it is a FMU. I define my input & output vairable, do a Controls/plant export => get the .m file defining inputs/outputs. Build the simulink model as C-Code into an *.dll and "reconnect" it to Adams as Controls/Control Systems/Import (while redefining the input and output variables).
Unfortunately I have to make use of Adams 2015 though the design variables seam to be exactly what I need (since they do not change no matter how time/inputs change). I know I can still build Design variables in Adams/Car via the Command Navigator even though they aren't shown in the model browser though that still deosn't seam to resolve the issue with having to creat 96 of them for each instance...
You can define 'tunable parameters' when you build the code in Matlab. Our Adams Controls documentation has this kind of description, for reference, (v2018, but should work in 2015) about where you find this in the Matlab build procedure:
===================
In the Configuration Parameters window that opens, select Optimization Tab.
3. Under Signals and Parameters, select Inline parameters.
4. Select Configure.
5. Highlight Kp and Kv and select Add to Table.
6. Verify that Storage class is set to SimulinkGlobal(Auto).
====================
As Thomas notes: these 'tunable parameters' should show up automatically as Design Variables under the GSE element in Adams.
Your assembly is the default model. That's the case if it's freshly opened, but it's not the case if you for example modified a subsystem parameter.
If you want do make the command file model specific, then just enter the assembly name. But then you need to change the cmd-file whenever used with a different model.