fmuToBlock
Transforme une FMU en bloc natif nflow (manifeste).
📝Syntaxe
block = fmuToBlock(fmu)
block = fmuToBlock(fmu, name, value)
📥Arguments d'entrée
Paramètre Description
fmu une chaîne : le chemin d'une archive .fmu ou d'un répertoire de FMU déjà extrait.
name, value paires d'options : 'Name' (libellé du bloc / titre de bibliothèque, par défaut l'identifiant de modèle de la FMU), 'IconDir' (répertoire d'extraction de l'icône), 'LibraryFile' (écrit aussi un library.json à un bloc à ce chemin), 'LibraryId' (l'identifiant de bibliothèque, par défaut user.<name>).
📤Arguments de sortie
Paramètre Description
block une structure décrivant le bloc généré, dans le même schéma qu'une entrée de bloc de library.json.
đź“„Description

fmuToBlock est l'assistant d'import de FMU de nflow. Il lit la modelDescription.xml d'une FMU et produit un bloc nflow d'aspect natif : un port d'entrée par variable de causalité input, un port de sortie par output, les paramètres de la FMU, son icône (le model.png s'il est présent, sinon un rendu de repli avec libellé), et un paramètre path par défaut pointant vers la .fmu.

Le bloc généré vise le gestionnaire fmu du moteur : le poser donne un bloc FMU fonctionnel qui se simule via le chemin FMI existant, sans nouveau runtime. L'intérêt est côté édition : une FMU devient un bloc de palette de première classe, nommé et doté d'une icône, au lieu d'une boîte générique. Cela se marie avec le pont Modelica, dont modelicaToFmu produit des FMU que fmuToBlock peut ensuite envelopper.

Avec l'option 'LibraryFile', un library.json à un bloc est également écrit, prêt à charger dans l'éditeur nflow. Beaucoup de FMU ne fournissent pas d'icône ; le rendu est alors un repli propre avec libellé.

đź’ˇExemples
Importer une FMU de référence en bloc et écrire une bibliothèque.
fmu = [modulepath('nflow_fmi'), '/examples/VanDerPol.fmu'];
block = fmuToBlock(fmu, 'Name', 'VanDerPol', 'LibraryFile', [tempdir(), '/vdp.json'])
Envelopper un modèle Modelica compilé via le pont.
src = sprintf('model FO\n  output Real x(start = 1.0);\nequation\n  der(x) = -x;\nend FO;\n');
fmu = modelicaToFmu(src);
block = fmuToBlock(fmu, 'Name', 'FirstOrder')
đź”—Voir aussi
fmiInfomodelicaToFmu
đź•”Historique des versions
Version Description
1.0.0 version initiale
Modifier cette page sur GitHub