Page Personnelle de Vincent Kerhoas
Vincent Kerhoas
Enseignant du Supérieur
Professeur Agrégé
Page Personnelle de Vincent Kerhoas

Environnement de Développement pour le Prototypage Rapide

Back                  << Index >>

Prise en main de l’environnement Pysimcoder

PROJET SOURCE

MCC_PYSIM

Le répertoire MCC_PYSIM contient :

Pysimcoder permet donc dans un premier temps de réaliser un système sous forme de schémas blocs, de le tester ( tracé de courbes en simulation ), puis de générer un fichier correspondant à ces blocs afin de programmer une cible STM32.


Simulation

  1. Ouvrir un terminal dans le répertoire PMSM_PYSIM/PYSIMCODER et taper :
  1. Dans pysimcoder, faire File–> Open, ouvrir mcc_sim.dgm

Nous retrouvons les éléments de notre système :

Faire Simulation –> Simulate :; puis double cliquer sur Plot :

Nous avons l’évolution de la vitesse en fonction du temps pour une consigne donnée.

Test sur Cible

Génération du code pour la cible

Ouvrir maintenant mcc_target.dgm :

On retrouve une partie du schéma de simulation ; le scope et le modèle du moteur ont été retirés.
Les blocs jaunes ( pulse, speed, duty1 ) correspondent à des variables de notre programme microcontrôleur qui seront mis à jour avec les périphériques.
Les blocs bleus correspondent à des fonctions, qui seront appelées depuis le fichier généré par pysimCoder.

Faire Simulation –> Generate Code

Il se crée alors un répertoire mcc_target_gen, dans lequel se trouve mcc_target.c

Compilation, Chargement et Exécution

Ouvrons maintenant le workspace WORKSPACE_F411_MCC_CUBEIDE se trouvant dans MCC_PYSIM, avec le logiciel STM32CUBEIDE.

La tache fast_task met à jour les variables correspondant aux blocs jaunes, PYSIM_ISR(MODEL_NAME,ISR) permet d’appeler une fonction de PYSIMCODER/mcc_target_gen/mcc_target.c.
Si vous observez le makefile du projet, vous constaterez le chemin vers ce fichier, ainsi qu’à la bibliothèque des blocs pysimcoder.

REMARQUE : PysimCoder impose l’utilisation du type double.

main.c

Il suffit alors de compiler et de lancer la session de Debug. Le tracé avec RTScope.py redonne :


Back                  << Index >>