NI error -201133; Input and output on the NI9401

Former user of Matlab, it is the first time I try to work with the DAQ and national instrument. My device is a NI9401.
I want to record the position of 1 optical encoders. For this , the encoder is connected to counter in the 9401.
Here is how I proceed:
1/ I open a new DAQ session
2/ I add a counter channel, in order to make a clock (because, as I understood, to do a startForeground I have to configure a clock which will be associated with my data recording, am I right?
3/ I add a counter channel in order to have the data corresponding to the position of the encoder. But at this time I have the error message about the session reserved.
here is the code
//first I do the clock
ClockFreq=100;
sClk=daq.createSession('ni');
sClk.addCounterOutputChannel('cDAQ1Mod5',0,'PulseGeneration');
clkTerminal=sClk.Channels(1).Terminal;
sClk.Channels(1).Frequency=ClockFreq;
sClk.IsContinuous=true;
sClk.startBackground
//then
I configure the data input
s=daq.createSession('ni')
s.addCounterInputChannel('cDAQ1Mod5'),1,'Edgecount')
At this time I have the NI error -201133 message
Devices cannot be configured for input or output because lines and/or terminals on this device are in use by antoher task or route. This operation requires temporarily reserving all lines and terminals for communication, which interferes with the other task or route.
If possible, use DAQmx Control task to reserve all tasks that use this device before committing any tasks that use this device. Otherwise, uncommit or unreserve the other task or disconnect the other route before attempting to configure the device for input or output.
device : cDAQ1Mod5
Digital Port:0
Lines:3
Thus, my question is :
1/how can I configure both output clock and input counter in NI9401 directly using Matlab?
Thanks for your help.

If you want to do clocked counter input measurements you need to specify an external clock OR (if available) you can add an analog input channel from another module on the same chassis -- in this case the session shares an internal clock with both modules.
The external clock can be generated by a counter output channel in pulse generation mode, as you had session sClck configured. However, ther error you are running into could be due to using channels from the same counter subsystem (on the same module) in two separate sessions.
Can you try using the counter output channel from another module (if available)?
s = daq.createSession('ni');
s.addCounterInputChannel('cDAQ1Mod5', 1,'EdgeCount');
s.addClockConnection('External', 'cDAQ1Mod5/PFI2', 'ScanClock');
extClockFreq = 1E+3;
% this should match the frequency of the external clock
s.Rate = extClockFreq;
s.DurationInSeconds = 1;
[data, timestamps] = s.startForeground;
The alternative to using an external clock, as I mentioned, is to have one session with one counter input channel and an analog input channel from another module on the same chassis -- in this case the session shares an internal clock with both modules, so no external clock needs to be provided. Please see the following example:
http://www.mathworks.com/help/daq/examples/count-pulses-on-a-digital-signal-using-ni-devices.html

