class QOpcUaMonitoringParameters#

QOpcUaMonitoringParameters 提供了一种设置和检索订阅和监控项参数的方法。 更多信息

概述#

方法#

注释

本文档可能包含自动从C++翻译到Python的代码片段。我们总是欢迎大家为片段翻译做出贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建票据的方式通知我们

详细描述#

此类用于enableMonitoring()请求中,并在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

要向现有订阅添加更多项,请使用第三个参数为下一次调用enableMonitoring()

quint32 subscriptionId = node->monitoringStatus(QOpcUa::NodeAttribute::Value).subscriptionId();
QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Shared, subscriptionId); // Add the monitored item to this subscription

如果需要其他参数,必须使用setter方法设置。

class MonitoringMode#

此枚举用于设置监控项的监控模式。

常量

描述

QOpcUaMonitoringParameters.MonitoringMode.Disabled

采样已禁用,不会生成通知。

QOpcUaMonitoringParameters.MonitoringMode.Sampling

采样启用,生成并排队通知,但报告已禁用。

QOpcUaMonitoringParameters.MonitoringMode.Reporting

采样启用,生成并排队通知,报告启用。

class SubscriptionType#

此枚举用于确定是否可以将监控项添加到共享订阅,或者必须创建新的订阅。

常量

描述

QOpcUaMonitoringParameters.SubscriptionType.Shared

与具有相同间隔的其他监控项共享订阅

QOpcUaMonitoringParameters.SubscriptionType.Exclusive

为该属性请求新的订阅

class Parameter#

(继承自 enum.Flag) 枚举了可以使用modifyMonitoring()在运行时修改的参数。并非所有值都由所有插件支持。不支持将在monitoringStatusChanged信号中报告。

常量

描述

QOpcUaMonitoringParameters.Parameter.PublishingEnabled

QOpcUaMonitoringParameters.Parameter.PublishingInterval

QOpcUaMonitoringParameters.Parameter.LifetimeCount

QOpcUaMonitoringParameters.Parameter.MaxKeepAliveCount

QOpcUaMonitoringParameters.Parameter.MaxNotificationsPerPublish

QOpcUaMonitoringParameters.Parameter.Priority

QOpcUaMonitoringParameters.Parameter.SamplingInterval

QOpcUaMonitoringParameters.Parameter.Filter

QOpcUaMonitoringParameters.Parameter.QueueSize

QOpcUaMonitoringParameters.Parameter.DiscardOldest

QOpcUaMonitoringParameters.Parameter.MonitoringMode

QOpcUaMonitoringParameters.Parameter.TriggeredItemIds

__init__(other)#
参数:

otherQOpcUaMonitoringParameters

other的值构建一个QOpcuaMonitoringParameters对象。

__init__()

QOpcUaMonitoringParameters的默认构造函数。

__init__(publishingInterval[, subscriptionType=QOpcUaMonitoringParameters.SubscriptionType.Shared[, subscriptionId=0]])
参数:
  • publishingInterval – float

  • subscriptionTypeSubscriptionType

  • subscriptionId – int

这是Qt OPC UA用户的常用构造函数。需要提供publishingIntervalsharedsubscriptionId是可选的。

clearFilter()#

从监控参数中删除当前过滤器。

clearFilterResult()#

从监控参数中删除当前过滤器结果。

discardOldest()#
返回类型:

bool

返回监控项的discardOldest设置。

failedTriggeredItemsStatus()#
返回类型:

具有类型为 .quint32 的键和类型为 QOpcUa.UaStatusCode 的值的字典。

返回无法成功添加的所有触发项的状态码,这些触发项来自 setTriggeredItemIds()

filter()#
返回类型:

对象

返回当前过滤器。

参见

setFilter()

filterResult()#
返回类型:

对象

返回过滤器结果。

对于属性监控,此值是空的。在事件监控的情况下,如果服务器在过滤器中未检测到任何错误,则过滤器结果可以空。

indexRange()#
返回类型:

字符串

返回监控项的索引范围。

isPublishingEnabled()#
返回类型:

bool

返回订阅的发布模式。

lifetimeCount()#
返回类型:

整数

返回订阅的生命周期计数。

maxKeepAliveCount()#
返回类型:

整数

返回订阅的最大保活计数。

maxNotificationsPerPublish()#
返回类型:

整数

返回订阅的每发布最大通知数量值。

monitoredItemId()#
返回类型:

整数

返回服务器分配的监控项 ID。如果监控项 ID 为 0,则监控项创建不成功。

monitoringMode()#
返回类型:

监控模式

返回监控项的监控模式。

priority()#
返回类型:

整数

返回用于监控项的订阅的优先级。

