From thierry.royant at orange.fr Thu Aug 1 09:24:07 2013 From: thierry.royant at orange.fr (Thierry ROYANT) Date: Thu, 1 Aug 2013 09:24:07 +0200 (CEST) Subject: [Enseignement] Dll acquisition (DAQ) labview -> scilab In-Reply-To: <51F90B66.8030508@scilab-enterprises.com> References: <1757713012.8979.1375181530091.JavaMail.www@wwinf1f13> <51F90B66.8030508@scilab-enterprises.com> Message-ID: <273112636.1932.1375341847828.JavaMail.www@wwinf1d18> Bonjour, Ok pour opérations sur des tableaux d'entiers. J'ai reconfiguré le prototype de la fonction AddTabint2 de la façon suivante (2 fonctions dans la bibliothèque) :   #include "extcode.h" #pragma pack(push) #pragma pack(1)   #ifdef __cplusplus extern "C" { #endif typedef struct { int32_t dimSize; int32_t CommandeNumRique[1]; } Int32ArrayBase; typedef Int32ArrayBase **Int32Array;   /*!  * AddTabInt  */ void __cdecl AddTabInt(Int32Array *tabA, Int32Array *tabB,  Int32Array *tabRes); /*!  * AddTabInt2  */ void __cdecl AddTabInt2(int32_t tabA[], int32_t tabB[], int32_t tabRes[],  int32_t *NBelts);   long __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module);   /* * Memory Allocation/Resize/Deallocation APIs for type 'Int32Array' */ Int32Array __cdecl AllocateInt32Array (int32 elmtCount); MgErr __cdecl ResizeInt32Array (Int32Array *hdlPtr, int32 elmtCount); MgErr __cdecl DeAllocateInt32Array (Int32Array *hdlPtr);   #ifdef __cplusplus } // extern "C" #endif   #pragma pack(pop)   Le code scilab pour l'utiliser : a=[12,25,24] b=[2,41,9] nbelts=3 NomsFonctions=['AddTabInt','AddTabInt2'] link('F:\Prog LabVIEW\Dll labview\dll2\SharedLibTabIntAdd.dll',NomsFonctions,'c') res = call("AddTabInt2",a,1,"i",b,2,"i",nbelts,4,"i","out",[1,3],3,"i") disp(res)   résultat : -->exec('C:\Documents\Scilab\TestDllAddTabInt2.sce', -1)       14.    66.    33.    Au niveau de LabVIEW il faut définir des pointeurs sur les données. (si quelqu'un est intéressé je peux faire un petit document sur cette configuration)   reste à tester les tableaux de double. Cordialement TR   -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: From pierre.dieumegard at ac-orleans-tours.fr Thu Aug 1 09:55:47 2013 From: pierre.dieumegard at ac-orleans-tours.fr (Pierre DIEUMEGARD) Date: Thu, 01 Aug 2013 09:55:47 +0200 Subject: [Enseignement] Dll acquisition (DAQ) labview -> scilab : autres DLL d'acquisition In-Reply-To: <273112636.1932.1375341847828.JavaMail.www@wwinf1d18> References: <1757713012.8979.1375181530091.JavaMail.www@wwinf1f13> <51F90B66.8030508@scilab-enterprises.com> <273112636.1932.1375341847828.JavaMail.www@wwinf1d18> Message-ID: <51FA1483.1050702@ac-orleans-tours.fr> Je me permets d'intervenir dans cette discussion, même si ce n'est pas le sujet principal. Depuis de nombreuses années, je développe des pilotes de type bibliothèques dynamiques (dll de windows, so de linux) pour des appareils et interfaces de mesure, et des logiciels pour utiliser ces pilotes. C'est disponible sur mon site http://sciencexp.free.fr. Scilab ne peut pas utiliser directement ces pilotes, mais on peut faire un adaptateur (une dll spécifique de Scilab, qui est capable d'échanger avec les pilotes en question), voir http://sciencexp.free.fr/sciencexp2011/documents/programmation/appilotes/appilotes_win_scilab.zip En espérant que ça puisse être utile à quelqu'un Pierre Dieumegard La 01/08/2013 09:24, Thierry ROYANT skribis: > > Bonjour, > > Ok pour opérations sur des tableaux d'entiers. > > J'ai reconfiguré le prototype de la fonction AddTabint2 de la façon > suivante (2 fonctions dans la bibliothèque) : > > > > #include "extcode.h" > > #pragma pack(push) > > #pragma pack(1) > > > > #ifdef __cplusplus > > extern "C" { > > #endif > > typedef struct { > > int32_t dimSize; > > int32_t CommandeNumRique[1]; > > } Int32ArrayBase; > > typedef Int32ArrayBase **Int32Array; > > > > /*! > > * AddTabInt > > */ > > void __cdecl AddTabInt(Int32Array *tabA, Int32Array *tabB, > > Int32Array *tabRes); > > /*! > > * AddTabInt2 > > */ > > void __cdecl AddTabInt2(int32_t tabA[], int32_t tabB[], int32_t tabRes[], > > int32_t *NBelts); > > > > long __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module); > > > > /* > > * Memory Allocation/Resize/Deallocation APIs for type 'Int32Array' > > */ > > Int32Array __cdecl AllocateInt32Array (int32 elmtCount); > > MgErr __cdecl ResizeInt32Array (Int32Array *hdlPtr, int32 elmtCount); > > MgErr __cdecl DeAllocateInt32Array (Int32Array *hdlPtr); > > > > #ifdef __cplusplus > > } // extern "C" > > #endif > > > > #pragma pack(pop) > > > > Le code scilab pour l'utiliser : > > a=[12,25,24] > > b=[2,41,9] > > nbelts=3 > > NomsFonctions=['AddTabInt','AddTabInt2'] > > link('F:\Prog LabVIEW\Dll > labview\dll2\SharedLibTabIntAdd.dll',NomsFonctions,'c') > > res = call("AddTabInt2",a,1,"i",b,2,"i",nbelts,4,"i","out",[1,3],3,"i") > > disp(res) > > > > résultat : > > -->exec('C:\Documents\Scilab\TestDllAddTabInt2.sce', -1) > > > > 14. 66. 33. > > > > Au niveau de LabVIEW il faut définir des pointeurs sur les données. > > (si quelqu'un est intéressé je peux faire un petit document sur cette > configuration) > > > > reste à tester les tableaux de double. > > Cordialement > > TR > > > > > > _______________________________________________ > enseignement mailing list > enseignement at lists.scilab.org > http://lists.scilab.org/mailman/listinfo/enseignement -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: From communication at scilab-enterprises.com Fri Aug 30 11:38:44 2013 From: communication at scilab-enterprises.com (Scilab Communications) Date: Fri, 30 Aug 2013 11:38:44 +0200 Subject: [Enseignement] =?iso-8859-1?q?=5BTutoriel=5D_Xcos_pour_les_vrais_?= =?iso-8859-1?q?d=E9butants?= Message-ID: <52206824.70406@scilab-enterprises.com> Chers utilisateurs et nouveaux utilisateurs de Scilab, *Nous sommes heureux de vous informer qu'un nouveau tutoriel est disponible : Xcos pour les vrais débutants.* Disponible en téléchargement à l'adresse http://www.scilab.org/fr/resources/documentation/tutorials, ce tutoriel vous guide pas à pas dans la découverte des différentes fonctionnalités de base du logiciel Xcos pour un utilisateur n'ayant jamais utilisé un logiciel de modélisation et de simulation de systèmes dynamiques hybrides. En vous souhaitant une bonne lecture Bien cordialement, -- SE Département Communication, Scilab Enterprises 143bis rue Yves Le Coz - 78000 Versailles (France)- http://www.scilab-enterprises.com -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: -------------- section suivante -------------- Une pièce jointe autre que texte a été nettoyée... Nom: non disponible Type: image/png Taille: 8210 octets Desc: non disponible URL: