Spec-Zone.ru › Qt 6.1

Класс QOpcUaNode

Класс QOpcUaNode позволяет взаимодействовать с узлом OPC UA. Подробнее...

Заголовок: #include <QOpcUaNode>
qmake: QT += opcua
Наследует: QObject
  • Список всех членов, включая унаследованные

Открытые типы

AttributeMap

Открытые функции

QVariant attribute(QOpcUa::NodeAttribute attribute) const
QOpcUa::UaStatusCode attributeError(QOpcUa::NodeAttribute attribute) const
bool browse(const QOpcUaBrowseRequest &request)
bool browseChildren(QOpcUa::ReferenceTypeId referenceType = QOpcUa::ReferenceTypeId::HierarchicalReferences, QOpcUa::NodeClasses nodeClassMask = QOpcUa::NodeClass::Undefined)
bool callMethod(const QString &methodNodeId, const QList<QOpcUa::TypedVariant> &args = QList<QOpcUa::TypedVariant>())
QOpcUaClient * client() const
bool disableMonitoring(QOpcUa::NodeAttributes attr)
bool enableMonitoring(QOpcUa::NodeAttributes attr, const QOpcUaMonitoringParameters &settings)
bool modifyDataChangeFilter(QOpcUa::NodeAttribute attr, const QOpcUaMonitoringParameters::DataChangeFilter &filter)
bool modifyEventFilter(const QOpcUaMonitoringParameters::EventFilter &eventFilter)
bool modifyMonitoring(QOpcUa::NodeAttribute attr, QOpcUaMonitoringParameters::Parameter item, const QVariant &value)
QOpcUaMonitoringParameters monitoringStatus(QOpcUa::NodeAttribute attr)
QString nodeId() const

Сигналы

void attributeRead(QOpcUa::NodeAttributes attributes)
void attributeUpdated(QOpcUa::NodeAttribute attr, QVariant value)
void attributeWritten(QOpcUa::NodeAttribute attribute, QOpcUa::UaStatusCode statusCode)
void browseFinished(QList<QOpcUaReferenceDescription> children, QOpcUa::UaStatusCode statusCode)
void dataChangeOccurred(QOpcUa::NodeAttribute attr, QVariant value)
void disableMonitoringFinished(QOpcUa::NodeAttribute attr, QOpcUa::UaStatusCode statusCode)
void enableMonitoringFinished(QOpcUa::NodeAttribute attr, QOpcUa::UaStatusCode statusCode)
void eventOccurred(QVariantList eventFields)
void methodCallFinished(QString methodNodeId, QVariant result, QOpcUa::UaStatusCode statusCode)
void monitoringStatusChanged(QOpcUa::NodeAttribute attr, QOpcUaMonitoringParameters::Parameters items, QOpcUa::UaStatusCode statusCode)
void resolveBrowsePathFinished(QList<QOpcUaBrowsePathTarget> targets, QList<QOpcUaRelativePathElement> path, QOpcUa::UaStatusCode statusCode)

Статические публичные члены

QOpcUa::NodeAttributes allBaseAttributes()
QOpcUa::NodeAttributes mandatoryBaseAttributes()

Подробное описание

Узел является базовым строительным блоком адресного пространства OPC UA. Он имеет атрибуты, такие как имя для обзора, значение, связанные свойства и может иметь ссылки на другие узлы в адресном пространстве. Узлы организованы в пространствах имён и имеют идентификаторы, которые могут быть, например, числовыми, строковыми, специфичными для пространства имён (неявными) или глобально уникальными идентификаторами. Узел идентифицируется по идентификатору пространства имён и идентификатору узла. Этот идентификатор обычно задаётся как строка: Идентификатор узла, находящегося в пространстве имён 0 и имеющего числовой идентификатор 42, приводит к строке ns=0;i=42. К узлу со строковым идентификатором можно обратиться через ns=0;s=myStringIdentifier.

Объекты этого типа принадлежат пользователю и должны быть удалены, когда они больше не нужны. Они действительны до тех пор, пока существует QOpcUaClient, который их создал.

Чтение и запись атрибутов

Атрибуты узла считываются с сервера при вызове readAttributes() или readAttributeRange(). Результаты кэшируются локально и могут быть получены с помощью attribute() после получения сигнала attributeRead.

Атрибуты могут быть записаны с помощью writeAttribute(), writeAttributes() и writeAttributeRange() в случае наличия у пользователя необходимых прав. Успех операции записи сообщается с помощью сигнала attributeWritten.

