Contenu principal

hydraulicToIsothermalLiquid

Mettre à jour un schéma bloc hydraulique pour utiliser des blocs Isothermal Liquid

Description

hydraulicToIsothermalLiquid convertit les blocs Hydraulic en blocs Isothermal Liquid, ajoute _converted à la fin du fichier d’origine et enregistre chaque fichier converti. L’outil de conversion s’efforce de conserver les valeurs des paramètres et les connexions entre les blocs. Cependant, il n’existe pas toujours de correspondance directe entre les blocs des bibliothèques Isothermal Liquid et Hydraulic. L’outil de conversion répertorie les problèmes rencontrés lors de la conversion dans un rapport HTML.

Pour plus d’informations, consultez la rubrique Mettre à jour des modèles hydrauliques pour utiliser des blocs Isothermal Liquid.

hydraulicToIsothermalLiquid(oldfile) remplace les blocs de la bibliothèque Foundation > Hydraulic présents dans le système de schémas blocs oldfile par des blocs équivalents de la bibliothèque Isothermal Liquid et enregistre chaque fichier converti dans le même dossier que le fichier d’origine. Si vous disposez d’une licence Simscape™ Fluids™, cet outil remplace également les blocs de la bibliothèque Fluids > Hydraulics (Isothermal) par des blocs équivalents des bibliothèques Fluids > Isothermal Liquid et Foundation > Isothermal Liquid.

exemple

hydraulicToIsothermalLiquid(oldfile,newpath) remplace les blocs du système de schémas blocs spécifié et enregistre le système de schémas blocs converti ainsi que le rapport de conversion à l’emplacement indiqué par newpath.

hydraulicToIsothermalLiquid(oldfiles) convertit une liste de fichiers, oldfiles, dans laquelle chaque fichier peut être un modèle, un sous-système ou une bibliothèque. L’outil de conversion conserve les liens entre les fichiers convertis. Utilisez cette syntaxe pour convertir des modèles qui contiennent des références ou des liens vers d’autres bibliothèques, modèles ou sous-systèmes.

exemple

hydraulicToIsothermalLiquid(toppath) convertit les modèles, sous-systèmes et bibliothèques du dossier toppath et de ses sous-dossiers. Utilisez cette syntaxe pour convertir des bibliothèques personnalisées et autres modèles qui contiennent des références ou des liens vers d’autres bibliothèques, modèles ou sous-systèmes. toppath et ses sous-dossiers doivent se trouver dans le répertoire MATLAB®.

exemple

hydraulicToIsothermalLiquid(___,subsystemflag) remplace les blocs issus de la bibliothèque Hydraulic par des blocs équivalents de la bibliothèque Isothermal Liquid et les organise dans le modèle newfile en fonction de la valeur du paramètre subsystemflag.

exemple

hydraulicToIsothermalLiquid(___,oldcustomblocks,newcustomblocks) remplace les blocs Hydraulic personnalisés figurant dans oldcustomblocks par les blocs Isothermal Liquid correspondants newcustomblocks. Utilisez cette syntaxe pour convertir des modèles qui contiennent des blocs Hydraulic personnalisés, tels que des blocs de bibliothèque masqués ou des blocs personnalisés écrits en langage Simscape.

Pour créer une version Isothermal Liquid équivalente des blocs personnalisés :

  • Dans le cas de blocs et de sous-systèmes de bibliothèques personnalisées qui contiennent des blocs issus de la bibliothèque Foundation > Hydraulic ou de la bibliothèque Fluids > Hydraulics (Isothermal), exécutez l'outil de conversion sur ces bibliothèques personnalisées.

  • Dans le cas de blocs Hydraulic personnalisés écrits en langage Simscape, créez manuellement des versions équivalentes de ces blocs qui utilisent le domaine Isothermal Liquid.

newfiles = hydraulicToIsothermalLiquid(___) renvoie la liste des noms des fichiers convertis dans newfiles. L’outil de conversion constitue chaque nouveau nom de fichier en ajoutant _converted au nom du fichier d’origine.

Exemples

réduire tout

Cet exemple indique comment utiliser l’outil de conversion sur un modèle qui contient des blocs Hydraulic. L’outil génère un modèle converti et un rapport au format HTML.

Ouvrez l’actionneur hydraulique avec un exemple de modèle de contrôleur de position analogique :

openExample('simscape/HydraulicActuatorWithAnalogControlHExample')

Cet exemple de modèle contient des blocs issus des bibliothèques Hydraulic.

Remplacez les blocs de la bibliothèque Hydraulic par les blocs équivalents de la bibliothèque Isothermal Liquid.

