Main Content

hydraulicToIsothermalLiquid

Actualice un sistema de diagramas de bloques de Hydraulic para utilizar bloques Isothermal Liquid

Desde R2020a

Descripción

ejemplo

newfile = hydraulicToIsothermalLiquid(oldfile,newpath) sustituye los bloques de la biblioteca Foundation > Hydraulic en el sistema de diagramas de bloques especificado, oldfile, por bloques de la biblioteca Isothermal Liquid equivalente, al tiempo que intenta conservar los valores de los parámetros y las conexiones entre los bloques siempre que sea posible. 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. oldfile puede ser un modelo, subsistema o biblioteca.

Las bibliotecas de bloques Isothermal Liquid se estructuran de forma similar a otros dominios de fluidos, como líquido térmico y, a menudo, no existe una correspondencia exacta entre los bloques de la biblioteca Isothermal Liquid e Hydraulic. La herramienta de conversión enumera todos los problemas que surjan durante la conversión en un informe HTML, guarda el informe y el sistema de diagramas de bloques convertido en la ubicación especificada por newpath y devuelve el nombre del sistema convertido newfile.

Los argumentos newfile y newpath son opcionales. Si omite el argumento newpath, debe contar con acceso de escritura a su carpeta de trabajo actual, ya que la herramienta guarda el sistema convertido y el informe en la carpeta.

El nuevo archivo se basa en la última versión guardada del archivo antiguo. Es decir, si modifica el sistema de diagramas de bloques original y no lo guarda antes de usar la herramienta de conversión, las modificaciones no se reflejan en el nuevo sistema. También es una práctica recomendada asegurarse de que el sistema de diagramas de bloques original compila sin problemas antes de utilizar la herramienta de conversión.

Para obtener más información sobre las consideraciones relativas a la actualización y su proceso, consulte Actualizar modelos hidráulicos para utilizar bloques Isothermal Liquid.

ejemplo

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

Si un archivo enumerado en oldfiles contiene bloques de la biblioteca Foundation > Hydraulic o de la biblioteca Fluids > Hydraulics (Isothermal), la herramienta los sustituye por los bloques de la biblioteca Isothermal Liquid equivalente, añade _converted al nombre del archivo original y guarda cada archivo convertido en la misma carpeta que el archivo original. Si un archivo no contiene bloques de Hydraulic ni hace referencia a un archivo enumerado en oldfiles que contenga bloques de Hydraulic, la herramienta no hace cambios en este archivo. La herramienta devuelve la lista de nombres de los archivos convertidos, newfiles, y guarda el informe de conversión en la ubicación del primer archivo enumerado en oldfiles. El informe de conversión, denominado HtoIL_report, enumera todos los problemas que surjan durante la conversión de todos los archivos de la lista oldfiles.

ejemplo

newfiles = hydraulicToIsothermalLiquid(toppath) convierte todos los modelos, subsistemas y bibliotecas en la carpeta toppath y sus subcarpetas, conservando al mismo tiempo los enlaces entre los archivos convertidos de la lista. 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®. Si un modelo, subsistema o biblioteca contiene bloques de la biblioteca Foundation > Hydraulic o de la biblioteca Fluids > Hydraulics (Isothermal), la herramienta los sustituye por los bloques de la biblioteca Isothermal Liquid equivalente, añade _converted al nombre del archivo original y guarda cada archivo convertido en la misma carpeta que el archivo original. Si un archivo no contiene bloques de Hydraulic ni hace referencia a un archivo de la jerarquía de carpetas toppath que contenga bloques de Hydraulic, la herramienta no hace cambios en este archivo. La herramienta devuelve la lista de nombres de los archivos convertidos, newfiles, y guarda el informe de conversión, denominado HtoIL_report, en la carpeta toppath.

newfiles = hydraulicToIsothermalLiquid(___,oldcustomblocks,newcustomblocks) sustituye los bloques personalizados de Hydraulic enumerados en oldcustomblocks por los bloques de Isothermal Liquid correspondientes, newcustomblocks. En el caso de cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores, especifique dos arreglos de celdas de nombres de bloques personalizados después de todos los demás argumentos de entrada. Utilice esta sintaxis para convertir modelos que contengan bloques personalizados de Hydraulic, como bloques personalizados o bloques ocultos en bibliotecas escritos en el lenguaje de Simscape.

