Guide

Pratiques de modélisation avec Simscape Electrical pour des simulations rapides

Introduction aux simulations rapides pour applications électriques

Si vous utilisez des modèles Simscape Electrical™, il convient de vérifier si les performances de la simulation sont optimales. Selon l’objectif de votre simulation, vous pouvez utiliser différentes techniques et bonnes pratiques afin de diagnostiquer le modèle, d’identifier les goulots d’étranglement et d’améliorer les performances de la simulation.

Ce guide décrit les étapes à suivre pour mettre en œuvre les bonnes pratiques d’optimisation, ce qui permettra à votre simulation de bénéficier de performances optimales et de répondre aux exigences requises, sans compromettre la précision.

Organigramme détaillé permettant aux ingénieurs de choisir les paramètres de solveurs et les outils d’analyse pour les modèles Simscape.

Workflow pour améliorer les performances de la simulation.

section

Préparation : diagnostiquer le temps de simulation et le pas d’échantillonnage des signaux

Les métadonnées de simulation enregistrées peuvent servir à analyser et comparer le temps de simulation dans les étapes ultérieures. Vous pouvez les consulter dans l’objet SimulationMetaData au sein de l’objet Simulink.SimulationOutput.

Le pas d’échantillonnage est une autre donnée permettant d’analyser la performance du solveur. Selon les paramètres du solveur et du bloc, votre modèle peut indiquer des pas d’échantillonnage variables, discrets et continus, ce qui peut se traduire par des comportements inattendus. Pour afficher le pas d’échantillonnage, accédez à l’onglet Debug (Débuggage) de la barre d’outils Simulink®, puis à Information Overlays > Sample Time > Colors (Superposition d’informations > Pas d’échantillonnage > Couleurs). Après une mise à jour de modèle, les pas d’échantillonnage de tous les signaux seront affichés selon un code couleur.

Capture d’écran d’une fenêtre de modèle Simulink avec l’onglet de débuggage affiché. Le menu « Information Overlays » est ouvert et affiche une barre de recherche.

Menu Information Overlays de Simulink dans l’onglet Debug.

Simulink Profiler fournit des informations détaillées sur le temps d’exécution d’un modèle. Il permet de capturer le temps de simulation total et d’identifier les moments de blocage, ce qui permet de déterminer quelles parties du modèle prennent plus longtemps à s’exécuter.

Le rapport Solver Profiler indique la fréquence et le temps d’exécution des différents blocs du modèle. Cela permet de déterminer les parties du modèle qui demandent davantage de calculs. Le temps d’exécution du réseau Simscape™ est résumé dans le bloc Solver Configuration. Si votre modèle contient un grand nombre de champs d’application, utilisez plutôt Simulation Data Inspector.

Dans la prochaine section, nous aborderons l’objectif de la simulation et son impact sur les performances et les paramètres du modèle.

section

Choisir la bonne approche pour la simulation

Les performances de votre modèle dépendent de la manière dont vous allez l’utiliser. Selon sa finalité, vous utiliserez certaines techniques et certains paramètres. Cette section aborde deux types de simulation : la simulation desktop et la simulation Hardware-in-the-Loop.

Simulation desktop

Graphique stylisé d’un écran d’ordinateur sur lequel s’affiche un schéma bloc d’une boucle fermée simple.

Illustration du concept d’une simulation desktop.

L’objectif principal des simulations desktop est généralement de développer un algorithme de contrôle, puis de le tester dans une simulation en boucle fermée par rapport au système physique. Ce dernier est un réseau Simscape et l’algorithme est modélisé avec Simulink. Dans ce cas, le système physique doit utiliser un solveur à pas variable, c’est-à-dire qu’il peut utiliser un grand pas de temps de simulation si les dynamiques du modèle le permettent. L’algorithme peut être exécuté en parallèle à un pas de temps variable ou fixe, si nécessaire.

Si cette description correspond à votre cas d’utilisation, consultez la section Considérations relatives à la simulation desktop ci-dessous.

Simulation Hardware-in-the-Loop

La simulation Hardware-in-the-Loop (HIL) est une simulation temps réel permettant de tester un algorithme de contrôleur qui s’exécute sur le hardware du contrôleur en temps réel. Pour ce type de simulation, on utilise un ordinateur temps réel pour représenter le système physique. Il faut configurer le réseau Simscape pour utiliser un solveur à pas fixe avant de le déployer sur le hardware temps réel.

