이 페이지에서

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

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

상수값설명
QOpcUaMonitoringParameters::MonitoringMode::Disabled0샘플링이 비활성화되어 있으며 알림이 생성되지 않습니다.
QOpcUaMonitoringParameters::MonitoringMode::Sampling1샘플링이 활성화되어 알림이 생성되고 대기열에 추가되지만, 보고 기능은 비활성화되어 있습니다.
QOpcUaMonitoringParameters::MonitoringMode::Reporting2샘플링이 활성화되어 있으며, 알림이 생성되어 대기열에 쌓이고, 보고 기능이 활성화되어 있습니다.

enum class QOpcUaMonitoringParameters::Parameter
flags QOpcUaMonitoringParameters::Parameters

QOpcUaNode::modifyMonitoring()를 사용하여 런타임에 수정할 수 있는 매개변수를 열거합니다. 모든 값이 모든 플러그인에서 지원되는 것은 아닙니다. 지원되지 않는 경우 QOpcUaNode::monitoringStatusChanged 시그널을 통해 보고됩니다.

상수값
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 `은 필수로 지정해야 하며, ` shared `과 ` subscriptionId `은 선택 사항입니다.

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)

모니터링 대상 항목의 ‘ discardOldest ’ 설정으로 ‘ discardOldest ’를 지정합니다.

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여야 합니다. 이러한 항목의 모니터링 모드가 '샘플링(Sampling)'으로 설정된 경우, 이 모니터링이 데이터 변경을 감지할 때마다 해당 데이터 변경 알림이 클라이언트에 전달됩니다.

추가할 수 없었던 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 `의 값을 할당합니다.

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