Hellow.
I have a question about how to union in simulink in simulink coder.
I know how to create the bus of struct using the 'Simulink bus' in dictionary file. (*.sldd)
However, i can't see the part that creates the union.
Does Mathoworks support the method of generating code an union as shown below?
If so, could you tell me how?
thank you
**************************************************************************************
typedef union
{
uint32 R;
uint16 H;
} Test_u;
**************************************************************************************

 Réponse acceptée

Angelo Yeo
Angelo Yeo le 8 Mai 2024

0 votes

Hi @WJKIM,
Current Simulink bus does not support union. Could we get a clearer understanding of why you want to realize the Simulink.Bus object as a union in the generated code? Is there any particular use case for this request?

2 commentaires

WJKIM
WJKIM le 10 Mai 2024
Hi.
I respond to that.
If there are many flags (for example, Fault Flags), i can save memory space by using union.
This is only my opinion.
rikro
rikro le 13 Fév 2025
I am looking for the same purpose for fault flags . Is there a way we can use Union ?

Connectez-vous pour commenter.

Plus de réponses (1)

Anurag Ojha
Anurag Ojha le 8 Mai 2024

1 vote

Hello
You can refer to following file exchange link to get more information:
I hope this helps you resolve your query

4 commentaires

WJKIM
WJKIM le 10 Mai 2024
Thank you for feedback.
I will try it
WJKIM
WJKIM le 13 Mai 2024
Hello,
I have a question about your link.
I found the 'TempBus' in *.m file. And its configuration of code generation is as follow:
Data scope : Imported
Header file : DataTypeImport.h
However, i don't find the DataTypeImport.h file.
Could you tell me where it is? How can i get that?
Meghna
Meghna le 16 Juil 2024
Hello,
Following up on this as well, how is the header supposed to look/are there any examples?
Thanks!
安晏
安晏 le 9 Mar 2026 à 6:25
Hello,
I have try this way: I defined union type in my *.h file, and union name is xx_TypeDef. And I Create Bus, Which DataScope is 'Imported', and special *.h file. Then, I Create Simulink.Signal with data Type is The Bus. After Code Generation, I found The union object generated. But!!! union object init is illegal, which init both member in union object. This mean, simulink coder always treat bus object as c-struct.

Connectez-vous pour commenter.

Produits

Question posée :

le 8 Mai 2024

Commenté :

le 9 Mar 2026 à 6:25

Community Treasure Hunt

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

Start Hunting!

Translated by