QuickOPC User's Guide and Reference
WaitForItemValue(IEasyDAClient,ServerDescriptor,DAItemDescriptor) Method
Example 



OpcLabs.EasyOpcClassic Assembly > OpcLabs.EasyOpc.DataAccess.Extensions Namespace > IEasyDAClientExtension2 Class > WaitForItemValue Method : WaitForItemValue(IEasyDAClient,ServerDescriptor,DAItemDescriptor) Method
The client object that will perform the operation.
The OPC server involved in the operation.
The OPC-DA item involved in the operation.
Subscribes to the specified OPC-DA item, and monitors its data until it has "good" quality, an error occurs, or the alloted time elapses.
Syntax
'Declaration
 
<ExtensionAttribute()>
<CanBeNullAttribute()>
Public Overloads Shared Function WaitForItemValue( _
   ByVal client As IEasyDAClient, _
   ByVal serverDescriptor As ServerDescriptor, _
   ByVal itemDescriptor As DAItemDescriptor _
) As Object
'Usage
 
Dim client As IEasyDAClient
Dim serverDescriptor As ServerDescriptor
Dim itemDescriptor As DAItemDescriptor
Dim value As Object
 
value = IEasyDAClientExtension2.WaitForItemValue(client, serverDescriptor, itemDescriptor)

Parameters

client
The client object that will perform the operation.
serverDescriptor
The OPC server involved in the operation.
itemDescriptor
The OPC-DA item involved in the operation.

Return Value

If successful, the function returns the actual value of OPC item requested.
Exceptions
ExceptionDescription
A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.
The OPC "Classic" (or OPC XML-DA) operation has failed.
Example
// This example shows how to wait on an item until a value with "good" quality becomes available.

using System;
using OpcLabs.EasyOpc.DataAccess;
using OpcLabs.EasyOpc.DataAccess.Extensions;
using OpcLabs.EasyOpc.OperationModel;

namespace DocExamples.DataAccess._EasyDAClientExtension
{
    class WaitForItemValue
    {
        public static void Main1()
        {
            // Instantiate the client object.
            var client = new EasyDAClient();

            Console.WriteLine("Waiting until an item value with \"good\" quality becomes available...");
            object value;
            try
            {
                value = client.WaitForItemValue("", "OPCLabs.KitServer.2", "Demo.Unreliable", 
                    groupParameters: 100,   // this is the requested update rate
                    millisecondsTimeout: 60*1000);
            }
            catch (OpcException opcException)
            {
                Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message);
                return;
            }

            // Display the obtained item value.
            Console.WriteLine($"value: {value}");
        }
    }
}
Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2012, Windows Server 2016; .NET Core, .NET 5, .NET 6: Linux, macOS, Microsoft Windows

See Also

Reference

IEasyDAClientExtension2 Class
IEasyDAClientExtension2 Members
Overload List