Error -200428 on DAQmx Write

Hello,
 I am new to DAQmx, so please forgive me if this is a trivial question. I created several DAQmx tasks in LabVIEW, then wrote my vi automatically generating the configuration code by right-clicking a DAQmx Task constant and selecting generate code. When I run the Standalone Solenoid Controller.vi in the Standalone Modules folder, I get a Error -200428 during the first call of DAQmx Write.vi.
What is going on? Please advise. Thank you.
Best regards,
Peter
Attachments:
Solenoid Controller.zip ‏657 KB

The problem with having a single task is that you have designated those channels to be used for that task.  Once that has been done, you shouldn't be able to put those channels into another task or use them on their own.
When wiring the channel into the DAQmx Write, a task is created.  That task is what is passed out.  So by having that channel already designated for a task, you can't put it into another one.  You need to either write to everything with a single task or separate them into multiple tasks.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines

Similar Messages

  • DAQmx Error -200428 occurred at Write Dig Chan.vi

    Hello,
    I am trying to read the task name, channel name, and physical channel from a configuration file and using this information create a DAQmx task and two global virtual channels. Everything seems to be working ok (no error) until I am trying to write to one of the channels, then I get an "Error -200428 occurred at Write Dig Chan.vi". What am I doing wrong? Thanks for your help.
    Peter
    Attachments:
    Write Dig Chan.vi ‏37 KB

    Hello Corey,
    I tried it out for both the Write Dig Chan.vi and the Write Dig Chan (modified).vi, but in both cases, I get the same errors as before.
    Write Dig Chan.vi Error -200428
    Write Dig Chan (modified).vi Error -200587
    Attachments:
    Write Dig Chan.vi ‏38 KB
    Write Dig Chan (modified).vi ‏44 KB

  • I have NI DAQmx 14.5 and running LV 2014, i am trying load some old project and i get the error of missing DAQmx Write VI

    I have NI DAQmx 14.5 and running LV 2014, i am trying load some old project and i get the error of missing DAQmx Write VI

    Can you attach an image of the error display? Did you install DAQmx after installing LabVIEW? Do you have the DAQmx palette?

  • Static task Error -200428

    I am using Labview 8.2 with an AI Input card 9215 on CDaq 9172.  The application uses a static task to read the voltage(displacement).
    The app works fine, except when the app is closed(using the x in the top RH corner), then restarted I get the error -200428 at DAQmx Start Task.Vi(Value passed to the task/Channel is invalid).  The only fix is to restart the PC.
    I have checked that the Stop Task VI is called when the app closes.  I have tried resetting the Daq device using Max but it makes no difference.
    I believe there is some problem in my code closing the task properly, hence the need to restart the PC to release task resources.
    Any suggestions ?
    Attachments:
    simpleVi.JPG ‏18 KB

    Enclosed a simple Vi that demonstrates the installed app.  I have used a simulated CDaq device (identical to the customer cDaq)on my development PC and the  simple VI works fine(both built as an exe and just running the VI on the development PC).  The static task is identical to the  task on the production app that is giving problems
    <Item Name="VoltageIN" Type="NI-DAQmx Task">
             <Property Name="\0\AI.Max" Type="Str">10</Property>
             <Property Name="\0\AI.MeasType" Type="Str">Voltage</Property>
             <Property Name="\0\AI.Min" Type="Str">-10</Property>
             <Property Name="\0\AI.TermCfg" Type="Str">Differential</Property>
             <Property Name="\0\AI.Voltage.Units" Type="Str">Volts</Property>
             <Property Name="\0\ChanType" Type="Str">Analog Input</Property>
             <Property Name="\0\Name" Type="Str">VoltageIN/Displacement</Property>
             <Property Name="\0\PhysicalChanName" Type="Str">AnalogIN/ai0</Property>
             <Property Name="\1\AI.Max" Type="Str">10</Property>
             <Property Name="\1\AI.MeasType" Type="Str">Voltage</Property>
             <Property Name="\1\AI.Min" Type="Str">-10</Property>
             <Property Name="\1\AI.TermCfg" Type="Str">Differential</Property>
             <Property Name="\1\AI.Voltage.Units" Type="Str">Volts</Property>
             <Property Name="\1\ChanType" Type="Str">Analog Input</Property>
             <Property Name="\1\Name" Type="Str">VoltageIN/Loadcell</Property>
             <Property Name="\1\PhysicalChanName" Type="Str">AnalogIN/ai1</Property>
             <Property Name="Channels" Type="Str">VoltageIN/Displacement, VoltageIN/Loadcell</Property>
             <Property Name="Name" Type="Str">VoltageIN</Property>
             <Property Name="SampClk.ActiveEdge" Type="Str">Rising</Property>
             <Property Name="SampClk.Rate" Type="Str">20</Property>
             <Property Name="SampClk.Src" Type="Str"></Property>
             <Property Name="SampQuant.SampMode" Type="Str">Continuous Samples</Property>
             <Property Name="SampQuant.SampPerChan" Type="Str">100</Property>
             <Property Name="SampTimingType" Type="Str">Sample Clock</Property>
          </Item> 
    However on the customer PC it throws the error -200428 even after a restart of the PC
    Any ideas would be appreachiated 
    Attachments:
    StopTaskOnPanelClose.vi ‏61 KB

  • Error -200609 occurred at DAQmx Write: Selected Buffer Size Too Small

    Hello, I'm writing some simple test VI's that I will eventually build upon to make an externally clocked analog output VI. I started with a very simple program to output finite samples using the onboard clock with the DAQmx Timing.VI. When I run the program, I almost immediately get an error. The error message is below.
    Error -200609 occurred at DAQmx Write (Analog DBL 1Chan 1Samp).vi:1
    Possible reason(s):
    Generation cannot be started, because the selected buffer size is too small.
    Increase the buffer size.
    Conflicting Property
    Property: Output.BufSize
    Corresponding Value: 1
    Minimum Supported Value: 2
    Task Name: _unnamedTask<1C>
    I have used DAQmx VI's before in similar applications and never encountered this error. Additionally, I read at the link below that DAQmx Timing.VI should be generating the buffer automatically. Any ideas as what could be causing this?
    Specs:
    Windows 7
    Labview 2012
    PCIe-6353 as DAQ board
    Below is a picture of my block diagram and the VI is attached.
    Solved!
    Go to Solution.
    Attachments:
    FiniteSamplesTest.vi ‏18 KB

    Oops. Just realized my very silly mistake: I forgot to add the Start Task VI. I did so and it works as designed.

  • Error-50150 occured at DAQmx Write

    Hello,
        I am experiencing a seemingly random error in a large program. The error occurs in a part of the program that simulates tach signals to a CPLD. I have not been able to find out what conditions cause this error, it seems to be random in nature.
    The full error reads this:
    Error - 50150 occurred at DAQmx Write(Digital 1D U16 1Chan Nsamp).vi
    Possible Reasons:
    The software has entered an unknown state-usually as a result of a cascade failure induced by an unexpected series of state inputs. The operation could not be completed as specified and you should immediately terminate all further transactions if you are able to do so.
    Task Name:TackABC_Write Port0 U16
    The device we are using is a PCI-DIO-32HS, with Labview 7.1, NI-MAX 4.1, and DAQmx drivers 8.3.1. The task writes 3 signals to the CPLD, and it works most of the time, but every so often this error will occur. I was wondering what could be the cause of an error like this?
    Thanks, Steve

    Hello Brian, thanks for the response.
    I made a mistake in my last post, it is actually a DAQmx clear task in place of the stop task vi i mentioned. When we first received this error it had no clear task at the end, but I added one. Even with this the error has still shown up from time to time. Would it help at all to add a reset device vi afte the clear task vi?
    I took some screenshots for you as well. The first shot is of the function in question, the second is the same shot with the case turned to false, and the third is the inside of the main subvi. When the error occurs it focuses on the write vi that is inside the subvi. Let me know if there is more info I could grab that would make things mroe clear.
    Thanks,
    Steve
    Attachments:
    SS3.JPG ‏160 KB
    SS1.JPG ‏189 KB
    SS2.JPG ‏181 KB

  • Error -200685 DAQmx Write Counter Frequency

    I have to generate 4 finite pulse trains with Counter Output and a X-series board (NI PCIe-6321). I know that with X-series boards only one counter is used to generate finite pulse train. I use LabVIEW 2010 sp1 and DAQmx 9.3.5.
    One task for each counter is created.
    When only one task runs, everything is ok, but, when more than one task runs, i receive "error -200685: Pulse frequency specified is not supported for this device given the Counter Timebase Rate." from DAQmx Write Counter Frequency. Error reports invalid data&colon; 0,000000
    I have checked data supplied and no zero frequency is passed to the VI. In fact, counter frequencies lower than 100 are forced to be 100 through a previous VI.
    Thanks for the help
    Attachments:
    Error.PNG ‏42 KB
    Zero frequencies avoided.PNG ‏7 KB

    OriginalP ha scritto:
     I payed attention to write non null frequencies and this is why this error sounds so strange to me.
    My last words... i found that two null frequencies (1018 and 1019 array indexes) were passed to Counter Output (see attached images "Counter Output Front Panel Data.PNG" and "Counter Output Block Diagram Data.PNG").
    It's quite strange, because VIs generating pulse train frequency data don't output these two null frequencies (see attached image "Array Output Data.png").
    This pair of null frequencies is random, but definetively the error is not in Counter Output DAQmx Write VI.
    Attachments:
    Counter Output Front Panel Data.png ‏33 KB
    Counter Output Block Diagram Data.PNG ‏21 KB
    Array Output Data.png ‏21 KB

  • Use virtual channel name as input to DAQmx Write? LV8 and DAQmx

    I've created a task for digital output that contains 8 named channels using the DAQmx Create Channel VI in Labview. Is it possible to use the channel name as an input to the DAQmx Write VI to reference the desired channel? I tried wiring a string with the channel name to the "task/channels in" input but I get a -200428 error that says the Value passed to the Task/Channels In control is invalid.
    The help "name to assign" input for the DAQmx Create Channel VI says
       If you use this input to provide your own names for the virtual channels, you must use the names when you refer to these channels
       in other NI-DAQmx VIs and Property Nodes
    OK, so how do you use the name assigned in other VIs?
    George

    George,
    I think that there may be some confusion here about the difference between local and global virtual channels.  First of all, please take a look at the following knowledge base:
    Physical Channels, Virtual Channels, and Tasks in NI-DAQmx
    As discussed in this KB, local global channels are created inside a task, and they only apply to that task.  In the help file for the DAQmx Write VI, the "task/channels in" description says "if you provide a list of virtual channels, NI-DAQmx creates a task automatically."  When you wire a string to this input, a new task is being created, and unless the channel name that you wire in is a global virtual channel (listed in MAX), you will get the error 200428 that you mentioned.  This is because that virtual channel that you are specifying is local to another task and is not associated with this new task. 
    One solution to this issue is to use the DAQmx Save Global Channel VI to save your local virtual channel as a global virtual channel before calling DAQmx Write.  Once this is done, you can then wire the same string constant to the "task/channels in" input of DAQmx Write or other DAQmx VI's. 
    The help text is still correct, but is only applicable in certain situations.  For example, if you create and name an analog input local virtual channel with DAQmx Create Channel, you could then use this channel name as the source input to a DAQmx Trigger VI configured for an analog edge start trigger.  You could also use that channel name as the input to the "ActiveChans" DAQmx Channel Property, which would enable you to modify the properties of that particular channel. 
    Hopefully this information is helpful to you.

  • DAQmx write shown as broken, read fine

    I'm trying to bring a test up-to-date, it was originally in 8.6 and I've brought it into 11, also I can't work on it on the system where it runs. (it's heavily utilized)
    I've exported and imported the MAX settings from the old system to my system
    the VI shows the broken arrow and says the DAQmx write is broken, however if I open the DAQmx write it doesn't show the broken arrow and works fine, no errors.
    I tried deleting and reapplying the call to the DAQmx but I get the same error, reads don't have the problem.
    I also tried opening a new project, same results, VI with DAQmx write shows the broken arrow, DAQmx doesn't
    the original app writes to a NI PCI-6250 which I don't have in the my system, If I do a DAQ Assit the 6250 shows up, which in my mind means the import of the MAX settign has worked, device also shows up in MAX, but the DAQ assit VI is also marked as broken by the VI.
    using LabView 2011 SP1 and DAQmx 9.4, win 7 is the OS
    anyone have a idea of what I'm doing wrong?
    Solved!
    Go to Solution.

    Try right-clicking on the DAQmx write VI on the block diagram and select Open Polymorphic VI. This will show you all the instance VIs and flag the ones that are broken.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Error 200428 in linux example code

    Hi All;
    I'm trying to use the mx daq-base on a redhat 9.0 system. I have a 6031E installed(pci). I've installed the hardware, then the software and compiled the example code. When I try to run the writeDigPort example I get;
    Device indentifier is invalid.
    DAQmxBase Error: -200428
    lsdaq reports:
    NI 603E: "Dev2" (PXIO::16::0)
    Nay ideas?
    Pat

    After further looking into the problem I'm getting an error -200220
    here is the suspect code
    char chan[] = "dev1/port0:1";
    error1= DAQmxBaseCreateDOChan(taskHandle,chan,"",DAQmx_Val​_ChanForAllLines);
    DAQmxBaseGetExtendedErrorInfo (errBuff, 2048);
    printf("\nDAQmxBaseCreateDOChan returned %d %s",error1,errBuff);
    This gives the following output
    DAQmxBaseCreateTask returned 0
    DAQmxBaseCreateDOChan returned -200220 Device identifier is invalid.
    Data to write: 0x55
    DAQmxBaseGetExtendedErrorInfo returned -200428 Value passed to the Task/Channels In control is invalid.
    Anyone have any idea?
    Pat

  • Error -200428

    Hi,
    I am trying to run a program that logs temperatures but I am having the following issue:
    The program as a vi works it logs the temperatures and saves all the data like expected.  Also if i run the executable on the same pc that created the exe it works.  However when I make it into an excutable and try to run on another pc the program stops giving me error -200428 and states "Property Node DAQmx Timing (arg 1) in DAQmx Timing(Sample Clock).vi:1->16_ThermocoupleDAQ(Triggered).vi<append><B>Task Name:</B>LogData"  How do I fix this error?
    Please help this is quite urgent.
    Thanks
    Chris
    Solved!
    Go to Solution.

    What I'm saying is that when you create an installer in your project, one of the options is to export the MAX config and then include that and when run on a new pc, that config will be imported into MAX.
    If you want, you can manually export a MAX configuration and manually import one. Just look under the File menu in MAX. You would need to install MAX.
    You could also place all of the required configuration steps in your program instead of hiding some of it in MAX.
    Message Edited by Dennis Knutson on 02-26-2009 12:06 PM

  • Erreur -200245 s'est produite à DAQmx Write

    Bonjour,
    J'ai un système PXI-1042 avec plusieurs cartes (PXI-6221, PXI-6533...) et surtout 2 cartes de generation analogique PXI-6713. Le chassis est piloté via controleur MXI-4 déporté dans un PC.
    Nous creons des sequences qui durent 2-3sec avec echantillonage de 1ms et nous générons ces sequences en boucle. Nous stoppons la génération, changeons un paramètre et relancons l'execution de la sequence. De temps en temps, nous avons le message d'erreur suivant : "L'erreur -200245 s'est produite à : DAQmx Write. Raisons possibles : Measurements : La PLL a perdu son verrouillage par rapport à l'horloge de référence externe.... "
    Je vous ai mis en doc attaché une image de la capture d'ecran avec le message d'erreur.
    Je dois alors arreter le VI puis le relancer pour que la sequence soit lancée sans message d'erreur. Cette erreur arrive aléatoirement, parfois rien pendant plusieurs jours et parfois plusieurs fois par jour...
    Quelqu'un pourrait il me donner quelques explications concernant ce message d'erreur afin d'optimiser mon application.
    Merci d'avance
    Attachments:
    bug1.jpg ‏421 KB

    Bonjour,
    Merci pour votre réponse, je n'avais pas trouvé le premier lien sur le site de NI qui me semble correspondre à mon problème.
    >> Why do I receive Error -200245 with my X Series Card?
    Nous n'utilisons pas d'horloge externe donc j'aurais tendance à croire que l'erreur vient de cette remarque : Signal generation: The reference clock signal should be active before calling starting any DAQmx task that will attempt to use the reference clock.  Ensure that your reference clock source is generating the clock prior to DAQmx Start Task being called.
    Si je comprends bien,  il semblerait que ce soit du à une erreur de synchronisation de l'horloge PLL. C'est à dire que quand on lance l'acqui, il y a une horloge qui est créée pour synchroniser les cartes d'acqui, et pour cela, elle utilise l'horloge du fond de panier du châssis PXI. (on n'utilise pas d'horloge externe). Cette horloge référence est créée à chaque fois qu'on lance la génération et est libérée à chaque arrêt. Il semblerait qu'on lance la tache avant que l'horloge soit prête.
    Il est possible que ce soit dû au fait que l'on va trop rapidement entre arrêter une séquence et lancer la suivante.
    Je vais voir si il y a des astuces de prog pour interdire le lancement du DAQmx Start Task tant que le PLL n'est pas prêt, peut etre avez vous des infos à ce niveau? Validez vous mes hypothèses précédentes?
    Merci beaucoup pour votre aide.

  • DAQmx write problem

    Hi,
    I've designed a VI to send a ramp signal to a DA-converter but having difficulties executing it. The VI was designed and tested succesfully on a different system, but attempting to run it on my new system it does not work. The program simply won't finish. Using the highlight execution tool I see that the execution does not proceed from the "DAQmx write" box. Certainly this must be a problem related to settings or the software installed on my computer, but what might be missing? My system runs LabVIEW 2011 on Windows 7. I'd be very grateful if anyone out there could provide me with a helping hand.
    Attachments:
    VoltageRamp_ao0.vi ‏55 KB

    The vi will wait for 10 seconds and through an error if it is having an invalid task. Check the device name specified in the physical channel in the code and the MAX. Apart from that I don't see any problem with your code and it ran fine in my PC.
    The best solution is the one you find it by yourself

  • USU 6009 counter error: DAQmxBase Error -200428

    I want to use USB 6009  as an edge counter. I got this ouput :
    create task
    createCounterChan
    start task
    DAQmxBase Error -200428: Value passed to the Task/Channels In control is invalid.
    with following code:
     // Channel parameters
       const char  counter[] = "Dev3/ctr0";
       // Read parameters
       uInt32 readArray[1];
       uInt32 arraySizeInSamps=1;
       uInt32 initialCount=0;
       int32 numSampsPerChan=1;
       int32 sampsPerChanRead;
       float64 timeout=100;
       DAQmxErrChk (DAQmxBaseCreateTask ("", &taskHandle));
       printf("create task\n");
       DAQmxErrChk (DAQmxBaseCreateCICountEdgesChan (taskHandle, counter, NULL, DAQmx_Val_Falling, initialCount, DAQmx_Val_CountUp));
       printf("createCounterChan\n");
       // Start Task (configure port)
       DAQmxErrChk (DAQmxBaseStartTask (taskHandle));
       printf("start task\n");
       DAQmxErrChk (DAQmxBaseReadCounterU32 (taskHandle, numSampsPerChan, timeout, readArray, arraySizeInSamps, &sampsPerChanRead, NULL));
       printf("Data read: 0x%X\n",readArray[0]);
    Please help

    Hello nguyendyhung,
    Thank you for posting to the discussion forum. Here is a KnowledgeBase that explains this error.
    NI-DAQmx Base Error -200428
    http://digital.ni.com/public.nsf/websearch/7705D38D59EF562886256F79007E4B5A?OpenDocument
    This document is going to reference LabVIEW, but the theory is still going to be applicable with your code. You can get this error message if the task is not configured correctly.
    Also take a look at some of the shipping examples that come with DAQmx Base. You can find them in the following folder:
    C:\Program Files\National Instruments\NI-DAQmx Base\Examples
    Please take a look at these resources and let us know it resolves your issue.
    Regards,
      Sandra T.
    Applications Engineer | National Instruments

  • Overriding DAQmx Write?

    Hi,
    In my project i am required to constanly acquire analog input from 2 sensors and den generate the desired output to 2 devices using use-cases(already done).
    The question now is if it's possible to override the DAQmx Write so that i can ignore the use-cases and just generate the output i want
    Solved!
    Go to Solution.

    Dennis is right about your wiring.  You should not wire from right to left like you did from your case output to the DBL converter, and from the DBL converter to the Write.  You output of case structures and loops should be on the right side.  Inputs on the left, outputs on the right.  It is OK to occasionally have inputs/outputs on the top and bottom,  You should not hide wires under other objects, like your error wire being behind the case.  You don't need to make your case structure so huge, shrink it down to make your wiring easier.  Don't make unnecessary wire bends.  Straighten some of them out.
    Also, use shift registers for the error and task wires when using a loop.  This will propogate the information from one loop iteration to the next.  If there is an error in one loop iteration, it gets lost on the next iteration because the error in on the left side input is "no error".  A shift register will force the error out from one iteration to be the error in on the next iteration.
    Put a small Wait(ms) delay in all loops to prevent hogging of the CPU.  Look at my modification to your vi.
    - tbob
    Inventor of the WORM Global
    Attachments:
    VaryingLightSensor[1].vi ‏23 KB

