Guía

Prácticas de modelado con Simscape Electrical para simulación rápida

Introducción a la simulación eléctrica rápida

Si trabaja con un modelo de Simscape Electrical™, es importante que la simulación se ejecute con un rendimiento óptimo. En función del propósito de la simulación, pueden emplearse distintas técnicas y prácticas recomendadas para diagnosticar el modelo, identificar cuellos de botella y mejorar el rendimiento de la simulación.

Esta guía explica los pasos que debe seguir para aplicar prácticas recomendadas de optimización que ayuden a lograr un rendimiento óptimo de la simulación, mantener la precisión y cumplir con los requisitos específicos de la simulación.

Diagrama de flujo detallado que orienta a profesionales de ingeniería para seleccionar la configuración del solver y las herramientas de análisis de modelos de Simscape.

Flujo de trabajo para optimizar el rendimiento de la simulación.

partición

Preparación: Diagnóstico de tiempo de simulación y tiempos de muestreo de señales

Los metadatos de simulación registrados pueden utilizarse para analizar y comparar el tiempo de simulación en pasos posteriores. Esta información se puede visualizar mediante el objeto SimulationMetaData en el objeto Simulink.SimulationOutput.

Otro dato relevante para analizar el rendimiento del solver es el tiempo de muestreo de bloques. En función de la configuración del solver y de los bloques, puede obtener distintos tiempos de muestreo discretos y continuos en el modelo. Esto puede provocar un comportamiento no esperado. Para activar la visualización del tiempo de muestreo, vaya a la pestaña Debug de la barra de herramientas de Simulink®, y luego Information Overlays > Sample Time > Colors. Esto activará una actualización del modelo y mostrará los tiempos de muestreo codificados por colores de todas las señales.

Ventana de un modelo de Simulink con la pestaña Debug activa. El menú Information Overlays está abierto y muestra un cuadro de búsqueda.

Menú Information Overlays en la pestaña Debug de Simulink.

Simulink Profiler ofrece perspectivas detalladas sobre el tiempo de ejecución de un modelo. Captura el tiempo de simulación total e identifica los tiempos de ejecución de bloques, lo que ayuda a determinar qué partes del modelo tardan más en ejecutarse.

El informe de Solver Profiler muestra la frecuencia con que se ejecutan distintos bloques del modelo y cuánto tiempo tarda la ejecución. Esto ayuda a identificar qué partes del modelo demandan más carga computacional. El tiempo de ejecución de la red de Simscape™ se resumirá en el bloque Solver Configuration. Si el modelo contiene muchos scopes, puede optar por Simulation Data Inspector.

A continuación trataremos el propósito de la simulación y cómo afecta al rendimiento y la configuración.

partición

Elección del método de simulación adecuado

El rendimiento del modelo depende de cómo desea utilizarlo. Existen técnicas y configuraciones específicas en función del propósito. Esta sección analiza dos tipos de simulación: simulación en escritorio y simulación de hardware-in-the-loop.

Simulación en escritorio

Gráfico estilizado de un monitor de equipo informático que muestra un diagrama de bloques de lazo cerrado sencillo.

Ilustración conceptual de la simulación en escritorio.

En las simulaciones en escritorio, la finalidad principal suele ser desarrollar un algoritmo de control y probarlo en una simulación de lazo cerrado con respecto al modelo de planta física. El modelo de planta es una red de Simscape y el algoritmo se modela en Simulink. En este caso, el modelo de planta debe utilizar un solver de paso variable, lo que permite que el solver emplee un paso de tiempo de simulación grande cuando la dinámica del modelo lo permite. El algoritmo puede ejecutarse en paralelo, con un paso de tiempo variable o, si es necesario, fijo.

Si este es su caso de uso, consulte la sección Factores a considerar sobre la simulación en escritorio a continuación.

Simulación de hardware-in-the-loop