hydraulicToIsothermalLiquid(bdroot)
ans =

  1×1 cell array

    {'HydraulicActuatorWithAnalogControlH_converted'}

L’outil de conversion crée un fichier nommé HydraulicActuatorWithAnalogControlH_converted et l’enregistre avec le rapport de conversion dans le dossier actuel.

Passez en revue le rapport HTML et résolvez manuellement les problèmes restants. Dans cet exemple, le modèle converti ne contient ni connexions rompues, ni blocs supprimés. Pour autant, l’outil de conversion a généré plusieurs avertissements relatifs aux paramètres qui requièrent votre attention.

Dans cet exemple, vous allez nettoyer le modèle après avoir utilisé l’outil de conversion. Tout d’abord, suivez les étapes de l’exemple Convertir un modèle pour utiliser des blocs Isothermal Liquid. Les images suivantes présentent le modèle converti et le rapport de conversion.

Pour obtenir la liste des messages générés lors de la conversion ainsi que des suggestions pour résoudre ces problèmes, consultez Conversion Messages After Converting Hydraulic to Isothermal Liquid Models. Pour chaque message, si vous cliquez sur un lien de la colonne Block, le sous-système correspondant s’ouvre et le bloc à l’origine du message est mis en surbrillance.

Les deux premiers messages font référence aux deux chambres du sous-système Hydraulic Actuator. Le modèle d’origine utilisait un bloc Translational Hydro-Mechanical Converter pour chacune de ces chambres. L’outil de conversion a remplacé ces blocs par un bloc Translational Mechanical Converter (IL).

Les blocs Translational Hydro-Mechanical Converter comportent un paramètre Specific heat ratio. En revanche, dans le domaine Isothermal Liquid, toutes les propriétés du fluide sont définies dans le bloc Isothermal Liquid Properties (IL). Le rapport de conversion indique la valeur initiale du paramètre Specific heat ratio dans le bloc d’origine pour vous permettre de définir les propriétés du fluide dans le bloc 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.

Ouvrez le bloc Isothermal Liquid Properties (IL) dans le modèle converti et définissez son paramètre Air polytropic index sur 1.4.

Après avoir traité les deux premiers messages générés lors de la conversion, cliquez sur le troisième lien dans la colonne Block.

Le sous-système Spool Valve s’ouvre. L’outil met en surbrillance le bloc Orifice PA.

Dans le modèle d’origine HydraulicActuatorWithAnalogControlH, ouvrez le sous-système Spool Valve.

Orifice PA est l’un des quatre blocs Variable Area Hydraulic Orifice qui constituent la vanne. Double-cliquez sur le bloc Orifice PA pour consulter ses paramètres.

L’outil de conversion a remplacé chaque bloc Variable Area Hydraulic Orifice par un bloc Local Restriction (IL). Double-cliquez sur le bloc Orifice PA pour consulter ses paramètres.

Le premier message d’avertissement du rapport de conversion concernant le bloc Orifice PA, Critical Reynolds number set to 150, est dû au fait que le paramètre Laminar transition specification est défini sur Pressure ratio dans le bloc Variable Area Hydraulic Orifice d’origine. Le bloc Local Restriction (IL) de remplacement peut spécifier la transition entre le régime laminaire et le régime turbulent uniquement par le nombre de Reynolds critique. L'outil de conversion définit le paramètre Critical Reynolds number sur sa valeur par défaut, à savoir 150. Étant donné que le bloc Variable Area Hydraulic Orifice du modèle d’origine a utilisé la valeur par défaut du paramètre Laminar flow pressure ratio, à savoir 0.999, aucune action n’est nécessaire.

L’avertissement suivant, Maximum restriction area set to 1e10 m^2, est dû au fait que le bloc Variable Area Hydraulic Orifice suppose une surface d’ouverture maximale infinie, tandis que le bloc Local Restriction (IL) de remplacement, dont le paramètre Restriction type est défini sur Variable, exige une valeur de paramètre Maximum restriction area inférieure à inf.

L’outil de conversion définit le paramètre Maximum restriction area du bloc Local Restriction (IL) de remplacement sur une valeur arbitraire, 1e10 m^2. Aucune action n’est nécessaire, mais vous pouvez ajuster cette valeur pour qu’elle corresponde à la fiche technique de votre modèle.

Les autres messages de conversion font référence aux trois autres orifices. Vous pouvez inspecter ces trois blocs dans le modèle d’origine et vérifier qu’aucune action n’est nécessaire.

