Is there a setting somewhere in the Data Store Memory block I can set to force the data store to use my previouly declared definition of a bus type when generating code?

1 visualización (últimos 30 días)
I’m working on a tire model that uses a data store to hold a bunch of tire parameters with a bus structure defined by the attached “tireParamBus.h” header. I generate the bus structure using the “Simulink.importExternalCTypes” function which give me a bus definition in the base workspace defined as “tireParamBus” with an imported data scope and the “tireParamBus.h” header file.
I then have a tire model which is implemented as an S-Function which gets a pointer to this data store in the mdlStart function and stores the pointer in a DWork vector for use by the derivatives and outputs. The S-Function has a wrapper tlc file for code generation which works when building the model as a standalone model.
The problem I’m having is when I integrate this model with my airplane simulation, the struct tireParamBus is redefined in the “…_types.h” header.
If I delete the TIRE_PARAMS data store, this issue goes away (so do my parameters).
My question is: is there a setting somewhere in the Data Store Memory block I can set to force the data store to use my previous definition of tireParamBus? I have tried a few different Storage Class options, but none seem to work.

Respuestas (1)

TAB
TAB el 1 de Jun. de 2018
Check definition of your tireParamBus.
Assuming that its is "Simulink.Bus" object, you should assign the data scope propertie as below
tireParamBus.DataScope = 'Imported';
tireParamBus.HeaderFile = 'tireParamBus.h' % This file will be included in generated code using #include
  1 comentario
Taylor Hubbard
Taylor Hubbard el 1 de Jun. de 2018
Unfortunately, that doesn't help. As I stated earlier, the DataScope is set to Imported and the header file is set to tireParmBus.h. In other places this seems to work fine.
tireParamBus =
Bus with properties:
Description: ''
DataScope: 'Imported'
HeaderFile: 'tireParamBus.h'
Alignment: -1
Elements: [7×1 Simulink.BusElement]

Iniciar sesión para comentar.

Categorías

Más información sobre Simulink Coder en Help Center y File Exchange.

Productos


Versión

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by