Comment utiliser des fonctions d'une DLL via le menu "TOOLS"

Bonjour,
j'utilise un module fieldpoint dans TestStand, pour lequel j'ai créé une DLL.En dépannage (donc sequence "PAUSED"),je souhaite utiliser mes commandes en chargeant un panneau UIR. Cela fonctionne bien tant le test n'est pas lancé. Mais quand il est lancé, le panneau n'est plus dans le même thread et j'ai une erreur "unknown source position" pour une fonction de la dll. (ça ne concerne pas le panneau,mais une fonction déclenchée par un contrôle).
MultiThreading ??
Merci pour toute aide
JMC
JMCe

Carlos,
d'abord merci de me répondre en français, c'est trés sympathique.
Je vais essayer d'être clair :
J'utilise deux modules FieldPoint RS232, un pour des mesures, l'autre pour des relais. L'utilisation du FieldPoint avec CVI et TestStand est délicate car il n'y a qu'un serveur pour les deux, donc :
Une dll de commande des relais appelle des fonctions dans une autre dll commune aux deux FieldPoint qui elle même appelle les fonctions de base de la librairie CVI. L'initialisation des FieldPoints se fait dans le SequenceFileLoad de la sequence principale.(c'est là qu'on retrouve tous les "Tags" à créer).
La fonction qui charge le panneau de commande se trouve dans le même fichier dll que l'initialisation du FieldPoint.
-> je lance cet
te fonction du menu Tools sans sequence running : ça marche (le thread est le même)
-> je lance cette fonction dans un step de type action, je lance la sequence : ça marche !! (le thread est le même)
-> je mets la sequence en "Pause",je lance à partir du menu tools : ça plante (Fatal error:unknown source position le thread est différent).
La fonction qui plante est une des fonction de la librairie CVI "FP_Read".
J'ai essayé de charger le panneau dans l'initialisation mais c'est pareil.
Est-ce plus clair ?
Merci
JMC
JMCe

