QueryServers is used to find Server applications that meet the specified filters.

Any Client is able to call this Method, however, the set of results returned may be restricted based on the Client’s user credentials.

The applications returned shall pass all of the filters provided (i.e. the filters are combined in an AND operation). The serverCapabilities parameter is an array and an application will pass this filter if it supports all of the specified capabilities.

Each time the GDS creates or updates an application record it shall assign a monotonically increasing identifier to the record. This allows Clients to request records in batches by specifying the identifier for the last record received in the last call to QueryServers. To support this the GDS shall return records in order starting from the lowest record identifier. The GDS shall also return the last time the counter was reset. If a Client detects that this time is more recent than the last time the Client called the Method it shall call the Method again with a startingRecordId of 0.

Signature

QueryServers(

[in] UInt32 startingRecordId

[in] UInt32 maxRecordsToReturn

[in] String applicationName

[in] String applicationUri

[in] String productUri

[in] String[] serverCapabilities

[out] DateTime lastCounterResetTime

[out] ServerOnNetwork[] servers

);

Argument

Description

INPUTS

startingRecordId

Only records with an identifier greater than this number will be returned.

Specify 0 to start with the first record in the database.

maxRecordsToReturn

The maximum number of records to return in the response.

0 indicates that there is no limit.

applicationName

The ApplicationName of the Applications to return.

Supports the syntax used by the LIKE FilterOperator described in OPC 10000-4.

Not used if an empty string is specified.

The filter is only applied to the default ApplicationName.

applicationUri

The ApplicationUri of the Servers to return.

Supports the syntax used by the LIKE FilterOperator described in OPC 10000-4.

Not used if an empty string is specified.

productUri

The ProductUri of the Servers to return.

Supports the syntax used by the LIKE FilterOperator described in OPC 10000-4.

Not used if an empty string is specified.

serverCapabilities

The applications returned shall support all of the server capabilities specified. If no server capabilities are provided this filter is not used.

OUTPUTS

lastCounterResetTime

The last time the counters were reset.

servers

A list of Servers which meet the criteria.

The ServerOnNetwork structure is defined in OPC 10000-4.

Method Result Codes (defined in Call Service)

Result Code

Description

Bad_UserAccessDenied

The current user does not have the rights required.

Table 11 specifies the AddressSpace representation for the QueryServers Method.

Table 11 – QueryServers Method AddressSpace Definition

Attribute

Value

BrowseName

QueryServers

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasProperty

Variable

InputArguments

Argument[]

PropertyType

Mandatory

HasProperty

Variable

OutputArguments

Argument[]

PropertyType

Mandatory