[Users-fr] Lancer une DLL avec Scilab

classic Classic list List threaded Threaded
12 messages Options
HEBERT, Christophe HEBERT, Christophe
Reply | Threaded
Open this post in threaded view
|

[Users-fr] Lancer une DLL avec Scilab

Bonjour à tous,

 

Je suis en train d’essayer de « traduire » un programme Matlab de lecture des fichiers issue des logiciels de National Instrument (les fichiers ayant l’extension .tdms) en Scilab.

En fait le programme Matlab sert surtout pour pouvoir lancer une DLL qui fait la lecture de ces fichiers .tdms et fondamentalement il n’y a pas de grosse difficulté (la focntion mfile2sci (sous Scilab-5 n’apporte pas grand-chose car elle bute sur pratiquement toutes les lignes et la même fonction sous scilab6 plante).

 

La seule difficulté que je n’arrive pas à résoudre c’est de lancer cette DLL nommée nilibddc.dll, à partir de Scilab

J’ai trouvé

-        ilib_build         

-        exec loader.sce;

-        ilib_for_link

-        ilib_gen_loader

 

Mais bon, je ne sais pas quoi utiliser ni comment l’utiliser … Si quelqu’un sais m’expliquer …

Un grand merci

 

Ch HEBERT

The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.

_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
David Chèze David Chèze
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

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
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
HEBERT, Christophe HEBERT, Christophe
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

Bonjour et merci de votre réponse,

Je viens de passer près de 2 jours pour essayer de faire fonctionner link avec ma ddl mais à chaque fois je me suis retrouvé avec une erreur et la librairie n'a pas été chargée.
Je joins la dll et un fichier associé (je n'ai pas vraiment compris à quoi sert ce fichier associé ... ???)

Si qq'un peut m'aider ... ???

Merci par avance de votre aide

Ch HEBERT


-----Message d'origine-----
De : users-fr [mailto:[hidden email]] De la part de David Chèze
Envoyé : mardi 27 février 2018 16:24
À : [hidden email]
Objet : Re: [Users-fr] Lancer une DLL avec Scilab

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
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.

_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr

nilibddc_m.h (49K) Download Attachment
A_POLICY_VIOLATED_FILE_WAS_DETECTED_AND_REMOVED.TXT (264 bytes) Download Attachment
David Chèze David Chèze
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

Bonjour Christian,

en revenant sur votre contexte général, vous souhaitez interfacer vos
programmes scilab avec les équipements et logiciels NI : il y a maintenant
un  module Scilab VISA <https://atoms.scilab.org/toolboxes/visa>   dédié
pour faire cela, qui gère les détails de l'interface avec les dlls
équipements et vous fournit directement fonctions "pratiques". Vous devez
pouvoir retrouver des webinaires sur le sujet (l'année dernière de mémoire).

David



--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
HEBERT, Christophe HEBERT, Christophe
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

Bonjour david,

Je suis vraiment désolé, mais je n'ai pas compris la moitié de votre email ...
Aussi je vais vous expliquer ce que je souhaite faire et j'espère que vous pourrez m'aider à mon petit niveau ...

Le système d'acquisitions de notre labo fournit des fichier de mesure au format inventé par la société National Instrument dont les extensions sont .tdms. Ce sont des fichiers de mesure contenat la mesure proprement dite, mais aussi les paramètres de l'acquisition : fréquence d'échantillonnage nombre de points, nom de la voie de mesure ...
Je souhaite lire ces fichiers car je suis physicien/mécanicien et je sais ce que je programme lorsque je fais du traitement du signal, par contre les 32bites/64bites/dll/h_dll/c_dll ... je suis totalement largué (je n'ai pas une formation d'informaticiens)

Donc : J'ai téléchargé le module Scilab Visa mais ensuite ... Je suis perdu, malheureusement ...

Merci de votre aide pour m'orienter si c'est possible

Christophe



-----Message d'origine-----
De : users-fr [mailto:[hidden email]] De la part de David Chèze
Envoyé : jeudi 1 mars 2018 11:53
À : [hidden email]
Objet : Re: [Users-fr] Lancer une DLL avec Scilab

Bonjour Christian,

en revenant sur votre contexte général, vous souhaitez interfacer vos programmes scilab avec les équipements et logiciels NI : il y a maintenant
un  module Scilab VISA <https://atoms.scilab.org/toolboxes/visa>   dédié
pour faire cela, qui gère les détails de l'interface avec les dlls équipements et vous fournit directement fonctions "pratiques". Vous devez pouvoir retrouver des webinaires sur le sujet (l'année dernière de mémoire).

David



--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.

_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
HEBERT, Christophe HEBERT, Christophe
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

In reply to this post by David Chèze
Re-Bonjour David, et à vous tous,

Je me suis plonger dans le manuel d'utilisation et si j'ai bien compris, en fait visa permet de piloter (lecture/écriture) des logiciels et materiel (en particulier de National Instrument) mais en aucun cas ne permet de lire des fichiers de résultats de mesures au format National Instrument = .tdms

Le Link, si j'arrivais à le faire marcher correspond exactement à ce dont j'ai besoin, mais sous Scilab on peut (si je ne me trompe pas ?) lancer des DLL créés en Fortran ("f") ou en C ("c") mais pas des DLL créés avec ? (extension "h", voi en pièce jointe)

Donc je suis revenu malheureusement à mon point de départ ... Quelqu'un peut-il me dire comment charger une DLL avec le fichier associer "nilibddc_m.h"

Merci par avance

Christophe
 


-----Message d'origine-----
De : HEBERT, Christophe
Envoyé : jeudi 1 mars 2018 13:56
À : [hidden email]
Objet : RE: [Users-fr] Lancer une DLL avec Scilab

Bonjour david,

Je suis vraiment désolé, mais je n'ai pas compris la moitié de votre email ...
Aussi je vais vous expliquer ce que je souhaite faire et j'espère que vous pourrez m'aider à mon petit niveau ...

Le système d'acquisitions de notre labo fournit des fichier de mesure au format inventé par la société National Instrument dont les extensions sont .tdms. Ce sont des fichiers de mesure contenat la mesure proprement dite, mais aussi les paramètres de l'acquisition : fréquence d'échantillonnage nombre de points, nom de la voie de mesure ...
Je souhaite lire ces fichiers car je suis physicien/mécanicien et je sais ce que je programme lorsque je fais du traitement du signal, par contre les 32bites/64bites/dll/h_dll/c_dll ... je suis totalement largué (je n'ai pas une formation d'informaticiens)

Donc : J'ai téléchargé le module Scilab Visa mais ensuite ... Je suis perdu, malheureusement ...

Merci de votre aide pour m'orienter si c'est possible

Christophe



-----Message d'origine-----
De : users-fr [mailto:[hidden email]] De la part de David Chèze Envoyé : jeudi 1 mars 2018 11:53 À : [hidden email] Objet : Re: [Users-fr] Lancer une DLL avec Scilab

Bonjour Christian,

en revenant sur votre contexte général, vous souhaitez interfacer vos programmes scilab avec les équipements et logiciels NI : il y a maintenant
un  module Scilab VISA <https://atoms.scilab.org/toolboxes/visa>   dédié
pour faire cela, qui gère les détails de l'interface avec les dlls équipements et vous fournit directement fonctions "pratiques". Vous devez pouvoir retrouver des webinaires sur le sujet (l'année dernière de mémoire).

David



--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.

_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr

nilibddc_m.h (49K) Download Attachment
A_POLICY_VIOLATED_FILE_WAS_DETECTED_AND_REMOVED.TXT (264 bytes) Download Attachment
Lesept Lesept
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

Ça a l'air d'être du C

Fabrice AUZANNEAU


-----Message d'origine-----
De : users-fr [mailto:[hidden email]] De la part de HEBERT, Christophe
Envoyé : jeudi 1 mars 2018 14:25
À : French users mailing list for Scilab <[hidden email]>
Objet : Re: [Users-fr] Lancer une DLL avec Scilab

Re-Bonjour David, et à vous tous,

Je me suis plonger dans le manuel d'utilisation et si j'ai bien compris, en fait visa permet de piloter (lecture/écriture) des logiciels et materiel (en particulier de National Instrument) mais en aucun cas ne permet de lire des fichiers de résultats de mesures au format National Instrument = .tdms

Le Link, si j'arrivais à le faire marcher correspond exactement à ce dont j'ai besoin, mais sous Scilab on peut (si je ne me trompe pas ?) lancer des DLL créés en Fortran ("f") ou en C ("c") mais pas des DLL créés avec ? (extension "h", voi en pièce jointe)

Donc je suis revenu malheureusement à mon point de départ ... Quelqu'un peut-il me dire comment charger une DLL avec le fichier associer "nilibddc_m.h"

Merci par avance

Christophe
 


-----Message d'origine-----
De : HEBERT, Christophe
Envoyé : jeudi 1 mars 2018 13:56
À : [hidden email]
Objet : RE: [Users-fr] Lancer une DLL avec Scilab

Bonjour david,

Je suis vraiment désolé, mais je n'ai pas compris la moitié de votre email ...
Aussi je vais vous expliquer ce que je souhaite faire et j'espère que vous pourrez m'aider à mon petit niveau ...

Le système d'acquisitions de notre labo fournit des fichier de mesure au format inventé par la société National Instrument dont les extensions sont .tdms. Ce sont des fichiers de mesure contenat la mesure proprement dite, mais aussi les paramètres de l'acquisition : fréquence d'échantillonnage nombre de points, nom de la voie de mesure ...
Je souhaite lire ces fichiers car je suis physicien/mécanicien et je sais ce que je programme lorsque je fais du traitement du signal, par contre les 32bites/64bites/dll/h_dll/c_dll ... je suis totalement largué (je n'ai pas une formation d'informaticiens)

Donc : J'ai téléchargé le module Scilab Visa mais ensuite ... Je suis perdu, malheureusement ...

Merci de votre aide pour m'orienter si c'est possible

Christophe



-----Message d'origine-----
De : users-fr [mailto:[hidden email]] De la part de David Chèze Envoyé : jeudi 1 mars 2018 11:53 À : [hidden email] Objet : Re: [Users-fr] Lancer une DLL avec Scilab

Bonjour Christian,

en revenant sur votre contexte général, vous souhaitez interfacer vos programmes scilab avec les équipements et logiciels NI : il y a maintenant
un  module Scilab VISA <https://atoms.scilab.org/toolboxes/visa>   dédié
pour faire cela, qui gère les détails de l'interface avec les dlls équipements et vous fournit directement fonctions "pratiques". Vous devez pouvoir retrouver des webinaires sur le sujet (l'année dernière de mémoire).

