Guida

Pratiche di modellazione con Simscape Electrical per simulazioni rapide

Introduzione alle simulazioni elettriche rapide

Quando si lavora con un modello Simscape Electrical™, è importante valutare se la simulazione viene eseguita alle prestazioni ottimali. A seconda dello scopo della tua simulazione, possono essere utilizzate diverse tecniche e best practice per diagnosticare il modello, individuare eventuali colli di bottiglia e migliorare le prestazioni di simulazione.

Questa guida fornisce alcuni passaggi da seguire per l’applicazione delle best practice di ottimizzazione e per aiutarti a ottenere prestazioni di simulazione ottimali, mantenendo al contempo l’accuratezza e soddisfando i tuoi requisiti specifici di simulazione.

Diagramma di flusso dettagliato che guida gli ingegneri nella scelta delle impostazioni del risolutore e degli strumenti di analisi per modelli Simscape.

Workflow per migliorare le prestazioni di simulazione.

sezione

Preparazione: Diagnostica del tempo di simulazione e dei tempi di campionamento del segnale

I metadati di simulazione registrati possono essere utilizzati per analizzare e confrontare i tempi di simulazione nei passaggi successivi. Per visualizzare queste informazioni, è possibile usare l’oggetto SimulationMetaData all’interno dell’oggetto Simulink.SimulationOutput.

Un’altra informazione rilevante per l’analisi delle prestazioni del risolutore è il tempo di campionamento dei blocchi. A seconda delle impostazioni del risolutore e dei blocchi, è possibile avere nel proprio modello tempi di campionamento variabili, sia discreti che continui. Questo può portare a comportamenti inaspettati. È possibile attivare la visualizzazione del tempo di campionamento dalla scheda Debug nella barra degli strumenti di Simulink®, e poi da Information Overlays > Sample Time > Colors. In questo modo si attiverà un aggiornamento del modello e verranno successivamente visualizzati i tempi di campionamento di tutti i segnali codificati per colore.

Screenshot di una finestra di un modello Simulink con la scheda Debug attiva. Il menu Information Overlays è aperto e mostra una finestra di ricerca.

Menu Information Overlays di Simulink nella scheda Debug.

Simulink Profiler fornisce informazioni dettagliate sul tempo di esecuzione di un modello. Acquisisce il tempo complessivo delle simulazioni e identifica tempistiche di esecuzione dei blocchi che aiutano a individuare quali parti del modello richiedono più tempo per essere eseguite.

Utilizzo di Simulink Profiler per analisi runtime per blocco o sottosistema

Questo video mostra come utilizzare il Simulink Profiler per determinare quanto tempo di simulazione è necessario per ciascun blocco.

Il report di Solver Profiler visualizza la frequenza con cui i diversi blocchi nel modello vengono eseguiti e il tempo necessario per l’esecuzione. Ciò aiuta a individuare parti del modello più impegnative dal punto di vista computazionale. Il tempo di esecuzione della rete Simscape™ verrà riassunto nel blocco Solver Configuration. Se il tuo modello contiene molti scope, valuta se utilizzare invece Simulation Data Inspector.

Di seguito verranno trattati lo scopo della simulazione e il suo impatto sulle prestazioni e sulle impostazioni.

sezione

Scelta del giusto approccio per la simulazione

Le prestazioni del tuo modello dipendono dall’uso che ne vuoi fare. Scopi diversi richiedono tecniche e impostazioni specifiche. Questa sezione esamina due tipi di simulazione: la simulazione desktop e la simulazione Hardware-In-the-Loop.

Simulazione desktop

Grafica stilizzata del monitor di un computer su cui è visualizzato un semplice diagramma a blocchi a loop chiuso.

Illustrazione del concetto di simulazione desktop.

Nelle simulazioni desktop, l’intenzione principale è spesso quella di sviluppare un algoritmo di controllo e testarlo in una simulazione a loop chiuso sul modello dell’impianto fisico. Il modello dell’impianto potrebbe essere una rete Simscape e l’algoritmo potrebbe essere modellato in Simulink. In questo caso, è consigliabile che il modello dell’impianto utilizzi un risolutore variabile, ovvero un risolutore che possa utilizzare un’ampia fase temporale di simulazione ove consentito dalle dinamiche del modello. L’algoritmo può essere eseguito insieme a questo, in una fase temporale variabile o, se necessario, fissa.

Se questo corrisponde al tuo caso d’uso, vai alla sezione Considerazioni per la simulazione desktop riportata di seguito.

Simulazione Hardware-In-the-Loop

La simulazione Hardware-In-the-Loop (HIL) è una simulazione in tempo reale utilizzata per testare un algoritmo per controller eseguito in tempo reale sull’hardware del controller. Per la simulazione HIL viene utilizzato un computer in tempo reale per rappresentare il modello dell’impianto. A tal fine, è necessario configurare la rete Simscape affinché utilizzi un risolutore fisso prima della distribuzione sull’hardware in tempo reale.

Se questo corrisponde al tuo caso d’uso, vai alla sezione Considerazioni per la simulazione Hardware-In-the-Loop riportata di seguito.

sezione

Considerazioni per la simulazione desktop

Considerazioni sul risolutore per la rete fisica Simscape (impianto con risolutore variabile)

Per progettare l’algoritmo di controllo e testarlo sulla rete elettrica Simscape, è consigliabile iniziare con il modello fisico eseguito con un risolutore variabile. Ciò consente al risolutore di impiegare una fase temporale più piccola quando richiesto dalle dinamiche del modello e di scegliere una fase temporale più grande quando possibile. Ciò consente potenzialmente un miglioramento delle prestazioni complessive in assenza di un’esecuzione predeterminata con fase temporale fissa.

Per utilizzare un risolutore variabile per una rete Simscape, disabilita l’opzione utilizza risolutori locali nel blocco Solver Configuration. Ciò consente di accedere al risolutore globale, scelto in Model Settings. In genere per le reti Simscape sono consigliati risolutori impliciti come daessc, odes23t o ode15s.

Configurazione di algoritmi con tempo di campionamento fisso

La colorazione del tempo di campionamento indica in quale fase temporale del risolutore vengono eseguiti i blocchi specifici. Quando progetti l’algoritmo, in genere hai un determinato requisito sui tempi di campionamento per il/i loop di controllo. Per sfruttare i vantaggi di un risolutore variabile, puoi eseguire il modello dell’impianto con fase temporale variabile e l’algoritmo con fase temporale fissa. A questo scopo, il risolutore globale (impostato in Model Settings) dovrebbe essere di tipo variabile ed è possibile configurare i blocchi nel tuo modello in modo che siano eseguiti solo a determinate frequenze di campionamento (fisse).

Quando nei blocchi non vengono definiti esplicitamente i tempi di campionamento, spesso questi tempi vengono ereditati, il che può portare a un comportamento indesiderato. Per evitarlo, specifica frequenze di campionamento fisse nei blocchi rilevanti. Usa l’impostazione del tempo di campionamento ove applicabile per garantire tempistiche di esecuzione corrette. Consulta Specifica del tempo di campionamento.

Scelta della fedeltà del modello appropriata

La scelta della fedeltà del modello corretta è un passaggio fondamentale per ottenere prestazioni di simulazione ottimali. La tecnologia di Simscape Electrical e i suoi componenti ti consentono di scegliere tra diverse opzioni di modellazione e parametrizzazione a seconda della tua specifica attività.

Ad esempio, per l’analisi delle perdite di potenza potrebbero essere necessari modelli di commutazione dettagliati, mentre per l’analisi armonica può essere utilizzata la commutazione ideale. Per la progettazione di controlli, spesso è sufficiente un modello medio.

Per saperne di più

Consulta esempi di componenti di modellazione a fedeltà variabile: 

Tecniche di modellazione per PWM

Un modello di elettronica di potenza in genere contiene un segnale PWM. Questo può essere ottimizzato, anche in combinazione con la fedeltà del modello dell’inverter.

Se il tuo modello contiene un segnale PWM, può essere un’altra fonte di miglioramento delle prestazioni.

Utilizzo di Solver Profiler per la diagnostica

Quando si simula un modello con un risolutore variabile, Solver Profiler aiuta a individuare quando le prestazioni di simulazione peggiorano a causa di fasi temporali piccole o eventi di simulazione quali eccezioni dei risolutori e zero crossing. Per la rete Simscape del tuo modello, Solver Profiler ti consente di analizzare come diverse quantità fisiche possono contribuire a prestazioni di simulazione scarse.

Analisi delle prestazioni del risolutore variabile

Questo video mostra come il Solver Profiler possa aiutare a individuare i colli di bottiglia delle prestazioni nei modelli che utilizzano un solver a passo variabile.

Strumenti di diagnostica aggiuntivi

Validazione dell’inizializzazione del modello con Variable Viewer

Quando si esegue la simulazione per una rete fisica Simscape, il risolutore calcola le condizioni iniziali all’inizio della simulazione a \(t=0\). Le condizioni iniziali per la rete Simscape sono in genere configurate a livello dei blocchi, ma possono anche essere ricavate da dati precedentemente registrati. Consulta Inizializzazione delle variabili per saperne di più.

Il risolutore utilizza queste impostazioni per determinare una condizione iniziale adatta; questo processo può richiedere molto tempo e dare origine ad avvisi o errori. Variable Viewer può essere usato per verificare e validare i risultati del calcolo della condizione iniziale per la tua rete Simscape. Questo fornisce informazioni utili a determinare le potenziali cause principali di un’inizializzazione lenta o non convergente.

Analisi dell’inizializzazione dei modelli con Variable Viewer

Questo video mostra come Variable Viewer possa essere utilizzato per verificare i risultati dell’inizializzazione di un modello che utilizza Simscape.

Analisi dell’ampiezza delle variabili Simscape per la definizione di buoni valori di scalabilità

La definizione di valori nominali per le variabili Simscape fornisce l’opzione di specificare l’ampiezza prevista di una variabile. Consulta Scalabilità del sistema per valori nominali per saperne di più. Durante la simulazione, il risolutore opera su questi valori scalati e senza unità. Dei valori di scalabilità adatti per tutte le variabili ottimizzano sia la robustezza che le prestazioni della simulazione. Per prestazioni migliori, assicurati che le ampiezze delle variabili siano mantenute entro una scala simile.

Variable Scaling Analyzer

Questo video mostra come Variable Scaling Analyzer possa essere utilizzato per scalare le variabili di Simscape e migliorare la robustezza e le prestazioni della simulazione.

Utilizzo di controlli automatizzati per impostazioni del modello ottimali

I seguenti strumenti sono progettati per modelli che contengono prevalentemente blocchi Simulink e forniranno solo alcuni elementi di diagnostica specifici per modelli che contengono reti Simscape.

Model Advisor può verificare il tuo modello e sottosistema per garantire che le configurazioni o funzionalità di modellazione soddisfino determinati standard di modellazione o per evitare simulazioni imprecise o inefficienti. Model Advisor dispone di controlli integrati che possono essere specifici per l’attività che si vuole realizzare (ad esempio, prestazioni o accuratezza).

Model Advisor esegue i controlli e fornisce report dettagliati con suggerimenti utili e può anche implementare automaticamente tali correzioni.

Performance Advisor è integrato nel framework di Model Advisor e contiene una serie predefinita di controlli per ricercare configurazioni che potrebbero causare il rallentamento delle simulazioni.

Controlli delle prestazioni per impostazioni del modello ottimali

Questo video mostra come Model Advisor venga utilizzato per eseguire diversi controlli delle prestazioni sul tuo modello specifico, individuando impostazioni o blocchi del modello non ottimali.

Esplorazione della complessità del modello con Variable Statistics Viewer

Statistics Viewer aggrega le statistiche del modello Simscape per un determinato modello con le relative configurazioni del risolutore. Lo studio delle statistiche è un modo per valutare la complessità di un modello che contiene blocchi Simscape, ancora prima della simulazione.

Esplorazione delle statistiche del modello

Questo video mostra come Statistics Viewer aggrega le statistiche di un modello Simscape per un determinato modello in base alle configurazioni del risolutore.

Ulteriori suggerimenti dopo l’ottimizzazione dei modelli

Modalità di simulazione e avvio rapido

Le modalità di simulazione possono avere un impatto sulla velocità di simulazione, soprattutto quando abbinate all’avvio rapido. Per impostazione predefinita, i modelli operano in modalità normale. Tuttavia, gli utenti possono sfruttare la modalità acceleratore e acceleratore rapido.

Sebbene queste modalità offrano miglioramenti delle prestazioni, implicano compromessi a livello della flessibilità dei modelli, dell’interattività e della granularità della diagnostica. Consulta Scelta di una modalità di simulazione. Quando si utilizzano modelli Simscape, gli aumenti delle prestazioni ottenuti tramite le modalità acceleratore e acceleratore rapido potrebbero essere meno consistenti rispetto ai modelli puramente Simulink.

