Bonjour,
J'utilise Matlab/Simulink pour générer la partie logique (relation entre les entrées et les sorties) d'une application embarquée.
Avec mon modèle, je génère le code C correspondant (avec Embedded coder).
Pour mes variables de sorties (modèle out) je souhaite utiliser des structures. C'est plus facile pour moi de les gérer ensuite dans le reste du code C (Matlab ne génère qu'une partie).
Matlab fait cela très bien, mais j'ai un souci pour connecter mes signaux à ma structure de sortie.
Le problème viens du fait que dans mon model Simulink, les différents signaux qui composent ma structure de sortie sont répartie dans 2 catégorie:
- des signaux qui sont mis à jours par un sous block exécuté à chaque boucle du programme (call de la fonction step).
- des signaux qui proviennent de blocks exécutés conditionnellement: en fonction d'une condition, on passe par un sous block ou un autre.
La structure final doit re-assembler le tout.
Les signaux qui sont dans les blocs conditionnels sont assez nombreux et je les aie donc regroupé dans un bus (virtuel).
J'ai donc N sous-bus qui proviennent de mes N blocks que je fais entrer dans un module "merge". Après le merge, j'éclate ce sous-bus pour nourrir mon bus créator qui va rassembler tous les signaux de ma structure de sortie.
ouf c'est fini.
Nom : ErreurMatlab_Bus_Model.PNG
Affichages : 750
Taille : 43,4 Ko
Mon model

Nom : ErreurMatlab_Bus_SousBlockCond.PNG
Affichages : 580
Taille : 19,2 Ko
La génération de mon signal dans un sous module conditionnel.


Mais pas très jolie. Je suis sur qu'il y a mieux à faire comme pratique.
Et puis on a acheté statFlow pour faire des machines à état correcte.
Une sortie de mon chart est un des signaux de ma structure de sortie.

Nom : ErreurMatlab_Bus_SousBlockCond_StateFlow.PNG
Affichages : 590
Taille : 30,0 Ko
Le même avec state flow. Le signal se propage avec le nom ChartOut.

C'est génial, mais la sortie du chart de stateFlow à un nom qui se progage et une fois arrivé au bus selector qui va éclater mon sous-bus virtuel, avant la création de la sortie, ca plante.
Matlab a une erreur.
Nom : ErreurMatlab_Bus.PNG
Affichages : 500
Taille : 26,8 Ko

Ma solution pas jolie ne fonctionne plus.

Je sollicite donc vos conseils pour organiser mon modèle correctement et mieux gérer mes bus.
Je suis preneur aussi de forum, doc, livres pour apprendre à bien organiser les projet Simulink pour progresser dans ce domaine.

Merci d'avance pour votre aide.