QOpcUaMonitoringParameters Class

QOpcUaMonitoringParameters は、サブスクリプションと監視アイテムのパラメータを設定したり取得したりする方法を提供します。詳細...

Header: #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

この enum は、監視アイテムの監視モードを設定するために使用されます。

定数説明
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 は供給されなければなりません。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)

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 の値をこのオブジェクトに割り当てます。

この関数は、Qt 6.7 で導入されました。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。