How to generate a single output pulse on 64 different digital out lines (PCI-6513) each with a different start time relative to an event in a main program loop.

Long question.
I am running a main program loop of 60 msec. At one point in the loop I create a 64 element array of delay times. At that point I need to begin outputting a predefined single pulse to each of the 64 lines on my PCI-6513. Each line outputs the pulse with a starting delay set by the "delay time" in the array.
Each delay time is such that the pulses will be done before the next loop commands another one.
Thank You
Roger

Hi,
You have multiple ways of doing this, since there is no timing engine on the 6513 your code is going to control the output of the card, which is what we called “software timed”.  If you take a look at the example called: “Write Dig Chan.vi”, you can individually control each line.
So to change the state of the line; since you have an array of delays time you can aid yourself with “stacked sequence structure” where in each frame you control the time it takes to go to the next frame and the data been written to the card.
Another option is using a state machine where each state write the data you want and you can also control the time between states. For further references take a look at this article Application Design Patterns: State Machines.
I hope it helps
Jaime Hoffiz
National Instruments
Product Expert
Digital Multimeters and LCR Meters

Similar Messages

  • How to generate a delayed retriggerable pulse using only one counter with PXI 6070E card

    Hi
    I have a problem in generating a retriggerable delayed pulse with a single counter(triggered through a signal at gate) using PXI 6070E card. VI was developed in NI LabVIEW traditional DAQ Ver.7.1. I have used the "delayed pulse generator config" VI and a "Start counter" & "Stop counter" VIs for the purpose. But there is no output seen at the out terminal of counter. So I introduced a "wait" VI and set it to 1 sec. Now the pulse output appears but some pulses are missing mometarily after every 1 sec interval. (any solution for this)
    I have gone through a few similar requests in the forum but they suggest either to use two counters or to generate a finite pulse train which does'nt fit my application. Moreover PXI 6070E has only 2 counter timers. I am already using one counter to measure the frequency of a pulse train(signal 1). The application requires to generate a delayed retriggerable pulse for every pulse in signal 1. So I have only one counter left.
    Can I measure the frequency of signal 1 by analog means.? so that I can use two counters for pulse generation. (Signal 1 is a TTL signal).
    Request some help.
    Thanks in Advance
    Regards

    A finite pulse train (N_Pulses >= 2) does require the use of 2 counters on most of our older hardware including your 6070E.  If you're just talking about generating a single retriggerable pulse, you would only need one counter.
    Here's an example in Traditional DAQ that shows you how to set a retriggerable pulse generation (it also allows you to adjust the characteristics of the pulse on-the-fly).
    If you're writing a new program, you might consider switching to DAQmx as it supports NI's latest hardware and recent OSes should you ever need to upgrade.  Traditional NI DAQ is no longer in active development.  Here's an example of how to implement a retriggerable pulse generation in DAQmx.  You should take note that you can't use the two drivers to simultaneously talk to the same piece of hardware, although you should be able to go back and forth by resetting the Traditional DAQ driver before switching to DAQmx.
    Best Regards,
    John Passiak

  • How to generate an invoice output programmatically?

    I need to generate an invoice output(Sapscript or smartform output) pragrammatically by input an invoice number and then I can obtain its spool number.I have known how to get its spool number already. Now my concern is how to generate an invoice output programmatically. Who can give me some hints here? Thank you very much.

    Hi Sudhir, Thanks for your helps. But I think I may in a wrong way for my issue. Though RSNAST00 cannot process those existed invoices due to their dispatch time (NAST-VSZTP) or status (NAST-VSTAT), while those invoices could still be printout by using VF31, I may NOT SUBMIT RSNAST00 in my function module, instead I should look for other proper print program to be submit. My function module should process those existed invoices as well without changing their NAST date.
    So if you have any suggestion to other print program (maybe some program above RSNAST00), please advice.
    Thanks and have a great long weekend.
    Jack

  • Is it possible to access a single Lightroom catalogue mounted on a shared drive from multiple computers, each with an individual Lightroom install?

    Is it possible to access a single Lightroom catalogue mounted on a shared drive from multiple computers, each with an individual Lightroom install?
    Thanks.
    Steve Greenberg

    No, Lightroom catalogs cannot be on a networked (shared) drive, and they do not support simultaneous multi-user access

  • My ical wiped out a whole calendar category (i have four each with a different colour code)  what happened? and how do i get my info back

    My ical wiped out a whole calendar category (i have four each with a different colour code)  what happened? and how do i get my info back

    Read this:
    Forgot passcode for your iPhone, iPad, or iPod touch, or your device is disabled - Apple Support
    If you want your grandchild to play with the iPad use Guided Access:
    iOS: About Guided Access - Apple Support

  • HOW TO GENERATE FINITE AND CONTINUOUS PULSE TRAIN WITH USB6216 AT THE SAME TIME?

    Hello.
    I am using a USB6216 DAQ and need to generate a 20 kHz signal using the
    ct0 output and at the same time I need to generate a finite number of
    pulses, say 9, on a software trigger using the second counter output
    ct1.
    Currently, I have two VIs that can do this separately, but when I want
    to integrate these into one single VI y get an error in the finite
    pulse train for ct1 that indicates that the requested task is already
    reserved. I am thinking this has to do with the fact that maybe both
    types of task use the same timebase but I have not found the way to
    solve this problem.
    Any help would be very much appreciated.
    Thank you.
    Sincerely
    JSL

    Hello.
    If anybody is interested, the problem is solved.
    There is no resource confilct if I generate the 20 kHz continuous pulse
    signal using the frequency out terminal, and this way I can use both of
    my counters as I please with no problems.
    It's kind of fun to answer one's own questions...
    Sincerely
    JSL

  • How to generate a single cycle of a waveform?

    I need to generate a single cycle of a waveform. Is this possible?
    The help document for function "niFgen_ConfigureOperationMode()" says, "NI signal generators support only Continuous operation mode." I guess this statement is pretty clear but it sure shoots a hole in my plans. We just bought this arb assuming it can do this. Is is really not possible to generate just one cycle of a waveform?
    My arb is a PXI-5412.
    thanks!

    This is possible with your device.
    You can do an Arbitrary Sequence of the waveform you want, then take an external pulse and use triggering to send that sequence however often you desire.
    Look for the "Arbitrary Waveform Mode" topic in the NI Signal Generators Help under Start > National Instruments > NI-FGEN > Documentation for more information on this mode.
    Thanks,
    Joel C
    National Instruments

  • How to generate an (re-) synchronized pulse train

    Hello,
    using a PCI-6601
    I want to generate an endless pulse train of (e.g. 80Hz, high==low) synchronized to an external clock (ca.1Hz, ca 5ms pulse width).
    The output should _re_synchronize with the clock if there is a clock signal but if one clock-pulse is missing it should continue hoping for the next.
    It should look like this:
    Perfect:
    A1) tt________________tt________________tt_________...
    A2) ooo___ooo___ooo___ooo___ooo___ooo___ooo___ooo__...
        0__1__2__3__4__5__6__7__8__9__0__1__2__3__4__5_...
    Output is too fast:
    B1) tt_________________TT________________tt________...
    B2) ooo___ooo___ooo___oxxx___xxx___xxx___xxx___xxx_...
        0__1__2__3__4__5__6__7__8__9__0__1__2__3__4__5_...
    Output is too slow:
    C1) tt_______________PP________________tt__________...
    C2) ooo___ooo___ooo__xxx___xxx___xxx___xxx___xxx___...
        0__1__2__3__4__5__6__7__8__9__0__1__2__3__4__5_...
    Clock is missing:
    D1) tt________________._________________tt__________...
    D2) ooo___ooo___ooo___xxx___xxx___xxx___xxx____xxx__...
        0__1__2__3__4__5__6__7__8__9__0__1__2__3__4__5__...
    The external clock is assumed to be "the truth", so the pulse width for the 80Hz output is recomputed from time to time
    by measuring the clock and then setting then output pulse width.
    Until now I used register programming but this is not a must.
    The examples I've found either generate finite pulse trains or the sync only once.
    Is there a way to do what I want without software interaction?
    Thanks in advance
    Toni Schilling

    I have a possible idea for you, but my experience is with LabVIEW so I can't offer any help with register programming, interrupt callbacks, etc.  Also, the continuous syncing will have to be a software function that continuously performs cycles of measure/adjust, measure/adjust, measure/adjust...   I know of no way to set up the hardware to do this autonomously.
    The approach I would take is to add another counter task and a little extra wiring.  The other task will be for "Two Edge Separation", and you want to measure from the active (lead) edge of the master clock to the passive (trail) edge of your sync'ed pulse train.  There's a reason NOT to measure to the active (lead) edge of your pulse train and it's because counters can only measure finite times of at least 2 timebase cycles.  Whereas you would *like* to have an actual two-edge separation time of 0 between the lead edges.  That just seems like the kind of detail that's gonna burn you sooner or later.
    Let's just suppose the master clock is nominally about 1 Hz and your pulse train is nominally 100 Hz and 50% duty cycle so I can talk through details with some specifics.  Whenever the two lead edges are truly sync'ed, you'll measure a 0.005 sec two edge separation time from the master clock to your pulse train's trail edge.  If you measure slightly *less* than that, your pulse train is going just a little too fast and needs its freq slightly reduced.  If you measure slightly more, then your pulse train is too slow and needs its freq slightly increased.
    It is probably quite likely that you *cannot* expect to maintain perfect sync *without* constant monitoring and adjustment.  Fundamentally, you can only produce pulses with high and low times that are an integer multiple of the 6601's timebase of 20 MHz.  That card's oscillator won't be perfect, nor will it be utterly constant over temperature variations, etc.   So its idea of a perfect 100 Hz pulse train will in fact be very very close but not *actually* perfect.
    And your ability to adjust the frequency away from a nominal 100 Hz will only be possible in discrete steps.
    A 100 Hz pulse train takes 200000 cycles of the 20 MHz clock.  If you adjust your square wave to take 199998 or 200002 cycles, you can produce a nominal freq of 100.001 or 99.999 Hz.  Those are the smallest increments away from 100.00000000 that are possible with a 50% duty cycle. 
    Statistically, it's very unlikely that the frequency needed to perfectly match the external master clock is even *possible* to produce exactly.  I think you need to *expect* an imperfect sync with continual subtle adjustments to your pulse train.  If you watched the signals on a scope while triggering from the master clock, I think you should expect to see your pulse train oscillating back and forth by some small amount, perhaps in the microsecond realm.
    Summary (for 1 Hz master clock, 100 Hz user pulse train at 50% duty cycle):
    Measure two-edge separation from lead edge of master clock to trail edge of user pulse train.  Use units of "Ticks" with 20 MHz timebase.  Nominal expected value when sync'ed is (1/2)*(20 MHz / current user freq) = 100000.
    Subtract measured ticks from nominal to produce your "error signal". 
    Use current error signal its recent history in a control algorithm to determine the amount of adjustment to make to your pulse train.  Hint: it will probably NOT be correct to directly change the user pulse width by an amount equal to the error signal.  I suspect that you'll want to pay closest scrutiny to the derivative of the error signal.  Note also that the correct AMOUNT of adjustment will depend on the RATE at which you run your measurement / adjust loop.
    Change user pulse specs on-the-fly.
    Return to step 1.
    Caution: Let's suppose your software measurement / adjust loop runs at a nominal 10 Hz.  From the time you make an adjustment until the next time you do a measurement, your user pulse train will have generated almost 10 cycles with the recently-adjusted specs.  If you weren't careful to make your previous adjustment subtle enough, you'll find that you now have a *larger* error of the opposite sign, and you are well on your way to instability.
       You need to do an adjustment that lets you expect your *next* measurement to have an error close to 0.
    -Kevin P.

  • How to Generate HTML Report Output in Excel

    Dear Experts,
    How to convert HTML report output in Excel.
    I have reports which output is coming in HTML format & the same I want to use in Excel.
    So tell me how I can covert the same in Excel.
    Thanks
    Sudhir

    hello,
    in your case, you might want to make the following :
    a) use DESFORMAT=HTML
    b) use MIMETYPE=application/vnd.msexcell (or whatever mimetype your excel application is bound to)
    i am nor sure if excel will understeand our HTMLCSS (which is actually HTML4.0 using layers for best possible rendering of the paper page in the browser).
    regards,
    the oracle reports team

  • How to generate a single report  using multiple Databases

    Hi All
    Is it possible to create a single report using multiple databases
    I am working on Database A to generate reports usually,, but now i have a second database for which the data is coming from flat files now i have to use few tables from
    Database B to generate a single report,,,,, can any one help with the process

    Hi,
    i didn't see this properly in your post:
    but now i have a second database for which the data is coming from flat files if you have ETL then make flat files as source then create target tables in db:B itself.. .Now, import them in the rpd..
    If not, import both those tables into rpd with different connections..
    Create physical joins by selecting those tables and perform joins operations over db's in physical layer..

  • Generating frequency dependant square pulse and making it digital

    trying to generate a square wave pulse at a specific frequency
    it would be great if its simple as setting the amount of frequency (i.e., 50 , 50 pulses per sec)
    but it gets complicated because of the sample rate
    my problem is to convert it to digital and i don't know whats wrong
     i attached a pic of my block diagram
    as you can see, one pulse has frequency F, the other F/2, and lastly F/4
    i need it to be compatible with the VI attached as well. can anyone help? thanks in advance!
    Message Edited by sdkpark on 10-10-2009 12:19 AM
    Attachments:
    Create Digital Waveform.vi ‏20 KB
    Correlated Dig Write With Counter.vi ‏31 KB

    Hello again Sdkpark,
    Apologies the message I was writing didn't include my full post.  Take a look at this great community example for a prebuilt solution to what I believe you're trying to accomplish:
    http://decibel.ni.com/content/docs/DOC-5763
    Let me know if this isn't what you're looking for and I'll reply back.  Have a great day!
    -John Sullivan
    Analog Engineer

  • Output jack is permanently on "Digital Out"

    The output on my powerbook is permanently set to digital out. when I go to the sound preferences I am unable to change it back. There are no other options to change it to. Digital out is the only one there. What happened? Can anyone help me?

    My Powerbook G4 is also stuck with only "Digital Out" in the sound preferences. It happened right after I unhooked my headphones. Now I seem to constantly have a red laser light coming out of my headphone jack. I imagine there is probably something stuck in the jack that makes it think there is always something plugged in, but I'm not sure. I tried deleting sound preferences, checked disk permissions and restarted in different users. Let me know if anyone has any ideas. I think I'm gonna play with the actual jack and see if something is stuck or something.
    Thanks.

  • Sound output only has option for Digital Out, no internal speakers, and no headphones.

    I recently got a new 2012 Macbook Pro 15" and my sound output is not working correctly. The only option is Digital Out - Optical digital-out port. There is no intenral speakers option, nor is there a headphones option when I put them in. I am running Mountain Lion and unfortunately have tried looking up similar posts with no help. I have attempted to reboot the SMC and perhaps one other trick, but I have not had any luck. If anyone has any idea what I should do or if you need more information to make a diagnosis that would be great! To note, it worked fine when I first got the computer, but when I was messing around trying to hook my computer up to an HDTV (i have a thunderbolt HDMI cable that sends sound as well) I had a couple of problems (I think it was because it was a very old Vizio that did not support the HDMI) and perhaps some of the settings got changed on my computer. Anyways thanks in advance!

    Hi,
    That is good news! For some reason I only experienced that for a little while before it straightened out itself. But I know that was driving a lot of people crazy. Thanks for pointing out that 10.6.2 did the trick.

  • Maps: How to generate a single node from multiple nodes

    Hi,
    I have a problem while mapping. I have a large complex input schema through which I generate a flat file output. I have used map for creating the output. Below is the
    output and expected output.
    Output:
    E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
    E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
    SR,17,120,2013-12-25,2022,122013,2,6732.25,1,01389399501
    SR,17,120,2013-12-27,2022,122013,2,6732.25,1,01389399501
    Expected Output:
    E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
    E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
    SR,17,120,2013-12-27,2022,122013,2,6732.25,1,01389399501
    There should always be one SR node. The node which should be present should be the one which has maximum DATE. While mapping how can I check before hand that there will be more DATE values coming and then map only latest. It’s a complex mapping so I’m looking
    for a simple solution.
    I want some conditions like while generating output SR Node, if there will be various SCR nodes in output then select the node with maximum date value in insert that in output.
    Thanks.

    Thanks for the detailed response Aswin. It's very helpful. Please help in one more condition, sometimes there could be multiple SR with same Date. In that case SR is still repeating as all are equal so above maximun logic is creating n nodes. Eg:
    Output:
    E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
    E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
    SR,218,504420120,2013-10-04,0451,102013,1,393.85,AD,501
    SR,218,504420120,2013-10-04,0451,102013,1,393.85,AD,501
    Expected Op:
    E,651,120,3999,2013-12-01,2013-12-25,25,556,0.00,0
    E,652,120,3901,2013-12-01,2013-12-27,27,6176.25,0.00,0
    SR,218,504420120,2013-10-04,0451,102013,1,393.85,AD,501
    So, if there are maximum in that cas select max, which is working now and if they are same then any one of those.

  • How to generate a .pdf output for a BLOB column?

    Hi friends,
    (Forms 6i)
    I have a .pdf into a blob column and I want to show that .pdf as my report output...
    Example-> The report only have this query:
    select myblob_ column
    from mytable
    the column in database has the .pdf ... but when I execute the report, it only appears some information when I put the item to show as Text... But obviously it's not the ofriginal pdf...
    If I try to put as OLE2 doesn't appear either anything and if I try to put it as an Image, it appears a message error.
    Any ideas?
    Thanks.
    Jose.

    Hello,
    How has been "uploaded" the PDF file in the BLOB ?
    Regards

Maybe you are looking for

  • W540 Graphics Card Clarification

    I had one clarification regarding the graphics card I chose for W540 which was "W540 NVIDIA Quadro K2100M 2GB" but when I got my spec confirmed it was changed some thing like "NVN15P-Q3Opt(K2000Mfollowon) Graphic Card". Are both these represent the s

  • Howto use two Authentification Schemes at once?

    I'm still new to certain Apex aspects. At the moment I'm struggeling with the implementation of different Authentification algorithms. I currently have a small APEX application that does the user authentification by LDAP (AD). However I want to add a

  • IPhone 5s number of contacts

    Sometimes I can see the number of contacts I have & sometimes I can't. Why is that ?

  • Get the Price

    Hi Experts,       I'm an ABAP consultant, new to SD.       Please let me know if there are any Standard Function modules to get the price of a product and its associated Tax or how I can do it. The scenario: When we create Sales Orders in Va01, for a

  • On AOL Firefox encountered a problem and must close.

    Firefox 3.6.10 Windows XP in AOL I try to access one of the news items and get an error message Firefox encountered a problem and must close. I recently installed AVG anti-virus This does not happen when I use Explorer 6