Difference between revisions of "QuickOPC-UA Timeout Settings"

From OPC Labs Knowledge Base
Jump to navigation Jump to search
Line 63: Line 63:
 
= SessionParameters.EndpointSelectionTimeout =
 
= SessionParameters.EndpointSelectionTimeout =
 
A timeout for endpoint selection (in milliseconds).
 
A timeout for endpoint selection (in milliseconds).
 +
 +
This is actually an operation timeout that is used when selecting the server endpoint (which happens at the beginning of the connection process, before the normal session is open). The default is intentionally shorter than the normal operation timeout, so that the inability to select the endpoint causes the connection to fail in a reasonable time.
  
 
= SessionParameters.OperationTimeout =
 
= SessionParameters.OperationTimeout =

Revision as of 12:33, 29 July 2021

Overview

Parameter[1] Default value[1] Description
in UAClientSessionParameters
CloseTimeout 10 000 A timeout for closing the session (in milliseconds).
EndpointSelectionTimeout 30 000 A timeout for endpoint selection (in milliseconds).
OperationTimeout[2] 120 000 Timeout used when sending requests (in milliseconds).
SessionConnectTimeout 60 000 A session connect timeout (in milliseconds).
SessionTimeout 60 000 A session timeout (in milliseconds).
SessionTimeoutDebug 600 000 A session timeout used when a debugger is attached (in milliseconds).
in UADiscoveryParameters
DiscoveryTimeout 15 000 A maximum time a server discovery can take (in milliseconds).
in SDK configuration
(none)[2]

Documentation on how to modify the parameters that are set in the SDK configuration: User's Guide: OPC UA Application Configuration

Note that there are also several timing-related parameters that are not truly timeouts, for example:

  • UAClientSessionParameters.KeepAliveInterval
  • UAClientSessionParameters.KeepAliveIntervalDebug
  • UAClientSessionParameters.RetrialDelay
  • UASmartSessionParameters.HoldPeriod

SessionParameters.CloseTimeout

A timeout for closing the session (in milliseconds).

This parameter is not interpreted by the component; it is simply passed down to the OPC UA Stack for processing.

If the session cannot be closed in a timely manner, it is consider closed anyway, and the component will not use the same session again. The timeout prevents the component from waiting too long or indefinitely for the confirmation. This means that any new requests to the same endpoint will open a new session, as with the properly closed sessions.

SessionParameters.EndpointSelectionTimeout

A timeout for endpoint selection (in milliseconds).

This is actually an operation timeout that is used when selecting the server endpoint (which happens at the beginning of the connection process, before the normal session is open). The default is intentionally shorter than the normal operation timeout, so that the inability to select the endpoint causes the connection to fail in a reasonable time.

SessionParameters.OperationTimeout

Timeout used when sending requests (in milliseconds).

This parameter is not interpreted by the component; it is simply passed down to the OPC UA Stack for processing.

SessionParameters.SessionConnectTimeout

A session connect timeout (in milliseconds).

SessionParameters.SessionTimeout

A session timeout (in milliseconds).

This parameter is not interpreted by the component; it is simply passed down to the OPC UA Stack for processing.

CreateSession Service Parameters, RequestedSessionTimeout: "Duration. Requested maximum number of milliseconds that a Session should remain open without activity. If the Client fails to issue a Service request within this interval, then the Server shall automatically terminate the Client Session."

SessionParameters.SessionTimeoutDebug

A session timeout used when a debugger is attached (in milliseconds).

DiscoveryParameters.DiscoveryTimeout

A maximum time a server discovery can take (in milliseconds).

  1. 1.0 1.1 The parameter names and default values were verified with QuickOPC 2020.2.
  2. 2.0 2.1 Before QuickOPC 2021.3, the OperationTimeout was configurable in the SDK configuration.