Main Content

hydraulicToIsothermalLiquid

升级液压模块图系统以使用等温液体模块

自 R2020a 起

说明

示例

newfile = hydraulicToIsothermalLiquid(oldfile,newpath) 将指定模块图系统 oldfile 中 Foundation > Hydraulic 库中的模块替换为等效的 Isothermal Liquid 库模块,同时尽可能保留两种模块之间的参数值和连接。如果您拥有 Simscape™ Fluids™ 许可证,该工具还可将 Fluids > Hydraulics (Isothermal) 库中的模块替换为 Fluids > Isothermal Liquid 库和 Foundation > Isothermal Liquid 库中的等效模块。oldfile 可以是模型、子系统或库。

Isothermal Liquid 模块库的结构与其他流体域(例如 Thermal Liquid)类似,并且 Isothermal Liquid 库模块与 Hydraulic 库模块之间通常没有一对一的对应关系。转换工具会在 HTML 报告中列出转换过程中遇到的所有问题,将报告和转换后的模块图系统保存在 newpath 指定的位置,并返回转换后的系统 newfile 的名称。

newfilenewpath 参量均为可选参量。如果您省略了 newpath 参量,则必须具有当前工作文件夹的写入权限,因为该工具随后会将转换后的系统和报告保存在当前文件夹中。

新文件基于旧文件的上次保存版本。也就是说,如果您修改了原始模块图系统并且在使用转换工具之前没有进行保存,那么这些修改不会反映在新系统中。在使用转换工具之前确保原始模块图系统没有编译问题也是一种很好的做法。

有关升级注意事项和过程的详细信息,请参阅升级液压模型以使用 Isothermal Liquid 模块

示例

newfiles = hydraulicToIsothermalLiquid(oldfiles) 转换文件列表 oldfiles,其中每个文件可以是一个模型、子系统或库。当您转换文件列表时,转换工具会保留列表中转换后的文件之间的链接。使用此语法可转换包含对其他库、模型或子系统的引用或包含指向其他库、模型或子系统的链接的模型。

如果 oldfiles 中列出的文件包含来自 Foundation > Hydraulic 库或 Fluids > Hydraulics (Isothermal) 库的模块,则该工具会将这些模块替换为等效的 Isothermal Liquid 库模块,在原始文件的名称后追加 _converted,并将每个转换后的文件保存在与原始文件相同的文件夹中。如果某个文件不包含液压模块,并且不引用包含液压模块的 oldfiles 中列出的文件,则该工具将保持该文件不变。该工具会返回转换后的文件名列表 newfiles,并将转换报告保存在 oldfiles 中列出的第一个文件的位置。名为 HtoIL_report 的转换报告会列出在转换 oldfiles 列表中的所有文件过程中遇到的所有问题。

示例

newfiles = hydraulicToIsothermalLiquid(toppath) 转换文件夹 toppath 及其子文件夹中的所有模型、子系统和库,同时保留列表中转换后的文件之间的链接。使用此语法可转换包含对其他库、模型或子系统的引用或包含指向其他库、模型或子系统的链接的自定义库及其他模型。

toppath 及其子文件夹都必须位于 MATLAB® 路径上。如果模型、子系统或库包含来自 Foundation > Hydraulic 库或 Fluids > Hydraulics (Isothermal) 库的模块,则该工具会将这些模块替换为等效的 Isothermal Liquid 库模块,在原始文件的名称后追加 _converted,并将每个转换后的文件保存在与原始文件相同的文件夹中。如果某个文件不包含液压模块,并且不引用包含液压模块的 toppath 文件夹层次结构中的文件,则该工具将保持该文件不变。该工具会返回转换后的文件名列表 newfiles,并将名为 HtoIL_report 的转换报告保存在 toppath 文件夹中。

newfiles = hydraulicToIsothermalLiquid(___,oldcustomblocks,newcustomblocks)oldcustomblocks 中列出的自定义液压模块替换为相应的等温液体模块 newcustomblocks。对于上述语法中的任何输入参量组合,请在所有其他输入参量之后指定两个自定义模块名称元胞数组。使用此语法可转换包含自定义液压模块的模型,例如封装库模块或用 Simscape 语言编写的自定义模块。