La simulación de hardware-in-the-loop (HIL) es una simulación en tiempo real utilizada para probar un algoritmo de control ejecutado en el hardware de controlador en tiempo real. En la simulación de HIL, se emplea un equipo informático en tiempo real para representar el modelo de planta. Para ello, la red de Simscape debe configurarse para que utilice un solver de paso fijo antes de desplegarla en el hardware en tiempo real.

Si este es su caso, consulte la sección Factores a considerar sobre la simulación de hardware-in-the-loop a continuación.

partición

Factores a considerar sobre la simulación en escritorio

Factores a considerar sobre el solver para la red física de Simscape (planta con solver de paso variable)

Para diseñar el algoritmo de control y probarlo con respecto a la red eléctrica de Simscape, se recomienda primero ejecutar el modelo físico con un solver de paso variable. Esto permite que el solver utilice un paso de tiempo menor cuando la dinámica del modelo así lo requiere, y mayor cuando es posible. Esto puede mejorar el rendimiento global en ausencia de una ejecución con un paso de tiempo fijo predeterminado.

Para utilizar un solver de paso variable en una red de Simscape, desactive la opción de uso de solver local del bloque Solver Configuration. Esto permite acceder al solver global seleccionado en Model Settings. Normalmente, se recomiendan solvers implícitos, como daessc, odes23t o ode15s, para redes de Simscape.

Configuración de algoritmos con un tiempo de muestreo de paso fijo

Los colores del tiempo de muestreo indican en qué pasos de tiempo del solver se ejecutan bloques específicos. Cuando se diseña el algoritmo, normalmente existe cierto requisito de tiempos de muestreo para los bucles de control. Para aprovechar las ventajas de un solver de paso variable, puede ejecutar el modelo de planta con paso variable y el algoritmo con paso fijo. Para ello, el solver global, configurado en Model Settings, debe ser de tipo paso variable, y puede configurar los bloques del modelo para que se ejecuten solo a ciertas tasas de muestreo de paso fijo.

Cuando los tiempos de muestreo no se definen explícitamente en los bloques, se suelen heredar los tiempos de muestreo, lo que puede provocar un comportamiento no deseado. Para evitarlo, especifique tasas de muestreo de paso fijo en los bloques pertinentes. Utilice la configuración del tiempo de muestreo cuando corresponda para garantizar tiempos de ejecución correctos. Consulte Especificación de tiempo de muestreo.

Elección de la fidelidad de modelo adecuada

Seleccionar la fidelidad de modelo correcta es un paso fundamental para lograr el rendimiento óptimo de la simulación. La tecnología de Simscape Electrical y sus componentes permiten seleccionar entre distintas opciones de modelado y parametrización, en función de la tarea.

Por ejemplo, es posible que se necesiten modelos de conmutación detallados para analizar pérdidas de potencia, mientras que se puede utilizar conmutación ideal para análisis armónico. Para diseño de control, suele bastar un modelo promediado.

Más información

Consulte ejemplos de modelado de componentes con distintas fidelidades:

Técnicas de modelado para PWM

Un modelo de electrónica de potencia suele incluir una señal PWM. Esta señal puede optimizarse, también en combinación con la fidelidad de modelo del inversor.

Si el modelo contiene una señal PWM, esta puede ser otra fuente de mejora del rendimiento.

Uso de Solver Profiler para diagnóstico

Cuando se simula un modelo con un solver de paso variable, Solver Profiler ayuda a identificar cuándo el rendimiento de la simulación empeora debido a pasos de tiempo pequeños o a eventos de simulación, como excepciones del solver o cruces por cero. En cuanto a la red de Simscape del modelo, Solver Profiler permite examinar cómo distintas magnitudes físicas propician un rendimiento deficiente de la simulación.

Análisis de rendimiento de solver de paso variable

Este vídeo muestra cómo Solver Profiler puede ayudar a descubrir cuellos de botella de rendimiento para modelos que utilizan un solver de paso variable.

