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()
監視パラメータから現在のフィルタを削除する。
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 でなければならない。これらのアイテムの監視モードがサンプリングに設定されている場合、この監視がデータ変更を検出するたびに、それらのデータ変更通知がクライアントに配信される。
追加できなかった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.