Configuration of extraction of DAQmx task ID...?

Hello

Is it possible to set up channels in a pull-out TaskID? I know it's just a number, which I think refers to an entry in a table of tasks taking into the configuration details. Regardless of whether I'm right or not, is it possible to decipher the task ID accurate and detailed on the co-content channels?

Thanks in advance,

You try to reverse engineer a task only from the handle of the task or you have access to the task handle after it's been created?

If this is the first, it is not that you can make the raw string, because the task must exist on the computer for any information about her.  If a task is saved, it will appear in MAX.

If the task was created dynamically and still exists on the machine, you can use the task to stop DAQmx to stop the task and then to study its properties using different DAQmx properties.  You can use the task property NOR-DAQmx 'Channels' to get an array of all the channels in the task.  Then, you can use different properties DAQmx channel on each channel to obtain more precise information on the channels.  Triggering and synchronization, simply use the associated properties.

Tags: NI Hardware

Similar Questions

  • Programmatically, create a multi-channel DaqMX task

    Is there a way to create a task of multichannel DaqMX programmatically, without having a task to copy?

    Yes and it is an easy way to find a way to do it.

    Start by creating a task in MAX (Ben, but I want to avod MAX!) Don't be afraid that it's just a one time event that will allow us to know what are the steps)

    Go to a block diagram and steady decline DAQmx task on the diagram and choose the task you created in MAX.

    Right click and select 'create configuration and example '. LV will create the code that goes with the taks.

    Study the config VI that was created. It will show you what it takes to create a task without MAX.

    I hope that helps!

    Ben

  • DAQmx task Read DAQmx with sampling frequency of 10 Hz produced much too much data

    I have a simple configuration with a strain of channel 4 OR-9237 amp holds a carrier of series C of WLS - 9163 (wired ethernet mode) - Details probably does not matter.

    I used MAX to create a DAQmx task associated with which all four gauges samples.  The calendar setting is "Scan Loads" is continuous sampling, 2 k buffer (read samples) and 10 Hz rate.  I guess that this task would generate 40 data values per second - 10 for each channel.

    I have a simple loop of reading using DAQmx Read.vi that works always (without any stimulation time).  Playback is set to read all available data and then pump it into a table.
    In the attached example, I also added a few words of debugging to stop the loop after N iterations.

    As the loop is programmed with a 0.2 second period, I expect each pass of the loop to read about 8 samples or 2 samples per sensor.  Instead, I get hundreds each passage.  It's like reading has substituted the sampling frequency specified in the task of the unit.  I absolutely need data to be material to the rhythm.

    Where have I lost?

    Thanks Adnan,

    I changed your example I selected 'Strain gage' entry analog and then lowered the minimum and maximum thresholds to +-1-2.  What happens is that each other in the loop, I 2048 samples or zero samples.  The display flashes a whole line and then it clears any other past.

    In response to your second post, I understand that the loop cannot run quite right that I select.  I think that, but at a sampling frequency of 10 Hz, I have to sleep on the software side for nearly a minute before I built 2 K samples.

    I played with the frequency of sampling, assigning to various values from 0.1 to 10000Hz.  The behavior is the same until I approach the high rates where available samples remains to 2048-4096 sometimes, the display becomes continuous.

    Ahhh, Darn.  Yet another search was this link that points to the root of my confusion.  The 9237 can taste arbitrary rates using its internal clock.  Duoh!  I wish that the pilots are smart enough to warn you if there is a discrepancy between the selected sampling rate and capabilities of the device

  • How to set up wizard DAQ or DAQmx tasks using an external text such as a CSV file?

    I work in an environment were we have a lot of users VI. I develop the VI and technical personnel using the GUI (cover Page) to collect the data. In order to control the input parameters used on multiple hardware platforms, I'd like to develop a generic VI which will import or read a text file I created, and configures the DAQmx tasks to perform data acquisition. In fact, I have the generic VI full and need to understand how to make configurations DAQmx more transparent for the end user as long as the end user has the text file to import. For example, to generate the wizard DAQ DAQmx tasks based on information from text file?

    I don't have time to do more than just a small example. The VI below contains a table with table fixed index functions. This would have changed to get automatically the correct rows and columns, but I hope that you have an idea. I does not have any code to define the type of temperature measurement or to set the correct configuration of Terminal. All of this plus all other possible options will be treated similarly to the definition of the type of channel and min/max which is located in the example.

    Edit-attach VI

  • SE AcceesViolationException NationalInstruments.DAQmx.Task.UnregisterAsyncWaitHandle

    Hello

    I use my own .net application which communicates with NationalInstruments.DaqMx.dll (version 9.7) in order to activate NiDaq in the following configuration:

    Chassis PXI-1033 at two locations PXI-6284, measure differential voltage. This app worked already for a few months and has been tested under high performance - high sampling rate and long hours, without no problems so far. Recently, we tried a new use case - short sessions (60 min) measures running in sample rate = 100 and samples per channel = 100 after a few iterations, we continue to get access violation exception:

    Exception info: System.AccessViolationException

    Battery:

    to NationalInstruments.DAQmx.Task.UnregisterAsyncWaitHandle (System.Threading.WaitHandle)

    at NationalInstruments.DAQmx.Internal.DaqAsyncResult.AsyncOpDone)

    at NationalInstruments.DAQmx.Internal.AnalogMultiChannelMemoryOptimizedMultiSampleReadAsyncResult.WorkItem (System.Object)

    at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object)

    at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

    at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem)

    at System.Threading.ThreadPoolWorkQueue.Dispatch)

    at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback)

    Keeping the sampling rate 100, but his definition of samples per channel at 1000 seems to solve this problem.

    Can someone explain to me what is the cause of this exception?

    Thank you

    Hadas


  • DAQmx task: MAX or lvproj?

    Experts,

    What are the benefits to declare tasks DAQmx either in the lvproj or Max?

    My question because I'm calling a VI of TestStand test, and when the DAQmx task constant is declared in the project (lvproj) which holds the criterion VI, it does not perform properly, saying can't find the reference or something.

    If I change the DAQmx task to be a global task in MAX everything works as expected.

    What is the best practice to do this kind of things?

    Thank you very much

    LR2

    TestStand does currently not support execution of VIs a project. So unfortunately, we expect the behavior that you see where to call a VI that uses a DAQmx task defined in a project does not work. For now, if you do want to keep your configuration of the task outside the source code and you want to use these task for TestStand, you must store the Max.

    We are looking for by adding support for the performance of screw a project in a future version of TestStand.

    David Rohacek

    National Instruments

  • How to add DaqMX task to an existing project

    I use Measurment Studio 2010 with Visual Basic. I created a NI Daq Windows application with an element of task Daq to analog input.

    Now, I have to add additional DaqMX tasks (tasks in digital and Digital Out) to the existing Visual Basiic project.

    How can I do this?

    Thank you

    Mike

    Hello

    Here is a link that shows how to add a task to a .NET project

    http://digital.NI.com/public.nsf/allkb/290D84D10809D4C086256FF20076F8B8

    Curt

  • Convert DAQmx task IDS in a string

    I'm using LabVIEW to perform a generation analog DAQmx and I call my LabVIEW of CVI code via a dll.  I want to make two separate calls, one to start a task DAQmx and one to stop the task, so I need to either:

    (1) move a task ID DAQmx CVI and then again to LV

    or

    (2) convert a string of the ID for the task, pass it to CVI and then back to LV and then convert back to a task ID in LabVIEW.

    I'm sure that option 2 is the easiest option, but I don't know how to convert back and forth between a string and a task ID DAQmx.  Can anyone help with this?

    Thank you

    Joe

    Nathand is correct, it's pretty easy convert from/to the task DAQMX and String.  The two below

    Hmmmm is note expected or a bug?

    Feedback probably need an expert of DAQmx to answer that - I think it might be related to level DAQmx tasks

  • How to store a DAQmx task properties effectively?

    Hello everyone and happy new year!

    I would like to be able to keep track of all the DAQmx task settings (and canals) in a file, regardless of the content of the DAQmx task / channel is. So far, the only way I've found is to use a task DAQmx / channel property nodes and treat every property possible. However, since they are so many properties, each being is not valid for any material or task / channel type, it's a really big job and I'm rather lazy

    So I ask here if someone has already dealt with THIS or have any idea?

    Hi Hillman,

    Thank you very much for the link. Related documents Silly me had neglected tdm... Your link is indeed very useful, as I do right now exactly the same way it's done the:

    • DAQmxTaskInfoQuery.vi
    • General info.VI DAQmx TEDS

    As part of the download in the link you gave.

    Exepted this code is much more readable than mine, so I guess I don't need to view my ugly code incomplete. Many things interresting, thank you very much. I'll be back if I have something better to give as a reference.

  • Extract single channel DAQmx task

    Hello

    I created a task DAQmx output, which contains two channels.  Is it possible to extract the individual virtual channels of the task to be dealt with by two parallel processes?  I tried to bring out the ownership of channels using a task property node, but then I get the error that the channel is not part of an active task (see excerpt)

    Could someone advise on a better approach, or how to obtain this feature - if that's possible?

    Concerning

    Dave

    Sorry, that VI does not have much sense. You must use a unique DAQmx writing for both channels and 1 sample mode, simply build an array of signals as shown below.

  • Cannot undo the Trigger on DAQmx task configuration

    Hello

    I'm running into a DAQmx problem where the type of trigger for departure does not properly get sent to the material in the case following (using X with DAQmx 9.5.1 series):

    1 set up and run an output meter task finished with a trigger digital start (I have not tested other channel or other types of triggers).

    2. stop the task before a trigger is sent to hardware (I have not tested what happens that if you send the trigger first - hardware in my real application, the task is redeclenchables anyway).

    3 try to configure the task to use no trigger to start and start the task.

    4 do the trigger type queries in the software at this point says 'none', but the material is still configured to use the trigger to start.  It seems to be a way to configure the hardware to do not use the trigger at this point.

    It is an embarrassment to me because I would have liked to keep the same task autour handle, but in order to switch between the modes of trigger and no trigger I have to erase the task completely and re - initialize everything that's embarrassing for me since in my application, I have at least 2 son can stop the task and I can provide is no longer simply the task manage for each thread during the launch it.

    A simple way to reproduce the problem, just try to start the VI below:

    You can tell that the trigger is always configured as none pulse is generated, and the loop is not closed until a trigger is provided on PFI0.  Re-reading the trigger type using a property node you find it inconsistent with what really material.

    I don't need really workaround (I should be able to lead a myself who is to clear the task each time that trigger properties are task parameters changed and storage myself rather than relying on DAQmx) but I wanted to just report it as a bug.  The solution is, but it adds a lot of complexity to my request and is as ineffective as it is clearing unnecessarily and re-creating a task.

    Best regards

    Hey John,

    Good to hear from you.

    I've reproduced the problem and filed the application of Corrective Action (365307) to follow up the matter.

    Thank you.

  • How to copy DAQmx task without the help of MAX?

    Howdy-

    I hit a bit of trouble here I think points to a fundamental misunderstanding I can have on DAQmx channels and tasks.  I can hack together a workaround, but I would like to know how to do these things, common sense.

    In a Word, I prefer to do everything in the code and not use MAX.  For my application, I would like to create a single channel/task initialized with all the scaling, the physical channel parameters and units (it is what is, in my case, a 'channel').  I would then like to create copies of this channel/task and configure each with parameters of specific task of sampling... corresponding to what I would call the "tasks" to use "Channel".

    I'll have no chance, so of course, I do not understand what I do.  Any reading/posts I've met use MAX.  Here's what I've tried so far:

    Even when you try to use MAX, I am the breath.  Any help straightening on my confusion here is very appreciated.

    Thanks in advance and have a nice day.

    -Brad

    In fact, you're not confused.  In this instance of National Instruments is perhaps...

    See the links ofthese ideas in the link.

    But a 'task' is really just a section in an XML file.  If this file is named *.lvproj the project has access to tasks.  If this file is *.nce any labview application has access to tasks.  If this file is created by the RTE that vi has access to the task.  In short, the "tasks" are never really defined by 'Code' but by the XML code to the file than declairs them and teir properties.  Tasks need to be defined a time-preference during design - project

    Yes, it's a bit simplistic but a good analogy!

    Go ahead and kiss MAX to set your tasks... use DAQmx property nodes if you need to programmatically determine a task property.   "do everything in code" as you say is just not really the way it is... the way I think you hear it...  'S really not 'made it in the code"but rather how LabVIEW is inherintly multithreaded.  The IDE just handles it for you "So easy that could encode a cave man!  Relax and let it work the way it does work for you.

  • DAQmx task deletion concern

    So when I use the DAQmx create channel VI, he creates a task 'unnamedTask xx' where xx is a hexadecimal number. Let's say I put the State of the task of checking. Now, if they are in a loop, it will create then another task, use the same physical channel and because it is the only reservation it will create another task, increment the unnamedTask 1 and set it to check. My question is, what happens to the previous task? If it is stored in memory? Or the garbage collected. I guess that since the material is assigned to another previous task will be garbage collected. But I wanted to make sure. I have several tasks, so if I can avoid using the task clearly and simply overwrite it somehow be better I think. Thank you.

    Brad

    You can call DAQmx clear Task.vi between create a task and Create Channel, which will erase any existing configuration and will not mistake if the task does not exist.

  • I can't adjust the configuration of Terminal to my task of AIvoltage entry

    My analog in the task of voltage created with VB6 and Measurement Studio will not allow entry terminal configuration change DAQmx_Val_Cfg_Default to DAQmx_Val_NRSE. I get the error message: "value required is not supported for this property value." However value that I am trying to use directly from the "NOR-DAQmx C reference help" for the DAQmxCreateAIVoltageChan task.

    Yes, I think that this problem has been reported recently. Don't know why this happens, but the workaround is to find integer values associated with each of the parameters in the header file NIDaqmx.h:

    C:\Program NIUninstaller Instruments\NI-DAQ\NI-DAQmx ANSI C Dev\include\NI-DAQmx.h

    Then just pass this value to your function. Let us know if it works or not.

  • Problems with DAQmx - tasks missing when I run my application on another PC

    Hello

    I use a NI USB 6009 and my program use DAQmx and different tasks for the input and output signal.

    I created an application and I want to run this application on another PC, which doesn't have the development environment, but the runtime engine and installed MAX. This PC is connected to the NI USB 6009.

    Now, I have the problem that the tasks are missing on this PC and I get errors when I run the application.

    I wonder why these tasks are not put into the application automatically? What should I do now? Can I somehow export tasks in MAX and copy them to the other PC? Is not complicate it?

    Hi Johannes,

    Have you created your tasks of measurement and Automation Explorer?

    If this is the case, you must export the file of configuration of measurement and Automation Explorer and then import it on the other computer.

    With LabVIEW 2010, you can import a configuration via your Installer file, but I don't know if you can do it with LabVIEW 7.1

    Kind regards

Maybe you are looking for