I'm building a monitorring application for a client. The monitorring application can monitor up to 10 "Drawers" to be defined by the customer. I thought it would be convinient if the client could define the Drawers as "tasks" on NI-MAX. This way the can decide how to wire the drawers to the 3 available NI-9205's and also define the scaling themselves.
The speed is not very important but with the vi I've built I can only do ~1sec updates when running 10 "Drawers", I need about ~10Hz. I did find the reason for the slowness, the DAQmx state machine but failed to fix this. I have tried to start the tasks outside the loop but this gives me the 50130 error because the "Drawers" share the NI-9205 modules; it does work if each Drawers has its own module.
I hope anyone can give me some tips/hints how to change my application maintaining the customer to change the wiring/scaling of its "Drawers".
My first hunch is the good old mistake of forgetting that "one module can not be shared by several tasks", which might be what's causing you errors?
Tasks can share the same modules but just not at the same time. There are no errors but it is just too slow because the tasks need to be stopped and started in the loop.