Esempio n. 1
0
 def _modify_monitored_item_request(self, new_queuesize, new_samp_time, mod_filter, client_handle):
     req_params = ua.MonitoringParameters()
     req_params.ClientHandle = client_handle
     req_params.QueueSize = new_queuesize
     req_params.Filter = mod_filter
     req_params.SamplingInterval = new_samp_time
     return req_params
Esempio n. 2
0
 def _make_monitored_item_request(self, node: Node, attr, mfilter, queuesize) -> ua.MonitoredItemCreateRequest:
     rv = ua.ReadValueId()
     rv.NodeId = node.nodeid
     rv.AttributeId = attr
     # rv.IndexRange //We leave it null, then the entire array is returned
     mparams = ua.MonitoringParameters()
     self._client_handle += 1
     mparams.ClientHandle = self._client_handle
     mparams.SamplingInterval = self.parameters.RequestedPublishingInterval
     mparams.QueueSize = queuesize
     mparams.DiscardOldest = True
     if mfilter:
         mparams.Filter = mfilter
     mir = ua.MonitoredItemCreateRequest()
     mir.ItemToMonitor = rv
     mir.MonitoringMode = ua.MonitoringMode.Reporting
     mir.RequestedParameters = mparams
     return mir