Comment créer une dll sous labview avec plusieurs fonctions venant du même VI et possédant un tabcontrol ?

Comment créer une dll sous labview avec plusieurs fonctions venant du même VI et possédant un tabcontrol ?

Bonjour,
L’utilisation d’une « commande d’onglet », ou « tabcontrol », ne pose pas de problème pour la définition d’une DLL à partir d’un VI.
Selon la version de LabVIEW que vous utilisez, le processus de création de DLL sera différent.
Si vous utilisez une version antérieure à la v8, vous pouvez vous reporter à ce lien : Construire une DLL avec LabVIEW 7.0.
Sinon, vous devez enregistrer votre VI dans un projet, puis définir le connecteur de votre VI avec les paramètres d’entrées/sorties (cette opération est indépendante des différentes « commandes d’onglet » que vous avez pu implémenter).
Sélectionnez, dans le projet les « spécifications de construction » dans le projet (via un click droit), pour créer une DLL. Dans la boite de dialogue qui s’ouvre alors, à l’onglet « fichiers source », vous pouvez ajouter votre VI parmi les « VIs exportés » et configurer, en fonction des E/S câblées sur le connecteur de votre VI, les fonctions contenues dans la DLL.
J’espère que ces quelques éléments auront pu vous éclairer.
Cordialement,
Guillaume H.
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
>> NIDays 2011, le mardi 8 février au CNIT de Paris La Défense