Antes de utilizar esta sintaxis, deberá preparar la versión de Isothermal Liquid equivalente de los bloques 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 de Hydraulic escritos en el lenguaje de Simscape, cree manualmente versiones equivalentes de estos bloques que utilicen el dominio de líquidos isotérmicos.

Si, durante la conversión, la herramienta se topa con un bloque enumerado en oldcustomblocks, esta sustituye ese bloque por el bloque equivalente enumerado en newcustomblocks. 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.

Ejemplos

contraer todo

En este ejemplo se muestra cómo utilizar la herramienta de conversión sobre un modelo que contiene bloques de Hydraulic. La herramienta genera un modelo convertido y un informe HTML. El siguiente ejemplo, Depurar el modelo después de la conversión, muestra cómo puede utilizar el informe HTML para revisar y corregir los problemas con los que se encuentra la herramienta de conversión.

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

openExample('simscape/HydraulicActuatorWithAnalogControlHExample')

Este modelo de ejemplo contiene bloques de las bibliotecas de Hydraulic.

Convierta el modelo para sustituir los bloques de la biblioteca Hydraulic por bloques equivalentes de la biblioteca Isothermal Liquid:

hydraulicToIsothermalLiquid(bdroot)
ans =

  1×1 cell array

    {'HydraulicActuatorWithAnalogControlH_converted'}

La herramienta de conversión forma el nombre del nuevo modelo añadiendo _converted al nombre del modelo original. Puesto que no ha especificado el argumento newpath, la herramienta de conversión guarda el modelo HydraulicActuatorWithAnalogControlH_converted en la carpeta actual.

La herramienta también genera un informe HTML y lo guarda en la carpeta actual. El informe enumera todos los problemas que hayan surgido durante el proceso 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. Para obtener más información, consulte Depurar el modelo después de la conversión.

En el ejemplo anterior, Convertir un modelo para utilizar bloques de Isothermal Liquid, utilizó la herramienta de conversión en el modelo HydraulicActuatorWithAnalogControlH. La herramienta genera un modelo convertido, HydraulicActuatorWithAnalogControlH_converted, y un informe HTML. En este ejemplo, utilizará el informe HTML para revisar y corregir los problemas con los que se encuentra la herramienta 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, al hacer clic en un enlace de la columna Block del informe HTML, se abre el subsistema adecuado, según sea necesario, y se resalta el bloque que ha generado el mensaje.

Los primeros dos mensajes del informe HTML hacen referencia a las dos cámaras del subsistema Hydraulic Actuator. En el modelo original, cada una de estas cámaras se implementó con un bloque Translational Hydro-Mechanical Converter. La herramienta de conversión sustituyó cada uno de estos bloques por un bloque Translational Mechanical Converter (IL).

Los bloques Translational Hydro-Mechanical Converter del modelo original tenían 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).

La herramienta de conversión imprime el valor del parámetro Specific heat ratio en el bloque original por cuestiones prácticas: 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 del informe HTML.

La herramienta busca debajo de la máscara del bloque Spool Valve y destaca el subsistema Orifice PA.

En el modelo original, HydraulicActuatorWithAnalogControlH, busque debajo de la máscara del bloque Spool Valve.

Orifice PA es uno de los cuatro bloques Variable Area Hydraulic Orifice que incluye la válvula, y cada uno de estos bloques presenta mensajes de conversión similares. El proceso de depuración manual para cada uno de estos bloques también es similar.

Haga doble clic en el bloque Orifice PA del modelo original para ver sus parámetros.

La herramienta de conversión ha sustituido cada bloque Variable Area Hydraulic Orifice por un bloque Local Restriction (IL). Para obtener más información, consulte Block Substitutions for Foundation Library Hydraulic Blocks. Puesto que las ubicaciones de los puertos para estos bloques son distintas, la herramienta de conversión ha colocado cada uno de los bloques Local Restriction (IL) en un subsistema para conservar el diseño del diagrama.

Haga doble clic en el subsistema Orifice PA del modelo convertido y, a continuación, en el bloque Orifice PA que hay dentro para ver sus parámetros.