Si cette description correspond à votre cas d’utilisation, consultez la section Considérations relatives à la simulation Hardware-in-the-Loop ci-dessous.

section

Considérations relatives à la simulation desktop

Considérations relatives au solveur pour le réseau physique Simscape (système physique du solveur à pas variable)

Pour concevoir l’algorithme de contrôle et le tester par rapport au réseau Simscape électrique, nous vous recommandons de commencer par exécuter le modèle physique avec un solveur à pas variable. Ce faisant, le solveur peut utiliser un pas de temps réduit lorsque les dynamiques du modèle l’exigent, et en utiliser un plus important lorsque cela est possible. Cela peut se traduire par de meilleures performances en l’absence d’une exécution prédéterminée à pas de temps fixe.

Pour utiliser un solveur à pas variable pour un réseau Simscape, désactivez l’option Utiliser un solveur local dans le bloc Configuration du solveur. Vous pourrez ainsi accéder au solveur global sélectionné dans Model Settings. Il est généralement recommandé d’utiliser des solveurs de type daessc, odes23t ou ode15s pour les réseaux Simscape.

Configurer des algorithmes avec un pas d’échantillonnage fixe

La couleur du pas d’échantillonnage indique les pas de temps auxquels des blocs précis sont exécutés. Au moment du design de l’algorithme, les pas d’échantillonnage doivent généralement répondre à des critères pour la ou les boucles de contrôle. Pour bénéficier des avantages d’un solveur à pas variable, vous pouvez exécuter le système physique en pas variable et l’algorithme en pas fixe. Pour ce faire, le solveur global configuré dans les paramètres du modèle doit être à pas variable, et les blocs de votre modèle peuvent être configurés de manière à ne s’exécuter qu’à certains pas d’échantillonnage (pas fixe).

Lorsque les pas d’échantillonnage ne sont pas explicitement définis dans les blocs, ils utilisent les pas hérités, ce qui peut provoquer des comportements indésirables. Pour éviter cela, indiquez des pas d’échantillonnage fixes dans les blocs souhaités. Utilisez le paramètre de pas d’échantillonnage lorsque cela est possible pour que les temps d’exécution soient corrects. Consultez Spécifier les pas d'échantillonnage.

Choisir la fidélité de modèle appropriée

Il est crucial de choisir la bonne fidélité de modèle afin que les performances de la simulation soient optimales. La technologie Simscape Electrical et ses composants vous permettent de choisir parmi différentes options de modélisation et de paramétrage, selon la tâche à effectuer.

Par exemple, il peut être nécessaire d’utiliser des modèles à commutation détaillée pour analyser les pannes d’électricité, et les commutations idéales peuvent servir à l’analyse harmonique. Les modèles à moyennes sont souvent suffisants pour les designs de contrôle.

Pour continuer à explorer ce sujet

Consultez des exemples de composants de modélisation à des degrés de fidélité divers : 

Techniques de modélisation pour PWM

Un modèle d’électronique de puissance contient généralement un signal PWM. Il peut être optimisé et également tenir compte du degré de fidélité du modèle de l’onduleur.

Si votre modèle contient un signal PWM, cela peut constituer un autre moyen d’améliorer les performances.

Utiliser Solver Profiler à des fins de diagnostic

Lorsque vous simulez un modèle avec un solveur à pas variable, Solver Profiler permet d’identifier le moment où les performances de simulation déclinent en raison de pas de temps réduits ou d’événements de simulation (par exemple, exceptions de solveur ou passages par zéro). Pour le réseau Simscape de votre modèle, Solver Profiler vous permet de vérifier dans quelle mesure les quantités physiques différentes peuvent se répercuter sur les performances de la simulation.

Analyser les performances du solveur à pas variable

Cette vidéo montre comment le Solver Profiler peut aider à identifier les goulets d’étranglement de performance dans les modèles utilisant un solveur à pas variable.

Outils de diagnostic supplémentaires

Validation de l’initialisation de modèle avec Variable Viewer

