Issue of two-channel digital output

Hello world

I need some aid on two output digital channel design

In short, I want to use a PCI-6731 with BNC2110 output. Two digital output channels will be used, eg Dev1/port0 / line0:1. I hope that $line0 could output a stable finite samples in f1 (for example 10 kHz) frequency and the total number of samples as N1 (e.g. 1E6); in the meantime, I hope that line1 could output samples finished frequency f2 = f1/M (for example 2 kHz) and the number of samples as N2 = N1/M (e.g. 2E5). In other words, I expect $line0 and line1 out same time length samples with different frequencies and different number sequence. Please note that setting should be controllable, and sometimes N2 and f2 are not exactly an integer (then we take round value).

Thank you for your help in advance.

Joined a vi that does what you want, I think. It uses two digital outputs timed by a meter. The digital outputs are fed waveforms generated by two frequencies with a full report. You can change the part of the code that generates the waveform as you wish and use the rest to make the exit.

Richard

Tags: NI Software

Similar Questions

  • Generation of two channel analog output using NI USB-6221


    Full question

  • Implementation of multiple digital outputs with a box USB-6009

    Hi all

    I write the code to implement a USB-6009 multiple digital channels, digital outputs independent.  I have configured the function of "DAQmx create Channel" to create 'a channel for each line', but I can't understand how to access and control these channels separately.  Pointers would be greatly appreciated.

    Thank you!

    I thought about it.  Never mind.

  • Digital output to a different voltage?

    Hi all

    I finally finished my program of data acquisition for the laboratory, which made the acquisition of AI voltage multi-channel digital outputs with timed to control the gas valves. My post-doc asked an additional feature, however, which must be able to have the analog output... It turns out that what he really wants to do with the feature is to have output digital, but with a different voltage value (he never hears on the sending of information higher or lower in a simple experiment).

    Now, the program is set up to run digital output now, it would be quite a bit of work to change in a zone of OCCUPATION. Is it possible to simply change the settings somewhere to have the ups to DO at a different voltage? I hope that this is the case from a card of 10 dollar Arduino can do 5V or 3, 3V.  Our DAQ card is the NI PCIe-6353. I looked through the data sheet and found nothing.

    Thank you.

    p.s. I suggested using additional circuits to set the tension for a given experiment. The post-doc said it was possible, but inconvinient. :/

    RaymondLo wrote:

    p.s. I suggested using additional circuits to set the tension for a given experiment. The post-doc said it was possible, but inconvinient. :/

    Well, it is just too bad for the post-doc.  Maybe he should give you better requirements next time

    OK without being in a bad mood, it is not a way to change the digital output voltage.  When you talk about DIO cards really aims to communicate only high or low and have a voltage. The only other option would be to use 4 AO ports on the card and treat them programmatically as DO.

  • How to synchronize 2 digital output channels that have been created with DAQmxCreateCOPulseChanFreq

    Hello

    I use peripheral USB6221.

    I created two digital output, operating on a frequency of 75KHz and duty cycle of 50%. But I need a period of 1 microsecond between the two channels.

    I have craeted the two channel on the same task and guess if I use a delay of 0, the channels will be synchronized, but looking at the scope, the channels are not synchronized. Here's the code I used (I checked also all return codes of coarse and fine).

    Thank you

    Danny.

    Int32 RetCode;

    RetCode = DAQmxCreateTask ("", & m_OCtaskHandle);
    LogMessage (RetCode, "CreateTask", "");
    If (RetCode > = 0)
    {
    define the first output channel for 1 transmitter (75KHz)
    RetCode = DAQmxCreateCOPulseChanFreq (m_OCtaskHandle, "/ Dev1/ctr0", ")
    "Transmit1 Line 1", / * name to assign to the channel * /.
    DAQmx_Val_Hz, DAQmx_Val_High,
    0.0, / * initial delay in seconds * /.
    75000.0, / * Freq * /.
    0.5 / * market factor * /);
    define the second output channel for 1 transmitter (75KHz with 1 microsecond delay)
    RetCode = DAQmxCreateCOPulseChanFreq (m_OCtaskHandle, "/ Dev1/ctr1", ")
    "Line2 Transmitt1", / * name to assign to the channel * /.
    DAQmx_Val_Hz, DAQmx_Val_High,
    0,000001, / * initial delay * /.
    75000.0, / * Freq * /.
    0.5 / * market factor * /);
     
    Describe all channels continuous task
    RetCode = DAQmxCfgImplicitTiming (m_OCtaskHandle, DAQmx_Val_ContSamps, 1000 / * I think that NA since continuous * /);

    RetCode = DAQmxStartTask (m_OCtaskHandle);

    Hello Danny,

    If you are looking for more output channels of the Digital pulse trains, you can create 1 task of counter that is used as the clock for digital multi-line data output. For this digital task, you will need to make the clock source line PFI for the output of your task of counter. Once this has been done, you will need to create the digital signal for each line of output and write to the card. The example called write dig Chan - Ext Clk will explain how to set up the digital task so that the task has an external clock (the counter). I hope this information helps you and if you have any other questions, feel free to post.

  • Fortunately the cRIO merger two time real screws: analog and digital output

    Howdy,

    I need help with a cRIO code.  The purpose of the code is to acquire an analog input from the NI 9234 c series module and be able to send a "signal of pulse" digital camera (first low for some time, t1, then high for some time, t2) from a NI9401.  Separately, I wrote the code to perform both tasks.  However, when I add the code of RT digital output pulse pulses to analog input RT code, the DMA FIFO overflows because of the way that my digital pulse output code works.  Currently, there are two reasons which overflows of the FIFO:

    1. The digital output code is pending for a while loop (pending "Send Pulse" become a true), the loop I can't empty the buffer FIFO
    2. The FIFO is not enough, quickly emptied depending on how long the pulse (t1 and t2) times are.  The way I keep the pin high or low for a defined period of time is by issuing a sleep command, which blocks the loop I empty the FIFO.  (Is there a "best" way to sleep?)

    I have attached photos of my codes FPGA and RT.  Please give me a suggestion on how to marry my two loops of RT for the use of happy resources!  Thank you.

    I found a quick way to solve this problem.  I moved the timing of the Digital pulse on the FPGA.  So whenever I have a Boolean value, the FPGA generates a waveform with the settings I put (a pulse in my case).  This works because the FPGA loops run in parallel, I think.  That's why, when I run a pending order in the loop of FPGA digital output, it does not prevent the FPGA of analog input loop to run.  I have attached a picture of the code.

  • separation of two edges using a digital output

    I am using a DAQ, PXI-6229 map and programming in c# .net.

    I'm claiming a falling edge on PFI12 used as a digital output, and I need to measure the time between this edge and a second front on PFI8 used as a digital input.  I have implemented the code using some examples I found.  I don't know when to to argue the signal on PFI12 in order to be read at the right time.  Playback must be put in place before the signal is asserted, but I do not know how to set it up it up properly.

    Here is the code I have so far:

    Public Sub MeasureAcquisitionTime()
    {
    DigitalSingleInputTask = new Task();
    CIChannel counterSetup;
    firstEdge = CITwoEdgeSeparationFirstEdge.Falling;
    secondEdge = CITwoEdgeSeparationSecondEdge.Rising;
    Double minTime = 10-3;
    Double maxTime = 60F-3;
    String auxCounterInput = "/" + CardName + ' / PFI12 ';
    String gateCounterInput = "/" + CardName + ' / PFI8 ';
                
    counterSetup = DigitalSingleInputTask.CIChannels.CreateTwoEdgeSeparationChannel)
    CardName + ' / ctr1 ', 'counter',
    minTime,
    maxTime,
    firstEdge, secondEdge, CITwoEdgeSeparationUnits.Seconds);
    counterSetup.TwoEdgeSeparationFirstTerminal = auxCounterInput;
    counterSetup.TwoEdgeSeparationSecondTerminal = gateCounterInput;
    DigitalSingleInputTask.Control (TaskAction.Verify);
    runningDigitalTask = DigitalSingleInputTask;
    counterInReader = new CounterReader (DigitalSingleInputTask.Stream);
    Double data = counterInReader.ReadSingleSampleDouble ();
    }

    I'm glad to hear it.

    paofthree wrote:

    Is there a way to make a measure of separation of two edges on the analog inputs of the PXI-6229?

    The only way would be to constantly acquire the analog input voltage and calculate the separation of the two edges in the software.

    Best regards

  • Is it save to use the digital output as a digital input for another channel signal

    Hi all

    I know it's a stupid question, but I don't have another generator of signals by hand. What I want to know is, can I use the signal digital output of my USB-6001 as an input for the same signal device, but on other digital port? I wasn't directly because I don't want to burn the device...

    Thank you

    Done all the time. No problems.

  • NI USB-6501 digital output problem

    Hello

    I use DASYLab v.11 and I'm working on an interface with the NI USB-6501 where I'm putting a digital high on four ports.

    With the module "NOR-DAQmx - digital input", I managed to read the digital inputs of the ' NI USB-6501 ".»

    It's only the "NOR-DAQmx - digital output" I can't go to work.

    Using 'NI MAX' of NOR I have easily can emmit my four LEDs in the way of my High/Low ports.

    But not with DASYLab. When you use DASYLab tension on the ports remains unchanged.

    Now, I have a switch module, generating 5/0, directly connected to the digital output module, which is assigned to my four output ports for my task.

    I also tried with a module of relay between the two without success. I also tried to use 1.5 above instead of 5 without success.

    I use the option 'Bus (0/5 supply) for the module "Digital output".

    "NI Max", I configured the ports as "active drive.

    Any suggestion of what I might be missing?

    Thank you

    Martin

    Hmm, four ports, or four lines?

    A port consists of eight lines. Each line can control an LED (ON / OFF ~ 0/5V).

    If you have created a task to dig-out to control a port, 5V to this port sending sets all lines of this port to 'high '.

    You need to 255 for each line one too high port (at the bit level: 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1).<- eight="">

    Or, you can create a dig out tasks to control four lines of a specific port.

    Four lanes of the EEG DAQmx DigOut module.

    Each of the channels of the modul will feed a single line of the task/device.

    Four switches will then turn the lights, or turn off.

    Make sure, that the 'bitposition' is the number of correct line (see picture).

  • Measure the time difference between a digital output and an analog input that responded to the questionnaire

    Hallo,

    I use the following system:

    • OR PXI-1044 with controller NI PXI-8109

    • OR PXI-2564 switch module to turn on the monitor of my test device

    • Data acquisition multifunction NI PXI-6259 to measure the signal that responded to the questionnaire jump

    The two cards are the same - PXI trigger bus. For both, PXI-2564 and PXI-6259 I use DAQmx to set the reading and writing of the channels.

    Now, I want to measure the time between the digital output, my unit turns and the analog input, which measures the response of my system.

    I can't do work by myself, please help me!

    I thank Ludwig.

    Hi Ludwig,.

    If you can't give us any VI we have difficulties with to help you.

    Because I Donat knowledge how your program is mounted it is not easy to know where you should enter signals.

    Here's a question similar to yours:

    http://forums.NI.com/T5/LabVIEW/best-way-to-measure-time/TD-p/178704

    and 2 external links:

    http://www.ehow.com/how_8698983_measure-time-LabVIEW.html

    http://objectmix.com/LabVIEW/385152-how-can-i-use-LabVIEW-measure-time-between-analog-pulses.html

  • digital output microsecond LED timer

    Hey all,.

    I'm doing a table of 10 LEDs in a row to form an analog timer to use to characterize the delay of the shutter on a digital SLR. We'll first stage shutter lag on the camera using a method different and well set the delay of the shutter for interior<1ms. i="" am="" trying="" to="" use="" labview="" alongside="" a="" ni="" usb="" 6251="" using="" an="" sc-2345="" for="" access="" to="" the="" digital="" outputs.="" im="" using="" a="" timed="" structure="" and="" a="" timed="" loop="" to="" ensure="" the="" timing="" between="" each="" led="" turning="" on="" corresponds="" to="" an="" actual="" time.="" however,="" i="" am="" not="" getting="" the="" results="" i="" thought="" i="" would.="" the="" timing="" does="" not="" seem="" to="" be="" what="" i="" thought="" it="" would="" be="" and="" i="" can="" not="" get="" the="" timed="" loop="" to="" work="" with="" all="" the="" channels="" at="" the="" desired="" frequency="" which="" would="" idealy="" be="" as="" high="" as="" possible.="" could="" someone="" take="" a="" look="" at="" my="" code="" and="" provide="" me="" with="" some="" insight="" where="" i="" may="" be="" getting="" issues?="" i="" apologize="" if="" i="" am="" overlooking="" important="" information="" that="" may="" be="" needed="" to="" help="" solve="">

    ~ Aaron

    I have no DAQmx I can't be sure.  I think that the 6251 has a maximum rate of 1 MHz in order to try to set the rate to 20 MHz should generate an error.  For the purposes of test on the rate 1 Hz bit or less.  Then you should be able to see the LEDs as turning on and off.

    You may also need to set the number of samples to the size of the array.  Referring to the size of the array fed to Scripture DAQmx, not the table on the front panel.  With the number of samples set to 1, I would expect that he wrote that the first element of the array that is equal to zero.  That does not produce a very interesting performance: he lets just all lights off the coast!

    Lynn

  • How can I more easily generate a pulse of digital output of finite length?

    Hello

    I need to open and close the two pneumatic valves using a TTL output (without load current or the output power) using a PCI-6280 or PCI-6601. The valves must open almost simultaneously and closing after different amounts of time elapsed (millisecond level timing, maybe 100 microseconds-level timing at worst). My current plan is as follows:

    -Create a task with two digital outputs (type of waveform) and another task with a counter that generates a frequency set by the user (I know I can use the generator frequencies on one of these cards, but I would have preferred a counter - the best selection of frequencies).

    -Wire the output of the counter at the entrance to clock two digital outputs.

    -Output of the meter is digitally triggered by another digital channel which I use to control if the pulse goes out. Through its counter node, it is programmed to be redeclenchables.

    -Two digital waveforms are drafted who have both consist of unique active high pulse (i.e. signals go ' down (for the amount of time user-defined) - low ".")

    -These signals is written to their respective ports and their tasks have started, as is the task of the meter.

    -Whenever the user wants to open taps, digital triggering is sent up and then back to low (this can be done with synchronization software, because it is not exactly when the fire valves). Whenever the user wants the valves open for a different period, different digital waveforms are generated and written in the buffers of the digital output channels.

    My problem is that it looks like a lot of effort for me to go and I wonder if there is a much simpler solution, that I don't know everything. You can program a computer to produce a pulse of finite length? Is there a faster way to program a digital output for that channel?

    Thanks to anyone who responds to their help.

    It is certainly instructive. Thank you.

    The thing is, I have only six total counters to work with and I have a lot of time to do things. To use these solutions, I would need to use 4 or 6 account counters required to my needs.also that I would need to synchronize their departures.

    Overall, I stick to my method for now - less system resources and synchronization can be don by using the same meter of finished output clock and not to use a trigger to all.

    Once again, thank you for your help so far.

  • How can USB-6210 I synchronize two channels of ctr

    Hello

    I use LV 8.5.1 and NI USB-6210. A small application I want to generate two different impulses with synchronization but simple starting point. When I configure a task with two channels the second channel configured always starts a ms later. But, if I configure both channels in terms of frequency, they start synchronously.

    My idea is bad in general? The DAQmx part is fixed.

    Thanks in advance

    Hi there, too.

    the release of the finite pulse trains, to two meters for each task. Therefore, your application will be the first impulse using two output counters and then to exit the second impulse using the two counters.

    Like the USB-6210 don't not have outputs DIO correlated, you'll generate two infinite pulse trains (which can be started at the same time throug a trigger of arms) that you explicitly stop before the start of the second pulse (using the DAQmx abort task from a parallel loop), or upgrade your hardware at least a USB-622 x card series and a digital output model... Alternatively, you can use the PCI-6602 counter card and use a counter to Gate two others doing an infinite impulse train uses a relaxing break...

    Synchronization of two meter in NOR-DAQmx tasks
    http://digital.NI.com/public.nsf/allkb/BB7AE2D12BB04CBE862574FA005D3826?OpenDocument

    Using a counter to generate a redeclenchables Train digital pulses with a PCI-6602 and DAQmx
    http://digital.NI.com/public.nsf/allkb/4A9AF19480E50C6D862571B70058142A?OpenDocument

    Several counters on the same card with a single trigger pulse
    http://digital.NI.com/public.nsf/WebSearch/CE99A0B2A9048A2A86256C630062F550?OpenDocument

    Best regards
    Sebastian

  • NEITHER 9205 digital output configuration with DAQ Assist

    Hello

    I have two NI 9205 Analog Input Modules which I have configured to read from each of their 32 channels.  I used the DAQ Assistant help generate the vi which contains the task out - DAQmx event and also the DAQmx Read vi.

    I used the Wizard twice, once for each module 9205 and then put the playback functions in a sequence structure so that only read would be carried out at the same time.  It all works very well!

    Now, I want to add in the code to wait in a loop before all loop containing playback functions, so that the user can press the GUI to send a logic 1 to the unit under test, and after it is sent immediately starts collecting data.

    The DAQ Assistant Help does not recognize the module 9205 when I try to set up a task to write a digital output.  9205 a 1 digital output so why is the wizard does not recognize this?  I also tried to create a task manually, but I got stuck.

    Someone please help.  I can reach the source if needed, but I thought that the descriptions above were sufficient.

    Thank you

    Gary

    Hello

    You are right it shows a line in this user manual, and in fact, you have found an instance where an important piece of information was left out of the documentation. This digital output line is actually only available when you use a cRIO chassis. It will not work with the chassis for the acquisition of data compact 9172. Here is a knowledge base that explains it. I'll also go ahead and file a request for corrective measures so that this note be included in the next version of this manual. Thanks for the comments.

    Chris

  • Manchester in transmission/reception of signals using the digital output of the PCI-6224

    How a manchester signal can be sent and received using the OID of the pci card 6224?

    I want to create a signal NRZ manchester on a digital output channel and then have the possibility to receive and interpret the same type of signal on a digital input channel.

    Any help would be greatly appreciated.

    Hi VJohnson,

    You might find this post of discussion forum useful.

    Looks like LabVIEW has not Manchester coding/decoding built, but do able in your VI by replacing all the elements with the corresponding elements of two and using double the speed of transmission as your clock frequency.

    Thank you

    Scott M.

Maybe you are looking for

  • All searches from the toolbar causes all of the tabs to be highlighted in firefox 8

    All searches from the toolbar (file; Edit; View; History; Bookmarks; Tools; Help) then scrolling down causes all tabs to highlighted. I did have this problem in version 3.6 since I upgraded to 7 and 8, that this problem continues to be a problem.

  • Satellite M40 - 244--> Boot from a USB

    Hi all I have a Satellite m40-244 with a DVD player which unfortunately is out of service. I would like to know if it is possible to boot from a USB key to reinstall Windows or Linux. In the BIOS there only HDD, floppy, CD-ROM, and LAN drive options.

  • safe to install these updates?

    read the news for the update KB2487426 says you must install this update before you install windows 7 service pack 1 (sp1), my pc has windows 7 (32 and 64 bit) version number of the family premium preinstalled V.6.1.7600 don't know anything about ser

  • 34957172.exe has stopped working and was closed. Windows error message

    Since the installation of Service Pack 2 for Vista, I receive the following error message that causes my computer to freeze - "34957172.exe has stopped working and was closed.  A problem with the application to stop functioning properly.  Windows wil

  • Support for blackBerry Smartphones SMIME

    Hello I recently converted to the Blackberry Tour starting a Windows Moblie device. I'm faced with a problem that is essential in our line of work and that is, that I can open is no longer our .mil customers emails. I am not able to open the SMIME me