Unable to run Timed Loops

Bit of an odd one that had me scratching my head.
I have a development system consisting of a PC running a 7842R, acquiring analogue and digital data from the FPGA, loading it into a shared variable, and reading it out within a timed loop on the host as one parallel loop in a producer-consumer architecture.
All's well until one day last week when I noticed my host VI becoming unresponsive.
After a bit of digging, I find that the timed loop doesn't run at all. Replacing with a while loop with a wait at least allows me to show that the error is timed loop related, but it's not a viable long term option for me. Creating a new project and a new VI with a simple timed loop showed the same behaviour.
A restart of the system, and rerunning the same VIs, and no problems since.
So, questions:
1) Has anyone else seen this behaviour?
2) Any idea what causes it? A service crashing, for example?
3) Is there a way of recovering without a reboot? If it's a service crash, I'm hopeful.
The system will eventually form part of a production test environment, hence the query.
Edit - also, wiring error terminals of a timed loop is a good way of highlighting errors of course.
FWIW, LV2012 SP1 32bit, Win7 64bit, Core2 Duo, 4GB RAM, tassels from the handlebars etc.
CLD

The timed loop is used to read all elements from a DMA FIFO and load them into a buffer FGV, which spits out packets of N samples long once they've assembled within the FGV. Ordinarily, I'd do this with a timed while loop and be perfectly happy to do so. However, the elements are actually an interleaved array, meaning that I have to demux them in the correct order that they were loaded.
I use timed loops for a number of reasons: on my current Windows host, I've found that using a while loop has caused me more problems with respect to disordered packets, and that at least with using multiple timed loops (two, at most), I can assign priority to the acquire loop. Finally, it's also a development platform, and will be deployed onto an sbRIO once the electronics integration is finished in a week or two!
W.r.t. system resources, there's very little else running on that system, but that doesn't normally stop Windows
I recognise it's not ideal to run a software timed loop under Windows, but when you cannot run a blank project with Optimizing timed loop rate.vi from the shipped examples with nothing else running, it makes me curious to know why!
CLD

