QOpcUaMonitoringParameters Class

QOpcUaMonitoringParameters는 구독 및 모니터링되는 항목에 대한 매개변수를 설정하고 검색하는 방법을 제공합니다. 더 보기...

헤더: #include <QOpcUaMonitoringParameters>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua

공용 타입

class DataChangeFilter
class EventFilter
enum class MonitoringMode { Disabled, Sampling, Reporting }
enum class Parameter { PublishingEnabled, PublishingInterval, LifetimeCount, MaxKeepAliveCount, MaxNotificationsPerPublish, …, TriggeredItemIds }
flags Parameters
enum class SubscriptionType { Shared, Exclusive }

공용 함수

QOpcUaMonitoringParameters()
QOpcUaMonitoringParameters(double publishingInterval, QOpcUaMonitoringParameters::SubscriptionType shared = SubscriptionType::Shared, quint32 subscriptionId = 0)
QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)
~QOpcUaMonitoringParameters()
void clearFilter()
void clearFilterResult()
bool discardOldest() const
(since 6.7) QHash<quint32, QOpcUa::UaStatusCode> failedTriggeredItemsStatus() const
QVariant filter() const
QVariant filterResult() const
QString indexRange() const
bool isPublishingEnabled() const
quint32 lifetimeCount() const
quint32 maxKeepAliveCount() const
quint32 maxNotificationsPerPublish() const
quint32 monitoredItemId() const
QOpcUaMonitoringParameters::MonitoringMode monitoringMode() const
quint8 priority() const
double publishingInterval() const
quint32 queueSize() const
double samplingInterval() const
void setDiscardOldest(bool discardOldest)
(since 6.7) void setFailedTriggeredItemsStatus(const QHash<quint32, QOpcUa::UaStatusCode> &status)
void setFilter(const QOpcUaMonitoringParameters::DataChangeFilter &filter)
void setFilter(const QOpcUaMonitoringParameters::EventFilter &eventFilter)
void setFilterResult(const QOpcUaEventFilterResult &eventFilterResult)
void setIndexRange(const QString &indexRange)
void setLifetimeCount(quint32 lifetimeCount)
void setMaxKeepAliveCount(quint32 maxKeepAliveCount)
void setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish)
void setMonitoredItemId(quint32 monitoredItemId)
void setMonitoringMode(QOpcUaMonitoringParameters::MonitoringMode monitoringMode)
void setPriority(quint8 priority)
void setPublishingEnabled(bool publishingEnabled)
void setPublishingInterval(double publishingInterval)
void setQueueSize(quint32 queueSize)
void setSamplingInterval(double samplingInterval)
void setStatusCode(QOpcUa::UaStatusCode statusCode)
void setSubscriptionId(quint32 subscriptionId)
void setSubscriptionType(QOpcUaMonitoringParameters::SubscriptionType shared)
(since 6.7) void setTriggeredItemIds(const QSet<quint32> &ids)
QOpcUa::UaStatusCode statusCode() const
quint32 subscriptionId() const
QOpcUaMonitoringParameters::SubscriptionType subscriptionType() const
(since 6.7) QSet<quint32> triggeredItemIds() const
QOpcUaMonitoringParameters &operator=(const QOpcUaMonitoringParameters &other)

상세 설명

이 클래스는 QOpcUaNode::enableMonitoring() 요청에 사용되며 QOpcUaNode::monitoringStatus()의 반환값으로 사용되며, 이 경우 서버에서 수정된 값을 포함합니다.

사용법

대부분의 사용 사례에서는 게시 간격만 필요합니다.

QOpcUaMonitoringParameters p(100); // Set a publishing interval of 100ms and share the subscription.
node->enableMonitoring(QOpcUa::NodeAttribute::Value, p);

exclusive 구독이 필요한 경우에는 두 번째 매개 변수를 사용합니다.

QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Exclusive); // Create a new subscription

기존 구독에 항목을 추가하려면 다음 QOpcUaNode::enableMonitoring() 호출에 세 번째 매개 변수를 사용합니다.

quint32 subscriptionId = node->monitoringStatus(QOpcUa::NodeAttribute::Value).subscriptionId();
QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Shared, subscriptionId); // Add the monitored item to this subscription

다른 매개변수가 필요한 경우 설정자 메서드를 사용하여 설정해야 합니다.

멤버 유형 문서

enum class QOpcUaMonitoringParameters::MonitoringMode

이 열거형은 모니터링되는 항목의 모니터링 모드를 설정하는 데 사용됩니다.

Constant설명
QOpcUaMonitoringParameters::MonitoringMode::Disabled0샘플링이 비활성화되어 있으며 알림이 생성되지 않습니다.
QOpcUaMonitoringParameters::MonitoringMode::Sampling1샘플링이 활성화되고 알림이 생성되어 대기열에 대기하지만 보고는 비활성화됩니다.
QOpcUaMonitoringParameters::MonitoringMode::Reporting2샘플링이 활성화되고 알림이 생성 및 큐에 대기 중이며 보고가 활성화됩니다.

