PySide6.QtOpcUa.QOpcUaClient¶
- class QOpcUaClient¶
- QOpcUaClientallows interaction with an OPC UA server. More…- Synopsis¶- Properties¶- Methods¶- def - addNode()
- def - addReference()
- def - backend()
- def - deleteNode()
- def - endpoint()
- def - error()
- def - findServers()
- def - namespaceArray()
- def - node()
- def - registerNodes()
- def - state()
 - Signals¶
- def - connectError()
- def - connected()
- def - disconnected()
- def - errorChanged()
- def - stateChanged()
 - Note - This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE - Detailed Description¶- QOpcUaClient¶- QOpcUaClientimplements basic client capabilities to communicate with OPC UA enabled devices and applications. This includes querying a discovery server for known servers, requesting a list of endpoints from a server, connecting and disconnecting.- After successfully connecting to a server, - QOpcUaClientallows getting- QOpcUaNodeobjects which enable further interaction with nodes on the OPC UA server. For operations that concern multiple nodes,- QOpcUaClientoffers an API which supports reading multiple attributes of multiple nodes in a single request to the server.- QOpcUaClientalso keeps a local copy of the server’s namespace array which is created after a successful connect. This information can be queried or updated while the connection lasts. The copy of the namespace array is also used for the resolution of expanded node ids and the creation of qualified names from a namespace URI.- Addressing Nodes¶- For an introduction to nodes and node ids, see - QOpcUaNode.- Usage¶- Create a - QOpcUaClientusing- QOpcUaProvider, request a list of endpoints from the server using- requestEndpointsand call- connectToEndpoint()to connect to one of the available endpoints. After the connection is established, a- QOpcUaNodeobject for the root node is requested.- QOpcUaProvider provider; if (provider.availableBackends().isEmpty()) return; QOpcUaClient *client = provider.createClient(provider.availableBackends()[0]); if (!client) return; // Connect to the stateChanged signal. Compatible slots of QObjects can be used instead of a lambda. QObject::connect(client, &QOpcUaClient::stateChanged, [client](QOpcUaClient::ClientState state) { qDebug() << "Client state changed:" << state; if (state == QOpcUaClient::ClientState::Connected) { QOpcUaNode *node = client->node("ns=0;i=84"); if (node) qDebug() << "A node object has been created"; } }); QObject::connect(client, &QOpcUaClient::endpointsRequestFinished, [client](QList<QOpcUaEndpointDescription> endpoints) { qDebug() << "Endpoints returned:" << endpoints.count(); if (endpoints.size()) client->connectToEndpoint(endpoints.first()); // Connect to the first endpoint in the list }); client->requestEndpoints(QUrl("opc.tcp://127.0.0.1:4840")); // Request a list of endpoints from the server- class ClientState¶
- This enum type specifies the connection state of the client. - Constant - Description - QOpcUaClient.Disconnected - The client is not connected to a server. - QOpcUaClient.Connecting - The client is currently connecting to a server. - QOpcUaClient.Connected - The client is connected to a server. - QOpcUaClient.Closing - The client has been connected and requests a disconnect from the server. 
 - class ClientError¶
- This enum type specifies the current error state of the client. - Constant - Description - QOpcUaClient.NoError - No error occurred. - QOpcUaClient.InvalidUrl - The url to connect to has been wrongly specified or a connection to this url failed. - QOpcUaClient.AccessDenied - An attempt to connect to a server using username/password failed due to wrong credentials. - QOpcUaClient.ConnectionError - An error occurred with the connection. - QOpcUaClient.UnknownError - An unknown error occurred. - QOpcUaClient.UnsupportedAuthenticationInformation - The given type or data of authentication information is not supported. 
 - Note - Properties can be used directly when - from __feature__ import true_propertyis used or via accessor functions otherwise.- property errorᅟ: QOpcUaClient.ClientError¶
 - This property Specifies the current error state of the client.. - Access functions:
- Signal - errorChanged()
 
 - property stateᅟ: QOpcUaClient.ClientState¶
 - This property Specifies the current connection state of the client.. - Access functions:
- Signal - stateChanged()
 
 - addNode(nodeToAdd)¶
