Conversion daq trad vers daq mx - compteur

Bonjour à tous,
Je réalise actuellement une mise à jour d'un programme, réalisé par quelqu'un d'autre il y a plusieurs années. J'ai changé de matériel et n'utilise donc plus les même bibliothèques (daq trad avant, et daq mx maintenant).
J'ai déjà "converti" un certain nombre de vi sans trop de difficultés, mais je m'attaque à présent à la partie moteur de mon programme et j'ai du mal à comprendre la philosophie de ce vi là.
Evidement je ne peux pas faire un simple copier coller avec les nouvelles bibliothèques, il est donc primordial que je comprenne ce qui est réalisé dans ce vi.
Il me semble que la task Mot soit configuré comme compteur 1 pour generer un train d'impulsion qui est l'entrée du compteur  0 qui lui est un compteur d'impulsion continus.
Merci de m'aider.
ps: je travaille sous lv 2009.
Pièces jointes :
Moteur1.vi ‏21 KB

bonjour,
Je reviens à nouveau sur le forum car je suis bloquée.
ci joint une image d'une petite partie de mon programme.
Je ne sais pas pourquoi j'ai des "x40" et comment les remplacer. Est ce parce qu'il s'agit d'hexadecimal?
Merci d'avance pour votre aide.
Pièces jointes :
Sans titre.jpg ‏17 KB

