Simulink Coder

Exécution du code dans un environnement en temps réel

Simulink Coder fournit un atelier complet pour l'exécution en temps réel du code généré et son incorporation dans votre environnement d'exécution. Il génère un code monocadence ou multicadence en fonction des périodes d'échantillonnage périodique que vous spécifiez dans le modèle.

Modes d’exécution

Le code peut être déployé avec ou sans système d'exploitation en temps réel (RTOS), en mode monotâche, multitâche ou asynchrone.

Mode monotâche

En mode monotâche, un ordonnanceur simple appelle le code généré dans un « thread » d'exécution unique, évitant la préemption entre les cadences.

Mode multitâche

En mode multitâche, un ordonnanceur déterministe à taux monotone appelle le code généré, autorisant la préemption entre les cadences. Dans un environnement carte nue, vous utilisez les interruptions imbriquées pour assurer la préemption du code. Dans un environnement de système d'exploitation en temps réel (RTOS), vous utilisez la priorité et la préemption de tâche.

Mode asynchrone

En mode asynchrone, les cadences non périodiques ou asynchrones sont définies à l'aide des S-fonctions Simulink. Simulink Coder traduit ces cadences dans le code nécessaire pour votre environnement d'exécution. Vous modélisez et générez le code pour les événements, tels que les interruptions matérielles, et déclenchez des sous-systèmes en tant que tâches indépendantes. Vous pouvez prendre exemple de la bibliothèque de blocs asynchrones incluse pour créer une bibliothèque appropriée à d'autres environnements.

Déploiement en temps réel

Simulink et Simulink Coder proposent pour le déploiement en temps réel un ensemble complet de fonctions indépendantes de la cible. En particulier :

  • Priorités de tâche que vous pouvez spécifier pour chaque cadence dans votre modèle
  • Compteurs et horloges de production pour calculer le temps absolu et le temps écoulé
  • Bloc de transition de cadence permettant de spécifier les mécanismes de transfert de données entre les cadences (par exemple, sémaphore, mutex et double tampon) pour vous permettre de réaliser des compromis parmi l'intégrité des données, le déterminisme et les performances
  • Détection des surcharges afin d'incorporer la logique de traitement des erreurs pour chaque cadence

Intégration du code existant

Vous pouvez personnaliser le code généré et son environnement en temps réel en incorporant du code personnalisé C, Fortran, Ada et C++ pour la simulation et la génération de code. Les outils de personnalisation de Simulink Coder incluent un compilateur TLC (Target Language Compiler), des blocs de code personnalisés, des modèles de fichiers makefile, des API de traitement de construction et une interface S-Function Builder. L'outil Legacy Code Tool permet d'intégrer rapidement les fonctions C et C++ existantes dans vos modèles Simulink, ce qui est particulièrement utile pour intégrer du code à temps discret généralement utilisé dans les systèmes embarqués.

Point suivant: Ajustement des paramètres et enregistrement des données

Essayer Simulink Coder

Obtenir une version d'évaluation

Génération de code embarqué pour des contrôleurs de moteur AC

Demander un tutoriel