OPC Studio User's Guide and Reference
Methods for Well-known OPC-DA Properties
Concepts > OPC Data Client Concepts > OPC Data Client Extensions > OPC Data Client Layered Extensions for .NET and Python > OPC Data Access Extensions > Methods for Well-known OPC-DA Properties

A common scenario is to work with well-known OPC properties. With EasyOPC.NET Extensions, you can quickly obtain a value of any well-known OPC property of a given OPC item, with methods such as EasyDAClient.GetDataTypePropertyValue. All these methods are named GetXXXXPropertyValue, where XXXX is the name of the property. The methods also check the value type and convert it to the type that corresponds to the property. For example, GetDataTypePropertyValue method returns a VarTypeGetScanRatePropertyValue method returns a float, and GetDescriptionPropertyValue method returns a string.

.NET

// This example shows how to obtain a data type of an OPC item.
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
// OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp .
// Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
// a commercial license in order to use Online Forums, and we reply to every post.

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

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

            // Get the DataType property value, already converted to VarType
            VarType varType;
            try
            {
                varType = client.GetDataTypePropertyValue("", "OPCLabs.KitServer.2", "Simulation.Random");
            }
            catch (OpcException opcException)
            {
                Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message);
                return;
            }

            // Display the obtained data type
            Console.WriteLine("VarType: {0}", varType); // Display data type symbolically
        }
    }
}
' This example shows how to obtain a data type of an OPC item.
'
' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET .
' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
' a commercial license in order to use Online Forums, and we reply to every post.

Imports OpcLabs.BaseLib.ComInterop
Imports OpcLabs.EasyOpc.DataAccess
Imports OpcLabs.EasyOpc.DataAccess.Extensions
Imports OpcLabs.EasyOpc.OperationModel

Namespace DataAccess._EasyDAClientExtension
    Friend Class GetDataTypePropertyValue
        Public Shared Sub Main1()
            Dim client = New EasyDAClient()

            ' Get the DataType property value, already converted to VarType
            Dim varType As VarType
            Try
                varType = client.GetDataTypePropertyValue("", "OPCLabs.KitServer.2", "Simulation.Random")
            Catch opcException As OpcException
                Console.WriteLine("*** Failure: {0}", opcException.GetBaseException().Message)
                Exit Sub
            End Try

            ' Display the obtained data type
            Console.WriteLine("VarType: {0}", varType) ' Display data type symbolically
        End Sub
    End Class
End Namespace

Python

# This example shows how to obtain a data type of an OPC item.
#
# Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
# OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python .
# Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
# a commercial license in order to use Online Forums, and we reply to every post.
# The QuickOPC package is needed. Install it using "pip install opclabs_quickopc".
import opclabs_quickopc

# Import .NET namespaces.
from OpcLabs.BaseLib.ComInterop import *
from OpcLabs.EasyOpc.DataAccess import *
from OpcLabs.EasyOpc.DataAccess.Extensions import *
from OpcLabs.EasyOpc.OperationModel import *


# Instantiate the client object.
client = EasyDAClient()

# Get the DataType property value, already converted to VarType.
try:
    varType = IEasyDAClientExtension2.GetDataTypePropertyValue(client, '', 'OPCLabs.KitServer.2', 'Simulation.Random')
except OpcException as opcException:
    print('*** Failure: ' + opcException.GetBaseException().Message)
    exit()

# Display the obtained data type.
print('VarType: ', varType, sep='')     # Display data type symbolically

print('Finished.')

 

 

See Also