David



--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
babigeon babigeon
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

In reply to this post by HEBERT, Christophe

- Installer un OS Linux (Debian par exemple)

- Tu auras gratos tous les compilateurs, par exemple le gcc et g++

- le .h est un header du C banal, il faudrait probablement le programme.

Apparemment tu serais sous $Win ??? (c'est vivre dans le péché)

J'ai quitté cela, mais aussi apparemment LV fournit une solution pour $Win

http://digital.ni.com/public.nsf/allkb/8F62D3BA9DDB9E838625777D0072E06A

As-tu essayé de ce côté ?

JLuc

-------------------------
Jean-Luc BABIGEON
CNRS/Lal/Dacc
Laboratoire de L'accélérateur Linéaire
Centre scientifique d'Orsay - Bat 200 - BP 34
91898 - Orsay Cedex
tel 0164468247 ou 8427 -[hidden email]


On 01/03/2018 14:24, HEBERT, Christophe wrote:
Re-Bonjour David, et à vous tous,

Je me suis plonger dans le manuel d'utilisation et si j'ai bien compris, en fait visa permet de piloter (lecture/écriture) des logiciels et materiel (en particulier de National Instrument) mais en aucun cas ne permet de lire des fichiers de résultats de mesures au format National Instrument = .tdms

Le Link, si j'arrivais à le faire marcher correspond exactement à ce dont j'ai besoin, mais sous Scilab on peut (si je ne me trompe pas ?) lancer des DLL créés en Fortran ("f") ou en C ("c") mais pas des DLL créés avec ? (extension "h", voi en pièce jointe)

Donc je suis revenu malheureusement à mon point de départ ... Quelqu'un peut-il me dire comment charger une DLL avec le fichier associer "nilibddc_m.h"

Merci par avance

Christophe 
 


-----Message d'origine-----
De : HEBERT, Christophe 
Envoyé : jeudi 1 mars 2018 13:56
À : [hidden email]
Objet : RE: [Users-fr] Lancer une DLL avec Scilab

Bonjour david,

Je suis vraiment désolé, mais je n'ai pas compris la moitié de votre email ... 
Aussi je vais vous expliquer ce que je souhaite faire et j'espère que vous pourrez m'aider à mon petit niveau ... 

Le système d'acquisitions de notre labo fournit des fichier de mesure au format inventé par la société National Instrument dont les extensions sont .tdms. Ce sont des fichiers de mesure contenat la mesure proprement dite, mais aussi les paramètres de l'acquisition : fréquence d'échantillonnage nombre de points, nom de la voie de mesure ...
Je souhaite lire ces fichiers car je suis physicien/mécanicien et je sais ce que je programme lorsque je fais du traitement du signal, par contre les 32bites/64bites/dll/h_dll/c_dll ... je suis totalement largué (je n'ai pas une formation d'informaticiens)

Donc : J'ai téléchargé le module Scilab Visa mais ensuite ... Je suis perdu, malheureusement ...

Merci de votre aide pour m'orienter si c'est possible

Christophe



-----Message d'origine-----
De : users-fr [[hidden email]] De la part de David Chèze Envoyé : jeudi 1 mars 2018 11:53 À : [hidden email] Objet : Re: [Users-fr] Lancer une DLL avec Scilab

Bonjour Christian,

en revenant sur votre contexte général, vous souhaitez interfacer vos programmes scilab avec les équipements et logiciels NI : il y a maintenant
un  module Scilab VISA <https://atoms.scilab.org/toolboxes/visa>   dédié
pour faire cela, qui gère les détails de l'interface avec les dlls équipements et vous fournit directement fonctions "pratiques". Vous devez pouvoir retrouver des webinaires sur le sujet (l'année dernière de mémoire). 