Se eseguite ripetutamente un modello senza eseguire modifiche strutturali tra le esecuzioni (ad esempio, durante uno sweep dei parametri), potete ottenere risparmi di tempo saltando la fase di compilazione tramite la funzionalità di avvio rapido. Per ulteriori informazioni, consulta Come Iniziare con avvio rapido nel MATLAB Help Center. Per assicurarti che i parametri Simscape possano essere cambiati tra più esecuzioni della simulazione, configurali come parametri di runtime di Simscape.

Uso dei modelli di simulazione e avvio rapido

Utilizzo delle modalità Accelerator e Fast Restart per un’esecuzione più rapida dei modelli | Best practice di modellazione Simscape Electrical per simulazioni veloci

Calcolo parallelo

Per risparmiare tempo quando esegui più simulazioni indipendenti, puoi prendere in considerazione l’idea di distribuire queste simulazioni su più core o su un cluster. I casi d’uso includono gli sweep dei parametri, l’analisi Monte Carlo, i calcoli paralleli per un problema di ottimizzazione o i test sui modelli con Simulink Test™.

Esecuzione di modelli su più core o su un cluster

Scopri come puoi accelerare le simulazioni elettriche con il calcolo parallelo in modalità Normal o Accelerator.

sezione

Considerazioni per la simulazione Hardware-In-the-Loop

Anche se il tuo obiettivo è eseguire la rete Simscape in fase temporale fissa per una simulazione Hardware-In-the-Loop, è buona norma eseguire il debug, validare e migliorare il tuo modello utilizzando un risolutore variabile. A questo scopo, puoi seguire i passaggi a partire da “Considerazioni per le simulazioni desktop.” Una simulazione con risolutore fisso può anche nascondere problemi sottostanti che possono essere scoperti solo nelle simulazioni variabili.

Scelta di un risolutore per la simulazione performante

Scopri di più sui risolutori e sulle considerazioni relative ai modelli durante la simulazione di sistemi fisici.

Quando esegui la conversione a risolutore fisso, puoi usare il risolutore locale di Simscape o il risolutore globale fisso Simulink. Per prestazioni migliori, è generalmente consigliabile scegliere il risolutore locale Simscape. È possibile trovare ulteriori dettagli sul risolutore locale e le relative impostazioni nella documentazione di seguito Simulazioni con fase temporale fissa - Risolutori locali e globali fissi.

Un passaggio importante nella configurazione di un modello Simscape con un risolutore fisso per la distribuzione hardware è determinare in modo iterativo il risolutore corretto nell’impostazione della fase temporale, al fine di ottenere la fattibilità in tempo reale con risultati di simulazione accettabili. Simulazione in tempo reale illustra e spiega questo workflow.

Da Simscape a HDL

Per la simulazione in tempo reale, il modello Simscape è convertito in codice C. Per ottenere frequenze di campionamento più veloci, puoi lavorare con la tecnologia FPGA e codice HDL. Per trarre vantaggio da questo workflow per i modelli di rete elettrica in Simscape, il modello fisico deve essere convertito in una rappresentazione nello spazio degli stati in Simulink. Questo è l’obiettivo principale di Simscape HDL Workflow Advisor.

Conversione di modelli d’impianto elettrici in codice HDL

In questo esempio, impari come utilizzare il metodo di approssimazione a switch linearizzato per convertire un modello di motore Simscape in un modello pronto per l’implementazione HDL, utile per la generazione e la sintesi del codice HDL.

sezione

Conclusione

Questa guida ha presentato una metodologia per ottimizzare le prestazioni di simulazione di Simscape Electrical su una vasta gamma di applicazioni, dallo sviluppo di algoritmi desktop al test Hardware-In-the-Loop e l’implementazione FPGA. Seguendo il workflow descritto, iniziando dall’analisi della diagnostica, proseguendo con strategie di ottimizzazione specifiche per lo scopo e terminando con un miglioramento avanzato delle prestazioni, gli ingegneri possono ottenere notevoli miglioramenti della velocità di simulazione, mantenendo al contempo l’accuratezza e l’affidabilità.

Seguendo questa guida e sfruttando gli strumenti di diagnostica disponibili in MATLAB e Simulink, puoi trasformare simulazioni elettriche ad alta intensità computazionale in workflow di modellazione efficienti, accurati e affidabili.