Opc.Ua.SampleClient.ClientPage.CreateMonitoredItem C# (CSharp) Method

CreateMonitoredItem() public method

public CreateMonitoredItem ( Session session, Subscription subscription, NodeId nodeId, MonitoringMode mode ) : void
session Opc.Ua.Client.Session
subscription Subscription
nodeId NodeId
mode MonitoringMode
return void
        public void CreateMonitoredItem(
           Session session, Subscription subscription, NodeId nodeId, MonitoringMode mode)
        {
            if (subscription == null)
            {
                subscription = session.DefaultSubscription;
                if (session.AddSubscription(subscription))
                    subscription.Create();
            }
            else
            {
                session.AddSubscription(subscription);
            }

            // add the new monitored item.
            MonitoredItem monitoredItem = new MonitoredItem(subscription.DefaultItem);

            monitoredItem.StartNodeId = nodeId;
            monitoredItem.AttributeId = Attributes.Value;
            monitoredItem.DisplayName = nodeId.Identifier.ToString();
            monitoredItem.MonitoringMode = mode;
            monitoredItem.SamplingInterval = mode == MonitoringMode.Sampling ? 1000 : 0;
            monitoredItem.QueueSize = 0;
            monitoredItem.DiscardOldest = true;

            monitoredItem.Notification += new MonitoredItemNotificationEventHandler(MonitoredItem_Notification);
            subscription.AddItem(monitoredItem);
            subscription.ApplyChanges();
        }