必须先准备等效等温液体版本的自定义模块,然后才可以使用此语法:

  • 对于包含 Foundation > Hydraulic 库或 Fluids > Hydraulics (Isothermal) 库中的模块的自定义库模块和子系统,请对这些自定义库运行转换工具。

  • 对于用 Simscape 语言编写的自定义液压模块,请手动创建使用等温液体域的这些模块的等效版本。

如果该工具在转换过程中遇到 oldcustomblocks 中列出的模块,则该工具会将其替换为 newcustomblocks 中列出的等效模块。oldcustomblocksnewcustomblocks 这两个元胞数组必须具有相同数量的元素,每个元素对应一个模块名称。每个数组中列出的相应模块必须具有相同数量的端口、匹配的端口顺序和相同的编程参数名称。

示例

全部折叠

此示例展示如何在包含 Hydraulic 模块的模型上使用转换工具。该工具会生成一个转换后的模型和一个 HTML 报告。下一个示例转换后清理模型展示如何使用 HTML 报告来查看和修复转换工具遇到的问题。

打开示例模型“带模拟位置控制器的液压执行器”:

openExample('simscape/HydraulicActuatorWithAnalogControlHExample')

此示例模型包含来自 Hydraulic 库的模块。

转换模型以将 Hydraulic 库模块替换为 Isothermal Liquid 库中的等效模块:

hydraulicToIsothermalLiquid(bdroot)
ans =

  1×1 cell array

    {'HydraulicActuatorWithAnalogControlH_converted'}

转换工具通过在原始模型的名称之后附加 _converted 来形成新的模型名称。由于您未指定 newpath 参量,因此转换工具将 HydraulicActuatorWithAnalogControlH_converted 模型保存在当前文件夹中。

该工具还生成 HTML 报告并将其保存在当前文件夹中。该报告列出转换过程中遇到的任何问题。

查看 HTML 报告并手动修复其余问题。在此示例中,转换后的模型不包含断开的连接或删除的模块,但转换工具生成了多个需要注意的参数警告。有关详细信息,请参阅转换后清理模型

在前面的示例转换模型以使用 Isothermal Liquid 模块中,您在 HydraulicActuatorWithAnalogControlH 模型上使用了转换工具。该工具生成了转换后的模型 HydraulicActuatorWithAnalogControlH_converted 和 HTML 报告。在此示例中,您将使用 HTML 报告来查看和修复转换工具遇到的问题。

有关转换消息和处理这些消息的建议操作的列表,请参阅Conversion Messages After Converting Hydraulic to Isothermal Liquid Models。对于每条消息,点击 HTML 报告的模块列中的链接可根据需要打开相应的子系统,并突出显示生成该消息的模块。

HTML 报告中的前两条消息指向 Hydraulic Actuator 子系统的两个腔室。在原始模型中,这两个腔室中的每一个都是通过 Translational Hydro-Mechanical Converter 模块实现的。转换工具将每个模块替换为了 Translational Mechanical Converter (IL) 模块。

在原始模型中,Translational Hydro-Mechanical Converter 模块具有比热比参数,但在等温液体域中,所有流体属性都在 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.

打开转换后的模型中的 Isothermal Liquid Properties (IL) 模块,并将其空气多变指数参数设置为 1.4

处理完前两条转换消息后,点击 HTML 报告的模块列中的第三个链接。

工具在 Spool Valve 模块的封装下查找并突出显示 Orifice PA 子系统。

在原始模型 HydraulicActuatorWithAnalogControlHSpool Valve 模块的封装下查找。

Orifice PA 是构成阀门的四个 Variable Area Hydraulic Orifice 模块之一,每个模块都具有相似的转换消息。每个模块的手动清理过程也相似。

双击原始模型中的 Orifice PA 模块以查看其参数。

转换工具将每个 Variable Area Hydraulic Orifice 模块替换为了一个 Local Restriction (IL) 模块。(有关详细信息,请参阅Block Substitutions for Foundation Library Hydraulic Blocks。)由于这些模块的端口位置不同,因此转换工具将每个 Local Restriction (IL) 模块放在了一个子系统中,以保留图布局。

双击转换后的模型中的 Orifice PA 子系统,然后双击其中的 Orifice PA 模块,以查看其参数。

