Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

hydraulicToIsothermalLiquid

Aggiornare il sistema del diagramma a blocchi idraulici per utilizzare i blocchi di liquido isotermico

Descrizione

newfile = hydraulicToIsothermalLiquid(oldfile,newpath) sostituisce i blocchi da Libreria di base > Idraulica nel sistema del diagramma a blocchi specificato oldfile, con blocchi equivalenti della Libreria dei liquidi isotermici, cercando di mantenere i valori dei parametri e i collegamenti tra i blocchi, ove possibile. Se si dispone di una licenza Simscape™ Fluids™, questo strumento sostituisce inoltre i blocchi Libreria Fluidi > Idraulica (isotermica) con blocchi equivalenti della Libreria Fluidi > Liquidi isotermici e della Libreria di base > Liquidi isotermici. oldfile può essere un modello, un sottosistema o una libreria.

Le librerie di blocchi di liquido isotermico sono strutturate in modo simile ad altri domini di fluidodinamica, come il liquido termico, e spesso non esiste una corrispondenza univoca tra i blocchi Libreria dei liquidi isotermici e della Libreria idraulica. Lo strumento di conversione elenca tutti i problemi riscontrati durante la conversione in un rapporto HTML, salva sia il rapporto che il sistema del diagramma a blocchi convertito nella posizione specificata da newpath e restituisce il nome del sistema convertito newfile.

Sia l'argomento newfile che l'argomento newpath sono opzionali. Se si omette l'argomento newpath, è necessario disporre delle autorizzazioni di scrittura per la cartella di lavoro corrente poiché lo strumento salva il sistema convertito e il rapporto nella cartella corrente.

Il nuovo file si basa sull'ultima versione salvata del vecchio file. Ossia, se si modifica il sistema del diagramma a blocchi originale e non lo si salva prima di utilizzare lo strumento di conversione, le modifiche non verranno applicate al nuovo sistema. È inoltre buona norma assicurarsi che il sistema originale del diagramma a blocchi venga compilato senza problemi prima di utilizzare lo strumento di conversione.

Per ulteriori informazioni sulle considerazioni e sul processo di aggiornamento, consultare Aggiornamento dei modelli idraulici per l'utilizzo dei blocchi di liquido isotermico.

esempio

newfiles = hydraulicToIsothermalLiquid(oldfiles) converte un elenco di file oldfiles, dove ciascun file può essere un modello, un sottosistema o una libreria. Quando si converte un elenco di file, lo strumento di conversione preserva i collegamenti tra i file convertiti nell'elenco. Utilizzare questa sintassi per convertire i modelli che contengono riferimenti o collegamenti ad altre librerie, modelli o sottosistemi.

Se un file elencato in oldfiles contiene blocchi della Libreria di base > Idraulica o della Libreria Fluidi > Idraulica (isotermica), lo strumento li sostituisce con blocchi equivalenti della Libreria dei liquidi isotermici, aggiunge _converted al nome del file originale e salva ogni file convertito nella stessa cartella del file originale. Se un file non contiene blocchi idraulici e non fa riferimento a un file elencato in oldfiles che contiene blocchi idraulici, lo strumento lascia il file invariato. Lo strumento restituisce l'elenco dei nomi dei file convertiti newfiles e salva il rapporto di conversione nella posizione del primo file elencato in oldfiles. Il rapporto di conversione, denominato HtoIL_report, elenca tutti i problemi riscontrati durante la conversione di tutti i file dell'elenco oldfiles.

esempio

newfiles = hydraulicToIsothermalLiquid(toppath) converte tutti i modelli, i sottosistemi e le librerie presenti nella cartella toppath e nelle sue sottocartelle, preservando i collegamenti tra i file convertiti nell'elenco. Utilizzare questa sintassi per convertire le librerie personalizzate e altri modelli che contengono riferimenti o collegamenti ad altre librerie, modelli o sottosistemi.

Sia toppath che le sue sottocartelle devono trovarsi nel percorso di MATLAB®. Se un modello, un sottosistema o una libreria contiene blocchi Libreria di base > Idraulica o della Libreria Fluidi > Idraulica (isotermica), lo strumento li sostituisce con blocchi equivalenti della Libreria dei liquidi isotermici, aggiunge _converted al nome del file originale e salva ogni file convertito nella stessa cartella del file originale. Se un file non contiene blocchi idraulici e non fa riferimento a un file nella gerarchia delle cartelle toppath che contiene blocchi idraulici, lo strumento lascia il file invariato. Lo strumento restituisce l'elenco dei nomi dei file convertiti newfiles e salva il rapporto di conversione, denominato HtoIL_report, nella cartella toppath.

esempio

newfiles = hydraulicToIsothermalLiquid(___,oldcustomblocks,newcustomblocks) sostituisce i blocchi idraulici personalizzati elencati in oldcustomblocks con i corrispondenti blocchi di liquido isotermico newcustomblocks. Per qualsiasi combinazione di argomenti di input nelle sintassi precedenti, specificare due array di celle di nomi di blocchi personalizzati dopo tutti gli altri argomenti di input. Utilizzare questa sintassi per convertire modelli che contengono blocchi idraulici personalizzati, come i blocchi libreria mascherati o i blocchi personalizzati scritti in linguaggio Simscape.

Prima di poter utilizzare questa sintassi, preparare la versione equivalente dei blocchi personalizzati in blocchi di liquido isotermico:

  • Per i blocchi libreria e sottosistemi personalizzati che contengono blocchi Libreria di base > Idraulica o della Libreria Fluidi > Idraulica (isotermica), eseguire lo strumento di conversione su queste librerie personalizzate.

  • Per i blocchi idraulici personalizzati scritti in linguaggio Simscape, creare manualmente le versioni equivalenti di questi blocchi che utilizzano il dominio del liquido isotermico.

Se, durante la conversione, lo strumento riscontra un blocco elencato in oldcustomblocks, lo strumento sostituisce quel blocco con il blocco equivalente elencato in newcustomblocks. I due array di celle oldcustomblocks e newcustomblocks, devono avere lo stesso numero di elementi, ciascuno dei quali corrisponde a un nome di blocco. I rispettivi blocchi elencati in ciascun array devono avere lo stesso numero di porte, lo stesso ordine di porte e gli stessi nomi di parametri programmatici.

Esempi

comprimi tutto

Questo esempio mostra come utilizzare lo strumento di conversione su un modello che contiene blocchi idraulici. Lo strumento genera un modello convertito e un rapporto HTML. L'esempio successivo Pulizia del modello dopo la conversione, mostra come sia possibile utilizzare il rapporto HTML per esaminare e risolvere i problemi riscontrati dallo strumento di conversione.

Aprire il modello di esempio di attuatore idraulico con controller di posizione analogico:

openExample('simscape/HydraulicActuatorWithAnalogControlHExample')

Questo modello di esempio contiene i blocchi delle librerie idrauliche.

Convertire il modello per sostituire i blocchi Libreria idraulica con i blocchi equivalenti della Libreria dei liquidi isotermici:

hydraulicToIsothermalLiquid(bdroot)
ans =

  1×1 cell array

    {'HydraulicActuatorWithAnalogControlH_converted'}

Lo strumento di conversione forma il nuovo nome del modello aggiungendo _converted al nome del modello originale. Poiché l'argomento newpath non è stato specificato, lo strumento di conversione salva il modello HydraulicActuatorWithAnalogControlH_converted nella cartella corrente.

Lo strumento genera inoltre un rapporto HTML e lo salva nella cartella corrente. Il rapporto elenca tutti i problemi riscontrati durante il processo di conversione.

Esaminare il rapporto HTML e correggere manualmente i problemi restanti. In questo esempio, il modello convertito non contiene collegamenti interrotti o blocchi rimossi, ma lo strumento di conversione ha generato diversi avvisi sui parametri che devono essere esaminati. Per ulteriori informazioni, consultare Pulizia del modello dopo la conversione.

Nell'esempio precedente Conversione del modello per l'utilizzo dei blocchi di liquido isotermico, lo strumento di conversione è stato utilizzato sul modello HydraulicActuatorWithAnalogControlH. Lo strumento ha generato un modello convertito HydraulicActuatorWithAnalogControlH_converted e un rapporto HTML. In questo esempio, il rapporto HTML verrà utilizzato per esaminare e risolvere i problemi riscontrati dallo strumento di conversione.

Per un elenco dei messaggi di conversione e delle azioni suggerite per risolverli, consultare Conversion Messages After Converting Hydraulic to Isothermal Liquid Models. Per ciascun messaggio, facendo clic su un collegamento nella colonna Block del rapporto HTML si apre il sottosistema appropriato, se necessario, e il blocco che ha generato il messaggio viene evidenziato.

I primi due messaggi del rapporto HTML si riferiscono alle due camere del sottosistema Hydraulic Actuator. Nel modello originale, ciascuna di queste camere era implementata da un blocco Translational Hydro-Mechanical Converter. Lo strumento di conversione ha sostituito ciascuno di questi blocchi con un blocco Translational Mechanical Converter (IL).

