-- FabienViale - 30 Jul 2004

Semaine 31 - 32

  • Debut du stage a la Single Buoy Moorings

Problèmes rencontrés :

Pour utiliser la dll Orcaflex, deux possibilites:
  1. Ecrire des routines en C utilisant la dll et ensuite compiler ces fichiers depuis Matlab.

    Pour compiler des fichiers C depuis matlab, on doit utiliser la commande :
    mex nom-fic

    Elle utilise un compilateur C que l'on doit definir. Ce procede permet de pouvoir echanger des donnees avec Matlab par l'intermediaire d'une fonction mexFunction a inserer dans le code C.

    Voici un schéma expliquant le principe : http://deptinfo.unice.fr/twiki/pub/Minfo03/SemaineTrenteetun/SchemaHydro.htm

    • Probleme 1: avoir un compilateur C/C++ qui puisse compiler le .h de la dll Orcaflex. Or, sur mon poste, le seul compilateur C/C++ installe est le lcc fournit avec Matlab et il ne compile pas les directives __declspec(dllimport) du .h qui permettent d'accelerer l'utilisation de la dll. Je peux éventuellement demander au IT de m'installer Visual C++, ou alors télécharger un compilateur C pour Windows gratuit.

    • Probleme 2: obtenir le fichier .lib de la dll Orcaflex qui permet de lier statiquement celle-ci a mon code. C'est en effet la seule possibilite de pouvoir compiler mes fichiers depuis Matlab. D'après les éditeurs d'Orcaflex, le fichier se trouve dans le CD-ROM d'installation. Ca ne devrait donc pas être un problème.

    • Problème 3: d'après Mathworks, le fait d'appeler l'API de Windows depuis un mex file pourrait compromettre la stabilité de Matlab, comme je n'appelle qu'une API annexe sans relation aucune avec l'API Windows (en espèrant que l'API que j'utilise ne fait pas trop d'appels à l'API de Windows), ça ne devrait pas poser de problème.

  2. Appeler directement la dll depuis Matlab.

    • Probleme 1: avoir une version de Matlab superieure a la version 6.5.1..

    • Probleme 2: realiser des conversions entre les variables Matlab et les parametres des fonctions de la dll. Le probleme se pose tout particulierement pour les parametres qui sont eux-memes des fonctions. Je n'ai pas trouve de moyen de typer les fonctions de Matlab pour qu'elles puissent etre assimiler a des fonctions ecrites en C.

      Le IT Department m'a fait part d'un probleme de licence concernant l'installation d'une version superieure a la 6.5.1 de Matlab. Il faudra surement utiliser donc la première possibilité.

  3. Enfin on peut complétement séparer l'emploi de la dll de Matlab.

    Dans ce cas, on appelle la dll qu'à partir d'une routine en C qui va produire un fichier résultat. Ce fichier sera alors lu par un programme Matlab et intégré dans Signalysis. C'est la possibilité la plus sûre mais la moins pratique des trois.

Travail effectué:

  • Etude des possibilites d'appel de la dll d'Orcaflex depuis Matlab

  • Etude des possibilites de creation d'interface graphique via Matlab

Revision: r1.5 - 13 Aug 2004 - 08:20 - FabienViale
Minfo03 > HydroDatabase > HydroDatabase > SemaineTrenteetun
Copyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback