Understanding InitCacheTimeout, Some Quantities Show #COM While Other Values Show Correctly.



Understanding how cache timeout works when it comes to #COM error. 

Product Line
Powerlogic Scada 7.x
Power Scada Expert 8.x

Meter Reading

In a PowerLogic SCADA system of multiple Circuit Monitor 4000s (CM4s), each time Runtime is started, it seems a few different CM4s show #COM for a number of quantities. As a general rule, Voltages, Currents, Demands and Powers are #COM. Power Factors and Energies show values. The devices are RUNNING in the kernel and do not show Communications Loss alarms during this time. Different meters exhibit the issue each time Runtime is shut down and restarted.

If a meter has this issue when Runtime starts up, it continues to have the issue until Runtime is shut down. If a meter does not have this issue in the popup when Runtime starts, it will not have the issue as long as Runtime is running. It is not intermittent. It is consistent from the time the meter is initialized at startup until shutdown.


NOTE: Please ensure that you backup all projects and citect.ini file before making any changes should you have to revert to old versions.

The CM3, CM4, and PM8 have a group of "scale" registers, which are applied to different categories of registers. Those scaled registers are considered static; therefore, they are read only once during the startup stage. The period of time the driver will try to populate initial cache values is controlled by the initCacheTimeout citect.ini parameter. This parameter can be set at the [PLOGIC] or [PM870] driver levels or all the way down to the Port or I/O Device level.


Controls how long the driver will spend attempting to populate the cache before bringing a device online. When a tag has been incorrectly configured, the device will come online after this period of time.

Parameter type: seconds
Default value: 60

If for any reason all attempts to read the scale register fail during the initCacheTimeout period, the driver will not try to read them anymore. This results in all tags that are using the scale registers labeled #COM on read (and also all other tags they are blocked with).

To resolve this issue, there are two recommended actions:

(1) Increase the value of the initCacheTimeout parameter. Start at 300 seconds (5 minutes) and work down to a lower number while values continue to come in at startup. Each time this parameter is adjusted,
Runtime must be shut down and started back up for the change to take effect.

(2) Review KB Article FA211716 to understand Port Number assignments and potentially optimize PowerLogic SCADA's communication to the devices exhibiting the #COM issue described in this article.