Driver Development M-Series

Hello,
i have to develop a driver for the NI M-Series (PCI-6232, PCI-6250 and USB-6216).
One of our customers wants to use these cards in a Windows XP RTX Environment. My company has been asked to provide a DLL-File, which the application will use to access the Hardware. It is not allowed to use the Windows Driver in this RTX Environment, so we have to use direct Register Access.
I do not have any NI hardware at this time,  I'm just trying to find out whether or not this is actually feasible.
I have to provide 4 basic functions:
- Initialize Device
- Start/Stop a continuous measuring (0 - 16 Analog Channels)
- Read ADC values from card memory (all 16 Channels must be read in <20 microseconds)
- Set a single Digital I/O Channel
I already looked into the MHDDK, where i found a lot of code-samples and the register map for the M-Series. However, the information I found does not answer all my questions.
So far, I found the aiex1.cpp example quite helpful, but in this one a new scan is triggered for each sample. How can I trigger a continuous measurement? Is this even possible?
Is there any way to get a more detailed registermap, with a description of what the registers actually do?
Thanks in advance for any help.
Regards
reini1981

Hello Reini,
The M Series cards have different modes for acquisition depending on what you need.
The hardware timing is probably the mode that you want (aiex3.cpp or aiex4.cpp).  It will give you the opportunity to acquire data at the fastest rates that these cards offer.  However, aiex3.cpp and aiex4.cpp are not a continuous example.  To turn it into a continuous example set continuous to kTrue.  Then you will also need to stop the acquisition when your application decides it is done.  The AI_End_On_End_Of_Scan bit will let you stop the hardware from acquiring more data.  Then your application can read the last data that was acquired.
You can use the M Series register map along with the descriptions found in the DAQ-STC Technical Reference Manual to get all of the information you need about how to use the card.
http://www.ni.com/pdf/manuals/340934b.pdf
There is even a section on continuous AI (section 2.4.3.3).
Steven T.

Similar Messages

  • Developing M-series 6229 board driver

    Is there any source code available to help in this task, such as the daqmx-base 1.5 driver code? I have 2 of these cards and wish to develop comedi drivers for them for use in RTAI.
    Edit: OS=Linux, kernel 2.6 w/ RTAI if possible.Message Edited by foobar on 06-17-2005 06:47 PM

    Hi Chris-
    You may be interested to know that the latest version of the Measurement Hardware Driver Development Kit (MHDDK) now supports M Series boards.  Complete M Series RLP documentation is still in the works, but examples of how to program common tasks are included with this kit.
    If you have specific questions about programming with the MHDDK or its capabilities I would recommend checking out the DDK Forums.
    Thanks-
    Tom W
    National Instruments

  • Driver for MM4000 series (motion controller) for labview 6.1 (gpib)

    Hello,
    I need the instrument driver for a newport motion controller MM4006.
    I found the driver for MM4000 series, it could be ok, but I need it for labview 6.1 and not  for labview 7 or 8.
    Is it possible to find this driver for older version of labview than 7 or 8?
    Thanks
    Best regards.
    Ludovic

    Good idea, I'm not sure of the result, but... Here is the zip file (aviable here).
    (oups, you were faster ^^)
    Message Edité par Mathieu R. le 12-08-2006 05:19 PM
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  
    Attachments:
    npmm4000.zip ‏419 KB

  • Driver development for 6221 card in RTX & VC++

    Hello All,
    For my application, I need to use NI-6221 card in RTX (Adrence/Venturcom) and VC++ environment. Since NI provides RTX support only in LabVIEW environment, It was informed that we need to write a register level program.
    I have got some examples (for register level program) from NI website (MHDDK) which when I try to compile, it throws an error looking for some RTX functions.
    1. I am using RTX v6.0 for development. Is there something else i need to install to get those RTX functions. What is the procedure that i should follow to compile the examples?
    2. In my application, I have the register level program for NI-6013 (E-Series) card in RTX environment. Is the acquiring procedure same for both E-series and M-series cards?
    3. I also need the base address for accessing the cards memory. Is there any document that gives the details of the base address and other offset addresses?
    Any information on this regard will be of great help to me.
    Thanks,
    Ashok kumar A.

    THE ANSWER IS THAT YES YOU CAN DO THIS IN NI-VISA!
    Some have said that you need a kernel driver. This is partially true in that a PXI or PCI card (they are the same as viewed by the OS) must have a kernel driver. NI-VISA provides one for you.
    You said that you do not have a manufacturer ID. This is a requirement of all PCI cards and no kind of driver will work until the card has one. Once you have this ID, run the VISA PXI Driver Development Wizard and it will generate an INF for you for all supported NI-VISA environments that support PXI/PCI. Read the instructions in the appropriate INF file for how to install it into the system so that the OS will attach NI-VISA to your device. It's really simple. NI-VISA supports PXI/PCI on Windows 95, 98, ME, NT
    4, 2000, XP, and LabVIEW RT.
    Some have said that MAX will just show you all PXI/PCI devices in your system. Your device will not show up until NI-VISA can see it, and that won't happen until you generate an INF as described above.
    Since the INF file associates NI-VISA itself to your card, the ADE you use does not matter. NI-VISA supports PXI/PCI in LabVIEW, CVI, MSVC, Visual Basic, or any other ADE that normally works with VISA.
    NI-VISA works well even with more advanced devices because we support all types of register accesses (config, I/O, memory) as well as interrupt handling. Just look at the visa.h that NI ships in the VXIpnp directory. If you are using C/C++, make sure you define NIVISA_PXI before including visa.h. If you use LabVIEW, you need to use the address space numbers as defined in visa.h.
    Good luck.
    Dan Mondrik
    Senior Software Engineer, NI-VISA
    National Instruments

  • Can you a second Sata Hard Disk Drive in M Series?

    Hello,
    Can I install a second hard drive in M Series?
    In particular I would like to install a Seagate Barracuda SATA 1TB drive.
    I know it only has one bay, but I can house the disk in a separate case.
    Thank you
    Solved!
    Go to Solution.

    I believe it depends on the version of the m series you have.
    on the m72e series (small form factor); there is only one 3.5" sata bay.
    on the motherboard, there are 3 sata headers (cd drive/ hard drive + 1 other).
    the way i did it was to order a silverstone dual 2.5 => 3.5" drive adapter that screwed into the drive slot (you have to be careful; not all drive adapters have bottom screw mounts).
    This allowed me to put a 2.5" ssd and a 2.5" hard drive in the case.
    otherwise, it would be pretty tight/impossible to squeeze in 2 full size 3.5" hard drives in the m72e

  • How / from where to start on Solaris Driver developement?

    Hi,
    'm a User domain developer, want to also learn about driver developement.
    Please give me pointers so that I can start with
    Thanks,
    -Vikrant

    First of all you should download the following two documents:
    - Writing Device Drivers
    - STREAMS Programming Guide
    If you want to develop USB drivers you must have USBA 1.0 installed (Solaris 8/9 has 0.8 as default) and additionally download the "USB DDK" from Sun.
    A device driver is an object file (created by "ld -r ..."). You cannot decide if you use 32 or 64 bit. On a 64 bit OS you MUST use 64 bit code.
    If you use GCC: On Sparc machines 64 bit code is generated using "-m64", not using "-xarch=v9".
    The driver must provide three functions: "_init", "_info" and "_fini" (see first document).
    There are two types of drivers:
    1) Streams drivers (described in the second document) are drivers for stream devices. These are all devices that implement a character stream and can be used with "streamio" ioctls. Examples are: All terminals and serial ports, printer ports, mice, keyboards, ...
    These devices communicate with the system calls (e.g. read, write, ioctl) using special data packets. Therefore programming Streams drivers is very different from writing other drivers.
    All streams devices are character devices.
    You can also write streams modules (see man streamio, I_PUSH). Such modules are "filters" that can modify the data between the device driver and the application.
    2) Other drivers. They may be character or block devices. These drivers have different functions for different function calls. Example: The "ioctl" function call will call the function "MyDriver_Ioctl" of your driver.
    I think writing a non-streams driver is way more simple than writing a streams driver. I had some system crashes when running instable self-written streams drivers. However some drivers must be streams drivers e.g. if you want to use the device as a terminal device or if you want to push modules using I_PUSH.
    Unlike Linux the OS detects the presence of hardware and decides when to load a driver. You create the file /kernel/drv/NameOfYourDriver.conf with driver settings. This file also contains the information that your driver does not require hardware (e.g. ram disks). You must add your driver to the system by typing "add_drv NameOfYourDriver". Use the "-i" option to tell the system which hardware is handled by your driver.
    Martin

  • Driver development for custom PCI card

    Hi friends,
    I've a PCI card developed in-house. How to prepare a driver for the same in LabVIEW? Can I develop drivers in VISA? I don't have a manufacture id. Is there any other method to develop a driver for PCI card? Once developed, can I use them for other platforms like VC++? My OS is Windows 9X/NT & 2000. I need a driver to use for all these. Lot of querries! hope I made it clear.

    THE ANSWER IS THAT YES YOU CAN DO THIS IN NI-VISA!
    Some have said that you need a kernel driver. This is partially true in that a PXI or PCI card (they are the same as viewed by the OS) must have a kernel driver. NI-VISA provides one for you.
    You said that you do not have a manufacturer ID. This is a requirement of all PCI cards and no kind of driver will work until the card has one. Once you have this ID, run the VISA PXI Driver Development Wizard and it will generate an INF for you for all supported NI-VISA environments that support PXI/PCI. Read the instructions in the appropriate INF file for how to install it into the system so that the OS will attach NI-VISA to your device. It's really simple. NI-VISA supports PXI/PCI on Windows 95, 98, ME, NT
    4, 2000, XP, and LabVIEW RT.
    Some have said that MAX will just show you all PXI/PCI devices in your system. Your device will not show up until NI-VISA can see it, and that won't happen until you generate an INF as described above.
    Since the INF file associates NI-VISA itself to your card, the ADE you use does not matter. NI-VISA supports PXI/PCI in LabVIEW, CVI, MSVC, Visual Basic, or any other ADE that normally works with VISA.
    NI-VISA works well even with more advanced devices because we support all types of register accesses (config, I/O, memory) as well as interrupt handling. Just look at the visa.h that NI ships in the VXIpnp directory. If you are using C/C++, make sure you define NIVISA_PXI before including visa.h. If you use LabVIEW, you need to use the address space numbers as defined in visa.h.
    Good luck.
    Dan Mondrik
    Senior Software Engineer, NI-VISA
    National Instruments

  • Urgent!! How to use driver development in visual C++ 6.0...

    Can anyone help me ...
    i want to know where can get this driver devepment and how to setup this...
    please help me...
    thanks for everyone who read and help...

    Can you elaborate a little more about what you're trying to do? What kind of driver development are you interested in doing? Or are you trying to use drivers (and what kind of drivers) from an application you're trying to write?

  • Is there a USB Instrument driver developer tool for CVI

    Is there a USB instrument driver developer tool/guide for CVI?
    Thanks
    Chip B.
    Solved!
    Go to Solution.

    Hi! ASIC LabRat,
    I agree with your comment.  IVI drivers take too much overhead and the executing speed can be very slow compared to the drivers developed using VISA platform.  The previous link sent by the NI engineer was very old (2001) and doesn't really help you at all. 
    Please take a look at this one instead: http://zone.ni.com/devzone/cda/tut/p/id/4713. 

  • Does LabWindows/CVI: IVI Instrument Driver Development Course contain subject like Communicating with Instruments(SCPI commands)

    HI,  I am having query regarding; Does LabWindows/CVI: IVI Instrument Driver Development Course contain subject like Communicating with Instruments(SCPI commands)
    LabVIEW: LabVIEW Instrument Control Course Day 1 coves subject like Communicating with Instruments This lesson describes how you can use LabVIEW tocommunicate with instruments. You will learn how touse NI-VISA, NI Spy, SCPI commands, and theInstrument I/O Assistant to perform instrument I/O. My question is to you,Does LabWindows/CVI: IVI Instrument Driver Development Course covers similar kind of training like Communication with Instruments? I am more interested in learning How to use SCPI commands to perform instrument I/O. Will you please guide me? So I can choose correct training course. Thanks & Regards,Jay +91 90110 62790EXFO Electro Optical Engineering India Pvt. Ltd.701, 7th floor The Ceribrum IT Park,Kalyani nagar. Wadgaown Sheri India, Maharashtra, Pune 411014  

    stick to the original thread.

  • Where to download visa driver development tool

    I need visa driver development tool ,but I don't know where to download it? HOPE TO GET HELP.

    Under Tools>Instrumentation, is the Create Instrument Driver Project. Is that what you are talking about? That's in LabVIEW 8.x and I did not have to select or download anything. Since I did a full install of LabVIEW and all drivers, it may be that it is included with the installation of NI-VISA but that would be just a guess to try if you don't have it.

  • Advanced LabVIEW Instrument Driver Development Techniques

    Hi, reading AN006-Developing a LabVIEW™
    Instrument Driver and in page 2 I find:
    "refer to the Advanced LabVIEW Instrument Driver Development Techniques application note."
    I can not find this AN. Is the name correct ?
    Bye
    Luca

    Hi Luca,
    the link you're looking for should be this:
    http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/e7a1635c2166e0728625680a005b0b9a?OpenDocument
    Happy new year,
    Alberto

  • Labview Instrument driver development-career path

    Hi,
     How is the career path for a labview Instrument Driver Developer ( Third party instruments like Scope,DMM).

    First off LINK, just click on your name the link is duplicated in your recient posts on your profile page.  (Lots of interesting features in the forums)
    As far as career potential for a LabVIEW developer:
     All the skill in the world with LabVIEW won't do much unless you can apply it effectively.  It is a good skill set to have but, LabVIEW itself is a means to accomplish something else.  In my case it facillitates developing automated tests. From your post it would facillitate development of instrument drivers likely, secondary to the goal of facillitating the sales of those instruments.  So, you need more than LabVIEW, you should develop skill and knowledge about Instrument driver standards, instumentation, and communications protocols. While you are doing that you also need to be able to demonstrate your LabVIEW proficeincy.  Certification can help with that.
    Couple some serious understanding of test and measurement techniques with NI Certification and.... well lets just say you can pay the bills with it.  I Know. 
    Jeff

  • USB driver development using DDK

    I heard that Sun Blade 1000 supports USB.
    To connect our product with Sun machine through USB, we are trying to develop USB device driver using DDK for Solaris.
    Please let me know that present DDK supports USB device driver development.
    Thank you in advance.

    You may want to look at
    http://soldc.sun.com/developer/support/driver/docs/whitepapers.html
    There are a couple of whitepapers on the subject
    Regards,
         Cyril
    I heard that Sun Blade 1000 supports USB.
    To connect our product with Sun machine through USB,
    we are trying to develop USB device driver using DDK
    for Solaris.
    Please let me know that present DDK supports USB
    device driver development.
    Thank you in advance.

  • VISA Driver Development Wizard

    I found a reference to this great document called
    Using the VISA Driver Development Wizard and NI-VISA to
    Register-Level Program a PXI/PCI Device under Windows.
    As I described in another post, I am having performance problems
    using AccessHW to talk to a legacy ISA board under XP compared to
    Win2k where performance was decent.
    To rule out AccessHW as the problem and confirm that it is an
    XP/hardware issue, I'd like to try another method of
    reading memory at address 0xE0000-0xEFFFF.
    Since the legacy ISA bus on my motherboard is actually
    bridged from the PCI bus, is there anyway to hack with the
    VISA Driver Development Wizard to do memory reads
    on the ISA bus?
    Perhaps making a fictious PCI card with a VISA driver?
    any thoughts?
    mlewis

    Hi Graham,
    Which version of the NI VISA drivers are currently installed on your system?
    Thanks,
    Applications Engineer

Maybe you are looking for

  • FiOS TV cutting out to snow, resetting TV and set-top box?

    Greetings all, I'm hoping someone can help here; I have a Motorola HD DVR 72161 (Verizon supplied) connected via HDMI to my Sharp Aquos LC-46D65U. Over the last few weeks, something odd is happening: after watching TV for a while, my picture will cha

  • 2012 Macbook Pro Hard drive failure

    I have a 13" MBP purchased in September 2012 with a 750GB hard drive. A few weeks ago I noticed it running slower than usual and sometimes it wouldn't boot correctly, throwing up the folder question mark or the circle strike through symbol at the boo

  • BPM Error during delivery of message

    Hi All, I am working on BPM Scenario, to collect the files based on Correlation Id. Its working file in PROD, Last 2 days back we processed 20 message, 4 was not processed. Data looks good, and i am trying to process those 4 records. I am getting the

  • Email Notification Activity in BPEL with SOA10g suite

    Hi I am trying to use Email Notification activity in my BPEL process. After execution everything going well, but not receiving any mail in my mail box User Defualt in the from account To : I have used my regular email id CC : also one of my email id

  • My battery drains

    With the new IOS 6 my battery is draining again. Did all the usuals.