attributeError() содержит код состояния, связанный с последней операцией чтения или записи атрибута. Это код состояния низкого уровня, возвращаемый сервисом OPC UA. Этот код состояния может быть упрощен с помощью преобразования в QOpcUa::ErrorCategory с использованием QOpcUa::errorCategory().

Подписки и отслеживаемые элементы

Подписки — это концепция OPC UA, которая позволяет получать уведомления о изменениях данных или событий вместо непрерывного опроса узла на предмет изменений. Отслеживаемые элементы определяют, как отслеживаются атрибуты узла на предмет изменений. Они добавляются в подписку, и любые уведомления, которые они генерируют, передаются пользователю через подписку. Интервал обновлений, а также многие другие параметры отслеживаемых элементов и подписок могут быть настроены пользователем.

QOpcUaNode предоставляет абстракцию для взаимодействия с подписками и отслеживаемыми элементами. enableMonitoring() включает уведомления о изменениях данных для одного или нескольких атрибутов. Сигнал dataChangeOccurred содержит новые значения, и локальный кэш обновляется. disableMonitoring() отключает уведомления о изменениях данных. Сигнал monitoringStatusChanged уведомляет о изменениях статуса мониторинга, например, после ручного включения и отключения или изменения статуса на сервере.

Мониторинг событий использует тот же API для настройки и управления жизненным циклом. Атрибут EventNotifier должен быть отслеживаем с помощью EventFilter, который выбирает необходимые поля события и фильтрует сообщения о событиях по заданным пользователем критериям. События сообщаются в сигнале eventOccurred() как QVariantList, который содержит значения выбранных полей события.

Настройки подписки и отслеживаемого элемента могут быть изменены во время выполнения с помощью modifyMonitoring().

Обзор адресного пространства

Адресное пространство OPC UA состоит из узлов, соединенных ссылками. browseChildren следует этим ссылкам в прямом направлении и возвращает атрибуты из всех узлов, подключенных к узлу, находящемуся за экземпляром QOpcUaNode, в сигнале browseFinished. browse() аналогичен browseChildren(), но предлагает больше возможностей для настройки вызова обхода.

Вызовы методов

OPC UA определяет методы на сервере, которые могут вызываться пользователем. QOpcUaNode поддерживает это через callMethod, который принимает параметры и возвращает результаты вызова в сигнале methodCallFinished.

Разрешение путей обхода

Для поддержки программирования по описанию типа OPC UA поддерживает разрешение пути имен обхода, начиная с определенного узла, чтобы получить идентификатор узла целевого узла. Метод resolveBrowsePath() следует пути, начиная с узла, на котором он был вызван, и возвращает результат в сигнале resolveBrowsePathFinished().

Пример

Для подключения клиента к серверу и получения объекта QOpcUaNode, см. QOpcUaClient.

После успешного создания узла имя обхода корневого узла считывается с сервера:

QOpcUaNode *rootNode; // Created before, see QOpcUaClient documentation.
// Connect to the attributeRead signal. Compatible slots of QObjects can be used instead of a lambda.
QObject::connect(rootNode, &QOpcUaNode::attributeRead, [rootNode, client](QOpcUa::NodeAttributes attr) {
    qDebug() << "Signal for attributes:" << attr;
    if (rootNode->attributeError(QOpcUa::NodeAttribute::BrowseName) != QOpcUa::UaStatusCode::Good) {
        qDebug() << "Failed to read attribute:" << rootNode->attributeError(QOpcUa::NodeAttribute::BrowseName);
        client->disconnectFromEndpoint();
    }
    qDebug() << "Browse name:" << rootNode->attribute(QOpcUa::NodeAttribute::BrowseName).value<QOpcUaQualifiedName>().name();
});
rootNode->readAttributes(QOpcUa::NodeAttribute::BrowseName); // Start a read operation for the node's BrowseName attribute.

Документация по типам членов

QOpcUaNode::AttributeMap

Этот тип используется функцией writeAttributes() для записи более одного атрибута за раз. Значения QVariant должны быть назначены атрибутам, которые необходимо записать.

Документация по функциям-членам

[signal] void QOpcUaNode::attributeRead(QOpcUa::NodeAttributes attributes)

Этот сигнал генерируется после завершения операции readAttributes() или readAttributeRange(). Получатель должен проверить код состояния для атрибутов, содержащихся в attributes.

[signal] void QOpcUaNode::attributeUpdated(QOpcUa::NodeAttribute attr, QVariant value)

