Bonjour
Je remercie tout d’abord les auteurs du tuto « Compilation et déploiement d'un modèle Simulink avec Embedded Coder »
Je tente d’acquérir les methodes permettant de compiler un modele simulink puis de l’appeler à partir d’un code matlab.
L’objectif final est de créer un runtime avec le Matlab Compiler pour pouvoir déployer une application matlab contenant un modele simulink compilé vers des PC n’ayant ni Matlab ni Simulink.
Je travaille avec l’example "réservoir" du Tuto et j’ai pu créer la bibliothèque partagée et la faire fonctionner avec le programme « test ». J’ai modifié « à la marge le programme « test » pour gérer différemment les répertoires et ajouter un inputdlg permettant d’entré la durée de simulation N dans une boite de dialogue.
Ce programme fonctionne bien, appelé à partir du Prompt de Maltab.
J’ai ensuite essayé de générer une application portable avec le Matlab Compiler configuré comme l’image ci-dessous :
(voir figure
La compilation/generation se réalise est j’obtiens bien le ficher attendu Reservoir.exe et le fichier log de la generation.
Sans Matlab, l’application « Reservoir.exe » démarre (les premières boites de dialoguie fonctionnent) mais ne « va pas au bout » J’ai ajouté des « msgbox » pour voir ou le fichier exe stoppe et il semble que ce soit au premier appel à la ligne 67
« loadlibrary(libfile, ['./' modelname '/' modelname '.h'],'mfilename','mHeader')
La question que je pose est de savoir si les commandes « loadlibrary, calllibrary, unloadlibrary ..." sont utilisable pour une generation avec matlab compiler ?
Si oui qu’est ce qui est erroné dans la façon de les utiliser ?
Si non quelle est la méthode alternative compatible du matlab coder ? ( et comment on la teste avant génération).
Ma version de matlab est R 2012b
Le ZIP joint « Test.zip » contient seulement le programme « test » avec les petites modifications ; le reste est identique au tutorial "Reservoir."
Un autre point est de savoir si il existe un liste des fonctions matlab incompatible avec le Matlab coder
Et de la même facon une liste des blocks Simulink incompatible avec le Simulink (embeded) coder
Merci
Partager