Introduction

When optimizing performance of the BMENUA0100, consider the entire system. Pay particular attention to the overall communication efficiency and workload within the network architecture that includes the BMENUA0100 modules. It is in this context that OPC UA client performance optimizations also impact the OPC UA communication effectiveness.

Several settings, at different levels of the architecture, can enhance system performance or make your system more stable and robust during each of the operating mode phases (connections, browse, subscription, monitoring, and so forth).

NOTE:
  • Schneider Electric recommends adding items in packets of a maximum size of 2000 items. The configured sampling interval is relevant only if greater than or equal to the MAST PAC scan time.

  • Schneider Electric recommends setting the CallTimeout to a value greater than or equal to 10 seconds in the OPC UA client.

  • The General.SecureChannelLifetime setting for communication to an OPC UA client is set by default to 3,600,000 ms (1 hour). Schneider Electric recommends using this default setting, as a very low value - for example, 30 seconds - can negatively impact performance.

  • The performance of the system depends strongly on the configuration (for example, the number of connected clients, the number of variables managed, and so forth).

  • As an example, with 2000 monitored items, the refresh rate can be accomplished within 20ms only if the values of a maximum of 500 items change between two consecutive publishing iterations.

Performance Example

An OPC UA client can monitor up to 20 000 items in Standard cybersecurity mode.

Example based on:

  • BMEP584040 with a MAST task cycle time at 20ms (CPU load less than 80%).

  • BMENUA0100 in rotary switch position Standard (i.e. no secure communication, no IPSec channel).

  • OPC UA client (UAExpert) initiates communication with Message Security mode set to None and monitors 20,000 items by reference to variables based on array of ‘INT’ type from a BMENUA0100 OPC UA server. This server is configured with Publishing Interval to 1 second, Sampling Interval to 1 second, session Timeout to 30 seconds.

  • No other communication than OPC UA.

How to Adjust the Performance

Exchange data structure

The Data application memory of the CPU is organized depending on the Data application definition in Control Expert. The more the variable declaration is structured, the more the BMENUA0100 Server generates optimized requests for access to the variables and to the Data Dictionary in Run time.

Thus, for the variables that are accessed by the OPC UA Client, it is recommended to:

  • Use Arrays or Data structure whenever possible.

  • Enable the option Only HMI variable in PLC embedded data of the Project Settings and set only these variables with the attribute HMI to reduce the size of the Data Dictionary.

  • In the CPU Safety process, to reduce the data dictionary size, de-select the option Usage of Process Namespace (in Project Settings > General > PLC embedded data > Data dictionary.

CPU communication capabilities

The capability of the communication system depends on the M580 CPU model and some configuration setting. The CPU model determines:

  • The system-wide CPU processing performance capabilities.

  • The number of requests per cycle that can be processed, even if configurable by System word %SW90.

  • The maximum number of channels available to each BMENUA0100 for establishing connections to the M580 CPU.

In addition, the less the MAST cycle time, the greater the number of communication requests that can be processed. Thus, the performance level is directly dependent to the MAST cycle time.

OPC UA client, configuration and usage

The number of monitored variables impacts the performance. The Sampling Rates and Publishing intervals configured for each OPC UA client determine the number of requests needed to animate the variables. Keep in mind that, when several OPC UA clients are connected to the same BMENUA0100 OPC UA server, when the Sampling Rates and Publishing intervals are different in each OPC UA client sides, this configuration generates more requests.

All timeout values configurable from OPC UA client (Browse, Connect, Publish, Session, Watchdog…) need to be tuned to optimize and stabilize - to the extent possible - your overall system. As a side effect, these timeouts could impact the system performance.

Depending on the Message Security mode (None, Sign, Sign&Encrypt), the algorithm to treat the signature and the encryption takes additional time.

CPU to CPU and Control Expert to CPU communications

Each IPSec tunnel used to secure the communications other than OPC UA or HTTPS slows down the traffic, especially when the setting Confidentiality is enabled, thereby generating encryption and decryption.

How to Monitor the Performance

There are several ways to monitor performance.

Using Control Expert

Using Control Expert in connected mode, you can access the effective MAST cycle time and the M580 CPU load for the system, for each task and for the total of all tasks by reading the system words %SW110 to %SW116. In addition, the M580 CPU DDDT and the BMENUA0100 DDT can provide different diagnostic information linked to the system performance of the PAC, such as:

  • The Service Level of the OPC UA server.

  • The number of connected OPC UA clients.

  • The data dictionary status, acquisition time, preload duration.

  • The Ethernet service status.

  • The network health.

  • The control port and the backplane port status.

  • The number of Ethernet packets per second.

  • The number of Ethernet packets that contain detected errors.

  • The percentage of BMENUA0100 CPU load and used memory.

  • The number of IPSec channels opened.

Using BMENUA0100 Web site

The Home page and the Diagnostic page of the BMENUA0100 Web site provide interesting information related to the performance of OPC UA servers. Some information comes from the BMENUA0100 DDT, and other information is given by the OPC UA server itself:

  • Number of monitored items.

  • Number of monitored specific items.

  • The different sampling intervals currently in execution.

  • The number of generated requests for the current animations.

  • Detected overruns.

  • Number of connected clients.

Using OPC UA client

The OPC UA client can monitor directly some specific items under the OPC UA server, but also the ServiceLevel variable or some BMENUA0100 DDT subfields on demand through application variables.

Other services for diagnostic

In a more technical approach, the SNMP agent and the Syslog server of the BMENUA0100 module can help to get other diagnostic information linked to the performance of the OPC UA servers.