열거형 클래스 QOpcUaMonitor링 파라미터::파라미터
플래그 QOpcUaMonitoring 파라미터::파라미터

QOpcUaNode::modifyMonitoring()를 사용하여 런타임에 수정할 수 있는 파라미터를 열거합니다. 모든 플러그인에서 모든 값이 지원되는 것은 아닙니다. 지원되지 않는 경우 QOpcUaNode::monitoringStatusChanged 신호로 보고됩니다.

Constant
QOpcUaMonitoringParameters::Parameter::PublishingEnabled(1 << 0)
QOpcUaMonitoringParameters::Parameter::PublishingInterval(1 << 1)
QOpcUaMonitoringParameters::Parameter::LifetimeCount(1 << 2)
QOpcUaMonitoringParameters::Parameter::MaxKeepAliveCount(1 << 3)
QOpcUaMonitoringParameters::Parameter::MaxNotificationsPerPublish(1 << 4)
QOpcUaMonitoringParameters::Parameter::Priority(1 << 5)
QOpcUaMonitoringParameters::Parameter::SamplingInterval(1 << 6)
QOpcUaMonitoringParameters::Parameter::Filter(1 << 7)
QOpcUaMonitoringParameters::Parameter::QueueSize(1 << 8)
QOpcUaMonitoringParameters::Parameter::DiscardOldest(1 << 9)
QOpcUaMonitoringParameters::Parameter::MonitoringMode(1 << 10)
QOpcUaMonitoringParameters::Parameter::TriggeredItemIds (since Qt 6.7)(1 << 11)

Parameters 유형은 QFlags<Parameter>에 대한 typedef입니다. Parameter 값의 OR 조합을 저장합니다.

enum class QOpcUaMonitoringParameters::SubscriptionType

이 열거형은 모니터링되는 항목을 공유 구독에 추가할 수 있는지 또는 새 구독을 만들어야 하는지 여부를 결정하는 데 사용됩니다.

상수설명
QOpcUaMonitoringParameters::SubscriptionType::Shared0동일한 간격으로 모니터링되는 다른 항목과 공유 구독을 공유합니다.
QOpcUaMonitoringParameters::SubscriptionType::Exclusive1이 속성에 대한 새 구독을 요청합니다.

멤버 함수 문서

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters()

QOpcUaMonitoringParameters의 기본 생성자입니다.

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(double publishingInterval, QOpcUaMonitoringParameters::SubscriptionType shared = SubscriptionType::Shared, quint32 subscriptionId = 0)

Qt OPC UA 사용자를 위한 대부분의 사용 사례를 다루는 생성자입니다. publishingInterval 은 반드시 제공해야 하며 sharedsubscriptionId 은 선택 사항입니다.

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)

other 의 값으로 QOpcuaMonitoringParameters 객체를 생성합니다.

[noexcept] QOpcUaMonitoringParameters::~QOpcUaMonitoringParameters()

QOpcUaMonitoringParameters 의 소멸자 입니다.

void QOpcUaMonitoringParameters::clearFilter()

모니터링 매개변수에서 현재 필터를 제거합니다.

filter() 및 setFilter()도 참조하세요 .

void QOpcUaMonitoringParameters::clearFilterResult()

모니터링 매개변수에서 현재 필터 결과를 제거합니다.

filterResult() 및 setFilterResult()도 참조하세요 .

bool QOpcUaMonitoringParameters::discardOldest() const

모니터링되는 항목의 discardOldest 설정을 반환합니다.

setDiscardOldest()도 참조하세요 .

[since 6.7] QHash<quint32, QOpcUa::UaStatusCode> QOpcUaMonitoringParameters::failedTriggeredItemsStatus() const

setTriggeredItemIds()에서 트리거된 모든 항목 중 성공적으로 추가할 수 없는 항목의 상태 코드를 반환합니다.

이 함수는 Qt 6.7에 도입되었습니다.

setFailedTriggeredItemsStatus()도 참조하십시오 .

QVariant QOpcUaMonitoringParameters::filter() const

현재 필터를 반환합니다.

setFilter()도 참조하세요 .

QVariant QOpcUaMonitoringParameters::filterResult() const

필터 결과를 반환합니다.

속성 모니터링의 경우 이 값은 비어 있습니다. 이벤트 모니터링의 경우 서버가 필터에서 오류를 감지하지 못한 경우 필터 결과가 비어 있을 수 있습니다.

setFilterResult()도 참조하세요 .

QString QOpcUaMonitoringParameters::indexRange() const

모니터링되는 항목의 인덱스 범위를 반환합니다.

setIndexRange()도 참조하세요 .

bool QOpcUaMonitoringParameters::isPublishingEnabled() const

구독의 퍼블리싱 모드를 반환합니다.

quint32 QOpcUaMonitoringParameters::lifetimeCount() const

구독의 평생 횟수를 반환합니다.

setLifetimeCount()도 참조하세요 .

quint32 QOpcUaMonitoringParameters::maxKeepAliveCount() const

구독의 최대 킵얼라이브 횟수를 반환합니다.

setMaxKeepAliveCount()도 참조하세요 .

quint32 QOpcUaMonitoringParameters::maxNotificationsPerPublish() const

구독의 게시 값당 최대 알림 수를 반환합니다.

setMaxNotificationsPerPublish()도 참조하세요 .

quint32 QOpcUaMonitoringParameters::monitoredItemId() const

서버에서 할당된 모니터링되는 아이템 ID를 반환합니다. 모니터링되는 항목 ID가 0이면 모니터링되는 항목을 성공적으로 만들지 못한 것입니다.

setMonitoredItemId()도 참조하세요 .

QOpcUaMonitoringParameters::MonitoringMode QOpcUaMonitoringParameters::monitoringMode() const

모니터링되는 항목의 모니터링 모드를 반환합니다.

setMonitoringMode()도 참조하세요 .

quint8 QOpcUaMonitoringParameters::priority() const

모니터링되는 항목에 사용된 구독의 우선순위를 반환합니다.

setPriority()도 참조하세요 .

double QOpcUaMonitoringParameters::publishingInterval() const

구독의 게시 간격을 반환합니다. 간격은 밀리초 단위로 표시됩니다.

setPublishingInterval()도 참조하세요 .

quint32 QOpcUaMonitoringParameters::queueSize() const

모니터링되는 항목의 대기열 크기를 반환합니다.

setQueueSize()도 참조하세요 .

double QOpcUaMonitoringParameters::samplingInterval() const

모니터링되는 항목의 수정된 샘플링 간격을 반환합니다. 간격은 밀리초 단위로 표시됩니다.

setSamplingInterval()도 참조하세요 .

void QOpcUaMonitoringParameters::setDiscardOldest(bool discardOldest)

모니터링되는 항목에 대해 discardOldestdiscardOldest 설정으로 설정합니다.

discardOldest()도 참조하세요 .

[since 6.7] void QOpcUaMonitoringParameters::setFailedTriggeredItemsStatus(const QHash<quint32, QOpcUa::UaStatusCode> &status)

status 에 성공적으로 추가할 수 없었던 모든 트리거된 항목의 상태 코드를 설정합니다. 이 값을 클라이언트로 설정해도 아무런 영향을 미치지 않습니다.

이 함수는 Qt 6.7에 도입되었습니다.

failedTriggeredItemsStatus()도 참조하세요 .

void QOpcUaMonitoringParameters::setFilter(const QOpcUaMonitoringParameters::DataChangeFilter &filter)

DataChangeFilter filter 을 모니터링 항목의 필터로 설정합니다. 다른 데이터 변경 필터나 이벤트 필터가 있는 경우 해당 필터가 대체됩니다.

서버가 필터를 수락하지 않으면 QOpcUaNode::enableMonitoring() 요청이 완료된 후 상태 코드로 표시됩니다.

filter()도 참조하세요 .

void QOpcUaMonitoringParameters::setFilter(const QOpcUaMonitoringParameters::EventFilter &eventFilter)

eventFilter 을 모니터링 항목의 필터로 요청합니다. 다른 이벤트 필터나 데이터 변경 필터가 있는 경우 해당 필터가 대체됩니다. 서버가 필터를 수락하지 않으면 QOpcUaNode::enableMonitoring() 요청이 완료된 후 상태 코드와 이벤트 필터 결과로 표시됩니다.

filter()도 참조하세요 .

void QOpcUaMonitoringParameters::setFilterResult(const QOpcUaEventFilterResult &eventFilterResult)

이벤트 필터 결과를 eventFilterResult 로 설정합니다.

이 메서드는 백엔드에서만 사용해야 하며, 사용자가 이벤트 필터 결과를 설정하는 것은 아무런 효과가 없습니다.

filterResult()도 참조하세요 .

void QOpcUaMonitoringParameters::setIndexRange(const QString &indexRange)

모니터링되는 항목의 인덱스 범위로 indexRange 을 요청합니다. 인덱스 범위 문자열에 대한 자세한 내용은 QOpcUaNode::readAttributeRange()를 참조하세요.

indexRange()도 참조하세요 .

void QOpcUaMonitoringParameters::setLifetimeCount(quint32 lifetimeCount)

lifetimeCount 을 구독의 평생 횟수로 요청하세요.

lifetimeCount()도 참조하세요 .

void QOpcUaMonitoringParameters::setMaxKeepAliveCount(quint32 maxKeepAliveCount)

