Tom,
The short answer is that whichever program writes last will have it's data output. In reality, this gets modified by such parameters as a VI priority level and the pause parameter for the network module. Within an FP-20xx module, there are two programs running that consume processor resources, the LabVIEW RT engine and the IA Control Environment (which publishes FieldPoint data on the network). Because these two programs are sharing processor time, in a balanced case, then whichever program writes to the FieldPoint channel last, will have it's data be output. However, by boosting the priority level of the VI or increasing the pause parameter (which puts the control environment to sleep) it is possible to unbalance the equation. Creating a VI with a t
ime-critical priority that has little or no idle time can prevent the control environment from running in which case writes from Lookout may not be received by the network module and written to the I/O module (you will receive a disconnect error in this case).
If you are concerned about possible contention between programs, a fairly easy solution that provides for easy methods to switch between a sort of manual control (e.g. from Lookout or other client software) and an automatic control (FP-20xx program controls all the I/O) is to use the DataPublish.vi to create writeable data items. These data items would then be read by the program running in the FP-20xx, and if they unit was running in manual mode, would be written to the appropriate channels. If the unit was in automatic mode, it would ignore the external data and calculate the outputs itself.
Regards,
Aaron
LabVIEW Champion, CLA, CPI