David



--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
Antoine ELIAS-2 Antoine ELIAS-2
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

In reply to this post by HEBERT, Christophe
Bonjour Christophe,

La DLL n'est pas en pièce jointe, surement pour des raisons de sécurité.
Essayez de la zippé ou de la renommé ( ça dépend de l'intelligence du système ^^ )
Sinon vous serait il possible de l'héberger qq part et de nous donner un lien.

Quand `link` retourne l'erreur "la librairie n'a pas été chargée", cela provient généralement de 2 choses:
 - une dépendance est manquante ( je penche pour celui la personnellement )
 - le système n'a pas reconnu le format du fichier ( 32 bits vs 64 bits, ... )

Antoine
Le 01/03/2018 à 14:24, HEBERT, Christophe a écrit :
Re-Bonjour David, et à vous tous,

Je me suis plonger dans le manuel d'utilisation et si j'ai bien compris, en fait visa permet de piloter (lecture/écriture) des logiciels et materiel (en particulier de National Instrument) mais en aucun cas ne permet de lire des fichiers de résultats de mesures au format National Instrument = .tdms

Le Link, si j'arrivais à le faire marcher correspond exactement à ce dont j'ai besoin, mais sous Scilab on peut (si je ne me trompe pas ?) lancer des DLL créés en Fortran ("f") ou en C ("c") mais pas des DLL créés avec ? (extension "h", voi en pièce jointe)

Donc je suis revenu malheureusement à mon point de départ ... Quelqu'un peut-il me dire comment charger une DLL avec le fichier associer "nilibddc_m.h"

Merci par avance

Christophe 
 


-----Message d'origine-----
De : HEBERT, Christophe 
Envoyé : jeudi 1 mars 2018 13:56
À : [hidden email]
Objet : RE: [Users-fr] Lancer une DLL avec Scilab

Bonjour david,

Je suis vraiment désolé, mais je n'ai pas compris la moitié de votre email ... 
Aussi je vais vous expliquer ce que je souhaite faire et j'espère que vous pourrez m'aider à mon petit niveau ... 

Le système d'acquisitions de notre labo fournit des fichier de mesure au format inventé par la société National Instrument dont les extensions sont .tdms. Ce sont des fichiers de mesure contenat la mesure proprement dite, mais aussi les paramètres de l'acquisition : fréquence d'échantillonnage nombre de points, nom de la voie de mesure ...
Je souhaite lire ces fichiers car je suis physicien/mécanicien et je sais ce que je programme lorsque je fais du traitement du signal, par contre les 32bites/64bites/dll/h_dll/c_dll ... je suis totalement largué (je n'ai pas une formation d'informaticiens)

Donc : J'ai téléchargé le module Scilab Visa mais ensuite ... Je suis perdu, malheureusement ...

Merci de votre aide pour m'orienter si c'est possible

Christophe



-----Message d'origine-----
De : users-fr [[hidden email]] De la part de David Chèze Envoyé : jeudi 1 mars 2018 11:53 À : [hidden email] Objet : Re: [Users-fr] Lancer une DLL avec Scilab

Bonjour Christian,

en revenant sur votre contexte général, vous souhaitez interfacer vos programmes scilab avec les équipements et logiciels NI : il y a maintenant
un  module Scilab VISA <https://atoms.scilab.org/toolboxes/visa>   dédié
pour faire cela, qui gère les détails de l'interface avec les dlls équipements et vous fournit directement fonctions "pratiques". Vous devez pouvoir retrouver des webinaires sur le sujet (l'année dernière de mémoire). 

