Trouble Acquiring Digital Input through 1302- 1180- 1349-PCI 6220- software

Hi,
I've got an SCXI-1000 chasis, and I'm trying to use an external clock and trigger signal to acquire data from a BNC 2095 board.  I have the 1302 unit to input my external digital signals.  The information feeds through the following units:  1180--> 1349 --> SHC 6868 EPM cable --> PCI 6220 card --> software
I've got my trigger connected to terminals 39(+) and 24(-) in the 1302 unit.  The external clock is connected to terminals 38(+) and 33(-). 
Within the DAQ Assistant, I've selected the trigger as PFI 1 and the clock as PFI 0.
I'd like to test the setup, but the test panel in the MAX won't let me select PFI0 or PFI0 as a channel.  I've also got a acquisition VI made, but it doesn't log any data even though there are no errors.  That's why I want to check that I'm getting the trigger/clock signals properly.
Any ideas on what to check or change? 
Thanks,
Michael

Hi Michael,
In general, it's not a good idea to call the DAQ Assistant in a loop, since it allocates and frees resources every time it runs. You might want to take a look at the DAQmx examples in the NI Example Finder (Help>>Find Examples). There are located in the Hardware Input and Output\DAQmx directory in the Example Finder. There are several examples, with several timing and triggering configurations.
Here is some information about reference triggers: In NI-DAQmx, the stop trigger is referred to as a reference trigger. The reference trigger establishes the reference point in a set of input samples. It allows you to acquire samples both before and after the trigger is received. The number of pretrigger samples to be acquired is set using the Pretrigger Samples input. The number of posttrigger samples to be acquired is automatically determined by subtracting the number of Pretrigger Samples specified from the number of Samples to Read specified.
Also, take a look at the article I am linking below for information about NI-DAQmx. I hope all of this helps!
Learn 10 Functions in NI-DAQmx and Solve 80% of Data Acquisition Applications
Michael P
National Instruments

Similar Messages

  • Can you perform simultaneous timed digital input and output using a PCI-6120?

    Is it possible to do simultaneous timed digital input and output using a PCI-6120? It seems that timed digital operations require using the group read/write commands, which utilize an entire port. Since the PCI-6120 has only 1 digital I/O port, I would like to be able to use 2 lines as outputs and 1 line as input, and do both in a deterministic fashion. i.e. create a digital signal with known pulse widths and read an input line at a known time after the outputs were set. Is this possible to do with only one digital I/O port?

    Hello,
    This can be done in LabVIEW. There is actually an example that installs with NI-DAQ.
    Below is a link to a Knowledge Base that explains how to find the correlated digital I/O examples.
    http://digital.ni.com/public.nsf/websearch/B849664604EB34B886256D12005B5520?OpenDocument
    Just take a look at the example titled �Continuous CDIO with external clock (E).vi�
    Best regards,
    Justin Tipton
    National Instruments

  • Ni 6008 acquiring digital inputs from an absolute encoder.

    Hi, i'm a student working on my master thesis.
    I'm trying to acquire 9 digital channels from a 9bit absolute encoder on the NI-USB 6008 but i'm encountering the following problem.
    I'm powering the encoder trough the 0V (GND) and +5V ports on the NI-USB 6008, and if i read the digital outputs directly from the pins
    of the encoder with a tester, without connecting them to the NI-USB 6008, i see +5V or 0V with respect to GND.
    If then i wire the outputs of the encoder to the NI-USB 6008 digital ports, the readings of the tester,  are 5V or 3.6V with respect to GND, so basically
    when i try to acquire the signals with Labview, they never switch to logic low.
    I'm a doing something wrong or is it a problem with the NI-USB 6008?
    Thank you for the help.

    Hi,
    It seems that NI-USB 6008 works well and that the encoder is not able to force low the digital output signal.
    I think that this problem could have different explanations:
    - the encoder needs a pull down resistor in order to work properly
    - the encoder try to force low the digital port while the 6008 is forcing high the same port
    - the encoder is damaged
    Try to take a look at the encoder manual in order to see if the encoder needs some additional circuitry to work properly.
    Alex

  • Trouble with mic input through POD X3 in Garage Band

    We're trying to record through our POD X3 in Garage Band, but when we use it for a mic, the software won't let us control the recording level - the mic registers, but it's too low. When we use a Bass Pod, Garage Band lets us control the recording level. It's OK using the Bass Pod for now but we'd like to move on to the X3 for pretty obvious reasons. What's the deal and what solutions are available for us?

    Try posting in the Garage Band forums to see if any of those experts has experience with what you need.
    http://discussions.apple.com/category.jspa?categoryID=127

  • "External sample clock" and "Rate" for digital input acquisition

    Dear all,
    I want to acquire digital input (21 bits with external clock = 50 kHz) with a PCIe-6343 NI board. Using the  DAQ assistant under Labview, I selected the advanced timing with the sample clock time parametrized as External. However, it is also possible to select the Rate of the acquisition. In my case, i want to get the data at the rising edge of the external clock signal, so at a frequency of 50 kHz.  How can I do that ? I just need to put a Rate of 50 kHz ?
    thanks for your help.
    Cedric 

    Cedric,
    dddsdsds wrote: 
    [...]In my case, i want to get the data at the rising edge of the external clock signal, so at a frequency of 50 kHz.  How can I do that ?[...]
    You answered your question already. If you want to use an external clock, you have to configure the timing source of your task to be external. In order of proper buffer configuration, you should enter 50kHz as rate in addition to the external configuration, but this will not influence the speed of the acquisition (since it is "clocked" externally!)
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Pci1200 digital input output

    Hi,I'm a student using labview 6.1 for the first time. I use the digital input/output lines of a pci 1200 card. I use 8 digital input lines placed in one sequence, and 7 digital output lines placed in another sequence. The VI can read the input lines but the output lines give a voltage of 0.5 Volts instead of 5 VOLTS, how can I solve this problem?

    What are you writing to the digital output lines in LabVIEW? Writing a Boolean value of False to a digital line will write a TTL logic low voltage and writing a Boolean value of True to a digital line will write a TTL logic high voltage. Make sure you are writing a true Boolean value to the lines you want to output 5 V.
    Also, make sure you are not loading down the digital outputs. The digital lines can source 13 mA of current. If you are connecting a small resistance load across the digital outputs, you might be loading down the digital ouputs. I hope this helps.
    Regards,
    Todd D.
    Applications Engineer
    National Instruments

  • How to acquire serial data on a digital input line with good performance?

    Hello,
    we have a performance problem with our realtime controller. Our objective is, to read a 24-bit long digital waveform from a digital input line. To do this, we supply a clock signal (236 KHz)  to the PFI1 Line of our DAQ Board. On each rising edge of the clock, a new bit is set on the digital input DI0.
    Our hardware which transmits the data, is triggered through a digital output from our realtime controller. On each edge on this output, the hardware starts a serial transmission of 24-Bits.
    Everything works fine except the bad performance of our realtime controller. We want to acquire the 24-Bits in a 1ms timed loop. To measure performance we wrote a test program. In that, we only triggered the hardware and transfered the data to the realtime controller. The task which is doing this job, has a approx. CPU-Load of 30%, which is, in my humble opinion, very high. The task is not waiting for data or anything else! We have earlier implemented a control which is also using a 1ms timed loop. This control is sampling 2 analog input signals, 2 counters. Futhermore it's sending telegrams with CAN and doing many calculations. The strange thing is, this much huger program has a CPU-Load of 25%. Does anybody know where the problem is?
    For the better understandig I attached our test-program to this text.
    We're using:
    PXI-8175 realtime controler
    PXI-6221 Multifunction DAQ
    Thanks!
    Regards, 
       Crest!
    Attachments:
    dig_test.zip ‏51 KB

    Hello,
    First of all 30% CPU-Load is normal because the DAQmx-driver needs a lot of resources.
    In your programm you should place a wait (for example with 1ms) into the while-loop which causes
    lower CPU-Load.
    If this is not enough you should build your vi like in the following example.
    Regards,
    Christian
    Attachments:
    Read Dig Port.vi ‏51 KB

  • Dolby digital pass-through via digital input - static

    anybody try to hook up a dolby digital 5.1 source (i'm using a dish network vip622 dvr receiver) into the mac mini's digital input and pass the signal through to the speakers connected to the mini? i'm doing this but all i get is static - presumably because there is no decoder inside the mini.

    forgot to say - i'm also using linein from rogue amoeba
    http://rogueamoeba.com/freebies/
    sj

  • Can we acquire the Analog input and Digital Input at

    Can we acquire the Analog input and Digital Input at
    the same time? My sensor data include Analog and
    digital signals.

    Hi Chenchen,
    It usually simplifies things greatly if you use analog inputs to monitor both the analog signals AND the digital signals.
    If you abosulutely HAVE to use digital lines, then the answer is, DEPENDS....
    With the correct hardware and depending on how fast you want to collect data and how closely the measurements have to be syncronized in time, it can be done.
    But first, concider using analog inputs to monitor all signals.
    If you need to move forward with both analog and digital acquisitions, then post a new quesion and give us details on the hardware you are using and the other details we will need to advise you.
    Trying to help,
    Ben
    Ben Rayner
    Certified LabVIEW Developer
    www.DSAutomation.com
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Acquire Analog and Digital inputs at the same time with 6025E card

    I have 6025E DAQ card, all the analog channels are used
    up. There are several digital signals, such as flowmeter. Can I acquire both kinds of data at the same time with my 6025E card? Thanks for your help.

    I suggest you search the examples that ship with LV
    Digital
    Find Examples>>>Hardware Input and Output>>>Digital Input and Output>>>8255
    for doing each type of I/O seperately.
    When you have found two examples. Just try to run the two at the rate use need in your final app.
    Post follow-ups Q's here. I am not personally familiar with that deveice so I can not speak from experience.
    I would generally expect that if you sample rate is low (i.e. <10Hz) you maybe happy with the results. If you want to run faster or have the PC do something else at the same time, the timing of the signals form the DIO lines may be suspect.
    So...
    It depends.
    Trying to help,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Simultaneous Digital Input and Output from NI 9403

    Hi,
    I was wondering if it is possible to digital output through one line in this module(NI 9403) while simultaneously reading from 10 other lines?
    Basically what I need is for line0 to always be closed(true), and read lines1:10 - at very least 1sample/second.
    I have attached a stripped down version of my code illustrating my error. I thought I was getting the error because the two tasks were using different clock configurations, but I tried using the same inputs and that doesn't work for me.
    Any input is greatly appreciated.
    Thank you
    Attachments:
    Digital I-O.vi ‏22 KB

    Hi Matthew,
    The behavior you're seeing is expected for the 9403 module, since it is a serial module. The DAQmx help has the following restrictions in the Digital I/O Considerations for C Series Devices section.
    Timed digital input/output restrictions:
    You cannot use parallel and serial modules together on the same hardware timed task. 
    You cannot use serial modules for triggering. 
    You cannot do both static and timed tasks at the same time on a single serial module. 
    You can only do hardware timing in one direction at a time on a serial bidirectional module.
    So you can only do timed input or output at one time, but not both. However, based on the VI you attached and the description of what you want to do, you don't necessarily need both timed tasks in your loop. You can create a static output task to update that one line and after that, you can just start your timed input task on the rest of the lines. This should maintain the state on the DO line, since you're not acquiring from it.
    Cheers,
    Cristina
    Cristina

  • USB-6009 digital input change detection

    Hi,
      I am trying to acquire digital signals from an ni usb-6009 device using daqmx on labview 8.0. I need to write the signals from a port of the device to an output file only when there is a change in the signals and I am not able to do this successfully. I created a digital task in MAX and was able to select acquisition mode as '1 sample (On Demand) ' only. Any other selection for acquisition mode would result in error 200077 with the following message -
    Measurements: Requested value is not a supported value for this property.
    Property: SampTimingType
    You Have Requested: Sample Clock
    You Can Select: On Demand
    I selected '1 Sample (On Demand)' acquisition mode and was able to see the channel values on running it in MAX as I rotated a device connected to the usb-6009 device. As expected the hex values on MAX were showing up as FF,7F,3F,BF and this pattern was repeated everytime I provided the input by rotating the device.
    Next, I created a simple vi to use the digital task I setup on MAX. I want to be able to record the signals only when there is a change in the digital pattern from the channels.That is when there is atransition from FF to 7F to 3F and so on, the vi should write to an output file and if no change happens, it should not write to file. To do this, I explored the Timing vi and tried using the 'Change detection' mode, but that produced the same error as above. 
    Can anyone please suggest a way to accomplish what I am trying to do ? Any guidance will be a hugely appreciated.
    Thanks
    ~Sej

    All of that effort with sample rates, timing, change detection, etc ciuld have been avoided if you had read the specs. As you finally found out, the device only supports sftware timed i/o and no change detection. You wll have to do your change detection in software this is done with a shift register/feedback loop.

  • Audigy 4 Pro digital input 16 - 24

    I have a Sony MDS-JB920 minidisc deck hooked up to my Audigy 4 Pro through the external box. Works fine.
    However, the Minidisc deck allows one to set both the digital input and output to either 6, 20 or 24 bit. As the Audigy 4 Pro is 24 bit, I've set the deck to 24 bit for both in and out. So far no problems. If I watch the settings panel whilst playing a minidisc however, it indicates that the signal coming from the MD deck is 6 bit, although the deck is set to supply 24 bit through the SPDIF out.
    When I put the MD deck on rec mode whilst the PC is supplying audio feed, the MD deck loops it back to the SPDIF input of the Audigy and then the software does display 24 bit signal coming from the MD deck.
    This is very confusing to me, does anyone have an explanation?

    CMSS is an effect used for stereo sounds, to emulate surround sound for them. It has no effect on the DVDs you're playing as you're just outputting the AC3 signal so the speakers can decode it.
    If you're using a digital connection, then CMSS will not have any effect for other sound either, you need to connect through multiple analog connections to get that sound. A standard digital connection (coaxial and optical SPDIF) can only pass over either a stereo PCM signal, or an encoded AC3 stream (like on your DVDs). Normal sound like music or games will only be passed over as stereo PCM, so there is no CMSS effect there.
    If you can connect your amplifier through several analog connections, then you can use CMSS aswell, otherwise your amplifier might have it's own upmix option like ProLogic.
    Cat

  • Triggering an event with a digital input

    Hello all,
    I'm writing my first Labview program.  I used an architecture I found on the forums here, and it has been very helpful in getting me started.  This architecture uses two while loops, one containing an event structure and one containing a case structure.  (This is a queued state machine architecture, I believe).
    Part way through the programming, we decided we needed a sensor to make sure the part was in the test fixture during the test.  If the part is removed during the test, we'd like to safely stop the test.  So basically, I need to monitor a digital input (on an NI-USB-6525 module) and enter the "Stop" case if the digital input turns off.  I would also like to make sure this digital input is on before entering the "Start" case.  I don't care if the input changes state when the test is not running, nor do I care about its state during the "Exit" case.
    I'm really not sure how to add this functionality to my "stop" case.  I don't even know if it's possible.  I've been researching DAQmx events, but I haven't found an example or answer that aligns with my particular problem. 
    I've attached my code.  It's incomplete right now - I still have a large number of steps to add.  I wanted to get this issue figured out before I programmed any more steps.  A preview of the code showing the basic architecture is shown in the picture below.
    Does anyone have any ideas or suggestions for me, or questions if my problem is unclear?  Also, if you see anything else in my code that will be problematic, please let me know.
    Thanks in advance!
    Attachments:
    Main_Loop_072412.vi ‏195 KB

    I should also add that I looked into event dynamic registration, but it seemed incompatible with my issue.  I don't want my top loop to run only when an event triggers it - I want it to run all the time so that it can immediately respond to button presses. Also, most of the triggering I found was based on value change.  I care about the actual value, not just that it changed.
    I don't want to do anything that will bog the code down too much since it is important that the system respond immediately to inputs, especially to the stop or exit button presses.
    I'm sure I am missing something very basic here.  I'm used to ladder logic, where everything is simple and straightforward. 

  • Producer consumer with analog and digital inputs and outputs

    Hi everyone,
    I am working on a control system program for some practical test work. Currently I am working on the data acuisition component of the Labview program. My architecture is produced-consumer loops with a que. My system will have analog inputs, analog outputs, digital inputs and digital outputs. It's not a time critical sytem, but I would like all of the data acquisition to be synchronised. I have attached my program as it is at the moment. I am having trouble getting all of the data into the que since I have two data types. Also, I'm not sure if i've synchronised the four read/write sequences correctly. I would greatly appreciate if somebody could take a look at my program and give me some advice. Thanks in advance.
    Solved!
    Go to Solution.
    Attachments:
    control_v2_DAQ loop.vi ‏46 KB

    Robert, the specific error that I get is:
    Error -200462 occurred at DAQmx Start Task.vi:6
    Possible reason(s):
    Generation cannot be started because the output buffer is empty. 
    Write data before starting a buffered generation. The following actions can empty the buffer: changing the size of the buffer, unreserving a task, setting the Regeneration Mode property, changing the Sample Mode, or configuring retriggering.
    Task Name: Heater testing lab digital outputs
    This error occurs at the 'DAQmx write.vi' function. I just want to sent one sample per second, for each channel. I would like the producer and consumer loops to each run once every second.
    I have attached part of my code with just the data acquisition and writing. Any help would be greatly appreciated.
    Attachments:
    control_v2_ML_simple.vi ‏83 KB

Maybe you are looking for