Simulink Control Design


Principales fonctionnalités

  • Réglage automatique des contrôleurs PID, de type séquencement de gain et de structures SISO/MIMO arbitraires dans Simulink®
  • Réglage automatique de PID déployable vers du logiciel embarqué
  • Calcul de point de fonctionnement (trimming) et linéarisation de modèles
  • Estimation de la réponse en fréquence à partir de données de simulation
  • Linéarisation en batch pour différents paramètres et points de fonctionnement
  • Optimisation numérique des compensateurs pour satisfaire les spécifications dans les domaines temporel et fréquentiel (avec Simulink Design Optimization™)
Conception et analyse des systèmes de contrôle dans Simulink Control Design. Un système de contrôle modélisé dans Simulink (en haut), l'application PID Tuner (à gauche) et le diagramme de Bode de la fonction de transfert en boucle ouverte (à droite).

Concevoir et régler des systèmes de contrôle

Simulink Control Design™ permet de régler de manière systématique les systèmes de commande modélisés dans Simulink à l’aide de techniques de conception SISO et MIMO. Le produit supporte différentes approches, notamment le réglage automatique des contrôleurs PID, le réglage interactif au moyen d'un placement de pôles et de diagrammes de Bode, et le réglage automatique d'architectures MIMO décentralisées.


Réglage de contrôleurs PID

Simulink Control Design fournit des capacités de réglage automatique des gains pour les contrôleurs PID. Le produit propose deux méthodes de réglage des contrôleurs PID dans Simulink : la méthode par fonction de transfert et la méthode par réponse fréquentielle.

La méthode par fonction de transfert effectue le réglage initial d'un bloc contrôleur PID Simulink en un seul clic. L'outil linéarise ensuite le modèle Simulink pour obtenir un modèle linéaire du système à contrôler. Puis, le produit utilise le modèle linéaire créé, ainsi qu'une méthode de réglage propriétaire pour calculer les gains PID en fonction des performances en boucle fermée que vous souhaitez. Un contrôleur initial est suggéré, en fonction d'une analyse de la dynamique de votre système. Vous pouvez ensuite, de manière interactive, ajuster le temps de réponse et le comportement transitoire dans l'application PID Tuner. L'application PID Tuner offre aussi plusieurs tracés que vous pouvez utiliser afin d'analyser le comportement du contrôleur. Par exemple, vous pouvez tracer la réponse à un échelon ou un diagramme de Bode en boucle ouverte pour comparer les performances du design actuel au design correspondant aux valeurs des gains initiaux.

La méthode par fonction de transfert repose sur un modèle de processus paramétrique et linéaire. Si le modèle Simulink linéarise à zéro en raison de discontinuités telles qu'une modulation de largeur d'impulsion (PWM), vous pouvez créer un modèle linéaire de l'environnement à partir de données d'entrée-sortie de simulation en utilisant l'identification du système (nécessite System Identification Toolbox™). 

Design a PID controller for a DC motor modeled in Simulink . Create a closed-loop system by using the PID Controller block, then tune the gains of PID Controller block using the PID Tuner.
Concevoir un contrôleur PID pour un modèle qui ne peut pas être linéarisé. Utiliser l’identification système pour identifier un modèle du processus à partir des données d’entrée-sortie de la simulation.

Vous pouvez également utiliser la méthode par réponse fréquentielle. Cette méthode estime quelques points de la réponse en fréquence de l'environnement à partir de données de simulation et utilise cette réponse en fréquence pour calculer automatiquement les gains PID.

Utiliser une méthode de réglage de PID basée sur la réponse fréquentielle pour régler automatiquement les gains d’un modèle qui ne se linéarise pas en raison d’une discontinuité de la modulation de largeur d’impulsion.

Réglage des contrôleurs SISO

