FieldPoint Family

cancel
Showing results for 
Search instead for 
Did you mean: 

If LabVIEW RT embedded code in FieldPoint 2000 module and Lookout both write to same FieldPoint channel, who wins?

Does this make sense? If the embedded code turns off a valve, but Lookout, which can access the output directly, wants to turn it on, which has priority? Is the only way to ensure this condition doesn't happen is to use DataSockets in the embedded code to communicate with Lookout. I understand using DataSockets with Lookout results in lost functionality (timestamps and quality) so this approach is not appealing.

Thanks!

Thomas G. Duffey
Engineering and Research Consultants, Inc.
Air Force Research Laboratory
3 Antares Rd.
Edwards AFB, CA 93524
661.275.6172 FAX 661.275.5073
mailto:thomas.duffey@edwards.af.mil
http://neverworld.net
0 Kudos
Message 1 of 8
(6,018 Views)
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
Message 2 of 8
(6,018 Views)
Thank you! Sounds like a good solution. One of the data items could be a manual/auto switch. I assume DataPublish.vi uses DataSocket vis underneath? This must be a new top level vi in LV 6. I'm still using LV 5.1 and I'm evaluating 6 RT and FP-20xx as an upgrade.
0 Kudos
Message 3 of 8
(6,018 Views)
The DataPublish.vi is specific to the FieldPoint FP-20xx series of modules and currently only runs embedded on a FP-20xx. It is not related to the DataSocket VI's.

Regards,
Aaron
LabVIEW Champion, CLA, CPI
0 Kudos
Message 4 of 8
(6,018 Views)
Any idea what protocol I would use to communicate with the published data then? FieldPoint? I need to be able to read/write from Lookout.

Thanks,
Tom
0 Kudos
Message 5 of 8
(6,018 Views)
Tom,

You can use the built-in networking of Lookout to talk directly to the FP-20xx. You can register the IP address of the FP-20xx and it will show up as if it was another computer running Lookout. The data points created using the DataPublish.vi will show up under the LV category and the FieldPoint I/O channels will show up under FieldPoint.

The FP-20xx uses the same network communication protocol as Lookout.


Regards,
Aaron
LabVIEW Champion, CLA, CPI
0 Kudos
Message 7 of 8
(6,018 Views)
Excellent! Thanks.
0 Kudos
Message 8 of 8
(6,018 Views)
Any idea what protocol I would use to communicate with the published data then? FieldPoint? I need to be able to read/write from Lookout.

Thanks,
Tom
0 Kudos
Message 6 of 8
(6,018 Views)