QuickOPC-UA Timeout Settings: Difference between revisions
Line 75: | Line 75: | ||
= SessionParameters.SessionConnectTimeout = | = SessionParameters.SessionConnectTimeout = | ||
A session connect timeout (in milliseconds). | A session connect timeout (in milliseconds). | ||
This parameter controls the total time given to the connection process (including endpoint discovery and selection, creating secure channel etc.). | |||
If the underlying connection process exceeds the given time, an error occurs and is returned to the caller. Even if this connection process later succeeds, its results will not be used. | |||
= SessionParameters.SessionTimeout = | = SessionParameters.SessionTimeout = |
Revision as of 12:49, 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 (for the OPC UA GetEndpoints service call, 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. It determines how long the stack waits for a response after sending a request.
This parameter controls the operation timeout for majority of OPC UA operations. Some operations (such as endpoint selection, or closing the session) may use a different value for their operation timeout, controlled by a different parameter.
SessionParameters.SessionConnectTimeout
A session connect timeout (in milliseconds).
This parameter controls the total time given to the connection process (including endpoint discovery and selection, creating secure channel etc.). If the underlying connection process exceeds the given time, an error occurs and is returned to the caller. Even if this connection process later succeeds, its results will not be used.
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).