- Parameters:
- nodeToAdd – - QOpcUaAddNodeItem
- Return type:
- bool 
 
 - Adds the node described by - nodeToAddon the server.- Returns - trueif the asynchronous call has been successfully dispatched.- The success of the operation is returned in the - addNodeFinished()signal.- The following example code adds new a Variable node on the server: - QOpcUaNodeCreationAttributes attributes; attributes.setDisplayName(QOpcUaLocalizedText("en", "My new Variable node")); attributes.setDescription(QOpcUaLocalizedText("en", "A node which has been added at runtime")); attributes.setValue(23.0, QOpcUa::Types::Double); attributes.setDataTypeId(QOpcUa::ns0ID(QOpcUa::NodeIds::Namespace0::Double)); attributes.setValueRank(-2); // Scalar or array attributes.setAccessLevel(QOpcUa::AccessLevelBit::CurrentRead); attributes.setUserAccessLevel(QOpcUa::AccessLevelBit::CurrentRead); QOpcUaAddNodeItem item; item.setParentNodeId(QOpcUaExpandedNodeId("ns=3;s=TestFolder")); item.setReferenceTypeId(QOpcUa::nodeIdFromReferenceType(QOpcUa::ReferenceTypeId::Organizes)); item.setRequestedNewNodeId(QOpcUaExpandedNodeId("ns=3;s=MyNewVariableNode")); item.setBrowseName(QOpcUaQualifiedName(3, "MyNewVariableNode")); item.setNodeClass(QOpcUa::NodeClass::Variable); item.setNodeAttributes(attributes); m_client->addNode(item); - addNodeFinished(requestedNodeId, assignedNodeId, statusCode)¶
- Parameters:
- requestedNodeId – - QOpcUaExpandedNodeId
- assignedNodeId – str 
- statusCode – - UaStatusCode
 
 
 - This signal is emitted after an - addNode()operation has finished.- requestedNodeIdis the requested node id from the- addNode()call,- assignedNodeIdis the node id the server has assigned to the new node.- statusCodecontains the result of the operation. If the result is- Bad,- assignedNodeIdis empty and no node has been added to the server’s address space.- addReference(referenceToAdd)¶
- Parameters:
- referenceToAdd – - QOpcUaAddReferenceItem
- Return type:
- bool 
 
 - Adds the reference described by - referenceToAddto the server.- Returns - trueif the asynchronous call has been successfully dispatched.- The success of the operation is returned in the - addReferenceFinished()signal.- The following example code adds a reference to a node to the “Objects” folder: - QOpcUaAddReferenceItem item; item.setSourceNodeId(QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::ObjectsFolder)); item.setReferenceTypeId(QOpcUa::nodeIdFromInteger(0, static_cast<quint32>(QOpcUa::ReferenceTypeId::Organizes))); item.setIsForwardReference(true); item.setTargetNodeId(QOpcUaExpandedNodeId("ns=3;s=MyNewVariableNode")); item.setTargetNodeClass(QOpcUa::NodeClass::Variable); m_client->addReference(item); - addReferenceFinished(sourceNodeId, referenceTypeId, targetNodeId, isForwardReference, statusCode)¶
- Parameters:
- sourceNodeId – str 
- referenceTypeId – str 
- targetNodeId – - QOpcUaExpandedNodeId
- isForwardReference – bool 
- statusCode – - UaStatusCode
 
 
 - This signal is emitted after an - addReference()operation has finished.- sourceNodeId,- referenceTypeId,- targetNodeIdand- isForwardReferenceare the values from the- addReference()call.- statusCodecontains the result of the operation.- applicationIdentity()¶
- Return type:
 
 - Returns the application identity of this - QOpcUaClientinstance.- See also - authenticationInformation()¶
- Return type:
 
 - Returns the current authentication information. - See also - backend()¶
- Return type:
- str 
 
 - Returns the name of the backend used by this instance of - QOpcUaClient, e.g. “open62541”.- connectError(errorState)¶
- Parameters:
- errorState – - QOpcUaErrorState
 
 - This signal is emitted when an error happened during connection establishment. The parameter - errorStatecontains information about the error.- In case of client side errors, these can be ignored by calling - setIgnoreErroron the object.- During execution of a slot connected to this signal the backend is stopped and waits for all slots to return. This allows to pop up a user dialog to ask the enduser for example if to trust an unknown certificate before the backend continues. - connectToEndpoint(endpoint)¶
