08-12-2008 09:31 AM
08-12-2008 10:10 AM
08-12-2008 10:25 AM
08-12-2008 10:42 AM
Hi Jack,
Could you post a zip of a project that includes the XControl along with a demo VI?
We may be of greater assistance if we had code to poke at. XControls are simply too complicated to troubleshoot by playing 20 questions.
Trying to help,
Ben
08-12-2008 11:12 AM
08-12-2008 11:35 AM
"I frequent this board often, and I continually respect both of your answers across all areas of LabVIEW. "
Thank you Jack. If you do prowl this forum you may have noticed that I generally don't troubleshoot complex challenges durring the day. If nobody else solves this riddle before tomorw AM, please bump this thread before 8:00 Eastern US and I'll try to take a look while letting my coffee start to work.
Ben
08-12-2008 05:41 PM
I have narrowed down the problem to a simple quandary.
When the owning VI of an XControl instance is in edit mode, the XControl's event structure continually responds to events triggered. If two events are fired back-to-back, one iteration of the XControl's Facade while loop will handle the first event and the next iteration will handle the next event.
When the owning VI is in running mode, the XControl Facade will not respond to it's events until after the While loop in the XControl's Facade has received the "True" stop command in the Timeout case. In other words, if two events are fired back-to-back, the Facade VI will handle the first event, timeout, then handle the next event.
In my operation the edit mode Facade event handling is preferred. How can I get the Facade VI to respond to multiple events triggered by the user without the Facade needing to Timeout in between each event?
Thanks,
Jack
08-13-2008 08:05 AM
HI Jack,
I downloaded your code and tried it out. I have now run out of time for this AM but I am now familiar with your code.
Could you please try again to exaplin the issue so I can now focus on trying to help.
Sorry no quick answer from me today.
Ben
PS: If there is someone else who can advise, PLEASE do SO!
08-13-2008 09:04 AM
Thanks again, Ben. I have made some major changes streamlining the code that I can upload later today. It's probably much easier to read than the "beta" stuff I uploaded previously.
Assuming you are familiar with the operation of the XControl, let me explain the issue with new terms. The user has three controls that will change the set point (target point, requested point) of a closed-loop feedback animation. The animation will recenter the array of strings based upon the set point, in order to highlight the selected array item. The up-down buttons work fine, and clicking the list to recenter works fine. It's the slider I am having problems with.
In the feedback system, I want to be able to continually move the set point and have the animation dynamically try to achieve that set point. When the owning VI is in edit mode, the set point may be constantly changed via the slider since "Value Change" events fired back-to-back can be handled by subsequent adjacent iterations.
However, when the owning VI is running, when the user operates the slider thus triggering a "Value Change" event of the slider, the XControl forces itself to achieve the set point while queueing up any other Value Change events. Once the set point has been achieved, the XControl Facade times out, then re-enters itself to handle the queued Value Change events.
The result is a very smooth animation in edit mode, and a choppy, discontinuous motion in running mode.
Any ideas on how to get the XControl to respond to Value Change events back-to-back while the owning VI is running??
Thanks,
Jack
01-19-2009 09:40 PM
Hi there,
Did you manage to find a solution to this problem? I have a similar experience and would be very interested to know how to sort it out.
Cheers,
Steve