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 サブスクリプションが必要な場合は、2 番目のパラメータを使用してください。
QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Exclusive); // Create a new subscription既存のサブスクリプションに項目を追加するには、QOpcUaNode::enableMonitoring() を再度呼び出す際に 3 番目のパラメータを使用してください。
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::Disabled | 0 | サンプリングは無効化されており、通知は生成されません。 |
QOpcUaMonitoringParameters::MonitoringMode::Sampling | 1 | サンプリングが有効で、通知が生成されキューに入れられますが、レポート機能は無効になっています。 |
QOpcUaMonitoringParameters::MonitoringMode::Reporting | 2 | サンプリングが有効で、通知が生成されキューに入れられており、レポート機能も有効です。 |
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::Shared | 0 | 同じ間隔で監視されている他の監視対象とサブスクリプションを共有する |
QOpcUaMonitoringParameters::SubscriptionType::Exclusive | 1 | この属性に対して新しいサブスクリプションをリクエストする |
メンバー関数のドキュメント
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
サブスクリプションの「publish」値ごとの通知の上限数を返します。
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 を、そのサブスクリプションの「1回のパブリッシュあたりの最大通知数」として設定します。
「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 の値を割り当てます。
© 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.