public static void Main1()
            {
                // Instantiate the client object
                // In order to use event pull, you must set a non-zero queue capacity upfront.
                var easyUAClient = new EasyUAClient {
                    PullEventNotificationQueueCapacity = 1000
                };

                Console.WriteLine("Subscribing...");
                easyUAClient.SubscribeEvent(
                    "opc.tcp://opcua.demo-this.com:62544/Quickstarts/AlarmConditionServer",
                    UAObjectIds.Server,
                    1000);

                Console.WriteLine("Processing event notifications for 30 seconds...");
                int endTick = Environment.TickCount + 30 * 1000;

                do
                {
                    EasyUAEventNotificationEventArgs eventArgs = easyUAClient.PullEventNotification(2 * 1000);
                    if (eventArgs != null)
                    {
                        // Handle the notification event
                        Console.WriteLine(eventArgs);
                    }
                } while (Environment.TickCount < endTick);
            }
コード例 #2
0
            static void easyUAClient_EventNotification(object sender, EasyUAEventNotificationEventArgs e)
            {
                Console.WriteLine();

                // Display the event
                if (e.EventData == null)
                {
                    Console.WriteLine(e);
                    return;
                }
                UABaseEventObject baseEventObject = e.EventData.BaseEvent;

                Console.WriteLine("Source name: {0}", baseEventObject.SourceName);
                Console.WriteLine("Message: {0}", baseEventObject.Message);
                Console.WriteLine("Severity: {0}", baseEventObject.Severity);
            }
コード例 #3
0
            static void easyUAClient_EventNotification(object sender, EasyUAEventNotificationEventArgs e)
            {
                Console.WriteLine();

                // Display the event
                if (e.EventData == null)
                {
                    Console.WriteLine(e);
                    return;
                }
                Console.WriteLine("All fields:");
                foreach (KeyValuePair <UAAttributeField, ValueResult> pair in e.EventData.FieldResults)
                {
                    UAAttributeField attributeField = pair.Key;
                    ValueResult      valueResult    = pair.Value;
                    Console.WriteLine("  {0} -> {1}", attributeField, valueResult);
                }
                // Extracting a specific field using a standard operand symbol
                Console.WriteLine("Source name: {0}",
                                  e.EventData.FieldResults[UABaseEventObject.Operands.SourceName]);
                // Extracting a specific field using an event type ID and a simple relative path
                Console.WriteLine("Message: {0}",
                                  e.EventData.FieldResults[UAFilterElements.SimpleAttribute(UAObjectTypeIds.BaseEventType, "/Message")]);
            }
コード例 #4
0
 static void easyUAClient_EventNotification(object sender, EasyUAEventNotificationEventArgs e)
 {
     // Display the event
     Console.WriteLine(e);
 }