J'ai un fichier Modelica qui référence le code c pendant la simulation via un fichier * .a de la bibliothèque externe.Référencement de fichiers externes dans JModelica
Par exemple:
model CallAdd
input Real FirstInput(start=0);
input Real SecondInput(start=0);
output Real FMUOutput(start=0);
function CAdd
input Real x(start=0);
input Real y(start=0);
output Real z(start=0);
external "C" annotation(Library = "CAdd", LibraryDirectory = "modelica://CallAdd");
end CAdd;
equation
FMUOutput = CAdd(FirstInput,SecondInput);
annotation(uses(Modelica(version = "3.2.1")));
end CallAdd;
Lors de l'ouverture du modèle Modelica dans OpenModelica les fichiers requis semblent être automatiquement chargé car il simule et donne des résultats appropriés.
Toutefois, lorsque j'essaie de compiler le fichier Modelica avec JModelica-SDK-1.12, le message d'erreur indiquant que le fichier * .a de la bibliothèque est introuvable s'affiche.
Donc, ma question est: Quelle est la bonne façon de référencer des fichiers supplémentaires lors de l'utilisation de compile_fmu dans JModelica?
sans succès, j'ai essayé:
# Import the compiler function
from pymodelica import compile_fmu
model_name = "CallAdd"
mo_file = "CallAdd.mo"
# Compile the model and save the return argument, for use later if wanted
my_fmu = compile_fmu(model_name, mo_file, target="cs",compiler_options = {'extra_lib_dirs':'C:/ToFolderContainingLib/'})
La chose étrange est que quand j'utilisais JModelica-1.17 (non-SDK) le fichier compilé bien, mais les résultats n'a pas de sens . J'ai été recommandé d'essayer la version SDK pour voir si elle a corrigé mes erreurs dans mon post précédent here.
Bonjour Christian Andersson, qui semble avoir résolu le problème. Merci beaucoup! –