Этот сигнал генерируется после обновления значения в кэше атрибута уведомлением об изменении данных с сервера, операцией чтения или записи. value содержит новое значение для атрибута узла attr.

См. также attribute(), attributeError(), serverTimestamp() и sourceTimestamp().

[signal] void QOpcUaNode::attributeWritten(QOpcUa::NodeAttribute attribute, QOpcUa::UaStatusCode statusCode)

Этот сигнал генерируется после завершения операции writeAttribute(), writeAttributes() или writeAttributeRange().

Перед отправкой этого сигнала кэш атрибута обновляется в случае успешной записи. Для writeAttributes() сигнал генерируется для каждого атрибута в вызове записи. statusCode содержит информацию об успехе операции записи для attribute.

[signal] void QOpcUaNode::browseFinished(QList<QOpcUaReferenceDescription> children, QOpcUa::UaStatusCode statusCode)

Этот сигнал генерируется после завершения операции browseChildren() или browse().

children содержит информацию обо всех узлах, которые соответствуют критериям в browseChildren(). statusCode содержит результат службы обхода. Если statusCode не Good, переданный вектор children пустой.

См. также QOpcUaReferenceDescription.

[signal] void QOpcUaNode::dataChangeOccurred(QOpcUa::NodeAttribute attr, QVariant value)

Этот сигнал генерируется после получения уведомления об изменении данных. value содержит новое значение для атрибута узла attr.

См. также attribute(), serverTimestamp() и sourceTimestamp().

[signal] void QOpcUaNode::disableMonitoringFinished(QOpcUa::NodeAttribute attr, QOpcUa::UaStatusCode statusCode)

Этот сигнал генерируется после завершения асинхронного вызова disableMonitoring(). statusCode содержит код состояния, сгенерированный операцией. После отправки этого сигнала monitoringStatus возвращает значение по умолчанию со статусом BadMonitoredItemIdInvalid для attr.

[signal] void QOpcUaNode::enableMonitoringFinished(QOpcUa::NodeAttribute attr, QOpcUa::UaStatusCode statusCode)

Этот сигнал генерируется после завершения асинхронного вызова enableMonitoring(). После отправки этого сигнала monitoringStatus() возвращает корректную информацию для attr. statusCode содержит код состояния для операции.

[signal] void QOpcUaNode::eventOccurred(QVariantList eventFields)

Этот сигнал генерируется после получения нового события.

eventFields содержит значения полей события в порядке, указанном в пункте select фильтра событий.

[signal] void QOpcUaNode::methodCallFinished(QString methodNodeId, QVariant result, QOpcUa::UaStatusCode statusCode)

Это сигнал, испускаемый после завершения вызова метода для methodNodeId на сервере. statusCode содержит код состояния вызова метода, result содержит выходные аргументы метода. result пуст, если метод не имеет выходных аргументов или statusCode не Good. Вариант result содержит либо единственное значение, если есть только один выходной аргумент, либо список вариантов, если вызываемая функция вернула несколько выходных аргументов.

if (result.canConvert<QVariantList>()) {
    // handle list type
} else {
    // handle value type
}

[signal] void QOpcUaNode::monitoringStatusChanged(QOpcUa::NodeAttribute attr, QOpcUaMonitoringParameters::Parameters items, QOpcUa::UaStatusCode statusCode)

Этот сигнал испускается после завершения асинхронного вызова modifyMonitoring(). Атрибут узла, для которого была запрошена операция, возвращается в attr. items содержит параметры, которые были изменены. statusCode содержит результат операции модификации на сервере.

[signal] void QOpcUaNode::resolveBrowsePathFinished(QList<QOpcUaBrowsePathTarget> targets, QList<QOpcUaRelativePathElement> path, QOpcUa::UaStatusCode statusCode)

Этот сигнал испускается после завершения вызова resolveBrowsePath().

QOpcUaBrowsePathTarget targets содержит совпадения, statusCode — код состояния операции. Если statusCode не Good, targets пусто. Путь обзора path — это путь обзора из запроса. Он может использоваться для сопоставления результатов с запросами.

[static] QOpcUa::NodeAttributes QOpcUaNode::allBaseAttributes()

Содержит все атрибуты класса базового узла OPC UA.

QVariant QOpcUaNode::attribute(QOpcUa::NodeAttribute attribute) const

Возвращает значение атрибута, заданного в attribute.