Simulink Control Design comporte une application Control System Designer pour régler les boucles de contrôle SISO directement dans Simulink, à l'aide des capacités de réglage graphiques et automatisées de Control System Toolbox™. Vous pouvez utiliser une architecture de contrôle que vous créez dans Simulink et qui peut être linéarisée. Les blocs réglables de Simulink incluent le gain, la fonction de transfert, le zéro-pôle, la représentation d'état et le contrôleur PID. Simulink Control Design identifie automatiquement les boucles de contrôle pertinentes pour les blocs réglés et lance une session préconfigurée de l'application Control System Designer.

Vous pouvez utiliser l'application Control System Designer pour :

  • Régler graphiquement des boucles SISO multiples, continues ou discrètes
  • Observer les interactions entre les boucles et les effets de couplage tout en réglant les paramètres
  • Calculer les gains du correcteur à l'aide d'algorithmes de conception systématiques, comme l’algorithme propriétaire du réglage PID du temps de réponse robuste, le réglage PID Ziegler-Nichols, la conception IMC ou LQG
  • Optimiser les boucles de contrôle et satisfaire les spécifications de design dans les domaines temporel et fréquentiel (requiert Simulink Design Optimization)
  • Régler directement les paramètres des blocs Simulink, dont les gains PID, les représentations zéro-pôle-gain et les blocs masqués
  • Examiner la réponse en boucle fermée comme le suivi de trajectoire ou la capacité à rejeter une perturbation injectée dans le modèle
  • Utiliser les valeurs des paramètres réglés dans votre modèle Simulink afin de tester ces nouvelles valeurs avec le système non linéaire complet.

Outre l'application Control System Designer, vous pouvez utiliser l'application Control System Tuner pour régler les contrôleurs SISO modélisés dans Simulink. L'application Control System Tuner règle automatiquement les paramètres du contrôleur pour répondre aux spécifications dans le domaine temporel et dans le domaine fréquentiel.

Optimisation d'un système de contrôle multi boucles pour satisfaire simultanément les spécifications des domaines fréquentiel (en haut) et temporel (en bas).

Réglage des contrôleurs MIMO

Simulink Control Design vous permet de régler automatiquement des contrôleurs décentralisés modélisés dans Simulink au moyen de l'application Control System Tuner. Il est possible d'utiliser la toolbox pour automatiquement calculer et stocker une linéarisation de votre modèle Simulink. Simulink Control Design crée automatiquement un modèle réglable de l'architecture de contrôle spécifiée dans un modèle Simulink. Vous pouvez :

  • Spécifier les blocs de modèle Simulink à régler
  • Spécifier les exigences de réglage
  • Régler automatiquement les blocs définis de façon à respecter les spécifications obligatoires (contraintes de design) et à mieux répondre aux autres spécifications (objectifs)
  • Valider votre design en exécutant des simulations non linéaires.

Cette approche vous permet de régler automatiquement des contrôleurs multivariables complexes modélisés à l'aide de blocs Simulink. Par exemple, vous pouvez régler automatiquement des contrôleurs PID en boucle interne et en boucle externe dans un système de contrôle multi-boucles sans changer l'architecture du système de contrôle.

Concevoir un contrôleur de découplage pour une colonne de distillation avec Simulink Control Design.

Réglage des contrôleurs de type séquencement de gain

Le séquencement de gain est une technique linéaire qui permet de contrôler les systèmes non linéaires ou instationnaires. Elle consiste à calculer les approximations linéaires du système dans différentes conditions de fonctionnement, à régler les gains du contrôleur en fonction des conditions de fonctionnement et à séquencer les gains du contrôleur lorsque les conditions de fonctionnement du système évoluent. Simulink Control Design propose des outils permettant de calculer automatiquement les programmes de gain pour les systèmes de contrôle à structure fixe. Vous pouvez :

  • Ajuster et linéariser automatiquement des modèles Simulink dans différentes conditions d'utilisation
  • Paramétrer les surfaces de gain du contrôleur en fonction des variables de séquencement
  • Construire un modèle linéaire aux paramètres variables représentant le système sur l'ensemble de sa plage de fonctionnement
  • Indiquer des spécifications de réglage telles que le suivi et le rejet des perturbations
  • Régler automatiquement les coefficients de surfaces de gain afin de répondre aux spécifications de réglage dans toutes les conditions de fonctionnement
  • Mettre à jour la table de correspondance ou d’interpolation Simulink ou les blocs de fonction MATLAB® en implémentant le contrôleur avec les valeurs de gain réglées.
