03-15-2007 03:43 PM
03-15-2007 05:05 PM
03-15-2007 05:44 PM
03-15-2007 06:20 PM
03-15-2007 06:37 PM
03-16-2007 09:41 AM
I don't have LV at my network PC, but I think the posts have now given me enough clues to suggest what to do.
1. The call to DIO Port Config *can* set the dedicated 8 DIO lines as outputs while setting the other 24 as inputs. One of the input terminals takes a bit-mapped input to specify which of the 32 bits should be inputs and outputs. Most of the examples wire it either with a 0 (meaning all bits are 0 for all inputs) or with a -1. The bit-wise representation of the value -1 turns out to be 32 binary 1's, meaning all bits are 1 for output.
The specific way to set the lowest 8 dedicated DIO bits as outputs with the other 24 as inputs is to wire in the decimal value 255 which fills only bits 0-7 with binary 1's. If I remember right, the input in question has a name like "line map" or "direction map" maybe?
2. The vi DIO Port Config uses the traditional NI-DAQ driver. If your newer app uses DAQmx driver calls, that's another issue to deal with. A given board can't be simultaneously called with both drivers, and a special call to perform a board reset needs to be called if you switch from one to the other. Such a board reset probably guarantees that DIO outputs set by the old vi will get reset to defaults.
So you either need to make sure your newer app uses traditional NI-DAQ functions, or make both of them use DAQmx. DAQmx is definitely the better choice for future compatibility, but you may need to weigh that out against the learning curve in the short term.
-Kevin P.
03-16-2007 10:35 AM - edited 03-16-2007 10:35 AM
Message Edited by Jarrod B. on 03-16-2007 10:41 AM
03-16-2007 10:46 AM