How to control instrument switch through PCI-6503 & 50-pin I/O connector

Hi, everyone:
I have a problem in controlling an instrument switch which switch position between zero point and measuring point every five minutes during experiment. The hardware used is PCI-6503 card & corresponding 50-pin I/O connector, cable and the software is labview.
The instrument manufacturer provide a cable(25-pol.SubD-plug male)for connection to computer(or DAQ board).The instrument manual showed the following pin assignment for this cable:
25-pol subD-male pin assignment(TTL-level):
meaning zero point measuring point
Pin 9 MP L H
Pin 7 ZP H L
Pin 23 Gnd
Pin 18 Gnd
Pin 4
Remote H H
Pin 3 Weight1 H L
Pin 2 Weight2 L H
Pin 5 Gnd
(weight1&weight2 is for calibration purpose)
I want to connect these cable pins to Port A(pin 33-47) of I/O connector and then using labview easy digital I/O "write to a single port.vi" to programming it. But I don't know how to connect these pins. For example, pin-5,pin-23,pin-18 is Ground, how can I realize it ? Do I need to connect other pins in 25-pol sub-D plug(besides above 8-pins) male to 50-pinvI/O connector or just leave it alone? Hope everyone give me idea. Of course, the detail is preferred since I have a good background in electronic.
Also I will be very happy if everyone have a labview programming sample in similiar application.
Thank you very much for help!
Sincerely
Jingjun

Hello;
My understanding is that you need to connect each one of the GND pins to each one of the GND pins of the DAQ board. By doing that you will be creating the reference to the TTL signals being read on the DAQ board. The MP and ZP would go to any digital line of the preferrable Port and you should be good to go. As far as I'm concerned, you don't need to make any extra connection.
I don't know exactly what you are willing to do with the data but, once the data changes each five minutes, you don't need any speed digital application. If you take a look at the Labview shipping examples for 6503 doing read from 1 Digital Port.vi, you should be ok.
Hope this helps.
Filipe

Similar Messages

  • How to control RS232 Interface through LABView?

    Does LABView have the ability to control RS232 Interface? If it does, what version of LABView has this capability? The LABView versions that we have in the company are 7.2 and 8.1 only. The operating systems that we have are Windows and Linux.

    i have a question i am wanting to control an rfid reader/writer that has a  RS232 or USB connection through labview. Here are some specs on the product. is this possible for it to work.
    Key Features
     Fast data transfer
     Supports multi-detection
     ANT1015A for wall or desktop 
    mounting
     Baud rate: 19,200bps, N, 8, 1
     ABS housing
     RS232 or USB connection
     IP40 protection rating: waterproof 
    and dustproof
    Technical Specifications
    Frequency 13.56MHz
    Technical certificates CE, FCC
    Power requirements 12V DC, 300mA 
    Display 3 status LEDs
    Read/write distance 30cm, with ISO 15693 compliant transponders
    Technical Certificates CE, FCC 
    Antenna connection RP-SMA 50ohm
    Transponder compatibility HF, ISO 15693 compliant transponders
    Operating temperature 0 to 60°C
    Storage temperature -20°C to 70°C
    Humidity 10% to 90% relative
    Dimensions 345mm × 240mm × 20mm (L ×  W × H)
    The link below will take you directly to the product.
    Hf Rfid
    Attachments:
    13.56 MHz. High Frequency (HF) Reader RFID Writer with Antenna.pdf ‏389 KB

  • How to control cFolder authority through BADI

    Dear Expert,
    We're on SRM 7 and do the integration with cFolder in RFx.
    Now we want to control authority in SRM through BADI.
    In the BADI, we will use function CFX_ACO_API_ACTIVITIES_SET to set authority based on different user and apporver.
    For exemple:
           CFX_ACO_API_ACTIVITIES_SET
                     L_OBJECT_ID = GUID of folder/area
                     I_USER_ACTIVITIES = Read authority for user
    But after we longon cFolder system throught SRM system collaboration link, the authority do not change , still admin.
    Could you please give me some idea about it.(SRM and cFolder are installed in one system server).
    Your help would be really appreciated.
    Thanks & Best Regards,
    Bill

    Hi, 
    That such to use roles for each user:
    SAP_CFX_USRGRP_DELETOR     cFolders: Deletion of User Groups 
    SAP_CFX_USRGRP_CREATOR     cFolders: Create User Groups 
    SAP_CFX_USER_ADMINISTRATOR     cFolders User Administrator 
    SAP_CFX_USER                           cFolders User 
    SAP_CFX_SUPER_USER_ADMIN     Superuser with Admin Rights 
    SAP_CFX_STD_DELETOR                           cFolders: Delete Collaborations in the Standards Scenario 
    SAP_CFX_STD_CREATOR                           cFolders: Create Collaboration in the Standards Scenario 
    SAP_CFX_STATUS_PRF_DELETOR     cFolders: Authorization to Delete Status Profiles 
    SAP_CFX_STATUS_PRF_CREATOR     cFolders: Authorization to Create Status Profiles 
    SAP_CFX_NETWORK_ADMINISTRATOR     cFolders Network Administrator 
    SAP_CFX_EXT_USER_ADMIN     cFolders External User Administrator 
    SAP_CFX_EMAIL_SYSTEM_USER     cFolders System User for Sending E-Mails 
    SAP_CFX_COMP_DELETOR     cFolders: Delete Collaborations in the Competitive Scenario 
    SAP_CFX_COMP_CREATOR     cFolders: Create Collaborations in the Competitive Scenario 
    SAP_CFX_COL_DELETOR                           cFolders: Delete Collaborations in the Collaborative Scenario 
    SAP_CFX_COL_CREATOR                           cFolders: Create Collaborations in the Collaborative Scenario 
    SAP_CFX_CFOLDERS_ADMINISTRATOR     cFolders Application Administrator 
    SAP_CFX_ADMINISTRATOR     cFolders Administrator
    Rgs,
    Pedro Marques

  • How to control partner function through security objects ??

    Hi, theres any way to control witch Partner function are avalilable to assign in support messages ??
    Theres any security object to control that ??
    I have configured rules for automatic determintation, but in certains cases i need to assign manually.
    I need to control this asignation Partner function
    Any ideas ?? CRM_ORD_OP ??
    Best Regards

    I got it fixed my self.
    here is the solution.
    in user exit :EXIT_SAPMM06E_012.
    call below FM: MM_CALL_UPDATE_PARTNERS
    Trick is pass the partner values the one you wanted to below table: x_mmpa and xuekpa.
    you can calculate partner records from wyt3 table depends on your logic/requirement.
    CALL FUNCTION 'MM_CALL_UPDATE_PARTNERS'
         EXPORTING
           ebeln       = wa_ebeln
           bstyp       = 'F'
    *     knuma       = wa_knuma
           application = 'P'
         TABLES
           x_mmpa      = it_mmpa1
           y_mmpa      = it_mmpa2
           xuekpa      = it_uekpa1
           yuekpa      = it_uekpa2
           i_mmpa      = it_mmpa3
           u_mmpa      = it_mmpa4
           d_mmpa      = it_mmpa5.
    Thanks,
    Mahesh

  • How can I access the control lines of a PCI-1422 from within C++?

    I would like to know how the control lines of a PCI-1422 can be accessed (set) programmatically from within C++ (MS VC++7, Windows XP). A flat panel sensor connected to the PCI-1422 needs the control lines to switch on features like binning which I want to use.
    Unfortunately I was unable to identify an appropriate command in the IMAQ documentation. Does anyone have experiences with this?
    Thank you very much in advance!

    Kluas,
    The control lines are not exposed through any API. The control lines are run by the driver based on the instructions in the camera files. If the cammera file supports the binning functionality of your camera then you should be able to set the attributes such that the board runs the control lines approriately.
    Hope this helps,
    Amaury
    NI Applications Engineer

  • PCI-6503 configuration - split port C

    Quite a few years ago I wrote a program that used a DIO-24 to read and write data from a test fixtrue with FIFOs and other junk on it. I could not find a clean way to configre the 8255  in mode 0 with ports A, B, and C_lo_nibble as inputs and C_hi_nibble as output with any of the supplied NI code.
    At the time the solution was to use WriteToPhysicalMemory and ReadFromPhysicalMemory as below:
    // configure 8255
        Get_DAQ_Device_Info (1, ND_BASE_ADDRESS, &dio24_base);
        dio24_portA=dio24_base;
        dio24_portB=dio24_base+1;
        dio24_portC=dio24_base+2;
        dio24_control=dio24_base+3;
        sb[0]=0x093;    WriteToPhysicalMemory ( dio24_control, sb, 1);
    Over the years newer similar projects switched to PCI-6503s and all worked fine until a NI security patch removed support for WriteToPhysicalMemory and ReadFromPhysicalMemory and other direct memory access.
    See:
    <http://digital.ni.com/public.nsf/allkb/A07451671E7263598625792800677970>
    The simple DIG_Prt_Config does not seem to support split input/output on the 8255's port C.
    Can anyone point me in a relatively simple method of regaining split I/O on port C of the 6503?
    Thanks in advance,
    Ed Yoho

    Emily,
    The initial refererenced document (Digital I/O Applications) uses the outp() function and then "ors" the required configuration bits to create an eight bit word with the binary value of 10010011 for split port C operation.
    The line:
    outp(dio24_control, 0x093);
    is the configuration statement and is sending an eight bit word with 10010011 in it (Mode 0 Number 11) to the address. as found by:
        Get_DAQ_Device_Info (1, ND_BASE_ADDRESS, &dio24_base);
    The problem is "outp()" was designed way back at the beginning of the PC world (8086 / EGA days) and was limited to addresses from 0 through 03FF (or maybe 03F0, I can't remember for sure).
    If the module was an ISA based device, this would still work. When using a PCI interfaced device, the module address is well outside the area defined above.
    If you look at B-11 "PCI Initialization for the PC", you will be a bit closer. This is close to what I did when switching from the old ISA DIO-24 (that used outp() and inp() functions) to the PCI-6503.
    When switching from ISA to PCI quite a few years ago, I discovered the built in configuration functions within Labwindows still did not seem to support splitting port C on 8255s. That is when I started using the WriteToPhysicalMemory and ReadFromPhysicalMemory as direct register write/read.
    Unfortunately, National has removed WriteToPhysicalMemory and ReadFromPhysicalMemory and now I am stuck looking for a replacement.
    What I am looking for / in need of is a replacement for the two deleted functions that will allow me to directly read/write the 8255. Unfortunately, outp() and inp() won't do it (I tried it with the remote possibility NI had rewritten the functions to work with PCI addresses).
    Ed Yoho

  • How can i write a pattern to a output port of NI PCI 6503 with Traditional NI DAQ 7.0 and Visual Basic 6.0?

    Hello, i'm using a NI PCI-6503 (with CB50LP accesory) to write digital patterns to one of the output ports. Can i do it directly from NIDAQ7.0?
    I know  some Visual Basic 6.0 functions to configure a par as output and to write a pattern to a port, but i don't know how run it.
    I've read some examples from "Help" (C:\Program Files\National Instruments\NI-DAQ\Examples\VBasic\Do) but I can't measuring TTL levels on my CB50LP accesory.
                    Thanks!!

    Hello,
    What is your buffer size ? The buffer should be 0 or greater than 2. You can get this error if your buffer size is equal to 1.
    Regards,
    Isabelle
    National Instruments France
    Isabelle
    Ingénieur d'applications
    National Instruments France

  • How can I control instrument using its RS232 port in VB or VC++?

    1)How can I control instrument using its RS232 port in VB or VC++?
    2)What's the module or .h file need I add-in to VB or VC++?
    3)Can you provide me some easy examples for that?
    Thanks!

    Kevin,
    I've used Measurement Studio - Tools for Visual Basic and Tools for Visual C++ (ActiveX component) for instrument control.
    I've used both the VISA and non VISA versions and they are pretty straight forward to use for GPIB, Serial or VXI.
    You might find the following page useful.
    http://www.ni.com/mstudio/cworks.htm#ICC
    Regards,
    Kamran

  • Register level programming of interrupts for PCI 6503

    Hi all,
    I'm basically trying to get an interrupt from the card upon a change in the data of one of the ports (for instance port A) so I can catch pulse signals without having to poll the pins manually at a high rate. I can't figure out from the documentation and examples whether this is actually possible using register level programming (can't use the DAQmX libraries because I use InTime OS). I can set the appropriate bits of the Interrupt Registers in order to enable the two interrupts (A and B), but I'm not sure what condition generates these interrupts.
    Additionally, I want to be able to send out a pulse on a pin and have it automatically cleared by the board.
    As far as I can tell both of my requirements mean using the card in strobed mode, but the code examples don't give enough information how to work in this mode. Do i have to use the handshaking mechanism somehow and if so, how is this better for me over using static i/o and manually checking pin values?
    Any help or referrence would be greatly appreciated.
    Thank you in advance
    Orr

    Hi Orr,
    The best source of information for this device is its user manual [1], and Appendix B discusses the register map and programming considerations.
    Speaking specifically to interrupts, please refer to PDF page 43 (B-2), emphasis mine:
    Two software-controlled registers determine which devices, if any, generate interrupts. Each of the 82C55A devices has two interrupt lines, PC3 and PC0, connected to the interrupt circuitry. On the PCI-DIO-96 and PXI-6508, the 82C53 device has two of its three counter outputs connected to the interrupt circuitry. Any of these 10 signals can interrupt the computer if the interrupt circuitry is enabled and the corresponding enable bit is set. Refer to the Programming Considerations for the 82C53 section for more information. Normally, the handshaking circuitry controls PC3 and PC0 of the 82C55A devices; however, you can configure either of these two lines for input and then use them as external interrupts. An interrupt occurs on the signal line low-to-high transition."
    The pages following that section describe the interrupt control registers and give pseudo-code examples for configuring them.
    Once we clear this obstacle, let's move on to your output questions.
    [1] PCI-DIO-96/PXI-6508/PCI-6503 User Manual
    http://digital.ni.com/manuals.nsf/websearch/6E8329494F3955528625758300678D55
    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)

  • Control Instrument using RS232 port

    I have tried to download the IVI driver of the Agilent E3633A that stated can communicate using GPIB or Serial.
    I tried to initialize the instrument but no successful.
    I used a twisted ( tx and rx swap) RS232 cable (female to female) to connect between the instrument and PC com port.
    Please help to advice on how to control the equipments using RS232 port inlabview. Thanks!

    Hello,
    Here's what you can do to verify that you have established communication with the instrument.
    First gather the relevant information:
    1. Find a command that you know your instrument "understands" (it is highly likely that it will understand *idn? which should prompt the instrument to reply with a description of itself).
    2. Verify the serial settings that your instrument uses by default, such as baud rate, number of data bits (likely 8), parity, and the number of stop bits. You can also verify what termination character the instrument uses (which it likely does); this is the last character you will need to send after sending the relevant command characters, and it will indicate the end of the command to the instrument so that it stops reading from the serial port. I doubt that the instrument is configured for flow control of any kind by default, so don't worry about that unless there is specific indication of this in the manual for your instrument.
    3. Verify the type of your cable; that is, you will need to connect pin 2 of your computer's COM port to pin 3 of your instrument's COM port, and pin 3 of your computer's COM port to pin 2 of your instrument's COM port. Some cables automatically switch these connections with the wires inside the cable, others are "straight through." You can bypass the cables altogether and just use wires to make the relevant connections initially; don't worry about a twisted pair at first, just keep the wires short and you should be ok (unless you are in a particularly noisy environment).
    Now build the LabVIEW program:
    1. Open a blank VI
    2. Navigate to and pin down the following functions palette on the block diagram:
    All Functions -> Instrument I/O -> Serial
    3. Place onto the block diagram the four VIs/functions in the top row in the order they appear (should be VISA Configure Serial Port, VISA Write, VISA Read, VISA Close); note that the open will be performed implicitly the property node inside the VISA Configure Serial Port VI (don't worry about this).
    4. Hover over the upper left hand terminal of the VISA Configure Serial Port VI, right click, and choose
    Create -> Constant; now select the PC COM port you connected your instrument to in the newly created constant
    5. Create constants for the inputs to match the serial parameters that you found for your instrument above if the default values don't already match. Note that the defaults used by this VI include activating the linefeed termination character to be used when reading, as well as standard settings for serial port which may already match your instrument (check by hovering over the ports with the wiring tool; the default values will show in parenthesis)
    6. Wire the top right hand terminal to the top left hand terminal of adjacent VI's (which should be in the order noted above); this connects the resource name to each so they perform the operations on the chosen serial port
    7. Wire the bottom left to the bottom right hand terminals in a similar fashion; this connects the error clusters
    8. Almost done... now hover over the remaining left input of the VISA Write function (called write buffer), right click, and create a constant; type *idn? (and include a linefeed character at the end by typing the key)in the string constant that you just created
    9. Similarly for the read function, create a constant for the input that indicates the number of bytes to read (perhaps make this number 100 as you will likely terminate the read appropriately when a termination character is read; your instrument will likely send this), and create an indicator for the "read buffer" output which will show you the string that is read back when you run the program.
    10. You should now be able to run the program; hope it works.
    I would have included a screenshot or example instead of a description, but I don't have access to that at this time and perhaps it is best to actually go through the process of building the VI anyway if you are new to LAbVIEW.
    Good luck and repost if you continue to have troubles!
    Thank you,
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

  • PCI-6503 RLP Mapping.

    Hello,
    I have a PCI 6503, and I am developing a driver to run the card.  Everything, so far, is going fine.
    The driver loads, I have the VID and PID for the device.  PNP finds the board and tells me all about it.  I have the doc ...  "PCI-6503 User Manual" (374938b.pdf) and was doing fine until the appendix B, page 14.
    But now I have some concept questions.
    The driver is enumerating the resources with memory (and an interrupt) not register ports. I was epxecting registers...
    Specifically there are two memory windows,  Then the appendix starts talking about remapping memory.
    First....  Isn't that a violation of the PCI PNP spec to redefine resource addresses?    Why would this even be an option?  It says the programmer has to keep track of what resource is being used...  so I have to go into the device manager and look at all the resources, and pick some that are not used?  Which is fine until the PNP manager reassigns some stuff.  Then the machine is dead in the water...
    Next... The next page (B15) has a table of 'register' addresses.  But the PCI PNP enumeration didn't give any registers, only memory addresses.  Where do these come from?  (is it a misnomer?)
    Then I just get even more lost...  The doc starts talking about BAR0 and BAR1.
    Which of ther two memory windows is BAR0 and BAR1? Or are they not it at all?
    It says to write to BAR0 + 0x10?  Which memory window is the BAR?
        (my card came up with fdfff000 and fdffe000, which oddly enough has the memory spaces backwards, not contigous)
    Step 3 says write the address you want to use to config space "offset 0x14  (BAR1)".  This implies that BAR1 is BAR0 + 0x14.  But if they are those memory windows, than BAR1 is 4096 bytes away from BAR0, not a mere 20 bytes away.
    How, if at all, does this translate to accessing through registers (outb...)   Or is access only ever done through memory alone?
    Clearly, I am missing some fundemental concept here.  Up to this point, everthing had been fine.
    (I have another simpler question on the interrupt...  it can be configured for PORT A or PORTB...  Is that only when they are configured as inputs?  And is that any specific bit in the port, or the entire 8 bit port?  Is that an 'interrupt on change' ? )
    And advice is appreciated.
    -Scotty

    To answer the second question first, I will be developing RLP drivers in the future, because the DAQmx  is inadequate.  Also, at this stage, I am using it as a learning tool for many other programming tasks.
    As to the first question...
    Okay, I now see that communication to the card is through memory, not ports.  The term 'register' crosses boundaries, as it does not mean 'memory' in the embedded areas I am used to, it means 'input or output port'.
    However, I do not understand this MITE concept.  I did, however find this post from over a decade ago, but I still can't get it to work:
    http://forums.ni.com/t5/Driver-Development-Kit-DDK/MITE-init-in-Windows-driver-stumped/m-p/2950901#M...
    I posted a followup, but I don't know if the original poster is even monitoring it.
    My goal at this stage is just to get PORTA outputs to toggle.
    Here is what I am doing, and as far as I can tell is what I am supposed to do. I have filled the driver with kernel debug messages, and everything indicates it is doing what I tell it  (but not doing what I want)
    Following the example code on that link, I obtain the base address register, which  is translated  (when I used the untranslated value, I got a BSOD,  doh! ).
    I stored the address in my device extension structure so I can get to it later...
    Using pages B5,  B19 and B20, I disable the interrupts and set everything as outputs:
        WRITE_REGISTER_UCHAR(block->baseAddress + 0x14, 0);      /* 'block' is in my device extension structure */
        WRITE_REGISTER_UCHAR(block->baseAddress + 0x15, 0);
        command = 0x80;                                        /*  ctrl =1,   mode = 00,  all ports are output  */
        WRITE_REGISTER_UCHAR(block->baseAddress + 0x03, command);
    Then I have a program that opens the device and just toggles between FF and 00 to port A on a 1 second loop.  The IO code does this:
       WRITE_REGISTER_UCHAR(block->baseAddress, pWriteDataBuffer[0]);
    Again, all kernel debug messages indicate that it is working (or doing what I tell it to do)
    The voltages on the lines on the output terminal block do not change.  They are (mostly all) +5V, but never change.
    So I have to conclude that the register I am writing to is not the correct memory address to change the PORTA output (or any  of the other ports for that matter).  but at least it is not giving me a bugcheck, so I know the driver owns that memory address..
    So this is where I have stalled.  I suspect it goes back to my not underanding the MITE concept.  And as a result, do not have the correct base address.  And I can't find any description.
    And further advice is appreciated.
    -Scott.

  • How to control adobe flash files with sliders and buttons

    Hi,
    I am trying to make a front panel for a vehicle completely designed in flash, and control it through labview.  I can load a flash file into an activex container successfully.  I have followed this thread here http://forums.ni.com/ni/board/message?board.id=170​&message.id=351719  and gotten everything working. 
    But my question is, how can I send data to the flash file from labview?  Some examples of things I need to do:  Interpret a CAN signal and have some text appear on the screen, Make buttons flash, etc.
    I understand how to load the swf, Im just not sure how to communicate with it.  One thing to mention is that the front panel for the vehicle will be fully custom coded.  However in the meantime, I am trying to figure out how to control it from labview.  Like if there is a clock.swf out on the net, how can I change the time from labview?  Is there a way to see what parameters are available for changing?
    Thanks in advance

    Hello,
    What specific Active X framework are you using to embed the container? The thread you referenced mentions Shockwave's Active X API, does this set of Active X functions expose methods for object control? 
    Could you elaborate as to the driver behind a fully Flash based front panel embedded within LabVIEW? Is this application inevitably going to be deployed as thin client software? 
    For interaction with custom flash applications aside from Active X, LabVIEW has an integrated Web Services feature to allow data transfer from custom thin client applications to the LabVIEW environment for processing and instrument control. A detailed discussion of the Web Services feature may be found via the links below:
    LabVIEW Web Services FAQ (Detailed)
    http://zone.ni.com/devzone/cda/tut/p/id/7747
    Web Services in LabVIEW (Overview)
    http://zone.ni.com/devzone/cda/tut/p/id/7350
    Please post back any further questions, or information on the system design.
    Cheers!
    Patrick Corcoran
    Application Engineering Specialist | Control
    National Instruments

  • PCI 6503 limitation​s

    What is the fastes I can switch in and output signals from a PCI 6503? I'm running LV 8.0 from a computer using linux (fedora).
    Thanks! 

    Since the 6503 has static DIO you'll have to control the transition in software.  Typically, the determinism of software is limited to around 1kHz, but this is a function of your actual system.  I'd recommend you investigate our M-series line of Multifunction DAQ cards which all have at least one port of hardware timed DIO. 
    Low cost solutions that you might consider include the PCI-6221 or perhaps the USB-6251.
    Let me know if you have any more questions!
    Message Edited by Elijah K on 04-02-2007 12:24 AM
    Elijah Kerry
    Senior Product Manager, LabVIEW
    Follow my Software Engineering for LabVIEW Blog

  • Multiple Application Access on PCI-6503

    I have two applications which would like to use a PCI-6503 card through the
    NI-DAQ API. One of these applications runs as an NT service, the other as a
    desktop application.
    If the service application begins using the card first, the desktop
    application fails miserably. If the desktop application accesses the card
    first, everything works fine. I have experienced similar problems sharing
    memory between service and desktop applications and had to change the
    service application so it would use an empty DACL in the security descriptor
    when it allocated the shared memory. Does the NI-DAQ software have a
    similar problem?
    Thanks,
    Neal Stublen

    Another guess, but information that might help.
    I'm assuming the service starts as the local system account. Some driver
    inherits credentials from the service running as the local system
    account. These credentials are inadequate for the interactive user. But
    when the interactive user launches the driver, the credentials are
    adequate for the local system account.
    My guess is that if you change the configuration of the service to start
    w/ specific user credentials, then the problem disappears. Goto Control
    Panel | Services | {service name} | Startup and change the user from
    local system account to the interactive user. Don't check interact w/
    desktop, rather change to a specific user and specify the user that will
    log on to the system.
    Randy Charles Morin [M
    VP] - http://www.kbcafe.com/
    Author of "Programming Windows Services"
    http://www.kbcafe.com/047138576X
    In article <[email protected]>,
    "Neal Stublen" wrote:
    > I have two applications which would like to use a PCI-6503 card
    through the
    > NI-DAQ API. One of these applications runs as an NT service, the
    other as a
    > desktop application.
    >
    > If the service application begins using the card first, the desktop
    > application fails miserably. If the desktop application accesses the
    card
    > first, everything works fine. I have experienced similar problems
    sharing
    > memory between service and desktop applications and had to change the
    > service application so it would use an empty DACL in the security
    descriptor
    > when it allocated the shared memory. Does the NI-DAQ software have a
    > similar problem?
    >
    > Thanks,
    > Neal Stublen
    >
    >
    Sent via Deja.com http://www.deja.com/
    Before you buy.

  • Framegrabber board control with ActiveX through LabView

    I have a framegrabber board that is not from National Instruments. It is
    from a
    company called Coreco. The name of the board is the Bandit board. I have
    been
    trying to determine how to control it through LabView. Several weeks ago
    I found
    the ActiveX control for the Bandit board on the Coreco website (www.coreco.com).
    I installed the control so that LabView could control the board. However,
    I have not
    been able to get image acquisition. I have read the instructions for the
    ActiveX control,
    but everything I try still does not start image acquisition. Does anyone
    have experience
    with both LabView and the Coreco Bandit ActiveX control. I would also consider
    some other approach to controlling
    the Bandit board. Thank you for any help
    that
    you can give.
    Sincerely,
    Trinity Ellis

    >
    > I have a framegrabber board that is not from National Instruments. It
    > is
    > from a
    > company called Coreco. The name of the board is the Bandit board. I
    > have
    > been
    > trying to determine how to control it through LabView. Several weeks
    > ago
    > I found
    > the ActiveX control for the Bandit board on the Coreco website
    > (www.coreco.com).
    > I installed the control so that LabView could control the board.
    > However,
    > I have not
    > been able to get image acquisition. I have read the instructions for
    > the
    > ActiveX control,
    > but everything I try still does not start image acquisition. Does
    > anyone
    > have experience
    > with both LabView and the Coreco Bandit ActiveX control. I would also
    > consider
    > some other approach to controlling the Bandit
    board. Thank you for any
    > help
    > that
    > you can give.
    >
    > Sincerely,
    >
    > Trinity Ellis
    >
    Try to use the Windows-DLL with is delivered with your board. I had used a
    Matrox-Genesis board and had the same problems. The dll's worked. Gruß,
    Tobi.

Maybe you are looking for