07-23-2008 06:56 AM
Solved! Go to Solution.
07-23-2008 07:00 AM
07-23-2008 07:12 AM
Hi mathan,
if you can´t post it, can you explain what you make in your vi?
Mike
07-23-2008 07:12 AM - edited 07-23-2008 07:13 AM
Dear Jeff,
Thanks for the response. But the subvi communicates with a USB device. I searched the forum too, but didn't got any ideas. I will post the main vi. Subvi is little bit confidential. sorry for that.
There are 2 USB devices connected to the system. The subvi1 will disable the device1. After a 5 seconds delay, the subvi2 will check the status of the device2.
The subvi1 runs normally disabling the device1. But subvi2 didn't run at all. when run independently, it works fine.
Hope will get some ideas.
Thanks,
Mathan
07-23-2008 07:14 AM - edited 07-23-2008 07:15 AM
Hi mathan,
in your picture, subvi1 is after the 5 sec delay and two before it. Could this be the problem or is it only a short example?
Mike
07-23-2008 07:18 AM
Can you delete all the confidential stuff, and recreate the problem with a simple sub vi?
If not, i think noone can help.
07-23-2008 07:20 AM
07-23-2008 07:30 AM
It is possibly something with references or resources or timing used by the subvi. These are often offenders when a subvi is working when run alone but not at the toplevel. That is if you open a resource in the subvi and dont close it, it can remain opened if the vi is a sub but can release it if the vi is not a subvi and the resources automatically deallocate. Timing is also an issue sometimes, a dll might run in its own thread and calling the same function too fast can cause concurency issues (dead locks, resource semaphores or race conditions). When it doesnt work do you get any error messages or something to clue us in on where the issue lies?
07-23-2008 07:42 AM
07-23-2008 07:51 AM
falkpl wrote:
if you open a resource in the subvi and dont close it, it can remain opened if the vi is a sub but can release it if the vi is not a subvi and the resources automatically deallocate. Timing is also an issue sometimes, a dll might run in its own thread and calling the same function too fast can cause concurency issues (dead locks, resource semaphores or race conditions).