Similar Messages

  • I am using a timed while loop and am unable to get the loop to run at a speed of less than 1ms (I am currently using the Wait(ms) function). How can I get a faster response?

    I am trying to create a virtual engine within a timed while loop and am unable to get the loop to run at a speed of less than 1ms (I am currently using the Wait(ms) function). This does not however allow realistic engine speeds. How can I overcome this? I have access to a PCI-MIO-16E-4 board.

    andyt writes:
    > I am using a timed while loop and am unable to get the loop to run at
    > a speed of less than 1ms (I am currently using the Wait(ms) function).
    > How can I get a faster response?
    >
    > I am trying to create a virtual engine within a timed while loop and
    > am unable to get the loop to run at a speed of less than 1ms (I am
    > currently using the Wait(ms) function). This does not however allow
    > realistic engine speeds. How can I overcome this? I have access to
    > a PCI-MIO-16E-4 board.
    Andy,
    Unless you use a real time platform, getting extactly 1 ms loop rate
    (or even less) is impossible. It starts getting troublesome at about
    0.1 Hz for standard operating systems.
    I'd tackle your problem with "if i mod 10 == 0 then sleep 1 ms".
    Of
    course this is jerky by design.
    HTH,
    Johannes Nie?

  • Can I run a fast timed loop?

    It appears that a timed loop cannot run faster than 100 hz. In other words, the "period" input for a timed loop cannot be less than 10. Is this true? I am using the Elapsed Time VI to measure time increments. The time increments output from this VI are at least 0.01 secs regardless of how fast I attempt to run the time loop. Perhaps the limitation lies in the Elapsed Time VI, not in the Timed Loop. Should I try a different approach to measuring the delta time between iterations of a time loop? TIA.
    -jlivermore

    Here's the simple way to measure loop timing:
    Actually, what else is running in your loop (e.g. property nodes, DAQ, etc.)? Can you show us your code? What is your LabVIEW version?
    Message Edited by altenbach on 09-29-2008 11:22 AM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    MeasureLoopTiming.PNG ‏7 KB

  • Timed loop in a subvi, one or the other runs but not both.

    I have a vi with two sub vis. Each sub vi contains a timed loop that updates a global variable. In the top level vi I read from each global and display its content. When I run the top level vi I see only one global counting but not both. If I start and stop the top level vi the sub vis take turns counting but they never both count. If I replace the timed loop with a while loop in each subvi then both count. If I move the two timed loops from their respective sub vis and place them in the top level vi then both globals show counting. Can any body explain what is going on.
    I'm using Labview 2010 SP1.
    Attachments:
    Test Of Timed Loop.zip ‏72 KB

    Never Mind!
    When I cloned the subvi I forgot to change the structure name of the timed loop. Placing an error indicator inside the subvi disclosed the error -808 (Error -808 occurred at an unidentified location. Possible reason(s):LabVIEW:  The given name is already being used by the following timed structure.).

  • Unable to click on buttons during timed loop .

    Hi !
    I have a timed loop with a cadence set by user . And when the loop is running, I can not push any button of my GUI to stop this....
     I have to wait until error or I stop the run.
    I can't put the diagram it's too big and I think I haven't the right but do you have some ideas ?
    Ask me for more details .
    Thanks
    Solved!
    Go to Solution.

    bejard wrote:  The Timed loop is just in an event structure and I set 10 ms or 100 ms .
    The program is running correctly (with this Timed loop of 10ms/100 ms) as the beginning but I still can't push any button or change tabs during the loop .
    You should not have long processes inside of an event case.  What is supposed to stop your timed loop?
    I think you have the "Lock front panel until event case completes" option turned on.  This will not allow you to press anything until everything in  that event case (including the timed loop) completes.
    In my experience, using a timed loop in a Windows system is a complete waste and often adds more overhead and issues.  Instead, I really think you need to change over to use a State Machine.  When the button is pressed, you just tell your state machine to go into the state the runs some of the code inside of your timed loop.  You can use the state with the event structure to time your loop.  So you can go back and forth from your event structure state to your processing loop.  Just set the timeout on the event structure to whatever loop rate you actually want.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Timed loop running parallel with Queues

    I was wondering if it is possible to have a Producer/Consumer Pattern with a timed loop that is not just executed when it is called by the queue or from the Producer Loop, but also executes the timeout after a given time.
    Thanks in advance, Oliver
    Attachments:
    example.png ‏42 KB

    lol
    thank you Norbert great advice
    I was so focused on wanting to use a Timed Loop that I totally forgot about the dequeue TimeOut
    cheers Olli

  • Run once inside timed loop

    I have a timed loop that monitors equipment. Whenever there is a fault I have it send a notification email. My problem is how to stop it from sending email every single time the time loop is executed. I tried placing the send email inside a for loop but quickly realized that the entire loop itself is reiterted. Any help is much appreiciated.
    Solved!
    Go to Solution.

    Hi icemaker
    I'm not really sure what you mean. Wouldn't a case structure be a solution?
    Could you post some code so we can see what you are doing?
    Best Regards
    David
    NISW
    Message Edited by Davidek on 10-02-2009 09:58 AM
    Message Edited by Davidek on 10-02-2009 10:00 AM

  • Timed loop and CPU usage

    Platform is WIN_XP Pro and machine is a P4 at 2.5Ghz with 512 Mb ram.
    LV7.1 + PCI 6229
    I am using  50ms Timed loop for running a state machine inside it
    and also a  whole lot of other things like reading / writing
    DAQMx  functions;  file I/O functions and such. As the
    project involves a  main and sub-panlel set up local variables
    could not be elimnated fully and there should be something like 150 of
    them. But not all are accessed always - maybe about 15 of them at any
    given time depending on the SM staus.
    Problem :
    Once started the "Finished late"  indication  is off and
    the  actual timing  alternates between 49 to 52 ms. The CPU
    usage is around 25%.
    But as time goes by,  the system gets unstable : After 15 minutes
    or so, the Finished Late indication is always ON and the CPU usage is
    gradually tending towards or exceeds 100%. 
    Obviously the machine control timing now gets affected and things slow
    down badly. Closing the application ands restarting repeats the above
    cycle.
    I am at a loss  to understand what is happening ?  WIll
    breaking down the single Timed Loop to multiple ones help  ? WIll
    that be an efficient way of parallel threading ?
    I can post the code but its quite large and will do it as a last resort.
    thanks
    Raghunathan
    Raghunathan
    LV2012 to Automate Hydraulic Test rigs.

    Hello,
    It sounds like an interesting problem.  It would be worth some experimentation to figure out what's going wrong - attempting to decouple major "pieces" of the code would be helpful.  For example, you could try breaking your code into multiple loops if that makes sense in your architecture, but perhaps you could even eliminate all but one of the loops to begin with, and see if you can correlate the problem to the code in just one of your loops.
    Another concern is that you mention using many local variables.  Variable read operations cause new buffer allocations, so if you're passing arrays around that way, you could be hitting a problem of forcing your machine to perform many allocations and deallocations of memory.  As arrays grow, this can be a bigger and bigger problem.  You can use other techniques for passing data around your block diagram, such as dataflow if possible (just simple wires), or queues where dataflow can't dicatate program flow completely.
    Hopefully looking into your code with the above considerations will lead you in the right direction.  In your case, removing code so that you can identify which elements are causing the problem should help significantly.
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

  • Unable to run Report !

    Hi All !
    I intend to connect a report from form through a push button..
    But when i click that button during runtime, i got an error,
    FRM-41214-Unable to run reportFor which i found a solution in this forum as to check with the job status..
    When i clicked that job status i got ,
    Error    
        Terminated with error: <br>REP-826: Invalid printer driver 'htm' specified by parameter DESFORMAT.  Yes, i have given 'htm' as DESFORMAT since when i run that report individually from Oracle Reports Developer the format was in 'htm' during runtime..
    Please help me with a solution !
    Thanks and Regards,
    user 10685325
    Edited by: user10685325 on Jan 6, 2009 1:25 AM

    Hi !
    I tried with the coding,
    DECLARE
    report_id Report_Object;
    v_report_other VARCHAR2(4000);
    BEGIN
    /* Call run_report_object */
    report_id:= find_report_object('REPORT121');
    v_report_other:= 'paramform=yes P_1='||:blockname.employeeid;
    RUN_REPORT_OBJECT(report_id,
    :parameter.rwserver,
    'HTMLCSS',
    CACHE,
    'filename.jsp',
    v_report_other,
    '/reports/rwservlet');
    END;But this gives me the error,
    bad bind variable:parameter.rwserverAnd also i tried with the coding
    PROCEDURE RUN_REPORT_OBJECT_PROC(
    repid REPORT_OBJECT;
    report_server_name VARCHAR2,
    report_format VARCHAR2,
    report_destype_name NUMBER,
    report_file_name VARCHAR2,
    report_otherparam VARCHAR2,
    reports_servlet VARCHAR2) IS
    --PFACTION REPORT_OBJECT;
    v_rep VARCHAR2(1000);
    hidden_action VARCHAR2(2000);
    rep_status VARCHAR2(20);
    c char;
    c_old char;
    c_new char;
    i number(5);
    v_report_other varchar2(4000);
    BEGIN
    repid := find_report_object('REPORT121');
    ---PFACTION :=find_report_object('http://serc-ks4dbdzvdm:8889/reports/rwservlet?_hidden_report=emp.jsp');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,'emp.jsp');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'HTMLCSS');
    --SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramname=Pf 1');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'PF_1='||:EMP_LL.employeeid||' paramform=yes');
    hidden_action:=hidden_action||'&report='||
    GET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME);
    hidden_action:=hidden_action||'&destype='||
    GET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE);
    hidden_action:=hidden_action||'&desformat='||
    GET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT);
    hidden_action:=hidden_action||'&userid='||
    GET_APPLICATION_PROPERTY('senthil')||'/'||GET_APPLICATION_PROPERTY('senthil')||'@'||GET_APPLICATION_PROPERTY('con_serc');
    c_old:='@';
    for i in 1..LENGTH(report_otherparam) LOOP
         c_new:=substr(report_otherparam,i,1);
         if (c_new='') then
         c:='&';
         else
              c:=c_new;
         end if;
         if(c_old=''and c_new='')then
              null;
         else
              v_report_other:=v_report_other||c;
         end if;
         c_old:=c_new;
    end loop;
    hidden_action:=hidden_action||'&'||v_report_other;
    hidden_action:=rwservlet||'?_hidden_server='||report_server_name||encode(hidden_action);
    set_report_object_property(repid,report_other,'pfaction='||hidden_action||''||report_otherparam);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'rserver');
    v_rep := RUN_REPORT_OBJECT(repid);
    rep_status := REPORT_OBJECT_STATUS(v_rep);
    WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    rep_status := report_object_status(v_rep);
    END LOOP;
    IF rep_status = 'FINISHED' THEN
    WEB.SHOW_DOCUMENT ('http://<path>:portnumber/reports/rwservlet/getjobid' ||
    substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=rserver','_blank');
    ELSE
    message('Error when running report');
    END IF;
    END;But this also gives me the error
    encode has to be declaredPls help me to overcome this!
    Thanks and Regards,
    user 10685325

  • FRM-41214: Unable ro run report while calling a report from a form in 9iDS

    Am in the process of migrating from Developer 6i client/server to Developer 9iDS on Windows 2000.
    I have read through the various postings on this issue & have made changes accordingly. I also referred to the white paper on the Forms/Reports integration.
    As I am trying to do a prototype, am compiling my forms/reports on my local machine & not on the apps. server.
    I installed a report server on my local machine as,
    rwserver -install 9irep
    I have defined this as a NT service and it is up & running & so is my OC4J instance.
    I have defined a reports object in my Form Builder & set Report Server=9irep,
    Destype=Cache,
    Execution mode=runtime
    Communication_mode=synchronous.
    I also removed the /security tag from the <report server>.conf file as suggested in the white paper. Also set the single sign-on to NO for the reports service.
    I have replaced my run_product with the run_report_object built-in as follows.
    Declare
    report_id      REPORT_OBJECT;
    report_status VARCHAR2(255);
    rep_job_id      VARCHAR2(255);
    Begin
    report_id := FIND_REPORT_OBJECT('KS'); --Created in form under node "Reports"
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME,'C:\Kalpana\9i_Prototype\ISSMDLCUST.rdf');
    rep_job_id := RUN_REPORT_OBJECT(report_id);
    report_status := REPORT_OBJECT_STATUS(rep_job_id);
    WHILE report_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    report_status := REPORT_OBJECT_STATUS(rep_job_id);
    END LOOP;
    message(report_status); pause;
    IF report_status='FINISHED' THEN
    Web.Show_Document('http://houwdisndgd01:8888/reports/server/getjobid='
    ||rep_job_id||'?server=ks');
    END IF;
    End;
    I get an error message "FRM 41214: Unable to run report" right after the call to run_report_object.
    Can someone please tell me where am going wrong with my run_report_object built-in? (I also need help writing my web.show document to point it to my local machine/folders).
    Thanks
    Kalpana

    How I have implemented the same and works
    Local OC4J is running.
    I established a reports server "repserver90" as a service.
    I created a report named "C:\TMP\TMP\test_report.rdf"
    I created a form with a Reports object with properties:
    Name: "EMP"
    Filename: "C:\TMP\TMP\test_report.rdf"
    Execution mode "Batch"
    Communication mode "Sychronous"
    Report Destination Type "Cache"
    Report Destination Format "HTML"
    Report Server "repserver90"
    I call the report with the procedure:
    PROCEDURE TEST_REPORT IS
    repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(20);
    BEGIN
    repid := find_report_object('EMP');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'html');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'repserver90');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no pdeptno='||:dept.deptno);
    v_rep := RUN_REPORT_OBJECT(repid);
    rep_status := REPORT_OBJECT_STATUS(v_rep);
    WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    rep_status := report_object_status(v_rep);
    END LOOP;
    IF rep_status = 'FINISHED' THEN
    /*Display report in the browser*/
    WEB.SHOW_DOCUMENT('http://localhost:8888/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank');
    ELSE
    message('Error when running report');
    END IF;
    END;
    Minas

  • LabVIEW RT, Timed loop, finished late, Call by reference

    I have a timed loop triggered by the sample clock of a DAQ-Card. The sample Clock is 8 kHz and the loop will run with dt = 4. Normally the loop is running without finished late[i-1]. But from time to time it happens that the loop is running extremly longer which means instead of 0.5 millisec it needs 4 - 5 millisec. It seems this doesn't never occur while accessing DAQmx.
    The application uses plugin technologies and some of the VIs in the timed loop are preloaded and called by Call by Reference.
    Does those VIs inherit the priority, execution system and CPU of the timed loop?
    The application is running on LV RT 2009 on a Dual core PXI-Controller. The timed loop is bound to CPU 1. There is no  difference runinng the application from the development environment or as a startup application.
    For the measuring test  I modified the application in a way that I don't have:
    disk access for storing the result file
    TCP/IP communication
    Controls on the front panel of the top level VI
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

    To keep you informed:
    I stripped the application and have left only the measurement storing module and the timed loop. The loop was using the microsecond timer running each 500 µsec. Additional all Non-Real-Time modules were loaded and only one module creates a XML string and sends it to the communication layer which will drop it because no TCP/IP port is open. The creation of the XML string is done each 300 ms.
    In this case I don't have any finished late iterations
    Next I added the DAQ Module. Now I get finished late again but with a lesser frequency as original.
    I removed all unnesseccary tasks from the DAQ moulde leaving one task for a PXI-4204 for using as the clock source for the timed loop. No I get finished late seldom.
     I removed the module which will send the XML string and I don't get finished late.
    Next I was adding code to see memory allocation. I can when memory allocation is changing but it is not related to the finished late iterations.
    Next time I have the chance to do more tests I will see which DAQ task triggers the finished late iterations. I have one AI task on a PXI-4204,  4 Counter tasks on a PXI-6602, 1 DI task on a PXI-6514, 1 DO task on a PXI-6514, 1 DI task on a PXI-6259, 1 DO task on a PXI-6259, 1 AO task on a PXI-6259 and 1 AO task on a PXI-6711.
    The AI task on the PXI-4204 is running in Continous Sampling (Single Point HW Timed is not supported), all other tasks exept the DI and DO are Single Point HW Timed.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • Timed Loop in Producer/Consumer Loop

    Hello!
    I have a producer/consumer loop LabVIEW program setup to allow me to properly capture images that are quite large (8MP) at approximately 14 frames per second (FPS). The program works great when the consumer loop is a 'while loop' (records at 14fps no problem), but I wanted to make it into a timed loop, so that I may vary the FPS as required. An oddity arises when I do this. Anywhere below 12fps, the loop works fine and the data is recorded properly. However, when I bump it up to 13fps, the consumer calculated FPS goes haywire and starts jumping between ~9 and ~13fps (data processing gets bogged?). When I set the required FPS to 14, the loop executes at a steady 7FPS maximum. Is there something I can do to rectify this situation?
    I have attached my .VI
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    ProcessSplitJPG-FPS.vi ‏100 KB

    Palanski,
    Are you using LabVIEW Real-Time? Timed loops in a windows OS don't really increase determinism more than a while loop with a wait until next multiple timer. Before you changed the producer consumer loop to include a while loop was the programming running correctly? You may also want to vuse the VI analyizer to see how long things are taking to run. I would leave the producer consumer loop in the traditional set up and change the FPS by controlling the wait timer, after benchmarking your code this should be done the same way as you have it for the timed loop
    Sam S
    Applications Engineer
    National Instruments

  • Share cluster data between 2 timed loops

    What is the best and safest way of sharing cluster data between 2 timed loops running. I could use locals, but that is risky, would shared variables work better? All I need to do is modify a couple of datatypes in a cluster that both threads use.
    Thanks...

    You could go the LVOOP route and create a singleton object. The object can be passed to parallel tasks an dsince it is singleton they will all share the same value. Ue of a DVR inside the object would allow you to have a single copy of the data. Your class would also give you the necessary accessors for reading/writing data.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Timed Loop timing source - Control Loop From Task is too slow

    I'm trying to make a Timed Loop run at a period of 2 ms, with an analog input task running at 50 kHz as timing source. The input analog signal is scaled and fed into a synchronised analog output task on the same multifunction DAQ board. Using the built-in 1 kHz or 1 MHz clock as timing source for the Timed Loop works great, except for a slight time lag between the loop and my AI/AO tasks which over time becomes unacceptable because my task will be running for up to an hour. However, when I use the DAQmx Create Timing Source: Control Loop From Task vi to create a timing source, everything slows down and the fastest loop time I can get is around 20 ms. Any suggestions to get around this would be highly appreciated!
    System: LabVIEW RT 8.0 with DAQmx 8.0 running on an NI PXI-8186; NI PXI-6251 used for analog input.

    You're welcome!
    You can build an array, and if your data is not hugh (100's of MB) this may be the easiest solution. However, we aways suggest implementing the Producer/Consumer Architecture. Keep the PID in the Producer loop, but move the File IO to the Consumer. Also, it  appears that your instrument uses some form of serial communication, so that could cause lags in your system....
    What is your application about in general, what performance are you hoping for, etc?
    Joshua B.
    National Instruments
    NI Services
    NI Support Resources
    NI Training Resources

  • Best method/practice to run two loops (read + write) simultaneously in sync

    Hello,
    I thought I had a program working that could write and read simultaeously with reasonable accuracy, but have discovered it may not be as reliable as I thought (it sometimes gets out of sync/jumps steps).
    Is there a good guide, tutorial or recommended method to do this reliably, in sync and efficiently?
    Should I use notifiers? and/or timed loops?
    I have a write loop, which sends steps to some type of equipment (stepper motor or magnet etc) at no more than about 100 Hz.
    I have a read loop, which reads data from a detector (eg photodiode, the signal being dependent on the write step), at no more than about 1000 Hz (the read loop runs faster than the write loop)
    I then pass information from one loop to the other (one loop writes to a group, the other reads from it).
    I then save data to a file by saving the contents of the graph.
    Thanks
    Solved!
    Go to Solution.

    Jeff_Tech wrote:
    (1) .... in sync....
    (2) ... (the read loop runs faster than the write loop) ...
    Aren't these two statements a contradiction?
    There is significant information that you have left out, for example is it sufficient for the two to be in sync or is it also necessary that they occur at a very regular rate.
    In what way do the two depend on each other? Is this a control application where the output depends on the input in some way or is it simply a excitation/response pair.
    Are you doing software timed single point acquisition?
    Does it need to run for extended periods of time or it it just a finite sweep each time?
    In any case, the right thing do probably do is run both hardware timed from the same clock. Setup the output array for the AO and arm the AI, then start both running from the same clock (e.g. you could tie the AI conversion to the AO clock). Read the buffered AI data at leasure in a loop that does not need any special timing.
    Can you show us some code so we get a better feeling what you are doing?
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for

  • Help - space bar on touch not working

    hi - the bottom row of my keypad (space bar etc) does not work in Safari. Seems to work fine on home page - but on Safari and games doesn't work.... Would really appreciate help - my itouch is about 3 years old. thank you

  • Back-up on external drive, in addition to the time machine external drive

    Quick question: I am using Time machine on an external drive next to my laptop. To protect against fire/theft, I want to do a monthly back up on an other external drive which would be kept at work. Does time machine allow 2 external back up drives an

  • Implement SSL in JSP and servlets

    hi there, i needed some help in implementing ssl in JSPs and servlets. My idea was to have a login page and also use it where sensitive data is being sent. I have used the basic socket programming (socket.class and serverSocket.class) in GUI applicat

  • WIFI is getting disconneted

    Hi, i have tp-link  Model WA901ND access point, i am able to connect wifi in windows system but in mac its not connecting. Once internet is conected in macbook pro, it will wor for some time. if i close the screen internet will disconect & agian i ha

  • Which companion cd version should i install

    Hi all, I'm confusing which version of companion cd should i install for my oracle database. I've install OAS 10.1.2 which it also included oracle database 10g (10.1.0.4.2). Now, i want to install NCOMP component from companion cd for my database, so