Arbitrary signal generation acquire 5411 5911

An arbitrary signal generated on a PCI-based NIFGEN(5411) is not acquired correctly on a PCI-based NISCOPE (5911). I use RTSI to synchronize the two boards (5911 is the master). When the 5411 board has generated the waveform the 5911 board should start acquiring immediately, but it seems like the board does not receive the correct data the first several times (It jitters around zero). Does anyone know what the problem might be (I have attached my VI)? If not does anyone know how to examine the data actually generated by the 5411 board?
Attachments:
5911-5411_interface.zip ‏144 KB

You may want to post your query under the Measurement Hardware section of the forum for a faster response.
Rgds,
Khalid

Similar Messages

  • When using the LabVIEW Simulation Module, how can I start a frequency sweep with the Simulation Chirp signal generation VI at an arbitrary time after the simulation initial time?

    I'm using the Simulation Loop on LV RT when interacting with some hardware (i.e. all I/O is happening in the Sim loop). I'm going to conduct a frequency sweep test on the hardware and want to use the Simulation Chirp function. However, there is no way (that I can see) to trigger the Chirp to start at some event (i.e. I click a boolean on the front panel and enter a case statement). The Chirp is tied to the global time of the Simulation loop and so are it's input parameters. Is there a way to make it relative to some time at which an event happens?

    Craig,
    Your solution will 'cut' the beginning of the signal and only show the signal afterwards.
    To control when the chirp should start, the best option is to use the Chirp Pattern.vi ( in the Signal Generation palette) and use a Lookup table to control when to feed the time. The shipping example (in LabVIEW 2013) shows how to code using a lookup table.
    C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\Control and Simulation\Simulation\Signal Generation\SimEx Chirp.vi
    Then, to start from a toggled boolean, look at the example:
    C:\Program Files (x86)\National Instruments\LabVIEW 2013\examples\Control and Simulation\Simulation\Signal Generation\SimEx Step.vi
    and Here is the example in 2013 (in attachment):
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments
    Attachments:
    SimEx Chirp with Delay.vi ‏241 KB

  • Signal Generation through pt by pt Signal

    Hello,
    I am acquiring signal through serial port, to analyze the signal, i am using pt bt pt signal analysis.
    In order to work on it, i used sine wave pt pt signal generation. But remained un successful in generating sine wave through it.
    Kindly guide me how could i generate sine wave using pt by pt.
    Thanks

    Hi Intelligent,
    it's not a good idea to start asking by using PNs, I will ignore them in the future!
    You wrote:
    I already read the help and tried to solve the issue but after not receiving the satisfied results, i posted on the group. As its written in the help that the frequency is in Hz, but the value you have selected for the frequency is 0.01. So its un understandable, also the dependentence of time factor.
    - What are "unsatisfying results"?
    - Yes, the frequency is given in Hz and I chose 0.01Hz for sake of showing an example...
    - "Dependence of time factor" is explained in the context help. Did you really read the help? Or do you have problems to understand the simple math formula provided in the help? All the parameters of SineWavePtByPt are used in that formula...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How to run fx ,signal generation example project in eclipse

    Hi,
    i run the helloworld sample project ,it works fine in ecllipse,cmd prompt window and i am try to run FX and signal generation sample program in eclipse ,i can't able to run in eclipse but i can able run in cmd prompt window.i want to know whether ocep projects can be run only through cmd prompt or both (cmd prompt and eclipse). if u have solutions to run in eclipse means help me please.Thanks in advance

    Hi,
    I got this below error in startDataFeed.cmd in singal generation ,but server started.
    C:\Oracle\Middleware\ocep_11.1\samples\domains\signalgeneration_domain\defaultse
    rver>startDataFeed.cmd
    'startDataFeed.cmd' is not recognized as an internal or external command,
    I got this below error in FX sample program ,but server is started and program is working fine.can just help what is the error in sample program i want to know.
    <Aug 7, 2012 11:46:03 AM IST> <Warning> <Spring> <BEA-2047006> <Work {0} terminated with exception = commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketEuro configured with illegal port [9,013]
    commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketEuro configured with illegal port [9,013]
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkStatus.setThrowable(CommonjWorkManagerImpl.java:268)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:206)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused By: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketEuro configured with illegal port [9,013]
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.setupServerConnection(SocketAdapterImpl.java:139)
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.run(SocketAdapterImpl.java:114)
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl$$FastClassByCGLIB$$6267eec3.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke(EventManagerAccessorProxy.java:30)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.wlevs.ede.impl.EventBeanProxy.invoke(EventBeanProxy.java:38)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
         at com.bea.wlevs.adapter.defaultprovider.internal.LoadGenAdapterImpl$$EnhancerByCGLIB$$5d089e06.run(<generated>)
         at com.bea.wlevs.spring.RunnableBeanPostProcessor$RunnableWrapper.run(RunnableBeanPostProcessor.java:118)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:204)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    >
    <Aug 7, 2012 11:46:03 AM IST> <Warning> <Spring> <BEA-2047006> <Work {0} terminated with exception = commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketAmer configured with illegal port [9,011]
    commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketAmer configured with illegal port [9,011]
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkStatus.setThrowable(CommonjWorkManagerImpl.java:268)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:206)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused By: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketAmer configured with illegal port [9,011]
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.setupServerConnection(SocketAdapterImpl.java:139)
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.run(SocketAdapterImpl.java:114)
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl$$FastClassByCGLIB$$6267eec3.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke(EventManagerAccessorProxy.java:30)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.wlevs.ede.impl.EventBeanProxy.invoke(EventBeanProxy.java:38)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
         at com.bea.wlevs.adapter.defaultprovider.internal.LoadGenAdapterImpl$$EnhancerByCGLIB$$5d089e06.run(<generated>)
         at com.bea.wlevs.spring.RunnableBeanPostProcessor$RunnableWrapper.run(RunnableBeanPostProcessor.java:118)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:204)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    >
    <Aug 7, 2012 11:46:03 AM IST> <Warning> <Spring> <BEA-2047006> <Work {0} terminated with exception = commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]csvTestData configured with illegal port [9,014]
    commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]csvTestData configured with illegal port [9,014]
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkStatus.setThrowable(CommonjWorkManagerImpl.java:268)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:206)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused By: java.lang.IllegalArgumentException: [Adapter:2041001]csvTestData configured with illegal port [9,014]
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.setupServerConnection(SocketAdapterImpl.java:139)
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.run(SocketAdapterImpl.java:114)
         at com.bea.wlevs.adapter.defaultprovider.internal.CSVGenAdapterImpl.run(CSVGenAdapterImpl.java:43)
         at com.bea.wlevs.adapter.defaultprovider.internal.CSVGenAdapterImpl$$FastClassByCGLIB$$1d34d8cd.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke(EventManagerAccessorProxy.java:30)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.wlevs.ede.impl.EventBeanProxy.invoke(EventBeanProxy.java:38)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
         at com.bea.wlevs.adapter.defaultprovider.internal.CSVGenAdapterImpl$$EnhancerByCGLIB$$3ec938ea.run(<generated>)
         at com.bea.wlevs.spring.RunnableBeanPostProcessor$RunnableWrapper.run(RunnableBeanPostProcessor.java:118)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:204)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    >
    <Aug 7, 2012 11:46:03 AM IST> <Warning> <Spring> <BEA-2047006> <Work {0} terminated with exception = commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketAsia configured with illegal port [9,012]
    commonj.work.WorkException: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketAsia configured with illegal port [9,012]
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkStatus.setThrowable(CommonjWorkManagerImpl.java:268)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:206)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused By: java.lang.IllegalArgumentException: [Adapter:2041001]fxMarketAsia configured with illegal port [9,012]
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.setupServerConnection(SocketAdapterImpl.java:139)
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl.run(SocketAdapterImpl.java:114)
         at com.bea.wlevs.adapter.defaultprovider.SocketAdapterImpl$$FastClassByCGLIB$$6267eec3.invoke(<generated>)
         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
         at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke(EventManagerAccessorProxy.java:30)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.wlevs.ede.impl.EventBeanProxy.invoke(EventBeanProxy.java:38)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
         at com.bea.wlevs.adapter.defaultprovider.internal.LoadGenAdapterImpl$$EnhancerByCGLIB$$5d089e06.run(<generated>)
         at com.bea.wlevs.spring.RunnableBeanPostProcessor$RunnableWrapper.run(RunnableBeanPostProcessor.java:118)
         at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:204)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    >
    <Aug 7, 2012 11:46:03 AM IST> <Notice> <Server> <BEA-2046000> <Server STARTED>

  • Como puedo instalar ISDB-T/Tb Digital Video Signal Generation Toolkit - MaxEye Technologies en labview 2014

    Hola me gustaria que me ayuden con un problema que tengo, descargue  ISDB-T/Tb Digital Video Signal Generation Toolkit - MaxEye Technologies evaluation pero cuando lo quiero instalar me aparece un mensaje diciendo que primero debo instalar labview 2012 pero yo tengo labview 2014, como puedo instalar esta herramienta sin tener que cambiar la version de mi labview?

    Saludos Mafilu,
    Gracias por utilizar los Foros de Discusión de National Instruments, con respecto a tu consulta creo que lo mejor será que contactes directamente al equipo de soporte de MaxEye Technologies para corroborar si existe alguna necesidad especial, o bien, si tienen alguna alternativa.
    Support Information
    For technical support, contact MaxEye Technologies at:
    Phone: +91-80-2527-0024, +91-94-4806-7717
    Email: [email protected], [email protected]
    Web: maxeyetech.com
    Quedo al pendiente, saludos.
    David P.
    National Instruments
    Applications Engineer
    www.ni.com/soporte

  • Digital signal generation in cDAQ- 9477 with 1ms resolution.

    I am using cDAQ -9477 Digital card with 9178 chassis (USB) .I have to generate some digital signals for 2 seconds. The signal should be
    0 (3ms)  -   1(1ms)  -    1  (2ms)   & repeat the sample 0 (3ms)  -   1(1ms)  …….  upto  2 seconds.
    I had generated samples for 2seconds with 1ms duration of each sample.
    I am unable to do that with 1ms resolution in cDAQ -9477 Digital card.
    Is the above signal generation is possible (each sample -1ms) ?
    I am using LabVIEW2009 .I attached the code.
    Kindly let me know the suggestions .
    Attachments:
    Digital Signal.JPG ‏7 KB
    Digital.vi ‏40 KB

    cDAQ chassis do not currently support hardware timed tasks for digital modules with >8 lines.  The DAQmx help defines these devices as "static digital I/O modules".  The "Digital I/O Consideration for C Series Devices" section in the DAQmx help describes the capabilities of digital modules on different chassis.
    Unfortunately this means you are stuck with static (software timed) generation.  Over USB this will affect the accuracy of your signal.  You won't be able to achieve the signal you are trying to generate with the current support.  Static generation will max out at roughly 1kHz, but Windows can introduce a large amount of jitter.  What you really need is a hardware timed task.
    This is a feature that could be added in the future.  I recommend submitting a feature request, though I know that doesn't solve your problem now.

  • Synchronous arbitrary signal generator

    I have Labview 7.0, PXI-1042, pxi 6070E, scb-68, windows xp.
    Is it possible to synchronize an arbitrary signal generator and a simulated signal generator?
    So far I have been unsuccessful.

    Hi Cool,
    The hardware output of the PXI-6070E board is independent of the software running in LabVIEW. Once LabVIEW sends the command to write the output buffer, the hardware will work independently of the software.
    There is a certain degree of synchronization that can be accomplished using DAQ Occurrences, which uses an interrupt to indicate when a certain amount of output has been achieved. However, the difference between the DAQ board sending the interrupt and LabVIEW processing that interrupt, amounts to a period of time that doesn't enable you to perform tight synchronization.
    If you are looking for output rates in the kHz, this might, however, do the trick. The problem is that there is always going to be a difference since the OS (Windows) control
    s the multitasking of applications and LabVIEW. This causes LabVIEW not to run deterministically. The hardware will always output at a specific rate where as the LabVIEW will not be able to simulate completely at a specific rate.
    I would take a look at DAQ Occurrences in the LabVIEW Help File. This will give you your tightest synchronization. Hope that helps.
    Ron

  • Simulate arbitrary signal getting rms value

    Hello!
    I´ve got a .lvm file (attached as testpwm.txt) that generates a preview in Simulate Arbitrary Signal but shows nothing in the waveform graph. I would like to calculate the rms value and the duty cycle of the signal, but it doesn´t work together with the Express VI. I have also tried to build the waveform with Read waveform from file, but it doesn´t work either.
    any ideas?
    Attachments:
    testpwm.txt ‏24 KB

    Hi Dongre,
    What do you mean by "but value varries from 0 to rms which is not required. "
    If you are using EPS 2014, you should first identify the type of data acquisition cards you are using for your cRIO 9076 (SAR of Delta-Sigma), and then choose the examples with the corresponding type in name in the Power Quality folder. These are more ready-to-run than the examples in Basic Power Measurement which are for DAQmx, but which could also give you a straight forward view of how to measure RMS.
    You need to check the data acquisition modules on your cRIO for acquisition precision. If they are different from what's used in the examples, you need to manually modify a bit. Refer to the link below for how to adjust precision when you change for another module.
    http://forums.ni.com/t5/LabVIEW-Electrical-Power-Suite/Wrong-Voltage-Values-using-NI-9225-and-ELectr...

  • Segment signal generation

    Hi!
    How is it possible to generate such a signal (picture attached)?
    https://pp.vk.me/c622024/v622024951/33e6f/I3zJNTMGiU0.jpg
    A link to the answer (if there is one in this forum) would be awesome.
    Thanks 
    Solved!
    Go to Solution.
    Attachments:
    I3zJNTMGiU0.jpg ‏50 KB

    Many thanks. I did it using Ramp pattern VI and for loop.
    The result is attached.
    Now I need to sent this result to control and simulation loop.
    This signal have to be desired position of my actuator insted of Knob (now I set the desired position using knob). check the attached vi.
    But as I found out it is impossible to put 'for loop' inside of 'control and simulation loop'.
    'control and simulation loop' also do not want to read updated signal from the outside, if I place my signal generation (using Ramp pattern VI and for loop) outside of 'control and simulation loop'.
    Coul you please suggest somth?
    THANKS
    Attachments:
    Ramp pattern.vi ‏16 KB
    VCA by Knob.vi ‏672 KB

  • Simulate arbitrary signal VI

    Hi,I want to use simulate arbitrary signal VI to load the data and then output it to control the shaker motion, one problem is that when the VI outputs the data point-by-point, its time interval is not the real time step in the data, so how can I change the time interval, if this can not be achieved with simulate arbitrary signal VI, what VI should I use?
    thanks a lot,

    Hi all,
    I hope you are all fine. I am trying to generate the simulated brain sign. I got all the data set for the time and the value of y-axis but when i used cDAQ NI 9178 to interface my signal and see it on oscillscope, there is error. in the software it works ok but hardware can not .i dont know what is wrong,
    kindly can you help me in this issue.
    error is
    Error -200292 occurred at DAQmx Write (Analog 1D Wfm NChan NSamp).vi:3
    Task Name: _unnamedTask<14>
    Attachments:
    trial1.vi ‏1608 KB

  • Whether could I generate one AC signal and acquire one DC signal and one AC signal together using NI myDAQ?

    Dear Sir:
    I would like to know whether I can generate one AC signal and acquire one DC signal and one AC signal together using NI myDAQ? If I can, could you please tell me the easiest way to achieve the goal? If I cannot, please tell me whether I can use both white box to do this because I have got another white box USB-6008. Cheers
    Kind Regards
    Jeff 

    duplicate post
    Don't create a new thread. In the thread above, you asked for someone to review your code but you did not post a modified VI. Your original one is obviously wrong as I noted.

  • How to trigger temperature acquisition (6024E) at the start of signal generation from NI5411?

    I'd like to begin/end acquiring temperature data with the 6024E after the start/stop of the signal output from the 5411. What is the best way to accomplish this? is software or hardware triggering better?

    Rudy,
    Using a hardware trigger is definitely the more precise method. I would suggest that you consider using markers from the NI 5411 to trigger the NI 6024E. Information concerning this topic is available in the NI Signal Generators Help. Specifically, it is available in the following location:
    Contents >> NI Signal Generators Help >> Devices >> NI 5411 >> Waveform Generation >> Marker Events
    If you do not have the NI Signal Generators Help, it can be downloaded from the following location:
    NI Signal Generators Help (NI 5401/5404/5411/5421/5431)
    Once you have exported the appropriate makers, numerous examp
    le programs exist that demonstrate how to trigger the NI 6024E. If you are using LabVIEW, I would suggest that you examine the Acquire N Scans Digital Trig.vi example.
    Good luck with your application.
    Spencer S.

  • Arbitrary waveform generation from large text file

    Hello,
    I'm trying to use a PXI 6733 card hooked up to a BNC 2110 in a PXI 1031-DC chassis to output arbitrary waveforms at a sample rate of 100kS/s.  The types of waveforms I want to generate are generally going to be sine waves of frequencies less than 10 kHz, but they need to be very high quality signals, hence the high sample rate.  Eventually, we would like to go up to as high as 200 kS/s, but for right now we just want to get it to work at the lower rate. 
    Someone in the department has already created for me large text files > 1GB  with (9) columns of numbers representing the output voltages for the channels(there will be 6 channels outputting sine waves, 3 other channels with a periodic DC voltage.   The reason for the large file is that we want a continuous signal for around 30 minutes to allow for equipment testing and configuration while the signals are being generated. 
    I'm supposed to use this file to generate the output voltages on the 6733 card, but I keep getting numerous errors and I've been unable to get something that works. The code, as written, currently generates an error code 200290 immediately after the buffered data is output from the card.  Nothing ever seems to get enqued or dequed, and although I've read the Labview help on buffers, I'm still very confused about their operation so I'm not even sure if the buffer is working properly.  I was hoping some of you could look at my code, and give me some suggestions(or sample code too!) for the best way to achieve this goal.
    Thanks a lot,
    Chris(new Labview user)

    Chris:
    For context, I've pasted in the "explain error" output from LabVIEW to refer to while we work on this. More after the code...
    Error -200290 occurred at an unidentified location
    Possible reason(s):
    The generation has stopped to prevent the regeneration of old samples. Your application was unable to write samples to the background buffer fast enough to prevent old samples from being regenerated.
    To avoid this error, you can do any of the following:
    1. Increase the size of the background buffer by configuring the buffer.
    2. Increase the number of samples you write each time you invoke a write operation.
    3. Write samples more often.
    4. Reduce the sample rate.
    5. Change the data transfer mechanism from interrupts to DMA if your device supports DMA.
    6. Reduce the number of applications your computer is executing concurrently.
    In addition, if you do not need to write every sample that is generated, you can configure the regeneration mode to allow regeneration, and then use the Position and Offset attributes to write the desired samples.
    By default, the analog output on the device does what is called regeneration. Basically, if we're outputting a repeating waveform, we can simply fill the buffer once and the DAQ device will reuse the samples, reducing load on the system. What appears to be happening is that the VI can't read samples out from the file fast enough to keep up with the DAQ card. The DAQ card is set to NOT allow regeneration, so once it empties the buffer, it stops the task since there aren't any new samples available yet.
    If we go through the options, we have a few things we can try:
    1. Increase background buffer size.
    I don't think this is the best option. Our issue is with filling the buffer, and this requires more advanced configuration.
    2. Increase the number of samples written.
    This may be a better option. If we increase how many samples we commit to the buffer, we can increase the minimum time between writes in the consumer loop.
    3. Write samples more often.
    This probably isn't as feasible. If anything, you should probably have a short "Wait" function in the consumer loop where the DAQmx write is occurring, just to regulate loop timing and give the CPU some breathing space.
    4. Reduce the sample rate.
    Definitely not a feasible option for your application, so we'll just skip that one.
    5. Use DMA instead of interrupts.
    I'm 99.99999999% sure you're already using DMA, so we'll skip this one also.
    6. Reduce the number of concurrent apps on the PC.
    This is to make sure that the CPU time required to maintain good loop rates isn't being taken by, say, an antivirus scanner or something. Generally, if you don't have anything major running other than LabVIEW, you should be fine.
    I think our best bet is to increase the "Samples to Write" quantity (to increase the minimum loop period), and possibly to delay the DAQmx Start Task and consumer loop until the producer loop has had a chance to build the queue up a little. That should reduce the chance that the DAQmx task will empty the system buffer and ensure that we can prime the queue with a large quantity of samples. The consumer loop will wait for elements to become available in the queue, so I have a feeling that the file read may be what is slowing the program down. Once the queue empties, we'll see the DAQmx error surface again. The only real solution is to load the file to memory farther ahead of time.
    Hope that helps!
    Caleb Harris
    National Instruments | Mechanical Engineer | http://www.ni.com/support

  • How to input/output a digital signal and acquire an analog signal at the same time?

    Dasylab, version: 8.0.04
    Acquirement Card: PCI1002L
    When I use DasyLab to acquire the analog signals is no problem without digital inputs and outputs,
    and when I use DasyLab to input or output a digital signal is no problem also, but when I do that at the
     same time, DasyLab tell me the rate is too high and stop.
    so, I searched the manual book1 (user guide) for that, it showed me :
    To internally equalize measurement time and system time in the analog input, digital input and counter
    hardware modules, use the following settings:
       Synchronization: PC Clock
       Sampling rate: <= 5Hz
       Block size: =1
    the problem is, if I set the Sampling rate to 5Hz, the speed of the acquirement datas is not enough for my
    application.
    so, how to improve it? who can give me a example programm for me. thanks!
    by the way, I come from China, my English isn't good, I'm sorry.
    Allen, China.

    Hi,
    Have things changed over the years?
    I need to syncronise a digital output (Modul NI9474) and an analoge input (AI-Modul NI9203) module. I need to measure time intervals from a flank in signal A to a flank in signal B. I would like accuracies of the order of 1 ms. Currently, the signals are not synchronised, with errors of the order of 2 times the block length (block size x sample rate), sometimes much higher. The best I got so far was a block size of around 20 with a sample rate of 1 kHz.
    If I use the master and slave settings on the RTSL settings, my program doesn't run properly.
    If I use digital signals for input and output, I can syncronise them with RTSL settings and everything is good, but I can't always do that.
    Also, if I do anything in the GUI (such as scrollowing something or going to another window), my output gets screwed up properly.
    1. What can be done to synchronise AI with DO?
    2. Is there something that can be done to avoid messing up the output when something happens in the user interface? (I know that I am messing up the outputs as they make some valves switch and that is loud).
    Thanks in advance!

  • Preventing a glitch during signal generation

    I’ve got two high speed digital IO cards (NI PCI-6541) generating simultaneous waveforms, and I’m getting a 120 – 150 ns glitch from one during the generation process. The waveforms have ~ 200k samples at a sampling rate of about ~ 20 MHz.
    For each board, I call this sequence of  functions:
    niHSDIO Init Generation Session.vi
    niHSDIO Assign Dynamic Channels.vi
    niHSDIO Configure Sample Clock.vi
    niHSDIO Export Signal.vi
    niHSDIO Configure Generation Mode.vi
    niHSDIO Export Signal.vi
    niHSDIO Configure Generation Repeat.vi
    niHSDIO Write Named Waveform (1D U32).vi
    niHSDIO Write Script.vi
    niHSDIO Get Session Reference.vi
    It’s the “niHSDIO Write Named Waveform (1D U32).vi” function that causes the glitch. I’ve run into a similar thing before and it was the signals briefly going to a high impedance state during an initialization call; is there some way to prevent that?

    Hello All,
    This issue was resolved by changing the initial state in the niHSDIO Init Generation Session.vi. The "glitch" occurred because the niHSDIO Init Generation Session.vi was configured to reset the device at the begining of the program. This set the device into a high impedance state. By changing the input so that the device did not reset we were able to eliminate the problem.
    Matt Anderson
    Hardware Services Marketing Manager
    National Instruments

Maybe you are looking for