Spec-Zone.ru › Qt

Класс 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 возвращает значение по умолчанию с кодом состояния BadMonitoredItemIdIinvalid для 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.2/qopcuanode.html

Spec-Zone.ru

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