Time Controlled digital line PXI-6251

Hi,
I need to create a time controlled boolean.
For example a digital line is set to False. I'd like to change to True status for a certain amount of time (e.g. 150ms).
Is it possible with PXI 6251?
Thanks

Hi,
yes you can. Set a buffered digital output task like "Digital - Finit Output.vi" example.
You can use an external clock, generate it throught counter output or use ananog in/out sample clock.

Similar Messages

  • Pxie-6556 - How to control the rise time in the digital lines (hsdio)

    Hi,
    Is there any way to control the rise time in the PXIe-6556 digital lines?
    Even in a low frequency signal 10kHz the rise time is about 2ns.  
    Tks,
    Solved!
    Go to Solution.

    Hello engfpe,
    The PXIe-6556 is a 50 Ohm system, meaning the output is source series terminated to be 50 Ohms and all our cables and accessories are 50 Ohms.  With this setup regardless of the data rate you should have a clean rising or falling edge regardless of the data rate. The quality of the output (rising or falling edge) at your device will be related to the impedance matching of your cables. 
    The PXIe-6556 cannot adjust the slew rate by itself.  However you can insert some simple passive components to do this for you.  I've attached below to images.  The first is a schematic showing one way of slowing down the edge.  The second is the a simulated waveform showing the original edge rate before slowing it down, and the slowed down edge.   This simulation is not of the PXIe-6556 but instead a generic digital output for concept.  In the schematic R1 is set to 34 Ohms because U1.8 has the additional 16 Ohms inside it.  TL1 is the 50 Ohm output simulating the cable on the PXIe-6556.  R2, R3 and C1 are components you could insert after the PXIe-6556 cable before it goes to your device/cables.  In this setup the cable going to your device is TL2 which is also 50 Ohms but it could be another impedance in which case you would change R3 to match.
    You can see in the attached images you can significantly slow down the edge with this setup by altering C1.  I hope this helps,
    Jesse O. | National Instruments R&D
    Attachments:
    edge_compare_schematic.jpg ‏94 KB
    edge_compare_waveform.jpg ‏44 KB

  • PCI 6602:How can I use the digital lines of the board and in the same time to generate pulse train using a counter?

    Hello!
    My problem appeared when I tried to update my code from Traditional NI-DAQ Legacy to DAQmx.
    I am using 2 counters (counter 5 and counter 7)  from PCI-6602, to generate pulse train, and also the Digital I/O lines of the port 0 (the lines form 0 to 7). What I do in my application is that I am starting to generate the pulse train on the output of the 2 counters, and after that I am playing with the state of the digital lines.
    In traditional there was no problem using the counters and the digital lines in the same time, everything was going perfectly, but in DAQmx this is not possible.
    What happens: I start to generate pulse train on the output of the counters,  no errors encountered, but when I try to modify the state of one line of the digital port the generation of the pulse train is stopped. This is happening when I start the task associated to the digital port.
    My question is: it is possible to create a channel on the digital lines without altered the channels created for the counters?
    Another thing what I manage to see using the  "Measurement & Automation Explorer" and Test panels for PCI-6602, basically is the same thing, I generate pulse train on the output of the counter 7 and try to start a task on the digital line, but I get one error :
    "Error -200022 occurred at Test Panel
    Possible Reason(s):
    Measurements: Resource requested by this task has already been reserved by a different task.
    Device: Dev4
    Terminal: PFI8"
    Instead if I use the counter 0 or counter 1 to generate pulse train I don't encounter the same problem.
    Which resources are used by the counters 2 to 7 from the PCI-6602 board and the counters 0 and 1 do not use?
    Thank in advance for any replies!
    Ciprian
    Solved!
    Go to Solution.

    Hello Jordan, thank you for your reply.
    I am sorry but I can not see or run your example, I don't use LabView, I use Visual C++ for developing.
    Here is the code for generating the pulse train:
    GeneratePulseTrain(unsigned long ulCount1, unsigned long ulCount2)
        short nStatus = 0;
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        nStatus = DAQmxCreateCOPulseChanTicks (m_taskHandle, "Dev4/count5", "", NULL, DAQmx_Val_Low, 0.0, ulCount1,ulCount2);
        if( bTriggerMode == true) // if hardware trigger is enabled
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_ArmStartTrig_Type, DAQmx_Val_DigEdge);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Edge, DAQmx_Val_Rising);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Src,"Dev4/PFI17" );
        //set the internal timebase
        nStatus = DAQmxSetCOCtrTimebaseSrc(m_taskHandle,"Dev4/count5","20MHzTimeBase" );
        nStatus = DAQmxStartTask(m_taskHandle);
        return nStatus;
    And the code where I try to set the digital line:
    SetChannelState(short nState)
        short nStatus = 0;
        uInt8 wrtBuf0[1]={0};
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        // Configure line as output 
        nStatus = DAQmxCreateDOChan (m_taskHandle, "Dev4/port0/line0", "", DAQmx_Val_ChanPerLine);
        nStatus = DAQmxStartTask(m_taskHandle);
        wrtBuf0[0] = nState;
        nStatus =DAQmxWriteDigitalLines (m_taskHandle, 1, 0, 0, DAQmx_Val_GroupByScanNumber , wrtBuf0, NULL, NULL);
        nStatus = DAQmxWaitUntilTaskDone(m_taskHandle,10);
        nStatus = DAQmxStopTask(m_taskHandle);
        nStatus = DAQmxClearTask(m_taskHandle);
        m_taskHandle = 0;
        return nStatus;      

  • Anybody knows how to control parallel port to generate digital line ?

    All,
         I have found at some website, there are a software can generate corresponding signal (I suppose that is digital line) to driver a relay board, the relay board is 8 channels. which out put is pin 2, pin3, pin 4, pin5, pin 6, pin7, pin8 and pin 9 of parallel port to control it . it is well control, how can it do ?  and I want to simulate it at LV with parallel port too , how can it achieve ? which command, or a simple sample which you provide will be appreciated.
    thanks in advance.

    You forget to search through NI Web site. Here are some links.
    http://zone.ni.com/devzone/conceptd.nsf/webmain/72C6FC6CE4AD4D1386256B1800794596
    http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B123AE0CB9CB111EE034080020E74861
    Sergey

  • How does one write to individual digital lines accross many DIO-96 ports?

    I want to be able to write to any individual DIO-96 line without having to repeatedly init. The available vi's can set up only 24 lines at a time. If it is desired to write to a line outside of those 24, another 24 lines must be initialized, then to return to the first 24 lines, those must be initialized once again. Very clumsy! Does anyone know how to init all lines one time and then allow random access to all 96 lines without further initialization?
    Thanks,
    CBD

    Hi Tom,
    try to use (or at least to insert) that control in another environment (like a Visual Basic form) in order to check if it's working properly. Also, check if you have the DLL with the same name in your system folder - this control it's just a simpler way to use that dll.
    You can use Write to Digital Line.VI, but pay attention to ITERATION terminal - if it is 0(default) LV will call DIO Port Config (find details in help).
    Hope I understood the problem...

  • PXI-6251 Phase Angle

    Good Day,
    I am currently using a PXI-6251 module and I need to measure Phase Angle between two sinusoidal waveforms. I have done a lot of searching and can not find much. If anyone is able to help I would appreciate it.
    TIA,
    TomJr

    Hi TomJr-
    I'm not sure if it will be very significant, but there will be some phase difference introduced into your sampled signals due to the fact that the input lines are MUX'd through a single PGIA and ADC.  This means that there will inherently be some skew between channels that you may want to account for. 
    The easiest way to accomplish this is to query the AI.Convert.Rate propery as shown below. 
    This value is the frequency of the clock that initiates samples from each channel in succession, so the reciprocal will represent the system-introduced phase difference in the sampled values.  If the amount of time introduced by this multiplexing is significant you might want to manually add it to the value you calculate with lrallen's suggestion.  Alternatively, you could use a simultaneously sampled S Series board to remove these effects if they are very significant in your system.
    Hopefully this helps-
    Message Edited by Tom W [DE] on 03-06-2006 01:15 PM
    Tom W
    National Instruments
    Attachments:
    untitled.GIF ‏3 KB

  • How do I generate two finite pulse trains using counters on PXI-6251

    I'm trying to use Counter 0 and Counter 1 on the PXI-6251 to generate two finite pulse trains.  But, I get this error:   "The specified resource is reserved. The operation could not be completed as specified."  See attached example.
    Inside the disabled box is what I'd like to run on both counters.  I stripped things down to creating the task, starting, and stopping.  I then started to add things to see what my problem was.  The timing VI seems to be what causes me issues but I don't know why. 
    My end objective is two identical pulse trains with one delayed by 5us, which I figured would be easy to do in the initial delay.  I tried both in a single task and as separate tasks with no avail.
    Attachments:
    2_counter_outputs.vi ‏32 KB

    Hi SirMutt,
    Creating a finite pulse train requires
    two counters. What’s really happening is that one counter is creating a
    continuous pulse train while the other counter applies a finite pulse to “window”
    the pulse.
    What you want to do is correlated DIO. I’ve
    done a search on our website for “correlated DIO” and have come up with a few
    resources. Hopefully that will help you get started.
    Digital Output and Pulse Generation
    Performing Correlated Digital IO with an M Series Device in LabVIEW
    M Series Hardware-Time DIO with Counter Clock Generation
    Mark E.
    Precision DC Product Support Engineer
    National Instruments
    Digital Multimeters (DMMs) and LCR Meters
    Programmable Power Supplies and Source Measure Units

  • Using PXI 6251 counter to delay a trigger on PXI

    Hi at all,
    I need to synchronize some devices on an PXI chassis. Basic operation is a user waveform generation on a PXI5401 that routes the Trigger Signal for the generation to one of the PXI (RTSI) lines. I'd like to use this trigger signal to start a counter on a PXI 6251 counting the PXI 10MHz Clock. No problem so far ( at least none that I see What I need is a possibilty to set another sync signal as soon as a certain counter value is reached in order to use this signal as a delayed trigger signal. Is it possible? And how? I've taken a look at the LabVIEW Example finder, but haven't found an example yet...
    Thanks!
    Oli
    P.S. Using LabVIEW 7.1.1, NIDAQ7.4 and a PXI 1042 via MXI4
    Programming languages don't create bad code, programmers create bad code....

    Nathan,
    Thanks for your excellent solution. I'm ordering the Aux100 cable (9-Pin DIN to two BNC Female) to export the trigger signal from the PXI to the Device_2. I will test the program (Echo_Mode_PXI_5122.vi) to be sure it will be suitable for my application.
    Another problem, when my system is working on ultrasound Pulse-echo mode (Pulse_Echo_Mode_PXI_5122.vi), the input trigger must be set a delayed trigger acquisition (by setting the trigger delay to, for example 3µs) to remove the signal of power source. Could you please tell me how I can configure the digitizer in this case?
    Regards,
    John C.
    Attachments:
    Echo_Mode_PXI_5122.vi ‏49 KB
    Pulse_Echo_Mode_PXI_5122.vi ‏49 KB

  • Time between digital inputs?

    Hi, I would like to measure the time between a digital input being true.
    Basically I have a prox picking put a point on a rotating shaft (to determine RPMs).
    What I want to do is measure the time between consecutive input signals from the prox, divide 1 rev by the time, multiply this by 60 to get RPMs. Then compare that value to a set value ( say 300 RPM ). If it is equal or great, contine onto the rest of the program, if it is less than the set value, keep looping until it is greater than or equal to the set value.
    Thanks in advance for the help!
    Ryan
    LV 7.1

    If you need to measure accurately the rotation speed on a single turn, software timing may not be accurate enough, since the Window internal clock readings have lags (read "errors") of more than 10 ms (= 100 rps, about 2 rpm error), even when no other application is running. So either you count (and wait) for a given number of rotations, and calculate an average, or you use hardware timing with a counter on the DAQ card (if any)...
    Otherwise, if you only need an estimate of the rotation speed, you can read the digital line and wait for 2 consecutive changes. The period can be calculated from the time stamps. See the attached vi. Wait a few seconds to observe the variations generated by Windows.
    Merry Christmas, and Happy Wiring !
    CC
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Rotation speed.zip ‏14 KB

  • Setting time critical digital output based on axis position (PCI-7358)

    HI,
    I need to set a time critical digital output based on encoder position (this will switch fast acting valves). I was planning to try the general purpose DIO but I can't find any examples, I have been through the manuals, searched the site etc. Where can I find help with this, all the examples only seem to deal with digital input triggering or RTSI? I'm thinking of an onboard program that just monitors encoder positions and sets digital outputs.
    Some time back I seem to remember reading that general purpose DIO should not be used for time critical operations, is that correct? And if so what are the other options - RTSI going to another DIO board? The DIO really needs to be deterministic, is RTSI the only option?
    Any advice appreciated / Martin
    Certified LabVIEW Architect

    Even with an onboard program you will always get a delay of several milliseconds between your axis has crossed the position and until the digital outputs are set. If this is ok for you then you could choose this approach.
    For the case that you only want to toggle one digital line the Breakpoint feature should be the best solution as it toggles the breakpoint output almost immediately when the breakpoint positions are reached.
    If you need to change a whole pattern instead of only a single line then the approach you mentioned would be the best solution (RTSI and high-speed DIO like the 653x boards). Combine this approach with the breakpoint feature by routing the breakpoint output to RTSI and using this as a update clock signal for the DIO board.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Real time control application

    I am going to use NI PXI-6070E for real-time control application, can someone provide sample programme for me?
    Thanks a million!

    Many examples can be found in the LabVIEW Example finder (Help->Example finder), in the ...Programme\National Instruments\LabVIEW 7.1\examples directory or on ni.com, e.g. here are some RT examples:
    http://zone.ni.com/devzone/devzone.nsf/webproducts/c25f8c664230613a862567df006abb06?opendocument
    The 6070 is only a multifunction DAQ card, you still need a RT controller, e.g. the 8187:
    http://sine.ni.com/apps/we/nioc.vp?cid=13981〈=US
    Kai Kratt

  • Arming a counter polling a digital line

    For arming a counter, a start trigger on the STC counter can be roughly emulated by polling a digital line and arming the counter once a high digital pulse is sensed. How can i do that?
    I'm using a PCI-MIO-16E-4

    Daniel,
    You did not mention which programming environment you are using, so I will describe the structure in LabVIEW (no matter which language you are using, this should give you the general idea).
    1. Configure your DIO port with DIO Port Config.vi.
    2. Configure your counter operation (Counter Group Config.vi, etc.).
    3. In a while loop, call DIO Port Read.vi.
    4. Monitor the bit corresponding to your trigger line. When this bit goes high, stop the while loop.
    5. Immediately after the while loop, call Counter Control.vi to arm your counter.
    This should be the basic structure of your program. Good luck with your application.
    Spencer S.

  • Executing Acquire upon Digital Line State

    I have a homework problem where a analog voltage measurement isn't supposed to start until a digital line becomes true.
    I have it working, but just checking if there is a preferable way.
    As a test, I used a T/F toggle switch inside a continuous while loop to simulate the digital line state. When I toggle the switch to True, I pass a True value out of the While loop. I pass this True value to a Case structure that accepts 2 values, True and False. On True, it starts the analog data aquisition, which works all OK.
    Is there a preferable way to "wait" on a trigger, and then execute a block of code?
    thx
    Jeff

    There are a number of examples that ship with LabVIEW that already incorporate digital hardware triggering.
    The program you described will work, but the amount of time between the triggering event (toggling the switch) and the start of the acquisition will vary because you are monitoring the value of your digital line in software. The latency will depend on how many things your computer is doing at once, as well as the speed/memory of your computer.
    By using hardware triggering, you eliminate the software dependancy and achieve a response time in the nanoseconds. You can find the triggering examples by choosing "Search Examples" from the LabVIEW splash screen. Once the help window comes up, choose "I/O Interfaces -> Data Acquisition -> Analog Input -> Triggering a
    n Acquisition."

  • Green digitalized lines form when Screensaver is on

    Every time the screensaver comes on (a photo album), these green digitalized lines come on, and I cant get them to stop. Any advice?

    Thanks everyone for offering your thoughts. I have put it through a round of testing today and found that indeed the green lines appear when I'm taxing my system with Photoshop.
    Now my issue lies in what to do - get a video card or purchase a used Mac Pro of a similar vintage. Found a good deal on Craigslist for $400: 2.66GHz Quad Core XEON, 8 GB's of RAM, 500 GB hard drive, Nvidia 1024MB video card. I could stuff it with my other 3 hard drives and get a better card than mine (perhaps add that second display I've been wishing for). Opting for a new MacPro isn't an option, it's too expensive and I'd like to get another 2 years out of my 'system', generally speaking.

  • Can I have separate timer in each line of a multi_record screen

    I have a multi-records screen, each record have its own time display to show how long this patient is waiting. I use a timer to redisplay every 10 second. However, I have to requery the screen each time and the screen refresh each time. Can I show the timer of each line without require to refresh the screen?

    I haven't tried this but it ought to work. Use calculation properties (type of formula) to populate your elapsed time field. The formula will be a calculation involving (presumably) the start time in your multi row block and a clock field in a control block which you will set using a single timer.