Orifice PA 模块的第一条转换消息 Critical Reynolds number set to 150 出现的原因在于,原始 Variable Area Hydraulic Orifice 模块的层流转变设定参数设置为了压力比Local Restriction (IL) 替换模块只能通过临界雷诺数来指定层流和湍流状态之间的转变,并且转换工具将临界雷诺数参数设置为其默认值 150。由于原始模型中的 Variable Area Hydraulic Orifice 模块使用默认的层流压力比参数值 0.999,因此无需执行任何操作。

Orifice PA 模块的第二条转换消息 Maximum restriction area set to 1e10 m^2 出现的原因在于,原始 Variable Area Hydraulic Orifice 模块假定最大开口面积无限大,而节流类型设置为变量Local Restriction (IL) 替换模块要求最大节流面积参数值小于 inf

转换工具将 Local Restriction (IL) 替换模块中的最大节流面积参数设置为任意大值 1e10 m^2。您无需执行任何操作,但可以根据需要调整此值,使其与模型的数据表一致。

其余的转换消息指向的是其他三个孔口,并且还指示它们预期不会发生行为变化。您可以通过类似的方式检查原始模型中的这三个模块,以验证不需要执行任何操作。

此时,在您处理完所有转换消息后,所需的模型清理就完成了。您可以将原始模型的仿真结果与转换后的模型的仿真结果进行比较,以确保它们相同。您还可以根据需要进行进一步的外观清理。例如,您可以将端口位置已更改的转换后的模块移出子系统,并手动重新布置连接线。

要查看转换和清理后的此模型的示例,请打开 Isothermal Liquid 域中的示例模型“带模拟位置控制器的液压执行器”:

openExample('simscape/HydraulicActuatorWithAnalogControlExample')

将此模型与原始模型 HydraulicActuatorWithAnalogControlH 以及工具生成的转换后的模型 HydraulicActuatorWithAnalogControlH_converted 进行比较。

此示例展示如何将模型与其引用的模型、子系统和链接的库一起进行转换,并保留转换后的文件之间的链接。

对于此示例,我们以名为 modelWithLink 的模型为例,该模型包含一些液压模块和一个引用模型 referenceModel,该引用模型也包含液压模块。referenceModel 位于 MATLAB 路径上的单独文件夹 Reference Systems 中。

通过在文件列表中指定模型名称,将 modelWithLink 模型与引用模型一起进行转换:

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

  2×1 cell array

    {'modelWithLink_converted' }
    {'referenceModel_converted'}

转换工具通过在原始模型的名称之后追加 _converted 来形成新的模型名称,并将每个转换后的模型保存在与原始模型相同的文件夹中。

请注意,转换后的模型 modelWithLink_converted 现在具有等温液体模块,并且它现在链接到转换后的引用模型 referenceModel_converted,该引用模型也具有等温液体模块。

该工具还生成一个名为 HtoIL_report 的通用转换报告,并将其保存在 oldfiles 输入参量中列出的第一个文件的位置。在本例中,第一个文件是 modelWithLink,因此报告保存在与该文件相同的文件夹中。该报告列出了 oldfiles 列表中所有文件的转换问题。

查看 HTML 报告并手动修复其余问题。

将转换后的模型的仿真结果与原始模型的仿真结果进行比较,以确保结果符合预期。在 HTML 报告中,调查删除的模块参数警告部分中的消息。这两部分中的消息指示是否预期会发生行为变化,并建议适当的操作。

如果满意于转换后的系统按预期运行,就可以使用 hydraulicToIsothermalLiquidPostProcess 函数来恢复原始文件名:

finalFiles = hydraulicToIsothermalLiquidPostProcess(convertedFiles)

该函数通过从文件名中和文件之间的链接中删除 _converted 后缀来覆盖原始文件。有关详细信息,请参阅 hydraulicToIsothermalLiquidPostProcess

此示例展示如何指定顶层文件夹的路径,以便转换工具处理此顶层文件夹及其子文件夹中的所有文件。该工具会转换包含液压模块的所有文件,同时保留它们之间的链接,并返回转换后的文件列表。如果某个文件不包含液压模块,则该工具将保持该文件不变。

为清晰起见,在此示例中,我们以名为 topFolder 的文件夹为例,其中包含具有自定义 Simulink® 库、引用模型和子系统以及模型的子文件夹,其中有些包含液压模块,有些则不包含。

在转换文件之前,请确保 topFolder 及其所有子文件夹都位于 MATLAB 路径上:

addpath(genpath('topFolder'))

转换 topFolder 及其子文件夹中的所有文件:

convertedFiles = hydraulicToIsothermalLiquid('topFolder')
convertedFiles =

  5×1 cell array

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

转换工具通过在原始模型的名称之后追加 _converted 来形成新的模型名称,并将每个转换后的模型保存在与原始模型相同的文件夹中。

请注意,该工具未为 modelWithoutHydraulicBlocks 生成 _converted 文件,并且未在 convertedFiles 元胞数组中返回其名称,因为该模型不包含液压模块。

该工具还生成一个名为 HtoIL_report.html 的 HTML 报告,并将其保存在 topFolder 中。该报告针对每个转换后的文件列出转换过程中遇到的任何问题。

查看 HTML 报告并手动修复其余问题。

将转换后的模型的仿真结果与原始模型的仿真结果进行比较,以确保结果符合预期。在 HTML 报告中,调查删除的模块参数警告部分中的消息。这两部分中的消息指示是否预期会发生行为变化,并建议适当的操作。

转换文件夹及其子文件夹中的所有文件时,转换工具会将这些文件中的所有库链接、模型引用和子系统引用更新为指向这些文件的 _converted 版本。如果满意于转换后的系统按预期运行,就可以使用 hydraulicToIsothermalLiquidPostProcess 函数来恢复原始文件名:

finalFiles = hydraulicToIsothermalLiquidPostProcess('topFolder')

该函数通过从文件名中和文件之间的链接中删除 _converted 后缀来覆盖原始文件。有关详细信息,请参阅 hydraulicToIsothermalLiquidPostProcess

输入参数

全部折叠

要转换的模块图系统的名称,指定为字符向量、字符串标量或句柄。oldfile 可以是模型、子系统或库。它必须位于 MATLAB 路径上或在使用转换工具之前加载。文件名可以包括绝对路径名或相对路径名。有关详细信息,请参阅指定文件名称

示例: 'HydraulicActuator'

示例: 'C:\Work\HydraulicActuator.slx'

示例: 'subfolder\HydraulicActuator'

转换工具保存转换后的模块图系统和报告的位置,指定为绝对路径名或相对路径名。

此参量是可选参量。如果您省略了 newpath 参量,转换工具会将转换后的系统和报告保存在当前工作文件夹中。

示例: 'C:\Work'

要转换的模块图系统的列表,指定为文件名的一维元胞数组,其中每个文件名指定为一个字符向量或字符串标量。一维元胞数组可以是横向的,也可以是纵向的。文件名可以包括绝对路径名或相对路径名。这些文件中的每一个都可以是模型、子系统或库,并且必须位于 MATLAB 路径上或在使用转换工具之前加载。当您转换文件列表时,转换工具会保留列表中转换后的文件之间的链接。该工具会将每个转换后的文件保存在与原始文件相同的文件夹中,生成一个通用转换报告,将其命名为 HtoIL_report,并将其保存在 oldfiles 中列出的第一个文件的位置。

示例: {'HydraulicActuatorLibrary' 'PumpLibrary'}

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

包含要转换的模块图系统的顶层文件夹的路径名,指定为绝对路径名或相对路径名。顶层文件夹必须位于 MATLAB 路径上。顶层文件夹可以包含同样包含模块图系统的子文件夹。对于要转换的这些系统,子文件夹也必须位于 MATLAB 路径上。该工具会保留转换后的文件之间的链接,将每个转换后的文件保存在与原始文件相同的文件夹中,将转换报告命名为 HtoIL_report 并将其保存在 toppath 文件夹中。

示例: 'C:\Work\MyLibraries'

要替换的自定义液压模块的列表,指定为文件名的一维元胞数组,其中每个文件名指定为一个字符向量或字符串标量。

用于替换 oldcustomfiles 的自定义等温液体模块的列表,指定为文件名的一维元胞数组,其中每个文件名指定为一个字符向量或字符串标量。

输出参量

全部折叠

转换后的模型、子系统或库的名称,以字符向量的单元素元胞数组形式返回。字符向量为新文件名,不带路径或扩展名。转换工具通过在原始文件名 oldfile 之后追加 _converted 来形成新文件名。

转换后的模型、子系统或库的名称,以文件名的一维列元胞数组形式返回,不带路径或扩展名。转换工具通过在原始文件名之后追加 _converted 来形成每个新文件名。

版本历史记录

在 R2020a 中推出

全部展开