参见

setPriority()

publishingInterval()#
返回类型:

浮点数

返回订阅的发布间隔。间隔以毫秒表示。

queueSize()#
返回类型:

整数

返回监控项的队列大小。

samplingInterval()#
返回类型:

浮点数

返回被监控项的修订后的采样间隔。间隔以毫秒表示。

setDiscardOldest(discardOldest)#
参数:

discardOldest – bool

将代码: discardOldest设置被监控项discardOldest设置的值。

setFailedTriggeredItemsStatus(status)#
参数:

status – 键为quint32类型,值为QOpcUa.UaStatusCode的字典。

为所有不能成功添加到status的触发项设置状态码。作为客户端设置此值没有作用。

setFilter(filter)#
参数:

filterDataChangeFilter

设置DataChangeFilter作为被监控项的过滤器。如果存在另一个数据变化过滤器或事件过滤器,则将替换它。

如果服务器不接受过滤器,则在enableMonitoring()请求完成后,将会通过状态码指示。

参见

filter()

setFilter(eventFilter)
参数:

eventFilterEventFilter

请求作为被监控项的过滤器的eventFilter。如果存在另一个事件过滤器或数据变化过滤器,则将替换它。如果服务器不接受过滤器,则将在enableMonitoring()请求完成后,通过状态码和事件过滤器结果指示。

参见

filter()

setFilterResult(eventFilterResult)#
参数:

eventFilterResultQOpcUaEventFilterResult

将事件过滤器结果设置为eventFilterResult

此方法必须仅由后端使用,用户设置事件过滤器结果没有任何效果。

setIndexRange(indexRange)#
参数:

indexRange – str

请求监控项的索引范围 indexRange。有关索引范围字符串的详细信息,请参阅 readAttributeRange() .

参见

indexRange()

setLifetimeCount(lifetimeCount)#
参数:

lifetimeCount – int

请求作为订阅的生命周期计数 lifetimeCount

setMaxKeepAliveCount(maxKeepAliveCount)#
参数:

maxKeepAliveCount – int

请求作为订阅的最大保活计数 maxKeepAliveCount

setMaxNotificationsPerPublish(maxNotificationsPerPublish)#
参数:

maxNotificationsPerPublish – int

maxNotificationsPerPublish 作为订阅的每次发布最大通知数量。

setMonitoredItemId(monitoredItemId)#
参数:

monitoredItemId – int

设置监控项 ID 为 monitoredItemId

客户端设置此值没有效果。

setMonitoringMode(monitoringMode)#
参数:

monitoringModeMonitoringMode

设置监控项的监控模式 monitoringMode

setPriority(priority)#
参数:

priority – int

设置订阅的优先级 priority

参见

priority()

setPublishingEnabled(publishingEnabled)#
参数:

publishingEnabled – bool

设置订阅的发布模式 publishingEnabled

setPublishingInterval(publishingInterval)#
参数:

publishingInterval – float

请求 publishingInterval 作为订阅的发布间隔。间隔以毫秒表示。

setQueueSize(queueSize)#
参数:

queueSize - int

请求 queueSize 作为被监控项目的队列大小。

参见

queueSize()

setSamplingInterval(samplingInterval)#
参数:

samplingInterval - float

请求 samplingInterval 作为被监控项目的采样间隔。间隔以毫秒表示。

setStatusCode(statusCode)#
参数:

statusCode - UaStatusCode

将状态码设置为 statusCode

参见

statusCode()

setSubscriptionId(subscriptionId)#
参数:

subscriptionId – int

请求使用 subscriptionId 在已知订阅上创建被监控项目。

setSubscriptionType(subscriptionType)#
参数:

subscriptionTypeSubscriptionType

请求 shared 作为订阅的订阅类型。

setTriggeredItemIds(id)#
参数:

id - .QSetquint32

根据 OPC UA 1.05, 5.12.1.6 中所述,向 ids 中所有被监控项目添加触发链接。

ids 中的值必须是不在相同订阅上的其他被监控项的监控项 ID。如果这些项目的监控模式设置为采样,当此监控检测到数据更改时,其数据更改通知将发送到客户端。

无法添加的任何 ID 不会包含在监控状态中,而是会显示在 failedTriggeredItemsStatus 中。

将此设置修改为空集合将删除所有触发链接。

statusCode()#
返回类型:

UaStatusCode

返回监视项创建的状态码。

subscriptionId()#
返回类型:

整数

返回分配的订阅ID。

subscriptionType()#
返回类型:

SubscriptionType

返回订阅类型。

triggeredItemIds()#
返回类型:

.QSetquint32

返回由该监视项触发的监视项的ID。