Finite Number of Data Points using DIO-32

I have a system designed to scan a field of view and acquire data at each point in the field of view. The acquisition process does not begin until the system/clock is initiated. It is not continuously clocked and cannot be. I am trying to run this process at 25kHz using all four data ports of the DIO-32 board. At this rate, the VI seems to miss clock triggers and does not acquire the proper number of points. Currently, I can only run the process at 6kHz. I know the board can handle a faster data rate than this. Can someone please suggest a fix or provide an example VI that can do this. Will it help me to make my VI an executable using App builder (which I don't currently own)?
Thanks,
Bill

Bill,
Are you referring to the PCI-DIO-32HS? This board is in the 653x family of digital boards. It sounds like you are either trying to do pattern input with an external clock, or burst mode handshaking input with an external clock. You should check the 653x User Manual to determine which method is actually better for your application. You can view the certain conditions for which data will be latched in. There are also benchmarks on transfer rates in the appendix of the manual that you can view for comparison. Examples get installed with NI-DAQ and are available in the LabVIEW >> Daq >> Digital >> 653x.llb directory. There is an example for each of the types of operations I mentioned above. I recommend testing with a function generator first, so that you c
an focus and isolate the issue with just the PCI-DIO-32HS board before moving on to your program and/or using your external devices with the board.
Regards,
Geneva L.
Applications Engineer
National Instruments
http://www.ni.com/ask

Similar Messages

  • Reducing Number of Data Points Acquired?

    I am interested in knowing how to reduce the number of data points written to a file that was acquired at 5 Hz. I have tried to lower the sampling frequency below 5 Hz on a Compaq Daq, but I get an error saying that is an incorrect value. So, if I can't sample below 5 Hz, how do I acquire fewer data points, or how do I reduce the number of data points written to the file? I have tried Sample Compression which just ignores  data points. So, an acquired value is written multiple times at the same rate as having no compression at all. I calculated the sampling frequency from the data file witha compression ratio of 20, 30, and 40 to still be at 5 Hz.

    If you want to "compress" your data then you should perhaps try the "Decimate (single shot) VI " Owning Palette: Signal Operation VIs. With this VI you can average down an array. If you have an array sampled with 5Hz and you set the decimating factor to 5, and average=true. Then the output will be an an array downsampled to 1 Hz, with each value equal to the average value of 5 samples in the input array. The decimate function is quite new. It came in Labview 8.2 
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

  • How to reduce the number of data blocks used by table

    Hi,
    I was trying to reduce the space usage of a particular table of my apex application which stores blob content and therefore deleted many records from it.
    However, the data block usage remained the same as before.
    I have tried to 'analyze' the table and validate the structure,but am unable to overcome this problem.
    Could someone throw some light on what needs to be to reduce the number of data blocks used by this table?
    Best Regards,
    Priya Jetley

    Priya:
    It is likely that the BLOB content defined in your table is being stored 'Out-of-Line'. This means that the LOB columns are stored in segments of their own. These then are the segments that may need shrinking.
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14249/adlob_tables.htm#i1006363
    Varad

  • Plotting an array with a large number of data points

    Hello All,
    I am collecting data every second for 24 Hrs. How do I plot this on a XY plot? I have the data collection setup in a while loop and my initial attempt was to use a shift register and a build array to make the array and that works OK. The problem is I do not know if this is a wise option in terms of memory usage. (I end up making 3 arrays and 3*86400=259200 data points in 3 shift registers).
    What is the better way to plot 86400 data points in a XY plot? I am also writing the data to a file every second.
    Thanks,
    KB

    Allan,
    Thanks for the message. I am attaching with this message a ccpy of my vi where you can see that I am collecting data from 3 counters, writing them to a file and displaying them. Can you comment on this Vi with regard to memory management?
    Yes, I would like to see your examples. Thanks once again.
    KB
    Attachments:
    PC21.vi ‏418 KB

  • How to set maximum number of data points displayed on waveform chart?

    I have a waveform chart set to x-autoscale, but after about 1000 data points, it begins to scroll again. How can I display all of the data points being collected, say 2000 points?

    Right click on the chart and select Chart History Length. Enter the value that you need. The maximum is 2147483647 points.

  • Setting number of decimal points using double

    Is it possible to set the number of decimal points
    e.g.
    double a = 2 * Math.random() - 1;
    If I print this it would show something like 0.2342345434332.
    What I want to do is show 0.234.
    Is this possible?

    here you go, you can run this small program to test the results for yourself...
    import java.text.DecimalFormat;
    public class floatTest{
         public static void main( String args[]){
    DecimalFormat threeDig =  new DecimalFormat("0.000");
          double a = 2 * Math.random() - 1;
          //If I print this it would show something like 0.2342345434332.
          System.out.println("double a >" + a);
    System.out.println("formatted>0.000 >" + threeDig.format(a)     );
         }//end of float
    }//end of floatTEstok?

  • How to I Produce Serial Data Stream Using DIO Channel

    I would like to output to a "serial to parallel" circuit (74HC194 (Universal Shift Register IC)circuit) for the purposes of increasing my digital I/O off of my DAQPad-6020E. Does anybody have an example of outputting a data stream (both a clock and a "data out" stream)? All I would need is a clock edge after every output bit, but since I am new to producing vi's, I was hoping that someone would be able to give an example of an approach to take.
    The closest thread I found on the message board was a request to produce a PWM signal. My signal does not have to be that precise since I will be latching every new data bit with an independent clock edge.
    Thanks to anyone out there considering this problem.
    ThisRock

    Hello,
    Because the DAQPad-6020E does not have hardware timed DIO, you will be forced to output software timed digital data. Are you using LabVIEW 7.1? If so, one approach would be to generate an output counter pulse and use that to time a Timed Loop in LabVIEW. That way, for every output pulse of the counter, the timed loop would iterate. If you place your digital write VIs in that loop, you will output a digital value for every rising/falling edge of the counter output.
    Does this answer your question? If not, please give a little more detail about the Universal Shift Register IC and what it would require from your DO lines.
    Regards,
    Sean C.

  • Custom Map using latitude and longitude data points

    Hi,
    I am new to Apex and I want to lost custom data points using latitude and longitude data points. I
    have seen posts referring to the chart example (http://apex.oracle.com/pls/apex/f?p=36648:65:2214483882702::NO:::) ; could someone help me with the following:
    1) How to add On Demand Application Process to a map page (step 4 in the demo)
    2) What is a hidden item and how to add it to a page (step 6)
    Any help would be greatly appreciated.
    Kind regards,
    Lisa

    I am trying to do the same thing. I have got the get_data function working to create the desired output. However when I replace the xml <data> block with &P65_DATA, it does not work. If I display P65_DATA on the page, it has correct output. If I cut and paste the output into custom XML, it works fine. Anyone have come across this issue..any ideas how to fix it?

  • Not enough data points out of hokuyo lidar on robotics simulator

    Hi,
    We've been using the hokuyo URG series lidar in the robotics simulator but we can't get more than 29 data points out of it. We get hundreds when running the sensor in real life. Is there a way to increase the number of data points read in the simulator? It is too low to be useful at the moment.
    thanks.
    (Using Labview Robotics 2012)

    I believe the default scan angle for the simulated Hokuyo lidar sensor is 5 degrees.  With max and min angles of +-70 degrees, this explains why you're seeing 29 data points.  You can change these settings in the Simulator wizard.  Right-click the simulation target in the project, and select Properties.  In the wizard, select the Hokuyo sensor in the tree, and scroll down to change the "Max Angle", "Min Angle", and/or "Scan Angle" parameters.

  • Reducing Data points

    I am trying to look at the graph patterns of average joint motion angles (X, Y, Z) from many trials of 13 subjects during a certain phase recored at sampling rate of 100 Hz.  This phase of each trial has different data points (For example, trial 1 has 67, trial 2 has 104, trial 3 has 74, trial 4 has 91, and so on).  Is there anyone can suggest any idea for those different data points of each trial from over hundreds tirals?  Or does anyone have idea that reduces all trials to a certain number of data points (like the lowest data points from all data) so that all trials have same data points after processing?
    Thank you very much.
    Attachments:
    data.jpg ‏886 KB

    you can use Decimate (single shot) vi present in signal processing - signal operation menu
    there is an funciton in matlab named 'reducem' which Reduce density of points in vector data. you can check the possibility of calling that func in mathscript labview. check the link
    http://www.mathworks.com/help/map/ref/reducem.html
    if they works for you then you can apply it on each of your trial data.

  • Crystal Reports - Charts - Restricting the data points on the X-axis

    Hi,
    Is there a way to restrict the number of points to display on the x-axis of a crystal chart keeping the number of data points the same.
    For example, if the chart plots date vs value points and the data for the chart is from 1980 to 2009. This means the data points on the x-axis appear very close to each other.
    I need a way to show the chart with all data from 1980 to 2009 but limited x-axis labels. Is there a way to configure the number of labels to show on the x-axis.
    Thanks!

    Thanks for the answer.
    "Right click on one of the x axis labels and select Group (X) Axis Options...
    On the Layout tab there is an option to Skip Group Labels, check this and enter in the number of labels you want to skip". Is there a way to do this from a .NET client or via a formula field in Crystal itself. The data points is going to be dynamic, hence the requirement is to dynamically configure the "number of labels" to be skipped.
    Thanks.

  • How to get a count of total data points entered?

    What Oracle tables are involved in getting the total number of data points actually entered in a particular DCM or panel.
    I want to create a sql statement to show: Study, Panel, Total actual data points entered?

    This is what I have so far...
    SELECT CS.STUDY,
    DC.NAME,
    COUNT(RP.RESPONSE_ID) "TOTAL DATA POINTS"
    FROM RESPONSES RP
    INNER JOIN CLINICAL_STUDIES CS ON ( RP.CLINICAL_STUDY_ID = CS.CLINICAL_STUDY_ID)
    INNER JOIN RECEIVED_DCMS RD ON ( RP.RECEIVED_DCM_ID = RD.RECEIVED_DCM_ID
    AND RP.CLINICAL_STUDY_ID = RD.CLINICAL_STUDY_ID
    AND RD.RECEIVED_DCM_STATUS_CODE <> 'REMOVED')
    INNER JOIN DCMS DC ON ( RD.DCM_ID = DC.DCM_ID
    AND RD.DCM_SUBSET_SN = DC.DCM_SUBSET_SN
    AND RD.DCM_LAYOUT_SN = DC.DCM_LAYOUT_SN
    AND RD.CLINICAL_STUDY_ID = DC.CLINICAL_STUDY_ID)
    INNER JOIN DCM_QUESTIONS DQ ON ( RP.DCM_QUESTION_ID = DQ.DCM_QUESTION_ID
    AND RD.DCM_ID = DQ.DCM_ID
    AND RD.DCM_SUBSET_SN = DQ.DCM_QUE_DCM_SUBSET_SN
    AND RD.DCM_LAYOUT_SN = DQ.DCM_QUE_DCM_LAYOUT_SN
    AND RD.CLINICAL_STUDY_ID = DQ.CLINICAL_STUDY_ID
    AND DQ.ENTERABLE_FLAG = 'Y')
    WHERE (RP.VALUE_TEXT IS NOT NULL OR RP.EXCEPTION_VALUE_TEXT IS NOT NULL)
    GROUP BY CS.STUDY,
    DC.NAME
    ORDER BY CS.STUDY,
    DC.NAME ;

  • Acquire single point 12 bit data @ 200Khz using PXIe 6535 DIO RT

    I want to acquire single point 12 bit data @ 200Khz using PXIe 6535 DIO, PXIe 1072 chasis and 8820 controller in RT. Problem is I am unable to acquire data as triggered input. Loop execution time takes ~10us (measured using rt tick count). Thus It misses the samples. Am I missing something? What are the proper ways to acquire digital data in RT?
    Also I am wondering whether I can use the SMB connector of 8820 controller as my acquision trigger input pulse. I am completely new to RT. Any help will be appriciated.
    Thank you.

    Hi jtele1,
    To make sure that the data gets written in the correctly order I would recommend monitoring the Time Out of the write. If a time out occurs you could stop writing all FIFOs and then start when all the Time Outs are no longer there. Another option is to look at your host side and determine if you can read larger chunks of data at a time and allow the host side to deal with processing the data. An additional option would be to look into high throughput streaming for FlexRIO. In this setup you will be writing the data directly to disk on your host side and then you could process the data at a later time. I have linked an example below, this example was giving me trouble so please let me know if you have trouble loading this example. Depending on your situation these may not all be acceptable options but you will need to ensure that you are not filling any of your FIFOs. Lastly, from what I can tell you are using a Windows OS as your host and in that situation you have no way of controlling when your LabVIEW application gets processor time. If you were to switch to a Real Time controller you would be able to ensure when certain tasks are run and add priority to tasks. Please let me know if you have further questions. 
    High Throughput Streaming
    https://decibel.ni.com/content/docs/DOC-26619
    Patrick H | National Instruments | Software Engineer

  • Using Word Easy Table Under Report Generation takes long time to add data points to table and generate report

    Hi All,
    We used report generation tool kit to generate the report on word and with other API 's under it,we get good reports .
    But when the data points are more (> 100 on all channels) it take a long time  to write all data and create a table in the word and generate report.
    Any sugegstions how to  make this happen in some seconds .
    Please assist.

    Well, I just tried my suggestion.  I simulated a 24-channel data producer (I actually generated 25 numbers -- the first number was the row number, followed by 24 random numbers) and generated 100 of these for a total of 2500 double-precision values.  I then saved this table to Excel and closed the file.  I then opened Word (all using RGT), wrote a single text line "Text with Excel", inserted the previously-created "Excel Object", and saved and closed Word.
    First, it worked (sort of).  The Table in Word started on a new page, and was in a very tiny font (possibly trying to fit 25 columns on a page?  I didn't inspect it very carefully).  This is probably "too much data" to really try to write the whole table, unless you format it for, say, 3 significant figures.
    Now, timing.  I ran this four times, two duplicate sets, one with Excel and Word in "normal" mode, one in "minimized".  To my surprise, this didn't make a lot of difference (minimized was less than 10% faster).  Here are the approximate times:
         Generate the data -- about 1 millisecond.
         Write the Excel Report -- about 1.5 seconds
         Write the Word Report -- about 10.5 seconds
    Seems to me this is way faster than trying to do this directly in Word.
    Bob Schor

  • Call library function node with array of clusters using array data pointer

    Hello all.
    I am writing a LabVIEW wrapper for an existing DLL function.
    The function has, as one of its parameters, an array of structs.  The struct is very simple, containing two integers.  I am using the call library function node to access it.
    In Labview I created an array of clusters, where the cluster has two 32-bit integers as its members.  So far, so good.
    Now I have to pass this in to the Call Library Function Node.  Here I am running into trouble.
    I have used The topic in LAVA and The topic in the knowledge base as my primary sources of information, though I have read a bunch of forum topics on the subject too.
    I do understand that I could write a new function which takes as a parameter a struct with the size as the first member and an array as the second, and I might just do this and have it call the regular function, but I was hoping to do it more simply.
    According to the C file which LabVIEW generates for me from the CLFN when I choose "Adapt to Type" and "Array Data Pointer", the prototype it is expecting is:
    int32_t myFunc(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, void data[], int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    And the prototype of the function in my DLL is
    int borland_dll myFunc(DWORD handle, usint channel,
    int FIFOnumber, struct mStruct *data, int numWords, int *actualLoaded, int *actualStartIndex);
    This looks like a match to me, but it doesn't work (I get garbage in data).  From the topic in LAVA referenced above, I understood that it would work.  It does not.
    If I cast data to the pointer-to-pointer I get when I generate c code by wiring my struct to a CIN and generating, then I seem to get what I expect. But this seems to work when I choose "pointers to handles" too, and I would expect array data pointer to give a different result.
    Is there any way to get this to work directly, or will I have to create a wrapper?  (I am currently using LabVIEW 2011, but we have customers using 2009 and 2012, if not other versions as well).
    Thank you.
    Batya
    Solved!
    Go to Solution.

    OK, here is more detailed information.
    I have attached the VI.
    This is the code from the  "C" file created by right-clicking the CLN and creating a "C" file. 
    When the parameter in the CLN is set to "array data pointer":
    /* Call Library source file */
    #include "extcode.h"
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, void data[], int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, void data[], int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex)
    /* Insert code here */
     When the parameter is "pointers to handles":
    /* Call Library source file */
    #include "extcode.h"
    /* lv_prolog.h and lv_epilog.h set up the correct alignment for LabVIEW data. */
    #include "lv_prolog.h"
    /* Typedefs */
    typedef struct {
    int32_t control;
    int32_t data;
    } TD2;
    typedef struct {
    int32_t dimSize;
    TD2 data[1];
    } TD1;
    typedef TD1 **TD1Hdl;
    #include "lv_epilog.h"
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex)
    /* Insert code here */
     When the parameter is set to "handles by value":
    /* Call Library source file */
    #include "extcode.h"
    /* lv_prolog.h and lv_epilog.h set up the correct alignment for LabVIEW data. */
    #include "lv_prolog.h"
    /* Typedefs */
    typedef struct {
    int32_t control;
    int32_t data;
    } TD2;
    typedef struct {
    int32_t dimSize;
    TD2 data[1];
    } TD1;
    typedef TD1 **TD1Hdl;
    #include "lv_epilog.h"
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex);
    int32_t Load_Transmit_FIFO_RTx(uint32_t handle, uint16_t channel,
    int32_t FIFOnumber, TD1Hdl *data, int32_t numWords, int32_t *actualLoaded,
    int32_t *actualStartIndex)
    /* Insert code here */
    As to the DLL function, it is a bit more complicated than I explained above, in the current case.  My VI calls the function by this name in one DLL, and that DLL loads a DLL and calls a function (with the same name) in the second DLL, which does the work. (Thanks Rolfk, for helping me with that one some time back!)
    Here is the code in the first ("dispatcher") DLL:
    int borland_dll Load_Transmit_FIFO_RTx(DWORD handle, usint channel, int FIFOnumber, struct FIFO_DATA_CONTROL *data, int numWords, int *actualLoaded, int *actualStartIndex)
    t_DispatchTable *pDispatchTable = (t_DispatchTable *) handle;
    int retStat = 0;
    retStat = mCheckDispatchTable(pDispatchTable);
    if (retStat < 0)
    return retStat;
    if (pDispatchTable->pLoad_Transmit_FIFO_RTx == NULL)
    return edispatchercantfindfunction;
    return pDispatchTable->pLoad_Transmit_FIFO_RTx(pDispatchT​able->handlertx, channel, FIFOnumber, data, numWords, actualLoaded, actualStartIndex);
    borland_dll is just "__declspec(dllexport)"
    The current code in the DLL that does the work is:
    // TEMP
    typedef struct {
    int control;
    int data;
    } TD2;
    typedef struct {
    int dimSize;
    TD2 data[1];
    } TD1;
    typedef TD1 **TD1Hdl;
    // END TEMP
    int borland_dll Load_Transmit_FIFO_RTx(int handlertx, usint channel, int FIFOnumber, struct FIFO_DATA_CONTROL *data, int numWords, int *actualLoaded, int *actualStartIndex){
    struct TRANSMIT_FIFO *ptxFIFO; //pointer to transmit FIFO structure
    usint *pFIFOlist; //pointer to array of FIFO pointers to FIFO structures
    int FIFOentry, numLoaded;
    usint *lclData;
    usint nextEntryToTransmit;
    // TEMP
    FILE *pFile;
    int i;
    TD1** ppTD = (TD1**) data;
    TD1 *pTD = *ppTD;
    pFile = fopen("LoadFIFOLog.txt", "w");
    fprintf(pFile, "Starting Load FIFO with %d data words, data pointer 0x%x, with the following data&colon; \n", numWords, data);
    for (i = 0; i < numWords; i++) {
    fprintf(pFile, "%d: control--0x%x, data--0x%x \n", i, data[i].control, data[i].data);
    fflush(pFile);
    fprintf(pFile, "OK, using CIN generated structures: dimSize %d, with the following data&colon; \n", pTD->dimSize);
    for (i = 0; i < numWords; i++) {
    fprintf(pFile, "%d: control--0x%x, data--0x%x \n", i, pTD->data[i].control, pTD->data[i].data);
    fflush(pFile);
    // END TEMP
    if ((handlertx) <0 || (handlertx >= NUMCARDS)) return ebadhandle;
    if (cardrtx[handlertx].allocated != 1) return ebadhandle;
    pFIFOlist = (usint *) (cardrtx[handlertx].segaddr + cardrtx[handlertx].glob->dpchn[channel].tr_stk_ptr​);
    pFIFOlist += FIFOnumber;
    ptxFIFO = (struct TRANSMIT_FIFO *)(cardrtx[handlertx].segaddr + *pFIFOlist);
    //use local copy of ptxFIFO->nextEntryToTransmit to simplify algorithm
    nextEntryToTransmit = ptxFIFO->nextEntryToTransmit;
    //on entering this routine nextEntryToLoad is set to the entry following the last entry loaded
    //this is what we need to load now unless it's at the end of the FIFO in which case we need to wrap around
    if ( ptxFIFO->nextEntryToLoad >= ptxFIFO->numEntries)
    *actualStartIndex = 0;
    else
    *actualStartIndex = ptxFIFO->nextEntryToLoad;
    //if nextEntryToLoad points to the last entry in the FIFO and nextEntryToTransmit points to the first, the FIFO is full
    //also if nextEntryToLoad == nextEntryToTransmit the FIFO is full and we exit without loading anything
    if (( (( ptxFIFO->nextEntryToLoad >= ptxFIFO->numEntries) && (nextEntryToTransmit == 0)) ||
    ( ptxFIFO->nextEntryToLoad == nextEntryToTransmit)) && (ptxFIFO->nextEntryToLoad != INITIAL_ENTRY)){
    *actualLoaded = 0; //FIFO is full already, we can't add anything
    return 0; //this is not a failure, we just have nothing to do, this is indicated in actualLoaded
    numLoaded = 0;
    lclData = (usint *)data; //must use 16 bit writes to the module
    //conditions are dealt with inside the for loop rather than in the for statement itself
    for (FIFOentry = *actualStartIndex; ; FIFOentry++) {
    //if we reached the end of the FIFO
    //if the module is about to transmit the first element of the FIFO, the FIFO is full and we're done
    //OR if the module is about to transmit the element we're about to fill in, we're done - the
    //exception is if this is the first element we're filling in which means the FIFO is empty
    if ((( FIFOentry >= ptxFIFO->numEntries) && (nextEntryToTransmit == 0)) ||
    ((FIFOentry == nextEntryToTransmit) && (FIFOentry != *actualStartIndex) )){
    *actualLoaded = numLoaded;
    //set nextEntryToLoad to the end of the FIFO, we'll set it to the beginning next time
    //this allows us to distinguish between full and empty: nextEntryToLoad == nextEntryToTransmit means empty
    ptxFIFO->nextEntryToLoad = FIFOentry;
    return 0;
    //we reached the end but can continue loading from the top of the FIFO
    if ( FIFOentry >= ptxFIFO->numEntries)
    FIFOentry = 0;
    //load the control word
    ptxFIFO->FifoData[FIFOentry * 3] = *lclData++;
    //skip the high of the control word, the module only has a 16 bit field for control
    lclData++;
    //now put in the data
    ptxFIFO->FifoData[(FIFOentry * 3) + 2] = *lclData++;
    ptxFIFO->FifoData[(FIFOentry * 3) + 1] = *lclData++;
    numLoaded++;
    //we're done because we loaded everything the user asked for
    if (numLoaded >= numWords) {
    *actualLoaded = numLoaded;
    ptxFIFO->nextEntryToLoad = FIFOentry+1;
    return 0;
    //if we reached here, we're done because the FIFO is full
    *actualLoaded = numLoaded;
    ptxFIFO->nextEntryToLoad = FIFOentry;
    fclose (pFile);
    return 0;
     As you can see, I added a temporary diagnostic with the structures that were created in the "Handles by value" case, and print out the data.  I see what is expected, whichever of the options I pick in the CLN!  
    I understood (from the information in the two links I mentioned in my original post, and from the name of the option itself) that "array data pointer" should pass the array of data itself, without the dimSize field.  But that does not seem to be what is happening.
    Batya
    Attachments:
    ExcM4k Load Transmit FIFO.vi ‏15 KB

Maybe you are looking for

  • Doubts in ALV?

    Hi, I have few doubts in Reuse_Alv_List_Display. 1. How to use It_Filter? 2. Their is a direct filter option in he list display. then what is the need of this It_Filter? Thanks.

  • I have a windows pc.  How can I download purchased items which have become corrupted on my PC.  I can't use iCloud

    I have a windows pc.  How can I download purchased items which have become corrupted on my PC.  I can't use iCloud without an Apple device.  I have gone into purchased but next to each title it merely says 'downloaded'.  I need to download them again

  • From a new computer I can't get iTunes to recognize my old database.

    I keep my iTunes database on an external hard drive. I only plug it into my work laptop (Windows 7) to update podcasts, load new music, and sync to my iPod. I'm forced to switch to a new have a new computer (also Windows 7) and can't get iTunes to us

  • Custom labels in charts

    Hello! I'm using Crystal Reports for eclipse. In one of my reports there is a chart, in which the data from database table is shown. The column in the database is called, say, NAMEOFACOLUMN. I want that in the legend of the diagram, the column is dis

  • Setting up iSync on 2 Computers to sync with Treo 650

    I have a iMac G-4 and a new iMac G-5. The first sync was done on the G-4 with HotSync using the USB connection which did find and sync the G-4's Address Book for some unknown reason, but not iCal. Now, I'm working with the G-5 and trying to set up iS