El primer mensaje de conversión para el bloque Orifice PA, Critical Reynolds number set to 150, se deriva del hecho de que el bloque Variable Area Hydraulic Orifice original tenía el parámetro Laminar transition specification establecido en Pressure ratio. 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 conversión para el bloque Orifice PA, 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 si lo desea.

El resto de los mensajes de la conversión hacen referencia a los otros tres orificios e indican también que no se espera ningún cambio de comportamiento. Puede analizar estos tres bloques en el modelo original de forma similar para verificar que no se requiere ninguna acción.

Llegados a este punto, una vez resueltos todos los mensajes de la conversión, habrá completado la depuración necesaria del modelo. Puede comparar los resultados de la simulación del modelo original y el convertido para asegurarse de que son los mismos. También puede llevar a cabo otra depuración de aspectos más estéticos si lo desea. Por ejemplo, puede mover los bloques convertidos con cambios a la ubicación de su puerto fuera de los subsistemas y 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 Hydraulic Actuator con el modelo de ejemplo Analog Position Controller en el dominio de líquidos isotérmicos:

openExample('simscape/HydraulicActuatorWithAnalogControlExample')

Compare este modelo con el modelo original, HydraulicActuatorWithAnalogControlH, y el modelo convertido generado por la herramienta, HydraulicActuatorWithAnalogControlH_converted.

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.

Considere un modelo, que para los fines de este ejemplo se denomina modelWithLink, que contenga algunos bloques de Hydraulic y un modelo de referencia, referenceModel, que también contenga bloques de Hydraulic. referenceModel se ubica en una carpeta independiente, Reference Systems, que está en la ruta de MATLAB.

Convierta el modelo modelWithLink junto con el modelo de referencia especificando sus nombres en una lista de archivos:

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

  2×1 cell array

    {'modelWithLink_converted' }
    {'referenceModel_converted'}

La herramienta de conversión forma el nombre del nuevo modelo añadiendo _converted al nombre del modelo original y guarda cada modelo convertido en la misma carpeta que el original.

Observe cómo el modelo convertido modelWithLink_converted tiene ahora bloques de Isothermal Liquid y se asocia al modelo de referencia convertido, referenceModel_converted, que también tiene bloques de Isothermal Liquid.

La herramienta también genera un informe de conversión común denominado HtoIL_report y lo guarda en la ubicación del primer archivo enumerado en el argumento de entrada oldfiles. En este caso, el primer archivo es modelWithLink, por lo que el informe se guarda en la misma carpeta que este archivo. El informe enumera los problemas de conversión de todos los archivos de la lista oldfiles.

Revise el informe HTML y corrija manualmente los problemas restantes.

Compare los resultados de la simulación de los modelos convertidos con los de los modelos originales para asegurarse de que los resultados son los esperados. En el informe HTML, investigue los mensajes de las secciones Removed Blocks y Parameter Warnings. Los mensajes de estas secciones indican si se esperan cambios de comportamiento y sugieren las acciones adecuadas.

Una vez que los sistemas convertidos se comporten como está previsto, podrá utilizar la función hydraulicToIsothermalLiquidPostProcess para restaurar los nombres originales de los archivos:

finalFiles = hydraulicToIsothermalLiquidPostProcess(convertedFiles)

La función sobrescribe los archivos originales eliminando el sufijo _converted de los nombres de los archivos y de los enlaces entre los archivos. Para obtener más información, consulte hydraulicToIsothermalLiquidPostProcess.

En este ejemplo se muestra cómo puede especificar una ruta a una carpeta de nivel superior para que la herramienta de conversión pueda procesar todos los archivos de esta carpeta de nivel superior y de sus subcarpetas. La herramienta convierte todos los archivos que contienen bloques de Hydraulic y conserva los enlaces entre ellos; después, devuelve la lista con los archivos convertidos. Si un archivo no contiene bloques de Hydraulic, la herramienta no hace cambios en el archivo.

Considere una carpeta, denominada en este ejemplo topFolder para mayor claridad, que contenga subcarpetas con bibliotecas, modelos y subsistemas de referencia y modelos personalizados de Simulink®, algunos con bloques de Hydraulic y otros sin ellos.

Antes de convertir los archivos, asegúrese de que topFolder y todas 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 forma el nombre del nuevo modelo añadiendo _converted al nombre del modelo original y guarda cada modelo convertido en la misma carpeta que el original.

