Contenido principal

hydraulicToIsothermalLiquid

Actualizar un diagrama de bloques Hydraulic para utilizar bloques Isothermal Liquid

Descripción

hydraulicToIsothermalLiquid convierte los bloques Hydraulic en bloques Isothermal Liquid, añade _converted al nombre del archivo original y guarda cada archivo convertido. Aunque la herramienta de conversión intenta conservar los valores de los parámetros y las conexiones entre los bloques, no siempre existe una correspondencia exacta entre los bloques de las bibliotecas Isothermal Liquid e Hydraulic. La herramienta de conversión enumera los problemas que surgen durante la conversión en un informe HTML.

Para obtener más información, consulte Actualizar modelos hidráulicos para utilizar bloques Isothermal Liquid.

hydraulicToIsothermalLiquid(oldfile) sustituye bloques de la biblioteca Foundation > Hydraulic en el sistema de diagrama de bloques, oldfile, por bloques equivalentes de la biblioteca Isothermal Liquid y guarda cada archivo convertido en la misma carpeta que el archivo original. Si tiene una licencia de Simscape™ Fluids™, esta herramienta también sustituye bloques de la biblioteca Fluids > Hydraulics (Isothermal) por bloques equivalentes de las bibliotecas Fluids > Isothermal Liquid y Foundation > Isothermal Liquid.

ejemplo

hydraulicToIsothermalLiquid(oldfile,newpath) sustituye los bloques en el sistema de diagramas de bloques especificado y guarda el sistema de diagramas de bloques convertido y el informe de conversión en la ubicación especificada por newpath.

hydraulicToIsothermalLiquid(oldfiles) convierte una lista de archivos, oldfiles, donde cada uno de los archivos puede ser un modelo, un subsistema o una biblioteca. La herramienta de conversión conserva los enlaces entre los archivos convertidos. Utilice esta sintaxis para convertir modelos que contengan referencias o enlaces a otras bibliotecas, modelos o subsistemas.

ejemplo

hydraulicToIsothermalLiquid(toppath) convierte los modelos, subsistemas y bibliotecas en la carpeta toppath y sus subcarpetas. Utilice esta sintaxis para convertir bibliotecas personalizadas y otros modelos que contengan referencias o enlaces a otras bibliotecas, modelos o subsistemas. Tanto toppath como sus subcarpetas deben estar en la ruta de MATLAB®.

ejemplo

hydraulicToIsothermalLiquid(___,subsystemflag) sustituye los bloques de la biblioteca Hydraulic por bloques equivalentes de la biblioteca Isothermal Liquid, y organiza los bloques del modelo newfile según el valor del parámetro subsystemflag.

ejemplo

hydraulicToIsothermalLiquid(___,oldcustomblocks,newcustomblocks) sustituye los bloques personalizados Hydraulic que aparecen en oldcustomblocks por los bloques Isothermal Liquid correspondientes, newcustomblocks. Utilice esta sintaxis para convertir modelos que contengan bloques personalizados Hydraulic, como bloques personalizados o bloques ocultos en bibliotecas escritos en el lenguaje de Simscape.

Para crear una versión equivalente de bloques Isothermal Liquid personalizados:

  • En el caso de bloques y subsistemas de bibliotecas personalizadas que contienen bloques de la biblioteca Foundation > Hydraulic o de la biblioteca Fluids > Hydraulics (Isothermal), ejecute la herramienta de conversión en estas bibliotecas personalizadas.

  • En el caso de bloques personalizados Hydraulic escritos en el lenguaje de Simscape, cree manualmente versiones equivalentes de estos bloques que utilicen el dominio de líquidos isotérmicos.

newfiles = hydraulicToIsothermalLiquid(___) devuelve la lista de nombres de los archivos convertidos como newfiles. La herramienta de conversión forma el nombre de cada archivo nuevo añadiendo _converted al nombre del archivo original.

Ejemplos

contraer todo

En este ejemplo, se muestra cómo utilizar la herramienta de conversión en un modelo que contiene bloques Hydraulic. La herramienta genera un modelo convertido y un informe HTML.

Abra Hydraulic Actuator con el modelo de ejemplo Analog Position Controller:

openExample('simscape/HydraulicActuatorWithAnalogControlHExample')

Este modelo de ejemplo contiene bloques de las bibliotecas Hydraulic.

