[Users-fr] Lancer une DLL avec Scilab

David Chèze david.cheze at cea.fr
Mar 27 Fév 16:24:23 CET 2018


Bonjour,

j'utilise souvent link (pour charger la dll) et ulink (pour décharger), avec
une fonction d'interface pour utiliser facilement les fonctions exportées de
la dll une fois chargée.
Par exemple, pour la librairie de propriétés physiques fluides,  dispo sur
coolprop.org

//pour charger coolprop
function chargecoolprop()
           
link("C:\Users\dc\prog\CoolProp5.1.2\CoolProp.dll",['propssi_','hapropssi_'],
'c');
endfunction
//-----------------------------------------------------------------------------

//wrapper pour les fonctions coolprop
function [out]=Props(Output,Input1,Value1,Input2,Value2,Name)
    out =
call("propssi_",Output,1,"c",Input1,2,"c",Value1,3,"d",Input2,4,"c",Value2,5,"d",Name,6,"c","out",[1,1],7,"d");
endfunction
function [out]=HAProps(Output,Input1,Value1,Input2,Value2,Input3,Value3)
  out =
call("hapropssi_",Output,1,"c",Input1,2,"c",Value1,3,"d",Input2,4,"c",Value2,5,"d",Input3,6,"c",Value3,7,"d","out",[1,1],8,"d");
endfunction
//-----------------------------------------------------------------------------

//exemple utilisation:
                h_econd(i)=
Props("H","P",SOL2.Pecond(i)*1E5,"T",SOL2.Tecond(i)+273.15,"R134A");// J/kg
                Teq_scond(i)=
Props("T","P",SOL2.Pscond(i)*1E5,"Q",0,"R134A")-273.15;    // °C
                h_scond(i)=
Props("H","P",SOL2.Pscond(i)*1E5,"T",Teq_scond(i)-1E-3+273.15,"R134A");//
J/kg

En espérant que cela aide,

David




--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html



Plus d'informations sur la liste de diffusion users-fr