Observe cómo la herramienta no ha generado un archivo _converted para modelWithoutHydraulicBlocks y no ha devuelto su nombre en el arreglo de celdas convertedFiles, puesto que este modelo no contiene bloques de Hydraulic.

La herramienta también genera un informe HTML denominado HtoIL_report.html y lo guarda en topFolder. Para cada archivo convertido, el informe enumera todos los problemas que hayan surgido durante el proceso de conversión.

Revise el informe HTML y corrija manualmente los problemas restantes.

Compare los resultados de la simulación de los modelos convertidos con los de los modelos originales para asegurarse de que los resultados son los esperados. En el informe HTML, investigue los mensajes de las secciones Removed Blocks y Parameter Warnings. Los mensajes de estas secciones indican si se esperan cambios de comportamiento y sugieren las acciones adecuadas.

Cuando convierte todos los archivos de una carpeta y sus subcarpetas, la herramienta de conversión actualiza todos los enlaces a bibliotecas, referencias a los modelos y referencias a los subsistemas de estos archivos para que dirijan a las versiones _converted de estos archivos. Una vez que los sistemas convertidos se comporten como está previsto, podrá 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. Para obtener más información, consulte hydraulicToIsothermalLiquidPostProcess.

Argumentos de entrada

contraer todo

Nombre del sistema de diagramas de bloques que se va a convertir, especificado como vector de caracteres, escalar de cadena o identificador. oldfile puede ser un modelo, un subsistema o una biblioteca. Debe estar en la ruta de MATLAB o cargarse antes de utilizar la herramienta de conversión. El nombre del archivo puede incluir un nombre de ruta absoluta o relativa. Para obtener más información, consulte Especificar nombres de archivos.

Ejemplo: 'HydraulicActuator'

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

Ejemplo: 'subfolder\HydraulicActuator'

Ubicación donde la herramienta guarda el sistema de diagramas de bloques convertido y el informe, especificada como nombre de ruta absoluta o relativa.

Este argumento es opcional. 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 se van a convertir, especificada como arreglo de celdas de una dimensión de nombres de archivos, con cada nombre de archivo especificado como vector de caracteres o escalar de cadena. El arreglo de celdas de una dimensión puede ser horizontal o vertical. Los nombres de los archivos pueden incluir nombres de rutas absolutas o relativas. Cada uno de estos archivos puede ser un modelo, un subsistema o una biblioteca, y debe estar en la ruta de MATLAB o cargarse antes de utilizar la herramienta de conversión. Cuando convierte una lista de archivos, la herramienta de conversión conserva los enlaces entre los archivos convertidos de la lista. La herramienta guarda cada archivo convertido en la misma carpeta que el archivo original, genera un informe de conversión común, lo denomina HtoIL_report y lo guarda en la ubicación del primer archivo enumerado en 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 se van a convertir, especificado como 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. Para que sea posible convertir estos sistemas, las subcarpetas también deben estar en la ruta de MATLAB. La herramienta conserva los enlaces entre los archivos convertidos, guarda cada archivo convertido en la misma carpeta que el archivo original, denomina el informe de conversión HtoIL_report y lo guarda en la carpeta toppath.

Ejemplo: 'C:\Work\MyLibraries'

Lista de los bloques personalizados de Hydraulic que se van a reemplazar, especificada como arreglo de celdas de una dimensión de nombres de archivos, con cada nombre de archivo especificado como vector de caracteres o escalar de cadena.

Lista de los bloques personalizados de Isothermal Liquid que se van a utilizar como sustitutos de oldcustomfiles, especificada como arreglo de celdas de una dimensión de nombres de archivos, con cada nombre de archivo especificado como vector de caracteres o escalar de cadena.

Argumentos de salida

contraer todo

Nombre del modelo, subsistema o biblioteca convertidos, devuelto como arreglo de celdas de vectores de caracteres de un único elemento. El vector de caracteres es el nombre del nuevo archivo, sin la ruta ni la extensión. La herramienta de conversión forma el nombre del nuevo archivo añadiendo _converted al nombre del modelo original, oldfile.

Nombres de los modelos, subsistemas o bibliotecas convertidos, devueltos como cell arrays de una columna de nombres de archivos, 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