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 KBHello 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
Can you attach an image of the error display? Did you install DAQmx after installing LabVIEW? Do you have the DAQmx palette?
-
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 KBEnclosed 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 KBOops. 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, SteveHello 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: 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 KBOriginalP 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?
GeorgeGeorge,
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?
PatAfter 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 -
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 KBBonjour,
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. -
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 KBThe 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 helpHello 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 -
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