6602 synchronized with a different number of pulses per channel pulse generation

Hello

I try to use counters NI 6602 to generate 4 pulse trains that begin together but then proceed with each counter producing its own number of pulses (over mode) with its own frequency.

It seems that each of the 4 channels of wiring at the same special teams each channel to produce the same number of pulses based, apparently, on which channel was recently with the specified NumPulses value so that it is the (implicit) VI DAQMx Timing.

I tried to use separate tasks for each channel, but it seems that the there is much more uncertainty in the initial start of the train of impulses on each channel: unique task ~ 13us (coherent) delay between channels, a task for each channel (variable)... Although I'm not entirely confident in these temporal measures (estimates of the oscilloscope) +-15us. So it seems I'm sacrificing some synchronization to produce a different number of impulses for each channel?

Is it true, or is there another way to match the beginning of the independent pulse trains.

Vadim

You should be able to synchronize the start of 4 separate meter output tasks by having all the

looking for a common startup trigger signal.  You can easily do yourself the trigger signal on

(for example) PFI_0 using a digital task rocking DIO_0.

-Kevin P

Tags: NI Hardware

Similar Questions

  • When I rename my image (F2), I don't want to start with 1, but with a different number.

    When I rename my image (F2), I don't want to start with 1, but with a different number. I chose "number of images (0001)", concatenated with other data.

    I found a help of ambient light that says to change the "bib" but I can't find this setting. Where is it?

    Thanks for your help

    Hi carcala,

    When you go to Photo rename (F2), you must choose the Custom name - sequence in the menu drop-down

    You can enter the starting number according to your choice.

    Kind regards

    Claes

  • ESXi with a different number of CPUs

    Hello

    I was wondering if we can have more in a vmware cluster managed by vcenter 4.1:

    2 or more servers esxi 4.1 with a different number of cpu

    for example an esxi has 2 cpu and there are 4 cpu

    Or it is advisable to have the same number of CPUs on all esxi hosts in a cluster.

    Note: All are same active VCA processor family

    Thank you

    Without doubt, it is recommended, but I don't see a reason to not do so, especially because it's too easy to add 4, 6 or 8 processors... addition of mix n match cpu / cores can become a standard with all this different configuration of the CPU.

    You should not have problems.

  • How to abort Continuous Acquisition (which is set to acquire a constant number of samples per channel each iteration)?

    Hi all

    I would like to continuously acquire an input channel analog and, if necessary, be able to stop the acquisition as quickly as possible.

    I use a card NI USB-6289. I implemented a DAQmx (voltage) analog input task, set the clock sampling DAQmx 'continuous samples' and the rate required (IE 1000, which is 1 kHz). For the acquisition, I used a while loop with inside the DAQmx Read with Terminal 'number of samples per channel', wired (IE 1000). The while loop waits until 1000 samples are acquired and therefore continuously reads the channel in uniform batches of 1000 samples every second ticking. The while loop can be easily interrupted when the DAQmx has completed the acquisition of the lot being 1000 samples, but it takes the DAQmx finish their current task.

    My problem is how to stop the loop while the DAQmx Read lies in the middle to get 1000 samples WITHOUT delay all 1000 samples are received? Is it possible to interrupt the DAQmx Read?

    I could reduce "the number of samples per second", increasing the responsiveness of the while loop, but this is not the solution I prefer. I tried to destroy the task (outside the while loop), but that does not stop immediately the acquisition, Read DAQmx still finish acquire 1000 samples. I've included an example Subvi. When I was using a PCI card, I used a timed while loop with inside the DAQmx Read with Terminal 'number of samples per channel' wired-1 (= which means ' read everything in the buffer "). In this case, it was easy to stop the acquisition at any time: the timed, while the loop is abandoned and the acquisition has ceased immediately. But it does not work with an NI USB-6289 map (see thread http://forums.ni.com/ni/board/message?board.id=170&message.id=386509&query.id=438879#M386509) because of the different way the data are transferred to the PC.

    Thank you very much for your help!

    Have a great day,

    LucaQ

    Hi LucaQ,

    Your solutions are decrease of the number of samples, or record the time you want to stop and remove samples that have been acquired beyond this time. There is no other way to stop the actual reading out of the hardware store.

    Flash

  • Total number of samples per channel

    Hello

    I was wondering if you can call a function that returns the total number of samples per channel read. I try to get a precise timestamp.

    I use DAQmx ANSI C developer environment.

    According to NOR:

    Option #1:

    Try and do exactly what the driver is doing.  This will require you to do exactly what you do in the displayed example.  Call time current system immediately before calling the DAQmx Read and subtract dt * x where x is the number of samples already acquired.  It will take you to know exactly how many samples were acquired.  It can be found by calling the Total property of the samples by chain acquired immediately before the DAQmx Read.  This is to introduce some points for innaccuracy.  For example, you're time system is already innaccurate to a certain amount.  In addition, it takes some time between the system times call, calling the total number of samples acquired and calling the DAQmx reading.  If 2 samples are acquired between the call to the time system and the total number of samples acquired, you could be shifted a few samples.  For the slower clock rates, you will have more precision.

    I try to attempet to program this solution, but cannot find the total number of samples per channel acquired property. If anyone can help me, your help will be very appreciated.

    Thank you for your help,

    Vladimir

    Hi Vladimir,.

    Here is the property you are looking for (as the C reference help):

    You will be able to get accurate relative timestamps, since we know that our acquisition is based on a sample with a certain dt clock.  The value of initial time must still come from the OS.

    Best regards

    John

  • samples per channel and the number of samples per channel

    in my DAQ mode samples finished program, there are two screws: timing and read.vi DAQmx DAQmx.

    I have to set the parameter to "samples per channel" DAQmx timing.vi and 'number of samples per channel' on DAQmx read.vi... Is there a relationship between these two?

    My laser runs at 1 K Hz. I want to go to the wavelength, wait for a number of shooting lasers, read the data and move on to the next page...

    Thank you

    Lei

    In your case, the VI will acquire the lesser of either:

    The "samples per channel" that you have defined on the timing DAQmx VI

    -OR-

    The number of iterations of your for loop (N) times the 'number of samples per channel"that you have defined on the DAQmx read VI

    The "samples per Channel" VI DAQmx of timing for a finite acquisition dictates how many samples the DAQ hardware should acquire in it's onboard buffer before indicating that the acquisition is complete.  "The number of samples per Channel" on the read DAQmx VI dictates how many samples the DAQmx driver must return buffer on board the aircraft to your application.

    Let's say the "samples per channel" on the calendar DAQmx VI is set to 50.  Thus, the card will acquire 50 samples and place them in the edge of the buffer, then stops.  Suppose we have the 'number of samples per Channel"on the DAQmx reading VI the value 3 and what we call the VI in a loop For which runs 10 times.  Thus, every time the DAQmx lu VI is called, it will wait until there are at least 3 samples in the buffer, and then return these three.  We call the VI a total of 10 times, then we will answer 30 total samples.  Thus, the last 20 samples acquired the card remains in the buffer and are destroyed when the task is disabled.

    Now let's say that we increase the "number of samples per Channel" on our DAQmx Read VI at 10.  VI Read will wait until 10 or more samples are in the buffer, and then return these 10. Thus, we will be back all 50 samples map acquired by the 5th iteration of the loop For.  The 6th time we call him VI DAQmx Read it expires, because there will never be another 10 samples in the buffer, and the VI returns a warning.

    This clarifies things?

    The purpose of this behavior is to allow you to both set the total number of samples that the DAQ hardware will acquire and also control how much of these samples is returned whenever you call the DAQmx Read VI.

    Kind regards

  • 'For' loop with a different number of iterations. Second, the auto-indexation of the tables with different sizes is done. It can affect the performance of the Vi?

    Hello

    I have a loop 'for' which can take different number of iterations according to the number of measures that the user wants to do.

    Inside this loop, I'm auto-indexation four different 1 d arrays. This means that the size of the tables will be different in the different phases of the execution of the program (the size will equal the number of measures).

    My question is: the auto-indexation of the tables with different sizes will affect the performance of the program? I think it slows down my Vi...

    Thank you very much.

    My first thought is that the compiler to the LabVIEW actually removes the Matlab node because the outputs are not used.  Once you son upward, LabVIEW must then call Matlab and wait for it to run.  I know from experience, the call of Matlab to run the script is SLOW.  I also recommend to do the math in native LabVIEW.

  • Hosts in cluster with a different number of physical processors

    Hello

    Don't think it would be a problem but just validate...

    Can I have a cluster where the hosts have a different number of physical processors. All processors will be the same make\model\speed. Also, it will be only a temporary configuration.

    Thank you

    Hello.

    This configuration is very good.

    Good luck!

  • What is an effective way to way logarithmic bin data with a constant number of points per decade?

    Hi all

    I would like to clean a logarithmic field of PSD in binning and averaging so that I have a constant number of points per decade (say 10, just for the sake of argument). Generally, means simpler and cleaner, I can think about getting this is research in the table entering all points between the frequencies A and B, with an average of these points and assigning a frequency (A + B) / 2 of the new average bin. However, I cannot find how to access frequency information, I need to achieve this. To be more clear, I can imagine if I had two tables, one who holds the frequencies calculated from my stream of incoming data, and the other which held and the amplitude of each corresponding frequency, that I might look for clues in the frequency table with values between A and B, then the average of the values in the table of amplitude which lie between the indices back put them in a new table with a new array of corresponding frequency. The process is a little more general that just on average every ten points, to say, as the number of points per decade continues to grow. My main obstacle at the moment, however, is that the amplitudes of the voltage are a set of values that receive through the operation of PSD, while the part of the frequency of the wave seems to be a DBL continues single-valued. I hope I've explained that well enough for someone to shed some light on my problem. Also, if anyone has a suggestion for a better way to approach the problem please let me know - there must be a pretty simple answer there, but it's deceiving me right now. Thanks in advance for the help.

    -Alex

    Hello

    If I get you right. you have:

    a table with the frequencies

    a table with the corresponding values of amplitude

    Then you want to merge parts of the data by averaging on the specific frequency ranges. I think that there is no VI 1 solution, you will need to write this on your own ():

    I start to get the min/max of frequencies and then interpolate a scale from your needs (like logarythmic) mounting with the quantity of bins you want. This should be an array again.

    Next step is to browse the frequency table, check (the first and) the last value in the location wanted (stop the loop, return the index). This should end up with an array of index. [I guess that's where you can save some computation time most by smart]

    Finally, use these indices to browse the amplitude values and make your average. Should return an array of the length of your array of locations.

    Ground in color fantasies and enjoy.

    Just what you intend to do?

  • Different output meter with a different number of samples

    I m using a calendar 6602 i/o Board or a MIO 6281. For controlling the distribution of our measures, I use different counters of two boards that have been triggered by a Digital Out for synchronization. The counters are made CO Pulse Time, implicit, digital synchronization triggered and the sample mode finished.

    Suppose I use two Ctr´s to map 6602. My problem is when you set the number of samples of only CTR for another value, then the second I m getting an error. The rest works perfectly, I can use different delays in starting, low or high times, only samples different amounts Don t work. It s without worrying if I use the Timing of e/s or Multi i/o Board.

    For example:

    _ _       _ _

    CTR 0 / 6602 _ |     |_ _|     |--> _ _ 2 samples

    _ _

    CTR 1 / 6602 _ |     |_ _

    Someone an idea or a tip?

    Hello

    two counters are used for a generation of fenite impulses. Please see the link below.

    Link:
    http://digital.NI.com/public.nsf/allkb/9D1780F448D10F4686257590007B15A8?OpenDocument

    For example, you can use Ctr0 and Ctr2.

    Concerning

    Rüdiger

  • How can I play files CSV lines with a different number of columns?

    Hi all

    I am trying to load CSV with DIAdem 2014 files, and I found there is a great tool, "use".

    However, with the CSV use tool, there are critical problem with my data files. (See photo)

    As you can see the CSV file attached, it includes a lot of lines with different columns.

    And here, use read the number of columns of 1st line (e.g.: 4 columns) and set it as the number of columns to read.

    So I can not load all of the data (e.g.: 53 columns) if first row data were lower than columns.

    Can anyone recommend any approach, please?

    Kind regards

    Young

    Admin 24/03/16 Note: files deleted by request of the user

    I just add a few lines of script and fix the related use. (I just added the code to get a direct look).

    The uri of the file will appear as a new kind of load in the dialog file tiara is intalled by double click

    Would be nice if you could provide some information, how the data was created. Maybe we can it add as official of our web page to use plugin.

    Option Explicit

    Void ReadStore (File)

    File.Formatter.Delimiters = «»
    File.Formatter.LineFeeds = \n
    File.Formatter.DecimalPoint = '. '.

    Dim startLine: startLine = file. GetNextLine()
    <>InStr (startLine, ' [Tenergy Bus Log Data] "" ") then
    call RaiseError()
    end if

    And that not File.Position = File.Size
    Dim groupName: groupName = file. GetNextStringValue (eString)
    If it isn't root. ChannelGroups.Exists (groupName) then
    root. ChannelGroups.Add (groupName)
    end if
    Dim grp: set grp = root. ChannelGroups (groupName)
    Dim i: i = 1
    do for real
    Dim val: val = file. GetNextStringValue (eR64)
    If isempty (val) then
    Exit
    end if
    < i="">
    dial the grp. Channels.Add ("Brand" & I, eR64)
    end if
    protected chObj: set chObj = grp. Channels (i)
    chObj.Values (chObj.Size + 1) = val
    i = i + 1
    loop
    Call File.SkipLine)
    Wend

    End Sub

  • Adding images to a table with a different number of rows and columns

    I get images from PC file in labview table... I can specify the number of columns and get a picture with the size of the column, but must continue to put images in the table until the size of line is filled.  My goal is to have the pictures in the folder to be a 37-49 lines columns... Unfortunately the berries stops (see VI) until all the images are introduced in my table... How can I keep having these columns add pictures until all lines are met (and all the images are filed in the new array)?

    Hi Lynn:

    I changed my index of 49 x 49, give my columns entry 37... then all the images appear.  Thanks for your help. Kudos to you...

  • How to plot graphs with a different number of values

    Hello guys,.

    After a few hours, I have to give up and you ask for help.

    The problem:

    It must be possible to disregard some of the measured values. The measure and valid points should appear in the same graph (for example, the measured values of 'x' and valideded 'o' data. Valideded data would look like a circle with an 'x' in the middle).

    So far so good.

    The time difference between the measured data (dbl-table) is always the same (20-30 seconds).

    I tried (see attachment):

    If the measured value is not valid, I delete this value and change in this case the 'dt' in the waveform (see loop 2), if I get the data I want.

    I tried different ways, but I can't to plot the data in a single chart (I think because the timedifference 'dt' is not the same)

    You have an idea, how can I draw the graphs shown in 'graphic linear adjustment' and 'validated card data' in the same chart?

    Maybe I need to use the "graph" and not "table"?

    I chose graphic because it must be possible to hide/show each plot (but me, I'd work with graph as well)

    I hope I described the problem well and you can help me. I'm sure, it's possible and probably easy, but I'm not

    Thank you!!

    Hi Alex,

    do the old trick of NaN - !

  • Add Server ESXi in Vcenter 5.5 cluster with a different number of socket

    I have 5 nodes compute node IBM Flex System X 240 8737T7M with 2 CPU Socket in a VMS Cluster with identical hardware and now I need to add 1 more IBM System Flex X 240 node calculate 8737T7M with 1 CPU Socket in the same cluster.

    Here are other points: -.

    VCA Mode is disabled in this cluster.

    5 existing and new are the same model of CPU and memory is of the same capacity.

    Only the difference is 5 knots with 2 sockets and another node is 1. Please notice is recommended and he face any technical problem.

    VMware ESXi 5.0 and Vcenter is 5.5


    Hello

    VCA mode is not required when the generations of CPU on the server is the same.

    Adding your host in the cluster will work then.

    He advised not to add servers to a cluster with mixed material config. A possible problem might be the Admission HA control for example settings. If you configure a number of hosts reserved for failover, you may encounter problems with your hosts do not match each other. Here, you define the ability to failover in percentage.

    Tim

  • I continue to have problems to download my recently purchased Photoshop elements 14 to my Win-10 machine.  Instead, I have two 2 files, 1) Application with zero-byte and PART 2) file with different number of bytes per attempt to download.  Where can I get

    Hello, someone at home?

    the file of the piece is a partial transfer... you may need to wait any longer so he can complete the download.

    You can also use another browser or use a different wired connetion to use a download manager.

    You can dl from prodesigntools.com.

    Download Adobe Photoshop elements 14, first direct links too. ProDesignTools

Maybe you are looking for