Générez des surfaces de gain lisses pour un pilote automatique à trois boucles.

Réglage automatique des contrôleurs PID dans le logiciel embarqué

Simulink Control Design propose un module en ligne PID Tuner permettant de régler un contrôleur PID en temps réel dans un environnement physique. Ce module vous permet de régler un contrôleur PID afin d'atteindre une bande passante et une marge de phase spécifiées sans nécessité d’un modèle de processus paramétrique ou d’un design de contrôleur initial. Le module automatise le processus de collecte des données d'entrée/sortie de l'équipement et d'identification de la dynamique des systèmes. L'algorithme est conçu pour fonctionner avec un environnement asymptotiquement stable, mais il ne requiert pas un modèle de dynamique du système.

Pour pouvoir obtenir un réglage sans modèle, le module PID Tuner en ligne :

  • Ouvre la boucle de rétroaction et injecte un signal de test dans le système au point de fonctionnement nominal afin de collecter les données d’E/S en temps réel. La boucle de rétroaction est fermée à la fin de l'opération
  • Règle les gains du contrôleur PID selon la réponse en fréquence estimée à partir des données d’E/S afin d'atteindre la bande passante et la marge de phase voulues
  • Actualise le bloc contrôleur PID ou les autres contrôleurs PID à l'aide des paramètres obtenus, ce qui vous permet de valider en temps réel les performances en boucle fermée.

Vous pouvez configurer les paramètres de l'opération tels que l'amplitude du sinus et de l'incrément, et déclencher le démarrage et l'arrêt du processus de réglage.

À l'aide de Simulink Coder™, vous pouvez générer du code C pour implémenter l'algorithme de réglage dans le logiciel embarqué, ce qui vous permet de procéder au réglage avec ou sans Simulink dans la boucle. Dans le cas d'un déploiement embarqué, il est conseillé d'utiliser l'algorithme avec précaution et de concevoir et mettre en œuvre une logique de sécurité afin d'éviter les conditions dangereuses.

Outre le scénario de déploiement embarqué décrit ci-avant, vous pouvez utiliser le module PID Tuner en ligne pour prototyper le processus, lorsque vous contrôlez l'application exécutée sur la cible en mode externe, par exemple, quand vous utilisez Simulink Real-Time™ ou quand vous exécutez des modèles Simulink sur Arduino® ou un autre équipement low-cost. Lors de l'utilisation du mode externe de Simulink, vous pouvez choisir de générer du code uniquement pour la partie de l'algorithme qui effectue une opération en boucle ouverte et estime la réponse en fréquence de l'environnement. Le calcul de gain PID, nécessitant beaucoup de mémoire, peut être exécuté sur l'ordinateur hôte. Grâce au mode externe, vous pouvez également contrôler interactivement le début et la fin de l'opération et enregistrer les gains PID calculés dans l'espace de travail MATLAB.

Déployer un algorithme de réglage automatique de PID dans du logiciel embarqué. Exécuter l’algorithme de réglage automatique de PID pour l’expérimenter en temps réel sur le matériel et calculer automatiquement les gains du contrôleur PID.


Recherche de point de fonctionnement du modèle

La conception d'un système de contrôle linéaire vous oblige à considérer plusieurs points de fonctionnement pour prendre en compte les différents points de consigne d'un modèle non linéaire. Avec Simulink Control Design, vous disposez d'une interface graphique pour déterminer les points de fonctionnement du modèle. Vous pouvez :

