TestStand hang, Execution with Event-Callback-VI

Hello there,
I try to build a UI in TestStand 3.1 and LabView 7.1. I don't want to use Application-, Execution and SequenceView- Manager because you must use the SequenceView-Control to display some Details of Execution..
While executing a Sequencefile I want to show StepName, StepIndex.. on Front Panel with normal String- or Numeric-indicators.
To get a high Execution-Speed I don't use MessagePolling and create a UIMessageEvent-Callback-VI.
At first I tried to update my Indicators by using the References of it. But the UI hangs by trying to open a VI-Reference per Path. Open a VI-Reference by String works, but sometimes it hangs by closing this Reference. This effect occurred at my PC (Pentium 4 2,8 GHz 1GB Ram) after 20 minutes up to 9 hours. At a Pentium (Hyper-Threading) 3,2 Ghz, 512 MB Ram it hangs after a view minutes. On an old Pentium (200Mhz, 256KB) it works fine for a Week!?
So I changed the updating Indicators to Global Variables, with the same effect.
At last I removed all these to run a Sequencefile without any information about the status of the execution and again the UI hangs.
So I don't know what to do... What's Wrong?.
Please answer me.
Best Regards TPoint!Message Edited by TPoint on 04-14-2005 04:09 AM
Attachments:
RunModule41.zip ‏2626 KB

TPoint -
Your OI layout looks nice. We were finally able to reproduce the problem, and as you thought it does appear to be a hang somewhere in the Open Reference call that you were doing. We tried to attach a debugger to the process but the problem would not reproduce, so we will have to try to work more on this to figure out the exact cause and determine if we can prevent the issue internally. Since it appears to be hanging inside the LabVIEW call, it is unlikely that a fix is in the near future, so if we can workaround this in anyway this would be the easiest solution.
I was able to prevent the senario that you posted by serializing the calls in the sequence case by wiring the error out from the Close Reference to the Property Node call for UIMessagePollingEnabled. I do not know if this type of fix will apply to your complete OI code base.
You should also be aware of a general issue that is documented in the Using LabVIEW with TestStand manual in Appendix B - Using the TestStand ActiveX APIs in LabVIEW.
Setting the Preferred Execution System for LabVIEW VIs
If your VI calls synchronous methods of the TestStand API, you may need to correctly set the LabVIEW Preferred Execution System for your VIs. If you call synchronous methods that will not return until the LabVIEW server executes a VI on behalf of TestStand, the VI that calls these methods and the VI that TestStand is attempting to run using the LabVIEW VI Server cannot be set to run in the same LabVIEW execution system. If the VIs are set to run in the same execution system, you will experience a deadlock since the execution system that the VI needs to run in will be consumed by the execution of the synchronous TestStand method. In addition, since LabVIEW handles ActiveX communication through its user interface execution system, neither of the VIs in this scenario may be set to run in the user interface execution system.
For example, you can have a LabVIEW code module that calls the Engine.NewExecution method followed by the Engine.WaitForEnd method, and a new execution that calls LabVIEW code modules. Deadlock can occur if either of the VIs in this scenario use Same As Caller or User Interface as its preferred execution system. In addition, both VIs in this scenario must use different preferred execution system settings. The LabVIEW execution system is configured in the VI Properties dialog box for each individual VI.
Sincerely,
Scott Richardson
National Instruments

Similar Messages

  • Event Callback VI with LVOOP / overhead, caveats, future

    OK another exploratory post from me.  To anyone who has put up with this kind of thing from yours truly many times in the past, apologies.  Completely impervious to any objections, here goes:
    I have discovered a new toy : Registering event callback VIs.  OK, I have used them before but a previous post by James McNally about his MVC framework revealed to me a usage which I had not previously thought of.  Thanks for that James.
    I like LVOOP.  One pattern which is quite easy to understand is the command pattern in conjunction with state machines where we essentially replace the individual states of a state machine with external VIs.  This makes it far easier to customise behaviour and allows for re-use of the core state machine for differing functionalities.  Cool.
    We can leverage this with LVOOP by passing different "commands" to the state machine depending on the real object being utilised and thus we have a nice extensible architecture.  Again, cool.  If we need to change one common action, we simply update that VI and instantaneously all ancestors share the new code in that command object.  Double cool.
    Problem is that I love User Events.  The idea of having an extensible object model gets awkward to handle when you start using Events to handle communications in and out of the object.  Create a Parent, Implement the 15 Events required.  Create a child, Implement the 15 Parent events and the 12 new events.  Create a Grandchild, Implement the 15 Grandparent, the 12 Parent and then the 25 new Events.  Armageddon occurs when you want to change the common functionality for the sixth Event of the Parent.  Now you need to go to each and every ancestor which uses them and update them.  Wait a second, isn't LVOOP supposed to save me from this kind of crud?  Frustration ensures.  Can you ever be sure you got all instances?  What about those obejcts not listed in the project, maybe you forgot one of them...... Nasty testing and debugging ensues.
    I think I may have (partially) found the answer.  What we need to do is basically do the same thing we have done with the command pattern and extract the individual frames of the event structure and place them into external VIs so that we can 1) re-use the VIs in each level of hierarchy and 2) maintain all the other niceties of Events.
    Turns out that using Callback VIs for each level of the object hierarchy can help to solve this problem.  You need to have a method with a different name for each level of the hierarchy which exposes the events int his way because each method will most likely have different input values.
    Has anyone else done things like this?  Are there limitations as to what can and can't be done with this arrangement?  Any nasty bugbears waiting for me around the corner?  How to deal with events which should give some kind of return value?  Do I encorporate the return value into an implementation-agnostic return channel (again Events of course) with the object in question providing one return user event for each callback function which requires a return value?
    Say hello to my little friend.
    RFC 2323 FHE-Compliant

    Grr, I was trying to attach a file (whose contents apparently didn't match the file name?!!) when I ran out of time to edit and now I lost my text.
    Here's an example.
    Base class swaps out a control Caption for Label upon "Mouse Enter"
    Child class swaps out a control Label for Caption on "Mouse Leave"
    Grandchild increments a counter (stored in Description) for every "Mouse Enter"
    Trivial but get's at what I mean.
    I know I can do this in other ways but
    1) I don't need a parallel process
    2) I'm just having fun
    Darn, I can't attach a zip.  Rename this file to .zip and unpack.  Sorry guys.
    Say hello to my little friend.
    RFC 2323 FHE-Compliant
    Attachments:
    LVOOP with Event callbacks.txt ‏78 KB

  • Event CallBack in TestStand - Labview OI

    Hi everyone,
    i am using the simple interface for labview of teststand, i have modified the interface what i like, now what i want to do is when the user press the control button to execute a sequence the system ask the user for something and depending of it answer execute or not the sequence, for this i have create a new event callback, modifying the configure event callback.vi, what i introduce in the Reg Event Callback is that when StartExecution event starts it run the callback vi that contains the question to the user.
    It works well because when the user press the run sequence control button or the restart contorl button, the system ask the user. But the problem is when the user press the exit control button, the system ask too.
    Why occurs this, and how can i fix it??
    Thank you in advance

    Hi Marith,
    This behavior is occurring because the Application Manager automatically executes the FrontEndCallbacks sequence file when the Operator interface starts, and again as part of the shutdown.  To prevent this from occurring, we'll need to check that the execution is not the FrontendCallbacks execution before launching the dialog (the other case is "FrontEndCallbacks.Seq"):
    You also may want to consider a couple alternative implementations:
    use the UImessage event to run the code when the UIMsg_ModelState_Initializing message is posted (when the process model begins executing)
    putting this code in the process model rather than the User interface - in this case we could just add a step in the setup of the model, and terminate the execution if the user chooses.
    Al B.
    Staff Software Engineer - TestStand
    CTA/CLD

  • Event callback with active x in labview

    I have an active x written by Aanderaa Instruments (makes
    weather and hydrology sensors), it contain various methods and events to get
    the next line of records from a sensory scanning unit. The connection is
    through the COM1, so far i have wired it up only using the methods to get next
    record level, but then I have found that sometimes it does not get the complete
    record from the COM port. So to solve that I have to use an event in the active
    x to check for new record available. So what I want to do is send the event
    (when complete record available) to VI that uses the get next record method to
    pick up the data from the COM1 port and then send the data back to the main VI
    for processing, plotting and writing.
    My problem is that when I connect the output from the GetNextRecord method to a
    indicator that I then wire on the connector pane to be an output from this
    VI  get an error that there is a wire function conflict. I have tried to
    explain a bit better in the attached pdf file with diagrams.
    The reason why I want to export the data back in the main VI is because it runs
    continuously collecting data every 2 min and I plot them on a graph and write
    them to a file so it will no work to have all that done in the event callback
    VI that will only run ever 2 min, then it will reset the graph the whole time
    and I want continuous data plotting for 10 days of historic data records. I
    also have a few other sensors that come in through a connector board that are
    written o the same file.
    hope somebody can give me some hints 
    Attachments:
    labview question.pdf ‏721 KB

    Hello!
    I checked the PDF file with snippets of your code and it looks alright, no issues or comments regarding that from my side. However it is really difficult for us to troubleshoot when we don’t have the ActiveX control available and even though we had access to the control it would still be quite tricky to find the cause of the problems you are experiencing since we don’t have the hardware and so on.
    I found one link only that mentioned wire conflicts when talking about COM objects and ActiveX and you can find it here:
    http://digital.ni.com/public.nsf/websearch/0CED780​C5D5EDCD5862569D9005AE1FA?OpenDocument
    Regards,
    Jimmie A.
    Applications Engineer, National Instruments
    Regards,
    Jimmie Adolph
    Systems Engineer Manager, National Instruments Northern Region
    Bring Me The Horizon - Sempiternal

  • Problem with register event callback in use of instrument control

    now, i use the register event callback to register a value change of a boolean control on the front panel, and wire the cluster's ref of the instrument control parameters to the user parameter input, then create the callback vi. In the callback vi, i select the pump-control subvi, and pass the user parameter to the subvi. The problem is that,  when i press the boolean control, the instrument (here is pump) can act, but immediately, the code crashes.
    I use labview 8.6
    Attachments:
    callback vi.png ‏8 KB
    register event callback.png ‏8 KB

    You would wire the event registration wire that comes out of the Register for Events node into an event structure.  You will need to right click on the event structure and check off "Show Dynamic Event Terminals" and it into that.  Then you can create a new Event Case that uses the dynamic event.  You can place your subVI in that event in whatever way you want.  (Just drop the subVI in or do a Call by Reference there, or whatever.)  Look in the Example Finder for "Dynamically Register for Events.vi".

  • Problems with ActiveX Callbacks in LabVIEW 7

    Have encountered an interesting problem with ActiveX "Reg Event Callback" in LV7 (WinXP):
    In a nutshell, when a lot of events fire in rapid succession, the user-interface locks up.
    The events still fire, and the front panel controls update, but the front panel will not respond to clicks. Interestingly, if the block diagram is open, you can stop it and turn on execution highlighting, etc...
    - I've discovered that the problem we're encountering is related to multiple events firing before the (reentrant) callback VI has finished executing from the 1st event.
    - by watching the Performance data in task manager, and tracking the # of handles used by LabVIEW, I find that when this happens, the # of handles increases, b
    ut never decreases until you stop the VI
    - I would expect several (nearly) instantaneous events to launch multiple copies of that callback VI, and I can believe that would increase the # handles, but I would expect that LabVIEW would catchup shortly thereafter and the # handles would return to its starting count.
    As an aside, using the old ActiveX event and callback method with the exact same version of the activeX control does not have this problem, events just queue up and then fire appropriately.
    Anyone seen anything like this?
    Anyone (NI guys) have any ideas?
    Follow up question (NI guys): when will the support for the old ActiveX event stuff dry up?
    Thanks in advance,
    Ben
    Ben Zimmer
    [email protected]
    Software Developer
    Meikle Automation

    Hi Ben,
    The error message warns about the use of three ActiveX Event VIs that will no longer be supported in future versions of Labview. Following version 6 of Labview, the use of ActiveX Event VIs is shifting to the use of Register Event Callback VI instead. In looking at your screenshots, I did not see any use of the older ActiveX Event VIs. If possible, try attaching the actual VI to the post and I will take a look at that.
    At least in terms of support, phone support currently exists for Labview 6 and 7. With the release of Labview 8, support for Labview 6 will slowly be phased out. In this case, phone support for the ActiveX Event VIs will no longer continue as they are no longer included in the versions of Labview for
    which phone support is provided. However, Discussion Forums and web-based resources would be your best venue of support for those features.
    I would strongly recommend that you migrate to replacing ActiveX Event VIs to using the Register Event Callback VI. The following is a KnowledgeBase article describing the transition of ActiveX in Labview:
    Migrating from the ActiveX Event VIs to Using the Register Event Callback Node
    Also, are you using the Automation Open/Close VIs? These two VIs will allow acquire/release informatio nof the ActiveX object. I have attached a couple example programs that are included in Labview to help demonstrate this concept.
    Hope this helps!
    Kileen Cheng
    Applications Engineer
    National Instruments
    Attachments:
    ActiveX_Event_Callback_for_Excel.llb ‏944 KB
    ActiveX_Event_Callback_for_IE.llb ‏972 KB

  • Event Callback from a Reentrant VI Recursion Error

    Greetings,
    I am using Register Event Callback with an ActiveX object to respond to user mouse events. The problem is that when I run the VI (the main, calling vi) as reentrant, Labview gives an error that the "Callback.vi" is attempting to recursively call "Main.vi".
    Is there a way around this problem? I intend to run two copies of "Main.vi", so reentrant execution seems necessary.
    - Colin Holbrook

    Hi Colin,
    Are you placing the Register Event Callback inside of the Main VI and then wiring the same Main VI to the VI Reference terminal?  If so, then that explains why you are getting an error.  You cannot use the Register Event Callback to call a VI within itself.  If this is not the case, then please post a simple VI that demonstrates the problem. 

  • Executable and Register event callbacks

    Hi,
    I have been running into an issue regarding the building of an executable that has register event callbacks (specifically Test Stand Callbacks).  The VI that is responsible for setting up the event registration is an asynchronous VI.  During development everything works but during deployment of an executable the Callback is either not running or capturing the event from the Test Stand engine (I am looking for the end of execution event).  The setup is not reporting an error, and the pathing to the callback VIs is correct.  Any Ideas on this?
    Does the Teststand engine not post a endexecution callback when running from a executable labview environment?
    Thanks,
    Andrew
     

    akonecki wrote:
    Hi,
    I have been running into an issue regarding the building of an executable that has register event callbacks (specifically Test Stand Callbacks).  The VI that is responsible for setting up the event registration is an asynchronous VI.  During development everything works but during deployment of an executable the Callback is either not running or capturing the event from the Test Stand engine (I am looking for the end of execution event).  The setup is not reporting an error, and the pathing to the callback VIs is correct.  Any Ideas on this?
    Does the Teststand engine not post a endexecution callback when running from a executable labview environment?
    Thanks,
    Andrew
    The TestStand engine is singular regardless of what is hosting the components so it will post the appropriate callbacks. Try some tracing and see what flags up in your callback VI.

  • References won't close in UserMessage Event Callback example.

    I download the following example:
    http://zone.ni.com/devzone/cda/epd/p/id/2606.
    I was going to use some of the features of this example to pass variables from my OI to TestStand.  Well unfortunately, this example with the modified UserMessageCallback locks up everything with an R6025 error.  Well, it actually will also give me the Property Object warning dialog ONLY if I have the Debug Options set within the Station Options->Preferences tab set to report Object Leaks, otherwise I get the R6025 error.  Only solution is to go to Task Manager and close out LabVIEW.
    I attached a picture of the callback, I believe I am closing ALL possible references.  I don't understand why TestStand still thinks that the SequenceContext reference is open?   Is there something I have to do special to close the SequenceContext reference because of the Variant to Data function?
    I am running TestStand 4.2.1 and LabVIEW 2010.
    Thanks,
    PH
    Attachments:
    UserMessage Event Callback.png ‏53 KB
    Debug Warnings.PNG ‏19 KB
    R6025 Error.JPG ‏12 KB

    The original example failed, hence it did not work  Again, it did not work with TS 4.2 and LV 2010.
    All I was trying to do is use that example, to pass data from my Operator Interface to TestStand using the SequenceContext.  It was mentioned as an example in a previous post here:
    http://forums.ni.com/t5/NI-TestStand/Passing-Variable-from-Operator-Interface-to-Process-Model/td-p/...
    I attempted to add a fix for the Variant to Data function per reference to the KB, proposed by Anand Jain, in the previous posts!
    In the long run, I will have to go with the method proposed by Ray Farmer. 'The simplest way is just store it in the StationGlobals.'   Not exactly the method I prefer to use, but it seems to be working.
    Thanks,
    PH

  • FCPX hangs on loading event in boot up, but when it does boot it runs very slowly.

    I'm having a problem with FCP 10.0.9
    When I try to open the program it gets hung up on the opening logo at loading event. I get a message that FCP is not responding in the force quit menu,  but after around 6 hours FCPX opens up, but runs very slowly. I can see all of my projects and everything appears to be intact.
    I'd like for FCPX to run smoothly again so I am looking for advice on how to fix it.
    Here is some pertinent information.
    I'm working on an 2.93 GHz intel core 7 iMac / 16GB memory / ATI Radeon HD 5750 1024 MB / OS 10.7.5
    Everything is on an external 12tb Raid drive that has 5.7 TB free and is connected via Firewire 800.
    The footage has been going into FCP is Arri Alexa footage that has been transcoded using Devinci resolve and proxies were created for all the footage within fcp.
    My event folder is around 600 gb and the transcoded footage that has been imported into FCP is around 6TB
    I've been working for about 3 weeks and have everything broken into 4 projects within one event and everything was working smoothly until yesterday.
    I have no compound clips, but all of my imported footage has been synced, multicam-ed and organized by keyword collections.
    I've tried loading the even backup to no avail (and foolishly I did not have backups stored anywhere else)
    I've tried trashing preferences.
    I've tried reinstalling the program.
    I've tried hiding events and projects with Event Manager X.
    I've tried running diagnostics using the digital rebellion pro maintenance tools Corrupt Clip Finder, Project repair, and Quick Fix but everything came back clean.
    One person at Apple technical support suggested I move the footage out of my event folder In pieces to see if there was a corrupt clip. First I removed the proxies and then the original media and then everything else (including all render data) until the only thing in the even folder was the event itself, but still FCP hung up on boot up.
    Another apple technical support person suggested I should have optimized my media (which I did not do) but after getting FCP to boot up I let it optimize all my media overnight and this has not had any significant effect.
    My console displays lots of error messages end with "Too many SQL Variables"
    Another error message I am getting in console is: 
    Class CMIOGraphService is implemented in both /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO and /Applications/Final Cut Pro.app/Contents/Frameworks/CoreMediaLion/CoreMediaIO.framework/Versions/Curren t/CoreMediaIO. One of the two will be used. Which one is undefined.
    When I hide the event but keep the projects in their proper place FCP boots up quickly and my projects are all there but none of the footage appears since it is all within my event.
    One thing I am reluctant to try but may end up doing if I cannot find the correct answer from this internet community is Export and XML and use Xto7 to try to open it up in FCP7 and finish the project there. This feels like something that is going to cause me problems down the road, but I'm unsure.
    As is almost always the case, I'm under an impossibly tight deadline so any advice would be much appreciated.
    Thanks!
    Brody

    Quite the same problem here: FCP X (10.0.9) crashed while quitting, now it's always hanging up (opening logo freezes while displaying "loading .... event"). The Console says: "SQLite error code:1, 'too many SQL variables'".
    The difference maybe is that my event isn't that big. 350 GB, including the original and transcoded media. The fcpevent file itself is about 340 MB. Unfortunately (my fault!) I didn't backup any of the .fcpevent files.
    Is there any possibility to repair the .fcpevent file? I tested the repair tool by digital rebellion, but still no success. Are there any other ideas?
    Thanks!
    Ronja

  • How to place event callback components and "main-VI" components in the same Front Panel?

    What I'm trying to accomplish:
    Place a .NET component, which generates events, and other standard LabVIEW components in the same Front Panel. The standard LabVIEW components should be updated when events are being generated in the .NET component.
    How I tried to solve it:
    Problem:
    The event callback code must reside in a separate event callback VI. In order to "pass the event up" to the main VI I tried to use a global variable. The interrupt does occur:
    but I was hoping that the string indicator would be updated when the event occurred, but it wasn't.
    Questions:
    What's the best way to solve what I try to accomplish? If I want to solve the problem on the picture above, how would I do it (it may not be the best solution, but I'm still curious what's wrong)? Please feel free to be over-explicit when replying as I am novice LabVIEW programmer. Thanks in advance for any help.

    There are two bundle functions for creating clusters. The function simply called Bundle operates almost exactly like the Build Array function I showed. The type of the output cluster depends on whatever you wire in as inputs. You don't have to supply a specific type parameter.
    The function called Bundle by Name takes in a specific type of cluster in the top input and allows you to fill in the values of that specific type of cluster. To create the specific type of cluster you want, you need to create a cluster of string references. Here's how to do that:
    Go to the Front panel and drop down an empty cluster shell.
    Go to the Refnum palette and drop down a Generic Control Refnum. Now here's a cool trick to turn that generic refnum into a string-specific refnum (a so-called strictly-typed refnum). Grab a string from the controls palette and drag it into the Generic Control Refnum. Once you drop it, you'll see the refnum change its icon to display a string picture.
    Make copies of this string refnum (as many as you need) and add it to the cluster shell.
    Now, if you're making specific types of clusters to work with, now is the absolute best time to learn about typedefs if you haven't already. It will save you hours and hours (if not days) of development time in the future. Trust me!
    Jarrod S.
    National Instruments

  • How to access new data in User Message Event Callback?

    I am using the Simple LabVIEW OI as the model for my TestStand user interface.
    The sequence sends a User Message to the OI to request the string array of tests to run.
    But I am having great difficulty making this string array data available to the event callback VI.
    I do not want to use a global variable and so my unsuccessful method so far has been as follows:
    1. Use a Refnum to the Array and pass it into the Config Event Callbacks VI via the cluster 
    2. The "Selected Tests" in the input cluster in the Config Event Callbacks VI is a generic Control Refnum
    3. This Selected Tests (at the bottom) is then bundled and passed into the User Parameter
    4. But how do I convert the Selected Tests Control refnum back into the original string array in the actual callback?
    Also if there is anyone that can suggest a better way of doing this then please let me know.
    The bottom line is - how to get the latest data into the event callback function when it is called?
    Many thanks,
    Ronnie
    TestStand 4.2.1, LabVIEW 2009, LabWindows/CVI 2009
    Solved!
    Go to Solution.

    Hi Ray,
    The 'Selected Tests' array refnum is #4 in the cluster order and matches all the way through - so I think that's OK.
    In the final diagram above, I can get the Selected Tests cluster from the 'User Parameter', but it is still in the form of a refnum.
    My problem is a lack of understanding in how to convert this 'Selected Tests' refnum back to the original data type (a string array).
    Basically I want to get the string array from the 'Selected Tests' refnum.
    As you can see from above I tried to use a property node. I've also tried to 'cast' the refnum to a 'more specific class' by choosing 'Array' but it's still ends up as a refnum.
    I hope you see what I mean?
    Thanks,
    Ronnie
    TestStand 4.2.1, LabVIEW 2009, LabWindows/CVI 2009

  • Non-blocking execution with Pro*C/C++

    Hi readers,
    Is there any mechanism available through which Non-blocking execution with Pro*C/C++?
    I observe that Pro*C queries are hanged when the DB server (hardware) is down.
    I understand that OCI provides non-blocking mechanisms. Pro*C doesn't use this OCI functionality?
    Regards,
    RajaGopal Maddi

    You can use TAF to handle your db down scenario.
    http://www.oracle.com/technetwork/database/app-failover-oracle-database-11g-173323.pdf

  • Active x and event callback in Labview

    I have an active x written by Aanderaa Instruments (makes
    weather and hydrology sensors), it contain various methods and events to get
    the next line of records from a sensory scanning unit. The connection is
    through the COM1, so far i have wired it up only using the methods to get next
    record level, but then I have found that sometimes it does not get the complete
    record from the COM port. So to solve that I have to use an event in the active
    x to check for new record available. So what I want to do is send the event
    (when complete record available) to VI that uses the get next record method to
    pick up the data from the COM1 port and then send the data back to the main VI
    for processing, plotting and writing.
    My problem is that when I connect the output from the GetNextRecord method to a
    indicator that I then wire on the connector pane to be an output from this
    VI  get an error that there is a wire function conflict. I have tried to
    explain a bit better in the attached pdf file with diagrams.
    The reason why I want to export the data back in the main VI is because it runs
    continuously collecting data every 2 min and I plot them on a graph and write
    them to a file so it will no work to have all that done in the event callback
    VI that will only run ever 2 min, then it will reset the graph the whole time
    and I want continuous data plotting for 10 days of historic data records. I
    also have a few other sensors that come in through a connector board that are
    written o the same file.
    hope somebody can give me some hints
    Attachments:
    labview question.pdf ‏721 KB

    Duplicate post, click here for the original: http://forums.ni.com/ni/board/message?board.id=170&message.id=135639#M135639
    LabVIEW Champion . Do more with less code and in less time .

  • Synchronization of sequence execution with UIMessage handling

    We are using TestStand 4.0 with SequentialModel and custom Operator Interface.
    Operator Interface provides UIMsg_UserMessageBase handler for displaying log messages.
    When posting (asynchronous) significant number of messages from within test module, TestStand engine blocks sequence execution until handling all incoming messages.
    For example, test module perform
    "PostUIMessageEx(UIMsg_UserMessageBase, 0, "Message", 0, VARIANT_FALSE);" call 1000 times.
    After test module code is completed execution, execution of next test is blocked for tens seconds until all posted messages are being displayed by Operator Interface.
    As a result total time of sequence execution increased dramatically.
    How this issue can be solved?
    Thanks,
    Misha

    Hi Misha,
    If you post asynchronous UI messages faster than your OI is handling
    them, the messages are stored in a queue that is first-in, first-out
    (FIFO).  An execution ends when the EndExecution UI Message is handled.
    Because you are posting UI Messages asynchronously, the EndExecution UI
    Message is being stored in the queue. This is why you experience this
    behavior.
    I have two suggestions for you:
    1. Use synchronous messages. 
    This will prevent the queue from growing.  The speed at which your
    messages are handled by the operator interface (OI) will be an effect
    of the OI's efficiency. 
    You can learn more about asynchronous vs. synchronous messages in the TestStand help for the PostUIMessageEx:
    http://zone.ni.com/reference/en-XX/help/370052G-01/tsapiref/reftopics/thread_postuimessageex_m/
    This is the same Help documentation that came with the TestStand software. 
    2. Post fewer messages
    To quote the help file mentioned above in reference to the synchronous
    parameter, "If you pass False and post messages faster than the user
    interface processes messages, the number of messages in the queue the
    user interface must handle grows unbounded and floods the user
    interface with messages, which causes the user interface to become
    unresponsive."
    Regards,
    Mark E.
    Applications Engineer
    National Instruments 
    Mark E.
    National Instruments
    Schedule a Free 1-Hour online LabVIEW Tutorial with an NI Applications Engineer

