Minimum Frequency for counter Pulse Frequency Generation

Hello,
What is the Minimum Frequency that the Counter Output Pulse Frequency VI can generate?
If I need to generate a REALLY low frequency pulse train can I do that?
Thanks
Dan

Hi Dan,
If you don't explicitly specify a timebase, DAQmx will choose a default depending on the initial parameters you set up for CO Pulse Frequency.  For example, the following code should work on any DAQ device with a 32-bit counter and a 100 kHz timebase available (from my first post, 11.64 uHz is the minimum frequency in this scenario).
So... your 10-100 second periods should be more than achievable.  The inverse of 12uHz is about 23.15 hours.
If you're on a 24-bit counter the maximum pulse width would only be ~167.77 seconds (2^24/100000), giving a frequency of about 2.98 mHz assuming 50% duty cycle.
The only way you should be getting an error at the 10-100 second durations that you are describing is if you start the task off at a faster rate (so DAQmx will pick a faster timebase by default) then modify it to output a lower frequency.  Rollover times for the maximum default timebases are as follows:
    E Series:   ~0.839 seconds (24-bit counter, 20 MHz timebase)
    M Series:   ~53.69 seconds (32-bit counter, 80 MHz timebase)
    X Series:    ~42.95 seconds (32-bit counter, 100 MHz timebase)
If you want to set a different signal source as a timebase, you can do it with a DAQmx Channel Property Node:
I'm afraid I don't really understand what you are trying to do specifically.  How does this "infinite" pulse length fit within the context of your application?  Why not simply write the line high in software?  What hardware are you using?
Best Regards,
John Passiak

Similar Messages

  • Loss of Synchronization for Finite Pulse Train generation

    I have successfully generated a finite pulse train on my 6608. My program is based off an example I got from NI Zone (Square_Wave_Trigger.zip).
    Unfortunately, the Finite Pulse Train loses synchronization every once in a while, and I'm not sure why. Is there anyway to prevent the loss of synchronization???
    When I say loss of synchronization, here is what I mean exactly. I'm generating 4 pulses, but every once in a while, when I reprogram my equipment, I lose those 4 pulses. They seem to go out of phase or something.
    I have included my code as well (Sync.txt), which is slightly different from the example code. In my code, the finite pulse train is generated by the "Sequence Gating Pulse"
    and the "USIP Firing Sequence" lines of code, which are clearly marked.
    Any help would be greatly appreciated. =)
    Attachments:
    Sync.txt ‏14 KB
    TIOgenSquareWaveStartTrig.C ‏6 KB

    I lose the pulse train until I reset my counters. The pulse train shifts out of phase with the main pulse. It's easier to see in the pictures below.
    Attachments:
    Good_Pulses.jpg ‏203 KB
    Shifted_Pulses.jpg ‏220 KB

  • How to measure the frequency of a pulse being generated by a counter

    Hi,
    I am using labview 8.6 to generate 5 evenly spaced pulses for every 1 revolution of my shaft. However, I would also want to know the frequency of these pulses so I can determine the shaft speed. Since I am already generating the pulses using one of my counters, can I still tap into that or task another counter to measure the pulse frequency? If so, how? I have attached my code for generating the pulses and I am using an Ni 9401 module and an NI 9172 chassis. If someone can helo me modify the code to measure and tell me the pulse frequency as well, that would be really appreciated
    Attachments:
    autotrain2.vi ‏19 KB

    You'd probably get a more coherent answer if you didn't bounce around from thread to thread so much...
    How can I generate a pulse train from shaft encoder? (5/13)
    pulse train from encoder (5/15)
    how to measure rpm (5/20)
    How to measure rpm using shaft encoder and labview (5/23)
    This thread (also 5/23)
    I see you ignored my suggestion from the other thread--Kevin's solution is good too but using an encoder task offers more noise immunity (I think this is probably the cause of the problem you reported on the other thread).  You can fix it with digital filtering if you want to keep using a counter output instead of an encoder task.  Noise during transitions is pretty common for a quadrature encoder.
    A finite counter output task uses 2 counters on the 9172 (although you said 9174 earlier at one point--this wouldn't be the case on a 9174) so you wouldn't have one left to make your frequency measurement.  With the solution you have now, you can change to continuous to free up a counter if you don't care about outputing an exact number of rotation's worth of pulses (I'm not sure if you do or not--I didn't read through all of the various threads relating to this application to find out).
    For your actual question in this thread...  Have you tried running one of the frequency measurement examples?  From the code here I can't tell what you have tried (it just looks like a mangled version of the code Kevin gave to you in your other thread).
    Best Regards,
    John Passiak

  • Pulse train generation fails with certain values for "number of samples"

    I'm generating a retriggerable analog output signal, and so I'm using a counter as the sample clock (see: Retriggerable AI Using Retriggerable Counter). I am finding that, above a certain number of samples, and only for certain values of the number of samples, the counter task gives me error -200305, "Desired finite pulse train generation is not possibe." The error crops up only when actually starting the task.
    The analog signal that I'm trying to generate will be about 800 kHz, so my counter is set to run at the same frequency. I find that the counter task works fine if the number of samples to generate is anywhere between zero and 671,088 samples. Setting the number of samples to 671,089 gives the error above, as does 671,090 samples and so on. However, using 671,096, the counter task works fine. After that, the counter seems to output fine only if the number of samples is divisible by 8.
    The only thing I can think of is that (617088 samples) / (800000 Hz) = 0.839 s. At the internal clock rate of 20 MHz, 0.839 s is 2^24 samples, and it is a 24-bit counter on this hardware. So if it's this internal counter rolling over, that's fine and I can work around that. But if that's the case, what I don't understand is why increasing the number of samples in increments of 8 samples still works.
    The hardware is a PXI-6733 board, running with LabView 7.1.1 and NI-DAQmx 8.1.

    Hmmm,  multiples of 50 & 100?  Now I'm puzzled again.
    Here's how to make sense of the 100 kHz timebase idea though, even if it turns out not to be the right explanation.  For a retriggerable finite pulse train, you actually use a pair of counters.  If you were to program it manually, you could set your output counter to generate a continuous pulsetrain at 800 kHz using the internal 20 MHz timebase.  This output counter would also be configured to use the other counter's output as a digital level-based pause trigger.  So the 800 kHz pulsetrain is only output while the other counter's output is, say, high.
    The other counter is configured for retriggerable pulse generation.  The pulse duration or high time should be set for (# pulses) / (800e3 pulses/sec).  This other counter can be configured to use the 100 kHz timebase, so its high time would then have to be an integer multiple of 10 usec.
    So let's see...  An 800 kHz pulsetrain is possible with a 20 MHz timebase (exactly 25 cycles).  A 700 kHz (28 + 4/7 cycles) or 900 kHz (22 + 2/9 cycles) is not.  So when you request those other frequencies, you actually get a near approximation.  I dunno if DAQmx can be queried for the actual value correctly or not -- I recall an early version that reported back whatever freq you had asked for rather than what it actually used.  Queries based on ticks (rather than time or freq) did return what was actually used, as I recall.
    Let's suppose a request for 700 kHz gets truncated to 28 cycles of the 20 MHz timebase making a 1.4 usec period.  Then 50 of those periods becomes 70 usec, which is evenly divisible by the 100 kHz timebase.  Bingo!  (Note: 70 is the least common multiple of 10 and 1.4)
    Now suppose the request for 900 kHz turns into 22 cycles of the 20 MHz timebase, or a 1.1 usec period.  Now it takes 100 of those periods to get to 110 usec, which is also evenly divisible by the 100 kHz timebase.  Bingo again!  (Note: 110 is the lcm of 10 and 1.1).
    Did you follow the method here?  It should help you figure out expected results for various output freqs and #'s of samples.
    -Kevin P.

  • Need to unreserve a counter in a finite pulse train generation

    Hi. Let´s introduce my application first: I´m trying to generate a N-pulse train with the M series PCI-6221, in order to achieve a high frequency clock for an SSI transducer. That´s why i can´t use a software generation (because of the high frequency) and i have to use a finite pulse train. Besides, I would need to use another counter for a variable and finite count (but not simultaneously). The problem is that, as i think i have understood, this finite pulse train involves the two counters working together, so I can´t programm another task with that resources.
    My question is, Is there any way to do the finite pulse train generation, unreserve the counters, wait for a finite count to finish and so on?
    Thanks.

    Hello,
    My knowledges tell me that you need two counter to generate a finite pulse train.
    The first counter generates a pulsed of desired width and the second counter generates the pulse train which is gated by the pulse of the first counter (Counter 0=Pulse Generation, Counter 1=Pulse train generation).
    However, the finite pulse train generation and the continuous pulse train generation seem similar. The key difference is the generation mode from continuous to finite and the use fo a DAQmx Wait Until Done vi instead of a loop to monitor user input. From a point of view of the hardware there is a difference between the two. Continuous pulse train generation requires only 1 COUNTER.
    Maybe you can try with a continuous pulse train generation and with this method you have another counter to do a finite count.
    Regards
    DiegoM.

  • Frequency divider + narrow pulse output

    Hello all,
    I need to divide the frequency of an incoming digital pulse by a factor of N (typically 10-50) but I would like the output signal to be 200ns wide. I'm able to divide the incoming pulse by using CO pulse ticks with the incoming pulse as the tick source and specifying the low and high ticks (low + high ticks = N). The problem is that the narrowest pulse I can generate is 2/f_in (or in my case  2/75kHz~ 26 us).
    Is there any other way to divide a pulse  and control the width of the  output pulse?
    I can use the "wide" pulse to trigger a narrow  pulse on a different channel but I rather not use so many channels for this application. Is it possible to use just 1 input channel and 1 output channel?
    Any advise will be greatly appreciated.
    I'm using Labview 8 and pci 6251
    Eyal

    Hello Eyal,
    Let me rephrase what it is I think you want to do:
    1.  You have a digital input with a frequency at or approximately 75 kHz.
    2.  You want to divide down this input frequency by N, where N is between 10 and 50 or so.
    3.  On every Nth pulse you want to generate a pulse with a 200ns high time and then return to a low state until the next 200ns pulse is generated.
    If this is what you want to do then you would need 1 CO task to generate a pulse ever Nth rising edge of your input.  Then you would use this pulse to trigger a retriggerable pulse train to output your 200ns pulse.  All of this routing can be done internally so you would only physically connect one input and one output, however this setup would require three counters.  One counter for the CO task and two counters for retriggerable pulse generation.  Unfortunately your PCI-6251 only has two counters so to do this you would need to get a board with at least 3 counters. 
    If I didn't describe what you are trying to do accurately please reply back with further clarification incase what you are actually trying to do can be accomplished on your board.
    If you would like to contact National Instruments directly to speak with a technical representative about getting a counter board you can find contact information at www.ni.com/contact.
    Have a good weekend!
    Brooks

  • In NI-DAQmx, how to change the frequency of a pulse train?

    I was using "GPCTR_Change_Parameter()" to change the frequency of my pulse train in Traditional NI-DAQ and Labwindows/CVI; is there any function can do the same thing in NI-DAQmx without restarting the task?

    You can do this in one of two ways, depending on the version of NI-DAQ you are using. If you are using 7.2 or later, you can use the counter write functions (ex: DAQmxWriteCtrFreq()), which are available for each flavor of pulse generation tasks (Freq, Time, Ticks). If you are using NI-DAQ 7.0 or 7.1, you can modify the attributes directly (DAQmx_CO_Pulse_HighTime, DAQmx_CO_Pulse_LowTime, etc). Keep in mind that for each attribute pair, one of the attributes will cause the counter to load the new pair. The attribute that causes the load is LowTime, LowTicks, and Frequency.
    I hope this helps!
    gus....

  • Generate pulse frequency with usb-6259 on matlab

    Hi,
    I would like to create a pulse with the ni usb-6259 counter via Matlab (R2007b). As Matlab Data Acquisition Toolbox dosen't support the access to the counter/timer of the 6259, I call 'DAQmxCreateCOPulseChanFreq' from the library. However, it returns a negative status indicating that the channel was not created. Can someone tell me why I have a negative status?
    Thanks,
    Miko
    Here is the code:
    % %load libraries nicaiu.dll,nidaqmx.h if not loaded
    clc
    if ~libisloaded('myni')
    disp('Matlab: Load nicaiu.dll')
    funclist = loadlibrary('nicaiu.dll', ...
    'C:\Program Files\National Instruments\NI-DAQ\DAQmx ANSI C Dev\include\nidaqmx.h', ...
    'alias', ...
    'myni' );
    end
    disp('Matlab: dll loaded')
    disp('')
    % Counter must be driven and read through 'c' function calls
    % Define variable for taskhandle
    taskh1 = uint32(1);
    % Create task
    [a,b,taskh1] = calllib('myni', 'DAQmxCreateTask', 'master', taskh1);
    % Create channel name for counter input edge count
    taskchans1 = ['Dev1/ctr0'];
    %define required properties for pattern generation
    DAQmx_Val_Hz = 10373; % a pre-scaled unit (aka DEFINE)
    DAQmx_Val_Low = 10214; % resting state, pre-define unit
    initialDelay = 0; % sec
    freq = 16000; % Hz
    dutyCycle = 0.5; % width / period. This ratio, combined with frequency, determines pulse width and intervals
    % Create channel: specify duty cycle and frequency
    nStatus = calllib('myni', 'DAQmxCreateCOPulseChanFreq',...
    uint32(taskh1), taskchans1, '', DAQmx_Val_Hz, DAQmx_Val_Low, initialDelay, freq, dutyCycle);
    if nStatus == 0 % channel created successfully
    disp('Success')
    elseif nStatus < 0 % error: channel not created
    disp('Error')
    elseif nStatus > 0 % channel created with warning
    disp('Warning')
    end
    Miko

    Thanks Peter!
    It indeed proved useful, thanks to the last comment (slastuka p.10).
    It seems that the input and output type depend on NIDAQmx version.
    Here is the code (that works for me), in case help someone else:
    clear all, close all
    clc
    if ~libisloaded('myni')
    disp('Matlab: Load nicaiu.dll')
    loadlibrary('nicaiu.dll', ...
    'C:\Program Files\National Instruments\NI-DAQ\DAQmx ANSI C Dev\include\nidaqmx.h', ...
    'alias', ...
    'myni');
    end
    disp('Matlab: dll loaded')
    % libfunctionsview('myni')
    % Counter must be driven and read through 'c' function calls
    % Define variable for taskhandle
    Taskh1 = [];
    % Create task
    [a,b,Taskh1] = calllib('myni', 'DAQmxCreateTask', 'Counter', Taskh1);
    Taskh1 = libpointer('voidPtrPtr',Taskh1);
    % Create channel name for counter input edge count
    Taskchans1 = libpointer('cstring','Dev1/ctr0');%Counter name
    NameChan = libpointer('cstring','');%Channel name
    %define required properties for pattern generation
    DAQmx_Val_Hz = int32(10373); % Units: Hz <-> 10373
    DAQmx_Val_Low = int32(10214); % Resting state: Low <-> Terminal is at a low state at rest. Pulses move the terminal to a high state.
    InitialDelay = 0; % Delay (sec) from the start call to the beginning of the pulse train ; this is currently set to 0.0 by default.
    Freq = 16000; % Hz
    DutyCycle = 0.5; % width / period. This ratio, combined with frequency, determines pulse width and intervals
    % Create channel: specify duty cycle and frequency
    nStatus = calllib('myni', 'DAQmxCreateCOPulseChanFreq',...
    Taskh1, Taskchans1, NameChan, DAQmx_Val_Hz, DAQmx_Val_Low, InitialDelay, Freq, DutyCycle);
    if nStatus == 0 % channel created successfully
    disp('Success')
    elseif nStatus < 0 % error: channel not created
    disp('Error')
    elseif nStatus > 0 % channel created with warning
    disp('Warning')
    end
     I don't know for the following, but at least I can create the channel.
    Miko

  • Convert a counter to frequency

    Hi,
    I am using two counters on a 6023E board. I have two pulse generators which
    give 1000 pulses in one rotation.
    How can I convert the counts to frequency or speed in LabView?
    Greetings,
    Erik.

    We found that the best way of obtaining speed measurement from a pulse generator is to use the buffered period measurement and scan some period (more than one), then eliminate the first measure (first period measurement may be incorrect due to the uncertainty in the start of measurement with respect to the slope of the signal), next average the measures obtained.
    The next step is to divide base time used (internal base time of 20 mhz for example) by the average measure obtained in the preceding step: this is the average period measurement and must be multiplied by 60 and divided by n. of pulses per round: this gives you the rpm value.
    Step two can be put in a loop in orded to obtain a continuous measurement, provided that you restart the counter once obt
    ained a finished reading from it.
    Roberto
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Measure pulse frequency with 4.7 volt peak amplitude

    used two shipped Measurment Studio Vb.Net 2005 Examples:
    1-Example 1 : CountDigEvents  "MEASURES PULSE COUNTS" and Example 2: MeasDigFrequency_LowFreq1Ctr  "MEASURES PULSE FREQUENCY"
    2-Example 1 works fine measuring pulse counts , however Example 2 did not recognize pulse frequency  , the pulse amplitude voltage is 4.7 volt peak
    3-during testing used counter ch0 channle by connecting Sorce0 and Dgnd pins to signal source.
    4-using Nidaqmx 9 and MIO-16xe-10 daq
    5-pulse frequency around 10 khz
    QUESTION:
    -please advice what to do to make frequency measures ?
    Thanks

    Hi MyKat,
    Note that the connections are different for edge counting and low frequency frequency measurements with one counter.  For the latter, you'll need to connect the signal to PFI 9 rather than PFI8 as you did for edge counting.
    http://zone.ni.com/reference/en-XX/help/370466W-01/mxdevconsid/eseriessigcounters/
    Regards,
    -Jim B
    Applications Engineer, National Instruments
    CLD, CTD

  • Need to use quadrature encoder to trigger (RTSI) single point DAQ on 2 channels of E-Series DAQ, using 6602 NI-TIO for counting encoder pulses.

    This is for LV6i, W2000, all PCI equipment.
    Using a quadrature-measure position-VI, I get 7200 edges/rev from the encoder of my physical system. This equates to 0.05 degrees of angular displacement. This amounts to an angle stamp as opposed to a time stamp.
    I need each of these 7200 edges (source: 6602 NI-TIO) to trigger (using RTSI) the acquisition of a single sample from each of 2 channels on an E-Series DAQ board (maybe more channels later). I only need/want one rev (7200 samples per channel) of data for each run of the test. As I write this I think I want pre-triggering and a little more than a rev of data. So the
    re is a buffering step. Anyway, you can get the idea.
    I need this angle stamp and the DAQ samples to be placed in an array and on the hard drive for graphing and other mathematical treatment, analysis, etc.
    I think there must be a way to use the quadrature output of the counter/timer as a scan clock for the DAQ board, but I haven't seen an example to guide me.
    It seems like all of the RTSI or other triggering examples I have seen trigger once to start a continuous scan, not a series of discrete samples repeated quickly. I am not sure how to fill an array with this data. Again, examples are for continuous sampling, not a series of discrete readings.
    Any hints on any part of this task will greatly appreciated. This is my first LV project.

    Sounds like a fairly ambitious first project!
    I assume your 7200 edges/rev come from an encoder with 2 channels in quadrature which each provide 1800 cycles/rev. You can clock in analog data at 1800 scans/rev with either of the two encoder channels, but will probably need an external quadrature decoder circuit to produce 7200 scans/rev. Either method can be done with screwdriver and wire or else by using another counter from the 6602 and the RTSI bus. Here are two approaches in detail, but you could mix-and-match as needed.
    Note also that if you can be sure that your reference encoder will be uni-directional, you wouldn't need to measure position -- position could be determined by the array index of the analog scan data. This would simplify things greatly.
    1800 scans/rev, screwdriver & wire
    Wire both encoder channels to your 6602 breakout box and configure your counter for the 4x quadrature option. Send a wire from one of the encoder channel connections at your 6602 breakout box to a PFI pin at your E-series board breakout box. Config the analog acquisition to use an external scan clock and specify the correct PFI pin -- there are built-in examples that will guide you. Now one edge of one encoder channel acts as a scan clock for your analog acquisition. Inside the 6602 breakout box, route the same signal to one of the default gate pins and configure your encoder counter gate to use that pin as its gate signal. Note that there will be a race condition governing whether the encoder value updates from the encoder inputs before or after the value is latched by the gate.
    7200 scans/rev, extra counter & RTSI
    Make sure you have a RTSI connector between your two acquisition boards inside your PC. Build a quadrature decoder circuit that will convert your two encoder channels into a clock and direction output. (Consider the LSI 7084 decoder chip or similar). Setup your "encoder" counter for buffered position measurement. Use "Counter Set Attribute" to define "up down" as "digital" (don't use it to define "encoder type"). The clock output goes to the counter SOURCE and the direction output goes to the counter UP_DOWN pin.
    Use "Adjacent Counters.vi" to identify the counter considered adjacent to your encoder counter. Configure it for "retriggerable pulse generation". Use "Counter Gate (NI-TIO).vi" to specify "other counter source" as the gating signal. Configure the output pulse specs to be short duration (make sure total of delay + pulse width is less than the minimum period of the incoming encoder clock signals). Use "Route Signal.vi" to send this counter's output onto the RTSI bus, say RTSI 0.
    Now configure the analog acq. to use RTSI 0 as its external scan clock. Also configure the encoder counter to use RTSI 0 as its gate signal. Voila! Now your quadrature decoder clock output acts as a scan clock for analog acquisition and a "gate" to buffer your encoder measurement. The short delay helps ensure that the clock updates the position measurement before the gate fires to latch the value.
    Respond if you need clearer explanation. There's a fair amount of decent info "out there" if you scour the online help and this website. Good luck!

  • 6120 counter max frequency

    I am trying to set the max frequency for PCI-6120 counter. By the card specification, the counter's max source frequency is 20MHz. However, on MAX software test panel, if the counter frequency is set greater than 5MHz, program pops up an error stating the max valid value is 5e6 MHz.. Attached is the error message. Did I do anything wrong? Or special card setting is needed. Please help. Thanks very much.
    Attachments:
    NI 6120 counter error message.jpg ‏36 KB

    Hi windwalker,
    The max source frequency is 20 MHz. The source is an input to the counter which is divided down to produce the output signal:
    The default behavior is that the counter will count to N, and then toggle its output.  N must be at least 2, so the maximum frequency you can generate with the default (toggle) mode is 5 MHz (2 ticks high, 2 ticks low of the 20 MHz maximum source).
    The other mode is "pulse" mode, where the counter will count to N and then a pulse its output.  You can end up getting a pulse every 2 ticks of the source, which could give you a 10 MHz clock.  You can't set this mode in the test panels, but here's an example in LabVIEW showing how to get a 10 MHz output (the "External Clock" can be the 20 MHz timebase).
    However, if you're just trying to generate a 10 MHz continuous output, then I suggest using the Frequency Output which is a 4-bit counter that can output a small set of frequencies including 10 MHz -- {10 MHz,100 kHz} / {1:16}.  It is programmed similar to the other counters.
    Best Regards,
    John Passiak

  • Counter/Timer Pulse Train generation

    Hello,
    I am having some trouble understanding why a particular VI I have isnt working(upper part of image below), I was wondering if someone could give me an idea of the cause from the error message.  I have a counter/timer which I am using to generate a pulse train.  It works fine on 'Continuous samples'  but when I switch it to 'finite samples' I get a 'resource is reserved' error when it gets to the DAQmx 'Play' VI
    I made a separate VI (lower part of image) and it works just fine with finite samples.  So  I am basically wondering what is different about finite versus continous sampling which could cause a resource to be reserved or not. (the board is a PXI 6281 if that matters)
    Thanks,
    Adam
    Solved!
    Go to Solution.

    You're correct on what the problem is. 
    For what it's worth, the newer X Series boards (63xx) and 2nd Generation Compact DAQ Chassis don't require the use of two counters for finite pulse generation (although technically there is a paired internal counter to accomplish the finite pulse generation, it's not really evident to the user). These products also have 4 counters available instead of 2. 
    Best Regards,
    John Passiak

  • SCPI command to set the frequency for power measurement on Agilent 53147A?

    Hello,
    I am trying to automate some measurements which require me to use an Agilent 53147A Freq Counter/Power Meter/Digital Voltmeter. The instrument has an option of setting the frequency of the signal we intend to measure. This is done by clicking the "FREQ" button on the instrument and entering the frequency value of the signal whose power we intend to measure. This way the power meter uses the appropriate calibration factor for that frequency for providing accurate signal power level.
    I have been trying to set the frequency of the signal whose power I intend to measure through remote control but have not met success as I have not been able to find the SCPI command associated with this task in the operating manual. Does anyone know what SCPI command is to be used for this purpose? Any comment in this regard is highly appreciated.
    Thank You,
    Vivek

    Hi vivek.madhavan.13,
    Try using the drivers for this device found here:
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=834204A36619504AE04400144FB7D2...
    Then, by going to the lowest level that the VIs permit, you may be able to find the SCPI commands your application needs.
    Regards,
    Joel I.
    Applications Engineer
    National Instruments

  • Determine when Counter Pulse Generation has been digitally triggered to start

    A counter task has been configured for continuous pulse generation with a digital edge start.  How in LabVIEW can I determine when an external digital trigger has been received and the counter started ?  It seems that a timed loop with DAQmx Create Timing Source wired to its source could be made to work but I cannot figure out how or the most appropriate instance to use.  I would simply stop the timed loop once the counter start had been detected.
    Steve

    Querying the output state and looking for a change would probably work for many typical square-like pulsetrains.  If you have an extreme duty cycle like 1% or something though, your queries are likely to keep finding the counter in the same output state long after pulses have started.
    Some other ideas of a similar nature may work better, though I'm not near a LV machine to test them.  I can vouch for idea #1 from past usage though.
    1. Query the counter's 'count' property and look for a change.  You're pretty unlikely to query the same count value several times in a row during pulse generation.
    2. You could try querying the DAQmx property for "TotalSamplesGenerated" and look for a non-zero value.  I'm not sure if this gets updated for counter outputs though.
    3. Counters also have a property called "TC reached?" where TC means terminal count.  When you query and get a True, It automatically resets itself back to False until reaching TC again.  Again, while I know this works for counter input tasks, I'm not sure if it gets updated for counter outputs.
    -Kevin P.

Maybe you are looking for

  • Access 2007 very slow on Windows 7

    Access 2007 is running very slowly in on two new Windows 7 clients.  By slow, I mean the response time within Access - moving from screen to screen is dreadfully slow, taking 30+ seconds on Windows 7 to do what a computer with Windows XP will do in 1

  • No Images and Error 404 After Clean Install

    Hello folks, I was in the hope you could help me with a brand new and clean install of APEX on WebLogic, so here is the basics: WebLogic 10.3.6 Jrockit 28.2.7 Apex Listener:2.0.3.221.10.13. Apex 4.1.0.00.32 DB Enterprise 11.2.0.3 I just finished depl

  • Problem capturing from a Sony DVR-HC51e

    Hi there, as it says, I can't seem to get FCE to recognise my handycam. It's a Mini DV PAL camera and is connected by a 4 pin to 9 pin firewire (it's the only wire I could find to fit the port). I've went through all the DV settings n the Easy Setup

  • Cant sign into icloud

    I can't sign into iCloud on my PC. It keeps telling me I have a server error.

  • HT1918 I have my iPad from a US store (Miami). Why I cannot buy from the US app store?

    I have my iPad from a US store (Miami). Why I cannot buy from the US app store?