- Parameters:
- endpoint – - QOpcUaEndpointDescription
 
 - Connects to the OPC UA endpoint given in - endpoint.- QEndpointDescription endpointDescription; ... client->connectToEndpoint(endpointDescription); - A list of available endpoints is usually obtained by calling - requestEndpoints().- If the endpoint requires username authentication, at least a user name must be set in - QOpcUaAuthenticationInformation. Calling this function before setting an authentication information will use the anonymous authentication.- QOpcUaAuthenticationInformation authInfo; authInfo.setUsernameAuthentication("user", "password"); client->setAuthenticationInformation(authInfo); - connected()¶
 - This signal is emitted when a connection has been established. - connectionSettings()¶
- Return type:
 
 - Returns the connection settings for this client. - See also - deleteNode(nodeId[, deleteTargetReferences=true])¶
- Parameters:
- nodeId – str 
- deleteTargetReferences – bool 
 
- Return type:
- bool 
 
 - Deletes the node with node id - nodeIdfrom the server. If- deleteTargetReferencesis- false, only the references with source node- nodeIdare deleted. If- deleteTargetReferencesis- true, references with- nodeIdas target are deleted too.- Returns - trueif the asynchronous call has been successfully dispatched.- The success of the operation is returned in the - deleteNodeFinished()signal.- The following example code deletes a node and all references to it from the server: - m_client->deleteNode(QOpcUaExpandedNodeId("ns=3;s=MyNewVariableNode"), true); - See also - deleteNodeFinished(nodeId, statusCode)¶
- Parameters:
- nodeId – str 
- statusCode – - UaStatusCode
 
 
 - This signal is emitted after a - deleteNode()operation has finished.- nodeIdis the node id from the- deleteNode()call.- statusCodecontains the result of the operation.- deleteReference(referenceToDelete)¶
- Parameters:
- referenceToDelete – - QOpcUaDeleteReferenceItem
- Return type:
- bool 
 
 - Deletes the reference described by - referenceToDeletefrom the server.- Returns - trueif the asynchronous call has been successfully dispatched.- The success of the operation is returned in the - deleteReferenceFinished()signal.- The following example code deletes a reference to a node from the “Objects” folder: - QOpcUaDeleteReferenceItem item; item.setSourceNodeId(QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::ObjectsFolder)); item.setReferenceTypeId(QOpcUa::nodeIdFromInteger(0, static_cast<quint32>(QOpcUa::ReferenceTypeId::Organizes))); item.setIsForwardReference(true); item.setTargetNodeId(QOpcUaExpandedNodeId("ns=3;s=MyNewVariableNode")); item.setDeleteBidirectional(true); m_client->deleteReference(item); - deleteReferenceFinished(sourceNodeId, referenceTypeId, targetNodeId, isForwardReference, statusCode)¶
- Parameters:
- sourceNodeId – str 
- referenceTypeId – str 
- targetNodeId – - QOpcUaExpandedNodeId
- isForwardReference – bool 
- statusCode – - UaStatusCode
 
 
 - This signal is emitted after a - deleteReference()operation has finished.- sourceNodeId,- referenceTypeId,- targetNodeIdand- isForwardReferenceare the values from the- deleteReference()call.- statusCodecontains the result of the operation.- disconnectFromEndpoint()¶
 - Disconnects from the server. - See also - disconnected()¶
 - This signal is emitted when a connection has been closed following to a close request. - endpoint()¶
- Return type:
 
 - Returns the description of the endpoint the client is currently connected to or was last connected to. - endpointsRequestFinished(endpoints, statusCode, requestUrl)¶
- Parameters:
- endpoints – .list of QOpcUaEndpointDescription 
- statusCode – - UaStatusCode
- requestUrl – - QUrl
 
 
 - This signal is emitted after a - requestEndpoints()operation has finished.- statusCodecontains the result of the operation. If the result is- Good,- endpointscontains the descriptions of all endpoints that are available on the server.- requestUrlcontains the URL that was used in the- requestEndpoints()call.- error()¶
- Return type:
 
 - Returns the current error state of the client. - Getter of property - errorᅟ.- errorChanged(error)¶
- Parameters:
- error – - ClientError
 
 - Notification signal of property - errorᅟ.- findServers(url[, localeIds=list()[, serverUris=list()]])¶
- Parameters:
- url – - QUrl
- localeIds – list of strings 
- serverUris – list of strings 
 
