How to switch USB-6008 between digital input and output modes

Hi I have been following the examples of setting a specific port to either inout or output using the DAQmxCreateDIChan() or DAQmxCreateDOChan() calls. What I now want to do, is switch betwen inout to output mode and back again.
DAQmxCreateDOChan()
DAQmxWriteDigitalLines()
// do something
//switch to input
DAQmxReadDigitalU32()
// switch back to output
I can't seem to find any calls or discussions on this.
rjmiller

Hi RJM,
If you want to be able to switch your digital line between input and output, then you will need to use the Tristate Property. There is another discussion forum with more detailed information about using this property and I believe that you have already seen it. I am going to post the link in case anyone else wants to see the other forum as well: Tristate Property Discussion Forum. Reddog's post is very informative.
Regards,
Hal L.

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

  • 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

  • Comparing digital input and output from two different DAQs

    I want to create this program where the digital output lights up LEDs at random and push buttons are the digital input part of another DAQ are pushed. When the correct button is pushed, the score will increase by 1. My code doesn't work though. Can someone point my errors to me? Both the DAQs i'm using are USB-6008 DAQs. thanks
    Attachments:
    Untitled 1.vi ‏41 KB

    Let's start with the digital output
    What is this code all about?
    Do you want only one of the 8 led's to lit randomly or are multiple led's also ok?
    The two possible codes are in attached file SNAG-003.jpg
    Connect the output of the "Scale by power of 2" function or the "Multiply" output directly to the Write DAQmx vi
    I don't understand the purpose of the "Boolean Value" and "Replace subset array" thing, so I skipped it
    Attachments:
    SNAG-002.jpg ‏49 KB
    SNAG-003.jpg ‏22 KB

  • 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

  • Input and output on same device, producer/consumer structure

    Hello interested people,
    I have a question about using the same device for both digital inputs
    and outputs.  I have written a simple program of one while loop
    that continuously polls the device, processes, and requests.  I
    have addressed the device using two DAQmx Asst. and I have attached
    them with their error in/out cluster terminals to provide data flow and
    eliminate the chance of addressing the devices at the same time (which
    produces an error).  Now I want to change this program structure
    to a producer/consumer loop foundation with state machine.  
    In this design, I will have the DI in the producer loop and the DO in
    the consumer loop, under one of the states.  I can't simply
    connect the error in/out ports in this configuration, so my question is
    how to avoid the error caused by addressing the same device
    simultaneously with two different tasks (input and output)?  I
    have attached two VI's, the "One Loop" vi is the original configuration
    (simplified), and the Producer-Consumer vi is a NONSENSICAL program
    that simply represents the desired configuration.  (I don't need
    any comments on the programming of this vi, it is only an example for
    illustration of the problem). 
    I am thinking about bundling the input data and the error cluster, both
    from the PXI 6528 DI, into one cluster, queueing that up, and
    unbundling the de-queued elements for some kind of data flow between
    the producer loop and the "Request" state of the consumer loop. 
    Is this the right approach, or am I barking up the wrong tree?
    Thanks
    Attachments:
    One Loop DO DI.vi ‏102 KB
    Producer-Consumer DI-DO.vi ‏106 KB

    Hello,
    It sounds to me like you really have two modes:
    1. user interface actions determine execution
    2. user interface is locked, and execution is automated.
    I think it would make sense to use the producer consumer for an architecture.  Basically you would do the following:
    1. program the producer to handle the user interface as you normally would.
    2. provide one additional event case in the producer which would be your "automated handling" case.  In that case, you could put a state machine which could run until whatever conditions were met to put your program back in "user interface mode".
    Keep in mind that you can use custom USER EVENTS to programmatically generate events ie. you can trigger the start of your "automated handling" form anywhere in your code at virtually any time.
    I think this would allow you to take advantage of the producer consumer architecture in its intended spirit, while integrating an automated routine.
    I hope this helps!
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

  • How can i connect 24VDC to digital input (usb 6008)

    hello,
    how can i connect 24VDC to digital input (usb 6008), is it possible with some optocoupler?
    thanks

    The 6008 is a static DIO, so speed shouldn't be an issue.  Therefore an optocoupler should work.  Just make sure you get one the meets your specs.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • I was given an assingment, but have no idea where to begin. The assingment is to create a text file using notepad with all of my digital inputs and some how make those imputs show up on my digital indicators on my control pannel

    I was given an assingment, but have no idea where to begin. The assingment is to create a text file using notepad with all of my digital inputs and some how make those imputs show up on my digital indicators on my control pannel.
    When it was explained to me it didn't sound to hard of a task, I have no LabVIEW experience and the tutortial sucks.

    StevenD: FYI, I did NOT give you the one star rating. I would never do that!
    StevenD wrote:
    Ow. Someone is grumpy today.
    Well, this is an assignment, so it is probably homework.
    Why else would anyone give HIM such an assigment, after all he has no LabVIEW experience and the tutorials are too hard for him?
    This would make no sense unless all of it was just covered in class!
    This is not a free homework service with instant gratification.
    OK! Let's do it step by step. I assume you already have a VI with the digital indicators.
    "...but have no idea where to begin".
    open notepad.
    decide on a format, possibly one line per indicator.
    type the document.
    close notepad.
    open LabVIEW.
    Open the existing VI with all the indicators.
    (are you still following?)
    look at the diagram.
    Who made the program?
    Does the code make sense so far?
    Is it a statemachine or just a bunch of crisscrossed wires?
    Where do you want to add the file read?
    How should the file be read (after pressing a read button, at the start of the program ,etc.)
    See how far you get!
    Message Edited by altenbach on 06-24-2008 11:23 AM
    LabVIEW Champion . Do more with less code and in less time .

  • Don't know how to specify a digital input or output with Port Config

    I am trying to modify an existing VI that I did not write. I have a 6533 DAQ board connected to a relay box. I would like to use one of the lines on port 0 of the DAQ as an input (it will be a switch used to trigger the sequence of outputs). the rest of the lines I would like to be outputs. I don't know how to specify which line is an input and which is an output. I am using LabVIEW 5.1 and the current VI just contains a sequence of delays and pulse width for each channel. It uses Port Config to specify the port and line directions. Only it's set so that all of the lines are outputs. Does anyone know an easy way of using one input to control several outputs from the same port?

    Thanks.. that is what I thought but I didn't see any examples with the line direction map set up like that. SO.. now I'm stuck on how to use that input to trigger the outputs on the same port. I need to use the input as a switch to activate a sequence using the outputs. So first.. how to I single out just the input line to be used for the trigger. Normally when I need to do something like this I'm referring to channels and not Port lines. Also, how do I language the switch? Is the input going to be normally binary? 0 for off and 1 for on? So should I use a boolean statement?
    Thanks again for the help.. my boss doesn't know much about the programming either so I have to figure it out.

  • How can I use a different driver for audio input and output?

    I did a search of course, and came up with something about an aggregate. I have no idea what this is, how to do it, or if it would even work for me.
    What I am trying to do is:
    1) Record into Logic Express using my Tascam US-122.
    2) Have playback come out of my computer sound system, not the Tascam.
    If I go over to the Audio setup window, I can only record when the driver is set to Tascam US-122. Likewise, I can only listen to sound when my Built-In Audio is selected. It gets rather annoying going between the two.
    So, would this aggregate thing solve my problem? If so, how do I do it? Thanks for any help!
    -allen

    Yes it should do what you want.
    Go to "Audio Midi Setup", and go to the Audio menu and click "Open Aggregate Device Editor". The interface is pretty simple but if you do get stuck, just use the help function in Audio Midi Setup, as it has a step by step guide.
    Then when you return to logic, go to the Preferences>Audio>Drivers section and select Aggregate Device as the new driver rather than either the built in sound or the tascam. Then the inputs and outputs will apply to BOTH devices.

  • I'm trying to record in Adobe Audition and it keeps saying my the sample rates for my input and output devices do not match.  How do I correct this?

    I'm trying to record in Audition and it keeps saying my sample rates for the input and output devices don't match.  How do I fix this?

    I finally have communication between the ISA One and Audition. I moved the optic cable to another SPDIF on the computer and from the SPDIF to ADAT on the ISA One and it finally agreed that the communication was at the same clock speed. The audio was not intelligible so I moved the optic cable back to the original configuration and I can record voice that is clean.          

  • Digital input and digital output at the same time

    Hi all
    I have a PCI-6503 board. I have done 2 task that run simultaneously: the first one is port0_16 output and the second one is port2 input.
    I get sometimes (not every times...this is strange...) error-200587 saying:
    'Requested operation could not be performed, because the specified digital lines are either reserved or the device is not present in NI-DAQmx.
    It is possible that these lines are reserved by another task, the device is being used through the Traditional NI-DAQ interface, or the device is being reset. You might also get the error if the specified resource is currently in use by LabVIEW network variables bound to the DAQ Channel, or if the DAQ Channel is being used in any OPC Client software.
    If you are using these lines with another task, wait for the task to complete.  If you are using the device through the Traditional NI-DAQ interface, and you want to use it with NI-DAQmx, reset (initialize) the device using the Traditional NI-DAQ interface. If you are resetting the device, wait for the reset to finish.'
    In the attached VI i have recreated the basic structure of my real VI (the error is present even here of course...).
    How can i do?
    I want to have both digital input and digital output with the same PCI-6503 every single cycle... Is it possible?
    Please help me!!!
    Kind regards.
    I love the smell of napalm in the morning
    Attachments:
    DIO simultaneously error.vi ‏31 KB

    Hello Maverick,
    Did you have any luck with the example Raven sent you?
    In Raven's example, it properly passes the DAQmx task from one SubVI to another to avoid having to open the task again. These errors are likely to occur when you have multiple DAQmx calls in a VI that call the same task again without clearing the previously opened task. If at any given time you try to open a task that already is being used, you might receive an error "resource is reserved"... similar to your original example.
    If you are interested, here is an awesome link that gives a detailed explanation of the LabVIEW dataflow paradigm
    Learn 10 Functions in NI-DAQmx and Handle 80 Percent of Your Data Acquisition Applications
    Thanks and good luck!
    Jordan Randall
    National Instruments Italy

  • Cable Between Physical Input and Seq. Input Disappears By Itself

    Today, inexplicably, while recording routine MIDI overdubs on a cue, I suddenly lost MIDI thru from my master keyboard thru Logic to my MIDI racks. MIDI tracks played fine, but no MIDI thruput.
    Tested the MIDI interfaces, AMS, rebooted the computer and the interfaces, all the usual stuff. Couldn't find any reason why I suddenly lost thruput.
    It was only because I was at my wit's end that I decided to look at the Clicks and Ports Layer in the Environment to see if anything "somehow" got weird. And sure enough... the cable between the Physical Input and the Sequencer Input had disappeared. Gone. Vanished. Deleted.
    How this could have happened without my deliberately going into the Environment, selecting the Clicks and Ports Layer and purposely deleting the cable connection is totally beyond me. This has got to be one of the weirdest behaviors I've seen. And just remember everyone, "weird" is an anagram for "wired" which, unfortunately, proved not to be the case.
    Anyone else ever have this happen? Any ideas as to what might have caused this?

    Amin,
    I've thought along these lines too, surmising that: items (or data) which were selected/highlighted in various windows at various times were somehow still subject to such actions as Delete, Cut, or Clear, despite the fact that those windows were currently closed. Now, I rarely (closer to "never") have need to visit the Clicks/Ports layer of the Environment, let alone tinker with the connection between phys input and seq input such that that cable might ever remain in a "selected" or "highlighted" state to begin with.
    But in an effort to troubleshoot the missing cable scenario according to this theory, I deliberately highlighted the cable, closed that window, and continued working. I was hoping that at some point during normal editing operations I might lose my MIDI thruput again (because it got cut/deleted/cleared in association with a cut/delete/clear operation of another event or object) and then backtrack through the Undo History hoping to discover what operation caused it.
    Well, 1.5 days later, after intensive editing of the same sequence (which ended up becoming quite complex) the cable stayed intact! So to a certain extent I think perhaps my theory is wrong, but I'm keeping an open mind.
    But something valuable came out of this... considering LPH/David's information, I think that from now on I'm going to eliminate the physical input and sequencer input objects from my environment; they've proven to be a liability. And it's easy enough to add them to a song in the event I want to do some MIDI processing on Logic's input side.
    I'd like to respond to your thoughts on floating windows in a separate post.
    Cheers Amin!

  • How to Set Up SSO Between IBM WebSphere and SAP EP Using JAAS

    Hi
    I have read the article on SDN called "How to Set Up SSO Between IBM WebSphere and SAP EP Using JAAS", which is also the name of my posting.
    The reason why I post this is that I've tried to follow the links in the PDF to get the file WebsphereEpSsoLib.zip but I get an error 403, which tells me that the file is not there.
    Does anybody know where this file went or can somebody tell me an alternative place to get this file?
    Jacob

    Please open the associated whitepaper, and you can find the download link to the .ZIP file on page 4.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/ibm/how to set up single sign-on between an ibm websphere portal and the sap enterprise portal using jaas.pdf
    Hope that works!
    Elise

  • How can i create link between ipad(xcode) and webserver?

    Hi, I'm a new to iPad development and i need help,
    i'm not good with english but i try to explain my question:
    how can i create link between ipad(xcode) and webserver?
    (the webserver ".NET" with driver odbc is connected with DB Oracle)
    so, how can my ipad application access to the Oracle DB?
    Create a webservice (.NET) to be place between iPad and DB, is this correct?
    how can i do it?
    which are libraries to include in the xcode's framework?
    thx

    I think the following URL will be your best answer:
    http://stackoverflow.com/questions/3510468/connecting-iphone-to-an-odbc-database

Maybe you are looking for

  • I get three icons (IE) using the move tool and other tools as well

    I'm using PS CS4 with windows 7and with different tools my pointer shows three different icons, also when I try to resize ctrl+shift it won't resize to scale. I can't figure whats wrong I've even re installed PS. I have a dead line tonight and somthi

  • Substitution Error FND_VIEWOBJECT_NOT_FOUND

    Hi OAF Gurus, I am doing Substitution for one standard view object. i get following error. Message not found. Application: FND, Message Name: FND_VIEWOBJECT_NOT_FOUND. Tokens: VONAME = LFMaterialVO; APPLICATION_MODULE = oracle.apps.csf.portal.task.se

  • Exporting as html table

    Is it possible to change the html export settings? I would like to export html as table? # I was told there are some problems when using <div> tags in some email readers if you are producing a html newsletter.

  • Generating Ruby Web Service Access Classes from a WSDL

    If you have tried to consume a web service from Ruby you surely have noticed how annoying is to write manually all the Ruby code just to invoke a service with complext input parameters' structure: - You have to know what do the input parameters, thei

  • Need to Update DFF

    Dear Friend, I need to bulk enter in oracle EBS R12 HRMS (PER_ALL_PEOPLE_F) attribute 11. Can you please suggest me for this API will user better or use plsql for load bulk data. Also explain can we update DFF manual enter in database in any module o