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::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
サブスクリプションのパブリッシュ値あたりの最大通知数を返す。
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。