David



--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
HEBERT, Christophe HEBERT, Christophe
Reply | Threaded
Open this post in threaded view
|

[Users-fr] Lancer une DLL avec Scilab

In reply to this post by HEBERT, Christophe

Bonjour à tous,

 

La DDL n’était pas présente … cela a peut-être était filtré par le système pour des raisons de sécurité ? Je joins donc les fichiers zippés, en espérant que cela marche maintenant.

 

Pour info ci-dessous la réponse d’ Allan CORNET qui semble dire que la DLL n’est pas transportable directement dans Scilab …

Je suis bien incapable « d'écrire un code intermédiaire d'interfaces pour scilab »

 

Qq’un a-t-il une idée ?

 

Merci de votre aide.

 

Christophe

 

 

 

Bonjour,

 

Scilab n'est pas Matlab...

La fonction loadlibrary de matlab (qui n'est pas dispo au passage dans octave) est tres compliquée et performante.

Scilab n'est actuellement pas capable de faire totalement l'equivalent

 

link(‘nilibddc.dll’,’ nilibddc_m.h ‘)  ne fonctionnera pas car la syntaxe n'est pas bonne

 

vous pouvez deja utiliser  link(‘nilibddc.dll’) seul

Si cela fonctionne c'est que la plateforme x86 (32 bits) ou x64 (64 bits) est satisfaite et que les dependances sont resolues.

 

Il faut apres ouvrir votre nilibddc_m.h et completer la commande

 

link(' nilibddc.dll’ , ['DDC_CloseFile', 'DDC_SaveFile'],'c');

 

il faudra egalement utiliser la fonction call pour appeler ces fonctions.

A la vue du .h, je ne pense pas qu'il soit possible d'utiliser directement avec link & call.

Il serait preferable d'ecrire un code intermédiaire d'interfaces pour scilab.

 

Cordialement

 

Allan CORNET

Auteur du logiciel Nelson 

 

The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.

_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr

nilibddc.7z (83K) Download Attachment
David Chèze David Chèze
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

Bonjour Christophe,

 

C’est bien de la pure informatique et d’un effort significatif (il y a un paquet de fonctions à interfacer, des dépendances externes nombreuses) qu’il s’agit, et si quelqu’un l’a déjà fait sur ce cas précis des fichiers TDM, cela n’a malheureusement pas été partagé dans la communauté.

 

David

 

 

De : users-fr [mailto:[hidden email]] De la part de HEBERT, Christophe
Envoyé : vendredi 2 mars 2018 10:02
À : French users mailing list for Scilab <[hidden email]>
Objet : [Users-fr] Lancer une DLL avec Scilab

 

[SECURITE : MISE EN QUARANTAINE DES PIECES JOINTES POTENTIELLEMENT DANGEREUSES]
Ce message contient des pièces jointes potentiellement dangereuses car susceptibles de contenir des virus. Pour lutter contre l'expansion de ce type d'attaque, les documents:
[nilibddc.7z]
 ont été retirés du message original ci-dessous. Pour les documents Office, le CEA recommande l'usage exclusif des formats plus récents exempts de macros comme DOCX, XLSX, PPTX, merci de le signaler à votre expéditeur.
Pour de plus amples informations ou pour connaître les mécanismes de mise en quarantaine, vous pouvez vous rapprocher de votre service informatique ou consulter le site USCIpedia - rubrique PureMessage.
 
----------------MESSAGE ORGINAL ci-dessous------------------
 

Bonjour à tous,

 

La DDL n’était pas présente … cela a peut-être était filtré par le système pour des raisons de sécurité ? Je joins donc les fichiers zippés, en espérant que cela marche maintenant.

 

Pour info ci-dessous la réponse d’ Allan CORNET qui semble dire que la DLL n’est pas transportable directement dans Scilab …

Je suis bien incapable « d'écrire un code intermédiaire d'interfaces pour scilab »

 

Qq’un a-t-il une idée ?

 

Merci de votre aide.

 

Christophe

 

 

 

Bonjour,

 

Scilab n'est pas Matlab...

La fonction loadlibrary de matlab (qui n'est pas dispo au passage dans octave) est tres compliquée et performante.

Scilab n'est actuellement pas capable de faire totalement l'equivalent

 

link(‘nilibddc.dll’,’ nilibddc_m.h ‘)  ne fonctionnera pas car la syntaxe n'est pas bonne

 

vous pouvez deja utiliser  link(‘nilibddc.dll’) seul

Si cela fonctionne c'est que la plateforme x86 (32 bits) ou x64 (64 bits) est satisfaite et que les dependances sont resolues.

 

Il faut apres ouvrir votre nilibddc_m.h et completer la commande

 

link(' nilibddc.dll’ , ['DDC_CloseFile', 'DDC_SaveFile'],'c');

 

il faudra egalement utiliser la fonction call pour appeler ces fonctions.

A la vue du .h, je ne pense pas qu'il soit possible d'utiliser directement avec link & call.

Il serait preferable d'ecrire un code intermédiaire d'interfaces pour scilab.

 

Cordialement

 

Allan CORNET

Auteur du logiciel Nelson 

 

The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
Antoine ELIAS-2 Antoine ELIAS-2
Reply | Threaded
Open this post in threaded view
|

Re: Lancer une DLL avec Scilab

In reply to this post by HEBERT, Christophe
Bonjour Christophe,

Je rejoins Allan ( salut ) sur l'improbabilité de l'utilisation directe de cette bibliothèque sans écrire une interface compatible avec le format attendu par la fonction call.
De plus il semble que cette DLL a une dépendance sur une autre ( usiex.dll ). Qui provient du kit de développement de NI TDMC file format ( http://www.ni.com/white-paper/3727/en/ ). Il faut qu'elle soit dans les chemins de chargement de bibliothèques ( répertoire courant, variable d'environnement PATH, ...)

Antoine
Le 02/03/2018 à 10:01, HEBERT, Christophe a écrit :

Bonjour à tous,

 

La DDL n’était pas présente … cela a peut-être était filtré par le système pour des raisons de sécurité ? Je joins donc les fichiers zippés, en espérant que cela marche maintenant.

 

Pour info ci-dessous la réponse d’ Allan CORNET qui semble dire que la DLL n’est pas transportable directement dans Scilab …

Je suis bien incapable « d'écrire un code intermédiaire d'interfaces pour scilab »

 

Qq’un a-t-il une idée ?

 

Merci de votre aide.

 

Christophe

 

 

 

Bonjour,

 

Scilab n'est pas Matlab...

La fonction loadlibrary de matlab (qui n'est pas dispo au passage dans octave) est tres compliquée et performante.

Scilab n'est actuellement pas capable de faire totalement l'equivalent

 

link(‘nilibddc.dll’,’ nilibddc_m.h ‘)  ne fonctionnera pas car la syntaxe n'est pas bonne

 

vous pouvez deja utiliser  link(‘nilibddc.dll’) seul

Si cela fonctionne c'est que la plateforme x86 (32 bits) ou x64 (64 bits) est satisfaite et que les dependances sont resolues.

 

Il faut apres ouvrir votre nilibddc_m.h et completer la commande

 

link(' nilibddc.dll’ , ['DDC_CloseFile', 'DDC_SaveFile'],'c');

 

il faudra egalement utiliser la fonction call pour appeler ces fonctions.

A la vue du .h, je ne pense pas qu'il soit possible d'utiliser directement avec link & call.

Il serait preferable d'ecrire un code intermédiaire d'interfaces pour scilab.

 

Cordialement

 

Allan CORNET

Auteur du logiciel Nelson 

 

The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr