entry continued and finished output in 'Multi function AO AI sync.vi ".

Hi all

Can I acquire data streaming and output finite number of data with "Multi function AI AO sync.vi '?

Thanks for your help!

Hello

I think that this should be possible.

Just change the mode to sample your way of samles genearting to "samles finish" and add a constant or a control with the number of samples you want to generate...

Kind regards

adigator

Tags: NI Software

Similar Questions

  • How to operate the laboratory discovered multi-function synchronization with multiple devices and change the recording time?

    Hi, I'm new in Labview. I need help for:

    1 change a program multi-function in order to record the data of three cards daq (devices 1-3) and output through the map (1 unit). The current program was created to record and output signal of one of the card (1 unit). I try to choose multiple devices when I run the program, but there is an error 200558 shows "a task cannot contain multiple independent devices. Create a task for each independent device.

    2. change the duration record for a longer period, for example: 0.1 s. Currently, the recording time is s 0.009971.

    I joined the multi - funtion.lld. In this library, "des_v2_Multi-Funtion_Synch I - AO.vi" is the program that I need to change. I've also attached a file of input for runing the program signal.

    Thank you very much!

    Sincerely,

    Jie

    Hello Jshen6,

    You can have different examples of VI if you do not use the same version of LabVIEW. I am currently operating on LabVIEW 2013 SP1. Whatever it is, this article should be useful to you that he describes in detail how to synchronize multiple tasks of series M.

  • Urgent: continous recorders of NIDAQmx and other instruments with multi-threaded vc ++

    I'm working on a software with vc ++ to control several instruments including a NO-DAQmx6289. For example, the features of the software.

    1. communicate with data acquisition card (card data acquisition) and continuously acquire data from several channels at a frequency of 1 kHz.

    2. connect with function via port RS232 1 generator, sending triggered bursts to the real-time features generator change state Ultrasound (G_usstatus) variable.

    3. connect with optical switch via RS232 2 port, send signals to switch between the two input channels (0,1) and six output channels (2,3,4,5,6,7) to the specified user to sequence and time interval (default: 150 ms), real-time change the channel connection variable (G_optchannel).

    4. in real-time, record data and the corresponding ultrasound status and connection status of optical channel in a specified file use for later analysis.

    I use multiple threads to make data acquisition (1-wire), control of the function (2 wire) generator and optical switch (3 wire).  I also need save data acquisition of data and the corresponding ultrasound status and use the connection status of optical channel in a specified file for later analysis. I use the following codes to read data continuously.

    Sub DataCollectionWin::ConnectDAQ()
    {DAQmxErrChk (DAQmxCreateTask ("", & taskHandle));}
    DAQmxErrChk(DAQmxCreateAIVoltageChan(taskHandle,"Dev1/ai0","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));
    DAQmxErrChk(DAQmxCreateAIVoltageChan(taskHandle,"Dev1/ai0,Dev1/ai1,Dev1/ai2,Dev1/ai3,Dev1/ai4,Dev1/ai5,Dev1/ai16,Dev1/ai17,Dev1/ai18,Dev1/ai19,Dev1/ai20,Dev1/ai21,Dev1/ai6,Dev1/ai7,Dev1/ai22","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));
    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,60000));

    DAQmxErrChk (DAQmxRegisterEveryNSamplesEvent (taskHandle, DAQmx_Val_Acquired_Into_Buffer, 50, 0, EveryNCallback, NULL));
    DAQmxErrChk (DAQmxRegisterDoneEvent(taskHandle,0,DoneCallback,));

    DAQmxErrChk (DAQmxStartTask (taskHandle));

    Error:
    If (DAQmxFailed (error))
    {
    DAQmxGetExtendedErrorInfo (errBuff, 2048);
    MessageBox (errBuff);
    DAQmxStopTask (taskHandle);
    DAQmxClearTask (taskHandle);
    return;
    }

    }

    Int32 CVICALLBACK EveryNCallback(TaskHandle taskHandle, int32 everyNsamplesEventType, uInt32 nSamples, void *callbackData)
    {
    char l_optstatus_s [1] l_optstatus_e [1];
    char l_usstatus_s [1] l_usstatus_e [1];

    /*********************************************/
    Reading DAQmx code
    /*********************************************/
    If (! m_bStopTracking)
    {
    l_usstatus_s [0] = g_usstatus [0];
    l_optstatus_s [0] = g_optstatus [0]; Switching State optical before reading the data of 50 * 15

    DAQmxErrChk (DAQmxReadAnalogF64(taskHandle,50,10.0,DAQmx_Val_GroupByScanNumber,data,50*15,&read,));

    SetEvent (hEvent);
    l_usstatus_e [0] = g_usstatus [0];
    l_optstatus_e [0] = g_optstatus [0]; Status of the ///optical at the end of the reading of the data of 50 * 15

    If (read > 0) / / / save data in an exl file specified by "datafile".
    {

    Indicator = 1;

    for (i = 0; i<>
    {(/ / fprintf(datafile,"%d\t",i);}
    fprintf(datafile,"%c\t",l_usstatus_s[0]);
    fprintf(datafile,"%c\t",l_usstatus_e[0]);
    fprintf(datafile,"%c\t",l_optstatus_s[0]);
    fprintf(datafile,"%c\t",l_optstatus_e[0]);
    fprintf(datafile,"%.2f\t",data[15*i]);
    fprintf(datafile,"%.2f\t",data[15*i+1]);
    fprintf(datafile,"%.2f\t",data[15*i+2]);
    fprintf(datafile,"%.2f\t",data[15*i+3]);
    fprintf(datafile,"%.2f\t",data[15*i+4]);
    fprintf(datafile,"%.2f\t",data[15*i+5]);
    fprintf(datafile,"%.2f\t",data[15*i+6]);
    fprintf(datafile,"%.2f\t",data[15*i+7]);
    fprintf(datafile,"%.2f\t",data[15*i+8]);
    fprintf(datafile,"%.2f\t",data[15*i+9]);
    fprintf(datafile,"%.2f\t",data[15*i+10]);
    fprintf(datafile,"%.2f\t",data[15*i+11]);
    fprintf(datafile,"%.2f\t",data[15*i+12]*5);
    fprintf(datafile,"%.2f\t",data[15*i+13]*5);
    fprintf(datafile,"%.2f\n",data[15*i+14]*5);
           
    }
      
    fflush (stdout);
      
    }
    }
    }

    Now the problem is the data acquired with daq card does not match the corresponding registered swtich optical status (G_optchannel, which specifies the light connecting channels). High readings expected certain status really appeared in any other situation.  It seems that there is a misalignment of the multi-thread data. Because the optical switching State passes to 150ms, so I put DAQmxRegisterEveryNSamplesEvent to be trigued each 50samples, which means 50ms with 1 kHz sampling to avoid missing the changes. I also check if there is any change of status during the DAQmxReadAnalogF64, by registering l_optstatus_s and l_optstatus_e, which are actually the same. I wonder if this is because the data are first registered in the buffer. When the software starts reading, at that time, optical swtich status no longer reflects the State when the data was recorded first. Is it possible to fix this?  Thank you very much!

    kGy,

    I'm glad to hear that you are progressing with your project.  Timestamp data are always a bit tricky, because the process of querying a counter on the CPU is done asynchronously with the acquisition of your DAQ hardware.  However, your equipment will ensure that the relative chronology between samples is consistent (in your case, the data will be sampled every 1 ms).  And since you have changed your program as you are now all samples acquired reading, you know that each sample follows the previous 1ms.  So, if I were to implement this I think that I take an initial horodotage when I started the task and to calculate the timestamp for all samples following this timestamp (timestamp SampleN = (*.001s + horodotage initial N) or timestamp SampleN = timestamp SampleN 1 +. 001 s).

    I would go to do that, rather than the timestamp of the end of the reading for the following reason.  As I mentioned previously, the reminder of your reading will run when the OS is planning.  Therefore, it is possible that it gets delayed or does not exactly in phase with the acquisition of hardware, and make adjustments to your code to handle this problem.  However, when you're timestamping there is another thing to pay attention to.  It's the fact that your hardware has a FIFO where sampled data can accumulate before getting transferred to the memory buffer that reading from (for example if the bus PCI were busy when the sample was acquired).  Now assume that the stars aligned against us and get the following:

    (1) the operating system is busy with other things, and our reminder read gets delayed a few ms.

    (2) at the same time, another device connects the PCI bus (or part of the data path between your device and the memory used for the buffer).

    (3) one or more samples is momentarily blocked in FIFO of the device.

    If you were to read data timestamp at the moment, your timestamp would reflect the data in the buffer as well as data that was flying in the FIFO of your device.  However, you can only read data in the buffer.  Thus, time stamp applied to data that you just read would be a millisecond or two later they should be.  Suppose that on the next read reminder, this condition has cleared up itself.  This timestamp taken here would be accurate, however, you will need to return some additional samples (those who were stuck in the FIFO last time).  If you backcalculation your timestamp at this stage, I think that the timestamp calculated for these ecaple timestamps calculated on the previous reading.  It wouldn't be ideal, nor would it reflect when the data has been actually sampled.

    One of the remaining challenges is how exactly the start of time stamp feature.  To do this, I would like to add a call to DAQmxTaskControl (taskHandle, DAQmx_Val_Task_Commit) before calling DAQmxStartTask.  This step will advance the State template DAQmx as far as possible without actually starting the task.  This will help to DAQmxStartTask as soon as possible.  Now, before the appellant beginning or immediately after, I would take my initial horodotage (perhaps timestamp before and after and take the average).  Then I would use this original time stamp and my sampling rate known to calculate timestamps for all the rest of my samples.

    That got a bit long, but I hope it has been helpful.

    Dan

  • MULTI-FUNCTION RUNTIME error

    Hi, experts,

    I am trying to run "RUN the FUNCTION PANEL" on CVI. During the construction of pilot, I checked the multi-function of this command, but it failed with the error message, Interactive runtime error - Unresolved symbol: _Math_Average.

    I do the material to the CVI basic text, and it is a very simple function. And in addition, it ran correctly when I finished the pilot, so I think that programming should be correct.

    So I fight with all editing parameters, but I couldn't find the solution.

    Does anyone have any solution or tip?

    Thank you

    Hello TetsuyaU!

    "' The most obvious solution to this problem would be to activate the Interactive execution environment window options found in Options ' environment ' Interactive window. These options indicate if the project or loaded instrument drivers files are used by the Interactive execution window. Otherwise, if the corresponding option is not enabled, the Interactive execution window fails to connect with your instrument driver symbol and you get an error of unresolved symbol.

    It works for you?

    Best regards!

    -Johannes

  • I have a 6 s with Verizon iPhone. Can I send/receive calls (using this service and calls on other devices functionality) on my iPhone 5s, who was with AT &amp; T service, but has no service now since I switched to Verizon?

    I have a 6 s with Verizon iPhone. Can I send/receive calls (using this service and calls on other devices functionality) on my iPhone 5s, who was with AT & T service, but has no service now since I switched to Verizon?

    Note: I'm able to get two phones to ring with an incoming call, but the 5s consist not out. Whenever I dial a number, it says call failed.

    Do not dial a number. Try to choose a contact in the contacts App and tapping on telephone button.

    That said, I don't think that outgoing calls work on continuity since another iPhone. given that the iphone is designed to make calls through its own service.

    Document to support that you just did not mention calls from a secondary iPhone at all, it points to Mac, iPad and iPod touch, which leads me to believe that it won't work.

    It runs from devices such as iPads and Macs, who have no other way to place a cell call.

  • An entry to determine the output of a polymorphic VI?

    Hi all

    I communicate between producer/consumer loop using a queue. The queue would be element is a group consisting of an enum type def and a Variant. In the variant data type will depend on the State of the enum.

    I would use a Subvi to convert the variant of the original data type. The first option that occurs is a Subvi simple with an output for each type of data and relevant output wire. The second option that occurs would be a polymorphic VI where the user selects the State concerned.

    What I would do, it is the inside of my case structure to my Subvi terminal wire and have it change dynamically (before execution) to the appropriate output type. It would be similar to the function "auto" existing on screw polymorphic someone can tell me if this is possible?

    Best regards and thanks,

    Delta

    Yes it is possible with LVOOP, the first thing I thought looking at one of the first examples of LVOOP was 'Runtime Polymoprhism'.

    What you do is create a class "DataTypes", with a 'Read' method

    Then a 'DataType1' class that inherits from "DataTypes."

    You create a queue type "DataTypes", and you sent in an object of type 'DataType1' in your system dequeu you use the 'DataTypes.Read' method, LabVIEW will select the appropriate Manager of a class of the child to process the data.

    There should be an (impossible to check now) example that shows that for 'bacteria' tests or something like that.

    Tone

  • Cannot generate the multi-function in Vista

    We ship an ActiveX control for use by our customers. In our sample code, we created a multi-function for them.

    A customer reported that it cannot create a new function by using the Vista Panel - but he can create one using Windows XP.

    Is there a known issue with the creation of panels to function under Vista?

    Concerning

    John Barton

    Hi John,.

    One thing you need to check on these machines that fail is the File Format of the FP.  This opens a file of .fp to the CVI, then going to the Options menu and then click on the FP File Format.  In this dialog box, make sure that the default new File Format is set to CVI 5.5 and later versions or CVI 8.5 and later versions. Once you put in one of these formats, you should be able to generate your panels to function again.  Please let me know if this does not work, or if you have any questions.

    NickB

    National Instruments

  • Behavior "Recall multi-function.


    Hello Bernd,

    There are a few options for you.  If you do not have one of your windows in the display by tabs, you can go to Options' environment and then uncheck the "Show workspace tabs.  Otherwise, the first time that you open a panel of function and it is shown in actual size you can go to the window menu and select "release all Windows FP".  This will remove the windows control panel function, and each new multi-function open window will remain off-station.  If you want to dock them, you can simply return to the window menu and select "confine all windows of FP.

    NickB
    National Instruments

  • computer saying this is not a geniune product and I work in reduced functionality. Why?

    Can't access my departure screen, computer says this isn't a genuine product and I work in reduced functionality. Why?

    To analyze and solve problems for Activation and Validation, we need to see a full copy of the report produced by the MGADiag (download and run - http://go.microsoft.com/fwlink/?linkid=52012 ) tool
    Run the tool.
    Click on the button continue, which will produce the report.
    To copy the report in your response, click the button copy in the tool (ignore the error at this stage), and then paste (using r-click and paste or Ctrl + V) in your response.

  • BlackBerry smartphones making entries calendar and AddressBook-&gt; synchronization

    I just got my BB9530 and am trying to understand how to make entries to addresses and calendar on my computer and synchronize it then on the phone.  I installed the Driver and the BB Desktop software.  I don't know where to go for registration.  Is it still possible?  So, I thought it would be as my Palm, where I would like to 'click' on the address book tab and I would be able to go home.

    I'm not the person the tech saavy, but I know enough to get.  I'm at a point of great frustration, so the logic seems to be lost and I become very non-functional.

    Thanks for any help anyone can offer.

    You'll need a program to allow you to add and store entries (for example Outlook) - in contrast to palm desktop that has a built-in program - BB Desktop Manager is purely for the ability to synchronize the information between the BB and everything you use desktop software. Once you have the program he can be synchronized between the two devices. Hope this helps

  • The document has been changed since its creation and use of the extended functionality is no longer available

    I have Adobe Acrobat Reader DC 2015.016.20039 on my system. I filled a form using Foxit Reader. When I tried to open the form with Adobe Acrobat Reader DC I received the error "the document enabled extended in Adobe Acrobat Reader DC features. The document has been changed since its creation and use of the extended functionality is no longer available. Please contact the author for the original version of this document.

    I tried other PDF programs, no problem at the opening of this form.

    Ashampoo_Snap_2016.05.17_02h01m01s_002_.png

    Function "Activation reader" comes from the original shape, and it's essentially a digital signature. It is specific for the free product of Viewer PDF by Adobe (aka Adobe (Acrobat) Reader).

    The problem is that only Adobe products are able to (re) make these documents without breaking the seal of the digital signature.

    So, what happened in your case is the Foxit Viewer broke the seal during the recording of back and what's. Using Acrobat, you can save a copy of the form, and then continue will fill. Otherwise, you will be better off to start over, but stay with viewers Adobe PDF all the time, working with the form, or with a different Viewer, once again all the time you work with the shape.

    BTW, player XI and most recent no. have more need of extended for more rights blocked by previous versions of Reader. This is not enough in this case; only, it would be useful for the sender of the form.

    Update (after rereading of the original message): if it's just for viewing or print the form, you can ignore this message. You can also try to save just, you have a version of player who no longer has the rights extended (at your risk).

    I hope this can help.

  • My first stop runnig suddenly when I try to drag a clip to the timeline or after scoring its entry points and in the Preview Panel, I try to drag it to the timeline.

    Suddenly my first Pro CC 2015-2 arrested runnig when I tried to drag a clip to the timeline, or when, after scoring its entry points and in the Preview Panel, I tried to slide the timeline. Apparently it works because it keeps at the opening, but one cannot do anything but you close with control Q; the keys on the keyboard are one thing that really works.  I can't do anything with the mouse and it seems that a certain way, the software crashed, but with all the panels open and without any warning. I copied the complete proyect to your laptop with the first Minister Pro 2015-1 and it happened the same thing, so I think the question is on the project and it started to happen after the update by 2015-1 about 10 days ago (this is not the first time that's happened but to this day I don't know how every time it turned fixed) old work projects and I finish the proyect (from scratch from another) on the same computer and with the same OS (windos10) without any problem with the Premier Pro CS6. So far I have not had problem with the version of 2015-1 that I bought last November. Could someone tell me what is happening and what is the solution?

    [edited by mod, too long title]

    Fixed with a new version of the same driver 341.92. I hope that it will be forever. Thanks for your advice and also thanks to the chat support team that came to the same conclusion.

  • "The device has changed and no output channel is present. Open Audio hardware preferences? »

    Hello

    I installed an infusion of SSD and fresh install of Windows 7 64-bit, including the installation of Adobe CC with premiere pro and other related applications. My audio works fine, I have a portable speaker connected to the back of the audio 'line in the green plug' at the back of my office, have not had any problems with her.

    However when opening Adobe PP for the first time I get the message "the device has changed and no output channel is present. You want to open the Audio hardware preferences. At the opening of the entry default preference reads "no devices available (does not). I was unable to change the value by default using the box entrance, but was able to change the default output. I changed the default output to ' speakers (device 2-high definition audio) and after that I got an error that read "sorry a serious error has occurred which caused Adobe PP stopped." We will try to save your work)".

    Is anyone able to help with this, I don't know how to set up the audio setting is all new to me. Also do not know why this has happened given my audio works fine in any other program that I use on my pc. Any help from an expert on this forum would be greatly appreciated. Cheers, Joel.IMAG6050_1.jpg

    IMAG6051_1.jpg

    My first guess is to check and possibly update the audio driver.

  • Development of lighting and shadows settings are not functions

    While implementing a plugin to image processing, I learned something very interesting (for me) on the tones dark and light parameters of development.  The other basic tone settings (exposure, contrast, saturation, etc.) always map any one color to another simple color evenly across the image.  But the dark and light tones can map a given in multiple colors in a single image, depending on the location of the pixel color.

    For example, in a test image I made with Shadows = + 100, pixel (824 286) had its origin value of 16-bit color (0, 0, 0) transformed into (1724,1387,852).  Pixel (861 287) was also the original color (0,0,0), but it turns into a color very different (3093,2688,1316).

    Abstractly, the other the basic tone settings are functions (any input color is always the same output color), all in shadows and points strong are-to-many mappings (any color input can have several colors of output). I knew that clarity not was not a function - transformed from a pixel value would depend on neighboring pixels.  But it does appear to me that dark and light tones are not functions either.

    This property of shadows and highlights well known by experienced users of LR?  (I.e. Rob, I guess you knew that?)

    Yup - @Lr4 (PV2012) there are 3 settings using the new algorithm 'magical' from Adobe:

    * Clarity

    * Puts out

    * Shadows

    I don't know really enough to fill in many details, except to say that when you use - highlights or + shadows, he 'clarifies' highlights and/or shadows a bit, using the algorithm of the transformed of Laplace-based Adobe developed. Jeff Schewe made us a white paper on this subject in the past, but I do not know the link... For me, it is similar to the "Topaz" detail and Topaz Adjust 'adaptive' improvements - two Photoshop plugins I used regularly until the Lr4 is out (Adobe algorithm is very well done - in my opinion, better than Topaz labs, or others are doing similar things, for example, PhaseOne, DxO, Nikon,..).

    FWIW - it's one of the reasons why some people raise hell when Lr4 is out - no way to brighten the shadows using sliders base without getting the effect of clarification... That said, Eric Chan also informed us that extra Lr3 light had a similar mathematical algorithm it backup and therefore Lr4 wasn't new in this regard, only improved...

    Rob

  • How do I get the output of a function table

    Hi all

    Kindly share your idea.


    I need the outputs of a function table only.

    Database version: oracle 10.1.0.2.0

    login_details:

    login_id branch_code

    admin 1
    Admin1 2
    Test 1
    user 1

    I need output for the query function below.

    Select login_id from login_details where branch_code = '1';

    If I create a function:


    FUNCTION to CREATE or REPLACE fn_get_login (pvBranch varchar2)
    IS BACK SYS_REFCURSOR
    REF_TEST SYS_REFCURSOR;
    BEGIN
    OPEN FOR REF_TEST
    Login_id SELECT FROM login_details WHERE branch_code = pvBranch;
    RETURN REF_TEST;

    END;
    /


    Select * from login_master where login_id in (select fn_get_login('01') from double);


    and get

    ORA-00932: inconsistent data types: expected - got CURSER

    Edited by: 887268 October 8, 2012 12:25

    You cannot use a Ref cursor in a table, because it isn't a result set of data, it's just a pointer to a request for enforcement.

    {: identifier of the thread = 886365}

    A ref cursor must be used if you want to refer the request to an external application.

    Transfer data back to a function is to use a pipeline for example function

    SQL> CREATE OR REPLACE TYPE num_descript AS OBJECT(num number, descript varchar2(30))
      2  /
    
    Type created.
    
    SQL>
    SQL> CREATE OR REPLACE TYPE tbl_num_descript AS TABLE OF num_descript
      2  /
    
    Type created.
    
    SQL>
    SQL>
    SQL> CREATE OR REPLACE PACKAGE reftest AS
      2    FUNCTION pipedata(p_choice number) RETURN tbl_num_descript PIPELINED;
      3  END;
      4  /
    
    Package created.
    
    SQL>
    SQL> CREATE OR REPLACE PACKAGE BODY reftest AS
      2    FUNCTION pipedata(p_choice number) RETURN tbl_num_descript PIPELINED IS
      3      v_obj num_descript := num_descript(NULL,NULL);
      4      v_rc  sys_refcursor;
      5    BEGIN
      6      IF p_choice = 1 THEN
      7        OPEN v_rc FOR SELECT empno as num, ename as descript FROM emp;
      8      ELSIF p_choice = 2 THEN
      9        OPEN v_rc FOR SELECT deptno as num, dname as descript FROM dept;
     10      END IF;
     11      LOOP
     12        FETCH v_rc INTO v_obj.num, v_obj.descript;
     13        EXIT WHEN v_rc%NOTFOUND;
     14        PIPE ROW(v_obj);
     15      END LOOP;
     16      CLOSE v_rc;
     17      RETURN;
     18    END;
     19  END;
     20  /
    
    Package body created.
    
    SQL> select * from table(reftest.pipedata(1));
    
           NUM DESCRIPT
    ---------- ------------------------------
          7369 SMITH
          7499 ALLEN
          7521 WARD
          7566 JONES
          7654 MARTIN
          7698 BLAKE
          7782 CLARK
          7788 SCOTT
          7839 KING
          7844 TURNER
          7876 ADAMS
          7900 JAMES
          7902 FORD
          7934 MILLER
    
    14 rows selected.
    
    SQL> select * from table(reftest.pipedata(2));
    
           NUM DESCRIPT
    ---------- ------------------------------
            10 ACCOUNTING
            20 RESEARCH
            30 SALES
            40 OPERATIONS
    
    SQL>
    

    but of course, it is wise to just use pure SQL that in order to mix the PL/SQL in queries in the form of best performance features.

    Perhaps explain what problem you are trying to solve when trying to use a function, and we can advise you on the best options.

Maybe you are looking for