PCI-6509 I/O direction bit-by-bit

I am trying to write some low-level code to use the PCI-6509 board.  I've already done this for the PCIe-6509.  However, the DDK code I downloaded doesn't seem to allow me to select the I/O direction of an individual bit... it seems to be in 8-bit groups only.  My understanding is that the PCI-6509 board is supposed to allow individual control over I/O direction (like the PCIe board does).  Can anyone help me.
Thanks.
Solved!
Go to Solution.

Hi Jwstonge
Unfortunately the PCI variant of the 6509 can only be configured port-by-port, not line-by-line.
This KB gives a list of what devices support line-by-line configuration.
The PCIe-6509 is built on a different architecture than the other form factors.
Regards,
Luke B.

Similar Messages

  • How to program PCIE-6509 with C#

    Hi there,
    I have an NI PCIe-6509 digital IO card. I want to program to set the 96 chanels high/low by using C# programming language and I have no idea where to start. Can someone point me to the right direction? Is there any sample C# code related to NI PCIe-6509?
    Ps. i am using windows 7, 64bit operating system and visual studio 2010.
    Regards

    You might have to uninstall and reinstall the DAQmx driver again.
    Here are the snapshot for your example references.

  • PCI-6509 example program doesn't run

    I can compile the "Write Dlg Chan-Watchdog Timer.dsw" sample program, but when I run it I get errors. Please help me to understand what I am doing wrong.
    Attachments:
    PCI6509_output.rtf ‏1 KB

    Anna,
    When I tested this example with the PCI-6509, I did not receive any errors. However, if I intentionally delayed the resetting of the watchdog timer, I was able to generate the -200644 error. The following function performs this reset:
    DAQmxErrChk( DAQmxControlWatchdogTask(wdTaskHandle, DAQmx_Val_ResetTimer));
    Did you make any modifications to the example? To troubleshoot this issue further, you should try increasing the watchdog timer's timeout using the following function:
    DAQmxErrChk (DAQmxCreateWatchdogTimerTask(device,"wd",wdTaskHandle,timeout,physChan,expirationState,NULL));
    Spencer S.

  • How to control the data rate of a digital write to a port on a PCI-6509

    I am using a PCI-6509 to write digital words to a custom digital board. I can generate the proper patterns with the 6509 but the resulting pulse rates are very high (150+ khz) which is very noisy. I know the board cannot have its clock controlled. Is there a simple way to adjust the output rate? I am generating a 1D array and writing this to the device with the NI-DAQmx commands. About all I could come up with is interleaving this array multiple times to stretch the resulting pulse. Anything more elegant, as this seems pretty brute force?
    Thanks,
    Tom

    Hello Tom,
    When doing software-timed updates, you can use a delay function in your loop which is doing the DAQmx Write. Increasing this delay should increase the delay between every sample that is written. Because this is software-timed, it is not deterministic so the time between the samples being output might be greater than what you are actually specifying the delay. However, this is not really a disadvantage compared to the current method you are using (duplicating array values to stretch the pulse) because it is also software-timed. I hope this helps!
    Eric
    DE For Life!

  • NI PCIe-6509 register level programming

    I'm asking National personnel, who is responsible for device driver developing, to give me information about register level programming. Programming this board using DAQmx software is too slow for us - about 2,5MHz is the maximum for one pin.
    I've already have RLP for PCI version of this board, but PCIe is different - only one BAR is available - and size of memory region also differ (512K). I've written skeleton kernel module for this board - and now problems to attach to hardware, but information absence stops me to progress further.
    Please, help me.

    Yes, RLP for the PCIe-6509 is different than for the PCI-6509. Looking at the hardware itself, you can see we've used different ASICs. The newer express revision has two STC3 ASICs while the previous PCI revision has two STC2 ASICs. These chips are different as you've encountered and thus their programming is also different.
    Unfortunately, we do not have any RLP information for the STC3 at this time, nor do we have projections for when it will be made available. If this is an urgent need, please contact your local sales or support engineer and we may be able to work with your further.
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)

  • Digital in signal is unstable PCI-6509, please help

    Hello all,
    i'm trying to do the most simple vi that you probably done before.
    i want to read one port  (digital In PCI 6509).
    I already build a new Task in  MAX and when i test the port i always get unstable signal.
    i use the pci-6509 96DIO with CB-100 I/O with two CB-50 connector blocks and cables.
    i configure port 2 to be digital input (pins numbers in the  CB-50  are : 15,13,11,9,7,5,3,1 )
    i want to read the signal for each line in this port.
    each line connected to relay (and the relay connected to 24VDC sensor)
    so i have 8 relays connected to this port.
    and when i read the port using the MAX i get garbage...
    Please help
    thanks in advanced
    Mor

    Hello Moti Mor,
    The tristate state is a high impedance state.  The What Is the State of the Digital I/O Channels of My Device When My Computer Powers On? explains that this state is the default state for your 6509.  The example program, DAQmx - Setting the Digital Output to Tri-State on Multifunction DAQ Boards
    sets a digital output line to tristate.  We also have a tutorial
    on our Developer Zone which explains the states of a digital line, the Digital Test - Beyond 1s and 0s.
    Hopefully these references will get you going.  Good luck and post again if you have questions about the above links.
    Regards,
    Micaela N
    National Instruments

  • Remap PCI 6509 below 1 MB (Register Level)

    Hi All,
    my name is Wolfgang and I ask fo your help with Regiser Level Programming of the PCI 6509
    I refer to this manual:
    DAQ
    Static DIO Register-Level Programmer Manual
    for NI 6509, 651x, 6520, 6521, and 6528 Devices
    found here:  ftp://ftp.ni.com/support/manuals/371580a.pdf
    Accoding to chapter 3 I want to remap the device below 1 MB to 0xD0000 (PCI MITE adress) and 0xD1000 (device adress)
    I do the following steps according to page 3-3:
    1.) "CWrite(0x10,0x000D0000)"
    I do this by BIOS Int 1A and it works, I can read it back.
    2.) "Write(0xD0340,0x0000AEAE)"
    This also works, I can read the values back with the DOS-Tool "debug":
    0xD0340 is 0xAE
    0xD0341 is 0xAE
    0xD0342 is 0
    3.) "CWrite(0x14,0x000D1000)"
    I also do this by BIOS Int 1A and it works, I can read it back.
    4.) "Write(0xD00C0,0x000D1080)"
    This step seems to be the problem:  After this, the device should be seen at 0xD1000, but it is not there, the space is empty.
    When I read the value back I get:
    0xD00C0 is 0x80
    0xD00C2 is 0x00 instead of the writen value 0x0D
    0xD00C3 is 0x00
    What is my mistake?
    Thank's for all help.
    0xD00C1 is 0x10
    0xD0343 is 0

    Sorry, the text seems to be mixed up then sending.
    Let me post this part again:
    I do the following steps according to page 3-3:
    1.) "CWrite(0x10,0x000D0000)"
    I do this by BIOS Int 1A and it works, I can read it back.
    2.) "Write(0xD0340,0x0000AEAE)"
    This also works, I can read the values back with the DOS-Tool "debug":
    0xD0340 is 0xAE
    0xD0341 is 0xAE
    0xD0342 is 0
    0xD0343 is 0
    3.) "CWrite(0x14,0x000D1000)"
    I also do this by BIOS Int 1A and it works, I can read it back.
    4.) "Write(0xD00C0,0x000D1080)"
    This step seems to be the problem:  After this, the device should be seen at 0xD1000, but it is not there, the space is empty.
    When I read the value back I get:
    0xD00C0 is 0x80
    0xD00C1 is 0x10
    0xD00C2 is 0x00 instead of the writen value 0x0D
    0xD00C3 is 0x00

  • Reading Digital Pulse with PCIe 6509

    Hello everyone,
    I'm trying to decode an Infrared signal from a remote control using the PCIe 6509, but I'm having no luck doing that. It seems that when I'm using the Change Detection VI it does generate the interrupt, but it can't produce it fast enough to create a pattern to use with the Daqmx Read VI. Does anyone know if something like this is possible? The idea is to make the PCIe 6509 generate a digital output signal for each differente key on the controller.
    Thanks!
    Kenny
    Solved!
    Go to Solution.

    The 6509 is a software timed DIO.  What you need is either a high speed DIO (like the PCIe-6535), an FPGA card (like the PCIe-7841R), or use an Analog Input on a DAQ board and process the data.  The FPGA boards require LabVIEW FPGA and are on the expensive side, but they are very useful for waveform processing in the hardware instead of trying to process it all in a slow OS.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • NI PCI 6509 on Opal-RT OP5600

    Hello,
    i use an Opal-RT OP5600 for a Hardware in the Loop test bench. I would like to increase mit digital I/Os with an NI PCI6509.
    My quesstion is, if some has already done this?
    If the PCI6509 Drivers are compatible with Redhat?
    How i define if one channel is an input or an output?
    Best Regards

    Hi Arne,
    I found this document which might be of interesst for you:
    What Linux Distributions Do National Instruments Drivers and Software Support?
    http://digital.ni.com/public.nsf/allkb/4857A755082E9E228625778900709661?OpenDocument
    Best regards,
    Adil

  • PCI-DIO-96 on Windows 7 64 bit

    I was running Labview 8.5.1 with a PCI DIO-96 card on a PC using Windows XP Professional. The PCI DIO-96 driver was a Traditional DAQ Legacy 7.4.4. The PC died and was replaced with a PC using Windows 7 64 bit. I loaded Labview ok, the PCI GPIB card seems communicates ok. I tried loading TDAQ750 but it appears it only supports Windows 7 32 bit. I also tried NIDAQ951F2 with no luck. Any suggestions to getting the PCI DIO-96 going before i ask our IT to load Windows 7 32 bit? At this point i don't know if Windows 7 32 bit will work.

    Try using the DAQmx drivers instead of the Traditional DAQ.  It is a much better API anyways.  If DAQmx doesn't support that card, go with the PCI-6509.  It is a very good card and I'm pretty sure it can be a drop-in replacement.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Working directly with bits

    I am working on a DNS tool. According to RFC 1035, communications with the DNS server are performed using bit streams.
    I am working on some preliminary tests of a simple application. However, it would be very nice to use direct bit manipulation because several of the fields in a DNS query are single bit flags.
    I have tried using byte primitives in arrays, however, due to signing, this has been problematic.
    Frankly, I have not done a lot of bit math. Is their a good guide available or a means of directly manipulating bits? (I am fully willing to read. I just have not found anything significantto start with.)

    Thank you Ge Ha. I looked at the BitSet class. This does allow for bitwise operations but seems to be a more "abstracted" text redition of a true bit stream. The BitSet Class uses booleans to represent the elements of the stream. This does look like a nice class for constructing bit stream representations, but I will need to do more research to verify whether or not it is viable in the application I am considering. (I will post the results.)

  • What does 64-bit 33 MHz mean for my PCI slots?

    Hi all,
    I was looking at my specs for my G4 and saw this under the PCI slot expansion section, 64-bit 33 MHz. What does it mean and what can I add to these slots to expand my Mac to the max? I know I can add video cards, controller cards,etc. What else?
    Thanks
    web dude

    Hi! PCI cards that are Mac compatible. Graphics cards, usb/firewire, gigabit ethernet cards, wireless cards and disk controller cards are the main ones. Tom

  • Creative Audigy 2 NX Bit Depth / Sample Rate Prob

    This is my first post to this form
    Down to business: I recently purchased a Creative Audigy 2 NX sound card. I am using it on my laptop (an HP Pavilion zd 7000, which has plenty of power to support the card.) I installed it according to the instructions on the manual, but I have been having some problems with it. I can't seem to set the bit depth and sample rate settings to their proper values.
    The maximum bit depth available from the drop down menu in "Device Control" -> "PCI/USB" tab is 6 bits and the maximum sample rate is 48kHz. I have tried repairing and reinstalling the drivers several times, but it still wont work. The card is connected to my laptop via USB 2.0.
    I looked around in the forms and found out that at least one other person has had the same problem but no solution was posted. If anyone knows of a way to resolve this issue I would appreciate the input!
    Here are my system specs:
    HP Pavilion zd 7000
    Intel Pentium 4 3.06 GHz
    GB Ram
    Windows XP Prof. SP 2
    Thnx.
    -cmsleimanMessage Edited by cmsleiman on -27-2004 09:38 PM

    Well, I am new to high-end sound cards, and I may be misinterpreting the terminology, but the sound card is supposed to be a 24bit/96kHz card.
    I am under the impression that one should be able to set the output quality of the card to 24bits of depth and a 96kHz sample rate, despite the speaker setting that one may be using, to decode good quality audio streams (say an audio cd or the dolby digital audio of a dvd movie.) I can currently achieve this only on 2. speaker systems (or when i set the speaker setting of the card to 2.) Otherwise the maximum bit depth/sample rate I can set the card output to is a sample rate of 48kHz and a bit depth of 6bits.
    Am I mistaken in thinking that if I am playing a good quality audio stream I should be able to raise the output quality of the card to that which it is advertised and claims to have?
    Thnx

  • VXIMove returns error 0x8000 only in 64-bit Solaris 8

    We are looking to migrate our Solaris CPU to a faster Blade 150 (or better) PCI-based workstation. The downside is that these latest workstations all contain 64-bit  processors so we are forced to run a 64-bit Solaris kernel. According to the NI-VXI documentation, the driver works on 32-bit and 64-bit kernels so I was not too concerned. Unfortunately our applications are not working properly when using the VXImove API call to move a chunk of data from VXI to a local memory address. The error is always 0x8000.
    We eliminated Solaris 8 as the problem by duplicating the setup on an Ultra 10 workstation which is also PCI-based but runs 32-bit Solaris 8. The same drivers were used in both cases. The VXImove works properly when running in Solaris 8 32-bit.
    I have attached my resman output  files for reference. Thanks in advance.
    Attachments:
    resman.err.txt ‏1 KB
    resman.out.txt ‏6 KB
    resman.tbl.txt ‏1 KB

    Hello All,
    I would like to clarify one of the statements made earlier in this forum.  NI VXI is not supported as a 64-bit application, under any circumstances.  One can user NI VXI on a 64-bit system, but they must run it as a 32-bit application in order for it to function correctly, and therefore lose the 64-bit processing capability. 
    It is true that NI-VISA is simply an added layer between the driver and your application.  As KnowledgeBase 2QDASEPG: Supported NI-VISA Operating Systems and Features points out, NI-VISA only supports VXI functionality on 32-bit operating systems.  This is because the NI VXI driver itself is only supported as a 32-bit application.
    Chris_G
    Sr Test Engineer
    Medtronic, Inc.

  • Unable to handle 64-bit address space

    MDS 9216i keeps rebooting and getting the following message:
    Starting kernel...
    PCI: Unable to handle 64-bit address space for
    PCI: Cannot allocate resource region 7 of bridge 02:01.0
    PCI: Cannot allocate resource region 0 of device 02:01.0
    PCI: Error while updating region
    PCI: Failed to allocate resource
    PCI: Error while updating region
    Any suggestion..?

    I don't believe that CDETs is open against the 9216. If you are seeing this error occur on the MDS console, then I suspect a hardware error on the 9216. Software failures would land you at a BIOS prompt, or at a 'LOADER>' prompt. I suggest you contact your 9216 hardware service provider.

Maybe you are looking for

  • Using Finder to copy to an external drive

    I need to copy my home directory using Finder to an external drive that I save in the safe as a backup.  Last month I spent 1 hour with Apple support to somehow achieve that and I wrote down the instructions. The support staff tried a variety of "app

  • Blue Screen of Death on Sync

    I am experiencing an issue with Itunes where my computer (Windows Vista SP2) crashes to Blue Screen when syncing my iPod Touch or iPhone4.  It happens every time but not always at exactly the same time.  Though it is always during teh file sync (apps

  • ITunes videos coming soon

    Is there anywhere I can find out what is up and coming TV shows that will be on iTunes? We live in Japan and now even for the kids this is a lifesaver! TIA   Windows XP  

  • IAS Dynamic Reloading doesn't reload related classes!

    Hi, I am trying to configure dynamic reloading on the development machine [on Solaris 5.8] in order to get servlets and classes invoked by those servlets updated dynamically without having to restart the process. What I'd done was setting the SYSTEM_

  • How do Javascript refer to JSF IDs?

    Hi I have a JSF page and want to launch a java script (calendar pick date popup) from it. The java script pass in the HTML input ID (inputText0) of the input field to populate (result from date pick). But, I do not know the HTML input ID since JSF ge