Similar Messages

  • Rapport word : Comment avoir des axes d'une épaisseur différente​...

    Bonjour,
    dans un rapport word et à partir de couples de données je génére un graphique XY. Cela fonctionne sans problème.
    Par contre sur le graphique de mon rapport (voir la PJ) je voudrais marquer le zéro des axes X/Y par un trait légérement plus épais que la grille.
    Je ne vois aucun réglage à ce niveau et aucune solution simple me vient (dessiner les axes X et Y me semble très compliqué).
    D'avance merci pour toutes informations.
    Alexandre.
    Pièces jointes :
    rapport.pdf ‏55 KB

    Bonjour Hisawa,
    Pourriez-vous nous envoyer votre code s'il vous plait?
    Cordialement.
    Sabri JATLAOUI - Certified LabVIEW Developer

  • Comment utiliser un codeur avec une carte serie E et Visual Basic

    je dois acquerir les donnees venant d'un codeur incremental sur ma carte serie E et grace a un programme VB. Comment puis-je faire.
    Merci.

    Desole, je ne parle pas francais bien. Vous devriez avoir des exemples pour l'usage du dispositif de l'E-serie DAQ en Visual Basic dans le repertoire \Program Files\National Instruments\NI-DAQ\Examples.
    Chris Matthews
    National Instruments

  • 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"

  • Possibilité de passage d'une structure C d'une dll appelée dans Labview

    Bonjour, 
    J'aimerais savoir s'il existe un moyen de passer une structure (type de donnée en C) au
    travers de la  boîte de dialogue : "Appeler une fonction d'une
    DLL" pour l'utiliser dans Labview (idéalement sauver directement dans un
    cluster).
    A ce jour j'utilise des pointeurs sur les paramètres individuels pour passer les
    données traitées par ma DLL. 
    Exemple : void  Message(uint32_t *arg1, double *arg2, int32_t arg3)
    En vous remerciant d'avance,
    Meilleures salutations.

    Bonjour,
    En effet, il existe un moyen de passer un cluster dans une DLL en utilisant le type de données "Adapt to Type".
    Il existe une knowledgeBase sur le site de National Instruments expliquant la procédure à suivre.
    How Do I Use Adapt To Type For Call Library Function Nodes?
    Salutations,
    Laurent P.
    Application Engineer
    National Instruments

  • Comment exploiter des données externes?

    Bonjour a tous
    Je suis en cours de mon projet de fin d'études.
    Mon problème ce que je commande un moteur avec son variateur de vitesse de type Elmo Bassoon en utilisant l'application fournie avec le variateur. Cette dernière permet la commande ainsi que l'affichage de différentes données telle que la vitesse , le courant , la position...
    Mon problème ce que j'ai besoin d'exploiter ces données en utilisant labVIEW et j'ai entendu parler que c'est possible en utilisant les fichiers dll de l'application, j'ai essayé mais j'ai pas réussi à les avoir!
    Merci de m'avoir trouvé ou proposé une solution.
    Cordialement

    Bonjour Mohamed_ALI,
    Vous trouverez les informations nécessaires aux appels de fonction d'une dll sur le lien ci-dessous.
    http://zone.ni.com/reference/fr-XX/help/371361J-0114/glang/call_library_function/
    Cordialement.
    Sabri JATLAOUI - Certified LabVIEW Developer

  • Utilisatio​n des fonctions trigo sur labview

    Bonjour,
    je fais de l'acquisition de données sur labveiw et je suis encore débutant!! j'ai un problème avec l'utilisation des fonction trigonométrique sur labview car ca me renvoie tout et n'importe quoi. j'ai fait un simple VI pour vérifier le fonctionement de la fonction sinus et arcsinus et quand j'entre par exemple j'entre la valeur 30 ca me donne en sortie du sinus -0.98 alors qu'on sait tous que le sin 30°=1/2  et pire encore quand je reprend ces -0.98 que j'entre dans la fonction arcsin ( la réciproque) je n'obtiens plus les 30 de depart mais -1.42 :/ j'aimerais savoir savoir le truc que je ne capte pas. Car pour moi tous ces résultats sont illogique!!!
    Merci 
    Résolu !
    Accéder à la solution.

    Bonjour,
    Il faut utiliser des angles en radians.
    Cordialement,
    Micaël DA SILVA

  • Appeler une dll qui est referencé à une autre dll

    Bonjour tout le monde.
    J'ai besoin de votre aide pour résoudre mon problème :
    En effet je dispose d' un laminoir qui est piloté par un programme de VB6 référencé a une dll de "MX du fabricant de moteur" J'ai créé une dll sous vb édition express 2008 pour récupérer ce programme et et j ai reussi à appeler cette cette dll par vb.net pour controler mes moteurs mais pour appeler cette dll par labview 7.0 j 'obtiens l'erreur 1172 qui me dit qu'il y a un pb d instance lié à la dll de MX component.
    Ce que j arrive pas a comprendre c est k j ai utiliser labview pour appeler une dll.net référencé a une dll.net et ça marche. Mais pas une dll.net référencé a une dll de MX composent

    Bonjour,
    Merci d'avoir posté votre question sur le forum de National Instruments.
    Pourvez-vous m'envoyer votre code?
    Brice S.
    National Instruments France

  • 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

  • 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.

  • 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​...

  • Comment partager des fichiers entre 2 utilisateurs sur un même i mac?

    Bonjour,
    Comment partager des fichiers entre 2 utilisateurs sur un même I mac?

    Vous ne pouvez pas synchroniser un calendrier entre lesdeux comptes différents. Mais vous pouvez partager un calendrier afin que l'autre personne peut souscrire à elle ety ajouter. S'il vous plaît voir cette page:
    http://help.apple.com/icloud/?lang=fr#mm6b1a9479
    Cliquez sur 'Partager un calendrier ou une liste de rappels privés avec certaines personnes'

  • Comment générer 1 appel de fonction avec une 6014 à la fréquence d'1 SCAN

    Je souhaiterais générer un appel de fonction avec une 6014 E, lors d'un SCAN d'entrées analogiques, à chaque acquisition d'une entrée parmi la série des entrées scannées.
    Pour ça, j'utilise le jeu d'instructions suivant :
    iStatus = Config_DAQ_Event_Message (iDevice, 1, "AI0", 1, 100, 0, 0, 0, 0, 0, 0, (unsigned long)&myCallBack);
    iStatus = Set_DAQ_Device_Info (iDevice, ND_DATA_XFER_MODE_AI, ND_INTERRUPT_EVERY_SAMPLE);
    Ensuite je lance l'acquisition avec SCAN_START.
    Je bascule mon entrée A0 de 0 à 5V, mais rien ne se produit, et je ne rentre jamais dans ma callback.
    J'en déduis 3 hypothèses :
    - Soit il y a un problème dans les nombreux paramètres des instructions pour définir la
    gestion d'événements
    - Soit ma callback n'est pas définie correctement
    - Soit la carte n'est pas prévue pour faire cela...
    Dans tous les cas, si vous avez un élément de réponse, sur l'explicitation des paramètres ou l'utilisation d'une callback en C++ ou en C version Windows (j'ai trouvé des ex mais en DOS), je vous serais très reconnaissant, étant à présent à bout de ressources et de nerfs...
    Merci d'avance

    Bonjour,
    A partir du lien suivant vous trouverez des exemples d'acquisition pour Visual Basic :
    http://search.ni.com/query.html?col=alldocs&qp=%2Bcontenttype%3AExample+%2BSW%3AMSForVB&lk=1&qt=acquisition&layout=Example
    De plus, lorsque vous installez le driver NI-DAQ, des exemples sont à votre disposition.
    Sincères salutations
    Isabelle Jean
    Isabelle
    Ingénieur d'applications
    National Instruments France

  • Comment lire les donnée d'une dll

    bonjour
    je suis entrain d'utiliser un vi qui possede une dll. je voudrai savoir comment configure le dll
    coordialement skipi
    Solved!
    Go to Solution.
    Attachments:
    Sans titre.JPG ‏63 KB
    Sans titre1.JPG ‏54 KB

    OUI je connait tous les details du vi ( entrée et sortie). Le probleme que j ai c'est le paramettre il ne prend pas toute les entres du vi automatiquement.
    Avez vous un exemple a me montrer.
    MERCI
    COORDIALEMENT SKIPI
    Attachments:
    Sans titre.JPG ‏47 KB
    Sans titre1.JPG ‏41 KB

  • Recupérer les valeur d'un Control via un .obj appelé depuis une DLL- Getting a Control value from an .obj file called from a dll

    Bonjour,
    Suite au passage à la version CVI 2013, il faut passer par un fichier .obj au lieu du .c quand on veut utiiser la LoadExternalModule.
    Le pb qui en résulte impossibilité de récupérer la valeur des control dans l'uir géré par le .obj qui est appelé par une dll.
    Autrement, il m'est impossible de faire parvenir à la dll les valeur des control ( dll qui appelle le .obj).
    Quelqu'un a eu le même soucis amigos?
    Merci
    Hi,
    When using the LoadExternalModule function in CVI 2013, we can no longer use a .c file. Instead we have to use an .obj file.
    My issue is that' impossible for me to get a control value from an .iur managed by the .obj witchi is called by a dll. 
    Otherwise it's impossible for me to get the control vale when calling the .obj from a dll.
    Any suggestions Amigos
    Thanks

    For people who could be interested in, here the code I provided to the customer. This code demonstrates that calling a function defined in a .obj file from a DLL which is called itself by a program can be realized without throwing any error.
    In order to use this example, you will have to :
    1) Open "main.cws"
    2) Define "Madll" as Active Project (right clic on the project and click on "Set Active Project")
    3) Build the DLL (CTRL+M)
    4) Define "Main" as Active Project
    5) Click on "Debug Project" in order to build the executable and run it
    This example has been built with CVI 2013.
    Jérémy C.
    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;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France
    Attachments:
    main.zip ‏70 KB

