Bonjour,
Je suis actullement en train d´essayer de faire appel a un programme en langage C avec Labview. J'utilise Call lybrary function. Le probleme est quíl me demande de creer un chemin vers une dll, puis-je avoir une aide?
Merci
Bonjour,
Je suis actullement en train d´essayer de faire appel a un programme en langage C avec Labview. J'utilise Call lybrary function. Le probleme est quíl me demande de creer un chemin vers une dll, puis-je avoir une aide?
Merci
Je pense que tu pourrais enregistrer ton programme en C sous forme".dll", que tu pourras ensuite appelé depuis Labview. Le chemin sera celui que tu auras choisi en enregistrant ton programme.dll
cette methode ne fonctionne pas
c'est que je n'ai pas bien compris ce que tu voulais faire
C´est assez simple, je cree un programme sur labview a l´aide de "Call function librery node".
Ensuite je cree un lien path vers une dll qui charge un programme C.
Voila le programme,
il est tres simple ,or le programme indique qu´une erreur a extcode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 /* Call Library source file */ #include "extcode.h" void DisplayHelloFromDLL(int32_t frage, int32_t antwort); void DisplayHelloFromDLL(int32_t frage, int32_t antwort) { antwort=frage*3; }
Est ce une bonne methode pour utiliser c sur labview?
Excusez moi voila la bonne image:
Hello,
L'intégration du code C dans Labview est soumis à tout un tas de règles de codage pour pouvoir être gérer.
Je te conseille de regarder la doc ( Using external code with Labview) . Elle est dispo sur le site de NI.
Tout autre chose: je n'ai jamais vu l'intérêt d'intégrer du code C à Labview car il est généralement plus rapide de réécrire le code au format LV que de l'intégrer...
a+
Merci pour ta reponse, j´ai deja essayer de faire le premier exemple du fichier
pdf "Using External Code im Labview".
Voir exemple1 page 2-16 et commencement a partir de la page 2-6.
J'ai créé le projet et voilà mon code :
Mais je coince il m´indique cette erreur lorsque veux contruire la dll:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 /* Call Library source file */ #include <stdio.h> extern ´C´ { long avg_num(float a[], long size, float *avg); } long avg_num(float a[], long size, float *avg) { #include "extcode.h" long avg_num(float a[], long size, float *avg); long avg_num(float a[], long size, float *avg) { int i; float sum=0; if(a != NULL) { for(i=0;i < size; i++) sum = sum + a[i]; } else return (1); *avg = sum / size; return (0); } }
Pour information, j´utilise C car je dois faire 2 boucles for de 1024 et de 2048--------------------Configuration: project - Win32 Debug--------------------
Compiling...
myshared.c
C:\LabVIEW\EMUS_LaufzLABVIEW\myshared.c(5) : error C2018: unknown character '0xb4'
C:\LabVIEW\EMUS_LaufzLABVIEW\myshared.c(5) : error C2018: unknown character '0xb4'
C:\LabVIEW\EMUS_LaufzLABVIEW\myshared.c(5) : error C2054: expected '(' to follow 'C'
C:\LabVIEW\EMUS_LaufzLABVIEW\myshared.c(12) : fatal error C1083: Cannot open include file: 'extcode.h': No such file or directory
Error executing cl.exe.
project.dll - 4 error(s), 0 warning(s)
ce qui me fait 2097152 boucles. Malheuresement cela ralentit enormément le processus de Labview.
Hello,
As tu fait un copier-coller?
A priori, le premier probleme viendrait de la quote de 'C' qui n'est pas la vraie quote ( le caractere ' 0XB4 au lieu de ' 0x27).
A voir pour la suite.
a+
Merci j´ai enfin reussi.
Il ne faut surtout pas oublier d´enregistrer les header .h du dossíers cintools vers le dossier du projet.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager