CVI 8.0 NI-DAQmx 8.9.5 compatibil​ity?

New laptop, installed CVI 8.0.1 then NI-DAQmx 8.9.5 that came with USB-6211 DAQ. Device runs fine using MAX.
When selecting CVI Tools/Create/Edit DAQmx Tasks... a pop message says "This feature requires NI-DAQmx. Please Install NI-DAQ from the NI Device Drivers CD or check your installation."
NI-DAQmx does appear in the libraries however.
The example program Acq-IntClk compiled, but a couple error message appear when the application is run:
"procedure entry point SetEnableResourceTracking could not be located in cvirte.dll"
"failed to load nicvidu.dll, Check your installation"
If I continue through the errors, the application does seem to work.
Any obvious compatibility or installation issues here?
Solved!
Go to Solution.

Upgrading CVIRTE to 9.0.1 fixed everything.

Similar Messages

  • CVI 2009 vs. 2010: compatibil​ity to Excel

    Hello all,
    I have created an application in CVI2009SP1 that exports its data to an Excel file using Excel2000 instrument driver shipped with CVI. All works well if the application is compiled and run on a WinXP machine but when run on a Win7 machine the customer complains to receive a strange error while opening the generated files:
    The message basically means "The format of the file you want to open does not correspond to the type declared in its extension"
    Pressing Ok will open the file regularly but I wonder what this error means and how to put it away.
    I tested this situation in Excel 2007 and 2010, both starter and full edition: despite the error the files open regularly. On the other hand, the generated file cannot be opened in Word2000 due to a more severe "format not recognized" error.
    I tried compiling the executable in CVI 2010 and I receive no error even if the Excel instrument is still declared as "Microsoft Excel 9.0 object library" the same as it is in 2009; nevertheless the object file associated to the instrument is newer than the 2009 version (June 30, 2010 for the library shipped with CVI2009; June 22, 2011 for the 2010 one).
    I would prefer not to distribute a release compiled in 2010 as the application drives a high power equipment for research on prototypes and I cannot test it in real environment, so I tried simply to substitute CVI2009 version of the Excel interface library with the CVI2010 one and the program compiles and executes without errors.
    So questions are:
    Q1. Any clue as to what that error means?
    Q2. Is it safe to upgrade the Excel library in CVI2009?
    Q3. Any possibility to maintain compatibility to older versions of Excel?
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

    Hi,
    I diffed the source codes and they are effectively identical, while the libraries are slightly different in size (some 10 bytes) and creation date. I don't know if checking the object for differences makes sense. I haven't modified that instrument in any way.
    I'll try to send to the customer a program release compiled in CVI2009 with 2010 library and see what happens: unfortunately I don't have in my office the exact copy of the target machine (Win7Pro + Office2010) to check it on.
    To write the file I use the following:
    errChk (CA_VariantSetCString(&MyVariant, <file pathname>));
    errChk (Excel_WorkbookSaveAs (ExcelWorkbookHandle, NULL, MyVariant,
    CA_DEFAULT_VAL, CA_DEFAULT_VAL,
    CA_DEFAULT_VAL, CA_DEFAULT_VAL,
    CA_DEFAULT_VAL, ExcelConst_xlNoChange,
    CA_DEFAULT_VAL, CA_DEFAULT_VAL,
    CA_DEFAULT_VAL, CA_DEFAULT_VAL));
    While examining my code now I noted something I didn't remember: when moving data to Excel I try to get the decimal point formatting code used in the system and apply it to the data in Excel worksheet, using this code:
    // Read decimal separator from the registry
    strcpy (msg, "Control Panel");
    MakePathname (msg, "International", msg);
    RegReadString (REGKEY_HKCU, msg, "sDecimal", a, 512, &i);
    // Select some columns to format
    sprintf (msg, "D2:H%d", cnt + 1);
    errChk (CA_VariantSetCString (&MyVariant, msg));
    if (ExcelRangeHandle) errChk (ClearObjHandle (&ExcelRangeHandle));
    errChk (Excel_WorksheetRange (ExcelWorksheetHandle, NULL, MyVariant, CA_DEFAULT_VAL, &ExcelRangeHandle));
    errChk (Excel_RangeActivate (ExcelRangeHandle, &ErrorInfo, NULL));
    // Apply the proper format
    sprintf (msg, "#0%s0", a);
    errChk (CA_VariantSetCString (&MyVariant, msg));
    errChk (Excel_SetProperty (ExcelRangeHandle, &ErrorInfo, Excel_RangeNumberFormat, CAVT_VARIANT, MyVariant));
    I wonder if this code can cause any problem when executed on a Win7 machine?
    Coming to your last question, I am using excel2000 instrument driver with the code above. Situation is as follows:
    - When execute on a WinXPPro machine with Excel2000 I can create files without problems. Files created can be viewed in Excel2007 full and Excel 2010 starter without errors nor warnings
    - Files created by the application running in a Win7 box can be opened in Excel 2010 with the warning I posted. They can't be opened in Excel2000: I receive the error "This file is not in a recognizable format" and if I follow on I see binary code in the worksheet
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • PXI - DAQmx tasks will not export to MAX 5.4

    I am in the process of upgrading a PXI 1050 with an 8176 to an MXI bridge. The latest headache is that the CVI program had several DAQmx (tasks) defined in MAX 3.1.1 which will not export to MAX 5.4. I have been posting these additional questions on my original thread MXI not visible in MAX. I have many tasks for installed PXI cards. I was trying to make simple tasks just defining these cards to change the errors I receive in CVI. I do not have the option to define a task for some of these cards like the 4070 DMM. I did not generate the original CVI code. I am not sure what is defined the DAQmx. Can someone provide some insight ? I have viewed the suggested videos and white paper links. They were instructive but of little help.

    Unfortunately; no updates without dollars. While we all work for the same company, we must contract work between departments. There was no defect with the software as delivered. Old age crept in to the hardware. Any upgraded hardware, it turns out,  requires updating of the software. The unit had operated reasonably well, until a couple years ago. An unfortunate selection of network security software caused massive headaches. The software chosen assumed a more advanced level of hardware. Mandatory installation on all network computers rendered these controller inoperable. Our local IT guys shaved down the install to minimal components but the controller lost all available ram to this software, NI-MAX requires 20 minutes to build it's database on reboot. The computer controllers struggle to function. They periodically get lost and require a reboot, causing 30 minutes or more to restart. This is driving a replacement. We decided that it would be more cost effective to move to a standard computer interface. With the MXI, we could have a much more friendly and versatile interface. The upgrade is with a different "color" of corporate money. There isn't enough funding to contract a software upgrade. It is feasible to complete the upgrade in house, once we can identify the players and their function. Second we need the necessary time and access to the equipment. I do not have the ability to expend too many extra hours at work. So it takes time. I have been able to piece together the following. In the development stage back in 2004 - 2005, the developers used both Traditional DAQ and DAQmx. They build tasks for the SCXI in CVI. They have toolboxes making calls to Traditional DAQ. Also at some point in time they must have used the option in 3.1.1 to Convert Traditional NI-DAQ(Legacy)Configuration to NI-DAQmx, which built all the extra DAQmx devices we see in the device tree in the MAX 3.1.1. So beyound the errors there appears to be a few red herrings, just for fun. So there is no tasks to convert from 3.1.1, everything is contained in the CVI code. I have to find a way to use the CVI debugger to lead me to the nested, buried code causing the errors, and simply correct them. Just for another layer of complexity, they are probably logic errors, not syntax errors, or updated code errors where the legacy code no longer functions with the updated drivers. Or, hey, it could be the beta version of NI-DAQ, because it is the only one working with Windows 7 (32).

  • DAQ FP dimmed in CVI menu Library

    Hi, All
    i have met a problem today, i have installed DAQ driver first (DAQMX+Traditonal ) and then install the CVI.  but the DAQmx and traditional FP are dimmed in CVI menu Library. althrough all of those are sucess listed in MAX .  i tried to repair the driver. but no effect.
    so , do someone know how to activate those FP in CVI ?
    B.R
    Gerry

    The correct procedure is to install CVI first and then DAQmx, so that the installer can load the appropriate IDE support and activate the correspondin features.
    Normally reinstalling DAQmx solves the problem; check also that NI-DAQmx option is checked in Library >> Customize panel.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Strange MIG Software error...

    Anyone ever seen this error? 
    Internal Software Error occurred in MIG software.
    Please contact National Instruments Support.
    Status Code: -229771
    I contacted for support, but haven't heard anything back yet.  This is the support question:
    Just had to update from XP to Win7, had to reinstall CVI 2013SP1 & Drivers
    (NI-DAQmx 9.7.5 installed).  Communicating with my CompactDAQ unit worked
    previously.  Now I get the following error, with the first NI-DAQmx call,
    DAQmxReserveNetworkDevice:  Internal Software Error occurred in MIG software.
    Please contact National Instruments Support.
    Status Code: -229771
    MAX recognizes and communicates with the CompactDAQ chassis just fine.
    I have never heard of MIG software.  
    NI Software :  LabWindows/CVI Full Development System  version 2013 SP1
    NI Hardware :  None
    OS :  Windows 7
    Customer Information :

    see here for some considerations; you may also browse the NI forums to find several similar reports, some seem to be solved by this document

  • Info NIDAQmx_Ne​wPhysChanA​OCtrl() not found

    I use F1 to find info on the NIDAQmx_NewPhysChanAOCtrl() function.  Nothing is found.  Can anybody help?

    Hi hn_sofec,
    The reason you can’t find the help for that function by pressing <F1> is that a specific help file doesn’t exist for that function.
    When you press <F1>, it uses the index in the help to search for that function name. It finds the same page you would find if you opened the help, went to the Contents tab, browsed to Library Reference>>NI DAQmx Library>>NI DAQmx C Functions, and picked out the particular function you were looking for. When you install DAQmx, it installs the DAQmx Library Help into CVI so that the function help is searchable this way just like it is for most of the built-in CVI functions.
    The DAQmx I/O Control functions are not actually part of the main DAQmx library, even though they are only available if you install DAQmx. Instead, they’re included under the Tools library in CVI as custom controls.
    If you open the help and navigate to Tools Library>>NI DAQmx IO Controls, you will see that there is a single help topic.
    It says, among other things: “Refer to the function panels for function and parameter help for these controls.”
    So, instead of hitting <F1>, you’ll need to hit <Ctrl+P> to recall the function panel first and then hit <F1> to get to the help. It’s an extra step, but if you compare this to other DAQmx functions, you’ll find that the information in the function panel help is identical to the information in the help files. You just don’t have the benefit of seeing it all in one place for the DAQmx I/O controls.
    The other post Wolfgang pointed to also shows you how to use and get to the functions, and how to access the function help from the Library tree instead of going through the function panel. Most of the built-in DAQmx examples use the I/O controls, so there are also a lot of places you can look to see how to use the functions.
    Is there something specific with that function you have a question about?

  • DAQmxCreateWatchdogTimerTask

    Hello i want to use watchdog timer with USB-6525 and CVI 8.5. I started with sample provided by CVI (WriteDigChan-WatchdogTimer.c) and when i run the program i get this error:  
    FATAL RUN-TIME ERROR:   "WriteDigChan-WatchdogTimer.c", line 74, col 57, thread id 0x0000133C:   Invalid argument type: found 'pointer to pointer to void', expected 'pointer to int'.  
    At line:
    DAQmxCreateWatchdogTimerTask("Dev4","wd",&wdTaskHandle,1,"Dev4/port0/line0:7",DAQmx_Val_High,NULL);
    Invalid argument seems to be:  &wdTaskHandle .
    Declaration of wdTaskHandle is :
    TaskHandle  taskHandle=0,wdTaskHandle=0;
    Please help me to solve this problem.

    Based on what you say it seems that there is a misalignment between the definition of TaskHandle in your code and in the DAQMx header: see this post from Mert which can add some clarification.
    On my machine TaskHandle is defined as a void * (CVI 2009SP1 installed with DAQMx 9.1.5): you may want to check which is the definition applied to your code: right click on TaskHandle type and select "Go to definition": you should see nidaqmx.h file open pointed to the definition of the variable type.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • How to Read DAQmx Product name in cvi

    How do I read the USB product names in CVI. I need to know which DAQmx instruments I have connected. If its a USB-6009 and/or USB-6221.  Any help would be appreciated.
    Thanks

    Device product type can be obtained with
       DAQmxGetDeviceAttribute ("DeviceName", DAQmx_Dev_ProductType, msg, 4096);
    There is a whole series of properties that you can retrieve on installed devices: I suggest you study the list of attributes available for this function in order to detect if some of them can be of some help for you.
    The list of all devices present in the system (regardless they are simulated or actual devices) can be obtained with
          DAQmxGetSystemInfoAttribute (DAQmx_Sys_DevNames, msg, 4096);
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Pilotage PXI-2530B sous CVI et DAQmx

    Bonjour,
    Je dois piloter une carte PXI-2530B sous CVI avec DAQmx.
    Avec les exemples, j’ai accès au relais voulu parmi les 128 disponibles (k0 à k128),
    mais également aux relais internes (kbc01..., kcom1...kref...) !
    Cela signifie-t-il que malgré la topologie que je choisis (“2530/3-Wire Quad 16x1 Mux”),
    c’est à moi de gérer la fonction de multiplexage, par exemple pour la voie 0, en pilotant
    les relais k0, k16, kcom1... et en ouvrant tous les autres ? Ou bien la topologie choisie
    ***** charge-t-elle de gérer tous les relais de manière à ce que par exemple pour la voie 0,
    il suffit de piloter uniquement le relais k0, et alors ensuite, les autres seront
    automatiquement pilotés ?
    Je pensais également à NI-Switch, mais cela à l’air moins convivial au niveau des
    fonctions, et à priori pas nécessaire pour des simples MUX ?
    Merci.
    Pascal Taunay - Atelec.

    In English :
    I need to drive a board PXI-2530B under CVI with DAQmx.
    With the examples, I can access to the desired relay (from k0 to k128), but also to
    the internal relays (kbc01..., kcom1...kref...) !
    Does this mean that even if I choose the topology (“2530/3-Wire Quad 16x1 Mux”), I need
    to manage the mux function by myself, for example for the channel 0, with the driving of the
    k0, k16, kcom1... and openning all other relays ? Or the chosen topology manage by itself
    all the relays so that for example for the channel 0, I need to drive only the relay k0, and
    then all other relays will be automatically driven ?
    I thought also about NI-Switch, but it seems to be less easy regarding the CVI functions,
    and perhaps not necessary to manage simple muxs ?

  • Any LabWindows/CVI examples for SPI communication using DAQmx?

    I have a PXIe-6363 module in a PXI running as a real time target, and I'm trying to talk to an accelerometer that communicates with SPI.  I know the 6363 isn't one of the special modules built for SPI, but my understanding is it should be capable; the issue is just the programming.  I've seen examples of this for LabVIEW using DAQmx.  Are there any examples out there for doing it in LabWindows/CVI?
    I'm looking to save time and avoid reinventing the wheel here.  SPI is easy on an Arduino, so it should be doable in LabWindows/CVI, right?  
    Thanks,
    Matt

    Hey Matt,
    I was unable to find any full examples of SPI communication with DAQmx in C. My best suggestion would be to use the LabVIEW examples and implement the same series of function calls to implement the LabVIEW code in C. The DAQmx C API is good about keeping a standard with naming conventions to map with the function names in LabVIEW.

  • How can I Synchronize two counters in CVI using NI-DAQmx

    Hi, I am new to NI-DAQmx, and I would like to program counting of random digital pulses using two counters in LabWindowsCVI and a PCI6229 multifunction card. I have the evaluation copy for CVI 7.1
    I would like to set counter0, to count pulses from the 10MHz clock, to generate a single pulse (duration in the few ms timescale), that will gate counter1 in the same card.
    When I try to route the output from counter0 to the gate of counter1 I get an error code
    (-89137, "The specified route can not be satisfied because it requires resources that are currently in use by another route").
    How can one do the equivalent of the "Select_Signal()" in the traditional NI-DAQ?"
    I have also a hard time seting the counter0 to actually count a number of clock cycles from the 10 MHz clock.
    What is the NI-DAQmx equivalent of the function "GPCTR_Change_Parameter()" to program a counter to count a predefined number of clock cycles?
    Any suggestions are welcome.
    Fundadero

    Hi Fundadero-
    It sounds like you're programming for an M Series card with counter operations and need a bit of help with DAQmx functions.
    In order to count edges of the 10MHz reference clock you will need to use a format similar to that found in the CVI shipping example "CntDigEv.prj." This is found in the NI Example Finder (Help>>Find Examples) under Hardware Input and Output>>DAQmx>>Counter Measurements>>Count Digital Events. In order to measure pulses from a source rather than the default input terminal (ctrXsource where X is the counter number), you will need to use the function DAQmxSetCICountEdgesTerm(taskhandle char[] counter, char source terminal) as follows:
    DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
    DAQmxErrChk (DAQmxCreateCICountEdgesChan(taskHandle,chan,"",edge,initialCount,countDirection));
    DAQmxErrChk (DAQmxSetCICountEdgesTerm(taskHandle, "/Dev2/Ctr0", "/Dev2/10MHzRefClock"));
    What type of operation are you trying to perform on counter 1? The strategy for routing signals will change based on this. If you're trying to perform gated counting you can specify the the task similarly as above and use the terminal "/DevN/Ctr0InternalOutput" as before. If you are trying to perform frequency measurement you will need to use the DAQmxGetCIFreqTerm function.
    Other channel properties are listed conveniently in the NI-DAQmx C Reference Help found at Start>>Programs>>National Instruments>>NI-DAQ on your start menu. A search for "channel properties list" returns this list.
    Please let us know if you have any additional questions.
    Thanks-
    Tom W
    National Instruments

  • USB 6009 and DAQmx Base Concerns

    Hello,
    I just received a USB-6009 multifunction DAQ device along with DAQmx Base for use on Windows XP with LabWindows/CVI ver 7.1.  Both the 6009 and DAQmxBase are successfully installed however I have several questions, I hope I am missing something obvious:
    1. The Task Configuration Utility is not needed for use with LabWindows/CVI?  I believe I read this in the Getting Started Guide.
    2. There is no function panel for the DAQmxBase functions?  I even searched the installation CD and found no .fp files.  So the only way to know what functions are available with DAQmxBase is to open the NIDAQmxBase.h file and search through the function prototypes?  Then, to know what a function does it is necessary to open the C Function Reference Manual via the Windows Start button and search for the function name of interest?
    3. When creating a digital input or output channel with DAQmxBaseCreateDIChan or DOChan is it only possible to setup a "channel" as an entire port?  Is it not possible to setup a channel as a single input or output line?  Similarly, once the channel is configured is it only possible to read or write an entire port with DAQmxBaseReadDigitalU8 or WriteDigitalU8?  I was expecting something similar to the DIG_out_line function used in Traditional NI-DAQ where a board number, port number, line number and state are passed so that a signal output line can be set on or off.
    Thanks in advance for the assistance,
    - Aaron

    Aaron T. wrote:
    Hello,   I just received a USB-6009 multifunction DAQ device along with DAQmx Base for use on Windows XP with LabWindows/CVI ver 7.1.  Both the 6009 and DAQmxBase are successfully installed however I have several questions, I hope I am missing something obvious:   1. The Task Configuration Utility is not needed for use with LabWindows/CVI?  I believe I read this in the Getting Started Guide.  
    **The Task Configuration Utility is not necessary, except that there is significant functionality missing from DAQmx Base but present in the utility. That includes a lot of what DAQmx calls "proerties", and includes things like the convert rate for AI scanning.
    2. There is no function panel for the DAQmxBase functions?  I even searched the installation CD and found no .fp files.  So the only way to know what functions are available with DAQmxBase is to open the NIDAQmxBase.h file and search through the function prototypes?  Then, to know what a function does it is necessary to open the C Function Reference Manual via the Windows Start button and search for the function name of interest?  
    **I don't use CVI so I don't know anything about this. It strikes me that even if you have such a panel reading the documentation is a good idea
    3. When creating a digital input or output channel with DAQmxBaseCreateDIChan or DOChan is it only possible to setup a "channel" as an entire port?  Is it not possible to setup a channel as a single input or output line?  Similarly, once the channel is configured is it only possible to read or write an entire port with DAQmxBaseReadDigitalU8 or WriteDigitalU8?  I was expecting something similar to the DIG_out_line function used in Traditional NI-DAQ where a board number, port number, line number and state are passed so that a signal output line can be set on or off.  
    **Well, the ReadMe file says that USB-6008/9 is supported with both Line I/O and Port I/O. On the other hand, the documentation for DAQmxBaseCreateDOChan and DAQmxBaseCreateDIChan say for the lineGrouping parameter, "Always pass DAQmx_Val_ChanForAllLines." So your question is a good one! Perhaps one of the NI engineers can comment on this.
    - Aaron
    Thanks in advance for the assistance,
    John Weeks
    WaveMetrics, Inc.
    Phone (503) 620-3001
    Fax (503) 620-6754
    www.wavemetrics.com

  • How to set a DMA transfer type for PXIe-6536 in LabWindows/CVI?

    I have a PXI chassis PXIe-1078 with a controller PXIe-8115 running under Windows 7. The digital output board is PXIe-6536.
    I use a function DAQmxSetChanAttribute to set a property DAQmx_DO_DataXferMech to a value DAQmx_Val_DMA, since I want to use a direct memory access data transfer. This wokred well with a PCI-6534 board using the same LabWindows/CVI code before migrating it to the PXIe system.
    Unfortunately, running this code on the PXIe system reports a DAQmx error -200452: "Specified property is not supported by the device or is not applicable to the task".
    The task is created in the following simple way (the board name in MAX is 'Dev1'):
       DAQmxCreateTask ("digTask", &digitalTask);
       DAQmxCreateDOChan (digitalTask, "Dev1/port0:3", "DIG_CHANNELS", DAQmx_Val_ChanForAllLines);
       DAQmxSetChanAttribute (digitalTask, "", DAQmx_DO_DataXferMech, DAQmx_Val_DMA, 15);
    How can I solve this problem? How is it possible to choose between different transfer types?
    Thank you in advance for any hint!

    Hi CavityQED,
    The PCI-6534 is a "Digital I/O" board while the PXIe-6536 is a "High Speed Digital I/O" board, that's why they don't have the same properties.
    By the way you can use DMA transfer with this method :
    http://zone.ni.com/reference/en-XX/help/370520J-01/hsdio/direct_dma/
    Let me know if it helps you.
    Regards.
    Mathieu_T
    Certified LabVIEW Developer
    Certified TestStand Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    LabVIEW Tour
    Journées Techniques dans 10 villes en France, du 4 au 20 novembre 2014

  • NI-DAQmx: PCI - 6601 - counting pulses in fixed intervals

    Dear friends,
    I found, that similar topics to my question have already been discussed, but I was unable to find exactly my case, or where it is near - LabView is discussed. If you know address where my question already has been discussed, please, let me know. Because I still have not decided whether I will use CVI or other C-based environment, my questions are more oriented to the principles, I hope that no matter which C environment is used, the algorithm should be the same.
    Now to the question:
    For my project, I am using board PCI6601 and NI-DAQmx drivers. What I need to do is illustraded in the following figure:
    I time ago I have tried to realize the above function through the evalution CVI environment, but I filed. I have some questions regarding my experience:
    1. I have one general question: Is the functionality needed possible to be realized using the board 6601 and LabWindows/CVI (or Visual C environment )? If yes, please, comment the questions below:
    2. I suppose, a period measurement should be used, but which type? I suppose, a single period measurement should be used. The buffered continuous period measurement seems to be not suitable, because there is no way for ensuring the time T2 for system processing.
    3. How the measurement should be configured, which functions should be used? I tried to apply the function DAQmxCreateCIPeriodChan(..) and I noticed the following:
    - in order to be able to set the GATE time T1 according the needs, I must use for the parameter measMethod only value DAQmx_Val_HighFreq2Ctr;
    - may be the values for the parameters minVal  and maxVal need to be calculated each time dependently on the time T1 set?
    4. How should be organized the reading, which functions should I use to read the counter value? By now I tried to use the function DAQmxReadCounterScalarF64(...) and I noticed the following:
    - my system needs to know when the counting T1 is finished, in order to do the processing needed in the period T2. What value should I set for the parameter timeout in respect to this? Shall I use the timeout in order to obtain the result, or I must detect when the result is ready checking the Return Value of the function? Shall I use timeout, depending on the T1 period used?
    -  a number of pulses “zero” in my system is a normal value. How to avoid the problems, related to this? When I connect and disconnect the pulse source, an error occurs. I tried to use the function SetBreakOnLibraryErrors() to disable the error messages, and I succeeded to disable them, but it seems, on error the task is automatically stopps and needs to be restarted.
    - which variant is the correct way for reading with respect to the task start/stop:
    Variant 1:
    a) Start the task
    b) Start the counting
    c) Wait the counting to finish
    d) Stop the task
    e) Process the result
    d) repeat the sequence (a-e) so many times as the number of the countings;
    Variant 2:
    a) Start the task
    b) Start the counting
    c) Wait the counting to finish
    d) Process the result
    e) Repeat the sequence (b-e) so many times as the number of the countings;
    f) Stop the task
    Thank you in advance,
    Kamen Ivanov
    Message Edited by THE_SNAKE on 10-09-2008 05:41 AM
    Message Edited by THE_SNAKE on 10-09-2008 05:43 AM

    Dear
    Kevin,
    Thank
    you for your attention! Now step by step:
    > You mention a DAC -- do you have another NI board, maybe a
    multifunction board? If you do, or if you can add one, there's a pretty
    straightforward way to do this stuff well. Assuming there's an NI multifunction
    board available (I'd recommend an M-series board), I would approach this just a
    little differently.
    The
    only NI hardware I have is this 6601 counter board. It has enough general
    purpose pins, and I am using them to realize the digital part of the DAC. The
    additional analog components, needed to complete the DAC functionality are
    existing in the XPS system and they don't need to be added by me. The NI board
    only must provide the corresponding binary combination. In fact, by this moment
    I realized the DAC in this way, using a simple software routine to convert the
    decimal value to a binary output value on the general purpose pins, it seems to
    work fine (I have not explored its timing parameters yet – for example the time
    needed for the output to be updated).
    >The approach you've planned counts on making a near-real-time
    update of an analog output DAC based on measured results. 
    You
    got it right! Here I need to correct myself: the DAC update is always related
    to "moving" the DAC output with one step/level prior each counting. The
    DAC output value does not depend on the result from the last counting, I know I
    have written like this in my first message, excuse me for this! However, this
    does not change the task to be solved
    >Your data correlation depends on you stopping and starting the
    counting in sync with generating your DAC update.
    This
    is very well said!
    >It restricts you to doing software-timed AO as well. 
    I
    am not sure that I got this right, but if you mean the DAC update itself - yes,
    the DAC update is software driven.
    >All that can work, but consider the following approach that also
    uses an analog input A/D channel. I assume what you care about is the
    correlation of AO voltage to subsequent count rate, right? 
    What
    I need to ensure is that no single counting will be started prior its
    corresponding DAC update, and that after finishing a counting, the next DAC
    update will be done as soon as possible.
    > What *I* would consider doing first is to hardware-sync the
    counting task with an analog INPUT task which simply measures the analog output
    voltage.  It sounds kinda dumb at first
    to create a measurement task that measures a signal you're generating, but
    there are benefits to this approach.  It
    would free you to change the analog output DAC voltage any time and any way you
    want, without having to worry about the processing time spent on it.  Your master data record would be the count
    and analog input tasks, which can be synced in hardware.  
    Also, you would have a continuous record of count rate vs voltage
    with no "blind" time.
    I
    think I got your idea. But my problem is related only to the board 6601.
    May
    be we have to think how using only this board similar to your idea can be implemented.
    It
    seems, I can additionally simplify my question:
    Is
    the board 6601 suitable to be used for the task I need to solve, without adding
    any additional (NI) hardware?
    Because,
    if my task can not be solved easy using exactly this board, I will try to
    search other solution, but I need to know for sure and to have arguments, that
    this board alone is suitable/not suitable for the task I have to solve.
    Best regards:
    Kamen Ivanov

  • Count digital events on a Counter with pci-6602 with callback on CVI

    Hi,
    I'm using a PCI-6602 card with CVI 8.5 and I need to trig on event.
    On every pulse I received, I need to do some actions like increasing a counter, send a message on Rs232 etc.. I don't want to do any loop checking that the counter value has changed. I would like to use a callback to execute this code only on the edge or counter value event.
    My problem is that I don't know which function can do this. Is there any way to get an event on a pci-6602? 
     Thanks 
    James 
    Solved!
    Go to Solution.

    Hello.
    It's completely possible to create a callback that will allow you to do what you want when a edge will occur on an external signal you define.
    To do this, you can for exemple create a counting edges task that will use one of the 6602 counters,and the set your external signal to be the source of your sample clock.You'll then be able to register a callback with the function DAQmxRegisterSignalEvent, and your callback will be called each time an edge will occur on your specified sample clock source.
    Here's 2 links that explain the events in DAQmx and how to handle them in CVI. The example ReadDigChan-ChangeDetectionEvent.pr that ships with DAQmx examples (Hardware Input and Output<<DAQmx<<Digital measurements) can be very useful to understand how to do. This example creates a signal event callback to detect change detection for digital inputs.
    Regards.

Maybe you are looking for

  • Macbook Pro w/ Lion 10.7.2 & Windows 7 Shared Printer (Lexmark X5650)

    I just recently purchased a MacBook Pro with Lion OS 10.7.2 for my wife and have been trying to connect her Macbook to my Lexmark X5650 Printer that is connected to my Windows 7 Professional PC.  Tried everything with no success.  Any ideas?  I have

  • Error in travel management while saving trip request

    Hi All, At the time of creating a travel request, I am getting the following error : Error while writing to the database (PTRV_HEAD/PTRV_PERIO/Cluster TE). after ssiging the number range also its showing same error while saving. Please advise how to

  • How do I edit a pdf in preview?

    When I try to crop in preview, it removes everything but the area I selected. Can I crop just one area and leave the rest untouched? I'm editing a PDF by the way.

  • Bluetooth authorization not working (bluez-simple-agent)

    Hello I'm trying to connect my Sony BD remote control to my laptop. Pairing and manual connect using hcitool works fine, but when my remote control initiates the connection,  my laptop seem to deny its connection requests. (See attached hcidump outpu

  • DB 13 Error

    Dear SAP Guru, when i am trying to take the backup from DB13 Tx .its shows error  but i am take succesfuly backup through NTBACKUP (windows utility).the Error are below whicj im get Detail log:     aedifjve     .     cds                          BR00