maxKeepAliveCount 을 구독의 최대 킵얼라이브 횟수로 요청하세요.

maxKeepAliveCount()도 참조하세요 .

void QOpcUaMonitoringParameters::setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish)

maxNotificationsPerPublish 을 구독에 대한 게시 값당 최대 알림 수로 설정합니다.

maxNotificationsPerPublish()도 참조하세요 .

void QOpcUaMonitoringParameters::setMonitoredItemId(quint32 monitoredItemId)

모니터링되는 항목 ID를 monitoredItemId 로 설정합니다.

이 값을 클라이언트로 설정해도 효과가 없습니다.

monitoredItemId()도 참조하세요 .

void QOpcUaMonitoringParameters::setMonitoringMode(QOpcUaMonitoringParameters::MonitoringMode monitoringMode)

monitoringMode 을 모니터링 항목의 모니터링 모드로 설정합니다.

monitoringMode()도 참조하세요 .

void QOpcUaMonitoringParameters::setPriority(quint8 priority)

priority 을 구독의 우선 순위로 설정합니다.

priority()도 참조하세요 .

void QOpcUaMonitoringParameters::setPublishingEnabled(bool publishingEnabled)

publishingEnabled 을 구독의 게시 모드로 설정합니다.

isPublishingEnabled()도 참조하세요 .

void QOpcUaMonitoringParameters::setPublishingInterval(double publishingInterval)

publishingInterval 을 구독의 게시 간격으로 요청합니다. 간격은 밀리초 단위로 표시됩니다.

publishingInterval()도 참조하세요 .

void QOpcUaMonitoringParameters::setQueueSize(quint32 queueSize)

모니터링되는 항목의 대기열 크기로 queueSize 을 요청합니다.

queueSize()도 참조하세요 .

void QOpcUaMonitoringParameters::setSamplingInterval(double samplingInterval)

모니터링 항목의 샘플링 간격으로 samplingInterval 을 요청합니다. 간격은 밀리초 단위로 표시됩니다.

samplingInterval()도 참조하세요 .

void QOpcUaMonitoringParameters::setStatusCode(QOpcUa::UaStatusCode statusCode)

상태 코드를 statusCode 로 설정합니다.

statusCode()도 참조하세요 .

void QOpcUaMonitoringParameters::setSubscriptionId(quint32 subscriptionId)

subscriptionId 을 사용하여 알려진 구독에 모니터링되는 항목을 만들도록 요청합니다.

subscriptionId()도 참조하세요 .

void QOpcUaMonitoringParameters::setSubscriptionType(QOpcUaMonitoringParameters::SubscriptionType shared)

shared 을 구독 유형으로 요청하세요.

subscriptionType()도 참조하세요 .

[since 6.7] void QOpcUaMonitoringParameters::setTriggeredItemIds(const QSet<quint32> &ids)

OPC UA 1.05, 5.12.1.6에 설명된 대로 ids 에 모니터링되는 모든 항목에 대한 트리거링 링크를 추가합니다.

ids 의 값은 동일한 구독에 있는 다른 모니터링되는 항목의 모니터링되는 항목 ID여야 합니다. 이러한 항목의 모니터링 모드가 샘플링으로 설정되어 있으면 이 모니터링에서 데이터 변경이 감지될 때마다 해당 데이터 변경 알림이 클라이언트에 전달됩니다.

추가할 수 없는 ID는 모니터링 상태에 포함되지 않고 대신 failedTriggeredItemsStatus()에 표시됩니다.

이 설정을 빈 집합으로 수정하면 모든 트리거링 링크가 제거됩니다.

이 기능은 Qt 6.7에 도입되었습니다.

triggeredItemIds()도 참조하세요 .

QOpcUa::UaStatusCode QOpcUaMonitoringParameters::statusCode() const

모니터링되는 항목 생성의 상태 코드를 반환합니다.

setStatusCode()도 참조하세요 .

quint32 QOpcUaMonitoringParameters::subscriptionId() const

할당된 구독 ID를 반환합니다.

setSubscriptionId()도 참조하세요 .

QOpcUaMonitoringParameters::SubscriptionType QOpcUaMonitoringParameters::subscriptionType() const

구독 유형을 반환합니다.

setSubscriptionType()도 참조하세요 .

[since 6.7] QSet<quint32> QOpcUaMonitoringParameters::triggeredItemIds() const

이 모니터링 항목에 의해 트리거된 모니터링 항목의 ID를 반환합니다.

이 함수는 Qt 6.7에 도입되었습니다.

setTriggeredItemIds()도 참조하십시오 .

QOpcUaMonitoringParameters &QOpcUaMonitoringParameters::operator=(const QOpcUaMonitoringParameters &other)

이 객체에 other 값을 할당합니다.

© 2025 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.