I programmed multiple DAQ's, one reading dital inputs and right after reading one is giving digital outputs and that several times in one VI. This is working perfect Then for getting two different frontpages I split that one VI in two VI's but I didnt't change anything further . Now only the first VI is working perfect and the second VI recognizes the inputs too late or giving the outputs too late or both. There seems to be a non constant time delay in detecting and outputting because the timing is always different. What can I do? How influences the setting of the VI configuration the timing behaviour?
If you changed your application to run in two separate VIs instead of a single one and did not add any synchronization mechanism, I would expect this to happen. Before you possibly had the digital input and digital output synchronized by the data flow of the error cluster.
If your board supported correlated DIO, then you could provide an external clock to synchronize the two tasks together. However, there might be a simpler solution. Why do you need to have your tasks in separate VIs in the first place? If you want to make your code cleaner, you could put the relevant input code and output code in separate subVIs that are called by a main VI.
If you must use separate VIs and they are running on the same PC, then you might want to look into using notifiers as a synchronization mechanism. Refer to the following knowledge base article: