the continuous LOOP until recording recovered

In my stored procedure, I have a loop where to look for the file arrives on a directory. So what I need is THAT LOOP must continually search for the file and once sound generated then come out and return the results. Also, I want to have 5 minute delay, if the file creates no less than 5 minutes, then he should give the message and LOOP should end. How can I do? I tried with the next LOOP, but it did not work.

I am using oracle 11g R2 - Enterprise Edition 11.2.0.1.

LOOP
Select * in table search_unique_Sequence (sys.get_dir_list('D:\temp\'|| uniqueSequence |) (("* .xml '));
If search_unique_Sequence NULL <>
Then
dbms_output.put_line (uniqueSequence);
EXIT;
END IF;

When I ran the SQL from the command prompt, it runs and returns the folder.
SELECT * from table(sys.get_dir_list('D:\temp\441*.xml');

But I need above LOOP
1. to constantly search for file, for example 550_todaysdate.xml, and one time that the file is generated, found in a LOOP can break out of the LOOP and provide the file name
2. in addition, if the LOOP could not find the file within 5 minutes, then end the LOOP

Gurus: Your help is appreciated.
Thank you

I'd probably also put an event trigger in the process that moves the file, or a have an OS level file listener, but if you were determined to do in PLSQL, he structurally could look something like this.

   exit_loop                BOOLEAN DEFAULT FALSE;
   process_iterations       NUMBER DEFAULT 0;
BEGIN
   WHILE exit_loop = FALSE
   LOOP
      process_iterations := process_iterations + 1;

      BEGIN
          SELECT * INTO search_unique_Sequence FROM TABLE (sys.get_dir_list ('D:\temp\' || uniqueSequence || '*.xml'));

          exit_loop := TRUE;

         --

      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            DBMS_LOCK.sleep (30);
      END;

      IF process_iterations >= 10 and exit_loop = FALSE
      THEN
         exit_loop := TRUE;
         DBMS_OUTPUT.put_line ('The file never arrived.');
      END IF;
   END LOOP;
END;
/

Tags: Database

Similar Questions

  • Maximize the continuous digital data recording rate

    I'm trying to record digital data clocked outside large amounts quickly.  The data is only for post-processing.  What is the best way to get data from the port on the hard drive at the fastest possible pace?

    I connect using a PCIe 6537 B.  I log on 4, ports of 8 bits to 40,92 Mhz, so a rate of ~ 160MBytes per second.  I have two designs I've tried so far (a producer-consumer architecture and a DAQ.mx configure logging design).  Both models work if I connect only on two ports (effectively halfing the necessary flow) but fail to the width of 32 bits.

    My producer consumer architecture fails after about 30 seconds of recording successful message

    Error - 200613: Acquisition was stopped to avoid a crushing of the input buffer.

    My other DAQ.mx configures logging design fails quickly (~ 1 sec) with

    200361 error: Overflow memory on-board

    .

    I could be set it up incorrectly.  As I said, it works with 16-bit data width.  I don't know if the increase in the width of the data directly is the problem or if the increased flow to fail.

    I use this on a 3 GB ram windows xp using labview in 2012.  I have attached the vi of my two attempts and a picture of the DAQ.mx set the logging design.

    Well, I'd suggest the integrated PDM recording method would probably be you give best results, assuming that it works at all.  This record type opens a DMA channel of the material on the hard drive so it should not produce copies of useless data, which would probably be a producer consumer loop.

    I never tried logging TDMS without reading the data, a Read DAQmx should be used in the loop?  Your file contains TDMS data?

    The challenge of your hard drive?  It is a flat disk of laptop?  I recommend you test on a SSD, if possible, just to see.

    There are also properties to open up to a size of memory buffer.

    Start with one of the logging TDMS basic examples delivered with LabVIEW and work your way up from there.

  • for the wait loop until the Subvi

    Why this loop for not expected before the end of Subvi.

    the Subvi is to go from the stage.

    Please see attached picture.

    He will meet before the end of the Sub - VI.  If she does not seem to as long as you think it should, then something should happen in the Subvi bringing back too fast.

  • Sequence structure flat inside the timed loop and execution order

    I have some problems trying to implement a flat sequence structure when you use a loop timed on a target of cRio VI

    I tried with or without the while loop around the structure of sequence flat, and I also tried to replace the 'Non-deterministic loop' with a timed loop

    The problem is that the program seems to run only once, then get stuck somewhere

    I am writing a program that performs the following operations as soon as possible:
    1. read the Pos_MC of entry on the FPGA
    2 send the value of Pos_MC to the VI target (on cRio CPU)
    3. calculate a value of output based on Pos_MC with a PID block ("exit PID')
    4. send 'PID output' to the FPGA
    5 write "PID output" analog output "MOOG".

    In addition, I want the program to return the measured value "Pos_MC" to a host VI for the recording of data

    So that the output of PID is calculated and sent to the FPGA as quickly as possible, I placed a flat sequence structure to ensure that it happens before you send the output to the nondeterministic loop for recording data

    Also, I want the digital input 'Stop' to be able to stop the loop deterministic (the timed loop)

    I read much more entries than that and the help of several PID and exit, but I rewrote the code for a single entry and exit to make it easier to illustrate

    Screenshot of the code is shown in 'target code.png' and 'fpga code.png.

    The VI themselves are attached in the next post (cannot attach files of more than 3)

    Question 1:
    Any advice on how to get this race? Thank you!

    Question 2:
    Is also my correct understanding in that, using this structure, each 0.9ms (fpga loop time) comes the following:
    1. the input ("Pos_MOOG") is read on the fpga
    2. the production of PID is calculated on the cRio with some delay to computation (for example 0.1ms)
    3. the output of PID is then written for analog output "MOOG" in all about 0, 1 - 0.2ms
    4. the FPGA program then waits until 0.9ms spent and repeat the process

    As opposed to the next pass whenever performing a loop is started on the FPGA:

    1. the FPGA reads the input and written on the output (the output of the execution of the previous loop PID)

    2. then the entry is sent the cRio, PID output is calculated and sent to the FPGA

    3. the new release of PID is maintained until the next time through the loop

    Thank you!

    PHG wrote:

    Thanks for the input guys, any advice as to how I could get the feature in scenario 1?

    I still say that the best route is just putting all the logic of the control in the FPGA.

    Other alternatives include 1) the use of DMA FIFO sedn data back or 2) use interruptions so that the FPGA code can not read the output level until the RT.

    DMA FIFOs are usually very limited, and I would not use them in this situation since I belive said it this code to do for the many outputs.

  • How I continuously loop frames with pause for 20 seconds in each image of the scene even without going to the next scene?

    How I continuously loop frames with pause for 20 seconds in each image of the scene even without going to the next scene? There are buttons for other scenes in these images. The below works well until I got to the last frame of the scene, then he goes to the next scene and plays. How can I make one loop continuously.

    Stop();

    var: timer = new Timer (20000,0); / / <--

    timer.addEventListener (TimerEvent.TIMER, timerHandler);

    Timer.Start ();

    function timerHandler(event:TimerEvent):void {}

    this.nextFrame ();

    or if you want to jump for example 5 executives

    this.gotoAndStop(this.currentFrame+5);

    }

    Thanks for any help.

    If you want to stop your timer, use the stop() method:

    Timer.Stop ();

    PS when you use the adobe forums, please check the useful/correct, if there is.

  • Try to connect to my yahoo on Safari takes me in a continuous loop to the login page. It works very well with Firefix.

    Try to connect to my Yahoo on Safari brings back me in a continuous loop to the login page. My registration using Firefox works fine.

    IM using ios10 on an iPhone 6 s

  • Sqldev 4.0.2: When I change the package body, down to show me "calculation... bread crumbs for body" in infinitive loop until I get out.

    When I change the package body, down to show me ' calculation of breadcrumbs to... body "in infinitive loop until I get out.

    On
    —–

    Oracle SQL Developer 4.0.2.15
    Version 4.0.2.15
    Build 15.21

    The IDE version: 12.1.3.2.41.140418.1111
    Product ID: oracle.sqldeveloper
    Product version: 12.2.0.15.21

    Version
    ——-

    Version of the component
    ========= =======
    Oracle IDE 4.0.2.15.21
    Java (TM) Platform 1.7.0_65
    Support versioning 4.0.2.15.21

    Thanks for the update. I pass the developer and I hope he finds that they are useful.

    A preliminary analysis shows some problems of Java:

    1. report of the discharge of the thread Analyzer is a little misleading because of https://bugs.openjdk.java.net/browse/JDK-8036823

    2 possible endless loop in the ScaledBlit routine on the thread main event: https://bugs.openjdk.java.net/browse/JDK-8028539

    Question 2 currently has no resolution, but there are a few (a potential solution?) fix for jdk1.8.0_40 (8u40).  The latest official version is 8u11.

    Assuming that the number 2 is the culprit on Ubuntu, just like on Windows, then 1st edition probably does not concern us. Just for reference, a backport of the Java correction for the 1st edition exists on jdk 1.7 and 1.8, but has yet to be officially released on either.

    Kind regards
    Gary

  • How is it my local variable is not updated its value compared to what is happening in the while loop?

    Hello

    I am trying to extract data from a time that my statements updated in what concerns the number of loop iteration. I tried to use the two local variables and travel records, but without success.

    I also did the following example: http://www.ni.com/white-paper/7585/en and it works like a charm.

    I've attached the PNG file with declaration of the local variable circled in red. Join a VI in the next respnose.

    Thank you

    No, the two while loops are stacked and not parallel, which means the outer loop cannot go to the next iteration until all code in this document, including the inside so that the loop is finished.

  • loop nested using iteration of the outer loop as counter

    Hello world.  I have a moment where I perform calculations at each iteration of the loop and display on the front panel.  Then, in a loop iteration randomly (referred to here as I = 9 to test) it fires an event where that performs calculations on x number of iterations (iterations of the outer loop while) the result of external calculations, while performing at the same time and the view from the outside so that the calculations of the loop.  Is that two mathematics algorithms are synchronized in iterations.  After x iteration the program returns then to only calculate and display the while loop calculations using the value from the shift register, updated until another event is triggered (I do not show an another event trigger in the code example) I can just find a way to trigger an event , and at the same time to make two calculations with the same loop iterations.  Any suggestions?

    The VI of the sample in the previous post of crossrulz should provide the functionality you are looking for. The while loop acts to go through ten operations you want to perform and records time difference will allow him to record these values, as you understand. I think that crossrulz refers to shift registers on the while loop that surrounds the case structure that records the shift are unusable on a structure of the case, as you pointed out.

  • You try to run the system on my desktop restore encounters a problem with the program looping.

    Original title: System Restore loops

    Hi, I am trying to run restoring the system on my desk is a problem with the program in a loop.  He directs the system restore and then comes back just to start the system again Restore page.  How to solve this?  I started having problems when I have updated the BIOS on my motherboard.  When I installed the motherboard at the start, I think I used the incorrect installation disc (my son has same brand motherboard but the sound is more advanced).

    Recovery of your computer (Windows) using "Recovery Partition" of the Manufacture or
    contact PC manufacturing (see support links below) and order the recovery media.

    Note: Activation is not required when you use the recovery partition or recovery media, but you will need to reinstall all your applications.

    Also to save your documents on external support (if possible) before starting the recovery process.

    Once completed, your PC will be actually in the State when you first purchased it and turned on for the 1st time.

    To access the recovery Partition, start your computer, and then by pressing the appropriate function key. It can be either F1, F2, F9, F10, F11, F12, DEL or tab key. Check the list below or your user manual for your brand and model.

    If your hard drive has failed, do not have a recovery partition or the recovery partition is not accessible,
    Then, you must contact the manufacturer support team and ask for a "recovery disc" which allows to reinstall Windows 7.

    How access/start the process of recovery of the manufactures listed below.

    Acer: Press and hold ALT + F10, as soon as you see the logo
    http://Acer.custhelp.com/app/answers/detail/A_ID/2631
    Acer support: http://www.acer.com/worldwide/support/
    Acer recovery support: http://store.acer.com/store/aceramer/en_US/eRecovery

    Advent: restart your computer, then the immediate start by pressing the [F8] key or the F10 key.
    The fastest way to restore your computer is to use the hard disk recovery tools. You can access them by restarting your computer and then pressing the [F8] key or the F10 key until the Advanced Boot Menu appears. Use the arrows to select "Repair your computer", then press [Enter]. Read all of the instructions on the website of advent and made your choice as to the action you want to perform: http://www.adventcomputers.co.uk/restore-or-reinstall-windows-your-computer
    Support: http://www.adventcomputers.co.uk/product-support/support-services

    ASUS: Press or press the F9 key as soon as you see the Asus logo.
    http://support.ASUS.com/troubleshooting/detail.aspx?SLanguage=en&m=X53E&OS=&no=1775
    ASUS support: http://support.asus.com/contactus.aspx?SLanguage=en

    Dell: Press F8 directly after switching on / to start the computer
    Recovering detail instructions:
    http://www.Dell.com/support/troubleshooting/us/en/19/KCS/KcsArticles/ArticleView?docid=DSN_362066
    http://www.Dell.com/support/troubleshooting/us/en/19/KCS/KcsArticles/ArticleView?docid=52182
    Dell support: http://www.dell.com/support/home/us/en/19?c=&l=&s=
    Or: http://www.dell.com/

    EMachines: hold the Alt key and hold press and release the key F10
    http://Techchannel.RadioShack.com/eMachines-system-recovery-1747.html
    Support: http://www.emachines.com/ec/en/US/content/support

    Fujitsu: Press F8 several times directly after switching on
    https://answers.Yahoo.com/question/index?QID=20110406074143AAcx1Zw
    Support: http://www.fujitsu.com/global/support/

    Gateway:
    http://www.ehow.com/how_6297937_restore-gateway-laptop-factory-settings.html
    https://support.gateway.com/s/software/Microsof/Vista/7515418/7515418su531.shtml
    Support: http://www.gateway.com/worldwide/support/

    HP Notebook: Usually to begin recovery process press the F10 key, power on the computer
    HP Mini: Press F11 directly after switching on / to start the computer
    http://h10025.www1.HP.com/ewfrf/wc/document?DocName=c01867418&cc=us&destPage=document&LC=en&tmp_docname=c01867418
    Support: http://www8.hp.com/us/en/contact-hp/ww-contact-us.html

    Lenovo uses the F11 key to launch the restore process:
    http://support.Lenovo.com/en_US/detail.page?LegacyDocID=MIGR-4UFUYK
    Directions for Lenovo OneKey Recovery, hidden partition and recovery DVDs:
    https://support.Lenovo.com/us/en/documents/ht077384
    and: http://support.lenovo.com/en_US/detail.page?DocID=HT077144
    Support: http://support.lenovo.com/en/supportphonelist

    How to run Lenovo Onekey Recovery
    http://support.Lenovo.com/en_US/downloads/detail.page?docid=HT062552
    Detailed as follows: http://support.lenovo.com/en_US/research/hints-or-tips/detail.page?&LegacyDocID=127597018499211

    You can also find parts of this article from Lenovo worth reading:
    http://support.Lenovo.com/en_US/detail.page?LegacyDocID=MIGR-4VFUDU

    LG: Press F11 directly after switching on / to start the computer
    Support: http://www.lg.com/

    Packard Bell: Turn on your computer. When Packard Bell logo is displayed, press in and hold the ALT key while pressing the F10 key several times. Release the keys when a message that Windows is loading files.
    After the system recovery program has loaded follow the instructions to reinstall the operating system.
    Support: http://www.packardbell.com/index.html

    Samsung: Press the F4 key to the Samsung logo when you turn on first of all of the computer.
    Support: http://www.samsung.com/

    Sony VAIO Windows 7: restart and press "F10".
    https://CA.en.KB.Sony.com/app/answers/detail/A_ID/35585/p/48903, 49902,71663,71664/c/65,67/kw/recovery%20using%20f10
    Sony VAIO Vista: Restart and press "F8" repeatedly until the screen "Advanced Boot Options".
    https://us.en.kb.sony.com/app/answers/detail/a_id/41931/~/how-to-perform-a-system-recovery-using-the-vaio-recovery-center.
    https://us.en.KB.Sony.com/app/answers/detail/A_ID/41949/session/L2F2LzEvdGltZS8xNDA4MjI2NTAzL3NpZC8qWVBPbCpfbA%3D%3D
    Support: http://www.sony.net/SonyInfo/Support/

    Toshiba: Press on F12 or the value 0 (zero) key on the top of the keyboard (not the zero on the numeric keypad key)
    and at the same time, press the button power once to turn on your laptop.
    When the Toshiba screen appears; release the 0 key.
    References: http://www.mytoshiba.com.au/support/items/faq/71
    http://forums.Toshiba.com/T5/system-recovery-and-recovery/how-to-perform-system-recovery-Windows-7/Ta-p/279643
    Support: http://www.toshiba.co.jp/worldwide/

    Windows 7 - location of the Partition Recovery and information.
    "Configurations of drive partitions using the BIOS has recommended.
    Note: Check the diagrams of this article
    http://TechNet.Microsoft.com/en-us/library/dd744364%28WS.10%29.aspx

    J W Stuart: http://www.pagestart.com

  • Use of the CONTINUE statement

    I used a unconditional CONTINUE statement inside the loop as follows.

    However because of this (I guess!) I am facing a problem - loops jumps to read valid records in the loop, which are supposed to be read.

    in the output file that I found clearly that there is a reason - CONTINUE jumps 5 folders after the first reading, then read the next & jumps again 5 records and so on...

    lets say we have 1,2,3,4,5,6,7,8,9,10.

    value 1 is read, the. 2 to 6 are ignored, then 7 is read...

    Please kindly help.

    Here is the piece of code.

    LOOP FOR...

    {statements}

    {statements}

    {statements}

    {statements}


    CONTINUE;

    in the output file that I found clearly that there is a reason - CONTINUE jumps 5 folders after the first reading, then read the next, & jumps again 5 records, & etc...

    No - it's NOT this KEEP - it's not 'jump' anything. See the doc of the PL/SQL language

    http://docs.Oracle.com/CD/E11882_01/AppDev.112/e25519/continue_Statement.htm

    CONTINUE education

    The CONTINUE statement leaves the current iteration of a loop, either conditionally or unconditionally and transfers control to the next iteration or the current loop or loop a labeled container.

    If a CONTINUE statement leaves a cursor FOR loop prematurely (for example, out of internal control of the loop and transfer to the next iteration of the outer loop), the closing of the cursor (in this context, CONTINUE works as GOTO ).

    If anything gets "jumps" or depends not ONLY on your code. If you put the CONTINUE statement at the beginning of the loop of YOUR CODE will ignore the rest of the loop.

    The solution is to FIX your code so that the CONTINUE statement is executed when the transformation of the current loop iteration is completed and you want the following to start or you want to leave the loop entirely.

  • Stuck on the infinite loop of auto repair

    Hi guys,.

    Ive had a problem with my computer. I have the alienware aurora r4 and have and issue with blue screen and auto repair mode.

    The real problem is really the mode of auto repair. What happened is that when I did a windows update it ended to give me a bluescreen during loging screen when I start the computer. After 3 restart put me in auto repair infinit loop and since then I can't get out, not even will lauch and im safe mode don't really know what to do.

    There is no problem of harware, I run the ePSA to confirm this. but the main reason is that it is the second time this has happened to me. the first time windows upated this month he did the samething, but I would get blue screen after login. How to solve this problem the first time, is that I restore my system to a certain date, when I didn't have this problem. After this, I turn off the windows upadte until I get more information one why its done 2 days ago, it is accidentally turn on by my antivirus or maybe accidentally by me.

    Now it is stuck on this infinite loop for auto repair and I can't do a system files because it must be done in safe mode, or need to disable launch beginning of antivirus (not exacly how his writings sound penultimate option aloong SafeMode in windows 8.1)

    What I have to do is stop mode auto repair, so that I can operate either in safe mode or disable the antivirus at the beginning so that I can restore my computer to a day where it was working fine. The computer has access to the command prompt, so any code that can disable or ask the system that he has never mistake might help.

    There is a file that I really need to recover from this computer and also need to use this machine. Any help is appreciated

    Thank you

    You can get a better response if you re - post it in the forum of the Microsoft OS.

  • Getting around the y axis until the user stops now button?

    In my example below is there a way to have the user press the orange button and it makes the numbers continually down the axis y until the user stops now down on the orange button?

    http://twistedpancreas.com/edge/Misc/MouseDown.zip

    Thanks in advance.

    Replace your original stage comments trigger action code is added to the code;

    / * Your original Code
    sym.getComposition () .getStage ().getSymbol('lab_items').$('btn').bind ('touchstart mousedown', function (e) {})
    sym.getComposition () .getStage () .getSymbol ('lab_items')
    .getSymbol ('numbers')
    . $('labMarks')
    . Animate ({'top': '= 50px'}, 300, "linear");
    });
    Put an end to your Original Code * /.

    New Code.

    A function to maintain the method animate of continuous scrolling.

    The trick here is with the last parameter scrollCont.

    Which essentially calls the function (himself)

    loop, until the mouseup is raised later

    function scrollCont() {}
    sym.getComposition () .getStage () .getSymbol ('lab_items')
    .getSymbol ('numbers')
    . $('labMarks')
    . Animate ({'top': '= 50px'}, 300, "linear", scrollCont);
    }

    Stop() function continuous when scrolling

    MouseUp is trigger, later

    function stopScroll() {}
    sym.getComposition () .getStage () .getSymbol ('lab_items')
    .getSymbol ('numbers')
    . $('labMarks').stop ();
    }

    Your mousedown touchstart remain valid; the add event

    chaining the touchstart mouseup; which

    When the trigger fires the stopScroll() function.

    sym.getComposition () .getStage ().getSymbol('lab_items').$('btn').bind ('touchstart mousedown', function (e) {})
    scrollCont();
    .bind}) ('touchstart mouseup', Function {})
    stopScroll();
    });

    End new Code.

    HTH

    Darrell

  • What is the difference between the cookies keep until I close firefox and the history of cookie empty closing firefox?

    In the settings of Firefox 33.0 (I use Ubuntu 14.04, but the functionality is the same for Windows 7) there are two ways to delete cookies when firefox closes. Or at least, there seems to be.

    Is first the cookies keep until firefox is closed

    Second is to check the box for clear history of firefox closing and in the settings check cookies.

    What is the difference between these two options?

    I usually have two configuration but I noticed that a connection was not save for td canada trust EasyWeb, even though I have an exception set for it. Now I unchecked to remove cookies by disabling the history on close and connection records correctly.

    This connection allows to save 7 cookes under easyweb.td.com and 10 cookies under td.com and I have exceptions defined for both. If I clear the history when closing and include cookies, half of the td.com cookies disappeared when I close firefox and re - open. The same is true if I'm not the exception.

    So currently I can't find a way to keep all cookies if I clear the cookie history when firefox closes. What is the difference with this option?

    When you change the default cookie 'to life' of "keep until: they expire" to "keep until the: I close Firefox", Firefox changes all persistent cookies that sites set session cookies. To allow a site to place a persistent cookie, you need to make an exception (site permission).

    When you turn on the story to stop compensation and include cookies, running a completely separate process that doesn't doesn't pay attention to the duration of cookie or exceptions (permissions site). There just nukes all.

    Note that some cookies could survive if they are encoded in the history file of your session of compensation at the stop, a Firefox uses to restore your tabs and windows from last session. I have not tested.

  • global variable functional to read and write data from and to the parallel loops

    Hello!

    Here is the following situation: I have 3 parallel while loops. I have the fire at the same time. The first loop reads the data from GPIB instruments. Second readers PID powered analog output card (software waveform static timed, cc. Update 3 seconds interval) with DAQmx features. The third argument stores the data in the case of certain conditions to the PDM file.

    I create a functional global variable (FGV) with write and read options containing the measured data (30 double CC in cluster). So when I get a new reading of the GPIB loop, I put the new values in the FGV.

    In parallel loops, I read the FGV when necessary. I know that, I just create a race condition, because when one of the loops reads or writes data in the FGV, no other loops can access, while they hold their race until the loop of winner completed his reading or writing on it.

    In my case, it is not a problem of losing data measured, and also a few short drapes in some loops are okey. (data measured, including the temperature values, used in the loop of PID and the loop to save file, the system also has constants for a significant period, is not a problem if the PID loop reads sometimes on values previous to the FGV in case if he won the race)

    What is a "barbarian way" to make such a code? (later, I want to give a good GUI to my code, so probably I would have to use some sort of event management,...)

    If you recommend something more elegant, please give me some links where I can learn more.

    I started to read and learn to try to expand my little knowledge in LabView, but to me, it seems I can find examples really pro and documents (http://expressionflow.com/2007/10/01/labview-queued-state-machine-architecture/ , http://forums.ni.com/t5/LabVIEW/Community-Nugget-2009-03-13-An-Event-based-messageing-framework/m-p/... ) and really simple, but not in the "middle range". This forum and other sources of NEITHER are really good, but I want to swim in a huge "info-ocean", without guidance...

    I'm after course 1 Core and Core 2, do you know that some free educational material that is based on these? (to say something 'intermediary'...)

    Thank you very much!

    I would use queues instead of a FGV in this particular case.

    A driving force that would provide a signal saying that the data is ready, you can change your FGV readme...  And maybe have an array of clusters to hold values more waiting to be read, etc...  Things get complicated...

    A queue however will do nicely.  You may have an understanding of producer/consumer.  You will need to do maybe not this 3rd loop.  If install you a state machine, which has (among other States): wait for the data (that is where the queue is read), writing to a file, disk PID.

    Your state of inactivity would be the "waiting for data".

    The PID is dependent on the data?  Otherwise it must operate its own, and Yes, you may have a loop for it.  Should run at a different rate from the loop reading data, you may have a different queue or other means for transmitting data to this loop.

    Another tip would be to define the State of PID as the default state and check for new data at regular intervals, thus reducing to 2 loops (producer / consumer).  The new data would be shared on the wires using a shift register.

    There are many tricks.  However, I would not recommend using a basic FGV as your solution.  An Action Engine, would be okay if it includes a mechanism to flag what data has been read (ie index, etc) or once the data has been read, it is deleted from the AE. 

    There are many ways to implement a solution, you just have to pick the right one that will avoid loosing data.

Maybe you are looking for