Ces points de fonctionnement peuvent être utilisés pour initialiser une simulation en régime permanent ou comme base pour la linéarisation et la conception de contrôle commande.

Calcul des points de fonctionnement et linéarisation d’un modèle d’avion non linéaire et utilisation du modèle linéaire résultant pour concevoir le contrôleur d’un amortisseur de tangage.

Linéarisation du modèle

Grâce à Simulink Control Design, vous pouvez linéariser des modèles Simulink continus, discrets et multicadencés. Grâce à des annotations de signal graphiques pour indiquer l'ouverture de boucle et les entrées et sorties de la linéarisation, vous pouvez linéariser le modèle totalement, partiellement ou juste un bloc ou sous-système. Les annotations de signal peuvent être utilisées pour l'analyse en boucle ouverte et boucle fermée. Les annotations et l'analyse sont non intrusives et n'affectent pas le comportement de simulation de votre modèle.

Simulink Control Design calcule automatiquement le modèle linéarisé et vous permet de visualiser les résultats sous forme d'une réponse à un échelon ou d'un diagramme de Bode. Un Linearization Advisor permet de visualiser l'impact de chaque bloc de votre modèle Simulink sur la linéarisation, ainsi que de résoudre les problèmes de linéarisation. Vous pouvez affiner vos résultats en indiquant le comportement linéaire de n'importe quel bloc dans votre modèle. Le comportement linéaire peut être spécifié comme une matrice de gains ou un modèle LTI, vous donnant la flexibilité de linéariser des modèles Simulink qui contiennent des discontinuités ou des composants événementiels, comme les diagrammes Stateflow® ou des systèmes basés sur le signal PWM.

Robust Control Toolbox™ vous permet de calculer un modèle linéaire incertain en indiquant des valeurs incertaines pour les fonctions de transfert et les gains, directement dans le modèle. Le modèle linéaire incertain qui en résulte peut être utilisé pour étudier l'impact de l'incertitude sur la stabilité et les performances de votre système de contrôle.

Tous ces outils possèdent une API en ligne de commande pour écrire des scripts pour la recherche de points de fonctionnement et la linéarisation en mode batch. Vous pouvez écrire ces scripts vous-même ou créer automatiquement un code MATLAB à partir de l'interface graphique. Vous pouvez utiliser la recherche de points de fonctionnement et la linéarisation en mode batch pour calculer une approximation linéaire d'un modèle Simulink avec diverses valeurs de paramètres du contrôleur ou de l'environnement. Par exemple, vous pouvez linéariser votre système selon diverses valeurs des coefficients de l'environnement, des gains du contrôleur ou des temps d'échantillonnage du contrôleur.

Créer un script pour calculer les points de fonctionnement et linéariser les modèles Simulink en mode batch.

Calcul de la réponse en fréquence du modèle

Simulink Control Design offre des outils pour le calcul basé sur la simulation de la réponse en fréquence d’un modèle. Avec ces outils, vous pouvez :

  • Vérifier les résultats d'une linéarisation
  • Calculer la réponse en fréquence du modèle lorsque les techniques de linéarisation ne conviennent pas, comme pour les modèles caractérisés par de fortes discontinuités ou une dynamique événementielle
  • Étudier les effets de l'amplitude du signal d'excitation sur les caractéristiques du gain et de la phase d'un système non linéaire.

Simulink Control Design vous aide à élaborer des signaux d'excitation, comme le balayage sinusoïdal ou les signaux chirp, à exécuter les simulations, à collecter les données et à calculer et tracer la réponse en fréquence du modèle. Les algorithmes servant au calcul de la réponse en fréquence sont conçus pour minimiser le temps de simulation et permettre l'utilisation des modes Accelerator et Rapid Accelerator dans Simulink pour accélérer le temps de calcul global.

Estimer la réponse en fréquence d’un modèle Simulink par la simulation.