COMMUNICATION SUR FPGA ENTRE VI MAIN ET SOUS VI

Bonjour, je travaille sur le vi de communication série 232 téléchargeable chez NI. Mon soucis consiste à modifier des entrées (1 U32, 1 U16 et 1 BOOLEEN) entre le vi main et le sous vi de com série. Quelle est la meilleur méthode pour ce genre d'opération.
Merci
Ludo

Bonjour,
N'ayant pas de retour direct, veuillez trouver dans un premier temps des documents qui seraient suceptibles de vous aider :
1) Developing Digital Communication Interfaces with LabVIEW FPGA (Part 1)
http://www.ni.com/white-paper/5385/en
2) Developing Digital Communication Interfaces with LabVIEW FPGA (Part 2)
http://www.ni.com/white-paper/5411/en
3) Efficient Development and Debugging with LabVIEW FPGA
http://www.ni.com/white-paper/7445/en
4) Nouveautés du Module NI LabVIEW FPGA
http://www.ni.com/white-paper/12950/fr
5) FPGA Control on CompactRIO Sample Project Documentation
http://www.ni.com/white-paper/14137/en
En espérant que cela sera utile,
Cordialement,
Matthieu RICORD
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;}
Été de LabVIEW 2014
12 présentations en ligne, du 30 juin au 18 juillet