Herramientas de diagnóstico adicionales

Validación de la inicialización del modelo con Variable Viewer

Cuando se ejecuta la simulación de una red física de Simscape, el solver calcula las condiciones iniciales al principio de la simulación en \(t=0\). Normalmente, las condiciones iniciales de la red de Simscape se configuran en nivel de bloque, pero también pueden provenir de datos registrados previamente. Consulte Inicialización de variables para obtener más información.

El solver recurre a estos ajustes para determinar una condición inicial adecuada. Este proceso puede demandar mucho tiempo y generar advertencias o errores. Variable Viewer permite comprobar y validar los resultados del cálculo de la condición inicial de la red de Simscape. Esto ofrece información útil para identificar las posibles causas principales de una inicialización lenta o no convergente.

Análisis de la inicialización del modelo con Variable Viewer

Este vídeo muestra cómo utilizar Variable Viewer para comprobar los resultados de la inicialización de un modelo que utiliza Simscape.

Análisis de la magnitud de las variables de Simscape para definir valores de escalado adecuados

Definir valores nominales para variables de Simscape permite especificar la magnitud esperada de una variable. Consulte Escalado de sistema mediante valores nominales para obtener más información. Durante la simulación, el solver opera sobre estos valores escalados sin unidades. Valores de escalado adecuados en todas las variables mejoran la robustez y rendimiento de la simulación. Para obtener mejor rendimiento, asegúrese de que las magnitudes de las variables se mantienen en una escala similar.

Variable Scaling Analyzer

Este vídeo muestra cómo utilizar Variable Scaling Analyzer para escalar variables de Simscape para aumentar la solidez y rendimiento de la simulación.

Uso de comprobaciones automáticas para configuraciones de modelo óptimas

Las siguientes herramientas están diseñadas para modelos que contienen principalmente bloques de Simulink y solo ofrecen un número limitado de diagnósticos específicos para modelos que contienen redes de Simscape.

Model Advisor puede comprobar un modelo y subsistema para verificar si las configuraciones y funcionalidades de modelado cumplen con ciertos estándares de modelado o para evitar simulaciones inexactas o ineficientes. Model Advisor incluye comprobaciones incorporadas que pueden ser específicas de una tarea, por ejemplo, rendimiento o precisión.

Model Advisor ejecuta comprobaciones y ofrece informes detallados con recomendaciones procesables que puede aplicar automáticamente.

Performance Advisor forma parte del marco de Model Advisor y contiene un conjunto predefinido de comprobaciones para hallar configuraciones que pueden ralentizar la simulación.

Comprobaciones de rendimiento para configuraciones de modelo óptimas

Este vídeo muestra cómo utilizar Model Advisor para comprobar el rendimiento de un modelo específico relativo a configuraciones o bloques de modelo no óptimos.

Exploración de complejidad de modelo con Variable Statistics Viewer

Statistics Viewer agrega estadísticas de modelo de Simscape para un determinado modelo con sus configuraciones de solver. Investigar las estadísticas es una forma de evaluar la complejidad de un modelo que contiene bloques de Simscape, incluso antes de la simulación.

Exploración de estadísticas de modelo

Este vídeo muestra cómo Statistics Viewer agrega estadísticas de modelo de Simscape para un determinado modelo con sus configuraciones de solver.

Sugerencias adicionales después de la optimización de modelos

Modos de simulación y Fast Restart

Los modos de simulación pueden influir en la velocidad de la simulación, especialmente cuando se combinan con el modo Fast Restart. Los modelos funcionan en modo Normal de manera predeterminada. No obstante, puede recurrir a los modos Accelerator y Rapid Accelerator.

Si bien estos modos ofrecen mejoras de rendimiento, implican tradeoffs en flexibilidad, interactividad y granularidad de diagnóstico de modelos. Consulte Elección de un modo de simulación. Cuando se emplean modelos de Simscape, es posible que los aumentos de rendimiento logrados mediante los modos de simulación Accelerator y Rapid Accelerator sean menos significativos que con modelos de Simulink puros.

Si ejecuta repetidamente un modelo sin realizar cambios estructurales entre ejecuciones, por ejemplo, durante un barrido de parámetros, puede ahorrar tiempo omitiendo la etapa de compilación mediante el modo Fast Restart. Para obtener más información, consulte Introducción al modo Fast Restart en el Centro de ayuda de MATLAB. Para garantizar que los parámetros de Simscape pueden modificarse entre ejecuciones de simulación, configúrelos como parámetros en tiempo de ejecución de Simscape.

Modelos de simulación y Fast Restart

Modos Accelerator y Fast Restart para acelerar la ejecución de modelos | Prácticas de modelado con Simscape Electrical para simulación rápida

Cálculo paralelo

Para ahorrar tiempo cuando ejecuta múltiples simulaciones independientes, puede optar por distribuir las simulaciones entre múltiples núcleos o en un cluster. Los casos de uso incluyen barridos de parámetros, análisis Montecarlo, cálculos paralelos para un problema de optimización o pruebas de modelos con Simulink Test™.

partición

Factores a considerar sobre la simulación de hardware-in-the-loop

Incluso si su objetivo es ejecutar la red de Simscape en paso fijo para una simulación de hardware-in-the-loop, es recomendable depurar, validar y mejorar el modelo utilizando un solver de paso variable. Para lograrlo, puede seguir los pasos en "Factores a considerar sobre la simulación en escritorio". Una simulación con solver de paso fijo también puede ocultar problemas subyacentes que solo son detectables en simulaciones con paso variable.

Cuando se realiza una conversión a un solver de paso fijo, puede emplear el solver local de Simscape o el solver de paso fijo global de Simulink. Para obtener mejor rendimiento, generalmente se recomienda utilizar el solver local de Simscape. Para más información sobre el solver local y su configuración, consulte Simulación con paso de tiempo fijo - Solver local y solver de paso fijo global.

Un paso importante de la configuración de un modelo de Simscape con un solver de paso fijo para despliegue en hardware es determinar iterativamente el solver adecuado en la configuración de paso de tiempo para lograr viabilidad en tiempo real con resultados de simulación aceptables. Este flujo de trabajo se describe y explica en Simulación en tiempo real.

De Simscape a HDL

Para la simulación en tiempo real, el modelo de Simscape se convierte a código C. Para lograr tasas de muestreo más rápidas, puede servirse de tecnología de FPGA y código HDL. Para aprovechar este flujo de trabajo en modelos de redes eléctricas en Simscape, el modelo físico debe convertirse a una representación en espacio de estados en Simulink. Este es el objetivo principal de Simscape HDL Workflow Advisor.

Conversión de modelos de planta eléctrica a código HDL

En este ejemplo, aprenderá a utilizar el método de aproximación linealizada con conmutadores para convertir un modelo de motor de Simscape en un modelo de implementación de HDL para generación y síntesis de código HDL.

partición

Resumen

Esta guía ha presentado una metodología para optimizar el rendimiento de la simulación con Simscape Electrical en diversas aplicaciones, desde desarrollo de algoritmos en escritorio hasta pruebas de hardware-in-the-loop e implementación en FPGA. Siguiendo el flujo de trabajo descrito, desde el análisis de diagnóstico y estrategias de optimización específicas para cada propósito hasta técnicas de optimización del rendimiento avanzadas, los equipos de ingeniería pueden lograr mejoras significativas de la velocidad de simulación al tiempo que mantienen la precisión y fiabilidad.

Siguiendo esta guía y empleando las herramientas de diagnóstico disponibles en MATLAB y Simulink, puede transformar simulaciones eléctricas de alta carga computacional en flujos de trabajo de modelado eficientes, precisos y fiables.