Lors de l’exécution de la simulation pour le réseau physique Simscape, le solveur calcule les conditions au début de la simulation, à \(t=0\). Généralement, les conditions initiales du réseau Simscape sont configurées au niveau du bloc. Toutefois, elles peuvent également provenir des données préalablement enregistrées. Pour en savoir plus, consultez Initialisation des variables.

Le solveur utilise ces paramètres afin de déterminer une condition initiale convenable. Ce processus peut prendre du temps et entraîner des avertissements ou erreurs. Variable Viewer permet de vérifier et valider les résultats du calcul de la condition initiale pour votre réseau Simscape. Vous bénéficiez ainsi d’informations utiles pour déterminer les causes potentielles d’une initialisation lente ou non convergente.

Analyser l’initialisation de modèle avec Variable Viewer

Cette vidéo montre comment utiliser le Variable Viewer pour vérifier les résultats de l’initialisation d’un modèle utilisant Simscape.

Analyser l’amplitude des variables Simscape pour définir des bonnes valeurs de mise à l’échelle

Définir des valeurs nominales pour les variables Simscape permet de spécifier l’amplitude attendue d’une variable. Pour en savoir plus, consultez Mise à l’échelle du système selon les valeurs nominales. Lors de la simulation, le solveur opère sur ces valeurs sans unité mises à l’échelle. Des valeurs de mise à l’échelle appropriées pour toutes les variables améliorent à la fois la robustesse et les performances de la simulation. Pour obtenir de meilleures performances, veillez à ce que les amplitudes des variables restent dans un même ordre de grandeur.

Variable Scaling Analyzer

Cette vidéo montre comment le Variable Scaling Analyzer peut être utilisé pour ajuster l’échelle des variables Simscape afin d’améliorer la robustesse et les performances de la simulation.

Utiliser la vérification automatique pour le paramétrage optimal de modèles

Les outils suivants sont conçus pour les modèles contenant principalement des blocs Simulink et ne fournissent que quelques diagnostics spécifiques aux modèles contenant des réseaux Simscape.

Model Advisor peut vérifier votre modèle et votre sous-système afin de s'assurer que les configurations ou les fonctionnalités de modélisation répondent à certaines normes de modélisation ou d'éviter des simulations inexactes ou inefficaces. Model Advisor intègre des contrôles qui peuvent être spécifiques à l’objectif visé (par exemple, la performance ou la précision).

Model Advisor effectue des vérifications et offre des rapports détaillés contenant des recommandations concrètes. Il peut même mettre en œuvre automatiquement ces corrections.

Performance Advisor est intégré au framework Model Advisor et contient un ensemble prédéfini de vérifications visant à détecter les configurations susceptibles de ralentir la simulation.

Contrôle de performance pour le paramétrage optimal de modèles

Cette vidéo montre comment le Model Advisor est utilisé pour effectuer plusieurs contrôles de performance sur votre modèle, concernant les paramètres ou blocs non optimaux.

Explorer la complexité des modèles à l'aide de Variable Statistics Viewer

Statistics Viewer regroupe les statistiques de Simscape pour un modèle donné avec ses configurations de solveur. L'analyse des statistiques permet d'évaluer la complexité d'un modèle contenant des blocs Simscape, avant même la simulation.

Explorer les statistiques du modèle

Cette vidéo montre comment le Statistics Viewer agrège les statistiques d’un modèle Simscape pour un modèle donné et ses configurations de solveur.

Suggestions supplémentaires après optimisation du modèle

Modes de simulation et redémarrage rapide

Les modes de simulation peuvent avoir un impact sur la vitesse de simulation, en particulier lorsqu'ils sont associés à un redémarrage rapide. Par défaut, les modèles fonctionnent en mode normal. Cependant, les utilisateurs peuvent exploiter les modes Accelerator et Rapid Accelerator.

Bien que ces modes offrent des améliorations en termes de performances, ils présentent des inconvénients en matière de flexibilité des modèles, d'interactivité et de granularité des diagnostics. Consultez Choix d'un mode de simulation. Lorsque vous utilisez des modèles Simscape, les gains de performances obtenus grâce aux modes Accelerator et Rapid Accelerator peuvent être moins importants que ceux obtenus avec des modèles Simulink purs.

Si vous exécutez un modèle à plusieurs reprises sans apporter de modifications structurelles entre les exécutions, par exemple lors d'un balayage de paramètres, vous pouvez gagner du temps en ignorant l'étape de compilation grâce à la fonctionnalité de redémarrage rapide. Pour en savoir plus, consultez Démarrer avec le redémarrage rapide dans le centre d’aide MATLAB. Pour vous assurer que les paramètres Simscape peuvent être modifiés entre les exécutions de simulation, configurez-les en tant que paramètres d'exécution Simscape.

Utiliser des modèles de simulation et le redémarrage rapide

Utilisation des modes Accelerator et Fast Restart pour une exécution plus rapide des modèles | Bonnes pratiques de modélisation Simscape Electrical pour des simulations rapides.

Calcul parallèle

Pour gagner du temps lors de l'exécution de plusieurs simulations indépendantes, vous pouvez envisager de répartir ces simulations entre plusieurs cœurs ou sur un cluster. Les cas d'utilisation comprennent les balayages de paramètres, l'analyse Monte Carlo, les calculs parallèles pour un problème d'optimisation ou le test de modèles avec Simulink Test™.

Exécuter des modèles sur plusieurs cœurs ou sur un cluster

Découvrez comment accélérer les simulations électriques grâce au calcul parallèle en mode Normal ou Accelerator.

section

Considérations relatives à la simulation Hardware-in-the-Loop

Même si votre objectif est d’exécuter le réseau Simscape avec un pas fixe pour une simulation Hardware-in-the-Loop, il est recommandé de débugger, valider et améliorer votre modèle en utilisant un solveur à pas variable. Pour ce faire, suivez les étapes à partir de la section « Considérations relatives à la simulation desktop». Une simulation avec solveur à pas fixe peut également masquer des problèmes sous-jacents qui ne sont détectables qu’avec un solveur à pas variable.

Choisir un solveur pour une simulation performante

En savoir plus sur les solveurs et les aspects à considérer lors de la simulation de systèmes physiques.

Lors de la conversion vers un solveur à pas fixe, vous pouvez utiliser soit le solveur local Simscape, soit le solveur global à pas fixe de Simulink. Pour de meilleures performances, il est généralement recommandé de choisir le solveur local Simscape. Vous trouverez plus de détails sur le solveur local et ses paramètres dans la documentation, sous Simulation avec pas de temps fixe : solveurs locaux et globaux à pas fixe.

Une étape importante pour configurer un modèle Simscape avec un solveur à pas fixe en vue d’un déploiement hardware consiste à déterminer de manière itérative le solveur approprié et le pas de temps optimal afin d’assurer la faisabilité en temps réel tout en obtenant des résultats de simulation acceptables. La section sur la simulation temps réel décrit et explique ce workflow.

De Simscape à HDL

Pour la simulation temps réel, le modèle Simscape est converti en code C. Pour atteindre des taux d’échantillonnage plus élevés, il est possible de travailler avec la technologie FPGA et du code HDL. Pour profiter de ce workflow avec des modèles de réseaux électriques dans Simscape, le modèle physique doit être converti en une représentation d'état dans Simulink. C’est l’objectif principal du Simscape HDL Workflow Advisor.

Convertir des modèles de systèmes physiques électriques en code HDL

Dans cet exemple, vous apprenez à utiliser la méthode d’approximation par interrupteur linéarisé pour convertir un modèle de moteur Simscape en un modèle d’implémentation HDL destiné à la génération et à la synthèse de code HDL.

section

Conclusion

Ce guide propose une méthodologie pour optimiser les performances de simulation avec Simscape Electrical, dans un large éventail d'applications, allant du développement d’algorithmes desktop aux tests Hardware-in-the-Loop et à l’implémentation sur FPGA. En suivant le workflow décrit, depuis l’analyse diagnostique, en passant par des stratégies d’optimisation adaptées à chaque objectif, jusqu’à l’amélioration avancée des performances, les ingénieurs peuvent obtenir des gains significatifs de vitesse de simulation sans compromis sur la précision et la fiabilité.

En utilisant ce guide et les outils de diagnostic disponibles dans MATLAB et Simulink, vous pouvez transformer des simulations électriques intensives en calculs, en workflows de modélisation efficaces, précis et fiables.