Значение является допустимым только после испускания сигнала attributeRead. Пустой QVariant возвращается, если нет кэшированного значения для атрибута.

QOpcUa::UaStatusCode QOpcUaNode::attributeError(QOpcUa::NodeAttribute attribute) const

Возвращает код ошибки для атрибута, заданного в attribute.

Код ошибки является допустимым только после испускания сигнала attributeRead или attributeWritten.

Если в кэше атрибута нет записи, возвращается BadNoEntryExists.

См. также QOpcUa::errorCategory.

bool QOpcUaNode::browse(const QOpcUaBrowseRequest &request)

Инициирует вызов обхода из этого узла.

Возвращает true если асинхронный вызов был успешно отправлен.

Все ссылки, соответствующие критериям, указанным в request, возвращаются в сигнале browseFinished().

Например, обратный вызов обхода можно использовать для поиска родительского узла узла свойства:

QOpcUaBrowseRequest request;
request.setBrowseDirection(QOpcUaBrowseRequest::BrowseDirection::Inverse);
request.setReferenceTypeId(QOpcUa::ReferenceTypeId::HasProperty);
propertyNode->browse(request);

bool QOpcUaNode::browseChildren(QOpcUa::ReferenceTypeId referenceType = QOpcUa::ReferenceTypeId::HierarchicalReferences, QOpcUa::NodeClasses nodeClassMask = QOpcUa::NodeClass::Undefined)

Выполняет прямой вызов обхода, начиная с узла, на котором вызывается этот метод. Операция обхода собирает информацию о дочерних узлах, подключенных к узлу, и предоставляет результаты в сигнале browseFinished().

Возвращает true если асинхронный вызов был успешно отправлен.

Чтобы запросить только дочерние узлы, подключенные к узлу определённого типа ссылки, referenceType необходимо установить на этот тип ссылки. Например, это можно использовать для получения всех свойств узла, передав HasProperty в referenceType. Результаты можно отфильтровать, чтобы содержать только узлы с определёнными классами узлов, установив их в nodeClassMask.

bool QOpcUaNode::callMethod(const QString &methodNodeId, const QList<QOpcUa::TypedVariant> &args = QList<QOpcUa::TypedVariant>())

Вызывает метод OPC UA methodNodeId с параметрами, указанными в args. Результат возвращается в сигнале methodCallFinished.

Возвращает true если асинхронный вызов был успешно отправлен.

QOpcUaClient *QOpcUaNode::client() const

Возвращает указатель на клиент, который создал этот узел.

bool QOpcUaNode::disableMonitoring(QOpcUa::NodeAttributes attr)

Этот метод отключает мониторинг для атрибутов, указанных в attr.

Возвращает true если асинхронный вызов был успешно отправлен.

После завершения вызова, испускается сигнал disableMonitoringFinished, и monitoringStatus возвращает значение по умолчанию со статусом BadMonitoredItemIdIinvalid для attr.

bool QOpcUaNode::enableMonitoring(QOpcUa::NodeAttributes attr, const QOpcUaMonitoringParameters &settings)

Этот метод создаёт отслеживаемый элемент для каждого из атрибутов, указанных в attr. Настройки из settings используются при создании отслеживаемых элементов и подписки.

Возвращает true если асинхронный вызов был успешно отправлен.

По завершении вызова испускается сигнал enableMonitoringFinished. Существует несколько случаев ошибок, в которых генерируется код состояния ошибки: подписка с указанным идентификатором подписки в settings не существует, узел не существует на сервере, узел не имеет запрошенного атрибута или достигнуто максимальное число отслеживаемых элементов для сервера.

Тот же метод используется для включения мониторинга событий. События — это специальные объекты в адресном пространстве OPC UA, содержащие информацию о произошедшем событии. Если на сервере возникает событие, отслеживаемый элемент события собирает выбранные значения атрибутов узла объекта события и его дочерних узлов. Каждый узел, имеющий источник событий, может быть отслеживаем на события. Для мониторинга узла на события должен отслеживаться атрибут EventNotifier с помощью EventFilter, содержащим необходимые поля событий и, необязательно, условие where, которое используется для фильтрации событий по критериям (подробнее см. QOpcUaMonitoringParameters::EventFilter).

[static] QOpcUa::NodeAttributes QOpcUaNode::mandatoryBaseAttributes()

Содержит все обязательные атрибуты класса базового узла OPC UA.

bool QOpcUaNode::modifyDataChangeFilter(QOpcUa::NodeAttribute attr, const QOpcUaMonitoringParameters::DataChangeFilter &filter)

Модифицирует существующий мониторинг изменений данных, чтобы использовать filter в качестве фильтра изменений данных.

Возвращает true если запрос на изменение фильтра успешно передан в бэкэнд.

monitoringStatusChanged для attr испускается после завершения операции.

bool QOpcUaNode::modifyEventFilter(const QOpcUaMonitoringParameters::EventFilter &eventFilter)

Модифицирует существующий мониторинг событий, чтобы использовать eventFilter в качестве фильтра событий.

Возвращает true если запрос на изменение фильтра успешно передан в бэкэнд.

monitoringStatusChanged для EventNotifier испускается после завершения операции.

bool QOpcUaNode::modifyMonitoring(QOpcUa::NodeAttribute attr, QOpcUaMonitoringParameters::Parameter item, const QVariant &value)

Этот метод изменяет настройки отслеживаемого элемента или подписки. Параметр item отслеживаемого элемента или подписки, связанного с attr, пытается установить значение value.

Возвращает true если асинхронный вызов был успешно отправлен.

После завершения вызова генерируется сигнал monitoringStatusChanged. Этот сигнал содержит изменённые параметры и код состояния. Код состояния «ошибка» генерируется, если нет контролируемого элемента, связанного с запрошенным атрибутом, изменение запрошенного параметра не реализовано или если сервер отклонил запрошенное значение.

QOpcUaMonitoringParameters QOpcUaNode::monitoringStatus(QOpcUa::NodeAttribute attr)

Возвращает параметры мониторинга, связанные с атрибутом attr. Это можно использовать для проверки успешности вызова enableMonitoring() или для проверки, были ли параметры пересмотрены. Возвращаемые значения действительны только после того, как для attr были вызваны enableMonitoringFinished или monitoringStatusChanged. Если состояние запрашивается до генерации сигнала, QOpcUaMonitoringParameters::statusCode() возвращает BadNoEntryExists.

QString QOpcUaNode::nodeId() const

Возвращает идентификатор узла OPC UA.

bool QOpcUaNode::readAttributeRange(QOpcUa::NodeAttribute attribute, const QString &indexRange)

Запускает асинхронную операцию чтения атрибута узла attribute. indexRange — строка, которая может быть использована для выбора части массива. Она определена в части 4 OPC-UA, 7.22. Первый элемент массива — 0, «1» возвращает второй элемент, «0:9» возвращает первые 10 элементов, «0,1» возвращает второй элемент первой строки двумерного массива.

Возвращает true если асинхронный вызов успешно выполнен.

Значения атрибутов содержат действительную информацию только после того, как был вызван сигнал attributeRead.

bool QOpcUaNode::readAttributes(QOpcUa::NodeAttributes attributes = mandatoryBaseAttributes())

Запускает асинхронную операцию чтения атрибутов узла, указанных в attributes.

Возвращает true если асинхронный вызов успешно выполнен.

Значения атрибутов содержат действительную информацию только после того, как был вызван сигнал attributeRead.

bool QOpcUaNode::readValueAttribute()

Запускает асинхронную операцию чтения атрибута Value узла.

Возвращает true если асинхронный вызов успешно выполнен.

См. также readAttributes().

bool QOpcUaNode::resolveBrowsePath(const QList<QOpcUaRelativePathElement> &path)

Разрешает путь обхода path до одного или нескольких идентификаторов узлов, начиная с этого узла, используя службу TranslateBrowsePathsToNodeIds, описанную в части 4 OPC-UA, 5.8.4.

Возвращает true если асинхронный вызов успешно выполнен.

TranslateBrowsePathsToNodeIds в основном используется для программирования против определений типов вместо конкретного набора узлов в пространстве адресации OPC UA. Например, определение типа модели машины может состоять из узла начала с именем обхода «Машина», имеющего компонент с именем обхода «Вентилятор». У вентилятора есть компонент с именем обхода «Частота вращения», который является узлом переменной, содержащим текущее значение частоты вращения вентилятора. Существует несколько машин такого типа, и каждая из этих машин отображается в пространстве адресации OPC UA как объект типа машины. Для каждого из этих объектов машины путь от узла машины до узла «Частота вращения» одинаков. Если клиент хочет прочитать текущее значение частоты вращения, ему необходимо вызвать resolveBrowsePath() с узлом машины в качестве начального узла и путем обхода от машины до узла «Частота вращения»:

QScopedPointer<QOpcUaNode> node(opcuaClient->node("ns=1;s=machine1"));

QList<QOpcUaRelativePathElement> path;
path.append(QOpcUaRelativePathElement(QOpcUaQualifiedName(1, "Fan"), QOpcUa::ReferenceTypeId::HasComponent));
path.append(QOpcUaRelativePathElement(QOpcUaQualifiedName(1, "RPM"), QOpcUa::ReferenceTypeId::HasComponent));
node->resolveBrowsePath(path);

Результат, возвращаемый в resolveBrowsePathFinished(), содержит идентификатор узла «Частота вращения», который может быть использован для доступа к атрибутам узла:

if (!results.size()) {
    qWarning() << "Browse path resolution failed";
    return;
}

if (results.at(0).isFullyResolved()) {
   QOpcUaNode *rpmNode = client->node(results.at(0).targetId());
   if (!rpmNode) {
       qWarning() << "Failed to create node";
       return;
   }
   // Connect slots, call methods
} else {
    qWarning() << "Browse path could not be fully resolved, the target node is on another server";
    return;
}

QDateTime QOpcUaNode::serverTimestamp(QOpcUa::NodeAttribute attribute) const

Возвращает метку времени сервера от последнего чтения или изменения данных атрибута attribute. Перед тем, как по крайней мере один сигнал attributeRead или dataChangeOccurred был сгенерирован, возвращается нулевая дата.

QDateTime QOpcUaNode::sourceTimestamp(QOpcUa::NodeAttribute attribute) const

Возвращает метку времени источника от последнего чтения или изменения данных атрибута attribute. Перед тем, как по крайней мере один сигнал attributeRead или dataChangeOccurred был сгенерирован, возвращается нулевая дата.

QVariant QOpcUaNode::valueAttribute() const

Возвращает значение атрибута Value узла.

Возвращаемое значение является действительным только после успешного чтения или записи атрибута Value или после обновления кэша атрибута изменением данных из мониторинга. Это указывается сигналом attributeRead() или attributeWritten() с кодом состояния Good или сигналом dataChangeOccurred() для атрибута Value.

Если в кэше атрибутов нет значения, возвращается недопустимый QVariant.

См. также readValueAttribute(), writeValueAttribute() и valueAttributeError().

QOpcUa::UaStatusCode QOpcUaNode::valueAttributeError() const

Возвращает код ошибки для атрибута Value узла. Код состояния Good указывает на действительное возвращаемое значение для valueAttribute(). Если в кэше атрибутов нет записи, возвращается BadNoEntryExists.

bool QOpcUaNode::writeAttribute(QOpcUa::NodeAttribute attribute, const QVariant &value, QOpcUa::Types type = QOpcUa::Types::Undefined)

Записывает value в атрибут, указанный в attribute, используя информацию о типе из type. Возвращает true если асинхронный вызов успешно выполнен.

Если параметр type опущен, бэкенд пытается определить правильный тип. Предполагаются следующие типы по умолчанию:

Qt MetaType Тип OPC UA
Bool Boolean
UChar Byte
Char SByte
UShort UInt16
Short Int16
Int Int32
UInt UInt32
ULongLong UInt64
LongLong Int64
Double Double
Float Float
QString String
QDateTime DateTime
QByteArray ByteString
QUuid Guid

bool QOpcUaNode::writeAttributeRange(QOpcUa::NodeAttribute attribute, const QVariant &value, const QString &indexRange, QOpcUa::Types type = QOpcUa::Types::Undefined)

Записывает value в атрибут, указанный в attribute, используя информацию о типе из type. Для indexRange см. readAttributeRange().

Возвращает true если асинхронный вызов успешно выполнен.

bool QOpcUaNode::writeAttributes(const QOpcUaNode::AttributeMap &toWrite, QOpcUa::Types valueAttributeType = QOpcUa::Types::Undefined)

Выполняет операцию записи для атрибутов и значений, указанных в toWrite.

Возвращает true если асинхронный вызов успешно выполнен.

Параметр valueAttributeType может быть использован для предоставления информации о типе атрибута value. Для всех других атрибутов типы известны.

См. также writeAttribute().

bool QOpcUaNode::writeValueAttribute(const QVariant &value, QOpcUa::Types type = QOpcUa::Types::Undefined)

Записывает value в атрибут Value узла, используя информацию о типе из type.

Возвращает true если асинхронный вызов успешно выполнен.

См. также writeAttribute().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qopcuanode.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API