- Return type:
- bool 
 
 - Starts an asynchronous FindServers request to read a list of known servers from a server or discovery server at - url. Returns- trueif the asynchronous call has been successfully dispatched.- localeIdscan be used to select the language of the application names returned by the request. The format is specified in OPC UA 1.05 part 3, 8.4, for example “en” for English, or “de-DE” for German (Germany). If more than one locale ID is specified, the server uses the first match. If there is no match or- localeIdsis empty, a default locale is chosen by the server.- serverUrismay be used to restrict the results to servers with a matching applicationUri in their application description. For example, finding the current URL of the server with the applicationUri “MyPLC”, the following call can be used:- client->findServers(discoveryServerUrl, QStringList(), QStringList({"MyPLC"})); - The results are returned in the - findServersFinished()signal.- findServersFinished(servers, statusCode, requestUrl)¶
- Parameters:
- servers – .list of QOpcUaApplicationDescription 
- statusCode – - UaStatusCode
- requestUrl – - QUrl
 
 
 - This signal is emitted after a - findServers()operation has finished.- statusCodecontains the result of the operation. If the result is- Good,- serverscontains the application descriptions of all servers known to the queried server that matched the filter criteria.- requestUrlcontains the URL that was used in the- findServers()call.- isNamespaceAutoupdateEnabled()¶
- Return type:
- bool 
 
 - Returns whether autoupdate of the namespace array is enabled. - namespaceArray()¶
- Return type:
- list of strings 
 
 - Returns the cached value of the namespace array. - The value is only valid after the - namespaceArrayUpdated()signal has been emitted.- namespaceArrayChanged(namespaces)¶
- Parameters:
- namespaces – list of strings 
 
 - This signal is emitted after the namespace array has changed. - namespacescontains the content of the server’s namespace table. The index of an entry in- namespacescorresponds to the namespace index used in the node id.- namespaceArrayUpdated(namespaces)¶
- Parameters:
- namespaces – list of strings 
 
 - This signal is emitted after an - updateNamespaceArrayoperation has finished.- namespacescontains the content of the server’s namespace table. The index of an entry in- namespacescorresponds to the namespace index used in the node id.- If the namespace array content stays the same after the update this signal is emitted nevertheless. - namespaceAutoupdateInterval()¶
- Return type:
- int 
 
 - Returns the current revised update interval of the namespace array. - See also - setNamespaceAutoupdateInterval(int interval)- node(expandedNodeId)¶
- Parameters:
- expandedNodeId – - QOpcUaExpandedNodeId
- Return type:
 
 - Returns a - QOpcUaNodeobject associated with the OPC UA node identified by- expandedNodeId. The caller becomes owner of the node object.- If the node is not on the currently connected server, the namespace can’t be resolved, the node id is malformed or the client is not connected, - nullptris returned.- See also - node(nodeId)
- Parameters:
- nodeId – str 
- Return type:
 
 - Returns a - QOpcUaNodeobject associated with the OPC UA node identified by- nodeId. The caller becomes owner of the node object.- If the client is not connected, - nullptris returned. The backends may also return- nullptrfor other error cases (for example for a malformed node id).- passwordForPrivateKeyRequired(keyFilePath, password, previousTryWasInvalid)¶
- Parameters:
- keyFilePath – str 
- password – str 
- previousTryWasInvalid – bool 
 
 
 - This signal is emitted when a password for an encrypted private key is required. The parameter - keyFilePathcontains the file path to key which is used. The parameter- previousTryWasInvalidis true if a previous try to decrypt the key failed (aka invalid password). The parameter- passwordpoints to a QString that has to be filled with the actual password for the key. In case the previous try failed it contains the previously used password.- During execution of a slot connected to this signal the backend is stopped and waits for all slots to return. This allows to pop up a user dialog to ask the enduser for the password. - pkiConfiguration()¶
- Return type:
 
 - Returns the application’s PKI configuration of this - QOpcUaClientinstance.- See also - qualifiedNameFromNamespaceUri(namespaceUri, name[, ok=None])¶
- Parameters:
- namespaceUri – str 
- name – str 
- ok – bool 
 
- Return type:
 
 - Attempts to create a qualified name from - namespaceUriand the name string- name. Returns the resulting qualified name. An empty qualified name is returned if- namespaceUrican’t be resolved.- okwill be set to- trueif the namespace URI resolution has been successful. If the namespace URI could not be resolved,- okwill be set to- false.- readHistoryData(request)¶
- Parameters:
- request – - QOpcUaHistoryReadRawRequest
- Return type:
 
 - Starts a read raw history - requestfor one or multiple nodes. This is the Qt OPC UA representation for the OPC UA ReadHistory service for reading raw historical data defined in OPC UA 1.05 part 4, 5.10.3 .- The start timestamp, end timestamp, number of values per node, returnBounds and nodes to read can be specified in a - QOpcUaHistoryReadRawRequest.- Returns a - QOpcUaHistoryReadResponsewhich contains the state of the request if the asynchronous request has been successfully dispatched. The results are returned in the- UaStatusCode serviceResult)signal.- In the following example, the historic data from the last two days of two nodes are requested and printed. The result is limited to ten values per node. - QOpcUaHistoryReadRawRequest request( { QOpcUaReadItem("ns=1;s=myValue1"), QOpcUaReadItem("ns=1;s=myValue2") }, QDateTime::currentDateTime(), QDateTime::currentDateTime().addDays(-2), 10, true); QOpcUaHistoryReadResponse *response = m_client->readHistoryData(request); if (response) { QObject::connect(response, &QOpcUaHistoryReadResponse::readHistoryDataFinished, [] (QList<QOpcUaHistoryData> results, QOpcUa::UaStatusCode serviceResult) { if (serviceResult != QOpcUa::UaStatusCode::Good) { qWarning() << "Fetching historical data failed with:" << serviceResult; } else { for (const auto& result : results) { qInfo() << "NodeId:" << result.nodeId(); for (const auto &dataValue : result.result()) qInfo() << "Value:" << dataValue.value(); } } }); } - readHistoryEvents(request)¶
- Parameters:
- request – - QOpcUaHistoryReadEventRequest
- Return type:
 
 - Starts a read event history request for one or multiple node ids with the parameters in - request.- Returns a - QOpcUaHistoryReadResponsewhich contains the state of the request if the asynchronous request has been successfully dispatched. The results are returned in the- UaStatusCode serviceResult)signal.- The following example retrieves historic events for the last two days for two nodes. Up to 10 events per node are returned at a time. While there are more events matching the filter and the provided time range, - hasMoreData()will be true and more events can be fetched via readMoreData().- QOpcUaMonitoringParameters::EventFilter filter; filter << QOpcUaSimpleAttributeOperand("Message"); filter << QOpcUaSimpleAttributeOperand("Time"); const QOpcUaHistoryReadEventRequest request({ QOpcUaReadItem("ns=2;s=EventHistorian"), QOpcUaReadItem("ns=2;s=EventHistorian2") }, QDateTime::currentDateTime().addDays(-2), QDateTime::currentDateTime(), filter, 10); // The response object must be freed by the user after all wanted data has been retrieved const auto response = opcuaClient->readHistoryEvents(request); QObject::connect(response, &QOpcUaHistoryReadResponse::readHistoryEventsFinished, this, [response](const QList<QOpcUaHistoryEvent> &results, QOpcUa::UaStatusCode serviceResult) { if (serviceResult != QOpcUa::UaStatusCode::Good) { qDebug() << "Service call failed with" << serviceResult; return; } // Print what we got so far for (const auto &result : response->events()) { qDebug() << "Results for" << result.nodeId() << result.statusCode(); for (const auto &event : result.events()) qDebug() << " Event:" << event; } if (response->hasMoreData()) response->readMoreData(); }); - readNodeAttributes(nodesToRead)¶