Maybe you are looking for

  • Safari Font has changed on some web pages

    The font on my Safari application has changed for some sites including YouTube and Yahoo. Most other sites are unaffected, including Apple's site. The font is hard to read and I cannot figure out how to get it to go back to it's "factory setting" so

  • Where is the information about each CD I've imported stored?

    I made a mistake ripping a CD audiobook and need to start over. I forgot to join the tracks when I imported the 1st CD. I did it after I the import finished. Then I decided to start over so I could rip the audiobook the way it's worked before. I dele

  • Recursive, hierachical query problem

    Hi! I have a hierachical SQL query using "connect by" that result in the following dataset (simplified to get down to the point): ID       | Parent |   IsData A        |        |    N       A1     |   A    |    N       A2     |   A    |    N        

  • PowerMac DP 2 Ghz vs 15" Powerbook & Aperture vs Bridge-ACR and 10 D2X nefs

    10 D2X nefs, equal settings(including sharpening) on each file. Test: Time the export/saving 10 full sized JPGs(level 10) on both systems under both Aperture and Bridge/ACR In Aperture, stamp the same settings to 10 nefs, wait for the changes to appe

  • Copy and Paste Images from Photoshop

    I can INSERT psd, jpg, (any) image files into Dreamweaver. I can COPY text from Word or Internet. I can COPY images off of Internet... ...but I can NOT copy from Photoshop (jpg or psd) into Dreamweaver. Simply does not copy. Paste is not an option. G