Maybe you are looking for

  • FRM - 40212 / FRM - 40222 error on a radio group during query

    Hi all, This is my first post so please bear with me if I haven't provided sufficient information or am unclear at all. I'm using Forms Builder (Web) on a 10g Database. I have a number of database and non-database items as part of a data block. My pr

  • Printing not working via "Faces" view in Aperture 3

    When I select a photo via the "Faces" view and then attempt to print, Aperture doesn't present a Print window- nothing happens.  When though I select the same pic (or any other) via the "Split Pane" view, Printing works fine.  I'm running A3.2.3 on L

  • Flex 2.0 + WAS 6.0 on AIX 5.3 possible?

    In the Flex system requirements I read the following: "IBM AIX 5L 5.2 (with WebSphere 5 only)" Does this mean that I can't use Flex on an AIX machine with WebSphere 6.0? Will this issue be fixed in the official release?

  • Spry.Utils.loadURL problem

    I'm having trouble with the last parameter of Spry.Utils.loadURL. I know I need more info in the last argument but I cannot find good documentation on this. I can work out how to do it with form data, but not with data passed as a simple variable par

  • Itunes wont instal on my dell espiron N7110

    i get this error. 'Microsoft. VC80.CRT ,type="win32",version="8.0.50727. 6195",publicKey Token="1fc8b3b9a1e18e3b",processor Architecture="x86"". Please refer to Help and Support for more information. HRESULT: 0x800736B3. please help