01-09-2012 07:51 PM
I think I'm having a serious brainfart.
In my RT application, I'm running a bunch of timed, parallel loops to monitor and control various processes throughout the program. I have built a FGV containing a couple pieces of information relevant to this timed loop. Every 500ms I will check the loop for the Boolean output from the FGV to spit out a new True (followed it with a one-shot to ensure the contents of my case structure will execute indefinitely after multiple cycles). Once this happens, I want to trigger a timer and retain the value while still allowing the loop to exit (no waiting) since I don't want this to stall things. What's the most stripped-down, efficient way to do this? I have implemented a number of things I know will work, but they just seem too busy, or thought out too hard.
I've implemented it with tick counts, iteration counts >= 7, etc.
I'm also pretty sure I can just drop the Elapsed Time express VI with the Reset input after the rising edge Boolean one shot and the Time has Elaps? output triggering the case containing the code I want to execute when my 3000ms is up. I just don't know how much overhead that express VI has.
Any sharp ideas from the well-evolved would be much appreciated. 🙂
01-09-2012 08:03 PM
I am much too fuzzy at this moment to have any sharp ideas.
Do you know that you can open the front panel of an Express VI? Then you can look at its block diagram and remove all the excess overhead for your particular needs.
Lynn
01-09-2012 08:43 PM - edited 01-09-2012 08:45 PM
01-09-2012 09:37 PM
I was doing something pretty similar to this, just wasn't sure if I could somehow get it smaller. I felt like I was missing something obvious since it's a fairly simple operation. That "GERM" VI example should be pretty relevant given the selective accumulation. I guess this isn't just a few drag, drops and done type of issue. 🙂
01-09-2012 09:38 PM
Oh, and thanks! LOL