Similar Messages

  • How to get the sine wave sample of the input and output in the same time?

    I discovered that the samples were acquired did not in the same time in my vi.Could you tell me how to get the sine wave sample of the input and output in the same time?
    Output:9263;
    Input:9201
    Attachments:
    singal requency.vi ‏104 KB

    Hello Yun_Zhu,
    Your VI looks like you started from an example, and you are on the right track. 
    To clarify are you trying to synchronize the input and the output waveforms?  If you you will need to share a time base and a start trigger.  Check out the synchronization examples from LabVIEW
    Anthony F.
    Product Marketing Engineer
    National Instruments
    Attachments:
    HIODAQmxSyncMultiDev.png ‏70 KB

  • Audio input and output at the same time

    Hello mac users.
    I have one simple question: since the new macbook has one single audio port for both input and output, how could I, for example, play my guitar AND listen to the headphones at the same time?
    I KNOW (because I've tried) that with the iPhone headphones with microphone the port CAN physically work at the same time for input and output, so the question is: what can I use to do that? Will a simple splitter do or do I have to use different tricks?
    (I know there is a thread on this already, but it doesn't provide a definitive answer)
    Thank you!

    One of the first questions to ask...
    Is the audio input stereo or mono?
    When using a headset mic you're dealing with a mono input so you at least know the Mac is capable of that.
    If it's mono, and I suspect it is, should be easy to either make or purchase a custom cable that has two female input connectors, one mono input and a stereo headphone input.
    However, I'd probably just purchase a USB audio interface, the sound, both recording and playback will be head and shoulders above the Macbooks built in internal audio.
    pancenter-

  • I have on;y one audio port can i use it for input and output at the same time?

    i have the new macbook pro 13 in and i want to connect aguitar as input and output on an amp but i have only one audio port

    You can't use the jack as an input and output simultaneously. The solution is to look for a USB or Firewire interface to get your guitar sound into the computer.

  • Is there a way to bold inputs and outputs in the VI documentation?

    Context help for a VI shows the VI icon and terminals with the VI's documentation.  Some VI's documentation is constructed so that Input and Output names always appear in bold.   (for example, see the context help for list directory).   The attached image shows the context help for a VI I made.  I would like to have the documentation look like this:
    Searches for all files in directory path that fit pattern.  Returns  arrays of all the file paths -- FilesMatchingPattern, filenames --FileNamesMatchingPattern and of a cluster containing both values -- StringsAndValues for files that match the given pattern
    instead of like this:
    Searches for all files in the directory path that fit pattern.  Returns  arrays of all the file paths (FilesMatchingPattern), filenames (FileNamesMatchingPattern) and of a cluster containing both values (StringsAndValues) that match the given pattern
    Attachments:
    Context Help with bold input-output names.bmp ‏247 KB

    This is an example of how to <B> bold </B>
    P.M.
    P.S. Please post as .jpg or .png rather than .bmp for bandwidth reasons (there are still some who are doing this over dialup)
    Message Edited by LV_Pro on 10-05-2005 01:54 PM
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion
    Attachments:
    bolden.JPG ‏9 KB

  • RS232 Input and Output in the same time

    Hello
    I have problem with rs232. 
    I read information from my power supply by RS232 Input:
     Expected string: 1923456789<CR>OK<CR>
    Channel 0
     Measurement data request: GETD00\r
     Measurement data format: 4a
    Channel 1
     Measurement data request: (empty)
     Measurement data format: 4a
    Channel 3
     Measurement data request: (empty)
     Measurement data format: 1a4x
    Sample interval: 0.20s
    The date are readed correctly until I don't send other string by RS232 Out.
    Output [a]\r (VOLT00123)
    After sending string Power Supply return data OK<CR>
    After sending string by RS232 Output the data form RS232 are readed incorrectly.

    In the Output format, you need to skip the OK<CR> so it doesn't confuse the input parsing.
    The Help says the following
    If there is the need to wait for the Response String of the external device the following string has to be attached to the format string.
    ‘\#x' (x=1-999)
    That ensures that no other module will address the interface. If the response is received the defined number (x) of characters will be skipped.
    So, the output string should be
    [a]\r\#3
    That will send the command, then wait for the OK<CR> before handing control of the serial port back to the RS232 Input module.
    - cj
    Measurement Computing (MCC) has free technical support. Visit www.mccdaq.com and click on the "Support" tab for all support options, including DASYLab.

  • CFP-DIO-550 open multiple input and output at the same time

    I am trying to read and write at different times with the cFP-DIO-550.  I cant figure out how to read all the inputs at the same time.
    In the Create Tag.vi, I cant figure what to wire to the Item Name input.  I have tried Input 0, and that works, but it is only one input, I need to read all 8.  I have also tried Input All, All, Input 0:8. input 0-8, input 0: Input 8, Input 0 - Input 8, and I always get an error.
    I cant find anything on it in the manual.
    Thanks,
    Kenny

    Normally I would select 'All' using a FP IO point function instead of create tag ( LV 7.0 and up ).   I have noticed that the 'All' is only available if the module is all inputs or all outputs.  It may be that since your module is an IO, 'All' is not available by default. 
    I think you need to create an item in MAX in the Data Neighborhood under the DIO-550 Module and configure it to use all the IO on the module.

  • How to control (the input and output) EXE file after I call it using exec?

    Hi,
    I knew that I can use runtime.exec() to call one EXE file, and this works. But this EXE has two characteristics:
    1. After this exe starts, it asks user to input number such as 1 or 2 onto computer screen, then press return. Then the exe will start the calculation.
    2. after it starts calculation, it prints 3 columns of numbers onto the screen.
    My two questions are:
    1. How to use java to input the number such as 1 or 2 automatically? this EXE can not work like this in DOS command line:
    C:> file.exe parameter
    The parameter is the number such as 1 or 2 that I wanna input.
    2. how to redirect the 3 columns of numbers from computer screen to txt file?
    My colleague can solve these two questions using Mathematica. So I know that definitely there is at least one solution for it. I just can not do it using Java. This wierd exe file bothered me a lot and I really wish that I can get help from someone in java community.
    Thank you!
    Tony

    When you call Runtime.exec, you get a Process object. (I presume something similar happens when you use ProcessBuilder.) Process has methods with names getOutput, getInput, and getError. These correspond to the standard input, standard output, and standard error streams of the spawned process.
    You can read and write to the process on the streams corresponding to input and output that the process writes to the console.
    [add]
    In fact, you should be grabbing and reading the output/error streams anyway, because of the points raised by the Traps article. Google "Java Runtime exec traps" and you'll probably get a link to this JavaWorld article, which describes common Runtime.exec problems and how to solve them.
    Edited by: paulcw on Jun 15, 2010 4:09 PM

  • Synchronize input and output tasks to start at the same sample point [C++ NI_DAQmx Base]

    I'm trying to initiate the analog input and output streams to start reliably at the same sample. I've tried triggering the output from the start of the input using the following code [NI-DAQmx Base 2.1 under Mac OS X with an M-Series multifunction board]. It compiles and runs, but gives an error message at the call to "DAQmxBaseCfgDigEdgeStartTrig". Any suggestions about synchronized I/O on this platform?
    #include "NIDAQmxBase.h"
    #include
    #include
    #include
    #define DAQmxErrorCheck( functionCall ) { if ( DAQmxFailed( error=( functionCall ) ) ) { goto Error; } }
    int main( int argc, char *argv[] )
    // Task parameters
    int32 error = 0;
    TaskHandle inputTaskHandle = 0;
    TaskHandle outputTaskHandle = 0;
    char errorString[ 2048 ] = {'\0'};
    int32 i;
    time_t startTime;
    // input channel parameters
    char inputChannelList[] = "Dev1/ai0, Dev1/ai1";
    float64 inputVoltageRangeMinimum = -10.0;
    float64 inputVoltageRangeMaximum = 10.0;
    // output channel parameters
    char outputChannelList[] = "Dev1/ao0, Dev1/ao1";
    char outputTrigger[] = "Dev1/ai/StartTrigger";
    float64 outputVoltageRangeMinimum = -10.0;
    float64 outputVoltageRangeMaximum = 10.0;
    // Timing parameters
    char clockSource[] = "OnboardClock";
    uInt64 samplesPerChannel = 100000;
    float64 sampleRate = 10000.0;
    // Input data parameters
    static const uInt32 inputBufferSize = 100;
    int16 inputData[ inputBufferSize * 2 ];
    int32 pointsToRead = inputBufferSize;
    int32 pointsRead;
    float64 timeout = 10.0;
    int32 totalRead = 0;
    // Output data parameters
    static const uInt32 outputBufferSize = 1000;
    float64 outputData[ outputBufferSize * 2 ];
    int32 pointsToWrite = outputBufferSize;
    int32 pointsWritten;
    for( int i = 0; i < outputBufferSize; i++ )
    outputData[ 2 * i ] = 9.95 * sin( 2.0 * 3.14159 * i / outputBufferSize );
    outputData[ 2 * i + 1 ] = -9.95 * sin( 2.0 * 3.14159 * i / outputBufferSize );
    // ------------------- configure input task -----------------------
    DAQmxErrorCheck ( DAQmxBaseCreateTask( "", &inputTaskHandle ) );
    printf( "Created input task\n" );
    DAQmxErrorCheck ( DAQmxBaseCreateAIVoltageChan( inputTaskHandle, inputChannelList, "", DAQmx_Val_RSE, inputVoltageRangeMinimum, inputVoltageRangeMaximum, DAQmx_Val_Volts, NULL ) );
    printf( "Created AI Voltage Chan\n" );
    DAQmxErrorCheck ( DAQmxBaseCfgSampClkTiming( inputTaskHandle, clockSource, sampleRate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, samplesPerChannel ) );
    printf( "Set sample rate\n" );
    // ------------------- configure output task -----------------------
    DAQmxErrorCheck ( DAQmxBaseCreateTask( "", &outputTaskHandle ) );
    printf( "Created output task\n" );
    DAQmxErrorCheck ( DAQmxBaseCreateAOVoltageChan( outputTaskHandle, outputChannelList, "", outputVoltageRangeMinimum, outputVoltageRangeMaximum, DAQmx_Val_Volts, NULL ) );
    printf( "Created AO Voltage Chan OK\n" );
    DAQmxErrorCheck ( DAQmxBaseCfgSampClkTiming( outputTaskHandle, clockSource, sampleRate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, samplesPerChannel ) );
    printf( "Set sample rate\n" );
    // trigger output when input starts
    DAQmxErrorCheck ( DAQmxBaseCfgDigEdgeStartTrig( outputTaskHandle, outputTrigger, DAQmx_Val_Rising ) );
    printf( "Set output trigger\n" );
    // ------------------- configuration -----------------------
    // write output signal
    DAQmxErrorCheck ( DAQmxBaseWriteAnalogF64( outputTaskHandle, pointsToWrite, 0, timeout, DAQmx_Val_GroupByScanNumber, outputData, &pointsWritten, NULL ) );
    printf( "Write output signal\n" );
    // set up input buffer
    DAQmxErrorCheck ( DAQmxBaseCfgInputBuffer( inputTaskHandle, 200000 ) ); // use a 100,000 sample DMA buffer
    // initiate acquisition - must start output task first
    DAQmxErrorCheck ( DAQmxBaseStartTask( outputTaskHandle ) );
    DAQmxErrorCheck ( DAQmxBaseStartTask( inputTaskHandle ) );
    // The loop will quit after 10 seconds
    Dr John Clements
    Lead Programmer
    AxoGraph Scientific

    Hi Michael,
    First of all, thanks very much for taking the time to investigate this problem! Much appreciated.
    You asked for "an actual error code you got and any description that is given". The full output from the program that I posted earlier in this thread is appended to the end of this message. In summary, following the call to...
    DAQmxErrorCheck ( DAQmxBaseCfgDigEdgeStartTrig( outputTaskHandle, outputTrigger, DAQmx_Val_Rising ) );
    ... with ...
    char outputTrigger[] = "Dev1/ai/StartTrigger";
    ...the error message is ...
    DAQmxBase Error: Specified route cannot be satisfied, because the hardware does not support it.
    You asked "specifically which M series device you are using"? It is the PCIe 6251 (with BNC 2111 connector block). I'm testing and developing on an Intel Mac Pro (dual boot OS X and Windows XP).
    You asked for "the location you pulled the code from". Here it is...
    http://zone.ni.com/devzone/cda/epd/p/id/879
    ...specifically from the file "Multi-Function-Synch AI-AO_Fn.c".
    I adapted the NI-DAQmx calls to their NI-DAQmx Base equivalents.
    Finally, you asked "Is the trigger necessary, or do you just need to know that the measurements are running on the same clock?". I believe that some kind of sychronized trigger is necessary in my situation (correct me if I'm wrong). Timing is crucial. Say I initiate an analog output stream that delivers a voltage command step 5 ms from the onset. I need to record the response (analog input stream) so that its onset is accurately aligned (synchronized) at 5 ms. A typical recording situation would stimulate and record a short data 'sweep', then wait for the (biological) system to recover, then stimulate and record another short sweep, and repeat. I need all the recorded sweeps to align accurately so that they can be averaged and analyzed conveniently.
    I definitely do not want my customers to rely on an expensive external TTL pulse generator to initiate and synchronize each 'sweep'. That would effectively eliminate the cost advantage of an NI board, as well as adding unnecessary complexity in setup and use. It would be a show-stopper for me.
    It seems perverse, but would it be possible to use a digital output channel connected directly to a digital input chanel to trigger the input and output streams?
    Regards,
    John.
    Full output from test program. Compiled with gcc 4 under OS X...
    [Session started at 2007-05-23 14:17:01 +1000.]
    LoadRuntime: MainBundle
    CFBundle 0x303cc0 (executable, loaded)
    _CompatibleWithLabVIEWVersion: linkedAgainst: 08208002
    _CompatibleWithLabVIEWVersion: result= false, mgErr= 1, theActualVersion= 00000000
    _CompatibleWithLabVIEWVersion: linkedAgainst: deadbeef
    _CompatibleWithLabVIEWVersion: Reseting Linked Against
    _CompatibleWithLabVIEWVersion: linkedAgainst: 08208002
    _CompatibleWithLabVIEWVersion: result= true, mgErr= 0, theActualVersion= 00000000
    _CompatibleWithLabVIEWVersion: linkedAgainst: 08208002
    _CompatibleWithLabVIEWVersion: result= true, mgErr= 0, theActualVersion= 00000000
    com.ni.LabVIEW.dll.nidaqmxbaselv
    CFBundle 0x313760 (framework, loaded)
    {type = 15, string = file://localhost/Library/Frameworks/nidaqmxbaselv.framework/, base = (null)}
    Amethyst:Library:Frameworks:nidaqmxbaselv.framework
    2007-05-23 14:17:02.248 test-ni[4445] CFLog (21): Error loading /Library/Frameworks/LabVIEW 8.2 Runtime.framework/resource/nitaglv.framework/nitaglv: error code 4, error number 0 (no suitable image found. Did find:
    /Library/Frameworks/LabVIEW 8.2 Runtime.framework/resource/nitaglv.framework/nitaglv: mach-o, but wrong architecture)
    CFBundle 0x1751fdc0 (framework, not loaded)
    Created input task
    Created AI Voltage Chan
    Set sample rate
    Created output task
    Created AO Voltage Chan OK
    Set sample rate
    DAQmxBase Error: Specified route cannot be satisfied, because the hardware does not support it.
    test-ni has exited with status 0.
    Dr John Clements
    Lead Programmer
    AxoGraph Scientific

  • How can I make Apple Earphones be the Input and Output for Audio

    I have some older headphones and they aren't compatible with a Mid 2010 (Intel Core i3) 21.5 Inch iMac
    Is there some way to make Apple Earphones be the Input and Output for Audio in the iMac
    This is a problem for me personally as when I am talking to someone on Skype the iMac picks up the In-built Microphone audio, and yes the headphones I'm using do work straight from the iMac as audio output
    Any help is appreciated

    you can connect the headset to something like this
    http://www.ebay.com/itm/NEW-MaelineA-3-5mm-Female-to-2-Male-Gold-Plated-Headphon e-Mic-Audio-Y-Splitter-/381100440348
    and then connect the mic to the input and the headset to the headset port

  • For getting purchase order details what are the inputs and outputs

    I need to display purchase order details in EP portal by using integration EP, XI and R/3.
    I dont know what are the Inputs and what are the Outputs.
    Reward points for helpers.
    Cheers,
    Preethika

    Hi Preethika,
    for displaying PO use BAPI : BAPI_PO_GETDETAIL
    Its input is PO number
    Its output are tables PO_HEADER_TEXTS - for PO header data
    PO_ITEMS - for PO line items
    Thanks,
    Rajeev Gupta

  • How to change the input and output schema in BPEL process

    hi',
    Please tell me how to change the input and output schema in BPEL process after the process is made.
    thanks
    Yatan

    If your intention is just changing the content you are passing to bpel/returning from bpel
    Here is another way
    just update your default created xsd files with new elements, update wsdl elements in message definition and chnage bpel code to reflect new elements in activities
    Regards,
    Praveen

  • How to set the input and output of a subVI

    I am trying to configure a subVI by following Chap. 7 of "LabVIEW fundamentals". But I stuck at "Building the connector pane".
    My subvi is quite simple, just for testing purpose. I plan to do a summation and display the result. So I placed one numeric Add icon on the block diagram and a numeric Indicator on the front panel. I built a connector pane with three terminals, two for input and one for output. 
    But, how could I associate the terminals on connector pane with inputs and outputs of terminals on the block diagram? I wanna build a subVI, whose input are two numbers and display the summation on the subVI.
    Forrest Sheng Bao, Ph.D.
    Assistant Professor, Dept. of Electrical & Computer Engineering
    University of Akron, Akron, OH, USA
    https://sites.google.com/site/forrestbao/

    Hi Forrest Bao,
    use the right mouse key as often as you can in LabVIEW. It´s very helpful. If you right click on a link in the connector pane, then you can select to disconnect selected or all.
    Mike
    Message Edited by MikeS81 on 08-28-2008 01:33 PM

  • How to view the input and output layouts created in the planning folder?

    Hi all,
    How to view the input and output layouts created in the planning folder in the bw 3.5?
    Thanks
    Pooja

    Hi,
    You can refer to this link. How to create planning folder and executing the planning folder.
    http://help.sap.com/saphelp_nw04/Helpdata/EN/5d/7c4b52691011d4b2f00050dadfb23f/frameset.htm
    Hope this helps

  • Data types used in a sub VI - selecting the correct input and output types?

    data types used in a sub VI - selecting the correct input and output types?
    I can never work out how to choose an input or output format for Subvi's.
    I want to create a SubVI for the code in red. I needs an VI Server Reference compatible input and an output that goes to  a waveform.
    Thanks in advance.
    Attachments:
    data types.PNG ‏11 KB

    GerdW,
    I realise now I have taken us in the wrong direction. apologies for that.
    History, this is not my code and I do not own the process and NOT my preferred method of using it. I was looking for a simple way to make subtle changes.
    What we do - We use these programs to collect data from typically 6 pressures and 6 temperature probes and capture RS232 / USB VISA strings from sensors.
    So every few weeks / months or up to a year we rearrange each sensor location to suit the new process. I did not write the code. I cannot change the procedure too much without resistance.
    So headers in the CSV file have the DaqMX string passed through the code. Great.
    Other data to the CSV file comes from calculations or extracted from the VISA string. Hence why we have headers with "Untitled 1 ()". These values also go to a History Chart.
    So I was looking for a simple way to read the the local variable label as it is always linked to the front page indicator. People can cope with editing the indicator label, save the VI and hit run.
    TL;DR - GerdW is now a psychologist.
    Attachments:
    data to csv and history chart.png ‏1043 KB

Maybe you are looking for

  • Will Acrobat 9.5.2 run under Windows 8?

    Transferred from Win 7 via PC Mover.  Printer did not transfer so I reinstalled from original CD. When trying to print a Word doc, get error message in Printer box in Devices and Printers. No explanation of error.

  • LR5.5 can't sync some images with LR Mobile over the cloud

    I have currently the problem that I can not sync to the Adobe cloud a set of photos to my LR mobile on the iPad. It concerns only 61 photos from one shooting. For the first 6 images it works, with the remaining 61 pieces not. With all the other image

  • Accessing program resources from classpath

    Hi, I'm having trouble with a program I've downloaded, where they attempt to load a picture into a java.net.URL object. URL imgURL = ClassLoader.getSystemResource(imageFileName);         if (imgURL == null) {             String msg = "Could not locat

  • Color management book recommendation?

    Hi folks, I've been using Photoshop since version 2, but only as a violinist might relax with a bit of keyboard playing.  My main gig over the years has been multimedia programming and 3D animation, both for onscreen delivery in the wonderfully sane

  • Outcome changed when clicking on PDF attachments

    Outcome changed when clicking on PDF attachments. This is recent, possibly after updates I am using Adobe Reader 10.0.10, Firefox 35.0.1 on a machine running Windows 7 I no longer get the open/save dialogue box when I click on a pdf attachment, how d