Similar Messages

  • Conversion fichiers cs5 vers cs4

    Bonjour,
    Pour les besoins d'une mairie, j'ai à convertir une pré-maquette réalisée sous Indesign cs5 vers une version cs4.
    J'ai donc suivi les recommandations de cette page :
    http://help.adobe.com/fr_FR/indesign/cs/using/WSa285fff53dea4f8617383751001ea8cb3f-6d4da.h tml
    Ceci dit, une fois que j'ouvre le fichier .idml dans cs5, autant je retrouve bien mes mises en page, mes fonds,
    mes photos, autant les textes ont, eux, tous disparus !
    (Par ailleurs qu'est-ce qui peut expliquer qu'un fichier indd fasse 2.5 Mo, et que le fichier .idml correspondant
    ne fasse que 150 Ko ?)
    Auriez-vous une petite idée là-dessus ?
    Cordialement

    Une fois ouvert le fichier dans cs4, le problème des textes disparaît : ils sont bien présents...
    Donc plus de soucis
    (PS : le fichier d'echange ne comprend pas de preview des images notamment, d'où le poids nettement plus léger...)

  • DAQmx digital slow compared to Trad DAQ

    Forgive me for re-hashing this issue as I have seen many threads regarding the performance decrease from Trad DAQ to DAQmx.  However, I haven't seen a solution for the problem that I currently am encountering.
    Out of necessity, I am upgrading VB6 software that currently uses Trad DAQ drivers to use DAQmx drivers to increase data acquisition flexibility.  I have modified the code and everything appears to work without much problem.  However, the DIO control on a PXI-6508 card is significantly slower.  I have timed a typical task in the software with the DAQmx drivers and the time elapsed is 29 s.  The same task using Trad DAQ drivers takes 0.2 s.  This obviously is causing significant performance problems in my software. 
    A little backgound.
    My application uses three 8-bit DIO ports to communicate with external devices - a control port, an address port, and a data port.  The control port and the address port are output only ports.  The data port, on the other hand, can be either an output or input port depending on the functionality.  When I want to clock data to the device, I need the PXI-6508 to set the bits on the data port.  When I want to read information from the external device, I need the PXI-6508 to read the bits on the same data port.
    As of right now, I have written my software to create one output task for each port (3 total).  When I go to write data to the port, I start the task, write the data to the output port, and stop the task.  When I want to read data from the data port, I go through the whole process for each read process.  So every time I want to read data from the data port, I create a DI task, start the task, read the data, then stop the task.  This set up seems to work without problem, only at a much slower pace.
    How can I improve the performance of the DIO control?  I need this to be extremely efficient, since communication with the external device is nearly constant while the application is running.
    Thanks for any help.

    Hello Jeremy,
    You can read and write on one port if it is set to tristate
    mode.  Setup the task as a digital output
    task then set the tristate mode on and off to read or write from that
    port.  If you want to read from that
    line, then set the tristate mode to “TRUE” and read the data.  If you want to write to that line, then set
    the tristate mode to “FALSE” and write the data.
    You just need to set the tristate mode back and forth from “TRUE”
    to “FALSE” in order to read and write on the same line.
    int32 __CFUNC DAQmxSetDOTristate(TaskHandle taskHandle, const
    char channel[], bool32 data);
    Message Edited by Robert F on 09-17-2007 06:57 PM
    Respectfully,
    Rob F
    Test Engineer
    Condition Measurements
    National Instruments
    Attachments:
    Digital Output Tristate.JPG ‏61 KB

  • Compatibility of LabView 2012 installed on XP with Vision and Trad DAQ

    Is LabView 2012 runnung under Windows XP compatible with
    A: NI Vision 2011 ? 
    B: Traditional DAQ 7.4.4 ?

    This should answer your question:
    Windows Version Compatibility with LabVIEW
    Compatible Versions of Vision Development Module with LabVIEW and LabWindows/CVI
    NI-IMAQ, NI-IMAQdx, NI-IMAQ I/O, and VAS Compatibility with Different LabVIEW Versions
    NI-DAQ and LabVIEW Version Compatibility (for Windows)
    I would still suggest to have a look at the readme files as well.
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Adding 2 ADXL335 accelerometers to NI 6009 DAQ. Conversion from voltage to acceleration.

    Hello,
    I am working on a continuous data acquistion project using 2 ADXL335 accelerometers with the NI 6009 DAQ. Ideally, I would like to measure them as differential, but there are only 4 differential ports on the 6009, so I would be 2 axis short. Since there are 6 axis I am looking to measure, I have set each axis as an RSE port a0-A5.I am working with Visual C++ and coding in C. I have been working with the VC_TDMS_ContAcq_IntClk  example code to export the data to an excel spreadsheet, which works fine. However, since the DAQ cannot read the ADXL335 device as an accelerometer, I have each axis set as a voltage source. Therefore, my exported data to Microsoft Excel are data points that are voltage (v) and not acceleration (g). My voltage data points for each axis at rest with no vibration vary anywhere from 1.3 - 1.9 (see attached). a0 = X1, a1 = Y1, a2 = Z2, a3 = X2, a4 = Y2, a5 = Z2.
    I have been trying to figure out how to scale the voltage to output acceleration. Max sensitivity for each axis is 330 mV/g. The analog outputs for the accelerometer is 3.3V. Zero g bias output is 3.3V/2 = 1.65 V. It is +- 3g analog out so -3g is at 0V and 3g is at 3.3V with full scaling in between.
    I tried setting up a voltage task, with signal input range min = 0, max = 3.3V. Terminal configuration = RSE. The part I question is my custom scaling. I chose a Linear scale with a slope of 3.03 (since 1/330 mV/g = 3.03). I click run and I get data that is roughly 5 (see attached).  Any help would be appreciated.
    Best Regards,
    Scott
    Attachments:
    data.JPG ‏179 KB
    graph.jpg ‏183 KB

    You should decouple /filter the supply and analog output voltages (analog) and you should use some digital filtering...
    If you look at fig.1 of the ADXL335 datasheet , what values did you use for the capacities? How close is the C_DC to the MEMS ?
    What is the maximum frequency you want to measure?
    How did you provide the power to the sensor, how did you exactly connect the sensor (all used wires and shields) 
    Since these sensors provide  DC  signals, you can easily 'calibrate' your sensors by measuring the output voltage for each axis at -1g and +1g , the rest is simple math
    and keep in mind that the sensitivity has a range (so try to calibrate) and is ratiometric to the supply voltage  ... 
    And keep in mind that you have an offset at the output voltage, so your scaled value of 5 makes sense  
    Greetings from Germany
    Henrik
    LV since v3.1
    “ground” is a convenient fantasy
    '˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

  • Enregistrement de données du DAQ vers windows

    Bonjour,
    Comment est - il possible d'enregistrer les données acquises par le DAQ dans un fichier texte sur Windows lorsque la cible d'execution est le DAQ ?
    Merci d'avance.
    Hello,
    How is it possible to record the data acquired by the DAQ in a file text on Windows when the target of execution is the DAQ?
    Thank you in advance.

    Bonjour,
    Votre question semble être la suivante:
    Comment enregistrer des données dans un fichier texte lorsque la cible d'exécution est une cible temps réelle embarquée et que les acquisitions DAQ se font sur cette cible? Autrement dit, comment rapatrier les fichiers de données sur le PC Host (sous Windows)?
    Lorsque vous utilisez des VIs d'E/S sur fichiers pour générer des fichiers dans une application LabVIEW, les fichiers sont stockés sur le disque de la cible d'exécution.
    Pour les cibles RT (Module FieldPoint FP-20xx ou contrôleur PXI), l'espace mémoire est sous forme d'un disque dur ou d'une CompactFlash.
    Pour transférer les fichiers de la cible sur le PC Host (la cible RT étant connectée au PC Host par une liaison Ethernet), on utilise le transfer
    t FTP.
    Un serveur FTP est intégré dans toutes les cibles RT NI. Il suffit alors d'ouvrir un client FTP sur le PC Host (par exemple, Internet Explorer) puis de tapez l'adresse suivante: ftp://adresse_IP_cible_RT pour visualiser le contenu de la mémoire de la cible.
    Vous pourrez ensuite transférer (downloader) les fichiers stockés dans la cible pour les utiliser sous Windows.
    Un lien expliquant plus clairement le principe:
    FTP with LabVIEW Real-Time
    http://zone.ni.com/devzone/conceptd.nsf/webmain/F1BDA61C2F9DDA40862568EB006EFA51?opendocument
    Bonne continuation.
    Matthieu Gourssies
    National Instruments

  • Application LabVIEW : DAQ Traditionnel et PCIE-6536B

    Bonjour,
    J'ai une application LabVIEW 2014 qui fonctionne avec DAQ Traditionnel et une carte d'acquisition PCI-DIO-32HS.
    J'aimerai changer la carte d'acquisition pour une PCIE-6536B, qui ne fonctionne que sous DAQmx.
    Est-il possible de faire fonctionner mon application d'origine sur la nouvelle carte d'acquisition ?
    Si non, existe t-il un moyen pour le faire ? Une conversion ?
    Merci
    Cordialement
    Résolu !
    Accéder à la solution.

      Bonjour,
         Pour répondre complètement à votre question : il existe des VI de compatibilité entre DAQ Trad et DAQmx (http://www.ni.com/download/traditional-ni-daq-compatibility-vis-1.3/822/en/) qui peuvent permettre de faire fonctionner du matériel DAQmx avec des fonctions DAQ Trad. Mais l'installation et l'utilisation de ces VI présentent de nombreuses restrictions (en particuliers, la dernière version de ces VI ne peut être installée que sous Windows XP; Windows 2000 et Windows NT ; il faut procéder à des changements de noms de matériel : http://digital.ni.com/public.nsf/allkb/F80F517828A190C186256E58005CD0A7?OpenDocument ; etc.) et rien ne garantie que votre application fonctionnera correctement. Ils ne peuvent en aucun cas être utilisés pour une solution définitive.
        Comme indiqué par Nacer_M, il est préférable d'effectuer une migration de vos fonctions vers DAQmx. Voici 2 documents qui vous aideront à effectuer cette migration :
    - http://www.ni.com/white-paper/4342/en/
    - http://www.ni.com/product-documentation/3021/en/
       Bon développement!

  • DMM PXI 4070 synchronis​ation trigger généré par PXI6229 (Daq M)

    Bonjour,
    Je cherche a synchroniser 2 DMM PXI 4070 avec un trigger interne.
    Les 4070 ne génerant pas de trigger, je me tourne vers une Daq PXI6229 pour le générer.
    ci-joint, le code qui ne fonctionne pas, mais qui donne une idée de la fonction...
    Quelqu'un pourrait-il me dire ou est l'erreur ?
    Les entrées trigger des PXI 4070 sont notifié TTLx ; faut-il router le signal généré par la 6229 ? et sur quelles lignes ? (dev1/pxi_trig0) ?
     Merci.
    Ludis
    Résolu !
    Accéder à la solution.
    Pièces jointes :
    DMM_PXI4070_Sync.Trig_PXI6229.vi ‏30 KB

    Bonjour,
    La méthode proposée est correcte: il s'agit en effet de générer un signal créneau avec la sortie compteur0 de la carte DAQ et d'utiliser ce signal créneau en tant que trigger pour les 2 cartes DMM.
    Le routage du signal peut se faire en externe (cabler physiquement le terminal Counter0 Output de la carte DAQ à l'entrée TRIG de la DMM et choisir cette entrée au niveau de la configuration du trigger de la DMM) ou en interne.
    Pour router le signal en interne, il faut utiliser un noeud de propriété de voie pour la tâche compteur afin de reconfigurer le terminal de sortie (voir pièce jointe). On choisira par exemple "PXI Trigger line 0". Au niveau de la configuration du trigger sur la tâche DMM, il faudra choisir en tant que source de trigger la même ligne (TTL0 = PXI Trigger Line 0).
    Cordialement,
    Thomas B. | CLAD
    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;}
    >> Inscrivez-vous gratuitement aux Journées Techniques : de l'acquisition de données au contrôle/com...
    Pièces jointes :
    Reconfiguration du terminal de sortie du compteur à l'aide d'un noeud de prop.png ‏20 KB
    Counter Pinout - terminaux par défaut.png ‏40 KB
    trig source property.png ‏65 KB

  • How can I convert a 0-50mA signal to 0-5 VDC for use by a PCI-6014 DAQ?

    I have a PCI-6014 DAQ card. I am trying to measure the output of a closed-loop current sensor, which has an output of 0-50mA. When I tried using a 100 ohm resistor as a load (to measure across the resistor to get a voltage input for the DAQ) I get an AC voltage reading! I do not know how to convert the AC Voltage to a varying DC voltage. Most AC-DC converters output a fixed DC voltage (3.3V, 12V, 15V, etc.). Can the PCI-6014 measure the current directly OR is there a method to measure the VARYING 0-5 volt AC voltage? Please be specific, if possible. Thanks in advance!

    Hello,
    PCI-6014 can measure an AC voltage directly. The Test Panels in MAX will show the peak voltage level of a signal, and not the root mean square (RMS) voltage. For example, if you measure the 120 VAC 60 Hz sinusoidal waveform that is available from a standard North American wall outlet, you will see a wave with a peak of about 170 V.
    The conversion between VRMS and Vo is VRMS = Vo/√2.
    You will need to determine whether you expect your AC signal to be in units RMS or peak-voltage and make the conversion, if necessary, using the formula above.
    -Arun V

  • Ni-DAQ single-point analog sample latency.

    I am maybe in my own little world here in wanting to do software-triggered analog sampling and wanting to do it fast. Having bought a PCI-6014 which is capable of 4 microsecond analog sampling I found a simple AI_Read took 95usec. I was somewhat disappointed. Much reading of FAQs and other's postings here didn't help. I posted my own question and got little help.
    Well, having spent days working out such problems as how to access hardware under windows I would just like to throw this to the NI world:
    Digital in/out: was 6 usec. now 0.9usec.
    Analog in: was 95usec. Now 19 if a channel/gain change is required. 6 usec if not.
    To the hardware developers - lets have a cheer. The register-level programming is a bit con
    voluted, but that comes with the territory when the triggering, etc, is so flexible.
    To the software developers - boo, hiss. Wake up, get your act together. So far as programming the card is concerned I did exactly as described in the "E-Series register-level programming manual". The no-change-to-gain-channel case just does the last, trigger step.
    Now, imagine what I could charge if I could make the latest nVidia or ATI video card go 10x faster. I suspect those guys know how to write drivers though.

    Hi Michael,
    There's no question that efficiencies can be exploited once we start using RLP. Configuring the hardware is definitely quicker using this approach. However, programming specific applications using RLP begins to be a headache once you leave the realm of the simple application.
    Using the NI-DAQ driver on the other hand gives me a consistent, intuitive interface over almost all of their hardware products. I am also able to pick up LabVIEW, look at some example code and have an application up and running in less than a couple hours without ever programming data acquisition before. NI-DAQ also has an abstraction layer which offers programming benefits but will invariably add some delay to function calls.
    It is also important to note that acquisition times are not lost because of the latency of the configuration calls. You will be able to acquire triggered and continuous data at hardware rates!! The only benefit that is lacking is if you want to start a software call to the card in 6us. But this seems to be a mute point since your software timing is OS dependent anyway. Why push a software call to be 6us when your are not sure when the OS will process your application's code.
    The only time having a quick configuration would be a benefit is if you are constantly reconfiguring in a software loop. But then your are still restrained by OS timing so you will never have true deterministic results unless you go to an RT system.
    The developers of the NI-DAQ driver have had to make many trade-offs when developing such a comprehensive and flexible driver and accommodating every scenario with every user is an impossibility. This particular instance happens to be one of them.
    I would like it to be known though that I have been successful, with the NI-DAQ 7.0 driver, at acquiring continuous pattern input with the PCI-6534 card at 50ns resolutions (20MHz). Obviously, the driver has its benefits!!
    Anyway, I appreciate the chance to discuss this type of situation.
    Ron
    Applications Engineer
    National Instruments

  • Selecting DAQ channels by arrays of strings for scxi 1102/4c

    Hello,
    I have an urgent matter - for my project I have to modify DAQ analog acquisition on several machines. The existent applications use definitions of virtual channels AnCh0-63, and they select them by DAQ constants which are connected to AI Acquire Waveforms. Now I need to make one program for all machines (different slot numbers of the cards) that will retrieve channel selection from a database (LV 7.1, MS SQL Server 2005).
    Is there a way to directly use the DAQ constants by feeding them strings from the database? The catch is that the company wishes to keep the existent programs and use a database for storing and loading parameters. Otherwise I tried with global-channel definition strings (obx!scy!mdz!0,2,...,n) but there were problems with some combinations of channels.
    Thanks in advance!
    simon

    Hello Simon,
    If I am understanding the question, you want to use the same program
    you have been using (which uses our "legacy" driver, Traditional DAQ)
    and want to integrate that into a database system.  The trick seems to
    be inputting the various inputs into the AI Aquire Waveforms directly
    from strings you have aquired from your database.
    If my understanding is correct, then we want to convert strings into
    the data types required by the VI.  The channels input can be fed a
    string directly (as long as it is in the format it expects), while the
    other inputs require numeric values.  You can convert strings into
    numerics with the Decimal String to Number VI (Functions
    Palette»String»String/Number Conversion).  Using these, you can then
    input the correct inputs:
    You can also parse strings with the string manipulation VIs (Functions Palette»String) if you need to.  I hope this is the information you are looking for, your application sounds like it could save a lot of time in the long run.
    Message Edited by Neal M on 11-28-2007 02:45 PM
    Neal M.Applications Engineering       National Instruments        www.ni.com/support
    Attachments:
    TDAQString.JPG ‏10 KB

  • PWM Display and Output to DAQ

    Hi All,
    I am a newbie to LabVIEW and I don't know much about it. Anyways I am trying to generate a PWM signal in order to control a motor, subsequently, I have downloaded the examples of PWM on http://zone.ni.com/devzone/cda/tut/p/id/2991. So how can I display the PWM signal on a chart ? (I am getting some weird conversion error when I directly connect it to DAQmx Start Task.vi or DAQmx Is Task Done.vi). What kind of conversion do I have to do ?
    Moreover, I want to pass this PWM signal via DAQ to the motor, how can I do this ? (I am using 6025 DAQ.). A Vi showing the connections will be highly appreciated.
    Cheers
    Dan916

    Hi Dan916,
    The PWM signal that you are generating is being created in the hardware so in order to display it on a graph you would need to measure that signal through an input. You could use an example from the Example Finder in order to read it back in. The use the Example FInder go to Help>>Find Examples from LabVIEW.
    As far as connecting your signal to your motor, you are going to need to connect the signal from your counter output. The pinout you are looking for can be found on the last page of the linked specifications manual. You would be looking to use Ctr 0 Out or Ctr 1 Out depending on the counter you are using in your application.
    NI 6023E/6024E/6025E Family Specifications
    http://www.ni.com/pdf/manuals/370719c.pdf
    Steve B

  • Pushing the limits of continuous high-speed DAQ + processing, with PXI-6115 + PXI-8360

    Hi all,
    I'm trying to do continuous high-speed data acquisition + processing. I currently have:
    Chassis: PXI-1042Q
    AI card: PXI-6115 (x2)
    Link: PXI-8360
    PC CPU: Intel Xeon W3503 (dual-core, 2.40 GHz)
    RAM: 4 GB
    The idea is to continuously grab 8 channels' worth of analog inputs, scan for "events", and if found, log the events to disk.
    My client would like to use the maximum sample rate of 10 MHz, but I found that above 5 MHz, DAQmx Read.vi can no longer keep up (e.g. at 6 MHz, it takes 110 ms to read 100 ms' worth of data).
    Im thinking of getting beefier components, but I'm not sure where the bottleneck is. Here are some thoughts:
    1) The MXI Express link
    The PXI-8360 is rated for a sustained throughput of 100 MB/s.
    I'm not sure how big the data is. PXI-6115's ADC is 12-bit. Does that mean each datum transferred through the MXI cable is 1.5 bytes? Is the data padded? Or is it 8 bytes per datum, because Dbls are being transferred?
    2) The CPU
    In Resource Monitor, I notice that the CPU usage is 0% at 60 kHz, 8% at 61 kHz, and 50% at 70 kHz (meaning that one core is maxed out). I'm surprised that it keeps up all the way until 5 MHz though.
    What causes this high CPU usage? Is it due to the conversion of the data into 1D array of waveforms?
    3) Something else?
    Have I missed something completely? Is what I'm describing even possible?
    Thanks in advance for any advice!

    Hello,
    Each sample will take up 2 bytes, 12 bits data + 4 empty bits. so the PXI-PCI 8360 is only able to transfer a maximum of 50S/s in this case.
    Also, because the PXI bus is shared among all of the cards, two PXI 6115 cards will be trying to transfer 80MS/s or 160MB/s.
    Finally, since the PXI 6115 are DAQ family cards, their specifications aren't really written for continuous data acquisition at the upper end of their sample rate, but I'm interested to know if you can get up to 10MS/s with only one card operating at a time?
    -Jim B
    Applications Engineer, National Instruments
    CLD, CTD

  • Control Design and Simulation and DAQ

    I'm learning Control Design and Simulations. I have some questions about it.
    1. For System Identification use, we can find the transfer function/model of the system by feeding data measurement from the system. But, how long data do we need to be sufficent for Identification System to estimate the model? Until the get saturated value (steady state)? or any other intervals? What if the system is unstable? How will Identification System Toolkit estimate that case?
    2. For connecting to hardware, we just connect the clock in the simulation loop to the hardware? And the simulation loop will simulate the blocks inside once it got the trigger/data from the DAQ? what about the step time and solver? Do they follow the timing from hardware? or they will run on their own supplied values/clock?if we use USB DAQ, we can't have any clock from it (as far as I know it's because USB connection is not that stable for clocking since it might be any jitters or delays.) So, how do we configure the timing parameter for USB DAQ?
    3. There is possibility to convert model in transfer function to state space, how do we know the states inside that conversion?
    Any helps would be great...
    Thanks in advance...

    Dear Chin ho,
    After going through your questions I found some documentation which will be useful for you. But I you still have more questions, you can reply me any time.
    1- About the data and amount of it I couldn't find any info but maybe you can use the new functions in LV version 2009 and find your answer.
    Estimating States of Nonlinear Stochastic State-Space Models with Extended Kalman Filters
    In previous versions of the LabVIEW Control Design and Simulation Module, you can use the Discrete Kalman Filter function and the Continuous Kalman Filter function to estimate the states of a linear discrete or linear continuous stochastic state-space model, respectively. In the LabVIEW 2009 Control Design and Simulation Module, you can use the Continuous Extended Kalman Filter function and the Discrete Extended Kalman Filter function to estimate the states of a nonlinear continuous or a nonlinear discrete stochastic state-space model, respectively.
    The Continuous Extended Kalman Filter function and the Discrete Extended Kalman Filter function estimate model states of a partially observable plant based on noisy measurements. First, use the SIM Discrete Nonlinear Plant Model template VI or the SIM Continuous Nonlinear Plant Model template VI, located in the labview\templates\Control and Simulation directory, to define the system model. Then use the the Discrete Nonlinear Noisy Plant function or the Continuous Nonlinear Noisy Plant function to simulate the discrete or continuous nonlinear model, respectively, with the addition of noise. Finally, use the Continuous Extended Kalman Filter function or the Discrete Extended Kalman Filter function to estimate the states of your model.
    The Continuous Extended Kalman Filter function and the Discrete Extended Kalman Filter function linearize the nonlinear system either by calculating a Jacobian matrix internally or by using an external Jacobian matrix that you define. Use the SIM Continuous Jacobians template VI or the SIM Discrete Jacobians template VI, located in the labview\templates\Control and Simulation directory, to define an external Jacobian matrix.
    Refer to the LabVIEW Control Design User Manual, accessible by navigating to the labview\manuals directory and opening CD_User_Manual.pdf, for more information about estimating the states of nonlinear stochastic state-space models with extended Kalman filters.
    2- I think that I found a pdf document about this part of your question which will be helpful. If you would like to give your email address, I can send it to you.
    3- About this part you can check the help function in LabVIEW when you open the "CD Convert Transfer function To State-space" function in your front panel.
    I pasted some info about the mathematic part below.
    The LabVIEW Control Design and Simulation Module provides tools to study the dynamics of systems described by linear time-invariant (LTI) continuous and discrete models. You can create deterministic state-space, transfer function, and zero-pole-gain models. You also can create stochastic state-space models and the second-order statistics noise models.  You can use these forms to describe both single-input single-output (SISO) and multiple-input multiple-output (MIMO) systems.
    Continuous transfer function and zero-pole-gain models use the s variable to define time, whereas discrete transfer function and zero-pole-gain models use the z variable to define time.  Continuous state-space models use the t variable to define time, whereas discrete state-space models use the k variable to define time. 
    Deterministic State-Space Model
    Continuous
    x(t) = Ax("t) + Bu(t)
    y(t) = Cx(t) + Du(t)
    Discrete
    x(k + 1) = Ax(k) + Bu(k)
    y(k) = Cx(k) + Du(k)
    Stochastic State-Space Model
    Continuous
    x(t) = Ax(t) + Bu(t) + Gw(t)
    y(t) = Cx(t) + Du(t) + Hw(t) + v(t)
    Discrete
    x(k + 1) = Ax(k) + Bu(k) + Gw(k)
    y(k) = Cx(k) + Du(k) + Hw(k) + v(k)
    Second-Order Statistics Noise Model
    Q = E{w . wT} – E{w} . ET{w}
    R = E{v . vT} – E{v} . ET{v}
    N = E{w . vT} – E{w} . ET{v}
    where
    t is continuous time.
    k is the model sampling time multiplied by the discrete time step, where the discrete time step equals 0, 1, 2, …
    x is the model state vector.
    u is the model input vector.
    y is the model output vector.
    w is the process noise vector.
    v is the measurement noise vector.
    A is an n × n state matrix of the given model.
    B is an n × m input matrix of the given model.
    C is an r × n output matrix of the given model.
    D is an r × m direct transmission matrix of the given model.
    n is the number of model states.
    m is the number of model inputs.
    r is the number of model outputs.
    G is a matrix relating w to the model states.
    H is a matrix relating w to the model outputs.
    Q is the auto-covariance matrix of w.
    R is the auto-covariance matrix of v.
    N is the cross-covariance matrix between w and v.
    E{} denotes the expected value or the mean of the enclosed term(s).

  • How do you manipulate and display multiple DAQ channels?

    I have two sensors wired into the same DAQ (USB) module.  I can monitor the signals in LabView using DAQ Assistant, but I'm having trouble separating the channels.  I would like to display the signals on separate waveform charts and also apply different conversion formulas to each one before writing the data to a file.  However, I can't find any way to distinguish between the two signals in either of the express VIs for these tasks.  I can display both signals simultaneously in one or more charts, but I can't figure out how to make each chart display a different signal.  I searched through LabView help and finished the DAQ tutorial, but neither helped with this simple problem.  It's very important that I learn to work with multiple channels, because I'll eventually have even more signals coming into this DAQ hardware.

    Hey Jonnyboy,
    Check out the example called Select Signals.vi.  Are you using dynamic data?  Go to Help>>Find Examples... and type select as the search word. 
    Basically you have to index the one that you want using the Select Signal express VI.
    Hope that helps get you in the right direction.
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

Maybe you are looking for