First of all, let me describe a little bit about how the FieldPoint ethernet communications work. This information can be found in more detail in various KnowledgeBase articles.
When the FieldPoint Server (including the FieldPoint OPC Server) is launched or a DataSocket connection is made to a FieldPoint Ethernet module, the FieldPoint ethernet module uses a subscription-based message on-change communcation protocol. The first subscriptions between the module (server) and client (PC or RT Controller) will contain timestamp information and the current value of any/all data points that are subscribed to. After that, the FieldPoint ethernet module will continuously poll any channels (on its attached IO modules) that have active subscriptions. As it polls each channel, it compares the current value to the last value for the channel and places it is a queue for transmitting if it has changed. At the end of the cycle, it transmits all changes to the client machine with timestamp data included. For boolean type data, any change is considered enough to cause a transmission. For analog data, you can configure a percent guardband on a channel per channel basis. Only changes greater than the guardband setting are transmitted.
On the client machine (PC), the FieldPoint Server acts as a client to the FieldPoint ethernet module and as a server to your application (LW/CVI, LabVIEW, or OPC Server). When your program performs a read into the server (in your case at 50 ms intervals), you are actually reading the data that is cached locally on not sending a read request directly to the module. Thus, your program may be reading the server at 50 ms intervals, but th ethernet module may not be sending data at the same 50 ms intervals.
Remembering that data is sent on change only (which minimizes network traffic), the All Channel Update Rate of a module must be taken into account. A module such as the FP-TC-120 has an All Channel Update rate of 1.13 seconds, so the data for an FP-TC-120 channel will never have the timestamp update in fewer than 1.13 second intervals. However, the FP-AI-100 has an All Channel Update Rate of 2.8 ms, which is pretty quick compared to the 50 ms read rate. This brings us to the question of how fast your input signal is changing and what guardband that you have configured for the channel. A 1% guardband on the +/- 36 Volt range for a FP-AI-100 channel would require the reading to change by 0.36 Volts before it was transmitted. A slowly varying signal would thus be seen by your program as having the FieldPoint timestamp only change over longer periods of time even though your system timestamp is changing at 50 ms intervals.
Finally, the number of clients, subscriptions, channel types and signal changes effect how quickly a FieldPoint Ethernet module is able to poll the desired channels and transmit the data. Generally speaking, to improve performance, you should delete any unused channels out of the FieldPoint configuration file (ethernet only, they do not have an effect on serial performance). Channels that need to be read at a lesser rate can have higher guardbands applied.
Regards,
Aaron
LabVIEW Champion, CLA, CPI