- Parameters:
- nodesToRead – .list of QOpcUaReadItem 
- Return type:
- bool 
 
 - Starts a read of multiple attributes on different nodes. The node id, the attribute and an index range can be specified for every entry in - nodesToRead.- Returns true if the asynchronous request has been successfully dispatched. The results are returned in the - readNodeAttributesFinished()signal.- This read function offers an alternative way to read attributes of nodes which can be used for scenarios where the values of a large number of node attributes on different nodes must be read without requiring the other features of the - QOpcUaNodebased API like monitoring for value changes. All read items in the request are sent to the server in a single request and are answered in a single response which generates a single- readNodeAttributesFinished()signal. This reduces the network overhead and the number of signal slot connections if many different nodes are involved.- In the following example, the display name attribute and the two index ranges “0:2” and “5:7” of the value attribute of the same node and the entire value attribute of a second node are read using a single service call: - QList<QOpcUaReadItem> request; request.push_back(QOpcUaReadItem("ns=1;s=MyArrayNode", QOpcUa::NodeAttribute::DisplayName)); request.push_back(QOpcUaReadItem("ns=1;s=MyArrayNode", QOpcUa::NodeAttribute::Value, "0:2")); request.push_back(QOpcUaReadItem("ns=1;s=MyArrayNode", QOpcUa::NodeAttribute::Value, "5:7")); request.push_back(QOpcUaReadItem("ns=1;s=MyScalarNode)); m_client->readNodeAttributes(request); - readNodeAttributesFinished(results, serviceResult)¶
- Parameters:
- results – .list of QOpcUaReadResult 
- serviceResult – - UaStatusCode
 
 
 - This signal is emitted after a - readNodeAttributes()operation has finished.- The elements in - resultshave the same order as the elements in the request. For each requested element, there is a value together with timestamps and the status code in- results.- serviceResultcontains the status code from the OPC UA Read service.- registerNodes(nodesToRegister)¶
- Parameters:
- nodesToRegister – list of strings 
- Return type:
- bool 
 
 - Registers the node ids in - nodesToRegisteron the server and returns- trueif the request has been successfully dispatched. The results are returned in the- registerNodesFinished()signal.- The node registration service is used to let the server know that a node will be accessed frequently so it may perform operations like keeping the connection to an external resource open. The server may also return an alias node id which is recommended to be numeric. This might come in handy if a node with a long string identifier node id is used in many requests. The real performance gain (if any) depends on the server’s implementation. - The registered node ids are only guaranteed to be valid for the current session. Any registrations that are no longer needed should be unregistered as soon as possible so the server may free the associated resources. - See also - registerNodesFinished(nodesToRegister, registeredNodeIds, statusCode)¶
- Parameters:
- nodesToRegister – list of strings 
- registeredNodeIds – list of strings 
- statusCode – - UaStatusCode
 
 
 - This signal is emitted after a - registerNodes()operation has finished.- nodesToRegistercontains the node ids from the request for correlation purposes. The node ids returned by the server are in- registeredNodeIdsand have the same ordering as the ids in the request.- statusCodeindicates if the operation was successful.- See also - Starts an asynchronous - GetEndpointsrequest to read a list of available endpoints from the server at- url. Returns- trueif the asynchronous call has been successfully dispatched.- The endpoint information is returned in the - endpointsRequestFinished()signal.- resolveExpandedNodeId(expandedNodeId[, ok=None])¶
- Parameters:
- expandedNodeId – - QOpcUaExpandedNodeId
- ok – bool 
 
- Return type:
- str 
 
 - Attempts to resolve - expandedNodeIdto a node id string with numeric namespace index. Returns the node id string if the conversion was successful.- An empty string is returned if the namespace index can’t be resolved or if the identifier part of the expanded node id is malformed. - okwill be set to- trueif the conversion has been successful. If the expanded node id could not be resolved,- okwill be set to- false.- setApplicationIdentity(identity)¶
- Parameters:
- identity – - QOpcUaApplicationIdentity
 
 - Sets the application identity for this - QOpcUaClientinstance to- identity.- See also - setAuthenticationInformation(authenticationInformation)¶
- Parameters:
- authenticationInformation – - QOpcUaAuthenticationInformation
 
 - Sets the authentication information of this client to - authenticationInformation.- setConnectionSettings(connectionSettings)¶
- Parameters:
- connectionSettings – - QOpcUaConnectionSettings
 
 - Sets the connection settings for this client to - connectionSettings.- Example: - QOpcUaConnectionSettings settings; // Ask the server to give localized texts in german with french as fallback settings.setSessionLocaleIds({ "de", "fr" }); // We need to call some long running methods, increase the request timeout settings.setRequestTimeout(std::chrono::minutes(2)); opcuaClient->setConnectionSettings(settings); - The values from - connectionSettingsare applied to any new connections after this point.- See also - setNamespaceAutoupdate(isEnabled)¶
- Parameters:
- isEnabled – bool 
 
 - Enables automatic update of the namespace table. - Enabling this will keep the local copy of the namespace table updated automatically. - namespaceArrayUpdatedwill be emitted when the array changed.- isEnableddetermines if autoupdate is being enabled or disabled.- A subscription will be made on the node on the server to keep track of changes. In case a server does not support subscriptions this will not work and - isNamespaceAutoupdateEnabledreturns- false.- See also - setNamespaceAutoupdateInterval(interval)¶
- Parameters:
- interval – int 
 
 - Sets the interval for the namespace table subscription. - The subscription may be revised by the server. - intervaldetermines the interval to check for changes in milliseconds. The default is once per second.- See also - namespaceAutoupdateInterval()- setNamespaceAutoupdate(bool isEnabled)- setPkiConfiguration(config)¶
- Parameters:
- config – - QOpcUaPkiConfiguration
 
 - Sets the application PKI configuration for this - QOpcUaClientinstance to- config.- See also - state()¶
- Return type:
 
 - Getter of property - stateᅟ.- stateChanged(state)¶
- Parameters:
- state – - ClientState
 
 - Notification signal of property - stateᅟ.- supportedSecurityPolicies()¶
- Return type:
- list of strings 
 
 - Returns the security policies supported by the used backend. - This function is currently available as a Technology Preview, and therefore the API and functionality provided by the function may be subject to change at any time without prior notice. - supportedUserTokenTypes()¶
- Return type:
- .list of QOpcUaUserTokenPolicy.TokenType 
 
 - Returns the user token types supported by the used backend. - This function is currently available as a Technology Preview, and therefore the API and functionality provided by the function may be subject to change at any time without prior notice. - See also - unregisterNodes(nodesToUnregister)¶
- Parameters:
- nodesToUnregister – list of strings 
- Return type:
- bool 
 
 - Unregisters the node ids in - nodesToUnregisteron the server and returns- trueif the request has been successfully dispatched. The results are returned in the- unregisterNodesFinished()signal.- The node ids to pass in - nodesToUnregistermust have been obtained via- registerNodes().- See also - unregisterNodesFinished(nodesToUnregister, statusCode)¶
- Parameters:
- nodesToUnregister – list of strings 
- statusCode – - UaStatusCode
 
 
 - This signal is emitted after a - unregisterNodes()operation has finished.- nodesToUnregistercontains the node ids from the request for correlation purposes.- statusCodeindicates if the operation was successful.- See also - updateNamespaceArray()¶
- Return type:
- bool 
 
 - Requests an update of the namespace array from the server. Returns - trueif the operation has been successfully dispatched.- The - namespaceArrayUpdated()signal is emitted after the operation is finished.- See also - writeNodeAttributes(nodesToWrite)¶
- Parameters:
- nodesToWrite – .list of QOpcUaWriteItem 
- Return type:
- bool 
 
 - Starts a write for multiple attributes on different nodes. The node id, the attribute, the value, the value type and an index range can be specified for every entry in - nodesToWrite.- Returns - trueif the asynchronous request has been successfully dispatched. The results are returned in the- writeNodeAttributesFinished()signal.- This write function offers an alternative way to write attributes of nodes which can be used for scenarios where the values of a large number of node attributes on different nodes must be written without requiring the other features of the - QOpcUaNodebased API like monitoring for value changes. All write items in the request are sent to the server in a single request and are answered in a single response which generates a single- writeNodeAttributesFinished()signal. This reduces the network overhead and the number of signal slot connections if many different nodes are involved.- In the following example, the Values attributes of two different nodes are written in one call. The second node has an array value of which only the first two elements are overwritten: - QList<QOpcUaWriteItem> request; request.append(QOpcUaWriteItem("ns=2;s=Demo.Static.Scalar.Double", QOpcUa::NodeAttribute::Value, 23.0, QOpcUa::Types::Double)); request.append(QOpcUaWriteItem("ns=2;s=Demo.Static.Arrays.UInt32", QOpcUa::NodeAttribute::Value, QVariantList({0, 1, 2}), QOpcUa::Types::UInt32, "0:2")); m_client->writeNodeAttributes(request); - writeNodeAttributesFinished(results, serviceResult)¶
- Parameters:
- results – .list of QOpcUaWriteResult 
- serviceResult – - UaStatusCode
 
 
 - This signal is emitted after a - writeNodeAttributes()operation has finished.- The elements in - resultshave the same order as the elements in the write request. They contain the value, timestamps and status code received from the server as well as the node id, attribute and index range from the write item. This facilitates matching the result with the request.- serviceResultis the status code from the the OPC UA Write service. If- serviceResultis not- Good, the entries in- resultsalso have an invalid status code and must not be used.- See also