I'm current evaluating PI ACE. I have created a C# calculation in ACE that is triggered via a PI tag event. I have added logging to the calculation for the purpose of debugging and performance statistics.
I have a random interface set up, which adds a sine wave-based value into PI every 1 second. My calculation is triggered off that value.
From my performance statistics, I can see that the ACE calculation fires and keeps up with the input data rate in general, but I do notice that there is a varying lag between the event date/time and the time my calculation starts - sometimes up to 5 seconds. Therefore there is some delay between the value arriving in the PI snapshot and my calculation actually taking place.
When I do experience a large lag (e.g. 5 seconds), ACE does eventually "catch up", so I never see a queue build up.
I have also tried adding in a 2nd calculation, which triggers off the output of the first. That also has a similar length lag. Therefore, the output of the 2nd calculation could be saved up to 10 seconds after the original value arriving.
I was wondering if this is normal behaviour? I was expecting the calculations to be fired pretty much at the same time as the snapshot event. My system is not doing much - just the random data value and the triggered calculation.
Is there anything I can adjust to reduce the latency?