Sustituya los bloques de la biblioteca Hydraulic por los bloques equivalentes de la biblioteca Isothermal Liquid.

hydraulicToIsothermalLiquid(bdroot)
ans =

  1×1 cell array

    {'HydraulicActuatorWithAnalogControlH_converted'}

La herramienta de conversión crea un nuevo archivo denominado HydraulicActuatorWithAnalogControlH_converted y lo guarda en la carpeta actual junto con el informe de conversión.

Revise el informe HTML y corrija manualmente los problemas restantes. En este ejemplo, el modelo convertido no contiene conexiones interrumpidas ni bloques eliminados, pero la herramienta de conversión ha generado varias advertencias de parámetros a las que debe prestar atención.

En este ejemplo, se depura el modelo después de utilizar la herramienta de conversión. Primero, complete el ejemplo Convertir un modelo para utilizar bloques de Isothermal Liquid. Estas imágenes muestran el modelo convertido y el informe de conversión.

Para ver una lista de los mensajes generados durante la conversión y de las acciones sugeridas para resolverlos, consulte Conversion Messages After Converting Hydraulic to Isothermal Liquid Models. Para cada mensaje, cuando se hace clic en un enlace de la columna Block, se abre el subsistema asociado y se resalta el bloque que ha generado el mensaje.

Los primeros dos mensajes hacen referencia a las dos cámaras del subsistema Hydraulic Actuator. El modelo original utilizaba un bloque Translational Hydro-Mechanical Converter para cada una de estas cámaras. La herramienta de conversión sustituyó estos bloques por un bloque Translational Mechanical Converter (IL).

Los bloques Translational Hydro-Mechanical Converter tienen un parámetro Specific heat ratio, pero en el dominio de líquidos isotérmicos, todas las propiedades del fluido están definidas en el bloque Isothermal Liquid Properties (IL). El informe de conversión enumera el valor original del parámetro Specific heat ratio en el bloque original para que pueda establecer las propiedades del fluido en el bloque 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.

Abra el bloque Isothermal Liquid Properties (IL) en el modelo convertido y establezca su parámetro Air polytropic index en 1.4.

Después de resolver los dos primeros mensajes de conversión, haga clic en el tercer enlace de la columna Block.

Se abre el subsistema Spool Valve. La herramienta destaca el bloque Orifice PA.

En el modelo original, HydraulicActuatorWithAnalogControlH, abra el subsistema Spool Valve.

Orifice PA es uno de los cuatro bloques Variable Area Hydraulic Orifice que incluye la válvula. Haga doble clic en el bloque Orifice PA para ver sus parámetros.

La herramienta de conversión ha sustituido cada bloque Variable Area Hydraulic Orifice por un bloque Local Restriction (IL). Haga doble clic en el bloque Orifice PA para ver sus parámetros.

El primer mensaje de advertencia del informe de conversión del bloque Orifice PA, Critical Reynolds number set to 150, se deriva del hecho de que el parámetro Laminar transition specification es Pressure ratio en el bloque Variable Area Hydraulic Orifice original. El bloque Local Restriction (IL) de sustitución puede especificar la transición entre el régimen laminar y turbulento solo con el número crítico de Reynolds, y la herramienta de conversión establece el parámetro Critical Reynolds number en su valor predeterminado de 150. Puesto que el bloque Variable Area Hydraulic Orifice del modelo original utilizaba el valor del parámetro Laminar flow pressure ratio predeterminado de 0.999, no se requiere ninguna acción.

El segundo mensaje de advertencia, Maximum restriction area set to 1e10 m^2, se deriva del hecho de que el bloque Variable Area Hydraulic Orifice original suponía un área de apertura máxima infinitamente grande, mientras que el bloque Local Restriction (IL) de sustitución, con Restriction type establecido en Variable, requiere un valor del parámetro Maximum restriction area inferior a inf.

La herramienta de conversión establece el parámetro Maximum restriction area del bloque de sustitución Local Restriction (IL) en un valor grande arbitrario, 1e10 m^2. No se requiere ninguna acción, pero puede ajustar este valor para que coincida con la ficha técnica de su modelo.

El resto de los mensajes de conversión hacen referencia a los otros tres orificios. Puede analizar estos tres bloques en el modelo original y verificar que no se requiere ninguna acción.