Similar Messages

  • Comment attaquer une DLL sous labview

    bonjour,
    pour le cadere d'un projet je cherche à savoir s'il est possible d'attaquer directement une DLL sous LABVIEW
    cordialement

    Merci mehdi pour la traduction: "Appeler une fonction d'une DLL"

  • Comment fermer totalement une application sous ipod touch 4g ?

    Bonjour a tous ^^ voila mon probleme :
    J'ai chercher sur internet comment arreter completement une application sous ipod touch 4g, mais je n'ai trouvé pour seule solution de laisser appuyer sur le bouton home 3 secondes. Mais cette méthodes ne marche pas pour l'ipod touch 4g (appuyer sur ce bouton 3sec ouvre le controle vocale et ne ferme pas l'application). Je voudrais donc savoir si quelqu'un a une méthode pour m'aider.
    Merci d'avance :-)

    Devil1802 wrote:
    Merci beaucoup a toi !! j'ai fais cette manip' que tu ma dit, et j'ai pu voir que j'avais enormement d'application en meme temps en tache de fond appareil photo, appstore... est-ce normal ? puis-je désactiver le fait que les applications se lances d'elles même ? et derniere question, ces applications en taches de fond utilise beaucoup de batteries ? parceque jusque aujourd'hui j'ai trouvé que mon ipod perd vite de sa batterie :s
    Je te remercis d'avance une fois encore .
    « est-ce normal ?» Oui
    « puis-je désactiver le fait que les applications se lances d'elles même ?» Non. Pas par défaut
    «et derniere question, ces applications en taches de fond utilise beaucoup de batteries ?» en générale, non.
    «parceque jusque aujourd'hui j'ai trouvé que mon ipod perd vite de sa batterie :s» Malheureusement, beaucoup de monde a cette problème de batterie, surtout avec iOS 5.0.1.  On espère qu'Apple va l'améliorer par une nouvelle version de iOS, mais c'est seulement un espoir.

  • Comment transposer une arborescence sous LabVIEW

    Bonjour à tous,
    Je voudrais transposer l'arborescence présente en pièce jointe en programmation LabVIEW.
    Je récupère de mon VI actuel les paramètres suivants (que l'on retrouve en entrée de l'arborescence, à gauche) :
    - Cycle de fonctionnement : Ouverture / Fermeture
    - Courant : Augmente / Diminue
    - Phase de fonctionnement : Phases Ouverture / Phases Fermeture
    - Variations autres paramètres (Tension, Vitesse, etc...) : Augmente / Diminue
    - Degré d'importance : /
    En fonction des valeurs que prennent ces entrées, on suit différents chemins qui nous font remonter vers des numéros (pastilles de couleurs sur l'image).
    Je voudrais savoir par quels moyens je pourrais modéliser cette arborescence sous LabVIEW ??? Est-ce qu'il existe des applications déjà existantes ???
    J'espère avoir été assez clair.
    Cordialement.
    Pièces jointes :
    Arborescence.jpg ‏230 KB

    Bonjour Simon,
    En fait j'avais pensé utiliser ce genre d'outil mais j'ai quelques problèmes avec ce que je veux faire vraiment (voir pièce jointe).
    Par exemple, en entrée de la case structure principale, j'ai plusieurs variables "DériveVerr++_S1", "DériveVerr+_S1", etc...Certaines vont avoir comme valeurs "VRAIE" et d'autres "FAUSSE".
    Je voudrais, à travers cet imbriquement de case structure, récupérer en sortie un message global (du texte qui s'affiche) et qui regroupe toutes les variables qui sont "VRAIE".
    En fait, il faudrait balayer l'état des variables dans les case structure et à la fin, en fonction des variables qui sont vraies, définir un message singulier (représenté par les pastilles de couleur sur la première pièce jointe)
    Le soucis, c'est qu'il y a une dizaine d'entrée et donc pleins de combinaisons possibles entre celles qui sont "VRAIE" et les autres qui sont "FAUSSE". Et c'est sur ce point que je me pose des questions sur l'utilisation des case structure et sur comment gérer autant d'informations différentes.
    SimonD31 a écrit:
    Qu'est-ce que tu souhaite avoir en sortie? Tes numeros sous quelle forme? une chaîne de caracteres?
    Les sorties seront en fait des messages textes qui feront la synthèse des états des variables d'entrée.
    J'espère avoir été clair dans mes propos...
    Cordialement.
    Pièces jointes :
    Structure.JPG ‏137 KB

  • Comment créer une page fantôme avec Muse ?

    Je suis en train de créer un site web sur Muse. Seulement, j'aimerais publier sur ma page d'accueil des liens vers des articles sans avoir à créer de sous-menus. Que mon lien renvoie à une page qui ne figure pas dans le menu.
    Pouvez-vous m'indiquer la marche à suivre, si cela est faisable sur Muse ?

    Bonjour,
    Merci pour votre réponse.
    mais je ne vois pas comment faire exactement;
    je dois pour cela utiliser la commande INSERER CODE HTML ou avec les HYPERLIENS ?
    Bien a vous
    PS: j'ai beacoup appris avec votre formation muse video2brain
    voici mon premier site réalisé avec muse:
    http://s026-5.businesscatalyst.com
    toutes critiques me pemettant d'avancer est bienvenu

  • Est il possible de creer une fenetre sous labview?

    Je souhaite faire s'afficher une fenêtre lorsque je clique sur un bouton. Elle ne doit pas disparaitre après avoir entrer les valeurs nécessaire à l'exécution du programme. De plus, le programme peut boucler donc on doit pouvoir modifier les valeurs dans la fenêtre a tout moment. Merci d'avance pour toute réponse.

    Une manière de résoudre ce problème est de lancer un vi indépendant. Le vi doit tourner en boucle continue. Il faut le refermer en quittant l'application principale.
    La gestion de tout ça est un peu compliquée, et il y a quelques pièges.
    Le vi joint en exemple implémente les points principaux :
    - chargement dynamique
    - lancement seulement si le vi n'est pas actif
    - ouverture de la fenêtre
    - fermeture à la sortie de l'application principale.
    Le vi Run&Open doit être placé dans la même librairie (.llb) que le vi principal de l'application.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Open_Window.llb.zip ‏41 KB

  • Parametre envoyé à une DLL Labview

    Bonjour
    J'ai créé une DLL sous Labview (5 Vi + 1 Global). Cette DLL ouvre un port de commication série (fixé à 1 pour l'instant).
    Cette DLL est appelée par un programme tiers (BATEMC).
    Elle est implantée sur plusieurs PCs différents sur lesquels le port Com à utiliser est différent.
    Je voudrai passer en paramètre le N ° de port Com (1,2,3...) ou son nom (Com1,Com2, Com3...).
    Pouvez vous m'expliquer comment reccupérer cette valeur ?
    Merci d'avance pour votre contribution.
    PS: Je suis débutant sous Labview

    La ressource VISA à spécifier est polymorphe, et peut notamment être indiquée par une chaine de caractère. Après, on peut facilement étendre ça à d'autres possibilités avec les fonctions de formatage de chaines de caractères. Par exemple ici, l'option 3 montre qu'avec un type énum (ou entier!) on peut obtenir la chaine qui sera utilisée pour ouvrir une session VISA.
    (Attention, il faut que la commande soit connectée au connecteur du VI et il faut l'exporter au moment de la création de la DLL pour que cela devienne un paramètre de fonction dans l'environnement d'appel).
    Cdt,
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • Appel d'une dll avec un callback d'une autre fonction

    Bonjour.
    J'ai une carte d"acquisition vidéo dont je souhaite réaliser les drivers sous labview. Une DLL est fournie avec le manuel SDK d'utilisation.
    Mais je coince à ce niveau :
    Register Draw callback function: RegisterDrawFun()
    API:
    int RegisterDrawFun(DWORD nport, DRAWFUN(DrawFun), LONG nUser)
    Parameters:
    DWORD nport Channel Index
    DRAWFUN(DrawFun) callback function
    LONG nUser user data
    Callback function explanation:
    void CALLBACK DrawFun(LONG nPort,HDC hDc,LONG nUser)
    nPort channel number
    hDc devide context of offscreen surface is similar to the DC of display window
    nUser user data
    Return Values:
    If the function succeeds, the return value is 0.
    Remarks:
    When the video is previewed with offcreen mode, the application call this function to get the device context of offscreen surface so that the application can draw lines, strings, rectangles on the surface of video.
    C'est le callback de la fonction "drawfun"  que je ne sais pas mettre en oeuvre. Et dans quelle DLL de windows ce trouve cette fonction car elle n'est pas dans la DLL fournie.
    Pourriez vous aussi me dire , comment obtient t'on le "handle" d'une valeur contenu dans un indicateur pour le donner en argument d'un appel à une DLL.
    Merci d'avance pour votre aide.
    Cordialement,
    MH.

    Dupliqué >> http://forums.ni.com/t5/LabVIEW/appel-d-une-dll-av​ec-un-callback-d-une-autre-fonctionappel-d-une/m-p​...

  • Appel d'une dll avec un callback d'une autre fonctionappel d'une dll avec un callback d'une autre fonction

    Bonjour.
    J'ai une carte d"acquisition vidéo dont je souhaite réaliser les
    drivers sous labview. Une DLL est fournie avec le manuel SDK
    d'utilisation.
    Mais je coince à ce niveau :
    Register Draw callback function: RegisterDrawFun()
    API:
    int RegisterDrawFun(DWORD nport, DRAWFUN(DrawFun), LONG nUser)
    Parameters:
    DWORD nport Channel Index
    DRAWFUN(DrawFun) callback function
    LONG nUser user data
    Callback function explanation:
    void CALLBACK DrawFun(LONG nPort,HDC hDc,LONG nUser)
    nPort channel number
    hDc devide context of offscreen surface is similar to the DC of display window
    nUser user data
    Return Values:
    If the function succeeds, the return value is 0.
    Remarks:
    When the video is previewed with offcreen mode, the
    application call this function to get the device context of offscreen
    surface so that the application can draw lines, strings, rectangles on
    the surface of video.
    C'est le callback de la fonction "drawfun"  que je ne sais pas mettre
    en oeuvre. Et dans quelle DLL de windows ce trouve cette fonction car
    elle n'est pas dans la DLL fournie.
    Pourriez vous aussi me dire , comment obtient t'on le "handle" d'une
    valeur contenu dans un indicateur pour le donner en argument d'un appel à
    une DLL.
    Merci d'avance pour votre aide.
    Cordialement,
    MH.

    Salut,
    Tu dois utiliser un "Call Library Function Node".  Je ne saurais comment traduire en francais. 
    Ca se situe a l'interieur des fonctions de connectivite sous libraries et executables.
    Lorsque tu installes le "Call Library Function Node" sur ton diagramme, tu dois par-apres le configurer.
    Tu cliques (2x) sur l'icone et tu choisi la fonction dll auquel tu veux envoyer des valeurs.  Une fois choisi, tu peux joindre les parametres.

  • Projet dll c# sous labview ?

    Bonjour
    J'ai un projet de banc de rodage de capteur, pour le moment il se fait manuel et on veut le passer automatiquement par labview.
    Nous avons une gestion d'électrovannes qu'on va gérer avec labview mais ma question est :
    nous avons un logiciel (maison) programmer en c#, est ce que en passant par l'appel de dll sous labview on va arriver à faire la même chose que le logiciel ? Notre but et de tous mettre sous labview.
    J'ai regarder plusieurs exemple mais tous les codes sont en C ou C++ pour les dll.
    Merci
    Mickael

    Bonjour Mickael,
    Merci d'avoir posté sur le forum National Instruments.
    Le format .dll est standardisé, il est donc possible aussi d'appeller ces fichiers dans LabVIEW.
    Néanmoins, vous pouvez essayer vos dll en allant dans l'onglet Outils de LabVIEW, puis Importer, et Bibliothèque partagée (.dll)...
    Voici un petit screen explicatif :
    Cordialement,
    Romain P.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> NIDays 2011, le mardi 8 février au CNIT de Paris La Défense

  • Passer un tableau à une dll labview

    Bonjour
    J'ai créé une dll labview avec une methode qui sert à passer un tableau de double.
    Quand je passe mon tableau , j'ai une erreur memoire insufissante et ça ne fonctionne pas. je joints mon code et le projet de la dll
    la methode : labview dll_tableau
    le client de test pour la dll : test dll.vi
    question annexe : comment fait on pour débugger une dll en labview?
    Merci
    Attachments:
    test.zip ‏808 KB

    Bonjour,
    J'ai essayé de faire fonctionner votre programme. En appelant le programme test dll.vi j'obtiens bien une erreur de mémoire insuffisante. En revanche je ne comprends pas l'intérêt de la structure séquence, ni celui des différentes étapes. En n'utilisant uniquement l'étape n°2, cette erreur de mémoire n'intervient plus. Je n'ai pas été plus loin dans les tests. Aussi, à quoi de servent les différentes étapes de cette structure?
    Bonne journée,
    M-Junior

  • Intégration d'une DLL générée sur Simulink dans un algorithme Labview, à finalité app temps réel sur NI myRIO

    Bonjour à tous,
    En deux mots : dans le cadre d'un projet interfacultés, je dois intégrer à mon algorithme Labview l'exécution d'un algorithme d'optimisation actuellement codé sur Simulink d'un tiers. La finalité de mon algorithme est de générer une app temps réel que j'exécute sur le matériel embarqué, NI myRIO.
    J'ai pu lire que justement il était possible d'intéragir entre Labview et Simulink, via le fait que Simulink permet de générer une DLL, et Labview de la lire/exécuter.
    Mes questions sont :
    Est-ce tout-à-fait envisageable dans mon optique d'app temps réel sur myRIO ? (Par exemple, l'exécution de la DLL pourra-t-elle se faire en parallèle du reste mon algorithme Labview (autres acquisitions de données, etc))
    Quid du toolkit NI Labview model interface ? Est-il indispensable de l'acquérir (et si oui pourquoi) ?
    Je sais qu'il est possible de réécrirer directement sur Labview des algorithmes d'optimisation (ici, du MPC), mais ce serait à priori la dernière option envisagée.

    Bonjour,
    Le MIT est la seule option non-obsolète pour exécuter des modèles Simulink dans LabVIEW. Et si tant est que vous utilisez MIT 2014 (avec LabVIEW 2014), vous pourrez exécuter votre modèle Simulink sur le myRIO.
    Les bases pour que tout fonctionne se trouvent ici :
    - http://digital.ni.com/public.nsf/allkb/E552B0CD4E48215586257DF7005BE055?OpenDocument
    Cordialement,
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • Comment savoir si une fenetre Labview est au premier plan

    Comment savoir si une fenetre est Labview au premier plan ?
    Sans passer par l'API WIN32 (GetWindowInfo et WINDOWINFO)
    Sinon comment on fait pour recuperer la structure WINDOWINFO
    Merci

    Bonjour Lunik,
    Merci d'avoir posté sur le forum National Instruments.
    Il est possible d'utiliser le noeud de propriété VI>>Feneêtre face-avant>>au premier plan afin de savoir si la fenêtre LabVIEW du VI en question se situe au premier plan des fenêtres LabVIEW. Par contre pour savoir si la fenêtre est au premier plan par rapport à toutes les fenêtre Windows tu dois utiliser la fonction GetForegroundWindow (SetForegroundWindow pour la mettre au premier plan) de la DLL User32.dll.
    Voici un VI qui te montre comment utiliser ces différents éléments. Pour faire un test rapide ouvre le VI et click sur exécuter depuis la face-avant puis click sur exécuter depuis le diagramme. Le nom renvoyé change en fonction de la fenêtre qui est au premier plan.
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/
    Pièces jointes :
    GetForeground.vi ‏10 KB

  • Récupérer l'adresse de stockage d'un tableau sous LabVIEW

    Bonjour à tous,
    Je viens à vous pour résoudre le problème suivant:
    J'utilise une DLL en LabVIEW. Cette DLL possède une fonction qui passe (notamment) un pointeur de tableau en argument. J'ai remarqué que l'assistant "Importation d'une bibliothèque partagée" a choisi une variable chaîne à la place de ce pointeur de tableau, ce qui sous-entend que la fonction s'attend à l'adresse du premier élément du tableau...
    De fait, pour utiliser la fonction sous LabVIEW, je dois créer un tableau (jusque là, ça va) puis surtout récupérer l'adresse de son premier élément. Et c'est là que le bât blesse:
    - Existe-t-il un VI renvoyant l'adresse d'une variable ?
    - Et d'ailleurs, la création d'un tableau en LabVIEW se fait-elle de la même façon que la création d'un tableau en C (au niveau de l'adressage, j'entends) ?
    Merci d'avance !
    Résolu !
    Accéder à la solution.

    Tu dois "passer" un Tableau à une fonction contenue dans une DLL .... c'est bien ça ?
    un tableau de quoi ? ...
    voici un (tout petit) exemple avec un Tableau de U8.
    Tu cables directement le Tableau à l'entrée du Noeud "Call Library Function Node"
    mais "avant", tu dois configurer cet appel (clic droit sur le noeud ... "configure")
    et là tu peux demander à LV de passer l'adresse du Tableau
    Dans ce cas LV passera l'adresse (pointeur) du premier élément du Tableau

  • Création d'installeur (setup.exe) sous Labview

    Bonjour à tous,
    Je suis nouveau dans ce forum et je viens de finir mes études aussi lol.
    J'ai réaliser un gros projet sous labview avec des centaines de VI.
    J'aimerai savoir comment créer un installeur afin que mon soft soit distribuable ?
    En gros, avoir une icone setup.exe qui permet d'installer mon soft sur n'importe quel PC même non équipé de l'IDE LabView...
    Merci d'avance.

    Bonjour,
    Il existe un forum supplémentaire si vous souhaitez publier en français.
    S'il vous plaît le trouver ici -> Discussions de produit de NI
    Christian

Maybe you are looking for