I blocchi Translational Hydro-Mechanical Converter nel modello originale presentavano un parametro Specific heat ratio ma, nel dominio del liquido isotermico, tutte le proprietà del fluido sono definite nel blocco Isothermal Liquid Properties (IL).

Per comodità, lo strumento di conversione stampa il valore del parametro Specific heat ratio nel blocco originale: Original block had Specific heat ratio of 1.4. Set Air polytropic index to this value in an Isothermal Liquid Properties (IL) block.

Aprire il blocco Isothermal Liquid Properties (IL) nel modello convertito e impostare il parametro Air polytropic index su 1.4.

Dopo aver risolto i primi due messaggi di conversione, fare clic sul terzo collegamento nella colonna Block del rapporto HTML.

Lo strumento esaminal contenuto sotto la maschera del blocco Spool Valve ed evidenzia il sottosistema Orifice PA.

Nel modello originale HydraulicActuatorWithAnalogControlH, osservare il contenuto sotto la maschera del blocco Spool Valve.

Orifice PA è uno dei quattro blocchi Variable Area Hydraulic Orifice che compongono la valvola e ciascuno di questi blocchi presenta messaggi di conversione simili. Anche il processo di pulizia manuale per ciascuno di questi blocchi è simile.

Fare doppio clic sul blocco Orifice PA nel modello originale per visualizzarne i parametri.

Lo strumento di conversione ha sostituito ciascun blocco Variable Area Hydraulic Orifice con un blocco Local Restriction (IL). (Per ulteriori informazioni, consultare Block Substitutions for Foundation Library Hydraulic Blocks). Poiché le posizioni delle porte di questi blocchi sono diverse, lo strumento di conversione ha posizionato ciascun blocco Local Restriction (IL) in un sottosistema per preservare il layout del diagramma.

Fare doppio clic sul sottosistema Orifice PA nel modello convertito, quindi sul blocco Orifice PA al suo interno per visualizzarne i parametri.

Il primo messaggio di conversione per il blocco Orifice PA, Critical Reynolds number set to 150, è dovuto al fatto che il blocco Variable Area Hydraulic Orifice originale aveva il parametro Laminar transition specification impostato su Pressure ratio. Il blocco sostitutivo Local Restriction (IL) può specificare la transizione tra il regime laminare e quello turbolento solo in base al numero di Reynolds critico e lo strumento di conversione imposta il parametro Critical Reynolds number al suo valore predefinito di 150. Poiché il blocco Variable Area Hydraulic Orifice nel modello originale utilizzava il valore predefinito 0.999 del parametro Laminar flow pressure ratio, non è necessaria alcuna azione.

Il secondo messaggio di conversione per il blocco Orifice PA, Maximum restriction area set to 1e10 m^2, è dovuto al fatto che il blocco originale Variable Area Hydraulic Orifice presupponeva un'area di apertura massima infinitamente grande, mentre il blocco sostitutivo Local Restriction (IL), con Restriction type impostato su Variable, richiede un valore del parametro Maximum restriction area inferiore a inf.

Lo strumento di conversione imposta il parametro Maximum restriction area nel blocco sostitutivo Local Restriction (IL) su un valore arbitrariamente grande 1e10 m^2. Non è necessaria alcuna azione ma, se lo si desidera, è possibile regolare questo valore in modo che corrisponda alla scheda tecnica del modello.

Il resto dei messaggi di conversione si riferisce agli altri tre orifizi, specificando inoltre che non è previsto il cambiamento di comportamento. È possibile ispezionare questi tre blocchi nel modello originale in modo analogo, per verificare che non sia necessaria alcuna azione.

A questo punto, dopo aver risolto tutti i messaggi di conversione, la pulizia del modello richiesta è completata. È possibile confrontare i risultati della simulazione del modello originale e di quello convertito per verificare che siano uguali. Se lo si desidera, è possibile eseguire un'ulteriore pulizia estetica. Ad esempio, è possibile spostare i blocchi convertiti che hanno subito modifiche nella disposizione delle porte al di fuori dei sottosistemi e reindirizzare manualmente le linee di collegamento.

Per vedere un esempio di questo modello dopo la conversione e la pulizia, aprire il modello di esempio di attuatore idraulico con controller di posizione analogico nel dominio del liquido isotermico:

openExample('simscape/HydraulicActuatorWithAnalogControlExample')

Confrontare questo modello con il modello originale HydraulicActuatorWithAnalogControlH e con il modello convertito generato dallo strumento HydraulicActuatorWithAnalogControlH_converted.

Questo esempio mostra come sia possibile convertire i modelli insieme ai loro modelli di riferimento, ai sottosistemi e alle librerie collegate, preservando i collegamenti tra i file convertiti.

Per gli scopi di questo esempio, si consideri un modello denominato modelWithLink che contiene alcuni blocchi idraulici e un modello di riferimento referenceModel che contiene anch'esso dei blocchi idraulici. referenceModel si trova in una cartella separata Reference Systems, situata nel percorso di MATLAB.

Convertire il modello modelWithLink insieme al modello di riferimento, specificando i loro nomi in un elenco di file:

convertedFiles = hydraulicToIsothermalLiquid({'modelWithLink' 'referenceModel'})
convertedFiles =

  2×1 cell array

    {'modelWithLink_converted' }
    {'referenceModel_converted'}

Lo strumento di conversione forma il nome del nuovo modello aggiungendo _converted al nome del modello originale e salva ciascun modello convertito nella stessa cartella di quello originale.

Si noti che il modello convertito modelWithLink_converted, presenta adesso blocchi di liquido isotermico e che si collega al modello di riferimento convertito referenceModel_converted, che presenta anch'esso blocchi di liquido isotermico.

Lo strumento genera inoltre un rapporto di conversione comune denominato HtoIL_report e lo salva nella posizione del primo file elencato nell'argomento di input oldfiles. In questo caso, il primo file è modelWithLink, quindi il rapporto viene salvato nella stessa cartella di questo file. Il rapporto elenca i problemi di conversione per tutti i file presenti nell'elenco oldfiles.

Esaminare il rapporto HTML e correggere manualmente i problemi restanti.

Confrontare i risultati della simulazione dei modelli convertiti con quelli originali per verificare che i risultati siano quelli attesi. Nel rapporto HTML, analizzare i messaggi presenti nelle sezioni Removed Blocks e Parameter Warnings. I messaggi di queste sezioni indicano se sono attesi cambiamenti di comportamento e suggeriscono le azioni appropriate.

Una volta accertato che i sistemi convertiti si comportano come previsto, è possibile utilizzare la funzione hydraulicToIsothermalLiquidPostProcess per ripristinare i nomi dei file originali:

finalFiles = hydraulicToIsothermalLiquidPostProcess(convertedFiles)

Questa funzione sovrascrive i file originali rimuovendo il suffisso _converted dai nomi dei file e dai collegamenti tra di essi. Per ulteriori informazioni, consultare hydraulicToIsothermalLiquidPostProcess.

Questo esempio mostra come sia possibile specificare un percorso alla cartella di livello superiore affinché lo strumento di conversione elabori tutti i file presenti in questa cartella e nelle sue sottocartelle. Lo strumento converte tutti i file che contengono blocchi idraulici, preservando i collegamenti tra di essi e restituisce l'elenco dei file convertiti. Se un file non contiene blocchi idraulici, lo strumento lascia il file invariato.

Si consideri una cartella che, per chiarezza, viene denominata in questo esempio topFolder che contiene sottocartelle con librerie Simulink® personalizzate, modelli e sottosistemi di riferimento e modelli, alcuni con blocchi idraulici e altri senza.

Prima di convertire i file, assicurarsi che topFolder e tutte le sue sottocartelle si trovino nel percorso di MATLAB:

addpath(genpath('topFolder'))

Convertire tutti i file presenti in topFolder e nelle sue sottocartelle:

convertedFiles = hydraulicToIsothermalLiquid('topFolder')
convertedFiles =

  5×1 cell array

    {'model_converted'             }
    {'custom_Library1_converted'   }
    {'custom_Library2_converted'   }
    {'referenceModel_converted'    }
    {'referenceSubsystem_converted'}

Lo strumento di conversione forma il nome del nuovo modello aggiungendo _converted al nome del modello originale e salva ciascun modello convertito nella stessa cartella di quello originale.

Si noti che lo strumento non ha generato un file _converted per modelWithoutHydraulicBlocks e che non ne ha restituito il nome nell'array di celle convertedFiles, poiché questo modello non contiene blocchi idraulici.

Lo strumento genera inoltre un rapporto HTML, denominato HtoIL_report.html e lo salva in topFolder. Il rapporto elenca tutti i problemi riscontrati durante il processo di conversione, per ciascun file convertito.

Esaminare il rapporto HTML e correggere manualmente i problemi restanti.

Confrontare i risultati della simulazione dei modelli convertiti con quelli originali per verificare che i risultati siano quelli attesi. Nel rapporto HTML, analizzare i messaggi presenti nelle sezioni Removed Blocks e Parameter Warnings. I messaggi di queste sezioni indicano se sono attesi cambiamenti di comportamento e suggeriscono le azioni appropriate.

Quando si convertono tutti i file di una cartella e delle sue sottocartelle, lo strumento di conversione aggiorna tutti i collegamenti alle librerie, i riferimenti ai modelli e i riferimenti ai sottosistemi di questi file in modo che puntino alle versioni _converted di questi file. Una volta accertato che i sistemi convertiti si comportano come previsto, è possibile utilizzare la funzione hydraulicToIsothermalLiquidPostProcess per ripristinare i nomi dei file originali:

finalFiles = hydraulicToIsothermalLiquidPostProcess('topFolder')

Questa funzione sovrascrive i file originali rimuovendo il suffisso _converted dai nomi dei file e dai collegamenti tra di essi. Per ulteriori informazioni, consultare hydraulicToIsothermalLiquidPostProcess.

Argomenti di input

comprimi tutto

Il nome del sistema del diagramma a blocchi da convertire, specificato come vettore di caratteri, scalare di stringa o handle. oldfile può essere un modello, un sottosistema o una libreria. Deve essere presente nel percorso di MATLAB o caricato prima di utilizzare lo strumento di conversione. Il nome del file può includere un nome di percorso assoluto o relativo. Per ulteriori informazioni, consultare Definizione dei nomi dei file.

Esempio 'HydraulicActuator'

Esempio 'C:\Work\HydraulicActuator.slx'

Esempio 'subfolder\HydraulicActuator'

Posizione in cui lo strumento salva il sistema del diagramma a blocchi convertito e il rapporto, specificata come nome di percorso assoluto o relativo.

Questo argomento è opzionale. Se si omette l'argomento newpath, lo strumento salva il sistema convertito e il rapporto nella cartella di lavoro corrente.

Esempio 'C:\Work'

Elenco dei sistemi dei diagrammi a blocchi da convertire, specificato come array di celle unidimensionale di nomi di file, dove ciascun nome di file è specificato come vettore di caratteri o scalare di stringa. L'array di celle unidimensionale può essere orizzontale o verticale. I nomi dei file possono includere nomi di percorso assoluti o relativi. Ciascuno di questi file può essere un modello, un sottosistema o una libreria e deve essere presente nel percorso di MATLAB o caricato prima di utilizzare lo strumento di conversione. Quando si converte un elenco di file, lo strumento di conversione preserva i collegamenti tra i file convertiti nell'elenco. Lo strumento salva ciascun file convertito nella stessa cartella del file originale, genera un rapporto di conversione comune, lo nomina HtoIL_report e lo salva nella posizione del primo file elencato in oldfiles.

Esempio {'HydraulicActuatorLibrary' 'PumpLibrary'}

Esempio {'PumpLibrary';'C:\Work\MyPump.slx'}

Nome del percorso della cartella superiore che contiene i sistemi dei diagrammi a blocchi da convertire, specificato come nome di percorso assoluto o relativo. La cartella superiore deve trovarsi nel percorso di MATLAB. La cartella superiore può contenere sottocartelle che contengono anch'esse sistemi dei diagrammi a blocchi. Affinché questi sistemi siano convertiti, anche le sottocartelle devono trovarsi nel percorso di MATLAB. Lo strumento preserva i collegamenti tra i file convertiti, salva ciascun file convertito nella stessa cartella del file originale, nomina il rapporto di conversione HtoIL_report e lo salva nella cartella toppath.

Esempio 'C:\Work\MyLibraries'

Elenco dei blocchi idraulici personalizzati da sostituire, specificato come array di celle unidimensionale di nomi di file, dove ciascun nome di file è specificato come vettore di caratteri o scalare di stringa.

Elenco dei blocchi di liquido isotermico personalizzati da utilizzare in sostituzione di oldcustomfiles, specificato come array di celle unidimensionale di nomi di file, dove ciascun nome di file è specificato come vettore di caratteri o stringa scalare.

Argomenti di output

comprimi tutto

Nome del modello, del sottosistema o della libreria convertiti, restituito come array di celle a singolo elemento di vettori di caratteri. Il vettore di caratteri è il nuovo nome del file, senza il percorso o l'estensione. Lo strumento di conversione forma il nuovo nome del file aggiungendo _converted al nome del file originale oldfile.

Nomi dei modelli, dei sottosistemi o delle librerie convertiti, restituiti come array di celle di colonne unidimensionale di nomi di file, senza percorso o estensione. Lo strumento di conversione forma ciascun nuovo nome del file aggiungendo _converted al nome del file originale.

Cronologia versioni

Introdotto in R2020a

espandi tutto