PhilS
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by PhilS
-
-
Hi Guys,
there is one thing that bothers me. I am new to Labview Programming, but I have some experience with c and python especially in hardware programming with cameras and positioners.
Actually I have to acquire images from a 2 cameras and a NidaqAcquisition Card at the same time with labview 2010. Everything is running and working parrallel. But I want to optimize it.
So now if these Hardware DLLs that are controlling the hardware are called all in the same UI Thread, don't they blocade each other? Actually it is slowing down the camera acquisition here a lot.
But if I am reading out one of the cameras in another software, while accessing the other Hardware as usual with Labview the framerate of the camera is much higher and the Hardware-Acquisition in Labview is
much smoother too! So if it works in two different software it should be possible with only one too.
So I think it might be useful to give each DLL-Call the posibility to be called in different threads. And if they are not threadsafe, you can use semaphores to make them be called in the right order and to avoid that
not-threadsafe-functions are not called at the same time?
Or am I wrong. As I've said, I am new in LabView.
ps: Sorry for my weird language, I am not used to discuss in english!
Dll Thread calling
in Calling External Code
Posted
Thanks for the anwer.
I never thinked about Thread-Local-Storage. Seems to be usefull when you are writing a C-Dll!
I took another look what Labview-Help says about the "Call Library Function Dialog Box" when choosing the Thread to "Run in any thread":
"Specifies that the Call Library Function Node execution continues on the current thread executing the VI"
So I made shure that every VI, calling the DLL are running in the same Thread (I choosed "other Thread 1").
It is working, and the DLL-Calls arn't blocading the GUI any more.