Maybe you are looking for

  • What does error message "...disk could not be read from or written to."?

    Hi- I have a new 5G ipod w/ video, and I have been unable to load anything on it. Actually, after several tries, I got a few podcasts loaded, but that was after many attempts.) I keep getting the error message +"Attempting to copy to "My ipod" failed

  • Partitioning windows 8.1

    Hello , I just Took Delivery of a HP touchsmart notebook pc 15-n230sa notebook pc laptop , and have done battle and managed to set it up after a struggle, It comes with a 1tb hardrive which runs windows 8.1 op system , I am writing to ask does anyone

  • MM docyment reference in vendor report

    Dear Experts, One of my clients requirement is that he want  PO and GR  reference against every credit to the vendor through MM. In standard report fbl1n  there is a field for purchasing document but it is coming blank . can you suggest a way so that

  • [SOLVED] Neither wired nor wireless work on new Lenovo X201.

    Hello there! I just received a beautiful new X201, and I've had nothing but trouble in trying to get access to the tubes. lspci | grep Net gives me Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 06) Network controller:

  • G5 1.8 GHz Dual-- Fan Always on High Speed

    I had my logic board replaced (by an apple certified repair place) and now the fan is always on super high. It goes on high speed at start-up and only stops when I shut down or put it to sleep. Before I had to repace the logic board it was a very qui