Hakan -
Are you issuing two DLL calls in TestStand (one for the asynchronous
state machine, the other for synchronous communication callbacks)?
I am unsure how you are using the asynctimer.fp for the
statemachine. I would assume you are using NewAsyncTimer( ) to
create a new timer ID. What function are you then passing the
timer to?
You mention multithreading as well. When using just CVI, are you
creating a thread pool, and using one thread to run the state machine,
another to do the synchrounous serial communication?
Characteristically, TestStand threading handles multiple UUTs
simulatenously. However, there may still be a way to use the
batch or parallel process model to accomplish you application
goal. If you could give a description of how you are attempting
to handle the threads, as well as the dependencies between the state
machine and the communication threads, that would help greatly.
My only suggestion at this point would be to make a single function
call to your CVI DLL in TestStand. Since the timer and
communication callbacks work in CVI, you could have the CVI DLL do the
thread handling and device communication. You can then return the
data to TestStand, and have steps to analyze and present the data.
Andrew W. || Applications Engineer