- class QOpcUaMonitoringParameters#
QOpcUaMonitoringParameters
提供了一种设置和检索订阅和监控项参数的方法。 更多信息…概述#
方法#
定义
__init__()
定义
filter()
定义
indexRange()
定义
priority()
定义
queueSize()
定义
setFilter()
定义
statusCode()
注释
本文档可能包含自动从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)#
- 参数:
other –
QOpcUaMonitoringParameters
从
other
的值构建一个QOpcuaMonitoringParameters对象。- __init__()
QOpcUaMonitoringParameters
的默认构造函数。- __init__(publishingInterval[, subscriptionType=QOpcUaMonitoringParameters.SubscriptionType.Shared[, subscriptionId=0]])
- 参数:
publishingInterval – float
subscriptionType –
SubscriptionType
subscriptionId – int
这是Qt OPC UA用户的常用构造函数。需要提供
publishingInterval
,shared
和subscriptionId
是可选的。- clearFilter()#
从监控参数中删除当前过滤器。
- clearFilterResult()#
从监控参数中删除当前过滤器结果。
- discardOldest()#
- 返回类型:
bool
返回监控项的discardOldest设置。
- failedTriggeredItemsStatus()#
- 返回类型:
具有类型为 .quint32 的键和类型为 QOpcUa.UaStatusCode 的值的字典。
返回无法成功添加的所有触发项的状态码,这些触发项来自
setTriggeredItemIds()
。- filter()#
- 返回类型:
对象
返回当前过滤器。
参见
- filterResult()#
- 返回类型:
对象
返回过滤器结果。
对于属性监控,此值是空的。在事件监控的情况下,如果服务器在过滤器中未检测到任何错误,则过滤器结果可以空。
- indexRange()#
- 返回类型:
字符串
返回监控项的索引范围。
- isPublishingEnabled()#
- 返回类型:
bool
返回订阅的发布模式。
- lifetimeCount()#
- 返回类型:
整数
返回订阅的生命周期计数。
- maxKeepAliveCount()#
- 返回类型:
整数
返回订阅的最大保活计数。
- maxNotificationsPerPublish()#
- 返回类型:
整数
返回订阅的每发布最大通知数量值。
- monitoredItemId()#
- 返回类型:
整数
返回服务器分配的监控项 ID。如果监控项 ID 为 0,则监控项创建不成功。
返回监控项的监控模式。
- priority()#
- 返回类型:
整数
返回用于监控项的订阅的优先级。
- publishingInterval()#
- 返回类型:
浮点数
返回订阅的发布间隔。间隔以毫秒表示。
- queueSize()#
- 返回类型:
整数
返回监控项的队列大小。
- samplingInterval()#
- 返回类型:
浮点数
返回被监控项的修订后的采样间隔。间隔以毫秒表示。
- setDiscardOldest(discardOldest)#
- 参数:
discardOldest – bool
将代码: discardOldest设置被监控项
discardOldest
设置的值。- setFailedTriggeredItemsStatus(status)#
- 参数:
status – 键为quint32类型,值为QOpcUa.UaStatusCode的字典。
为所有不能成功添加到
status
的触发项设置状态码。作为客户端设置此值没有作用。- setFilter(filter)#
- 参数:
filter –
DataChangeFilter
设置
DataChangeFilter
作为被监控项的过滤器。如果存在另一个数据变化过滤器或事件过滤器,则将替换它。如果服务器不接受过滤器,则在
enableMonitoring()
请求完成后,将会通过状态码指示。参见
- setFilter(eventFilter)
- 参数:
eventFilter –
EventFilter
请求作为被监控项的过滤器的
eventFilter
。如果存在另一个事件过滤器或数据变化过滤器,则将替换它。如果服务器不接受过滤器,则将在enableMonitoring()
请求完成后,通过状态码和事件过滤器结果指示。参见
- setFilterResult(eventFilterResult)#
- 参数:
eventFilterResult –
QOpcUaEventFilterResult
将事件过滤器结果设置为
eventFilterResult
。此方法必须仅由后端使用,用户设置事件过滤器结果没有任何效果。
- setIndexRange(indexRange)#
- 参数:
indexRange – str
请求监控项的索引范围
indexRange
。有关索引范围字符串的详细信息,请参阅readAttributeRange()
.参见
- setLifetimeCount(lifetimeCount)#
- 参数:
lifetimeCount – int
请求作为订阅的生命周期计数
lifetimeCount
。- setMaxKeepAliveCount(maxKeepAliveCount)#
- 参数:
maxKeepAliveCount – int
请求作为订阅的最大保活计数
maxKeepAliveCount
。- setMaxNotificationsPerPublish(maxNotificationsPerPublish)#
- 参数:
maxNotificationsPerPublish – int
将
maxNotificationsPerPublish
作为订阅的每次发布最大通知数量。- setMonitoredItemId(monitoredItemId)#
- 参数:
monitoredItemId – int
设置监控项 ID 为
monitoredItemId
。客户端设置此值没有效果。
- setMonitoringMode(monitoringMode)#
- 参数:
monitoringMode –
MonitoringMode
设置监控项的监控模式
monitoringMode
。- setPriority(priority)#
- 参数:
priority – int
设置订阅的优先级
priority
。参见
- setPublishingEnabled(publishingEnabled)#
- 参数:
publishingEnabled – bool
设置订阅的发布模式
publishingEnabled
。- setPublishingInterval(publishingInterval)#
- 参数:
publishingInterval – float
请求
publishingInterval
作为订阅的发布间隔。间隔以毫秒表示。- setQueueSize(queueSize)#
- 参数:
queueSize - int
请求
queueSize
作为被监控项目的队列大小。参见
- setSamplingInterval(samplingInterval)#
- 参数:
samplingInterval - float
请求
samplingInterval
作为被监控项目的采样间隔。间隔以毫秒表示。- setStatusCode(statusCode)#
- 参数:
statusCode -
UaStatusCode
将状态码设置为
statusCode
。参见
- setSubscriptionId(subscriptionId)#
- 参数:
subscriptionId – int
请求使用
subscriptionId
在已知订阅上创建被监控项目。- setSubscriptionType(subscriptionType)#
- 参数:
subscriptionType –
SubscriptionType
请求
shared
作为订阅的订阅类型。- setTriggeredItemIds(id)#
- 参数:
id - .QSetquint32
根据 OPC UA 1.05, 5.12.1.6 中所述,向
ids
中所有被监控项目添加触发链接。ids
中的值必须是不在相同订阅上的其他被监控项的监控项 ID。如果这些项目的监控模式设置为采样,当此监控检测到数据更改时,其数据更改通知将发送到客户端。无法添加的任何 ID 不会包含在监控状态中,而是会显示在
failedTriggeredItemsStatus
中。将此设置修改为空集合将删除所有触发链接。
- statusCode()#
- 返回类型:
返回监视项创建的状态码。
- subscriptionId()#
- 返回类型:
整数
返回分配的订阅ID。
- subscriptionType()#
- 返回类型:
返回订阅类型。
- triggeredItemIds()#
- 返回类型:
.QSetquint32
返回由该监视项触发的监视项的ID。