Después de abordar los mensajes de conversión, puede comparar los resultados de la simulación del modelo original y el convertido para asegurarse de que son los mismos. También puede realizar otra depuración de aspectos más estéticos si lo desea. Por ejemplo, puede volver a enrutar manualmente las líneas de conexión.

Para ver un ejemplo de este modelo después de la conversión y la depuración, abra el modelo HydraulicActuatorWithAnalogControlExample.

openExample('simscape/HydraulicActuatorWithAnalogControlExample')

Compare este modelo con el modelo original, HydraulicActuatorWithAnalogControlH, y el modelo convertido, HydraulicActuatorWithAnalogControlH_converted.

En este ejemplo, se muestra cómo utilizar los subsistemas para conservar el enrutamiento de líneas cuando se convierte un modelo.

Abra el modelo de ejemplo Cavitation Cycle.

openExample('simscape/CavitationCycleExample')

Convierta el modelo con subsistemas para conservar el enrutamiento de líneas.

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

Abra el subsistema Custom Cylinder.

La función sustituye ambos pistones en subsistemas para conservar el enrutamiento de líneas.

En este ejemplo se muestra cómo puede convertir modelos junto con los modelos, subsistemas y bibliotecas enlazadas de referencia, y conservar los enlaces entre los archivos convertidos.

Supongamos que tiene un modelo denominado modelWithLink que contiene bloques Hydraulic y un modelo de referencia, referenceModel, que también contiene bloques Hydraulic. referenceModel se ubica en una carpeta independiente, Reference Systems, que está en la ruta de MATLAB.

Convierta el modelo modelWithLink y el modelo de referencia especificando los archivos en un arreglo de celdas.

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

  2×1 cell array

    {'modelWithLink_converted' }
    {'referenceModel_converted'}

La herramienta de conversión crea dos nuevos modelos, modelWithLink_converted y referenceModel_converted, en las mismas carpetas que los modelos originales.

El modelo convertido, modelWithLink_converted, tiene bloques Isothermal Liquid y se asocia al modelo de referencia convertido, referenceModel_converted, que también tiene bloques Isothermal Liquid.

La herramienta guarda el informe de conversión, HtoIL_report, en la ubicación del primer archivo del argumento de entrada oldfiles.

Después de revisar el informe, corregir los problemas manualmente y comparar los resultados de simulación, puede utilizar la función hydraulicToIsothermalLiquidPostProcess para restaurar los nombres originales de los archivos:

finalFiles = hydraulicToIsothermalLiquidPostProcess(convertedFiles)

La función sobrescribe los archivos de modelo original con los modelos _converted.

Este ejemplo muestra cómo convertir todos los archivos de una carpeta de nivel superior y sus subcarpetas. La herramienta convierte todos los archivos que contienen bloques Hydraulic y conserva los enlaces entre ellos; después, devuelve la lista con los archivos convertidos. Si un archivo no contiene bloques Hydraulic, la herramienta no hace cambios en el archivo.

Supongamos que tiene una carpeta denominada topFolder que contiene subcarpetas con bibliotecas, modelos y subsistemas de referencia y modelos personalizados de Simulink®.

Asegúrese de que topFolder y sus subcarpetas se encuentran en la ruta de MATLAB.

addpath(genpath('topFolder'))

Convierta todos los archivos de topFolder y sus subcarpetas.

convertedFiles = hydraulicToIsothermalLiquid('topFolder')
convertedFiles =

  5×1 cell array

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

La herramienta de conversión denomina los archivos convertidos utilizando los nombres originales de los modelos y añadiendo _converted. La herramienta guarda cada modelo convertido en la misma carpeta que el original.

En este ejemplo, la herramienta no ha generado un archivo _converted para modelWithoutHydraulicBlocks, puesto que este modelo no contiene bloques Hydraulic.

La herramienta guarda el informe de conversión en topFolder.

Después de revisar el informe, corregir los problemas manualmente y comparar los resultados de simulación, puede utilizar la función hydraulicToIsothermalLiquidPostProcess para restaurar los nombres originales de los archivos:

finalFiles = hydraulicToIsothermalLiquidPostProcess('topFolder')

La función sobrescribe los archivos originales eliminando el sufijo _converted de los nombres de los archivos y de los enlaces entre los archivos.

Argumentos de entrada

contraer todo

Nombre o identificador del sistema de diagramas de bloques que desea convertir, especificado como un vector de caracteres, un escalar de cadena o un identificador. oldfile puede ser un modelo, un subsistema o una biblioteca. Debe estar en la ruta de MATLAB o cargarse. El nombre del archivo puede ser un nombre de ruta absoluta o relativa.

Ejemplo: 'HydraulicActuator'

Ejemplo: 'C:\Work\HydraulicActuator.slx'

Ejemplo: 'subfolder\HydraulicActuator'

Ubicación del sistema de diagramas de bloques convertido y del informe, especificada como un vector de caracteres o un escalar de cadena que contiene un nombre de ruta absoluta o relativa.

Si omite el argumento newpath, la herramienta guarda el sistema convertido y el informe en la carpeta de trabajo actual.

Ejemplo: 'C:\Work'

Lista de los sistemas de diagramas de bloques que desea convertir, especificada como un arreglo unidimensional de celdas de vectores de caracteres o escalares de cadena, donde cada elemento es un nombre de archivo. El arreglo de celdas puede ser horizontal o vertical. Los nombres de los archivos pueden incluir nombres de rutas absolutas o relativas. Los archivos pueden ser un modelo, un subsistema o una biblioteca, y deben estar en la ruta de MATLAB o cargarse. Cuando se convierte una lista de archivos, la herramienta de conversión conserva los enlaces entre los archivos convertidos de la lista y guarda cada archivo convertido en la misma carpeta que el archivo original y el informe de conversión en la ubicación del primer archivo de oldfiles.

Ejemplo: {'HydraulicActuatorLibrary' 'PumpLibrary'}

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

Nombre de ruta de la carpeta superior que contiene los sistemas de diagramas de bloques que desea convertir, especificados como un vector de caracteres o un escalar de cadena que contiene un nombre de ruta absoluta o relativa. La carpeta superior debe estar en la ruta de MATLAB. La carpeta superior puede contener subcarpetas que también contienen sistemas de diagramas de bloques. Las subcarpetas también deben estar en la ruta de MATLAB. La herramienta conserva los enlaces entre los archivos convertidos y guarda cada archivo convertido en la misma carpeta que el archivo original y el informe de conversión en la carpeta toppath.

Ejemplo: 'C:\Work\MyLibraries'

Lista de los bloques personalizados Hydraulic que desea reemplazar, especificada como un arreglo unidimensional de celdas de vectores de caracteres o escalares de cadena, donde cada elemento es un nombre de archivo.

Los dos arreglos de celdas, oldcustomblocks y newcustomblocks, deben tener el mismo número de elementos y cada elemento debe corresponderse con el nombre de un bloque. Los bloques respectivos enumerados en cada arreglo deben tener el mismo número de puertos en el mismo orden y los mismos nombres de los parámetros.

Lista de los bloques Isothermal Liquid personalizados que desea utilizar como sustitutos de oldcustomfiles, especificada como un arreglo unidimensional de celdas de vectores de caracteres o escalares de cadena, donde cada elemento es un nombre de archivo.

Los dos arreglos de celdas, oldcustomblocks y newcustomblocks, deben tener el mismo número de elementos y cada elemento debe corresponderse con el nombre de un bloque. Los bloques respectivos enumerados en cada arreglo deben tener el mismo número de puertos en el mismo orden y los mismos nombres de los parámetros.

Opción para colocar los bloques convertidos en subsistemas, especificada como 'omitsubsystems' o 'addsubsystems'. Cuando subsystemflag es 'omitsubsystems', la función utiliza solamente subsistemas si la herramienta sustituye un bloque Hydraulic por varios bloques de Simscape. Si especifica subsystemflag como 'addsubsystems', la función coloca bloques que influyen en el enrutamiento de líneas en subsistemas para conservar el enrutamiento de líneas del modelo de Hydraulic.

Si especifica un valor para subsystemflag, debe ser el último argumento de entrada.

Argumentos de salida

contraer todo

Nombres de los modelos, subsistemas o bibliotecas convertidos, devueltos como un arreglo unidimensional de celdas en columna de vectores de caracteres que contiene los nombres de archivo, sin la ruta ni la extensión.

La herramienta de conversión forma el nombre de cada archivo nuevo añadiendo _converted al nombre del archivo original.

Historial de versiones

Introducido en R2020a

expandir todo