Similar Messages

  • Comment programmer un niveau de triger sur une entrée analogique provoquant le changement d�état d�une sortie logique lorsque ce niveau est atteint

    Comment programmer un niveau de triger sur une entrée analogique provoquant le changement d�état d�une sortie digitale lorsque ce niveau est atteint

    Hello Rla,
    I believe you've already posted this question here and it has already been answered. Please continue to post in that discussion thread.
    David Mc.
    NI Applications Engineer

  • Pas de code généré sur mac pour activer la continuité sms entre iphone et mac sous yosémite

    Pas de code généré sur mon macbook pro (sous yosemite) afin d'activer la continuité sms entre iphone (sous iOS 8.1) et macbook pro (sous yosémite).

    Bonjour ...
    Sur votre Mac Système ouvert Préférences> icloud
    Décochez la case en regard de Contacts, puis resélectionner il puis redémarrez votre Mac.
    Sur l'iPhone et l'iPad, appuyez sur Paramètres> icloud
    Mettez Contacts hors tension, puis de retour sur les appareils, puis redémarrez.
    Maintenez le bouton ON / OFF bouton Marche / Veille et le bouton Home en bas en même temps pendant au moins dix secondes, jusqu'à ce que le logo Apple apparaisse.

  • Handling multichannel serial communication on FPGA

    NI recently released cRIO modules for serial communication on RS232 and RS485/422.  We need multiple RS232 channels for our RIO systems and previously the solution would have been to use a serial port server and then communicate with that using raw TCP/IP. Having the serial communication handled by RIO modules seems a bit more elegant though so I'm looking into using the RS232 module NI9870 instead.
    NI has supplied an example on how to use the 9870 - a serial loopback on port 0. I've successfully modified this to be a general driver for a selectable port (added port selection and initialization), however I really need to code a solution that handles ALL the 4 channels in parallell. I'm not sure what would be the best way to do that though. DMA FIFOs seem to be the best option for host-target communication, however in this case there are 4 channels....and I may have multiple modules so at most it could be that I need to handle as much as 32 ports. The example uses interrupts for synchronization....which off course is also a limited resource. All in all I'll probably figure out a way to do this, however if anyone else have done something similar already it would be great to hear your views on this.
    Coming from the Windows-programming world (this is the first FPGA work I've done) I was also hoping to make this driver as general as possible, maybe even be able to write a wrapper containing both VISA based serial functions and the FPGA host code. That way it could be transparent how the port is accessed.
    This would require 1 code that would be able to handle a variety of module configurations (well, 1 to 8 NI9870 modules in the chassis), however that does not seem to be feasible(?). When you read or write to a port you cannot just refer loosely to it with a number e.g. - the read and writes are referenced to a specific port...this means that unlike in a Windows application where you can let the user just configure that he wants to use COM port num XX and the serial functions will accept that number regardless of whether the port exists or not (returning an error if it does not exist or is in use) - the FPGA code has to have all the items it will call pre-defined. If the chassis can have 16 ports on 4 9870 modules it does not seem possible to use the same FPGA code if the chassis currently only has 1 module...Is this the reality, or is it possible to create a more flexible solution?
    If it turns out that the FPGA has to be reprogrammed if another serial module is added (or one is removed) it would seem much better to drop the modules and use a port server and tcp/ip instead...that way using new ports will only be a question of configuration (IP and port), not reprogramming...That may not be possible always (if you need the compact size and roughness only a single RIO chassis would offer), but in our case it is - it' just not as elegant hardware-wise.
    MTO

    Well, the multichannel experiment only wrote data, it did not read...(see attached VIs) however the concept can be used in both directions: Add a header to the FIFO data where the header tells the recipient what port the data is going to or comes from...Then use e.g. a state machine to read the FIFO, split the header and data, and route the data to the loop handling the port.
    If you are going to read data you will get into one of the downsides to this namely that you will need to have a central communications manager that reads the incoming data and distributes it to the requesting VI. This way you can have more parallell access to both read and write, however the reads will have to be routed through this handler. How big a performance gain this would give is unknown though. You still only have one DMA FIFO for each direction so there is a limit to how parallell things can get, but logically this might get you closer than the NI example...
    MTO
    Attachments:
    9870 MultichannelIO Experiment.zip ‏1002 KB

  • Best practices for realtime communication between background tasks and main app

    I am developing (in fact, porting to WinRT Universal App) an application connecting to Bluetooth medical devices. In order to support background connectivity, it seems best is to use background tasks triggered by a device connection. However, some of these
    devices provide a stream of data which has to be passed to the main app in real time when it is active - i.e. to show an ECG on the screen. So my task ideally should receive and store data all the time (both background and foreground) and additionally make
    main app receive it live when it is in foreground.
    My question is: how do I make background task pass real-time data to the app when it is active? Documentation talks about using storage, but it does not seem optimal for realtime messaging.. Looking for best practices and advice. Platform is Windows 8.1
    and Windows Phone 8.1.

    Hi Michael,
    Windows phone app has resource quotas, to prevent it from interfering with real-time communication functionality, background task using the ControlChannelTrigger and PushNotificationTrigger receive guaranteed resource quotas for every running task. You can
    find more information from
    https://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh977056(v=win.10).aspx. See Background task resource guarantees for real-time communication section. ControlChannelTrigger is not supported on windows phone, so you can have a look at PushNotificationTrigger
    class.
    https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.applicationmodel.background.pushnotificationtrigger.aspx.
    Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate
    the survey.

  • Mise en oeuvre d'une tache d'acquisition analogique sur plusieurs cartes (6321/6323) et de plusieurs taches de génération analogique sur ces memes cartes (LabWindows CVI10 sous Windows SEVEN)

    Objet : Impossibilité de faire tourner une tache de mesure analogique sur deux cartes 6321, lorsque une ou plusieurs tache(s) de génération analogiques sur ces mêmes cartes existe(nt)…
    Configuration NI :
    Dev1 = Dev2 = carte 6321
    Code de création de la tache de mesure analogique :
                DAQmxCreateTask("",&AIRecordingtaskHandle);
           DAQmxCreateAIVoltageChan(AIRecordingtaskHandle,chan,"",DAQmx_Val_NRSE,min,max,DAQmx_Val_Volts,NULL);
           DAQmxCfgSampClkTiming (AIRecordingtaskHandle, "", rate, DAQmx_Val_Rising, DAQmx_Val_FiniteSamps, sampsPerChan);
           DAQmxGetTaskAttribute(AIRecordingtaskHandle,DAQmx_Task_NumChans,&gNumChannels);
    Chan vaut : "Dev1/ai0, Dev1/ai1, Dev1/ai2, Dev2/ai1"
    Code de création des taches de génération analogique :
           DAQmxErrChk (DAQmxCreateTask("",&AOtaskHandle_C1_DAC0));
           DAQmxErrChk (DAQmxCreateAOVoltageChan (AOtaskHandle_C1_DAC0, chan, "", min, max,DAQmx_Val_Volts, ""));  // chan vaut Dev1/ao0
           DAQmxErrChk (DAQmxCreateTask("",&AOtaskHandle_C1_DAC1));
           DAQmxErrChk (DAQmxCreateAOVoltageChan (AOtaskHandle_C1_DAC1, chan, "", min, max,DAQmx_Val_Volts, "")); // chan vaut Dev1/ao1
           DAQmxErrChk (DAQmxCreateTask("",&AOtaskHandle_C2_DAC0));
           DAQmxErrChk (DAQmxCreateAOVoltageChan (AOtaskHandle_C2_DAC0, chan, "", min, max,DAQmx_Val_Volts, "")); // chan vaut Dev2/ao0
    Au premier ReadBinary, le système sort en erreur avec le message suivant : voir pièce jointe
    Notre compréhension de cette erreur : dans le cas où on met en œuvre une tache de mesure analogique sur plus d'une carte, couplée à une ou plusieurs tache(s) de génération analogique sur ces mêmes cartes, il est impossible d'utiliser l'horloge interne pour le cadencement des CAN/CNA.
    Nous avons effectué plusieurs tests :
    Modifications des horloges interne lors de la configuration des taches : "/Dev1/ai/SampleClock" pour la tache de mesure et "Devk/ao/SampleClock" pour les taches de génération analogique : erreur.
    Abandon d'une des taches de génération analogique : même erreur
    Abandon de l'ensemble des taches de génération analogique (la tache de mesure analogique couvre des voies issues des cartes Dev1 et Dev2): pas d'erreur
    Suppression des voies de la carte Dev2 dans la tache d'acquisition analogique : plus d'erreur
    Merci d'avance
    Pièces jointes :
    MsgErreur NIDAQmx.JPG ‏38 KB

    Bonjour Sisyphe42, 
    Les exemples en PJ montrent comment faire du multi-tâches et du multi-cartes sous CVI.
    Cordialement 
    Sabri JATLAOUI - Certified LabVIEW Developer
    Pièces jointes :
    ContAI-ReadDigChan.c ‏8 KB
    SynchAI-AO.c ‏9 KB
    ContinuousAI.c ‏11 KB

  • La variable (Dérivé) du PID sur FPGA ne fonctionne pas

    Bonjour,
      J'ai un CRIO-9022, j'utilise le FPGA et le PID pour contrôler la température d'un four. La varialbe (D) ne fait aucune différence sur le procédé, pas de trouble avec le gain et l'intégral.  J'ai testé avec sampling rate de 30sec et de 5 sec sans changement, la loop est quand à elle de 20ms.  Je suis un peu à court de solutions... des idées?  Donc je me retrouve avec un système qui est en constante fluctuation (trop chaud - trop froid)
    Merci,

    Bonjour,
      Merci de bien vouloir m'aider! Je me suis rendu compte que le D semble fonctionner il effectuait des sauts de 100% très court que je ne voyait pas sauf en utilisant la probe! J'ai fait quelque tests avec le pid simulator de NI pour vérifier et c'est effectivement possible selon les settings de PID.  En fait ça ne résout pas vraiment mon problème.  Ce que je n'arrive pas à comprendre c'est que la sortie commence à descendre seulement lorsque le setpoint est dépassé, habituellement selon les settings il est possible d'ajuster cela pour éviter les overshoots.  Le four que je contrôle a une constante de temps très longue, donc si la puissance descent pas tôt avant d'arriver au setpoint bien je fait un overshoot non négligeable.  J'ai simuler tout ça et avec le simulateur j'ai pas de problème à l'ajuster mais dans la réalité...  Voici le code, pour le moment je l'ai transféré dans le programme du Crio au lieu du FPGA pour valider, donc j'envoie ma consigne au FPGA mais c temporaire, donc cette partie de code est dans ce qui a de plus simple.
      Merci,
    Pièces jointes :
    PID.JPG ‏76 KB

  • Communication entres plus de 7 vi et sous vi

    Bonjour,
    je suis etudiant en stage et la j'ai un programme qui comporte plus de 7 vi et sous vi.
    Et je voudrais bien faire communiquer c'est differents vis entre eux sans utiliser
    des variables globales. jusque la j'ai utiliser les noeud qe propriétés pour recupérer
    les données de chaque comande (nom de la comande) mais ca devient trop.
    qq pourait - il m'aider svp merci.
    cordialement 

    Je vais essayer d'expliquer le fonctinnement d'une Machine d'Etat a travers quelques exemples en images.  Ca sera quelque chose de tres simple.
    En realite', la premiere partie consiste a faire un schema d'une machine d'etat.  Le schema demontre les transitions entre les etats.  En autres mots, ce qui decide quel est le prochain etat.
    L'exemple consiste de faire un calcule.  Selon le resultat, une autre etat est choisi.  Si le resultata est de 10 ou moin, on pose une question a l'operateur.  Un resultat de 25 termine le programme automatiquement.
    Voir ci-dessous:
    Message Edited by JoeLabView on 07-01-2008 08:25 AM
    Attachments:
    StateMachine0.PNG ‏25 KB
    StateMachine1.PNG ‏25 KB

  • Je veus me faire rembourser logic ne fonctionne pas sur mon mac je vais repasser sous windows

    Sa marche pas ken je met un mp3 ou un wav sur une piste audio il est saccadee jaimerai etre rembourser au plus vite je perd du temps sur mon mix je regrette deja d'etre passer sous mac et j'aimerai savoir si on peut changer l'os en windows 7 ou xp

    Salut,
    pourrais-tu en dire plus sur ta configuration ?
    Ensuite si tu fais du son je te conseille vivement de rester sur Mac.
    Il est possible d'installer Windows dans un Mac via Bootcamp qui est inclu dans les utilitaires.
    Peux-tu lires ces fichiers dans Quicktime ou as-tu le même problème ?
    T'en fais pas, ça prends un peu de temps quand on change d'OS, mais de là à retourner à Windows...
    Dis-moi si ça marche dans quicktime ou iTunes.
    Nico

  • CRIO and ni 9234 modules not working or communicating through fpga with accelerometers, fpga connected to real time application which is also connected to shared variables linked to modbus slave

    Hi,
    I have a compact rio which has a 4 way chassis attached to that chassis is three ni9234 modules they are linked using fpga to a real time application then using shared variables in the low speed loop that are linked to a modbus slave to communicate with dcs, the ni 9234's have accelerometers connected to them with iepe ac coupled option on the c modules, my problem is the real time application seems to be running okay even when power loss occurs it restarts with no problem and the fpga writes to the portable hard drive bin files fine but without a accelerometer connected I get low noise readings as soon as I connect a accelerometer to any one of the 10 outputs it just goes to a fixed number (0.03125) as soon as disconnect it again it reverts back to reading noise, I have run a scan on the modules and only get a spike when I connect or disconnect the accelerometer, I have tested the voltage at the pins of the module and I get 22 volts dc which makes it more likely that the hardware is not the problem but a software is maybe causing this to hang-up, I attach project and files for your perusal. I also carried out a new project which in scan mode directly linked the module input to shared variable and the same scenerio again. Help would be much appretiated. 
    Many thanks
    Jason
    Solved!
    Go to Solution.
    Attachments:
    logger 2plusmodbus2.zip ‏679 KB

    Whren using waveform acquisition with the 9234s we recommend the following FPGA and RT template.
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/209114
    it can be extended as a data logger with:
    http://zone.ni.com/devzone/cda/epd/p/id/6388
    or using shared variables combined with scan engine
    http://zone.ni.com/devzone/cda/tut/p/id/9851
    The FPGA in all of these, as well as the RT framework have been used successfully by 1000s of users.  I would recommend giving these a try. 
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • I2C communication with FPGA

    We have tried using the following program to communicate with an I2C compas using the cRIO 9014 and the digital I/O NI9403.
    http://decibel.ni.com/content/docs/DOC-1151
    We get an error when we try to run the host VI(see the error on the following link)
    Error
    The project we try to run its packet here: http://uldgade.dk/I2C.rar
    Or if anyone have another working solution for communication with I2C. The device we try to communicate with is a compas from Honeywell HMC6352 

    Have you seen this?
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/209​123
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Compact Rio - Multiple RT Threads communicating with FPGA

    Hello,
    What is the proper way to configure the OPEN FPGA REFERENCE call in Labview when multiple threads running on the RT side need to communicate with processes running on the FPGA?
    Thanks,
    - Jim

    You can open multiple instances to the same FPGA VI, but since there is just a single bifile it is a shared resource. So you might introduce adittional jitter to your timecritical code.
    But since accessing IOs or DMAs of the FPGA VI is really, really fast, you might not notice it.
    You could also create an API for accessing the FPGA which you could use as a SubVI configured as Subrouting with "skip if busy is true", or you could handle all the access to the FPGA in a single thread and use other mechanisms to share the data among your RT VI.
    Christian

  • Difference de comporteme​nt entre debug et release sous Teststand

    Bonjour,
    J'ai realisé une sequence teststand que je lance à partir de cvi. Je travaillais en mode debug et jusque la tout va bien. Cependant quand je passe la sequence en mode release et que je l'execute depuis CVI, le comportement est différent (je commande un lecteur de code a barre qui ne fonctionne alors plus en release)? Pourquoi?
    Chose etrange, si j'execute directement lasequence sous testand en release sa fonctionne? Ou est alors le souci?
    Merci d'avance por votre aide
    Florence D.

    Running the script by python2 solves it for me:
    su - mythtv -c "nice -n 19 python2 /usr/bin/tv_grab_nl_py --output ~/listings.xml"
    Best regards,
    Cedric

  • Implementing Serial Communication in LabVIEW FPGA on the Xilinx SPARTAN-3E Board

    je travaille sur la carte spartan 3E et Labview avec le module FPGA.
    je veux implémenter une communication serie RS232 entre spartan 3E et PC à l'aide de deux port DB9 (DTE et DCE) sur spartan 3E de tel sorte que j'envoie un cartére sur DTE et je recoie sur l'autre port DCE.
    merci pour votre support.

    Hi Yassagem,
    It looks like you posted something very similar on this forum. I went ahead and responded on that forum post. In the future, please make sure not to duplicate forum posts.
    Best,
    tannerite
    Tannerite
    National Instruments

  • Déclenchement mesure sur entrée de comptage

    Bonjour,
    j'ai besoin de faire l'acquisition de deux valeurs analogiques cadencées sur une entrée de comptage avec une carte 6220 sous .net (VB ou c#)
    Un codeur incrémental me donne des impulsions et toutes les x impulsions je veux acquérir les deux valeurs. Le système est lent (fréquence d'acquisition 8hz, mais je voudrais pouvoir monter à 80Hz).
    J'ai bien vu un exemple permettant de trigger l'acquisition d'une valeur analogique à partir d'un top sur une entrée digitale, mais là je voudrais pouvoir synchroniser sur une entrée de comptage.
    Merci d'avance

    Bonjour,
    Vous pouvez synchroniser votre acquisition analogique sur la sortie de votre compteur, en l'utilisant comme horloge de cadencement externe. Ainsi, votre compteur va compter vos x impulsions et vous allez générer un front toutes les x impulsions DAQmxCreateCOPulseChanTicks. Cette fonction vous renverra un tick dès que vous souhaitez faire votre acquisition analogique.
    Cordialement
    David S.| Certified LabVIEW Associate Developer
    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;}
    Journées Techniques LabVIEW 2012 : du 27 septembre au 22 novembre
    2 sessions en parallèle : Débuter a...

Maybe you are looking for

  • Dynamic email config in PI7.1

    Hi, The scenario is like this... R3 sends out a message to PI. There is a mapping to EDIFACT. The EDIFACT message should be sent to an email address that can be found in the Idoc. I have created an UDF, based on what I've found here at the forum, to

  • How do I put a single song, video, ringtone, podcast on my phone?

    I just downloaded Mavericks and spent multiple hours talking to apple's tech who apparently doesn't know anything. I don't want to sync everything, I just want to sync 1 song, or one ringtone, or 1 of something without going through thousands of song

  • CHANGES MADE IN ECC NOT GETTING REPLICATED TO CRM - CUSTOMER

    Hi All We are currently working on CRM 4.0 connected to ECC 4.6C.  All the middleware connectivity have been configured and we have a process of creating customers (BP) in CRM which inturn flows to R/3.  We dont create customers in R/3 system.  Now w

  • QTime - Nulware Conflict

    After receiving a 4Gb Nano for Xmas and installing iTunes and Quicktime, successfully, and being able to synchronise the Nano, etc, I get the following dialogue box in XP, on boot-up of the PC; '16-Bit MS-DOS Subsystem C:\WINDOWS\System32\Nulware The

  • How do i change apple ID on iPhone with OS5?

    how do i change apple ID on iphone with os5?