06-09-2014 01:14 PM
Hello,
I ran into the same issue as discussed in the topic http://forums.ni.com/t5/LabVIEW/notifier-sent-but-never-received/m-p/2194534/highlight/true#M703315. However, this topic appears to be a fragment and does not reach a conclusion. I was debating whether I should just to that other post there or start a new one.
I created a functional global VI, Notifier FG - Command Complete.vi, to store a notifier that I want to use in different parts of my application. I was able to isolate the issue and created the attached Notifier test.vi. I obtain the notifier, then wait for the notification. In a separate thread I am sending the notifier after clicking the Send Notifier control. Similar to the observations by rotzeri in his post, I never receive the notification, and the Wait on Notification.vi keeps timing out displaying the message timed out. I tried both options Ignore previous =TRUE and Ignore previous=FALSE with the same outcome.
I am using LabVIEW 2011-64 bit on a Win7Pro PC.
Your insight is appreciated.
Best regards,
Peter
Solved! Go to Solution.
06-09-2014 01:32 PM - edited 06-09-2014 01:33 PM
I can't run it because of the missing CTL but it appears you gave the notifier a name when you obtained it but didn't reference the name on the other commands.
Edit: nevermind, the name doesn't seem to be doing anything in the code.
06-09-2014 01:39 PM - edited 06-09-2014 01:40 PM
If your wait is inside of your Action Engine, then you can never receive the notification since the AE itself is blocking your thread to send the notification. You need to bring the reference out of your AE when you create it and make it wait there.
06-09-2014 01:39 PM
Why do you want to make an FGV for a notifier? The FGV is stuck in the "Wait on Notification" step for 15 seconds.
06-09-2014 01:42 PM
@aputman wrote:
Why do you want to make an FGV for a notifier? The FGV is stuck in the "Wait on Notification" step for 15 seconds.
I do this all of the time. The key here is that I don't put the waiting for a notification inside of the Action Engine/Functional Global Variable. That should always be outside of the AE/FGV or else your non-reentrant VI (Action Engine) will block you from being able to send the notification in the first place.
This construct is a lot more useful for queues.
06-09-2014 02:39 PM
Thank you crossrulz and aputman for your immediate reply.
The reason I created an action engine for a notifier was to eliminate wire clutter. (I have multiple loops and multiple notifiers going on in my application.)
I now understand that I am blocking the action engine from executing by having the wait function inside the action engine. I have modified the Action Engine passing through the inputs to an external Wait on Notification function, and this version is working fine. Thank you for your help.
Peter