Contenuto principale

hydraulicToIsothermalLiquid

Aggiornare il diagramma del blocco idraulico per utilizzare blocchi di liquido isotermico

Descrizione

hydraulicToIsothermalLiquid converte i blocchi idraulici in blocchi di liquido isotermico, aggiunge _converted al nome del file originale e salva ciascun file convertito. Sebbene lo strumento di conversione tenti di preservare i valori dei parametri e le connessioni tra i blocchi, non sempre esiste una corrispondenza biunivoca tra i blocchi delle librerie Hydraulic e Isothermal Liquid. Lo strumento di conversione elenca i problemi riscontrati durante la conversione in un report HTML.

Per ulteriori informazioni, consultare Aggiornamento dei modelli idraulici per l'utilizzo dei blocchi di liquido isotermico.

hydraulicToIsothermalLiquid(oldfile) sostituisce i blocchi della libreria Foundation > Hydraulic nel sistema del diagramma a blocchi oldfile, con blocchi equivalenti della libreria liquidi isotermici e salva ogni file convertito nella stessa cartella del file originale. Se si dispone di una licenza Simscape™ Fluids™, questo strumento sostituisce inoltre i blocchi della libreria Fluids > Hydraulics (Isothermal) con blocchi equivalenti della libreria Fluids > Isothermal Liquid e della libreria Foundation > Isothermal Liquid.

esempio

hydraulicToIsothermalLiquid(oldfile,newpath) sostituisce i blocchi nel sistema del diagramma a blocchi specificato e salva il sistema del diagramma a blocchi convertito e il report di conversione nella posizione specificata da newpath.

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

esempio

hydraulicToIsothermalLiquid(toppath) converte i modelli, i sottosistemi e le librerie presenti nella cartella toppath e nelle sue sottocartelle. 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®.

esempio

hydraulicToIsothermalLiquid(___,subsystemflag) sostituisce i blocchi della libreria Hydraulic con blocchi equivalenti della libreria Isothermal Liquid e li organizza nel modello newfile in base al valore del parametro subsystemflag.

esempio

hydraulicToIsothermalLiquid(___,oldcustomblocks,newcustomblocks) sostituisce i blocchi idraulici personalizzati elencati in oldcustomblocks con i corrispondenti blocchi di liquido isotermico newcustomblocks. Utilizzare questa sintassi per convertire modelli che contengono blocchi idraulici personalizzati, come i blocchi libreria mascherati o i blocchi personalizzati scritti in linguaggio Simscape.

Per creare una versione liquida isotermica equivalente dei blocchi personalizzati:

  • Per i blocchi libreria e sottosistemi personalizzati che contengono blocchi libreria Foundation > Hydraulic o della libreria Fluids > Hydraulics (Isothermal), 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.

newfiles = hydraulicToIsothermalLiquid(___) restituisce l'elenco dei nomi dei file convertiti come newfiles. Lo strumento di conversione forma ciascun nuovo nome del file aggiungendo _converted al nome del file originale.

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.

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 Hydraulic.

Sostituire i blocchi della libreria Hydraulic con blocchi equivalenti della libreria Isothermal Liquid.

hydraulicToIsothermalLiquid(bdroot)
ans =

  1×1 cell array

    {'HydraulicActuatorWithAnalogControlH_converted'}

Lo strumento di conversione crea un nuovo file denominato HydraulicActuatorWithAnalogControlH_converted e lo salva, unitamente al report di conversione, nella cartella attuale.

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.

In questo esempio, si ripulisce il modello dopo aver utilizzato lo strumento di conversione. Per prima cosa, completate l'esempio Conversione del modello per l'utilizzo dei blocchi di liquido isotermico. Queste immagini mostrano il modello convertito e il report di conversione.

Per un elenco dei messaggi di conversione e delle azioni consigliate per risolverli, vedere Conversion Messages After Converting Hydraulic to Isothermal Liquid Models. Per ciascun messaggio, facendo clic su un collegamento nella colonna Block si apre il sottosistema associato e viene evidenziato il blocco che ha generato il messaggio.

I primi due messaggi si riferiscono alle due camere del sottosistema Hydraulic Actuator. Il modello originale utilizzava un blocco Translational Hydro-Mechanical Converter per ciascuna di queste camere. Lo strumento di conversione ha sostituito questi blocchi con un blocco Translational Mechanical Converter (IL).

I blocchi Translational Hydro-Mechanical Converter presentano un parametro Specific heat ratio ma, nel dominio del liquido isotermico, tutte le proprietà del fluido sono definite nel blocco Isothermal Liquid Properties (IL). Il report di conversione elenca il valore originale del parametro Specific heat ratio nel blocco originale, in modo da poter impostare le proprietà del fluido nel blocco Isothermal Liquid Properties (IL): 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.

Si apre il sottosistema Spool Valve. Lo strumento evidenzia il blocco Orifice PA.

Nel modello originale HydraulicActuatorWithAnalogControlH, aprire il sottosistema Spool Valve.

Orifice PA è uno dei quattro blocchi Variable Area Hydraulic Orifice che compongono la valvola. Fare doppio clic sul blocco Orifice PA per visualizzarne i parametri.

Lo strumento di conversione ha sostituito ciascun blocco Variable Area Hydraulic Orifice con un blocco Local Restriction (IL). Fare doppio clic sul blocco Orifice PA per visualizzarne i parametri.

Il primo messaggio di avviso nel report di conversione relativo al blocco Orifice PA, Critical Reynolds number set to 150, è dovuto al fatto che il parametro Laminar transition specification è Pressure ratio nel blocco originale Variable Area Hydraulic Orifice. 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.

L'avviso seguente, 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 è possibile regolare questo valore in modo che corrisponda alla scheda tecnica del modello.

I restanti messaggi di conversione si riferiscono agli altri tre orifizi. È possibile esaminare questi tre blocchi nel modello originale per verificare che non sia necessaria alcuna azione.

Dopo aver risolto i messaggi di conversione, è possibile confrontare i risultati della simulazione del modello originale con quelli del modello convertito per assicurarsi che siano uguali. Se lo si desidera, è possibile eseguire un'ulteriore pulizia estetica. Ad esempio, è possibile reindirizzare manualmente le linee di collegamento.

Per vedere un esempio di questo modello dopo la conversione e la pulizia, aprire il modello HydraulicActuatorWithAnalogControlExample.

openExample('simscape/HydraulicActuatorWithAnalogControlExample')

Confrontare questo modello con il modello originale HydraulicActuatorWithAnalogControlH e con il modello convertito HydraulicActuatorWithAnalogControlH_converted.

Questo esempio mostra come utilizzare i sottosistemi per mantenere il routing delle linee durante la conversione di un modello.

Aprire il modello di esempio Ciclo di cavitazione.

openExample('simscape/CavitationCycleExample')

Convertire il modello con i sottosistemi per mantenere il routing delle linee.

hydraulicToIsothermalLiquid('CavitationCycle.slx','addsubsystems')

Aprire il sottosistema Custom Cylinder.

La funzione inserisce entrambi i pistoni nei sottosistemi per mantenere il routing delle linee.

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.

Si supponga di avere un modello denominato modelWithLink che contiene 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 e il modello di riferimento specificando i file in un array di celle.

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

  2×1 cell array

    {'modelWithLink_converted' }
    {'referenceModel_converted'}

Lo strumento di conversione crea due nuovi modelli, modelWithLink_converted e referenceModel_converted, nelle stesse cartelle dei modelli originali.

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

Lo strumento salva il report di conversione HtoIL_report, nella posizione del primo file specificato nell'argomento di input oldfiles.

Dopo aver esaminato il report, risolto manualmente i problemi e confrontato i risultati della simulazione, è possibile utilizzare la funzione hydraulicToIsothermalLiquidPostProcess per ripristinare i nomi dei file originali:

finalFiles = hydraulicToIsothermalLiquidPostProcess(convertedFiles)

La funzione sovrascrive i file dei modelli originali con i modelli _converted.

Questo esempio mostra come convertire tutti i file presenti in una cartella di livello superiore e nelle sue sottocartelle. Lo strumento converte tutti i file che contengono blocchi idraulici, preserva i collegamenti tra di essi e restituisce l'elenco dei file convertiti. Se un file non contiene blocchi idraulici, lo strumento non lo modifica.

Si supponga di avere una cartella denominata topFolder, contenente sottocartelle con librerie Simulink® personalizzate, modelli e sottosistemi di riferimento, nonché modelli.

Assicurarsi che topFolder e 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 nomina i file convertiti utilizzando i nomi dei modelli originali e aggiungendo _converted. Lo strumento salva ciascun modello convertito nella stessa cartella di quello originale.

In questo esempio, lo strumento non ha generato un file _converted per modelWithoutHydraulicBlocks, poiché questo modello non contiene blocchi idraulici.

Lo strumento salva il report di conversione in topFolder.

Dopo aver esaminato il report, risolto manualmente i problemi e confrontato i risultati della simulazione, è 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.

Argomenti di input

comprimi tutto

Nome o handle 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 trovarsi nel percorso di MATLAB o caricato. Il nome del file può essere un nome di percorso assoluto o relativo.

Esempio 'HydraulicActuator'

Esempio 'C:\Work\HydraulicActuator.slx'

Esempio 'subfolder\HydraulicActuator'

Posizione del sistema del diagramma a blocchi convertito e del report, specificata come vettore di caratteri o scalare di stringa contenente un nome di percorso assoluto o relativo.

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, specificato come array di celle unidimensionale di vettori di caratteri o scalari di stringa, in cui ogni elemento è un nome di file. L'array di celle può essere orizzontale o verticale. I nomi dei file possono includere nomi di percorso assoluti o relativi. I file possono essere un modello, un sottosistema o una libreria e devono trovarsi nel percorso di MATLAB o caricati. Quando si converte un elenco di file, lo strumento di conversione preserva i collegamenti tra i file convertiti presenti nell'elenco, salva ciascun file convertito nella stessa cartella del file originale e il report di conversione nella posizione del primo file 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 vettore di caratteri o scalare di stringa contenente un 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. 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 e il report di conversione nella cartella toppath.

Esempio 'C:\Work\MyLibraries'

Elenco dei blocchi idraulici personalizzati da sostituire, specificato come array di celle unidimensionale di vettori di caratteri o scalari di stringa, in cui ogni elemento è un nome di file.

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.

Esempio {'customH_lib/Sublibrary1/Block 1'; 'customH_lib/Block 2'}

Elenco dei blocchi di liquido isotermico personalizzati da utilizzare in sostituzione di oldcustomfiles, specificato come array di celle unidimensionale di vettori di caratteri o scalari di stringa, in cui ogni elemento è un nome di file.

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.

Esempio {'customIL_lib/Sublibrary1/Block A'; 'customIL_lib/Block B'}

Opzione per inserire i blocchi convertiti nei sottosistemi, specificata come 'omitsubsystems' o 'addsubsystems'. Quando subsystemflag è 'omitsubsystems' la funzione utilizza i sottosistemi solo se lo strumento sostituisce un singolo blocco Hydraulic con più blocchi Simscape. Se si specifica subsystemflag come 'addsubsystems', la funzione inserisce nei sottosistemi dei blocchi che influenzano il routing delle linee, al fine di preservare il routing delle linee del modello idraulico.

Se si specifica un valore per subsystemflag, tale valore deve essere l'ultimo argomento di input.

Argomenti di output

comprimi tutto

Nomi dei modelli, dei sottosistemi o delle librerie convertiti, restituiti come array di celle di colonne unidimensionale di vettori di caratteri contenente i 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