Maybe you are looking for

  • Error row definition - unable to find the source mapping

    Thanks for looking. I created a custom integrator, that uses a PL/SQL API interface to insert into custom tables. The importer program is also a PL/SQL API. In the spreadsheet, I click on Oracle->Upload and select 'Submit import automatically'.. I ge

  • Calling Beans from JSP page

    hi, I tried to my best to call java beans from JSP page but it generate error that "unable to load class....", please help me that in which directory jsp file and bean *.class file reside, currently my setting are as follows. Note: I am using tomcat

  • Currency Code Value Set

    Can anyone point me to a seeded currency code value set (e.g. GBP, USD, etc) or full description of currencies (e.g. GB Pounds, US Dollars) which can be used to provide a LOV for a field in a Special Information Type in Oracle HRMS (11.5.10.2+ on Lin

  • Reset question as "new" upon return to slide?

    I want to treat questions in my lesson as challenge/teasers, not quiz questions that lock up after learner has answered them.  Is there a way to have questions reset to their "unanswered" state when the learner returns to them during the lesson -- i.

  • Flex charts license watermark

    Hi all, my Flex Builder was originally Flex 2, for which I had a separate license for the charts option. I upgraded to FB3 which only shows one license now ("professional edition - upgrade"). Recently I had to reinstall FB3 - no problem with that. Ho