Après avoir traité les messages de conversion, vous pouvez comparer les résultats des simulations du modèle d’origine et du modèle converti pour vérifier qu’ils sont identiques. Vous pouvez également procéder à un nettoyage cosmétique supplémentaire si vous le souhaitez. Par exemple, vous pouvez réacheminer manuellement les lignes de connexion.

Pour consulter un exemple de ce modèle après conversion et nettoyage, ouvrez le modèle HydraulicActuatorWithAnalogControlExample.

openExample('simscape/HydraulicActuatorWithAnalogControlExample')

Comparez ce modèle à celui d’origine, HydraulicActuatorWithAnalogControlH, et au modèle converti HydraulicActuatorWithAnalogControlH_converted.

Cet exemple montre comment utiliser des sous-systèmes pour conserver le routage des lignes lors de la conversion d’un modèle.

Ouvrez l’exemple de modèle Cavitation Cycle.

openExample('simscape/CavitationCycleExample')

Convertissez le modèle avec des sous-systèmes pour conserver le routage des lignes.

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

Ouvrez le sous-système Custom Cylinder.

La fonction place les deux pistons dans des sous-systèmes pour conserver le routage des lignes.

Cet exemple indique la manière dont vous pouvez convertir des modèles, ainsi que les modèles, sous-systèmes et bibliothèques liées auxquels ils font référence, tout en conservant les liens entre les fichiers convertis.

Supposons qu’un modèle nommé modelWithLink contienne des blocs Hydraulic et qu’un modèle référencé referenceModel contienne lui aussi des blocs Hydraulic. referenceModel se trouve dans un dossier distinct Reference Systems situé sur le chemin MATLAB.

Convertissez le modèle modelWithLink et le modèle référencé en spécifiant les fichiers dans un cell array.

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

  2×1 cell array

    {'modelWithLink_converted' }
    {'referenceModel_converted'}

L’outil de conversion crée deux nouveaux modèles modelWithLink_converted et referenceModel_converted dans les mêmes dossiers que les modèles d’origine.

Le modèle converti modelWithLink_converted contient des blocs Isothermal Liquid. Il est lié au modèle de référence converti referenceModel_converted qui contient lui aussi des blocs Isothermal Liquid.

L’outil enregistre le rapport de conversion HtoIL_report à l’emplacement du premier fichier figurant dans l’argument en entrée oldfiles.

Après avoir examiné le rapport, corrigé manuellement les problèmes et comparé les résultats de simulation, vous pouvez utiliser la fonction hydraulicToIsothermalLiquidPostProcess pour restaurer les noms de fichier d’origine :

finalFiles = hydraulicToIsothermalLiquidPostProcess(convertedFiles)

La fonction remplace les fichiers des modèles d’origine par les modèles _converted.

Cet exemple montre comment convertir tous les fichiers d’un dossier de niveau supérieur et de ses sous-dossiers. L’outil convertit tous les fichiers qui contiennent des blocs Hydraulic, conserve les liens qui les unissent et renvoie la liste des fichiers convertis. Si un fichier ne contient pas de blocs Hydraulic, l’outil ne lui apporte aucune modification.

Supposons qu’un dossier nommé topFolder contienne des sous-dossiers avec des bibliothèques Simulink® personnalisées, des modèles et sous-systèmes référencés ainsi que des modèles.

Vérifiez que topFolder et ses sous-dossiers se trouvent sur le chemin MATLAB.

addpath(genpath('topFolder'))

Convertissez tous les fichiers du dossier topFolder et de ses sous-dossiers.

convertedFiles = hydraulicToIsothermalLiquid('topFolder')
convertedFiles =

  5×1 cell array

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

L’outil de conversion nomme les fichiers convertis en ajoutant _converted aux noms des modèles d’origine. Il enregistre chaque modèle converti dans le même dossier que le modèle d’origine.

Dans cet exemple, l’outil n’a pas généré de fichier _converted pour modelWithoutHydraulicBlocks, car ce modèle ne contient pas de blocs Hydraulic.

L’outil enregistre le rapport de conversion dans topFolder.

Après avoir examiné le rapport, corrigé manuellement les problèmes et comparé les résultats de simulation, vous pouvez utiliser la fonction hydraulicToIsothermalLiquidPostProcess pour restaurer les noms de fichier d’origine :

finalFiles = hydraulicToIsothermalLiquidPostProcess('topFolder')

Cette fonction écrase les fichiers d’origine en supprimant le suffixe _converted de leur nom et des liens entre les fichiers.

Arguments d'entrée

réduire tout

Nom ou handle du système de schémas blocs à convertir, spécifié en tant que vecteur de caractères, string scalar ou handle. oldfile peut être un modèle, un sous-système ou une bibliothèque. Il doit se trouver sur le chemin MATLAB ou être chargé. Le nom du fichier peut être un chemin d’accès absolu ou relatif.

Exemple : 'HydraulicActuator'

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

Exemple : 'subfolder\HydraulicActuator'

Emplacement du système de schémas blocs converti et du rapport, spécifié sous la forme d’un vecteur de caractères ou d’un string scalar contenant un chemin d’accès absolu ou relatif.

Si vous omettez l'argument newpath, l'outil enregistre le système converti et le rapport dans votre dossier de travail actuel.

Exemple : 'C:\Work'

Liste des systèmes de schémas blocs à convertir, spécifiée sous la forme d’un cell array unidimensionnel de vecteurs de caractères ou de string scalars dont chaque élément est un nom de fichier. Le cell array peut être horizontal ou vertical. Les noms de fichier peuvent présenter des chemins d'accès absolus ou relatifs. Ces fichiers peuvent être un modèle, un sous-système ou une bibliothèque, et doivent se trouver sur le chemin MATLAB ou être chargés. Lorsque vous convertissez une liste de fichiers, l’outil de conversion conserve les liens entre les fichiers convertis dans la liste, enregistre chaque fichier converti dans le même dossier que le fichier d’origine et enregistre le rapport de conversion à l’emplacement du premier fichier figurant dans oldfiles.

Exemple : {'HydraulicActuatorLibrary' 'PumpLibrary'}

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

Chemin d’accès au dossier de niveau supérieur contenant les systèmes de schémas blocs à convertir, spécifié sous la forme d’un vecteur de caractères ou d’un string scalar contenant un chemin d’accès absolu ou relatif. Le dossier de niveau supérieur doit se trouver dans le répertoire MATLAB. Le dossier de niveau supérieur peut contenir des sous-dossiers comportant eux aussi des systèmes de schémas blocs. Les sous-dossiers doivent également se trouver sur le chemin MATLAB. L’outil conserve les liens entre les fichiers convertis, enregistre chaque fichier converti dans le même dossier que le fichier d’origine et enregistre le rapport de conversion dans le dossier toppath.

Exemple : 'C:\Work\MyLibraries'

Liste des blocs Hydraulic personnalisés à remplacer, spécifiée sous la forme d’un cell array unidimensionnel de vecteurs de caractères ou de string scalars dont chaque élément est un nom de fichier.

Les deux cell arrays, oldcustomblocks et newcustomblocks, doivent comporter le même nombre d'éléments, chaque élément correspondant à un nom de bloc. Les blocs respectifs répertoriés dans chaque tableau doivent comporter le même nombre de ports, l'ordre des ports correspondants et les mêmes noms de paramètres programmatiques.

Exemple : {'customH_lib/Sublibrary1/Block 1'; 'customH_lib/Block 2'}

Liste des blocs Isothermal Liquid personnalisés à utiliser en remplacement de oldcustomfiles, spécifiée sous la forme d’un cell array unidimensionnel de vecteurs de caractères ou de string scalars dont chaque élément est un nom de fichier.

Les deux cell arrays, oldcustomblocks et newcustomblocks, doivent comporter le même nombre d'éléments, chaque élément correspondant à un nom de bloc. Les blocs respectifs répertoriés dans chaque tableau doivent comporter le même nombre de ports, l'ordre des ports correspondants et les mêmes noms de paramètres programmatiques.

Exemple : {'customIL_lib/Sublibrary1/Block A'; 'customIL_lib/Block B'}

Option permettant de placer les blocs convertis dans des sous-systèmes, spécifiée en tant que 'omitsubsystems' ou 'addsubsystems'. Lorsque subsystemflag est défini sur 'omitsubsystems', la fonction n’utilise des sous-systèmes que si l’outil remplace un seul bloc Hydraulic par plusieurs blocs Simscape. Si vous définissez subsystemflag sur 'addsubsystems', la fonction place les blocs ayant une incidence sur le routage des lignes dans des sous-systèmes pour conserver le routage des lignes du modèle hydraulique.

Si vous spécifiez une valeur pour subsystemflag, il doit s’agir du dernier argument en entrée.

Arguments de sortie

réduire tout

Noms des modèles, sous-systèmes ou bibliothèques convertis, renvoyés sous la forme d’un cell array à colonne unidimensionnelle de vecteurs de caractères contenant les noms de fichiers sans chemin d’accès ni extension.

L’outil de conversion constitue chaque nouveau nom de fichier en ajoutant _converted au nom du fichier d’origine.

Historique des versions

Introduit dans R2020a

développer tout