What happens if I set ExcMax equal to the update rate?
- Last UpdatedMay 22, 2025
- 3 minute read
Setting ExcMax equal to the update rate is almost always a bad idea because it introduces the possibility that the interface will send an exception value without the OPC server having updated at all. The precise timing of events moving from the OPC server to the interface is important in this case, and the interface's resulting behavior depends not just on the OPC server but also on the network.
Figure 2. Timing errors that affect the interface's behavior when ExcMax is equal to the update rate

Figure 2 illustrates these timing issues. Specifically, it represents the case where two successive updates on the OPC server yield different values, so both are sent to the interface. There are two important cases to consider:
-
The interface is configured to use the timestamp sent by the OPC server (/TS=Y).
First notice that even if the user configures the update rate to some particular value, tupdate, the OPC server might not update at exactly that interval. For example, the OPC server might wait for tupdate to elapse, then poll the data source for a value, then reset the update timer, in which case the true time between updates is tupdate plus the time required to poll for a new value.
In general, the difference between timestamps on successive values that the OPC server sends is tupdate + δ, where δ depends on the OPC server, the data source, and the network connecting the two machines. If δ > 0, then setting ExcMax equal to the update interval would cause the interface to send an exception value after every update, even if the update that immediately follows yields a different value. In other words, this configuration produces a step plot even if the underlying value on the data source is not stepped. The exception values that the interface reports in this case are wrong.
-
The interface is configured to apply its own timestamps as it receives values from the OPC server (/TS=N).
This case is similar to (1), but it is slightly more complicated because there is an additional timing error introduced by the network connecting the OPC server and the interface. This additional error is labeled ε in Figure 2. As shown in the diagram, the difference between the arrival times of successive values at the interface is tupdate + δ1 + ε2 - ε1, where ε1 and ε2 depend on the network between the OPC server and the interface, and δ1 depends on the factors described above. If the quantity δ1 + ε2 - ε1 is positive, then the same problems described in (1) would still occur. Because the difference ε2 - ε1 can be negative, however, the false exception values might be sent only intermittently.
As a general rule, it is much safer to set ExcMax significantly larger than the update interval. This ensures that the OPC server actually measures the value multiple times and verifies that it does not change.