Connection QML Type
Se connecte à un serveur. En savoir plus…
| Import Statement: | import QtOpcUa |
| Since: | QtOpcUa 5.12 |
| Status: | Deprecated since 6.9 |
Ce type est obsolète depuis QtOpcUa 6.9. Nous déconseillons fortement de l'utiliser dans du nouveau code.
Propriétés
- authenticationInformation : AuthenticationInformation
- availableBackends : stringlist
- backend : string
- connected : bool
- connection : QOpcUaClient
- currentEndpoint : QOpcUaEndpointDescription
- defaultConnection : bool
- namespaces : stringlist
- supportedSecurityPolicies : stringlist
- supportedUserTokenTypes : array[tokenTypes]
Signaux
- nodeChanged()
- readNodeAttributesFinished(readResults)
- writeNodeAttributesFinished(writeResults)
Méthodes
- void connectToEndpoint(endpointDescription)
- void disconnectFromEndpoint()
- bool readNodeAttributes(valuesToBeRead)
- bool writeNodeAttributes(valuesToBeWritten)
Description détaillée
L'API principale utilise des backends pour établir des connexions. Vous devez configurer le backend avant toute tentative de connexion.
import QtOpcUa as QtOpcUa
QtOpcUa.Connection {
backend: "open62541"
}
Component.onCompleted: {
connection.connectToEndpoint("opc.tcp://127.0.0.1:43344");
}Documentation des propriétés
authenticationInformation : AuthenticationInformation
Définissez les informations d’authentification pour cette connexion. Ces informations doivent être définies avant d’appeler la méthode ` connectToEndpoint`. Si aucune information d’authentification n’est définie, le mode anonyme sera utilisé. Cela n’a aucun effet sur la connexion en cours. Si le client est déconnecté puis reconnecté, les nouvelles informations d’authentification seront utilisées. Si cette propriété est lue ou modifiée avant qu’un backend ne soit défini, les écritures sont ignorées et les lectures renvoient une valeur non valide AuthenticationInformation.
availableBackends : stringlist [read-only]
Renvoie les noms de tous les backends disponibles sous forme de liste. Ceux-ci servent à sélectionner un backend lors de la connexion.
Voir également Connection::backend.
backend : string
Définissez le backend à utiliser pour la connexion au serveur. Ce paramètre doit être défini avant toute tentative de connexion.
Voir également Connection::availableBackends.
connected : bool [read-only]
État de la connexion. « true » lorsqu'une connexion est établie, sinon « false ».
connection : QOpcUaClient
Cette propriété sert uniquement à initialiser une connexion depuis C++. En cas de configuration complexe d'une connexion, vous pouvez utiliser C++ pour gérer tous les détails. Une fois la connexion établie, elle peut être transmise à QML à l'aide de cette propriété. La gestion du client est alors transférée à QML.
class MyClass : public QObject {
Q_OBJECT
Q_PROPERTY(QOpcUaClient* connection READ connection NOTIFY connectionChanged)
public:
MyClass (QObject* parent = nullptr);
QOpcUaClient *connection() const;
signals:
void connectionChanged(QOpcUaClient *);En émettant le signal ` connectionChanged ` une fois la configuration du client terminée, le code QML ci-dessous utilisera la connexion.
import QtOpcUa as QtOpcUa
MyClass {
id: myclass
}
QtOpcUa.Connection {
connection: myclass.connection
}currentEndpoint : QOpcUaEndpointDescription
Description du point de terminaison du serveur auquel la connexion est établie. Lorsque la connexion n'est pas établie, une description de point de terminaison vide est renvoyée.
defaultConnection : bool
Définit cette connexion comme connexion par défaut. En règle générale, il faut attribuer une connexion à chaque nœud. Si cette propriété est définie sur « true », cette connexion sera utilisée dans tous les cas où un nœud n’a pas de connexion définie. Les connexions déjà établies ne sont pas affectées. Si « defaultConnection » est défini sur « true » et qu’il existe plusieurs connexions, c’est la dernière qui est utilisée.
QtOpcUa.Connection {
...
defaultConnection: true
...
}Voir également Node.
namespaces : stringlist [read-only]
Liste des chaînes de caractères correspondant à tous les URI d'espaces de noms enregistrés sur le serveur connecté.
supportedSecurityPolicies : stringlist
Une liste de chaînes de caractères contenant les politiques de sécurité prises en charge
Cette propriété est actuellement disponible en avant-première technologique ; par conséquent, l'API et les fonctionnalités fournies sont susceptibles d'être modifiées à tout moment sans préavis.
supportedUserTokenTypes : array[tokenTypes]
Un tableau regroupant les types de politiques de jetons utilisateur pour tous les types de jetons utilisateur pris en charge.
Cette propriété est actuellement disponible en avant-première technologique ; par conséquent, l'API et les fonctionnalités fournies sont susceptibles d'être modifiées à tout moment sans préavis.
Documentation Signal
nodeChanged()
Émis lorsque le nœud sous-jacent a changé. Cela se produit lorsque l'espace de noms ou l'identifiant de l'NodeId a changé.
Remarque : le gestionnaire correspondant est onNodeChanged.
readNodeAttributesFinished(readResults)
Émis lorsque la requête de lecture, lancée à l'aide de la fonction ` readNodeAttributes()`, est terminée. Le paramètre ` readResults ` est un tableau d'entrées de type ` ReadResult `, contenant les valeurs demandées au serveur.
connection.onReadNodeAttributesFinished(results) {
for (var i = 0; results.length; i++) {
if (results[i].status.isGood) {
console.log(results[i].value);
} else {
// handle error
}
}
}Remarque : le gestionnaire correspondant est onReadNodeAttributesFinished.
Voir également readNodeAttributes() et ReadResult.
writeNodeAttributesFinished(writeResults)
Émis lorsque la requête d'écriture lancée à l'aide de ` writeNodeAttributes()` est terminée. Le paramètre ` writeResults ` est un tableau d'entrées de type ` WriteResult `, contenant les valeurs demandées au serveur.
for (var i = 0; i < writeResults.length; i++) {
console.log(writeResults[i].nodeId);
console.log(writeResults[i].namespaceName);
console.log(writeResults[i].attribute);
if (writeResults[i].status.isBad) {
// value was not written
}
}Remarque : le gestionnaire correspondant est onWriteNodeAttributesFinished.
Voir également writeNodeAttributes() et WriteResult.
Documentation de la méthode
void connectToEndpoint(endpointDescription)
Se connecte au point de terminaison spécifié via endpointDescription.
Voir également EndpointDescription.
void disconnectFromEndpoint()
Met fin à une connexion établie.
bool readNodeAttributes(valuesToBeRead)
Cette fonction permet de lire plusieurs valeurs à partir d'un serveur en une seule fois. Elle renvoie « true » si la requête de lecture a été traitée avec succès.
Le paramètre valuesToBeRead doit être un tableau JavaScript composé d’ ReadItem s entrées.
// List of items to read
var readItemList = [];
// Item to be added to the list of items to be read
var readItem;
// Prepare an item to be read
// Create a new read item and fill properties
readItem = QtOpcUa.ReadItem.create();
readItem.ns = "http://qt-project.org";
readItem.nodeId = "s=Demo.Static.Scalar.Double";
readItem.attribute = QtOpcUa.Constants.NodeAttribute.DisplayName;
// Add the prepared item to the list of items to be read
readItemList.push(readItem);
// Add further items
[...]
if (!connection.readNodeAttributes(readItemList)) {
// handle error
}Le résultat de la requête de lecture est fourni par le signal readNodeAttributesFinished().
Voir également readNodeAttributesFinished() et ReadItem.
bool writeNodeAttributes(valuesToBeWritten)
Cette fonction permet d'écrire plusieurs valeurs sur un serveur en une seule fois. Elle renvoie la valeur « true » si la requête d'écriture a été transmise avec succès.
Le paramètre valuesToBeWritten doit être un tableau JavaScript composé d’entrées de type WriteItem.
// List of items to write
var writeItemList = [];
// Item to be added to the list of items to be written
var writeItem;
// Prepare an item to be written
// Create a new write item and fill properties
writeItem = QtOpcUa.WriteItem.create();
writeItem.ns = "http://qt-project.org";
writeItem.nodeId = "s=Demo.Static.Scalar.Double";
writeItem.attribute = QtOpcUa.Constants.NodeAttribute.Value;
writeItem.value = 32.1;
writeItem.valueType = QtOpcUa.Constants.Double;
// Add the prepared item to the list of items to be written
writeItemList.push(writeItem);
// Add further items
[...]
if (!connection.writeNodeAttributes(writeItemList)) {
// handle error
}Le résultat de la requête d'écriture est fourni par le signal Connection::writeNodeAttributesFinished().
Voir également Connection::writeNodeAttributesFinished() et WriteItem.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.