Advanced communications management

I hope someone can share some experience regarding the option "Advanced communications management" in System Platform.

As I understand it, this option is only needed if we want to use "ActiveOnDemand" scan mode in DI objects. Or does it do anything else?

Why is it unchecked by default, can it create any performance issues if it is checked and "ActiveOnDemand" isn't in use?

Parents
  • Hi, Aveva has described this in some articles, but to summarize.

    Advanced Communication Management can help to manage CPU and network load for nodes hosting DAServers and DI Objects when DI Object attributes are currently being subscribed, but whose value is not currently shown by a client.

    You can utilize the DI Object Scan Mode setting of ActiveOnDemand to allow an InTouch client to scan for updated values from DI Object attributes. Then, while the window is minimized or hidden, you can suspend the scanning without deleting the subscription. This can help to eliminate the time required to remove and add subscriptions, making the InTouch® windows load faster, while keeping the load on the DI Object and its data source as low as possible when switching or minimizing/restoring windows.

    To ensure that attribute data saved to the historian is always current and continuous, Application Server registers a reference to the attribute. By registering a reference to the attribute, it prevents Message Exchange from suspending historical updates during the period when the client application has minimized the window containing the object. Historical data continues to be saved to the Historian even during the period when the object is in an Advanced Communication Management Suspended state.

    The thing is that the above is not generally needed for a System Platform setup, and is disabled by default, only exception is in a specific upgrade scenario where a galaxy is upgraded to the version where this feature were introduced, (I believe it was 2014), where it was forcefully turned on for some reason.

    The issue with this setting is that it can cause a lot of stage behavior if you are not careful, its up to the Galaxy to deem if the value should be updated or not and this has caused some problems in various versions of Application Server,
    also, if you are using indirect bindings in your logic you could end up binding to a attribute that has been inactivated by the system (since it does not count it as in use) thus you end up in values not updating or logic not executing as expected.
    I have seen Attributes being stuck in Initializing, not working until you open them in Object viewer, (Schrödinger's cat behavior Smiley cat ) 

    So as best practice I would state that this is something that you ensure is turned off and only utilized if you are in need of the load reduction on the system and are fully aware of the effects and needed configuration to ensure full communication to your data sources.

    https://softwaresupportsp.aveva.com/en-US/knowledge/details/000022611?lang=en_US

    If you are an InTouch Workstation developer this can compare to the 'Advise server: All Items/ Only Active Items' - feature on your Access name.

    I hope it clarifies things for you.

    Richard

Reply
  • Hi, Aveva has described this in some articles, but to summarize.

    Advanced Communication Management can help to manage CPU and network load for nodes hosting DAServers and DI Objects when DI Object attributes are currently being subscribed, but whose value is not currently shown by a client.

    You can utilize the DI Object Scan Mode setting of ActiveOnDemand to allow an InTouch client to scan for updated values from DI Object attributes. Then, while the window is minimized or hidden, you can suspend the scanning without deleting the subscription. This can help to eliminate the time required to remove and add subscriptions, making the InTouch® windows load faster, while keeping the load on the DI Object and its data source as low as possible when switching or minimizing/restoring windows.

    To ensure that attribute data saved to the historian is always current and continuous, Application Server registers a reference to the attribute. By registering a reference to the attribute, it prevents Message Exchange from suspending historical updates during the period when the client application has minimized the window containing the object. Historical data continues to be saved to the Historian even during the period when the object is in an Advanced Communication Management Suspended state.

    The thing is that the above is not generally needed for a System Platform setup, and is disabled by default, only exception is in a specific upgrade scenario where a galaxy is upgraded to the version where this feature were introduced, (I believe it was 2014), where it was forcefully turned on for some reason.

    The issue with this setting is that it can cause a lot of stage behavior if you are not careful, its up to the Galaxy to deem if the value should be updated or not and this has caused some problems in various versions of Application Server,
    also, if you are using indirect bindings in your logic you could end up binding to a attribute that has been inactivated by the system (since it does not count it as in use) thus you end up in values not updating or logic not executing as expected.
    I have seen Attributes being stuck in Initializing, not working until you open them in Object viewer, (Schrödinger's cat behavior Smiley cat ) 

    So as best practice I would state that this is something that you ensure is turned off and only utilized if you are in need of the load reduction on the system and are fully aware of the effects and needed configuration to ensure full communication to your data sources.

    https://softwaresupportsp.aveva.com/en-US/knowledge/details/000022611?lang=en_US

    If you are an InTouch Workstation developer this can compare to the 'Advise server: All Items/ Only Active Items' - feature on your Access name.

    I hope it clarifies things for you.

    Richard

Children
  • Thanks for your response Richard. 

    As you say there is some information on the topic in articles and manuals. But it isn't very informative on why it's disabled out of the box. When creating a new scan group / topic in a DI object the scan mode is defaulted to "ActiveOnDemand". So these "defaults" don't correspond in my world. And that's why I started thinking that enabling ACM could lead to some sort of performance hit even if all of the scan groups / topic's in a application is in scan mode "Active" or "Active All".

    I agree with you that this feature isn't needed for a general System Platform setup. But from a PLC perspective it could make a difference on the communication load and how powerful the PLC has to be to handle the load. 

    Given that ACM doesn't create a performance hit by it self or creates any unexpected behavior, I think it would make more sense to leave it on and handle the behavior in the DI objects scan mode setting.

    Again, thanks for you clarifications.